diff --git a/src/game/g_menu.pas b/src/game/g_menu.pas
index a84251949474de22ad1a163b41c767f5eb2d52e0..04f7331c5a00394ea29382d57da64604c4b7dbb4 100644 (file)
--- a/src/game/g_menu.pas
+++ b/src/game/g_menu.pas
e_log, SysUtils, CONFIG, g_playermodel, DateUtils,
MAPDEF, wadreader, Math, g_saveload,
e_texture, GL, GLExt, g_language,
- g_net, g_netmsg, g_netmaster, g_items, e_input;
+ g_net, g_netmsg, g_netmaster, g_items, e_input,
+ utils;
type TYNCallback = procedure (yes:Boolean);
Map := TGUILabel(GetControl('lbMap')).Text;
if Map = '' then
Exit;
- if Pos(':\', Map) = 0 then
+ if not isWadPath(Map) then
Exit;
GameMode := TGUISwitch(GetControl('swGameMode')).ItemIndex+1;
Map := TGUILabel(GetControl('lbMap')).Text;
if Map = '' then
Exit;
- if Pos(':\', Map) = 0 then
+ if not isWadPath(Map) then
Exit;
GameMode := TGUISwitch(GetControl('swGameMode')).ItemIndex+1;
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');
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);
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);
begin
g_GUI_Destroy();
- e_WriteLog('Releasing menu data...', MSG_NOTIFY);
+ e_WriteLog('Releasing menu data...', TMsgType.Notify);
MenuFreeData();
end;
if ex then
begin
- e_WriteLog('Recreating menu...', MSG_NOTIFY);
+ e_WriteLog('Recreating menu...', TMsgType.Notify);
CreateAllMenus();