diff options
| author | Treeki <treeki@gmail.com> | 2013-02-28 05:46:11 +0100 | 
|---|---|---|
| committer | Treeki <treeki@gmail.com> | 2013-02-28 05:46:11 +0100 | 
| commit | 73cf9df88eeb7b6193dd3c2c53b1c796a196418c (patch) | |
| tree | 349e27d484a8830c712a4870963185ad38cb0cbd | |
| parent | 20faadcbf59fee0c216590bd4372a268a2594783 (diff) | |
| download | kamek-73cf9df88eeb7b6193dd3c2c53b1c796a196418c.tar.gz kamek-73cf9df88eeb7b6193dd3c2c53b1c796a196418c.zip  | |
your daily dose of API additions
Diffstat (limited to '')
| -rw-r--r-- | include/common.h | 4 | ||||
| -rwxr-xr-x | include/game.h | 17 | ||||
| -rw-r--r-- | kamek_pal.x | 3 | 
3 files changed, 16 insertions, 8 deletions
diff --git a/include/common.h b/include/common.h index 38e9c86..44c3652 100644 --- a/include/common.h +++ b/include/common.h @@ -113,6 +113,10 @@ char *RetrieveFileFromArcAlt(void *table, char *name, char *path);*/  extern void *ArchiveHeap; // PAL 0x8042A72C, NTSC 0x8042A44C
 +namespace nw4r { namespace math { float FrSqrt(float); }}
 +float sqrtf(float x) {
 +    return (x <= 0) ? 0.0f : x * nw4r::math::FrSqrt(x);
 +}
  #ifdef __MWERKS__
  	#define InfiniteLoop for (;;) { asm { nop } }
 diff --git a/include/game.h b/include/game.h index d90ce0f..5fcd2e8 100755 --- a/include/game.h +++ b/include/game.h @@ -3526,15 +3526,15 @@ namespace mEf {  			void clear();
  			virtual bool probablyCreateWithName(const char *name, u32 unk);
 -			virtual bool spawn(const char *name, u32 unk, Vec *pos=0, S16Vec *rot=0, Vec *scale=0);
 -			virtual bool spawnWithMatrix(const char *name, u32 unk, Mtx *mtx);
 +			virtual bool spawn(const char *name, u32 unk, const Vec *pos=0, const S16Vec *rot=0, const Vec *scale=0);
 +			virtual bool spawnWithMatrix(const char *name, u32 unk, const Mtx *mtx);
  			// these two deal with mEf::effectCB_c and crap. absolutely no idea.
  			virtual bool _vfA8(/* tons and tons of params */);
  			virtual bool _vfAC(/* a slightly smaller amount of params */);
 -			virtual bool _vfB0(Vec *pos=0, S16Vec *rot=0, Vec *scale=0);
 -			virtual bool _vfB4(Mtx *mtx);
 +			virtual bool _vfB0(const Vec *pos=0, const S16Vec *rot=0, const Vec *scale=0);
 +			virtual bool _vfB4(const Mtx *mtx);
  	};
  	class es2 : public effect_c {
 @@ -3547,10 +3547,10 @@ namespace mEf {  			void makeItHappen();
  			bool probablyCreateWithName(const char *name, u32 unk);
 -			bool spawn(const char *name, u32 unk, Vec *pos=0, S16Vec *rot=0, Vec *scale=0);
 -			bool spawnWithMatrix(const char *name, u32 unk, Mtx *mtx);
 -			bool _vfB0(Vec *pos=0, S16Vec *rot=0, Vec *scale=0);
 -			bool _vfB4(Mtx *mtx);
 +			bool spawn(const char *name, u32 unk, const Vec *pos=0, const S16Vec *rot=0, const Vec *scale=0);
 +			bool spawnWithMatrix(const char *name, u32 unk, const Mtx *mtx);
 +			bool _vfB0(const Vec *pos=0, const S16Vec *rot=0, const Vec *scale=0);
 +			bool _vfB4(const Mtx *mtx);
  			virtual u8 returnField11D(); // does exactly what it says on the tin
 @@ -3876,6 +3876,7 @@ inline int Player_VF3D4(void *self) {  extern "C" void PlaySoundWithFunctionB4(void *spc, nw4r::snd::SoundHandle *handle, int id, int unk);
 +void GetPosForLayoutEffect(VEC3 *pos, bool quack);
  bool SmoothRotation(s16 *pValue, s16 target, s16 stepSize);
 diff --git a/kamek_pal.x b/kamek_pal.x index 66df3c9..c4bb1d6 100644 --- a/kamek_pal.x +++ b/kamek_pal.x @@ -1,4 +1,6 @@  SECTIONS { +	GetPosForLayoutEffect__FP7Point3db = 0x800B37E0; +  	SmoothRotation__FPsss = 0x8015F630;  	KazanRock_OriginalCollisionCallback = 0x8081F420; @@ -161,6 +163,7 @@ SECTIONS {  	DoSceneChange__FUsUiUi = 0x800E1F50; +	FrSqrt__Q24nw4r4mathFf = 0x80237CE0;  	SinFIdx__Q24nw4r4mathFf = 0x80237D10;  	CosFIdx__Q24nw4r4mathFf = 0x80237D80;  	SinCosFIdx__Q24nw4r4mathFPfPff = 0x80237DE0;  | 
