From 01f06784e7f65dcffabdd21e4f7fc271897f3c95 Mon Sep 17 00:00:00 2001 From: Darkvater Date: Mon, 30 May 2005 13:06:15 +0000 Subject: [PATCH] (svn r2381) - Fix: [ 1210610 ] Endgame window on easy difficulty results in infinite loop. Oops. Seperated the window classes of endgame and highscreen. --- player_gui.c | 10 +++++----- ttd.h | 5 +++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/player_gui.c b/player_gui.c index 03e5e77bc9..8b5e2f2e47 100644 --- a/player_gui.c +++ b/player_gui.c @@ -802,7 +802,7 @@ static void EndGameWndProc(Window *w, WindowEvent *e) } break; case WE_CLICK: /* Close the window (and show the highscore window) */ DeleteWindow(w); - break; + break; case WE_DESTROY: /* Show the highscore window when this one is closed */ if (!_networking) DoCommandP(0, 0, 0, NULL, CMD_PAUSE); // unpause ShowHighscoreTable(w->window_number, WP(w, highscore_d).rank); @@ -859,7 +859,7 @@ static const Widget _highscore_widgets[] = { static const WindowDesc _highscore_desc = { 0, 0, 641, 481, - WC_HIGHSCORE_ENDSCREEN,0, + WC_HIGHSCORE,0, 0, _highscore_widgets, HighScoreWndProc @@ -867,7 +867,7 @@ static const WindowDesc _highscore_desc = { static const WindowDesc _endgame_desc = { 0, 0, 641, 481, - WC_HIGHSCORE_ENDSCREEN,0, + WC_ENDSCREEN,0, 0, _highscore_widgets, EndGameWndProc @@ -886,7 +886,7 @@ void ShowHighscoreTable(int difficulty, int8 ranking) /* Close all always on-top windows to get a clean screen */ if (_game_mode != GM_MENU) HideVitalWindows(); - DeleteWindowById(WC_HIGHSCORE_ENDSCREEN, 0); + DeleteWindowByClass(WC_HIGHSCORE); w = AllocateWindowDesc(&_highscore_desc); if (w != NULL) { @@ -909,7 +909,7 @@ void ShowEndGameChart(void) if (!_networking) DoCommandP(0, 1, 0, NULL, CMD_PAUSE); HideVitalWindows(); - DeleteWindowById(WC_HIGHSCORE_ENDSCREEN, 0); + DeleteWindowByClass(WC_ENDSCREEN); w = AllocateWindowDesc(&_endgame_desc); if (w != NULL) { diff --git a/ttd.h b/ttd.h index 96d247547e..2764d01416 100644 --- a/ttd.h +++ b/ttd.h @@ -436,8 +436,9 @@ enum { WC_NETWORK_STATUS_WINDOW = 0x4A, WC_CUSTOM_CURRENCY = 0x4B, WC_REPLACE_VEHICLE = 0x4C, - WC_HIGHSCORE_ENDSCREEN = 0x4D, - WC_SIGN_LIST = 0x4E, + WC_HIGHSCORE = 0x4D, + WC_ENDSCREEN = 0x4E, + WC_SIGN_LIST = 0x4F, };