summaryrefslogtreecommitdiff
path: root/src/dungeon_random.c
blob: 86b1c79a59b0888a4f3150efa41518f6bdac1ce8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "global.h"
#include "dungeon_random.h"

extern u32 gDungeonRngState;

s32 DungeonRandom(void)
{
    gDungeonRngState = 1566083941 * gDungeonRngState + 1;
    return gDungeonRngState >> 16;
}

s32 DungeonRandomCapped(s32 cap)
{
    return (((DungeonRandom() & 0xFFFF) * cap) >> 16) & 0xFFFF;
}