diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-11-20 10:33:21 -0600 |
---|---|---|
committer | Seth Barberee <seth.barberee@gmail.com> | 2020-11-20 10:33:21 -0600 |
commit | cbfab08a06d7f9deca21b510b1bbdb80c05ea662 (patch) | |
tree | a2eb93d47fe4f69e057c8b364ff30fd6c237a6bb /src | |
parent | 5f8105180b15f04d48c72df2953d267c87d6148c (diff) |
finish docing PlayTime and fix function - Kermalis
Diffstat (limited to 'src')
-rw-r--r-- | src/code_8040094.c | 6 | ||||
-rw-r--r-- | src/code_8094F88.c | 44 | ||||
-rw-r--r-- | src/code_8098BDC.c | 7 |
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(); |