|
|
| version 1.24, 2003/11/04 15:44:59 | version 1.31, 2003/11/21 06:51:14 |
|---|---|
| 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 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 1085 LRESULT CALLBACK WndProc(HWND hWnd, UINT | Line 1082 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 1111 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 1133 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 1203 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); |
| Line 1235 int WINAPI WinMain(HINSTANCE hInstance, | Line 1240 int WINAPI WinMain(HINSTANCE hInstance, |
| 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)); |
| Line 1292 int WINAPI WinMain(HINSTANCE hInstance, | Line 1299 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 1395 int WINAPI WinMain(HINSTANCE hInstance, | Line 1402 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 1418 int WINAPI WinMain(HINSTANCE hInstance, | Line 1427 int WINAPI WinMain(HINSTANCE hInstance, |
| toolwin_create(); | toolwin_create(); |
| } | } |
| if (np2oscfg.keydisp) { | if (np2oscfg.keydisp) { |
| keydisp_create(); | kdispwin_create(); |
| } | } |
| } | } |
| Line 1428 int WINAPI WinMain(HINSTANCE hInstance, | Line 1437 int WINAPI WinMain(HINSTANCE hInstance, |
| 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; |
| } | } |
| Line 1524 int WINAPI WinMain(HINSTANCE hInstance, | Line 1533 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 1553 int WINAPI WinMain(HINSTANCE hInstance, |
| } | } |
| } | } |
| toolwin_destroy(); | toolwin_destroy(); |
| kdispwin_destroy(); | |
| pccore_cfgupdate(); | pccore_cfgupdate(); |
| Line 1551 int WINAPI WinMain(HINSTANCE hInstance, | Line 1561 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 1584 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 |