From bfa0cd194459a256b68d00967fb94e52deef7615 Mon Sep 17 00:00:00 2001 From: Treeki Date: Sat, 13 Apr 2013 09:12:48 +0200 Subject: API updates --- include/common.h | 8 ++++++++ include/game.h | 17 +++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) (limited to 'include') 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 -- cgit v1.2.3