summaryrefslogtreecommitdiff
path: root/src/sceneGlue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sceneGlue.cpp')
-rw-r--r--src/sceneGlue.cpp33
1 files changed, 24 insertions, 9 deletions
diff --git a/src/sceneGlue.cpp b/src/sceneGlue.cpp
index 3e2167a..fef5ad9 100644
--- a/src/sceneGlue.cpp
+++ b/src/sceneGlue.cpp
@@ -5,18 +5,33 @@ extern char CurrentLevel, CurrentWorld;
extern u8 MaybeFinishingLevel[2];
extern "C" void ExitStageReal(int scene, int sceneParams, int powerupStoreType, int wipe);
+
extern "C" void ExitStageWrapper(int scene, int sceneParams, int powerupStoreType, int wipe) {
- if (scene == WORLD_MAP && powerupStoreType == BEAT_LEVEL) {
- if (CurrentWorld == 6 && CurrentLevel == STAGE_DOOMSHIP) {
- if (MaybeFinishingLevel[0] == 6 && MaybeFinishingLevel[1] == STAGE_DOOMSHIP) {
- // We're done with 7-38
- ExitStage(MOVIE, 0x10000000, powerupStoreType, wipe);
- return;
- }
- }
- }
+ // TO RE-ENABLE CUTSCENES, UNCOMMENT THIS
+ // if (scene == WORLD_MAP && powerupStoreType == BEAT_LEVEL) {
+ // if (CurrentWorld == 6 && CurrentLevel == STAGE_DOOMSHIP) {
+ // if (MaybeFinishingLevel[0] == 6 && MaybeFinishingLevel[1] == STAGE_DOOMSHIP) {
+ // // We're done with 7-38
+ // ExitStage(MOVIE, 0x10000000, powerupStoreType, wipe);
+ // return;
+ // }
+ // }
+ // }
ExitStageReal(scene, sceneParams, powerupStoreType, wipe);
}
+extern "C" void EnterOpeningLevel() {
+ DontShowPreGame = true;
+ RESTART_CRSIN_LevelStartStruct.purpose = 0;
+ RESTART_CRSIN_LevelStartStruct.world1 = 1;
+ RESTART_CRSIN_LevelStartStruct.world2 = 1;
+ RESTART_CRSIN_LevelStartStruct.level1 = 40;
+ RESTART_CRSIN_LevelStartStruct.level2 = 40;
+ RESTART_CRSIN_LevelStartStruct.areaMaybe = 0;
+ RESTART_CRSIN_LevelStartStruct.entrance = 0xFF;
+ RESTART_CRSIN_LevelStartStruct.unk4 = 0; // load replay
+ DoSceneChange(RESTART_CRSIN, 0, 0);
+}
+