summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_811DA74.s71
-rw-r--r--src/battle_811DA74.c22
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;
+ }
+}