added special handling of BD intermission levels when skipping levels
authorHolger Schemel <info@artsoft.org>
Fri, 8 Mar 2024 18:52:01 +0000 (19:52 +0100)
committerHolger Schemel <info@artsoft.org>
Fri, 8 Mar 2024 18:52:01 +0000 (19:52 +0100)
src/screens.c

index 2a3fe054684971063b05ca295dd01c010f7b2b95..f623a7a551c41ab14bc3e0799f5511d35e1de7cc 100644 (file)
@@ -2131,8 +2131,10 @@ static void HandleMainMenu_SelectLevel(int step, int direction,
   if (setup.handicap && new_level_nr > leveldir_current->handicap_level)
   {
     // skipping levels is only allowed when trying to skip single level
-    if (setup.skip_levels && new_level_nr == old_level_nr + 1 &&
-       Request("Level still unsolved! Skip it anyway?", REQ_ASK))
+    // (also, skipping BD style intermission levels is always possible)
+    if (new_level_nr == old_level_nr + 1 &&
+       (level.bd_intermission ||
+        (setup.skip_levels && Request("Level still unsolved! Skip it anyway?", REQ_ASK))))
     {
       leveldir_current->handicap_level++;
       SaveLevelSetup_SeriesInfo();