diff options
Diffstat (limited to '')
| -rw-r--r-- | include/common.h | 8 | ||||
| -rwxr-xr-x | include/game.h | 17 | ||||
| -rw-r--r-- | kamek_pal.x | 3 | 
3 files changed, 25 insertions, 3 deletions
diff --git a/include/common.h b/include/common.h index 82d3fca..e45f733 100644 --- a/include/common.h +++ b/include/common.h @@ -54,6 +54,13 @@ extern "C" int strcmp ( const char * str1, const char * str2 );  #include "rvl/mtx.h"
 +// Stop the auto completion from whining
 +#ifdef __CLANG
 +inline void *operator new(unsigned int size, void *ptr) { return ptr; }
 +float abs(float value);
 +double abs(double value);
 +#endif
 +#ifndef __CLANG
  inline void *operator new(size_t size, void *ptr) { return ptr; }
  inline float abs(float value) {
 @@ -62,6 +69,7 @@ inline float abs(float value) {  inline double abs(double value) {
  	return __fabs(value);
  }
 +#endif
  struct tree_node {
 diff --git a/include/game.h b/include/game.h index 42304a5..2184920 100755 --- a/include/game.h +++ b/include/game.h @@ -604,7 +604,9 @@ class mMtx {  float FastS16toFloat(s16 value) {
  	register s16 *pValue = &value;
  	register float output;
 +	#ifndef __CLANG
  	asm { psq_l output, 0(pValue), 1, 3 }
 +	#endif
  	return output;
  }
 @@ -2000,7 +2002,7 @@ public:  	void doSomethingCool1();
  	void doSomethingCool2();
  	void setSomething(u32,u32,u32);
 -	void Create_ICEACTORs(void*,int);
 +	bool Create_ICEACTORs(void*,int);
  	void Delete_ICEACTORs();
  	void SetIceTimer_pt1();
  	void SetIceTimer_pt2();
 @@ -2550,7 +2552,7 @@ public:  	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
 +	virtual u32 canBePowed(); // reads some bits from a value in Class1EC
  	virtual void eatenByYoshiProbably(); // nullsub, params unknown
  	virtual void playHpdpSound1(); // plays PLAYER_SE_EMY/GROUP_BOOT/SE_EMY_DOWN_HPDP_S or _H
  	virtual void playEnemyDownSound1();
 @@ -3768,6 +3770,15 @@ struct DoSomethingCool {  	f32 unk_08; //0034
  	f32 unk_09; //0038
  };
 +
 +struct IceActorSpawnInfo {
 +	// fuck that, we don't actually need it
 +	//~IceActorSpawnInfo();
 +	u32 flags;
 +	Vec3 pos, scale;
 +	f32 what[8];
 +};
 +
  extern "C" u8 dSprite_c__getXDirectionOfFurthestPlayerRelativeToVEC3(dEn_c *, Vec pos);
  extern "C" void *ShakeScreen(void *, unsigned int, unsigned int, unsigned int, unsigned int);
  extern "C" void *PlaySound(dStageActor_c *, int soundID);
 @@ -3952,6 +3963,7 @@ inline int Player_VF3D4(void *self) {  }
  extern "C" void PlaySoundWithFunctionB4(void *spc, nw4r::snd::SoundHandle *handle, int id, int unk);
 +extern void *SoundRelatedClass;
  void GetPosForLayoutEffect(VEC3 *pos, bool quack);
 @@ -4120,6 +4132,7 @@ inline dTheEnd_c *GetTheEnd() {  extern void *_8042A788;
  extern "C" void sub_8019C390(void *, int);
 +extern "C" bool SpawnEffect(const char*, int, Vec*, S16Vec*, Vec*);
  #endif
 diff --git a/kamek_pal.x b/kamek_pal.x index fa2f045..9e55779 100644 --- a/kamek_pal.x +++ b/kamek_pal.x @@ -463,6 +463,7 @@ SECTIONS {  	clear2__14collisionMgr_cFv = 0x8006d000;  	init__14collisionMgr_cFP13dStageActor_cPC12sensorBase_sPC12sensorBase_sPC12sensorBase_s = 0x8006d090;  	Clear3__14collisionMgr_cFv = 0x8006d440; +	calculateBelowCollision__14collisionMgr_cFv = 0x8006db30;  	isOnTopOfTile__14collisionMgr_cCFv = 0x80070cb0;  	calculateAboveCollision__14collisionMgr_cFUi = 0x8006ef40;  	calculateBelowCollisionWithSmokeEffect__14collisionMgr_cFv = 0x80072bc0; @@ -600,7 +601,7 @@ SECTIONS {  	powBlockActivated__5dEn_cFb = 0x800A0C70;  	_vf148__5dEn_cFv = 0x800A12A0;  	_vf14C__5dEn_cFv = 0x800A1370; -	_vf150__5dEn_cFv = 0x800206D0; +	canBePowed__5dEn_cFv = 0x800206D0;  	eatenByYoshiProbably__5dEn_cFv = 0x80096230;  	killByDieFall__5dEn_cFP13dStageActor_c = 0x800A1190;  	playHpdpSound1__5dEn_cFv = 0x800A1C00;  | 
