summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorred031000 <rubenru09@aol.com>2020-11-18 14:39:57 +0000
committerred031000 <rubenru09@aol.com>2020-11-18 14:39:57 +0000
commit18795a69f067096ce79e9aa3ca8bfa41ca0e400c (patch)
tree1e42ee7a92d129fd5994d5616123bcb753cb949e
parent89476f60f8b7bdef718c566252421922c1ace7a2 (diff)
mod21_022549A4
-rw-r--r--arm9/modules/21/asm/mod21_02254854_asm.s35
-rw-r--r--arm9/modules/21/include/mod21_02254854.h1
-rw-r--r--arm9/modules/21/src/mod21_02254854_src.c32
3 files changed, 29 insertions, 39 deletions
diff --git a/arm9/modules/21/asm/mod21_02254854_asm.s b/arm9/modules/21/asm/mod21_02254854_asm.s
index ee8a1d56..344d0d64 100644
--- a/arm9/modules/21/asm/mod21_02254854_asm.s
+++ b/arm9/modules/21/asm/mod21_02254854_asm.s
@@ -5,41 +5,6 @@
.extern MOD21_02254990
- thumb_func_start MOD21_022549A4
-MOD21_022549A4: ; 0x022549A4
- push {r4, lr}
- add r4, r0, #0
- ldrb r0, [r4, #1]
- cmp r0, #0
- beq _022549B4
- cmp r0, #1
- beq _022549C4
- b _022549DE
-_022549B4:
- ldr r0, [r4, #0x24]
- mov r1, #0
- bl MOD21_02254B10
- ldrb r0, [r4, #1]
- add r0, r0, #1
- strb r0, [r4, #1]
- b _022549DE
-_022549C4:
- ldr r0, [r4, #0x24]
- mov r1, #0
- bl MOD21_02254B34
- cmp r0, #0
- beq _022549DE
- ldr r0, [r4, #0x28]
- bl MOD20_0225298C
- add r0, r4, #0
- mov r1, #1
- bl MOD21_02254990
-_022549DE:
- mov r0, #0
- pop {r4, pc}
- .align 2, 0
- thumb_func_end MOD21_022549A4
-
thumb_func_start MOD21_022549E4
MOD21_022549E4: ; 0x022549E4
push {r4, lr}
diff --git a/arm9/modules/21/include/mod21_02254854.h b/arm9/modules/21/include/mod21_02254854.h
index 26ef3e87..e6b6c3cf 100644
--- a/arm9/modules/21/include/mod21_02254854.h
+++ b/arm9/modules/21/include/mod21_02254854.h
@@ -22,5 +22,6 @@ void MOD21_02254930(u32 param0, UnkStruct02254854 *param1);
void MOD21_0225496C(UnkStruct02254854 *param0);
void MOD21_02254974(u32 param0, u32 param1, u32 param2, UnkStruct02254854 * param3);
void MOD21_02254990(UnkStruct02254854 * param0, u8 param1);
+BOOL MOD21_022549A4(UnkStruct02254854 * param0);
#endif //POKEDIAMOND_MOD21_02254854_H
diff --git a/arm9/modules/21/src/mod21_02254854_src.c b/arm9/modules/21/src/mod21_02254854_src.c
index eaa8d7ad..db8769af 100644
--- a/arm9/modules/21/src/mod21_02254854_src.c
+++ b/arm9/modules/21/src/mod21_02254854_src.c
@@ -10,14 +10,17 @@ extern BOOL MOD21_02254A6C(u32 *param0, u32 *param1);
extern BOOL MOD20_02254130(void *param0, BOOL param1, void *param2, UnkStruct02254854 *param3, u32 param4);
extern void MOD20_02252C14(u32 param0, BOOL param1);
-extern u32 MOD21_022549A4(UnkStruct02254854 *);
-extern u32 MOD21_022549E4(UnkStruct02254854 *);
-extern u32 MOD21_02254A38(UnkStruct02254854 *);
+extern BOOL MOD21_022549E4(UnkStruct02254854 *);
+extern BOOL MOD21_02254A38(UnkStruct02254854 *);
extern void MOD21_02254B04(u32 param0);
extern void MOD20_02254198(BOOL param0);
extern void MOD20_022529A0(u32 param0);
+extern void MOD21_02254B10(u32 param0, u32 param1);
+extern BOOL MOD21_02254B34(u32 param0, u32 param1);
+extern void MOD20_0225298C(u32 param0);
+
extern void Poketch_InitApp(void *func1, void *func2);
THUMB_FUNC static void MOD21_02254840(void)
@@ -75,7 +78,7 @@ THUMB_FUNC BOOL MOD21_0225489C(UnkStruct02254854 *param0, u32 param1, u32 param2
return FALSE;
}
-u32 (* const MOD21_02254D84[])(UnkStruct02254854 *) = { MOD21_022549A4, MOD21_022549E4, MOD21_02254A38 };
+BOOL (* const MOD21_02254D84[])(UnkStruct02254854 *) = { MOD21_022549A4, MOD21_022549E4, MOD21_02254A38 };
THUMB_FUNC void MOD21_02254918(UnkStruct02254854 *param0)
{
@@ -136,3 +139,24 @@ THUMB_FUNC void MOD21_02254990(UnkStruct02254854 * param0, u8 param1)
param0->bytearray[1] = 0;
}
+THUMB_FUNC BOOL MOD21_022549A4(UnkStruct02254854 * param0)
+{
+ switch (param0->bytearray[1])
+ {
+ case 0:
+ MOD21_02254B10(param0->Unk24, 0);
+ param0->bytearray[1]++;
+ break;
+ case 1:
+ if (MOD21_02254B34(param0->Unk24, 0) == FALSE)
+ {
+ break;
+ }
+ MOD20_0225298C(param0->Unk28);
+ MOD21_02254990(param0, 1);
+ break;
+ default:
+ break;
+ }
+ return FALSE;
+}