Diff for /np2/win9x/np2.cpp between versions 1.24 and 1.33

version 1.24, 2003/11/04 15:44:59 version 1.33, 2003/12/25 03:02:40
Line 46 Line 46
 #include        "statsave.h"  #include        "statsave.h"
 #include        "debugsub.h"  #include        "debugsub.h"
 #include        "keydisp.h"  #include        "keydisp.h"
   #include        "kdispwin.h"
 #include        "viewer.h"  #include        "viewer.h"
   
   
Line 73  static char  szClassName[] = "NP2-MainWi Line 74  static char  szClassName[] = "NP2-MainWi
                                                 {0, 0, 0x3e, 19200, "", "", "", ""},            // ver0.34                                                  {0, 0, 0x3e, 19200, "", "", "", ""},            // ver0.34
                                                 {0, 0, 0x3e, 19200, "", "", "", ""},            // ver0.34                                                  {0, 0, 0x3e, 19200, "", "", "", ""},            // ver0.34
                                                 0xffffff, 0xffbf6a, 0, 0,                                                  0xffffff, 0xffbf6a, 0, 0,
                                                 0, 1, 0, 9801, 0, 0, 0, 0, 0, 0, 0, 0};         // ver0.38                                                  0, 1, 0, 9801, 0, 0, 0, 0, 0, 0, 0, 0, 0};      // ver0.73
   
                 char            fddfolder[MAX_PATH];                  char            fddfolder[MAX_PATH];
                 char            hddfolder[MAX_PATH];                  char            hddfolder[MAX_PATH];
Line 92  static WINLOCEX smwlex; Line 93  static WINLOCEX smwlex;
   
 static const char np2help[] = "np2.chm";  static const char np2help[] = "np2.chm";
 static const char np2flagext[] = "S%02d";  static const char np2flagext[] = "S%02d";
 static const char np2resumeext[] = "sav";  
   
   
   
 static void winuienter(void) {  static void winuienter(void) {
Line 117  WINLOCEX np2_winlocexallwin(HWND base) { Line 116  WINLOCEX np2_winlocexallwin(HWND base) {
   
         list[0] = hWndMain;          list[0] = hWndMain;
         list[1] = toolwin_gethwnd();          list[1] = toolwin_gethwnd();
         list[2] = keydisp_gethwnd();          list[2] = kdispwin_gethwnd();
         for (i=0; i<3; i++) {          for (i=0; i<3; i++) {
                 if (list[i] == base) {                  if (list[i] == base) {
                         list[i] = NULL;                          list[i] = NULL;
Line 147  static void changescreen(BYTE newmode) { Line 146  static void changescreen(BYTE newmode) {
         if (renewal) {          if (renewal) {
                 if (renewal & SCRNMODE_FULLSCREEN) {                  if (renewal & SCRNMODE_FULLSCREEN) {
                         toolwin_destroy();                          toolwin_destroy();
                         keydisp_destroy();                          kdispwin_destroy();
                 }                  }
                 else if (renewal & SCRNMODE_ROTATEMASK) {                  else if (renewal & SCRNMODE_ROTATEMASK) {
                         wlex = np2_winlocexallwin(hWndMain);                          wlex = np2_winlocexallwin(hWndMain);
                           winlocex_setholdwnd(wlex, hWndMain);
                 }                  }
                 soundmng_stop();                  soundmng_stop();
                 mousemng_disable(MOUSEPROC_WINUI);                  mousemng_disable(MOUSEPROC_WINUI);
Line 171  static void changescreen(BYTE newmode) { Line 171  static void changescreen(BYTE newmode) {
                                         toolwin_create();                                          toolwin_create();
                                 }                                  }
                                 if (np2oscfg.keydisp) {                                  if (np2oscfg.keydisp) {
                                         keydisp_create();                                          kdispwin_create();
                                 }                                  }
                         }                          }
                 }                  }
Line 300  static int flagload(const char *ext, con Line 300  static int flagload(const char *ext, con
   
 // ---- proc  // ---- proc
   
   static void np2popup(HWND hWnd, LPARAM lp) {
   
           HMENU   mainmenu;
           HMENU   hMenu;
           POINT   pt;
   
           mainmenu = (HMENU)GetWindowLong(hWnd, NP2GWL_HMENU);
           if (mainmenu == NULL) {
                   return;
           }
           hMenu = CreatePopupMenu();
           menu_addmenubar(hMenu, mainmenu);
           pt.x = LOWORD(lp);
           pt.y = HIWORD(lp);
           ClientToScreen(hWnd, &pt);
           TrackPopupMenu(hMenu, TPM_LEFTALIGN, pt.x, pt.y, 0, hWnd, NULL);
           DestroyMenu(hMenu);
   }
   
 LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {  LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
   
         PAINTSTRUCT     ps;          PAINTSTRUCT     ps;
Line 337  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 356  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                 case IDM_KEYDISP:                                  case IDM_KEYDISP:
                                         sysmenu_setkeydisp(np2oscfg.keydisp ^ 1);                                          sysmenu_setkeydisp(np2oscfg.keydisp ^ 1);
                                         if (np2oscfg.keydisp) {                                          if (np2oscfg.keydisp) {
                                                 keydisp_create();                                                  kdispwin_create();
                                         }                                          }
                                         else {                                          else {
                                                 keydisp_destroy();                                                  kdispwin_destroy();
                                         }                                          }
                                         break;                                          break;
   
Line 402  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 421  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                         if (subwin) {                                          if (subwin) {
                                                 ShowWindow(subwin, SW_SHOWNOACTIVATE);                                                  ShowWindow(subwin, SW_SHOWNOACTIVATE);
                                         }                                          }
                                         subwin = keydisp_gethwnd();                                          subwin = kdispwin_gethwnd();
                                         if (subwin) {                                          if (subwin) {
                                                 ShowWindow(subwin, SW_SHOWNOACTIVATE);                                                  ShowWindow(subwin, SW_SHOWNOACTIVATE);
                                         }                                          }
Line 583  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 602  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                 case IDM_KEY:                                  case IDM_KEY:
                                         xmenu_setkey(0);                                          xmenu_setkey(0);
                                         keystat_resetjoykey();                                          keystat_resetjoykey();
                                           update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_JOY1:                                  case IDM_JOY1:
                                         xmenu_setkey(1);                                          xmenu_setkey(1);
                                         keystat_resetjoykey();                                          keystat_resetjoykey();
                                           update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_JOY2:                                  case IDM_JOY2:
                                         xmenu_setkey(2);                                          xmenu_setkey(2);
                                         keystat_resetjoykey();                                          keystat_resetjoykey();
                                           update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_XSHIFT:                                  case IDM_XSHIFT:
                                         xmenu_setxshift(np2cfg.XSHIFT ^ 1);                                          xmenu_setxshift(np2cfg.XSHIFT ^ 1);
                                         keystat_forcerelease(0x70);                                          keystat_forcerelease(0x70);
                                           update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_XCTRL:                                  case IDM_XCTRL:
                                         xmenu_setxshift(np2cfg.XSHIFT ^ 2);                                          xmenu_setxshift(np2cfg.XSHIFT ^ 2);
                                         keystat_forcerelease(0x74);                                          keystat_forcerelease(0x74);
                                           update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_XGRPH:                                  case IDM_XGRPH:
                                         xmenu_setxshift(np2cfg.XSHIFT ^ 4);                                          xmenu_setxshift(np2cfg.XSHIFT ^ 4);
                                         keystat_forcerelease(0x73);                                          keystat_forcerelease(0x73);
                                           update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_F12MOUSE:                                  case IDM_F12MOUSE:
                                         xmenu_setf12copy(0);                                          xmenu_setf12copy(0);
                                         winkbd_resetf12();                                          winkbd_resetf12();
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_F12COPY:                                  case IDM_F12COPY:
                                         xmenu_setf12copy(1);                                          xmenu_setf12copy(1);
                                         winkbd_resetf12();                                          winkbd_resetf12();
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_F12STOP:                                  case IDM_F12STOP:
                                         xmenu_setf12copy(2);                                          xmenu_setf12copy(2);
                                         winkbd_resetf12();                                          winkbd_resetf12();
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_F12EQU:                                  case IDM_F12EQU:
                                         xmenu_setf12copy(3);                                          xmenu_setf12copy(3);
                                         winkbd_resetf12();                                          winkbd_resetf12();
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_F12COMMA:                                  case IDM_F12COMMA:
                                         xmenu_setf12copy(4);                                          xmenu_setf12copy(4);
                                         winkbd_resetf12();                                          winkbd_resetf12();
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_BEEPOFF:                                  case IDM_BEEPOFF:
Line 665  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 690  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                         break;                                          break;
   
                                 case IDM_NOSOUND:                                  case IDM_NOSOUND:
                                         xmenu_setsound(0);                                          xmenu_setsound(0x00);
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_PC9801_14:                                  case IDM_PC9801_14:
                                         xmenu_setsound(1);                                          xmenu_setsound(0x01);
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_PC9801_26K:                                  case IDM_PC9801_26K:
                                         {                                          xmenu_setsound(0x02);
                                                 BYTE    sw;                                          update |= SYS_UPDATECFG;
                                                 sw = np2cfg.SOUND_SW;  
                                                 if (sw & 4) {  
                                                         sw &= 6;  
                                                         sw ^= 2;  
                                                 }  
                                                 else {  
                                                         sw = 2;  
                                                 }  
                                                 xmenu_setsound(sw);  
                                                 update |= SYS_UPDATECFG;  
                                         }  
                                         break;                                          break;
   
                                 case IDM_PC9801_86:                                  case IDM_PC9801_86:
                                         {                                          xmenu_setsound(0x04);
                                                 BYTE    sw;                                          update |= SYS_UPDATECFG;
                                                 sw = np2cfg.SOUND_SW;  
                                                 if (sw & 2) {  
                                                         sw &= 6;  
                                                         sw ^= 4;  
                                                 }  
                                                 else if (!(sw & 4)) {  
                                                         sw = 4;  
                                                 }  
                                                 xmenu_setsound(sw);  
                                                 update |= SYS_UPDATECFG;  
                                         }  
                                         break;                                          break;
   
                                 case IDM_PC9801_118:                                  case IDM_PC9801_26_86:
                                         xmenu_setsound(8);                                          xmenu_setsound(0x06);
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_CHIBIOTO:                                  case IDM_PC9801_86_CB:
                                         {                                          xmenu_setsound(0x14);
                                                 BYTE    sw;                                          update |= SYS_UPDATECFG;
                                                 sw = np2cfg.SOUND_SW;                                          break;
                                                 if (sw & 4) {  
                                                         sw &= 0x14;                                  case IDM_PC9801_118:
                                                         sw ^= 0x10;                                          xmenu_setsound(0x08);
                                                 }                                          update |= SYS_UPDATECFG;
                                                 else {  
                                                         sw = 0x14;  
                                                 }  
                                                 xmenu_setsound(sw);  
                                                 update |= SYS_UPDATECFG;  
                                         }  
                                         break;                                          break;
   
                                 case IDM_SPEAKBOARD:                                  case IDM_SPEAKBOARD:
Line 742  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 739  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_SNDOPT:                                  case IDM_JASTSOUND:
                                         winuienter();                                          xmenu_setjastsound(np2oscfg.jastsnd ^ 1);
                                         dialog_sndopt(hWnd);                                          update |= SYS_UPDATEOSCFG;
                                         winuileave();  
                                         break;                                          break;
   
                                 case IDM_SEEKSND:                                  case IDM_SEEKSND:
Line 798  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 794  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                         pc9861k_midipanic();                                          pc9861k_midipanic();
                                         break;                                          break;
   
                                   case IDM_SNDOPT:
                                           winuienter();
                                           dialog_sndopt(hWnd);
                                           winuileave();
                                           break;
   
                                 case IDM_BMPSAVE:                                  case IDM_BMPSAVE:
                                         winuienter();                                          winuienter();
                                         dialog_writebmp(hWnd);                                          dialog_writebmp(hWnd);
Line 1085  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 1087  LRESULT CALLBACK WndProc(HWND hWnd, UINT
   
                 case WM_RBUTTONDOWN:                  case WM_RBUTTONDOWN:
                         if (!mousemng_buttonevent(MOUSEMNG_RIGHTDOWN)) {                          if (!mousemng_buttonevent(MOUSEMNG_RIGHTDOWN)) {
                                 if (scrnmng_isfullscreen()) {                                  if (!scrnmng_isfullscreen()) {
                                         POINT   p;                                          np2popup(hWnd, lParam);
                                   }
                                   else {
                                           POINT p;
                                         if ((GetCursorPos(&p)) && (p.y >= 466) &&                                          if ((GetCursorPos(&p)) && (p.y >= 466) &&
                                                                                                 (np2oscfg.clk_x)) {                                                                                                  (np2oscfg.clk_x)) {
                                                 np2oscfg.clk_fnt++;                                                  np2oscfg.clk_fnt++;
Line 1111  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 1116  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                         np2oscfg.wintype = 0;                                          np2oscfg.wintype = 0;
                                 }                                  }
                                 wlex = np2_winlocexallwin(hWnd);                                  wlex = np2_winlocexallwin(hWnd);
                                   winlocex_setholdwnd(wlex, hWnd);
                                 np2class_windowtype(hWnd, np2oscfg.wintype);                                  np2class_windowtype(hWnd, np2oscfg.wintype);
                                 winlocex_move(wlex);                                  winlocex_move(wlex);
                                 winlocex_destroy(wlex);                                  winlocex_destroy(wlex);
Line 1132  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 1138  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                 winuileave();                                  winuileave();
                         }                          }
                         if (b) {                          if (b) {
                                 keydisp_destroy();  
                                 viewer_allclose();                                  viewer_allclose();
                                 DestroyWindow(hWnd);                                  DestroyWindow(hWnd);
                         }                          }
Line 1203  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 1208  LRESULT CALLBACK WndProc(HWND hWnd, UINT
 }  }
   
   
   static void framereset(UINT cnt) {
   
           framecnt = 0;
           scrnmng_dispclock();
           kdispwin_draw((BYTE)cnt);
           toolwin_draw((BYTE)cnt);
           viewer_allreload(FALSE);
           if (np2oscfg.DISPCLK & 3) {
                   if (sysmng_workclockrenewal()) {
                           sysmng_updatecaption(3);
                   }
           }
   }
   
 static void processwait(UINT cnt) {  static void processwait(UINT cnt) {
   
         if (timing_getcount() >= cnt) {          if (timing_getcount() >= cnt) {
                 timing_setcount(0);                  timing_setcount(0);
                 framecnt = 0;                  framereset(cnt);
                 scrnmng_dispclock();  
                 keydisp_draw((BYTE)cnt);  
                 toolwin_draw((BYTE)cnt);  
                 viewer_allreload(FALSE);  
                 if (np2oscfg.DISPCLK & 3) {  
                         if (sysmng_workclockrenewal()) {  
                                 sysmng_updatecaption(3);  
                         }  
                 }  
         }          }
         else {          else {
                 Sleep(1);                  Sleep(1);
         }          }
           soundmng_sync();
 }  }
   
   
Line 1229  int WINAPI WinMain(HINSTANCE hInstance,  Line 1240  int WINAPI WinMain(HINSTANCE hInstance, 
         WNDCLASS        wc;          WNDCLASS        wc;
         MSG                     msg;          MSG                     msg;
         HMENU           hMenu;          HMENU           hMenu;
         HWND            hwndorg;          HWND            hWnd;
         UINT            i;          UINT            i;
 #ifdef OPENING_WAIT  #ifdef OPENING_WAIT
         UINT32          tick;          UINT32          tick;
 #endif  #endif
   
           _MEM_INIT();
   
         GetModuleFileName(NULL, modulefile, sizeof(modulefile));          GetModuleFileName(NULL, modulefile, sizeof(modulefile));
         dosio_init();          dosio_init();
         file_setcd(modulefile);          file_setcd(modulefile);
         np2arg_analize(lpszCmdLine);          np2arg_analize(lpszCmdLine);
         initload();          initload();
         toolwin_readini();          toolwin_readini();
         keydisp_readini();          kdispwin_readini();
   
         rand_setseed((unsigned)time(NULL));          rand_setseed((unsigned)time(NULL));
   
         CopyMemory(szClassName, np2oscfg.winid, 3);          CopyMemory(szClassName, np2oscfg.winid, 3);
   
         if ((hwndorg = FindWindow(szClassName, NULL)) != NULL) {          if ((hWnd = FindWindow(szClassName, NULL)) != NULL) {
                 sstpmsg_running();                  sstpmsg_running();
                 ShowWindow(hwndorg, SW_RESTORE);                  ShowWindow(hWnd, SW_RESTORE);
                 SetForegroundWindow(hwndorg);                  SetForegroundWindow(hWnd);
                 dosio_term();                  dosio_term();
                 return(FALSE);                  return(FALSE);
         }          }
Line 1292  int WINAPI WinMain(HINSTANCE hInstance,  Line 1305  int WINAPI WinMain(HINSTANCE hInstance, 
                 }                  }
         }          }
         toolwin_initapp(hInstance);          toolwin_initapp(hInstance);
         keydisp_initialize(hPreInst);          kdispwin_initialize(hPreInst);
         viewer_init(hPreInst);                                                                          // ver0.30          viewer_init(hPreInst);                                                                          // ver0.30
   
         hWndMain = CreateWindow(szClassName, np2oscfg.titles,          hWndMain = CreateWindow(szClassName, np2oscfg.titles,
Line 1300  int WINAPI WinMain(HINSTANCE hInstance,  Line 1313  int WINAPI WinMain(HINSTANCE hInstance, 
                                                 WS_THICKFRAME | WS_MINIMIZEBOX,                                                  WS_THICKFRAME | WS_MINIMIZEBOX,
                                                 np2oscfg.winx, np2oscfg.winy, 640, 400,                                                  np2oscfg.winx, np2oscfg.winy, 640, 400,
                                                 NULL, NULL, hInstance, NULL);                                                  NULL, NULL, hInstance, NULL);
           hWnd = hWndMain;
         scrnmng_initialize();          scrnmng_initialize();
   
         xmenu_setsound(np2cfg.SOUND_SW);          xmenu_setroltate(0);
         xmenu_setbeepvol(np2cfg.BEEP_VOL);          xmenu_setdispmode(np2cfg.DISPSYNC);
         xmenu_setkey(0);          xmenu_setraster(np2cfg.RASTER);
         xmenu_setbtnrapid(np2cfg.BTN_RAPID);  
         xmenu_setbtnmode(np2cfg.BTN_MODE);  
         xmenu_setmsrapid(np2cfg.MOUSERAPID);  
         xmenu_setwaitflg(np2oscfg.NOWAIT);          xmenu_setwaitflg(np2oscfg.NOWAIT);
         xmenu_setframe(np2oscfg.DRAW_SKIP);          xmenu_setframe(np2oscfg.DRAW_SKIP);
         xmenu_setdispmode(np2cfg.DISPSYNC);  
         xmenu_setdispclk(np2oscfg.DISPCLK);          xmenu_setkey(0);
         xmenu_seti286save(np2oscfg.I286SAVE);  
         xmenu_setmotorflg(np2cfg.MOTOR);  
         xmenu_setroltate(0);  
         xmenu_setxshift(0);          xmenu_setxshift(0);
         xmenu_setf12copy(np2oscfg.F12COPY);          xmenu_setf12copy(np2oscfg.F12COPY);
           xmenu_setbeepvol(np2cfg.BEEP_VOL);
           xmenu_setsound(np2cfg.SOUND_SW);
           xmenu_setjastsound(np2oscfg.jastsnd);
           xmenu_setmotorflg(np2cfg.MOTOR);
         xmenu_setextmem(np2cfg.EXTMEM);          xmenu_setextmem(np2cfg.EXTMEM);
         xmenu_setraster(np2cfg.RASTER);  
         xmenu_setshortcut(np2oscfg.shortcut);                                           // ver0.30  
         xmenu_setsstp(np2oscfg.sstp);  
         xmenu_setmouse(np2oscfg.MOUSE_SW);          xmenu_setmouse(np2oscfg.MOUSE_SW);
   
         ShowWindow(hWndMain, nCmdShow);          xmenu_setshortcut(np2oscfg.shortcut);
         UpdateWindow(hWndMain);          xmenu_setdispclk(np2oscfg.DISPCLK);
           xmenu_setbtnmode(np2cfg.BTN_MODE);
           xmenu_setbtnrapid(np2cfg.BTN_RAPID);
           xmenu_setmsrapid(np2cfg.MOUSERAPID);
           xmenu_setsstp(np2oscfg.sstp);
           xmenu_seti286save(np2oscfg.I286SAVE);
   
           ShowWindow(hWnd, nCmdShow);
           UpdateWindow(hWnd);
   
 #ifdef OPENING_WAIT  #ifdef OPENING_WAIT
         tick = GetTickCount();          tick = GetTickCount();
Line 1333  int WINAPI WinMain(HINSTANCE hInstance,  Line 1350  int WINAPI WinMain(HINSTANCE hInstance, 
         // めにゅー追加          // めにゅー追加
         if (np2oscfg.statsave) {          if (np2oscfg.statsave) {
                 char buf[16];                  char buf[16];
                 hMenu = GetMenu(hWndMain);                  hMenu = GetMenu(hWnd);
                 hStat = CreatePopupMenu();                  hStat = CreatePopupMenu();
                 for (i=0; i<STATSAVEMAX; i++) {                  for (i=0; i<STATSAVEMAX; i++) {
                         wsprintf(buf, "Save %d", i);                          wsprintf(buf, "Save %d", i);
Line 1347  int WINAPI WinMain(HINSTANCE hInstance,  Line 1364  int WINAPI WinMain(HINSTANCE hInstance, 
                 InsertMenu(hMenu, 1, MF_BYPOSITION | MF_POPUP, (UINT)hStat, "S&tat");                  InsertMenu(hMenu, 1, MF_BYPOSITION | MF_POPUP, (UINT)hStat, "S&tat");
         }          }
         sysmenu_initialize();          sysmenu_initialize();
         DrawMenuBar(hWndMain);          DrawMenuBar(hWnd);
   
         // ver0.30          // ver0.30
         if (file_attr_c(np2help) == (short)-1) {          if (file_attr_c(np2help) == (short)-1) {
                 EnableMenuItem(GetMenu(hWndMain), IDM_HELP, MF_GRAYED);                  EnableMenuItem(GetMenu(hWnd), IDM_HELP, MF_GRAYED);
         }          }
   
         sysmenu_settoolwin(np2oscfg.toolwin);          sysmenu_settoolwin(np2oscfg.toolwin);
Line 1372  int WINAPI WinMain(HINSTANCE hInstance,  Line 1389  int WINAPI WinMain(HINSTANCE hInstance, 
                 scrnmode ^= SCRNMODE_FULLSCREEN;                  scrnmode ^= SCRNMODE_FULLSCREEN;
                 if (scrnmng_create(scrnmode) != SUCCESS) {                  if (scrnmng_create(scrnmode) != SUCCESS) {
                         if (sstpmsg_dxerror()) {                          if (sstpmsg_dxerror()) {
                                 MessageBox(hWndMain, "Couldn't create DirectDraw Object",                                  MessageBox(hWnd, "Couldn't create DirectDraw Object",
                                                                                 np2oscfg.titles, MB_OK | MB_ICONSTOP);                                                                                  np2oscfg.titles, MB_OK | MB_ICONSTOP);
                         }                          }
                         return(FALSE);                          return(FALSE);
Line 1395  int WINAPI WinMain(HINSTANCE hInstance,  Line 1412  int WINAPI WinMain(HINSTANCE hInstance, 
         if (np2oscfg.MOUSE_SW) {                                                                                // ver0.30          if (np2oscfg.MOUSE_SW) {                                                                                // ver0.30
                 mousemng_enable(MOUSEPROC_SYSTEM);                  mousemng_enable(MOUSEPROC_SYSTEM);
         }          }
   //      mousemng_enable(MOUSEPROC_WINUI);
   //      mousemng_enable(MOUSEPROC_BG);
   
         commng_initialize();          commng_initialize();
         sysmng_initialize();          sysmng_initialize();
Line 1413  int WINAPI WinMain(HINSTANCE hInstance,  Line 1432  int WINAPI WinMain(HINSTANCE hInstance, 
   
         pccore_reset();          pccore_reset();
   
         if (!(scrnmode & SCRNMODE_FULLSCREEN)) {  
                 if (np2oscfg.toolwin) {  
                         toolwin_create();  
                 }  
                 if (np2oscfg.keydisp) {  
                         keydisp_create();  
                 }  
         }  
   
         np2opening = 0;          np2opening = 0;
   
         // れじうむ          // れじうむ
         if (np2oscfg.resume) {          if (np2oscfg.resume) {
                 int             id;                  int             id;
   
                 id = flagload(np2resumeext, "Resume", FALSE);                  id = flagload(str_sav, str_resume, FALSE);
                 if (id == IDYES) {                  if (id == IDYES) {
                         for (i=0; i<4; i++) np2arg.disk[i] = NULL;                          for (i=0; i<4; i++) np2arg.disk[i] = NULL;
                 }                  }
                 else if (id == IDCANCEL) {                  else if (id == IDCANCEL) {
                         DestroyWindow(hWndMain);                          DestroyWindow(hWnd);
                         mousemng_disable(MOUSEPROC_WINUI);                          mousemng_disable(MOUSEPROC_WINUI);
                         S98_trash();                          S98_trash();
                         pccore_term();                          pccore_term();
Line 1455  int WINAPI WinMain(HINSTANCE hInstance,  Line 1465  int WINAPI WinMain(HINSTANCE hInstance, 
                 }                  }
         }          }
   
           if (!(scrnmode & SCRNMODE_FULLSCREEN)) {
                   if (np2oscfg.toolwin) {
                           toolwin_create();
                   }
                   if (np2oscfg.keydisp) {
                           kdispwin_create();
                   }
           }
   
         while(1) {          while(1) {
                 if (!np2stopemulate) {                  if (!np2stopemulate) {
                         if (PeekMessage(&msg, 0, 0, 0, PM_NOREMOVE)) {                          if (PeekMessage(&msg, 0, 0, 0, PM_NOREMOVE)) {
                                 if (!GetMessage(&msg, NULL, 0, 0)) {                                  if (!GetMessage(&msg, NULL, 0, 0)) {
                                         break;                                          break;
                                 }                                  }
                                 if ((msg.hwnd != hWndMain) ||                                  if ((msg.hwnd != hWnd) ||
                                         ((msg.message != WM_SYSKEYDOWN) &&                                          ((msg.message != WM_SYSKEYDOWN) &&
                                         (msg.message != WM_SYSKEYUP))) {                                          (msg.message != WM_SYSKEYUP))) {
                                         TranslateMessage(&msg);                                          TranslateMessage(&msg);
Line 1524  int WINAPI WinMain(HINSTANCE hInstance,  Line 1543  int WINAPI WinMain(HINSTANCE hInstance, 
                                                         else {                                                          else {
                                                                 timing_setcount(cnt - framecnt);                                                                  timing_setcount(cnt - framecnt);
                                                         }                                                          }
                                                         processwait(0);                                                          framereset(0);
                                                 }                                                  }
                                         }                                          }
                                         else {                                          else {
Line 1544  int WINAPI WinMain(HINSTANCE hInstance,  Line 1563  int WINAPI WinMain(HINSTANCE hInstance, 
                 }                  }
         }          }
         toolwin_destroy();          toolwin_destroy();
           kdispwin_destroy();
   
         pccore_cfgupdate();          pccore_cfgupdate();
   
Line 1551  int WINAPI WinMain(HINSTANCE hInstance,  Line 1571  int WINAPI WinMain(HINSTANCE hInstance, 
         S98_trash();          S98_trash();
   
         if (np2oscfg.resume) {          if (np2oscfg.resume) {
                 flagsave(np2resumeext);                  flagsave(str_sav);
         }          }
         else {          else {
                 flagdelete(np2resumeext);                  flagdelete(str_sav);
         }          }
   
 #ifdef USE_ROMEO  #ifdef USE_ROMEO
Line 1574  int WINAPI WinMain(HINSTANCE hInstance,  Line 1594  int WINAPI WinMain(HINSTANCE hInstance, 
         if (sys_updates & (SYS_UPDATECFG | SYS_UPDATEOSCFG)) {          if (sys_updates & (SYS_UPDATECFG | SYS_UPDATEOSCFG)) {
                 initsave();                  initsave();
                 toolwin_writeini();                  toolwin_writeini();
                 keydisp_writeini();                  kdispwin_writeini();
         }          }
   
         TRACETERM();          TRACETERM();
           _MEM_USED("report.txt");
         dosio_term();          dosio_term();
   
         viewer_term();                                                                                          // ver0.30          viewer_term();                                                                                          // ver0.30

Removed from v.1.24  
changed lines
  Added in v.1.33


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