// store first level of this level set for "level_nr" style animations
SetAnimationFirstLevel(leveldir_current->first_level);
+ // level_nr may have been set to value over handicap with level editor
+ if (setup.handicap && level_nr > leveldir_current->handicap_level)
+ level_nr = leveldir_current->handicap_level;
+
+ LoadLevel(level_nr);
+ LoadScore(level_nr);
+
+ SaveLevelSetup_SeriesInfo();
+
// needed if last screen (level choice) changed graphics, sounds or music
ReloadCustomArtwork(0);
SetDrawtoField(DRAW_TO_BACKBUFFER);
- // level_nr may have been set to value over handicap with level editor
- if (setup.handicap && level_nr > leveldir_current->handicap_level)
- level_nr = leveldir_current->handicap_level;
-
- LoadLevel(level_nr);
- LoadScore(level_nr);
-
- SaveLevelSetup_SeriesInfo();
-
// set this after "ChangeViewportPropertiesIfNeeded()" (which may reset it)
SetDrawDeactivationMask(REDRAW_NONE);
SetDrawBackgroundMask(REDRAW_FIELD);
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();
{ TYPE_SWITCH, &setup.bd_skip_uncovering, "Skip (un)covering screen:" },
{ TYPE_SWITCH, &setup.bd_skip_hatching, "Skip hatching player:" },
{ TYPE_SWITCH, &setup.bd_scroll_delay, "Scroll Delay:" },
+ { TYPE_YES_NO_AUTO, &setup.bd_smooth_movements, "Smooth Element Movement:" },
{ TYPE_EMPTY, NULL, "" },
{ TYPE_HEADLINE, NULL, "Emerald Mine" },
{ TYPE_SWITCH, &setup.forced_scroll_delay, "Scroll Delay:" },
MapGadget(screen_gadget[scrollbar_info[i].gadget_id]);
}
-static void UnmapScreenGadgets()
+static void UnmapScreenGadgets(void)
{
int i;