|
|
| version 1.1, 2003/11/16 16:43:45 | version 1.14, 2004/03/23 15:16:43 |
|---|---|
| Line 28 | Line 28 |
| #include "compiler.h" | #include "compiler.h" |
| #include "np2.h" | #include "np2.h" |
| #include "pccore.h" | |
| #include "dosio.h" | #include "dosio.h" |
| #include "scrndraw.h" | #include "scrndraw.h" |
| #include "statsave.h" | |
| #include "timing.h" | #include "timing.h" |
| #include "toolkit.h" | #include "toolkit.h" |
| #include "keydisp.h" | #include "kdispwin.h" |
| #include "toolwin.h" | #include "toolwin.h" |
| #include "viewer.h" | |
| #include "debugwin.h" | |
| #include "commng.h" | #include "commng.h" |
| #include "joymng.h" | |
| #include "kbdmng.h" | #include "kbdmng.h" |
| #include "mousemng.h" | #include "mousemng.h" |
| #include "scrnmng.h" | #include "scrnmng.h" |
| #include "soundmng.h" | #include "soundmng.h" |
| #include "sysmng.h" | #include "sysmng.h" |
| #include "taskmng.h" | |
| NP2OSCFG np2oscfg = { | NP2OSCFG np2oscfg = { |
| #if !defined(CPU386) /* titles */ | #if !defined(CPUCORE_IA32) /* titles */ |
| "Neko Project II", | "Neko Project II", |
| #else | #else |
| "Neko Project II + IA32", | "Neko Project II + IA32", |
| #endif | #endif |
| 2, /* paddingx */ | 0, /* paddingx */ |
| 2, /* paddingy */ | 0, /* paddingy */ |
| 0, /* NOWAIT */ | 0, /* NOWAIT */ |
| 2, /* DRAW_SKIP */ | 0, /* DRAW_SKIP */ |
| 0, /* DISPCLK */ | 0, /* DISPCLK */ |
| KEY_KEY106, /* KEYBOARD */ | KEY_KEY106, /* KEYBOARD */ |
| 0, /* F12COPY */ | 0, /* F12KEY */ |
| 0, /* MOUSE_SW */ | 0, /* MOUSE_SW */ |
| 0, /* JOYPAD1 */ | 0, /* JOYPAD1 */ |
| Line 78 NP2OSCFG np2oscfg = { | Line 82 NP2OSCFG np2oscfg = { |
| 0, /* toolwin */ | 0, /* toolwin */ |
| 0, /* keydisp */ | 0, /* keydisp */ |
| 0, /* hostdrv_write */ | 0, /* hostdrv_write */ |
| 0, /* jastsnd */ | |
| 0, /* I286SAVE */ | 0, /* I286SAVE */ |
| SNDDRV_NODRV, /* snddrv */ | SNDDRV_NODRV, /* snddrv */ |
| Line 89 NP2OSCFG np2oscfg = { | Line 94 NP2OSCFG np2oscfg = { |
| #if defined(USE_GTK) /* toolkit */ | #if defined(USE_GTK) /* toolkit */ |
| "gtk", | "gtk", |
| #else | #elif defined(USE_QT) |
| "qt", | "qt", |
| #elif defined(USE_SDL) | |
| "sdl", | |
| #else | |
| "unknown", | |
| #endif | #endif |
| MMXFLAG_DISABLE, /* disablemmx */ | MMXFLAG_DISABLE, /* disablemmx */ |
| FALSE, /* shared_pixmap */ | |
| }; | }; |
| BOOL np2running = FALSE; | BOOL np2running = FALSE; |
| Line 112 char bmpfilefolder[MAX_PATH]; | Line 122 char bmpfilefolder[MAX_PATH]; |
| char modulefile[MAX_PATH]; | char modulefile[MAX_PATH]; |
| char statpath[MAX_PATH]; | char statpath[MAX_PATH]; |
| char timidity_cfgfile_path[MAX_PATH] = TIMIDITY_CFGFILE_PATH; | #ifndef FONTFACE |
| #define FONTFACE "-misc-fixed-%s-r-normal--%d-*-*-*-*-*-*-*" | |
| #endif | |
| char fontname[1024] = FONTFACE; | |
| #ifndef FONTNAME_DEFAULT | |
| #define FONTNAME_DEFAULT "./default.ttf" | |
| #endif | |
| char fontfilename[MAX_PATH] = FONTNAME_DEFAULT; | |
| char timidity_cfgfile_path[MAX_PATH]; | |
| BOOL use_shared_pixmap; | |
| UINT32 | UINT32 |
| Line 180 flagload(const char* ext, const char* ti | Line 202 flagload(const char* ext, const char* ti |
| getstatfilename(path, ext, sizeof(path)); | getstatfilename(path, ext, sizeof(path)); |
| ret = statsave_check(path, buf, sizeof(buf)); | ret = statsave_check(path, buf, sizeof(buf)); |
| if (ret & (~NP2FLAG_DISKCHG)) { | if (ret & (~STATFLAG_DISKCHG)) { |
| fprintf(stderr, "Couldn't restart\n"); | fprintf(stderr, "Couldn't restart\n"); |
| rv = 1; | rv = 1; |
| } else if ((!force) && (ret & NP2FLAG_DISKCHG)) { | } else if ((!force) && (ret & STATFLAG_DISKCHG)) { |
| fprintf(stderr, "Conflict\n"); | fprintf(stderr, "Conflict\n"); |
| rv = 1; | rv = 1; |
| } | } |
| Line 214 changescreen(BYTE newmode) | Line 236 changescreen(BYTE newmode) |
| if (renewal) { | if (renewal) { |
| if (renewal & SCRNMODE_FULLSCREEN) { | if (renewal & SCRNMODE_FULLSCREEN) { |
| toolwin_destroy(); | toolwin_destroy(); |
| keydisp_destroy(); | kdispwin_destroy(); |
| } | } |
| soundmng_stop(); | soundmng_stop(); |
| mouse_running(MOUSE_STOP); | mouse_running(MOUSE_STOP); |
| Line 234 changescreen(BYTE newmode) | Line 256 changescreen(BYTE newmode) |
| toolwin_create(); | toolwin_create(); |
| } | } |
| if (np2oscfg.keydisp) { | if (np2oscfg.keydisp) { |
| keydisp_create(); | kdispwin_create(); |
| } | } |
| } | } |
| } | } |
| Line 251 framereset(UINT cnt) | Line 273 framereset(UINT cnt) |
| framecnt = 0; | framecnt = 0; |
| scrnmng_dispclock(); | scrnmng_dispclock(); |
| keydisp_draw((BYTE)cnt); | kdispwin_draw((BYTE)cnt); |
| toolwin_draw((BYTE)cnt); | toolwin_draw((BYTE)cnt); |
| viewer_allreload(FALSE); | |
| debugwin_process(); | |
| if (np2oscfg.DISPCLK & 3) { | if (np2oscfg.DISPCLK & 3) { |
| if (sysmng_workclockrenewal()) { | if (sysmng_workclockrenewal()) { |
| sysmng_updatecaption(3); | sysmng_updatecaption(3); |
| Line 268 processwait(UINT cnt) | Line 292 processwait(UINT cnt) |
| timing_setcount(0); | timing_setcount(0); |
| framereset(cnt); | framereset(cnt); |
| } else { | } else { |
| usleep(1); | taskmng_sleep(1); |
| } | |
| } | |
| int | |
| mainloop(void *p) | |
| { | |
| UNUSED(p); | |
| if (np2oscfg.NOWAIT) { | |
| joy_flash(); | |
| mousemng_callback(); | |
| pccore_exec(framecnt == 0); | |
| if (np2oscfg.DRAW_SKIP) { | |
| /* nowait frame skip */ | |
| framecnt++; | |
| if (framecnt >= np2oscfg.DRAW_SKIP) { | |
| processwait(0); | |
| } | |
| } else { | |
| /* nowait auto skip */ | |
| framecnt = 1; | |
| if (timing_getcount()) { | |
| processwait(0); | |
| } | |
| } | |
| } else if (np2oscfg.DRAW_SKIP) { | |
| /* frame skip */ | |
| if (framecnt < np2oscfg.DRAW_SKIP) { | |
| joy_flash(); | |
| mousemng_callback(); | |
| pccore_exec(framecnt == 0); | |
| framecnt++; | |
| } else { | |
| processwait(np2oscfg.DRAW_SKIP); | |
| } | |
| } else { | |
| /* auto skip */ | |
| if (waitcnt == 0) { | |
| UINT cnt; | |
| joy_flash(); | |
| mousemng_callback(); | |
| pccore_exec(framecnt == 0); | |
| framecnt++; | |
| cnt = timing_getcount(); | |
| if (framecnt > cnt) { | |
| waitcnt = framecnt; | |
| if (framemax > 1) { | |
| framemax--; | |
| } | |
| } else if (framecnt >= framemax) { | |
| if (framemax < 12) { | |
| framemax++; | |
| } | |
| if (cnt >= 12) { | |
| timing_reset(); | |
| } else { | |
| timing_setcount(cnt - framecnt); | |
| } | |
| framereset(0); | |
| } | |
| } else { | |
| processwait(waitcnt); | |
| waitcnt = framecnt; | |
| } | |
| } | } |
| return TRUE; | |
| } | } |
| #if defined(__GNUC__) && (defined(i386) || defined(__i386__)) | #if defined(__GNUC__) && (defined(i386) || defined(__i386__)) |