-static void drawHallOfFameList(int level_nr, int first_entry)
-{
- int i, j;
-
- SetMainBackgroundImage(IMG_BACKGROUND_SCORES);
- ClearField();
-
- DrawTextSCentered(MENU_TITLE1_YPOS, FONT_TITLE_1, "Hall Of Fame");
- DrawTextFCentered(MENU_TITLE2_YPOS, FONT_TITLE_2,
- "HighScores of Level %d", level_nr);
-
- for (i = 0; i < NUM_MENU_ENTRIES_ON_SCREEN; i++)
- {
- int entry = first_entry + i;
- boolean active = (entry == scores.last_added);
- boolean forced = (scores.force_last_added && active);
- int font_nr1 = (active ? FONT_TEXT_1_ACTIVE : FONT_TEXT_1);
- int font_nr2 = (active ? FONT_TEXT_2_ACTIVE : FONT_TEXT_2);
- int font_nr3 = (active ? FONT_TEXT_3_ACTIVE : FONT_TEXT_3);
- int font_nr4 = (active ? FONT_TEXT_4_ACTIVE : FONT_TEXT_4);
- int dxoff = getFontDrawOffsetX(font_nr1);
- int dx1 = 3 * getFontWidth(font_nr1);
- int dx2 = dx1 + getFontWidth(font_nr1);
- int dx3 = SXSIZE - 2 * (mSX - SX + dxoff) - 5 * getFontWidth(font_nr4);
- int num_dots = (dx3 - dx2) / getFontWidth(font_nr3);
- int sy = mSY + 64 + i * 32;
- char *pos_text = (forced ? "???" : int2str(entry + 1, 3));
-
- DrawText(mSX, sy, pos_text, font_nr1);
- DrawText(mSX + dx1, sy, ".", font_nr1);
-
- for (j = 0; j < num_dots; j++)
- DrawText(mSX + dx2 + j * getFontWidth(font_nr3), sy, ".", font_nr3);
-
- if (!strEqual(scores.entry[entry].name, EMPTY_PLAYER_NAME))
- DrawText(mSX + dx2, sy, scores.entry[entry].name, font_nr2);
-
- DrawText(mSX + dx3, sy, getHallOfFameScoreText(entry), font_nr4);
- }
-
- redraw_mask |= REDRAW_FIELD;
-}
-