diff options
-rw-r--r-- | arm9/modules/21/asm/mod21_02254A6C_asm.s | 17 | ||||
-rw-r--r-- | arm9/modules/21/include/mod21_02254A6C.h | 1 | ||||
-rw-r--r-- | arm9/modules/21/src/mod21_02254A6C_src.c | 13 |
3 files changed, 13 insertions, 18 deletions
diff --git a/arm9/modules/21/asm/mod21_02254A6C_asm.s b/arm9/modules/21/asm/mod21_02254A6C_asm.s index f364df84..b70b3d9a 100644 --- a/arm9/modules/21/asm/mod21_02254A6C_asm.s +++ b/arm9/modules/21/asm/mod21_02254A6C_asm.s @@ -5,22 +5,7 @@ .extern MOD21_02254B4C .extern MOD21_02254B60 - - thumb_func_start MOD21_02254BF4 -MOD21_02254BF4: ; 0x02254BF4 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r0, r5, #0 - bl MOD20_022538A0 - add r4, r0, #0 - bl MOD21_02254C5C - ldr r0, [r4, #4] - mov r1, #6 - bl FUN_02017CD0 - add r0, r5, #0 - bl MOD21_02254B4C - pop {r3, r4, r5, pc} - thumb_func_end MOD21_02254BF4 + .extern MOD21_02254BF4 thumb_func_start MOD21_02254C14 MOD21_02254C14: ; 0x02254C14 diff --git a/arm9/modules/21/include/mod21_02254A6C.h b/arm9/modules/21/include/mod21_02254A6C.h index d0fc3284..5376e325 100644 --- a/arm9/modules/21/include/mod21_02254A6C.h +++ b/arm9/modules/21/include/mod21_02254A6C.h @@ -26,5 +26,6 @@ BOOL MOD21_02254B34(void *param0, u32 param1); BOOL MOD21_02254B40(void *param0); BOOL MOD21_02254B4C(void *param0); BOOL MOD21_02254B60(u32 param0, void *param1); +BOOL MOD21_02254BF4(u32 param0, void *param1); #endif //POKEDIAMOND_MOD21_02254A6C_H diff --git a/arm9/modules/21/src/mod21_02254A6C_src.c b/arm9/modules/21/src/mod21_02254A6C_src.c index 44c2515a..25a8548b 100644 --- a/arm9/modules/21/src/mod21_02254A6C_src.c +++ b/arm9/modules/21/src/mod21_02254A6C_src.c @@ -100,11 +100,20 @@ THUMB_FUNC BOOL MOD21_02254B60(u32 param0, void *param1) u32 r2 = reg_GXS_DB_DISPCNT; vu32 tmp = r3; //unused? wtf u32 r0 = ~0x1F00 & r2; - r2 = r3 << 0x13; - r3 = r2 >> 0x1b; + r2 = r3 << 19; //cast with shift? can't replicate both though + r3 = r2 >> 27; r2 = 4 | r3; r2 <<= 8; r0 |= r2; reg_GXS_DB_DISPCNT = r0; return MOD21_02254B4C(param1); } + +THUMB_FUNC BOOL MOD21_02254BF4(u32 param0, void *param1) +{ +#pragma unused (param0) + UnkStruct02254B60 *strct = MOD20_022538A0(param1); + MOD21_02254C5C(strct); + FUN_02017CD0(strct->Unk04, 6); + return MOD21_02254B4C(param1); +} |