summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xinclude/game.h27
-rw-r--r--kamek_pal.x24
-rw-r--r--src/bossThwompaDomp.cpp2
3 files changed, 36 insertions, 17 deletions
diff --git a/include/game.h b/include/game.h
index 9dd1605..ccc8fee 100755
--- a/include/game.h
+++ b/include/game.h
@@ -370,7 +370,8 @@ class mMtx {
operator MtxPtr() const { return (MtxPtr)this; }
/* Create New Ones */
- void identity();
+ void zero();
+ void identity() { MTXIdentity(data); }
void translation(float x, float y, float z) { MTXTrans(data, x, y, z); }
void scale(float x, float y, float z) { MTXScale(data, x, y, z); }
@@ -1095,7 +1096,9 @@ public:
dActor_c *owner;
Physics *next, *prev;
- u32 _C, _10, _14, _18, _1C, _20, _24, _28, _2C, _30, _34, _38, _3C;
+ u32 _C, _10, _14, _18, _1C, _20, _24, _28, _2C, _30, _34;
+ void *somePlayer;
+ u32 _3C;
void *otherCallback1, *otherCallback2, *otherCallback3;
void *callback1, *callback2, *callback3;
float lastX, lastY;
@@ -1201,8 +1204,8 @@ public:
void addToList();
void removeFromList();
- void initWithStruct(dActor_c *owner, Info *info);
- void initWithStruct(dActor_c *owner, Info *info, u8 clMode);
+ void initWithStruct(dActor_c *owner, const Info *info);
+ void initWithStruct(dActor_c *owner, const Info *info, u8 clMode);
u16 checkResult1(u16 param);
u16 checkResult3(u16 param);
@@ -1373,12 +1376,16 @@ public:
//FIXME params and returns and add more
void Clear1();
void Clear2();
- void Init(dStageActor_c*,u8*,u8*,u8*);
+ void Init(dStageActor_c*,const u8*,const u8*,const u8*);
void Clear3();
- int CollidedWithTile();
- int SomethingSemiImportant(int);
- int s_80072BC0();
+ bool CollidedWithTile();
+ int SomethingSemiImportant(u32);
+ u32 execute();
+
+ u32 s_8006FA40(void *);
+ u32 s_80070760();
+ bool s_800707E0();
dStageActor_c* owner;
void* struct1_ptr;
@@ -1917,6 +1924,10 @@ public:
void doSpriteMovement();
bool CheckIfPlayerBelow(float,float);
+ void stuffRelatingToCollisions(float, float, float);
+
+ void checkLiquidImmersionAndKillIfTouchingLava(Vec *pos, float effectScale);
+
// States
USING_STATES(dEn_c);
REF_NINTENDO_STATE(DieFumi);
diff --git a/kamek_pal.x b/kamek_pal.x
index 1c35fc9..dc2e301 100644
--- a/kamek_pal.x
+++ b/kamek_pal.x
@@ -73,9 +73,15 @@ SECTIONS {
ExitStage__Fiiii = 0x80102370;
+ zero__4mMtxFv = 0x8016F290;
+ rotationX__4mMtxFPs = 0x8016ED30;
applyRotationX__4mMtxFPs = 0x8016EDF0;
- applyRotationZ__4mMtxFPs = 0x8016F030;
+ rotationY__4mMtxFPs = 0x8016EE50;
applyRotationY__4mMtxFPs = 0x8016EF10;
+ rotationZ__4mMtxFPs = 0x8016EF70;
+ applyRotationZ__4mMtxFPs = 0x8016F030;
+ applyRotationYXZ__4mMtxFPsPsPs = 0x8016F090;
+ applyRotationZYX__4mMtxFPsPsPs = 0x8016F110;
_savefpr_14 = 0x802DCF98;
_savefpr_15 = 0x802DCF9C;
@@ -172,11 +178,14 @@ SECTIONS {
__dt__14collisionMgr_c = 0x8006cf40;
Clear1__14collisionMgr_cFv = 0x8006cfe0;
Clear2__14collisionMgr_cFv = 0x8006d000;
- Init__14collisionMgr_cFP13dStageActor_cPUcPUcPUc = 0x8006d090;
+ Init__14collisionMgr_cFP13dStageActor_cPCUcPCUcPCUc = 0x8006d090;
Clear3__14collisionMgr_cFv = 0x8006d440;
- CollidedWithTile__14collisionMgr_c = 0x80070cb0;
- SomethingSemiImportant__14collisionMgr_cFi = 0x8006ef40;
- s_80072BC0__14collisionMgr_cFv = 0x80072bc0;
+ CollidedWithTile__14collisionMgr_cFv = 0x80070cb0;
+ SomethingSemiImportant__14collisionMgr_cFUi = 0x8006ef40;
+ execute__14collisionMgr_cFv = 0x80072bc0;
+ s_8006FA40__14collisionMgr_cFPv = 0x8006FA40;
+ s_80070760__14collisionMgr_cFv = 0x80070760;
+ s_800707E0__14collisionMgr_cFv = 0x800707E0;
/* freezeMgr_c */
__ct_11freezeMgr_c = 0x800b8490;
@@ -385,6 +394,7 @@ SECTIONS {
doSpriteMovement__5dEn_cFv = 0x800955F0;
CheckIfPlayerBelow__5dEn_cFff = 0x800978C0;
+ stuffRelatingToCollisions__5dEn_cFfff = 0x800957B0;
_vfD8__18dActorMultiState_cFv = 0x80067590;
_vfDC__18dActorMultiState_cFv = 0x800675B0;
@@ -502,7 +512,7 @@ SECTIONS {
clear__13ActivePhysicsFv = 0x8008c2c0;
removeFromList__13ActivePhysicsFv = 0x8008c380;
addToList__13ActivePhysicsFv = 0x8008C330;
- initWithStruct__13ActivePhysicsFP8dActor_cPQ213ActivePhysics4Info = 0x8008C3E0;
+ initWithStruct__13ActivePhysicsFP8dActor_cPCQ213ActivePhysics4Info = 0x8008C3E0;
__ct__7PhysicsFv = 0x8007F7A0;
@@ -1000,8 +1010,6 @@ SECTIONS {
VIGetNextField = 0x801BE020;
- applyRotationYXZ__4mMtxFPsPsPs = 0x8016F090;
-
PSMTXIdentity = 0x801C0610;
PSMTXCopy = 0x801C0640;
PSMTXConcat = 0x801C0680;
diff --git a/src/bossThwompaDomp.cpp b/src/bossThwompaDomp.cpp
index 268b4bd..e84867d 100644
--- a/src/bossThwompaDomp.cpp
+++ b/src/bossThwompaDomp.cpp
@@ -289,7 +289,7 @@ void daEnMegaDosun_c::executeState_DownMove() {
this->UpdateObjectPosBasedOnSpeedValuesReal();
//FIXME what do I do? - bottom detection
- int ret = this->collMgr.s_80072BC0();
+ int ret = this->collMgr.execute();
OSReport("s_80072BC0(): %08x\n", ret);
if(!ret)
return;