--- np2/win9xc/np2.cpp 2003/10/26 08:59:53 1.6 +++ np2/win9xc/np2.cpp 2003/11/15 07:10:03 1.9 @@ -300,47 +300,53 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT case IDM_KEY: xmenu_setkey(0); + update |= SYS_UPDATECFG; break; case IDM_JOY1: xmenu_setkey(1); + update |= SYS_UPDATECFG; break; case IDM_JOY2: xmenu_setkey(2); + update |= SYS_UPDATECFG; break; case IDM_XSHIFT: xmenu_setxshift(np2cfg.XSHIFT ^ 1); keystat_forcerelease(0x70); + update |= SYS_UPDATECFG; break; case IDM_XCTRL: xmenu_setxshift(np2cfg.XSHIFT ^ 2); keystat_forcerelease(0x74); + update |= SYS_UPDATECFG; break; case IDM_XGRPH: xmenu_setxshift(np2cfg.XSHIFT ^ 4); keystat_forcerelease(0x73); + update |= SYS_UPDATECFG; break; case IDM_F12MOUSE: xmenu_setf12copy(0); keystat_resetcopyhelp(); - update |= SYS_UPDATECFG; + update |= SYS_UPDATEOSCFG; break; case IDM_F12COPY: xmenu_setf12copy(1); keystat_resetcopyhelp(); - update |= SYS_UPDATECFG; + update |= SYS_UPDATEOSCFG; break; case IDM_F12STOP: xmenu_setf12copy(2); keystat_resetcopyhelp(); - update |= SYS_UPDATECFG; + update |= SYS_UPDATEOSCFG; break; case IDM_BEEPOFF: @@ -725,12 +731,17 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT return(0L); } +static void framereset(void) { + + framecnt = 0; + sysmng_updatecaption(); +} static void processwait(UINT waitcnt) { if (timing_getcount() >= waitcnt) { timing_setcount(0); - framecnt = 0; + framereset(); } else { Sleep(1); @@ -951,7 +962,7 @@ int WINAPI WinMain(HINSTANCE hInstance, else { timing_setcount(cnt - framecnt); } - processwait(0); + framereset(); } } else {