summaryrefslogtreecommitdiff
path: root/include/oam_util.h
blob: 24e166c930df085642000df4de86e3c661311ef0 (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
#ifndef GUARD_OAM_UTIL_H
#define GUARD_OAM_UTIL_H

struct OamUtil
{
    struct OamData oam;
    s16 x;
    s16 y;
    s16 xDelta;
    s16 yDelta;
    u16 tileTag;
    u16 palTag;
    u16 tileNum;
    u8 id;
    u8 filler;
    u8 animNum;
    u8 active:1;
    u8 allowUpdates:1;
    u8 dummied:1;
    u8 priority:2;
    s16 data[8];
    void (*callback)(struct OamUtil *);
};

bool32 OamUtil_Init(u8 count);
bool32 OamUtil_Free(void);
bool32 OamUtil_Update(void);
u8 OamUtil_SetCallback(u8 id, void (*func)(struct OamUtil *));
u8 OamUtil_SetData(u8 id, u8 dataArrayId, s16 dataValue);
u8 OamUtil_AddNew(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 animNum, u8 priority);
u8 OamUtil_Remove(u8 id);

#endif // GUARD_OAM_UTIL_H