summaryrefslogtreecommitdiff
path: root/src/sceneGlue.cpp
blob: 3e2167afadd6cd439d89fe7ab5fd51f36e0969e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <game.h>
#include <stage.h>

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;
			}
		}
	}

	ExitStageReal(scene, sceneParams, powerupStoreType, wipe);
}