mirror of
https://github.com/kichikuou/system3-sdl2.git
synced 2026-10-06 22:07:56 +03:00
Windows: Add a menu command to control automatic mouse movement
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
+12
-5
@@ -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:
|
||||
|
||||
+8
-7
@@ -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_
|
||||
|
||||
+18
-12
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user