diff --git a/src/sys/nact.h b/src/sys/nact.h index a3b0a6e..c9ae8d0 100644 --- a/src/sys/nact.h +++ b/src/sys/nact.h @@ -268,6 +268,7 @@ public: void set_skip_menu_state(bool enabled, bool checked); bool text_wait_enb; // テキスト表示のウェイト有効/無効 + bool mouse_move_enabled = true; int sys_ver; uint32 crc32_a; // ADISK uint32 crc32_b; // BDISK for D.P.S -SG- and Super D.P.S diff --git a/src/sys/nact_input.cpp b/src/sys/nact_input.cpp index 8f714a8..17ef665 100644 --- a/src/sys/nact_input.cpp +++ b/src/sys/nact_input.cpp @@ -114,6 +114,8 @@ void NACT::get_cursor(int* x, int* y) void NACT::set_cursor(int x, int y) { + if (!mouse_move_enabled) + return; ags->translate_mouse_coords(&x, &y); SDL_WarpMouseInWindow(g_window, x, y); } diff --git a/src/win/nact_win.cpp b/src/win/nact_win.cpp index b36c477..f4a6ed7 100644 --- a/src/win/nact_win.cpp +++ b/src/win/nact_win.cpp @@ -21,13 +21,15 @@ HWND get_hwnd(SDL_Window* window) { return info.info.win.window; } -void init_menu() +void init_menu(bool mouse_move_enabled) { HINSTANCE hinst = (HINSTANCE)GetModuleHandle(NULL); HMENU hmenu = LoadMenu(hinst, MAKEINTRESOURCE(IDR_MENU1)); SetMenu(get_hwnd(g_window), hmenu); // Let SDL recalc the window size, taking menu height into account. SDL_SetWindowSize(g_window, 640, 400); + if (mouse_move_enabled) + CheckMenuItem(hmenu, ID_OPTION_MOUSE_MOVE, MF_BYCOMMAND | MFS_CHECKED); } void init_console(int sys_ver) @@ -129,7 +131,7 @@ void NACT::text_dialog() void NACT::platform_initialize() { - init_menu(); + init_menu(mouse_move_enabled); init_console(sys_ver); SDL_EventState(SDL_SYSWMEVENT, SDL_ENABLE); } @@ -188,13 +190,18 @@ bool NACT::handle_platform_event(const SDL_Event& e) SDL_SetWindowFullscreen(g_window, SDL_WINDOW_FULLSCREEN_DESKTOP); ags->flush_screen(true); break; - case ID_SOUND_FM: + case ID_OPTION_MOUSE_MOVE: + mouse_move_enabled = !mouse_move_enabled; + CheckMenuItem(GetMenu(get_hwnd(g_window)), ID_OPTION_MOUSE_MOVE, + MF_BYCOMMAND | mouse_move_enabled ? MFS_CHECKED : MFS_UNCHECKED); + break; + case ID_OPTION_FM: mako->select_sound(BGM_FM); break; - case ID_SOUND_MIDI: + case ID_OPTION_MIDI: mako->select_sound(BGM_MIDI); break; - case ID_SOUND_CD: + case ID_OPTION_CD: mako->select_sound(BGM_CD); break; case ID_TEXT_SKIP: diff --git a/src/win/resource.h b/src/win/resource.h index 21ba45e..d8234f3 100644 --- a/src/win/resource.h +++ b/src/win/resource.h @@ -22,12 +22,13 @@ #define ID_SCREENSHOT 40000 #define ID_RESTART 40001 #define ID_EXIT 40002 -#define ID_SCREEN_WINDOW 40003 -#define ID_SCREEN_FULL 40004 -#define ID_SOUND_FM 40005 -#define ID_SOUND_MIDI 40006 -#define ID_SOUND_CD 40007 -#define ID_TEXT_SKIP 40008 -#define ID_TEXT_WAIT 40009 +#define ID_SCREEN_WINDOW 40010 +#define ID_SCREEN_FULL 40011 +#define ID_OPTION_MOUSE_MOVE 40020 +#define ID_OPTION_FM 40021 +#define ID_OPTION_MIDI 40022 +#define ID_OPTION_CD 40023 +#define ID_TEXT_SKIP 40030 +#define ID_TEXT_WAIT 40031 #endif // _RESOURCE_H_ diff --git a/src/win/resource.rc b/src/win/resource.rc index 1a09213..d4ebd31 100644 --- a/src/win/resource.rc +++ b/src/win/resource.rc @@ -98,11 +98,13 @@ BEGIN MENUITEM "Window", ID_SCREEN_WINDOW MENUITEM "Fullscreen", ID_SCREEN_FULL END - POPUP "Sound" + POPUP "Option" BEGIN - MENUITEM "FM Sound", ID_SOUND_FM - MENUITEM "MIDI Sound", ID_SOUND_MIDI - MENUITEM "CD Audio", ID_SOUND_CD + MENUITEM "Mouse Movement", ID_OPTION_MOUSE_MOVE + MENUITEM SEPARATOR + MENUITEM "FM Sound", ID_OPTION_FM + MENUITEM "MIDI Sound", ID_OPTION_MIDI + MENUITEM "CD Audio", ID_OPTION_CD END POPUP "Message" BEGIN @@ -152,11 +154,13 @@ BEGIN MENUITEM "ウィンドウ", ID_SCREEN_WINDOW MENUITEM "フルスクリーン", ID_SCREEN_FULL END - POPUP "サウンド" + POPUP "オプション" BEGIN - MENUITEM "FM音源", ID_SOUND_FM - MENUITEM "MIDI音源", ID_SOUND_MIDI - MENUITEM "CD音源", ID_SOUND_CD + MENUITEM "マウスカーソル移動", ID_OPTION_MOUSE_MOVE + MENUITEM SEPARATOR + MENUITEM "FM音源", ID_OPTION_FM + MENUITEM "MIDI音源", ID_OPTION_MIDI + MENUITEM "CD音源", ID_OPTION_CD END POPUP "メッセージ" BEGIN @@ -206,11 +210,13 @@ BEGIN MENUITEM "窗口化", ID_SCREEN_WINDOW MENUITEM "全屏化", ID_SCREEN_FULL END - POPUP "音源" + POPUP "选项" BEGIN - MENUITEM "FM 音源", ID_SOUND_FM - MENUITEM "MIDI 音源", ID_SOUND_MIDI - MENUITEM "CD 音源", ID_SOUND_CD + MENUITEM "Mouse Movement", ID_OPTION_MOUSE_MOVE + MENUITEM SEPARATOR + MENUITEM "FM 音源", ID_OPTION_FM + MENUITEM "MIDI 音源", ID_OPTION_MIDI + MENUITEM "CD 音源", ID_OPTION_CD END POPUP "消息" BEGIN