X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=4fb4e148fbdc2e54621aeb3045d23f35defbe255;hb=fdb8c9a6ae3d2ed960506a57ddca1bafc55a67ea;hp=d38c3f7f1ddfa61f7900086476541695eff7e6e5;hpb=169e1c6a48feaf96e2ba9207a8177026b1994565;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index d38c3f7f..4fb4e148 100644 --- a/src/screens.c +++ b/src/screens.c @@ -5046,12 +5046,10 @@ void DrawHallOfFame(int level_nr) SetDrawDeactivationMask(REDRAW_NONE); SetDrawBackgroundMask(REDRAW_FIELD); - if (scores.last_added < 0) - LoadScore(level_nr); - else - SetAnimStatus(GAME_MODE_PSEUDO_SCORESNEW); + LoadLocalAndServerScore(level_nr, TRUE); - LoadServerScore(level_nr); + if (scores.last_added >= 0) + SetAnimStatus(GAME_MODE_PSEUDO_SCORESNEW); FadeSetEnterScreen(); @@ -5155,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); @@ -5198,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();