summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-11-20 10:33:21 -0600
committerSeth Barberee <seth.barberee@gmail.com>2020-11-20 10:33:21 -0600
commitcbfab08a06d7f9deca21b510b1bbdb80c05ea662 (patch)
treea2eb93d47fe4f69e057c8b364ff30fd6c237a6bb /src
parent5f8105180b15f04d48c72df2953d267c87d6148c (diff)
finish docing PlayTime and fix function - Kermalis
Diffstat (limited to 'src')
-rw-r--r--src/code_8040094.c6
-rw-r--r--src/code_8094F88.c44
-rw-r--r--src/code_8098BDC.c7
3 files changed, 28 insertions, 29 deletions
diff --git a/src/code_8040094.c b/src/code_8040094.c
index c384b51..547569c 100644
--- a/src/code_8040094.c
+++ b/src/code_8040094.c
@@ -1,11 +1,11 @@
#include "global.h"
+#include "time.h"
extern u8 *gUnknown_203B418;
-extern u32 gUnknown_203B47C;
+extern struct PlayTimeStruct *gUnknown_203B47C;
extern void sub_803F7BC(void);
extern void sub_80060EC(void);
-extern void sub_8094FB4(u32);
extern void sub_800CB20(void);
extern void sub_800485C(void);
extern void xxx_call_update_bg_sound_input(void);
@@ -17,7 +17,7 @@ void sub_8040094(u8 r0)
gUnknown_203B418[0x18217] = r0;
sub_803F7BC();
sub_80060EC();
- sub_8094FB4(gUnknown_203B47C);
+ IncrementPlayTime(gUnknown_203B47C);
sub_800CB20();
sub_800485C();
xxx_call_update_bg_sound_input();
diff --git a/src/code_8094F88.c b/src/code_8094F88.c
index dea2561..95854d3 100644
--- a/src/code_8094F88.c
+++ b/src/code_8094F88.c
@@ -35,16 +35,21 @@ struct PlayTimeStruct *sub_8094FA0(void)
void ResetPlayTime(struct PlayTimeStruct *Time)
{
+ Time->frames = 0;
Time->seconds = 0;
Time->minutes = 0;
Time->hours = 0;
- Time->unk0 = 0;
}
-void sub_8094FB4(struct PlayTimeStruct *Time)
+void IncrementPlayTime(struct PlayTimeStruct *Time)
{
u16 temp_store16;
+ Time->frames++;
+ if(Time->frames <= 59)
+ return;
+ Time->frames = 0;
+
Time->seconds++;
if(Time->seconds <= 59)
return;
@@ -55,42 +60,35 @@ void sub_8094FB4(struct PlayTimeStruct *Time)
return;
Time->minutes = 0;
- Time->hours++;
- if(Time->hours <= 59)
- return;
- Time->hours = 0;
-
- // ???
- temp_store16 = Time->unk0;
- if(Time->unk0 <= 9998)
+ // Casting here for unsigned comparison
+ temp_store16 = Time->hours;
+ if(Time->hours <= 9998)
{
temp_store16++;
- Time->unk0 = temp_store16;
+ Time->hours = temp_store16;
}
else
{
+ Time->seconds = 59;
Time->minutes = 59;
- Time->hours = 59;
- Time->unk0 = 9999;
+ Time->hours= 9999;
}
}
-void sub_8095014(struct PlayTimeStruct *r0, u32 *r1, u32 *r2, u32 *r3)
+void DeconstructPlayTime(struct PlayTimeStruct *r0, u32 *outHours, u32 *outMinutes, u32 *outSeconds)
{
- u32 temp;
- if(r0->unk0 <= 9999)
+ if(r0->hours <= 9999)
{
- *r1 = r0->unk0;
- *r2 = r0->hours;
- temp = r0->minutes;
+ *outHours = r0->hours;
+ *outMinutes = r0->minutes;
+ *outSeconds = r0->seconds;
}
else
{
- *r1 = 9999;
- *r2 = 59;
- temp = 59;
+ *outHours = 9999;
+ *outMinutes = 59;
+ *outSeconds = 59;
}
- *r3 = temp;
}
void sub_8095044(u32 r0)
diff --git a/src/code_8098BDC.c b/src/code_8098BDC.c
index e35500a..b47d39c 100644
--- a/src/code_8098BDC.c
+++ b/src/code_8098BDC.c
@@ -1,6 +1,7 @@
#include "global.h"
+#include "time.h"
-extern u32 gUnknown_203B47C;
+extern struct PlayTimeStruct *gUnknown_203B47C;
extern u32 gUnknown_20398A8;
extern u32 gUnknown_8115F5C;
extern u32 gUnknown_20398AC;
@@ -21,7 +22,7 @@ extern void sub_80A6E80();
extern void sub_8099BE4();
extern void sub_8099744();
extern void sub_8011860();
-extern void sub_8094FB4(u32 r0);
+extern void IncrementPlayTime(struct PlayTimeStruct *Time);
extern void sub_800CB20();
extern void sub_800485C();
extern void nullsub_120();
@@ -69,7 +70,7 @@ void sub_8098BDC(void)
sub_8099BE4();
sub_8099744();
sub_8011860();
- sub_8094FB4(gUnknown_203B47C);
+ IncrementPlayTime(gUnknown_203B47C);
sub_800CB20();
sub_800485C();
nullsub_120();