summaryrefslogtreecommitdiff
path: root/win32/gui/WndMain.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/gui/WndMain.c')
-rw-r--r--win32/gui/WndMain.c29
1 files changed, 10 insertions, 19 deletions
diff --git a/win32/gui/WndMain.c b/win32/gui/WndMain.c
index 2e1ae141..cee6a11f 100644
--- a/win32/gui/WndMain.c
+++ b/win32/gui/WndMain.c
@@ -210,26 +210,16 @@ void RestoreWindow() {
ShowCursor(TRUE);
}
-int Slots[5] = { -1, -1, -1, -1, -1 };
-
-void ResetMenuSlots() {
- int i;
-
- for (i = 0; i < 5; i++) {
- if (Slots[i] == -1)
- EnableMenuItem(GetSubMenu(gApp.hMenu, 0), ID_FILE_STATES_LOAD_SLOT1+i, MF_GRAYED);
- else
- EnableMenuItem(GetSubMenu(gApp.hMenu, 0), ID_FILE_STATES_LOAD_SLOT1+i, MF_ENABLED);
- }
-}
-
-void UpdateMenuSlots() {
+void ResetMenuSlots() {
char str[256];
int i;
- for (i = 0; i < 5; i++) {
- GetStateFilename(str, i);
- Slots[i] = CheckState(str);
+ for (i = 0; i < 9; i++) {
+ GetStateFilename(str, i);
+ if (CheckState(str) == -1)
+ EnableMenuItem(gApp.hMenu, ID_FILE_STATES_LOAD_SLOT1+i, MF_GRAYED);
+ else
+ EnableMenuItem(gApp.hMenu, ID_FILE_STATES_LOAD_SLOT1+i, MF_ENABLED);
}
}
@@ -1603,7 +1593,9 @@ void CreateMainMenu() {
EnableMenuItem(gApp.hMenu, ID_CONFIGURATION, MF_BYCOMMAND | MF_GRAYED);
if (!UsingIso()) {
EnableMenuItem(gApp.hMenu, ID_EMULATOR_SWITCH_ISO, MF_BYCOMMAND | MF_GRAYED);
- }
+ }
+
+ ResetMenuSlots();
} else {
EnableMenuItem(gApp.hMenu, ID_EMULATOR_RESET, MF_BYCOMMAND | MF_GRAYED);
EnableMenuItem(gApp.hMenu, ID_EMULATOR_RUN, MF_BYCOMMAND | MF_GRAYED);
@@ -1662,7 +1654,6 @@ void CreateMainWindow(int nCmdShow) {
NULL);
gApp.hWnd = hWnd;
- ResetMenuSlots();
CreateMainMenu();
SetMenu(gApp.hWnd, gApp.hMenu);