X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=4fb4e148fbdc2e54621aeb3045d23f35defbe255;hb=fdb8c9a6ae3d2ed960506a57ddca1bafc55a67ea;hp=2e9d67d27e08b6b8ecee90875b898d912fe42712;hpb=d29d345324b2af238f39e1ee3b71d38b2eee9b4e;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 2e9d67d2..4fb4e148 100644 --- a/src/screens.c +++ b/src/screens.c @@ -5046,7 +5046,7 @@ void DrawHallOfFame(int level_nr) SetDrawDeactivationMask(REDRAW_NONE); SetDrawBackgroundMask(REDRAW_FIELD); - LoadLocalAndServerScore(level_nr); + LoadLocalAndServerScore(level_nr, TRUE); if (scores.last_added >= 0) SetAnimStatus(GAME_MODE_PSEUDO_SCORESNEW); @@ -5153,6 +5153,14 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button) { level_nr = mx; + if (server_scores.updated) + { + // reload scores, using updated server score cache file + LoadLocalAndServerScore(level_nr, FALSE); + + server_scores.updated = FALSE; + } + first_entry = getHallOfFameFirstEntry(0, 0); drawHallOfFameList(level_nr, first_entry); @@ -5196,6 +5204,17 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button) DrawMainMenu(); } } + else if (server_scores.updated) + { + // reload scores, using updated server score cache file + LoadLocalAndServerScore(level_nr, FALSE); + + server_scores.updated = FALSE; + + first_entry = getHallOfFameFirstEntry(0, 0); + + drawHallOfFameList(level_nr, first_entry); + } if (game_status == GAME_MODE_SCORES) PlayMenuSoundIfLoop();