changeset 17986:b5521cdad3e9 draft

(svn r22795) -Codechange: load the intro game the first time without NewGRFs
author rubidium <rubidium@openttd.org>
date Sun, 21 Aug 2011 12:52:24 +0000
parents b01820fe3edf
children 09828473e4ff
files src/openttd.cpp
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/openttd.cpp
+++ b/src/openttd.cpp
@@ -265,11 +265,15 @@
 	FioCloseAll();
 }
 
-static void LoadIntroGame()
+/**
+ * Load the introduction game.
+ * @param load_newgrfs Whether to load the NewGRFs or not.
+ */
+static void LoadIntroGame(bool load_newgrfs = true)
 {
 	_game_mode = GM_MENU;
 
-	ResetGRFConfig(false);
+	if (load_newgrfs) ResetGRFConfig(false);
 
 	/* Setup main window */
 	ResetWindowSystem();
@@ -710,6 +714,8 @@
 	GenerateWorld(GWM_EMPTY, 64, 64); // Make the viewport initialization happy
 	WaitTillGeneratedWorld();
 
+	LoadIntroGame(false);
+
 	CheckForMissingGlyphsInLoadedLanguagePack();
 
 	ScanNewGRFFiles(new AfterNewGRFScan(network ? network_conn : NULL, join_server_password, join_company_password));
@@ -1227,7 +1233,7 @@
 	}
 
 	/* switch game mode? */
-	if (_switch_mode != SM_NONE) {
+	if (_switch_mode != SM_NONE && !HasModalProgress()) {
 		SwitchToMode(_switch_mode);
 		_switch_mode = SM_NONE;
 	}