mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-09 19:07:50 -05:00
3608 lines
62 KiB
ArmAsm
3608 lines
62 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "constants/species_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_8134548
|
|
sub_8134548: @ 8134548
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
movs r5, 0
|
|
_0813454E:
|
|
ldr r0, _08134568 @ =gSaveBlock2
|
|
ldr r1, _0813456C @ =0x00000556
|
|
adds r0, r1
|
|
adds r0, r5, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x6
|
|
bhi _08134590
|
|
lsls r0, 2
|
|
ldr r1, _08134570 @ =_08134574
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08134568: .4byte gSaveBlock2
|
|
_0813456C: .4byte 0x00000556
|
|
_08134570: .4byte _08134574
|
|
.align 2, 0
|
|
_08134574:
|
|
.4byte _08134590
|
|
.4byte _081345A8
|
|
.4byte _081345C8
|
|
.4byte _081345D8
|
|
.4byte _081345B8
|
|
.4byte _081345C0
|
|
.4byte _081345D8
|
|
_08134590:
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
bl sub_813461C
|
|
cmp r4, 0
|
|
bne _081345D8
|
|
movs r0, 0x80
|
|
lsls r0, 7
|
|
movs r1, 0x5
|
|
bl VarSet
|
|
b _081345D8
|
|
_081345A8:
|
|
lsls r0, r5, 24
|
|
lsrs r0, 24
|
|
bl sub_813461C
|
|
movs r0, 0x80
|
|
lsls r0, 7
|
|
movs r1, 0x1
|
|
b _081345CE
|
|
_081345B8:
|
|
movs r0, 0x80
|
|
lsls r0, 7
|
|
movs r1, 0x2
|
|
b _081345CE
|
|
_081345C0:
|
|
movs r0, 0x80
|
|
lsls r0, 7
|
|
movs r1, 0x3
|
|
b _081345CE
|
|
_081345C8:
|
|
movs r0, 0x80
|
|
lsls r0, 7
|
|
movs r1, 0x4
|
|
_081345CE:
|
|
bl VarSet
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
_081345D8:
|
|
adds r5, 0x1
|
|
cmp r5, 0x1
|
|
ble _0813454E
|
|
ldr r1, _08134610 @ =gSaveBlock2
|
|
ldr r2, _08134614 @ =0x00000556
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x3
|
|
beq _081345EE
|
|
cmp r0, 0x6
|
|
bne _08134606
|
|
_081345EE:
|
|
ldr r2, _08134618 @ =0x00000557
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x3
|
|
beq _081345FC
|
|
cmp r0, 0x6
|
|
bne _08134606
|
|
_081345FC:
|
|
movs r0, 0x80
|
|
lsls r0, 7
|
|
movs r1, 0x5
|
|
bl VarSet
|
|
_08134606:
|
|
bl sub_8135C44
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08134610: .4byte gSaveBlock2
|
|
_08134614: .4byte 0x00000556
|
|
_08134618: .4byte 0x00000557
|
|
thumb_func_end sub_8134548
|
|
|
|
thumb_func_start sub_813461C
|
|
sub_813461C: @ 813461C
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
ldr r3, _08134644 @ =gSaveBlock2
|
|
ldr r2, _08134648 @ =0x00000556
|
|
adds r1, r3, r2
|
|
adds r1, r0, r1
|
|
movs r2, 0
|
|
strb r2, [r1]
|
|
lsls r0, 1
|
|
movs r2, 0xAB
|
|
lsls r2, 3
|
|
adds r1, r3, r2
|
|
adds r1, r0, r1
|
|
movs r2, 0x1
|
|
strh r2, [r1]
|
|
ldr r1, _0813464C @ =0x0000055c
|
|
adds r3, r1
|
|
adds r0, r3
|
|
strh r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08134644: .4byte gSaveBlock2
|
|
_08134648: .4byte 0x00000556
|
|
_0813464C: .4byte 0x0000055c
|
|
thumb_func_end sub_813461C
|
|
|
|
thumb_func_start sub_8134650
|
|
sub_8134650: @ 8134650
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x2C
|
|
lsls r0, 24
|
|
lsrs r5, r0, 24
|
|
lsls r1, 16
|
|
lsrs r6, r1, 16
|
|
add r4, sp, 0x28
|
|
movs r0, 0
|
|
strb r0, [r4]
|
|
bl sub_813601C
|
|
ldr r0, _08134684 @ =gScriptResult
|
|
ldrh r0, [r0]
|
|
adds r7, r4, 0
|
|
cmp r0, 0
|
|
bne _08134680
|
|
ldr r1, _08134688 @ =gSaveBlock2
|
|
ldr r2, _0813468C @ =0x0000049a
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
cmp r0, r6
|
|
beq _08134690
|
|
_08134680:
|
|
movs r0, 0
|
|
b _081346E2
|
|
.align 2, 0
|
|
_08134684: .4byte gScriptResult
|
|
_08134688: .4byte gSaveBlock2
|
|
_0813468C: .4byte 0x0000049a
|
|
_08134690:
|
|
movs r6, 0x32
|
|
cmp r5, 0
|
|
beq _08134698
|
|
movs r6, 0x64
|
|
_08134698:
|
|
movs r4, 0
|
|
mov r8, r1
|
|
_0813469C:
|
|
movs r0, 0x2C
|
|
muls r0, r4
|
|
mov r3, r8
|
|
adds r1, r0, r3
|
|
movs r2, 0x9B
|
|
lsls r2, 3
|
|
adds r0, r1, r2
|
|
ldrb r2, [r0]
|
|
cmp r2, r6
|
|
bne _08134680
|
|
ldr r3, _081346F0 @ =0x000004cc
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
adds r3, 0x2
|
|
adds r1, r3
|
|
ldrh r1, [r1]
|
|
str r2, [sp]
|
|
add r2, sp, 0x10
|
|
str r2, [sp, 0x4]
|
|
add r2, sp, 0x1C
|
|
str r2, [sp, 0x8]
|
|
str r7, [sp, 0xC]
|
|
movs r2, 0x1
|
|
adds r3, r5, 0
|
|
bl CheckMonBattleTowerBanlist
|
|
adds r4, 0x1
|
|
cmp r4, 0x2
|
|
ble _0813469C
|
|
movs r1, 0
|
|
ldrb r0, [r7]
|
|
cmp r0, 0x3
|
|
bne _081346E0
|
|
movs r1, 0x1
|
|
_081346E0:
|
|
adds r0, r1, 0
|
|
_081346E2:
|
|
add sp, 0x2C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081346F0: .4byte 0x000004cc
|
|
thumb_func_end sub_8134650
|
|
|
|
thumb_func_start sub_81346F4
|
|
sub_81346F4: @ 81346F4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x18
|
|
movs r0, 0
|
|
mov r9, r0
|
|
ldr r4, _08134738 @ =gSaveBlock2
|
|
ldr r1, _0813473C @ =0x00000554
|
|
adds r0, r4, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r7, r0, 31
|
|
adds r0, r7, 0
|
|
bl sub_8135D3C
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r8, r0
|
|
adds r0, r7, 0
|
|
mov r1, r8
|
|
bl sub_8134650
|
|
lsls r0, 24
|
|
adds r1, r4, 0
|
|
cmp r0, 0
|
|
beq _08134744
|
|
ldr r2, _08134740 @ =0x00000564
|
|
adds r1, r2
|
|
movs r0, 0xC8
|
|
strb r0, [r1]
|
|
b _081347DE
|
|
.align 2, 0
|
|
_08134738: .4byte gSaveBlock2
|
|
_0813473C: .4byte 0x00000554
|
|
_08134740: .4byte 0x00000564
|
|
_08134744:
|
|
movs r5, 0
|
|
movs r3, 0xA4
|
|
mov r12, r3
|
|
mov r10, sp
|
|
_0813474C:
|
|
mov r0, r12
|
|
muls r0, r5
|
|
movs r4, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
adds r6, r5, 0x1
|
|
str r6, [sp, 0x14]
|
|
ldr r6, _081347B4 @ =gSaveBlock2 + 0x14C
|
|
adds r3, r0, r6
|
|
_0813475E:
|
|
ldm r3!, {r0}
|
|
orrs r4, r0
|
|
adds r1, r0
|
|
adds r2, 0x1
|
|
cmp r2, 0x27
|
|
bls _0813475E
|
|
mov r3, r12
|
|
muls r3, r5
|
|
ldr r0, _081347B8 @ =gSaveBlock2
|
|
adds r2, r3, r0
|
|
movs r6, 0xA7
|
|
lsls r6, 1
|
|
adds r0, r2, r6
|
|
ldrh r0, [r0]
|
|
cmp r0, r8
|
|
bne _081347A4
|
|
subs r6, 0x2
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, r7
|
|
bne _081347A4
|
|
cmp r4, 0
|
|
beq _081347A4
|
|
ldr r2, _081347BC @ =gSaveBlock2 + 0x1EC
|
|
adds r0, r3, r2
|
|
ldr r0, [r0]
|
|
cmp r0, r1
|
|
bne _081347A4
|
|
mov r3, r10
|
|
adds r3, 0x4
|
|
mov r10, r3
|
|
subs r3, 0x4
|
|
stm r3!, {r5}
|
|
movs r6, 0x1
|
|
add r9, r6
|
|
_081347A4:
|
|
ldr r5, [sp, 0x14]
|
|
cmp r5, 0x4
|
|
ble _0813474C
|
|
mov r0, r9
|
|
cmp r0, 0
|
|
bne _081347C0
|
|
movs r0, 0
|
|
b _081347E0
|
|
.align 2, 0
|
|
_081347B4: .4byte gSaveBlock2 + 0x14C
|
|
_081347B8: .4byte gSaveBlock2
|
|
_081347BC: .4byte gSaveBlock2 + 0x1EC
|
|
_081347C0:
|
|
bl Random
|
|
ldr r4, _081347F0 @ =gSaveBlock2
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
mov r1, r9
|
|
bl __modsi3
|
|
lsls r0, 2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
adds r0, 0x64
|
|
ldr r1, _081347F4 @ =0x00000564
|
|
adds r4, r1
|
|
strb r0, [r4]
|
|
_081347DE:
|
|
movs r0, 0x1
|
|
_081347E0:
|
|
add sp, 0x18
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081347F0: .4byte gSaveBlock2
|
|
_081347F4: .4byte 0x00000564
|
|
thumb_func_end sub_81346F4
|
|
|
|
thumb_func_start sub_81347F8
|
|
sub_81347F8: @ 81347F8
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r5, _08134838 @ =gSaveBlock2
|
|
ldr r1, _0813483C @ =0x00000554
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r6, r0, 31
|
|
bl sub_81346F4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _08134848
|
|
ldr r2, _08134840 @ =0x00000564
|
|
adds r4, r5, r2
|
|
ldrb r0, [r4]
|
|
bl sub_81349FC
|
|
lsls r0, r6, 1
|
|
movs r3, 0xAB
|
|
lsls r3, 3
|
|
adds r1, r5, r3
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
adds r0, r5, r0
|
|
ldr r1, _08134844 @ =0x00000569
|
|
adds r0, r1
|
|
ldrb r1, [r4]
|
|
b _081349DC
|
|
.align 2, 0
|
|
_08134838: .4byte gSaveBlock2
|
|
_0813483C: .4byte 0x00000554
|
|
_08134840: .4byte 0x00000564
|
|
_08134844: .4byte 0x00000569
|
|
_08134848:
|
|
lsls r0, r6, 1
|
|
ldr r2, _081348D8 @ =0x0000055c
|
|
adds r1, r5, r2
|
|
adds r1, r0, r1
|
|
ldrh r1, [r1]
|
|
adds r7, r0, 0
|
|
cmp r1, 0x7
|
|
bls _0813485A
|
|
b _0813495C
|
|
_0813485A:
|
|
movs r3, 0xAB
|
|
lsls r3, 3
|
|
adds r0, r5, r3
|
|
adds r1, r7, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0x7
|
|
bne _081348E4
|
|
adds r6, r5, 0
|
|
mov r9, r7
|
|
adds r5, r1, 0
|
|
ldr r0, _081348DC @ =0x0000056a
|
|
adds r0, r6
|
|
mov r10, r0
|
|
mov r8, r5
|
|
_08134876:
|
|
bl Random
|
|
movs r1, 0xFF
|
|
ands r1, r0
|
|
lsls r2, r1, 2
|
|
adds r2, r1
|
|
ldr r1, _081348D8 @ =0x0000055c
|
|
adds r4, r6, r1
|
|
mov r3, r9
|
|
adds r0, r3, r4
|
|
ldrh r1, [r0]
|
|
subs r1, 0x1
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
adds r0, 0x14
|
|
lsrs r2, 7
|
|
adds r2, r0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r1, 0
|
|
ldrh r0, [r5]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _081348C8
|
|
mov r3, r10
|
|
ldrb r0, [r3]
|
|
cmp r0, r2
|
|
beq _081348C8
|
|
subs r0, r4, 0x4
|
|
adds r0, r7, r0
|
|
ldrh r0, [r0]
|
|
subs r3, r0, 0x1
|
|
adds r4, 0xE
|
|
_081348BA:
|
|
adds r1, 0x1
|
|
cmp r1, r3
|
|
bge _081348C8
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, r2
|
|
bne _081348BA
|
|
_081348C8:
|
|
mov r3, r8
|
|
ldrh r0, [r3]
|
|
subs r0, 0x1
|
|
ldr r4, _081348E0 @ =gSaveBlock2
|
|
cmp r1, r0
|
|
bne _08134876
|
|
b _081349B6
|
|
.align 2, 0
|
|
_081348D8: .4byte 0x0000055c
|
|
_081348DC: .4byte 0x0000056a
|
|
_081348E0: .4byte gSaveBlock2
|
|
_081348E4:
|
|
adds r6, r5, 0
|
|
mov r9, r7
|
|
adds r5, r1, 0
|
|
ldr r2, _08134950 @ =0x0000056a
|
|
adds r2, r6
|
|
mov r10, r2
|
|
mov r8, r5
|
|
_081348F2:
|
|
bl Random
|
|
movs r1, 0xFF
|
|
ands r1, r0
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsrs r2, r0, 6
|
|
ldr r3, _08134954 @ =0x0000055c
|
|
adds r4, r6, r3
|
|
mov r1, r9
|
|
adds r0, r1, r4
|
|
ldrh r1, [r0]
|
|
subs r1, 0x1
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 1
|
|
adds r0, r2, r0
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
movs r1, 0
|
|
ldrh r0, [r5]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _08134942
|
|
mov r3, r10
|
|
ldrb r0, [r3]
|
|
cmp r0, r2
|
|
beq _08134942
|
|
subs r0, r4, 0x4
|
|
adds r0, r7, r0
|
|
ldrh r0, [r0]
|
|
subs r3, r0, 0x1
|
|
adds r4, 0xE
|
|
_08134934:
|
|
adds r1, 0x1
|
|
cmp r1, r3
|
|
bge _08134942
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, r2
|
|
bne _08134934
|
|
_08134942:
|
|
mov r3, r8
|
|
ldrh r0, [r3]
|
|
subs r0, 0x1
|
|
ldr r4, _08134958 @ =gSaveBlock2
|
|
cmp r1, r0
|
|
bne _081348F2
|
|
b _081349B6
|
|
.align 2, 0
|
|
_08134950: .4byte 0x0000056a
|
|
_08134954: .4byte 0x0000055c
|
|
_08134958: .4byte gSaveBlock2
|
|
_0813495C:
|
|
movs r2, 0xAB
|
|
lsls r2, 3
|
|
adds r0, r5, r2
|
|
adds r6, r7, r0
|
|
ldr r3, _081349EC @ =0x0000056a
|
|
adds r3, r5
|
|
mov r8, r3
|
|
adds r5, r6, 0
|
|
_0813496C:
|
|
bl Random
|
|
movs r1, 0xFF
|
|
ands r1, r0
|
|
lsls r0, r1, 4
|
|
subs r0, r1
|
|
lsls r0, 1
|
|
asrs r0, 8
|
|
adds r0, 0x46
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
movs r1, 0
|
|
ldrh r0, [r6]
|
|
subs r0, 0x1
|
|
cmp r1, r0
|
|
bge _081349AC
|
|
mov r3, r8
|
|
ldrb r0, [r3]
|
|
ldr r4, _081349F0 @ =gSaveBlock2
|
|
cmp r0, r2
|
|
beq _081349AC
|
|
ldrh r0, [r5]
|
|
subs r3, r0, 0x1
|
|
ldr r0, _081349EC @ =0x0000056a
|
|
adds r4, r0
|
|
_0813499E:
|
|
adds r1, 0x1
|
|
cmp r1, r3
|
|
bge _081349AC
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, r2
|
|
bne _0813499E
|
|
_081349AC:
|
|
ldrh r0, [r6]
|
|
subs r0, 0x1
|
|
ldr r4, _081349F0 @ =gSaveBlock2
|
|
cmp r1, r0
|
|
bne _0813496C
|
|
_081349B6:
|
|
ldr r1, _081349F4 @ =0x00000564
|
|
adds r0, r4, r1
|
|
strb r2, [r0]
|
|
ldr r2, _081349F4 @ =0x00000564
|
|
adds r5, r4, r2
|
|
ldrb r0, [r5]
|
|
bl sub_81349FC
|
|
movs r3, 0xAB
|
|
lsls r3, 3
|
|
adds r0, r4, r3
|
|
adds r1, r7, r0
|
|
ldrh r0, [r1]
|
|
cmp r0, 0x6
|
|
bhi _081349DE
|
|
adds r0, r4, r0
|
|
ldr r1, _081349F8 @ =0x00000569
|
|
adds r0, r1
|
|
ldrb r1, [r5]
|
|
_081349DC:
|
|
strb r1, [r0]
|
|
_081349DE:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081349EC: .4byte 0x0000056a
|
|
_081349F0: .4byte gSaveBlock2
|
|
_081349F4: .4byte 0x00000564
|
|
_081349F8: .4byte 0x00000569
|
|
thumb_func_end sub_81347F8
|
|
|
|
thumb_func_start sub_81349FC
|
|
sub_81349FC: @ 81349FC
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r2, r0, 24
|
|
adds r1, r2, 0
|
|
cmp r2, 0x63
|
|
bhi _08134A18
|
|
ldr r1, _08134A14 @ =gBattleTowerTrainers
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 3
|
|
b _08134A38
|
|
.align 2, 0
|
|
_08134A14: .4byte gBattleTowerTrainers
|
|
_08134A18:
|
|
cmp r1, 0xC7
|
|
bhi _08134A34
|
|
ldr r2, _08134A2C @ =gSaveBlock2
|
|
subs r1, 0x64
|
|
movs r0, 0xA4
|
|
muls r0, r1
|
|
adds r0, r2
|
|
ldr r1, _08134A30 @ =0x0000014d
|
|
b _08134A38
|
|
.align 2, 0
|
|
_08134A2C: .4byte gSaveBlock2
|
|
_08134A30: .4byte 0x0000014d
|
|
_08134A34:
|
|
ldr r0, _08134A5C @ =gSaveBlock2
|
|
ldr r1, _08134A60 @ =0x00000499
|
|
_08134A38:
|
|
adds r0, r1
|
|
ldrb r1, [r0]
|
|
movs r2, 0
|
|
ldr r3, _08134A64 @ =gUnknown_08405E60
|
|
ldrb r0, [r3]
|
|
cmp r0, r1
|
|
beq _08134A54
|
|
_08134A46:
|
|
adds r2, 0x1
|
|
cmp r2, 0x1D
|
|
bhi _08134A54
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
bne _08134A46
|
|
_08134A54:
|
|
cmp r2, 0x1E
|
|
beq _08134A6C
|
|
ldr r0, _08134A68 @ =gUnknown_08405E92
|
|
b _08134A8A
|
|
.align 2, 0
|
|
_08134A5C: .4byte gSaveBlock2
|
|
_08134A60: .4byte 0x00000499
|
|
_08134A64: .4byte gUnknown_08405E60
|
|
_08134A68: .4byte gUnknown_08405E92
|
|
_08134A6C:
|
|
movs r2, 0
|
|
ldr r3, _08134A98 @ =gUnknown_08405E7E
|
|
ldrb r0, [r3]
|
|
cmp r0, r1
|
|
beq _08134A84
|
|
_08134A76:
|
|
adds r2, 0x1
|
|
cmp r2, 0x13
|
|
bhi _08134A84
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
bne _08134A76
|
|
_08134A84:
|
|
cmp r2, 0x14
|
|
beq _08134AA4
|
|
ldr r0, _08134A9C @ =gUnknown_08405EB0
|
|
_08134A8A:
|
|
adds r0, r2, r0
|
|
ldrb r1, [r0]
|
|
ldr r0, _08134AA0 @ =0x00004010
|
|
bl VarSet
|
|
b _08134AAC
|
|
.align 2, 0
|
|
_08134A98: .4byte gUnknown_08405E7E
|
|
_08134A9C: .4byte gUnknown_08405EB0
|
|
_08134AA0: .4byte 0x00004010
|
|
_08134AA4:
|
|
ldr r0, _08134AB0 @ =0x00004010
|
|
movs r1, 0x7
|
|
bl VarSet
|
|
_08134AAC:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08134AB0: .4byte 0x00004010
|
|
thumb_func_end sub_81349FC
|
|
|
|
thumb_func_start sub_8134AB4
|
|
sub_8134AB4: @ 8134AB4
|
|
push {lr}
|
|
movs r0, 0xC8
|
|
bl sub_81349FC
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8134AB4
|
|
|
|
thumb_func_start sub_8134AC0
|
|
sub_8134AC0: @ 8134AC0
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x1C
|
|
movs r7, 0
|
|
mov r8, r0
|
|
movs r5, 0
|
|
ldr r0, _08134B3C @ =gSaveBlock2
|
|
mov r12, r0
|
|
mov r1, r8
|
|
ldrb r1, [r1, 0xC]
|
|
str r1, [sp, 0x18]
|
|
movs r2, 0xAA
|
|
lsls r2, 1
|
|
add r2, r12
|
|
mov r10, r2
|
|
mov r9, r5
|
|
_08134AE6:
|
|
movs r6, 0
|
|
movs r3, 0
|
|
ldr r0, _08134B40 @ =gSaveBlock2 + 0x158
|
|
add r0, r9
|
|
ldrb r0, [r0]
|
|
ldr r1, [sp, 0x18]
|
|
cmp r0, r1
|
|
bne _08134B14
|
|
movs r0, 0xA4
|
|
muls r0, r5
|
|
ldr r1, _08134B40 @ =gSaveBlock2 + 0x158
|
|
adds r2, r0, r1
|
|
mov r4, r8
|
|
adds r4, 0xC
|
|
_08134B02:
|
|
adds r2, 0x1
|
|
adds r3, 0x1
|
|
cmp r3, 0x3
|
|
bgt _08134B14
|
|
adds r1, r4, r3
|
|
ldrb r0, [r2]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _08134B02
|
|
_08134B14:
|
|
cmp r3, 0x4
|
|
bne _08134B54
|
|
movs r6, 0
|
|
mov r2, r10
|
|
ldrb r0, [r2]
|
|
mov r3, r8
|
|
ldrb r3, [r3, 0x8]
|
|
cmp r0, r3
|
|
bne _08134B54
|
|
adds r1, r0, 0
|
|
movs r0, 0xA4
|
|
muls r0, r5
|
|
adds r0, 0x4
|
|
ldr r3, _08134B44 @ =gSaveBlock2 + 0x150
|
|
adds r2, r0, r3
|
|
_08134B32:
|
|
cmp r1, 0xFF
|
|
bne _08134B48
|
|
movs r6, 0x7
|
|
b _08134B54
|
|
.align 2, 0
|
|
_08134B3C: .4byte gSaveBlock2
|
|
_08134B40: .4byte gSaveBlock2 + 0x158
|
|
_08134B44: .4byte gSaveBlock2 + 0x150
|
|
_08134B48:
|
|
adds r6, 0x1
|
|
cmp r6, 0x6
|
|
bgt _08134B54
|
|
ldrb r0, [r2]
|
|
cmp r0, r1
|
|
beq _08134B32
|
|
_08134B54:
|
|
cmp r6, 0x7
|
|
beq _08134B64
|
|
movs r0, 0xA4
|
|
add r10, r0
|
|
add r9, r0
|
|
adds r5, 0x1
|
|
cmp r5, 0x4
|
|
ble _08134AE6
|
|
_08134B64:
|
|
cmp r5, 0x4
|
|
bgt _08134B76
|
|
movs r0, 0xA4
|
|
muls r0, r5
|
|
add r0, r12
|
|
movs r1, 0xA6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
b _08134B9E
|
|
_08134B76:
|
|
movs r5, 0
|
|
movs r1, 0xA7
|
|
lsls r1, 1
|
|
add r1, r12
|
|
b _08134B88
|
|
_08134B80:
|
|
adds r1, 0xA4
|
|
adds r5, 0x1
|
|
cmp r5, 0x4
|
|
bgt _08134BA8
|
|
_08134B88:
|
|
ldrh r0, [r1]
|
|
cmp r0, 0
|
|
bne _08134B80
|
|
cmp r5, 0x4
|
|
bgt _08134BA8
|
|
movs r0, 0xA4
|
|
muls r0, r5
|
|
add r0, r12
|
|
movs r2, 0xA6
|
|
lsls r2, 1
|
|
adds r0, r2
|
|
_08134B9E:
|
|
mov r1, r8
|
|
movs r2, 0xA4
|
|
bl memcpy
|
|
b _08134C5E
|
|
_08134BA8:
|
|
mov r2, sp
|
|
movs r3, 0xA7
|
|
lsls r3, 1
|
|
mov r1, r12
|
|
adds r0, r1, r3
|
|
ldrh r0, [r0]
|
|
movs r1, 0
|
|
strh r0, [r2]
|
|
add r0, sp, 0xC
|
|
strh r1, [r0]
|
|
adds r7, 0x1
|
|
movs r5, 0x1
|
|
add r2, sp, 0xC
|
|
mov r9, r2
|
|
mov r10, r3
|
|
_08134BC6:
|
|
movs r3, 0
|
|
adds r0, r5, 0x1
|
|
mov r12, r0
|
|
cmp r3, r7
|
|
bge _08134C0A
|
|
movs r1, 0xA4
|
|
adds r0, r5, 0
|
|
muls r0, r1
|
|
ldr r2, _08134BFC @ =gSaveBlock2
|
|
adds r0, r2
|
|
mov r1, r10
|
|
adds r4, r0, r1
|
|
mov r6, sp
|
|
_08134BE0:
|
|
lsls r0, r3, 1
|
|
add r0, sp
|
|
ldrh r2, [r4]
|
|
adds r1, r2, 0
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
bcs _08134C00
|
|
movs r3, 0
|
|
movs r7, 0x1
|
|
strh r2, [r6]
|
|
mov r2, r9
|
|
strh r5, [r2]
|
|
b _08134C0A
|
|
.align 2, 0
|
|
_08134BFC: .4byte gSaveBlock2
|
|
_08134C00:
|
|
cmp r1, r0
|
|
bhi _08134C0A
|
|
adds r3, 0x1
|
|
cmp r3, r7
|
|
blt _08134BE0
|
|
_08134C0A:
|
|
cmp r3, r7
|
|
bne _08134C2A
|
|
lsls r1, r7, 1
|
|
mov r3, sp
|
|
adds r2, r3, r1
|
|
movs r3, 0xA4
|
|
adds r0, r5, 0
|
|
muls r0, r3
|
|
ldr r3, _08134C70 @ =gSaveBlock2
|
|
adds r0, r3
|
|
add r0, r10
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
add r1, r9
|
|
strh r5, [r1]
|
|
adds r7, 0x1
|
|
_08134C2A:
|
|
mov r5, r12
|
|
cmp r5, 0x4
|
|
ble _08134BC6
|
|
bl Random
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
adds r1, r7, 0
|
|
bl __modsi3
|
|
adds r5, r0, 0
|
|
ldr r2, _08134C70 @ =gSaveBlock2
|
|
lsls r0, r5, 1
|
|
add r0, sp
|
|
adds r0, 0xC
|
|
ldrh r1, [r0]
|
|
movs r0, 0xA4
|
|
muls r0, r1
|
|
adds r0, r2
|
|
movs r1, 0xA6
|
|
lsls r1, 1
|
|
adds r0, r1
|
|
mov r1, r8
|
|
movs r2, 0xA4
|
|
bl memcpy
|
|
_08134C5E:
|
|
add sp, 0x1C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08134C70: .4byte gSaveBlock2
|
|
thumb_func_end sub_8134AC0
|
|
|
|
thumb_func_start get_trainer_class_pic_index
|
|
get_trainer_class_pic_index: @ 8134C74
|
|
push {lr}
|
|
ldr r3, _08134C90 @ =gSaveBlock2
|
|
ldr r0, _08134C94 @ =0x00000564
|
|
adds r1, r3, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xC8
|
|
bne _08134CA0
|
|
ldr r1, _08134C98 @ =gTrainerClassToPicIndex
|
|
ldr r2, _08134C9C @ =0x00000499
|
|
adds r0, r3, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
b _08134CD2
|
|
.align 2, 0
|
|
_08134C90: .4byte gSaveBlock2
|
|
_08134C94: .4byte 0x00000564
|
|
_08134C98: .4byte gTrainerClassToPicIndex
|
|
_08134C9C: .4byte 0x00000499
|
|
_08134CA0:
|
|
cmp r0, 0x63
|
|
bls _08134CC0
|
|
ldr r2, _08134CBC @ =gTrainerClassToPicIndex
|
|
ldrb r0, [r1]
|
|
subs r0, 0x64
|
|
movs r1, 0xA4
|
|
muls r0, r1
|
|
adds r0, r3
|
|
adds r1, 0xA9
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
adds r0, r2
|
|
b _08134CD2
|
|
.align 2, 0
|
|
_08134CBC: .4byte gTrainerClassToPicIndex
|
|
_08134CC0:
|
|
ldr r3, _08134CD8 @ =gTrainerClassToPicIndex
|
|
ldr r2, _08134CDC @ =gBattleTowerTrainers
|
|
ldrb r1, [r1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r3
|
|
_08134CD2:
|
|
ldrb r0, [r0]
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08134CD8: .4byte gTrainerClassToPicIndex
|
|
_08134CDC: .4byte gBattleTowerTrainers
|
|
thumb_func_end get_trainer_class_pic_index
|
|
|
|
thumb_func_start get_trainer_class_name_index
|
|
get_trainer_class_name_index: @ 8134CE0
|
|
push {lr}
|
|
ldr r3, _08134CFC @ =gSaveBlock2
|
|
ldr r0, _08134D00 @ =0x00000564
|
|
adds r1, r3, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xC8
|
|
bne _08134D0C
|
|
ldr r1, _08134D04 @ =gTrainerClassToNameIndex
|
|
ldr r2, _08134D08 @ =0x00000499
|
|
adds r0, r3, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
b _08134D40
|
|
.align 2, 0
|
|
_08134CFC: .4byte gSaveBlock2
|
|
_08134D00: .4byte 0x00000564
|
|
_08134D04: .4byte gTrainerClassToNameIndex
|
|
_08134D08: .4byte 0x00000499
|
|
_08134D0C:
|
|
cmp r0, 0x63
|
|
bhi _08134D2C
|
|
ldr r3, _08134D24 @ =gTrainerClassToNameIndex
|
|
ldr r2, _08134D28 @ =gBattleTowerTrainers
|
|
ldrb r1, [r1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r3
|
|
b _08134D40
|
|
.align 2, 0
|
|
_08134D24: .4byte gTrainerClassToNameIndex
|
|
_08134D28: .4byte gBattleTowerTrainers
|
|
_08134D2C:
|
|
ldr r2, _08134D48 @ =gTrainerClassToNameIndex
|
|
ldrb r0, [r1]
|
|
subs r0, 0x64
|
|
movs r1, 0xA4
|
|
muls r0, r1
|
|
adds r0, r3
|
|
adds r1, 0xA9
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
adds r0, r2
|
|
_08134D40:
|
|
ldrb r0, [r0]
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08134D48: .4byte gTrainerClassToNameIndex
|
|
thumb_func_end get_trainer_class_name_index
|
|
|
|
thumb_func_start get_trainer_name
|
|
get_trainer_name: @ 8134D4C
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
ldr r2, _08134D74 @ =gSaveBlock2
|
|
ldr r0, _08134D78 @ =0x00000564
|
|
adds r1, r2, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xC8
|
|
bne _08134D80
|
|
movs r3, 0
|
|
ldr r5, _08134D7C @ =0x0000049c
|
|
adds r2, r5
|
|
_08134D62:
|
|
adds r0, r4, r3
|
|
adds r1, r3, r2
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x6
|
|
ble _08134D62
|
|
b _08134DC8
|
|
.align 2, 0
|
|
_08134D74: .4byte gSaveBlock2
|
|
_08134D78: .4byte 0x00000564
|
|
_08134D7C: .4byte 0x0000049c
|
|
_08134D80:
|
|
cmp r0, 0x63
|
|
bhi _08134DA8
|
|
movs r3, 0
|
|
ldr r2, _08134DA4 @ =gBattleTowerTrainers
|
|
ldrb r1, [r1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r2, 0x1
|
|
adds r2, r0, r2
|
|
_08134D94:
|
|
adds r1, r4, r3
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r2, 0x1
|
|
adds r3, 0x1
|
|
cmp r3, 0x6
|
|
ble _08134D94
|
|
b _08134DC8
|
|
.align 2, 0
|
|
_08134DA4: .4byte gBattleTowerTrainers
|
|
_08134DA8:
|
|
movs r3, 0
|
|
ldrb r0, [r1]
|
|
subs r0, 0x64
|
|
movs r1, 0xA4
|
|
muls r1, r0
|
|
movs r5, 0xA8
|
|
lsls r5, 1
|
|
adds r0, r2, r5
|
|
adds r2, r1, r0
|
|
_08134DBA:
|
|
adds r1, r4, r3
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
adds r2, 0x1
|
|
adds r3, 0x1
|
|
cmp r3, 0x6
|
|
ble _08134DBA
|
|
_08134DC8:
|
|
adds r1, r4, r3
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end get_trainer_name
|
|
|
|
thumb_func_start sub_8134DD4
|
|
sub_8134DD4: @ 8134DD4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x28
|
|
movs r0, 0
|
|
str r0, [sp, 0x18]
|
|
movs r1, 0x3C
|
|
str r1, [sp, 0x1C]
|
|
add r4, sp, 0xC
|
|
movs r0, 0xFF
|
|
strb r0, [r4]
|
|
bl ZeroEnemyPartyMons
|
|
ldr r1, _08134E04 @ =gSaveBlock2
|
|
ldr r2, _08134E08 @ =0x00000564
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x13
|
|
bhi _08134E0C
|
|
movs r3, 0x6
|
|
str r3, [sp, 0x14]
|
|
b _08134ED8
|
|
.align 2, 0
|
|
_08134E04: .4byte gSaveBlock2
|
|
_08134E08: .4byte 0x00000564
|
|
_08134E0C:
|
|
cmp r0, 0x1D
|
|
bhi _08134E1A
|
|
movs r0, 0x9
|
|
str r0, [sp, 0x14]
|
|
movs r1, 0x1E
|
|
str r1, [sp, 0x18]
|
|
b _08134ED8
|
|
_08134E1A:
|
|
cmp r0, 0x27
|
|
bhi _08134E28
|
|
movs r2, 0xC
|
|
str r2, [sp, 0x14]
|
|
movs r3, 0x3C
|
|
str r3, [sp, 0x18]
|
|
b _08134ED8
|
|
_08134E28:
|
|
cmp r0, 0x31
|
|
bhi _08134E36
|
|
movs r0, 0xF
|
|
str r0, [sp, 0x14]
|
|
movs r1, 0x5A
|
|
str r1, [sp, 0x18]
|
|
b _08134ED8
|
|
_08134E36:
|
|
cmp r0, 0x3B
|
|
bhi _08134E44
|
|
movs r2, 0x12
|
|
str r2, [sp, 0x14]
|
|
movs r3, 0x78
|
|
str r3, [sp, 0x18]
|
|
b _08134ED8
|
|
_08134E44:
|
|
cmp r0, 0x45
|
|
bhi _08134E52
|
|
movs r0, 0x15
|
|
str r0, [sp, 0x14]
|
|
movs r1, 0x96
|
|
str r1, [sp, 0x18]
|
|
b _08134ED8
|
|
_08134E52:
|
|
cmp r0, 0x4F
|
|
bhi _08134E60
|
|
movs r2, 0x1F
|
|
str r2, [sp, 0x14]
|
|
movs r3, 0xB4
|
|
str r3, [sp, 0x18]
|
|
b _08134ED8
|
|
_08134E60:
|
|
cmp r0, 0x63
|
|
bhi _08134E72
|
|
movs r0, 0x1F
|
|
str r0, [sp, 0x14]
|
|
movs r1, 0xC8
|
|
str r1, [sp, 0x18]
|
|
movs r2, 0x64
|
|
str r2, [sp, 0x1C]
|
|
b _08134ED8
|
|
_08134E72:
|
|
cmp r0, 0xC8
|
|
bne _08134E9C
|
|
movs r6, 0
|
|
_08134E78:
|
|
movs r0, 0x64
|
|
muls r0, r6
|
|
ldr r1, _08134E94 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2C
|
|
muls r1, r6
|
|
ldr r2, _08134E98 @ =gSaveBlock2 + 0x4CC
|
|
adds r1, r2
|
|
bl sub_803ADE8
|
|
adds r6, 0x1
|
|
cmp r6, 0x2
|
|
ble _08134E78
|
|
b _08135082
|
|
.align 2, 0
|
|
_08134E94: .4byte gEnemyParty
|
|
_08134E98: .4byte gSaveBlock2 + 0x4CC
|
|
_08134E9C:
|
|
movs r6, 0
|
|
adds r4, r1, 0
|
|
ldr r3, _08134ECC @ =0xffffc158
|
|
adds r5, r4, r3
|
|
_08134EA4:
|
|
movs r0, 0x64
|
|
muls r0, r6
|
|
ldr r1, _08134ED0 @ =gEnemyParty
|
|
adds r0, r1
|
|
ldr r2, _08134ED4 @ =0x00000564
|
|
adds r1, r4, r2
|
|
ldrb r2, [r1]
|
|
movs r1, 0xA4
|
|
muls r1, r2
|
|
adds r1, r5
|
|
movs r2, 0x2C
|
|
muls r2, r6
|
|
adds r1, r2
|
|
bl sub_803ADE8
|
|
adds r6, 0x1
|
|
cmp r6, 0x2
|
|
ble _08134EA4
|
|
b _08135082
|
|
.align 2, 0
|
|
_08134ECC: .4byte 0xffffc158
|
|
_08134ED0: .4byte gEnemyParty
|
|
_08134ED4: .4byte 0x00000564
|
|
_08134ED8:
|
|
ldr r2, _08134EF4 @ =gSaveBlock2
|
|
ldr r3, _08134EF8 @ =0x00000554
|
|
adds r0, r2, r3
|
|
ldrb r1, [r0]
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
adds r1, r2, 0
|
|
cmp r0, 0
|
|
beq _08134F00
|
|
ldr r0, _08134EFC @ =gBattleTowerLevel100Mons
|
|
mov r10, r0
|
|
movs r2, 0x64
|
|
str r2, [sp, 0x10]
|
|
b _08134F08
|
|
.align 2, 0
|
|
_08134EF4: .4byte gSaveBlock2
|
|
_08134EF8: .4byte 0x00000554
|
|
_08134EFC: .4byte gBattleTowerLevel100Mons
|
|
_08134F00:
|
|
ldr r3, _08134F54 @ =gBattleTowerLevel50Mons
|
|
mov r10, r3
|
|
movs r0, 0x32
|
|
str r0, [sp, 0x10]
|
|
_08134F08:
|
|
ldr r2, _08134F58 @ =gBattleTowerTrainers
|
|
ldr r3, _08134F5C @ =0x00000564
|
|
adds r0, r1, r3
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
adds r0, r2
|
|
ldrb r0, [r0, 0x9]
|
|
str r0, [sp, 0x20]
|
|
movs r6, 0
|
|
_08134F1E:
|
|
bl Random
|
|
movs r1, 0xFF
|
|
ands r1, r0
|
|
ldr r2, [sp, 0x1C]
|
|
adds r0, r1, 0
|
|
muls r0, r2
|
|
asrs r0, 8
|
|
ldr r3, [sp, 0x18]
|
|
adds r7, r0, r3
|
|
ldr r0, [sp, 0x20]
|
|
cmp r0, 0
|
|
beq _08134F48
|
|
lsls r0, r7, 4
|
|
add r0, r10
|
|
ldrb r0, [r0, 0x3]
|
|
ldr r1, [sp, 0x20]
|
|
ands r0, r1
|
|
cmp r0, r1
|
|
beq _08134F48
|
|
b _0813507C
|
|
_08134F48:
|
|
movs r5, 0
|
|
lsls r0, r7, 4
|
|
mov r2, r10
|
|
adds r3, r0, r2
|
|
movs r4, 0
|
|
b _08134F64
|
|
.align 2, 0
|
|
_08134F54: .4byte gBattleTowerLevel50Mons
|
|
_08134F58: .4byte gBattleTowerTrainers
|
|
_08134F5C: .4byte 0x00000564
|
|
_08134F60:
|
|
adds r4, 0x64
|
|
adds r5, 0x1
|
|
_08134F64:
|
|
cmp r5, r6
|
|
bge _08134F7E
|
|
ldr r1, _08135094 @ =gEnemyParty
|
|
adds r0, r4, r1
|
|
movs r1, 0xB
|
|
movs r2, 0
|
|
str r3, [sp, 0x24]
|
|
bl GetMonData
|
|
ldr r3, [sp, 0x24]
|
|
ldrh r2, [r3]
|
|
cmp r0, r2
|
|
bne _08134F60
|
|
_08134F7E:
|
|
cmp r5, r6
|
|
bne _0813507C
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _08134FCC
|
|
ldr r3, _08135098 @ =gBattleTowerHeldItems
|
|
mov r9, r3
|
|
lsls r0, r7, 4
|
|
add r0, r10
|
|
mov r8, r0
|
|
movs r3, 0
|
|
_08134F94:
|
|
ldr r0, _08135094 @ =gEnemyParty
|
|
adds r4, r3, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
movs r2, 0
|
|
str r3, [sp, 0x24]
|
|
bl GetMonData
|
|
ldr r3, [sp, 0x24]
|
|
cmp r0, 0
|
|
beq _08134FC4
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
movs r2, 0
|
|
bl GetMonData
|
|
mov r2, r8
|
|
ldrb r1, [r2, 0x2]
|
|
lsls r1, 1
|
|
add r1, r9
|
|
ldr r3, [sp, 0x24]
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
beq _08134FCC
|
|
_08134FC4:
|
|
adds r3, 0x64
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
blt _08134F94
|
|
_08134FCC:
|
|
cmp r5, r6
|
|
bne _0813507C
|
|
movs r5, 0
|
|
cmp r5, r6
|
|
bge _08134FEE
|
|
add r0, sp, 0x4
|
|
ldrh r0, [r0]
|
|
cmp r0, r7
|
|
beq _08134FEE
|
|
add r1, sp, 0x4
|
|
_08134FE0:
|
|
adds r1, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, r6
|
|
bge _08134FEE
|
|
ldrh r0, [r1]
|
|
cmp r0, r7
|
|
bne _08134FE0
|
|
_08134FEE:
|
|
cmp r5, r6
|
|
bne _0813507C
|
|
lsls r0, r6, 1
|
|
add r0, sp
|
|
adds r0, 0x4
|
|
strh r7, [r0]
|
|
movs r3, 0x64
|
|
adds r0, r6, 0
|
|
muls r0, r3
|
|
ldr r1, _08135094 @ =gEnemyParty
|
|
adds r0, r1
|
|
lsls r4, r7, 4
|
|
mov r3, r10
|
|
adds r2, r4, r3
|
|
ldrh r1, [r2]
|
|
ldrb r2, [r2, 0xC]
|
|
str r2, [sp]
|
|
ldr r2, [sp, 0x10]
|
|
ldr r3, [sp, 0x14]
|
|
bl CreateMonWithEVSpread
|
|
movs r5, 0
|
|
adds r0, r6, 0x1
|
|
mov r9, r0
|
|
mov r8, r4
|
|
movs r0, 0x64
|
|
adds r7, r6, 0
|
|
muls r7, r0
|
|
mov r0, r10
|
|
adds r0, 0x4
|
|
adds r4, r0
|
|
ldr r3, _08135094 @ =gEnemyParty
|
|
_0813502E:
|
|
ldrh r1, [r4]
|
|
lsls r2, r5, 24
|
|
lsrs r2, 24
|
|
adds r0, r7, r3
|
|
str r3, [sp, 0x24]
|
|
bl SetMonMoveSlot
|
|
ldrh r0, [r4]
|
|
ldr r3, [sp, 0x24]
|
|
cmp r0, 0xDA
|
|
bne _0813504A
|
|
movs r0, 0
|
|
mov r1, sp
|
|
strb r0, [r1, 0xC]
|
|
_0813504A:
|
|
adds r4, 0x2
|
|
adds r5, 0x1
|
|
cmp r5, 0x3
|
|
ble _0813502E
|
|
movs r2, 0x64
|
|
adds r4, r6, 0
|
|
muls r4, r2
|
|
ldr r3, _08135094 @ =gEnemyParty
|
|
adds r4, r3
|
|
adds r0, r4, 0
|
|
movs r1, 0x20
|
|
add r2, sp, 0xC
|
|
bl SetMonData
|
|
mov r0, r8
|
|
add r0, r10
|
|
ldrb r2, [r0, 0x2]
|
|
lsls r2, 1
|
|
ldr r0, _08135098 @ =gBattleTowerHeldItems
|
|
adds r2, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
bl SetMonData
|
|
mov r6, r9
|
|
_0813507C:
|
|
cmp r6, 0x3
|
|
beq _08135082
|
|
b _08134F1E
|
|
_08135082:
|
|
add sp, 0x28
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135094: .4byte gEnemyParty
|
|
_08135098: .4byte gBattleTowerHeldItems
|
|
thumb_func_end sub_8134DD4
|
|
|
|
thumb_func_start CalcBattleTowerBanlistSeenCount
|
|
CalcBattleTowerBanlistSeenCount: @ 813509C
|
|
push {r4-r6,lr}
|
|
movs r5, 0
|
|
ldr r2, _081350D8 @ =gBattleTowerBanlist
|
|
ldrh r0, [r2]
|
|
ldr r1, _081350DC @ =0x0000ffff
|
|
cmp r0, r1
|
|
beq _081350CE
|
|
adds r6, r1, 0
|
|
adds r4, r2, 0
|
|
_081350AE:
|
|
ldrh r0, [r4]
|
|
bl SpeciesToNationalPokedexNum
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
bl GetNationalPokedexFlag
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081350C6
|
|
adds r5, 0x1
|
|
_081350C6:
|
|
adds r4, 0x2
|
|
ldrh r0, [r4]
|
|
cmp r0, r6
|
|
bne _081350AE
|
|
_081350CE:
|
|
adds r0, r5, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081350D8: .4byte gBattleTowerBanlist
|
|
_081350DC: .4byte 0x0000ffff
|
|
thumb_func_end CalcBattleTowerBanlistSeenCount
|
|
|
|
thumb_func_start AppendBattleTowerBannedSpeciesName
|
|
AppendBattleTowerBannedSpeciesName: @ 81350E0
|
|
push {r4-r6,lr}
|
|
adds r5, r2, 0
|
|
lsls r0, 16
|
|
lsrs r6, r0, 16
|
|
lsls r1, 24
|
|
lsrs r4, r1, 24
|
|
adds r0, r6, 0
|
|
bl SpeciesToNationalPokedexNum
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x1
|
|
bl GetNationalPokedexFlag
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _081351E6
|
|
adds r0, r4, 0x1
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
subs r0, r4, 0x1
|
|
cmp r0, 0xA
|
|
bhi _081351B0
|
|
lsls r0, 2
|
|
ldr r1, _08135118 @ =_0813511C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08135118: .4byte _0813511C
|
|
.align 2, 0
|
|
_0813511C:
|
|
.4byte _08135148
|
|
.4byte _08135178
|
|
.4byte _08135148
|
|
.4byte _081351B0
|
|
.4byte _08135148
|
|
.4byte _081351B0
|
|
.4byte _08135148
|
|
.4byte _081351B0
|
|
.4byte _08135148
|
|
.4byte _081351B0
|
|
.4byte _08135148
|
|
_08135148:
|
|
cmp r5, r4
|
|
bne _08135160
|
|
ldr r0, _08135158 @ =gStringVar1
|
|
ldr r1, _0813515C @ =gUnknown_08400E23
|
|
bl StringAppend
|
|
b _081351D8
|
|
.align 2, 0
|
|
_08135158: .4byte gStringVar1
|
|
_0813515C: .4byte gUnknown_08400E23
|
|
_08135160:
|
|
cmp r5, r4
|
|
ble _081351D8
|
|
ldr r0, _08135170 @ =gStringVar1
|
|
ldr r1, _08135174 @ =gUnknown_08400E29
|
|
bl StringAppend
|
|
b _081351D8
|
|
.align 2, 0
|
|
_08135170: .4byte gStringVar1
|
|
_08135174: .4byte gUnknown_08400E29
|
|
_08135178:
|
|
cmp r4, r5
|
|
bne _08135190
|
|
ldr r0, _08135188 @ =gStringVar1
|
|
ldr r1, _0813518C @ =gUnknown_08400E23
|
|
bl StringAppend
|
|
b _08135198
|
|
.align 2, 0
|
|
_08135188: .4byte gStringVar1
|
|
_0813518C: .4byte gUnknown_08400E23
|
|
_08135190:
|
|
ldr r0, _081351A4 @ =gStringVar1
|
|
ldr r1, _081351A8 @ =gUnknown_08400E29
|
|
bl StringAppend
|
|
_08135198:
|
|
ldr r0, _081351A4 @ =gStringVar1
|
|
ldr r1, _081351AC @ =gUnknown_08400E30
|
|
bl StringAppend
|
|
b _081351D8
|
|
.align 2, 0
|
|
_081351A4: .4byte gStringVar1
|
|
_081351A8: .4byte gUnknown_08400E29
|
|
_081351AC: .4byte gUnknown_08400E30
|
|
_081351B0:
|
|
cmp r4, r5
|
|
bne _081351C8
|
|
ldr r0, _081351C0 @ =gStringVar1
|
|
ldr r1, _081351C4 @ =gUnknown_08400E23
|
|
bl StringAppend
|
|
b _081351D0
|
|
.align 2, 0
|
|
_081351C0: .4byte gStringVar1
|
|
_081351C4: .4byte gUnknown_08400E23
|
|
_081351C8:
|
|
ldr r0, _081351F0 @ =gStringVar1
|
|
ldr r1, _081351F4 @ =gUnknown_08400E29
|
|
bl StringAppend
|
|
_081351D0:
|
|
ldr r0, _081351F0 @ =gStringVar1
|
|
ldr r1, _081351F8 @ =gUnknown_08400E2E
|
|
bl StringAppend
|
|
_081351D8:
|
|
ldr r0, _081351F0 @ =gStringVar1
|
|
movs r1, 0xB
|
|
muls r1, r6
|
|
ldr r2, _081351FC @ =gSpeciesNames
|
|
adds r1, r2
|
|
bl StringAppend
|
|
_081351E6:
|
|
adds r0, r4, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_081351F0: .4byte gStringVar1
|
|
_081351F4: .4byte gUnknown_08400E29
|
|
_081351F8: .4byte gUnknown_08400E2E
|
|
_081351FC: .4byte gSpeciesNames
|
|
thumb_func_end AppendBattleTowerBannedSpeciesName
|
|
|
|
thumb_func_start CheckMonBattleTowerBanlist
|
|
CheckMonBattleTowerBanlist: @ 8135200
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
ldr r2, [sp, 0x20]
|
|
ldr r4, [sp, 0x24]
|
|
mov r9, r4
|
|
ldr r4, [sp, 0x28]
|
|
mov r10, r4
|
|
ldr r7, [sp, 0x2C]
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
lsls r1, 16
|
|
lsrs r6, r1, 16
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
mov r12, r3
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r8, r2
|
|
movs r2, 0
|
|
movs r0, 0xCE
|
|
lsls r0, 1
|
|
cmp r4, r0
|
|
beq _081352CE
|
|
cmp r4, 0
|
|
beq _081352CE
|
|
ldr r0, _081352DC @ =gBattleTowerBanlist
|
|
ldrh r1, [r0]
|
|
ldr r5, _081352E0 @ =0x0000ffff
|
|
adds r3, r0, 0
|
|
cmp r1, r5
|
|
beq _08135264
|
|
cmp r1, r4
|
|
beq _08135258
|
|
adds r1, r3, 0
|
|
_0813524A:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
ldrh r0, [r1]
|
|
cmp r0, r5
|
|
beq _08135264
|
|
cmp r0, r4
|
|
bne _0813524A
|
|
_08135258:
|
|
lsls r0, r2, 1
|
|
adds r0, r3
|
|
ldrh r1, [r0]
|
|
ldr r0, _081352E0 @ =0x0000ffff
|
|
cmp r1, r0
|
|
bne _081352CE
|
|
_08135264:
|
|
mov r0, r12
|
|
cmp r0, 0
|
|
bne _08135270
|
|
mov r1, r8
|
|
cmp r1, 0x32
|
|
bhi _081352CE
|
|
_08135270:
|
|
movs r2, 0
|
|
ldrb r3, [r7]
|
|
cmp r2, r3
|
|
bge _08135290
|
|
mov r1, r9
|
|
ldrh r0, [r1]
|
|
cmp r0, r4
|
|
beq _08135290
|
|
adds r5, r3, 0
|
|
_08135282:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, r5
|
|
bge _08135290
|
|
ldrh r0, [r1]
|
|
cmp r0, r4
|
|
bne _08135282
|
|
_08135290:
|
|
cmp r2, r3
|
|
bne _081352CE
|
|
cmp r6, 0
|
|
beq _081352BA
|
|
movs r2, 0
|
|
cmp r2, r3
|
|
bge _081352B6
|
|
mov r1, r10
|
|
ldrh r0, [r1]
|
|
cmp r0, r6
|
|
beq _081352B6
|
|
adds r5, r3, 0
|
|
_081352A8:
|
|
adds r1, 0x2
|
|
adds r2, 0x1
|
|
cmp r2, r5
|
|
bge _081352B6
|
|
ldrh r0, [r1]
|
|
cmp r0, r6
|
|
bne _081352A8
|
|
_081352B6:
|
|
cmp r2, r3
|
|
bne _081352CE
|
|
_081352BA:
|
|
lsls r0, r3, 1
|
|
add r0, r9
|
|
strh r4, [r0]
|
|
ldrb r0, [r7]
|
|
lsls r0, 1
|
|
add r0, r10
|
|
strh r6, [r0]
|
|
ldrb r0, [r7]
|
|
adds r0, 0x1
|
|
strb r0, [r7]
|
|
_081352CE:
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081352DC: .4byte gBattleTowerBanlist
|
|
_081352E0: .4byte 0x0000ffff
|
|
thumb_func_end CheckMonBattleTowerBanlist
|
|
|
|
thumb_func_start CheckPartyBattleTowerBanlist
|
|
CheckPartyBattleTowerBanlist: @ 81352E4
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x2C
|
|
add r1, sp, 0x28
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
movs r7, 0
|
|
mov r9, r1
|
|
add r0, sp, 0x1C
|
|
mov r10, r0
|
|
_081352FE:
|
|
movs r0, 0x64
|
|
adds r5, r7, 0
|
|
muls r5, r0
|
|
ldr r0, _081353C4 @ =gPlayerParty
|
|
adds r5, r0
|
|
adds r0, r5, 0
|
|
movs r1, 0x41
|
|
bl GetMonData
|
|
mov r8, r0
|
|
mov r1, r8
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
mov r8, r1
|
|
adds r0, r5, 0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
adds r6, r0, 0
|
|
lsls r6, 16
|
|
lsrs r6, 16
|
|
adds r0, r5, 0
|
|
movs r1, 0x38
|
|
bl GetMonData
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
movs r1, 0x39
|
|
bl GetMonData
|
|
adds r2, r0, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r5, _081353C8 @ =gScriptResult
|
|
ldrb r3, [r5]
|
|
str r4, [sp]
|
|
add r0, sp, 0x10
|
|
str r0, [sp, 0x4]
|
|
mov r1, r10
|
|
str r1, [sp, 0x8]
|
|
mov r0, r9
|
|
str r0, [sp, 0xC]
|
|
mov r0, r8
|
|
adds r1, r6, 0
|
|
bl CheckMonBattleTowerBanlist
|
|
adds r7, 0x1
|
|
cmp r7, 0x5
|
|
ble _081352FE
|
|
mov r1, r9
|
|
ldrb r0, [r1]
|
|
cmp r0, 0x2
|
|
bhi _08135420
|
|
ldr r1, _081353CC @ =gStringVar1
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
ldr r1, _081353D0 @ =gSpecialVar_0x8004
|
|
movs r0, 0x1
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
mov r1, r9
|
|
strb r0, [r1]
|
|
bl CalcBattleTowerBanlistSeenCount
|
|
adds r6, r0, 0
|
|
ldr r2, _081353D4 @ =gBattleTowerBanlist
|
|
ldrh r0, [r2]
|
|
ldr r1, _081353D8 @ =0x0000ffff
|
|
cmp r0, r1
|
|
beq _081353A8
|
|
mov r5, r9
|
|
adds r7, r1, 0
|
|
adds r4, r2, 0
|
|
_08135394:
|
|
ldrh r0, [r4]
|
|
ldrb r1, [r5]
|
|
adds r2, r6, 0
|
|
bl AppendBattleTowerBannedSpeciesName
|
|
strb r0, [r5]
|
|
adds r4, 0x2
|
|
ldrh r0, [r4]
|
|
cmp r0, r7
|
|
bne _08135394
|
|
_081353A8:
|
|
mov r0, r9
|
|
ldrb r1, [r0]
|
|
cmp r1, 0
|
|
bne _081353E4
|
|
ldr r4, _081353CC @ =gStringVar1
|
|
ldr r1, _081353DC @ =gUnknown_08400E2C
|
|
adds r0, r4, 0
|
|
bl StringAppend
|
|
ldr r1, _081353E0 @ =gUnknown_08400E32
|
|
adds r0, r4, 0
|
|
bl StringAppend
|
|
b _0813543E
|
|
.align 2, 0
|
|
_081353C4: .4byte gPlayerParty
|
|
_081353C8: .4byte gScriptResult
|
|
_081353CC: .4byte gStringVar1
|
|
_081353D0: .4byte gSpecialVar_0x8004
|
|
_081353D4: .4byte gBattleTowerBanlist
|
|
_081353D8: .4byte 0x0000ffff
|
|
_081353DC: .4byte gUnknown_08400E2C
|
|
_081353E0: .4byte gUnknown_08400E32
|
|
_081353E4:
|
|
movs r0, 0x1
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _08135400
|
|
ldr r0, _081353F8 @ =gStringVar1
|
|
ldr r1, _081353FC @ =gUnknown_08400E2E
|
|
bl StringAppend
|
|
b _08135408
|
|
.align 2, 0
|
|
_081353F8: .4byte gStringVar1
|
|
_081353FC: .4byte gUnknown_08400E2E
|
|
_08135400:
|
|
ldr r0, _08135414 @ =gStringVar1
|
|
ldr r1, _08135418 @ =gUnknown_08400E2C
|
|
bl StringAppend
|
|
_08135408:
|
|
ldr r0, _08135414 @ =gStringVar1
|
|
ldr r1, _0813541C @ =gUnknown_08400E36
|
|
bl StringAppend
|
|
b _0813543E
|
|
.align 2, 0
|
|
_08135414: .4byte gStringVar1
|
|
_08135418: .4byte gUnknown_08400E2C
|
|
_0813541C: .4byte gUnknown_08400E36
|
|
_08135420:
|
|
ldr r1, _08135450 @ =gSpecialVar_0x8004
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r2, _08135454 @ =gSaveBlock2
|
|
ldrb r0, [r5]
|
|
ldr r1, _08135458 @ =0x00000554
|
|
adds r2, r1
|
|
movs r1, 0x1
|
|
ands r1, r0
|
|
ldrb r3, [r2]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
_0813543E:
|
|
add sp, 0x2C
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135450: .4byte gSpecialVar_0x8004
|
|
_08135454: .4byte gSaveBlock2
|
|
_08135458: .4byte 0x00000554
|
|
thumb_func_end CheckPartyBattleTowerBanlist
|
|
|
|
thumb_func_start sub_813545C
|
|
sub_813545C: @ 813545C
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
ldr r0, _08135470 @ =gStringVar4
|
|
movs r2, 0x2
|
|
movs r3, 0x3
|
|
bl sub_80EB544
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135470: .4byte gStringVar4
|
|
thumb_func_end sub_813545C
|
|
|
|
thumb_func_start sub_8135474
|
|
sub_8135474: @ 8135474
|
|
push {lr}
|
|
ldr r2, _08135490 @ =gSaveBlock2
|
|
ldr r0, _08135494 @ =0x00000564
|
|
adds r1, r2, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xC8
|
|
bne _08135498
|
|
movs r1, 0x95
|
|
lsls r1, 3
|
|
adds r0, r2, r1
|
|
bl sub_813545C
|
|
b _081354C4
|
|
.align 2, 0
|
|
_08135490: .4byte gSaveBlock2
|
|
_08135494: .4byte 0x00000564
|
|
_08135498:
|
|
cmp r0, 0x63
|
|
bhi _081354B4
|
|
ldrb r1, [r1]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 3
|
|
ldr r1, _081354B0 @ =gBattleTowerTrainers + 0xC
|
|
adds r0, r1
|
|
bl sub_813545C
|
|
b _081354C4
|
|
.align 2, 0
|
|
_081354B0: .4byte gBattleTowerTrainers + 0xC
|
|
_081354B4:
|
|
ldrb r1, [r1]
|
|
movs r0, 0xA4
|
|
muls r0, r1
|
|
ldr r3, _081354C8 @ =0xffffc14c
|
|
adds r1, r2, r3
|
|
adds r0, r1
|
|
bl sub_813545C
|
|
_081354C4:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081354C8: .4byte 0xffffc14c
|
|
thumb_func_end sub_8135474
|
|
|
|
thumb_func_start sub_81354CC
|
|
sub_81354CC: @ 81354CC
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _081354E4 @ =gSpecialVar_0x8004
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
beq _081354E8
|
|
cmp r0, 0x1
|
|
ble _08135520
|
|
cmp r0, 0x2
|
|
beq _0813551C
|
|
b _08135520
|
|
.align 2, 0
|
|
_081354E4: .4byte gSpecialVar_0x8004
|
|
_081354E8:
|
|
movs r5, 0
|
|
_081354EA:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _08135514 @ =gSaveBlock1 + 0x238
|
|
adds r0, r4, r0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
ldr r0, _08135518 @ =gPlayerParty
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetMonData
|
|
adds r5, 0x1
|
|
cmp r5, 0x5
|
|
ble _081354EA
|
|
b _08135520
|
|
.align 2, 0
|
|
_08135514: .4byte gSaveBlock1 + 0x238
|
|
_08135518: .4byte gPlayerParty
|
|
_0813551C:
|
|
bl sub_81360D0
|
|
_08135520:
|
|
ldr r0, _08135530 @ =c2_exit_to_overworld_1_continue_scripts_restart_music
|
|
bl SetMainCallback2
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135530: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
|
|
thumb_func_end sub_81354CC
|
|
|
|
thumb_func_start sub_8135534
|
|
sub_8135534: @ 8135534
|
|
push {r4,lr}
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_811AAE8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x1
|
|
bne _08135558
|
|
ldr r0, _08135560 @ =gMain
|
|
ldr r1, _08135564 @ =sub_81354CC
|
|
str r1, [r0, 0x8]
|
|
ldr r0, _08135568 @ =sub_800E7C4
|
|
bl SetMainCallback2
|
|
adds r0, r4, 0
|
|
bl DestroyTask
|
|
_08135558:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135560: .4byte gMain
|
|
_08135564: .4byte sub_81354CC
|
|
_08135568: .4byte sub_800E7C4
|
|
thumb_func_end sub_8135534
|
|
|
|
thumb_func_start sub_813556C
|
|
sub_813556C: @ 813556C
|
|
push {r4,r5,lr}
|
|
sub sp, 0x4
|
|
ldr r0, _08135584 @ =gSpecialVar_0x8004
|
|
ldrh r2, [r0]
|
|
cmp r2, 0x1
|
|
beq _081355AC
|
|
cmp r2, 0x1
|
|
bgt _08135588
|
|
cmp r2, 0
|
|
beq _0813558E
|
|
b _08135648
|
|
.align 2, 0
|
|
_08135584: .4byte gSpecialVar_0x8004
|
|
_08135588:
|
|
cmp r2, 0x2
|
|
beq _08135600
|
|
b _08135648
|
|
_0813558E:
|
|
ldr r1, _081355A4 @ =gBattleTypeFlags
|
|
movs r3, 0x84
|
|
lsls r3, 1
|
|
adds r0, r3, 0
|
|
strh r0, [r1]
|
|
ldr r0, _081355A8 @ =gTrainerBattleOpponent
|
|
strh r2, [r0]
|
|
bl sub_8134DD4
|
|
b _081355D6
|
|
.align 2, 0
|
|
_081355A4: .4byte gBattleTypeFlags
|
|
_081355A8: .4byte gTrainerBattleOpponent
|
|
_081355AC:
|
|
movs r5, 0
|
|
_081355AE:
|
|
movs r0, 0x64
|
|
adds r4, r5, 0
|
|
muls r4, r0
|
|
ldr r0, _081355F4 @ =gPlayerParty
|
|
adds r0, r4, r0
|
|
movs r1, 0xC
|
|
bl GetMonData
|
|
mov r1, sp
|
|
strh r0, [r1]
|
|
ldr r0, _081355F8 @ =gSaveBlock1 + 0x238
|
|
adds r4, r0
|
|
adds r0, r4, 0
|
|
movs r1, 0xC
|
|
mov r2, sp
|
|
bl SetMonData
|
|
adds r5, 0x1
|
|
cmp r5, 0x5
|
|
ble _081355AE
|
|
_081355D6:
|
|
ldr r0, _081355FC @ =sub_8135534
|
|
movs r1, 0x1
|
|
bl CreateTask
|
|
movs r0, 0
|
|
bl current_map_music_set__default_for_battle
|
|
bl GetBattleTowerBattleTransition
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_811AABC
|
|
b _08135648
|
|
.align 2, 0
|
|
_081355F4: .4byte gPlayerParty
|
|
_081355F8: .4byte gSaveBlock1 + 0x238
|
|
_081355FC: .4byte sub_8135534
|
|
_08135600:
|
|
bl ZeroEnemyPartyMons
|
|
movs r5, 0
|
|
_08135606:
|
|
movs r0, 0x64
|
|
muls r0, r5
|
|
ldr r1, _08135650 @ =gEnemyParty
|
|
adds r0, r1
|
|
movs r1, 0x2C
|
|
muls r1, r5
|
|
ldr r2, _08135654 @ =gSaveBlock2 + 0x4CC
|
|
adds r1, r2
|
|
bl sub_803ADE8
|
|
adds r5, 0x1
|
|
cmp r5, 0x2
|
|
ble _08135606
|
|
ldr r1, _08135658 @ =gBattleTypeFlags
|
|
ldr r2, _0813565C @ =0x00000808
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
ldr r1, _08135660 @ =gTrainerBattleOpponent
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r0, _08135664 @ =sub_8135534
|
|
movs r1, 0x1
|
|
bl CreateTask
|
|
movs r0, 0
|
|
bl current_map_music_set__default_for_battle
|
|
bl GetBattleTowerBattleTransition
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_811AABC
|
|
_08135648:
|
|
add sp, 0x4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135650: .4byte gEnemyParty
|
|
_08135654: .4byte gSaveBlock2 + 0x4CC
|
|
_08135658: .4byte gBattleTypeFlags
|
|
_0813565C: .4byte 0x00000808
|
|
_08135660: .4byte gTrainerBattleOpponent
|
|
_08135664: .4byte sub_8135534
|
|
thumb_func_end sub_813556C
|
|
|
|
thumb_func_start sub_8135668
|
|
sub_8135668: @ 8135668
|
|
push {r4,r5,lr}
|
|
ldr r1, _0813568C @ =gSaveBlock2
|
|
ldr r2, _08135690 @ =0x00000554
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r4, r0, 31
|
|
ldr r0, _08135694 @ =gSpecialVar_0x8004
|
|
ldrh r0, [r0]
|
|
adds r5, r1, 0
|
|
cmp r0, 0xE
|
|
bls _08135682
|
|
b _0813589A
|
|
_08135682:
|
|
lsls r0, 2
|
|
ldr r1, _08135698 @ =_0813569C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0813568C: .4byte gSaveBlock2
|
|
_08135690: .4byte 0x00000554
|
|
_08135694: .4byte gSpecialVar_0x8004
|
|
_08135698: .4byte _0813569C
|
|
.align 2, 0
|
|
_0813569C:
|
|
.4byte _081356D8
|
|
.4byte _08135700
|
|
.4byte _0813571C
|
|
.4byte _08135726
|
|
.4byte _08135740
|
|
.4byte _08135754
|
|
.4byte _08135774
|
|
.4byte _081357D0
|
|
.4byte _081357FC
|
|
.4byte _0813589A
|
|
.4byte _08135820
|
|
.4byte _08135834
|
|
.4byte _0813584C
|
|
.4byte _0813586C
|
|
.4byte _08135888
|
|
_081356D8:
|
|
ldr r0, _081356F0 @ =0x02000000
|
|
ldr r3, _081356F4 @ =0x00000556
|
|
adds r1, r5, r3
|
|
adds r1, r4, r1
|
|
ldrb r2, [r1]
|
|
ldr r3, _081356F8 @ =0x000160fb
|
|
adds r0, r3
|
|
strb r2, [r0]
|
|
ldr r0, _081356FC @ =gSpecialVar_0x8005
|
|
ldrh r0, [r0]
|
|
b _08135898
|
|
.align 2, 0
|
|
_081356F0: .4byte 0x02000000
|
|
_081356F4: .4byte 0x00000556
|
|
_081356F8: .4byte 0x000160fb
|
|
_081356FC: .4byte gSpecialVar_0x8005
|
|
_08135700:
|
|
ldr r0, _08135714 @ =gSpecialVar_0x8005
|
|
ldrb r0, [r0]
|
|
ldr r1, _08135718 @ =0x00000554
|
|
adds r3, r5, r1
|
|
movs r1, 0x1
|
|
ands r1, r0
|
|
ldrb r2, [r3]
|
|
movs r0, 0x2
|
|
negs r0, r0
|
|
b _08135810
|
|
.align 2, 0
|
|
_08135714: .4byte gSpecialVar_0x8005
|
|
_08135718: .4byte 0x00000554
|
|
_0813571C:
|
|
lsls r1, r4, 1
|
|
movs r2, 0xAB
|
|
lsls r2, 3
|
|
adds r0, r5, r2
|
|
b _0813572C
|
|
_08135726:
|
|
lsls r1, r4, 1
|
|
ldr r3, _08135738 @ =0x0000055c
|
|
adds r0, r5, r3
|
|
_0813572C:
|
|
adds r1, r0
|
|
ldr r0, _0813573C @ =gSpecialVar_0x8005
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
b _0813589A
|
|
.align 2, 0
|
|
_08135738: .4byte 0x0000055c
|
|
_0813573C: .4byte gSpecialVar_0x8005
|
|
_08135740:
|
|
ldr r0, _0813574C @ =gSpecialVar_0x8005
|
|
ldrh r1, [r0]
|
|
ldr r2, _08135750 @ =0x00000564
|
|
adds r0, r5, r2
|
|
strb r1, [r0]
|
|
b _0813589A
|
|
.align 2, 0
|
|
_0813574C: .4byte gSpecialVar_0x8005
|
|
_08135750: .4byte 0x00000564
|
|
_08135754:
|
|
movs r2, 0
|
|
ldr r4, _0813576C @ =gSaveBlock2 + 0x565
|
|
ldr r3, _08135770 @ =gSelectedOrderFromParty
|
|
_0813575A:
|
|
adds r0, r2, r4
|
|
adds r1, r2, r3
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x2
|
|
ble _0813575A
|
|
b _0813589A
|
|
.align 2, 0
|
|
_0813576C: .4byte gSaveBlock2 + 0x565
|
|
_08135770: .4byte gSelectedOrderFromParty
|
|
_08135774:
|
|
ldr r3, _081357C0 @ =0x00000564
|
|
adds r0, r5, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xC8
|
|
bne _08135788
|
|
movs r1, 0x93
|
|
lsls r1, 3
|
|
adds r0, r5, r1
|
|
bl sub_81360AC
|
|
_08135788:
|
|
movs r3, 0xAE
|
|
lsls r3, 3
|
|
adds r2, r5, r3
|
|
ldrh r1, [r2]
|
|
ldr r0, _081357C4 @ =0x0000270e
|
|
cmp r1, r0
|
|
bhi _0813579A
|
|
adds r0, r1, 0x1
|
|
strh r0, [r2]
|
|
_0813579A:
|
|
lsls r4, 1
|
|
movs r1, 0xAB
|
|
lsls r1, 3
|
|
adds r0, r5, r1
|
|
adds r4, r0
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
bl sub_8135A3C
|
|
ldr r1, _081357C8 @ =gScriptResult
|
|
ldrh r0, [r4]
|
|
strh r0, [r1]
|
|
ldr r1, _081357CC @ =gStringVar1
|
|
adds r0, 0xA1
|
|
strb r0, [r1]
|
|
movs r0, 0xFF
|
|
strb r0, [r1, 0x1]
|
|
b _0813589A
|
|
.align 2, 0
|
|
_081357C0: .4byte 0x00000564
|
|
_081357C4: .4byte 0x0000270e
|
|
_081357C8: .4byte gScriptResult
|
|
_081357CC: .4byte gStringVar1
|
|
_081357D0:
|
|
lsls r0, r4, 1
|
|
ldr r2, _081357F0 @ =0x0000055c
|
|
adds r1, r5, r2
|
|
adds r4, r0, r1
|
|
ldrh r1, [r4]
|
|
ldr r0, _081357F4 @ =0x00000595
|
|
cmp r1, r0
|
|
bhi _081357E4
|
|
adds r0, r1, 0x1
|
|
strh r0, [r4]
|
|
_081357E4:
|
|
bl sub_8135A3C
|
|
ldr r1, _081357F8 @ =gScriptResult
|
|
ldrh r0, [r4]
|
|
strh r0, [r1]
|
|
b _0813589A
|
|
.align 2, 0
|
|
_081357F0: .4byte 0x0000055c
|
|
_081357F4: .4byte 0x00000595
|
|
_081357F8: .4byte gScriptResult
|
|
_081357FC:
|
|
ldr r0, _08135818 @ =gSpecialVar_0x8005
|
|
ldrb r0, [r0]
|
|
ldr r1, _0813581C @ =0x00000554
|
|
adds r3, r5, r1
|
|
movs r1, 0x1
|
|
ands r1, r0
|
|
lsls r1, 1
|
|
ldrb r2, [r3]
|
|
movs r0, 0x3
|
|
negs r0, r0
|
|
_08135810:
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
b _0813589A
|
|
.align 2, 0
|
|
_08135818: .4byte gSpecialVar_0x8005
|
|
_0813581C: .4byte 0x00000554
|
|
_08135820:
|
|
ldr r2, _08135830 @ =0x00000572
|
|
adds r0, r5, r2
|
|
ldrh r1, [r0]
|
|
movs r0, 0x20
|
|
bl SetGameStat
|
|
b _0813589A
|
|
.align 2, 0
|
|
_08135830: .4byte 0x00000572
|
|
_08135834:
|
|
ldr r3, _08135848 @ =0x00000556
|
|
adds r0, r5, r3
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x3
|
|
beq _0813589A
|
|
adds r0, r4, 0
|
|
bl sub_813461C
|
|
b _0813589A
|
|
.align 2, 0
|
|
_08135848: .4byte 0x00000556
|
|
_0813584C:
|
|
ldr r1, _08135860 @ =0x00000556
|
|
adds r0, r5, r1
|
|
adds r0, r4, r0
|
|
ldr r1, _08135864 @ =0x02000000
|
|
ldr r2, _08135868 @ =0x000160fb
|
|
adds r1, r2
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
b _0813589A
|
|
.align 2, 0
|
|
_08135860: .4byte 0x00000556
|
|
_08135864: .4byte 0x02000000
|
|
_08135868: .4byte 0x000160fb
|
|
_0813586C:
|
|
adds r0, r4, 0
|
|
bl sub_8135D3C
|
|
ldr r1, _08135880 @ =gSaveBlock2
|
|
lsls r2, r4, 1
|
|
ldr r3, _08135884 @ =0x00000574
|
|
adds r1, r3
|
|
adds r2, r1
|
|
strh r0, [r2]
|
|
b _0813589A
|
|
.align 2, 0
|
|
_08135880: .4byte gSaveBlock2
|
|
_08135884: .4byte 0x00000574
|
|
_08135888:
|
|
ldr r1, _081358A0 @ =0x00000554
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r0, 31
|
|
movs r2, 0xAF
|
|
lsls r2, 3
|
|
adds r1, r5, r2
|
|
_08135898:
|
|
strb r0, [r1]
|
|
_0813589A:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081358A0: .4byte 0x00000554
|
|
thumb_func_end sub_8135668
|
|
|
|
thumb_func_start sub_81358A4
|
|
sub_81358A4: @ 81358A4
|
|
push {r4,lr}
|
|
ldr r1, _081358C8 @ =gSaveBlock2
|
|
ldr r2, _081358CC @ =0x00000554
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r4, r0, 31
|
|
ldr r0, _081358D0 @ =gSpecialVar_0x8004
|
|
ldrh r0, [r0]
|
|
adds r3, r1, 0
|
|
cmp r0, 0xE
|
|
bls _081358BE
|
|
b _08135A0A
|
|
_081358BE:
|
|
lsls r0, 2
|
|
ldr r1, _081358D4 @ =_081358D8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_081358C8: .4byte gSaveBlock2
|
|
_081358CC: .4byte 0x00000554
|
|
_081358D0: .4byte gSpecialVar_0x8004
|
|
_081358D4: .4byte _081358D8
|
|
.align 2, 0
|
|
_081358D8:
|
|
.4byte _08135914
|
|
.4byte _08135928
|
|
.4byte _0813593C
|
|
.4byte _0813594C
|
|
.4byte _08135964
|
|
.4byte _08135A0A
|
|
.4byte _08135A0A
|
|
.4byte _08135A0A
|
|
.4byte _08135978
|
|
.4byte _08135990
|
|
.4byte _081359A0
|
|
.4byte _081359B4
|
|
.4byte _081359BC
|
|
.4byte _081359DC
|
|
.4byte _081359F8
|
|
_08135914:
|
|
ldr r0, _08135920 @ =gScriptResult
|
|
ldr r2, _08135924 @ =0x00000556
|
|
adds r1, r3, r2
|
|
adds r1, r4, r1
|
|
b _0813596A
|
|
.align 2, 0
|
|
_08135920: .4byte gScriptResult
|
|
_08135924: .4byte 0x00000556
|
|
_08135928:
|
|
ldr r1, _08135934 @ =gScriptResult
|
|
ldr r4, _08135938 @ =0x00000554
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
b _08135982
|
|
.align 2, 0
|
|
_08135934: .4byte gScriptResult
|
|
_08135938: .4byte 0x00000554
|
|
_0813593C:
|
|
ldr r2, _08135948 @ =gScriptResult
|
|
lsls r0, r4, 1
|
|
movs r4, 0xAB
|
|
lsls r4, 3
|
|
b _08135952
|
|
.align 2, 0
|
|
_08135948: .4byte gScriptResult
|
|
_0813594C:
|
|
ldr r2, _0813595C @ =gScriptResult
|
|
lsls r0, r4, 1
|
|
ldr r4, _08135960 @ =0x0000055c
|
|
_08135952:
|
|
adds r1, r3, r4
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r2]
|
|
b _08135A0A
|
|
.align 2, 0
|
|
_0813595C: .4byte gScriptResult
|
|
_08135960: .4byte 0x0000055c
|
|
_08135964:
|
|
ldr r0, _08135970 @ =gScriptResult
|
|
ldr r2, _08135974 @ =0x00000564
|
|
adds r1, r3, r2
|
|
_0813596A:
|
|
ldrb r1, [r1]
|
|
strh r1, [r0]
|
|
b _08135A0A
|
|
.align 2, 0
|
|
_08135970: .4byte gScriptResult
|
|
_08135974: .4byte 0x00000564
|
|
_08135978:
|
|
ldr r1, _08135988 @ =gScriptResult
|
|
ldr r4, _0813598C @ =0x00000554
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
lsls r0, 30
|
|
_08135982:
|
|
lsrs r0, 31
|
|
strh r0, [r1]
|
|
b _08135A0A
|
|
.align 2, 0
|
|
_08135988: .4byte gScriptResult
|
|
_0813598C: .4byte 0x00000554
|
|
_08135990:
|
|
adds r0, r4, 0
|
|
bl sub_8135D3C
|
|
ldr r1, _0813599C @ =gScriptResult
|
|
strh r0, [r1]
|
|
b _08135A0A
|
|
.align 2, 0
|
|
_0813599C: .4byte gScriptResult
|
|
_081359A0:
|
|
ldr r1, _081359B0 @ =0x00000572
|
|
adds r0, r3, r1
|
|
ldrh r1, [r0]
|
|
movs r0, 0x20
|
|
bl SetGameStat
|
|
b _08135A0A
|
|
.align 2, 0
|
|
_081359B0: .4byte 0x00000572
|
|
_081359B4:
|
|
adds r0, r4, 0
|
|
bl sub_813461C
|
|
b _08135A0A
|
|
_081359BC:
|
|
ldr r2, _081359D0 @ =0x00000556
|
|
adds r0, r3, r2
|
|
adds r0, r4, r0
|
|
ldr r1, _081359D4 @ =0x02000000
|
|
ldr r3, _081359D8 @ =0x000160fb
|
|
adds r1, r3
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
b _08135A0A
|
|
.align 2, 0
|
|
_081359D0: .4byte 0x00000556
|
|
_081359D4: .4byte 0x02000000
|
|
_081359D8: .4byte 0x000160fb
|
|
_081359DC:
|
|
adds r0, r4, 0
|
|
bl sub_8135D3C
|
|
ldr r1, _081359F0 @ =gSaveBlock2
|
|
lsls r2, r4, 1
|
|
ldr r4, _081359F4 @ =0x00000574
|
|
adds r1, r4
|
|
adds r2, r1
|
|
strh r0, [r2]
|
|
b _08135A0A
|
|
.align 2, 0
|
|
_081359F0: .4byte gSaveBlock2
|
|
_081359F4: .4byte 0x00000574
|
|
_081359F8:
|
|
ldr r1, _08135A10 @ =0x00000554
|
|
adds r0, r3, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r0, 31
|
|
movs r2, 0xAF
|
|
lsls r2, 3
|
|
adds r1, r3, r2
|
|
strb r0, [r1]
|
|
_08135A0A:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135A10: .4byte 0x00000554
|
|
thumb_func_end sub_81358A4
|
|
|
|
thumb_func_start sub_8135A14
|
|
sub_8135A14: @ 8135A14
|
|
push {r4,lr}
|
|
movs r2, 0
|
|
ldr r4, _08135A34 @ =gSelectedOrderFromParty
|
|
ldr r3, _08135A38 @ =gSaveBlock2 + 0x565
|
|
_08135A1C:
|
|
adds r0, r2, r4
|
|
adds r1, r2, r3
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x2
|
|
ble _08135A1C
|
|
bl ReducePlayerPartyToThree
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135A34: .4byte gSelectedOrderFromParty
|
|
_08135A38: .4byte gSaveBlock2 + 0x565
|
|
thumb_func_end sub_8135A14
|
|
|
|
thumb_func_start sub_8135A3C
|
|
sub_8135A3C: @ 8135A3C
|
|
push {r4-r6,lr}
|
|
ldr r6, _08135A84 @ =gSaveBlock2
|
|
ldr r1, _08135A88 @ =0x00000554
|
|
adds r0, r6, r1
|
|
ldrb r4, [r0]
|
|
lsls r4, 31
|
|
lsrs r4, 31
|
|
adds r0, r4, 0
|
|
bl sub_8135D3C
|
|
lsls r0, 16
|
|
lsrs r5, r0, 16
|
|
lsls r4, 1
|
|
movs r3, 0xAC
|
|
lsls r3, 3
|
|
adds r2, r6, r3
|
|
adds r4, r2
|
|
ldrh r0, [r4]
|
|
cmp r0, r5
|
|
bcs _08135A66
|
|
strh r5, [r4]
|
|
_08135A66:
|
|
ldr r0, _08135A8C @ =0x00000562
|
|
adds r1, r6, r0
|
|
ldrh r0, [r2]
|
|
ldrh r3, [r1]
|
|
cmp r0, r3
|
|
bls _08135A94
|
|
adds r5, r0, 0
|
|
movs r0, 0x20
|
|
adds r1, r5, 0
|
|
bl SetGameStat
|
|
ldr r1, _08135A90 @ =0x0000270f
|
|
cmp r5, r1
|
|
bhi _08135AA4
|
|
b _08135AB4
|
|
.align 2, 0
|
|
_08135A84: .4byte gSaveBlock2
|
|
_08135A88: .4byte 0x00000554
|
|
_08135A8C: .4byte 0x00000562
|
|
_08135A90: .4byte 0x0000270f
|
|
_08135A94:
|
|
ldrh r5, [r1]
|
|
movs r0, 0x20
|
|
adds r1, r5, 0
|
|
bl SetGameStat
|
|
ldr r1, _08135AAC @ =0x0000270f
|
|
cmp r5, r1
|
|
bls _08135AB4
|
|
_08135AA4:
|
|
ldr r2, _08135AB0 @ =0x00000572
|
|
adds r0, r6, r2
|
|
strh r1, [r0]
|
|
b _08135ABA
|
|
.align 2, 0
|
|
_08135AAC: .4byte 0x0000270f
|
|
_08135AB0: .4byte 0x00000572
|
|
_08135AB4:
|
|
ldr r3, _08135AC0 @ =0x00000572
|
|
adds r0, r6, r3
|
|
strh r5, [r0]
|
|
_08135ABA:
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135AC0: .4byte 0x00000572
|
|
thumb_func_end sub_8135A3C
|
|
|
|
thumb_func_start sub_8135AC4
|
|
sub_8135AC4: @ 8135AC4
|
|
push {r4-r6,lr}
|
|
ldr r5, _08135AF0 @ =gSaveBlock2 + 0xA8
|
|
adds r2, r5, 0
|
|
subs r2, 0xA8
|
|
ldr r1, _08135AF4 @ =0x000004ac
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r6, r0, 31
|
|
ldrb r0, [r2, 0x8]
|
|
cmp r0, 0
|
|
beq _08135AFC
|
|
ldr r4, _08135AF8 @ =gUnknown_08405E7E
|
|
ldrb r0, [r2, 0xA]
|
|
ldrb r1, [r2, 0xB]
|
|
adds r0, r1
|
|
ldrb r1, [r2, 0xC]
|
|
adds r0, r1
|
|
ldrb r1, [r2, 0xD]
|
|
adds r0, r1
|
|
movs r1, 0x14
|
|
b _08135B0E
|
|
.align 2, 0
|
|
_08135AF0: .4byte gSaveBlock2 + 0xA8
|
|
_08135AF4: .4byte 0x000004ac
|
|
_08135AF8: .4byte gUnknown_08405E7E
|
|
_08135AFC:
|
|
ldr r4, _08135B84 @ =gUnknown_08405E60
|
|
ldrb r0, [r2, 0xA]
|
|
ldrb r1, [r2, 0xB]
|
|
adds r0, r1
|
|
ldrb r1, [r2, 0xC]
|
|
adds r0, r1
|
|
ldrb r1, [r2, 0xD]
|
|
adds r0, r1
|
|
movs r1, 0x1E
|
|
_08135B0E:
|
|
bl __umodsi3
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
strb r6, [r5]
|
|
strb r0, [r5, 0x1]
|
|
adds r0, r5, 0
|
|
adds r0, 0xC
|
|
ldr r4, _08135B88 @ =gSaveBlock2 + 0xA
|
|
adds r1, r4, 0
|
|
bl copy_word_to_mem
|
|
adds r0, r5, 0x4
|
|
subs r4, 0xA
|
|
adds r1, r4, 0
|
|
bl StringCopy8
|
|
adds r0, r6, 0
|
|
bl sub_8135D3C
|
|
strh r0, [r5, 0x2]
|
|
ldr r0, _08135B8C @ =gSaveBlock1
|
|
ldr r1, _08135B90 @ =0x00002b28
|
|
adds r2, r0, r1
|
|
adds r1, r5, 0
|
|
adds r1, 0x10
|
|
movs r4, 0x5
|
|
_08135B44:
|
|
ldrh r0, [r2]
|
|
strh r0, [r1]
|
|
adds r2, 0x2
|
|
adds r1, 0x2
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
bge _08135B44
|
|
movs r4, 0
|
|
ldr r6, _08135B94 @ =gSaveBlock2 + 0x565
|
|
_08135B56:
|
|
adds r0, r4, r6
|
|
ldrb r1, [r0]
|
|
movs r0, 0x64
|
|
muls r0, r1
|
|
ldr r1, _08135B98 @ =gUnknown_030042FC
|
|
adds r0, r1
|
|
movs r1, 0x2C
|
|
muls r1, r4
|
|
adds r1, 0x1C
|
|
adds r1, r5, r1
|
|
bl sub_803AF78
|
|
adds r4, 0x1
|
|
cmp r4, 0x2
|
|
ble _08135B56
|
|
ldr r0, _08135B9C @ =gSaveBlock2 + 0xA8
|
|
bl sub_8135CC4
|
|
bl sub_8135A3C
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135B84: .4byte gUnknown_08405E60
|
|
_08135B88: .4byte gSaveBlock2 + 0xA
|
|
_08135B8C: .4byte gSaveBlock1
|
|
_08135B90: .4byte 0x00002b28
|
|
_08135B94: .4byte gSaveBlock2 + 0x565
|
|
_08135B98: .4byte gUnknown_030042FC
|
|
_08135B9C: .4byte gSaveBlock2 + 0xA8
|
|
thumb_func_end sub_8135AC4
|
|
|
|
thumb_func_start sub_8135BA0
|
|
sub_8135BA0: @ 8135BA0
|
|
push {r4,r5,lr}
|
|
ldr r2, _08135C1C @ =gSaveBlock2
|
|
ldr r1, _08135C20 @ =0x00000554
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r5, r0, 31
|
|
ldr r0, _08135C24 @ =gSpecialVar_0x8004
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x3
|
|
beq _08135BBA
|
|
cmp r0, 0
|
|
bne _08135BD8
|
|
_08135BBA:
|
|
lsls r1, r5, 1
|
|
ldr r3, _08135C28 @ =0x0000055c
|
|
adds r0, r2, r3
|
|
adds r0, r1, r0
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
bhi _08135BD4
|
|
subs r3, 0x4
|
|
adds r0, r2, r3
|
|
adds r0, r1, r0
|
|
ldrh r0, [r0]
|
|
cmp r0, 0x1
|
|
bls _08135BD8
|
|
_08135BD4:
|
|
bl sub_8135AC4
|
|
_08135BD8:
|
|
bl sub_8135CFC
|
|
ldr r4, _08135C1C @ =gSaveBlock2
|
|
ldr r0, _08135C2C @ =gUnknown_02024D26
|
|
ldrb r1, [r0]
|
|
ldr r2, _08135C30 @ =0x00000555
|
|
adds r0, r4, r2
|
|
strb r1, [r0]
|
|
ldr r0, _08135C24 @ =gSpecialVar_0x8004
|
|
ldrh r1, [r0]
|
|
cmp r1, 0x3
|
|
beq _08135BF8
|
|
ldr r3, _08135C34 @ =0x00000556
|
|
adds r0, r4, r3
|
|
adds r0, r5, r0
|
|
strb r1, [r0]
|
|
_08135BF8:
|
|
movs r0, 0x80
|
|
lsls r0, 7
|
|
movs r1, 0
|
|
bl VarSet
|
|
ldr r0, _08135C20 @ =0x00000554
|
|
adds r2, r4, r0
|
|
ldrb r0, [r2]
|
|
movs r1, 0x2
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
movs r0, 0x2
|
|
bl TrySavingData
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135C1C: .4byte gSaveBlock2
|
|
_08135C20: .4byte 0x00000554
|
|
_08135C24: .4byte gSpecialVar_0x8004
|
|
_08135C28: .4byte 0x0000055c
|
|
_08135C2C: .4byte gUnknown_02024D26
|
|
_08135C30: .4byte 0x00000555
|
|
_08135C34: .4byte 0x00000556
|
|
thumb_func_end sub_8135BA0
|
|
|
|
thumb_func_start sub_8135C38
|
|
sub_8135C38: @ 8135C38
|
|
push {lr}
|
|
bl DoSoftReset
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8135C38
|
|
|
|
thumb_func_start sub_8135C44
|
|
sub_8135C44: @ 8135C44
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
movs r3, 0
|
|
movs r1, 0
|
|
ldr r2, _08135CBC @ =gSaveBlock2 + 0xA8
|
|
_08135C50:
|
|
ldm r2!, {r0}
|
|
adds r3, r0
|
|
adds r1, 0x1
|
|
cmp r1, 0x27
|
|
bls _08135C50
|
|
ldr r5, _08135CC0 @ =gSaveBlock2
|
|
movs r1, 0xA4
|
|
lsls r1, 1
|
|
adds r0, r5, r1
|
|
ldr r0, [r0]
|
|
cmp r0, r3
|
|
beq _08135C70
|
|
adds r0, r5, 0
|
|
adds r0, 0xA8
|
|
bl sub_8135CE8
|
|
_08135C70:
|
|
movs r4, 0
|
|
movs r7, 0xA4
|
|
movs r0, 0xA6
|
|
lsls r0, 1
|
|
adds r6, r5, r0
|
|
mov r8, r5
|
|
_08135C7C:
|
|
adds r0, r4, 0
|
|
muls r0, r7
|
|
movs r3, 0
|
|
movs r1, 0
|
|
adds r5, r4, 0x1
|
|
adds r2, r0, r6
|
|
_08135C88:
|
|
ldm r2!, {r0}
|
|
adds r3, r0
|
|
adds r1, 0x1
|
|
cmp r1, 0x27
|
|
bls _08135C88
|
|
adds r1, r4, 0
|
|
muls r1, r7
|
|
movs r0, 0xF6
|
|
lsls r0, 1
|
|
add r0, r8
|
|
adds r0, r1, r0
|
|
ldr r0, [r0]
|
|
cmp r0, r3
|
|
beq _08135CAA
|
|
adds r0, r1, r6
|
|
bl sub_8135CE8
|
|
_08135CAA:
|
|
adds r4, r5, 0
|
|
cmp r4, 0x4
|
|
ble _08135C7C
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135CBC: .4byte gSaveBlock2 + 0xA8
|
|
_08135CC0: .4byte gSaveBlock2
|
|
thumb_func_end sub_8135C44
|
|
|
|
thumb_func_start sub_8135CC4
|
|
sub_8135CC4: @ 8135CC4
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
adds r2, 0xA0
|
|
movs r1, 0
|
|
str r1, [r2]
|
|
movs r3, 0
|
|
adds r4, r0, 0
|
|
_08135CD2:
|
|
ldr r0, [r2]
|
|
ldm r4!, {r1}
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
adds r3, 0x1
|
|
cmp r3, 0x27
|
|
bls _08135CD2
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8135CC4
|
|
|
|
thumb_func_start sub_8135CE8
|
|
sub_8135CE8: @ 8135CE8
|
|
push {lr}
|
|
movs r1, 0
|
|
movs r2, 0
|
|
_08135CEE:
|
|
stm r0!, {r2}
|
|
adds r1, 0x1
|
|
cmp r1, 0x28
|
|
bls _08135CEE
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8135CE8
|
|
|
|
thumb_func_start sub_8135CFC
|
|
sub_8135CFC: @ 8135CFC
|
|
push {r4,lr}
|
|
ldr r4, _08135D34 @ =gSaveBlock2 + 0x484
|
|
adds r0, r4, 0
|
|
bl get_trainer_name
|
|
ldr r2, _08135D38 @ =gBattleMons
|
|
adds r0, r2, 0
|
|
adds r0, 0x58
|
|
ldrh r1, [r0]
|
|
subs r0, r4, 0x2
|
|
strh r1, [r0]
|
|
ldrh r1, [r2]
|
|
subs r0, r4, 0x4
|
|
strh r1, [r0]
|
|
movs r3, 0
|
|
adds r4, 0x8
|
|
adds r2, 0x30
|
|
_08135D1E:
|
|
adds r0, r3, r4
|
|
adds r1, r3, r2
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x9
|
|
ble _08135D1E
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135D34: .4byte gSaveBlock2 + 0x484
|
|
_08135D38: .4byte gBattleMons
|
|
thumb_func_end sub_8135CFC
|
|
|
|
thumb_func_start sub_8135D3C
|
|
sub_8135D3C: @ 8135D3C
|
|
push {lr}
|
|
lsls r0, 24
|
|
ldr r3, _08135D74 @ =gSaveBlock2
|
|
lsrs r0, 23
|
|
ldr r2, _08135D78 @ =0x0000055c
|
|
adds r1, r3, r2
|
|
adds r1, r0, r1
|
|
ldrh r2, [r1]
|
|
subs r2, 0x1
|
|
lsls r1, r2, 3
|
|
subs r1, r2
|
|
movs r2, 0xAB
|
|
lsls r2, 3
|
|
adds r3, r2
|
|
adds r0, r3
|
|
ldr r2, _08135D7C @ =0x0000ffff
|
|
adds r1, r2
|
|
ldrh r0, [r0]
|
|
adds r1, r0
|
|
lsls r1, 16
|
|
lsrs r0, r1, 16
|
|
ldr r1, _08135D80 @ =0x0000270f
|
|
cmp r0, r1
|
|
bls _08135D6E
|
|
adds r0, r1, 0
|
|
_08135D6E:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_08135D74: .4byte gSaveBlock2
|
|
_08135D78: .4byte 0x0000055c
|
|
_08135D7C: .4byte 0x0000ffff
|
|
_08135D80: .4byte 0x0000270f
|
|
thumb_func_end sub_8135D3C
|
|
|
|
thumb_func_start sub_8135D84
|
|
sub_8135D84: @ 8135D84
|
|
push {r4,r5,lr}
|
|
ldr r5, _08135DB0 @ =gSaveBlock2
|
|
ldr r1, _08135DB4 @ =0x00000554
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r0, 31
|
|
lsls r0, 1
|
|
ldr r2, _08135DB8 @ =0x0000055c
|
|
adds r1, r5, r2
|
|
adds r0, r1
|
|
ldrh r0, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, 0x5
|
|
ble _08135DC0
|
|
bl Random
|
|
ldr r4, _08135DBC @ =gUnknown_08405EE6
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x9
|
|
b _08135DCC
|
|
.align 2, 0
|
|
_08135DB0: .4byte gSaveBlock2
|
|
_08135DB4: .4byte 0x00000554
|
|
_08135DB8: .4byte 0x0000055c
|
|
_08135DBC: .4byte gUnknown_08405EE6
|
|
_08135DC0:
|
|
bl Random
|
|
ldr r4, _08135DE8 @ =gUnknown_08405EDA
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x6
|
|
_08135DCC:
|
|
bl __umodsi3
|
|
lsls r0, 16
|
|
lsrs r0, 15
|
|
adds r0, r4
|
|
ldrh r1, [r0]
|
|
movs r2, 0xAD
|
|
lsls r2, 3
|
|
adds r0, r5, r2
|
|
strh r1, [r0]
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135DE8: .4byte gUnknown_08405EDA
|
|
thumb_func_end sub_8135D84
|
|
|
|
thumb_func_start sub_8135DEC
|
|
sub_8135DEC: @ 8135DEC
|
|
push {r4-r7,lr}
|
|
ldr r5, _08135E20 @ =gSaveBlock2
|
|
ldr r1, _08135E24 @ =0x00000554
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r7, r0, 31
|
|
movs r0, 0xAD
|
|
lsls r0, 3
|
|
adds r6, r5, r0
|
|
ldrh r0, [r6]
|
|
movs r1, 0x1
|
|
bl AddBagItem
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0x1
|
|
bne _08135E30
|
|
ldrh r0, [r6]
|
|
ldr r1, _08135E28 @ =gStringVar1
|
|
bl CopyItemName
|
|
ldr r0, _08135E2C @ =gScriptResult
|
|
strh r4, [r0]
|
|
b _08135E40
|
|
.align 2, 0
|
|
_08135E20: .4byte gSaveBlock2
|
|
_08135E24: .4byte 0x00000554
|
|
_08135E28: .4byte gStringVar1
|
|
_08135E2C: .4byte gScriptResult
|
|
_08135E30:
|
|
ldr r1, _08135E48 @ =gScriptResult
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r1, _08135E4C @ =0x00000556
|
|
adds r0, r5, r1
|
|
adds r0, r7, r0
|
|
movs r1, 0x6
|
|
strb r1, [r0]
|
|
_08135E40:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135E48: .4byte gScriptResult
|
|
_08135E4C: .4byte 0x00000556
|
|
thumb_func_end sub_8135DEC
|
|
|
|
thumb_func_start sub_8135E50
|
|
sub_8135E50: @ 8135E50
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r6, _08135ED4 @ =gSaveBlock2
|
|
ldr r1, _08135ED8 @ =0x00000554
|
|
adds r0, r6, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, 31
|
|
lsrs r0, 31
|
|
adds r1, r0, 0
|
|
movs r7, 0x44
|
|
cmp r1, 0
|
|
beq _08135E6C
|
|
movs r7, 0x45
|
|
_08135E6C:
|
|
ldr r4, _08135EDC @ =gScriptResult
|
|
movs r0, 0
|
|
strh r0, [r4]
|
|
adds r0, r1, 0
|
|
bl sub_8135D3C
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x37
|
|
bls _08135EBA
|
|
movs r5, 0
|
|
ldr r0, _08135EE0 @ =0x00000565
|
|
adds r0, r6
|
|
mov r8, r0
|
|
adds r6, r4, 0
|
|
_08135E8A:
|
|
mov r1, r8
|
|
adds r0, r5, r1
|
|
ldrb r0, [r0]
|
|
subs r0, 0x1
|
|
movs r1, 0x64
|
|
muls r1, r0
|
|
ldr r0, _08135EE4 @ =gPlayerParty
|
|
adds r4, r1, r0
|
|
adds r0, r4, 0
|
|
adds r1, r7, 0
|
|
bl GetMonData
|
|
cmp r0, 0
|
|
bne _08135EB4
|
|
movs r0, 0x1
|
|
strh r0, [r6]
|
|
adds r0, r4, 0
|
|
adds r1, r7, 0
|
|
adds r2, r6, 0
|
|
bl SetMonData
|
|
_08135EB4:
|
|
adds r5, 0x1
|
|
cmp r5, 0x2
|
|
ble _08135E8A
|
|
_08135EBA:
|
|
ldr r0, _08135EDC @ =gScriptResult
|
|
ldrh r0, [r0]
|
|
cmp r0, 0
|
|
beq _08135EC8
|
|
movs r0, 0x2A
|
|
bl IncrementGameStat
|
|
_08135EC8:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135ED4: .4byte gSaveBlock2
|
|
_08135ED8: .4byte 0x00000554
|
|
_08135EDC: .4byte gScriptResult
|
|
_08135EE0: .4byte 0x00000565
|
|
_08135EE4: .4byte gPlayerParty
|
|
thumb_func_end sub_8135E50
|
|
|
|
thumb_func_start unref_sub_8135EE8
|
|
unref_sub_8135EE8: @ 8135EE8
|
|
push {r4-r7,lr}
|
|
ldr r7, _08135F0C @ =gSaveBlock2 + 0x498
|
|
ldr r0, _08135F10 @ =0xfffffb68
|
|
adds r2, r7, r0
|
|
ldrb r0, [r2, 0x8]
|
|
cmp r0, 0
|
|
beq _08135F18
|
|
ldr r4, _08135F14 @ =gUnknown_08405E7E
|
|
ldrb r0, [r2, 0xA]
|
|
ldrb r1, [r2, 0xB]
|
|
adds r0, r1
|
|
ldrb r1, [r2, 0xC]
|
|
adds r0, r1
|
|
ldrb r1, [r2, 0xD]
|
|
adds r0, r1
|
|
movs r1, 0x14
|
|
b _08135F2A
|
|
.align 2, 0
|
|
_08135F0C: .4byte gSaveBlock2 + 0x498
|
|
_08135F10: .4byte 0xfffffb68
|
|
_08135F14: .4byte gUnknown_08405E7E
|
|
_08135F18:
|
|
ldr r4, _08135FA8 @ =gUnknown_08405E60
|
|
ldrb r0, [r2, 0xA]
|
|
ldrb r1, [r2, 0xB]
|
|
adds r0, r1
|
|
ldrb r1, [r2, 0xC]
|
|
adds r0, r1
|
|
ldrb r1, [r2, 0xD]
|
|
adds r0, r1
|
|
movs r1, 0x1E
|
|
_08135F2A:
|
|
bl __umodsi3
|
|
adds r0, r4
|
|
ldrb r0, [r0]
|
|
strb r0, [r7, 0x1]
|
|
adds r0, r7, 0
|
|
adds r0, 0xC
|
|
ldr r4, _08135FAC @ =gSaveBlock2 + 0xA
|
|
adds r1, r4, 0
|
|
bl copy_word_to_mem
|
|
adds r0, r7, 0x4
|
|
subs r4, 0xA
|
|
adds r1, r4, 0
|
|
bl StringCopy8
|
|
movs r0, 0x1
|
|
strh r0, [r7, 0x2]
|
|
movs r5, 0x7
|
|
movs r4, 0
|
|
ldr r0, _08135FB0 @ =gSaveBlock1
|
|
ldr r1, _08135FB4 @ =0x00002b28
|
|
adds r6, r0, r1
|
|
adds r3, r7, 0
|
|
adds r3, 0x10
|
|
adds r2, r7, 0
|
|
adds r2, 0x28
|
|
adds r1, r7, 0
|
|
adds r1, 0x1C
|
|
_08135F64:
|
|
ldrh r0, [r6]
|
|
strh r0, [r3]
|
|
strh r5, [r1]
|
|
adds r0, r5, 0x6
|
|
strh r0, [r2]
|
|
adds r5, 0x1
|
|
adds r6, 0x2
|
|
adds r3, 0x2
|
|
adds r2, 0x2
|
|
adds r1, 0x2
|
|
adds r4, 0x1
|
|
cmp r4, 0x5
|
|
ble _08135F64
|
|
movs r4, 0
|
|
_08135F80:
|
|
movs r0, 0x64
|
|
muls r0, r4
|
|
ldr r1, _08135FB8 @ =gPlayerParty
|
|
adds r0, r1
|
|
movs r1, 0x2C
|
|
muls r1, r4
|
|
adds r1, 0x34
|
|
adds r1, r7, r1
|
|
bl sub_803AF78
|
|
adds r4, 0x1
|
|
cmp r4, 0x2
|
|
ble _08135F80
|
|
adds r0, r7, 0
|
|
bl sub_8136088
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08135FA8: .4byte gUnknown_08405E60
|
|
_08135FAC: .4byte gSaveBlock2 + 0xA
|
|
_08135FB0: .4byte gSaveBlock1
|
|
_08135FB4: .4byte 0x00002b28
|
|
_08135FB8: .4byte gPlayerParty
|
|
thumb_func_end unref_sub_8135EE8
|
|
|
|
thumb_func_start sub_8135FBC
|
|
sub_8135FBC: @ 8135FBC
|
|
ldr r1, _08135FCC @ =gTrainerClassToPicIndex
|
|
ldr r0, _08135FD0 @ =gSaveBlock2
|
|
ldr r2, _08135FD4 @ =0x00000499
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08135FCC: .4byte gTrainerClassToPicIndex
|
|
_08135FD0: .4byte gSaveBlock2
|
|
_08135FD4: .4byte 0x00000499
|
|
thumb_func_end sub_8135FBC
|
|
|
|
thumb_func_start sub_8135FD8
|
|
sub_8135FD8: @ 8135FD8
|
|
ldr r1, _08135FE8 @ =gTrainerClassToNameIndex
|
|
ldr r0, _08135FEC @ =gSaveBlock2
|
|
ldr r2, _08135FF0 @ =0x00000499
|
|
adds r0, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08135FE8: .4byte gTrainerClassToNameIndex
|
|
_08135FEC: .4byte gSaveBlock2
|
|
_08135FF0: .4byte 0x00000499
|
|
thumb_func_end sub_8135FD8
|
|
|
|
thumb_func_start sub_8135FF4
|
|
sub_8135FF4: @ 8135FF4
|
|
push {r4,lr}
|
|
adds r3, r0, 0
|
|
movs r2, 0
|
|
ldr r4, _08136018 @ =gSaveBlock2 + 0x49C
|
|
_08135FFC:
|
|
adds r0, r3, r2
|
|
adds r1, r2, r4
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x6
|
|
ble _08135FFC
|
|
adds r1, r3, r2
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08136018: .4byte gSaveBlock2 + 0x49C
|
|
thumb_func_end sub_8135FF4
|
|
|
|
thumb_func_start sub_813601C
|
|
sub_813601C: @ 813601C
|
|
push {r4,r5,lr}
|
|
ldr r1, _08136044 @ =gScriptResult
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
ldr r5, _08136048 @ =gSaveBlock2 + 0x498
|
|
movs r3, 0
|
|
movs r2, 0
|
|
adds r4, r1, 0
|
|
adds r1, r5, 0
|
|
_0813602E:
|
|
ldm r1!, {r0}
|
|
orrs r3, r0
|
|
adds r2, 0x1
|
|
cmp r2, 0x2D
|
|
bls _0813602E
|
|
cmp r3, 0
|
|
bne _0813604C
|
|
movs r0, 0x1
|
|
strh r0, [r4]
|
|
b _08136078
|
|
.align 2, 0
|
|
_08136044: .4byte gScriptResult
|
|
_08136048: .4byte gSaveBlock2 + 0x498
|
|
_0813604C:
|
|
movs r3, 0
|
|
movs r2, 0
|
|
ldr r4, _08136080 @ =gSaveBlock2
|
|
adds r1, r5, 0
|
|
_08136054:
|
|
ldm r1!, {r0}
|
|
adds r3, r0
|
|
adds r2, 0x1
|
|
cmp r2, 0x2D
|
|
bls _08136054
|
|
movs r1, 0xAA
|
|
lsls r1, 3
|
|
adds r0, r4, r1
|
|
ldr r0, [r0]
|
|
cmp r0, r3
|
|
beq _08136078
|
|
subs r1, 0xB8
|
|
adds r0, r4, r1
|
|
bl sub_81360AC
|
|
ldr r1, _08136084 @ =gScriptResult
|
|
movs r0, 0x1
|
|
strh r0, [r1]
|
|
_08136078:
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08136080: .4byte gSaveBlock2
|
|
_08136084: .4byte gScriptResult
|
|
thumb_func_end sub_813601C
|
|
|
|
thumb_func_start sub_8136088
|
|
sub_8136088: @ 8136088
|
|
push {r4,lr}
|
|
adds r2, r0, 0
|
|
adds r2, 0xB8
|
|
movs r1, 0
|
|
str r1, [r2]
|
|
movs r3, 0
|
|
adds r4, r0, 0
|
|
_08136096:
|
|
ldr r0, [r2]
|
|
ldm r4!, {r1}
|
|
adds r0, r1
|
|
str r0, [r2]
|
|
adds r3, 0x1
|
|
cmp r3, 0x2D
|
|
bls _08136096
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_8136088
|
|
|
|
thumb_func_start sub_81360AC
|
|
sub_81360AC: @ 81360AC
|
|
push {lr}
|
|
movs r1, 0
|
|
movs r2, 0
|
|
_081360B2:
|
|
stm r0!, {r2}
|
|
adds r1, 0x1
|
|
cmp r1, 0x2E
|
|
bls _081360B2
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_81360AC
|
|
|
|
thumb_func_start sub_81360C0
|
|
sub_81360C0: @ 81360C0
|
|
push {lr}
|
|
ldr r0, _081360CC @ =gSaveBlock2 + 0x4A8
|
|
bl sub_813545C
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_081360CC: .4byte gSaveBlock2 + 0x4A8
|
|
thumb_func_end sub_81360C0
|
|
|
|
thumb_func_start sub_81360D0
|
|
sub_81360D0: @ 81360D0
|
|
push {lr}
|
|
ldr r0, _081360E4 @ =gUnknown_02024D26
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x3
|
|
bne _081360EC
|
|
ldr r1, _081360E8 @ =gStringVar4
|
|
movs r0, 0xFF
|
|
strb r0, [r1]
|
|
b _08136102
|
|
.align 2, 0
|
|
_081360E4: .4byte gUnknown_02024D26
|
|
_081360E8: .4byte gStringVar4
|
|
_081360EC:
|
|
cmp r0, 0x1
|
|
bne _081360FC
|
|
ldr r0, _081360F8 @ =gSaveBlock2 + 0x4C0
|
|
bl sub_813545C
|
|
b _08136102
|
|
.align 2, 0
|
|
_081360F8: .4byte gSaveBlock2 + 0x4C0
|
|
_081360FC:
|
|
ldr r0, _08136108 @ =gSaveBlock2 + 0x4B4
|
|
bl sub_813545C
|
|
_08136102:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_08136108: .4byte gSaveBlock2 + 0x4B4
|
|
thumb_func_end sub_81360D0
|
|
|
|
thumb_func_start sub_813610C
|
|
sub_813610C: @ 813610C
|
|
push {r4,r5,lr}
|
|
movs r4, 0
|
|
ldr r5, _0813612C @ =gSaveBlock2 + 0x556
|
|
_08136112:
|
|
adds r0, r4, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _0813611E
|
|
bl sub_80BFD20
|
|
_0813611E:
|
|
adds r4, 0x1
|
|
cmp r4, 0x1
|
|
ble _08136112
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0813612C: .4byte gSaveBlock2 + 0x556
|
|
thumb_func_end sub_813610C
|
|
|
|
.align 2, 0 @ Don't pad with nop.
|