mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-05-09 20:32:50 -05:00
46 lines
1.2 KiB
C
46 lines
1.2 KiB
C
#ifndef POKEHEARTGOLD_MATH_UTIL_H
|
|
#define POKEHEARTGOLD_MATH_UTIL_H
|
|
|
|
#include "heap.h"
|
|
|
|
u16 GF_DegreeToSinCosIdxNoWrap(u16 deg);
|
|
fx32 GF_SinDegNoWrap(u16 deg);
|
|
fx32 GF_CosDegNoWrap(u16 deg);
|
|
fx32 GF_SinDeg(u16 deg);
|
|
fx32 GF_CosDeg(u16 deg);
|
|
u16 GF_DegreeToSinCosIdxNoWrap(u16 deg);
|
|
u16 GF_DegreeToSinCosIdx(u16 deg);
|
|
fx32 GF_SinDegFX32(fx32 deg);
|
|
fx32 GF_CosDegFX32(fx32 deg);
|
|
u32 PRandom(u32 seed);
|
|
void MTX22_2DAffine(MtxFx22 * mtx, u16 radians, fx32 x, fx32 y, u8 type);
|
|
u32 Math_CalcArraySum(const void *data, u32 size);
|
|
u16 GF_CalcCRC16(const void *data, u32 size);
|
|
void GF_CRC16Init(HeapID heapId);
|
|
u16 LCRandom(void);
|
|
void SetLCRNGSeed(u32 seed);
|
|
u32 GetLCRNGSeed(void);
|
|
void SetMTRNGSeed(u32 seed);
|
|
u32 MTRandom(void);
|
|
void _MonEncryptSegment(u16 *data, u32 size, u32 seed);
|
|
void _MonDecryptSegment(u16 *data, u32 size, u32 seed);
|
|
fx32 sub_02096594(void);
|
|
|
|
static inline u16 LCRandRange(const u16 maximum) {
|
|
GF_ASSERT(maximum != 0);
|
|
if (maximum <= 1) {
|
|
return 0;
|
|
} else {
|
|
u16 result = LCRandom() % maximum;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
static inline void SetVecFx32(VecFx32 *dest, fx32 x, fx32 y, fx32 z) {
|
|
dest->x = x;
|
|
dest->y = y;
|
|
dest->z = z;
|
|
}
|
|
|
|
#endif //POKEHEARTGOLD_MATH_UTIL_H
|