diff options
author | Rémi Calixte <remicalixte.rmc@gmail.com> | 2021-03-15 22:05:14 +0100 |
---|---|---|
committer | Rémi Calixte <remicalixte.rmc@gmail.com> | 2021-03-16 13:55:35 +0100 |
commit | 543b9f0b5cc4351f1663fa48219438fb7e1a9672 (patch) | |
tree | e8694b37640653e83f573549777ea13edf2adc41 | |
parent | 31439d0c354fb6db2adea8cf695e4f9fde4368fd (diff) |
decomp MOD52_021D7540
-rw-r--r-- | arm9/global.inc | 3 | ||||
-rw-r--r-- | arm9/modules/52/asm/module_52.s | 15 | ||||
-rw-r--r-- | arm9/modules/52/src/module_52_c.c | 19 |
3 files changed, 18 insertions, 19 deletions
diff --git a/arm9/global.inc b/arm9/global.inc index aee60c7b..f6c46ada 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -8522,4 +8522,5 @@ .extern MOD52_021D74E0 .extern MOD52_021D74F8 .extern MOD52_021D750C -.extern MOD52_021D7528
\ No newline at end of file +.extern MOD52_021D7528 +.extern MOD52_021D7540
\ No newline at end of file diff --git a/arm9/modules/52/asm/module_52.s b/arm9/modules/52/asm/module_52.s index 82abcf6e..1fb81f69 100644 --- a/arm9/modules/52/asm/module_52.s +++ b/arm9/modules/52/asm/module_52.s @@ -3,21 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD52_021D7540 -MOD52_021D7540: ; 0x021D7540 - push {r4, lr} - bl OverlayManager_GetField18 - ldr r4, [r0, #8] - mov r0, #0x4d - add r1, r4, #0 - mov r2, #1 - bl MOD52_021D7604 - add r0, r4, #0 - bl Sav2_PlayerData_GetIGTAddr - bl FUN_02015E3C - mov r0, #1 - pop {r4, pc} - thumb_func_end MOD52_021D7540 thumb_func_start MOD52_021D7560 MOD52_021D7560: ; 0x021D7560 diff --git a/arm9/modules/52/src/module_52_c.c b/arm9/modules/52/src/module_52_c.c index 4e73a078..f4803a8d 100644 --- a/arm9/modules/52/src/module_52_c.c +++ b/arm9/modules/52/src/module_52_c.c @@ -1,12 +1,15 @@ #include "global.h" #include "main.h" #include "overlay_manager.h" +#include "player_data.h" extern void FUN_0201681C(u32 param0, u32 heap_id, u32 param2); extern int FUN_020168D0(u32 heap_id); -extern void MOD52_021D769C(u32 heap_id, int param1); +extern void MOD52_021D769C(u32 heap_id, struct SaveBlock2 *save); extern struct Unk21DBE18 UNK_020FD144; +extern void MOD52_021D7604(u32 heap_id, struct SaveBlock2 *save, u32 param2); +extern void FUN_02015E3C(struct IGT* igt); THUMB_FUNC int MOD52_021D74E0() { FUN_0201681C(3, 0x4d, 2 << 16); @@ -16,9 +19,9 @@ THUMB_FUNC int MOD52_021D74E0() { } THUMB_FUNC int MOD52_021D74F8(struct UnkStruct_02006234 *param0) { - int res = OverlayManager_GetField18(param0)[2]; + struct SaveBlock2 *save = OverlayManager_GetField18(param0)[2]; - MOD52_021D769C(0x4d, res); + MOD52_021D769C(0x4d, save); return 1; } @@ -35,4 +38,14 @@ THUMB_FUNC int MOD52_021D7528() { InitializeMainRNG(); return 1; +} + + +THUMB_FUNC int MOD52_021D7540(struct UnkStruct_02006234 *param0) { + struct SaveBlock2 *save = OverlayManager_GetField18(param0)[2]; + MOD52_021D7604(0x4d, save, 1); + struct IGT* igt = Sav2_PlayerData_GetIGTAddr(save); + FUN_02015E3C(igt); + + return 1; }
\ No newline at end of file |