summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-11-24 21:37:42 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-11-24 21:37:42 -0500
commit1b3fcb83f252c83c1d97a630ed381622fed74fd6 (patch)
tree935cb8db8eee9240f8664132bd28933e238ce86a /src
parentdfa5f24e59e0e49525a1287f37ba7452d9e7c37e (diff)
sub_813504C
Diffstat (limited to 'src')
-rw-r--r--src/wallclock.c55
1 files changed, 51 insertions, 4 deletions
diff --git a/src/wallclock.c b/src/wallclock.c
index 51f6c530d..e35e6a075 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -34,8 +34,9 @@ static void sub_8134F10(u8 taskId);
static void sub_8134F40(u8 taskId);
static void sub_8134F78(u8 taskId);
static void sub_8134FB0(u8 taskId);
-static u16 sub_8134FFC(u16 a0, u8 a1, u8 a2);
-void sub_813504C(u8 taskId, u8 a1);
+static u16 sub_8134FFC(u16 a0, u8 command, u8 a2);
+static bool32 sub_813504C(u8 taskId, u8 command);
+void sub_81350E8(u8 taskId, u8 command);
void sub_8135130(u8 taskId);
void sub_81351AC(struct Sprite *sprite);
void sub_8135244(struct Sprite *sprite);
@@ -816,10 +817,10 @@ static u8 sub_8134FD4(u16 a0)
return 1;
}
-static u16 sub_8134FFC(u16 a0, u8 a1, u8 a2)
+static u16 sub_8134FFC(u16 a0, u8 command, u8 a2)
{
u8 r1 = sub_8134FD4(a2);
- switch (a1)
+ switch (command)
{
case 1:
if (a0) a0 -= r1;
@@ -832,3 +833,49 @@ static u16 sub_8134FFC(u16 a0, u8 a1, u8 a2)
}
return a0;
}
+
+static bool32 sub_813504C(u8 taskId, u8 command)
+{
+ switch (command)
+ {
+ case 1:
+ if (gTasks[taskId].data[3] > 0)
+ {
+ gTasks[taskId].data[3]--;
+ }
+ else
+ {
+ gTasks[taskId].data[3] = 59;
+ if (gTasks[taskId].data[2] > 0)
+ {
+ gTasks[taskId].data[2]--;
+ }
+ else
+ {
+ gTasks[taskId].data[2] = 23;
+ }
+ sub_81350E8(taskId, command);
+ }
+ break;
+ case 2:
+ if (gTasks[taskId].data[3] < 59)
+ {
+ gTasks[taskId].data[3]++;
+ }
+ else
+ {
+ gTasks[taskId].data[3] = 0;
+ if (gTasks[taskId].data[2] < 23)
+ {
+ gTasks[taskId].data[2]++;
+ }
+ else
+ {
+ gTasks[taskId].data[2] = 0;
+ }
+ sub_81350E8(taskId, command);
+ }
+ break;
+ }
+ return FALSE;
+}