summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Calixte <remicalixte.rmc@gmail.com>2021-03-15 23:28:06 +0100
committerRémi Calixte <remicalixte.rmc@gmail.com>2021-03-16 13:55:35 +0100
commit32852c6104604d7df8450dc9a58a3beeb13e6913 (patch)
treefaff7938b7167286352c257d77c57169aaaceba9
parent96d819dc80d6d62f802850ff69ec62cf27dd9c94 (diff)
decomp MOD52_021D7594
-rw-r--r--arm9/global.inc3
-rw-r--r--arm9/modules/52/asm/module_52.s38
-rw-r--r--arm9/modules/52/src/module_52_c.c23
3 files changed, 25 insertions, 39 deletions
diff --git a/arm9/global.inc b/arm9/global.inc
index 930bd44d..1bcdcc4b 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -8525,4 +8525,5 @@
.extern MOD52_021D7528
.extern MOD52_021D7540
.extern MOD52_021D7560
-.extern MOD52_021D757C \ No newline at end of file
+.extern MOD52_021D757C
+.extern MOD52_021D7594
diff --git a/arm9/modules/52/asm/module_52.s b/arm9/modules/52/asm/module_52.s
index 821f2bfc..dfc5f598 100644
--- a/arm9/modules/52/asm/module_52.s
+++ b/arm9/modules/52/asm/module_52.s
@@ -5,44 +5,6 @@
-
- thumb_func_start MOD52_021D7594
-MOD52_021D7594: ; 0x021D7594
- push {r3, r4, r5, lr}
- bl OverlayManager_GetField18
- ldr r4, [r0, #8]
- add r0, r4, #0
- bl Sav2_SysInfo_get
- add r5, r0, #0
- mov r0, #0x4d
- add r1, r4, #0
- bl MOD52_021D7688
- add r0, r4, #0
- mov r1, #0
- bl Options_SetButtonModeOnMain
- add r0, r5, #0
- bl Sav2_SysInfo_MacAddressIsMine
- cmp r0, #0
- beq _021D75C8
- add r0, r5, #0
- bl Sav2_SysInfo_RTCOffsetIsMine
- cmp r0, #0
- bne _021D75D8
-_021D75C8:
- add r0, r4, #0
- bl Sav2_SysInfo_RTC_get
- bl FUN_020238A4
- add r0, r5, #0
- bl Sav2_SysInfo_InitFromSystem
-_021D75D8:
- add r0, r4, #0
- bl Sav2_PlayerData_GetIGTAddr
- bl FUN_02015E3C
- mov r0, #1
- pop {r3, r4, r5, pc}
- .align 2, 0
- thumb_func_end MOD52_021D7594
-
thumb_func_start MOD52_021D75E8
MOD52_021D75E8: ; 0x021D75E8
push {r3, lr}
diff --git a/arm9/modules/52/src/module_52_c.c b/arm9/modules/52/src/module_52_c.c
index b68bdd36..5c242b26 100644
--- a/arm9/modules/52/src/module_52_c.c
+++ b/arm9/modules/52/src/module_52_c.c
@@ -1,7 +1,9 @@
#include "global.h"
#include "main.h"
+#include "options.h"
#include "overlay_manager.h"
#include "player_data.h"
+#include "sav_system_info.h"
extern void FUN_0201681C(u32 param0, u32 heap_id, u32 param2);
extern int FUN_020168D0(u32 heap_id);
@@ -12,6 +14,8 @@ extern struct Unk21DBE18 UNK_020F2B7C;
extern void MOD52_021D7604(u32 heap_id, struct SaveBlock2 *save, u32 param2);
extern void FUN_02015E3C(struct IGT *igt);
+extern void MOD52_021D7688(u32 heap_id, struct SaveBlock2 *save);
+
THUMB_FUNC int MOD52_021D74E0()
{
FUN_0201681C(3, 0x4d, 2 << 16);
@@ -70,3 +74,22 @@ THUMB_FUNC int MOD52_021D757C()
return 1;
}
+
+THUMB_FUNC int MOD52_021D7594(struct UnkStruct_02006234 *param0)
+{
+ struct SaveBlock2 *save = OverlayManager_GetField18(param0)[2];
+ struct SavSysInfo *save_info = Sav2_SysInfo_get(save);
+
+ MOD52_021D7688(0x4d, save);
+ Options_SetButtonModeOnMain(save, 0);
+
+ if (!Sav2_SysInfo_MacAddressIsMine(save_info) || !Sav2_SysInfo_RTCOffsetIsMine(save_info))
+ {
+ FUN_020238A4(Sav2_SysInfo_RTC_get(save));
+ Sav2_SysInfo_InitFromSystem(save_info);
+ }
+
+ FUN_02015E3C(Sav2_PlayerData_GetIGTAddr(save));
+
+ return 1;
+}