summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-11-01 20:11:23 +0000
committerred031000 <rubenru09@aol.com>2020-11-01 20:11:23 +0000
commitce3a633c5af004dc2d7101d223c95d2a5e1e1471 (patch)
tree143fc183a101ea474ad3c18370102aa91325a070
parent7760cf77674e0903b7a2405869c5449f1d9289f5 (diff)
decompile MOD05_021E72FC
-rw-r--r--arm9/arm9.lsf4
-rw-r--r--arm9/modules/05/asm/mod05_021E72FC_asm.s (renamed from arm9/modules/05/asm/mod05_021E72FC_asm2.s)0
-rw-r--r--arm9/modules/05/asm/mod05_021E72FC_asm1.s55
-rw-r--r--arm9/modules/05/include/mod05_021E72FC.h1
-rw-r--r--arm9/modules/05/src/mod05_021E72FC_src.c37
5 files changed, 39 insertions, 58 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf
index eb4e1fa1..d3eb80a0 100644
--- a/arm9/arm9.lsf
+++ b/arm9/arm9.lsf
@@ -554,10 +554,8 @@ Overlay MODULE_05
Object mod05_021E5C8C.o
Object mod05_021E5E10.o
Object mod05_021E5FD8.o
- #kinda awkward split, sorry
- Object mod05_021E72FC_asm1.o
Object mod05_021E72FC_src.o
- Object mod05_021E72FC_asm2.o
+ Object mod05_021E72FC_asm.o
Object mod05_021E7504.o
Object module_05.o
}
diff --git a/arm9/modules/05/asm/mod05_021E72FC_asm2.s b/arm9/modules/05/asm/mod05_021E72FC_asm.s
index 2bfcbe12..2bfcbe12 100644
--- a/arm9/modules/05/asm/mod05_021E72FC_asm2.s
+++ b/arm9/modules/05/asm/mod05_021E72FC_asm.s
diff --git a/arm9/modules/05/asm/mod05_021E72FC_asm1.s b/arm9/modules/05/asm/mod05_021E72FC_asm1.s
deleted file mode 100644
index 84999c30..00000000
--- a/arm9/modules/05/asm/mod05_021E72FC_asm1.s
+++ /dev/null
@@ -1,55 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .section .text
- .balign 4, 0
-
- #in asm2
- .extern MOD05_021E73B4
- .extern MOD05_021E74D4
-
- thumb_func_start MOD05_021E72FC
-MOD05_021E72FC: ; 0x021E72FC
- push {r4, r5, r6, lr}
- add r6, r1, #0
- add r5, r0, #0
- add r0, r6, #0
- bl FUN_020553A0
- bl FUN_02058720
- lsl r0, r0, #0x18
- lsr r4, r0, #0x18
- add r0, r4, #0
- bl FUN_02054B30
- cmp r0, #1
- bne _021E731E
- mov r2, #3
- b _021E734C
-_021E731E:
- add r0, r4, #0
- bl FUN_02054B3C
- cmp r0, #1
- bne _021E732C
- mov r2, #2
- b _021E734C
-_021E732C:
- add r0, r4, #0
- bl FUN_02054B48
- cmp r0, #1
- bne _021E733A
- mov r2, #0
- b _021E734C
-_021E733A:
- add r0, r4, #0
- bl FUN_02054B54
- cmp r0, #1
- bne _021E7348
- mov r2, #1
- b _021E734C
-_021E7348:
- mov r0, #0
- pop {r4, r5, r6, pc}
-_021E734C:
- add r0, r5, #0
- add r1, r6, #0
- bl MOD05_021E7358
- mov r0, #1
- pop {r4, r5, r6, pc}
diff --git a/arm9/modules/05/include/mod05_021E72FC.h b/arm9/modules/05/include/mod05_021E72FC.h
index 406d6f6e..3aba6c4d 100644
--- a/arm9/modules/05/include/mod05_021E72FC.h
+++ b/arm9/modules/05/include/mod05_021E72FC.h
@@ -12,6 +12,7 @@ typedef struct UnkStruct021E7358
} UnkStruct021E7358;
+BOOL MOD05_021E72FC(u32 param0, u32 param1);
void MOD05_021E7358(u32 param0, u32 param1, u32 param2);
u32 MOD05_021E7388(u32 param0);
diff --git a/arm9/modules/05/src/mod05_021E72FC_src.c b/arm9/modules/05/src/mod05_021E72FC_src.c
index 90b05ce2..63dc6a7c 100644
--- a/arm9/modules/05/src/mod05_021E72FC_src.c
+++ b/arm9/modules/05/src/mod05_021E72FC_src.c
@@ -5,6 +5,43 @@ extern UnkStruct021E7358 *MOD05_021E74D4(u32 param0);
extern void FUN_020054C8(u32 param0);
extern MOD05_021E73B4();
extern void FUN_020463CC(u32 param0, void *func, UnkStruct021E7358 *param2);
+extern void FUN_020553A0(u32 param0);
+extern u32 FUN_02058720(void);
+extern BOOL FUN_02054B30(u8 param0);
+extern BOOL FUN_02054B3C(u8 param0);
+extern BOOL FUN_02054B48(u8 param0);
+extern BOOL FUN_02054B54(u8 param0);
+
+THUMB_FUNC BOOL MOD05_021E72FC(u32 param0, u32 param1)
+{
+ FUN_020553A0(param1);
+ u8 res = (u8)FUN_02058720();
+ u32 r2;
+ if (FUN_02054B30(res) == TRUE)
+ {
+ r2 = 3;
+ goto label;
+ }
+ else if (FUN_02054B3C(res) == TRUE)
+ {
+ r2 = 2;
+ goto label;
+ }
+ else if (FUN_02054B48(res) == TRUE)
+ {
+ r2 = 0;
+ goto label;
+ }
+ else if (FUN_02054B54(res) == TRUE)
+ {
+ r2 = 1;
+ goto label;
+ }
+ return FALSE;
+label:
+ MOD05_021E7358(param0, param1, r2);
+ return TRUE;
+}
THUMB_FUNC void MOD05_021E7358(u32 param0, u32 param1, u32 param2)
{