From c4e4fa98fde0570e9f45050e286fca17de7113b6 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Tue, 7 Nov 2006 14:41:53 +0000 Subject: (svn r7098) -Regression (r7094): Zoom buttons were not properly updated with a new/loaded game. The good thing is, we got rid of even more magic code (tm) --- genworld.c | 20 ++++++++++++-------- genworld_gui.c | 2 -- main_gui.c | 11 +++-------- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/genworld.c b/genworld.c index 51bf8d246..55f7bb590 100644 --- a/genworld.c +++ b/genworld.c @@ -249,19 +249,23 @@ void GenerateWorld(int mode, uint size_x, uint size_y) /* Create toolbars */ SetupColorsAndInitialWindow(); - if (_network_dedicated || (_gw.thread = OTTDCreateThread(&_GenerateWorld, (void *)"")) == NULL) { + /* Load the right landscape stuff */ + GfxLoadSprites(); + if (_network_dedicated || + (_gw.thread = OTTDCreateThread(&_GenerateWorld, NULL)) == NULL) { + DEBUG(misc, 1) ("[Sl] Cannot create savegame thread, reverting to single-threaded mode..."); _gw.threaded = false; _GenerateWorld(NULL); - } else { - /* Remove any open window */ - DeleteAllNonVitalWindows(); - - /* Don't show the dialog if we don't have a thread */ - ShowGenerateWorldProgress(); + return; } + /* Remove any open window */ + DeleteAllNonVitalWindows(); /* Hide vital windows, because we don't allow to use them */ - if (_gw.thread != NULL) HideVitalWindows(); + HideVitalWindows(); + + /* Don't show the dialog if we don't have a thread */ + ShowGenerateWorldProgress(); /* Centre the view on the map */ if (FindWindowById(WC_MAIN_WINDOW, 0) != NULL) { diff --git a/genworld_gui.c b/genworld_gui.c index cd597b893..cb1b0a135 100644 --- a/genworld_gui.c +++ b/genworld_gui.c @@ -164,8 +164,6 @@ static void StartGeneratingLandscape(glwp_modes mode) UpdatePatches(); _opt_ptr = &_opt; *_opt_ptr = _opt_newgame; - /* Load the right landscape stuff */ - GfxLoadSprites(); SndPlayFx(SND_15_BEEP); switch (mode) { diff --git a/main_gui.c b/main_gui.c index 879618953..bf34a9330 100644 --- a/main_gui.c +++ b/main_gui.c @@ -879,7 +879,6 @@ bool DoZoomInOutWindow(int how, Window *w) vp->virtual_width <<= 1; vp->virtual_height <<= 1; break; - default: return false; } SetWindowDirty(w); @@ -2413,13 +2412,9 @@ void ShowVitalWindows(void) { Window *w; - if (_game_mode != GM_EDITOR) { - w = AllocateWindowDesc(&_toolb_normal_desc); - DisableWindowWidget(w, 18); - } else { - w = AllocateWindowDesc(&_toolb_scen_desc); - DisableWindowWidget(w, 10); - } + w = AllocateWindowDesc((_game_mode != GM_EDITOR) ? &_toolb_normal_desc : &_toolb_scen_desc); + DoZoomInOutWindow(ZOOM_NONE, w); + CLRBITS(w->flags4, WF_WHITE_BORDER_MASK); SetWindowWidgetDisabledState(w, 0, _networking && !_network_server); // if not server, disable pause button -- cgit v1.2.3-70-g09d2