diff options
Diffstat (limited to 'src/bossBridgeBowser.cpp')
-rw-r--r-- | src/bossBridgeBowser.cpp | 53 |
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 |