Changeset - r10489:56d60b4765b1
[Not reviewed]
master
0 2 0
rubidium - 16 years ago 2008-12-26 18:24:05
rubidium@openttd.org
(svn r14744) -Fix [FS#2474]: don't tell loading a savegame failed in two distinct ways.
2 files changed with 14 insertions and 19 deletions:
0 comments (0 inline, 0 general)
src/openttd.cpp
Show inline comments
 
@@ -799,9 +799,8 @@ static void StartScenario()
 
	/* invalid type */
 
	if (_file_to_saveload.mode == SL_INVALID) {
 
		DEBUG(sl, 0, "Savegame is obsolete or invalid format: '%s'", _file_to_saveload.name);
 
		SetDParam(0, STR_JUST_RAW_STRING);
 
		SetDParamStr(1, GetSaveLoadErrorString());
 
		ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
 
		SetDParamStr(0, GetSaveLoadErrorString());
 
		ShowErrorMessage(INVALID_STRING_ID, STR_JUST_RAW_STRING, 0, 0);
 
		_game_mode = GM_MENU;
 
		return;
 
	}
 
@@ -816,9 +815,8 @@ static void StartScenario()
 
	/* Load game */
 
	if (SaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, SCENARIO_DIR) != SL_OK) {
 
		LoadIntroGame();
 
		SetDParam(0, STR_JUST_RAW_STRING);
 
		SetDParamStr(1, GetSaveLoadErrorString());
 
		ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
 
		SetDParamStr(0, GetSaveLoadErrorString());
 
		ShowErrorMessage(INVALID_STRING_ID, STR_JUST_RAW_STRING, 0, 0);
 
	}
 

	
 
	_settings_game.difficulty = _settings_newgame.difficulty;
 
@@ -929,9 +927,8 @@ void SwitchMode(int new_mode)
 

	
 
			if (!SafeSaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, GM_NORMAL, NO_DIRECTORY)) {
 
				LoadIntroGame();
 
				SetDParam(0, STR_JUST_RAW_STRING);
 
				SetDParamStr(1, GetSaveLoadErrorString());
 
				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
 
				SetDParamStr(0, GetSaveLoadErrorString());
 
				ShowErrorMessage(INVALID_STRING_ID, STR_JUST_RAW_STRING, 0, 0);
 
			} else {
 
				if (_saveload_mode == SLD_LOAD_SCENARIO) {
 
					StartupEngines();
 
@@ -971,9 +968,8 @@ void SwitchMode(int new_mode)
 
				SetLocalCompany(OWNER_NONE);
 
				_settings_newgame.game_creation.starting_year = _cur_year;
 
			} else {
 
				SetDParam(0, STR_JUST_RAW_STRING);
 
				SetDParamStr(1, GetSaveLoadErrorString());
 
				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
 
				SetDParamStr(0, GetSaveLoadErrorString());
 
				ShowErrorMessage(INVALID_STRING_ID, STR_JUST_RAW_STRING, 0, 0);
 
			}
 
			break;
 
		}
 
@@ -986,9 +982,8 @@ void SwitchMode(int new_mode)
 
			/* Make network saved games on pause compatible to singleplayer */
 
			if (_networking && _pause_game == 1) _pause_game = 2;
 
			if (SaveOrLoad(_file_to_saveload.name, SL_SAVE, NO_DIRECTORY) != SL_OK) {
 
				SetDParam(0, STR_JUST_RAW_STRING);
 
				SetDParamStr(1, GetSaveLoadErrorString());
 
				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
 
				SetDParamStr(0, GetSaveLoadErrorString());
 
				ShowErrorMessage(INVALID_STRING_ID, STR_JUST_RAW_STRING, 0, 0);
 
			} else {
 
				DeleteWindowById(WC_SAVELOAD, 0);
 
			}
src/saveload.cpp
Show inline comments
 
@@ -1551,7 +1551,7 @@ const char *GetSaveLoadErrorString()
 
static void SaveFileError()
 
{
 
	SetDParamStr(0, GetSaveLoadErrorString());
 
	ShowErrorMessage(STR_012D, STR_NULL, 0, 0);
 
	ShowErrorMessage(STR_JUST_RAW_STRING, STR_NULL, 0, 0);
 
	SaveFileDone();
 
}
 

	
 
@@ -1603,8 +1603,8 @@ static SaveOrLoadResult SaveFileToDisk(b
 
		AbortSaveLoad();
 
		if (_sl.excpt_uninit != NULL) _sl.excpt_uninit();
 

	
 
		ShowInfo(GetSaveLoadErrorString());
 
		DEBUG(sl, 0, GetSaveLoadErrorString());
 
		/* Skip the "color" character */
 
		DEBUG(sl, 0, GetSaveLoadErrorString() + 3);
 

	
 
		if (threaded) {
 
			SetAsyncSaveFinish(SaveFileError);
 
@@ -1803,7 +1803,7 @@ SaveOrLoadResult SaveOrLoad(const char *
 
		if (_sl.excpt_uninit != NULL) _sl.excpt_uninit();
 

	
 
		/* Skip the "color" character */
 
		ShowInfoF(GetSaveLoadErrorString() + 3);
 
		DEBUG(sl, 0, GetSaveLoadErrorString() + 3);
 

	
 
		/* A saver/loader exception!! reinitialize all variables to prevent crash! */
 
		return (mode == SL_LOAD) ? SL_REINIT : SL_ERROR;
0 comments (0 inline, 0 general)