#define MAX_MENU_MODES MAX(MAX_INFO_MODES, MAX_SETUP_MODES)
+/* setup screen titles */
+#define STR_SETUP_MAIN "Setup"
+#define STR_SETUP_GAME "Game & Menu"
+#define STR_SETUP_EDITOR "Editor"
+#define STR_SETUP_GRAPHICS "Graphics"
+#define STR_SETUP_SOUND "Sound & Music"
+#define STR_SETUP_ARTWORK "Custom Artwork"
+#define STR_SETUP_INPUT "Input Devices"
+#define STR_SETUP_TOUCH "Touch Controls"
+#define STR_SETUP_SHORTCUTS "Key Shortcuts"
+#define STR_SETUP_EXIT "Exit"
+#define STR_SETUP_SAVE_AND_EXIT "Save and Exit"
+
+#define STR_SETUP_CHOOSE_GAME_SPEED "Game Speed"
+#define STR_SETUP_CHOOSE_SCROLL_DELAY "Scroll Delay"
+#define STR_SETUP_CHOOSE_SNAPSHOT_MODE "Snapshot Mode"
+#define STR_SETUP_CHOOSE_WINDOW_SIZE "Window Scaling"
+#define STR_SETUP_CHOOSE_SCALING_TYPE "Anti-Aliasing"
+#define STR_SETUP_CHOOSE_RENDERING "Rendering Mode"
+#define STR_SETUP_CHOOSE_VOLUME_SIMPLE "Sound Volume"
+#define STR_SETUP_CHOOSE_VOLUME_LOOPS "Loops Volume"
+#define STR_SETUP_CHOOSE_VOLUME_MUSIC "Music Volume"
+#define STR_SETUP_CHOOSE_TOUCH_CONTROL "Control Type"
+#define STR_SETUP_CHOOSE_MOVE_DISTANCE "Move Distance"
+#define STR_SETUP_CHOOSE_DROP_DISTANCE "Drop Distance"
+
/* for input setup functions */
#define SETUPINPUT_SCREEN_POS_START 0
#define SETUPINPUT_SCREEN_POS_END (SCR_FIELDY - 4)
#define SETUPINPUT_SCREEN_POS_EMPTY1 (SETUPINPUT_SCREEN_POS_START + 3)
#define SETUPINPUT_SCREEN_POS_EMPTY2 (SETUPINPUT_SCREEN_POS_END - 1)
+#define MENU_SETUP_FONT_TITLE FONT_TEXT_1
+#define MENU_SETUP_FONT_TEXT FONT_TITLE_2
+
/* for various menu stuff */
#define MENU_SCREEN_START_XPOS 1
#define MENU_SCREEN_START_YPOS 2
#define MENU_SCREEN_MAX_XPOS (SCR_FIELDX - 1)
#define MENU_TITLE1_YPOS 8
#define MENU_TITLE2_YPOS 46
-#define MENU_TITLE_FONT_INFO FONT_TEXT_1
-#define MENU_SPACING_TITLE (menu.text.headline.normal_spacing)
+#define MENU_INFO_FONT_TITLE FONT_TEXT_1
+#define MENU_INFO_FONT_HEAD FONT_TEXT_2
+#define MENU_INFO_FONT_TEXT FONT_TEXT_3
+#define MENU_INFO_FONT_FOOT FONT_TEXT_4
+#define MENU_INFO_SPACE_HEAD (menu.headline2_spacing_info[info_mode])
#define MENU_SCREEN_INFO_XSTART 16
#define MENU_SCREEN_INFO_YSTART1 100
-#define MENU_SCREEN_INFO_YSTART2 (MENU_SCREEN_INFO_YSTART1 + \
- getMenuTextStep(MENU_SPACING_TITLE, \
- MENU_TITLE_FONT_INFO))
+#define MENU_SCREEN_INFO_YSTART2 (MENU_SCREEN_INFO_YSTART1 + \
+ getMenuTextStep(MENU_INFO_SPACE_HEAD, \
+ MENU_INFO_FONT_TITLE))
#define MENU_SCREEN_INFO_YSTEP (TILEY + 4)
#define MENU_SCREEN_INFO_YBOTTOM (SYSIZE - 20)
#define MENU_SCREEN_INFO_YSIZE (MENU_SCREEN_INFO_YBOTTOM - \
char *text;
} scaling_types_list[] =
{
- { SCALING_QUALITY_NEAREST, "None" },
+ { SCALING_QUALITY_NEAREST, "Off" },
{ SCALING_QUALITY_LINEAR, "Linear" },
{ SCALING_QUALITY_BEST, "Anisotropic" },
char *text;
} touch_controls_list[] =
{
+ { TOUCH_CONTROL_OFF, "Off" },
{ TOUCH_CONTROL_VIRTUAL_BUTTONS, "Virtual Buttons" },
{ TOUCH_CONTROL_WIPE_GESTURES, "Wipe Gestures" },
{ TOUCH_CONTROL_FOLLOW_FINGER, "Follow Finger" },
GAME_MODE_MAIN : GAME_MODE_DEFAULT)
/* (there are no draw offset definitions needed for INFO_MODE_TITLE) */
-#define DRAW_MODE_INFO(i) ((i) >= INFO_MODE_ELEMENTS && \
+#define DRAW_MODE_INFO(i) ((i) >= INFO_MODE_TITLE && \
(i) <= INFO_MODE_LEVELSET ? (i) : \
INFO_MODE_MAIN)
#define DRAW_YOFFSET_INFO(i) (DRAW_MODE_INFO(i) == INFO_MODE_MAIN ? \
menu.draw_yoffset[GAME_MODE_INFO] : \
menu.draw_yoffset_info[DRAW_MODE_INFO(i)])
+#define EXTRA_SPACING_INFO(i) (DRAW_MODE_INFO(i) == INFO_MODE_MAIN ? \
+ menu.extra_spacing[GAME_MODE_INFO] : \
+ menu.extra_spacing_info[DRAW_MODE_INFO(i)])
#define DRAW_XOFFSET_SETUP(i) (DRAW_MODE_SETUP(i) == SETUP_MODE_MAIN ? \
menu.draw_xoffset[GAME_MODE_SETUP] : \
#define DRAW_YOFFSET_SETUP(i) (DRAW_MODE_SETUP(i) == SETUP_MODE_MAIN ? \
menu.draw_yoffset[GAME_MODE_SETUP] : \
menu.draw_yoffset_setup[DRAW_MODE_SETUP(i)])
+#define EXTRA_SPACING_SETUP(i) (DRAW_MODE_SETUP(i) == SETUP_MODE_MAIN ? \
+ menu.extra_spacing[GAME_MODE_SETUP] : \
+ menu.extra_spacing_setup[DRAW_MODE_SETUP(i)])
#define DRAW_XOFFSET(s) ((s) == GAME_MODE_INFO ? \
DRAW_XOFFSET_INFO(info_mode) : \
(s) == GAME_MODE_SETUP ? \
DRAW_YOFFSET_SETUP(setup_mode) : \
menu.draw_yoffset[DRAW_MODE(s)])
+#define EXTRA_SPACING(s) ((s) == GAME_MODE_INFO ? \
+ EXTRA_SPACING_INFO(info_mode) : \
+ (s) == GAME_MODE_SETUP ? \
+ EXTRA_SPACING_SETUP(setup_mode) : \
+ menu.extra_spacing[DRAW_MODE(s)])
#define mSX (SX + DRAW_XOFFSET(game_status))
#define mSY (SY + DRAW_YOFFSET(game_status))
static char *main_text_level_imported_from = NULL;
static char *main_text_level_imported_by = NULL;
static char *main_text_level_tested_by = NULL;
+static char *main_text_title_1 = NULL;
+static char *main_text_title_2 = NULL;
+static char *main_text_title_3 = NULL;
struct MainControlInfo
{
{
MAIN_CONTROL_TITLE_1,
NULL, -1,
- &menu.main.text.title_1, &setup.internal.program_title,
+ &menu.main.text.title_1, &main_text_title_1,
NULL, NULL,
},
{
MAIN_CONTROL_TITLE_2,
NULL, -1,
- &menu.main.text.title_2, &setup.internal.program_copyright,
+ &menu.main.text.title_2, &main_text_title_2,
NULL, NULL,
},
{
MAIN_CONTROL_TITLE_3,
NULL, -1,
- &menu.main.text.title_3, &setup.internal.program_company,
+ &menu.main.text.title_3, &main_text_title_3,
NULL, NULL,
},
main_text_level_imported_by = leveldir_current->imported_by;
main_text_level_tested_by = leveldir_current->tested_by;
+ main_text_title_1 = getConfigProgramTitleString();
+ main_text_title_2 = getConfigProgramCopyrightString();
+ main_text_title_3 = getConfigProgramCompanyString();
+
/* set main control screen positions to dynamically determined values */
for (i = 0; main_controls[i].nr != -1; i++)
{
void DrawHeadline()
{
- DrawTextSCentered(MENU_TITLE1_YPOS, FONT_TITLE_1, getProgramTitleString());
- DrawTextSCentered(MENU_TITLE2_YPOS, FONT_TITLE_2,
- setup.internal.program_copyright);
+ DrawTextSCentered(MENU_TITLE1_YPOS, FONT_TITLE_1, main_text_title_1);
+ DrawTextSCentered(MENU_TITLE2_YPOS, FONT_TITLE_2, main_text_title_2);
}
void DrawTitleScreenImage(int nr, boolean initial)
if (redraw_mask & REDRAW_ALL)
fade_mask = REDRAW_ALL;
- if (CheckIfGlobalBorderHasChanged())
+ if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged())
fade_mask = REDRAW_ALL;
FadeOut(fade_mask);
if (redraw_mask & REDRAW_ALL)
fade_mask = REDRAW_ALL;
- if (CheckIfGlobalBorderHasChanged())
+ if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged())
fade_mask = REDRAW_ALL;
UnmapAllGadgets();
static int getMenuFontSpacing(int spacing_height, int font_nr)
{
- return (spacing_height < 0 ? ABS(spacing_height) * getFontHeight(font_nr) :
+ int font_spacing = getFontHeight(font_nr) + EXTRA_SPACING(game_status);
+
+ return (spacing_height < 0 ? ABS(spacing_height) * font_spacing :
spacing_height);
}
static int getMenuTextSpacing(int spacing_height, int font_nr)
{
- int extra_spacing = menu.text.all.extra_spacing;
-
- return getMenuFontSpacing(spacing_height, font_nr) + extra_spacing;
+ return (getMenuFontSpacing(spacing_height, font_nr) +
+ EXTRA_SPACING(game_status));
}
static int getMenuTextStep(int spacing_height, int font_nr)
void DrawInfoScreen_NotAvailable(char *text_title, char *text_error)
{
- int font_title = FONT_TEXT_1;
+ int font_title = MENU_INFO_FONT_TITLE;
int font_error = FONT_TEXT_2;
- int font_foot = FONT_TEXT_4;
- int spacing_title = menu.text.headline.large_spacing;
+ int font_foot = MENU_INFO_FONT_FOOT;
+ int spacing_title = menu.headline1_spacing_info[info_mode];
int ystep_title = getMenuTextStep(spacing_title, font_title);
int ystart1 = mSY - SY + 100;
int ystart2 = ystart1 + ystep_title;
{
static int infoscreen_step[MAX_INFO_ELEMENTS_ON_SCREEN];
static int infoscreen_frame[MAX_INFO_ELEMENTS_ON_SCREEN];
- int font_title = FONT_TEXT_1;
- int font_foot = FONT_TEXT_4;
+ int font_title = MENU_INFO_FONT_TITLE;
+ int font_foot = MENU_INFO_FONT_FOOT;
int xstart = mSX + MENU_SCREEN_INFO_XSTART;
int ystart1 = mSY - SY + MENU_SCREEN_INFO_YSTART1;
int ystart2 = mSY + MENU_SCREEN_INFO_YSTART2;
void HandleInfoScreen_Music(int button)
{
static struct MusicFileInfo *list = NULL;
- int font_title = FONT_TEXT_1;
- int font_head = FONT_TEXT_2;
- int font_text = FONT_TEXT_3;
- int font_foot = FONT_TEXT_4;
- int spacing_title = menu.text.headline.large_spacing;
- int spacing_head = menu.text.headline.normal_spacing;
- int spacing_line = menu.text.line.large_spacing;
+ int font_title = MENU_INFO_FONT_TITLE;
+ int font_head = MENU_INFO_FONT_HEAD;
+ int font_text = MENU_INFO_FONT_TEXT;
+ int font_foot = MENU_INFO_FONT_FOOT;
+ int spacing_title = menu.headline1_spacing_info[info_mode];
+ int spacing_head = menu.headline2_spacing_info[info_mode];
int ystep_title = getMenuTextStep(spacing_title, font_title);
int ystep_head = getMenuTextStep(spacing_head, font_head);
- int ystep_line = getMenuTextStep(spacing_line, font_text);
int ystart = mSY - SY + 100;
int ybottom = mSY - SY + SYSIZE - 20;
}
DrawTextFCentered(ystart, font_text, "\"%s\"", list->title);
- ystart += ystep_line;
+ ystart += ystep_head;
}
if (!strEqual(list->artist, UNKNOWN_NAME))
ystart += ystep_head;
DrawTextFCentered(ystart, font_text, "%s", list->artist);
- ystart += ystep_line;
+ ystart += ystep_head;
}
if (!strEqual(list->album, UNKNOWN_NAME))
ystart += ystep_head;
DrawTextFCentered(ystart, font_text, "\"%s\"", list->album);
- ystart += ystep_line;
+ ystart += ystep_head;
}
if (!strEqual(list->year, UNKNOWN_NAME))
ystart += ystep_head;
DrawTextFCentered(ystart, font_text, "%s", list->year);
- ystart += ystep_line;
+ ystart += ystep_head;
}
DrawTextSCentered(ybottom, FONT_TEXT_4,
static void DrawInfoScreen_CreditsScreen(int screen_nr)
{
- int font_title = FONT_TEXT_1;
- int font_head = FONT_TEXT_2;
- int font_text = FONT_TEXT_3;
- int font_foot = FONT_TEXT_4;
- int spacing_title = menu.text.headline.large_spacing;
- int spacing_head = menu.text.headline.normal_spacing;
- int spacing_para = menu.text.paragraph.large_spacing;
- int spacing_line = menu.text.line.large_spacing;
- int spacing_line1 = menu.text.line.normal_spacing;
+ int font_title = MENU_INFO_FONT_TITLE;
+ int font_head = MENU_INFO_FONT_HEAD;
+ int font_text = MENU_INFO_FONT_TEXT;
+ int font_foot = MENU_INFO_FONT_FOOT;
+ int spacing_title = menu.headline1_spacing_info[info_mode];
+ int spacing_head = menu.headline2_spacing_info[info_mode];
+ int spacing_para = menu.paragraph_spacing_info[info_mode];
+ int spacing_line = menu.line_spacing_info[info_mode];
int ystep_title = getMenuTextStep(spacing_title, font_title);
int ystep_head = getMenuTextStep(spacing_head, font_head);
int ystep_para = getMenuTextStep(spacing_para, font_text);
int ystep_line = getMenuTextStep(spacing_line, font_text);
- int ystep_line1 = getMenuTextStep(spacing_line1, font_text);
int ystart = mSY - SY + 100;
int ybottom = mSY - SY + SYSIZE - 20;
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Peter Liepa");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for creating");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"\"Boulder Dash\"");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"in the year");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"1984");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"published by");
ystart += ystep_head;
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Klaus Heinz & Volker Wertich");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for creating");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"\"Emerald Mine\"");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"in the year");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"1987");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"published by");
ystart += ystep_head;
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Michael Stopp & Philip Jespersen");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for creating");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"\"Supaplex\"");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"in the year");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"1991");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"published by");
ystart += ystep_head;
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Hiroyuki Imabayashi");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for creating");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"\"Sokoban\"");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"in the year");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"1982");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"published by");
ystart += ystep_head;
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Alan Bond");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"and");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"J\xfcrgen Bonhagen");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for the continuous creation");
- ystart += ystep_line1;
+ ystart += ystep_line;
DrawTextSCentered(ystart, font_head,
"of outstanding level sets");
}
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Peter Elzner");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for ideas and inspiration by");
ystart += ystep_head;
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Steffest");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for ideas and inspiration by");
ystart += ystep_head;
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"David Tritscher");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for the code base used for the");
- ystart += ystep_line1;
+ ystart += ystep_line;
DrawTextSCentered(ystart, font_head,
"native Emerald Mine engine");
}
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Guido Schulz");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for the initial DOS port");
ystart += ystep_para;
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"Karl H\xf6rnell");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"for some additional toons");
}
{
DrawTextSCentered(ystart, font_head,
"And not to forget:");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"Many thanks to");
ystart += ystep_head;
DrawTextSCentered(ystart, font_text,
"All those who contributed");
- ystart += ystep_line1;
+ ystart += ystep_line;
DrawTextSCentered(ystart, font_text,
"levels to this game");
- ystart += ystep_line1;
+ ystart += ystep_line;
DrawTextSCentered(ystart, font_text,
"since 1995");
}
void DrawInfoScreen_Program()
{
- int font_title = FONT_TEXT_1;
- int font_head = FONT_TEXT_2;
- int font_text = FONT_TEXT_3;
- int font_foot = FONT_TEXT_4;
- int spacing_title = menu.text.headline.large_spacing;
- int spacing_head = menu.text.headline.normal_spacing;
- int spacing_para = menu.text.paragraph.large_spacing;
- int spacing_line = menu.text.line.large_spacing;
- int spacing_line1 = menu.text.line.normal_spacing;
+ int font_title = MENU_INFO_FONT_TITLE;
+ int font_head = MENU_INFO_FONT_HEAD;
+ int font_text = MENU_INFO_FONT_TEXT;
+ int font_foot = MENU_INFO_FONT_FOOT;
+ int spacing_title = menu.headline1_spacing_info[info_mode];
+ int spacing_head = menu.headline2_spacing_info[info_mode];
+ int spacing_para = menu.paragraph_spacing_info[info_mode];
+ int spacing_line = menu.line_spacing_info[info_mode];
int ystep_title = getMenuTextStep(spacing_title, font_title);
int ystep_head = getMenuTextStep(spacing_head, font_head);
int ystep_para = getMenuTextStep(spacing_para, font_text);
int ystep_line = getMenuTextStep(spacing_line, font_text);
- int ystep_line1 = getMenuTextStep(spacing_line1, font_text);
int ystart = mSY - SY + 100;
int ybottom = mSY - SY + SYSIZE - 20;
DrawTextSCentered(ystart, font_head,
"This game is Freeware!");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"If you like it, send e-mail to:");
ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
"If you have created new levels,");
- ystart += ystep_line1;
+ ystart += ystep_line;
DrawTextSCentered(ystart, font_head,
"send them to me to include them!");
- ystart += ystep_line;
+ ystart += ystep_head;
DrawTextSCentered(ystart, font_head,
":-)");
void DrawInfoScreen_Version()
{
- int font_title = FONT_TEXT_1;
- int font_head = FONT_TEXT_2;
- int font_text = FONT_TEXT_3;
- int font_foot = FONT_TEXT_4;
- int spacing_title = menu.text.headline.large_spacing;
- int spacing_head = menu.text.headline.normal_spacing;
- int spacing_para = menu.text.paragraph.normal_spacing;
- int spacing_line = menu.text.line.normal_spacing;
+ int font_title = MENU_INFO_FONT_TITLE;
+ int font_head = MENU_INFO_FONT_HEAD;
+ int font_text = MENU_INFO_FONT_TEXT;
+ int font_foot = MENU_INFO_FONT_FOOT;
+ int spacing_title = menu.headline1_spacing_info[info_mode];
+ int spacing_head = menu.headline2_spacing_info[info_mode];
+ int spacing_para = menu.paragraph_spacing_info[info_mode];
+ int spacing_line = menu.line_spacing_info[info_mode];
int xstep = getFontWidth(font_text);
int ystep_title = getMenuTextStep(spacing_title, font_title);
int ystep_head = getMenuTextStep(spacing_head, font_head);
{
int fade_mask = REDRAW_FIELD;
- if (CheckIfGlobalBorderHasChanged())
+ if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged())
fade_mask = REDRAW_ALL;
if (strEqual((*ti_ptr)->subdir, STRING_TOP_DIRECTORY))
{
int fade_mask = REDRAW_FIELD;
- if (CheckIfGlobalBorderHasChanged())
+ if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged())
fade_mask = REDRAW_ALL;
UnmapAllGadgets();
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Game Speed");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_GAME_SPEED);
pushTreeInfo(&game_speeds, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Scroll Delay");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_SCROLL_DELAY);
pushTreeInfo(&scroll_delays, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Snapshot Mode");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_SNAPSHOT_MODE);
pushTreeInfo(&snapshot_modes, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Window Scaling");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_WINDOW_SIZE);
pushTreeInfo(&window_sizes, ti);
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Window Scaling");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_WINDOW_SIZE);
pushTreeInfo(&window_sizes, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Anti-Aliasing");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_SCALING_TYPE);
pushTreeInfo(&scaling_types, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Special Rendering");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_RENDERING);
pushTreeInfo(&rendering_modes, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Sound Volume");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_VOLUME_SIMPLE);
pushTreeInfo(&volumes_simple, ti);
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Sound Volume");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_VOLUME_SIMPLE);
pushTreeInfo(&volumes_simple, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Loops Volume");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_VOLUME_LOOPS);
pushTreeInfo(&volumes_loops, ti);
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Loops Volume");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_VOLUME_LOOPS);
pushTreeInfo(&volumes_loops, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Music Volume");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_VOLUME_MUSIC);
pushTreeInfo(&volumes_music, ti);
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Music Volume");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_VOLUME_MUSIC);
pushTreeInfo(&volumes_music, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Control Type");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_TOUCH_CONTROL);
pushTreeInfo(&touch_controls, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Move Distance");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_MOVE_DISTANCE);
pushTreeInfo(&move_distances, ti);
}
setString(&ti->identifier, identifier);
setString(&ti->name, name);
setString(&ti->name_sorting, name);
- setString(&ti->infotext, "Drop Distance");
+ setString(&ti->infotext, STR_SETUP_CHOOSE_DROP_DISTANCE);
pushTreeInfo(&drop_distances, ti);
}
static struct TokenInfo setup_info_main[] =
{
- { TYPE_ENTER_MENU, execSetupGame, "Game & Menu" },
- { TYPE_ENTER_MENU, execSetupEditor, "Editor" },
- { TYPE_ENTER_MENU, execSetupGraphics, "Graphics" },
- { TYPE_ENTER_MENU, execSetupSound, "Sound & Music" },
- { TYPE_ENTER_MENU, execSetupArtwork, "Custom Artwork" },
- { TYPE_ENTER_MENU, execSetupInput, "Input Devices" },
- { TYPE_ENTER_MENU, execSetupTouch, "Touch Controls" },
- { TYPE_ENTER_MENU, execSetupShortcuts, "Key Shortcuts" },
+ { TYPE_ENTER_MENU, execSetupGame, STR_SETUP_GAME },
+ { TYPE_ENTER_MENU, execSetupEditor, STR_SETUP_EDITOR },
+ { TYPE_ENTER_MENU, execSetupGraphics, STR_SETUP_GRAPHICS },
+ { TYPE_ENTER_MENU, execSetupSound, STR_SETUP_SOUND },
+ { TYPE_ENTER_MENU, execSetupArtwork, STR_SETUP_ARTWORK },
+ { TYPE_ENTER_MENU, execSetupInput, STR_SETUP_INPUT },
+ { TYPE_ENTER_MENU, execSetupTouch, STR_SETUP_TOUCH },
+ { TYPE_ENTER_MENU, execSetupShortcuts, STR_SETUP_SHORTCUTS },
{ TYPE_EMPTY, NULL, "" },
- { TYPE_LEAVE_MENU, execExitSetup, "Exit" },
- { TYPE_LEAVE_MENU, execSaveAndExitSetup, "Save and Exit" },
+ { TYPE_LEAVE_MENU, execExitSetup, STR_SETUP_EXIT },
+ { TYPE_LEAVE_MENU, execSaveAndExitSetup, STR_SETUP_SAVE_AND_EXIT },
{ 0, NULL, NULL }
};
char *title_string = NULL;
int i;
- if (CheckIfGlobalBorderHasChanged())
+ if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged())
fade_mask = REDRAW_ALL;
UnmapAllGadgets();
if (setup_mode == SETUP_MODE_MAIN)
{
setup_info = setup_info_main;
- title_string = "Setup";
+ title_string = STR_SETUP_MAIN;
}
else if (setup_mode == SETUP_MODE_GAME)
{
setup_info = setup_info_game;
- title_string = "Setup Game";
+ title_string = STR_SETUP_GAME;
}
else if (setup_mode == SETUP_MODE_EDITOR)
{
setup_info = setup_info_editor;
- title_string = "Setup Editor";
+ title_string = STR_SETUP_EDITOR;
}
else if (setup_mode == SETUP_MODE_GRAPHICS)
{
setup_info = setup_info_graphics;
- title_string = "Setup Graphics";
+ title_string = STR_SETUP_GRAPHICS;
}
else if (setup_mode == SETUP_MODE_SOUND)
{
setup_info = setup_info_sound;
- title_string = "Setup Sound";
+ title_string = STR_SETUP_SOUND;
}
else if (setup_mode == SETUP_MODE_ARTWORK)
{
setup_info = setup_info_artwork;
- title_string = "Custom Artwork";
+ title_string = STR_SETUP_ARTWORK;
}
else if (setup_mode == SETUP_MODE_TOUCH)
{
setup_info = setup_info_touch;
- title_string = "Setup Touch Ctrls";
+ title_string = STR_SETUP_TOUCH;
if (strEqual(setup.touch.control_type, TOUCH_CONTROL_WIPE_GESTURES))
setup_info = setup_info_touch_wipe_gestures;
else if (setup_mode == SETUP_MODE_SHORTCUTS)
{
setup_info = setup_info_shortcuts;
- title_string = "Setup Shortcuts";
+ title_string = STR_SETUP_SHORTCUTS;
}
else if (setup_mode == SETUP_MODE_SHORTCUTS_1)
{
setup_info = setup_info_shortcuts_1;
- title_string = "Setup Shortcuts";
+ title_string = STR_SETUP_SHORTCUTS;
}
else if (setup_mode == SETUP_MODE_SHORTCUTS_2)
{
setup_info = setup_info_shortcuts_2;
- title_string = "Setup Shortcuts";
+ title_string = STR_SETUP_SHORTCUTS;
}
else if (setup_mode == SETUP_MODE_SHORTCUTS_3)
{
setup_info = setup_info_shortcuts_3;
- title_string = "Setup Shortcuts";
+ title_string = STR_SETUP_SHORTCUTS;
}
else if (setup_mode == SETUP_MODE_SHORTCUTS_4)
{
setup_info = setup_info_shortcuts_4;
- title_string = "Setup Shortcuts";
+ title_string = STR_SETUP_SHORTCUTS;
}
else if (setup_mode == SETUP_MODE_SHORTCUTS_5)
{
setup_info = setup_info_shortcuts_5;
- title_string = "Setup Shortcuts";
+ title_string = STR_SETUP_SHORTCUTS;
}
/* use modified setup info without setup entries marked as hidden */
setup_info = setup_info_input;
- DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, "Setup Input");
+ DrawTextSCentered(mSY - SY + 16, FONT_TITLE_1, STR_SETUP_INPUT);
for (i = 0; setup_info[i].type != 0 && i < MAX_MENU_ENTRIES_ON_SCREEN; i++)
{
int alpha = 200, alpha_step = -1;
int alpha_ticks = 0;
char mapping[4096], temp[4096];
- int font_name = FONT_TEXT_1;
- int font_info = FONT_REQUEST;
- int spacing_name = menu.text.line.normal_spacing;
- int spacing_line = menu.text.line.normal_spacing;
- int spacing_line2 = menu.text.line.large_spacing;
- int ystep_name = getMenuTextStep(spacing_name, font_name);
- int ystep_line = getMenuTextStep(spacing_line, font_info);
- int ystep_line2 = getMenuTextStep(spacing_line2, font_info);
- // int ystep1 = getFontHeight(font_name) + 2;
- // int ystep2 = getFontHeight(font_info) + 2;
+ int font_name = MENU_SETUP_FONT_TITLE;
+ int font_info = MENU_SETUP_FONT_TEXT;
+ int spacing_name = menu.line_spacing_setup[SETUP_MODE_INPUT];
+ int spacing_line = menu.line_spacing_setup[SETUP_MODE_INPUT];
+ int spacing_para = menu.paragraph_spacing_setup[SETUP_MODE_INPUT];
+ int ystep_name = getMenuTextStep(spacing_name, font_name);
+ int ystep_line = getMenuTextStep(spacing_line, font_info);
+ int ystep_para = getMenuTextStep(spacing_para, font_info);
int i, j;
struct
ystart2 += ystep_line;
DrawTextSCentered(ystart2, font_info,
"(Your controller may look different.)");
- ystart2 += ystep_line2;
+ ystart2 += ystep_para;
#if defined(PLATFORM_ANDROID)
DrawTextSCentered(ystart2, font_info,