Changeset 589 for trunk/Start.pas
- Timestamp:
- Jul 24, 2024, 10:51:34 AM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Start.pas
r579 r589 6 6 uses 7 7 GameServer, Messg, ButtonBase, ButtonA, ButtonC, ButtonB, Area, Types, 8 LCLIntf, LCLType, SysUtils, Classes, BaseWin, ListBoxEx, 8 LCLIntf, LCLType, SysUtils, Classes, BaseWin, ListBoxEx, LazFileUtils, 9 9 Registry, DrawDlg, Generics.Collections, Protocol, MiniMap, Brain, Translator, 10 10 {$IFDEF DPI}System.UITypes, Dpi.Graphics, Dpi.Controls, Dpi.Forms, Dpi.StdCtrls, … … 905 905 S := Phrases.Lookup('MPMAP') 906 906 else if Page = pgStartMap then 907 S := Copy(MapFileName, 1, Length(MapFileName) - Length(CevoMapExt))907 S := ExtractFileNameOnly(MapFileName) 908 908 else if Page = pgEditMap then 909 909 S := List.Items[List.ItemIndex] … … 944 944 I: Integer; 945 945 begin 946 if FileName[1] <> '~'then947 FileName := '~' + FileName;946 if not IsAutoSaveFileName(FileName) then 947 FileName := ToAutoSaveFileName(FileName); 948 948 I := FormerGames.Count - 1; 949 while (I >= 0) and (AnsiCompareFileName(FormerGames[I], FileName) <> 0) do949 while (I >= 0) and (AnsiCompareFileName(FormerGames[I], ExtractFileNameOnly(FileName)) <> 0) do 950 950 Dec(I); 951 if I >= 0 then 952 begin 951 if I >= 0 then begin 953 952 FormerGames.Delete(I); 954 953 if ListIndex[tbNew] = I then … … 966 965 pgLoad: 967 966 begin // load 968 FileName := List.Items[List.ItemIndex];969 if LoadGame( GetSavedDir + DirectorySeparator, FileName + CevoExt, LoadTurn, False)967 FileName := GetSavedDir + DirectorySeparator + List.Items[List.ItemIndex] + CevoExt; 968 if LoadGame(FileName, LoadTurn, False) 970 969 then 971 970 UnlistBackupFile(FileName) … … 992 991 993 992 if (AutoDiff < 0) and (PlayersBrain[0].Kind = btNoTerm) then 994 FileName := 'Round' + IntToStr(GetProcessID())993 FileName := GetSavedDir + DirectorySeparator + 'Round' + IntToStr(GetProcessID()) + CevoExt 995 994 else begin 996 995 Inc(GameCount); 997 FileName := Format(Phrases.Lookup('GAME'), [GameCount]);996 FileName := GetSavedDir + DirectorySeparator + Format(Phrases.Lookup('GAME'), [GameCount]) + CevoExt; 998 997 end; 999 998 … … 1049 1048 end; 1050 1049 1051 StartNewGame( GetSavedDir + DirectorySeparator, FileName + CevoExt, MapFileName,1052 WorldSizes[WorldSize]. X, WorldSizes[WorldSize].Y, StartLandMass, MaxTurn);1050 StartNewGame(FileName, MapFileName, WorldSizes[WorldSize].X, 1051 WorldSizes[WorldSize].Y, StartLandMass, MaxTurn); 1053 1052 UnlistBackupFile(FileName); 1054 1053 end; 1055 1054 pgEditMap: 1056 EditMap( GetMapsDir + DirectorySeparator +MapFileName, lxmax, lymax, StartLandMass);1055 EditMap(MapFileName, lxmax, lymax, StartLandMass); 1057 1056 pgEditRandom: // new map 1058 1057 begin … … 1068 1067 Free; 1069 1068 end; 1070 MapFileName := Format(Phrases.Lookup('MAP'), [MapCount]) + CevoMapExt; 1071 EditMap(GetMapsDir + DirectorySeparator + MapFileName, 1072 WorldSizes[WorldSize].X, WorldSizes[WorldSize].Y, StartLandMass); 1069 MapFileName := GetMapsDir + DirectorySeparator + Format(Phrases.Lookup('MAP'), 1070 [MapCount]) + CevoMapExt; 1071 EditMap(MapFileName, WorldSizes[WorldSize].X, WorldSizes[WorldSize].Y, 1072 StartLandMass); 1073 1073 end; 1074 1074 end; … … 1120 1120 if Page = pgEditMap then begin 1121 1121 if List.ItemIndex >= 0 then 1122 MapFileName := List.Items[List.ItemIndex] + CevoMapExt1122 MapFileName := GetMapsDir + DirectorySeparator + List.Items[List.ItemIndex] + CevoMapExt 1123 1123 else Exit; 1124 1124 end; 1125 MiniMap.LoadFromMapFile(GetMapsDir + DirectorySeparator + MapFileName, 1126 nMapLandTiles, nMapStartPositions); 1125 MiniMap.LoadFromMapFile(MapFileName, nMapLandTiles, nMapStartPositions); 1127 1126 if Page = pgEditMap then 1128 1127 SmartInvalidate(x0Mini - 112, y0Mini + 61, x0Mini + 112, y0Mini + 91); … … 1296 1295 while (I > 0) and (F.Time < Integer(FormerGames.Objects[I - 1])) do 1297 1296 Dec(I); 1298 FormerGames.InsertObject(I, Copy(F.Name, 1, Length(F.Name) - 5),1297 FormerGames.InsertObject(I, ExtractFileNameOnly(F.Name), 1299 1298 TObject(F.Time)); 1300 1299 until FindNext(F) <> 0; … … 1318 1317 Maps.Sort; 1319 1318 Maps.Insert(0, Phrases.Lookup('RANMAP')); 1320 ListIndex[tbMain] := Maps.IndexOf( Copy(MapFileName, 1, Length(MapFileName) - Length(CevoMapExt)));1319 ListIndex[tbMain] := Maps.IndexOf(ExtractFileNameOnly(MapFileName)); 1321 1320 if ListIndex[tbMain] < 0 then 1322 1321 ListIndex[tbMain] := 0; … … 1661 1660 InputDlg.ShowModal; 1662 1661 NewName := InputDlg.EditInput.Text; 1663 while (NewName <> '') and (NewName[1] = '~') do1662 while IsAutoSaveFileName(NewName) do 1664 1663 Delete(NewName, 1, 1); 1665 1664 if (InputDlg.ModalResult = mrOK) and (NewName <> '') and … … 1936 1935 procedure TStartDlg.ReplayBtnClick(Sender: TObject); 1937 1936 begin 1938 LoadGame(GetSavedDir + DirectorySeparator ,List.Items[List.ItemIndex] + CevoExt,1937 LoadGame(GetSavedDir + DirectorySeparator + List.Items[List.ItemIndex] + CevoExt, 1939 1938 LastTurn, True); 1940 1939 SlotAvailable := -1;
Note:
See TracChangeset
for help on using the changeset viewer.