From 0b4d416e1fdcbaa51bf7e95fbb8ece7960aa994c Mon Sep 17 00:00:00 2001 From: Darkvater Date: Thu, 1 Feb 2007 22:54:04 +0000 Subject: [PATCH] (svn r8522) -Regression (r8512): The flat/random window moved the to scenario editor did not use the right settings for generating land --- src/genworld.h | 1 + src/genworld_gui.cpp | 18 ++++++++++-------- src/intro_gui.cpp | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/genworld.h b/src/genworld.h index 10fb569a15..922b515051 100644 --- a/src/genworld.h +++ b/src/genworld.h @@ -90,5 +90,6 @@ void PrepareGenerateWorldProgress(void); void ShowGenerateWorldProgress(void); void StartNewGameWithoutGUI(uint seed); void ShowCreateScenario(void); +void StartScenarioEditor(void); #endif /* GENWORLD_H */ diff --git a/src/genworld_gui.cpp b/src/genworld_gui.cpp index 4250a37a4f..5faa3e94ae 100644 --- a/src/genworld_gui.cpp +++ b/src/genworld_gui.cpp @@ -144,24 +144,21 @@ static const Widget _heightmap_load_widgets[] = { { 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 @@ void ShowHeightmapLoad(void) _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' */ diff --git a/src/intro_gui.cpp b/src/intro_gui.cpp index 1ac459eef2..8cb2174865 100644 --- a/src/intro_gui.cpp +++ b/src/intro_gui.cpp @@ -67,7 +67,7 @@ static void SelectGameWndProc(Window *w, WindowEvent *e) 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);