mirror of
https://github.com/pret/pokeruby.git
synced 2024-12-13 07:35:42 +00:00
2343 lines
43 KiB
ArmAsm
2343 lines
43 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start BufferStringBattle
|
|
BufferStringBattle: @ 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 @ =gActiveBank
|
|
ldrb r1, [r4]
|
|
lsls r1, 9
|
|
ldr r0, _08120B78 @ =gUnknown_02023A64
|
|
adds r1, r0
|
|
str r1, [r5]
|
|
ldr r2, _08120B7C @ =gLastUsedItem
|
|
ldrh r0, [r1, 0x4]
|
|
strh r0, [r2]
|
|
ldr r2, _08120B80 @ =gLastUsedAbility
|
|
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 @ =gStringBank
|
|
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 @ =gBattleTextBuff1
|
|
mov r10, r3
|
|
ldr r3, _08120BA0 @ =gAbilitiesPerBank
|
|
_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 @ =gBattleTextBuff1
|
|
mov r8, r0
|
|
ldr r3, _08120B70 @ =gSelectedOrderFromParty
|
|
ldr r1, _08120BA4 @ =gBattleTextBuff2
|
|
mov r12, r1
|
|
ldr r5, _08120BA8 @ =gBattleTextBuff3
|
|
_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 gActiveBank
|
|
_08120B78: .4byte gUnknown_02023A64
|
|
_08120B7C: .4byte gLastUsedItem
|
|
_08120B80: .4byte gLastUsedAbility
|
|
_08120B84: .4byte 0x02000000
|
|
_08120B88: .4byte 0x00016003
|
|
_08120B8C: .4byte 0x0001605e
|
|
_08120B90: .4byte 0x000160c1
|
|
_08120B94: .4byte gStringBank
|
|
_08120B98: .4byte 0x000160a0
|
|
_08120B9C: .4byte gBattleTextBuff1
|
|
_08120BA0: .4byte gAbilitiesPerBank
|
|
_08120BA4: .4byte gBattleTextBuff2
|
|
_08120BA8: .4byte gBattleTextBuff3
|
|
_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
|
|
ldr r0, _08120C04 @ =0x0000ffff
|
|
b _08120F9A
|
|
.align 2, 0
|
|
_08120BFC: .4byte gUnknown_084005AA
|
|
_08120C04: .4byte 0x0000ffff
|
|
_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 GetBankSide
|
|
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, _08120CB8d @ =gUnknown_08400645
|
|
cmp r0, 0
|
|
beq _08120CA8
|
|
b _08120F70
|
|
_08120CA8:
|
|
ldr r6, _08120CBCd @ =gUnknown_08400608
|
|
ldr r0, _08120CC0d @ =0x0000ffff
|
|
b _08120F9A
|
|
.align 2, 0
|
|
_08120CB8d: .4byte gUnknown_08400645
|
|
_08120CBCd: .4byte gUnknown_08400608
|
|
_08120CC0d: .4byte 0x0000ffff
|
|
_08120CB4:
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
ldr r6, _08120CD8 @ =gUnknown_08400635
|
|
cmp r0, 0
|
|
beq _08120CC0
|
|
b _08120F70
|
|
_08120CC0:
|
|
ldr r6, _08120CDC @ =gUnknown_084005F5
|
|
ldr r0, _08120CE0 @ =0x0000ffff
|
|
b _08120F9A
|
|
.align 2, 0
|
|
_08120CD8: .4byte gUnknown_08400635
|
|
_08120CDC: .4byte gUnknown_084005F5
|
|
_08120CE0: .4byte 0x0000ffff
|
|
_08120CCC:
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
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
|
|
ldr r0, _d08120D78 @ =0x0000ffff
|
|
b _08120F9A
|
|
.align 2, 0
|
|
_08120D58: .4byte gUnknown_0840075E
|
|
_d08120D78: .4byte 0x0000ffff
|
|
_08120D5C:
|
|
ldr r0, _08120D88 @ =0x00016003
|
|
add r0, r9
|
|
ldrb r0, [r0]
|
|
bl GetBankSide
|
|
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
|
|
ldr r0, _d08120E0C @ =0x0000ffff
|
|
b _08120F9A
|
|
.align 2, 0
|
|
_08120DE4: .4byte gUnknown_08400622
|
|
_d08120E0C: .4byte 0x0000ffff
|
|
_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 @ =gBattleTextBuff2
|
|
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 gBattleTextBuff2
|
|
_08120E1C: .4byte gUnknown_08401674
|
|
_08120E20: .4byte 0x02000000
|
|
_08120E24: .4byte 0x000160a0
|
|
_08120E28:
|
|
ldr r0, _08120E44 @ =gBattleTextBuff2
|
|
ldrh r2, [r2]
|
|
movs r1, 0xD
|
|
muls r1, r2
|
|
ldr r2, _08120E48 @ =gMoveNames
|
|
adds r1, r2
|
|
bl StringCopy
|
|
_08120E38:
|
|
ldr r0, _08120E44 @ =gBattleTextBuff2
|
|
bl sub_8121D74
|
|
ldr r6, _08120E4C @ =gUnknown_084007BD
|
|
b _08120F70
|
|
.align 2, 0
|
|
_08120E44: .4byte gBattleTextBuff2
|
|
_08120E48: .4byte gMoveNames
|
|
_08120E4C: .4byte gUnknown_084007BD
|
|
_08120E50:
|
|
ldr r5, _08120E90 @ =gBattleTextBuff1
|
|
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 GetBankSide
|
|
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 @ =gBattleTextBuff1
|
|
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 gBattleTextBuff1
|
|
_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 GetBankSide
|
|
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 @ =gBattleTextBuff1
|
|
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 gBattleTextBuff1
|
|
_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 @ =gBattleTextBuff1
|
|
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 gBattleTextBuff1
|
|
_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 @ =gDisplayedStringBattle
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
b _08120F76
|
|
.align 2, 0
|
|
_08120F60: .4byte gDisplayedStringBattle
|
|
_08120F64:
|
|
ldr r1, _08120F84 @ =gBattleStringsTable
|
|
adds r0, r7, 0
|
|
subs r0, 0xC
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r6, [r0]
|
|
adds r0, r7, 0
|
|
_08120F9A:
|
|
adds r1, r6, 0
|
|
bl de_sub_804110C
|
|
adds r6, r0, 0
|
|
_08120F70:
|
|
adds r0, r6, 0
|
|
bl StrCpyDecodeToDisplayedStringBattle
|
|
_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 gBattleStringsTable
|
|
thumb_func_end BufferStringBattle
|
|
|
|
thumb_func_start StrCpyDecodeToDisplayedStringBattle
|
|
StrCpyDecodeToDisplayedStringBattle: @ 8120F88
|
|
push {lr}
|
|
ldr r1, _08120F94 @ =gDisplayedStringBattle
|
|
bl StrCpyDecodeBattle
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08120F94: .4byte gDisplayedStringBattle
|
|
thumb_func_end StrCpyDecodeToDisplayedStringBattle
|
|
|
|
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 StrCpyDecodeBattle
|
|
StrCpyDecodeBattle: @ 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 @ =gBattleTextBuff1
|
|
ldrb r0, [r5]
|
|
cmp r0, 0xFD
|
|
bne _08121108
|
|
ldr r4, _08121104 @ =gStringVar1
|
|
adds r0, r5, 0
|
|
b _08121140
|
|
.align 2, 0
|
|
_08121100: .4byte gBattleTextBuff1
|
|
_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 @ =gBattleTextBuff2
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xFD
|
|
bne _08121154
|
|
ldr r4, _08121130 @ =gStringVar2
|
|
b _0812113E
|
|
.align 2, 0
|
|
_0812112C: .4byte gBattleTextBuff2
|
|
_08121130: .4byte gStringVar2
|
|
_08121134:
|
|
ldr r1, _0812114C @ =gBattleTextBuff3
|
|
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 gBattleTextBuff3
|
|
_08121150: .4byte gStringVar3
|
|
_08121154:
|
|
adds r4, r1, 0
|
|
bl _081219E6
|
|
_0812115A:
|
|
movs r0, 0
|
|
bl GetBankByPlayerAI
|
|
ldr r1, _08de12116C @ =gBattlePartyID
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08de12116C: .4byte gBattlePartyID
|
|
_08121180:
|
|
movs r0, 0x1
|
|
bl GetBankByPlayerAI
|
|
ldr r1, _0812119C @ =gBattlePartyID
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081211A0 @ =gEnemyParty
|
|
b _08121940
|
|
.align 2, 0
|
|
_0812119C: .4byte gBattlePartyID
|
|
_081211A0: .4byte gEnemyParty
|
|
_081211A4:
|
|
movs r0, 0x2
|
|
bl GetBankByPlayerAI
|
|
ldr r1, _081211C0 @ =gBattlePartyID
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_081211C0: .4byte gBattlePartyID
|
|
_081211C8:
|
|
movs r0, 0x3
|
|
bl GetBankByPlayerAI
|
|
ldr r1, _081211E4 @ =gBattlePartyID
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _081211E8 @ =gEnemyParty
|
|
b _08121940
|
|
.align 2, 0
|
|
_081211E4: .4byte gBattlePartyID
|
|
_081211E8: .4byte gEnemyParty
|
|
_081211EC:
|
|
ldr r2, _0812120C @ =gBattlePartyID
|
|
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]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_0812120C: .4byte gBattlePartyID
|
|
_08121210: .4byte gLinkPlayers
|
|
_08121218:
|
|
ldr r2, _0812123C @ =gBattlePartyID
|
|
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
|
|
b _08121940
|
|
.align 2, 0
|
|
_0812123C: .4byte gBattlePartyID
|
|
_08121240: .4byte gLinkPlayers
|
|
_08121244: .4byte gEnemyParty
|
|
_08121248:
|
|
ldr r2, _0812126C @ =gBattlePartyID
|
|
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]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_0812126C: .4byte gBattlePartyID
|
|
_08121270: .4byte gLinkPlayers
|
|
_08121278:
|
|
ldr r2, _0812129C @ =gBattlePartyID
|
|
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
|
|
b _08121940
|
|
.align 2, 0
|
|
_0812129C: .4byte gBattlePartyID
|
|
_081212A0: .4byte gLinkPlayers
|
|
_081212A4: .4byte gEnemyParty
|
|
_081212A8:
|
|
ldr r4, _081212CC @ =gBankAttacker
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081212E6
|
|
ldrb r0, [r4]
|
|
bl GetBankIdentity
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
bl GetBankByPlayerAI
|
|
ldr r1, _08121314 @ =gBattlePartyID
|
|
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
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
mov r4, sp
|
|
b _08de1212BE
|
|
.align 2, 0
|
|
_081212CC: .4byte gBankAttacker
|
|
_08121314: .4byte gBattlePartyID
|
|
_08121318: .4byte gEnemyParty
|
|
_08de1212B4:
|
|
mov r3, r8
|
|
adds r0, r3, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
_08de1212BE:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08de1212B4
|
|
b _08de12184E
|
|
_081212E6:
|
|
ldrb r0, [r4]
|
|
bl GetBankIdentity
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
bl GetBankByPlayerAI
|
|
ldr r1, _08121338 @ =gBattlePartyID
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08121338: .4byte gBattlePartyID
|
|
_0812133C:
|
|
ldr r4, _08de121314 @ =gBankAttacker
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08de12131C
|
|
ldrb r0, [r4]
|
|
bl GetBankIdentity
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
bl GetBankByPlayerAI
|
|
ldr r1, _08de121318 @ =gBattlePartyID
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08de121314: .4byte gBankAttacker
|
|
_08de121318: .4byte gBattlePartyID
|
|
_08de12131C:
|
|
ldrb r0, [r4]
|
|
bl GetBankIdentity
|
|
adds r1, r0, 0
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
bl GetBankByPlayerAI
|
|
ldr r1, _08de12134C @ =gBattlePartyID
|
|
lsls r0, 24
|
|
lsrs r0, 23
|
|
adds r0, 0x4
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08de121350 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
b _0812194A
|
|
.align 2, 0
|
|
_08de12134C: .4byte gBattlePartyID
|
|
_08de121350: .4byte gEnemyParty
|
|
_081213A8:
|
|
ldr r4, _08de121388 @ =gBankAttacker
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08de1213A8
|
|
ldr r1, _08de12138C @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08de121390 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
mov r4, sp
|
|
b _08de12139E
|
|
.align 2, 0
|
|
_08de121388: .4byte gBankAttacker
|
|
_08de12138C: .4byte gBattlePartyID
|
|
_08de121390: .4byte gEnemyParty
|
|
_08de121394:
|
|
mov r5, r8
|
|
adds r0, r5, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
_08de12139E:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08de121394
|
|
b _08de12184E
|
|
_08de1213A8:
|
|
ldr r1, _08de1213B4 @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08de1213B4: .4byte gBattlePartyID
|
|
_0812141C:
|
|
ldr r4, _08de1213EC @ =gBankTarget
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08de12140C
|
|
ldr r1, _08de1213F0 @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08de1213F4 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
mov r4, sp
|
|
b _08de121402
|
|
.align 2, 0
|
|
_08de1213EC: .4byte gBankTarget
|
|
_08de1213F0: .4byte gBattlePartyID
|
|
_08de1213F4: .4byte gEnemyParty
|
|
_08de1213F8:
|
|
mov r2, r8
|
|
adds r0, r2, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
_08de121402:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08de1213F8
|
|
b _08de12184E
|
|
_08de12140C:
|
|
ldr r1, _08de121418 @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08de121418: .4byte gBattlePartyID
|
|
_08121490:
|
|
ldr r4, _08de121450 @ =gEffectBank
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08de121470
|
|
ldr r1, _08de121454 @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08de121458 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
mov r4, sp
|
|
b _08de121466
|
|
.align 2, 0
|
|
_08de121450: .4byte gEffectBank
|
|
_08de121454: .4byte gBattlePartyID
|
|
_08de121458: .4byte gEnemyParty
|
|
_08de12145C:
|
|
mov r3, r8
|
|
adds r0, r3, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
_08de121466:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08de12145C
|
|
b _08de12184E
|
|
_08de121470:
|
|
ldr r1, _08de12147C @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08de12147C: .4byte gBattlePartyID
|
|
_08121504:
|
|
ldr r4, _08de1214B4 @ =gActiveBank
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08de1214D4
|
|
ldr r1, _08de1214B8 @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08de1214BC @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
mov r4, sp
|
|
b _08de1214CA
|
|
.align 2, 0
|
|
_08de1214B4: .4byte gActiveBank
|
|
_08de1214B8: .4byte gBattlePartyID
|
|
_08de1214BC: .4byte gEnemyParty
|
|
_08de1214C0:
|
|
mov r5, r8
|
|
adds r0, r5, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
_08de1214CA:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08de1214C0
|
|
b _08de12184E
|
|
_08de1214D4:
|
|
ldr r1, _08de1214E0 @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_08de1214E0: .4byte gBattlePartyID
|
|
_08121578:
|
|
ldr r0, _08de12151C @ =0x02000000
|
|
ldr r1, _08de121520 @ =0x00016003
|
|
adds r4, r0, r1
|
|
ldrb r0, [r4]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081215E8
|
|
ldr r1, _08de121524 @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08de121528 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
mov r4, sp
|
|
b _08de121536
|
|
.align 2, 0
|
|
_08de12151C: .4byte 0x02000000
|
|
_08de121520: .4byte 0x00016003
|
|
_08de121524: .4byte gBattlePartyID
|
|
_08de121528: .4byte gEnemyParty
|
|
_08de12152C:
|
|
mov r2, r8
|
|
adds r0, r2, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
_08de121536:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08de12152C
|
|
b _08de12184E
|
|
_081215E8:
|
|
ldr r1, _081215F4 @ =gBattlePartyID
|
|
ldrb r0, [r4]
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
ldrh r1, [r0]
|
|
b _0812193A
|
|
.align 2, 0
|
|
_081215F4: .4byte gBattlePartyID
|
|
_081215F8:
|
|
ldr r0, _08de121568 @ =gSelectedOrderFromParty
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2]
|
|
movs r0, 0xB1
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bls _08de121574
|
|
ldr r0, _08de12156C @ =0x02000000
|
|
ldr r3, _08de121570 @ =0x000160a0
|
|
adds r0, r3
|
|
b _08de12158C
|
|
.align 2, 0
|
|
_08de121568: .4byte gSelectedOrderFromParty
|
|
_08de12156C: .4byte 0x02000000
|
|
_08de121570: .4byte 0x000160a0
|
|
_08de121574:
|
|
ldrh r1, [r2]
|
|
b _08de1215AA
|
|
_08121620:
|
|
ldr r0, _08de121598 @ =gSelectedOrderFromParty
|
|
ldr r2, [r0]
|
|
ldrh r1, [r2, 0x2]
|
|
movs r0, 0xB1
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bls _08de1215A8
|
|
ldr r0, _08de12159C @ =0x02000000
|
|
ldr r5, _08de1215A0 @ =0x000160a0
|
|
adds r0, r5
|
|
_08de12158C:
|
|
ldrb r0, [r0]
|
|
lsls r0, 2
|
|
ldr r1, _08de1215A4 @ =gUnknown_08401674
|
|
adds r4, r0, r1
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de121598: .4byte gSelectedOrderFromParty
|
|
_08de12159C: .4byte 0x02000000
|
|
_08de1215A0: .4byte 0x000160a0
|
|
_08de1215A4: .4byte gUnknown_08401674
|
|
_08de1215A8:
|
|
ldrh r1, [r2, 0x2]
|
|
_08de1215AA:
|
|
movs r0, 0xD
|
|
muls r1, r0
|
|
ldr r0, _08de1215B4 @ =gMoveNames
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de1215B4: .4byte gMoveNames
|
|
_08121660:
|
|
ldr r0, _08de121604 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08de121630
|
|
ldr r1, _08de121608 @ =gLastUsedItem
|
|
ldrh r0, [r1]
|
|
cmp r0, 0xAF
|
|
bne _08de12162C
|
|
ldr r2, _08de12160C @ =gLinkPlayers
|
|
ldr r0, _08de121610 @ =0x02000000
|
|
ldr r1, _08de121614 @ =0x000160cb
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 3
|
|
subs r0, r1
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
ldr r1, _08de121618 @ =gStringBank
|
|
ldrb r2, [r1]
|
|
ldrh r0, [r0, 0x18]
|
|
cmp r0, r2
|
|
bne _08de121624
|
|
lsls r1, r2, 3
|
|
subs r1, r2
|
|
lsls r1, 2
|
|
ldr r0, _08de12161C @ =gEnigmaBerries
|
|
adds r1, r0
|
|
mov r0, sp
|
|
bl StringCopy
|
|
ldr r1, _08de121620 @ =gUnknown_08400A85
|
|
mov r0, sp
|
|
bl de_sub_8073174
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de121604: .4byte gBattleTypeFlags
|
|
_08de121608: .4byte gLastUsedItem
|
|
_08de12160C: .4byte gLinkPlayers
|
|
_08de121610: .4byte 0x02000000
|
|
_08de121614: .4byte 0x000160cb
|
|
_08de121618: .4byte gStringBank
|
|
_08de12161C: .4byte gEnigmaBerries
|
|
_08de121620: .4byte gUnknown_08400A85
|
|
_08de121624:
|
|
ldr r4, _08de121628 @ =gUnknown_08400A78
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de121628: .4byte gUnknown_08400A78
|
|
_08de12162C:
|
|
ldrh r0, [r1]
|
|
b _08de121634
|
|
_08de121630:
|
|
ldr r0, _08de121640 @ =gLastUsedItem
|
|
ldrh r0, [r0]
|
|
_08de121634:
|
|
mov r1, sp
|
|
bl CopyItemName
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de121640: .4byte gLastUsedItem
|
|
_081216EC:
|
|
ldr r0, _08de121648 @ =gLastUsedAbility
|
|
b _08de12168C
|
|
.align 2, 0
|
|
_08de121648: .4byte gLastUsedAbility
|
|
_081216F4:
|
|
ldr r1, _08de121654 @ =gAbilitiesPerBank
|
|
ldr r0, _08de121658 @ =gBankAttacker
|
|
b _08de121688
|
|
.align 2, 0
|
|
_08de121654: .4byte gAbilitiesPerBank
|
|
_08de121658: .4byte gBankAttacker
|
|
_08121704:
|
|
ldr r1, _08de121664 @ =gAbilitiesPerBank
|
|
ldr r0, _08de121668 @ =gBankTarget
|
|
b _08de121688
|
|
.align 2, 0
|
|
_08de121664: .4byte gAbilitiesPerBank
|
|
_08de121668: .4byte gBankTarget
|
|
_08121714:
|
|
ldr r1, _08de121678 @ =gAbilitiesPerBank
|
|
ldr r0, _08de12167C @ =0x02000000
|
|
ldr r2, _08de121680 @ =0x00016003
|
|
adds r0, r2
|
|
b _08de121688
|
|
.align 2, 0
|
|
_08de121678: .4byte gAbilitiesPerBank
|
|
_08de12167C: .4byte 0x02000000
|
|
_08de121680: .4byte 0x00016003
|
|
_0812172C:
|
|
ldr r1, _08de121698 @ =gAbilitiesPerBank
|
|
ldr r0, _08de12169C @ =gEffectBank
|
|
_08de121688:
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
_08de12168C:
|
|
ldrb r1, [r0]
|
|
movs r0, 0xD
|
|
muls r1, r0
|
|
ldr r0, _08de1216A0 @ =gAbilityNames
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de121698: .4byte gAbilitiesPerBank
|
|
_08de12169C: .4byte gEffectBank
|
|
_08de1216A0: .4byte gAbilityNames
|
|
_0812174C:
|
|
ldr r3, _08de1216B8 @ =gTrainerBattleOpponent
|
|
ldrh r1, [r3]
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
cmp r1, r0
|
|
bne _08de1216BC
|
|
adds r0, r1, 0
|
|
movs r1, 0
|
|
b _08de1216EE
|
|
.align 2, 0
|
|
_08de1216B8: .4byte gTrainerBattleOpponent
|
|
_08de1216BC:
|
|
ldr r0, _08de1216D4 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08de1216D8
|
|
adds r0, r2, 0
|
|
movs r1, 0
|
|
b _08de1216EE
|
|
.align 2, 0
|
|
_08de1216D4: .4byte gBattleTypeFlags
|
|
_08de1216D8:
|
|
movs r2, 0x80
|
|
lsls r2, 4
|
|
adds r0, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08de1216EA
|
|
adds r0, r2, 0
|
|
movs r1, 0
|
|
b _08de1216EE
|
|
_08de1216EA:
|
|
ldrh r1, [r3]
|
|
movs r0, 0
|
|
_08de1216EE:
|
|
bl de_sub_8041024
|
|
adds r4, r0, 0
|
|
b _081219E6
|
|
_081217C0:
|
|
ldr r2, _08de12171C @ =gTrainerBattleOpponent
|
|
ldrh r1, [r2]
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
cmp r1, r0
|
|
bne _08de121724
|
|
mov r0, sp
|
|
movs r1, 0xFF
|
|
movs r2, 0x8
|
|
bl memset
|
|
ldr r1, _08de121720 @ =0x02017002
|
|
mov r0, sp
|
|
movs r2, 0x7
|
|
bl memcpy
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de12171C: .4byte gTrainerBattleOpponent
|
|
_08de121720: .4byte 0x02017002
|
|
_08de121724:
|
|
ldr r0, _08de12173C @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08de121740
|
|
mov r0, sp
|
|
bl get_trainer_name
|
|
mov r4, sp
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de12173C: .4byte gBattleTypeFlags
|
|
_08de121740:
|
|
movs r0, 0x80
|
|
lsls r0, 4
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08de121754
|
|
mov r0, sp
|
|
bl sub_8135FF4
|
|
mov r4, sp
|
|
b _081219E6
|
|
_08de121754:
|
|
ldrh r0, [r2]
|
|
lsls r1, r0, 2
|
|
adds r1, r0
|
|
lsls r1, 3
|
|
ldr r0, _08de121764 @ =gTrainers+4
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de121764: .4byte gTrainers+4
|
|
_08121830:
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
ldr r1, _08de121774 @ =0x03002988
|
|
adds r4, r0, r1
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de121774: .4byte 0x03002988
|
|
_08121840:
|
|
ldr r4, _08de121788 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x2
|
|
b _08de1217AE
|
|
.align 2, 0
|
|
_08de121788: .4byte gLinkPlayers
|
|
_08121854:
|
|
ldr r4, _08de12179C @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x1
|
|
b _08de1217AE
|
|
.align 2, 0
|
|
_08de12179C: .4byte gLinkPlayers
|
|
_08121868:
|
|
ldr r4, _08de1217C0 @ =gLinkPlayers
|
|
lsls r0, r7, 3
|
|
subs r0, r7
|
|
lsls r0, 2
|
|
adds r0, r4
|
|
ldrh r1, [r0, 0x18]
|
|
movs r0, 0x3
|
|
_08de1217AE:
|
|
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
|
|
_08de1217C0: .4byte gLinkPlayers
|
|
_0812188C:
|
|
ldr r0, _08de1217DC @ =0x02000000
|
|
ldr r3, _08de1217E0 @ =0x00016003
|
|
adds r0, r3
|
|
ldrb r0, [r0]
|
|
bl sub_803FC34
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
lsls r1, 2
|
|
ldr r0, _08de1217E4 @ =0x03002988
|
|
adds r4, r1, r0
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de1217DC: .4byte 0x02000000
|
|
_08de1217E0: .4byte 0x00016003
|
|
_08de1217E4: .4byte 0x03002988
|
|
_081218B0:
|
|
ldr r4, _08de1217EC @ =gSaveBlock2
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08de1217EC: .4byte gSaveBlock2
|
|
_081218B8:
|
|
bl sub_8082830
|
|
adds r4, r0, 0
|
|
b _081219E6
|
|
_081218C0:
|
|
ldr r4, _08de12182C @ =0x02000000
|
|
ldr r5, _08de121830 @ =0x00016003
|
|
adds r0, r4, r5
|
|
ldrb r0, [r0]
|
|
bl GetBankSide
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08121934
|
|
ldr r1, _08de121834 @ =0x0001605e
|
|
adds r0, r4, r1
|
|
ldrb r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08de121838 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
mov r4, sp
|
|
b _08de121846
|
|
.align 2, 0
|
|
_08de12182C: .4byte 0x02000000
|
|
_08de121830: .4byte 0x00016003
|
|
_08de121834: .4byte 0x0001605e
|
|
_08de121838: .4byte gEnemyParty
|
|
_08de12183C:
|
|
mov r2, r8
|
|
adds r0, r2, r6
|
|
strb r1, [r0]
|
|
adds r6, 0x1
|
|
adds r4, 0x1
|
|
_08de121846:
|
|
ldrb r1, [r4]
|
|
adds r0, r1, 0
|
|
cmp r0, 0xFF
|
|
bne _08de12183C
|
|
_08de12184E:
|
|
ldr r0, _08121920 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
ldr r4, _08121924 @ =gUnknown_08400791
|
|
cmp r0, 0
|
|
beq _081219E6
|
|
ldr r4, _08121928 @ =gUnknown_08400797
|
|
b _081219E6
|
|
.align 2, 0
|
|
_08121920: .4byte gBattleTypeFlags
|
|
_08121924: .4byte gUnknown_08400791
|
|
_08121928: .4byte gUnknown_08400797
|
|
_08121934:
|
|
ldr r3, _08121954 @ =0x0001605e
|
|
adds r0, r4, r3
|
|
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, _08de1218B8 @ =gBankAttacker
|
|
b _08121986
|
|
.align 2, 0
|
|
_08de1218B8: .4byte gBankAttacker
|
|
_08121984:
|
|
ldr r0, _08121998 @ =gBankTarget
|
|
_08121986:
|
|
ldrb r0, [r0]
|
|
bl GetBankSide
|
|
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 gBankTarget
|
|
_0812199C: .4byte gUnknown_084007A7
|
|
_081219A0: .4byte gUnknown_084007AC
|
|
_081219A4:
|
|
ldr r0, _081219A8 @ =gBankAttacker
|
|
b _081219AE
|
|
.align 2, 0
|
|
_081219A8: .4byte gBankAttacker
|
|
_081219AC:
|
|
ldr r0, _081219C0 @ =gBankTarget
|
|
_081219AE:
|
|
ldrb r0, [r0]
|
|
bl GetBankSide
|
|
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 gBankTarget
|
|
_081219C4: .4byte gUnknown_0840079C
|
|
_081219C8: .4byte gUnknown_084007A1
|
|
_081219CC:
|
|
ldr r0, _081219D0 @ =gBankAttacker
|
|
b _081219D6
|
|
.align 2, 0
|
|
_081219D0: .4byte gBankAttacker
|
|
_081219D4:
|
|
ldr r0, _08121A24 @ =gBankTarget
|
|
_081219D6:
|
|
ldrb r0, [r0]
|
|
bl GetBankSide
|
|
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 r5, r9
|
|
ldrb r2, [r5]
|
|
mov r3, r9
|
|
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 gBankTarget
|
|
_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 StrCpyDecodeBattle
|
|
|
|
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 r2, 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 r2, [r0, 0x1]
|
|
ldrb r0, [r0, 0x2]
|
|
lsls r0, 8
|
|
orrs r2, r0
|
|
cmp r2, 0xD1
|
|
beq _08de121ADA
|
|
cmp r2, 0xD3
|
|
bne _08de121ADC
|
|
_08de121ADA:
|
|
adds r5, 0x3
|
|
_08de121ADC:
|
|
ldr r0, _08121AE4 @ =gBattleStringsTable
|
|
adds r1, r2, 0
|
|
subs r1, 0xC
|
|
lsls r1, 2
|
|
adds r1, r0
|
|
ldr r1, [r1]
|
|
b _08121CE2
|
|
.align 2, 0
|
|
_08121AE4: .4byte gBattleStringsTable
|
|
_08121AE8:
|
|
adds r1, r2, 0
|
|
ldrb r0, [r1, 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 r1, [r1, 0x3]
|
|
b _08de121B30
|
|
_08121B04:
|
|
ldrb r0, [r1, 0x3]
|
|
mov r8, r0
|
|
ldrb r0, [r1, 0x4]
|
|
lsls r0, 8
|
|
mov r1, r8
|
|
b _08121B22
|
|
_08121B0C:
|
|
ldrb r0, [r2, 0x3]
|
|
mov r8, r0
|
|
ldrb r0, [r2, 0x4]
|
|
lsls r0, 8
|
|
mov r1, r8
|
|
orrs r1, r0
|
|
ldrb r0, [r2, 0x5]
|
|
lsls r0, 16
|
|
orrs r1, r0
|
|
ldrb r0, [r2, 0x6]
|
|
lsls r0, 24
|
|
_08121B22:
|
|
orrs r1, r0
|
|
_08de121B30:
|
|
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, _08de121B5C @ =gMoveNames
|
|
adds r1, r0
|
|
b _08121CE2
|
|
.align 2, 0
|
|
_08de121B5C: .4byte gMoveNames
|
|
_08121B54:
|
|
adds r0, r5, r7
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r1, r0, 3
|
|
subs r1, r0
|
|
ldr r0, _08de121B6C @ =gTypeNames
|
|
b _08121C66
|
|
.align 2, 0
|
|
_08de121B6C: .4byte gTypeNames
|
|
_08121B64:
|
|
adds r4, r5, r7
|
|
ldrb r0, [r4, 0x1]
|
|
bl GetBankSide
|
|
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
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
adds r0, r6, 0
|
|
mov r1, sp
|
|
bl StringAppend
|
|
b _08121D02
|
|
.align 2, 0
|
|
_08121B84: .4byte gPlayerParty
|
|
_08121B88:
|
|
ldrb r1, [r4, 0x2]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08de121BD4 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
mov r2, sp
|
|
bl GetMonData
|
|
mov r0, sp
|
|
bl StringGetEnd10
|
|
adds r0, r6, 0
|
|
mov r1, sp
|
|
bl StringAppend
|
|
ldr r0, _08121BA0 @ =gBattleTypeFlags
|
|
ldrh r1, [r0]
|
|
movs r0, 0x8
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08121BA8
|
|
ldr r1, _08121BA4 @ =gUnknown_08400797
|
|
b _08121CE2
|
|
.align 2, 0
|
|
_08de121BD4: .4byte gEnemyParty
|
|
_08121BA0: .4byte gBattleTypeFlags
|
|
_08121BA4: .4byte gUnknown_08400797
|
|
_08121BA8:
|
|
ldr r1, _08121BD4 @ =gUnknown_08400791
|
|
adds r0, r6, 0
|
|
bl StringAppend
|
|
b _08121D02
|
|
.align 2, 0
|
|
_08121BD4: .4byte gUnknown_08400791
|
|
_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 GetBankSide
|
|
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 @ =gStringBank
|
|
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
|
|
adds r0, r6, 0
|
|
bl de_sub_8073174
|
|
b _08121D02
|
|
.align 2, 0
|
|
_08121CC4: .4byte gBattleTypeFlags
|
|
_08121CC8: .4byte gLinkPlayers
|
|
_08121CCC: .4byte 0x02000000
|
|
_08121CD0: .4byte 0x000160cb
|
|
_08121CD4: .4byte gStringBank
|
|
_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.
|