diff options
-rw-r--r-- | arm9/asm/unk_02028980.s | 4 | ||||
-rw-r--r-- | arm9/asm/unk_02034FE4.s | 2 | ||||
-rw-r--r-- | arm9/asm/unk_020377F0.s | 2 | ||||
-rw-r--r-- | arm9/asm/unk_0204B9EC.s | 2 | ||||
-rw-r--r-- | arm9/global.inc | 4 | ||||
-rw-r--r-- | 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);
}
|