summaryrefslogtreecommitdiff
path: root/src/bossBridgeBowser.cpp
blob: cafcc9832f3bda23f91020b7e0b00b36e8787c28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <common.h>
#include <game.h>
#include <g3dhax.h>
#include <sfx.h>
#include <stage.h>
#include "boss.h"

extern "C" void *BowserExitDemoState(void *, unsigned int);
extern "C" void *ForceMarioExitDemoMode(void *, unsigned int);
extern "C" void *BowserFireballCollision(dEn_c *, ActivePhysics *, ActivePhysics *);
extern "C" void *BowserDamageAnmClr(dEn_c *);
extern "C" void *BowserDamageStepTwo(dEn_c *);
extern "C" void *BowserDamageStepThree(dEn_c *);


void BowserDoomSpriteCollision(dEn_c *bowser, ActivePhysics *apThis, ActivePhysics *apOther) {
	// If you collide with something or other, call the fireball collision

	if (apOther->owner->name == 674) {
		OSReport("AnmClr");
		BowserDamageAnmClr(bowser);
		OSReport("Damage Step 2");
		BowserDamageStepTwo(bowser);
		OSReport("Damage Step 3");
		BowserDamageStepThree(bowser);
		OSReport("Damage Done");
		dEn_c * bomb = (dEn_c*)apOther->owner;
		bomb->kill();
	}

	return;
}

void BowserDoomStart(dStageActor_c *Controller) {
	OSReport("Here we go!");

	dEn_c *Bowser = (dEn_c*)FindActorByType(EN_BOSS_KOOPA, (Actor*)Controller);
	Bowser->Delete(1);
}

void BowserDoomExecute(dStageActor_c *Controller) {
	dFlagMgr_c::instance->set(2, 0, true, false, false);
	Controller->Delete(1);
}

void BowserDoomEnd(dStageActor_c *Controller) {
	OSReport("Bai bai everybody");
	Controller->Delete(1);
}

void BowserStartEnd(dStageActor_c *Controller) {
	dFlagMgr_c::instance->set(1, 0, true, false, false);
}