Diff for /np2/win9x/np2.cpp between versions 1.14 and 1.20

version 1.14, 2003/10/28 18:21:05 version 1.20, 2003/10/31 04:11:40
Line 28 Line 28
 #ifdef USE_ROMEO  #ifdef USE_ROMEO
 #include        "juliet.h"  #include        "juliet.h"
 #endif  #endif
   #include        "np2class.h"
 #include        "dialog.h"  #include        "dialog.h"
 #include        "memory.h"  #include        "memory.h"
 #include        "pccore.h"  #include        "pccore.h"
Line 75  static char  szClassName[] = "NP2-MainWi Line 76  static char  szClassName[] = "NP2-MainWi
                 char    fddfolder[MAX_PATH];                  char    fddfolder[MAX_PATH];
                 char    hddfolder[MAX_PATH];                  char    hddfolder[MAX_PATH];
                 char    bmpfilefolder[MAX_PATH];                  char    bmpfilefolder[MAX_PATH];
                 char    mimpideffile[MAX_PATH];  
                 char    modulefile[MAX_PATH];                  char    modulefile[MAX_PATH];
   
 static  UINT    framecnt = 0;  static  UINT    framecnt = 0;
Line 86  static BYTE np2stopemulate = 0; Line 86  static BYTE np2stopemulate = 0;
 static  int             np2opening = 1;  static  int             np2opening = 1;
 static  int             np2quitmsg = 0;  static  int             np2quitmsg = 0;
                 HMENU   hStat = NULL;                  HMENU   hStat = NULL;
   static  BYTE    scrnmode;
                   WINLOC  wl;
   
 static const char np2help[] = "np2.hlp";  static const char np2help[] = "np2.hlp";
 static const char np2resume[] = "sav";  static const char np2resume[] = "sav";
   
   
 static  BYTE    scrnmode;  
   
   static void winuienter(void) {
   
           soundmng_disable(SNDPROC_MAIN);
           scrnmng_topwinui();
   }
   
   static void winuileave(void) {
   
           scrnmng_clearwinui();
           soundmng_enable(SNDPROC_MAIN);
   }
   
 static void changescreen(BYTE newmode) {  static void changescreen(BYTE newmode) {
   
Line 107  static void changescreen(BYTE newmode) { Line 121  static void changescreen(BYTE newmode) {
                 renewal |= (change & SCRNMODE_ROTATEMASK);                  renewal |= (change & SCRNMODE_ROTATEMASK);
         }          }
         if (renewal) {          if (renewal) {
                   if (renewal & SCRNMODE_FULLSCREEN) {
                           toolwin_close();
                   }
                   else if (renewal & SCRNMODE_ROTATEMASK) {
                           toolwin_movingstart();
                   }
                 soundmng_stop();                  soundmng_stop();
                 mouse_running(MOUSE_STOP);                  mouse_running(MOUSE_STOP);
                 keydisp_destroy();                  keydisp_destroy();
Line 121  static void changescreen(BYTE newmode) { Line 141  static void changescreen(BYTE newmode) {
                         }                          }
                 }                  }
                 scrndraw_redraw();                  scrndraw_redraw();
                   if ((renewal & SCRNMODE_FULLSCREEN) &&
                           (!scrnmng_isfullscreen()) && (np2oscfg.toolwin)) {
                           toolwin_open();
                   }
                   else if (renewal & SCRNMODE_ROTATEMASK) {
                           toolwin_movingend();
                   }
                 mouse_running(MOUSE_CONT);                  mouse_running(MOUSE_CONT);
                 soundmng_play();                  soundmng_play();
         }          }
Line 154  void np2active_renewal(void) {         / Line 181  void np2active_renewal(void) {         /
   
         if (np2break & (~NP2BREAK_MAIN)) {          if (np2break & (~NP2BREAK_MAIN)) {
                 np2stopemulate = 2;                  np2stopemulate = 2;
                 soundmng_disable();                  soundmng_disable(SNDPROC_MASTER);
         }          }
         else if (np2break & NP2BREAK_MAIN) {          else if (np2break & NP2BREAK_MAIN) {
                 if (np2oscfg.background & 1) {                  if (np2oscfg.background & 1) {
Line 164  void np2active_renewal(void) {         / Line 191  void np2active_renewal(void) {         /
                         np2stopemulate = 0;                          np2stopemulate = 0;
                 }                  }
                 if (np2oscfg.background) {                  if (np2oscfg.background) {
                         soundmng_disable();                          soundmng_disable(SNDPROC_MASTER);
                 }                  }
                 else {                  else {
                         soundmng_enable();                          soundmng_enable(SNDPROC_MASTER);
                 }                  }
         }          }
         else {          else {
                 np2stopemulate = 0;                  np2stopemulate = 0;
                 soundmng_enable();                  soundmng_enable(SNDPROC_MASTER);
         }          }
 }  }
   
Line 215  static int flagload(const char *ext, con Line 242  static int flagload(const char *ext, con
         char    buf[1024];          char    buf[1024];
   
         getstatfilename(path, ext, sizeof(path));          getstatfilename(path, ext, sizeof(path));
         soundmng_stop();          winuienter();
         scrnmng_topwinui();  
         id = IDYES;          id = IDYES;
         ret = statsave_check(path, buf, sizeof(buf));          ret = statsave_check(path, buf, sizeof(buf));
         if (ret & (~NP2FLAG_DISKCHG)) {          if (ret & (~NP2FLAG_DISKCHG)) {
Line 236  static int flagload(const char *ext, con Line 262  static int flagload(const char *ext, con
         }          }
         sysmng_workclockreset();          sysmng_workclockreset();
         sysmng_updatecaption(1);          sysmng_updatecaption(1);
         scrnmng_clearwinui();          winuileave();
         soundmng_play();  
         return(id);          return(id);
 }  }
   
   
 // ---- proc  // ---- proc
   
 static void winuienter(void) {  
   
         soundmng_stop();  
         scrnmng_topwinui();  
 }  
   
 static void winuileave(void) {  
   
         scrnmng_clearwinui();  
         soundmng_play();  
 }  
   
 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 276  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 289  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                         update = 0;                          update = 0;
                         switch(wParam) {                          switch(wParam) {
                                 case IDM_TOOLWIN:                                  case IDM_TOOLWIN:
                                         toolwin_open();                                          xmenu_settoolwin(np2oscfg.toolwin ^ 1);
                                           if (np2oscfg.toolwin) {
                                                   toolwin_open();
                                           }
                                           else {
                                                   toolwin_close();
                                           }
                                           update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_SCREENCENTER:                                  case IDM_SCREENCENTER:
                                         if ((!scrnmng_isfullscreen()) &&                                          if ((!scrnmng_isfullscreen()) &&
                                                 (!(GetWindowLong(hWnd, GWL_STYLE) &                                                  (!(GetWindowLong(hWnd, GWL_STYLE) &
                                                                                         (WS_MAXIMIZE | WS_MINIMIZE)))) {                                                                                          (WS_MAXIMIZE | WS_MINIMIZE)))) {
                                                   toolwin_movingstart();
                                                 wincentering(hWnd);                                                  wincentering(hWnd);
                                                   toolwin_movingend();
                                         }                                          }
                                         break;                                          break;
   
                                 case IDM_SNAPENABLE:                                  case IDM_SNAPENABLE:
                                         xmenu_setwinsnap(np2oscfg.WINSNAP ^ 1);                                          xmenu_setwinsnap(np2oscfg.WINSNAP ^ 1);
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_BACKGROUND:                                  case IDM_BACKGROUND:
                                         xmenu_setbackground(np2oscfg.background ^ 1);                                          xmenu_setbackground(np2oscfg.background ^ 1);
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_BGSOUND:                                  case IDM_BGSOUND:
                                         xmenu_setbgsound(np2oscfg.background ^ 2);                                          xmenu_setbgsound(np2oscfg.background ^ 2);
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATEOSCFG;
                                         break;                                          break;
   
                                 case IDM_KEYDISP:                                  case IDM_KEYDISP:
Line 531  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 553  LRESULT CALLBACK WndProc(HWND hWnd, UINT
   
                                 case IDM_F12MOUSE:                                  case IDM_F12MOUSE:
                                         xmenu_setf12copy(0);                                          xmenu_setf12copy(0);
                                         keystat_resetcopyhelp();                                          winkbd_resetf12();
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_F12COPY:                                  case IDM_F12COPY:
                                         xmenu_setf12copy(1);                                          xmenu_setf12copy(1);
                                         keystat_resetcopyhelp();                                          winkbd_resetf12();
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATECFG;
                                         break;                                          break;
   
                                 case IDM_F12STOP:                                  case IDM_F12STOP:
                                         xmenu_setf12copy(2);                                          xmenu_setf12copy(2);
                                         keystat_resetcopyhelp();                                          winkbd_resetf12();
                                           update |= SYS_UPDATECFG;
                                           break;
   
                                   case IDM_F12EQU:
                                           xmenu_setf12copy(3);
                                           winkbd_resetf12();
                                           update |= SYS_UPDATECFG;
                                           break;
   
                                   case IDM_F12COMMA:
                                           xmenu_setf12copy(4);
                                           winkbd_resetf12();
                                         update |= SYS_UPDATECFG;                                          update |= SYS_UPDATECFG;
                                         break;                                          break;
   
Line 858  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 892  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                         break;                          break;
   
                 case WM_MOVE:                  case WM_MOVE:
                         toolwin_movingend();                          if (!scrnmng_isfullscreen()) {
                         if ((!scrnmng_isfullscreen()) &&                                  if (!(GetWindowLong(hWnd, GWL_STYLE) &
                                 (!(GetWindowLong(hWndMain, GWL_STYLE) &                                                                                          (WS_MAXIMIZE | WS_MINIMIZE))) {
                                                                         (WS_MAXIMIZE | WS_MINIMIZE)))) {                                          GetWindowRect(hWnd, &rc);
                                 GetWindowRect(hWnd, &rc);                                          np2oscfg.winx = rc.left;
                                 np2oscfg.winx = rc.left;                                          np2oscfg.winy = rc.top;
                                 np2oscfg.winy = rc.top;                                          sysmng_update(SYS_UPDATEOSCFG);
                                 sysmng_update(SYS_UPDATEOSCFG);                                  }
                                   if (GetWindowLong(hWnd, GWL_STYLE) & WS_MINIMIZE) {
                                           toolwin_close();
                                   }
                                   else if (np2oscfg.toolwin) {
                                           toolwin_open();
                                   }
                         }                          }
                         break;                          break;
   
Line 881  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 921  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                         break;                          break;
   
                 case WM_ENTERSIZEMOVE:                  case WM_ENTERSIZEMOVE:
                         soundmng_stop();                          soundmng_disable(SNDPROC_MAIN);
                         mouse_running(MOUSE_STOP);                          mouse_running(MOUSE_STOP);
                         winloc_movingstart();                          winloc_movingstart(&wl);
                         toolwin_movingstart();                          toolwin_movingstart();
                         break;                          break;
   
                 case WM_EXITSIZEMOVE:                  case WM_EXITSIZEMOVE:
                           toolwin_movingend();
                         mouse_running(MOUSE_CONT);                          mouse_running(MOUSE_CONT);
                         soundmng_play();                          soundmng_enable(SNDPROC_MAIN);
                         break;                          break;
   
                 case WM_MOVING:                  case WM_MOVING:
                         if (np2oscfg.WINSNAP) {                          if (np2oscfg.WINSNAP) {
                                 winloc_movingproc((RECT *)lParam);                                  winloc_movingproc(&wl, (RECT *)lParam);
                         }                          }
                         break;                          break;
   
Line 909  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 950  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                 sysmng_update(SYS_UPDATECFG);                                  sysmng_update(SYS_UPDATECFG);
                         }                          }
                         else {                          else {
                                 winkeydown106(wParam, lParam);                                  winkbd_keydown(wParam, lParam);
                         }                          }
                         break;                          break;
   
Line 918  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 959  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                 return(DefWindowProc(hWnd, WM_SYSKEYUP, VK_F10, lParam));                                  return(DefWindowProc(hWnd, WM_SYSKEYUP, VK_F10, lParam));
                         }                          }
                         if ((wParam != VK_F12) || (np2oscfg.F12COPY)) {                          if ((wParam != VK_F12) || (np2oscfg.F12COPY)) {
                                 winkeyup106(wParam, lParam);                                  winkbd_keyup(wParam, lParam);
                         }                          }
                         break;                          break;
   
Line 933  LRESULT CALLBACK WndProc(HWND hWnd, UINT Line 974  LRESULT CALLBACK WndProc(HWND hWnd, UINT
                                         break;                                          break;
                                 }                                  }
                         }                          }
                         winkeydown106(wParam, lParam);                          winkbd_keydown(wParam, lParam);
                         break;                          break;
   
                 case WM_SYSKEYUP:                  case WM_SYSKEYUP:
                         winkeyup106(wParam, lParam);                          winkbd_keyup(wParam, lParam);
                         break;                          break;
   
                 case WM_MOUSEMOVE:                  case WM_MOUSEMOVE:
Line 1086  static void processwait(UINT cnt) { Line 1127  static void processwait(UINT cnt) {
                 timing_setcount(0);                  timing_setcount(0);
                 framecnt = 0;                  framecnt = 0;
                 scrnmng_dispclock();                  scrnmng_dispclock();
                 keydisp_draw(np2oscfg.DRAW_SKIP);                  keydisp_draw((BYTE)cnt);
                   toolwin_draw((BYTE)cnt);
                 viewer_allreload(FALSE);                  viewer_allreload(FALSE);
                 if (np2oscfg.DISPCLK & 3) {                  if (np2oscfg.DISPCLK & 3) {
                         if (sysmng_workclockrenewal()) {                          if (sysmng_workclockrenewal()) {
Line 1150  int WINAPI WinMain(HINSTANCE hInstance,  Line 1192  int WINAPI WinMain(HINSTANCE hInstance, 
         }          }
         keystat_reset();          keystat_reset();
   
           np2class_initialize(hInstance);
         if (!hPreInst) {          if (!hPreInst) {
                 np2.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW;                  np2.style = CS_BYTEALIGNCLIENT | CS_HREDRAW | CS_VREDRAW;
                 np2.lpfnWndProc = WndProc;                  np2.lpfnWndProc = WndProc;
Line 1164  int WINAPI WinMain(HINSTANCE hInstance,  Line 1207  int WINAPI WinMain(HINSTANCE hInstance, 
                 if (!RegisterClass(&np2)) {                  if (!RegisterClass(&np2)) {
                         return(FALSE);                          return(FALSE);
                 }                  }
                 toolwin_initapp(hInstance);  
         }          }
           toolwin_initapp(hInstance);
         keydisp_initialize(hPreInst);          keydisp_initialize(hPreInst);
         viewer_init(hPreInst);                                                                          // ver0.30          viewer_init(hPreInst);                                                                          // ver0.30
   
         hWndMain = CreateWindowEx(0, szClassName, np2oscfg.titles,          hWndMain = CreateWindow(szClassName, np2oscfg.titles,
                                                 WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |                                                  WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION |
                                                 WS_MINIMIZEBOX,                                                  WS_MINIMIZEBOX,
                                                 np2oscfg.winx, np2oscfg.winy, 640, 400,                                                  np2oscfg.winx, np2oscfg.winy, 640, 400,
Line 1228  int WINAPI WinMain(HINSTANCE hInstance,  Line 1271  int WINAPI WinMain(HINSTANCE hInstance, 
                 EnableMenuItem(GetMenu(hWndMain), IDM_HELP, MF_GRAYED);                  EnableMenuItem(GetMenu(hWndMain), IDM_HELP, MF_GRAYED);
         }          }
   
           xmenu_settoolwin(np2oscfg.toolwin);
         xmenu_setwinsnap(np2oscfg.WINSNAP);          xmenu_setwinsnap(np2oscfg.WINSNAP);
         xmenu_setbackground(np2oscfg.background);          xmenu_setbackground(np2oscfg.background);
         xmenu_setbgsound(np2oscfg.background);          xmenu_setbgsound(np2oscfg.background);
         xmenu_setscrnmul(8);                                                                            // ver0.26          xmenu_setscrnmul(8);                                                                            // ver0.26
   
           if (np2oscfg.toolwin) {
                   toolwin_open();
           }
   
         scrnmode = 0;          scrnmode = 0;
         if (np2arg.fullscreen) {          if (np2arg.fullscreen) {
                 scrnmode |= SCRNMODE_FULLSCREEN;                  scrnmode |= SCRNMODE_FULLSCREEN;

Removed from v.1.14  
changed lines
  Added in v.1.20


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