diff options
| -rwxr-xr-x | include/game.h | 27 | ||||
| -rw-r--r-- | kamek_pal.x | 24 | ||||
| -rw-r--r-- | src/bossThwompaDomp.cpp | 2 | 
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; | 
