diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/code_8094F88.c | 137 | ||||
-rw-r--r-- | src/code_8095014.c | 87 | ||||
-rw-r--r-- | src/save_mid.c | 20 |
3 files changed, 131 insertions, 113 deletions
diff --git a/src/code_8094F88.c b/src/code_8094F88.c index 2a0e618..dea2561 100644 --- a/src/code_8094F88.c +++ b/src/code_8094F88.c @@ -1,35 +1,140 @@ #include "global.h" +#include "time.h" + +extern struct PlayTimeStruct *gUnknown_203B47C; +extern struct PlayTimeStruct gPlayTime; + +extern u8 gUnknown_2038C88; +extern u8 gUnknown_2039288; +extern u32 gUnknown_20392E8; +extern u32 gUnknown_20393C0; +extern u8 *gUnknown_203B480; +extern u8 *gUnknown_203B484; +extern u32 *gUnknown_203B488; +extern u32 *gUnknown_203B48C; -struct unkTimeStruct -{ - u16 unk0; - u8 unk2; - u8 unk3; - u8 unk4; -}; -extern struct unkTimeStruct *gUnknown_203B47C; -extern struct unkTimeStruct gPlayTime; +extern void sub_809488C(u32, u32, u32); +extern void sub_8094924(u32, u32, u32); + // Forward Declaration -void sub_8094FA8(struct unkTimeStruct *Time); +void ResetPlayTime(struct PlayTimeStruct *Time); void sub_8094F88(void) { gUnknown_203B47C = &gPlayTime; - sub_8094FA8(&gPlayTime); + ResetPlayTime(&gPlayTime); } -struct unkTimeStruct *sub_8094FA0(void) +struct PlayTimeStruct *sub_8094FA0(void) { return &gPlayTime; } -void sub_8094FA8(struct unkTimeStruct *Time) +void ResetPlayTime(struct PlayTimeStruct *Time) { - Time->unk4 = 0; - Time->unk3 = 0; - Time->unk2 = 0; + Time->seconds = 0; + Time->minutes = 0; + Time->hours = 0; Time->unk0 = 0; } + +void sub_8094FB4(struct PlayTimeStruct *Time) +{ + u16 temp_store16; + + Time->seconds++; + if(Time->seconds <= 59) + return; + Time->seconds = 0; + + Time->minutes++; + if(Time->minutes <= 59) + return; + Time->minutes = 0; + + Time->hours++; + if(Time->hours <= 59) + return; + Time->hours = 0; + + // ??? + temp_store16 = Time->unk0; + if(Time->unk0 <= 9998) + { + temp_store16++; + Time->unk0 = temp_store16; + } + else + { + Time->minutes = 59; + Time->hours = 59; + Time->unk0 = 9999; + } +} + +void sub_8095014(struct PlayTimeStruct *r0, u32 *r1, u32 *r2, u32 *r3) +{ + u32 temp; + if(r0->unk0 <= 9999) + { + *r1 = r0->unk0; + *r2 = r0->hours; + temp = r0->minutes; + } + else + { + *r1 = 9999; + *r2 = 59; + temp = 59; + } + *r3 = temp; +} + +void sub_8095044(u32 r0) +{ + sub_809488C(r0, (u32)(gUnknown_203B47C) + 4, 0x6); + sub_809488C(r0, (u32)(gUnknown_203B47C) + 3, 0x6); + sub_809488C(r0, (u32)(gUnknown_203B47C) + 2, 0x6); + sub_809488C(r0, (u32)(gUnknown_203B47C), 0xE); +} + +void sub_8095080(u32 r0) +{ + sub_8094924(r0, (u32)(gUnknown_203B47C) + 4, 0x6); + sub_8094924(r0, (u32)(gUnknown_203B47C) + 3, 0x6); + sub_8094924(r0, (u32)(gUnknown_203B47C) + 2, 0x6); + sub_8094924(r0, (u32)(gUnknown_203B47C), 0xE); +} + +void sub_80950BC(void) +{ + gUnknown_203B480 = &gUnknown_2038C88; + gUnknown_203B484 = &gUnknown_2039288; + gUnknown_203B488 = &gUnknown_20392E8; + gUnknown_203B48C = &gUnknown_20393C0; +} + +u8 *sub_80950F8(void) +{ + return &gUnknown_2038C88; +} + +u8 *sub_8095100(void) +{ + return &gUnknown_2039288; +} + +u32 *sub_8095108(void) +{ + return &gUnknown_20392E8; +} + +u32 *sub_8095110(void) +{ + return &gUnknown_20393C0; +} + + diff --git a/src/code_8095014.c b/src/code_8095014.c deleted file mode 100644 index 7f3fb05..0000000 --- a/src/code_8095014.c +++ /dev/null @@ -1,87 +0,0 @@ -#include "global.h" - -struct unk_8094FB4 -{ - s16 unk0; - u8 unk2; - u8 unk3; - u8 unk4; -}; - - -extern u32 *gUnknown_203B480; -extern u32 *gUnknown_203B484; -extern u32 *gUnknown_203B488; -extern u32 *gUnknown_203B48C; - -extern u32 gUnknown_203B47C; -extern u32 gUnknown_2038C88; -extern u32 gUnknown_2039288; -extern u32 gUnknown_20392E8; -extern u32 gUnknown_20393C0; - -extern void sub_809488C(u32, u32, u32); -extern void sub_8094924(u32, u32, u32); - -void sub_8095014(struct unk_8094FB4 *r0, u32 *r1, u32 *r2, u32 *r3) -{ - u32 temp; - if(r0->unk0 <= 0x270f) - { - *r1 = r0->unk0; - *r2 = r0->unk2; - temp = r0->unk3; - } - else - { - *r1 = 0x270f; - *r2 = 0x3B; - temp = 0x3B; - } - *r3 = temp; -} - -void sub_8095044(u32 r0) -{ - sub_809488C(r0, gUnknown_203B47C + 4, 0x6); - sub_809488C(r0, gUnknown_203B47C + 3, 0x6); - sub_809488C(r0, gUnknown_203B47C + 2, 0x6); - sub_809488C(r0, gUnknown_203B47C, 0xE); -} - -void sub_8095080(u32 r0) -{ - sub_8094924(r0, gUnknown_203B47C + 4, 0x6); - sub_8094924(r0, gUnknown_203B47C + 3, 0x6); - sub_8094924(r0, gUnknown_203B47C + 2, 0x6); - sub_8094924(r0, gUnknown_203B47C, 0xE); -} - -void sub_80950BC(void) -{ - gUnknown_203B480 = &gUnknown_2038C88; - gUnknown_203B484 = &gUnknown_2039288; - gUnknown_203B488 = &gUnknown_20392E8; - gUnknown_203B48C = &gUnknown_20393C0; -} - -u32 *sub_80950F8(void) -{ - return &gUnknown_2038C88; -} - -u32 *sub_8095100(void) -{ - return &gUnknown_2039288; -} - -u32 *sub_8095108(void) -{ - return &gUnknown_20392E8; -} - -u32 *sub_8095110(void) -{ - return &gUnknown_20393C0; -} - diff --git a/src/save_mid.c b/src/save_mid.c index ce1b378..13e9cbf 100644 --- a/src/save_mid.c +++ b/src/save_mid.c @@ -25,18 +25,18 @@ struct unk_struct extern struct unk_203B188 *gUnknown_203B188; -extern u32 *gUnknown_203B460; extern u32 *gUnknown_203B45C; -extern u32 *gUnknown_203B480; -extern u32 *gUnknown_203B484; +extern u32 *gUnknown_203B460; +extern u32 gUnknown_203B464; +extern u8 *gUnknown_203B468; +extern u32 gUnknown_203B46C; +extern u8 *gUnknown_203B480; +extern u8 *gUnknown_203B484; extern u32 *gUnknown_203B488; extern u32 *gUnknown_203B48C; extern u32 gUnknown_203B490; -extern u32 gUnknown_203B464; extern u32 gUnknown_203B494; extern u8 *gUnknown_203B498; -extern u8 *gUnknown_203B468; -extern u32 gUnknown_203B46C; extern void sub_800135C(void); extern u32 *sub_808CE00(void); @@ -49,8 +49,8 @@ extern u8 *sub_80923B0(void); extern void sub_80923B8(void); extern u32 sub_8094990(void); extern void sub_8094998(u8 r0); -extern u32 *sub_80950F8(void); -extern u32 *sub_8095100(void); +extern u8 *sub_80950F8(void); +extern u8 *sub_8095100(void); extern u32 *sub_8095108(void); extern u32 *sub_8095110(void); extern void sub_8095118(void); @@ -67,7 +67,7 @@ extern void sub_8011C40(s32 r0); extern void sub_8097748(void); -extern void sub_8094FA8(struct unkTimeStruct *Time); // defined in src/code_8094F88.c +extern void ResetPlayTime(struct unkTimeStruct *Time); // defined in src/code_8094F88.c extern struct unkTimeStruct *sub_8094FA0(void); extern void* MemoryAlloc(u32 a, u32 b); @@ -167,7 +167,7 @@ void sub_80122D0(void) sub_8011C28(0); sub_8011C40(-1); sub_8097748(); - sub_8094FA8(gUnknown_203B47C); + ResetPlayTime(gUnknown_203B47C); } void sub_80122F4(void) |