mirror of
https://github.com/pret/pokeheartgold.git
synced 2025-02-25 23:57:13 +00:00
919 lines
16 KiB
ArmAsm
919 lines
16 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "overlay_80_0222F608.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov80_0222F608
|
|
ov80_0222F608: ; 0x0222F608
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
bl ov80_0222BE10
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov80_0222BE10
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov80_0222BE10
|
|
add r6, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl sub_02096808
|
|
lsl r2, r4, #0x18
|
|
lsl r3, r6, #0x18
|
|
ldr r0, [r0, #8]
|
|
add r1, r7, #0
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov80_0222FD08
|
|
add r1, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl sub_02096818
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov80_0222F608
|
|
|
|
thumb_func_start ov80_0222F648
|
|
ov80_0222F648: ; 0x0222F648
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov80_0222BE10
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
add r1, r4, #0
|
|
bl ov80_0222FEEC
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov80_0222F648
|
|
|
|
thumb_func_start ov80_0222F664
|
|
ov80_0222F664: ; 0x0222F664
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
bl ov80_02230424
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov80_0222F664
|
|
|
|
thumb_func_start ov80_0222F678
|
|
ov80_0222F678: ; 0x0222F678
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_02096808
|
|
add r7, r0, #0
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
add r5, r0, #0
|
|
mov r0, #0xb
|
|
mov r1, #0x24
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x24
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
ldr r0, [r7, #8]
|
|
mov r3, #0
|
|
str r0, [r4]
|
|
ldrb r0, [r5, #4]
|
|
add r2, r4, #0
|
|
strb r0, [r4, #4]
|
|
ldrb r0, [r5, #5]
|
|
strb r0, [r4, #5]
|
|
ldr r0, _0222F6D4 ; =0x000004D4
|
|
strb r3, [r4, #6]
|
|
ldr r1, [r5, r0]
|
|
add r0, r0, #4
|
|
str r1, [r4, #8]
|
|
ldr r0, [r5, r0]
|
|
ldr r1, _0222F6D8 ; =ov80_0223BDB4
|
|
str r0, [r4, #0xc]
|
|
ldr r0, _0222F6DC ; =ov80_0222F7CC
|
|
str r5, [r4, #0x1c]
|
|
str r0, [sp]
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_02096820
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222F6D4: .word 0x000004D4
|
|
_0222F6D8: .word ov80_0223BDB4
|
|
_0222F6DC: .word ov80_0222F7CC
|
|
thumb_func_end ov80_0222F678
|
|
|
|
thumb_func_start ov80_0222F6E0
|
|
ov80_0222F6E0: ; 0x0222F6E0
|
|
push {r3, r4, r5, lr}
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
add r4, r0, #0
|
|
ldr r0, _0222F704 ; =0x000004FC
|
|
ldr r5, [r4, r0]
|
|
ldr r0, [r5, #0x14]
|
|
bl IsBattleResultWin
|
|
str r0, [r4, #0x14]
|
|
add r0, r5, #0
|
|
bl BattleSetup_Delete
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222F704: .word 0x000004FC
|
|
thumb_func_end ov80_0222F6E0
|
|
|
|
thumb_func_start ov80_0222F708
|
|
ov80_0222F708: ; 0x0222F708
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl sub_02096808
|
|
add r6, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
add r1, r6, #0
|
|
add r4, r0, #0
|
|
bl ov80_02236F24
|
|
add r2, r0, #0
|
|
ldr r0, _0222F744 ; =0x000004FC
|
|
mov r3, #0
|
|
str r2, [r4, r0]
|
|
str r3, [sp]
|
|
ldr r0, [r5]
|
|
ldr r1, _0222F748 ; =_020FA484
|
|
ldr r0, [r0]
|
|
bl sub_02096820
|
|
mov r0, #1
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0222F744: .word 0x000004FC
|
|
_0222F748: .word _020FA484
|
|
thumb_func_end ov80_0222F708
|
|
|
|
thumb_func_start ov80_0222F74C
|
|
ov80_0222F74C: ; 0x0222F74C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_02096808
|
|
add r7, r0, #0
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
add r5, r0, #0
|
|
mov r2, #0
|
|
ldr r0, _0222F7BC ; =0x000004DC
|
|
add r3, r5, #0
|
|
add r1, r2, #0
|
|
_0222F76C:
|
|
add r2, r2, #1
|
|
strh r1, [r3, r0]
|
|
add r3, r3, #2
|
|
cmp r2, #6
|
|
blt _0222F76C
|
|
mov r0, #0xb
|
|
mov r1, #0x24
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x24
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
ldr r0, [r7, #8]
|
|
add r2, r4, #0
|
|
str r0, [r4]
|
|
ldrb r0, [r5, #4]
|
|
mov r3, #0
|
|
strb r0, [r4, #4]
|
|
ldrb r0, [r5, #5]
|
|
strb r0, [r4, #5]
|
|
mov r0, #1
|
|
strb r0, [r4, #6]
|
|
ldr r0, _0222F7C0 ; =0x000004D4
|
|
ldr r1, [r5, r0]
|
|
add r0, r0, #4
|
|
str r1, [r4, #8]
|
|
ldr r0, [r5, r0]
|
|
ldr r1, _0222F7C4 ; =ov80_0223BDC4
|
|
str r0, [r4, #0xc]
|
|
ldr r0, _0222F7C8 ; =ov80_0222F7CC
|
|
str r5, [r4, #0x1c]
|
|
str r0, [sp]
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_02096820
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222F7BC: .word 0x000004DC
|
|
_0222F7C0: .word 0x000004D4
|
|
_0222F7C4: .word ov80_0223BDC4
|
|
_0222F7C8: .word ov80_0222F7CC
|
|
thumb_func_end ov80_0222F74C
|
|
|
|
thumb_func_start ov80_0222F7CC
|
|
ov80_0222F7CC: ; 0x0222F7CC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
add r1, r4, #0
|
|
bl ov80_02230460
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end ov80_0222F7CC
|
|
|
|
thumb_func_start ov80_0222F7E0
|
|
ov80_0222F7E0: ; 0x0222F7E0
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
bl ov80_022307F0
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov80_0222F7E0
|
|
|
|
thumb_func_start ov80_0222F7F4
|
|
ov80_0222F7F4: ; 0x0222F7F4
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
bl ov80_022308C4
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov80_0222F7F4
|
|
|
|
thumb_func_start ov80_0222F808
|
|
ov80_0222F808: ; 0x0222F808
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
bl ov80_022309F8
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov80_0222F808
|
|
|
|
thumb_func_start ov80_0222F81C
|
|
ov80_0222F81C: ; 0x0222F81C
|
|
push {r3, lr}
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
bl ov80_02230A60
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov80_0222F81C
|
|
|
|
thumb_func_start ov80_0222F830
|
|
ov80_0222F830: ; 0x0222F830
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x6c
|
|
add r6, r0, #0
|
|
ldr r2, [r6, #0x1c]
|
|
add r1, r2, #1
|
|
str r1, [r6, #0x1c]
|
|
ldrb r7, [r2]
|
|
add r2, r1, #1
|
|
str r2, [r6, #0x1c]
|
|
ldrb r5, [r1]
|
|
add r1, r2, #1
|
|
str r1, [r6, #0x1c]
|
|
ldrb r1, [r2]
|
|
str r1, [sp, #0x1c]
|
|
bl ov80_0222BDF4
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r6]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
add r4, r0, #0
|
|
ldr r0, [r6]
|
|
bl ov80_0222AB34
|
|
str r0, [sp, #0x20]
|
|
cmp r7, #0x29
|
|
bhi _0222F8F2
|
|
add r0, r7, r7
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222F874: ; jump table
|
|
.short _0222F8C8 - _0222F874 - 2 ; case 0
|
|
.short _0222F8CC - _0222F874 - 2 ; case 1
|
|
.short _0222F8D0 - _0222F874 - 2 ; case 2
|
|
.short _0222F8D4 - _0222F874 - 2 ; case 3
|
|
.short _0222F8E2 - _0222F874 - 2 ; case 4
|
|
.short _0222F8EA - _0222F874 - 2 ; case 5
|
|
.short _0222FBE6 - _0222F874 - 2 ; case 6
|
|
.short _0222F8FA - _0222F874 - 2 ; case 7
|
|
.short _0222FBE6 - _0222F874 - 2 ; case 8
|
|
.short _0222F902 - _0222F874 - 2 ; case 9
|
|
.short _0222F910 - _0222F874 - 2 ; case 10
|
|
.short _0222FBE6 - _0222F874 - 2 ; case 11
|
|
.short _0222FBE6 - _0222F874 - 2 ; case 12
|
|
.short _0222FBE6 - _0222F874 - 2 ; case 13
|
|
.short _0222F91A - _0222F874 - 2 ; case 14
|
|
.short _0222F926 - _0222F874 - 2 ; case 15
|
|
.short _0222F93C - _0222F874 - 2 ; case 16
|
|
.short _0222F954 - _0222F874 - 2 ; case 17
|
|
.short _0222F98C - _0222F874 - 2 ; case 18
|
|
.short _0222FA4C - _0222F874 - 2 ; case 19
|
|
.short _0222FA58 - _0222F874 - 2 ; case 20
|
|
.short _0222FA66 - _0222F874 - 2 ; case 21
|
|
.short _0222FA6E - _0222F874 - 2 ; case 22
|
|
.short _0222FA76 - _0222F874 - 2 ; case 23
|
|
.short _0222FA82 - _0222F874 - 2 ; case 24
|
|
.short _0222FBE6 - _0222F874 - 2 ; case 25
|
|
.short _0222FA8C - _0222F874 - 2 ; case 26
|
|
.short _0222FA96 - _0222F874 - 2 ; case 27
|
|
.short _0222FA9E - _0222F874 - 2 ; case 28
|
|
.short _0222FAAA - _0222F874 - 2 ; case 29
|
|
.short _0222FAB2 - _0222F874 - 2 ; case 30
|
|
.short _0222FAD6 - _0222F874 - 2 ; case 31
|
|
.short _0222FAEE - _0222F874 - 2 ; case 32
|
|
.short _0222FB06 - _0222F874 - 2 ; case 33
|
|
.short _0222FB34 - _0222F874 - 2 ; case 34
|
|
.short _0222FB64 - _0222F874 - 2 ; case 35
|
|
.short _0222FB70 - _0222F874 - 2 ; case 36
|
|
.short _0222FB78 - _0222F874 - 2 ; case 37
|
|
.short _0222FBA0 - _0222F874 - 2 ; case 38
|
|
.short _0222FBA8 - _0222F874 - 2 ; case 39
|
|
.short _0222FBD4 - _0222F874 - 2 ; case 40
|
|
.short _0222FBDC - _0222F874 - 2 ; case 41
|
|
_0222F8C8:
|
|
strb r5, [r4, #7]
|
|
b _0222FBE6
|
|
_0222F8CC:
|
|
strb r5, [r4, #5]
|
|
b _0222FBE6
|
|
_0222F8D0:
|
|
strb r5, [r4, #4]
|
|
b _0222FBE6
|
|
_0222F8D4:
|
|
lsl r0, r5, #1
|
|
add r1, r4, r0
|
|
ldr r0, _0222FBEC ; =0x000004DC
|
|
ldrh r1, [r1, r0]
|
|
ldr r0, [sp, #0x18]
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222F8E2:
|
|
ldrh r1, [r4, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222F8EA:
|
|
ldrh r1, [r4, #0xc]
|
|
ldr r0, _0222FBF0 ; =0x0000270F
|
|
cmp r1, r0
|
|
blo _0222F8F4
|
|
_0222F8F2:
|
|
b _0222FBE6
|
|
_0222F8F4:
|
|
add r0, r1, #1
|
|
strh r0, [r4, #0xc]
|
|
b _0222FBE6
|
|
_0222F8FA:
|
|
mov r0, #0
|
|
bl OS_ResetSystem
|
|
b _0222FBE6
|
|
_0222F902:
|
|
ldr r0, _0222FBF4 ; =0x000004F4
|
|
ldr r0, [r4, r0]
|
|
bl sub_0203095C
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
b _0222FBE6
|
|
_0222F910:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl ov80_0223049C
|
|
b _0222FBE6
|
|
_0222F91A:
|
|
add r0, r4, #0
|
|
bl ov80_02230784
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
b _0222FBE6
|
|
_0222F926:
|
|
mov r0, #0x38
|
|
mul r0, r5
|
|
add r1, r4, r0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
ldrh r0, [r1, r0]
|
|
lsl r0, r0, #0x15
|
|
lsr r1, r0, #0x15
|
|
ldr r0, [sp, #0x18]
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222F93C:
|
|
mov r0, #0x38
|
|
mul r0, r5
|
|
add r1, r4, r0
|
|
ldr r0, [sp, #0x1c]
|
|
lsl r0, r0, #1
|
|
add r1, r1, r0
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r1, r0]
|
|
ldr r0, [sp, #0x18]
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222F954:
|
|
mov r0, #0xb
|
|
bl AllocMonZeroed
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ov80_02237120
|
|
add r2, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
add r1, r4, r0
|
|
mov r0, #0x38
|
|
mul r0, r5
|
|
add r0, r1, r0
|
|
add r1, r6, #0
|
|
bl ov80_0222A140
|
|
add r0, r6, #0
|
|
mov r1, #0xb1
|
|
mov r2, #0
|
|
bl GetMonData
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
b _0222FBE6
|
|
_0222F98C:
|
|
ldrb r0, [r4, #4]
|
|
mov r1, #1
|
|
bl ov80_02236DF8
|
|
mov r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r2, sp, #0x24
|
|
add r0, r1, #0
|
|
_0222F99C:
|
|
add r1, r1, #1
|
|
stmia r2!, {r0}
|
|
cmp r1, #0x12
|
|
blt _0222F99C
|
|
mov r0, #0xb
|
|
bl AllocMonZeroed
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
ble _0222FA12
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #4
|
|
add r6, r4, r0
|
|
_0222F9BC:
|
|
add r0, r4, #0
|
|
bl ov80_02237120
|
|
add r2, r0, #0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov80_0222A140
|
|
add r0, r5, #0
|
|
mov r1, #0xb1
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #0xb2
|
|
mov r2, #0
|
|
bl GetMonData
|
|
cmp r7, r0
|
|
bne _0222F9E8
|
|
mov r0, #0xff
|
|
_0222F9E8:
|
|
lsl r1, r7, #2
|
|
add r2, sp, #0x24
|
|
ldr r2, [r2, r1]
|
|
add r3, r2, #1
|
|
add r2, sp, #0x24
|
|
str r3, [r2, r1]
|
|
cmp r0, #0xff
|
|
beq _0222FA04
|
|
lsl r0, r0, #2
|
|
add r1, r2, #0
|
|
ldr r1, [r1, r0]
|
|
add r2, r1, #1
|
|
add r1, sp, #0x24
|
|
str r2, [r1, r0]
|
|
_0222FA04:
|
|
ldr r0, [sp, #0x10]
|
|
add r6, #0x38
|
|
add r1, r0, #1
|
|
ldr r0, [sp, #0x14]
|
|
str r1, [sp, #0x10]
|
|
cmp r1, r0
|
|
blt _0222F9BC
|
|
_0222FA12:
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
add r4, sp, #0x24
|
|
add r5, r0, #0
|
|
add r3, r4, #0
|
|
_0222FA20:
|
|
lsl r1, r0, #2
|
|
ldr r2, [r3, r1]
|
|
ldr r1, [r4]
|
|
cmp r2, r1
|
|
bge _0222FA2C
|
|
add r0, r5, #0
|
|
_0222FA2C:
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #0x12
|
|
blt _0222FA20
|
|
lsl r2, r0, #2
|
|
add r1, sp, #0x24
|
|
ldr r1, [r1, r2]
|
|
cmp r1, #1
|
|
bgt _0222FA46
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0xff
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222FA46:
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
b _0222FBE6
|
|
_0222FA4C:
|
|
add r0, r4, #0
|
|
bl ov80_022372B4
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
b _0222FBE6
|
|
_0222FA58:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov80_02230794
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
b _0222FBE6
|
|
_0222FA66:
|
|
add r0, r4, #0
|
|
bl ov80_022307C8
|
|
b _0222FBE6
|
|
_0222FA6E:
|
|
add r0, r4, #0
|
|
bl ov80_022307D4
|
|
b _0222FBE6
|
|
_0222FA76:
|
|
add r0, r4, #0
|
|
bl ov80_02230790
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
b _0222FBE6
|
|
_0222FA82:
|
|
ldr r0, _0222FBF8 ; =0x0000057C
|
|
ldrb r1, [r4, r0]
|
|
ldr r0, [sp, #0x18]
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222FA8C:
|
|
ldr r0, _0222FBFC ; =0x0000057D
|
|
ldrb r1, [r4, r0]
|
|
ldr r0, [sp, #0x18]
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222FA96:
|
|
add r0, r4, #0
|
|
bl sub_02096910
|
|
b _0222FBE6
|
|
_0222FA9E:
|
|
ldrb r0, [r4, #4]
|
|
bl ov80_02237254
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
b _0222FBE6
|
|
_0222FAAA:
|
|
ldrb r1, [r4, #4]
|
|
ldr r0, [sp, #0x18]
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222FAB2:
|
|
mov r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #0xb
|
|
str r0, [sp, #4]
|
|
mov r1, #3
|
|
ldr r0, [sp, #0x20]
|
|
str r5, [sp, #8]
|
|
ldr r0, [r0]
|
|
add r2, r1, #0
|
|
mov r3, #0xa
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, [sp, #0x20]
|
|
mov r1, #3
|
|
ldr r0, [r0]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
b _0222FBE6
|
|
_0222FAD6:
|
|
ldr r0, [r6]
|
|
bl ov80_0222AB34
|
|
add r1, r0, #0
|
|
ldr r0, _0222FC00 ; =ov80_0222FC08
|
|
mov r2, #5
|
|
bl CreateSysTask
|
|
mov r1, #5
|
|
lsl r1, r1, #8
|
|
str r0, [r4, r1]
|
|
b _0222FBE6
|
|
_0222FAEE:
|
|
mov r0, #5
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222FBE6
|
|
bl DestroySysTask
|
|
mov r0, #5
|
|
mov r1, #0
|
|
lsl r0, r0, #8
|
|
str r1, [r4, r0]
|
|
b _0222FBE6
|
|
_0222FB06:
|
|
ldrb r1, [r4, #6]
|
|
add r0, r4, #0
|
|
add r0, #0x34
|
|
lsl r1, r1, #1
|
|
add r1, r4, r1
|
|
ldrh r1, [r1, #0x18]
|
|
mov r2, #0xb
|
|
mov r3, #0xcc
|
|
bl ov80_0222A474
|
|
ldrb r1, [r4, #6]
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
add r1, r1, #7
|
|
lsl r1, r1, #1
|
|
add r1, r4, r1
|
|
ldrh r1, [r1, #0x18]
|
|
add r0, r4, r0
|
|
mov r2, #0xb
|
|
mov r3, #0xcc
|
|
bl ov80_0222A474
|
|
b _0222FBE6
|
|
_0222FB34:
|
|
ldrb r0, [r4, #4]
|
|
bl ov80_02236DD4
|
|
add r7, r0, #0
|
|
mov r5, #0
|
|
cmp r7, #0
|
|
ble _0222FBE6
|
|
_0222FB42:
|
|
ldr r0, _0222FC04 ; =0x000004D4
|
|
add r1, r5, #0
|
|
ldr r0, [r4, r0]
|
|
bl GetPartyMonByIndex
|
|
bl Mon_GetBoxMon
|
|
add r2, r0, #0
|
|
ldr r0, [r6]
|
|
add r1, r5, #0
|
|
ldr r0, [r0, #0x44]
|
|
bl BufferBoxMonSpeciesName
|
|
add r5, r5, #1
|
|
cmp r5, r7
|
|
blt _0222FB42
|
|
b _0222FBE6
|
|
_0222FB64:
|
|
add r0, r4, #0
|
|
bl ov80_02230B4C
|
|
ldr r1, [sp, #0x18]
|
|
strh r0, [r1]
|
|
b _0222FBE6
|
|
_0222FB70:
|
|
add r0, r4, #0
|
|
bl ov80_02230AE4
|
|
b _0222FBE6
|
|
_0222FB78:
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #0
|
|
bne _0222FBE6
|
|
ldrh r0, [r4, #0xc]
|
|
add r0, r0, #1
|
|
cmp r0, #0x15
|
|
bne _0222FB94
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #1
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222FB94:
|
|
cmp r0, #0x31
|
|
bne _0222FBE6
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #2
|
|
strh r1, [r0]
|
|
b _0222FBE6
|
|
_0222FBA0:
|
|
add r0, r4, #0
|
|
bl ov80_022371B0
|
|
b _0222FBE6
|
|
_0222FBA8:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
mov r3, #0x3f
|
|
lsl r3, r3, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0xb
|
|
str r0, [sp, #8]
|
|
mov r0, #0xcd
|
|
add r1, r3, #0
|
|
add r2, r3, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, r4, r3
|
|
sub r1, #0x1e
|
|
sub r2, #0x16
|
|
sub r3, #0x10
|
|
add r1, r4, r1
|
|
add r2, r4, r2
|
|
add r3, r4, r3
|
|
bl ov80_0222A52C
|
|
b _0222FBE6
|
|
_0222FBD4:
|
|
add r0, r4, #0
|
|
bl ov80_02237130
|
|
b _0222FBE6
|
|
_0222FBDC:
|
|
ldrb r1, [r4, #0xb]
|
|
ldr r0, [sp, #0x18]
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
strb r0, [r4, #0xb]
|
|
_0222FBE6:
|
|
mov r0, #0
|
|
add sp, #0x6c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222FBEC: .word 0x000004DC
|
|
_0222FBF0: .word 0x0000270F
|
|
_0222FBF4: .word 0x000004F4
|
|
_0222FBF8: .word 0x0000057C
|
|
_0222FBFC: .word 0x0000057D
|
|
_0222FC00: .word ov80_0222FC08
|
|
_0222FC04: .word 0x000004D4
|
|
thumb_func_end ov80_0222F830
|
|
|
|
thumb_func_start ov80_0222FC08
|
|
ov80_0222FC08: ; 0x0222FC08
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
bl Bg_GetYpos
|
|
cmp r0, #0xff
|
|
ldr r0, [r4]
|
|
blt _0222FC26
|
|
mov r1, #2
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl ScheduleSetBgPosText
|
|
pop {r4, pc}
|
|
_0222FC26:
|
|
mov r1, #2
|
|
mov r2, #4
|
|
mov r3, #1
|
|
bl ScheduleSetBgPosText
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov80_0222FC08
|
|
|
|
thumb_func_start ov80_0222FC34
|
|
ov80_0222FC34: ; 0x0222FC34
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov80_0222BDF4
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
ldr r0, [r0, #0x14]
|
|
strh r0, [r4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov80_0222FC34
|
|
|
|
thumb_func_start ov80_0222FC50
|
|
ov80_0222FC50: ; 0x0222FC50
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
bl ov80_0222BE10
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl ov80_0222BE10
|
|
add r7, r0, #0
|
|
add r0, r5, #0
|
|
bl ov80_0222BDF4
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl ov80_02230AF8
|
|
strh r0, [r4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov80_0222FC50
|
|
|
|
thumb_func_start ov80_0222FC80
|
|
ov80_0222FC80: ; 0x0222FC80
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov80_0222AC58
|
|
add r1, r4, #0
|
|
add r1, #0x78
|
|
strh r0, [r1]
|
|
ldr r1, _0222FC9C ; =ov80_0222FCA0
|
|
add r0, r4, #0
|
|
bl ov80_0222AB84
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
nop
|
|
_0222FC9C: .word ov80_0222FCA0
|
|
thumb_func_end ov80_0222FC80
|
|
|
|
thumb_func_start ov80_0222FCA0
|
|
ov80_0222FCA0: ; 0x0222FCA0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0x78
|
|
ldrh r1, [r1]
|
|
bl ov80_0222BE9C
|
|
ldr r0, [r4]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
ldr r1, _0222FCCC ; =0x00000702
|
|
ldrb r2, [r0, r1]
|
|
cmp r2, #2
|
|
blo _0222FCC6
|
|
mov r2, #0
|
|
strb r2, [r0, r1]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0222FCC6:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_0222FCCC: .word 0x00000702
|
|
thumb_func_end ov80_0222FCA0
|
|
|
|
thumb_func_start ov80_0222FCD0
|
|
ov80_0222FCD0: ; 0x0222FCD0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
ldr r0, [r0]
|
|
bl sub_02096808
|
|
ldr r1, [r5, #0x1c]
|
|
add r0, r1, #1
|
|
str r0, [r5, #0x1c]
|
|
ldr r0, [r5]
|
|
ldrb r4, [r1]
|
|
ldr r0, [r0]
|
|
bl sub_02096810
|
|
add r2, r0, #0
|
|
bne _0222FCF4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0222FCF4:
|
|
lsl r1, r4, #4
|
|
add r1, r4, r1
|
|
add r2, #0x4c
|
|
lsl r1, r1, #4
|
|
add r0, r5, #0
|
|
add r1, r2, r1
|
|
bl ov80_0222F44C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov80_0222FCD0
|