(svn r8522) -Regression (r8512): The flat/random window moved the to scenario editor did not use the right settings for generating land

This commit is contained in:
Darkvater 2007-02-01 22:54:04 +00:00
parent 51c2af6e5e
commit 0b4d416e1f
3 changed files with 12 additions and 9 deletions

View File

@ -90,5 +90,6 @@ void PrepareGenerateWorldProgress(void);
void ShowGenerateWorldProgress(void);
void StartNewGameWithoutGUI(uint seed);
void ShowCreateScenario(void);
void StartScenarioEditor(void);
#endif /* GENWORLD_H */

View File

@ -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' */

View File

@ -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);