Disable the native debugger when RetroAchievements hardcore mode is enabled

This commit is contained in:
Henrik Rydgård
2024-11-10 19:19:03 +01:00
parent 9056fea501
commit a8744f5992
4 changed files with 50 additions and 13 deletions
+17 -12
View File
@@ -85,11 +85,13 @@ namespace MainWindow {
}
}
UINT menuEnable = menuEnableBool ? MF_ENABLED : MF_GRAYED;
UINT loadStateEnable = loadStateEnableBool ? MF_ENABLED : MF_GRAYED;
UINT saveStateEnable = saveStateEnableBool ? MF_ENABLED : MF_GRAYED;
UINT menuInGameEnable = state == UISTATE_INGAME ? MF_ENABLED : MF_GRAYED;
UINT umdSwitchEnable = state == UISTATE_INGAME && getUMDReplacePermit() ? MF_ENABLED : MF_GRAYED;
const UINT menuEnable = menuEnableBool ? MF_ENABLED : MF_GRAYED;
const UINT loadStateEnable = loadStateEnableBool ? MF_ENABLED : MF_GRAYED;
const UINT saveStateEnable = saveStateEnableBool ? MF_ENABLED : MF_GRAYED;
const UINT menuInGameEnable = state == UISTATE_INGAME ? MF_ENABLED : MF_GRAYED;
const UINT umdSwitchEnable = state == UISTATE_INGAME && getUMDReplacePermit() ? MF_ENABLED : MF_GRAYED;
const UINT debugEnable = !Achievements::HardcoreModeActive() ? MF_ENABLED : MF_GRAYED;
const UINT debugIngameEnable = (state == UISTATE_INGAME && !Achievements::HardcoreModeActive()) ? MF_ENABLED : MF_GRAYED;
EnableMenuItem(menu, ID_FILE_SAVESTATE_SLOT_MENU, saveStateEnable);
EnableMenuItem(menu, ID_FILE_SAVESTATEFILE, saveStateEnable);
@@ -101,15 +103,18 @@ namespace MainWindow {
EnableMenuItem(menu, ID_EMULATION_RESET, menuEnable);
EnableMenuItem(menu, ID_EMULATION_SWITCH_UMD, umdSwitchEnable);
EnableMenuItem(menu, ID_EMULATION_CHAT, g_Config.bEnableNetworkChat ? menuInGameEnable : MF_GRAYED);
EnableMenuItem(menu, ID_TOGGLE_BREAK, menuEnable);
EnableMenuItem(menu, ID_DEBUG_LOADMAPFILE, menuEnable);
EnableMenuItem(menu, ID_DEBUG_SAVEMAPFILE, menuEnable);
EnableMenuItem(menu, ID_DEBUG_LOADSYMFILE, menuEnable);
EnableMenuItem(menu, ID_DEBUG_SAVESYMFILE, menuEnable);
EnableMenuItem(menu, ID_DEBUG_RESETSYMBOLTABLE, menuEnable);
EnableMenuItem(menu, ID_DEBUG_SHOWDEBUGSTATISTICS, menuInGameEnable);
EnableMenuItem(menu, ID_TOGGLE_BREAK, debugIngameEnable);
EnableMenuItem(menu, ID_DEBUG_LOADMAPFILE, debugIngameEnable);
EnableMenuItem(menu, ID_DEBUG_SAVEMAPFILE, debugIngameEnable);
EnableMenuItem(menu, ID_DEBUG_LOADSYMFILE, debugIngameEnable);
EnableMenuItem(menu, ID_DEBUG_SAVESYMFILE, debugIngameEnable);
EnableMenuItem(menu, ID_DEBUG_RESETSYMBOLTABLE, debugIngameEnable);
EnableMenuItem(menu, ID_DEBUG_SHOWDEBUGSTATISTICS, debugEnable);
EnableMenuItem(menu, ID_DEBUG_EXTRACTFILE, menuEnable);
EnableMenuItem(menu, ID_DEBUG_MEMORYBASE, menuInGameEnable);
EnableMenuItem(menu, ID_DEBUG_DISASSEMBLY, debugEnable);
EnableMenuItem(menu, ID_DEBUG_MEMORYVIEW, debugEnable);
EnableMenuItem(menu, ID_DEBUG_GEDEBUGGER, debugEnable);
// While playing, this pop up doesn't work - and probably doesn't make sense.
EnableMenuItem(menu, ID_OPTIONS_LANGUAGE, state == UISTATE_INGAME ? MF_GRAYED : MF_ENABLED);