summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-02-27 16:59:05 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-02-27 16:59:05 -0500
commite07c771f1840fe614ac1040d55ce842602f44c4c (patch)
tree35fd020cc049686a352622931e9af64e8441e989 /src
parent9c03c850a2bfbedc3ccadf8b0f1a895607c113ae (diff)
through Task_FallWarpFieldEffect
Diffstat (limited to 'src')
-rw-r--r--src/field_effect.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/field_effect.c b/src/field_effect.c
index 9a30088c1..f85a9aef5 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -1066,3 +1066,40 @@ void Task_FlyIn(u8 taskId)
DestroyTask(taskId);
}
}
+
+void Task_FallWarpFieldEffect(u8 taskId);
+bool8 FallWarpEffect_1(struct Task * task);
+bool8 FallWarpEffect_2(struct Task * task);
+bool8 FallWarpEffect_3(struct Task * task);
+bool8 FallWarpEffect_4(struct Task * task);
+bool8 FallWarpEffect_5(struct Task * task);
+bool8 FallWarpEffect_6(struct Task * task);
+bool8 FallWarpEffect_7(struct Task * task);
+
+bool8 (*const sFallWarpEffectCBPtrs[])(struct Task * task) = {
+ FallWarpEffect_1,
+ FallWarpEffect_2,
+ FallWarpEffect_3,
+ FallWarpEffect_4,
+ FallWarpEffect_5,
+ FallWarpEffect_6,
+ FallWarpEffect_7
+};
+
+void FieldCB_FallWarpExit(void)
+{
+ Overworld_PlaySpecialMapMusic();
+ pal_fill_for_maplights();
+ sub_8111CF0();
+ ScriptContext2_Enable();
+ FreezeObjectEvents();
+ CreateTask(Task_FallWarpFieldEffect, 0);
+ gFieldCallback = NULL;
+}
+
+void Task_FallWarpFieldEffect(u8 taskId)
+{
+ struct Task * task = &gTasks[taskId];
+ while (sFallWarpEffectCBPtrs[task->data[0]](task))
+ ;
+}