src/openttd.cpp
changeset 11157 a0173588b15e
parent 11123 a3752bbcc23b
child 11161 7d0fac8f14cd
equal deleted inserted replaced
11156:cf146f346724 11157:a0173588b15e
   756 	_game_mode = GM_NORMAL;
   756 	_game_mode = GM_NORMAL;
   757 
   757 
   758 	/* invalid type */
   758 	/* invalid type */
   759 	if (_file_to_saveload.mode == SL_INVALID) {
   759 	if (_file_to_saveload.mode == SL_INVALID) {
   760 		DEBUG(sl, 0, "Savegame is obsolete or invalid format: '%s'", _file_to_saveload.name);
   760 		DEBUG(sl, 0, "Savegame is obsolete or invalid format: '%s'", _file_to_saveload.name);
   761 		SetDParamStr(0, GetSaveLoadErrorString());
   761 		SetDParam(0, STR_JUST_RAW_STRING);
       
   762 		SetDParamStr(1, GetSaveLoadErrorString());
   762 		ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   763 		ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   763 		_game_mode = GM_MENU;
   764 		_game_mode = GM_MENU;
   764 		return;
   765 		return;
   765 	}
   766 	}
   766 
   767 
   772 	ResetGRFConfig(true);
   773 	ResetGRFConfig(true);
   773 
   774 
   774 	/* Load game */
   775 	/* Load game */
   775 	if (SaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, SCENARIO_DIR) != SL_OK) {
   776 	if (SaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, SCENARIO_DIR) != SL_OK) {
   776 		LoadIntroGame();
   777 		LoadIntroGame();
   777 		SetDParamStr(0, GetSaveLoadErrorString());
   778 		SetDParam(0, STR_JUST_RAW_STRING);
       
   779 		SetDParamStr(1, GetSaveLoadErrorString());
   778 		ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   780 		ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   779 	}
   781 	}
   780 
   782 
   781 	_settings_game.difficulty = _settings_newgame.difficulty;
   783 	_settings_game.difficulty = _settings_newgame.difficulty;
   782 
   784 
   884 			ResetGRFConfig(true);
   886 			ResetGRFConfig(true);
   885 			ResetWindowSystem();
   887 			ResetWindowSystem();
   886 
   888 
   887 			if (!SafeSaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, GM_NORMAL, NO_DIRECTORY)) {
   889 			if (!SafeSaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, GM_NORMAL, NO_DIRECTORY)) {
   888 				LoadIntroGame();
   890 				LoadIntroGame();
   889 				SetDParamStr(0, GetSaveLoadErrorString());
   891 				SetDParam(0, STR_JUST_RAW_STRING);
       
   892 				SetDParamStr(1, GetSaveLoadErrorString());
   890 				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   893 				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   891 			} else {
   894 			} else {
   892 				if (_saveload_mode == SLD_LOAD_SCENARIO) {
   895 				if (_saveload_mode == SLD_LOAD_SCENARIO) {
   893 					StartupEngines();
   896 					StartupEngines();
   894 				}
   897 				}
   925 		case SM_LOAD_SCENARIO: { /* Load scenario from scenario editor */
   928 		case SM_LOAD_SCENARIO: { /* Load scenario from scenario editor */
   926 			if (SafeSaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, GM_EDITOR, NO_DIRECTORY)) {
   929 			if (SafeSaveOrLoad(_file_to_saveload.name, _file_to_saveload.mode, GM_EDITOR, NO_DIRECTORY)) {
   927 				SetLocalPlayer(OWNER_NONE);
   930 				SetLocalPlayer(OWNER_NONE);
   928 				_settings_newgame.game_creation.starting_year = _cur_year;
   931 				_settings_newgame.game_creation.starting_year = _cur_year;
   929 			} else {
   932 			} else {
   930 				SetDParamStr(0, GetSaveLoadErrorString());
   933 				SetDParam(0, STR_JUST_RAW_STRING);
       
   934 				SetDParamStr(1, GetSaveLoadErrorString());
   931 				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   935 				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   932 			}
   936 			}
   933 			break;
   937 			break;
   934 		}
   938 		}
   935 
   939 
   939 
   943 
   940 		case SM_SAVE: /* Save game */
   944 		case SM_SAVE: /* Save game */
   941 			/* Make network saved games on pause compatible to singleplayer */
   945 			/* Make network saved games on pause compatible to singleplayer */
   942 			if (_networking && _pause_game == 1) _pause_game = 2;
   946 			if (_networking && _pause_game == 1) _pause_game = 2;
   943 			if (SaveOrLoad(_file_to_saveload.name, SL_SAVE, NO_DIRECTORY) != SL_OK) {
   947 			if (SaveOrLoad(_file_to_saveload.name, SL_SAVE, NO_DIRECTORY) != SL_OK) {
   944 				SetDParamStr(0, GetSaveLoadErrorString());
   948 				SetDParam(0, STR_JUST_RAW_STRING);
       
   949 				SetDParamStr(1, GetSaveLoadErrorString());
   945 				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   950 				ShowErrorMessage(INVALID_STRING_ID, STR_012D, 0, 0);
   946 			} else {
   951 			} else {
   947 				DeleteWindowById(WC_SAVELOAD, 0);
   952 				DeleteWindowById(WC_SAVELOAD, 0);
   948 			}
   953 			}
   949 			if (_networking && _pause_game == 2) _pause_game = 1;
   954 			if (_networking && _pause_game == 2) _pause_game = 1;