|
|
|
@ -3492,7 +3492,7 @@ SaveOrLoadResult LoadWithFilter(LoadFilter *reader)
|
|
|
|
|
* @param threaded True when threaded saving is allowed
|
|
|
|
|
* @return Return the result of the action. #SL_OK, #SL_ERROR, or #SL_REINIT ("unload" the game)
|
|
|
|
|
*/
|
|
|
|
|
SaveOrLoadResult SaveOrLoad(const std::string &filename, SaveLoadOperation fop, DetailedFileType dft, Subdirectory sb, bool threaded)
|
|
|
|
|
SaveOrLoadResult SaveOrLoad(const std::string &filename, SaveLoadOperation fop, DetailedFileType dft, Subdirectory sb, bool threaded, SaveModeFlags save_flags)
|
|
|
|
|
{
|
|
|
|
|
/* An instance of saving is already active, so don't go saving again */
|
|
|
|
|
if (_sl.saveinprogress && fop == SLO_SAVE && dft == DFT_GAME_FILE && threaded) {
|
|
|
|
@ -3545,7 +3545,7 @@ SaveOrLoadResult SaveOrLoad(const std::string &filename, SaveLoadOperation fop,
|
|
|
|
|
|
|
|
|
|
default: NOT_REACHED();
|
|
|
|
|
}
|
|
|
|
|
_sl.save_flags = SMF_NONE;
|
|
|
|
|
_sl.save_flags = save_flags;
|
|
|
|
|
|
|
|
|
|
FILE *fh = (fop == SLO_SAVE) ? FioFOpenFile(filename, "wb", sb) : FioFOpenFile(filename, "rb", sb);
|
|
|
|
|
|
|
|
|
@ -3584,7 +3584,7 @@ SaveOrLoadResult SaveOrLoad(const std::string &filename, SaveLoadOperation fop,
|
|
|
|
|
/** Do a save when exiting the game (_settings_client.gui.autosave_on_exit) */
|
|
|
|
|
void DoExitSave()
|
|
|
|
|
{
|
|
|
|
|
SaveOrLoad("exit.sav", SLO_SAVE, DFT_GAME_FILE, AUTOSAVE_DIR);
|
|
|
|
|
SaveOrLoad("exit.sav", SLO_SAVE, DFT_GAME_FILE, AUTOSAVE_DIR, true, SMF_ZSTD_OK);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|