diff options
-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; |