summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcamthesaxman <cameronghall@cox.net>2017-05-16 21:09:06 -0500
committercamthesaxman <cameronghall@cox.net>2017-05-16 21:09:06 -0500
commitc202c65442594b6a2a272043948c0e39d697db67 (patch)
tree0372f12e1b57d3623add195dc4d38c02ae759a7b
parent06c4263d5ad36dfaba1ae640fd9229ac5e58cf4c (diff)
more decompilation
-rw-r--r--asm/battle_2.s1918
-rw-r--r--include/battle.h27
-rw-r--r--src/battle_2.c538
-rw-r--r--src/rom3.c48
4 files changed, 578 insertions, 1953 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 765653b88..8cd1e2926 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -6,1924 +6,6 @@
.text
- thumb_func_start sub_8010B88
-sub_8010B88: @ 8010B88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r4, _08010CEC @ =gUnknown_02024CA8
- ldr r5, _08010CF0 @ =gUnknown_02024A60
- ldrb r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r1, sp
- adds r0, r4
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- ldr r2, _08010CF4 @ =gBattleMoves
- ldr r3, _08010CF8 @ =gUnknown_02024BE6
- ldrh r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- mov r10, r4
- adds r7, r5, 0
- ldr r1, _08010CFC @ =gBattleMons
- mov r8, r1
- ldr r2, _08010D00 @ =gUnknown_02024C98
- mov r12, r2
- cmp r0, 0x7F
- beq _08010C66
- movs r5, 0
- adds r4, r7, 0
- movs r3, 0x58
- mov r2, r8
- adds r2, 0x18
- movs r1, 0x6
-_08010BDC:
- ldrb r0, [r4]
- muls r0, r3
- adds r0, r5, r0
- adds r0, r2
- strb r1, [r0]
- adds r5, 0x1
- cmp r5, 0x7
- ble _08010BDC
- movs r5, 0
- ldr r3, _08010D04 @ =gUnknown_02024A68
- ldrb r3, [r3]
- cmp r5, r3
- bge _08010C52
- ldr r6, _08010D08 @ =gUnknown_02024AD0
- mov r9, r6
- ldr r3, _08010CEC @ =gUnknown_02024CA8
- ldr r4, _08010D00 @ =gUnknown_02024C98
-_08010BFE:
- movs r0, 0x58
- muls r0, r5
- add r0, r9
- str r0, [sp, 0x20]
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 19
- ands r0, r1
- cmp r0, 0
- beq _08010C24
- ldrb r0, [r3, 0x14]
- ldr r2, _08010CF0 @ =gUnknown_02024A60
- ldrb r2, [r2]
- cmp r0, r2
- bne _08010C24
- ldr r0, _08010D0C @ =0xfbffffff
- ands r1, r0
- ldr r6, [sp, 0x20]
- str r1, [r6]
-_08010C24:
- ldr r1, [r4]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _08010C44
- ldrb r0, [r3, 0x15]
- ldr r2, _08010CF0 @ =gUnknown_02024A60
- ldrb r2, [r2]
- cmp r0, r2
- bne _08010C44
- movs r0, 0x19
- negs r0, r0
- ands r1, r0
- str r1, [r4]
- movs r0, 0
- strb r0, [r3, 0x15]
-_08010C44:
- adds r3, 0x1C
- adds r4, 0x4
- adds r5, 0x1
- ldr r6, _08010D04 @ =gUnknown_02024A68
- ldrb r6, [r6]
- cmp r5, r6
- blt _08010BFE
-_08010C52:
- ldr r1, _08010CF8 @ =gUnknown_02024BE6
- ldrh r0, [r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r2, _08010CF4 @ =gBattleMoves
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0x7F
- bne _08010D18
-_08010C66:
- ldrb r1, [r7]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- ldr r1, _08010D10 @ =0x15100007
- ands r0, r1
- str r0, [r2]
- ldrb r1, [r7]
- lsls r1, 2
- add r1, r12
- ldr r0, [r1]
- ldr r2, _08010D14 @ =0x0003043f
- ands r0, r2
- str r0, [r1]
- movs r5, 0
- ldr r3, _08010D04 @ =gUnknown_02024A68
- ldrb r3, [r3]
- cmp r5, r3
- bge _08010D30
- movs r6, 0
-_08010C96:
- ldrb r0, [r7]
- bl battle_side_get_owner
- adds r4, r0, 0
- lsls r0, r5, 24
- lsrs r0, 24
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _08010CD6
- ldr r1, _08010D00 @ =gUnknown_02024C98
- lsls r0, r5, 2
- adds r2, r0, r1
- ldr r1, [r2]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _08010CD6
- ldr r0, _08010CEC @ =gUnknown_02024CA8
- adds r0, r6, r0
- ldrb r0, [r0, 0x15]
- ldrb r3, [r7]
- cmp r0, r3
- bne _08010CD6
- movs r0, 0x19
- negs r0, r0
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- str r1, [r2]
-_08010CD6:
- adds r6, 0x1C
- adds r5, 0x1
- ldr r0, _08010D04 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r5, r0
- blt _08010C96
- ldr r6, _08010CEC @ =gUnknown_02024CA8
- mov r10, r6
- ldr r7, _08010CF0 @ =gUnknown_02024A60
- b _08010D30
- .align 2, 0
-_08010CEC: .4byte gUnknown_02024CA8
-_08010CF0: .4byte gUnknown_02024A60
-_08010CF4: .4byte gBattleMoves
-_08010CF8: .4byte gUnknown_02024BE6
-_08010CFC: .4byte gBattleMons
-_08010D00: .4byte gUnknown_02024C98
-_08010D04: .4byte gUnknown_02024A68
-_08010D08: .4byte gUnknown_02024AD0
-_08010D0C: .4byte 0xfbffffff
-_08010D10: .4byte 0x15100007
-_08010D14: .4byte 0x0003043f
-_08010D18:
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- mov r1, r8
- adds r1, 0x50
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- add r0, r12
- str r1, [r0]
-_08010D30:
- movs r5, 0
- ldr r6, _08010EFC @ =0x02000000
- ldr r0, _08010F00 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r5, r0
- bge _08010D92
- ldr r1, _08010F04 @ =gUnknown_02024AD0
- mov r9, r1
- ldr r2, _08010F08 @ =gBitTable
- mov r8, r2
- ldr r4, _08010F0C @ =gUnknown_02024A60
- mov r12, r6
-_08010D48:
- movs r0, 0x58
- muls r0, r5
- mov r1, r9
- adds r3, r0, r1
- ldrb r0, [r4]
- lsls r0, 2
- add r0, r8
- ldr r0, [r0]
- lsls r2, r0, 16
- ldr r1, [r3]
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _08010D68
- bics r1, r2
- str r1, [r3]
-_08010D68:
- ldr r1, [r3]
- movs r0, 0xE0
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08010D88
- ldr r2, _08010F10 @ =0x00016020
- adds r0, r5, r2
- add r0, r12
- ldrb r0, [r0]
- ldrb r2, [r4]
- cmp r0, r2
- bne _08010D88
- ldr r0, _08010F14 @ =0xffff1fff
- ands r1, r0
- str r1, [r3]
-_08010D88:
- adds r5, 0x1
- ldr r3, _08010F00 @ =gUnknown_02024A68
- ldrb r3, [r3]
- cmp r5, r3
- blt _08010D48
-_08010D92:
- ldrb r0, [r7]
- ldr r1, _08010F18 @ =gUnknown_02024E60
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldrb r0, [r7]
- ldr r2, _08010F1C @ =gUnknown_02024E64
- adds r0, r2
- strb r1, [r0]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r3, r10
- adds r1, r0, r3
- movs r5, 0
- movs r2, 0
-_08010DB4:
- adds r0, r1, r5
- strb r2, [r0]
- adds r5, 0x1
- cmp r5, 0x1B
- bls _08010DB4
- ldr r1, _08010F20 @ =gUnknown_02024BE6
- ldrh r0, [r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r2, _08010F24 @ =gBattleMoves
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0x7F
- bne _08010E2C
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- mov r1, sp
- ldrb r1, [r1, 0xA]
- strb r1, [r0, 0xA]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- mov r1, sp
- ldrb r1, [r1, 0x15]
- strb r1, [r0, 0x15]
- ldrb r0, [r7]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- add r1, r10
- mov r0, sp
- ldrb r2, [r0, 0xF]
- lsls r2, 28
- movs r4, 0xF
- lsrs r2, 28
- ldrb r3, [r1, 0xF]
- movs r0, 0x10
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0xF]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- mov r1, sp
- ldrb r1, [r1, 0xF]
- lsrs r1, 4
- lsls r1, 4
- ldrb r2, [r0, 0xF]
- ands r4, r2
- orrs r4, r1
- strb r4, [r0, 0xF]
-_08010E2C:
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- add r0, r10
- movs r3, 0
- movs r1, 0x2
- strb r1, [r0, 0x16]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F28 @ =gUnknown_02024C34
- adds r0, r1
- movs r2, 0
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F2C @ =gUnknown_02024C3C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F30 @ =gUnknown_02024C44
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F34 @ =gUnknown_02024C4C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F38 @ =gUnknown_02024C2C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- ldr r1, _08010F3C @ =gUnknown_02024C5C
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _08010F40 @ =0x000160ac
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x53
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- subs r1, 0x1B
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldr r2, _08010F44 @ =0x00017100
- adds r1, r6, r2
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- str r3, [r0]
- ldr r6, _08010F20 @ =gUnknown_02024BE6
- strh r3, [r6]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08010EFC: .4byte 0x02000000
-_08010F00: .4byte gUnknown_02024A68
-_08010F04: .4byte gUnknown_02024AD0
-_08010F08: .4byte gBitTable
-_08010F0C: .4byte gUnknown_02024A60
-_08010F10: .4byte 0x00016020
-_08010F14: .4byte 0xffff1fff
-_08010F18: .4byte gUnknown_02024E60
-_08010F1C: .4byte gUnknown_02024E64
-_08010F20: .4byte gUnknown_02024BE6
-_08010F24: .4byte gBattleMoves
-_08010F28: .4byte gUnknown_02024C34
-_08010F2C: .4byte gUnknown_02024C3C
-_08010F30: .4byte gUnknown_02024C44
-_08010F34: .4byte gUnknown_02024C4C
-_08010F38: .4byte gUnknown_02024C2C
-_08010F3C: .4byte gUnknown_02024C5C
-_08010F40: .4byte 0x000160ac
-_08010F44: .4byte 0x00017100
- thumb_func_end sub_8010B88
-
- thumb_func_start sub_8010F48
-sub_8010F48: @ 8010F48
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r4, 0
- ldr r7, _08011268 @ =gUnknown_02024A60
- ldr r0, _0801126C @ =gUnknown_02024C98
- mov r9, r0
- ldr r1, _08011270 @ =gUnknown_02024A68
- mov r8, r1
- ldr r2, _08011274 @ =0x02000000
- mov r12, r2
- ldr r6, _08011278 @ =gUnknown_02024D28
- adds r5, r7, 0
- movs r3, 0x58
- ldr r2, _0801127C @ =gBattleMons
- adds r2, 0x18
- movs r1, 0x6
-_08010F70:
- ldrb r0, [r5]
- muls r0, r3
- adds r0, r4, r0
- adds r0, r2
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x7
- ble _08010F70
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- ldr r2, _0801127C @ =gBattleMons
- adds r2, 0x50
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- add r0, r9
- str r1, [r0]
- movs r4, 0
- mov r0, r8
- ldrb r0, [r0]
- cmp r4, r0
- bge _08011012
- adds r3, r2, 0
- movs r5, 0
- ldr r1, _08011280 @ =gBitTable
- mov r10, r1
- ldr r2, _08011274 @ =0x02000000
- mov r9, r2
-_08010FAE:
- ldr r1, [r3]
- movs r0, 0x80
- lsls r0, 19
- ands r0, r1
- cmp r0, 0
- beq _08010FCC
- ldr r2, _08011284 @ =gUnknown_02024CA8
- adds r0, r5, r2
- ldrb r0, [r0, 0x14]
- ldrb r2, [r7]
- cmp r0, r2
- bne _08010FCC
- ldr r0, _08011288 @ =0xfbffffff
- ands r1, r0
- str r1, [r3]
-_08010FCC:
- ldrb r0, [r7]
- lsls r0, 2
- add r0, r10
- ldr r0, [r0]
- lsls r2, r0, 16
- ldr r1, [r3]
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _08010FE4
- bics r1, r2
- str r1, [r3]
-_08010FE4:
- ldr r1, [r3]
- movs r0, 0xE0
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08011004
- ldr r2, _0801128C @ =0x00016020
- adds r0, r4, r2
- add r0, r9
- ldrb r0, [r0]
- ldrb r2, [r7]
- cmp r0, r2
- bne _08011004
- ldr r0, _08011290 @ =0xffff1fff
- ands r1, r0
- str r1, [r3]
-_08011004:
- adds r3, 0x58
- adds r5, 0x1C
- adds r4, 0x1
- mov r0, r8
- ldrb r0, [r0]
- cmp r4, r0
- blt _08010FAE
-_08011012:
- ldrb r0, [r7]
- ldr r1, _08011294 @ =gUnknown_02024E60
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldrb r0, [r7]
- ldr r2, _08011298 @ =gUnknown_02024E64
- adds r0, r2
- strb r1, [r0]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r2, _08011284 @ =gUnknown_02024CA8
- adds r1, r0, r2
- movs r4, 0
- movs r2, 0
-_08011034:
- adds r0, r1, r4
- strb r2, [r0]
- adds r4, 0x1
- cmp r4, 0x1B
- bls _08011034
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- mov r9, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x3
- negs r0, r0
- mov r8, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x9
- negs r0, r0
- mov r10, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r5, 0x21
- negs r5, r5
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r4, 0x41
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r3, 0x7F
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1, 0x1]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1, 0x1]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1, 0x1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r1, [r7]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1, 0x1]
- movs r0, 0x19
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r5, r1
- strb r5, [r0, 0x1]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r4, r1
- strb r4, [r0, 0x1]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x1]
- ands r3, r1
- strb r3, [r0, 0x1]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x2]
- mov r2, r9
- ands r2, r1
- strb r2, [r0, 0x2]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x2]
- mov r2, r8
- ands r2, r1
- strb r2, [r0, 0x2]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x2]
- movs r2, 0x5
- negs r2, r2
- ands r2, r1
- strb r2, [r0, 0x2]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r6
- ldrb r1, [r0, 0x2]
- mov r2, r10
- ands r2, r1
- strb r2, [r0, 0x2]
- ldrb r1, [r7]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _08011284 @ =gUnknown_02024CA8
- adds r0, r1
- movs r3, 0
- movs r1, 0x2
- strb r1, [r0, 0x16]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r2, _0801129C @ =gUnknown_02024C34
- adds r0, r2
- movs r2, 0
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112A0 @ =gUnknown_02024C3C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112A4 @ =gUnknown_02024C44
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112A8 @ =gUnknown_02024C4C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112AC @ =gUnknown_02024C2C
- adds r0, r1
- strh r3, [r0]
- ldrb r0, [r7]
- ldr r1, _080112B0 @ =gUnknown_02024C5C
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- ldr r1, _080112B4 @ =0x000160e8
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- subs r1, 0x3D
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x53
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldrb r0, [r7]
- lsls r0, 2
- adds r1, 0x1
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r1, _080112B8 @ =0x00017100
- add r1, r12
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- str r3, [r0]
- ldrb r0, [r7]
- movs r3, 0x58
- adds r1, r0, 0
- muls r1, r3
- ldr r2, _0801127C @ =gBattleMons
- adds r1, r2
- ldrh r2, [r1]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r2, _080112BC @ =gBaseStats
- adds r0, r2
- ldrb r0, [r0, 0x6]
- adds r1, 0x21
- strb r0, [r1]
- ldrb r0, [r7]
- adds r1, r0, 0
- muls r1, r3
- ldr r0, _0801127C @ =gBattleMons
- adds r1, r0
- ldrh r2, [r1]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r2, _080112BC @ =gBaseStats
- adds r0, r2
- ldrb r0, [r0, 0x7]
- adds r1, 0x22
- strb r0, [r1]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08011268: .4byte gUnknown_02024A60
-_0801126C: .4byte gUnknown_02024C98
-_08011270: .4byte gUnknown_02024A68
-_08011274: .4byte 0x02000000
-_08011278: .4byte gUnknown_02024D28
-_0801127C: .4byte gBattleMons
-_08011280: .4byte gBitTable
-_08011284: .4byte gUnknown_02024CA8
-_08011288: .4byte 0xfbffffff
-_0801128C: .4byte 0x00016020
-_08011290: .4byte 0xffff1fff
-_08011294: .4byte gUnknown_02024E60
-_08011298: .4byte gUnknown_02024E64
-_0801129C: .4byte gUnknown_02024C34
-_080112A0: .4byte gUnknown_02024C3C
-_080112A4: .4byte gUnknown_02024C44
-_080112A8: .4byte gUnknown_02024C4C
-_080112AC: .4byte gUnknown_02024C2C
-_080112B0: .4byte gUnknown_02024C5C
-_080112B4: .4byte 0x000160e8
-_080112B8: .4byte 0x00017100
-_080112BC: .4byte gBaseStats
- thumb_func_end sub_8010F48
-
- thumb_func_start bc_8012FAC
-bc_8012FAC: @ 80112C0
- push {r4,r5,lr}
- ldr r5, _080112D0 @ =gUnknown_02024D1E
- ldrb r0, [r5]
- cmp r0, 0
- beq _080112D4
- cmp r0, 0x1
- beq _080112F8
- b _0801132E
- .align 2, 0
-_080112D0: .4byte gUnknown_02024D1E
-_080112D4:
- ldr r4, _080112F4 @ =gUnknown_02024A60
- ldrb r0, [r5, 0x1]
- strb r0, [r4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl dp01_build_cmdbuf_x00_a_b_0
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0801132E
- .align 2, 0
-_080112F4: .4byte gUnknown_02024A60
-_080112F8:
- ldr r0, _0801131C @ =gUnknown_02024A64
- ldr r2, [r0]
- cmp r2, 0
- bne _0801132E
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
- strb r0, [r5, 0x1]
- ldr r1, _08011320 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _0801132C
- ldr r1, _08011324 @ =gUnknown_030042D4
- ldr r0, _08011328 @ =bc_load_battlefield
- str r0, [r1]
- b _0801132E
- .align 2, 0
-_0801131C: .4byte gUnknown_02024A64
-_08011320: .4byte gUnknown_02024A68
-_08011324: .4byte gUnknown_030042D4
-_08011328: .4byte bc_load_battlefield
-_0801132C:
- strb r2, [r5]
-_0801132E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end bc_8012FAC
-
- thumb_func_start bc_load_battlefield
-bc_load_battlefield: @ 8011334
- push {r4,r5,lr}
- ldr r0, _0801136C @ =gUnknown_02024A64
- ldr r5, [r0]
- cmp r5, 0
- bne _08011364
- movs r0, 0
- bl battle_get_side_with_given_state
- ldr r4, _08011370 @ =gUnknown_02024A60
- strb r0, [r4]
- ldr r0, _08011374 @ =gBattleTerrain
- ldrb r1, [r0]
- movs r0, 0
- bl dp01_build_cmdbuf_x2E_a
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, _08011378 @ =gUnknown_030042D4
- ldr r0, _0801137C @ =sub_8011384
- str r0, [r1]
- ldr r0, _08011380 @ =gUnknown_02024D1E
- strb r5, [r0]
- strb r5, [r0, 0x1]
-_08011364:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801136C: .4byte gUnknown_02024A64
-_08011370: .4byte gUnknown_02024A60
-_08011374: .4byte gBattleTerrain
-_08011378: .4byte gUnknown_030042D4
-_0801137C: .4byte sub_8011384
-_08011380: .4byte gUnknown_02024D1E
- thumb_func_end bc_load_battlefield
-
- thumb_func_start sub_8011384
-sub_8011384: @ 8011384
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080113E0 @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- beq _08011396
- b _080115DA
-_08011396:
- ldr r2, _080113E4 @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _080113E8 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcc _080113A4
- b _080115D4
-_080113A4:
- movs r7, 0x58
- ldr r0, _080113EC @ =gBattleMons
- mov r9, r0
- mov r8, r2
-_080113AC:
- ldr r0, _080113F0 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080113F4
- ldr r4, _080113E4 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080113F4
- ldrb r0, [r4]
- muls r0, r7
- mov r1, r9
- adds r3, r0, r1
- movs r2, 0
- movs r1, 0
-_080113D2:
- adds r0, r3, r2
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x57
- bls _080113D2
- b _080114BE
- .align 2, 0
-_080113E0: .4byte gUnknown_02024A64
-_080113E4: .4byte gUnknown_02024A60
-_080113E8: .4byte gUnknown_02024A68
-_080113EC: .4byte gBattleMons
-_080113F0: .4byte gBattleTypeFlags
-_080113F4:
- mov r2, r8
- ldrb r0, [r2]
- muls r0, r7
- mov r1, r9
- adds r3, r0, r1
- movs r2, 0
- ldr r6, _08011530 @ =gBaseStats
- ldr r5, _08011534 @ =gUnknown_02024260
- ldr r4, _08011538 @ =gUnknown_02024A60
-_08011406:
- adds r0, r3, r2
- ldrb r1, [r4]
- lsls r1, 9
- adds r1, 0x4
- adds r1, r2, r1
- adds r1, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x57
- bls _08011406
- mov r2, r8
- ldrb r0, [r2]
- adds r2, r0, 0
- muls r2, r7
- add r2, r9
- ldrh r1, [r2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x6]
- adds r2, 0x21
- strb r0, [r2]
- mov r1, r8
- ldrb r0, [r1]
- adds r2, r0, 0
- muls r2, r7
- add r2, r9
- ldrh r1, [r2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x7]
- adds r2, 0x22
- strb r0, [r2]
- mov r2, r8
- ldrb r0, [r2]
- adds r1, r0, 0
- muls r1, r7
- add r1, r9
- ldrh r0, [r1]
- ldrb r1, [r1, 0x17]
- lsrs r1, 7
- bl GetAbilityBySpecies
- mov r2, r8
- ldrb r1, [r2]
- muls r1, r7
- add r1, r9
- adds r1, 0x20
- strb r0, [r1]
- ldrb r0, [r2]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 23
- ldr r1, _0801153C @ =0x020160bc
- adds r0, r1
- mov r2, r8
- ldrb r1, [r2]
- muls r1, r7
- add r1, r9
- ldrh r1, [r1, 0x28]
- strh r1, [r0]
- movs r2, 0
- ldr r4, _08011538 @ =gUnknown_02024A60
- movs r5, 0x58
- ldr r1, _08011540 @ =gUnknown_02024A98
- adds r6, r4, 0
- movs r0, 0x18
- negs r0, r0
- adds r0, r1
- mov r12, r0
- movs r3, 0x6
-_0801149E:
- ldrb r0, [r4]
- muls r0, r5
- adds r0, r2, r0
- adds r0, r1
- strb r3, [r0]
- adds r2, 0x1
- cmp r2, 0x7
- ble _0801149E
- ldrb r0, [r6]
- adds r1, r0, 0
- muls r1, r7
- mov r0, r12
- adds r0, 0x50
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080114BE:
- ldr r4, _08011538 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- bne _080114D8
- movs r0, 0
- bl dp01_build_cmdbuf_x07_7_7_7
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080114D8:
- ldr r5, _08011544 @ =gBattleTypeFlags
- ldrh r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801154C
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080114FE
- movs r0, 0
- bl dp01_build_cmdbuf_x07_7_7_7
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080114FE:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011588
- ldrh r1, [r5]
- ldr r2, _08011548 @ =0x00000902
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08011588
- ldrb r0, [r4]
- muls r0, r7
- add r0, r9
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl sub_8090D90
- b _08011588
- .align 2, 0
-_08011530: .4byte gBaseStats
-_08011534: .4byte gUnknown_02024260
-_08011538: .4byte gUnknown_02024A60
-_0801153C: .4byte 0x020160bc
-_08011540: .4byte gUnknown_02024A98
-_08011544: .4byte gBattleTypeFlags
-_08011548: .4byte 0x00000902
-_0801154C:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011588
- ldrh r1, [r5]
- ldr r2, _080115E8 @ =0x00000902
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08011588
- ldrb r0, [r4]
- muls r0, r7
- add r0, r9
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl sub_8090D90
- movs r0, 0
- bl dp01_build_cmdbuf_x04_4_4_4
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08011588:
- ldr r0, _080115EC @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080115BE
- ldr r4, _080115F0 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080115B2
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080115BE
-_080115B2:
- movs r0, 0
- bl dp01_build_cmdbuf_x07_7_7_7
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080115BE:
- mov r1, r8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, _080115F4 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080115D4
- b _080113AC
-_080115D4:
- ldr r1, _080115F8 @ =gUnknown_030042D4
- ldr r0, _080115FC @ =bc_801333C
- str r0, [r1]
-_080115DA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080115E8: .4byte 0x00000902
-_080115EC: .4byte gBattleTypeFlags
-_080115F0: .4byte gUnknown_02024A60
-_080115F4: .4byte gUnknown_02024A68
-_080115F8: .4byte gUnknown_030042D4
-_080115FC: .4byte bc_801333C
- thumb_func_end sub_8011384
-
- thumb_func_start bc_801333C
-bc_801333C: @ 8011600
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x30
- ldr r0, _08011658 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- beq _08011612
- b _0801178C
-_08011612:
- ldr r0, _0801165C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08011620
- b _0801172C
-_08011620:
- movs r7, 0
- add r0, sp, 0x4
- mov r8, r0
- mov r6, r8
- mov r5, sp
-_0801162A:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _08011660 @ =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08011650
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08011668
-_08011650:
- ldr r0, _08011664 @ =0x0000ffff
- strh r0, [r5]
- movs r0, 0
- b _0801167A
- .align 2, 0
-_08011658: .4byte gUnknown_02024A64
-_0801165C: .4byte gBattleTypeFlags
-_08011660: .4byte gEnemyParty
-_08011664: .4byte 0x0000ffff
-_08011668:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
-_0801167A:
- str r0, [r6]
- adds r6, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _0801162A
- movs r0, 0x1
- bl battle_get_side_with_given_state
- ldr r4, _080116D4 @ =gUnknown_02024A60
- strb r0, [r4]
- movs r0, 0
- mov r1, sp
- movs r2, 0x80
- bl dp01_build_cmdbuf_x30_TODO
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- movs r7, 0
- mov r6, r8
- mov r5, sp
-_080116A6:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _080116D8 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _080116CC
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _080116E0
-_080116CC:
- ldr r0, _080116DC @ =0x0000ffff
- strh r0, [r5]
- movs r0, 0
- b _080116F2
- .align 2, 0
-_080116D4: .4byte gUnknown_02024A60
-_080116D8: .4byte gPlayerParty
-_080116DC: .4byte 0x0000ffff
-_080116E0:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
-_080116F2:
- str r0, [r6]
- adds r6, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _080116A6
- movs r0, 0
- bl battle_get_side_with_given_state
- ldr r4, _08011720 @ =gUnknown_02024A60
- strb r0, [r4]
- movs r0, 0
- mov r1, sp
- movs r2, 0x80
- bl dp01_build_cmdbuf_x30_TODO
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
- ldr r1, _08011724 @ =gUnknown_030042D4
- ldr r0, _08011728 @ =bc_battle_begin_message
- b _0801178A
- .align 2, 0
-_08011720: .4byte gUnknown_02024A60
-_08011724: .4byte gUnknown_030042D4
-_08011728: .4byte bc_battle_begin_message
-_0801172C:
- movs r7, 0
- add r6, sp, 0x4
- mov r5, sp
-_08011732:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _08011760 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08011758
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08011768
-_08011758:
- ldr r0, _08011764 @ =0x0000ffff
- strh r0, [r5]
- movs r0, 0
- b _0801177A
- .align 2, 0
-_08011760: .4byte gPlayerParty
-_08011764: .4byte 0x0000ffff
-_08011768:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
-_0801177A:
- str r0, [r6]
- adds r6, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _08011732
- ldr r1, _08011798 @ =gUnknown_030042D4
- ldr r0, _0801179C @ =bc_8013568
-_0801178A:
- str r0, [r1]
-_0801178C:
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08011798: .4byte gUnknown_030042D4
-_0801179C: .4byte bc_8013568
- thumb_func_end bc_801333C
-
- thumb_func_start bc_battle_begin_message
-bc_battle_begin_message: @ 80117A0
- push {lr}
- ldr r0, _080117C8 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _080117C2
- movs r0, 0x1
- bl battle_get_side_with_given_state
- ldr r1, _080117CC @ =gUnknown_02024A60
- strb r0, [r1]
- ldrb r1, [r1]
- movs r0, 0
- bl b_std_message
- ldr r1, _080117D0 @ =gUnknown_030042D4
- ldr r0, _080117D4 @ =sub_8011800
- str r0, [r1]
-_080117C2:
- pop {r0}
- bx r0
- .align 2, 0
-_080117C8: .4byte gUnknown_02024A64
-_080117CC: .4byte gUnknown_02024A60
-_080117D0: .4byte gUnknown_030042D4
-_080117D4: .4byte sub_8011800
- thumb_func_end bc_battle_begin_message
-
- thumb_func_start bc_8013568
-bc_8013568: @ 80117D8
- push {lr}
- ldr r0, _080117F4 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _080117F0
- ldr r1, _080117F8 @ =gUnknown_030042D4
- ldr r0, _080117FC @ =sub_8011970
- str r0, [r1]
- movs r0, 0
- movs r1, 0
- bl b_std_message
-_080117F0:
- pop {r0}
- bx r0
- .align 2, 0
-_080117F4: .4byte gUnknown_02024A64
-_080117F8: .4byte gUnknown_030042D4
-_080117FC: .4byte sub_8011970
- thumb_func_end bc_8013568
-
- thumb_func_start sub_8011800
-sub_8011800: @ 8011800
- push {lr}
- ldr r0, _08011828 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _08011822
- movs r0, 0x1
- bl battle_get_side_with_given_state
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl b_std_message
- ldr r1, _0801182C @ =gUnknown_030042D4
- ldr r0, _08011830 @ =sub_8011834
- str r0, [r1]
-_08011822:
- pop {r0}
- bx r0
- .align 2, 0
-_08011828: .4byte gUnknown_02024A64
-_0801182C: .4byte gUnknown_030042D4
-_08011830: .4byte sub_8011834
- thumb_func_end sub_8011800
-
- thumb_func_start sub_8011834
-sub_8011834: @ 8011834
- push {r4,lr}
- ldr r0, _080118AC @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- bne _080118A4
- ldr r2, _080118B0 @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _080118B4 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0801189E
- adds r4, r2, 0
-_0801184C:
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011866
- movs r0, 0
- bl dp01_build_cmdbuf_x2F_2F_2F_2F
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08011866:
- ldr r0, _080118B8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0801188C
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0801188C
- movs r0, 0
- bl dp01_build_cmdbuf_x2F_2F_2F_2F
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_0801188C:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _080118B4 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0801184C
-_0801189E:
- ldr r1, _080118BC @ =gUnknown_030042D4
- ldr r0, _080118C0 @ =bc_801362C
- str r0, [r1]
-_080118A4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080118AC: .4byte gUnknown_02024A64
-_080118B0: .4byte gUnknown_02024A60
-_080118B4: .4byte gUnknown_02024A68
-_080118B8: .4byte gBattleTypeFlags
-_080118BC: .4byte gUnknown_030042D4
-_080118C0: .4byte bc_801362C
- thumb_func_end sub_8011834
-
- thumb_func_start bc_801362C
-bc_801362C: @ 80118C4
- push {r4,r5,lr}
- ldr r0, _08011930 @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- bne _0801192A
- ldr r2, _08011934 @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _08011938 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08011924
- adds r4, r2, 0
- ldr r5, _0801193C @ =gBattleMons
-_080118DE:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08011912
- ldr r0, _08011940 @ =gBattleTypeFlags
- ldrh r1, [r0]
- ldr r2, _08011944 @ =0x00000902
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08011912
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r5
- ldrh r0, [r0]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl sub_8090D90
-_08011912:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08011938 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080118DE
-_08011924:
- ldr r1, _08011948 @ =gUnknown_030042D4
- ldr r0, _0801194C @ =sub_8011970
- str r0, [r1]
-_0801192A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08011930: .4byte gUnknown_02024A64
-_08011934: .4byte gUnknown_02024A60
-_08011938: .4byte gUnknown_02024A68
-_0801193C: .4byte gBattleMons
-_08011940: .4byte gBattleTypeFlags
-_08011944: .4byte 0x00000902
-_08011948: .4byte gUnknown_030042D4
-_0801194C: .4byte sub_8011970
- thumb_func_end bc_801362C
-
- thumb_func_start unref_sub_8011950
-unref_sub_8011950: @ 8011950
- push {lr}
- ldr r0, _08011964 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _08011960
- ldr r1, _08011968 @ =gUnknown_030042D4
- ldr r0, _0801196C @ =sub_8011970
- str r0, [r1]
-_08011960:
- pop {r0}
- bx r0
- .align 2, 0
-_08011964: .4byte gUnknown_02024A64
-_08011968: .4byte gUnknown_030042D4
-_0801196C: .4byte sub_8011970
- thumb_func_end unref_sub_8011950
-
- thumb_func_start sub_8011970
-sub_8011970: @ 8011970
- push {lr}
- ldr r0, _080119A4 @ =gUnknown_02024A64
- ldr r0, [r0]
- cmp r0, 0
- bne _0801199E
- ldr r0, _080119A8 @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08011998
- movs r0, 0
- bl battle_get_side_with_given_state
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl b_std_message
-_08011998:
- ldr r1, _080119AC @ =gUnknown_030042D4
- ldr r0, _080119B0 @ =sub_80119B4
- str r0, [r1]
-_0801199E:
- pop {r0}
- bx r0
- .align 2, 0
-_080119A4: .4byte gUnknown_02024A64
-_080119A8: .4byte gBattleTypeFlags
-_080119AC: .4byte gUnknown_030042D4
-_080119B0: .4byte sub_80119B4
- thumb_func_end sub_8011970
-
- thumb_func_start sub_80119B4
-sub_80119B4: @ 80119B4
- push {r4,lr}
- ldr r0, _08011A40 @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- bne _08011A38
- ldr r2, _08011A44 @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _08011A48 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08011A1C
- adds r4, r2, 0
-_080119CC:
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- bne _080119E4
- movs r0, 0
- bl dp01_build_cmdbuf_x2F_2F_2F_2F
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_080119E4:
- ldr r0, _08011A4C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08011A0A
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08011A0A
- movs r0, 0
- bl dp01_build_cmdbuf_x2F_2F_2F_2F
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08011A0A:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08011A48 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _080119CC
-_08011A1C:
- ldr r1, _08011A50 @ =0x02000000
- ldr r2, _08011A54 @ =0x00016058
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, _08011A58 @ =0x000160f9
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _08011A5C @ =0x000160e6
- adds r1, r0
- strb r2, [r1]
- ldr r1, _08011A60 @ =gUnknown_030042D4
- ldr r0, _08011A64 @ =sub_8011B00
- str r0, [r1]
-_08011A38:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08011A40: .4byte gUnknown_02024A64
-_08011A44: .4byte gUnknown_02024A60
-_08011A48: .4byte gUnknown_02024A68
-_08011A4C: .4byte gBattleTypeFlags
-_08011A50: .4byte 0x02000000
-_08011A54: .4byte 0x00016058
-_08011A58: .4byte 0x000160f9
-_08011A5C: .4byte 0x000160e6
-_08011A60: .4byte gUnknown_030042D4
-_08011A64: .4byte sub_8011B00
- thumb_func_end sub_80119B4
-
- thumb_func_start unref_sub_8011A68
-unref_sub_8011A68: @ 8011A68
- push {r4,r5,lr}
- ldr r0, _08011AD8 @ =gUnknown_02024A64
- ldr r1, [r0]
- cmp r1, 0
- bne _08011AD2
- ldr r2, _08011ADC @ =gUnknown_02024A60
- strb r1, [r2]
- ldr r0, _08011AE0 @ =gUnknown_02024A68
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08011AB6
- adds r4, r2, 0
- ldr r5, _08011AE4 @ =gUnknown_02024A6A
-_08011A82:
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08011AA4
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r5
- ldrb r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_800C704
- ldrb r0, [r4]
- bl dp01_battle_side_mark_buffer_for_execution
-_08011AA4:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08011AE0 @ =gUnknown_02024A68
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08011A82
-_08011AB6:
- ldr r1, _08011AE8 @ =0x02000000
- ldr r2, _08011AEC @ =0x00016058
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, _08011AF0 @ =0x000160f9
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _08011AF4 @ =0x000160e6
- adds r1, r0
- strb r2, [r1]
- ldr r1, _08011AF8 @ =gUnknown_030042D4
- ldr r0, _08011AFC @ =sub_8011B00
- str r0, [r1]
-_08011AD2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08011AD8: .4byte gUnknown_02024A64
-_08011ADC: .4byte gUnknown_02024A60
-_08011AE0: .4byte gUnknown_02024A68
-_08011AE4: .4byte gUnknown_02024A6A
-_08011AE8: .4byte 0x02000000
-_08011AEC: .4byte 0x00016058
-_08011AF0: .4byte 0x000160f9
-_08011AF4: .4byte 0x000160e6
-_08011AF8: .4byte gUnknown_030042D4
-_08011AFC: .4byte sub_8011B00
- thumb_func_end unref_sub_8011A68
-
thumb_func_start sub_8011B00
sub_8011B00: @ 8011B00
push {r4-r7,lr}
diff --git a/include/battle.h b/include/battle.h
index f05c7369d..be474b59f 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -124,17 +124,22 @@ struct BattleStruct /* 0x2000000 */
struct UnknownStruct4
{
- u8 filler0[0x3];
- u16 unk4;
- u16 unk6;
- u8 unk8;
- u8 unk9;
- u8 fillerA[0x9];
- u8 taunt:4;
- u8 unkC:4;
- u8 fillerD[0x2];
- u8 unk16;
- u8 filler17[0x4];
+ /*0x00*/ u8 filler0[0x3];
+ /*0x04*/ u16 unk4;
+ /*0x06*/ u16 unk6;
+ /*0x08*/ u8 unk8;
+ /*0x09*/ u8 unk9;
+ /*0x0A*/ u8 unkA;
+ u8 fillerB[4];
+ u8 unkF_0:4;
+ u8 unkF_4:4;
+ u8 filler10[3];
+ /*0x13*/ u8 taunt:4;
+ /*0x13*/ u8 unkC:4;
+ /*0x14*/ u8 unk14;
+ /*0x15*/ u8 unk15;
+ /*0x16*/ u8 unk16;
+ /*0x17*/ u8 filler17[0x4];
};
extern struct UnknownStruct1 unk_2016A00;
diff --git a/src/battle_2.c b/src/battle_2.c
index 6176574e6..2c92bcb30 100644
--- a/src/battle_2.c
+++ b/src/battle_2.c
@@ -107,6 +107,36 @@ struct UnknownStruct11
u8 unk36[10];
};
+struct UnknownStruct12
+{
+ u32 unk0;
+ u8 filler4[0x54];
+};
+
+struct UnknownStruct13
+{
+ u32 unk0_0:1;
+ u32 unk0_1:1;
+ u32 unk0_2:1;
+ u32 unk0_3:1;
+ u32 unk0_4:1;
+ u32 unk0_5:1;
+ u32 unk0_6:1;
+ u32 unk0_7:1;
+ u32 unk1_0:1;
+ u32 unk1_1:1;
+ u32 unk1_2:1;
+ u32 unk1_3:2;
+ u32 unk1_5:1;
+ u32 unk1_6:1;
+ u32 unk1_7:1;
+ u32 unk2_0:1;
+ u32 unk2_1:1;
+ u32 unk2_2:1;
+ u32 unk2_3:1;
+ u8 filler4[12];
+};
+
extern const struct UnknownStruct5 gUnknown_081F9674;
extern const u8 gUnknown_081F96C8[];
extern void *const gUnknown_081FAF4C[];
@@ -117,13 +147,16 @@ extern const struct BattleMove gBattleMoves[];
extern const struct MonCoords gMonFrontPicCoords[];
extern const struct MonCoords gCastformFrontSpriteCoords[];
extern const struct BaseStats gBaseStats[];
+extern const u32 gBitTable[];
extern u8 ewram[];
#define ewram0 (*(struct UnknownStruct7 *)(ewram + 0x0))
#define ewram4 (*(struct UnknownStruct8 *)(ewram + 0x4))
#define ewram16002 (ewram[0x16002])
#define ewram1601B (ewram[0x1601B])
+#define ewram16020 ((u8 *)(ewram + 0x16020))
#define ewram16056 (ewram[0x16056])
+#define ewram16058 (ewram[0x16058])
#define ewram16078 (ewram[0x16078])
#define ewram16084 (ewram[0x16084])
#define ewram16086 (ewram[0x16086])
@@ -132,12 +165,15 @@ extern u8 ewram[];
#define ewram16089 (ewram[0x16089])
#define ewram160A1 (ewram[0x160A1])
#define ewram160AC ((u8 *)(ewram + 0x160AC))
+#define ewram160BC ((u16 *)(ewram + 0x160BC)) // hp
#define ewram160C8 (ewram[0x160C8])
#define ewram160C9 (ewram[0x160C9])
#define ewram160CB (ewram[0x160CB])
#define ewram160CC ((u8 *)(ewram + 0x160CC))
+#define ewram160E6 (ewram[0x160E6])
#define ewram160E8 ((u8 *)(ewram + 0x160E8))
#define ewram160F0 ((u8 *)(ewram + 0x160F0))
+#define ewram160F9 (ewram[0x160F9])
#define ewram16100 ((u8 *)(ewram + 0x16100))
#define ewram16108 ((u8 *)(ewram + 0x16108))
#define ewram16113 (ewram[0x16113])
@@ -149,11 +185,14 @@ extern u8 ewram[];
#define ewram1D000 ((struct Pokemon *)(ewram + 0x1D000))
extern struct UnknownPokemonStruct2 gUnknown_02023A00[];
+extern u8 gUnknown_02024260[][0x200];
extern u8 gUnknown_02024A60;
extern u32 gUnknown_02024A64;
extern u8 gUnknown_02024A68;
extern u16 gUnknown_02024A6A[];
+extern struct UnknownStruct12 gUnknown_02024AD0[];
extern u8 gUnknown_02024BE0[];
+extern u16 gUnknown_02024BE6;
extern u8 gUnknown_02024C0C;
extern u8 gUnknown_02024C0E;
extern u16 gUnknown_02024C2C[];
@@ -174,8 +213,11 @@ extern u16 gUnknown_02024D1A;
extern u8 gUnknown_02024D1E[];
extern u8 gUnknown_02024D1F[]; // I don't actually know what type this is.
extern u8 gUnknown_02024D26;
+extern struct UnknownStruct13 gUnknown_02024D28[];
extern u8 gUnknown_02024DBC[];
extern u16 gUnknown_02024DE8;
+extern u8 gUnknown_02024E60[];
+extern u8 gUnknown_02024E64[];
extern u16 gUnknown_030041B0;
extern u16 gUnknown_030041B4;
extern u16 gUnknown_030041B8;
@@ -211,6 +253,7 @@ extern u8 gPlayerMonIndex;
extern u8 gEnemyMonIndex;
extern u16 gBattleWeather;
extern u32 gBattleMoveDamage;
+extern struct BattlePokemon gBattleMons[];
extern void sub_800B858(void);
extern void dp12_8087EA4(void);
@@ -230,6 +273,16 @@ extern void sub_800D74C();
extern void sub_804777C(u8);
extern void sub_8043DFC();
extern u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *));
+extern void dp01_build_cmdbuf_x00_a_b_0(u8 a, u8 b, u8 c);
+extern void dp01_build_cmdbuf_x04_4_4_4(u8 a);
+extern void dp01_build_cmdbuf_x07_7_7_7(u8 a);
+extern void dp01_build_cmdbuf_x2E_a(u8 a, u8 b);
+extern void dp01_build_cmdbuf_x2F_2F_2F_2F(u8 a);
+extern void dp01_build_cmdbuf_x30_TODO(u8 a, u8 *b, u8 c);
+extern void dp01_battle_side_mark_buffer_for_execution();
+extern u8 sub_8090D90();
+extern void b_std_message();
+extern void sub_800C704(u8, u8, u8);
void sub_800E7F8(void);
void sub_800EC9C(void);
@@ -253,6 +306,17 @@ void nullsub_86(struct Sprite *);
void objc_dp11b_pingpong(struct Sprite *);
void sub_8010874(void);
void bc_8012FAC(void);
+void bc_load_battlefield(void);
+void sub_8011384(void);
+void bc_801333C(void);
+void bc_battle_begin_message(void);
+void bc_8013568(void);
+void sub_8011800(void);
+void sub_8011834(void);
+void bc_801362C(void);
+void sub_8011970(void);
+void sub_80119B4(void);
+void sub_8011B00(void);
void sub_801365C(u8);
void sub_801377C(void);
@@ -1737,3 +1801,477 @@ void sub_8010874(void)
gUnknown_030042E0.unk2A[i] = 0;
}
}
+
+void sub_8010B88(void)
+{
+ struct UnknownStruct4 sp0 = gUnknown_02024CA8[gUnknown_02024A60];
+ s32 i;
+ u8 *ptr;
+ u32 *ptr2;
+
+ if (gBattleMoves[gUnknown_02024BE6].effect != 0x7F)
+ {
+ for (i = 0; i < 8; i++)
+ gBattleMons[gUnknown_02024A60].statStages[i] = 6;
+ for (i = 0; i < gUnknown_02024A68; i++)
+ {
+ struct UnknownStruct12 *sp20 = &gUnknown_02024AD0[i];
+
+ if ((sp20->unk0 & 0x04000000) && gUnknown_02024CA8[i].unk14 == gUnknown_02024A60)
+ sp20->unk0 &= ~0x04000000;
+ if ((gUnknown_02024C98[i] & 0x18) && gUnknown_02024CA8[i].unk15 == gUnknown_02024A60)
+ {
+ gUnknown_02024C98[i] &= ~0x18;
+ gUnknown_02024CA8[i].unk15 = 0;
+ }
+ }
+ }
+ if (gBattleMoves[gUnknown_02024BE6].effect == 0x7F)
+ {
+ gBattleMons[gUnknown_02024A60].status2 &= 0x15100007;
+ gUnknown_02024C98[gUnknown_02024A60] &= 0x3043F;
+
+ for (i = 0; i < gUnknown_02024A68; i++)
+ {
+ if (battle_side_get_owner(gUnknown_02024A60) != battle_side_get_owner(i)
+ && (gUnknown_02024C98[i] & 0x18) != 0
+ && (gUnknown_02024CA8[i].unk15 == gUnknown_02024A60))
+ {
+ gUnknown_02024C98[i] &= ~0x18;
+ gUnknown_02024C98[i] |= 0x10;
+ }
+ }
+ }
+ else
+ {
+ gBattleMons[gUnknown_02024A60].status2 = 0;
+ gUnknown_02024C98[gUnknown_02024A60] = 0;
+ }
+
+ for (i = 0; i < gUnknown_02024A68; i++)
+ {
+ if (gUnknown_02024AD0[i].unk0 & (gBitTable[gUnknown_02024A60] << 16))
+ gUnknown_02024AD0[i].unk0 &= ~(gBitTable[gUnknown_02024A60] << 16);
+ if ((gUnknown_02024AD0[i].unk0 & 0xE000) && ewram[0x16020 + i] == gUnknown_02024A60)
+ gUnknown_02024AD0[i].unk0 &= ~0xE000;
+ }
+
+ gUnknown_02024E60[gUnknown_02024A60] = 0;
+ gUnknown_02024E64[gUnknown_02024A60] = 0;
+
+ ptr = (u8 *)&gUnknown_02024CA8[gUnknown_02024A60];
+ for (i = 0; i < (u32)0x1C; i++)
+ ptr[i] = 0;
+
+ if (gBattleMoves[gUnknown_02024BE6].effect == 0x7F)
+ {
+ gUnknown_02024CA8[gUnknown_02024A60].unkA = sp0.unkA;
+ gUnknown_02024CA8[gUnknown_02024A60].unk15 = sp0.unk15;
+ gUnknown_02024CA8[gUnknown_02024A60].unkF_0 = sp0.unkF_0;
+ gUnknown_02024CA8[gUnknown_02024A60].unkF_4 = sp0.unkF_4;
+ }
+
+ gUnknown_02024CA8[gUnknown_02024A60].unk16 = 2;
+ gUnknown_02024C34[gUnknown_02024A60] = 0;
+ gUnknown_02024C3C[gUnknown_02024A60] = 0;
+ gUnknown_02024C44[gUnknown_02024A60] = 0;
+ gUnknown_02024C4C[gUnknown_02024A60] = 0;
+ gUnknown_02024C2C[gUnknown_02024A60] = 0;
+ gUnknown_02024C5C[gUnknown_02024A60] = 0xFF;
+
+ ewram[0x160AC + gUnknown_02024A60 * 2 + 0] = 0;
+ ewram[0x160AC + gUnknown_02024A60 * 2 + 1] = 0;
+ ewram[0x16100 + gUnknown_02024A60 * 4 + 0] = 0;
+ ewram[0x16100 + gUnknown_02024A60 * 4 + 1] = 0;
+ ewram[0x16100 + gUnknown_02024A60 * 4 + 2] = 0;
+ ewram[0x16100 + gUnknown_02024A60 * 4 + 3] = 0;
+ ewram[0x160E8 + gUnknown_02024A60 * 2 + 0] = 0;
+ ewram[0x160E8 + gUnknown_02024A60 * 2 + 1] = 0;
+
+ ptr2 = (u32 *)(ewram + 0x17100);
+ ptr2[gUnknown_02024A60] = 0;
+
+ gUnknown_02024BE6 = 0;
+}
+
+void sub_8010F48(void)
+{
+ s32 i;
+ u8 *ptr;
+ u32 *ptr2;
+
+ for (i = 0; i < 8; i++)
+ gBattleMons[gUnknown_02024A60].statStages[i] = 6;
+ gBattleMons[gUnknown_02024A60].status2 = 0;
+ gUnknown_02024C98[gUnknown_02024A60] = 0;
+ for (i = 0; i < gUnknown_02024A68; i++)
+ {
+ if ((gBattleMons[i].status2 & 0x4000000) && gUnknown_02024CA8[i].unk14 == gUnknown_02024A60)
+ gBattleMons[i].status2 &= ~0x4000000;
+ if (gBattleMons[i].status2 & (gBitTable[gUnknown_02024A60] << 16))
+ gBattleMons[i].status2 &= ~(gBitTable[gUnknown_02024A60] << 16);
+ if ((gBattleMons[i].status2 & 0xE000) && ewram[0x16020 + i] == gUnknown_02024A60)
+ gBattleMons[i].status2 &= ~0xE000;
+ }
+ gUnknown_02024E60[gUnknown_02024A60] = 0;
+ gUnknown_02024E64[gUnknown_02024A60] = 0;
+
+ ptr = (u8 *)&gUnknown_02024CA8[gUnknown_02024A60];
+ for (i = 0; i < (u32)0x1C; i++)
+ ptr[i] = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk0_0 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk0_1 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk0_2 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk0_3 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk0_4 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk0_5 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk0_6 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk0_7 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk1_0 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk1_1 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk1_2 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk1_3 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk1_5 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk1_6 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk1_7 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk2_0 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk2_1 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk2_2 = 0;
+ gUnknown_02024D28[gUnknown_02024A60].unk2_3 = 0;
+
+ gUnknown_02024CA8[gUnknown_02024A60].unk16 = 2;
+ gUnknown_02024C34[gUnknown_02024A60] = 0;
+ gUnknown_02024C3C[gUnknown_02024A60] = 0;
+ gUnknown_02024C44[gUnknown_02024A60] = 0;
+ gUnknown_02024C4C[gUnknown_02024A60] = 0;
+ gUnknown_02024C2C[gUnknown_02024A60] = 0;
+ gUnknown_02024C5C[gUnknown_02024A60] = 0xFF;
+
+ ewram[0x160E8 + gUnknown_02024A60 * 2 + 0] = 0;
+ ewram[0x160E8 + gUnknown_02024A60 * 2 + 1] = 0;
+ ewram[0x160AC + gUnknown_02024A60 * 2 + 0] = 0;
+ ewram[0x160AC + gUnknown_02024A60 * 2 + 1] = 0;
+ ewram[0x16100 + gUnknown_02024A60 * 4 + 0] = 0;
+ ewram[0x16100 + gUnknown_02024A60 * 4 + 1] = 0;
+ ewram[0x16100 + gUnknown_02024A60 * 4 + 2] = 0;
+ ewram[0x16100 + gUnknown_02024A60 * 4 + 3] = 0;
+
+ ptr2 = (u32 *)(ewram + 0x17100);
+ ptr2[gUnknown_02024A60] = 0;
+
+ gBattleMons[gUnknown_02024A60].type1 = gBaseStats[gBattleMons[gUnknown_02024A60].species].type1;
+ gBattleMons[gUnknown_02024A60].type2 = gBaseStats[gBattleMons[gUnknown_02024A60].species].type2;
+}
+
+void bc_8012FAC(void)
+{
+ switch (gUnknown_02024D1E[0])
+ {
+ case 0:
+ gUnknown_02024A60 = gUnknown_02024D1E[1];
+ dp01_build_cmdbuf_x00_a_b_0(0, 0, 0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ gUnknown_02024D1E[0]++;
+ break;
+ case 1:
+ if (gUnknown_02024A64 == 0)
+ {
+ gUnknown_02024D1E[1]++;
+ if (gUnknown_02024D1E[1] == gUnknown_02024A68)
+ gUnknown_030042D4 = bc_load_battlefield;
+ else
+ gUnknown_02024D1E[0] = 0;
+ }
+ break;
+ }
+}
+
+void bc_load_battlefield(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ gUnknown_02024A60 = battle_get_side_with_given_state(0);
+ dp01_build_cmdbuf_x2E_a(0, gBattleTerrain);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ gUnknown_030042D4 = sub_8011384;
+ gUnknown_02024D1E[0] = 0;
+ gUnknown_02024D1E[1] = 0;
+ }
+}
+
+void sub_8011384(void)
+{
+ u8 *ptr;
+ s32 i;
+
+ if (gUnknown_02024A64 == 0)
+ {
+ for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++)
+ {
+ if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI)
+ && battle_side_get_owner(gUnknown_02024A60) == 0)
+ {
+ ptr = (u8 *)&gBattleMons[gUnknown_02024A60];
+ for (i = 0; i < (u32)0x58; i++)
+ ptr[i] = 0;
+ }
+ else
+ {
+ u8 r0;
+
+ ptr = (u8 *)&gBattleMons[gUnknown_02024A60];
+ for (i = 0; i < (u32)0x58; i++)
+ ptr[i] = gUnknown_02024260[gUnknown_02024A60][4 + i];
+
+ gBattleMons[gUnknown_02024A60].type1 = gBaseStats[gBattleMons[gUnknown_02024A60].species].type1;
+ gBattleMons[gUnknown_02024A60].type2 = gBaseStats[gBattleMons[gUnknown_02024A60].species].type2;
+ gBattleMons[gUnknown_02024A60].ability = GetAbilityBySpecies(gBattleMons[gUnknown_02024A60].species, gBattleMons[gUnknown_02024A60].altAbility);
+ r0 = battle_side_get_owner(gUnknown_02024A60);
+ ewram160BC[r0] = gBattleMons[gUnknown_02024A60].hp;
+ for (i = 0; i < 8; i++)
+ gBattleMons[gUnknown_02024A60].statStages[i] = 6;
+ gBattleMons[gUnknown_02024A60].status2 = 0;
+ }
+
+ if (battle_get_per_side_status(gUnknown_02024A60) == 0)
+ {
+ dp01_build_cmdbuf_x07_7_7_7(0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
+ {
+ if (battle_get_per_side_status(gUnknown_02024A60) == 1)
+ {
+ dp01_build_cmdbuf_x07_7_7_7(0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+ if (battle_side_get_owner(gUnknown_02024A60) == 1
+ && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)))
+ sub_8090D90(SpeciesToNationalPokedexNum(gBattleMons[gUnknown_02024A60].species), 2);
+ }
+ else
+ {
+ if (battle_side_get_owner(gUnknown_02024A60) == 1
+ && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)))
+ {
+ sub_8090D90(SpeciesToNationalPokedexNum(gBattleMons[gUnknown_02024A60].species), 2);
+ dp01_build_cmdbuf_x04_4_4_4(0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+ }
+
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ {
+ if (battle_get_per_side_status(gUnknown_02024A60) == 2
+ || battle_get_per_side_status(gUnknown_02024A60) == 3)
+ {
+ dp01_build_cmdbuf_x07_7_7_7(0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+ }
+ }
+ gUnknown_030042D4 = bc_801333C;
+ }
+}
+
+void bc_801333C(void)
+{
+ s32 i;
+
+ if (gUnknown_02024A64 == 0)
+ {
+ struct
+ {
+ u16 hp;
+ u32 status;
+ } sp0[6];
+
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
+ {
+ for (i = 0; i < 6; i++)
+ {
+ if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == 0
+ || GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
+ {
+ sp0[i].hp = 0xFFFF;
+ sp0[i].status = 0;
+ }
+ else
+ {
+ sp0[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP);
+ sp0[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
+ }
+ }
+ gUnknown_02024A60 = battle_get_side_with_given_state(1);
+ dp01_build_cmdbuf_x30_TODO(0, (u8 *)sp0, 0x80);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+
+ for (i = 0; i < 6; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0
+ || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
+ {
+ sp0[i].hp = 0xFFFF;
+ sp0[i].status = 0;
+ }
+ else
+ {
+ sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+ sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
+ }
+ }
+ gUnknown_02024A60 = battle_get_side_with_given_state(0);
+ dp01_build_cmdbuf_x30_TODO(0, (u8 *)sp0, 0x80);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+
+ gUnknown_030042D4 = bc_battle_begin_message;
+ }
+ else
+ {
+ // The array gets set here, but nothing is ever done with it.
+ // Likely unfinished code.
+
+ for (i = 0; i < 6; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0
+ || GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
+ {
+ sp0[i].hp = 0xFFFF;
+ sp0[i].status = 0;
+ }
+ else
+ {
+ sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+ sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
+ }
+ }
+
+ gUnknown_030042D4 = bc_8013568;
+ }
+ }
+}
+
+void bc_battle_begin_message(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ gUnknown_02024A60 = battle_get_side_with_given_state(1);
+ b_std_message(0, gUnknown_02024A60);
+ gUnknown_030042D4 = sub_8011800;
+ }
+}
+
+void bc_8013568(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ gUnknown_030042D4 = sub_8011970;
+ b_std_message(0, 0);
+ }
+}
+
+void sub_8011800(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ b_std_message(1, battle_get_side_with_given_state(1));
+ gUnknown_030042D4 = sub_8011834;
+ }
+}
+
+void sub_8011834(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++)
+ {
+ if (battle_get_per_side_status(gUnknown_02024A60) == 1)
+ {
+ dp01_build_cmdbuf_x2F_2F_2F_2F(0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+ if ((gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ && battle_get_per_side_status(gUnknown_02024A60) == 3)
+ {
+ dp01_build_cmdbuf_x2F_2F_2F_2F(0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+ }
+ gUnknown_030042D4 = bc_801362C;
+ }
+}
+
+void bc_801362C(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++)
+ {
+ if (battle_side_get_owner(gUnknown_02024A60) == 1
+ && !(gBattleTypeFlags & (BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_LINK)))
+ sub_8090D90(SpeciesToNationalPokedexNum(gBattleMons[gUnknown_02024A60].species), 2);
+ }
+ gUnknown_030042D4 = sub_8011970;
+ }
+}
+
+void unref_sub_8011950(void)
+{
+ if (gUnknown_02024A64 == 0)
+ gUnknown_030042D4 = sub_8011970;
+}
+
+void sub_8011970(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
+ b_std_message(1, battle_get_side_with_given_state(0));
+ gUnknown_030042D4 = sub_80119B4;
+ }
+}
+
+void sub_80119B4(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++)
+ {
+ if (battle_get_per_side_status(gUnknown_02024A60) == 0)
+ {
+ dp01_build_cmdbuf_x2F_2F_2F_2F(0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+ if ((gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ && battle_get_per_side_status(gUnknown_02024A60) == 2)
+ {
+ dp01_build_cmdbuf_x2F_2F_2F_2F(0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+ }
+ ewram16058 = 0;
+ ewram160F9 = 0;
+ ewram160E6 = 0;
+ gUnknown_030042D4 = sub_8011B00;
+ }
+}
+
+void unref_sub_8011A68(void)
+{
+ if (gUnknown_02024A64 == 0)
+ {
+ for (gUnknown_02024A60 = 0; gUnknown_02024A60 < gUnknown_02024A68; gUnknown_02024A60++)
+ {
+ if (battle_side_get_owner(gUnknown_02024A60) == 0)
+ {
+ sub_800C704(0, gUnknown_02024A6A[gUnknown_02024A60], 0);
+ dp01_battle_side_mark_buffer_for_execution(gUnknown_02024A60);
+ }
+ }
+ ewram16058 = 0;
+ ewram160F9 = 0;
+ ewram160E6 = 0;
+ gUnknown_030042D4 = sub_8011B00;
+ }
+}
diff --git a/src/rom3.c b/src/rom3.c
index 0169128cb..ef7b9a7ed 100644
--- a/src/rom3.c
+++ b/src/rom3.c
@@ -582,7 +582,7 @@ void sub_800C47C(u8 taskId)
}
}
-void dp01_build_cmdbuf_x00_a_b_0(u8 a, int b, int c)
+void dp01_build_cmdbuf_x00_a_b_0(u8 a, u8 b, u8 c)
{
gUnknown_03004040[0] = 0;
gUnknown_03004040[1] = b;
@@ -591,7 +591,7 @@ void dp01_build_cmdbuf_x00_a_b_0(u8 a, int b, int c)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x01_a_b_0(u8 a, int b, int c)
+void dp01_build_cmdbuf_x01_a_b_0(u8 a, u8 b, u8 c)
{
gUnknown_03004040[0] = 1;
gUnknown_03004040[1] = b;
@@ -600,7 +600,7 @@ void dp01_build_cmdbuf_x01_a_b_0(u8 a, int b, int c)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x02_a_b_varargs(u8 a, int b, int c, u8 d, u8 *e)
+void dp01_build_cmdbuf_x02_a_b_varargs(u8 a, u8 b, u8 c, u8 d, u8 *e)
{
int i;
@@ -612,7 +612,7 @@ void dp01_build_cmdbuf_x02_a_b_varargs(u8 a, int b, int c, u8 d, u8 *e)
dp01_prepare_buffer(a, gUnknown_03004040, d + 3);
}
-void unref_sub_800C6A4(u8 a, int b, u8 c, u8 *d)
+void unref_sub_800C6A4(u8 a, u8 b, u8 c, u8 *d)
{
int i;
@@ -633,7 +633,7 @@ void dp01_build_cmdbuf_x04_4_4_4(u8 a)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void sub_800C704(u8 a, int b, int c)
+void sub_800C704(u8 a, u8 b, u8 c)
{
gUnknown_03004040[0] = 5;
gUnknown_03004040[1] = b;
@@ -642,7 +642,7 @@ void sub_800C704(u8 a, int b, int c)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x06_a(u8 a, int b)
+void dp01_build_cmdbuf_x06_a(u8 a, u8 b)
{
gUnknown_03004040[0] = 6;
gUnknown_03004040[1] = b;
@@ -703,7 +703,7 @@ void dp01_build_cmdbuf_x0C_C_C_C(u8 a)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x0D_a(u8 a, int b)
+void dp01_build_cmdbuf_x0D_a(u8 a, u8 b)
{
gUnknown_03004040[0] = 13;
gUnknown_03004040[1] = b;
@@ -721,7 +721,7 @@ void unref_sub_800C828(u8 a, u8 b, u8 *c)
dp01_prepare_buffer(a, gUnknown_03004040, b * 3 + 2);
}
-void dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes(u8 a, u16 b, u8 c, u16 d, int e, u8 f, u8 *g)
+void dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, u8 *g)
{
gUnknown_03004040[0] = 15;
gUnknown_03004040[1] = b;
@@ -1039,7 +1039,7 @@ _0800CB54: .4byte gUnknown_030041C0\n\
.syntax divided\n");
}
-void dp01_build_cmdbuf_x12_a_bb(u8 a, int b, u16 c)
+void dp01_build_cmdbuf_x12_a_bb(u8 a, u8 b, u16 c)
{
gUnknown_03004040[0] = 18;
gUnknown_03004040[1] = b;
@@ -1048,14 +1048,14 @@ void dp01_build_cmdbuf_x12_a_bb(u8 a, int b, u16 c)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void unref_sub_800CB84(u8 a, int b)
+void unref_sub_800CB84(u8 a, u8 b)
{
gUnknown_03004040[0] = 19;
gUnknown_03004040[1] = b;
dp01_prepare_buffer(a, gUnknown_03004040, 2);
}
-void sub_800CBA4(u8 a, int b, int c, u8 *d)
+void sub_800CBA4(u8 a, u8 b, u8 c, u8 *d)
{
u32 i;
@@ -1078,7 +1078,7 @@ void sub_800CBE0(u8 a, u8 *b)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f(u8 a, int b, int c, int d, u8 *e)
+void dp01_build_cmdbuf_x16_a_b_c_ptr_d_e_f(u8 a, u8 b, u8 c, u8 d, u8 *e)
{
int i;
@@ -1109,7 +1109,7 @@ void dp01_build_cmdbuf_x18_0_aa_health_bar_update(u8 a, s16 b)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x19_a_bb(u8 a, int b, s16 c)
+void dp01_build_cmdbuf_x19_a_bb(u8 a, u8 b, s16 c)
{
gUnknown_03004040[0] = 25;
gUnknown_03004040[1] = b;
@@ -1132,7 +1132,7 @@ void dp01_build_cmdbuf_x1A_aaaa_bbbb(u8 a, u32 b, u32 c)
dp01_prepare_buffer(a, gUnknown_03004040, 9);
}
-void dp01_build_cmdbuf_x1B_aaaa_b(u8 a, int b, u32 c)
+void dp01_build_cmdbuf_x1B_aaaa_b(u8 a, u8 b, u32 c)
{
gUnknown_03004040[0] = 27;
gUnknown_03004040[1] = b;
@@ -1143,7 +1143,7 @@ void dp01_build_cmdbuf_x1B_aaaa_b(u8 a, int b, u32 c)
dp01_prepare_buffer(a, gUnknown_03004040, 6);
}
-void dp01_build_cmdbuf_x1C_a(u8 a, int b)
+void dp01_build_cmdbuf_x1C_a(u8 a, u8 b)
{
gUnknown_03004040[0] = 28;
gUnknown_03004040[1] = b;
@@ -1203,7 +1203,7 @@ void unref_sub_800CE84(u8 a, u16 b, u8 *c)
dp01_prepare_buffer(a, gUnknown_03004040, b + 3);
}
-void dp01_build_cmdbuf_x21_a_bb(u8 a, int b, u16 c)
+void dp01_build_cmdbuf_x21_a_bb(u8 a, u8 b, u16 c)
{
gUnknown_03004040[0] = 33;
gUnknown_03004040[1] = b;
@@ -1212,7 +1212,7 @@ void dp01_build_cmdbuf_x21_a_bb(u8 a, int b, u16 c)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x22_a_three_bytes(u8 a, int b, u8 *c)
+void dp01_build_cmdbuf_x22_a_three_bytes(u8 a, u8 b, u8 *c)
{
int i;
@@ -1250,7 +1250,7 @@ void dp01_build_cmdbuf_x25_25_25_25(u8 a)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x26_a(u8 a, int b)
+void dp01_build_cmdbuf_x26_a(u8 a, u8 b)
{
gUnknown_03004040[0] = 38;
gUnknown_03004040[1] = b;
@@ -1320,7 +1320,7 @@ void dp01_build_cmdbuf_x2D_2D_2D_2D(u8 a)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x2E_a(u8 a, int b)
+void dp01_build_cmdbuf_x2E_a(u8 a, u8 b)
{
gUnknown_03004040[0] = 46;
gUnknown_03004040[1] = b;
@@ -1367,7 +1367,7 @@ void dp01_build_cmdbuf_x32_32_32_32(u8 a)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x33_a_33_33(u8 a, int b)
+void dp01_build_cmdbuf_x33_a_33_33(u8 a, u8 b)
{
gUnknown_03004040[0] = 51;
gUnknown_03004040[1] = b;
@@ -1376,7 +1376,7 @@ void dp01_build_cmdbuf_x33_a_33_33(u8 a, int b)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void dp01_build_cmdbuf_x34_a_bb_aka_battle_anim(u8 a, int b, u16 c)
+void dp01_build_cmdbuf_x34_a_bb_aka_battle_anim(u8 a, u8 b, u16 c)
{
gUnknown_03004040[0] = 52;
gUnknown_03004040[1] = b;
@@ -1385,21 +1385,21 @@ void dp01_build_cmdbuf_x34_a_bb_aka_battle_anim(u8 a, int b, u16 c)
dp01_prepare_buffer(a, gUnknown_03004040, 4);
}
-void sub_800D1D8(u8 a, int b)
+void sub_800D1D8(u8 a, u8 b)
{
gUnknown_03004040[0] = 53;
gUnknown_03004040[1] = b;
dp01_prepare_buffer(a, gUnknown_03004040, 2);
}
-void dp01_build_cmdbuf_x38_a(u8 a, int b)
+void dp01_build_cmdbuf_x38_a(u8 a, u8 b)
{
gUnknown_03004040[0] = 54;
gUnknown_03004040[1] = b;
dp01_prepare_buffer(a, gUnknown_03004040, 2);
}
-void dp01_build_cmdbuf_x37_a(u8 a, int b)
+void dp01_build_cmdbuf_x37_a(u8 a, u8 b)
{
gUnknown_03004040[0] = 55;
gUnknown_03004040[1] = b;