X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=39650b5cf6a4f9aa32acd0fb999518ccbd6815c1;hp=d596e2674eaa13c9ce9265d0b6562b4b04cc9b51;hb=668d05fbdb883eb630700f4df445f77abe599498;hpb=bc84d4e4ec1babe815cb9e5b07168afa232bffb5 diff --git a/src/screens.c b/src/screens.c index d596e267..39650b5c 100644 --- a/src/screens.c +++ b/src/screens.c @@ -2169,9 +2169,9 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) { if (leveldir_current->readonly && setup.editor.show_read_only_warning) - Request("This level is read-only!", REQ_CONFIRM); + Request("This level is read-only!", REQ_CONFIRM | REQ_STAY_OPEN); - CloseDoor(DOOR_CLOSE_2); + CloseDoor(DOOR_CLOSE_ALL); SetGameStatus(GAME_MODE_EDITOR); @@ -5080,9 +5080,15 @@ void HandleHallOfFame(int mx, int my, int dx, int dy, int button) if (button == MB_MENU_INITIALIZE) { level_nr = mx; - first_entry = 0; highlight_position = my; + first_entry = highlight_position - (NUM_MENU_ENTRIES_ON_SCREEN + 1) / 2 + 1; + + if (first_entry < 0) + first_entry = 0; + else if (first_entry + NUM_MENU_ENTRIES_ON_SCREEN > MAX_SCORE_ENTRIES) + first_entry = MAX(0, MAX_SCORE_ENTRIES - NUM_MENU_ENTRIES_ON_SCREEN); + drawHallOfFameList(level_nr, first_entry, highlight_position); return;