|
|
| version 1.1.1.1, 2003/10/16 17:59:36 | version 1.8, 2003/10/20 18:02:31 |
|---|---|
| Line 1 | Line 1 |
| #include "compiler.h" | #include "compiler.h" |
| #include "resource.h" | #include "resource.h" |
| #include "strres.h" | |
| #include "np2.h" | #include "np2.h" |
| #include "dosio.h" | #include "dosio.h" |
| #include "scrnmng.h" | #include "scrnmng.h" |
| Line 26 | Line 27 |
| #include "fddfile.h" | #include "fddfile.h" |
| #include "statsave.h" | #include "statsave.h" |
| #if defined(NP2GCC) | |
| #include "mousemng.h" | |
| #endif | |
| #define USE_RESUME | #define USE_RESUME |
| #if defined(NP2GCC) | |
| NP2OSCFG np2oscfg = {0, 2, 0, 0, 0, 0}; | |
| #else | |
| NP2OSCFG np2oscfg = {0, 2, 0, 0, 0}; | NP2OSCFG np2oscfg = {0, 2, 0, 0, 0}; |
| #endif | |
| WindowPtr hWndMain; | WindowPtr hWndMain; |
| BOOL np2running; | BOOL np2running; |
| Line 50 static BYTE scrnmode; | Line 58 static BYTE scrnmode; |
| static char target[MAX_PATH] = DEFAULTPATH; | static char target[MAX_PATH] = DEFAULTPATH; |
| static const char np2resume[] = "sav"; | |
| // ---- おまじない | // ---- おまじない |
| #if TARGET_CARBON | #if TARGET_CARBON |
| Line 111 static void MenuBarInit(void) { | Line 122 static void MenuBarInit(void) { |
| DrawMenuBar(); | DrawMenuBar(); |
| } | } |
| static void changescreen(BYTE mode) { | static void changescreen(BYTE mode) { |
| (void)mode; | (void)mode; |
| } | } |
| static void HandleMenuChoice(long wParam) { | static void HandleMenuChoice(long wParam) { |
| UINT update; | UINT update; |
| Line 237 static void HandleMenuChoice(long wParam | Line 246 static void HandleMenuChoice(long wParam |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| break; | break; |
| #if defined(NP2GCC) | |
| case IDM_MOUSE: | |
| mouse_running(MOUSE_XOR); | |
| menu_setmouse(np2oscfg.MOUSE_SW ^ 1); | |
| sysmng_update(SYS_UPDATECFG); | |
| break; | |
| #endif | |
| case IDM_KEY: | case IDM_KEY: |
| menu_setkey(0); | menu_setkey(0); |
| keystat_resetjoykey(); | keystat_resetjoykey(); |
| Line 459 static void HandleMouseDown(EventRecord | Line 476 static void HandleMouseDown(EventRecord |
| break; | break; |
| case inContent: | case inContent: |
| #if defined(NP2GCC) | |
| if (controlKey & GetCurrentKeyModifiers() ) { | |
| mouse_btn(MOUSE_RIGHTDOWN); | |
| } | |
| else { | |
| mouse_btn(MOUSE_LEFTDOWN); | |
| } | |
| #endif | |
| break; | break; |
| case inGoAway: | case inGoAway: |
| Line 481 static void eventproc(EventRecord *event | Line 506 static void eventproc(EventRecord *event |
| case keyDown: | case keyDown: |
| case autoKey: | case autoKey: |
| mackbd_f12down(((event->message) & keyCodeMask) >> 8); | |
| if (event->modifiers & cmdKey) { | if (event->modifiers & cmdKey) { |
| if (!mackbd_down(1, ((event->message) & keyCodeMask) >> 8)) { | HandleMenuChoice(MenuKey(event->message & charCodeMask)); |
| HandleMenuChoice(MenuKey(event->message & charCodeMask)); | |
| } | |
| } | |
| else { | |
| mackbd_down(0, ((event->message) & keyCodeMask) >> 8); | |
| } | } |
| break; | break; |
| case keyUp: | case keyUp: |
| mackbd_up(((event->message) & keyCodeMask) >> 8); | mackbd_f12up(((event->message) & keyCodeMask) >> 8); |
| break; | break; |
| #if defined(NP2GCC) | |
| case mouseUp: | |
| if (controlKey & GetCurrentKeyModifiers()) { | |
| mouse_btn(MOUSE_RIGHTUP); | |
| } | |
| else { | |
| mouse_btn(MOUSE_LEFTUP); | |
| } | |
| break; | |
| #endif | |
| } | } |
| } | } |
| // ---- | |
| static void processwait(UINT waitcnt) { | static void processwait(UINT waitcnt) { |
| if (timing_getcount() >= waitcnt) { | if (timing_getcount() >= waitcnt) { |
| timing_setcount(0); | timing_setcount(0); |
| framecnt = 0; | framecnt = 0; |
| if (np2oscfg.DISPCLK & 2) { | if (np2oscfg.DISPCLK & 3) { |
| if (sysmng_workclockrenewal()) { | if (sysmng_workclockrenewal()) { |
| sysmng_updatecaption(2); | sysmng_updatecaption(3); |
| } | } |
| } | } |
| } | } |
| } | } |
| static void getstatfilename(char *path, const char *ext, int size) { | |
| file_cpyname(path, file_getcd("np2"), size); | |
| file_catname(path, str_dot, size); | |
| file_catname(path, ext, size); | |
| } | |
| static void flagsave(const char *ext) { | |
| char path[MAX_PATH]; | |
| getstatfilename(path, ext, sizeof(path)); | |
| statsave_save(path); | |
| } | |
| static void flagload(const char *ext) { | |
| char path[MAX_PATH]; | |
| char buf[1024]; | |
| int ret; | |
| getstatfilename(path, ext, sizeof(path)); | |
| ret = statsave_check(path, buf, sizeof(buf)); | |
| if (ret == NP2FLAG_SUCCESS) { | |
| statsave_load(path); | |
| } | |
| } | |
| int main(int argc, char *argv[]) { | int main(int argc, char *argv[]) { |
| Rect wRect; | Rect wRect; |
| Line 525 int main(int argc, char *argv[]) { | Line 587 int main(int argc, char *argv[]) { |
| initload(); | initload(); |
| TRACEINIT(); | |
| SetRect(&wRect, 100, 100, 100, 100); | SetRect(&wRect, 100, 100, 100, 100); |
| hWndMain = NewWindow(0, &wRect, "\pNeko Project II", FALSE, | hWndMain = NewWindow(0, &wRect, "\pNeko Project II", FALSE, |
| noGrowDocProc, (WindowPtr)-1, TRUE, 0); | noGrowDocProc, (WindowPtr)-1, TRUE, 0); |
| if (!hWndMain) { | if (!hWndMain) { |
| TRACETERM(); | |
| macossub_term(); | macossub_term(); |
| dosio_term(); | dosio_term(); |
| return(0); | return(0); |
| Line 554 int main(int argc, char *argv[]) { | Line 619 int main(int argc, char *argv[]) { |
| scrnmode = 0; | scrnmode = 0; |
| if (scrnmng_create(scrnmode) != SUCCESS) { | if (scrnmng_create(scrnmode) != SUCCESS) { |
| TRACETERM(); | |
| macossub_term(); | macossub_term(); |
| dosio_term(); | dosio_term(); |
| DisposeWindow(hWndMain); | DisposeWindow(hWndMain); |
| Line 561 int main(int argc, char *argv[]) { | Line 627 int main(int argc, char *argv[]) { |
| } | } |
| sysmng_initialize(); | sysmng_initialize(); |
| mackbd_initialize(); | |
| pccore_init(); | pccore_init(); |
| S98_init(); | S98_init(); |
| #if defined(NP2GCC) | |
| if (np2oscfg.MOUSE_SW) { // ver0.30 | |
| mouse_running(MOUSE_ON); | |
| } | |
| #endif | |
| scrndraw_redraw(); | scrndraw_redraw(); |
| pccore_reset(); | pccore_reset(); |
| #if defined(USE_RESUME) | #if defined(USE_RESUME) |
| statsave_load(":np2.sav"); | flagload(np2resume); |
| #endif | #endif |
| SetEventMask(everyEvent); | SetEventMask(everyEvent); |
| Line 580 int main(int argc, char *argv[]) { | Line 652 int main(int argc, char *argv[]) { |
| } | } |
| else { | else { |
| if (np2oscfg.NOWAIT) { | if (np2oscfg.NOWAIT) { |
| #if defined(NP2GCC) | |
| mouse_callback(); | |
| #endif | |
| mackbd_callback(); | mackbd_callback(); |
| pccore_exec(framecnt == 0); | pccore_exec(framecnt == 0); |
| if (np2oscfg.DRAW_SKIP) { // nowait frame skip | if (np2oscfg.DRAW_SKIP) { // nowait frame skip |
| Line 597 int main(int argc, char *argv[]) { | Line 672 int main(int argc, char *argv[]) { |
| } | } |
| else if (np2oscfg.DRAW_SKIP) { // frame skip | else if (np2oscfg.DRAW_SKIP) { // frame skip |
| if (framecnt < np2oscfg.DRAW_SKIP) { | if (framecnt < np2oscfg.DRAW_SKIP) { |
| #if defined(NP2GCC) | |
| mouse_callback(); | |
| #endif | |
| mackbd_callback(); | mackbd_callback(); |
| pccore_exec(framecnt == 0); | pccore_exec(framecnt == 0); |
| framecnt++; | framecnt++; |
| Line 607 int main(int argc, char *argv[]) { | Line 685 int main(int argc, char *argv[]) { |
| } | } |
| else { // auto skip | else { // auto skip |
| if (!waitcnt) { | if (!waitcnt) { |
| #if defined(NP2GCC) | |
| mouse_callback(); | |
| #endif | |
| mackbd_callback(); | mackbd_callback(); |
| pccore_exec(framecnt == 0); | pccore_exec(framecnt == 0); |
| framecnt++; | framecnt++; |
| Line 635 int main(int argc, char *argv[]) { | Line 716 int main(int argc, char *argv[]) { |
| pccore_cfgupdate(); | pccore_cfgupdate(); |
| #if defined(USE_RESUME) | #if defined(USE_RESUME) |
| statsave_save(":np2.sav"); | flagsave(np2resume); |
| #endif | #endif |
| pccore_term(); | pccore_term(); |
| S98_trash(); | S98_trash(); |
| #if defined(NP2GCC) | |
| mouse_running(MOUSE_OFF); | |
| #endif | |
| scrnmng_destroy(); | scrnmng_destroy(); |
| if (sys_updates & (SYS_UPDATECFG | SYS_UPDATEOSCFG)) { | if (sys_updates & (SYS_UPDATECFG | SYS_UPDATEOSCFG)) { |