blob: e7347ad0d6b808701b34d16f9837ddff2d7ddd15 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 | #include "global.h"
#include "flag.h"
extern u8 gUnknown_0202E8E2[];
u8 *GetFlagPointer(u16 id)
{
    if (id == 0)
        return 0;
    if (id < 0x4000)
        return &gSaveBlock1.flags[id / 8];
    return &gUnknown_0202E8E2[(id - 0x4000) / 8];
}
u8 FlagSet(u16 id)
{
    u8 *ptr = GetFlagPointer(id);
    if (ptr)
        *ptr |= 1 << (id & 7);
    return 0;
}
u8 FlagReset(u16 id)
{
    u8 *ptr = GetFlagPointer(id);
    if (ptr)
        *ptr &= ~(1 << (id & 7));
    return 0;
}
bool8 FlagGet(u16 id)
{
    u8 *ptr = GetFlagPointer(id);
    if (!ptr)
        return FALSE;
    if (!(((*ptr) >> (id & 7)) & 1))
        return FALSE;
    return TRUE;
}
 |