From e7f5fc640c8217e7fb86aca8a470a456660da388 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Tue, 25 May 2021 17:39:39 -0400 Subject: Define MAX_SECONDS --- arm9/asm/unk_02028980.s | 4 ++-- arm9/asm/unk_02034FE4.s | 2 +- arm9/asm/unk_020377F0.s | 2 +- arm9/asm/unk_0204B9EC.s | 2 +- arm9/global.inc | 4 ++-- arm9/src/gf_rtc.c | 16 +++++++++------- 6 files changed, 16 insertions(+), 14 deletions(-) diff --git a/arm9/asm/unk_02028980.s b/arm9/asm/unk_02028980.s index 8c9178e7..664e39e7 100644 --- a/arm9/asm/unk_02028980.s +++ b/arm9/asm/unk_02028980.s @@ -163,10 +163,10 @@ _02028A30: lsr r0, r0, #0x1d str r0, [sp, #0x1c] add r0, sp, #0x0 - bl FUN_02012710 + bl GF_RTC_GetDayOfYear add r4, r0, #0x0 add r0, sp, #0x10 - bl FUN_02012710 + bl GF_RTC_GetDayOfYear ldr r2, [sp, #0x4] sub r0, r4, r0 cmp r2, #0xc diff --git a/arm9/asm/unk_02034FE4.s b/arm9/asm/unk_02034FE4.s index 128cfb9d..81135415 100644 --- a/arm9/asm/unk_02034FE4.s +++ b/arm9/asm/unk_02034FE4.s @@ -136,7 +136,7 @@ FUN_02034FE4: ; 0x02034FE4 bl Sav2_SysInfo_RTC_get add r6, r0, #0x0 add r0, r6, #0x4 - bl FUN_02012710 + bl GF_RTC_GetDayOfYear sub r5, r0, #0x1 bmi _0203500C ldr r0, _02035060 ; =0x0000016E diff --git a/arm9/asm/unk_020377F0.s b/arm9/asm/unk_020377F0.s index c501c604..9c2132bf 100644 --- a/arm9/asm/unk_020377F0.s +++ b/arm9/asm/unk_020377F0.s @@ -2417,7 +2417,7 @@ _02038956: ldr r1, [r5, #0x8] ldr r2, [sp, #0x4] add r3, r6, #0x0 - bl FUN_020127C0 + bl GF_RTC_TimeDelta mov r2, #0x3c mov r3, #0x0 bl _ll_sdiv diff --git a/arm9/asm/unk_0204B9EC.s b/arm9/asm/unk_0204B9EC.s index e8d19327..2511f182 100644 --- a/arm9/asm/unk_0204B9EC.s +++ b/arm9/asm/unk_0204B9EC.s @@ -44,7 +44,7 @@ FUN_0204BA1C: ; 0x0204BA1C add r2, r0, #0x0 ldr r0, [r1, #0x40] ldr r1, [r1, #0x44] - bl FUN_020127C0 + bl GF_RTC_TimeDelta mov r2, #0xfa mov r3, #0x0 lsl r2, r2, #0x2 diff --git a/arm9/global.inc b/arm9/global.inc index f94670a1..d4d6b78c 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -805,11 +805,11 @@ .extern GF_RTC_CopyDate .extern GF_RTC_TimeToSec .extern GF_RTC_DateTimeToSec -.extern FUN_02012710 +.extern GF_RTC_GetDayOfYear .extern IsNighttime .extern GF_RTC_GetTimeOfDay .extern GF_RTC_GetTimeOfDayByHour -.extern FUN_020127C0 +.extern GF_RTC_TimeDelta .extern ListMenuItems_ctor .extern ListMenuItems_dtor .extern ListMenuItems_AppendFromMsgData diff --git a/arm9/src/gf_rtc.c b/arm9/src/gf_rtc.c index 9a1c1393..02fa735f 100644 --- a/arm9/src/gf_rtc.c +++ b/arm9/src/gf_rtc.c @@ -17,6 +17,8 @@ typedef struct GF_RTC_Work GF_RTC_Work sGFRTCWork; +#define MAX_SECONDS (3155759999ll) + void GF_RTC_GetDateTime(GF_RTC_Work * work); THUMB_FUNC void GF_InitRTCWork(void) @@ -95,7 +97,7 @@ static inline BOOL IsLeapYear(s32 year) return ((year % 4) == 0 && (year % 100) != 0) || ((year % 400) == 0); } -THUMB_FUNC s32 FUN_02012710(const RTCDate * date) +THUMB_FUNC s32 GF_RTC_GetDayOfYear(const RTCDate * date) { RTCDate date_stack; s32 days; @@ -167,15 +169,15 @@ THUMB_FUNC enum RTC_TimeOfDay GF_RTC_GetTimeOfDayByHour(s32 hour) return sTimeOfDayByHour[hour]; } -THUMB_FUNC s64 FUN_020127C0(s64 r4r7, s64 r5r6) +THUMB_FUNC s64 GF_RTC_TimeDelta(s64 first, s64 last) { RTCDate maxDate = { 99, 12, 31, 0 }; RTCTime maxTime = { 23, 59, 59 }; - s64 r2r3 = RTC_ConvertDateTimeToSecond(&maxDate, &maxTime); - GF_ASSERT(r2r3 == 3155759999ll); - if (r4r7 < r5r6) - return r5r6 - r4r7; + s64 check = RTC_ConvertDateTimeToSecond(&maxDate, &maxTime); + GF_ASSERT(check == MAX_SECONDS); + if (first < last) + return last - first; else - return r5r6 + (3155759999ll - r4r7); + return last + (MAX_SECONDS - first); } -- cgit v1.2.3