X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=098939eb62383223979920ef043e15be49c30d07;hb=2189cd97616201ebb5d6cea37d2a72251ea9be50;hp=7513842e43eb8781fb8c469c05833be96cc0c7ec;hpb=c8cce6c46873bf9d4121703b53585905edd9b154;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 7513842e..098939eb 100644 --- a/src/screens.c +++ b/src/screens.c @@ -82,6 +82,32 @@ #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) @@ -103,13 +129,16 @@ #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_SPACE_LEFT (menu.left_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_YSTART1 MENU_SCREEN_INFO_SPACE_TOP #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_YBOTTOM (SYSIZE - MENU_SCREEN_INFO_SPACE_BOTTOM) #define MENU_SCREEN_INFO_YSIZE (MENU_SCREEN_INFO_YBOTTOM - \ MENU_SCREEN_INFO_YSTART2 - \ TILEY / 2) @@ -277,7 +306,7 @@ static struct char *text; } scaling_types_list[] = { - { SCALING_QUALITY_NEAREST, "None" }, + { SCALING_QUALITY_NEAREST, "Off" }, { SCALING_QUALITY_LINEAR, "Linear" }, { SCALING_QUALITY_BEST, "Anisotropic" }, @@ -395,6 +424,7 @@ static struct 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" }, @@ -555,6 +585,9 @@ static char *main_text_level_year = NULL; 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 { @@ -704,19 +737,19 @@ static struct MainControlInfo main_controls[] = { 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, }, @@ -988,6 +1021,10 @@ static void InitializeMainControls() 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++) { @@ -1296,9 +1333,8 @@ static void drawChooseTreeCursor(int ypos, boolean active) 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) @@ -1486,7 +1522,7 @@ void DrawMainMenu() if (redraw_mask & REDRAW_ALL) fade_mask = REDRAW_ALL; - if (CheckIfGlobalBorderHasChanged()) + if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged()) fade_mask = REDRAW_ALL; FadeOut(fade_mask); @@ -2186,7 +2222,7 @@ static void DrawInfoScreen_Main() if (redraw_mask & REDRAW_ALL) fade_mask = REDRAW_ALL; - if (CheckIfGlobalBorderHasChanged()) + if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged()) fade_mask = REDRAW_ALL; UnmapAllGadgets(); @@ -2567,9 +2603,9 @@ void DrawInfoScreen_NotAvailable(char *text_title, char *text_error) 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 ystart1 = mSY - SY + MENU_SCREEN_INFO_YSTART1; int ystart2 = ystart1 + ystep_title; - int ybottom = mSY - SY + SYSIZE - 20; + int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM; SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO); @@ -2593,7 +2629,7 @@ void DrawInfoScreen_HelpAnim(int start, int max_anims, boolean init) static int infoscreen_frame[MAX_INFO_ELEMENTS_ON_SCREEN]; int font_title = MENU_INFO_FONT_TITLE; int font_foot = MENU_INFO_FONT_FOOT; - int xstart = mSX + MENU_SCREEN_INFO_XSTART; + int xstart = mSX + MENU_SCREEN_INFO_SPACE_LEFT; int ystart1 = mSY - SY + MENU_SCREEN_INFO_YSTART1; int ystart2 = mSY + MENU_SCREEN_INFO_YSTART2; int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM; @@ -2723,11 +2759,12 @@ void DrawInfoScreen_HelpText(int element, int action, int direction, int ypos) int font_width = getFontWidth(font_nr); int font_height = getFontHeight(font_nr); int yoffset = (TILEX - 2 * font_height) / 2; - int xstart = mSX + MINI_TILEX + TILEX + MINI_TILEX; + int xstart = mSX + MENU_SCREEN_INFO_SPACE_LEFT + TILEX + MINI_TILEX; int ystart = mSY + MENU_SCREEN_INFO_YSTART2 + yoffset; int ystep = TILEY + 4; - int pad_x = xstart - SX; - int max_chars_per_line = (SXSIZE - pad_x - MINI_TILEX) / font_width; + int pad_left = xstart - SX; + 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 = 2; char *text = NULL; @@ -2886,8 +2923,8 @@ void HandleInfoScreen_Music(int button) 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 ystart = mSY - SY + 100; - int ybottom = mSY - SY + SYSIZE - 20; + int ystart = mSY - SY + MENU_SCREEN_INFO_YSTART1; + int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM; if (button == MB_MENU_INITIALIZE) { @@ -3048,8 +3085,8 @@ static void DrawInfoScreen_CreditsScreen(int screen_nr) 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 ystart = mSY - SY + 100; - int ybottom = mSY - SY + SYSIZE - 20; + int ystart = mSY - SY + MENU_SCREEN_INFO_YSTART1; + int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM; ClearField(); DrawHeadline(); @@ -3349,8 +3386,8 @@ void DrawInfoScreen_Program() 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 ystart = mSY - SY + 100; - int ybottom = mSY - SY + SYSIZE - 20; + int ystart = mSY - SY + MENU_SCREEN_INFO_YSTART1; + int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM; SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_PROGRAM); @@ -3435,8 +3472,8 @@ void DrawInfoScreen_Version() 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 ystart = mSY - SY + 100; - int ybottom = mSY - SY + SYSIZE - 20; + int ystart = mSY - SY + MENU_SCREEN_INFO_YSTART1; + int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM; int xstart1 = mSX - SX + 2 * xstep; int xstart2 = mSX - SX + 18 * xstep; int xstart3 = mSX - SX + 28 * xstep; @@ -3622,8 +3659,8 @@ void DrawInfoScreen_LevelSet() struct TitleMessageInfo *tmi = &readme; char *filename = getLevelSetInfoFilename(); char *title = "Level Set Information:"; - int ystart = mSY - SY + 100; - int ybottom = mSY - SY + SYSIZE - 20; + int ystart = mSY - SY + MENU_SCREEN_INFO_YSTART1; + int ybottom = mSY - SY + MENU_SCREEN_INFO_YBOTTOM; if (filename == NULL) { @@ -3655,7 +3692,7 @@ void DrawInfoScreen_LevelSet() /* if height set to "-1", automatically determine by playfield height */ if (tmi->height == -1) - tmi->height = SYSIZE - 20 - tmi->y - 10; + tmi->height = MENU_SCREEN_INFO_YBOTTOM - tmi->y - 10; /* if chars set to "-1", automatically determine by text and font width */ if (tmi->chars == -1) @@ -3838,7 +3875,7 @@ static void DrawChooseTree(TreeInfo **ti_ptr) { int fade_mask = REDRAW_FIELD; - if (CheckIfGlobalBorderHasChanged()) + if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged()) fade_mask = REDRAW_ALL; if (strEqual((*ti_ptr)->subdir, STRING_TOP_DIRECTORY)) @@ -4357,7 +4394,7 @@ void DrawHallOfFame(int highlight_position) { int fade_mask = REDRAW_FIELD; - if (CheckIfGlobalBorderHasChanged()) + if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged()) fade_mask = REDRAW_ALL; UnmapAllGadgets(); @@ -4553,7 +4590,7 @@ static void execSetupGame_setGameSpeeds() 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); } @@ -4603,7 +4640,7 @@ static void execSetupGame_setScrollDelays() 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); } @@ -4653,7 +4690,7 @@ static void execSetupGame_setSnapshotModes() 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); } @@ -4750,7 +4787,7 @@ static void execSetupGraphics_setWindowSizes(boolean update_list) 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); @@ -4775,7 +4812,7 @@ static void execSetupGraphics_setWindowSizes(boolean update_list) 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); } @@ -4827,7 +4864,7 @@ static void execSetupGraphics_setScalingTypes() 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); } @@ -4877,7 +4914,7 @@ static void execSetupGraphics_setRenderingModes() 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); } @@ -5004,7 +5041,7 @@ static void execSetupSound() 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); @@ -5029,7 +5066,7 @@ static void execSetupSound() 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); } @@ -5072,7 +5109,7 @@ static void execSetupSound() 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); @@ -5097,7 +5134,7 @@ static void execSetupSound() 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); } @@ -5140,7 +5177,7 @@ static void execSetupSound() 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); @@ -5165,7 +5202,7 @@ static void execSetupSound() 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); } @@ -5244,7 +5281,7 @@ static void execSetupTouch() 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); } @@ -5286,7 +5323,7 @@ static void execSetupTouch() 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); } @@ -5329,7 +5366,7 @@ static void execSetupTouch() 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); } @@ -5477,17 +5514,17 @@ static void execSaveAndExitSetup() 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 } }; @@ -6010,7 +6047,7 @@ static void DrawSetupScreen_Generic() char *title_string = NULL; int i; - if (CheckIfGlobalBorderHasChanged()) + if (CheckIfGlobalBorderOrPlayfieldViewportHasChanged()) fade_mask = REDRAW_ALL; UnmapAllGadgets(); @@ -6036,37 +6073,37 @@ static void DrawSetupScreen_Generic() 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; @@ -6074,32 +6111,32 @@ static void DrawSetupScreen_Generic() 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 */ @@ -6147,7 +6184,7 @@ void DrawSetupScreen_Input() 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++) { @@ -7058,6 +7095,9 @@ void HandleSetupScreen(int mx, int my, int dx, int dy, int button) void HandleGameActions() { + if (game.restart_game_message != NULL) + RequestRestartGame(game.restart_game_message); + if (game_status != GAME_MODE_PLAYING) return;