summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Calixte <remicalixte.rmc@gmail.com>2021-03-15 22:05:14 +0100
committerRémi Calixte <remicalixte.rmc@gmail.com>2021-03-16 13:55:35 +0100
commit543b9f0b5cc4351f1663fa48219438fb7e1a9672 (patch)
treee8694b37640653e83f573549777ea13edf2adc41
parent31439d0c354fb6db2adea8cf695e4f9fde4368fd (diff)
decomp MOD52_021D7540
-rw-r--r--arm9/global.inc3
-rw-r--r--arm9/modules/52/asm/module_52.s15
-rw-r--r--arm9/modules/52/src/module_52_c.c19
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