X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=6fccd1dc8be066b53ce467c6bc540c3c54167495;hb=fcd710a8331cae4315de9ebbb23250d8b7f0b74d;hp=819e25dfb916328a0dfb7a84d3681bc3a20f0fa0;hpb=d2587727d750fdf2aae4eb8f4acb487a5c211041;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 819e25df..6fccd1dc 100644 --- a/src/screens.c +++ b/src/screens.c @@ -823,17 +823,23 @@ void DrawChooseLevel() static void drawChooseLevelList(int first_entry, int num_page_entries) { int i; - char buffer[SCR_FIELDX]; + char buffer[SCR_FIELDX * 2]; ClearWindow(); DrawText(SX, SY, "Level Directories", FS_BIG, FC_GREEN); for(i=0; i 0) + { + first_entry -= step; + if (first_entry < 0) + first_entry = 0; + + drawHallOfFameList(first_entry, highlight_position); + return; + } + } + else if (dy > 0) + { + if (first_entry + MAX_LEVEL_SERIES_ON_SCREEN < MAX_SCORE_ENTRIES) + { + first_entry += step; + if (first_entry + MAX_LEVEL_SERIES_ON_SCREEN > MAX_SCORE_ENTRIES) + first_entry = MAX(0, MAX_SCORE_ENTRIES - MAX_LEVEL_SERIES_ON_SCREEN); + + drawHallOfFameList(first_entry, highlight_position); + return; + } + } + if (button_released) { FadeSound(SND_HALLOFFAME); game_status = MAINMENU; DrawMainMenu(); - BackToFront(); } - else + + BackToFront(); + + if (game_status == HALLOFFAME) DoAnimation(); }