X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fscreens.c;h=c9c2ba4a29799f65f8be8025408f260e9e4ee051;hb=ce49fdb87ac8d3d9f258882f3072cad48a940044;hp=6757061efb78766868ebd0b08f354ca4073d4aca;hpb=9fa601d400aa71f38fcdc19eaf107f42e0d2a2a3;p=rocksndiamonds.git diff --git a/src/screens.c b/src/screens.c index 6757061e..c9c2ba4a 100644 --- a/src/screens.c +++ b/src/screens.c @@ -504,9 +504,6 @@ 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 = PROGRAM_TITLE_STRING; -static char *main_text_title_2 = PROGRAM_COPYRIGHT_STRING; -static char *main_text_title_3 = PROGRAM_GAME_BY_STRING; struct MainControlInfo { @@ -656,19 +653,19 @@ static struct MainControlInfo main_controls[] = { MAIN_CONTROL_TITLE_1, NULL, -1, - &menu.main.text.title_1, &main_text_title_1, + &menu.main.text.title_1, &setup.internal.program_title, NULL, NULL, }, { MAIN_CONTROL_TITLE_2, NULL, -1, - &menu.main.text.title_2, &main_text_title_2, + &menu.main.text.title_2, &setup.internal.program_copyright, NULL, NULL, }, { MAIN_CONTROL_TITLE_3, NULL, -1, - &menu.main.text.title_3, &main_text_title_3, + &menu.main.text.title_3, &setup.internal.program_company, NULL, NULL, }, @@ -1212,8 +1209,9 @@ static void drawChooseTreeCursor(int ypos, boolean active) void DrawHeadline() { - DrawTextSCentered(MENU_TITLE1_YPOS, FONT_TITLE_1, PROGRAM_TITLE_STRING); - DrawTextSCentered(MENU_TITLE2_YPOS, FONT_TITLE_2, PROGRAM_COPYRIGHT_STRING); + DrawTextSCentered(MENU_TITLE1_YPOS, FONT_TITLE_1, getProgramTitleString()); + DrawTextSCentered(MENU_TITLE2_YPOS, FONT_TITLE_2, + setup.internal.program_copyright); } int effectiveGameStatus() @@ -1473,11 +1471,11 @@ void DrawMainMenu() DrawMainMenuExt(REDRAW_ALL, FALSE); } -#if defined(CREATE_SPECIAL_EDITION_RND_JUE) static void gotoTopLevelDir() { - /* move upwards to top level directory */ - while (leveldir_current->node_parent) + /* move upwards until inside (but not above) top level directory */ + while (leveldir_current->node_parent && + !strEqual(leveldir_current->node_parent->subdir, STRING_TOP_DIRECTORY)) { /* write a "path" into level tree for easy navigation to last level */ if (leveldir_current->node_parent->node_group->cl_first == -1) @@ -1502,7 +1500,6 @@ static void gotoTopLevelDir() leveldir_current = leveldir_current->node_parent; } } -#endif void HandleTitleScreen(int mx, int my, int dx, int dy, int button) { @@ -1764,7 +1761,14 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) button_pressed = TRUE; if (button_pressed != button_pressed_last) + { DrawCursorAndText_Main(choice, TRUE, button_pressed); + + if (button_pressed) + PlaySound(SND_MENU_BUTTON_PRESSING); + else + PlaySound(SND_MENU_BUTTON_RELEASING); + } } else if (dx || dy) /* keyboard input */ { @@ -1828,9 +1832,8 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button) SaveLevelSetup_LastSeries(); SaveLevelSetup_SeriesInfo(); -#if defined(CREATE_SPECIAL_EDITION_RND_JUE) - gotoTopLevelDir(); -#endif + if (setup.internal.choose_from_top_leveldir) + gotoTopLevelDir(); ChangeViewportPropertiesIfNeeded(); @@ -2848,11 +2851,11 @@ void DrawInfoScreen_Program() DrawTextSCentered(ystart2 + 1 * ystep, FONT_TEXT_2, "If you like it, send e-mail to:"); DrawTextSCentered(ystart2 + 2 * ystep, FONT_TEXT_3, - PROGRAM_EMAIL_STRING); + setup.internal.program_email); DrawTextSCentered(ystart2 + 4 * ystep, FONT_TEXT_2, "More information and levels:"); DrawTextSCentered(ystart2 + 5 * ystep, FONT_TEXT_3, - PROGRAM_WEBSITE_STRING); + setup.internal.program_website); DrawTextSCentered(ystart2 + 7 * ystep, FONT_TEXT_2, "If you have created new levels,"); DrawTextSCentered(ystart2 + 8 * ystep, FONT_TEXT_2, @@ -2924,7 +2927,7 @@ void DrawInfoScreen_Version() DrawTextSCentered(ystart1, FONT_TEXT_1, "Version Information:"); DrawTextF(xstart1, ystart2, font_header, "Name"); - DrawTextF(xstart2, ystart2, font_text, PROGRAM_TITLE_STRING); + DrawTextF(xstart2, ystart2, font_text, getProgramTitleString()); ystart2 += ystep; DrawTextF(xstart1, ystart2, font_header, "Version"); @@ -3451,7 +3454,7 @@ static void drawChooseTreeInfo(int entry_pos, TreeInfo *ti) node->class_desc); /* let BackToFront() redraw only what is needed */ - redraw_mask = last_redraw_mask | REDRAW_TILES; + redraw_mask = last_redraw_mask; for (x = 0; x < SCR_FIELDX; x++) MarkTileDirty(x, 1); } @@ -3846,7 +3849,7 @@ void DrawHallOfFame(int highlight_position) SetDrawDeactivationMask(REDRAW_NONE); SetDrawBackgroundMask(REDRAW_FIELD); - CloseDoor(DOOR_CLOSE_2); + CloseDoor(DOOR_CLOSE_ALL); if (highlight_position < 0) LoadScore(level_nr);