diff options
-rw-r--r-- | asm/battle_811DA74.s | 71 | ||||
-rw-r--r-- | src/battle_811DA74.c | 22 |
2 files changed, 20 insertions, 73 deletions
diff --git a/asm/battle_811DA74.s b/asm/battle_811DA74.s index bf02e6422..c926c4699 100644 --- a/asm/battle_811DA74.s +++ b/asm/battle_811DA74.s @@ -6,77 +6,6 @@ .text - thumb_func_start sub_811FA5C -sub_811FA5C: @ 811FA5C - push {r4,r5,lr} - ldr r5, _0811FA78 @ =gUnknown_02024A60 - ldrb r2, [r5] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r4, _0811FA7C @ =0x02017810 - adds r3, r0, r4 - ldrb r0, [r3, 0x4] - cmp r0, 0 - beq _0811FA80 - cmp r0, 0x1 - beq _0811FAAC - b _0811FAD4 - .align 2, 0 -_0811FA78: .4byte gUnknown_02024A60 -_0811FA7C: .4byte 0x02017810 -_0811FA80: - lsls r0, r2, 2 - adds r1, r4, 0 - subs r1, 0x10 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0811FA9C - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x5 - bl move_anim_start_t4 -_0811FA9C: - ldrb r0, [r5] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r0, 0x1 - strb r0, [r1, 0x4] - b _0811FAD4 -_0811FAAC: - ldrb r1, [r3] - movs r0, 0x40 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0811FAD4 - strb r0, [r3, 0x4] - ldrb r2, [r5] - adds r0, r2, 0 - adds r1, r2, 0 - movs r3, 0x1 - bl move_anim_start_t4 - ldr r1, _0811FADC @ =gUnknown_03004330 - ldrb r0, [r5] - lsls r0, 2 - adds r0, r1 - ldr r1, _0811FAE0 @ =sub_811DF34 - str r1, [r0] -_0811FAD4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811FADC: .4byte gUnknown_03004330 -_0811FAE0: .4byte sub_811DF34 - thumb_func_end sub_811FA5C - thumb_func_start sub_811FAE4 sub_811FAE4: @ 811FAE4 push {r4-r6,lr} diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c index 1cb2d620e..717562f84 100644 --- a/src/battle_811DA74.c +++ b/src/battle_811DA74.c @@ -21,11 +21,9 @@ struct UnknownStruct2 { u8 unk0; u8 unk1; - //u8 filler2[7]; u8 filler2[2]; u8 unk4; u8 filler5[4]; - u8 unk9; u8 fillerA[2]; }; @@ -1020,3 +1018,23 @@ void sub_811F9D0(void) dp01_tbl3_exec_completed(); } } + +void sub_811FA5C(void) +{ + switch (EWRAM_17810[gUnknown_02024A60].unk4) + { + case 0: + if (EWRAM_17800[gUnknown_02024A60 * 4] & 4) + move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 5); + EWRAM_17810[gUnknown_02024A60].unk4 = 1; + break; + case 1: + if (!(EWRAM_17810[gUnknown_02024A60].unk0 & 0x40)) + { + EWRAM_17810[gUnknown_02024A60].unk4 = 0; + move_anim_start_t4(gUnknown_02024A60, gUnknown_02024A60, gUnknown_02024A60, 1); + gUnknown_03004330[gUnknown_02024A60] = sub_811DF34; + } + break; + } +} |