2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 23:47:43 +00:00

Finish CSpacePirate implementation

This commit is contained in:
Jack Andersen
2018-12-12 21:39:16 -10:00
parent 14747e39e1
commit ec1cb75b25
37 changed files with 2337 additions and 503 deletions

View File

@@ -11,20 +11,20 @@ class CRandom16 {
public:
CRandom16(u32 p = 99) : m_seed(p) {}
inline u32 Next() {
u32 Next() {
m_seed = (m_seed * 0x41c64e6d) + 0x00003039;
return m_seed >> 16;
}
inline u32 GetSeed() const { return m_seed; }
u32 GetSeed() const { return m_seed; }
inline void SetSeed(u32 p) { m_seed = p; }
void SetSeed(u32 p) { m_seed = p; }
inline float Float() { return Next() * 0.000015259022f; }
float Float() { return Next() * 0.000015259022f; }
inline float Range(float min, float max) { return min + Float() * (max - min); }
float Range(float min, float max) { return min + Float() * (max - min); }
inline s32 Range(s32 min, s32 max) { return min + (Next() % ((max - min) + 1)); }
s32 Range(s32 min, s32 max) { return min + (Next() % ((max - min) + 1)); }
static CRandom16* GetRandomNumber() { return g_randomNumber; }
static void SetRandomNumber(CRandom16* rnd) { g_randomNumber = rnd; }