mirror of
https://github.com/pret/pmd-red.git
synced 2025-02-25 23:55:41 +00:00
1334 lines
21 KiB
ArmAsm
1334 lines
21 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
|
|
thumb_func_start sub_80869E4
|
|
sub_80869E4:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
adds r7, r0, 0
|
|
mov r9, r1
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
lsls r3, 24
|
|
asrs r6, r3, 24
|
|
ldr r0, [r7, 0x70]
|
|
adds r0, 0x46
|
|
movs r4, 0
|
|
ldrsb r4, [r0, r4]
|
|
cmp r4, r6
|
|
beq _08086A30
|
|
adds r5, r0, 0
|
|
_08086A08:
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
mov r2, r8
|
|
bl sub_8002A70
|
|
lsls r0, 24
|
|
asrs r4, r0, 24
|
|
movs r0, 0x7
|
|
ands r0, r4
|
|
strb r0, [r5]
|
|
ldrb r1, [r5]
|
|
adds r0, r7, 0
|
|
bl sub_806CE68
|
|
mov r0, r9
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
cmp r4, r6
|
|
bne _08086A08
|
|
_08086A30:
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80869E4
|
|
|
|
thumb_func_start sub_8086A3C
|
|
sub_8086A3C:
|
|
ldr r1, [r0, 0x70]
|
|
movs r2, 0xAE
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
movs r2, 0x1
|
|
strb r2, [r1]
|
|
ldr r0, [r0, 0x70]
|
|
movs r1, 0xAF
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
bx lr
|
|
thumb_func_end sub_8086A3C
|
|
|
|
thumb_func_start sub_8086A54
|
|
sub_8086A54:
|
|
ldr r1, [r0, 0x70]
|
|
movs r2, 0xAE
|
|
lsls r2, 1
|
|
adds r1, r2
|
|
movs r3, 0
|
|
movs r2, 0x1
|
|
strb r2, [r1]
|
|
ldr r0, [r0, 0x70]
|
|
movs r1, 0xAF
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
strb r3, [r0]
|
|
bx lr
|
|
thumb_func_end sub_8086A54
|
|
|
|
thumb_func_start sub_8086A70
|
|
sub_8086A70:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
lsls r2, 16
|
|
lsrs r4, r2, 16
|
|
ldr r3, [r5, 0x70]
|
|
adds r2, r3, 0
|
|
movs r0, 0xF7
|
|
adds r0, r3
|
|
mov r12, r0
|
|
movs r0, 0x1
|
|
mov r6, r12
|
|
strb r0, [r6]
|
|
ldrh r0, [r3, 0x10]
|
|
strh r0, [r3, 0x12]
|
|
cmp r1, 0
|
|
beq _08086A94
|
|
strh r1, [r3, 0x10]
|
|
strh r1, [r3, 0xE]
|
|
_08086A94:
|
|
ldr r0, _08086AB8
|
|
ldr r0, [r0]
|
|
ldr r1, _08086ABC
|
|
adds r0, r1
|
|
strh r4, [r0]
|
|
adds r0, r2, 0
|
|
adds r0, 0x8C
|
|
mov r2, r12
|
|
ldrb r1, [r2]
|
|
bl sub_808EC94
|
|
adds r0, r5, 0
|
|
bl sub_807191C
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086AB8: .4byte gUnknown_203B418
|
|
_08086ABC: .4byte 0x0000066a
|
|
thumb_func_end sub_8086A70
|
|
|
|
thumb_func_start sub_8086AC0
|
|
sub_8086AC0:
|
|
push {lr}
|
|
bl sub_8044B28
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08086ADA
|
|
ldr r0, _08086AE0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, 0x2]
|
|
cmp r0, 0
|
|
bne _08086ADA
|
|
bl sub_8097FF8
|
|
_08086ADA:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086AE0: .4byte gUnknown_203B418
|
|
thumb_func_end sub_8086AC0
|
|
|
|
thumb_func_start sub_8086AE4
|
|
sub_8086AE4:
|
|
push {lr}
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
ldr r0, _08086B04
|
|
ldr r0, [r0]
|
|
ldr r2, _08086B08
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _08086B0C
|
|
adds r0, r1, 0
|
|
bl HasRecruitedMon
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
b _08086B0E
|
|
.align 2, 0
|
|
_08086B04: .4byte gUnknown_203B418
|
|
_08086B08: .4byte 0x0000065c
|
|
_08086B0C:
|
|
movs r0, 0x1
|
|
_08086B0E:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_8086AE4
|
|
|
|
thumb_func_start sub_8086B14
|
|
sub_8086B14:
|
|
push {r4-r6,lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
bl sub_8085480
|
|
mov r8, r0
|
|
movs r0, 0x4
|
|
bl sub_8085680
|
|
adds r6, r0, 0
|
|
movs r0, 0x3
|
|
bl sub_8085680
|
|
adds r5, r0, 0
|
|
movs r0, 0x72
|
|
bl sub_8083E88
|
|
bl sub_8085374
|
|
bl sub_80854D4
|
|
movs r0, 0x4
|
|
bl sub_8085930
|
|
ldr r4, _08086B8C
|
|
adds r0, r4, 0
|
|
bl sub_80855E4
|
|
adds r0, r5, 0
|
|
bl _call_via_r4
|
|
ldr r0, [r6, 0x70]
|
|
movs r1, 0xAE
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
mov r2, r8
|
|
movs r3, 0x4
|
|
ldrsh r0, [r2, r3]
|
|
movs r3, 0x6
|
|
ldrsh r1, [r2, r3]
|
|
subs r1, 0x2
|
|
bl sub_8085860
|
|
ldr r4, _08086B90
|
|
adds r0, r4, 0
|
|
movs r1, 0x32
|
|
bl CopySpeciesNametoBuffer
|
|
adds r4, 0x50
|
|
adds r0, r4, 0
|
|
movs r1, 0xFC
|
|
bl CopySpeciesNametoBuffer
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086B8C: .4byte sub_8086A3C
|
|
_08086B90: .4byte gUnknown_202E038
|
|
thumb_func_end sub_8086B14
|
|
|
|
thumb_func_start sub_8086B94
|
|
sub_8086B94:
|
|
push {r4-r6,lr}
|
|
bl sub_8085480
|
|
adds r6, r0, 0
|
|
movs r0, 0x4
|
|
bl sub_8085680
|
|
adds r5, r0, 0
|
|
movs r0, 0x3
|
|
bl sub_8085680
|
|
movs r4, 0x87
|
|
lsls r4, 2
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl sub_8068FE0
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
movs r2, 0
|
|
bl sub_8068FE0
|
|
bl sub_80854D4
|
|
movs r0, 0x4
|
|
bl sub_8085930
|
|
movs r1, 0x4
|
|
ldrsh r0, [r6, r1]
|
|
movs r2, 0x6
|
|
ldrsh r1, [r6, r2]
|
|
bl sub_8085860
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8086B94
|
|
|
|
thumb_func_start sub_8086BDC
|
|
sub_8086BDC:
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
movs r2, 0xFF
|
|
lsls r2, 24
|
|
adds r1, r2
|
|
lsrs r1, 24
|
|
cmp r1, 0x1
|
|
bhi _08086C02
|
|
cmp r0, 0x3
|
|
bne _08086C02
|
|
movs r0, 0x1
|
|
bl sub_8097FA8
|
|
ldr r0, _08086C08
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x2]
|
|
_08086C02:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086C08: .4byte gUnknown_203B418
|
|
thumb_func_end sub_8086BDC
|
|
|
|
thumb_func_start SkarmonyPreFightDialogue
|
|
SkarmonyPreFightDialogue:
|
|
push {r4-r6,lr}
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5,r6}
|
|
sub sp, 0x10
|
|
bl sub_8085480
|
|
mov r8, r0
|
|
bl sub_808548C
|
|
mov r9, r0
|
|
movs r0, 0x4
|
|
bl sub_8085680
|
|
adds r4, r0, 0
|
|
movs r0, 0x3
|
|
bl sub_8085680
|
|
adds r6, r0, 0
|
|
ldr r0, [r4, 0xC]
|
|
str r0, [sp]
|
|
ldr r0, [r4, 0x10]
|
|
movs r1, 0xC0
|
|
lsls r1, 6
|
|
adds r0, r1
|
|
str r0, [sp, 0x4]
|
|
ldr r0, [r6, 0xC]
|
|
str r0, [sp, 0x8]
|
|
ldr r0, [r6, 0x10]
|
|
movs r2, 0x80
|
|
lsls r2, 6
|
|
adds r0, r2
|
|
add r5, sp, 0x8
|
|
str r0, [r5, 0x4]
|
|
bl sub_8086448
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
mov r0, r9
|
|
bl sub_80862BC
|
|
movs r0, 0x20
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08086D84
|
|
bl sub_8052910
|
|
mov r0, sp
|
|
movs r1, 0x40
|
|
bl sub_80858AC
|
|
movs r0, 0x40
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r5, 0
|
|
movs r1, 0x30
|
|
bl sub_80858AC
|
|
ldr r0, _08086D88
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, [r4, 0x70]
|
|
ldr r2, _08086D8C
|
|
adds r1, r0, r2
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
mov r0, sp
|
|
movs r1, 0x30
|
|
bl sub_80858AC
|
|
ldr r0, _08086D90
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r5, 0
|
|
movs r1, 0x20
|
|
bl sub_80858AC
|
|
movs r0, 0x20
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r6, 0
|
|
bl sub_8086E74
|
|
ldr r0, _08086D94
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08086D98
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08086D9C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08086DA0
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r6, 0
|
|
movs r1, 0xD
|
|
movs r2, 0
|
|
bl sub_806CDD4
|
|
ldr r0, _08086DA4
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
mov r0, r9
|
|
movs r1, 0x4
|
|
movs r2, 0x1
|
|
movs r3, 0x2
|
|
bl sub_80869E4
|
|
mov r0, r8
|
|
movs r1, 0x4
|
|
movs r2, 0x2
|
|
movs r3, 0x6
|
|
bl sub_80869E4
|
|
ldr r0, _08086DA8
|
|
bl sub_8052910
|
|
mov r0, r9
|
|
movs r1, 0x4
|
|
movs r2, 0x2
|
|
movs r3, 0x4
|
|
bl sub_80869E4
|
|
mov r0, r8
|
|
movs r1, 0x4
|
|
movs r2, 0x1
|
|
movs r3, 0x4
|
|
bl sub_80869E4
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
movs r0, 0xB
|
|
bl sub_8083E88
|
|
movs r0, 0xC
|
|
add r8, r0
|
|
mov r0, r8
|
|
movs r1, 0x10
|
|
bl sub_80858AC
|
|
add sp, 0x10
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086D84: .4byte gUnknown_8100768
|
|
_08086D88: .4byte gUnknown_8100798
|
|
_08086D8C: .4byte 0x0000015d
|
|
_08086D90: .4byte gUnknown_8100820
|
|
_08086D94: .4byte gUnknown_8100844
|
|
_08086D98: .4byte gUnknown_8100880
|
|
_08086D9C: .4byte gUnknown_8100928
|
|
_08086DA0: .4byte gUnknown_8100A04
|
|
_08086DA4: .4byte gUnknown_8100B80
|
|
_08086DA8: .4byte gUnknown_8100BC0
|
|
thumb_func_end SkarmonyPreFightDialogue
|
|
|
|
thumb_func_start SkarmonyReFightDialogue
|
|
SkarmonyReFightDialogue:
|
|
push {r4,r5,lr}
|
|
sub sp, 0x8
|
|
bl sub_8085480
|
|
adds r5, r0, 0
|
|
movs r0, 0x3
|
|
bl sub_8085680
|
|
adds r4, r0, 0
|
|
ldr r0, [r4, 0xC]
|
|
str r0, [sp]
|
|
ldr r0, [r4, 0x10]
|
|
movs r1, 0x80
|
|
lsls r1, 6
|
|
adds r0, r1
|
|
str r0, [sp, 0x4]
|
|
bl sub_8086448
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r4, 0
|
|
bl sub_8086E74
|
|
mov r0, sp
|
|
movs r1, 0x10
|
|
bl sub_80858AC
|
|
ldr r0, _08086E34
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08086E38
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r4, 0
|
|
movs r1, 0xD
|
|
movs r2, 0
|
|
bl sub_806CDD4
|
|
ldr r0, _08086E3C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r5, 0xC
|
|
adds r0, r5, 0
|
|
movs r1, 0x10
|
|
bl sub_80858AC
|
|
movs r0, 0xB
|
|
bl sub_8083E88
|
|
add sp, 0x8
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086E34: .4byte gUnknown_8100C90
|
|
_08086E38: .4byte gUnknown_8100CBC
|
|
_08086E3C: .4byte gUnknown_8100CDC
|
|
thumb_func_end SkarmonyReFightDialogue
|
|
|
|
thumb_func_start sub_8086E40
|
|
sub_8086E40:
|
|
push {lr}
|
|
bl sub_8085480
|
|
bl SpriteLookAroundEffect
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08086E6C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08086E70
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x2]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086E6C: .4byte gUnknown_8100D3C
|
|
_08086E70: .4byte gUnknown_203B418
|
|
thumb_func_end sub_8086E40
|
|
|
|
thumb_func_start sub_8086E74
|
|
sub_8086E74:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r1, 0xF
|
|
movs r2, 0
|
|
bl sub_806CDD4
|
|
adds r0, r4, 0
|
|
bl sub_8086A54
|
|
movs r0, 0xFC
|
|
lsls r0, 1
|
|
bl PlaySoundEffect
|
|
movs r0, 0x44
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8086E74
|
|
|
|
thumb_func_start sub_8086E9C
|
|
sub_8086E9C:
|
|
push {r4,r5,lr}
|
|
bl sub_8085480
|
|
adds r5, r0, 0
|
|
movs r0, 0x72
|
|
bl sub_8083E88
|
|
bl sub_8085374
|
|
bl sub_80854D4
|
|
movs r0, 0x4
|
|
bl sub_8085930
|
|
ldr r4, _08086EF8
|
|
adds r0, r4, 0
|
|
bl sub_80855E4
|
|
adds r0, r4, 0
|
|
bl sub_808563C
|
|
movs r1, 0x4
|
|
ldrsh r0, [r5, r1]
|
|
movs r2, 0x6
|
|
ldrsh r1, [r5, r2]
|
|
subs r1, 0x3
|
|
bl sub_8085860
|
|
ldr r4, _08086EFC
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl CopySpeciesNametoBuffer
|
|
adds r0, r4, 0
|
|
adds r0, 0x50
|
|
movs r1, 0x5E
|
|
bl CopySpeciesNametoBuffer
|
|
adds r4, 0xA0
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl CopySpeciesNametoBuffer
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086EF8: .4byte sub_8086A3C
|
|
_08086EFC: .4byte gUnknown_202E038
|
|
thumb_func_end sub_8086E9C
|
|
|
|
thumb_func_start sub_8086F00
|
|
sub_8086F00:
|
|
push {r4,lr}
|
|
bl sub_8085480
|
|
adds r4, r0, 0
|
|
bl sub_80854D4
|
|
movs r0, 0x4
|
|
bl sub_8085930
|
|
ldr r0, _08086F4C
|
|
bl sub_80855E4
|
|
movs r1, 0x4
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, 0x6
|
|
ldrsh r1, [r4, r2]
|
|
subs r1, 0x3
|
|
bl sub_8085860
|
|
ldr r4, _08086F50
|
|
adds r0, r4, 0
|
|
movs r1, 0xB
|
|
bl CopySpeciesNametoBuffer
|
|
adds r0, r4, 0
|
|
adds r0, 0x50
|
|
movs r1, 0x5E
|
|
bl CopySpeciesNametoBuffer
|
|
adds r4, 0xA0
|
|
adds r0, r4, 0
|
|
movs r1, 0xA
|
|
bl CopySpeciesNametoBuffer
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086F4C: .4byte sub_8086A3C
|
|
_08086F50: .4byte gUnknown_202E038
|
|
thumb_func_end sub_8086F00
|
|
|
|
thumb_func_start sub_8086F54
|
|
sub_8086F54:
|
|
push {r4-r6,lr}
|
|
lsls r0, 24
|
|
lsrs r6, r0, 24
|
|
lsls r1, 24
|
|
movs r0, 0xFC
|
|
lsls r0, 24
|
|
adds r1, r0
|
|
lsrs r1, 24
|
|
cmp r1, 0x1
|
|
bhi _08086FA8
|
|
movs r5, 0
|
|
_08086F6A:
|
|
ldr r0, _08086FB0
|
|
ldr r0, [r0]
|
|
lsls r1, r5, 2
|
|
ldr r2, _08086FB4
|
|
adds r0, r2
|
|
adds r0, r1
|
|
ldr r4, [r0]
|
|
adds r0, r4, 0
|
|
bl sub_80450E0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08086F8E
|
|
ldr r0, [r4, 0x70]
|
|
adds r0, 0xA4
|
|
ldrb r0, [r0]
|
|
cmp r0, r6
|
|
bne _08086FA8
|
|
_08086F8E:
|
|
adds r5, 0x1
|
|
cmp r5, 0xF
|
|
ble _08086F6A
|
|
movs r0, 0
|
|
cmp r0, 0
|
|
bne _08086FA8
|
|
movs r0, 0x3
|
|
bl sub_8097FA8
|
|
ldr r0, _08086FB0
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x2]
|
|
_08086FA8:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08086FB0: .4byte gUnknown_203B418
|
|
_08086FB4: .4byte 0x0001358c
|
|
thumb_func_end sub_8086F54
|
|
|
|
thumb_func_start TeamMeaniePreFightDialogue
|
|
TeamMeaniePreFightDialogue:
|
|
push {r4,lr}
|
|
bl sub_8085480
|
|
adds r4, r0, 0
|
|
bl sub_8086448
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08087048
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _0808704C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
bl sub_8087144
|
|
movs r0, 0xA
|
|
bl sub_8083E88
|
|
ldr r0, _08087050
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08087054
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08087058
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _0808705C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08087060
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r4, 0xC
|
|
adds r0, r4, 0
|
|
movs r1, 0x10
|
|
bl sub_80858AC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08087048: .4byte gUnknown_8100DB0
|
|
_0808704C: .4byte gUnknown_8100E64
|
|
_08087050: .4byte gUnknown_8100E88
|
|
_08087054: .4byte gUnknown_8100F14
|
|
_08087058: .4byte gUnknown_8101004
|
|
_0808705C: .4byte gUnknown_8101050
|
|
_08087060: .4byte gUnknown_81010D0
|
|
thumb_func_end TeamMeaniePreFightDialogue
|
|
|
|
thumb_func_start TeamMeanieReFightDialogue
|
|
TeamMeanieReFightDialogue:
|
|
push {r4,r5,lr}
|
|
bl sub_8085480
|
|
adds r4, r0, 0
|
|
bl sub_808548C
|
|
adds r5, r0, 0
|
|
bl sub_8086448
|
|
ldr r0, _08087118
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _0808711C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
bl sub_8087144
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08087120
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08087124
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r4, 0
|
|
movs r1, 0x6
|
|
movs r2, 0x4
|
|
bl sub_806CDD4
|
|
adds r0, r5, 0
|
|
movs r1, 0x6
|
|
movs r2, 0x4
|
|
bl sub_806CDD4
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r4, 0
|
|
movs r1, 0x7
|
|
movs r2, 0x4
|
|
bl sub_806CDD4
|
|
adds r0, r5, 0
|
|
movs r1, 0x7
|
|
movs r2, 0x4
|
|
bl sub_806CDD4
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _08087128
|
|
bl sub_8052910
|
|
ldr r0, _0808712C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r4, 0xC
|
|
adds r0, r4, 0
|
|
movs r1, 0x10
|
|
bl sub_80858AC
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08087118: .4byte gUnknown_8101164
|
|
_0808711C: .4byte gUnknown_8100E64
|
|
_08087120: .4byte gUnknown_8101240
|
|
_08087124: .4byte gUnknown_8101310
|
|
_08087128: .4byte gUnknown_810137C
|
|
_0808712C: .4byte gUnknown_8101408
|
|
thumb_func_end TeamMeanieReFightDialogue
|
|
|
|
thumb_func_start sub_8087130
|
|
sub_8087130:
|
|
push {lr}
|
|
bl sub_8086448
|
|
ldr r0, _08087140
|
|
bl sub_80866C4
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08087140: .4byte gUnknown_8101440
|
|
thumb_func_end sub_8087130
|
|
|
|
thumb_func_start sub_8087144
|
|
sub_8087144:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
sub sp, 0xF0
|
|
movs r0, 0x5
|
|
bl sub_8085680
|
|
adds r7, r0, 0
|
|
movs r0, 0x6
|
|
bl sub_8085680
|
|
mov r8, r0
|
|
movs r0, 0x7
|
|
bl sub_8085680
|
|
mov r9, r0
|
|
ldr r1, _080871E0
|
|
mov r0, sp
|
|
movs r2, 0x38
|
|
bl memcpy
|
|
add r6, sp, 0x38
|
|
ldr r1, _080871E4
|
|
adds r0, r6, 0
|
|
movs r2, 0x38
|
|
bl memcpy
|
|
add r4, sp, 0x70
|
|
ldr r1, _080871E8
|
|
adds r0, r4, 0
|
|
movs r2, 0x38
|
|
bl memcpy
|
|
add r5, sp, 0xA8
|
|
mov r0, sp
|
|
str r0, [r5]
|
|
str r6, [r5, 0x4]
|
|
str r4, [r5, 0x8]
|
|
add r4, sp, 0xB4
|
|
str r7, [r4]
|
|
mov r3, r8
|
|
str r3, [r4, 0x4]
|
|
mov r0, r9
|
|
str r0, [r4, 0x8]
|
|
movs r0, 0xA
|
|
bl sub_8083E88
|
|
adds r0, r7, 0
|
|
bl sub_8086A54
|
|
mov r0, r8
|
|
bl sub_8086A54
|
|
mov r0, r9
|
|
bl sub_8086A54
|
|
add r6, sp, 0xC0
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
adds r2, r4, 0
|
|
movs r3, 0x3
|
|
bl sub_8085B4C
|
|
ldr r0, [r7, 0x70]
|
|
ldr r2, _080871EC
|
|
adds r0, r2
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
mov r3, r8
|
|
ldr r0, [r3, 0x70]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
mov r3, r9
|
|
ldr r0, [r3, 0x70]
|
|
adds r0, r2
|
|
strb r1, [r0]
|
|
b _080871F6
|
|
.align 2, 0
|
|
_080871E0: .4byte gUnknown_810739C
|
|
_080871E4: .4byte gUnknown_81073D4
|
|
_080871E8: .4byte gUnknown_810740C
|
|
_080871EC: .4byte 0x0000015f
|
|
_080871F0:
|
|
movs r0, 0x46
|
|
bl sub_803E46C
|
|
_080871F6:
|
|
adds r0, r6, 0
|
|
bl sub_8085B80
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
cmp r2, 0
|
|
bne _080871F0
|
|
ldr r0, [r7, 0x70]
|
|
ldr r1, _0808722C
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
mov r3, r8
|
|
ldr r0, [r3, 0x70]
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
mov r3, r9
|
|
ldr r0, [r3, 0x70]
|
|
adds r0, r1
|
|
strb r2, [r0]
|
|
add sp, 0xF0
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808722C: .4byte 0x0000015f
|
|
thumb_func_end sub_8087144
|
|
|
|
thumb_func_start sub_8087230
|
|
sub_8087230:
|
|
push {r4-r6,lr}
|
|
bl sub_8085480
|
|
adds r6, r0, 0
|
|
movs r0, 0x8
|
|
bl sub_8085680
|
|
adds r5, r0, 0
|
|
movs r0, 0x72
|
|
bl sub_8083E88
|
|
bl sub_8085374
|
|
bl sub_80854D4
|
|
movs r0, 0x4
|
|
bl sub_8085930
|
|
ldr r4, _08087294
|
|
adds r0, r4, 0
|
|
bl sub_80855E4
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
bl sub_8085918
|
|
adds r0, r5, 0
|
|
bl _call_via_r4
|
|
movs r1, 0x4
|
|
ldrsh r0, [r6, r1]
|
|
movs r2, 0x6
|
|
ldrsh r1, [r6, r2]
|
|
subs r1, 0x3
|
|
bl sub_8085860
|
|
ldr r4, _08087298
|
|
movs r1, 0x96
|
|
lsls r1, 1
|
|
adds r0, r4, 0
|
|
bl CopySpeciesNametoBuffer
|
|
adds r4, 0x50
|
|
adds r0, r4, 0
|
|
movs r1, 0x91
|
|
bl CopySpeciesNametoBuffer
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08087294: .4byte sub_8086A3C
|
|
_08087298: .4byte gUnknown_202E038
|
|
thumb_func_end sub_8087230
|
|
|
|
thumb_func_start sub_808729C
|
|
sub_808729C:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x4
|
|
bl sub_8085480
|
|
adds r5, r0, 0
|
|
movs r0, 0x8
|
|
bl sub_8085680
|
|
adds r4, r0, 0
|
|
bl sub_80854D4
|
|
movs r0, 0x4
|
|
bl sub_8085930
|
|
ldr r6, _080872DC
|
|
adds r0, r6, 0
|
|
bl sub_80855E4
|
|
movs r0, 0x91
|
|
bl sub_8086AE4
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
cmp r1, 0
|
|
beq _080872E0
|
|
movs r1, 0x87
|
|
lsls r1, 2
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8068FE0
|
|
b _08087300
|
|
.align 2, 0
|
|
_080872DC: .4byte sub_8086A3C
|
|
_080872E0:
|
|
ldr r0, _0808732C
|
|
movs r3, 0
|
|
ldrsh r2, [r0, r3]
|
|
str r1, [sp]
|
|
adds r0, r4, 0
|
|
adds r1, r4, 0
|
|
movs r3, 0
|
|
bl sub_8072008
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_8085918
|
|
adds r0, r4, 0
|
|
bl _call_via_r6
|
|
_08087300:
|
|
movs r1, 0x4
|
|
ldrsh r0, [r5, r1]
|
|
movs r2, 0x6
|
|
ldrsh r1, [r5, r2]
|
|
subs r1, 0x3
|
|
bl sub_8085860
|
|
ldr r4, _08087330
|
|
movs r1, 0x96
|
|
lsls r1, 1
|
|
adds r0, r4, 0
|
|
bl CopySpeciesNametoBuffer
|
|
adds r4, 0x50
|
|
adds r0, r4, 0
|
|
movs r1, 0x91
|
|
bl CopySpeciesNametoBuffer
|
|
add sp, 0x4
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0808732C: .4byte gUnknown_80F57CC
|
|
_08087330: .4byte gUnknown_202E038
|
|
thumb_func_end sub_808729C
|
|
|
|
thumb_func_start sub_8087334
|
|
sub_8087334:
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
lsls r1, 24
|
|
movs r2, 0xF9
|
|
lsls r2, 24
|
|
adds r1, r2
|
|
lsrs r1, 24
|
|
cmp r1, 0x2
|
|
bhi _0808735A
|
|
cmp r0, 0x8
|
|
bne _0808735A
|
|
movs r0, 0x5
|
|
bl sub_8097FA8
|
|
ldr r0, _08087360
|
|
ldr r1, [r0]
|
|
movs r0, 0x1
|
|
strb r0, [r1, 0x2]
|
|
_0808735A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08087360: .4byte gUnknown_203B418
|
|
thumb_func_end sub_8087334
|
|
|
|
thumb_func_start ZapdosPreFightDialogue
|
|
ZapdosPreFightDialogue:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x70
|
|
bl sub_8085480
|
|
mov r9, r0
|
|
bl sub_808548C
|
|
adds r6, r0, 0
|
|
movs r0, 0x8
|
|
bl sub_8085680
|
|
str r0, [sp, 0x68]
|
|
bl sub_8086448
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r6, 0
|
|
bl SpriteLookAroundEffect
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r6, 0
|
|
movs r1, 0x4
|
|
movs r2, 0x1
|
|
movs r3, 0x2
|
|
bl sub_80869E4
|
|
mov r0, r9
|
|
movs r1, 0x4
|
|
movs r2, 0x2
|
|
movs r3, 0x6
|
|
bl sub_80869E4
|
|
ldr r0, _08087470
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r6, 0
|
|
movs r1, 0x4
|
|
movs r2, 0x2
|
|
movs r3, 0x4
|
|
bl sub_80869E4
|
|
mov r0, r9
|
|
movs r1, 0x4
|
|
movs r2, 0x1
|
|
movs r3, 0x4
|
|
bl sub_80869E4
|
|
ldr r0, _08087474
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
movs r0, 0x3
|
|
bl sub_808775C
|
|
bl sub_8083F14
|
|
movs r0, 0xED
|
|
lsls r0, 1
|
|
bl PlaySoundEffect
|
|
ldr r0, _08087478
|
|
bl sub_8052910
|
|
ldr r0, [sp, 0x68]
|
|
bl sub_8087704
|
|
movs r0, 0x9
|
|
bl sub_8083E88
|
|
adds r0, r6, 0
|
|
movs r1, 0x6
|
|
movs r2, 0x4
|
|
bl sub_806CDD4
|
|
ldr r0, _0808747C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r2, 0x1
|
|
movs r3, 0x1
|
|
bl sub_80869E4
|
|
mov r1, sp
|
|
ldr r0, _08087480
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
mov r0, sp
|
|
str r0, [sp, 0x58]
|
|
str r6, [sp, 0x5C]
|
|
add r4, sp, 0x18
|
|
add r1, sp, 0x58
|
|
add r2, sp, 0x5C
|
|
adds r0, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_8085B4C
|
|
ldr r0, [r6, 0x70]
|
|
ldr r2, _08087484
|
|
adds r1, r0, r2
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
add r7, sp, 0x28
|
|
add r3, sp, 0x48
|
|
mov r8, r3
|
|
add r0, sp, 0x60
|
|
mov r10, r0
|
|
mov r1, sp
|
|
adds r1, 0x64
|
|
str r1, [sp, 0x6C]
|
|
b _0808748E
|
|
.align 2, 0
|
|
_08087470: .4byte gUnknown_81014B0
|
|
_08087474: .4byte gUnknown_8101504
|
|
_08087478: .4byte gUnknown_81015A0
|
|
_0808747C: .4byte gUnknown_81015D4
|
|
_08087480: .4byte gUnknown_810744C
|
|
_08087484: .4byte 0x0000015f
|
|
_08087488:
|
|
movs r0, 0x46
|
|
bl sub_803E46C
|
|
_0808748E:
|
|
adds r0, r4, 0
|
|
bl sub_8085B80
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
cmp r5, 0
|
|
bne _08087488
|
|
ldr r0, [r6, 0x70]
|
|
ldr r2, _08087510
|
|
adds r0, r2
|
|
strb r5, [r0]
|
|
ldr r0, [r6, 0x70]
|
|
ldr r4, _08087514
|
|
adds r0, r4
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r2, 0x2
|
|
movs r3, 0x4
|
|
bl sub_80869E4
|
|
ldr r0, _08087518
|
|
bl sub_8052910
|
|
movs r0, 0x3C
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, _0808751C
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
ldr r0, [r6, 0x70]
|
|
adds r0, r4
|
|
strb r5, [r0]
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r2, 0x2
|
|
movs r3, 0x5
|
|
bl sub_80869E4
|
|
adds r1, r7, 0
|
|
ldr r0, _08087520
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldm r0!, {r3,r4}
|
|
stm r1!, {r3,r4}
|
|
str r7, [sp, 0x60]
|
|
str r6, [sp, 0x64]
|
|
mov r0, r8
|
|
mov r1, r10
|
|
ldr r2, [sp, 0x6C]
|
|
movs r3, 0x1
|
|
bl sub_8085B4C
|
|
mov r4, r9
|
|
adds r4, 0xC
|
|
b _0808752A
|
|
.align 2, 0
|
|
_08087510: .4byte 0x0000015f
|
|
_08087514: .4byte 0x0000015d
|
|
_08087518: .4byte gUnknown_81015E8
|
|
_0808751C: .4byte gUnknown_8101624
|
|
_08087520: .4byte gUnknown_8107464
|
|
_08087524:
|
|
movs r0, 0x46
|
|
bl sub_803E46C
|
|
_0808752A:
|
|
mov r0, r8
|
|
bl sub_8085B80
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08087524
|
|
adds r0, r6, 0
|
|
movs r1, 0x2
|
|
movs r2, 0x1
|
|
movs r3, 0x3
|
|
bl sub_80869E4
|
|
ldr r0, _080875B0
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
movs r0, 0x3
|
|
bl sub_808775C
|
|
ldr r0, _080875B4
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
movs r0, 0x1
|
|
bl sub_808775C
|
|
ldr r0, _080875B8
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
movs r0, 0x2
|
|
bl sub_808775C
|
|
ldr r0, _080875BC
|
|
bl sub_8052910
|
|
movs r0, 0xA
|
|
movs r1, 0x46
|
|
bl sub_803E708
|
|
movs r1, 0x96
|
|
lsls r1, 1
|
|
ldr r0, [sp, 0x68]
|
|
movs r2, 0xB
|
|
bl sub_8086A70
|
|
adds r0, r4, 0
|
|
movs r1, 0x10
|
|
bl sub_80858AC
|
|
add sp, 0x70
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080875B0: .4byte gUnknown_810165C
|
|
_080875B4: .4byte gUnknown_8101750
|
|
_080875B8: .4byte gUnknown_810178C
|
|
_080875BC: .4byte gUnknown_81017B4
|
|
thumb_func_end ZapdosPreFightDialogue
|
|
|
|
.align 2,0
|