From 74e1b36b62bfcbdc114e69c3071a989d245b800c Mon Sep 17 00:00:00 2001 From: Treeki Date: Thu, 7 Feb 2013 03:47:23 +0100 Subject: pow block method renamed, plus fixes for some enemies/bosses --- include/game.h | 2 +- kamek_pal.x | 2 +- src/bossMegaGoomba.cpp | 4 ++++ src/bossSamurshai.cpp | 3 +++ src/bossThwompaDomp.cpp | 3 +++ src/bossTopman.cpp | 4 ++++ src/shyguyGiants.cpp | 4 ++++ src/thundercloud.cpp | 4 ++++ 8 files changed, 24 insertions(+), 2 deletions(-) diff --git a/include/game.h b/include/game.h index ce7a672..9cd9452 100755 --- a/include/game.h +++ b/include/game.h @@ -2372,7 +2372,7 @@ public: virtual bool collisionCat14_YoshiFire(ActivePhysics *apThis, ActivePhysics *apOther); virtual void _vf140(dStageActor_c *actor); - virtual void _vf144(int something); + virtual void powBlockActivated(bool isMPGP); virtual void _vf148(); // deletes actors held by Class484 and other stuff virtual void _vf14C(); // deletes actors held by Class484 and makes an En Coin Jump virtual u32 _vf150(); // reads some bits from a value in Class1EC diff --git a/kamek_pal.x b/kamek_pal.x index 9dc0c81..5f7a03b 100644 --- a/kamek_pal.x +++ b/kamek_pal.x @@ -511,7 +511,7 @@ SECTIONS { collisionCat14_YoshiFire__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0550; killWithSpecifiedState__5dEn_cFP13dStageActor_cP7Point2dP12dStateBase_cUi = 0x800A0EA0; _vf140__5dEn_cFP13dStageActor_c = 0x800A10B0; - _vf144__5dEn_cFi = 0x800A0C70; + powBlockActivated__5dEn_cFb = 0x800A0C70; _vf148__5dEn_cFv = 0x800A12A0; _vf14C__5dEn_cFv = 0x800A1370; _vf150__5dEn_cFv = 0x800206D0; diff --git a/src/bossMegaGoomba.cpp b/src/bossMegaGoomba.cpp index 44d4de7..9ea7197 100644 --- a/src/bossMegaGoomba.cpp +++ b/src/bossMegaGoomba.cpp @@ -93,6 +93,8 @@ class daMegaGoomba_c : public dEn_c { bool _vf110(ActivePhysics *apThis, ActivePhysics *apOther); bool _vf108(ActivePhysics *apThis, ActivePhysics *apOther); + void powBlockActivated(bool isMPGP); + void dieOther_Begin(); void dieOther_Execute(); void dieOther_End(); @@ -181,6 +183,8 @@ extern "C" int SomeStrangeModification(dStageActor_c* actor); extern "C" void DoStuffAndMarkDead(dStageActor_c *actor, Vec vector, float unk); extern "C" int SmoothRotation(short* rot, u16 amt, int unk2); +void daMegaGoomba_c::powBlockActivated(bool isMPGP) { +} CREATE_STATE(daMegaGoomba_c, Shrink); CREATE_STATE(daMegaGoomba_c, Walk); diff --git a/src/bossSamurshai.cpp b/src/bossSamurshai.cpp index 6e09561..e385a41 100644 --- a/src/bossSamurshai.cpp +++ b/src/bossSamurshai.cpp @@ -48,6 +48,8 @@ class daSamurshai : public daBoss { void updateModelMatrices(); bool calculateTileCollisions(); + void powBlockActivated(bool isMPGP); + void playerCollision(ActivePhysics *apThis, ActivePhysics *apOther); void yoshiCollision(ActivePhysics *apThis, ActivePhysics *apOther); @@ -201,6 +203,7 @@ daSamurshai *daSamurshai::build() { void daSamurshai::addScoreWhenHit(void *other) { } + void daSamurshai::powBlockActivated(bool isMPGP) { } bool daSamurshai::calculateTileCollisions() { // Returns true if sprite should turn, false if not. diff --git a/src/bossThwompaDomp.cpp b/src/bossThwompaDomp.cpp index 5904d73..1950ced 100644 --- a/src/bossThwompaDomp.cpp +++ b/src/bossThwompaDomp.cpp @@ -55,6 +55,8 @@ class daEnMegaDosun_c : public daBoss { bool collisionCat14_YoshiFire(ActivePhysics *apThis, ActivePhysics *apOther); bool collisionCatA_PenguinMario(ActivePhysics *apThis, ActivePhysics *apOther); + void powBlockActivated(bool isMPGP); + USING_STATES(daEnMegaDosun_c); DECLARE_STATE(UpWait); DECLARE_STATE(DownMoveWait); @@ -81,6 +83,7 @@ daEnMegaDosun_c *daEnMegaDosun_c::build() { return new(buffer) daEnMegaDosun_c; } +void daEnMegaDosun_c::powBlockActivated(bool isMPGP) { } // Collisions diff --git a/src/bossTopman.cpp b/src/bossTopman.cpp index 0637f2d..ddc37b6 100644 --- a/src/bossTopman.cpp +++ b/src/bossTopman.cpp @@ -39,6 +39,8 @@ public: void updateModelMatrices(); bool calculateTileCollisions(); + void powBlockActivated(bool isMPGP); + void spriteCollision(ActivePhysics *apThis, ActivePhysics *apOther); void playerCollision(ActivePhysics *apThis, ActivePhysics *apOther); void yoshiCollision(ActivePhysics *apThis, ActivePhysics *apOther); @@ -237,6 +239,8 @@ daDreidel *daDreidel::build() { bool daDreidel::collisionCat1_Fireball_E_Explosion(ActivePhysics *apThis, ActivePhysics *apOther) { return true; } bool daDreidel::collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther) { return true; } +void daDreidel::powBlockActivated(bool isMPGP) { } + bool daDreidel::calculateTileCollisions() { // Returns true if sprite should turn, false if not. diff --git a/src/shyguyGiants.cpp b/src/shyguyGiants.cpp index 3088825..b9415aa 100644 --- a/src/shyguyGiants.cpp +++ b/src/shyguyGiants.cpp @@ -74,6 +74,8 @@ class daShyGuyGiant : public dEn_c { bool collisionCat5_Mario(ActivePhysics *apThis, ActivePhysics *apOther); bool collisionCat11_PipeCannon(ActivePhysics *apThis, ActivePhysics *apOther); + void powBlockActivated(bool isMPGP); + void _vf148(); void _vf14C(); bool CreateIceActors(); @@ -264,6 +266,8 @@ daShyGuyGiant *daShyGuyGiant::build() { void daShyGuyGiant::_vf264(dStageActor_c *other) { } // if other is player or yoshi, do Wm_en_hit and a few other things void daShyGuyGiant::_vf268(void *other) { } // AcPy/PlBase? plays the SE_EMY_DOWN_SPIN_%d sounds based on some value + void daShyGuyGiant::powBlockActivated(bool isMPGP) { + } bool daShyGuyGiant::calculateTileCollisions() { // Returns true if sprite should turn, false if not. diff --git a/src/thundercloud.cpp b/src/thundercloud.cpp index d0d3b12..2297f8e 100755 --- a/src/thundercloud.cpp +++ b/src/thundercloud.cpp @@ -58,6 +58,8 @@ class dThunderCloud : public dEn_c { void bindAnimChr_and_setUpdateRate(const char* name, int unk, float unk2, float rate); + void powBlockActivated(bool isMPGP); + void _vf148(); void _vf14C(); bool CreateIceActors(); @@ -80,6 +82,8 @@ CREATE_STATE(dThunderCloud, Follow); CREATE_STATE(dThunderCloud, Lightning); CREATE_STATE(dThunderCloud, Wait); +void dThunderCloud::powBlockActivated(bool isMPGP) { } + // Collision Callbacks extern "C" void dAcPy_vf3F4(void* mario, void* other, int t); -- cgit v1.2.3