Diff for /np2/win9xc/np2.cpp between versions 1.24 and 1.29

version 1.24, 2004/03/19 00:30:02 version 1.29, 2004/03/31 14:02:51
Line 18 Line 18
 #include        "winkbd.h"  #include        "winkbd.h"
 #include        "ini.h"  #include        "ini.h"
 #include        "menu.h"  #include        "menu.h"
 #include        "debugwin.h"  #include        "subwind.h"
 #include        "dialog.h"  #include        "dialog.h"
 #include        "cpucore.h"  #include        "cpucore.h"
 #include        "pccore.h"  #include        "pccore.h"
Line 57  static const char szClassName[] = "NP2-M Line 57  static const char szClassName[] = "NP2-M
                                                 CW_USEDEFAULT, CW_USEDEFAULT, 0, 0,                                                  CW_USEDEFAULT, CW_USEDEFAULT, 0, 0,
                                                 KEY_UNKNOWN, 0,                                                  KEY_UNKNOWN, 0,
                                                 0, 0, 0, {1, 2, 2, 1},                                                  0, 0, 0, {1, 2, 2, 1},
                                                 0, 0};                                                  0, 0, 0};
   
                 char            modulefile[MAX_PATH];                  char            modulefile[MAX_PATH];
                 char            fddfolder[MAX_PATH];                  char            fddfolder[MAX_PATH];
Line 124  static void changescreen(BYTE newmode) { Line 124  static void changescreen(BYTE newmode) {
 }  }
   
   
   // ---- resume and statsave
   
   #define SUPPORT_RESUME
   
   #if defined(SUPPORT_RESUME) || defined(SUPPORT_STATSAVE)
   static void getstatfilename(char *path, const char *ext, int size) {
   
           file_cpyname(path, modulefile, size);
           file_cutext(path);
           file_catname(path, str_dot, size);
           file_catname(path, ext, size);
   }
   
   static int flagsave(const char *ext) {
   
           int             ret;
           char    path[MAX_PATH];
   
           getstatfilename(path, ext, sizeof(path));
           soundmng_stop();
           ret = statsave_save(path);
           if (ret) {
                   file_delete(path);
           }
           soundmng_play();
           return(ret);
   }
   
   static void flagdelete(const char *ext) {
   
           char    path[MAX_PATH];
   
           getstatfilename(path, ext, sizeof(path));
           file_delete(path);
   }
   
   static int flagload(const char *ext, const char *title, BOOL force) {
   
           int             ret;
           int             id;
           char    path[MAX_PATH];
           char    buf[1024];
   
           getstatfilename(path, ext, sizeof(path));
           winuienter();
           id = IDYES;
           ret = statsave_check(path, buf, sizeof(buf));
           if (ret & (~STATFLAG_DISKCHG)) {
                   MessageBox(hWndMain, "Couldn't restart", title, MB_OK | MB_ICONSTOP);
                   id = IDNO;
           }
           else if ((!force) && (ret & STATFLAG_DISKCHG)) {
                   char buf2[1024 + 256];
                   wsprintf(buf2, "Conflict!\n\n%s\nContinue?", buf);
                   id = MessageBox(hWndMain, buf2, title,
                                                                                   MB_YESNOCANCEL | MB_ICONQUESTION);
           }
           if (id == IDYES) {
                   statsave_load(path);
           }
           sysmng_workclockreset();
           sysmng_updatecaption();
           winuileave();
           return(id);
   }
   #endif
   
   
 // ---- proc  // ---- proc
   
 static void np2cmd(HWND hWnd, UINT16 cmd) {  static void np2cmd(HWND hWnd, UINT16 cmd) {
Line 484  static void np2cmd(HWND hWnd, UINT16 cmd Line 552  static void np2cmd(HWND hWnd, UINT16 cmd
                         dialog_writebmp(hWnd);                          dialog_writebmp(hWnd);
                         winuileave();                          winuileave();
                         break;                          break;
   #if defined(SUPPPORT_S98)
                 case IDM_S98LOGGING:                  case IDM_S98LOGGING:
                         winuienter();                          winuienter();
                         dialog_s98(hWnd);                          dialog_s98(hWnd);
                         winuileave();                          winuileave();
                         break;                          break;
   #endif
   #if defined(SUPPORT_WAVEREC)
                   case IDM_WAVEREC:
                           winuienter();
                           dialog_waverec(hWnd);
                           winuileave();
                           break;
   #endif
                 case IDM_CALENDAR:                  case IDM_CALENDAR:
                         winuienter();                          winuienter();
                         DialogBox(hInst, MAKEINTRESOURCE(IDD_CALENDAR),                          DialogBox(hInst, MAKEINTRESOURCE(IDD_CALENDAR),
Line 625  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 700  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                         }                          }
                         break;                          break;
   
                   case WM_SIZE:
                           if (wParam == SIZE_RESTORED) {
                                   scrnmng_restoresize();
                           }
                           break;
   
                 case WM_ENTERMENULOOP:                  case WM_ENTERMENULOOP:
                         winuienter();                          winuienter();
                         if (scrnmng_isfullscreen()) {                          if (scrnmng_isfullscreen()) {
Line 744  static void framereset(void) { Line 825  static void framereset(void) {
   
         framecnt = 0;          framecnt = 0;
         sysmng_updatecaption();          sysmng_updatecaption();
         debugwin_process();          memdbg_process();
 }  }
   
 static void processwait(UINT cnt) {  static void processwait(UINT cnt) {
Line 777  int WINAPI WinMain(HINSTANCE hInstance,  Line 858  int WINAPI WinMain(HINSTANCE hInstance, 
         file_setcd(modulefile);          file_setcd(modulefile);
         np2arg_analize(lpszCmdLine);          np2arg_analize(lpszCmdLine);
         initload();          initload();
           memdbg_readini();
           skbdwin_readini();
   
         rand_setseed((unsigned)time(NULL));          rand_setseed((unsigned)time(NULL));
   
Line 803  int WINAPI WinMain(HINSTANCE hInstance,  Line 886  int WINAPI WinMain(HINSTANCE hInstance, 
                         np2oscfg.KEYBOARD = KEY_KEY106;                          np2oscfg.KEYBOARD = KEY_KEY106;
                 }                  }
         }          }
         keystat_reset();          keystat_initialize();
   
         if (!hPreInst) {          if (!hPreInst) {
                 wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW;                  wc.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW;
Line 820  int WINAPI WinMain(HINSTANCE hInstance,  Line 903  int WINAPI WinMain(HINSTANCE hInstance, 
                         return(FALSE);                          return(FALSE);
                 }                  }
         }          }
         debugwin_initapp(hInstance);          memdbg_initialize(hInstance);
           skbdwin_initialize(hInstance);
   
         mousemng_initialize();          mousemng_initialize();
   
Line 904  int WINAPI WinMain(HINSTANCE hInstance,  Line 988  int WINAPI WinMain(HINSTANCE hInstance, 
   
         pccore_reset();          pccore_reset();
   
         debugwin_create();  
   
         np2opening = 0;          np2opening = 0;
   
           // れじうむ
   #if defined(SUPPORT_RESUME)
           if (np2oscfg.resume) {
                   int             id;
   
                   id = flagload(str_sav, str_resume, FALSE);
                   if (id == IDYES) {
                           for (i=0; i<4; i++) np2arg.disk[i] = NULL;
                   }
                   else if (id == IDCANCEL) {
                           DestroyWindow(hWnd);
                           mousemng_disable(MOUSEPROC_WINUI);
                           S98_trash();
                           pccore_term();
                           soundmng_deinitialize();
                           scrnmng_destroy();
                           TRACETERM();
                           dosio_term();
                           return(0);
                   }
           }
   #endif
   
 //      リセットしてから… コマンドラインのディスク挿入。                               // ver0.29  //      リセットしてから… コマンドラインのディスク挿入。                               // ver0.29
         for (i=0; i<4; i++) {          for (i=0; i<4; i++) {
                 if (np2arg.disk[i]) {                  if (np2arg.disk[i]) {
Line 916  int WINAPI WinMain(HINSTANCE hInstance,  Line 1021  int WINAPI WinMain(HINSTANCE hInstance, 
                 }                  }
         }          }
   
           memdbg_create();
           skbdwin_create();
   
         while(1) {          while(1) {
                 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)) {
Line 996  int WINAPI WinMain(HINSTANCE hInstance,  Line 1104  int WINAPI WinMain(HINSTANCE hInstance, 
         mousemng_disable(MOUSEPROC_WINUI);          mousemng_disable(MOUSEPROC_WINUI);
         S98_trash();          S98_trash();
   
   #if defined(SUPPORT_RESUME)
           if (np2oscfg.resume) {
                   flagsave(str_sav);
           }
           else {
                   flagdelete(str_sav);
           }
   #endif
   
         pccore_term();          pccore_term();
         debugwin_destroy();          memdbg_destroy();
           skbdwin_destroy();
   
         soundmng_deinitialize();          soundmng_deinitialize();
         scrnmng_destroy();          scrnmng_destroy();
   
         if (sys_updates & (SYS_UPDATECFG | SYS_UPDATEOSCFG)) {          if (sys_updates & (SYS_UPDATECFG | SYS_UPDATEOSCFG)) {
                 initsave();                  initsave();
                   memdbg_writeini();
                   skbdwin_writeini();
         }          }
   
           skbdwin_deinitialize();
   
         TRACETERM();          TRACETERM();
         _MEM_USED("report.txt");          _MEM_USED("report.txt");
         dosio_term();          dosio_term();

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


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