--- np2/win9xc/np2.cpp 2003/10/26 08:59:53 1.6 +++ np2/win9xc/np2.cpp 2004/01/30 14:33:28 1.15 @@ -1,6 +1,8 @@ #include "compiler.h" #include +#ifndef __GNUC__ #include +#endif #include "strres.h" #include "parts.h" #include "resource.h" @@ -47,15 +49,19 @@ static char np2help[] = "np2.hlp"; static char np2resume[] = "sav"; -static const char szAppCaption[] = "Neko Project II - C version"; +#if defined(CPUCORE_IA32) + const char szAppCaption[] = "Neko Project II (IA-32)"; +#else + const char szAppCaption[] = "Neko Project II (C Version)"; +#endif static const char szClassName[] = "NP2-MainWindow"; NP2OSCFG np2oscfg = { - CW_USEDEFAULT, CW_USEDEFAULT, 0, 2, + CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, KEY_UNKNOWN, 0, 0, 0, 0, {1, 2, 2, 1}, - 0}; + 0, 0}; HWND hWndMain; HINSTANCE hInst; @@ -133,8 +139,9 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT switch (msg) { case WM_CREATE: +#ifndef __GNUC__ WINNLSEnableIME(hWnd, FALSE); -// DragAcceptFiles(hWnd, TRUE); +#endif break; case WM_SYSCOMMAND: @@ -300,47 +307,65 @@ 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; + winkbd_resetf12(); + update |= SYS_UPDATEOSCFG; break; case IDM_F12COPY: xmenu_setf12copy(1); - keystat_resetcopyhelp(); - update |= SYS_UPDATECFG; + winkbd_resetf12(); + update |= SYS_UPDATEOSCFG; break; case IDM_F12STOP: xmenu_setf12copy(2); - keystat_resetcopyhelp(); - update |= SYS_UPDATECFG; + winkbd_resetf12(); + update |= SYS_UPDATEOSCFG; + break; + + case IDM_F12EQU: + xmenu_setf12copy(3); + winkbd_resetf12(); + update |= SYS_UPDATEOSCFG; + break; + + case IDM_F12COMMA: + xmenu_setf12copy(4); + winkbd_resetf12(); + update |= SYS_UPDATEOSCFG; break; case IDM_BEEPOFF: @@ -368,66 +393,38 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT break; case IDM_NOSOUND: - xmenu_setsound(0); + xmenu_setsound(0x00); update |= SYS_UPDATECFG; break; case IDM_PC9801_14: - xmenu_setsound(1); + xmenu_setsound(0x01); update |= SYS_UPDATECFG; break; case IDM_PC9801_26K: - { - BYTE sw; - sw = np2cfg.SOUND_SW; - if (sw & 4) { - sw &= 6; - sw ^= 2; - } - else { - sw = 2; - } - xmenu_setsound(sw); - update |= SYS_UPDATECFG; - } + xmenu_setsound(0x02); + update |= SYS_UPDATECFG; break; case IDM_PC9801_86: - { - BYTE sw; - sw = np2cfg.SOUND_SW; - if (sw & 2) { - sw &= 6; - sw ^= 4; - } - else if (!(sw & 4)) { - sw = 4; - } - xmenu_setsound(sw); - update |= SYS_UPDATECFG; - } + xmenu_setsound(0x04); + update |= SYS_UPDATECFG; break; - case IDM_PC9801_118: - xmenu_setsound(8); + case IDM_PC9801_26_86: + xmenu_setsound(0x06); update |= SYS_UPDATECFG; break; - case IDM_CHIBIOTO: - { - BYTE sw; - sw = np2cfg.SOUND_SW; - if (sw & 4) { - sw &= 0x14; - sw ^= 0x10; - } - else { - sw = 0x14; - } - xmenu_setsound(sw); - update |= SYS_UPDATECFG; - } + case IDM_PC9801_86_CB: + xmenu_setsound(0x14); + update |= SYS_UPDATECFG; + break; + + case IDM_PC9801_118: + xmenu_setsound(0x08); + update |= SYS_UPDATECFG; break; case IDM_SPEAKBOARD: @@ -445,13 +442,12 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT update |= SYS_UPDATECFG; break; - case IDM_SNDOPT: - winuienter(); - dialog_sndopt(hWnd); - winuileave(); + case IDM_JASTSOUND: + xmenu_setjastsound(np2oscfg.jastsnd ^ 1); + update |= SYS_UPDATEOSCFG; break; - case IDM_SEEKSND: + case IDM_SEEKWAIT: xmenu_setmotorflg(np2cfg.MOTOR ^ 1); update |= SYS_UPDATECFG; break; @@ -495,6 +491,12 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT pc9861k_midipanic(); break; + case IDM_SNDOPT: + winuienter(); + dialog_sndopt(hWnd); + winuileave(); + break; + case IDM_BMPSAVE: winuienter(); dialog_writebmp(hWnd); @@ -643,7 +645,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT sysmng_update(SYS_UPDATECFG); } else { - winkeydown106(wParam, lParam); + winkbd_keydown(wParam, lParam); } break; case WM_KEYUP: @@ -651,16 +653,16 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT return(DefWindowProc(hWnd, WM_SYSKEYUP, VK_F10, lParam)); } if ((wParam != VK_F12) || (np2oscfg.F12COPY)) { - winkeyup106(wParam, lParam); + winkbd_keyup(wParam, lParam); } break; case WM_SYSKEYDOWN: - winkeydown106(wParam, lParam); + winkbd_keydown(wParam, lParam); break; case WM_SYSKEYUP: - winkeyup106(wParam, lParam); + winkbd_keyup(wParam, lParam); break; case WM_LBUTTONDOWN: @@ -725,12 +727,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); @@ -752,7 +759,7 @@ int WINAPI WinMain(HINSTANCE hInstance, GetModuleFileName(NULL, modulefile, sizeof(modulefile)); dosio_init(); file_setcd(modulefile); - np2arg_analize(lpszCmdLine); // タイミング修正 // ver0.29 + np2arg_analize(lpszCmdLine); initload(); rand_setseed((unsigned)time(NULL)); @@ -791,7 +798,7 @@ int WINAPI WinMain(HINSTANCE hInstance, np2.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)); np2.hCursor = LoadCursor(NULL, IDC_ARROW); np2.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); - np2.lpszMenuName = MAKEINTRESOURCE(IDM_MAIN); + np2.lpszMenuName = MAKEINTRESOURCE(IDR_MAIN); np2.lpszClassName = szClassName; if (!RegisterClass(&np2)) { return(FALSE); @@ -806,24 +813,27 @@ int WINAPI WinMain(HINSTANCE hInstance, scrnmng_initialize(); - xmenu_setsound(np2cfg.SOUND_SW); - xmenu_setbeepvol(np2cfg.BEEP_VOL); - xmenu_setkey(0); - xmenu_setbtnrapid(np2cfg.BTN_RAPID); - xmenu_setbtnmode(np2cfg.BTN_MODE); - xmenu_setmsrapid(np2cfg.MOUSERAPID); + xmenu_setroltate(0); + xmenu_setdispmode(np2cfg.DISPSYNC); + xmenu_setraster(np2cfg.RASTER); xmenu_setwaitflg(np2oscfg.NOWAIT); xmenu_setframe(np2oscfg.DRAW_SKIP); - xmenu_setdispmode(np2cfg.DISPSYNC); - xmenu_seti286save(np2oscfg.I286SAVE); - xmenu_setmotorflg(np2cfg.MOTOR); - xmenu_setroltate(0); + + xmenu_setkey(0); xmenu_setxshift(0); 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_setraster(np2cfg.RASTER); xmenu_setmouse(np2oscfg.MOUSE_SW); + xmenu_setbtnmode(np2cfg.BTN_MODE); + xmenu_setbtnrapid(np2cfg.BTN_RAPID); + xmenu_setmsrapid(np2cfg.MOUSERAPID); + xmenu_seti286save(np2oscfg.I286SAVE); + ShowWindow(hWndMain, nCmdShow); UpdateWindow(hWndMain); @@ -951,7 +961,7 @@ int WINAPI WinMain(HINSTANCE hInstance, else { timing_setcount(cnt - framecnt); } - processwait(0); + framereset(); } } else {