summaryrefslogtreecommitdiff
path: root/include/task.h
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-17 13:22:46 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-17 13:22:46 -0800
commitb849ce93dbafac8e4961b531ab40585c0fdd103a (patch)
tree1cfd5cf3b7223a8e91dd0a0d4e6e112bd3458d8b /include/task.h
parent3ddda066d91cbbd377584acacaea62a9deba8873 (diff)
decompile main
Diffstat (limited to 'include/task.h')
-rw-r--r--include/task.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/include/task.h b/include/task.h
new file mode 100644
index 000000000..a199ba128
--- /dev/null
+++ b/include/task.h
@@ -0,0 +1,33 @@
+#ifndef GUARD_TASK_H
+#define GUARD_TASK_H
+
+#define NUM_TASKS 16
+
+typedef void (*TaskFunc)(u8 taskId);
+
+struct Task
+{
+ TaskFunc func;
+ bool8 isActive;
+ u8 prev;
+ u8 next;
+ u8 priority;
+ s16 data[16];
+};
+
+extern struct Task gTasks[];
+
+void ResetTasks(void);
+u8 CreateTask(TaskFunc func, u8 priority);
+void DestroyTask(u8 taskId);
+void RunTasks(void);
+void TaskDummy(u8 taskId);
+void SetTaskFuncWithFollowupFunc(u8 taskId, TaskFunc func, TaskFunc followupFunc);
+void SwitchTaskToFollowupFunc(u8 taskId);
+bool8 FuncIsActiveTask(TaskFunc func);
+u8 FindTaskIdByFunc(TaskFunc func);
+u8 GetTaskCount(void);
+void SetWordTaskArg(u8 taskId, u8 dataElem, u32 value);
+u32 GetWordTaskArg(u8 taskId, u8 dataElem);
+
+#endif // GUARD_TASK_H