Diff for /np2/macosx/np2.cpp between versions 1.1 and 1.9

version 1.1, 2003/10/16 17:59:36 version 1.9, 2003/10/22 16:22:43
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++;
                                         if (timing_getcount() < framecnt) {                                          // テスト
                                           if (framecnt > timing_getcount()) {
                                                 waitcnt = framecnt;                                                  waitcnt = framecnt;
                                                 if (framemax > 1) {  
                                                         framemax--;  
                                                 }  
                                         }                                          }
                                         else if (framecnt >= framemax) {                                          else if (framecnt >= 12) {
                                                 waitcnt = framecnt;                                                  waitcnt = framecnt;
                                                 if (framemax < 12) {  
                                                         framemax++;  
                                                 }  
                                         }                                          }
                                 }                                  }
                                 else {                                  else {
Line 635  int main(int argc, char *argv[]) { Line 711  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)) {

Removed from v.1.1  
changed lines
  Added in v.1.9


RetroPC.NET-CVS <cvs@retropc.net>