{ "menu.list_entry_size.INFO[ELEMENTS]", "-1" },
+ { "menu.tile_size.INFO[ELEMENTS]", "-1" },
+
{ "menu.left_spacing.SCOREINFO", "16" },
{ "menu.left_spacing.INFO", "16" },
{ "menu.left_spacing.INFO[TITLE]", "16" },
{ "menu.left_spacing.INFO[LEVELSET]", "16" },
{ "menu.left_spacing.SETUP[INPUT]", "16" },
+ { "menu.middle_spacing.INFO[ELEMENTS]", "16" },
+
{ "menu.right_spacing.SCOREINFO", "16" },
{ "menu.right_spacing.INFO", "16" },
{ "menu.right_spacing.INFO[TITLE]", "16" },
{ "menu.draw_xoffset.INFO", &menu.draw_xoffset_info[i] },
{ "menu.draw_yoffset.INFO", &menu.draw_yoffset_info[i] },
{ "menu.list_size.INFO", &menu.list_size_info[i] },
- { "menu.list_entry_size.INFO", &menu.list_entry_size_info[i] }
+ { "menu.list_entry_size.INFO", &menu.list_entry_size_info[i] },
+ { "menu.tile_size.INFO", &menu.tile_size_info[i] }
};
for (j = 0; j < ARRAY_SIZE(menu_config); j++)
struct TokenIntPtrInfo menu_config[] =
{
{ "menu.left_spacing.INFO", &menu.left_spacing_info[i] },
+ { "menu.middle_spacing.INFO", &menu.middle_spacing_info[i] },
{ "menu.right_spacing.INFO", &menu.right_spacing_info[i] },
{ "menu.top_spacing.INFO", &menu.top_spacing_info[i] },
{ "menu.bottom_spacing.INFO", &menu.bottom_spacing_info[i] },
int list_size[NUM_SPECIAL_GFX_ARGS];
int list_size_info[NUM_SPECIAL_GFX_INFO_ARGS];
int list_entry_size_info[NUM_SPECIAL_GFX_INFO_ARGS];
+ int tile_size_info[NUM_SPECIAL_GFX_INFO_ARGS];
int left_spacing[NUM_SPECIAL_GFX_ARGS];
int left_spacing_info[NUM_SPECIAL_GFX_INFO_ARGS];
int left_spacing_setup[NUM_SPECIAL_GFX_SETUP_ARGS];
+ int middle_spacing_info[NUM_SPECIAL_GFX_INFO_ARGS];
int right_spacing[NUM_SPECIAL_GFX_ARGS];
int right_spacing_info[NUM_SPECIAL_GFX_INFO_ARGS];
int right_spacing_setup[NUM_SPECIAL_GFX_SETUP_ARGS];
#define MENU_INFO_FONT_FOOT FONT_TEXT_4
#define MENU_INFO_SPACE_HEAD (menu.headline2_spacing_info[info_mode])
#define MENU_SCREEN_INFO_SPACE_LEFT (menu.left_spacing_info[info_mode])
+#define MENU_SCREEN_INFO_SPACE_MIDDLE (menu.middle_spacing_info[info_mode])
#define MENU_SCREEN_INFO_SPACE_RIGHT (menu.right_spacing_info[info_mode])
#define MENU_SCREEN_INFO_SPACE_TOP (menu.top_spacing_info[info_mode])
#define MENU_SCREEN_INFO_SPACE_BOTTOM (menu.bottom_spacing_info[info_mode])
#define MENU_SCREEN_INFO_SPACE_LINE (menu.line_spacing_info[info_mode])
#define MENU_SCREEN_INFO_SPACE_EXTRA (menu.extra_spacing_info[info_mode])
+#define MENU_SCREEN_INFO_TILE_SIZE (menu.tile_size_info[info_mode])
#define MENU_SCREEN_INFO_ENTRY_SIZE_RAW (menu.list_entry_size_info[info_mode])
#define MENU_SCREEN_INFO_ENTRY_SIZE (MAX(MENU_SCREEN_INFO_ENTRY_SIZE_RAW, \
- TILEY))
+ MENU_SCREEN_INFO_TILE_SIZE))
#define MENU_SCREEN_INFO_YSTART MENU_SCREEN_INFO_SPACE_TOP
#define MENU_SCREEN_INFO_YSTEP (MENU_SCREEN_INFO_ENTRY_SIZE + \
MENU_SCREEN_INFO_SPACE_EXTRA)
int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM;
int ystep = MENU_SCREEN_INFO_YSTEP;
int row_height = MENU_SCREEN_INFO_ENTRY_SIZE;
- int yoffset = (row_height - TILEY) / 2;
+ int tilesize = MENU_SCREEN_INFO_TILE_SIZE;
+ int yoffset = (row_height - tilesize) / 2;
int element, action, direction;
int graphic;
int delay;
j++;
- ClearRectangleOnBackground(drawto, xstart, ystart_pos, TILEX, TILEY);
- DrawFixedGraphicAnimationExt(drawto, xstart, ystart_pos,
- graphic, sync_frame, USE_MASKING);
+ ClearRectangleOnBackground(drawto, xstart, ystart_pos, tilesize, tilesize);
+ DrawSizedGraphicAnimationExt(drawto, xstart, ystart_pos,
+ graphic, sync_frame, tilesize, USE_MASKING);
if (init)
DrawInfoScreen_HelpText(element, action, direction, ypos);
int font_width = getFontWidth(font_nr);
int font_height = getFontHeight(font_nr);
int line_spacing = MENU_SCREEN_INFO_SPACE_LINE;
+ int left_spacing = MENU_SCREEN_INFO_SPACE_LEFT;
+ int middle_spacing = MENU_SCREEN_INFO_SPACE_MIDDLE;
+ int right_spacing = MENU_SCREEN_INFO_SPACE_RIGHT;
int line_height = font_height + line_spacing;
int row_height = MENU_SCREEN_INFO_ENTRY_SIZE;
- int xstart = mSX + MENU_SCREEN_INFO_SPACE_LEFT + TILEX + MINI_TILEX;
+ int tilesize = MENU_SCREEN_INFO_TILE_SIZE;
+ int xstart = mSX + left_spacing + tilesize + middle_spacing;
int ystart = mSY + MENU_SCREEN_INFO_YSTART + getHeadlineSpacing();
int ystep = MENU_SCREEN_INFO_YSTEP;
int pad_left = xstart - SX;
- int pad_right = MENU_SCREEN_INFO_SPACE_RIGHT;
+ int pad_right = right_spacing;
int max_chars_per_line = (SXSIZE - pad_left - pad_right) / font_width;
int max_lines_per_text = (row_height + line_spacing) / line_height;
char *text = NULL;
DrawFixedGraphicExt(dst_bitmap, x, y, graphic, frame);
}
+void DrawSizedGraphicAnimationExt(DrawBuffer *dst_bitmap, int x, int y,
+ int graphic, int sync_frame, int tilesize,
+ int mask_mode)
+{
+ int frame = getGraphicAnimationFrame(graphic, sync_frame);
+
+ if (mask_mode == USE_MASKING)
+ DrawSizedGraphicThruMaskExt(dst_bitmap, x, y, graphic, frame, tilesize);
+ else
+ DrawSizedGraphicExt(dst_bitmap, x, y, graphic, frame, tilesize);
+}
+
static void DrawGraphicAnimation(int x, int y, int graphic)
{
int lx = LEVELX(x), ly = LEVELY(y);
void DrawFixedGraphicAnimation(int, int, int);
void DrawFixedGraphicAnimationExt(DrawBuffer *, int, int, int, int, int);
+void DrawSizedGraphicAnimationExt(DrawBuffer *, int, int, int, int, int, int);
void DrawLevelGraphicAnimation(int, int, int);
void DrawLevelElementAnimation(int, int, int);