45 lines
658 B
C
45 lines
658 B
C
#include "global.h"
|
|
#include "random.h"
|
|
|
|
EWRAM_DATA static u8 sUnknown = 0;
|
|
EWRAM_DATA static u32 sRandCount = 0;
|
|
|
|
// IWRAM common
|
|
u32 gRngValue;
|
|
u32 gRng2Value;
|
|
|
|
u16 Random(void)
|
|
{
|
|
gRngValue = ISO_RANDOMIZE1(gRngValue);
|
|
sRandCount++;
|
|
return gRngValue >> 16;
|
|
}
|
|
|
|
void SeedRng(u16 seed)
|
|
{
|
|
gRngValue = seed;
|
|
sUnknown = 0;
|
|
}
|
|
|
|
void SeedRng2(u16 seed)
|
|
{
|
|
gRng2Value = seed;
|
|
}
|
|
|
|
u16 Random2(void)
|
|
{
|
|
gRng2Value = ISO_RANDOMIZE1(gRng2Value);
|
|
return gRng2Value >> 16;
|
|
}
|
|
|
|
// NEW
|
|
u16 RandRange(u16 min, u16 max)
|
|
{
|
|
if (min == max)
|
|
return min;
|
|
|
|
max++; // make inclusive
|
|
return (Random() % (max - min)) + min;
|
|
}
|
|
|