summaryrefslogtreecommitdiff
path: root/src/field_tasks.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalax1@gmail.com>2017-09-21 17:55:30 -0400
committerPikalaxALT <pikalax1@gmail.com>2017-09-21 17:55:30 -0400
commitd87ed69449da253a374170a8135200657fb0426b (patch)
tree94baba568fc6dd25d082b309746198d41d07bd1b /src/field_tasks.c
parentaecddc277130652a90e00ad0cc314b7ef9765bbb (diff)
parentc1c2015f7046676b043641c0d1f9d9e29bc73647 (diff)
Merge branch 'master' into field_effect_helpers
Diffstat (limited to 'src/field_tasks.c')
-rw-r--r--src/field_tasks.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/field_tasks.c b/src/field_tasks.c
index 628ee81de..1612c3c09 100644
--- a/src/field_tasks.c
+++ b/src/field_tasks.c
@@ -10,7 +10,7 @@
#include "item.h"
#include "items.h"
#include "event_data.h"
-#include "rom4.h"
+#include "overworld.h"
#include "clock.h"
#include "script.h"
#include "field_special_scene.h"
@@ -48,21 +48,25 @@ void Task_RunPerStepCallback(u8 taskId)
gUnknown_08376364[idx](taskId);
}
-static void RunTimeBasedEvents(s16 *taskData)
+#define tState data[0]
+#define tAmbientCryState data[1]
+#define tAmbientCryDelay data[2]
+
+static void RunTimeBasedEvents(s16 *data)
{
- switch (*taskData)
+ switch (tState)
{
case 0:
if (gMain.vblankCounter1 & 0x1000)
{
DoTimeBasedEvents();
- (*taskData)++;
+ tState++;
}
break;
case 1:
if (!(gMain.vblankCounter1 & 0x1000))
{
- (*taskData)--;
+ tState--;
}
break;
}
@@ -70,14 +74,19 @@ static void RunTimeBasedEvents(s16 *taskData)
void Task_RunTimeBasedEvents(u8 taskId)
{
- s16 *taskData = gTasks[taskId].data;
+ s16 *data = gTasks[taskId].data;
+
if (!ScriptContext2_IsEnabled())
{
- RunTimeBasedEvents(taskData);
- sub_80540D0(taskData + 1, taskData + 2);
+ RunTimeBasedEvents(data);
+ UpdateAmbientCry(&tAmbientCryState, &tAmbientCryDelay);
}
}
+#undef tState
+#undef tAmbientCryState
+#undef tAmbientCryDelay
+
void Task_MuddySlope(u8);
void SetUpFieldTasks(void)