# HG changeset patch # User darkvater # Date 1106247429 0 # Node ID 7da1f53526cd996191dd006d69db4419f2617ff5 # Parent 03a5f2b0a5c22a34f2eea2b4fb74694f4094f850 (svn r1578) -Fix: [1102454] dedicated server crashes after some hours (highscore problems for dedicated...should be really solved now) diff -r 03a5f2b0a5c2 -r 7da1f53526cd player_gui.c --- a/player_gui.c Thu Jan 20 18:19:37 2005 +0000 +++ b/player_gui.c Thu Jan 20 18:57:09 2005 +0000 @@ -896,7 +896,6 @@ void ShowEndGameChart(void) { Window *w; - const Player *p = DEREF_PLAYER(_local_player); if (!_networking) { // pause the game and hide all windows to show end-chart DoCommandP(0, 1, 0, NULL, CMD_PAUSE); @@ -908,10 +907,25 @@ if (w != NULL) { MarkWholeScreenDirty(); + + WP(w, highscore_d).background_img = SPR_TYCOON_IMG1_BEGIN; + + if (_local_player != OWNER_SPECTATOR) { + const Player *p = DEREF_PLAYER(_local_player); + if (p->old_economy[0].performance_history == SCORE_MAX) + WP(w, highscore_d).background_img = SPR_TYCOON_IMG2_BEGIN; + } + /* In a network game show the endscores of the custom difficulty 'network' which is the last one - * as well as generate a TOP5 of that game, and not an all-time top5 */ - w->window_number = (!_networking) ? _opt.diff_level : lengthof(_highscore_table) - 1; - WP(w, highscore_d).background_img = (p->old_economy[0].performance_history == SCORE_MAX) ? SPR_TYCOON_IMG2_BEGIN : SPR_TYCOON_IMG1_BEGIN; // which background to show - WP(w, highscore_d).rank = (!_networking) ? SaveHighScoreValue(p) : SaveHighScoreValueNetwork(); - } + * as well as generate a TOP5 of that game, and not an all-time top5. */ + if (_networking) { + w->window_number = lengthof(_highscore_table) - 1; + WP(w, highscore_d).rank = SaveHighScoreValueNetwork(); + } else { + // in single player _local player is always valid + const Player *p = DEREF_PLAYER(_local_player); + w->window_number = _opt.diff_level; + WP(w, highscore_d).rank = SaveHighScoreValue(p); + } + } }