diff options
-rw-r--r-- | arm9/arm9.lsf | 3 | ||||
-rw-r--r-- | arm9/modules/21/asm/mod21_02254854_asm.s | 81 | ||||
-rw-r--r-- | arm9/modules/21/include/mod21_02254854.h | 2 | ||||
-rw-r--r-- | arm9/modules/21/src/mod21_02254854.c (renamed from arm9/modules/21/src/mod21_02254854_src.c) | 48 |
4 files changed, 48 insertions, 86 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index e0073d87..d77a4c21 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -663,8 +663,7 @@ Overlay MODULE_21 { ##Pokétch Clock## After MODULE_20 - Object mod21_02254854_src.o - Object mod21_02254854_asm.o + Object mod21_02254854.o Object mod21_02254A6C.o } diff --git a/arm9/modules/21/asm/mod21_02254854_asm.s b/arm9/modules/21/asm/mod21_02254854_asm.s deleted file mode 100644 index 344d0d64..00000000 --- a/arm9/modules/21/asm/mod21_02254854_asm.s +++ /dev/null @@ -1,81 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - .section .text - .balign 4, 0 - - .extern MOD21_02254990 - - thumb_func_start MOD21_022549E4 -MOD21_022549E4: ; 0x022549E4 - push {r4, lr} - add r4, r0, #0 - ldrb r1, [r4, #2] - cmp r1, #0 - beq _022549F8 - mov r1, #2 - bl MOD21_02254990 - mov r0, #0 - pop {r4, pc} -_022549F8: - ldrb r0, [r4, #6] - cmp r0, #0 - beq _02254A0A - mov r0, #0 - strb r0, [r4, #6] - ldr r0, [r4, #0x24] - mov r1, #2 - bl MOD21_02254B10 -_02254A0A: - ldr r0, [r4, #0x24] - mov r1, #1 - bl MOD21_02254B34 - cmp r0, #0 - beq _02254A32 - ldr r0, [r4, #0x18] - strb r0, [r4, #5] - add r0, r4, #0 - add r0, #0x14 - bl GF_RTC_CopyTime - ldrb r1, [r4, #5] - ldr r0, [r4, #0x18] - cmp r1, r0 - beq _02254A32 - ldr r0, [r4, #0x24] - mov r1, #1 - bl MOD21_02254B10 -_02254A32: - mov r0, #0 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD21_022549E4 - - thumb_func_start MOD21_02254A38 -MOD21_02254A38: ; 0x02254A38 - push {r4, lr} - add r4, r0, #0 - ldrb r0, [r4, #1] - cmp r0, #0 - beq _02254A48 - cmp r0, #1 - beq _02254A58 - b _02254A66 -_02254A48: - ldr r0, [r4, #0x24] - mov r1, #3 - bl MOD21_02254B10 - ldrb r0, [r4, #1] - add r0, r0, #1 - strb r0, [r4, #1] - b _02254A66 -_02254A58: - ldr r0, [r4, #0x24] - bl MOD21_02254B40 - cmp r0, #0 - beq _02254A66 - mov r0, #1 - pop {r4, pc} -_02254A66: - mov r0, #0 - pop {r4, pc} - .align 2, 0 - thumb_func_end MOD21_02254A38 diff --git a/arm9/modules/21/include/mod21_02254854.h b/arm9/modules/21/include/mod21_02254854.h index e6b6c3cf..b501962e 100644 --- a/arm9/modules/21/include/mod21_02254854.h +++ b/arm9/modules/21/include/mod21_02254854.h @@ -23,5 +23,7 @@ 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); +BOOL MOD21_022549E4(UnkStruct02254854 * param0); +BOOL MOD21_02254A38(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.c index db8769af..44c97b8e 100644 --- a/arm9/modules/21/src/mod21_02254854_src.c +++ b/arm9/modules/21/src/mod21_02254854.c @@ -10,15 +10,13 @@ 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 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 BOOL MOD21_02254B40(u32 param0); extern void MOD20_0225298C(u32 param0); extern void Poketch_InitApp(void *func1, void *func2); @@ -160,3 +158,47 @@ THUMB_FUNC BOOL MOD21_022549A4(UnkStruct02254854 * param0) } return FALSE; } + +THUMB_FUNC BOOL MOD21_022549E4(UnkStruct02254854 * param0) +{ + if (param0->bytearray[2]) + { + MOD21_02254990(param0, 2); + return FALSE; + } + if (param0->bytearray[6]) + { + param0->bytearray[6] = 0; + MOD21_02254B10(param0->Unk24, 2); + } + if (MOD21_02254B34(param0->Unk24, 1)) + { + param0->bytearray[5] = (u8)param0->Unk14[1]; + GF_RTC_CopyTime(param0->Unk14); + if (param0->bytearray[5] != param0->Unk14[1]) + { + MOD21_02254B10(param0->Unk24, 1); + } + } + return FALSE; +} + +THUMB_FUNC BOOL MOD21_02254A38(UnkStruct02254854 * param0) +{ + switch (param0->bytearray[1]) + { + case 0: + MOD21_02254B10(param0->Unk24, 3); + param0->bytearray[1]++; + break; + case 1: + if (MOD21_02254B40(param0->Unk24)) + { + return TRUE; + } + break; + default: + break; + } + return FALSE; +} |