summaryrefslogtreecommitdiff
path: root/include/subtask.h
diff options
context:
space:
mode:
authoroctorock <79596758+octorock@users.noreply.github.com>2022-09-05 22:50:19 +0200
committeranonymous <>2022-10-08 22:32:54 +0200
commit67467fd831d2928715835f8a389b4f464a0f9a7a (patch)
tree261864c07f334c35024033a908b4af8e808caebe /include/subtask.h
parent756a8a89da46dade06fad1723de88fa5a82cc2ec (diff)
Extract some data
And split up subtasks and world events.
Diffstat (limited to 'include/subtask.h')
-rw-r--r--include/subtask.h70
1 files changed, 68 insertions, 2 deletions
diff --git a/include/subtask.h b/include/subtask.h
index 3a2fc5b8..73bf9bb9 100644
--- a/include/subtask.h
+++ b/include/subtask.h
@@ -2,6 +2,8 @@
#define SUBTASK_H
#include "global.h"
+#include "game.h"
+#include "room.h"
/** Subtasks override the game task for short periods */
typedef enum {
@@ -44,11 +46,75 @@ extern void sub_080A4D34(void);
extern void sub_080A4E90(u8);
extern void sub_080A4E84(u8);
-extern const struct {
+typedef struct {
u8 unk0;
u8 unk1;
// u8 pad[2];
void (*func)(void);
-} gUnk_08128A38[];
+} struct_08128A38;
+extern const struct_08128A38 gUnk_08128A38[];
+
+typedef struct {
+ u8 item;
+ u8 unk1;
+ u8 frameIndex;
+ u8 unk3;
+ u8 unk4;
+ s8 unk5;
+ u16 textIndex;
+} struct_gUnk_08128D70;
+
+extern const struct_gUnk_08128D70 gUnk_08128D70[];
+
+typedef struct {
+ u8 frameIndex;
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+ u16 unk4;
+ u16 unk6;
+} struct_gUnk_08128F58;
+
+extern struct_gUnk_08128F58 gUnk_08128F58[];
+
+// Functions used in world events.
+extern void sub_08055B70(u32 param_1, u32 param_2, u32 param_3, u32 param_4);
+extern void sub_0801876C(u32, u32);
+extern void sub_080553E0(u32);
+extern void sub_08054974(u32, u32);
+extern void sub_0804B0E8(u32, u32);
+
+// Functions used in subtasks.
+void sub_080A4DB8(u32);
+void sub_080A6290(void);
+void sub_080A66D0();
+void sub_080A67C4(u32);
+void sub_080A6FB4(u32, u32);
+void sub_080A698C(u32 param_1, u32 param_2, u32 param_3, u32 param_4);
+u32 sub_080A6F40();
+s32 sub_080A69E0();
+struct_08127F94* sub_080A6A80(u32 param_1, u32 param_2);
+void sub_080A6498(void);
+void sub_080A71F4(const ScreenTransitionData* exitTransition);
+void sub_080A6F6C(u32 textIndexOrPtr);
+
+typedef struct {
+ u8 unk0;
+ u8 unk1;
+ u8 unk2;
+ u8 unk3;
+ u8 unk4;
+ s8 unk5;
+ u8 unk6;
+ u8 unk7;
+} struct_gUnk_08128E94;
+
+extern const struct_gUnk_08128E94 gUnk_08128E94[];
+
+#ifdef EU
+#define DRAW_DIRECT_SPRITE_INDEX 0x1fa
+#else
+#define DRAW_DIRECT_SPRITE_INDEX 0x1fb
+#endif
#endif // SUBTASK_H