X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=526f1d5ac3a168f221952868d287c69625521c9d;hb=fe49630443e7107f09fb417d9962ef2c25192d77;hp=a3f9de148b4dbd348b5ef384ce811dcf759d7b70;hpb=66b7cdb08e8e6ee4051176997f873c491fbc532c;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index a3f9de14..526f1d5a 100644 --- a/src/screens.c +++ b/src/screens.c @@ -5832,6 +5832,7 @@ static void HandleHallOfFame_SelectLevel(int step, int direction) scores.last_level_nr = level_nr = new_level_nr; + LoadLevel(level_nr); LoadLocalAndServerScore(level_nr, TRUE); DrawHallOfFame_setScoreEntries(); @@ -5874,7 +5875,14 @@ static void DrawScoreInfo_Content(int entry_nr) int ystart = mSY - SY + menu.top_spacing[GAME_MODE_SCOREINFO]; int ybottom = mSY - SY + SYSIZE - menu.bottom_spacing[GAME_MODE_SCOREINFO]; int xstart1 = mSX - SX + 2 * xstep; - int xstart2 = mSX - SX + 14 * xstep; + int xstart2 = mSX - SX + 13 * xstep; + int font_width = getFontWidth(font_text); + int font_height = getFontHeight(font_text); + int pad_left = xstart2; + int pad_right = MENU_SCREEN_INFO_SPACE_RIGHT; + int max_chars_per_line = (SXSIZE - pad_left - pad_right) / font_width; + int max_lines_per_text = 5; + int lines; ClearField(); @@ -5888,12 +5896,16 @@ static void DrawScoreInfo_Content(int entry_nr) ystart += ystep_title; DrawTextF(xstart1, ystart, font_head, "Level Set"); - DrawTextF(xstart2, ystart, font_text, leveldir_current->name); - ystart += ystep_line; + lines = DrawTextBufferS(xstart2, ystart, leveldir_current->name, font_text, + max_chars_per_line, -1, max_lines_per_text, 0, -1, + TRUE, FALSE, FALSE); + ystart += ystep_line + (lines > 0 ? lines - 1 : 0) * font_height; - DrawTextF(xstart1, ystart, font_head, "Level Name"); - DrawTextF(xstart2, ystart, font_text, level.name); - ystart += ystep_para; + DrawTextF(xstart1, ystart, font_head, "Level"); + lines = DrawTextBufferS(xstart2, ystart, level.name, font_text, + max_chars_per_line, -1, max_lines_per_text, 0, -1, + TRUE, FALSE, FALSE); + ystart += ystep_para + (lines > 0 ? lines - 1 : 0) * font_height; DrawTextF(xstart1, ystart, font_head, "Rank"); DrawTextF(xstart2, ystart, font_text, pos_text); @@ -5903,6 +5915,24 @@ static void DrawScoreInfo_Content(int entry_nr) DrawTextF(xstart2, ystart, font_text, entry->name); ystart += ystep_line; + DrawTextF(xstart1, ystart, font_head, "Platform"); + DrawTextF(xstart2, ystart, font_text, entry->platform); + ystart += ystep_line; + + DrawTextF(xstart1, ystart, font_head, "Version"); + DrawTextF(xstart2, ystart, font_text, entry->version); + ystart += ystep_line; + + DrawTextF(xstart1, ystart, font_head, "Country"); + lines = DrawTextBufferS(xstart2, ystart, entry->country_name, font_text, + max_chars_per_line, -1, max_lines_per_text, 0, -1, + TRUE, FALSE, FALSE); + ystart += ystep_line + (lines > 0 ? lines - 1 : 0) * font_height; + + DrawTextF(xstart1, ystart, font_head, "Tape Date"); + DrawTextF(xstart2, ystart, font_text, entry->tape_date); + ystart += ystep_line; + if (level.use_step_counter) { DrawTextF(xstart1, ystart, font_head, "Steps");