summaryrefslogtreecommitdiff
path: root/src/task.c
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-03-29 14:01:32 -0700
committerYamaArashi <shadow962@live.com>2016-03-29 14:01:32 -0700
commit61b674d52e89ae165b4245e35a16be536cc878c0 (patch)
tree43bf5193d8f0a68733d5f02d287186a7dcfcf6ee /src/task.c
parent33005cef6bd2eb65b997423260ee94a987f076c4 (diff)
tasks
Diffstat (limited to 'src/task.c')
-rw-r--r--src/task.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/task.c b/src/task.c
new file mode 100644
index 000000000..9458275a4
--- /dev/null
+++ b/src/task.c
@@ -0,0 +1,27 @@
+void RemoveTask(u8 taskId)
+{
+ if (gTasks[taskId].isActive)
+ {
+ gTasks[taskId].isActive = FALSE;
+
+ if (gTasks[taskId].prev == HEAD_SENTINEL)
+ {
+ if (gTasks[taskId].next != TAIL_SENTINEL)
+ {
+ gTasks[gTasks[taskId].next].prev = HEAD_SENTINEL;
+ }
+ }
+ else
+ {
+ if (gTasks[taskId].next == TAIL_SENTINEL)
+ {
+ gTasks[gTasks[taskId].prev].next = TAIL_SENTINEL;
+ }
+ else
+ {
+ gTasks[gTasks[taskId].prev].next = gTasks[taskId].next;
+ gTasks[gTasks[taskId].next].prev = gTasks[taskId].prev;
+ }
+ }
+ }
+}