Diff for /np2/macosx/np2.cpp between versions 1.36 and 1.46

version 1.36, 2003/11/12 19:56:50 version 1.46, 2004/01/05 07:22:02
Line 46 Line 46
 // #define      OPENING_WAIT    1500  // #define      OPENING_WAIT    1500
   
   
                 NP2OSCFG        np2oscfg = {0, 2, 0, 0, 0, 0, 1, 0};                  NP2OSCFG        np2oscfg = {"Neko Project IIx", -1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0};
   
                 WindowPtr       hWndMain;                  WindowPtr       hWndMain;
                 BOOL            np2running;                  BOOL            np2running;
Line 93  pascal OSErr OpenAppleEventHandler(const Line 93  pascal OSErr OpenAppleEventHandler(const
         DescType        rtype;          DescType        rtype;
         AEKeyword       key;          AEKeyword       key;
         AEDescList      dlist;          AEDescList      dlist;
       OSErr               err = noErr;
                   
         if(!AEGetParamDesc(event,keyDirectObject,typeAEList,&dlist))    {          if(!AEGetParamDesc(event,keyDirectObject,typeAEList,&dlist))    {
                 AECountItems( &dlist,&ct );                  AECountItems( &dlist,&ct );
                 for( i=1;i<=ct;i++ )    {                  for( i=1;i<=ct;i++ )    {
             pp=&fsc;              pp=&fsc;
                         if (!AEGetNthPtr( &dlist,i,typeFSS,&key,&rtype,(Ptr)pp,(long)sizeof(FSSpec),&len))      {                          if (!AEGetNthPtr( &dlist,i,typeFSS,&key,&rtype,(Ptr)pp,(long)sizeof(FSSpec),&len))      {
                 setDropFile(fsc, i-1);                  err = setDropFile(fsc, i-1);
                         }                          }
                 }                  }
                 AEDisposeDesc( &dlist );                  AEDisposeDesc( &dlist );
         }          }
         return( 0 );          return(err);
 }  }
   
   
Line 169  static void changescreen(BYTE mode) { Line 170  static void changescreen(BYTE mode) {
         }          }
         if (renewal) {          if (renewal) {
                 soundmng_stop();                  soundmng_stop();
                 mousemng_disable(MOUSEPROC_SYSTEM);  
                 scrnmng_destroy();                  scrnmng_destroy();
                 if (scrnmng_create(mode) == SUCCESS) {                  if (scrnmng_create(mode) == SUCCESS) {
                         scrnmode = mode;                          scrnmode = mode;
                 }                  }
                 scrndraw_redraw();                  scrndraw_redraw();
                 mousemng_enable(MOUSEPROC_SYSTEM);  
                 soundmng_play();                  soundmng_play();
         }          }
         else {          else {
Line 339  static void HandleMenuChoice(long wParam Line 338  static void HandleMenuChoice(long wParam
                 case IDM_KEY:                  case IDM_KEY:
                         menu_setkey(0);                          menu_setkey(0);
                         keystat_resetjoykey();                          keystat_resetjoykey();
                           update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_JOY1:                  case IDM_JOY1:
                         menu_setkey(1);                          menu_setkey(1);
                         keystat_resetjoykey();                          keystat_resetjoykey();
                           update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_JOY2:                  case IDM_JOY2:
                         menu_setkey(2);                          menu_setkey(2);
                         keystat_resetjoykey();                          keystat_resetjoykey();
                           update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_MOUSEKEY:                  case IDM_MOUSEKEY:
                         menu_setkey(3);                          menu_setkey(3);
                         keystat_resetjoykey();                          keystat_resetjoykey();
                           update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_XSHIFT:                  case IDM_XSHIFT:
                         menu_setxshift(np2cfg.XSHIFT ^ 1);                          menu_setxshift(np2cfg.XSHIFT ^ 1);
                         keystat_forcerelease(0x70);                          keystat_forcerelease(0x70);
                           update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_XCTRL:                  case IDM_XCTRL:
                         menu_setxshift(np2cfg.XSHIFT ^ 2);                          menu_setxshift(np2cfg.XSHIFT ^ 2);
                         keystat_forcerelease(0x74);                          keystat_forcerelease(0x74);
                           update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_XGRPH:                  case IDM_XGRPH:
                         menu_setxshift(np2cfg.XSHIFT ^ 4);                          menu_setxshift(np2cfg.XSHIFT ^ 4);
                         keystat_forcerelease(0x73);                          keystat_forcerelease(0x73);
                           update |= SYS_UPDATECFG;
                         break;                          break;
   
                 case IDM_F12MOUSE:                  case IDM_F11KANA:
                         menu_setf12copy(0);                          menu_setf11key(0);
                         mackbd_resetf12();                          mackbd_resetf11();
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATEOSCFG;
                         break;                          break;
   
                 case IDM_F12COPY:                  case IDM_F11STOP:
                         menu_setf12copy(1);                          menu_setf11key(1);
                         mackbd_resetf12();                          mackbd_resetf11();
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATEOSCFG;
                           break;
   
                   case IDM_F11EQU:
                           menu_setf11key(2);
                           mackbd_resetf11();
                           update |= SYS_UPDATEOSCFG;
                           break;
   
                   case IDM_F11NFER:
                           menu_setf11key(3);
                           mackbd_resetf11();
                           update |= SYS_UPDATEOSCFG;
                         break;                          break;
   
                 case IDM_F12STOP:                  case IDM_F12MOUSE:
                         menu_setf12copy(2);                          menu_setf12key(0);
                         mackbd_resetf12();                          mackbd_resetf12();
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATEOSCFG;
                         break;                          break;
   
                 case IDM_F12EQU:                  case IDM_F12COPY:
                         menu_setf12copy(3);                          menu_setf12key(1);
                         mackbd_resetf12();                          mackbd_resetf12();
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATEOSCFG;
                         break;                          break;
   
                 case IDM_F12COMMA:                  case IDM_F12COMMA:
                         menu_setf12copy(4);                          menu_setf12key(2);
                         mackbd_resetf12();                          mackbd_resetf12();
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATEOSCFG;
                           break;
   
                   case IDM_F12XFER:
                           menu_setf12key(3);
                           mackbd_resetf12();
                           update |= SYS_UPDATEOSCFG;
                         break;                          break;
   
                 case IDM_BEEPOFF:                  case IDM_BEEPOFF:
Line 475  static void HandleMenuChoice(long wParam Line 499  static void HandleMenuChoice(long wParam
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATECFG;
                         break;                          break;
   
                   case IDM_JASTSOUND:
                           menu_setjastsound(np2oscfg.jastsnd ^ 1);
                           update |= SYS_UPDATEOSCFG;
                           break;
   
                 case IDM_SEEKSND:                  case IDM_SEEKSND:
                         menu_setmotorflg(np2cfg.MOTOR ^ 1);                          menu_setmotorflg(np2cfg.MOTOR ^ 1);
                         update |= SYS_UPDATECFG;                          update |= SYS_UPDATECFG;
Line 545  static void HandleMenuChoice(long wParam Line 574  static void HandleMenuChoice(long wParam
             {              {
                 ICInstance inst;                  ICInstance inst;
                 long start, fin;                  long start, fin;
                 const char      urlStr[] = "http://retropc.net/tk800/np2x/help.html";                  const char      urlStr[] = "http://retropc.net/tk800/np2x/help/help.html";
   
                 ICStart(&inst, 'SMil');                  ICStart(&inst, 'SMil');
                 start = 0;                  start = 0;
Line 650  int main(int argc, char *argv[]) { Line 679  int main(int argc, char *argv[]) {
   
     EventRef            theEvent;      EventRef            theEvent;
     EventTargetRef      theTarget;      EventTargetRef      theTarget;
       Rect                        bounds;
 #ifdef OPENING_WAIT  #ifdef OPENING_WAIT
         UINT32          tick;          UINT32          tick;
 #endif  #endif
Line 683  int main(int argc, char *argv[]) { Line 713  int main(int argc, char *argv[]) {
         menu_setframe(np2oscfg.DRAW_SKIP);          menu_setframe(np2oscfg.DRAW_SKIP);
         menu_setkey(0);          menu_setkey(0);
         menu_setxshift(0);          menu_setxshift(0);
         menu_setf12copy(np2oscfg.F12COPY);          menu_setf11key(np2oscfg.F11KEY);
           menu_setf12key(np2oscfg.F12KEY);
         menu_setbeepvol(np2cfg.BEEP_VOL);          menu_setbeepvol(np2cfg.BEEP_VOL);
         menu_setsound(np2cfg.SOUND_SW);          menu_setsound(np2cfg.SOUND_SW);
           menu_setjastsound(np2oscfg.jastsnd);
         menu_setmotorflg(np2cfg.MOTOR);          menu_setmotorflg(np2cfg.MOTOR);
         menu_setextmem(np2cfg.EXTMEM);          menu_setextmem(np2cfg.EXTMEM);
         menu_setdispclk(np2oscfg.DISPCLK);          menu_setdispclk(np2oscfg.DISPCLK);
Line 732  int main(int argc, char *argv[]) { Line 764  int main(int argc, char *argv[]) {
         flagload(np2resume);          flagload(np2resume);
     }      }
 #endif  #endif
     if (np2oscfg.toolwin) {  
         toolwin_open();  
     }  
   
     theTarget = GetEventDispatcherTarget();      theTarget = GetEventDispatcherTarget();
           
Line 803  int main(int argc, char *argv[]) { Line 832  int main(int argc, char *argv[]) {
                         }                          }
                 }                  }
         }          }
       
         np2running = FALSE;          np2running = FALSE;
     menu_setrecording(true);      menu_setrecording(true);
   
Line 810  int main(int argc, char *argv[]) { Line 840  int main(int argc, char *argv[]) {
         toggleFullscreen();          toggleFullscreen();
     }      }
           
           GetWindowBounds(hWndMain, kWindowGlobalPortRgn, &bounds);
           if ((np2oscfg.winx != bounds.left) || (np2oscfg.winy != bounds.top)) {
                   np2oscfg.winx = bounds.left;
                   np2oscfg.winy = bounds.top;
                   sysmng_update(SYS_UPDATEOSCFG);
           }
   
         pccore_cfgupdate();          pccore_cfgupdate();
   
 #if defined(USE_RESUME)  #if defined(USE_RESUME)
Line 880  static pascal OSStatus np2appevent (Even Line 917  static pascal OSStatus np2appevent (Even
                 if (cmd.commandID == kHICommandAppHelp) {                  if (cmd.commandID == kHICommandAppHelp) {
                     ICInstance inst;                      ICInstance inst;
                     long start, fin;                      long start, fin;
                     const char  urlStr[] = "http://retropc.net/tk800/np2x/help.html";                      const char  urlStr[] = "http://retropc.net/tk800/np2x/help/help.html";
   
                     ICStart(&inst, 'SMil');                      ICStart(&inst, 'SMil');
                     start = 0;                      start = 0;
Line 907  static pascal OSStatus np2appevent (Even Line 944  static pascal OSStatus np2appevent (Even
                     result = noErr;                      result = noErr;
                     break;                      break;
                 case kEventMouseDown:                  case kEventMouseDown:
                     if (buttonKind == kEventMouseButtonSecondary | modif & controlKey) {                      if (buttonKind == kEventMouseButtonSecondary || modif & cmdKey) {
                         mousemng_buttonevent(MOUSEMNG_RIGHTDOWN);                          mousemng_buttonevent(MOUSEMNG_RIGHTDOWN);
                     }                      }
                     else {                      else {
Line 916  static pascal OSStatus np2appevent (Even Line 953  static pascal OSStatus np2appevent (Even
                     result=noErr;                      result=noErr;
                     break;                      break;
                 case kEventMouseUp:                  case kEventMouseUp:
                     if (buttonKind == kEventMouseButtonSecondary | modif & controlKey) {                      if (buttonKind == kEventMouseButtonSecondary || modif & cmdKey) {
                         mousemng_buttonevent(MOUSEMNG_RIGHTUP);                          mousemng_buttonevent(MOUSEMNG_RIGHTUP);
                     }                      }
                     else if (buttonKind == kEventMouseButtonTertiary) {                      else if (buttonKind == kEventMouseButtonTertiary) {
Line 1104  static bool setupMainWindow(void) { Line 1141  static bool setupMainWindow(void) {
         }          }
         SizeWindow(hWndMain, 640, 400, TRUE);          SizeWindow(hWndMain, 640, 400, TRUE);
 #endif  #endif
       if (np2oscfg.winx != -1 && np2oscfg.winy != -1) {
           MoveWindow(hWndMain, np2oscfg.winx, np2oscfg.winy, false);
       }
     setUpCarbonEvent();      setUpCarbonEvent();
     if (backupwidth) scrnmng_setwidth(0, backupwidth);      if (backupwidth) scrnmng_setwidth(0, backupwidth);
     if (backupheight) scrnmng_setheight(0, backupheight);      if (backupheight) scrnmng_setheight(0, backupheight);
       SetWindowTitleWithCFString(hWndMain, CFStringCreateWithCString(NULL, np2oscfg.titles, kCFStringEncodingUTF8));
         ShowWindow(hWndMain);          ShowWindow(hWndMain);
     return(true);      return(true);
 }  }
Line 1115  static bool setupMainWindow(void) { Line 1155  static bool setupMainWindow(void) {
 static void toggleFullscreen(void) {  static void toggleFullscreen(void) {
     static Ptr  bkfullscreen;      static Ptr  bkfullscreen;
     static BYTE mouse = 0;      static BYTE mouse = 0;
       static bool toolwin = false;
     MenuRef     menu = GetMenuRef(IDM_SCREEN);      MenuRef     menu = GetMenuRef(IDM_SCREEN);
     Rect        bounds;      Rect        bounds;
     short       w = 640, h = 480;      short       w = 640, h = 480;
Line 1125  static void toggleFullscreen(void) { Line 1166  static void toggleFullscreen(void) {
         GetWindowBounds(hWndMain, kWindowContentRgn, &bounds);          GetWindowBounds(hWndMain, kWindowContentRgn, &bounds);
         backupwidth = bounds.right - bounds.left;          backupwidth = bounds.right - bounds.left;
         backupheight = bounds.bottom - bounds.top;          backupheight = bounds.bottom - bounds.top;
           toolwin = np2oscfg.toolwin;
         toolwin_close();          toolwin_close();
           np2oscfg.winx = bounds.left;
           np2oscfg.winy = bounds.top;
         DisposeWindow(hWndMain);          DisposeWindow(hWndMain);
         BeginFullScreen(&bkfullscreen,0,&w,&h,&hWndMain,NULL,(fullScreenAllowEvents | fullScreenDontChangeMenuBar));              BeginFullScreen(&bkfullscreen, 0, &w, &h, &hWndMain, NULL, fullScreenAllowEvents);      
         DisableMenuItem(menu, IDM_ROLNORMAL);          DisableMenuItem(menu, IDM_ROLNORMAL);
         DisableMenuItem(menu, IDM_ROLLEFT);          DisableMenuItem(menu, IDM_ROLLEFT);
         DisableMenuItem(menu, IDM_ROLRIGHT);          DisableMenuItem(menu, IDM_ROLRIGHT);
Line 1153  static void toggleFullscreen(void) { Line 1197  static void toggleFullscreen(void) {
         EnableMenuItem(menu, IDM_ROLLEFT);          EnableMenuItem(menu, IDM_ROLLEFT);
         EnableMenuItem(menu, IDM_ROLRIGHT);          EnableMenuItem(menu, IDM_ROLRIGHT);
         ShowMenuBar();          ShowMenuBar();
         if (np2oscfg.toolwin) {          if (toolwin) {
             toolwin_open();              toolwin_open();
         }          }
     }      }

Removed from v.1.36  
changed lines
  Added in v.1.46


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