diff options
author | red031000 <rubenru09@aol.com> | 2020-11-18 14:39:57 +0000 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-11-18 14:39:57 +0000 |
commit | 18795a69f067096ce79e9aa3ca8bfa41ca0e400c (patch) | |
tree | 1e42ee7a92d129fd5994d5616123bcb753cb949e | |
parent | 89476f60f8b7bdef718c566252421922c1ace7a2 (diff) |
mod21_022549A4
-rw-r--r-- | arm9/modules/21/asm/mod21_02254854_asm.s | 35 | ||||
-rw-r--r-- | arm9/modules/21/include/mod21_02254854.h | 1 | ||||
-rw-r--r-- | arm9/modules/21/src/mod21_02254854_src.c | 32 |
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; +} |