summaryrefslogtreecommitdiff
path: root/include/subtask.h
diff options
context:
space:
mode:
authorHenny022p <info@henny022.de>2022-01-25 00:44:48 +0100
committerHenny022p <info@henny022.de>2022-01-25 00:44:48 +0100
commit82fa5159fdac7c914d3bd2ec9c9ba272935801eb (patch)
treefe176dd2d244c210c9986bec202e7ee4fd315763 /include/subtask.h
parent6fd53ccfa06855478a9bbdee8f859e00515fb191 (diff)
sorted kinstone and figurine menu
Diffstat (limited to 'include/subtask.h')
-rw-r--r--include/subtask.h46
1 files changed, 42 insertions, 4 deletions
diff --git a/include/subtask.h b/include/subtask.h
index 185210d8..efc0c757 100644
--- a/include/subtask.h
+++ b/include/subtask.h
@@ -3,14 +3,52 @@
#include "global.h"
+/** Subtasks override the game task for short periods */
+typedef enum {
+ SUBTASK_EXIT,
+ SUBTASK_PAUSEMENU,
+ SUBTASK_EXIT2,
+ SUBTASK_MAPHINT,
+ SUBTASK_KINSTONEMENU,
+ SUBTASK_AUXCUTSCENE, /* cutscene without presence of player */
+ SUBTASK_PORTALCUTSCENE, /* player "falling" down portal cutscene */
+ SUBTASK_FIGURINEMENU,
+ SUBTASK_WORLDEVENT,
+ SUBTASK_FASTTRAVEL,
+ SUBTASK_LOCALMAPHINT,
+} ESubtask;
+
+typedef void(Subtask)(void);
+
+/** @name Subtask entrypoints */
+///@{
+/** Subtask entrypoint. */
+Subtask Subtask_Exit;
+Subtask Subtask_PauseMenu;
+Subtask Subtask_Exit;
+Subtask Subtask_MapHint;
+Subtask Subtask_KinstoneMenu;
+Subtask Subtask_AuxCutscene;
+Subtask Subtask_PortalCutscene;
+Subtask Subtask_FigurineMenu;
+Subtask Subtask_WorldEvent;
+Subtask Subtask_FastTravel;
+Subtask Subtask_LocalMapHint;
+///@}
+
// todo: separate headers for each subtask?
-extern void sub_080A4528(void);
extern void sub_080A4398(void);
extern void sub_080A7114(u32);
-extern void sub_080A3B74(void);
-extern void sub_080A4054(void);
extern void sub_080A4D34(void);
-extern u32 sub_080A4494(void);
+extern void sub_080A4E90(u8);
+extern void sub_080A4E84(u8);
+
+extern const struct {
+ u8 unk0;
+ u8 unk1;
+ u8 filler[2];
+ void (*func)(void);
+} gUnk_08128A38[];
#endif // SUBTASK_H