ExpireSoundLoops(TRUE);
- FadeOut(fade_mask);
+ if (!level_editor_test_game)
+ FadeOut(fade_mask);
/* needed if different viewport properties defined for playing */
ChangeViewportPropertiesIfNeeded();
ClearField();
- OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
-
DrawCompleteVideoDisplay();
+ OpenDoor(GetDoorState() | DOOR_NO_DELAY | DOOR_FORCE_REDRAW);
+
InitGameEngine();
InitGameControlValues();
player->mouse_action.lx = 0;
player->mouse_action.ly = 0;
player->mouse_action.button = 0;
+ player->mouse_action.button_hint = 0;
player->effective_mouse_action.lx = 0;
player->effective_mouse_action.ly = 0;
player->effective_mouse_action.button = 0;
+ player->effective_mouse_action.button_hint = 0;
player->score = 0;
player->score_final = 0;
OpenDoor(DOOR_OPEN_ALL);
- PlaySound(SND_GAME_STARTING);
-
- if (setup.sound_music)
- PlayLevelMusic();
-
KeyboardAutoRepeatOffUnlessAutoplay();
#if DEBUG_INIT_PLAYER
InitGameActions_MM();
SaveEngineSnapshotToListInitial();
+
+ if (!game.restart_level)
+ {
+ PlaySound(SND_GAME_STARTING);
+
+ if (setup.sound_music)
+ PlayLevelMusic();
+ }
}
void UpdateEngineValues(int actual_scroll_x, int actual_scroll_y,
if (!global.use_envelope_request)
CloseDoor(DOOR_CLOSE_1);
- SaveTapeChecked(tape.level_nr); /* ask to save tape */
+ SaveTapeChecked_LevelSolved(tape.level_nr); /* ask to save tape */
}
/* if no tape is to be saved, close both doors simultaneously */