summaryrefslogtreecommitdiff
path: root/include/oam_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/oam_util.h')
-rw-r--r--include/oam_util.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/include/oam_util.h b/include/oam_util.h
new file mode 100644
index 000000000..24e166c93
--- /dev/null
+++ b/include/oam_util.h
@@ -0,0 +1,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