summaryrefslogtreecommitdiff
path: root/src/bossBridgeBowser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bossBridgeBowser.cpp')
-rw-r--r--src/bossBridgeBowser.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/bossBridgeBowser.cpp b/src/bossBridgeBowser.cpp
new file mode 100644
index 0000000..cafcc98
--- /dev/null
+++ b/src/bossBridgeBowser.cpp
@@ -0,0 +1,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);
+} \ No newline at end of file