I like the capability to quickly save the game by the press of one single key. Too bad there is only one single quick save slot. Unless...
Please find below, as a suggestion to the game developers, a small modificaiton to the source code that enables multiple quick save slots.
public bool /* SaveGameMetadata. */ IsQuickSave() {
//return Path.GetFileNameWithoutExtension(FileName).EndsWith("quicksave");
return FileName.Contains(" quicksave");
}
public static bool /* SaveLoadUtils. */ IsQuickSave(string filename) {
//return Path.GetFileNameWithoutExtension(filename).EndsWith("quicksave");
return filename.Contains(" quicksave");
}
public static string /* SaveLoadUtils. */ GetQuicksaveFileName() {
// return GetSpecialSaveFileName("quicksave", includeMapName: false);
return GetQuicksaveFileName(newFile: false);
}
public static string /* SaveLoadUtils. */ GetQuicksaveFileName(bool newFile) {
string baseFileName = GetSpecialSaveFileName("quicksave", includeMapName: false);
string fileName = baseFileName, nextFileName = baseFileName;
for (int i = 0; ; i++) {
if (i > 0) nextFileName = baseFileName.Replace(" quicksave", " quicksave_" + i);
if (!File.Exists(FileUtility.CombinePath(SaveGamePath, nextFileName)))
return newFile ? nextFileName : fileName;
fileName = nextFileName;
}
}
public static string /* SaveLoadManager. */ SaveGame(SaveGameType saveGameType, string userSaveName = "") {
//..
// string saveGameFileName = SaveLoadUtils.GetSaveGameNameFromType(saveGameType);
string saveGameFileName = (saveGameType == SaveGameType.Quicksave)
? SaveLoadUtils.GetQuicksaveFileName(newFile: true)
: SaveLoadUtils.GetSaveGameNameFromType(saveGameType);
//..
}
I have patched Assembly-CSharp.dll in my game installation with the above patch, and I'm quite happy with the result!