|
|
| version 1.18, 2004/02/29 03:10:03 | version 1.26, 2004/03/23 18:34:05 |
|---|---|
| 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 "dialog.h" | #include "dialog.h" |
| #include "cpucore.h" | #include "cpucore.h" |
| #include "pccore.h" | #include "pccore.h" |
| Line 56 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 123 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 443 static void np2cmd(HWND hWnd, UINT16 cmd | Line 512 static void np2cmd(HWND hWnd, UINT16 cmd |
| update |= SYS_UPDATECFG; | update |= SYS_UPDATECFG; |
| break; | break; |
| case IDM_MEM116: | |
| xmenu_setextmem(11); | |
| update |= SYS_UPDATECFG; | |
| break; | |
| case IDM_MEM136: | |
| xmenu_setextmem(13); | |
| update |= SYS_UPDATECFG; | |
| break; | |
| case IDM_MOUSE: | case IDM_MOUSE: |
| mousemng_toggle(MOUSEPROC_SYSTEM); | mousemng_toggle(MOUSEPROC_SYSTEM); |
| xmenu_setmouse(np2oscfg.MOUSE_SW ^ 1); | xmenu_setmouse(np2oscfg.MOUSE_SW ^ 1); |
| Line 614 LRESULT CALLBACK WndProc(HWND hWnd, UINT | Line 693 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 733 static void framereset(void) { | Line 818 static void framereset(void) { |
| framecnt = 0; | framecnt = 0; |
| sysmng_updatecaption(); | sysmng_updatecaption(); |
| debugwin_process(); | |
| } | } |
| static void processwait(UINT cnt) { | static void processwait(UINT cnt) { |
| Line 808 int WINAPI WinMain(HINSTANCE hInstance, | Line 894 int WINAPI WinMain(HINSTANCE hInstance, |
| return(FALSE); | return(FALSE); |
| } | } |
| } | } |
| debugwin_initapp(hInstance); | |
| mousemng_initialize(); | mousemng_initialize(); |
| Line 891 int WINAPI WinMain(HINSTANCE hInstance, | Line 978 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 981 int WINAPI WinMain(HINSTANCE hInstance, | Line 1093 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(); | |
| soundmng_deinitialize(); | soundmng_deinitialize(); |
| scrnmng_destroy(); | scrnmng_destroy(); |