diff options
author | Darkvater <darkvater@openttd.org> | 2005-05-30 13:06:15 +0000 |
---|---|---|
committer | Darkvater <darkvater@openttd.org> | 2005-05-30 13:06:15 +0000 |
commit | 01f06784e7f65dcffabdd21e4f7fc271897f3c95 (patch) | |
tree | 601d60df2854ffb16c117fc6295cb36b32a0562e | |
parent | e06c121d78e4ee8d81dd519b8f9b97366153c52c (diff) | |
download | openttd-01f06784e7f65dcffabdd21e4f7fc271897f3c95.tar.xz |
(svn r2381) - Fix: [ 1210610 ] Endgame window on easy difficulty results in infinite loop. Oops. Seperated the window classes of endgame and highscreen.
-rw-r--r-- | player_gui.c | 10 | ||||
-rw-r--r-- | ttd.h | 5 |
2 files changed, 8 insertions, 7 deletions
diff --git a/player_gui.c b/player_gui.c index 03e5e77bc..8b5e2f2e4 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) { @@ -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, }; |