changeset 5899:71bc001a6dde draft

(svn r8522) -Regression (r8512): The flat/random window moved the to scenario editor did not use the right settings for generating land
author Darkvater <Darkvater@openttd.org>
date Thu, 01 Feb 2007 22:54:04 +0000
parents c620d115566b
children e8d36b8a478f
files src/genworld.h src/genworld_gui.cpp src/intro_gui.cpp
diffstat 3 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/genworld.h
+++ b/src/genworld.h
@@ -90,5 +90,6 @@
 void ShowGenerateWorldProgress(void);
 void StartNewGameWithoutGUI(uint seed);
 void ShowCreateScenario(void);
+void StartScenarioEditor(void);
 
 #endif /* GENWORLD_H */
--- a/src/genworld_gui.cpp
+++ b/src/genworld_gui.cpp
@@ -144,24 +144,21 @@
 {   WIDGETS_END},
 };
 
-static void StartGeneratingLandscape(glwp_modes mode)
+void StartGeneratingLandscape(glwp_modes mode)
 {
-	DeleteWindowByClass(WC_GENERATE_LANDSCAPE);
-	DeleteWindowByClass(WC_INDUSTRY_VIEW);
-	DeleteWindowByClass(WC_TOWN_VIEW);
-	DeleteWindowByClass(WC_LAND_INFO);
+	DeleteAllNonVitalWindows();
 
-	/* Copy all XXX_newgame to XXX */
+	/* Copy all XXX_newgame to XXX when coming from outside the editor */
 	UpdatePatches();
+	_opt = _opt_newgame;
 	_opt_ptr = &_opt;
-	*_opt_ptr = _opt_newgame;
 	ResetGRFConfig(true);
 
 	SndPlayFx(SND_15_BEEP);
 	switch (mode) {
 		case GLWP_GENERATE:  _switch_mode = (_game_mode == GM_EDITOR) ? SM_GENRANDLAND    : SM_NEWGAME;         break;
 		case GLWP_HEIGHTMAP: _switch_mode = (_game_mode == GM_EDITOR) ? SM_LOAD_HEIGHTMAP : SM_START_HEIGHTMAP; break;
-		case GLWP_SCENARIO: break;
+		case GLWP_SCENARIO:  _switch_mode = SM_EDITOR; break;
 		default: NOT_REACHED();
 	}
 }
@@ -513,6 +510,11 @@
 	_ShowGenerateLandscape(GLWP_HEIGHTMAP);
 }
 
+void StartScenarioEditor(void)
+{
+	StartGeneratingLandscape(GLWP_SCENARIO);
+}
+
 void StartNewGameWithoutGUI(uint seed)
 {
 	/* GenerateWorld takes care of the possible GENERATE_NEW_SEED value in 'seed' */
--- a/src/intro_gui.cpp
+++ b/src/intro_gui.cpp
@@ -67,7 +67,7 @@
 		case 3: ShowSaveLoadDialog(SLD_LOAD_GAME); break;
 		case 4: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break;
 		case 5: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break;
-		case 6: _switch_mode = SM_EDITOR; break;
+		case 6: StartScenarioEditor(); break;
 		case 7:
 			if (!_network_available) {
 				ShowErrorMessage(INVALID_STRING_ID, STR_NETWORK_ERR_NOTAVAILABLE, 0, 0);