pokeheartgold/include/math_util.h
Adrienn Tindall ddbfe2f9f9 Decompile unk_02055418.s
Time functions, daily resets, and apricorn tree functions; merging master into my repo
2022-03-21 00:19:03 -05:00

38 lines
1.0 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);
static inline u16 LCRandRange(const u16 maximum) {
GF_ASSERT(maximum != 0);
if (maximum <= 1) {
return 0;
} else {
return LCRandom() % maximum;
}
}
#endif //POKEHEARTGOLD_MATH_UTIL_H