summaryrefslogtreecommitdiff
path: root/src/mrsun.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mrsun.cpp')
-rwxr-xr-xsrc/mrsun.cpp26
1 files changed, 7 insertions, 19 deletions
diff --git a/src/mrsun.cpp b/src/mrsun.cpp
index a93c06f..4e92d7a 100755
--- a/src/mrsun.cpp
+++ b/src/mrsun.cpp
@@ -2,7 +2,7 @@
#include <game.h>
#include <g3dhax.h>
-#include "player.h"
+#include "boss.h"
class daMrSun_c : public dEn_c {
int onCreate();
@@ -52,6 +52,8 @@ class daMrSun_c : public dEn_c {
void collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther);
void collisionCat3_StarPower(ActivePhysics *apThis, ActivePhysics *apOther);
void collisionCatD_GroundPound(ActivePhysics *apThis, ActivePhysics *apOther);
+ void collisionCat7_WMWaggleWater(ActivePhysics *apThis, ActivePhysics *apOther);
+ void collisionCat7_WMWaggleWaterYoshi(ActivePhysics *apThis, ActivePhysics *apOther);
USING_STATES(daMrSun_c);
DECLARE_STATE(Follow);
@@ -68,13 +70,6 @@ daMrSun_c *daMrSun_c::build() {
}
-extern "C" u32 GenerateRandomNumber(int max);
-extern "C" u8 dSprite_c__getXDirectionOfFurthestPlayerRelativeToVEC3(daMrSun_c *, Vec pos);
-extern "C" dStageActor_c *CreateActor(u16 classID, int settings, Vec pos, char rot, char layer);
-extern "C" dStageActor_c *GetSpecificPlayerActor(int number);
-extern "C" void *PlaySound(daMrSun_c *, int soundID);
-
-
CREATE_STATE(daMrSun_c, Follow);
CREATE_STATE(daMrSun_c, Swoop);
CREATE_STATE(daMrSun_c, Spiral);
@@ -95,10 +90,7 @@ extern EventTable_t *EventTable;
-void daMrSun_c::playerCollision(ActivePhysics *apThis, ActivePhysics *apOther) {
- this->_vf220(apOther->owner);
- OSReport("I hit Mario.");
-}
+void daMrSun_c::playerCollision(ActivePhysics *apThis, ActivePhysics *apOther) { DamagePlayer(this, apThis, apOther); }
void daMrSun_c::collisionCat1_Fireball_E_Explosion(ActivePhysics *apThis, ActivePhysics *apOther) { OSReport("Hit Fireball"); }
bool daMrSun_c::collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, ActivePhysics *apOther) {
@@ -126,7 +118,9 @@ void daMrSun_c::collisionCat3_StarPower(ActivePhysics *apThis, ActivePhysics *ap
OSReport("Hit StarMario");
this->timer = 0;
doStateChange(&StateID_DieFall); }
-void daMrSun_c::collisionCatD_GroundPound(ActivePhysics *apThis, ActivePhysics *apOther) { OSReport("Groundpound"); }
+void daMrSun_c::collisionCatD_GroundPound(ActivePhysics *apThis, ActivePhysics *apOther) { DamagePlayer(this, apThis, apOther); }
+void daMrSun_c::collisionCat7_WMWaggleWater(ActivePhysics *apThis, ActivePhysics *apOther) { DamagePlayer(this, apThis, apOther); }
+void daMrSun_c::collisionCat7_WMWaggleWaterYoshi(ActivePhysics *apThis, ActivePhysics *apOther) { DamagePlayer(this, apThis, apOther); }
@@ -269,12 +263,6 @@ int daMrSun_c::onExecute() {
//OSReport("Oh Mr.Sun, Sun, Mr.Golden Sun");
acState.execute();
updateModelMatrices();
- if (this->aPhysics.result1 == 1) {
- char PlayerID = NearestPlayer(this);
- dStageActor_c *Player = GetSpecificPlayerActor(PlayerID);
-
- this->_vf220(Player);
- }
if (EventTable->events & this->eventFlag) {
if (this->killFlag == 0) {