X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fscreens.c;h=a2f63bcdb852779816a4ed9869e4029f25a18b3c;hp=d9814948d7e21dc0bf15325e316d5b97d65d9115;hb=89401883eeb279c7101b1c635477a9bccc123d21;hpb=689f2d77f8684374e0c70c9842db4f131a61f1e8 diff --git a/src/screens.c b/src/screens.c index d9814948..a2f63bcd 100644 --- a/src/screens.c +++ b/src/screens.c @@ -1408,7 +1408,7 @@ void DrawMainMenu() /* do not fade out here -- function may continue and fade on editor screen */ UnmapAllGadgets(); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); ExpireSoundLoops(FALSE); @@ -1452,8 +1452,6 @@ void DrawMainMenu() if (CheckTitleScreen(levelset_has_changed)) { - game_status_last_screen = GAME_MODE_MAIN; - SetGameStatus(GAME_MODE_TITLE); DrawTitleScreen(); @@ -1506,8 +1504,7 @@ void DrawMainMenu() LoadTape(level_nr); DrawCompleteVideoDisplay(); - PlayMenuSound(); - PlayMenuMusic(); + PlayMenuSoundsAndMusic(); /* create gadgets for main menu screen */ FreeScreenGadgets(); @@ -1602,12 +1599,15 @@ void HandleTitleScreen(int mx, int my, int dx, int dy, int button) /* switch game mode from title screen mode back to info screen mode */ SetGameStatus(GAME_MODE_INFO); + /* store that last screen was info screen, not main menu screen */ + game_status_last_screen = GAME_MODE_INFO; + DrawInfoScreen_NotAvailable("Title screen information:", "No title screen for this level set."); return; } - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); } FadeOut(REDRAW_ALL); @@ -1705,7 +1705,7 @@ void HandleTitleScreen(int mx, int my, int dx, int dy, int button) } else { - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); return_to_main_menu = TRUE; } @@ -2160,7 +2160,7 @@ static void DrawInfoScreen_Main() fade_mask = REDRAW_ALL; UnmapAllGadgets(); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); FreeScreenGadgets(); CreateScreenGadgets(); @@ -2199,8 +2199,7 @@ static void DrawInfoScreen_Main() MapScreenGadgets(max_info_info); - PlayMenuSound(); - PlayMenuMusic(); + PlayMenuSoundsAndMusic(); DrawMaskedBorder(fade_mask); @@ -2678,8 +2677,6 @@ void DrawInfoScreen_HelpText(int element, int action, int direction, int ypos) void DrawInfoScreen_TitleScreen() { - game_status_last_screen = GAME_MODE_INFO; - SetGameStatus(GAME_MODE_TITLE); DrawTitleScreen(); @@ -2754,7 +2751,7 @@ void HandleInfoScreen_Elements(int button) if (page >= num_pages) { - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); info_mode = INFO_MODE_MAIN; DrawInfoScreen(); @@ -2813,7 +2810,7 @@ void HandleInfoScreen_Music(int button) if (list == NULL) { - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); ClearField(); DrawHeadline(); @@ -2832,7 +2829,7 @@ void HandleInfoScreen_Music(int button) { PlaySound(SND_MENU_ITEM_SELECTING); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); info_mode = INFO_MODE_MAIN; DrawInfoScreen(); @@ -2853,7 +2850,7 @@ void HandleInfoScreen_Music(int button) if (list == NULL) { - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); info_mode = INFO_MODE_MAIN; DrawInfoScreen(); @@ -2861,7 +2858,7 @@ void HandleInfoScreen_Music(int button) return; } - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); if (list != music_file_info) FadeSetNextScreen(); @@ -3116,7 +3113,7 @@ void DrawInfoScreen_Credits() { SetMainBackgroundImageIfDefined(IMG_BACKGROUND_INFO_CREDITS); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); FadeOut(REDRAW_FIELD); @@ -3157,7 +3154,7 @@ void HandleInfoScreen_Credits(int button) if (screen_nr >= num_screens) { - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); info_mode = INFO_MODE_MAIN; DrawInfoScreen(); @@ -3236,7 +3233,7 @@ void HandleInfoScreen_Program(int button) { PlaySound(SND_MENU_ITEM_SELECTING); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); info_mode = INFO_MODE_MAIN; DrawInfoScreen(); @@ -3294,8 +3291,8 @@ void DrawInfoScreen_Version() DrawTextF(xstart2, ystart2, font_text, TARGET_STRING); ystart2 += ystep; - DrawTextF(xstart1, ystart2, font_header, "Compile time"); - DrawTextF(xstart2, ystart2, font_text, getCompileDateString()); + DrawTextF(xstart1, ystart2, font_header, "Source date"); + DrawTextF(xstart2, ystart2, font_text, getSourceDateString()); ystart2 += 3 * ystep; DrawTextF(xstart1, ystart2, font_header, "Library"); @@ -3411,7 +3408,7 @@ void HandleInfoScreen_Version(int button) { PlaySound(SND_MENU_ITEM_SELECTING); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); info_mode = INFO_MODE_MAIN; DrawInfoScreen(); @@ -3499,7 +3496,7 @@ void HandleInfoScreen_LevelSet(int button) { PlaySound(SND_MENU_ITEM_SELECTING); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); info_mode = INFO_MODE_MAIN; DrawInfoScreen(); @@ -3532,10 +3529,7 @@ static void DrawInfoScreen() if (info_mode != INFO_MODE_MAIN && info_mode != INFO_MODE_TITLE && info_mode != INFO_MODE_MUSIC) - { - PlayMenuSound(); - PlayMenuMusic(); - } + PlayMenuSoundsAndMusic(); } void HandleInfoScreen(int mx, int my, int dx, int dy, int button) @@ -4065,12 +4059,11 @@ static void HandleChooseTree(int mx, int my, int dx, int dy, int button, void DrawChooseLevelSet() { - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); DrawChooseTree(&leveldir_current); - PlayMenuSound(); - PlayMenuMusic(); + PlayMenuSoundsAndMusic(); } void HandleChooseLevelSet(int mx, int my, int dx, int dy, int button) @@ -4082,7 +4075,7 @@ void DrawChooseLevelNr() { int i; - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); if (level_number != NULL) { @@ -4130,8 +4123,7 @@ void DrawChooseLevelNr() DrawChooseTree(&level_number_current); - PlayMenuSound(); - PlayMenuMusic(); + PlayMenuSoundsAndMusic(); } void HandleChooseLevelNr(int mx, int my, int dx, int dy, int button) @@ -4147,7 +4139,7 @@ void DrawHallOfFame(int highlight_position) fade_mask = REDRAW_ALL; UnmapAllGadgets(); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); /* (this is needed when called from GameEnd() after winning a game) */ KeyboardAutoRepeatOn(); @@ -4167,8 +4159,7 @@ void DrawHallOfFame(int highlight_position) /* needed if different viewport properties defined for scores */ ChangeViewportPropertiesIfNeeded(); - PlayMenuSound(); - PlayMenuMusic(); + PlayMenuSoundsAndMusic(); OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW); @@ -5426,6 +5417,16 @@ static struct TokenInfo setup_info_input[] = }; static struct TokenInfo setup_info_touch[] = +{ + { TYPE_ENTER_LIST, execSetupChooseTouchControls, "Touch Control Type:" }, + { TYPE_STRING, &touch_controls_text, "" }, + { TYPE_EMPTY, NULL, "" }, + { TYPE_LEAVE_MENU, execSetupMain, "Back" }, + + { 0, NULL, NULL } +}; + +static struct TokenInfo setup_info_touch_wipe_gestures[] = { { TYPE_ENTER_LIST, execSetupChooseTouchControls, "Touch Control Type:" }, { TYPE_STRING, &touch_controls_text, "" }, @@ -5772,7 +5773,7 @@ static void DrawSetupScreen_Generic() fade_mask = REDRAW_ALL; UnmapAllGadgets(); - FadeSoundsAndMusic(); + FadeMenuSoundsAndMusic(); FreeScreenGadgets(); CreateScreenGadgets(); @@ -5825,6 +5826,9 @@ static void DrawSetupScreen_Generic() { setup_info = setup_info_touch; title_string = "Setup Touch Ctrls"; + + if (strEqual(setup.touch.control_type, TOUCH_CONTROL_WIPE_GESTURES)) + setup_info = setup_info_touch_wipe_gestures; } else if (setup_mode == SETUP_MODE_SHORTCUTS) { @@ -6526,8 +6530,7 @@ void DrawSetupScreen() else DrawSetupScreen_Generic(); - PlayMenuSound(); - PlayMenuMusic(); + PlayMenuSoundsAndMusic(); } void RedrawSetupScreenAfterFullscreenToggle()