// store valid level series information
leveldir_last_valid = leveldir_current;
- init_last = init; // switch to new busy animation
-
// needed if last screen (level choice) changed graphics, sounds or music
ReloadCustomArtwork(0);
static TreeInfo *setHallOfFameActiveEntry(TreeInfo **ti_ptr)
{
+ int score_pos = scores.last_added;
+
+ if (game_status_last_screen == GAME_MODE_SCOREINFO)
+ score_pos = scores.last_entry_nr;
+
// set current tree entry to last added score entry
- *ti_ptr = getTreeInfoFromIdentifier(score_entries, i_to_a(scores.last_added));
+ *ti_ptr = getTreeInfoFromIdentifier(score_entries, i_to_a(score_pos));
// if that fails, set current tree entry to first entry (back link)
if (*ti_ptr == NULL)
static void DrawHallOfFame_setScoreEntries(void)
{
+ int num_visible_score_entries = NUM_MENU_ENTRIES_ON_SCREEN - 1;
int score_pos = (scores.last_added >= 0 ? scores.last_added : 0);
int i;
for (i = 0; i < MAX_SCORE_ENTRIES; i++)
{
- // do not add empty score entries
+ // do not add empty score entries if off-screen
if (scores.entry[i].score == 0 &&
- scores.entry[i].time == 0)
+ scores.entry[i].time == 0 &&
+ i >= num_visible_score_entries)
break;
TreeInfo *ti = newTreeInfo_setDefaults(TREE_TYPE_SCORE_ENTRY);