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;
}
|