DEADSOFTWARE

turned on "SCOPEDENUMS" fpc option
[d2df-sdl.git] / src / game / g_menu.pas
index aca1dbf59939c6b399c083399728e2396f1f7daf..04f7331c5a00394ea29382d57da64604c4b7dbb4 100644 (file)
@@ -974,7 +974,7 @@ end;
 
 procedure MenuLoadData();
 begin
-  e_WriteLog('Loading menu data...', MSG_NOTIFY);
+  e_WriteLog('Loading menu data...', TMsgType.Notify);
 
   g_Texture_CreateWADEx('MAINMENU_MARKER1', GameWAD+':TEXTURES\MARKER1');
   g_Texture_CreateWADEx('MAINMENU_MARKER2', GameWAD+':TEXTURES\MARKER2');
@@ -1100,19 +1100,28 @@ end;
 procedure ProcLoadMenu();
 var
   a: Integer;
+  valid: Boolean;
 begin
   for a := 1 to 8 do
-    TGUIEdit(TGUIMenu(g_GUI_GetWindow('LoadMenu').GetControl('mmLoadMenu')).GetControl('edSlot'+IntToStr(a))).Text :=
-    g_GetSaveName(a);
+  begin
+    TGUIEdit(TGUIMenu(g_GUI_GetWindow('LoadMenu').GetControl('mmLoadMenu')).GetControl('edSlot'+IntToStr(a))).Text := g_GetSaveName(a, valid);
+    TGUIEdit(TGUIMenu(g_GUI_GetWindow('LoadMenu').GetControl('mmLoadMenu')).GetControl('edSlot'+IntToStr(a))).Invalid := not valid;
+    TGUIMenu(g_GUI_GetWindow('LoadMenu').GetControl('mmLoadMenu')).GetControl('edSlot'+IntToStr(a)).Enabled := valid;
+  end;
 end;
 
 procedure ProcSaveMenu();
 var
   a: Integer;
+  valid: Boolean;
+  name: AnsiString;
 begin
   for a := 1 to 8 do
-    TGUIEdit(TGUIMenu(g_GUI_GetWindow('SaveMenu').GetControl('mmSaveMenu')).GetControl('edSlot'+IntToStr(a))).Text :=
-    g_GetSaveName(a);
+  begin
+    name := g_GetSaveName(a, valid);
+    TGUIEdit(TGUIMenu(g_GUI_GetWindow('SaveMenu').GetControl('mmSaveMenu')).GetControl('edSlot'+IntToStr(a))).Text := name;
+    TGUIEdit(TGUIMenu(g_GUI_GetWindow('SaveMenu').GetControl('mmSaveMenu')).GetControl('edSlot'+IntToStr(a))).Invalid := (name <> '') and (not valid);
+  end;
 end;
 
 procedure ProcSaveGame(Sender: TGUIControl);
@@ -1291,7 +1300,9 @@ var
 begin
   if g_ActiveWindow.Name = 'OptionsPlayersP1Menu' then s := 'P1' else s := 'P2';
   with TGUIModelView(g_ActiveWindow.GetControl('mv'+s+'Model')).Model do
-    if Direction = D_LEFT then Direction := D_RIGHT else Direction := D_LEFT;
+  begin
+    if Direction = TDirection.D_LEFT then Direction := TDirection.D_RIGHT else Direction := TDirection.D_LEFT;
+  end;
 end;
 
 procedure ProcDefaultMenuKeyDown (yes: Boolean);
@@ -3188,7 +3199,7 @@ procedure g_Menu_Free();
 begin
   g_GUI_Destroy();
 
-  e_WriteLog('Releasing menu data...', MSG_NOTIFY);
+  e_WriteLog('Releasing menu data...', TMsgType.Notify);
 
   MenuFreeData();
 end;
@@ -3202,7 +3213,7 @@ begin
 
   if ex then
   begin
-    e_WriteLog('Recreating menu...', MSG_NOTIFY);
+    e_WriteLog('Recreating menu...', TMsgType.Notify);
 
     CreateAllMenus();