diff options
author | Rémi Calixte <remicalixte.rmc@gmail.com> | 2021-03-15 23:28:06 +0100 |
---|---|---|
committer | Rémi Calixte <remicalixte.rmc@gmail.com> | 2021-03-16 13:55:35 +0100 |
commit | 32852c6104604d7df8450dc9a58a3beeb13e6913 (patch) | |
tree | faff7938b7167286352c257d77c57169aaaceba9 | |
parent | 96d819dc80d6d62f802850ff69ec62cf27dd9c94 (diff) |
decomp MOD52_021D7594
-rw-r--r-- | arm9/global.inc | 3 | ||||
-rw-r--r-- | arm9/modules/52/asm/module_52.s | 38 | ||||
-rw-r--r-- | arm9/modules/52/src/module_52_c.c | 23 |
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; +} |