int ystep_title = getMenuTextStep(spacing_title, font_title);
int ystep_para = getMenuTextStep(spacing_para, font_text);
int ystep_line = getMenuTextStep(spacing_line, font_text);
+ int xstart = mSX - SX + menu.left_spacing[GAME_MODE_SCOREINFO];
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 + 13 * xstep;
+ int xstart1 = xstart + xstep;
+ int xstart2 = xstart + xstep * 12;
int select_x = SX + xstart1;
int select_y1, select_y2;
int play_x, play_y;
int font_height = getFontHeight(font_text);
int tape_date_width = getTextWidth(tape_date, font_text);
int pad_left = xstart2;
- int pad_right = MENU_SCREEN_INFO_SPACE_RIGHT;
+ int pad_right = menu.right_spacing[GAME_MODE_SCOREINFO];
int max_chars_per_line = (SXSIZE - pad_left - pad_right) / font_width;
int max_lines_per_text = 5;
int lines;
ClearField();
- // redraw score selection buttons (which have just been erased)
+ // redraw level selection buttons (which have just been erased)
RedrawScreenMenuGadgets(SCREEN_MASK_SCORES);
if (score_entries == NULL)
UnmapAllGadgets();
+ FreeScreenGadgets();
+ CreateScreenGadgets();
+
FadeOut(REDRAW_FIELD);
// needed if different viewport properties defined after playing score tape
if (strPrefix(leveldir_current->identifier, "snake_bite"))
title_width = strlen(INFOTEXT_SCORE_ENTRY) * 32;
+ // use "SX" here to center buttons (ignore horizontal draw offset)
if (pos->x == -1)
x = (id == SCREEN_CTRL_ID_PREV_LEVEL2 ?
SX + (SXSIZE - title_width) / 2 - width * 3 / 2 :
id == SCREEN_CTRL_ID_NEXT_LEVEL2 ?
SX + (SXSIZE + title_width) / 2 + width / 2 : 0);
+ // use "mSY" here to place buttons (respect vertical draw offset)
if (pos->y == -1)
y = (id == SCREEN_CTRL_ID_PREV_LEVEL2 ||
id == SCREEN_CTRL_ID_NEXT_LEVEL2 ? mSY + MENU_TITLE1_YPOS : 0);
}
}
+void HandleScreenGadgetKeys(Key key)
+{
+ if (key == setup.shortcut.tape_play)
+ HandleScreenGadgets(screen_gadget[SCREEN_CTRL_ID_PLAY_TAPE]);
+}
+
void DumpScreenIdentifiers(void)
{
int i;