mirror of
https://github.com/pret/pokeruby.git
synced 2026-09-28 22:50:41 -04:00
2404 lines
45 KiB
ArmAsm
2404 lines
45 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_8120AA8
|
|
sub_8120AA8: @ 8120AA8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
lsls r0, 16
|
|
lsrs r7, r0, 16
|
|
movs r6, 0
|
|
ldr r5, _08120B70 @ =gSelectedOrderFromParty
|
|
ldr r4, _08120B74 @ =gUnknown_02024A60
|
|
ldrb r1, [r4]
|
|
lsls r1, 9
|
|
ldr r0, _08120B78 @ =gUnknown_02023A64
|
|
adds r1, r0
|
|
str r1, [r5]
|
|
ldr r2, _08120B7C @ =gUnknown_02024C04
|
|
ldrh r0, [r1, 0x4]
|
|
strh r0, [r2]
|
|
ldr r2, _08120B80 @ =byte_2024C06
|
|
ldrb r0, [r1, 0x6]
|
|
strb r0, [r2]
|
|
ldr r3, _08120B84 @ =0x02000000
|
|
ldrb r0, [r1, 0x7]
|
|
mov r8, r0
|
|
ldr r2, _08120B88 @ =0x00016003
|
|
adds r0, r3, r2
|
|
mov r2, r8
|
|
strb r2, [r0]
|
|
ldrb r0, [r1, 0x8]
|
|
mov r8, r0
|
|
ldr r2, _08120B8C @ =0x0001605e
|
|
adds r0, r3, r2
|
|
mov r2, r8
|
|
strb r2, [r0]
|
|
ldrb r0, [r1, 0x9]
|
|
mov r8, r0
|
|
ldr r2, _08120B90 @ =0x000160c1
|
|
adds r0, r3, r2
|
|
mov r2, r8
|
|
strb r2, [r0]
|
|
ldr r2, _08120B94 @ =gUnknown_02024C0B
|
|
ldrb r0, [r1, 0xA]
|
|
strb r0, [r2]
|
|
ldrb r1, [r1, 0xB]
|
|
ldr r2, _08120B98 @ =0x000160a0
|
|
adds r0, r3, r2
|
|
strb r1, [r0]
|
|
movs r2, 0
|
|
mov r9, r3
|
|
ldr r3, _08120B9C @ =gUnknown_030041C0
|
|
mov r10, r3
|
|
ldr r3, _08120BA0 @ =gUnknown_0203926C
|
|
_08120B10:
|
|
adds r0, r2, r3
|
|
ldr r1, [r5]
|
|
adds r1, 0xC
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x3
|
|
ble _08120B10
|
|
movs r2, 0
|
|
ldr r0, _08120B9C @ =gUnknown_030041C0
|
|
mov r8, r0
|
|
ldr r3, _08120B70 @ =gSelectedOrderFromParty
|
|
ldr r1, _08120BA4 @ =gUnknown_03004290
|
|
mov r12, r1
|
|
ldr r5, _08120BA8 @ =gUnknown_030042B0
|
|
_08120B30:
|
|
mov r0, r8
|
|
adds r1, r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, 0x10
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
mov r0, r12
|
|
adds r1, r2, r0
|
|
ldr r0, [r3]
|
|
adds r0, 0x20
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r1, r2, r5
|
|
ldr r0, [r3]
|
|
adds r0, 0x30
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r2, 0x1
|
|
cmp r2, 0xF
|
|
ble _08120B30
|
|
cmp r7, 0x5
|
|
bls _08120B64
|
|
b _08120F50
|
|
_08120B64:
|
|
lsls r0, r7, 2
|
|
ldr r1, _08120BAC @ =_08120BB0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08120B70: .4byte gSelectedOrderFromParty
|
|
_08120B74: .4byte gUnknown_02024A60
|
|
_08120B78: .4byte gUnknown_02023A64
|
|
_08120B7C: .4byte gUnknown_02024C04
|
|
_08120B80: .4byte byte_2024C06
|
|
_08120B84: .4byte 0x02000000
|
|
_08120B88: .4byte 0x00016003
|
|
_08120B8C: .4byte 0x0001605e
|
|
_08120B90: .4byte 0x000160c1
|
|
_08120B94: .4byte gUnknown_02024C0B
|
|
_08120B98: .4byte 0x000160a0
|
|
_08120B9C: .4byte gUnknown_030041C0
|
|
_08120BA0: .4byte gUnknown_0203926C
|
|
_08120BA4: .4byte gUnknown_03004290
|
|
_08120BA8: .4byte gUnknown_030042B0
|
|
_08120BAC: .4byte _08120BB0
|
|
.align 2, 0
|
|
_08120BB0:
|
|
.4byte _08120BC8
|
|
.4byte _08120C40
|
|
.4byte _08120CCC
|
|
.4byte _08120D5C
|
|
.4byte _08120DE8
|
|
.4byte _08120E50
|
|
_08120BC8:
|
|
ldr r0, _08120BEC @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120C00
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120BF8
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
ldr r6, _08120BF0 @ =gUnknown_084005C7
|
|
cmp r0, 0
|
|
bne _08120BE8
|
|
b _08120F70
|
|
_08120BE8:
|
|
ldr r6, _08120BF4 @ =gUnknown_084005DB
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120BEC: .4byte gBattleTypeFlags
|
|
_08120BF0: .4byte gUnknown_084005C7
|
|
_08120BF4: .4byte gUnknown_084005DB
|
|
_08120BF8:
|
|
ldr r6, _08120BFC @ =gUnknown_084005AA
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120BFC: .4byte gUnknown_084005AA
|
|
_08120C00:
|
|
movs r0, 0x80
|
|
lsls r0, 6
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120C14
|
|
ldr r6, _08120C10 @ =gUnknown_08400568
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120C10: .4byte gUnknown_08400568
|
|
_08120C14:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120C24
|
|
ldr r6, _08120C20 @ =gUnknown_08400590
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120C20: .4byte gUnknown_08400590
|
|
_08120C24:
|
|
movs r0, 0x80
|
|
lsls r0, 2
|
|
ands r0, r1
|
|
ldr r6, _08120C38 @ =gUnknown_08400555
|
|
cmp r0, 0
|
|
bne _08120C32
|
|
b _08120F70
|
|
_08120C32:
|
|
ldr r6, _08120C3C @ =gUnknown_0840057B
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120C38: .4byte gUnknown_08400555
|
|
_08120C3C: .4byte gUnknown_0840057B
|
|
_08120C40:
|
|
ldrb r0, [r4]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08120C7C
|
|
ldr r0, _08120C68 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120C74
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
ldr r6, _08120C6C @ =gUnknown_084006A4
|
|
cmp r0, 0
|
|
bne _08120C64
|
|
b _08120F70
|
|
_08120C64:
|
|
ldr r6, _08120C70 @ =gUnknown_084006F1
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120C68: .4byte gBattleTypeFlags
|
|
_08120C6C: .4byte gUnknown_084006A4
|
|
_08120C70: .4byte gUnknown_084006F1
|
|
_08120C74:
|
|
ldr r6, _08120C78 @ =gUnknown_0840069C
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120C78: .4byte gUnknown_0840069C
|
|
_08120C7C:
|
|
ldr r0, _08120C94 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120CB4
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120C9C
|
|
ldr r6, _08120C98 @ =gUnknown_0840065C
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120C94: .4byte gBattleTypeFlags
|
|
_08120C98: .4byte gUnknown_0840065C
|
|
_08120C9C:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
ldr r6, _08120CAC @ =gUnknown_08400608
|
|
cmp r0, 0
|
|
bne _08120CA8
|
|
b _08120F70
|
|
_08120CA8:
|
|
ldr r6, _08120CB0 @ =gUnknown_08400645
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120CAC: .4byte gUnknown_08400608
|
|
_08120CB0: .4byte gUnknown_08400645
|
|
_08120CB4:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
ldr r6, _08120CC4 @ =gUnknown_084005F5
|
|
cmp r0, 0
|
|
bne _08120CC0
|
|
b _08120F70
|
|
_08120CC0:
|
|
ldr r6, _08120CC8 @ =gUnknown_08400635
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120CC4: .4byte gUnknown_084005F5
|
|
_08120CC8: .4byte gUnknown_08400635
|
|
_08120CCC:
|
|
ldrb r0, [r4]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08120D24
|
|
ldr r0, _08120CE8 @ =0x02000000
|
|
ldr r1, _08120CEC @ =0x000160c1
|
|
adds r0, r1
|
|
ldrb r2, [r0]
|
|
cmp r2, 0
|
|
bne _08120CF4
|
|
ldr r6, _08120CF0 @ =gUnknown_08400709
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120CE8: .4byte 0x02000000
|
|
_08120CEC: .4byte 0x000160c1
|
|
_08120CF0: .4byte gUnknown_08400709
|
|
_08120CF4:
|
|
cmp r2, 0x1
|
|
beq _08120D04
|
|
ldr r0, _08120D08 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120D10
|
|
_08120D04:
|
|
ldr r6, _08120D0C @ =gUnknown_08400727
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120D08: .4byte gBattleTypeFlags
|
|
_08120D0C: .4byte gUnknown_08400727
|
|
_08120D10:
|
|
ldr r6, _08120D1C @ =gUnknown_08400749
|
|
cmp r2, 0x2
|
|
beq _08120D18
|
|
b _08120F70
|
|
_08120D18:
|
|
ldr r6, _08120D20 @ =gUnknown_08400736
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120D1C: .4byte gUnknown_08400749
|
|
_08120D20: .4byte gUnknown_08400736
|
|
_08120D24:
|
|
ldr r0, _08120D44 @ =gTrainerBattleOpponent
|
|
ldrh r1, [r0]
|
|
movs r0, 0x80
|
|
lsls r0, 4
|
|
cmp r1, r0
|
|
bne _08120D54
|
|
ldr r0, _08120D48 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
ldr r6, _08120D4C @ =gUnknown_08400771
|
|
cmp r0, 0
|
|
bne _08120D40
|
|
b _08120F70
|
|
_08120D40:
|
|
ldr r6, _08120D50 @ =gUnknown_08400781
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120D44: .4byte gTrainerBattleOpponent
|
|
_08120D48: .4byte gBattleTypeFlags
|
|
_08120D4C: .4byte gUnknown_08400771
|
|
_08120D50: .4byte gUnknown_08400781
|
|
_08120D54:
|
|
ldr r6, _08120D58 @ =gUnknown_0840075E
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120D58: .4byte gUnknown_0840075E
|
|
_08120D5C:
|
|
ldr r0, _08120D88 @ =0x00016003
|
|
add r0, r9
|
|
ldrb r0, [r0]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08120DB8
|
|
ldr r0, _08120D8C @ =0x000160c1
|
|
add r0, r9
|
|
ldrb r3, [r0]
|
|
cmp r3, 0
|
|
beq _08120D82
|
|
ldr r0, _08120D90 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120D98
|
|
_08120D82:
|
|
ldr r6, _08120D94 @ =gUnknown_084006B3
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120D88: .4byte 0x00016003
|
|
_08120D8C: .4byte 0x000160c1
|
|
_08120D90: .4byte gBattleTypeFlags
|
|
_08120D94: .4byte gUnknown_084006B3
|
|
_08120D98:
|
|
cmp r3, 0x1
|
|
bne _08120DA4
|
|
ldr r6, _08120DA0 @ =gUnknown_084006BB
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120DA0: .4byte gUnknown_084006BB
|
|
_08120DA4:
|
|
ldr r6, _08120DB0 @ =gUnknown_084006D5
|
|
cmp r3, 0x2
|
|
beq _08120DAC
|
|
b _08120F70
|
|
_08120DAC:
|
|
ldr r6, _08120DB4 @ =gUnknown_084006C6
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120DB0: .4byte gUnknown_084006D5
|
|
_08120DB4: .4byte gUnknown_084006C6
|
|
_08120DB8:
|
|
ldr r0, _08120DD4 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120DE0
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
ldr r6, _08120DD8 @ =gUnknown_0840067C
|
|
cmp r0, 0
|
|
bne _08120DD0
|
|
b _08120F70
|
|
_08120DD0:
|
|
ldr r6, _08120DDC @ =gUnknown_0840068C
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120DD4: .4byte gBattleTypeFlags
|
|
_08120DD8: .4byte gUnknown_0840067C
|
|
_08120DDC: .4byte gUnknown_0840068C
|
|
_08120DE0:
|
|
ldr r6, _08120DE4 @ =gUnknown_08400622
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120DE4: .4byte gUnknown_08400622
|
|
_08120DE8:
|
|
mov r0, r10
|
|
bl sub_8121D1C
|
|
ldr r0, _08120E14 @ =gSelectedOrderFromParty
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2]
|
|
movs r0, 0xB1
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bls _08120E28
|
|
ldr r0, _08120E18 @ =gUnknown_03004290
|
|
ldr r2, _08120E1C @ =gUnknown_08401674
|
|
ldr r1, _08120E20 @ =0x02000000
|
|
ldr r3, _08120E24 @ =0x000160a0
|
|
adds r1, r3
|
|
ldrb r1, [r1]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
b _08120E38
|
|
.align 2, 0
|
|
_08120E14: .4byte gSelectedOrderFromParty
|
|
_08120E18: .4byte gUnknown_03004290
|
|
_08120E1C: .4byte gUnknown_08401674
|
|
_08120E20: .4byte 0x02000000
|
|
_08120E24: .4byte 0x000160a0
|
|
_08120E28:
|
|
ldr r0, _08120E44 @ =gUnknown_03004290
|
|
ldrh r2, [r2]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _08120E48 @ =gMoveNames
|
|
adds r1, r2
|
|
bl StringCopy
|
|
_08120E38:
|
|
ldr r0, _08120E44 @ =gUnknown_03004290
|
|
bl sub_8121D74
|
|
ldr r6, _08120E4C @ =gUnknown_084007BD
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120E44: .4byte gUnknown_03004290
|
|
_08120E48: .4byte gMoveNames
|
|
_08120E4C: .4byte gUnknown_084007BD
|
|
_08120E50:
|
|
ldr r5, _08120E90 @ =gUnknown_030041C0
|
|
ldrb r1, [r5]
|
|
movs r0, 0x80
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120EB8
|
|
movs r0, 0x7F
|
|
ands r0, r1
|
|
strb r0, [r5]
|
|
ldrb r0, [r4]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08120E7C
|
|
ldrb r1, [r5]
|
|
cmp r1, 0x3
|
|
beq _08120E7C
|
|
movs r0, 0x3
|
|
eors r0, r1
|
|
strb r0, [r5]
|
|
_08120E7C:
|
|
ldr r0, _08120E90 @ =gUnknown_030041C0
|
|
ldrb r0, [r0]
|
|
subs r0, 0x2
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bhi _08120E98
|
|
ldr r6, _08120E94 @ =gUnknown_083FFEFC
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120E90: .4byte gUnknown_030041C0
|
|
_08120E94: .4byte gUnknown_083FFEFC
|
|
_08120E98:
|
|
ldr r0, _08120EAC @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
ldr r6, _08120EB0 @ =gUnknown_083FFFEA
|
|
cmp r0, 0
|
|
beq _08120F70
|
|
ldr r6, _08120EB4 @ =gUnknown_083FFFF7
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120EAC: .4byte gBattleTypeFlags
|
|
_08120EB0: .4byte gUnknown_083FFFEA
|
|
_08120EB4: .4byte gUnknown_083FFFF7
|
|
_08120EB8:
|
|
ldrb r0, [r4]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08120ED2
|
|
ldrb r1, [r5]
|
|
cmp r1, 0x3
|
|
beq _08120ED2
|
|
movs r0, 0x3
|
|
eors r0, r1
|
|
strb r0, [r5]
|
|
_08120ED2:
|
|
ldr r0, _08120EF0 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x40
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08120F18
|
|
ldr r0, _08120EF4 @ =gUnknown_030041C0
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x2
|
|
beq _08120F08
|
|
cmp r0, 0x2
|
|
bgt _08120EF8
|
|
cmp r0, 0x1
|
|
beq _08120EFE
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120EF0: .4byte gBattleTypeFlags
|
|
_08120EF4: .4byte gUnknown_030041C0
|
|
_08120EF8:
|
|
cmp r0, 0x3
|
|
beq _08120F10
|
|
b _08120F70
|
|
_08120EFE:
|
|
ldr r6, _08120F04 @ =gUnknown_083FFF6A
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120F04: .4byte gUnknown_083FFF6A
|
|
_08120F08:
|
|
ldr r6, _08120F0C @ =gUnknown_083FFF99
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120F0C: .4byte gUnknown_083FFF99
|
|
_08120F10:
|
|
ldr r6, _08120F14 @ =gUnknown_083FFFCB
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120F14: .4byte gUnknown_083FFFCB
|
|
_08120F18:
|
|
ldr r0, _08120F2C @ =gUnknown_030041C0
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x2
|
|
beq _08120F40
|
|
cmp r0, 0x2
|
|
bgt _08120F30
|
|
cmp r0, 0x1
|
|
beq _08120F36
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120F2C: .4byte gUnknown_030041C0
|
|
_08120F30:
|
|
cmp r0, 0x3
|
|
beq _08120F48
|
|
b _08120F70
|
|
_08120F36:
|
|
ldr r6, _08120F3C @ =gUnknown_083FFF56
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120F3C: .4byte gUnknown_083FFF56
|
|
_08120F40:
|
|
ldr r6, _08120F44 @ =gUnknown_083FFF81
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120F44: .4byte gUnknown_083FFF81
|
|
_08120F48:
|
|
ldr r6, _08120F4C @ =gUnknown_083FFFB3
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120F4C: .4byte gUnknown_083FFFB3
|
|
_08120F50:
|
|
movs r0, 0xB5
|
|
lsls r0, 1
|
|
cmp r7, r0
|
|
bls _08120F64
|
|
ldr r1, _08120F60 @ =gUnknown_020238CC
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
b _08120F76
|
|
.align 2, 0
|
|
_08120F60: .4byte gUnknown_020238CC
|
|
_08120F64:
|
|
ldr r1, _08120F84 @ =gUnknown_08400F8C
|
|
adds r0, r7, 0
|
|
subs r0, 0xC
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r6, [r0]
|
|
_08120F70:
|
|
adds r0, r6, 0
|
|
bl get_battle_strings_
|
|
_08120F76:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08120F84: .4byte gUnknown_08400F8C
|
|
thumb_func_end sub_8120AA8
|
|
|
|
thumb_func_start get_battle_strings_
|
|
get_battle_strings_: @ 8120F88
|
|
push {lr}
|
|
ldr r1, _08120F94 @ =gUnknown_020238CC
|
|
bl sub_8120FFC
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08120F94: .4byte gUnknown_020238CC
|
|
thumb_func_end get_battle_strings_
|
|
|
|
thumb_func_start sub_8120F98
|
|
sub_8120F98: @ 8120F98
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
adds r4, r0, 0
|
|
ldr r1, _08120FB0 @ =gUnknown_084017A8
|
|
mov r0, sp
|
|
movs r2, 0x8
|
|
bl memcpy
|
|
mov r2, sp
|
|
movs r3, 0
|
|
b _08120FC0
|
|
.align 2, 0
|
|
_08120FB0: .4byte gUnknown_084017A8
|
|
_08120FB4:
|
|
strb r1, [r2]
|
|
adds r4, 0x1
|
|
adds r2, 0x1
|
|
adds r3, 0x1
|
|
cmp r3, 0x7
|
|
bhi _08120FC8
|
|
_08120FC0:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08120FB4
|
|
_08120FC8:
|
|
ldr r5, [sp]
|
|
ldr r4, [sp, 0x4]
|
|
movs r3, 0
|
|
ldr r2, _08120FE4 @ =gUnknown_081FA6D4
|
|
_08120FD0:
|
|
ldr r1, [r2]
|
|
ldr r0, [r1]
|
|
cmp r5, r0
|
|
bne _08120FE8
|
|
ldr r0, [r1, 0x4]
|
|
cmp r4, r0
|
|
bne _08120FE8
|
|
ldr r0, [r2, 0x4]
|
|
b _08120FF2
|
|
.align 2, 0
|
|
_08120FE4: .4byte gUnknown_081FA6D4
|
|
_08120FE8:
|
|
adds r2, 0x8
|
|
adds r3, 0x1
|
|
cmp r3, 0x6
|
|
bls _08120FD0
|
|
movs r0, 0
|
|
_08120FF2:
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8120F98
|
|
|
|
thumb_func_start sub_8120FFC
|
|
sub_8120FFC: @ 8120FFC
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xC
|
|
mov r9, r0
|
|
mov r8, r1
|
|
movs r6, 0
|
|
movs r4, 0
|
|
bl GetMultiplayerId
|
|
lsls r0, 24
|
|
lsrs r7, r0, 24
|
|
mov r0, r9
|
|
ldrb r1, [r0]
|
|
bl _08121A40
|
|
_0812101E:
|
|
cmp r1, 0xFD
|
|
beq _08121026
|
|
bl _08121A30
|
|
_08121026:
|
|
movs r1, 0x1
|
|
add r9, r1
|
|
mov r2, r9
|
|
ldrb r0, [r2]
|
|
cmp r0, 0x2A
|
|
bls _08121036
|
|
bl _081219E6
|
|
_08121036:
|
|
lsls r0, 2
|
|
ldr r1, _08121040 @ =_08121044
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08121040: .4byte _08121044
|
|
.align 2, 0
|
|
_08121044:
|
|
.4byte _081210F0
|
|
.4byte _0812111E
|
|
.4byte _0812115A
|
|
.4byte _08121180
|
|
.4byte _081211A4
|
|
.4byte _081211C8
|
|
.4byte _081211EC
|
|
.4byte _08121218
|
|
.4byte _08121248
|
|
.4byte _08121278
|
|
.4byte _081212A8
|
|
.4byte _0812133C
|
|
.4byte _081213A8
|
|
.4byte _0812141C
|
|
.4byte _08121490
|
|
.4byte _08121504
|
|
.4byte _08121578
|
|
.4byte _081215F8
|
|
.4byte _08121620
|
|
.4byte _08121660
|
|
.4byte _081216EC
|
|
.4byte _081216F4
|
|
.4byte _08121704
|
|
.4byte _08121714
|
|
.4byte _0812172C
|
|
.4byte _0812174C
|
|
.4byte _081217C0
|
|
.4byte _08121830
|
|
.4byte _08121840
|
|
.4byte _08121854
|
|
.4byte _08121868
|
|
.4byte _0812188C
|
|
.4byte _081218B0
|
|
.4byte _081218B8
|
|
.4byte _081218C0
|
|
.4byte _0812195C
|
|
.4byte _081219A4
|
|
.4byte _081219AC
|
|
.4byte _0812197C
|
|
.4byte _08121984
|
|
.4byte _081219CC
|
|
.4byte _081219D4
|
|
.4byte _08121134
|
|
_081210F0:
|
|
ldr r5, _08121100 @ =gUnknown_030041C0
|
|
ldrb r0, [r5]
|
|
cmp r0, 0xFD
|
|
bne _08121108
|
|
ldr r4, _08121104 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
b _08121140
|
|
.align 2, 0
|
|
_08121100: .4byte gUnknown_030041C0
|
|
_08121104: .4byte gStringVar1
|
|
_08121108:
|
|
adds r0, r5, 0
|
|
bl sub_8120F98
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
beq _08121118
|
|
bl _081219E6
|
|
_08121118:
|
|
adds r4, r5, 0
|
|
bl _081219E6
|
|
_0812111E:
|
|
ldr r1, _0812112C @ =gUnknown_03004290
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xFD
|
|
bne _08121154
|
|
ldr r4, _08121130 @ =gStringVar2
|
|
b _0812113E
|
|
.align 2, 0
|
|
_0812112C: .4byte gUnknown_03004290
|
|
_08121130: .4byte gStringVar2
|
|
_08121134:
|
|
ldr r1, _0812114C @ =gUnknown_030042B0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xFD
|
|
bne _08121154
|
|
ldr r4, _08121150 @ =gStringVar3
|
|
_0812113E:
|
|
adds r0, r1, 0
|
|
_08121140:
|
|
adds r1, r4, 0
|
|
bl sub_8121A68
|
|
bl _081219E6
|
|
.align 2, 0
|
|
_0812114C: .4byte gUnknown_030042B0
|
|
_08121150: .4byte gStringVar3
|
|
_08121154:
|
|
adds r4, r1, 0
|
|
bl _081219E6
|
|
_0812115A:
|
|
movs r0, 0
|
|
bl battle_get_side_with_given_state
|
|
ldr r1, _08121178 @ =gUnknown_02024A6A
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _0812117C @ =gPlayerParty
|
|
adds r0, r1
|
|
bl _0812190E
|
|
.align 2, 0
|
|
_08121178: .4byte gUnknown_02024A6A
|
|
_0812117C: .4byte gPlayerParty
|
|
_08121180:
|
|
movs r0, 0x1
|
|
bl battle_get_side_with_given_state
|
|
ldr r1, _0812119C @ =gUnknown_02024A6A
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081211A0 @ =gEnemyParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_0812119C: .4byte gUnknown_02024A6A
|
|
_081211A0: .4byte gEnemyParty
|
|
_081211A4:
|
|
movs r0, 0x2
|
|
bl battle_get_side_with_given_state
|
|
ldr r1, _081211C0 @ =gUnknown_02024A6A
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081211C4 @ =gPlayerParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_081211C0: .4byte gUnknown_02024A6A
|
|
_081211C4: .4byte gPlayerParty
|
|
_081211C8:
|
|
movs r0, 0x3
|
|
bl battle_get_side_with_given_state
|
|
ldr r1, _081211E4 @ =gUnknown_02024A6A
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081211E8 @ =gEnemyParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_081211E4: .4byte gUnknown_02024A6A
|
|
_081211E8: .4byte gEnemyParty
|
|
_081211EC:
|
|
ldr r2, _0812120C @ =gUnknown_02024A6A
|
|
ldr r1, _08121210 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrh r0, [r0, 0x18]
|
|
lsls r0, 1
|
|
adds r0, r2
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121214 @ =gPlayerParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_0812120C: .4byte gUnknown_02024A6A
|
|
_08121210: .4byte gLinkPlayers
|
|
_08121214: .4byte gPlayerParty
|
|
_08121218:
|
|
ldr r2, _0812123C @ =gUnknown_02024A6A
|
|
ldr r1, _08121240 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x1
|
|
eors r0, r1
|
|
lsls r0, 1
|
|
adds r0, r2
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121244 @ =gEnemyParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_0812123C: .4byte gUnknown_02024A6A
|
|
_08121240: .4byte gLinkPlayers
|
|
_08121244: .4byte gEnemyParty
|
|
_08121248:
|
|
ldr r2, _0812126C @ =gUnknown_02024A6A
|
|
ldr r1, _08121270 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x2
|
|
eors r0, r1
|
|
lsls r0, 1
|
|
adds r0, r2
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121274 @ =gPlayerParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_0812126C: .4byte gUnknown_02024A6A
|
|
_08121270: .4byte gLinkPlayers
|
|
_08121274: .4byte gPlayerParty
|
|
_08121278:
|
|
ldr r2, _0812129C @ =gUnknown_02024A6A
|
|
ldr r1, _081212A0 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x3
|
|
eors r0, r1
|
|
lsls r0, 1
|
|
adds r0, r2
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081212A4 @ =gEnemyParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_0812129C: .4byte gUnknown_02024A6A
|
|
_081212A0: .4byte gLinkPlayers
|
|
_081212A4: .4byte gEnemyParty
|
|
_081212A8:
|
|
ldr r4, _081212CC @ =gPlayerMonIndex
|
|
ldrb r0, [r4]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
adds r2, r4, 0
|
|
cmp r0, 0
|
|
beq _0812131C
|
|
ldr r0, _081212D0 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
ldr r4, _081212D4 @ =gUnknown_08400791
|
|
cmp r0, 0
|
|
beq _081212E6
|
|
ldr r4, _081212D8 @ =gUnknown_08400797
|
|
b _081212E6
|
|
.align 2, 0
|
|
_081212CC: .4byte gPlayerMonIndex
|
|
_081212D0: .4byte gBattleTypeFlags
|
|
_081212D4: .4byte gUnknown_08400791
|
|
_081212D8: .4byte gUnknown_08400797
|
|
_081212DC:
|
|
mov r3, r8
|
|
adds r0, r3, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
_081212E6:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _081212DC
|
|
ldrb r0, [r2]
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
bl battle_get_side_with_given_state
|
|
ldr r1, _08121314 @ =gUnknown_02024A6A
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121318 @ =gEnemyParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_08121314: .4byte gUnknown_02024A6A
|
|
_08121318: .4byte gEnemyParty
|
|
_0812131C:
|
|
ldrb r0, [r2]
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
bl battle_get_side_with_given_state
|
|
ldr r1, _08121338 @ =gUnknown_02024A6A
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08121338: .4byte gUnknown_02024A6A
|
|
_0812133C:
|
|
ldr r4, _08121370 @ =gPlayerMonIndex
|
|
ldrb r0, [r4]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0812137C
|
|
ldrb r0, [r4]
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
bl battle_get_side_with_given_state
|
|
ldr r1, _08121374 @ =gUnknown_02024A6A
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121378 @ =gPlayerParty
|
|
adds r0, r1
|
|
b _0812190E
|
|
.align 2, 0
|
|
_08121370: .4byte gPlayerMonIndex
|
|
_08121374: .4byte gUnknown_02024A6A
|
|
_08121378: .4byte gPlayerParty
|
|
_0812137C:
|
|
ldrb r0, [r4]
|
|
bl battle_get_per_side_status
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
bl battle_get_side_with_given_state
|
|
ldr r1, _081213A0 @ =gUnknown_02024A6A
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081213A4 @ =gEnemyParty
|
|
b _08121940
|
|
.align 2, 0
|
|
_081213A0: .4byte gUnknown_02024A6A
|
|
_081213A4: .4byte gEnemyParty
|
|
_081213A8:
|
|
ldr r5, _081213F4 @ =gPlayerMonIndex
|
|
ldrb r0, [r5]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0812140C
|
|
ldr r0, _081213F8 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
ldr r4, _081213FC @ =gUnknown_08400791
|
|
cmp r0, 0
|
|
beq _081213C6
|
|
ldr r4, _08121400 @ =gUnknown_08400797
|
|
_081213C6:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
ldr r3, _08121404 @ =gUnknown_02024A6A
|
|
ldr r2, _08121408 @ =gEnemyParty
|
|
mov r12, r2
|
|
adds r2, r5, 0
|
|
cmp r0, 0xFF
|
|
beq _081213E8
|
|
_081213D6:
|
|
mov r5, r8
|
|
adds r0, r5, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _081213D6
|
|
_081213E8:
|
|
ldrb r0, [r2]
|
|
lsls r0, 1
|
|
adds r0, r3
|
|
ldrh r1, [r0]
|
|
b _08121908
|
|
.align 2, 0
|
|
_081213F4: .4byte gPlayerMonIndex
|
|
_081213F8: .4byte gBattleTypeFlags
|
|
_081213FC: .4byte gUnknown_08400791
|
|
_08121400: .4byte gUnknown_08400797
|
|
_08121404: .4byte gUnknown_02024A6A
|
|
_08121408: .4byte gEnemyParty
|
|
_0812140C:
|
|
ldr r1, _08121418 @ =gUnknown_02024A6A
|
|
ldrb r0, [r5]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08121418: .4byte gUnknown_02024A6A
|
|
_0812141C:
|
|
ldr r5, _08121468 @ =gEnemyMonIndex
|
|
ldrb r0, [r5]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08121480
|
|
ldr r0, _0812146C @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
ldr r4, _08121470 @ =gUnknown_08400791
|
|
cmp r0, 0
|
|
beq _0812143A
|
|
ldr r4, _08121474 @ =gUnknown_08400797
|
|
_0812143A:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
ldr r3, _08121478 @ =gUnknown_02024A6A
|
|
ldr r2, _0812147C @ =gEnemyParty
|
|
mov r12, r2
|
|
adds r2, r5, 0
|
|
cmp r0, 0xFF
|
|
beq _0812145C
|
|
_0812144A:
|
|
mov r5, r8
|
|
adds r0, r5, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _0812144A
|
|
_0812145C:
|
|
ldrb r0, [r2]
|
|
lsls r0, 1
|
|
adds r0, r3
|
|
ldrh r1, [r0]
|
|
b _08121908
|
|
.align 2, 0
|
|
_08121468: .4byte gEnemyMonIndex
|
|
_0812146C: .4byte gBattleTypeFlags
|
|
_08121470: .4byte gUnknown_08400791
|
|
_08121474: .4byte gUnknown_08400797
|
|
_08121478: .4byte gUnknown_02024A6A
|
|
_0812147C: .4byte gEnemyParty
|
|
_08121480:
|
|
ldr r1, _0812148C @ =gUnknown_02024A6A
|
|
ldrb r0, [r5]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_0812148C: .4byte gUnknown_02024A6A
|
|
_08121490:
|
|
ldr r5, _081214DC @ =gUnknown_02024C0A
|
|
ldrb r0, [r5]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081214F4
|
|
ldr r0, _081214E0 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
ldr r4, _081214E4 @ =gUnknown_08400791
|
|
cmp r0, 0
|
|
beq _081214AE
|
|
ldr r4, _081214E8 @ =gUnknown_08400797
|
|
_081214AE:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
ldr r3, _081214EC @ =gUnknown_02024A6A
|
|
ldr r2, _081214F0 @ =gEnemyParty
|
|
mov r12, r2
|
|
adds r2, r5, 0
|
|
cmp r0, 0xFF
|
|
beq _081214D0
|
|
_081214BE:
|
|
mov r5, r8
|
|
adds r0, r5, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _081214BE
|
|
_081214D0:
|
|
ldrb r0, [r2]
|
|
lsls r0, 1
|
|
adds r0, r3
|
|
ldrh r1, [r0]
|
|
b _08121908
|
|
.align 2, 0
|
|
_081214DC: .4byte gUnknown_02024C0A
|
|
_081214E0: .4byte gBattleTypeFlags
|
|
_081214E4: .4byte gUnknown_08400791
|
|
_081214E8: .4byte gUnknown_08400797
|
|
_081214EC: .4byte gUnknown_02024A6A
|
|
_081214F0: .4byte gEnemyParty
|
|
_081214F4:
|
|
ldr r1, _08121500 @ =gUnknown_02024A6A
|
|
ldrb r0, [r5]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08121500: .4byte gUnknown_02024A6A
|
|
_08121504:
|
|
ldr r5, _08121550 @ =gUnknown_02024A60
|
|
ldrb r0, [r5]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08121568
|
|
ldr r0, _08121554 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
ldr r4, _08121558 @ =gUnknown_08400791
|
|
cmp r0, 0
|
|
beq _08121522
|
|
ldr r4, _0812155C @ =gUnknown_08400797
|
|
_08121522:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
ldr r3, _08121560 @ =gUnknown_02024A6A
|
|
ldr r2, _08121564 @ =gEnemyParty
|
|
mov r12, r2
|
|
adds r2, r5, 0
|
|
cmp r0, 0xFF
|
|
beq _08121544
|
|
_08121532:
|
|
mov r5, r8
|
|
adds r0, r5, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08121532
|
|
_08121544:
|
|
ldrb r0, [r2]
|
|
lsls r0, 1
|
|
adds r0, r3
|
|
ldrh r1, [r0]
|
|
b _08121908
|
|
.align 2, 0
|
|
_08121550: .4byte gUnknown_02024A60
|
|
_08121554: .4byte gBattleTypeFlags
|
|
_08121558: .4byte gUnknown_08400791
|
|
_0812155C: .4byte gUnknown_08400797
|
|
_08121560: .4byte gUnknown_02024A6A
|
|
_08121564: .4byte gEnemyParty
|
|
_08121568:
|
|
ldr r1, _08121574 @ =gUnknown_02024A6A
|
|
ldrb r0, [r5]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08121574: .4byte gUnknown_02024A6A
|
|
_08121578:
|
|
ldr r4, _081215CC @ =0x02000000
|
|
ldr r0, _081215D0 @ =0x00016003
|
|
adds r5, r4, r0
|
|
ldrb r0, [r5]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
adds r2, r4, 0
|
|
cmp r0, 0
|
|
beq _081215E8
|
|
ldr r0, _081215D4 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
ldr r4, _081215D8 @ =gUnknown_08400791
|
|
cmp r0, 0
|
|
beq _0812159C
|
|
ldr r4, _081215DC @ =gUnknown_08400797
|
|
_0812159C:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
ldr r3, _081215E0 @ =gUnknown_02024A6A
|
|
ldr r5, _081215E4 @ =gEnemyParty
|
|
mov r12, r5
|
|
cmp r0, 0xFF
|
|
beq _081215BC
|
|
_081215AA:
|
|
mov r5, r8
|
|
adds r0, r5, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _081215AA
|
|
_081215BC:
|
|
ldr r1, _081215D0 @ =0x00016003
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 1
|
|
adds r0, r3
|
|
ldrh r1, [r0]
|
|
b _08121908
|
|
.align 2, 0
|
|
_081215CC: .4byte 0x02000000
|
|
_081215D0: .4byte 0x00016003
|
|
_081215D4: .4byte gBattleTypeFlags
|
|
_081215D8: .4byte gUnknown_08400791
|
|
_081215DC: .4byte gUnknown_08400797
|
|
_081215E0: .4byte gUnknown_02024A6A
|
|
_081215E4: .4byte gEnemyParty
|
|
_081215E8:
|
|
ldr r1, _081215F4 @ =gUnknown_02024A6A
|
|
ldrb r0, [r5]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_081215F4: .4byte gUnknown_02024A6A
|
|
_081215F8:
|
|
ldr r0, _08121610 @ =gSelectedOrderFromParty
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2]
|
|
movs r0, 0xB1
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bls _0812161C
|
|
ldr r0, _08121614 @ =0x02000000
|
|
ldr r2, _08121618 @ =0x000160a0
|
|
adds r0, r2
|
|
b _08121634
|
|
.align 2, 0
|
|
_08121610: .4byte gSelectedOrderFromParty
|
|
_08121614: .4byte 0x02000000
|
|
_08121618: .4byte 0x000160a0
|
|
_0812161C:
|
|
ldrh r1, [r2]
|
|
b _08121652
|
|
_08121620:
|
|
ldr r0, _08121640 @ =gSelectedOrderFromParty
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2, 0x2]
|
|
movs r0, 0xB1
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bls _08121650
|
|
ldr r0, _08121644 @ =0x02000000
|
|
ldr r3, _08121648 @ =0x000160a0
|
|
adds r0, r3
|
|
_08121634:
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
ldr r1, _0812164C @ =gUnknown_08401674
|
|
adds r4, r0, r1
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08121640: .4byte gSelectedOrderFromParty
|
|
_08121644: .4byte 0x02000000
|
|
_08121648: .4byte 0x000160a0
|
|
_0812164C: .4byte gUnknown_08401674
|
|
_08121650:
|
|
ldrh r1, [r2, 0x2]
|
|
_08121652:
|
|
movs r0, 0xD
|
|
muls r1, r0
|
|
ldr r0, _0812165C @ =gMoveNames
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_0812165C: .4byte gMoveNames
|
|
_08121660:
|
|
ldr r0, _081216AC @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _081216D8
|
|
ldr r1, _081216B0 @ =gUnknown_02024C04
|
|
ldrh r0, [r1]
|
|
cmp r0, 0xAF
|
|
bne _081216D4
|
|
ldr r2, _081216B4 @ =gLinkPlayers
|
|
ldr r0, _081216B8 @ =0x02000000
|
|
ldr r5, _081216BC @ =0x000160cb
|
|
adds r0, r5
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r1, _081216C0 @ =gUnknown_02024C0B
|
|
ldrb r2, [r1]
|
|
ldrh r0, [r0, 0x18]
|
|
cmp r0, r2
|
|
bne _081216CC
|
|
lsls r1, r2, 3
|
|
subs r1, r2
|
|
lsls r1, 2
|
|
ldr r0, _081216C4 @ =gEnigmaBerries
|
|
adds r1, r0
|
|
mov r0, sp
|
|
bl StringCopy
|
|
ldr r1, _081216C8 @ =gUnknown_08400A85
|
|
mov r0, sp
|
|
bl StringAppend
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_081216AC: .4byte gBattleTypeFlags
|
|
_081216B0: .4byte gUnknown_02024C04
|
|
_081216B4: .4byte gLinkPlayers
|
|
_081216B8: .4byte 0x02000000
|
|
_081216BC: .4byte 0x000160cb
|
|
_081216C0: .4byte gUnknown_02024C0B
|
|
_081216C4: .4byte gEnigmaBerries
|
|
_081216C8: .4byte gUnknown_08400A85
|
|
_081216CC:
|
|
ldr r4, _081216D0 @ =gUnknown_08400A78
|
|
b _081219E6
|
|
.align 2, 0
|
|
_081216D0: .4byte gUnknown_08400A78
|
|
_081216D4:
|
|
ldrh r0, [r1]
|
|
b _081216DC
|
|
_081216D8:
|
|
ldr r0, _081216E8 @ =gUnknown_02024C04
|
|
ldrh r0, [r0]
|
|
_081216DC:
|
|
mov r1, sp
|
|
bl CopyItemName
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_081216E8: .4byte gUnknown_02024C04
|
|
_081216EC:
|
|
ldr r0, _081216F0 @ =byte_2024C06
|
|
b _08121734
|
|
.align 2, 0
|
|
_081216F0: .4byte byte_2024C06
|
|
_081216F4:
|
|
ldr r1, _081216FC @ =gUnknown_0203926C
|
|
ldr r0, _08121700 @ =gPlayerMonIndex
|
|
b _08121730
|
|
.align 2, 0
|
|
_081216FC: .4byte gUnknown_0203926C
|
|
_08121700: .4byte gPlayerMonIndex
|
|
_08121704:
|
|
ldr r1, _0812170C @ =gUnknown_0203926C
|
|
ldr r0, _08121710 @ =gEnemyMonIndex
|
|
b _08121730
|
|
.align 2, 0
|
|
_0812170C: .4byte gUnknown_0203926C
|
|
_08121710: .4byte gEnemyMonIndex
|
|
_08121714:
|
|
ldr r1, _08121720 @ =gUnknown_0203926C
|
|
ldr r0, _08121724 @ =0x02000000
|
|
ldr r2, _08121728 @ =0x00016003
|
|
adds r0, r2
|
|
b _08121730
|
|
.align 2, 0
|
|
_08121720: .4byte gUnknown_0203926C
|
|
_08121724: .4byte 0x02000000
|
|
_08121728: .4byte 0x00016003
|
|
_0812172C:
|
|
ldr r1, _08121740 @ =gUnknown_0203926C
|
|
ldr r0, _08121744 @ =gUnknown_02024C0A
|
|
_08121730:
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
_08121734:
|
|
ldrb r1, [r0]
|
|
movs r0, 0xD
|
|
muls r1, r0
|
|
ldr r0, _08121748 @ =gAbilityNames
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08121740: .4byte gUnknown_0203926C
|
|
_08121744: .4byte gUnknown_02024C0A
|
|
_08121748: .4byte gAbilityNames
|
|
_0812174C:
|
|
ldr r3, _08121764 @ =gTrainerBattleOpponent
|
|
ldrh r1, [r3]
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
cmp r1, r0
|
|
bne _08121768
|
|
bl GetSecretBaseTrainerNameIndex
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0xD
|
|
b _081217AE
|
|
.align 2, 0
|
|
_08121764: .4byte gTrainerBattleOpponent
|
|
_08121768:
|
|
ldr r0, _08121784 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08121788
|
|
bl get_trainer_class_name_index
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0xD
|
|
b _081217AE
|
|
.align 2, 0
|
|
_08121784: .4byte gBattleTypeFlags
|
|
_08121788:
|
|
movs r0, 0x80
|
|
lsls r0, 4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0812179E
|
|
bl sub_8135FD8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
movs r1, 0xD
|
|
b _081217AE
|
|
_0812179E:
|
|
ldr r2, _081217B8 @ =gTrainers
|
|
ldrh r1, [r3]
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r1, [r0, 0x1]
|
|
movs r0, 0xD
|
|
_081217AE:
|
|
muls r1, r0
|
|
ldr r0, _081217BC @ =gTrainerClassNames
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_081217B8: .4byte gTrainers
|
|
_081217BC: .4byte gTrainerClassNames
|
|
_081217C0:
|
|
ldr r2, _081217E4 @ =gTrainerBattleOpponent
|
|
ldrh r1, [r2]
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
cmp r1, r0
|
|
bne _081217EC
|
|
mov r0, sp
|
|
movs r1, 0xFF
|
|
movs r2, 0x8
|
|
bl memset
|
|
ldr r1, _081217E8 @ =0x02017002
|
|
mov r0, sp
|
|
movs r2, 0x7
|
|
bl memcpy
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_081217E4: .4byte gTrainerBattleOpponent
|
|
_081217E8: .4byte 0x02017002
|
|
_081217EC:
|
|
ldr r0, _08121804 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08121808
|
|
mov r0, sp
|
|
bl get_trainer_name
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08121804: .4byte gBattleTypeFlags
|
|
_08121808:
|
|
movs r0, 0x80
|
|
lsls r0, 4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0812181C
|
|
mov r0, sp
|
|
bl sub_8135FF4
|
|
mov r4, sp
|
|
b _081219E6
|
|
_0812181C:
|
|
ldrh r0, [r2]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _0812182C @ =gTrainers + 0x4
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_0812182C: .4byte gTrainers + 0x4
|
|
_08121830:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _0812183C @ =gLinkPlayers + 0x8
|
|
adds r4, r0, r1
|
|
b _081219E6
|
|
.align 2, 0
|
|
_0812183C: .4byte gLinkPlayers + 0x8
|
|
_08121840:
|
|
ldr r4, _08121850 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x2
|
|
b _08121876
|
|
.align 2, 0
|
|
_08121850: .4byte gLinkPlayers
|
|
_08121854:
|
|
ldr r4, _08121864 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x1
|
|
b _08121876
|
|
.align 2, 0
|
|
_08121864: .4byte gLinkPlayers
|
|
_08121868:
|
|
ldr r4, _08121888 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x3
|
|
_08121876:
|
|
eors r0, r1
|
|
bl sub_803FC34
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
adds r4, 0x8
|
|
adds r4, r1, r4
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08121888: .4byte gLinkPlayers
|
|
_0812188C:
|
|
ldr r0, _081218A4 @ =0x02000000
|
|
ldr r3, _081218A8 @ =0x00016003
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
bl sub_803FC34
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _081218AC @ =gLinkPlayers + 0x8
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_081218A4: .4byte 0x02000000
|
|
_081218A8: .4byte 0x00016003
|
|
_081218AC: .4byte gLinkPlayers + 0x8
|
|
_081218B0:
|
|
ldr r4, _081218B4 @ =gSaveBlock2
|
|
b _081219E6
|
|
.align 2, 0
|
|
_081218B4: .4byte gSaveBlock2
|
|
_081218B8:
|
|
bl sub_8082830
|
|
adds r4, r0, 0
|
|
b _081219E6
|
|
_081218C0:
|
|
ldr r5, _08121918 @ =0x02000000
|
|
ldr r1, _0812191C @ =0x00016003
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08121934
|
|
ldr r0, _08121920 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
ldr r4, _08121924 @ =gUnknown_08400791
|
|
cmp r0, 0
|
|
beq _081218E2
|
|
ldr r4, _08121928 @ =gUnknown_08400797
|
|
_081218E2:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
ldr r2, _0812192C @ =gEnemyParty
|
|
mov r12, r2
|
|
adds r2, r5, 0
|
|
cmp r0, 0xFF
|
|
beq _08121902
|
|
_081218F0:
|
|
mov r3, r8
|
|
adds r0, r3, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _081218F0
|
|
_08121902:
|
|
ldr r5, _08121930 @ =0x0001605e
|
|
adds r0, r2, r5
|
|
ldrb r1, [r0]
|
|
_08121908:
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
add r0, r12
|
|
_0812190E:
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
b _0812194A
|
|
.align 2, 0
|
|
_08121918: .4byte 0x02000000
|
|
_0812191C: .4byte 0x00016003
|
|
_08121920: .4byte gBattleTypeFlags
|
|
_08121924: .4byte gUnknown_08400791
|
|
_08121928: .4byte gUnknown_08400797
|
|
_0812192C: .4byte gEnemyParty
|
|
_08121930: .4byte 0x0001605e
|
|
_08121934:
|
|
ldr r1, _08121954 @ =0x0001605e
|
|
adds r0, r5, r1
|
|
ldrb r1, [r0]
|
|
_0812193A:
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121958 @ =gPlayerParty
|
|
_08121940:
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
_0812194A:
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08121954: .4byte 0x0001605e
|
|
_08121958: .4byte gPlayerParty
|
|
_0812195C:
|
|
ldr r0, _08121970 @ =0x0000084b
|
|
bl FlagGet
|
|
lsls r0, 24
|
|
ldr r4, _08121974 @ =gUnknown_084009ED
|
|
cmp r0, 0
|
|
beq _081219E6
|
|
ldr r4, _08121978 @ =gUnknown_084009F7
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08121970: .4byte 0x0000084b
|
|
_08121974: .4byte gUnknown_084009ED
|
|
_08121978: .4byte gUnknown_084009F7
|
|
_0812197C:
|
|
ldr r0, _08121980 @ =gPlayerMonIndex
|
|
b _08121986
|
|
.align 2, 0
|
|
_08121980: .4byte gPlayerMonIndex
|
|
_08121984:
|
|
ldr r0, _08121998 @ =gEnemyMonIndex
|
|
_08121986:
|
|
ldrb r0, [r0]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
ldr r4, _0812199C @ =gUnknown_084007A7
|
|
cmp r0, 0
|
|
bne _081219E6
|
|
ldr r4, _081219A0 @ =gUnknown_084007AC
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08121998: .4byte gEnemyMonIndex
|
|
_0812199C: .4byte gUnknown_084007A7
|
|
_081219A0: .4byte gUnknown_084007AC
|
|
_081219A4:
|
|
ldr r0, _081219A8 @ =gPlayerMonIndex
|
|
b _081219AE
|
|
.align 2, 0
|
|
_081219A8: .4byte gPlayerMonIndex
|
|
_081219AC:
|
|
ldr r0, _081219C0 @ =gEnemyMonIndex
|
|
_081219AE:
|
|
ldrb r0, [r0]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
ldr r4, _081219C4 @ =gUnknown_0840079C
|
|
cmp r0, 0
|
|
bne _081219E6
|
|
ldr r4, _081219C8 @ =gUnknown_084007A1
|
|
b _081219E6
|
|
.align 2, 0
|
|
_081219C0: .4byte gEnemyMonIndex
|
|
_081219C4: .4byte gUnknown_0840079C
|
|
_081219C8: .4byte gUnknown_084007A1
|
|
_081219CC:
|
|
ldr r0, _081219D0 @ =gPlayerMonIndex
|
|
b _081219D6
|
|
.align 2, 0
|
|
_081219D0: .4byte gPlayerMonIndex
|
|
_081219D4:
|
|
ldr r0, _08121A24 @ =gEnemyMonIndex
|
|
_081219D6:
|
|
ldrb r0, [r0]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
ldr r4, _08121A28 @ =gUnknown_084007B2
|
|
cmp r0, 0
|
|
bne _081219E6
|
|
ldr r4, _08121A2C @ =gUnknown_084007B7
|
|
_081219E6:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
mov r3, r9
|
|
ldrb r2, [r3]
|
|
adds r3, 0x1
|
|
cmp r0, 0xFF
|
|
beq _08121A06
|
|
_081219F4:
|
|
mov r5, r8
|
|
adds r0, r5, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _081219F4
|
|
_08121A06:
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x21
|
|
bne _08121A3C
|
|
mov r0, r8
|
|
adds r1, r0, r6
|
|
movs r0, 0xFC
|
|
strb r0, [r1]
|
|
adds r6, 0x1
|
|
mov r2, r8
|
|
adds r1, r2, r6
|
|
movs r0, 0x9
|
|
strb r0, [r1]
|
|
adds r6, 0x1
|
|
b _08121A3C
|
|
.align 2, 0
|
|
_08121A24: .4byte gEnemyMonIndex
|
|
_08121A28: .4byte gUnknown_084007B2
|
|
_08121A2C: .4byte gUnknown_084007B7
|
|
_08121A30:
|
|
mov r3, r8
|
|
adds r0, r3, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
mov r3, r9
|
|
adds r3, 0x1
|
|
_08121A3C:
|
|
mov r9, r3
|
|
ldrb r1, [r3]
|
|
_08121A40:
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
beq _08121A4A
|
|
bl _0812101E
|
|
_08121A4A:
|
|
mov r5, r8
|
|
adds r1, r5, r6
|
|
mov r2, r9
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r6, 0x1
|
|
adds r0, r6, 0
|
|
add sp, 0xC
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8120FFC
|
|
|
|
thumb_func_start sub_8121A68
|
|
sub_8121A68: @ 8121A68
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0xC
|
|
adds r7, r0, 0
|
|
adds r6, r1, 0
|
|
movs r5, 0x1
|
|
movs r0, 0
|
|
mov r8, r0
|
|
movs r0, 0xFF
|
|
strb r0, [r6]
|
|
ldrb r0, [r7, 0x1]
|
|
cmp r0, 0xFF
|
|
bne _08121A86
|
|
b _08121D0E
|
|
_08121A86:
|
|
adds r0, r7, r5
|
|
ldrb r1, [r0]
|
|
adds r4, r0, 0
|
|
cmp r1, 0xA
|
|
bls _08121A92
|
|
b _08121D04
|
|
_08121A92:
|
|
lsls r0, r1, 2
|
|
ldr r1, _08121A9C @ =_08121AA0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08121A9C: .4byte _08121AA0
|
|
.align 2, 0
|
|
_08121AA0:
|
|
.4byte _08121ACC
|
|
.4byte _08121AE8
|
|
.4byte _08121B3C
|
|
.4byte _08121B54
|
|
.4byte _08121B64
|
|
.4byte _08121BDC
|
|
.4byte _08121BF0
|
|
.4byte _08121C02
|
|
.4byte _08121C48
|
|
.4byte _08121C5C
|
|
.4byte _08121C78
|
|
_08121ACC:
|
|
adds r0, r5, r7
|
|
ldrb r1, [r0, 0x1]
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
ldr r0, _08121AE4 @ =gUnknown_08400F8C
|
|
subs r1, 0xC
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
b _08121CE2
|
|
.align 2, 0
|
|
_08121AE4: .4byte gUnknown_08400F8C
|
|
_08121AE8:
|
|
ldrb r0, [r4, 0x1]
|
|
cmp r0, 0x2
|
|
beq _08121B04
|
|
cmp r0, 0x2
|
|
bgt _08121AF8
|
|
cmp r0, 0x1
|
|
beq _08121AFE
|
|
b _08121B26
|
|
_08121AF8:
|
|
cmp r0, 0x4
|
|
beq _08121B0C
|
|
b _08121B26
|
|
_08121AFE:
|
|
ldrb r4, [r4, 0x3]
|
|
mov r8, r4
|
|
b _08121B26
|
|
_08121B04:
|
|
ldrb r1, [r4, 0x3]
|
|
ldrb r0, [r4, 0x4]
|
|
lsls r0, 8
|
|
b _08121B22
|
|
_08121B0C:
|
|
ldrb r0, [r4, 0x3]
|
|
mov r8, r0
|
|
ldrb r0, [r4, 0x4]
|
|
lsls r0, 8
|
|
mov r1, r8
|
|
orrs r1, r0
|
|
ldrb r0, [r4, 0x5]
|
|
lsls r0, 16
|
|
orrs r1, r0
|
|
ldrb r0, [r4, 0x6]
|
|
lsls r0, 24
|
|
_08121B22:
|
|
orrs r1, r0
|
|
mov r8, r1
|
|
_08121B26:
|
|
adds r4, r5, r7
|
|
ldrb r3, [r4, 0x2]
|
|
adds r0, r6, 0
|
|
mov r1, r8
|
|
movs r2, 0
|
|
bl ConvertIntToDecimalStringN
|
|
adds r0, r5, 0x3
|
|
ldrb r4, [r4, 0x1]
|
|
adds r5, r0, r4
|
|
b _08121D04
|
|
_08121B3C:
|
|
adds r0, r5, r7
|
|
ldrb r1, [r0, 0x1]
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
movs r0, 0xD
|
|
muls r1, r0
|
|
ldr r0, _08121B50 @ =gMoveNames
|
|
adds r1, r0
|
|
b _08121CE2
|
|
.align 2, 0
|
|
_08121B50: .4byte gMoveNames
|
|
_08121B54:
|
|
adds r0, r5, r7
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
ldr r0, _08121B60 @ =gTypeNames
|
|
b _08121C66
|
|
.align 2, 0
|
|
_08121B60: .4byte gTypeNames
|
|
_08121B64:
|
|
ldrb r0, [r4, 0x1]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08121B88
|
|
ldrb r1, [r4, 0x2]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121B84 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
b _08121BC4
|
|
.align 2, 0
|
|
_08121B84: .4byte gPlayerParty
|
|
_08121B88:
|
|
ldr r0, _08121BA0 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08121BA8
|
|
ldr r1, _08121BA4 @ =gUnknown_08400797
|
|
adds r0, r6, 0
|
|
bl StringAppend
|
|
b _08121BB0
|
|
.align 2, 0
|
|
_08121BA0: .4byte gBattleTypeFlags
|
|
_08121BA4: .4byte gUnknown_08400797
|
|
_08121BA8:
|
|
ldr r1, _08121BD4 @ =gUnknown_08400791
|
|
adds r0, r6, 0
|
|
bl StringAppend
|
|
_08121BB0:
|
|
adds r0, r5, r7
|
|
ldrb r1, [r0, 0x2]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121BD8 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
_08121BC4:
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
adds r0, r6, 0
|
|
mov r1, sp
|
|
bl StringAppend
|
|
b _08121D02
|
|
.align 2, 0
|
|
_08121BD4: .4byte gUnknown_08400791
|
|
_08121BD8: .4byte gEnemyParty
|
|
_08121BDC:
|
|
ldr r1, _08121BEC @ =gUnknown_08400F58
|
|
adds r0, r5, r7
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
b _08121C68
|
|
.align 2, 0
|
|
_08121BEC: .4byte gUnknown_08400F58
|
|
_08121BF0:
|
|
adds r0, r5, r7
|
|
ldrb r1, [r0, 0x1]
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 8
|
|
orrs r1, r0
|
|
adds r0, r6, 0
|
|
bl GetSpeciesName
|
|
b _08121D02
|
|
_08121C02:
|
|
adds r4, r5, r7
|
|
ldrb r0, [r4, 0x1]
|
|
bl battle_side_get_owner
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08121C28
|
|
ldrb r1, [r4, 0x2]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121C24 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
adds r2, r6, 0
|
|
bl GetMonData
|
|
b _08121C3A
|
|
.align 2, 0
|
|
_08121C24: .4byte gPlayerParty
|
|
_08121C28:
|
|
ldrb r1, [r4, 0x2]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08121C44 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
adds r2, r6, 0
|
|
bl GetMonData
|
|
_08121C3A:
|
|
adds r0, r6, 0
|
|
bl StringGetEnd10
|
|
b _08121D02
|
|
.align 2, 0
|
|
_08121C44: .4byte gEnemyParty
|
|
_08121C48:
|
|
ldr r1, _08121C58 @ =gUnknown_08400F78
|
|
adds r0, r5, r7
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
b _08121C68
|
|
.align 2, 0
|
|
_08121C58: .4byte gUnknown_08400F78
|
|
_08121C5C:
|
|
adds r0, r5, r7
|
|
ldrb r1, [r0, 0x1]
|
|
movs r0, 0xD
|
|
muls r1, r0
|
|
ldr r0, _08121C74 @ =gAbilityNames
|
|
_08121C66:
|
|
adds r1, r0
|
|
_08121C68:
|
|
adds r0, r6, 0
|
|
bl StringAppend
|
|
adds r5, 0x2
|
|
b _08121D04
|
|
.align 2, 0
|
|
_08121C74: .4byte gAbilityNames
|
|
_08121C78:
|
|
adds r0, r5, r7
|
|
ldrb r2, [r0, 0x1]
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 8
|
|
orrs r2, r0
|
|
ldr r0, _08121CC4 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08121CFA
|
|
cmp r2, 0xAF
|
|
bne _08121CF0
|
|
ldr r2, _08121CC8 @ =gLinkPlayers
|
|
ldr r0, _08121CCC @ =0x02000000
|
|
ldr r1, _08121CD0 @ =0x000160cb
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r1, _08121CD4 @ =gUnknown_02024C0B
|
|
ldrb r2, [r1]
|
|
ldrh r0, [r0, 0x18]
|
|
cmp r0, r2
|
|
bne _08121CE0
|
|
lsls r1, r2, 3
|
|
subs r1, r2
|
|
lsls r1, 2
|
|
ldr r0, _08121CD8 @ =gEnigmaBerries
|
|
adds r1, r0
|
|
adds r0, r6, 0
|
|
bl StringCopy
|
|
ldr r1, _08121CDC @ =gUnknown_08400A85
|
|
b _08121CE2
|
|
.align 2, 0
|
|
_08121CC4: .4byte gBattleTypeFlags
|
|
_08121CC8: .4byte gLinkPlayers
|
|
_08121CCC: .4byte 0x02000000
|
|
_08121CD0: .4byte 0x000160cb
|
|
_08121CD4: .4byte gUnknown_02024C0B
|
|
_08121CD8: .4byte gEnigmaBerries
|
|
_08121CDC: .4byte gUnknown_08400A85
|
|
_08121CE0:
|
|
ldr r1, _08121CEC @ =gUnknown_08400A78
|
|
_08121CE2:
|
|
adds r0, r6, 0
|
|
bl StringAppend
|
|
b _08121D02
|
|
.align 2, 0
|
|
_08121CEC: .4byte gUnknown_08400A78
|
|
_08121CF0:
|
|
adds r0, r2, 0
|
|
adds r1, r6, 0
|
|
bl CopyItemName
|
|
b _08121D02
|
|
_08121CFA:
|
|
adds r0, r2, 0
|
|
adds r1, r6, 0
|
|
bl CopyItemName
|
|
_08121D02:
|
|
adds r5, 0x3
|
|
_08121D04:
|
|
adds r0, r7, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xFF
|
|
beq _08121D0E
|
|
b _08121A86
|
|
_08121D0E:
|
|
add sp, 0xC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8121A68
|
|
|
|
thumb_func_start sub_8121D1C
|
|
sub_8121D1C: @ 8121D1C
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
movs r2, 0
|
|
ldr r5, _08121D50 @ =gSelectedOrderFromParty
|
|
ldr r3, _08121D54 @ =gUnknown_084016BC
|
|
_08121D26:
|
|
cmp r2, 0x4
|
|
beq _08121D3C
|
|
ldrh r1, [r3]
|
|
cmp r1, 0
|
|
bne _08121D32
|
|
adds r2, 0x1
|
|
_08121D32:
|
|
ldr r0, [r5]
|
|
adds r3, 0x2
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
bne _08121D26
|
|
_08121D3C:
|
|
cmp r2, 0
|
|
blt _08121D68
|
|
cmp r2, 0x2
|
|
bgt _08121D5C
|
|
ldr r1, _08121D58 @ =gUnknown_08400E5E
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
b _08121D68
|
|
.align 2, 0
|
|
_08121D50: .4byte gSelectedOrderFromParty
|
|
_08121D54: .4byte gUnknown_084016BC
|
|
_08121D58: .4byte gUnknown_08400E5E
|
|
_08121D5C:
|
|
cmp r2, 0x4
|
|
bgt _08121D68
|
|
ldr r1, _08121D70 @ =gUnknown_08400E62
|
|
adds r0, r4, 0
|
|
bl StringCopy
|
|
_08121D68:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121D70: .4byte gUnknown_08400E62
|
|
thumb_func_end sub_8121D1C
|
|
|
|
thumb_func_start sub_8121D74
|
|
sub_8121D74: @ 8121D74
|
|
push {r4,r5,lr}
|
|
adds r3, r0, 0
|
|
movs r4, 0
|
|
b _08121D7E
|
|
_08121D7C:
|
|
adds r3, 0x1
|
|
_08121D7E:
|
|
ldrb r0, [r3]
|
|
cmp r0, 0xFF
|
|
bne _08121D7C
|
|
ldr r1, _08121DB4 @ =gUnknown_084016BC
|
|
ldr r5, _08121DB8 @ =gSelectedOrderFromParty
|
|
movs r0, 0
|
|
lsls r0, 1
|
|
adds r2, r0, r1
|
|
_08121D8E:
|
|
cmp r4, 0x4
|
|
beq _08121DA8
|
|
ldrh r1, [r2]
|
|
cmp r1, 0
|
|
bne _08121D9A
|
|
adds r4, 0x1
|
|
_08121D9A:
|
|
ldr r0, [r5]
|
|
adds r2, 0x2
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
bne _08121D8E
|
|
cmp r4, 0x4
|
|
bhi _08121E04
|
|
_08121DA8:
|
|
lsls r0, r4, 2
|
|
ldr r1, _08121DBC @ =_08121DC0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08121DB4: .4byte gUnknown_084016BC
|
|
_08121DB8: .4byte gSelectedOrderFromParty
|
|
_08121DBC: .4byte _08121DC0
|
|
.align 2, 0
|
|
_08121DC0:
|
|
.4byte _08121DD4
|
|
.4byte _08121DDC
|
|
.4byte _08121DE4
|
|
.4byte _08121DEC
|
|
.4byte _08121DFC
|
|
_08121DD4:
|
|
ldr r1, _08121DD8 @ =gUnknown_084007C8
|
|
b _08121DEE
|
|
.align 2, 0
|
|
_08121DD8: .4byte gUnknown_084007C8
|
|
_08121DDC:
|
|
ldr r1, _08121DE0 @ =gUnknown_084007CA
|
|
b _08121DEE
|
|
.align 2, 0
|
|
_08121DE0: .4byte gUnknown_084007CA
|
|
_08121DE4:
|
|
ldr r1, _08121DE8 @ =gUnknown_084007CC
|
|
b _08121DEE
|
|
.align 2, 0
|
|
_08121DE8: .4byte gUnknown_084007CC
|
|
_08121DEC:
|
|
ldr r1, _08121DF8 @ =gUnknown_084007CE
|
|
_08121DEE:
|
|
adds r0, r3, 0
|
|
bl StringCopy
|
|
b _08121E04
|
|
.align 2, 0
|
|
_08121DF8: .4byte gUnknown_084007CE
|
|
_08121DFC:
|
|
ldr r1, _08121E0C @ =gUnknown_084007D0
|
|
adds r0, r3, 0
|
|
bl StringCopy
|
|
_08121E04:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08121E0C: .4byte gUnknown_084007D0
|
|
thumb_func_end sub_8121D74
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|