mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-24 13:49:45 +00:00
34081 lines
666 KiB
ArmAsm
34081 lines
666 KiB
ArmAsm
#include "constants/species.h"
|
|
#include "constants/sndseq.h"
|
|
#include "constants/items.h"
|
|
#include "constants/phone_contacts.h"
|
|
#include "constants/flags.h"
|
|
#include "msgdata/msg/msg_0416.h"
|
|
#include "msgdata/msg/msg_0411.h"
|
|
#include "msgdata/msg/msg_0664.h"
|
|
.include "asm/macros.inc"
|
|
.include "overlay_101.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov101_021E7740
|
|
ov101_021E7740: ; 0x021E7740
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetArgs
|
|
add r5, r0, #0
|
|
ldr r0, _021E7790 ; =FS_OVERLAY_ID(OVY_26)
|
|
mov r1, #2
|
|
bl HandleLoadOverlay
|
|
mov r0, #3
|
|
mov r1, #0x5b
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
ldr r1, _021E7794 ; =0x000009F4
|
|
add r0, r4, #0
|
|
mov r2, #0x5b
|
|
bl OverlayManager_CreateAndGetData
|
|
ldr r2, _021E7794 ; =0x000009F4
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
bl memset
|
|
str r5, [r4, #0x10]
|
|
mov r0, #0x5b
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
bl ov101_021E78EC
|
|
mov r0, #0x85
|
|
ldr r1, _021E7798 ; =ov101_021F7372
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r1, #0x64
|
|
add r0, r1, #0
|
|
add r0, #0xd2
|
|
strb r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7790: .word FS_OVERLAY_ID(OVY_26)
|
|
_021E7794: .word 0x000009F4
|
|
_021E7798: .word ov101_021F7372
|
|
thumb_func_end ov101_021E7740
|
|
|
|
thumb_func_start ov101_021E779C
|
|
ov101_021E779C: ; 0x021E779C
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r4]
|
|
cmp r1, #0xd
|
|
bhi _021E782E
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E77B6: ; jump table
|
|
.short _021E77D2 - _021E77B6 - 2 ; case 0
|
|
.short _021E77DA - _021E77B6 - 2 ; case 1
|
|
.short _021E77E2 - _021E77B6 - 2 ; case 2
|
|
.short _021E782E - _021E77B6 - 2 ; case 3
|
|
.short _021E77EA - _021E77B6 - 2 ; case 4
|
|
.short _021E77F2 - _021E77B6 - 2 ; case 5
|
|
.short _021E77FA - _021E77B6 - 2 ; case 6
|
|
.short _021E7802 - _021E77B6 - 2 ; case 7
|
|
.short _021E780A - _021E77B6 - 2 ; case 8
|
|
.short _021E7812 - _021E77B6 - 2 ; case 9
|
|
.short _021E781A - _021E77B6 - 2 ; case 10
|
|
.short _021E7822 - _021E77B6 - 2 ; case 11
|
|
.short _021E782E - _021E77B6 - 2 ; case 12
|
|
.short _021E782A - _021E77B6 - 2 ; case 13
|
|
_021E77D2:
|
|
bl ov101_021E7B90
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E77DA:
|
|
bl ov101_021E7BB4
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E77E2:
|
|
bl ov101_021E7C10
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E77EA:
|
|
bl ov101_021E7D50
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E77F2:
|
|
bl ov101_021E7E28
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E77FA:
|
|
bl ov101_021E7E98
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E7802:
|
|
bl ov101_021E7F20
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E780A:
|
|
bl ov101_021E7C38
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E7812:
|
|
bl ov101_021E7C4C
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E781A:
|
|
bl ov101_021E7D28
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E7822:
|
|
bl ov101_021E7D3C
|
|
str r0, [r4]
|
|
b _021E782E
|
|
_021E782A:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E782E:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E779C
|
|
|
|
thumb_func_start ov101_021E7834
|
|
ov101_021E7834: ; 0x021E7834
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov101_021E7B54
|
|
ldr r0, [r4, #0x38]
|
|
bl MapMatrix_MapData_Free
|
|
ldr r2, [r4, #0x10]
|
|
ldr r0, [r2, #0x1c]
|
|
cmp r0, #6
|
|
beq _021E7858
|
|
ldrb r1, [r2, #5]
|
|
mov r0, #0x80
|
|
orr r0, r1
|
|
strb r0, [r2, #5]
|
|
_021E7858:
|
|
ldr r4, [r4]
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
add r0, r4, #0
|
|
bl DestroyHeap
|
|
ldr r0, _021E7870 ; =FS_OVERLAY_ID(OVY_26)
|
|
bl UnloadOverlayByID
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7870: .word FS_OVERLAY_ID(OVY_26)
|
|
thumb_func_end ov101_021E7834
|
|
|
|
thumb_func_start ov101_021E7874
|
|
ov101_021E7874: ; 0x021E7874
|
|
push {r3, r4}
|
|
sub sp, #8
|
|
ldr r3, _021E78AC ; =_021F7358
|
|
add r2, sp, #0
|
|
ldrh r4, [r3, #6]
|
|
add r1, sp, #0
|
|
strh r4, [r2]
|
|
ldrh r4, [r3, #8]
|
|
ldrh r3, [r3, #0xa]
|
|
strh r4, [r2, #2]
|
|
strh r3, [r2, #4]
|
|
mov r3, #0
|
|
_021E788C:
|
|
ldrh r2, [r1]
|
|
cmp r0, r2
|
|
bne _021E789A
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021E789A:
|
|
add r3, r3, #1
|
|
add r1, r1, #2
|
|
cmp r3, #3
|
|
blo _021E788C
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_021E78AC: .word _021F7358
|
|
thumb_func_end ov101_021E7874
|
|
|
|
thumb_func_start ov101_021E78B0
|
|
ov101_021E78B0: ; 0x021E78B0
|
|
push {r3, r4}
|
|
sub sp, #0x10
|
|
ldr r4, _021E78E8 ; =ov101_021F7364
|
|
add r3, sp, #0
|
|
mov r2, #7
|
|
_021E78BA:
|
|
ldrh r1, [r4]
|
|
add r4, r4, #2
|
|
strh r1, [r3]
|
|
add r3, r3, #2
|
|
sub r2, r2, #1
|
|
bne _021E78BA
|
|
mov r2, #0
|
|
add r3, sp, #0
|
|
_021E78CA:
|
|
ldrh r1, [r3]
|
|
cmp r0, r1
|
|
bne _021E78D8
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021E78D8:
|
|
add r2, r2, #1
|
|
add r3, r3, #2
|
|
cmp r2, #7
|
|
blo _021E78CA
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
_021E78E8: .word ov101_021F7364
|
|
thumb_func_end ov101_021E78B0
|
|
|
|
thumb_func_start ov101_021E78EC
|
|
ov101_021E78EC: ; 0x021E78EC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E7B3C ; =ov101_021EB338
|
|
str r5, [r1, #0x64]
|
|
ldr r1, [r5, #0x10]
|
|
str r2, [r1, #0x5c]
|
|
ldr r2, _021E7B40 ; =ov101_021EB2FC
|
|
ldr r1, [r5, #0x10]
|
|
str r2, [r1, #0x60]
|
|
bl ov101_021ED4E0
|
|
ldr r0, [r5, #0x10]
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #4
|
|
beq _021E7936
|
|
mov r0, #0
|
|
strb r0, [r5, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
strb r1, [r0, #4]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EEA4
|
|
mov r3, #0x4e
|
|
lsl r3, r3, #2
|
|
ldrb r1, [r5, r3]
|
|
mov r2, #1
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #1
|
|
and r0, r2
|
|
orr r0, r1
|
|
strb r0, [r5, r3]
|
|
b _021E799A
|
|
_021E7936:
|
|
mov r0, #1
|
|
strb r0, [r5, #0xc]
|
|
ldr r3, [r5, #0x10]
|
|
add r2, r5, #0
|
|
add r3, #0x3c
|
|
add r2, #0x14
|
|
mov r1, #0xe
|
|
_021E7944:
|
|
ldrh r0, [r3]
|
|
add r3, r3, #2
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
sub r1, r1, #1
|
|
bne _021E7944
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r3, [r5, r1]
|
|
ldrb r2, [r5, #0x15]
|
|
mov r0, #1
|
|
bic r3, r0
|
|
mov r0, #1
|
|
and r0, r2
|
|
orr r0, r3
|
|
strb r0, [r5, r1]
|
|
ldrh r1, [r5, #0x2e]
|
|
ldr r0, _021E7B44 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
beq _021E798C
|
|
ldrh r1, [r5, #0x2c]
|
|
add r0, r5, #0
|
|
bl ov101_021ED614
|
|
cmp r0, #0
|
|
bne _021E7980
|
|
ldrh r1, [r5, #0x2c]
|
|
add r0, r5, #0
|
|
bl ov101_021ED64C
|
|
_021E7980:
|
|
ldrh r1, [r5, #0x16]
|
|
ldrh r2, [r5, #0x2e]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021ED79C
|
|
_021E798C:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
add r0, #0x38
|
|
strb r1, [r0]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
strb r1, [r0, #4]
|
|
_021E799A:
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r5, r1]
|
|
mov r0, #0x10
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
ldrb r2, [r5, r1]
|
|
mov r0, #0xe
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EE70
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
lsl r0, r0, #0x1e
|
|
ldrb r3, [r5, r2]
|
|
mov r1, #0x60
|
|
lsr r0, r0, #0x19
|
|
bic r3, r1
|
|
orr r0, r3
|
|
strb r0, [r5, r2]
|
|
ldr r0, [r5]
|
|
bl MapMatrix_MapData_New
|
|
str r0, [r5, #0x38]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x24]
|
|
bl SaveData_GetMomsSavingsAddr
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5]
|
|
bl AllocAndReadPhoneBook
|
|
mov r1, #0x4a
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x28]
|
|
bl GSPlayerMisc_AllocAndCopyPhonebook
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x28]
|
|
bl GSPlayerMisc_FindEmptyGearPhonebookSlot
|
|
mov r2, #0x13
|
|
lsl r2, r2, #4
|
|
strb r0, [r5, r2]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
add r0, #0x22
|
|
ldrb r1, [r0]
|
|
add r0, r2, #0
|
|
sub r0, #0x28
|
|
strh r1, [r5, r0]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
add r0, #0x23
|
|
ldrb r0, [r0]
|
|
add r1, r0, #2
|
|
add r0, r2, #0
|
|
sub r0, #0x26
|
|
strh r1, [r5, r0]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
ldrh r1, [r0, #0x10]
|
|
add r0, r2, #0
|
|
sub r0, #0x24
|
|
strh r1, [r5, r0]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
ldrb r1, [r0, #7]
|
|
add r0, r2, #0
|
|
sub r0, #0x22
|
|
strh r1, [r5, r0]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
add r0, #0x22
|
|
ldrb r1, [r0]
|
|
add r0, r2, #0
|
|
sub r0, #0x20
|
|
strh r1, [r5, r0]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
add r0, #0x23
|
|
ldrb r0, [r0]
|
|
add r1, r0, #2
|
|
add r0, r2, #0
|
|
sub r0, #0x1e
|
|
strh r1, [r5, r0]
|
|
mov r1, #1
|
|
add r0, r1, #0
|
|
add r0, #0xff
|
|
strh r1, [r5, r0]
|
|
add r0, r2, #0
|
|
sub r0, #0x2c
|
|
strh r1, [r5, r0]
|
|
add r0, r2, #0
|
|
add r0, #8
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x1e
|
|
lsl r1, r0, #1
|
|
ldr r0, _021E7B48 ; =_021F7358
|
|
ldrh r1, [r0, r1]
|
|
add r0, r2, #0
|
|
sub r0, #0x2e
|
|
strh r1, [r5, r0]
|
|
mov r1, #0x11
|
|
add r0, r1, #0
|
|
add r0, #0xf5
|
|
strh r1, [r5, r0]
|
|
mov r1, #8
|
|
add r0, r2, #1
|
|
strb r1, [r5, r0]
|
|
add r0, r2, #2
|
|
strb r1, [r5, r0]
|
|
mov r1, #0
|
|
add r0, r2, #3
|
|
strb r1, [r5, r0]
|
|
add r0, r2, #0
|
|
add r0, #0xd
|
|
ldrb r0, [r5, r0]
|
|
mov r1, #2
|
|
add r2, #0xd
|
|
orr r0, r1
|
|
strb r0, [r5, r2]
|
|
ldr r0, [r5, #0x10]
|
|
mov r2, #0xf
|
|
ldr r0, [r0, #0x2c]
|
|
bl ScriptState_FlypointFlagAction
|
|
ldr r3, _021E7B4C ; =0x0000013D
|
|
mov r2, #1
|
|
ldrb r1, [r5, r3]
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #1
|
|
and r0, r2
|
|
orr r0, r1
|
|
strb r0, [r5, r3]
|
|
sub r3, #0x31
|
|
ldrh r0, [r5, r3]
|
|
bl ov101_021E7874
|
|
ldr r3, _021E7B4C ; =0x0000013D
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1f
|
|
ldrb r1, [r5, r3]
|
|
mov r2, #4
|
|
lsr r0, r0, #0x1d
|
|
bic r1, r2
|
|
orr r0, r1
|
|
strb r0, [r5, r3]
|
|
sub r3, #0x31
|
|
ldrh r0, [r5, r3]
|
|
bl ov101_021E78B0
|
|
ldr r3, _021E7B4C ; =0x0000013D
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1f
|
|
ldrb r1, [r5, r3]
|
|
mov r2, #8
|
|
lsr r0, r0, #0x1c
|
|
bic r1, r2
|
|
orr r0, r1
|
|
strb r0, [r5, r3]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x24]
|
|
bl Save_Roamers_get
|
|
mov r4, #0
|
|
add r6, r0, #0
|
|
add r7, r4, #0
|
|
_021E7B0A:
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
bl GetRoamerIsActiveByIndex
|
|
cmp r0, #0
|
|
beq _021E7B2E
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
bl Roamers_GetRoamMonStats
|
|
mov r1, #1
|
|
bl GetRoamerData
|
|
ldr r1, _021E7B50 ; =0x000009E8
|
|
strh r0, [r5, r1]
|
|
b _021E7B32
|
|
_021E7B2E:
|
|
ldr r0, _021E7B50 ; =0x000009E8
|
|
strh r7, [r5, r0]
|
|
_021E7B32:
|
|
add r4, r4, #1
|
|
add r5, r5, #2
|
|
cmp r4, #4
|
|
blt _021E7B0A
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E7B3C: .word ov101_021EB338
|
|
_021E7B40: .word ov101_021EB2FC
|
|
_021E7B44: .word 0x0000FFFF
|
|
_021E7B48: .word _021F7358
|
|
_021E7B4C: .word 0x0000013D
|
|
_021E7B50: .word 0x000009E8
|
|
thumb_func_end ov101_021E78EC
|
|
|
|
thumb_func_start ov101_021E7B54
|
|
ov101_021E7B54: ; 0x021E7B54
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreePhoneBook
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
str r1, [r0, #0x5c]
|
|
ldr r0, [r4, #0x10]
|
|
str r1, [r0, #0x60]
|
|
add r0, r4, #0
|
|
bl ov101_021ED5AC
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r4, #0x10]
|
|
lsl r1, r1, #0x1f
|
|
ldr r0, [r0, #0x28]
|
|
lsr r1, r1, #0x1f
|
|
bl sub_0202EEA8
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021E7B54
|
|
|
|
thumb_func_start ov101_021E7B90
|
|
ov101_021E7B90: ; 0x021E7B90
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021E7FF4
|
|
cmp r0, #0
|
|
bne _021E7BA0
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021E7BA0:
|
|
ldr r0, [r4, #0x10]
|
|
ldrb r0, [r0, #5]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _021E7BAE
|
|
mov r0, #6
|
|
pop {r4, pc}
|
|
_021E7BAE:
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E7B90
|
|
|
|
thumb_func_start ov101_021E7BB4
|
|
ov101_021E7BB4: ; 0x021E7BB4
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
add r1, sp, #0
|
|
add r4, r0, #0
|
|
bl ov101_021EB5DC
|
|
ldr r1, [sp]
|
|
cmp r1, #0
|
|
bne _021E7BE4
|
|
ldr r0, [r4, #0x10]
|
|
bl ov100_021E5900
|
|
ldr r0, [r4, #0x10]
|
|
ldrb r1, [r0, #6]
|
|
cmp r1, #1
|
|
bne _021E7BDE
|
|
bl ov100_021E59CC
|
|
b _021E7BE4
|
|
_021E7BDE:
|
|
add r0, r4, #0
|
|
bl ov101_021EB568
|
|
_021E7BE4:
|
|
ldr r1, [r4, #0x10]
|
|
str r0, [r1, #0x1c]
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021E7C0A
|
|
cmp r0, #4
|
|
beq _021E7BFE
|
|
cmp r0, #7
|
|
bne _021E7C04
|
|
add sp, #4
|
|
mov r0, #8
|
|
pop {r3, r4, pc}
|
|
_021E7BFE:
|
|
add sp, #4
|
|
mov r0, #5
|
|
pop {r3, r4, pc}
|
|
_021E7C04:
|
|
add sp, #4
|
|
mov r0, #7
|
|
pop {r3, r4, pc}
|
|
_021E7C0A:
|
|
mov r0, #1
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov101_021E7BB4
|
|
|
|
thumb_func_start ov101_021E7C10
|
|
ov101_021E7C10: ; 0x021E7C10
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021E8070
|
|
cmp r0, #0
|
|
bne _021E7C20
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_021E7C20:
|
|
ldr r2, [r4, #0x10]
|
|
add r4, #0x14
|
|
add r2, #0x3c
|
|
mov r1, #0xe
|
|
_021E7C28:
|
|
ldrh r0, [r4]
|
|
add r4, r4, #2
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
sub r1, r1, #1
|
|
bne _021E7C28
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021E7C10
|
|
|
|
thumb_func_start ov101_021E7C38
|
|
ov101_021E7C38: ; 0x021E7C38
|
|
push {r3, lr}
|
|
bl ov101_021E80B4
|
|
cmp r0, #0
|
|
beq _021E7C46
|
|
mov r0, #9
|
|
pop {r3, pc}
|
|
_021E7C46:
|
|
mov r0, #8
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E7C38
|
|
|
|
thumb_func_start ov101_021E7C4C
|
|
ov101_021E7C4C: ; 0x021E7C4C
|
|
push {r3, r4, r5, lr}
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r1, #0x4f
|
|
add r5, r0, #0
|
|
lsl r1, r1, #2
|
|
ldrb r1, [r5, r1]
|
|
mov r4, #0
|
|
mvn r4, r4
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x19
|
|
beq _021E7C6E
|
|
cmp r1, #1
|
|
beq _021E7C78
|
|
cmp r1, #2
|
|
beq _021E7C8C
|
|
b _021E7C9E
|
|
_021E7C6E:
|
|
add r1, sp, #0
|
|
bl ov101_021ECC58
|
|
add r4, r0, #0
|
|
b _021E7C9E
|
|
_021E7C78:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r1, [r1, #0xc]
|
|
cmp r1, #0
|
|
beq _021E7C9E
|
|
bl ov101_021ECF98
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
b _021E7C9E
|
|
_021E7C8C:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r1, [r1, #0xc]
|
|
cmp r1, #0
|
|
beq _021E7C9E
|
|
bl ov101_021ED2C0
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
_021E7C9E:
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
beq _021E7CC4
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
beq _021E7CB2
|
|
add r0, r5, #0
|
|
bl ov101_021EB364
|
|
_021E7CB2:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
str r1, [r0, #0xc]
|
|
cmp r4, #0
|
|
blt _021E7CC0
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E7CC0:
|
|
mov r0, #9
|
|
pop {r3, r4, r5, pc}
|
|
_021E7CC4:
|
|
bl ov100_021E5900
|
|
cmp r0, #0
|
|
beq _021E7CE6
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r0, #0xc]
|
|
ldr r0, [r0, #0x10]
|
|
cmp r1, r0
|
|
beq _021E7CE6
|
|
add r0, r5, #0
|
|
bl ov101_021EB378
|
|
ldr r0, _021E7D24 ; =0x0000093F
|
|
bl PlaySE
|
|
mov r0, #9
|
|
pop {r3, r4, r5, pc}
|
|
_021E7CE6:
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x19
|
|
beq _021E7CFC
|
|
cmp r0, #1
|
|
beq _021E7D06
|
|
cmp r0, #2
|
|
beq _021E7D10
|
|
b _021E7D18
|
|
_021E7CFC:
|
|
add r0, r5, #0
|
|
bl ov101_021ECAF0
|
|
add r4, r0, #0
|
|
b _021E7D18
|
|
_021E7D06:
|
|
add r0, r5, #0
|
|
bl ov101_021ECEA8
|
|
add r4, r0, #0
|
|
b _021E7D18
|
|
_021E7D10:
|
|
add r0, r5, #0
|
|
bl ov101_021ED158
|
|
add r4, r0, #0
|
|
_021E7D18:
|
|
cmp r4, #0
|
|
bge _021E7D1E
|
|
mov r4, #9
|
|
_021E7D1E:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E7D24: .word 0x0000093F
|
|
thumb_func_end ov101_021E7C4C
|
|
|
|
thumb_func_start ov101_021E7D28
|
|
ov101_021E7D28: ; 0x021E7D28
|
|
push {r3, lr}
|
|
bl ov101_021E818C
|
|
cmp r0, #0
|
|
beq _021E7D36
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021E7D36:
|
|
mov r0, #0xa
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E7D28
|
|
|
|
thumb_func_start ov101_021E7D3C
|
|
ov101_021E7D3C: ; 0x021E7D3C
|
|
ldr r3, [r0, #0x10]
|
|
mov r1, #0x80
|
|
ldrb r2, [r3, #5]
|
|
bic r2, r1
|
|
strb r2, [r3, #5]
|
|
ldr r0, [r0, #0x10]
|
|
mov r1, #6
|
|
str r1, [r0, #0x1c]
|
|
mov r0, #5
|
|
bx lr
|
|
thumb_func_end ov101_021E7D3C
|
|
|
|
thumb_func_start ov101_021E7D50
|
|
ov101_021E7D50: ; 0x021E7D50
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021E7D62
|
|
cmp r0, #1
|
|
beq _021E7E04
|
|
b _021E7E22
|
|
_021E7D62:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #1
|
|
bne _021E7D96
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021E7D82:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #4
|
|
blt _021E7D82
|
|
b _021E7DAA
|
|
_021E7D96:
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021E7D9A:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021E7D9A
|
|
_021E7DAA:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021E7E22
|
|
_021E7E04:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E7E22
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #1
|
|
bne _021E7E1C
|
|
add sp, #0xc
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E7E1C:
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E7E22:
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov101_021E7D50
|
|
|
|
thumb_func_start ov101_021E7E28
|
|
ov101_021E7E28: ; 0x021E7E28
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021E7E3A
|
|
cmp r0, #1
|
|
beq _021E7E5A
|
|
b _021E7E90
|
|
_021E7E3A:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021E7E90
|
|
_021E7E5A:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E7E90
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
_021E7E66:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021E7E66
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0xc
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E7E90:
|
|
mov r0, #5
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E7E28
|
|
|
|
thumb_func_start ov101_021E7E98
|
|
ov101_021E7E98: ; 0x021E7E98
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
beq _021E7EAC
|
|
cmp r1, #1
|
|
beq _021E7EE2
|
|
cmp r1, #2
|
|
beq _021E7F02
|
|
b _021E7F16
|
|
_021E7EAC:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, _021E7F1C ; =0x00000135
|
|
mov r4, #0
|
|
strb r4, [r5, r0]
|
|
mov r6, #1
|
|
_021E7EBE:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E7EBE
|
|
mov r0, #0
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
bl SetBlendBrightness
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021E7F16
|
|
_021E7EE2:
|
|
mov r1, #0
|
|
bl ov101_021E9CD4
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021E9E90
|
|
cmp r4, #0
|
|
beq _021E7F16
|
|
cmp r0, #0
|
|
beq _021E7F16
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021E7F16
|
|
_021E7F02:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
str r0, [r5, #0x30]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E7F16:
|
|
mov r0, #6
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E7F1C: .word 0x00000135
|
|
thumb_func_end ov101_021E7E98
|
|
|
|
thumb_func_start ov101_021E7F20
|
|
ov101_021E7F20: ; 0x021E7F20
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
beq _021E7F36
|
|
cmp r1, #1
|
|
beq _021E7F6C
|
|
cmp r1, #2
|
|
beq _021E7F8C
|
|
b _021E7FEA
|
|
_021E7F36:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021E7F44:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E7F44
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021E9D74
|
|
ldr r0, _021E7FF0 ; =0x00000135
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021E7FEA
|
|
_021E7F6C:
|
|
mov r1, #1
|
|
bl ov101_021E9CD4
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021E9E90
|
|
cmp r4, #0
|
|
beq _021E7FEA
|
|
cmp r0, #0
|
|
beq _021E7FEA
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021E7FEA
|
|
_021E7F8C:
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
_021E7FC2:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E7FC2
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
str r0, [r5, #0x30]
|
|
add sp, #8
|
|
mov r0, #2
|
|
pop {r4, r5, r6, pc}
|
|
_021E7FEA:
|
|
mov r0, #7
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E7FF0: .word 0x00000135
|
|
thumb_func_end ov101_021E7F20
|
|
|
|
thumb_func_start ov101_021E7FF4
|
|
ov101_021E7FF4: ; 0x021E7FF4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #3
|
|
bhi _021E8062
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E800A: ; jump table
|
|
.short _021E8012 - _021E800A - 2 ; case 0
|
|
.short _021E8018 - _021E800A - 2 ; case 1
|
|
.short _021E802E - _021E800A - 2 ; case 2
|
|
.short _021E8044 - _021E800A - 2 ; case 3
|
|
_021E8012:
|
|
bl ov101_021E8264
|
|
b _021E8062
|
|
_021E8018:
|
|
ldr r1, [r4, #0x10]
|
|
ldrb r1, [r1, #8]
|
|
bl ov101_021E8370
|
|
add r0, r4, #0
|
|
bl ov101_021E84FC
|
|
add r0, r4, #0
|
|
bl ov101_021E85A8
|
|
b _021E8062
|
|
_021E802E:
|
|
bl ov101_021E886C
|
|
ldr r1, [r4, #0x10]
|
|
add r0, r4, #0
|
|
ldrb r1, [r1, #8]
|
|
bl ov101_021E8790
|
|
add r0, r4, #0
|
|
bl ov101_021E8E34
|
|
b _021E8062
|
|
_021E8044:
|
|
ldrb r1, [r4, #0xc]
|
|
cmp r1, #1
|
|
bne _021E8050
|
|
bl ov101_021E90A8
|
|
b _021E8054
|
|
_021E8050:
|
|
bl ov101_021E8E58
|
|
_021E8054:
|
|
ldr r1, _021E806C ; =ov101_021E9270
|
|
ldr r0, [r4, #0x10]
|
|
str r1, [r0, #0x58]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E8062:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E806C: .word ov101_021E9270
|
|
thumb_func_end ov101_021E7FF4
|
|
|
|
thumb_func_start ov101_021E8070
|
|
ov101_021E8070: ; 0x021E8070
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x10]
|
|
mov r2, #0
|
|
str r2, [r1, #0x58]
|
|
ldr r1, [r4, #0x10]
|
|
ldr r1, [r1, #0x1c]
|
|
cmp r1, #6
|
|
bne _021E808C
|
|
bl ov101_021E8774
|
|
add r0, r4, #0
|
|
bl ov101_021E8E20
|
|
_021E808C:
|
|
add r0, r4, #0
|
|
bl ov101_021E8E4C
|
|
add r0, r4, #0
|
|
bl ov101_021E88A8
|
|
add r0, r4, #0
|
|
bl ov101_021E862C
|
|
add r0, r4, #0
|
|
bl ov101_021E857C
|
|
add r0, r4, #0
|
|
bl ov101_021E84B8
|
|
add r0, r4, #0
|
|
bl ov101_021E8354
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021E8070
|
|
|
|
thumb_func_start ov101_021E80B4
|
|
ov101_021E80B4: ; 0x021E80B4
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021E817C
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E80CC: ; jump table
|
|
.short _021E80D6 - _021E80CC - 2 ; case 0
|
|
.short _021E80FC - _021E80CC - 2 ; case 1
|
|
.short _021E8120 - _021E80CC - 2 ; case 2
|
|
.short _021E814C - _021E80CC - 2 ; case 3
|
|
.short _021E8162 - _021E80CC - 2 ; case 4
|
|
_021E80D6:
|
|
bl ov101_021E933C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021E9D74
|
|
mov r1, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r3, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
b _021E817C
|
|
_021E80FC:
|
|
bl IsPaletteFadeFinished
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021E9E90
|
|
cmp r5, #0
|
|
beq _021E8112
|
|
cmp r0, #0
|
|
bne _021E8118
|
|
_021E8112:
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, pc}
|
|
_021E8118:
|
|
add r0, r4, #0
|
|
bl ov101_021E8E3C
|
|
b _021E817C
|
|
_021E8120:
|
|
mov r1, #1
|
|
bl ov101_021E9264
|
|
add r0, r4, #0
|
|
bl ov101_021E90A8
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
mov r3, #0
|
|
bl BeginNormalPaletteFade
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021E9FDC
|
|
b _021E817C
|
|
_021E814C:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
bne _021E815A
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, pc}
|
|
_021E815A:
|
|
ldr r0, _021E8188 ; =0x00000944
|
|
bl PlaySE
|
|
b _021E817C
|
|
_021E8162:
|
|
mov r1, #0
|
|
bl ov101_021EA0D8
|
|
cmp r0, #0
|
|
bne _021E8172
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, pc}
|
|
_021E8172:
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E817C:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E8188: .word 0x00000944
|
|
thumb_func_end ov101_021E80B4
|
|
|
|
thumb_func_start ov101_021E818C
|
|
ov101_021E818C: ; 0x021E818C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021E8254
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E81A4: ; jump table
|
|
.short _021E81AE - _021E81A4 - 2 ; case 0
|
|
.short _021E81BC - _021E81A4 - 2 ; case 1
|
|
.short _021E81E6 - _021E81A4 - 2 ; case 2
|
|
.short _021E8202 - _021E81A4 - 2 ; case 3
|
|
.short _021E822E - _021E81A4 - 2 ; case 4
|
|
_021E81AE:
|
|
mov r1, #1
|
|
bl ov101_021E9FDC
|
|
ldr r0, _021E8260 ; =0x00000944
|
|
bl PlaySE
|
|
b _021E8254
|
|
_021E81BC:
|
|
mov r1, #1
|
|
bl ov101_021EA0D8
|
|
cmp r0, #0
|
|
bne _021E81CC
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, pc}
|
|
_021E81CC:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
add r3, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
b _021E8254
|
|
_021E81E6:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
bne _021E81F4
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, pc}
|
|
_021E81F4:
|
|
add r0, r4, #0
|
|
bl ov101_021E8774
|
|
add r0, r4, #0
|
|
bl ov101_021E8E20
|
|
b _021E8254
|
|
_021E8202:
|
|
mov r1, #0
|
|
bl ov101_021E9264
|
|
add r0, r4, #0
|
|
bl ov101_021E8E58
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021E9D74
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #3
|
|
mov r3, #0
|
|
bl BeginNormalPaletteFade
|
|
b _021E8254
|
|
_021E822E:
|
|
bl IsPaletteFadeFinished
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021E9E90
|
|
cmp r5, #0
|
|
beq _021E8244
|
|
cmp r0, #0
|
|
bne _021E824A
|
|
_021E8244:
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, pc}
|
|
_021E824A:
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E8254:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E8260: .word 0x00000944
|
|
thumb_func_end ov101_021E818C
|
|
|
|
thumb_func_start ov101_021E8264
|
|
ov101_021E8264: ; 0x021E8264
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xac
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GX_SetGraphicsMode
|
|
ldr r4, _021E8350 ; =ov101_021F7D10
|
|
add r3, sp, #4
|
|
mov r2, #0x15
|
|
_021E827A:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E827A
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #4
|
|
bl InitBgFromTemplateEx
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x20
|
|
add r3, r1, #0
|
|
bl InitBgFromTemplateEx
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x3c
|
|
mov r3, #2
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x58
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x74
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x90
|
|
bl InitBgFromTemplateEx
|
|
mov r4, #0
|
|
mov r6, #0x40
|
|
add r7, r4, #0
|
|
_021E82EC:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgCommitTilemapBufferToVram
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgCommitTilemapBufferToVram
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E82EC
|
|
add sp, #0xac
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8350: .word ov101_021F7D10
|
|
thumb_func_end ov101_021E8264
|
|
|
|
thumb_func_start ov101_021E8354
|
|
ov101_021E8354: ; 0x021E8354
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0x10]
|
|
bl ov100_021E5CA4
|
|
mov r1, #0
|
|
ldr r0, _021E836C ; =0x04000050
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r1, [sp]
|
|
bl G2x_SetBlendAlpha_
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_021E836C: .word 0x04000050
|
|
thumb_func_end ov101_021E8354
|
|
|
|
thumb_func_start ov101_021E8370
|
|
ov101_021E8370: ; 0x021E8370
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x90
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
add r0, #0x1a
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
add r0, r6, #0
|
|
add r0, #0x32
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
ldr r0, [r5]
|
|
mov r3, #0x5b
|
|
add r1, r6, #0
|
|
lsl r3, r3, #2
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, #0x38
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r3, #0x55
|
|
lsl r3, r3, #2
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5]
|
|
add r3, #0x1c
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r3, #0x56
|
|
lsl r3, r3, #2
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5]
|
|
add r3, #0x1c
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r3, #0x57
|
|
lsl r3, r3, #2
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
add r3, #0x1c
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, #0x20
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r3, #0x16
|
|
lsl r3, r3, #4
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5]
|
|
add r1, r6, #0
|
|
add r3, #0x1c
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, #0x26
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r3, #0x59
|
|
lsl r3, r3, #2
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5]
|
|
add r6, #0x2c
|
|
add r3, #0x1c
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r1, #0x5a
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E8370
|
|
|
|
thumb_func_start ov101_021E84B8
|
|
ov101_021E84B8: ; 0x021E84B8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E84B8
|
|
|
|
thumb_func_start ov101_021E84FC
|
|
ov101_021E84FC: ; 0x021E84FC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r4, _021E8574 ; =ov101_021F7B64
|
|
mov r6, #0
|
|
add r5, r7, r0
|
|
_021E850C:
|
|
ldrb r0, [r4, #2]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
ldrb r0, [r4, #3]
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r4, #4]
|
|
str r0, [sp, #8]
|
|
ldrb r0, [r4, #5]
|
|
str r0, [sp, #0xc]
|
|
ldrh r0, [r4, #6]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #0x10]
|
|
ldrb r2, [r4]
|
|
ldrb r3, [r4, #1]
|
|
ldr r0, [r0, #0x74]
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #7
|
|
ble _021E850C
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
bl InitWindow
|
|
ldr r0, _021E8578 ; =0x000003C5
|
|
mov r1, #0x81
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r7, #0x10]
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
add r1, r7, r1
|
|
mov r2, #0xb
|
|
mov r3, #2
|
|
bl AddTextWindowTopLeftCorner
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBufferText_AssumeTileSize32
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E8574: .word ov101_021F7B64
|
|
_021E8578: .word 0x000003C5
|
|
thumb_func_end ov101_021E84FC
|
|
|
|
thumb_func_start ov101_021E857C
|
|
ov101_021E857C: ; 0x021E857C
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
mov r4, #0
|
|
add r5, r6, r0
|
|
_021E8588:
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #8
|
|
blt _021E8588
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r0, r6, r0
|
|
bl RemoveWindow
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021E857C
|
|
|
|
thumb_func_start ov101_021E85A8
|
|
ov101_021E85A8: ; 0x021E85A8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0x1b
|
|
add r2, r1, #0
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
add r2, #0xf6
|
|
bl NewMsgDataFromNarc
|
|
add r1, r4, #0
|
|
add r1, #0x88
|
|
str r0, [r1]
|
|
ldr r2, [r4]
|
|
mov r0, #2
|
|
mov r1, #0x5b
|
|
bl MessageFormat_new_custom
|
|
add r1, r4, #0
|
|
add r1, #0x8c
|
|
str r0, [r1]
|
|
ldr r1, [r4]
|
|
mov r0, #0x5b
|
|
bl String_New
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0x9c
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0xa0
|
|
str r0, [r1]
|
|
ldr r1, [r4]
|
|
mov r0, #0x28
|
|
bl String_New
|
|
add r1, r4, #0
|
|
add r1, #0xa4
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0xb4
|
|
str r0, [r1]
|
|
mov r0, #2
|
|
add r4, #0xb8
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E85A8
|
|
|
|
thumb_func_start ov101_021E862C
|
|
ov101_021E862C: ; 0x021E862C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0xa0
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0x9c
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
bl MessageFormat_delete
|
|
add r4, #0x88
|
|
ldr r0, [r4]
|
|
bl DestroyMsgData
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021E862C
|
|
|
|
thumb_func_start ov101_021E8674
|
|
ov101_021E8674: ; 0x021E8674
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #2
|
|
ldr r4, [r0, #8]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #8
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
mov r2, #9
|
|
str r0, [sp, #8]
|
|
add r0, r1, #0
|
|
add r0, #0x28
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0xc]
|
|
add r0, r1, #0
|
|
add r0, #0x50
|
|
ldr r0, [r4, r0]
|
|
add r1, #0x78
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, r1]
|
|
ldr r1, _021E8768 ; =ov101_021F7C04
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7014
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
mov r2, #8
|
|
str r0, [sp, #8]
|
|
add r0, r1, #0
|
|
add r0, #0x28
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0xc]
|
|
add r0, r1, #0
|
|
add r0, #0x50
|
|
ldr r0, [r4, r0]
|
|
add r1, #0x78
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, r1]
|
|
ldr r1, _021E876C ; =ov101_021F7BA4
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7014
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
mov r2, #1
|
|
str r0, [sp, #8]
|
|
add r0, r1, #0
|
|
add r0, #0x28
|
|
ldr r0, [r4, r0]
|
|
str r0, [sp, #0xc]
|
|
add r0, r1, #0
|
|
add r0, #0x50
|
|
ldr r0, [r4, r0]
|
|
add r1, #0x78
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, r1]
|
|
ldr r1, _021E8770 ; =ov101_021F7B30
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7014
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #1
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E8758
|
|
ldrh r2, [r5, #0x16]
|
|
ldr r0, [r0, #0x7c]
|
|
mov r1, #1
|
|
lsl r2, r2, #1
|
|
add r2, r2, #1
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl ov100_021E72F8
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
_021E8758:
|
|
ldr r0, [r0, #0x7c]
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov100_021E72F8
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E8768: .word ov101_021F7C04
|
|
_021E876C: .word ov101_021F7BA4
|
|
_021E8770: .word ov101_021F7B30
|
|
thumb_func_end ov101_021E8674
|
|
|
|
thumb_func_start ov101_021E8774
|
|
ov101_021E8774: ; 0x021E8774
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021E877A:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r0, #0x7c]
|
|
lsr r1, r1, #0x10
|
|
bl ov100_021E70A4
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E877A
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021E8774
|
|
|
|
thumb_func_start ov101_021E8790
|
|
ov101_021E8790: ; 0x021E8790
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x90
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r0, #7
|
|
add r2, r6, #0
|
|
str r1, [sp]
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
add r2, #0x14
|
|
bl sub_02003220
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
add r6, #0xe
|
|
ldr r0, [r0, #0x78]
|
|
ldr r3, [r5]
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl sub_02003220
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0x40
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
bl sub_02003220
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0x40
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
bl sub_02003220
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021E8790
|
|
|
|
thumb_func_start ov101_021E886C
|
|
ov101_021E886C: ; 0x021E886C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
bl ov100_021E6978
|
|
ldr r1, [r4]
|
|
mov r0, #0x6f
|
|
bl ov100_021E6E20
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
str r0, [r1]
|
|
ldr r0, [r4, #0x10]
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
bl sub_0200CF6C
|
|
mov r2, #0xf
|
|
mov r1, #0
|
|
lsl r2, r2, #0x10
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
ldr r1, [r4]
|
|
mov r0, #4
|
|
bl sub_02013534
|
|
str r0, [r4, #0x3c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E886C
|
|
|
|
thumb_func_start ov101_021E88A8
|
|
ov101_021E88A8: ; 0x021E88A8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
bl sub_0200CF6C
|
|
mov r2, #3
|
|
mov r1, #0
|
|
lsl r2, r2, #0x12
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
ldr r0, [r4, #0x3c]
|
|
bl sub_020135AC
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E58
|
|
ldr r0, [r4, #0x10]
|
|
bl ov100_021E69C8
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021E88A8
|
|
|
|
thumb_func_start ov101_021E88D8
|
|
ov101_021E88D8: ; 0x021E88D8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r6, #0
|
|
ldr r0, [r0, #8]
|
|
mov r7, #0x15
|
|
str r0, [sp]
|
|
add r4, r0, #0
|
|
_021E88EA:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8A74 ; =ov101_021F7DB8
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
lsr r2, r6, #0x1f
|
|
lsl r3, r6, #0x1f
|
|
sub r3, r3, r2
|
|
mov r1, #0x1f
|
|
ror r3, r1
|
|
add r3, r2, r3
|
|
add r2, r6, r2
|
|
mov r1, #0x68
|
|
mul r1, r3
|
|
asr r2, r2, #1
|
|
add r3, r2, #0
|
|
mul r3, r7
|
|
add r1, #0x20
|
|
add r3, #0xcb
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r3, #0x10
|
|
ldr r0, [r4, #0x20]
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DD88
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl sub_0200DD3C
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
cmp r6, #4
|
|
blt _021E88EA
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8A78 ; =ov101_021F7DE0
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl sub_0200DD3C
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8A7C ; =ov101_021F7E08
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8A80 ; =ov101_021F7E30
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r7, #0
|
|
ldr r6, [sp]
|
|
add r4, r7, #0
|
|
_021E89AE:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8A84 ; =ov101_021F7E58
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
cmp r7, #0
|
|
ble _021E89E2
|
|
add r0, r4, #0
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E89F0
|
|
_021E89E2:
|
|
add r0, r4, #0
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E89F0:
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl sub_020249B0
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
add r7, r7, #1
|
|
add r4, r4, r0
|
|
add r6, #0x28
|
|
cmp r7, #4
|
|
blt _021E89AE
|
|
mov r4, #0
|
|
mov r7, #0x28
|
|
_021E8A12:
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
add r1, r0, #0
|
|
ldr r0, [sp]
|
|
mul r1, r7
|
|
add r6, r0, r1
|
|
ldr r0, [r6, #0x20]
|
|
add r1, r6, #4
|
|
add r2, r6, #6
|
|
bl sub_0200DE00
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r4, r4, #1
|
|
cmp r4, #0xb
|
|
blt _021E8A12
|
|
ldr r0, [sp]
|
|
mov r1, #1
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteAnimActiveFlag
|
|
mov r1, #0x11
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
mov r1, #0x11
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
ldr r1, [r5, #0x10]
|
|
ldr r1, [r1, #0x20]
|
|
ldrb r1, [r1, #7]
|
|
bl sub_020249D4
|
|
ldr r0, [sp]
|
|
mov r1, #2
|
|
add r0, #0xe8
|
|
str r0, [sp]
|
|
ldr r0, [r0]
|
|
bl sub_0202487C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8A74: .word ov101_021F7DB8
|
|
_021E8A78: .word ov101_021F7DE0
|
|
_021E8A7C: .word ov101_021F7E08
|
|
_021E8A80: .word ov101_021F7E30
|
|
_021E8A84: .word ov101_021F7E58
|
|
thumb_func_end ov101_021E88D8
|
|
|
|
thumb_func_start ov101_021E8A88
|
|
ov101_021E8A88: ; 0x021E8A88
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r6, #0
|
|
ldr r7, [r0, #8]
|
|
_021E8A94:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8AE0 ; =ov101_021F7B3C
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r1, #0x28
|
|
mul r1, r0
|
|
add r4, r7, r1
|
|
ldr r0, [r4, #0x20]
|
|
add r1, r4, #4
|
|
add r2, r4, #6
|
|
bl sub_0200DE00
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
cmp r6, #0x64
|
|
blo _021E8A94
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8AE0: .word ov101_021F7B3C
|
|
thumb_func_end ov101_021E8A88
|
|
|
|
thumb_func_start ov101_021E8AE4
|
|
ov101_021E8AE4: ; 0x021E8AE4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x48
|
|
add r5, r0, #0
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5]
|
|
add r0, r5, r0
|
|
bl sub_02013910
|
|
mov r1, #1
|
|
str r0, [r5, #0x40]
|
|
bl sub_02013948
|
|
mov r1, #0
|
|
str r0, [sp, #0x14]
|
|
add r2, r5, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E8BB4 ; =0x00010200
|
|
add r2, #0xa0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
lsr r0, r0, #7
|
|
ldr r2, [r2]
|
|
add r0, r5, r0
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [r5, #0x3c]
|
|
str r0, [sp, #0x18]
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5, #0x10]
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
bl sub_0200E2B0
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
bl sub_0200D934
|
|
str r0, [sp, #0x24]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x38]
|
|
mov r0, #3
|
|
str r0, [sp, #0x3c]
|
|
mov r0, #4
|
|
str r0, [sp, #0x30]
|
|
sub r0, #0xa
|
|
str r0, [sp, #0x34]
|
|
mov r0, #1
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [r5]
|
|
add r7, r5, #0
|
|
ldr r6, [sp, #0x10]
|
|
str r0, [sp, #0x44]
|
|
add r7, #0x48
|
|
add r4, r5, #0
|
|
_021E8B66:
|
|
mov r1, #1
|
|
ldr r0, [sp, #0x14]
|
|
add r2, r1, #0
|
|
add r3, r7, #0
|
|
bl sub_02021AC8
|
|
ldr r0, [r4, #0x4c]
|
|
str r0, [sp, #0x2c]
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r1, r0, r6
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #4
|
|
ldr r0, [r1, r0]
|
|
str r0, [sp, #0x28]
|
|
ldr r1, [r5, #0x40]
|
|
add r0, sp, #0x18
|
|
bl sub_02013950
|
|
str r0, [r4, #0x44]
|
|
mov r1, #0
|
|
bl sub_020137C0
|
|
ldr r0, [r4, #0x44]
|
|
mov r1, #7
|
|
bl sub_02013850
|
|
ldr r0, [sp, #0x10]
|
|
add r7, #0x10
|
|
add r0, r0, #1
|
|
add r4, #0x10
|
|
add r6, #0x28
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #4
|
|
blt _021E8B66
|
|
add sp, #0x48
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E8BB4: .word 0x00010200
|
|
thumb_func_end ov101_021E8AE4
|
|
|
|
thumb_func_start ov101_021E8BB8
|
|
ov101_021E8BB8: ; 0x021E8BB8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #0
|
|
add r5, r0, #0
|
|
str r0, [sp]
|
|
add r4, r0, #0
|
|
add r5, #0x48
|
|
add r7, r6, #0
|
|
_021E8BC6:
|
|
ldr r0, [r4, #0x44]
|
|
bl sub_020139C8
|
|
add r0, r5, #0
|
|
bl sub_02021B5C
|
|
str r7, [r4, #0x44]
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
add r5, #0x10
|
|
cmp r6, #4
|
|
blt _021E8BC6
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x40]
|
|
bl sub_02013938
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021E8BB8
|
|
|
|
thumb_func_start ov101_021E8BE8
|
|
ov101_021E8BE8: ; 0x021E8BE8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r1, [r5, #0x10]
|
|
ldr r7, [r0, #8]
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, _021E8E00 ; =ov101_021F7C70
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r1, #0x6f
|
|
mov r0, #0x80
|
|
lsl r1, r1, #2
|
|
strh r0, [r7, r1]
|
|
add r0, r1, #2
|
|
mov r2, #0x6c
|
|
add r1, #0x1c
|
|
strh r2, [r7, r0]
|
|
ldr r0, [r7, r1]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
mov r6, #0
|
|
_021E8C2A:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8E04 ; =ov101_021F7C98
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r0, #0x28
|
|
mul r0, r6
|
|
add r4, r7, r0
|
|
mov r0, #0x79
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
strh r1, [r4, r0]
|
|
add r0, r0, #2
|
|
strh r1, [r4, r0]
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
lsr r2, r6, #0x1f
|
|
lsl r3, r6, #0x1e
|
|
sub r3, r3, r2
|
|
mov r1, #0x1e
|
|
ror r3, r1
|
|
add r1, r2, r3
|
|
ldr r0, [r4, r0]
|
|
add r1, r1, #5
|
|
bl Set2dSpriteAnimSeqNo
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteAnimActiveFlag
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
ldr r0, _021E8E08 ; =0x000001E2
|
|
mov r1, #1
|
|
strh r1, [r4, r0]
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
cmp r6, #8
|
|
blo _021E8C2A
|
|
mov r6, #0xd
|
|
mov r4, #0
|
|
lsl r6, r6, #6
|
|
_021E8CAC:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8E0C ; =ov101_021F7CC0
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r0, #0x28
|
|
mul r0, r4
|
|
add r3, r7, r0
|
|
lsr r2, r4, #0x1f
|
|
lsl r1, r4, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
mov r1, #0x68
|
|
mul r1, r0
|
|
mov r0, #0xc9
|
|
add r1, #0x20
|
|
lsl r0, r0, #2
|
|
strh r1, [r3, r0]
|
|
lsr r0, r4, #1
|
|
mov r1, #0x15
|
|
mul r1, r0
|
|
ldr r0, _021E8E10 ; =0x00000326
|
|
add r1, #0x20
|
|
strh r1, [r3, r0]
|
|
ldr r0, [r3, r6]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #4
|
|
blo _021E8CAC
|
|
mov r6, #0x3e
|
|
mov r4, #0
|
|
lsl r6, r6, #4
|
|
_021E8D0C:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8E14 ; =ov101_021F7CE8
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r0, #0x28
|
|
mul r0, r4
|
|
add r3, r7, r0
|
|
lsr r2, r4, #0x1f
|
|
lsl r1, r4, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
mov r1, #0x68
|
|
mul r1, r0
|
|
mov r0, #0xf1
|
|
add r1, #0x28
|
|
lsl r0, r0, #2
|
|
strh r1, [r3, r0]
|
|
lsr r0, r4, #1
|
|
mov r1, #0x15
|
|
mul r1, r0
|
|
ldr r0, _021E8E18 ; =0x000003C6
|
|
add r1, #0x1f
|
|
strh r1, [r3, r0]
|
|
ldr r0, [r3, r6]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #4
|
|
blo _021E8D0C
|
|
mov r4, #0
|
|
_021E8D68:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021E8E0C ; =ov101_021F7CC0
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r0, #0x28
|
|
mul r0, r4
|
|
add r6, r7, r0
|
|
mov r0, #0x18
|
|
add r1, r4, #0
|
|
mul r1, r0
|
|
ldr r0, _021E8E1C ; =0x00000464
|
|
add r1, #0x28
|
|
strh r1, [r6, r0]
|
|
mov r1, #0x84
|
|
add r0, r0, #2
|
|
strh r1, [r6, r0]
|
|
mov r0, #0x12
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
add r1, r4, #0
|
|
bl sub_020249D4
|
|
mov r0, #0x12
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0
|
|
bl sub_02024A04
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #8
|
|
blo _021E8D68
|
|
mov r4, #0x14
|
|
_021E8DC2:
|
|
mov r0, #0x28
|
|
mul r0, r4
|
|
add r6, r7, r0
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
cmp r4, #0x23
|
|
bls _021E8DC2
|
|
mov r0, #0x76
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
add r0, r5, #0
|
|
bl ov101_021E8AE4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E8E00: .word ov101_021F7C70
|
|
_021E8E04: .word ov101_021F7C98
|
|
_021E8E08: .word 0x000001E2
|
|
_021E8E0C: .word ov101_021F7CC0
|
|
_021E8E10: .word 0x00000326
|
|
_021E8E14: .word ov101_021F7CE8
|
|
_021E8E18: .word 0x000003C6
|
|
_021E8E1C: .word 0x00000464
|
|
thumb_func_end ov101_021E8BE8
|
|
|
|
thumb_func_start ov101_021E8E20
|
|
ov101_021E8E20: ; 0x021E8E20
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021E8BB8
|
|
add r4, #0x84
|
|
ldr r0, [r4]
|
|
mov r1, #0xb
|
|
bl ov100_021E6F34
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021E8E20
|
|
|
|
thumb_func_start ov101_021E8E34
|
|
ov101_021E8E34: ; 0x021E8E34
|
|
ldr r3, _021E8E38 ; =ov101_021E88D8
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E8E38: .word ov101_021E88D8
|
|
thumb_func_end ov101_021E8E34
|
|
|
|
thumb_func_start ov101_021E8E3C
|
|
ov101_021E8E3C: ; 0x021E8E3C
|
|
ldr r3, _021E8E48 ; =ov100_021E6F34
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #0xb
|
|
bx r3
|
|
nop
|
|
_021E8E48: .word ov100_021E6F34
|
|
thumb_func_end ov101_021E8E3C
|
|
|
|
thumb_func_start ov101_021E8E4C
|
|
ov101_021E8E4C: ; 0x021E8E4C
|
|
ldr r3, _021E8E54 ; =ov100_021E6EF4
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E8E54: .word ov100_021E6EF4
|
|
thumb_func_end ov101_021E8E4C
|
|
|
|
thumb_func_start ov101_021E8E58
|
|
ov101_021E8E58: ; 0x021E8E58
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #5
|
|
ldr r0, [r0, #8]
|
|
mov r2, #0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #1
|
|
bl GX_SetGraphicsMode
|
|
mov r4, #0
|
|
mov r6, #3
|
|
mov r7, #2
|
|
_021E8E76:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl SetBgControlParam
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #2
|
|
mov r3, #4
|
|
bl SetBgControlParam
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
mov r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _021E8E76
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
ldr r0, _021E909C ; =0x04000050
|
|
mov r1, #4
|
|
mov r2, #8
|
|
mov r3, #0xa
|
|
bl G2x_SetBlendAlpha_
|
|
mov r0, #0
|
|
mov r1, #1
|
|
bl ToggleBgLayer
|
|
mov r4, #0
|
|
mov r6, #3
|
|
add r7, r4, #0
|
|
_021E8EE2:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
mov r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl BgSetPosTextAndCommit
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E8EE2
|
|
ldr r1, _021E90A0 ; =ov101_021EB338
|
|
ldr r0, [r5, #0x10]
|
|
str r1, [r0, #0x5c]
|
|
ldr r1, _021E90A4 ; =ov101_021EB2FC
|
|
ldr r0, [r5, #0x10]
|
|
str r1, [r0, #0x60]
|
|
add r0, r5, #0
|
|
bl ov101_021E990C
|
|
add r1, r5, #0
|
|
add r0, r5, #0
|
|
add r1, #0xc8
|
|
bl ov101_021E9B70
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
mov r2, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x14
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #1
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
add r0, r5, #0
|
|
bl ov101_021EAF40
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
ldrb r2, [r5, r2]
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
lsl r2, r2, #0x1f
|
|
lsr r2, r2, #0x1f
|
|
bl ov101_021EB38C
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x11
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r3, #7
|
|
str r3, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r5, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r5, r2]
|
|
ldrsh r3, [r5, r3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA794
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021EAD90
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
add r0, r5, #0
|
|
bl ov101_021E8A88
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021EA238
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EA608
|
|
ldr r1, [r5, #0x10]
|
|
ldrb r0, [r1, #6]
|
|
cmp r0, #1
|
|
ldr r0, [r1, #0x7c]
|
|
bne _021E9020
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov100_021E7128
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #0
|
|
add r0, #0xe8
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteVisibleFlag
|
|
b _021E9036
|
|
_021E9020:
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #1
|
|
add r0, #0xe8
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteVisibleFlag
|
|
_021E9036:
|
|
ldr r0, [r5, #0x10]
|
|
bl ov100_021E5DC8
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
ldr r0, [r5, #0x10]
|
|
ldrb r0, [r0, #5]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _021E905A
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021E9D74
|
|
_021E905A:
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E909C: .word 0x04000050
|
|
_021E90A0: .word ov101_021EB338
|
|
_021E90A4: .word ov101_021EB2FC
|
|
thumb_func_end ov101_021E8E58
|
|
|
|
thumb_func_start ov101_021E90A8
|
|
ov101_021E90A8: ; 0x021E90A8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
bl GX_SetGraphicsMode
|
|
mov r4, #0
|
|
mov r6, #3
|
|
add r7, r4, #0
|
|
_021E90BE:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl SetBgControlParam
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #2
|
|
mov r3, #0
|
|
bl SetBgControlParam
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
mov r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl SetBgControlParam
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
mov r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #2
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #3
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _021E90BE
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl ToggleBgLayer
|
|
mov r1, #0
|
|
ldr r0, _021E9258 ; =0x04000050
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r1, [sp]
|
|
bl G2x_SetBlendAlpha_
|
|
mov r4, #0
|
|
_021E9136:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E9136
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0xe
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
mov r2, #0
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
mov r2, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x18
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl ToggleBgLayer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r5, #0
|
|
bl ov101_021E8BE8
|
|
add r0, r5, #0
|
|
bl ov101_021E8674
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021EA608
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #1
|
|
bne _021E922A
|
|
ldrh r2, [r5, #0x1c]
|
|
ldrh r3, [r5, #0x1e]
|
|
mov r1, #0x46
|
|
lsl r1, r1, #2
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA794
|
|
ldr r1, [r5, #0x10]
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #1
|
|
ldr r0, [r1, #0x7c]
|
|
beq _021E9222
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
b _021E922A
|
|
_021E9222:
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
_021E922A:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EAE54
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r5, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
ldrb r2, [r5, r1]
|
|
mov r0, #0x80
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
ldr r1, _021E925C ; =ov101_021EB378
|
|
ldr r0, [r5, #0x10]
|
|
str r1, [r0, #0x5c]
|
|
ldr r1, _021E9260 ; =ov101_021EB364
|
|
ldr r0, [r5, #0x10]
|
|
str r1, [r0, #0x60]
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E9258: .word 0x04000050
|
|
_021E925C: .word ov101_021EB378
|
|
_021E9260: .word ov101_021EB364
|
|
thumb_func_end ov101_021E90A8
|
|
|
|
thumb_func_start ov101_021E9264
|
|
ov101_021E9264: ; 0x021E9264
|
|
cmp r1, #0
|
|
bne _021E926E
|
|
mov r1, #0
|
|
strh r1, [r0, #0x16]
|
|
strb r1, [r0, #0xc]
|
|
_021E926E:
|
|
bx lr
|
|
thumb_func_end ov101_021E9264
|
|
|
|
thumb_func_start ov101_021E9270
|
|
ov101_021E9270: ; 0x021E9270
|
|
push {r3, lr}
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r1, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _021E9286
|
|
add r0, r1, #0
|
|
add r1, #0xc8
|
|
bl ov101_021E9B70
|
|
_021E9286:
|
|
pop {r3, pc}
|
|
thumb_func_end ov101_021E9270
|
|
|
|
thumb_func_start ov101_021E9288
|
|
ov101_021E9288: ; 0x021E9288
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r1, [r0, r1]
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
beq _021E92F0
|
|
add r1, r0, #0
|
|
add r1, #0xcc
|
|
ldr r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xdc
|
|
ldr r1, [r1]
|
|
add r2, r2, r1
|
|
sub r2, #8
|
|
asr r1, r2, #3
|
|
lsr r1, r1, #0x1c
|
|
add r1, r2, r1
|
|
asr r1, r1, #4
|
|
add r2, r1, #1
|
|
add r1, r0, #0
|
|
add r1, #0xf0
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xc8
|
|
ldr r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xd8
|
|
ldr r1, [r1]
|
|
add r2, r2, r1
|
|
sub r2, #8
|
|
asr r1, r2, #3
|
|
lsr r1, r1, #0x1c
|
|
add r1, r2, r1
|
|
asr r1, r1, #4
|
|
add r2, r1, #1
|
|
add r1, r0, #0
|
|
add r1, #0xf4
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xf0
|
|
ldrh r1, [r1]
|
|
add r2, r1, #7
|
|
add r1, r0, #0
|
|
add r1, #0xf2
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xf4
|
|
ldrh r1, [r1]
|
|
add r0, #0xf6
|
|
add r1, #0xb
|
|
strh r1, [r0]
|
|
bx lr
|
|
_021E92F0:
|
|
add r1, r0, #0
|
|
add r1, #0xcc
|
|
ldr r1, [r1]
|
|
neg r2, r1
|
|
asr r1, r2, #2
|
|
lsr r1, r1, #0x1d
|
|
add r1, r2, r1
|
|
asr r1, r1, #3
|
|
add r2, r1, #1
|
|
add r1, r0, #0
|
|
add r1, #0xf0
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xc8
|
|
ldr r2, [r1]
|
|
asr r1, r2, #2
|
|
lsr r1, r1, #0x1d
|
|
add r1, r2, r1
|
|
asr r1, r1, #3
|
|
add r2, r1, #1
|
|
add r1, r0, #0
|
|
add r1, #0xf4
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xf0
|
|
ldrh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xf2
|
|
add r2, #0x10
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0xf4
|
|
ldrh r1, [r1]
|
|
add r1, #0x17
|
|
add r0, #0xf6
|
|
strh r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E9288
|
|
|
|
thumb_func_start ov101_021E933C
|
|
ov101_021E933C: ; 0x021E933C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x14
|
|
mov r1, #0
|
|
mov r2, #0x1c
|
|
bl MI_CpuFill8
|
|
ldr r0, _021E93CC ; =0x0000FFFF
|
|
mov r1, #0x4e
|
|
strh r0, [r4, #0x2e]
|
|
mov r0, #1
|
|
lsl r1, r1, #2
|
|
strb r0, [r4, #0x14]
|
|
ldrb r0, [r4, r1]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
strb r0, [r4, #0x15]
|
|
add r0, r1, #0
|
|
sub r0, #0x28
|
|
ldrsh r0, [r4, r0]
|
|
sub r1, #0x26
|
|
strh r0, [r4, #0x1c]
|
|
ldrsh r0, [r4, r1]
|
|
strh r0, [r4, #0x1e]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0xcc
|
|
ldrsh r0, [r1, r0]
|
|
strh r0, [r4, #0x20]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0xce
|
|
ldrsh r0, [r1, r0]
|
|
strh r0, [r4, #0x22]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
strh r0, [r4, #0x28]
|
|
add r0, r4, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
strh r0, [r4, #0x2a]
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
strh r0, [r4, #0x24]
|
|
add r0, r4, #0
|
|
add r0, #0xdc
|
|
ldr r0, [r0]
|
|
strh r0, [r4, #0x26]
|
|
add r0, r4, #0
|
|
add r0, #0xf0
|
|
ldrh r0, [r0]
|
|
strb r0, [r4, #0x18]
|
|
add r0, r4, #0
|
|
add r0, #0xf2
|
|
ldrh r0, [r0]
|
|
strb r0, [r4, #0x19]
|
|
add r0, r4, #0
|
|
add r0, #0xf4
|
|
ldrh r0, [r0]
|
|
strb r0, [r4, #0x1a]
|
|
add r0, r4, #0
|
|
add r0, #0xf6
|
|
ldrh r0, [r0]
|
|
strb r0, [r4, #0x1b]
|
|
pop {r4, pc}
|
|
nop
|
|
_021E93CC: .word 0x0000FFFF
|
|
thumb_func_end ov101_021E933C
|
|
|
|
thumb_func_start ov101_021E93D0
|
|
ov101_021E93D0: ; 0x021E93D0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r1, [r4, #0x1c]
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
strh r1, [r4, r0]
|
|
ldrh r1, [r4, #0x1e]
|
|
add r0, r0, #2
|
|
mov r2, #0x1c
|
|
strh r1, [r4, r0]
|
|
mov r0, #0x20
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r0, #0xcc
|
|
strh r1, [r0]
|
|
mov r0, #0x22
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r0, #0xce
|
|
strh r1, [r0]
|
|
mov r0, #0x28
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
mov r0, #0x2a
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
mov r0, #0x24
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
str r1, [r0]
|
|
mov r0, #0x26
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xdc
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, #0x18]
|
|
add r0, #0xf0
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, #0x19]
|
|
add r0, #0xf2
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, #0x1a]
|
|
add r0, #0xf4
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, #0x1b]
|
|
add r0, #0xf6
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x14
|
|
mov r1, #0
|
|
bl MI_CpuFill8
|
|
ldr r0, _021E9460 ; =0x0000FFFF
|
|
strh r0, [r4, #0x2e]
|
|
mov r0, #0
|
|
strb r0, [r4, #0x14]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E9460: .word 0x0000FFFF
|
|
thumb_func_end ov101_021E93D0
|
|
|
|
thumb_func_start ov101_021E9464
|
|
ov101_021E9464: ; 0x021E9464
|
|
push {r3, r4, r5, r6}
|
|
ldr r6, _021E94BC ; =0x00000132
|
|
add r5, r1, #0
|
|
add r1, r2, #0
|
|
ldrb r2, [r0, r6]
|
|
add r4, r3, #0
|
|
ldr r3, [sp, #0x10]
|
|
sub r2, r5, r2
|
|
sub r5, r6, #1
|
|
ldrb r5, [r0, r5]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
sub r1, r1, r5
|
|
add r5, r6, #6
|
|
ldrb r0, [r0, r5]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021E94A4
|
|
asr r0, r2, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r2, r0
|
|
asr r0, r0, #4
|
|
strh r0, [r4]
|
|
asr r0, r1, #3
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
asr r0, r0, #4
|
|
strh r0, [r3]
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_021E94A4:
|
|
asr r0, r2, #2
|
|
lsr r0, r0, #0x1d
|
|
add r0, r2, r0
|
|
asr r0, r0, #3
|
|
strh r0, [r4]
|
|
asr r0, r1, #2
|
|
lsr r0, r0, #0x1d
|
|
add r0, r1, r0
|
|
asr r0, r0, #3
|
|
strh r0, [r3]
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.balign 4, 0
|
|
_021E94BC: .word 0x00000132
|
|
thumb_func_end ov101_021E9464
|
|
|
|
thumb_func_start ov101_021E94C0
|
|
ov101_021E94C0: ; 0x021E94C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0x11
|
|
add r1, r6, #0
|
|
lsl r0, r0, #4
|
|
add r1, #0xf4
|
|
ldrsh r2, [r6, r0]
|
|
ldrh r1, [r1]
|
|
sub r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
asr r5, r1, #0x10
|
|
add r1, r0, #2
|
|
ldrsh r2, [r6, r1]
|
|
add r1, r6, #0
|
|
add r1, #0xf0
|
|
ldrh r1, [r1]
|
|
sub r1, r2, r1
|
|
lsl r1, r1, #0x10
|
|
asr r4, r1, #0x10
|
|
add r1, r0, #0
|
|
add r1, #0x28
|
|
ldrb r1, [r6, r1]
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r3, r1, #3
|
|
lsl r2, r1, #2
|
|
add r1, r0, #0
|
|
add r1, #0x22
|
|
ldrb r7, [r6, r1]
|
|
add r1, r5, #0
|
|
add r0, #0x21
|
|
ldrb r5, [r6, r0]
|
|
add r0, r4, #0
|
|
mul r1, r3
|
|
mul r0, r3
|
|
add r1, r7, r1
|
|
add r0, r5, r0
|
|
add r1, r2, r1
|
|
add r6, #0x84
|
|
add r2, r2, r0
|
|
ldr r0, [r6]
|
|
ldr r3, [r0, #8]
|
|
add r3, #0xc8
|
|
strh r1, [r3, #4]
|
|
strh r2, [r3, #6]
|
|
mov r1, #4
|
|
mov r2, #6
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
ldr r0, [r3, #0x20]
|
|
bl sub_0200DD88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021E94C0
|
|
|
|
thumb_func_start ov101_021E9530
|
|
ov101_021E9530: ; 0x021E9530
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r4, r0, #0
|
|
add r7, r2, #0
|
|
add r5, r3, #0
|
|
cmp r1, #0
|
|
beq _021E959A
|
|
mov r1, #0x10
|
|
str r1, [sp, #4]
|
|
add r1, sp, #0x14
|
|
str r1, [sp]
|
|
ldr r1, [sp, #4]
|
|
add r2, sp, #0x20
|
|
mov r3, #0x14
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r2, [r2, r3]
|
|
add r3, sp, #0x14
|
|
add r3, #2
|
|
bl ov101_021E9464
|
|
add r0, sp, #0x14
|
|
ldrh r1, [r0, #2]
|
|
ldrh r3, [r0]
|
|
mov r0, #4
|
|
mov r2, #5
|
|
str r1, [sp, #0xc]
|
|
sub r1, r2, r1
|
|
sub r0, r0, r3
|
|
lsl r1, r1, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r2, r1, #0x10
|
|
asr r0, r0, #0x10
|
|
sub r1, r5, r3
|
|
mov ip, r0
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #7
|
|
sub r0, r0, r3
|
|
add r1, r5, r0
|
|
mov r0, ip
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0xb
|
|
sub r0, r7, r0
|
|
sub r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
asr r3, r0, #0x10
|
|
ldr r0, [sp, #0xc]
|
|
b _021E9606
|
|
_021E959A:
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r1, [r0]
|
|
asr r0, r1, #2
|
|
lsr r0, r0, #0x1d
|
|
add r0, r1, r0
|
|
asr r0, r0, #3
|
|
add r0, r0, #1
|
|
sub r1, r7, r0
|
|
add r0, sp, #0x14
|
|
strh r1, [r0, #2]
|
|
add r1, r4, #0
|
|
add r1, #0xcc
|
|
ldr r2, [r1]
|
|
asr r1, r2, #2
|
|
lsr r1, r1, #0x1d
|
|
add r1, r2, r1
|
|
asr r1, r1, #3
|
|
add r1, r1, #1
|
|
sub r1, r5, r1
|
|
strh r1, [r0]
|
|
ldrh r1, [r0, #2]
|
|
ldrh r3, [r0]
|
|
ldr r0, [sp, #4]
|
|
mov r2, #0xb
|
|
str r1, [sp, #0x10]
|
|
sub r1, r2, r1
|
|
sub r0, r0, r3
|
|
lsl r1, r1, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r2, r1, #0x10
|
|
asr r0, r0, #0x10
|
|
sub r1, r5, r3
|
|
mov ip, r0
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #0x10
|
|
sub r0, r0, r3
|
|
add r1, r5, r0
|
|
mov r0, ip
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x17
|
|
sub r0, r7, r0
|
|
sub r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
asr r3, r0, #0x10
|
|
ldr r0, [sp, #0x10]
|
|
_021E9606:
|
|
sub r0, r1, r0
|
|
add r0, r7, r0
|
|
mov r7, #0x41
|
|
sub r0, r0, r2
|
|
lsl r7, r7, #2
|
|
lsl r0, r0, #0x10
|
|
asr r5, r0, #0x10
|
|
ldrh r1, [r4, r7]
|
|
ldr r0, [sp, #8]
|
|
cmp r0, r1
|
|
bge _021E963E
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
asr r1, r0, #0x10
|
|
mov r0, ip
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
mov ip, r0
|
|
ldr r0, [sp, #8]
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
sub r0, r6, r1
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
b _021E9666
|
|
_021E963E:
|
|
add r0, r7, #2
|
|
ldrh r0, [r4, r0]
|
|
cmp r6, r0
|
|
ble _021E9666
|
|
sub r0, r6, r0
|
|
lsl r0, r0, #0x10
|
|
asr r1, r0, #0x10
|
|
mov r0, ip
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
mov ip, r0
|
|
sub r0, r6, r1
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
ldr r0, [sp, #8]
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
_021E9666:
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
ldrh r0, [r4, r1]
|
|
cmp r3, r0
|
|
bge _021E968A
|
|
sub r0, r3, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add r1, r2, r0
|
|
lsl r1, r1, #0x10
|
|
asr r2, r1, #0x10
|
|
sub r1, r3, r0
|
|
sub r0, r5, r0
|
|
lsl r1, r1, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r3, r1, #0x10
|
|
asr r5, r0, #0x10
|
|
b _021E96AA
|
|
_021E968A:
|
|
add r0, r1, #2
|
|
ldrh r0, [r4, r0]
|
|
cmp r5, r0
|
|
ble _021E96AA
|
|
sub r0, r5, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add r1, r2, r0
|
|
lsl r1, r1, #0x10
|
|
asr r2, r1, #0x10
|
|
sub r1, r5, r0
|
|
sub r0, r3, r0
|
|
lsl r1, r1, #0x10
|
|
lsl r0, r0, #0x10
|
|
asr r5, r1, #0x10
|
|
asr r3, r0, #0x10
|
|
_021E96AA:
|
|
add r1, r4, #0
|
|
ldr r0, [sp, #8]
|
|
add r1, #0xf0
|
|
strh r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xf2
|
|
strh r6, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xf4
|
|
strh r3, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xf6
|
|
strh r5, [r0]
|
|
ldr r0, [sp, #4]
|
|
mul r0, r2
|
|
neg r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xf8
|
|
strh r1, [r0]
|
|
ldr r0, [sp, #4]
|
|
mov r1, ip
|
|
mul r0, r1
|
|
neg r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xfa
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r1, [r0]
|
|
mov r0, #0xf8
|
|
ldrsh r0, [r4, r0]
|
|
add r1, r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xfc
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xcc
|
|
ldr r1, [r0]
|
|
mov r0, #0xfa
|
|
ldrsh r0, [r4, r0]
|
|
add r1, r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xfe
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ble _021E971E
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E972C
|
|
_021E971E:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E972C:
|
|
bl _ffix
|
|
add r1, r4, #0
|
|
add r1, #0xe8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
ble _021E9752
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E9760
|
|
_021E9752:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E9760:
|
|
bl _ffix
|
|
add r1, r4, #0
|
|
add r1, #0xec
|
|
str r0, [r1]
|
|
ldr r0, _021E9844 ; =0x0000013A
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E9784
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E9792
|
|
_021E9784:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E9792:
|
|
add r5, r0, #0
|
|
mov r0, #0xf8
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _021E97AE
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E97BC
|
|
_021E97AE:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E97BC:
|
|
bl _ffix
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FX_Div
|
|
add r1, r4, #0
|
|
add r1, #0xe0
|
|
str r0, [r1]
|
|
ldr r0, _021E9844 ; =0x0000013A
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E97F0
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E97FE
|
|
_021E97F0:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E97FE:
|
|
add r5, r0, #0
|
|
mov r0, #0xfa
|
|
ldrsh r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _021E981A
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E9828
|
|
_021E981A:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E9828:
|
|
bl _ffix
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FX_Div
|
|
add r4, #0xe4
|
|
str r0, [r4]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E9844: .word 0x0000013A
|
|
thumb_func_end ov101_021E9530
|
|
|
|
thumb_func_start ov101_021E9848
|
|
ov101_021E9848: ; 0x021E9848
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r1, #0
|
|
mov r1, #0x4e
|
|
add r4, r0, #0
|
|
lsl r1, r1, #2
|
|
ldrb r1, [r4, r1]
|
|
add r6, r2, #0
|
|
mov lr, r3
|
|
lsl r1, r1, #0x1f
|
|
ldr r0, [sp, #0x1c]
|
|
ldr r5, [sp, #0x20]
|
|
lsr r1, r1, #0x1f
|
|
add r2, sp, #8
|
|
bne _021E98B2
|
|
mov r1, #0x10
|
|
ldrsh r1, [r2, r1]
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
sub r2, r2, #7
|
|
ldrb r2, [r4, r2]
|
|
sub r1, r1, r2
|
|
asr r2, r1, #3
|
|
lsr r2, r2, #0x1c
|
|
add r2, r1, r2
|
|
lsl r1, r2, #0x14
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
sub r2, r2, #6
|
|
ldrb r3, [r4, r2]
|
|
mov r2, lr
|
|
lsr r1, r1, #0x18
|
|
sub r3, r2, r3
|
|
asr r2, r3, #3
|
|
lsr r2, r2, #0x1c
|
|
add r2, r3, r2
|
|
lsl r2, r2, #0x14
|
|
lsr r2, r2, #0x18
|
|
cmp r2, #5
|
|
bhi _021E989C
|
|
lsl r2, r7, #3
|
|
add r2, #8
|
|
b _021E989E
|
|
_021E989C:
|
|
lsl r2, r7, #3
|
|
_021E989E:
|
|
str r2, [r0]
|
|
cmp r1, #4
|
|
bls _021E98AC
|
|
lsl r0, r6, #3
|
|
add r0, #8
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E98AC:
|
|
lsl r0, r6, #3
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E98B2:
|
|
mov r1, #0x10
|
|
ldrsh r1, [r2, r1]
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
sub r2, r2, #7
|
|
ldrb r2, [r4, r2]
|
|
sub r1, r1, r2
|
|
asr r2, r1, #2
|
|
lsr r2, r2, #0x1d
|
|
add r2, r1, r2
|
|
asr r1, r2, #3
|
|
lsr r3, r1, #0x1f
|
|
lsl r1, r1, #0x1f
|
|
sub r1, r1, r3
|
|
mov r2, #0x1f
|
|
ror r1, r2
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
add r1, r3, r1
|
|
sub r2, r2, #6
|
|
ldrb r3, [r4, r2]
|
|
mov r2, lr
|
|
lsl r1, r1, #0x18
|
|
sub r3, r2, r3
|
|
asr r2, r3, #2
|
|
lsr r2, r2, #0x1d
|
|
add r2, r3, r2
|
|
asr r2, r2, #3
|
|
lsr r4, r2, #0x1f
|
|
lsl r3, r2, #0x1f
|
|
sub r3, r3, r4
|
|
mov r2, #0x1f
|
|
ror r3, r2
|
|
add r2, r4, r3
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
add r2, r7, r2
|
|
lsl r2, r2, #3
|
|
lsr r1, r1, #0x18
|
|
str r2, [r0]
|
|
add r0, r6, r1
|
|
lsl r0, r0, #3
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021E9848
|
|
|
|
thumb_func_start ov101_021E990C
|
|
ov101_021E990C: ; 0x021E990C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r4, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r5, [r0, #8]
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021E992A
|
|
mov r7, #2
|
|
mov r6, #0x10
|
|
b _021E992E
|
|
_021E992A:
|
|
mov r7, #1
|
|
mov r6, #8
|
|
_021E992E:
|
|
cmp r7, #0
|
|
beq _021E9946
|
|
lsl r0, r7, #0xc
|
|
str r0, [sp, #0xc]
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E9956
|
|
_021E9946:
|
|
lsl r0, r7, #0xc
|
|
str r0, [sp, #0xc]
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E9956:
|
|
bl _ffix
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
str r0, [r1]
|
|
cmp r7, #0
|
|
beq _021E9976
|
|
ldr r0, [sp, #0xc]
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E9984
|
|
_021E9976:
|
|
ldr r0, [sp, #0xc]
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E9984:
|
|
bl _ffix
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
str r0, [r1]
|
|
lsl r0, r6, #0xf
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
beq _021E99A2
|
|
add r0, r4, #0
|
|
bl ov101_021E93D0
|
|
b _021E9ABC
|
|
_021E99A2:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r3, #0x11
|
|
str r1, [sp, #4]
|
|
lsl r3, r3, #4
|
|
ldrh r2, [r4, r3]
|
|
add r3, r3, #2
|
|
ldrh r3, [r4, r3]
|
|
add r0, r4, #0
|
|
bl ov101_021E9530
|
|
mov r0, #0xfc
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
mov r1, #0xfe
|
|
add r0, r4, #0
|
|
ldrsh r2, [r4, r1]
|
|
add r0, #0xcc
|
|
str r2, [r0]
|
|
add r0, r1, #0
|
|
add r0, #0x12
|
|
ldrsh r0, [r4, r0]
|
|
mov ip, r0
|
|
add r0, r1, #0
|
|
add r0, #0x34
|
|
ldrb r3, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xf4
|
|
ldrh r2, [r0]
|
|
mov r0, ip
|
|
sub r0, r0, r2
|
|
lsl r0, r0, #3
|
|
add r0, r3, r0
|
|
add r0, r0, #4
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x18]
|
|
add r0, r1, #0
|
|
add r0, #0x14
|
|
ldrsh r3, [r4, r0]
|
|
add r0, r1, #0
|
|
add r0, #0x33
|
|
ldrb r2, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xf0
|
|
ldrh r0, [r0]
|
|
add r1, #0x3a
|
|
sub r0, r3, r0
|
|
lsl r0, r0, #3
|
|
add r0, r2, r0
|
|
add r0, r0, #4
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
ldrb r0, [r4, r1]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021E9AAC
|
|
ldr r0, [sp, #0x18]
|
|
mov r2, ip
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r3, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x10
|
|
bl ov101_021E9530
|
|
ldr r0, [sp, #0x14]
|
|
mov r2, #0x11
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r0, #0xd8
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xdc
|
|
str r0, [sp, #8]
|
|
lsl r2, r2, #4
|
|
ldrh r1, [r4, r2]
|
|
add r2, r2, #2
|
|
ldrh r2, [r4, r2]
|
|
ldr r3, [sp, #0x18]
|
|
add r0, r4, #0
|
|
bl ov101_021E9848
|
|
mov r0, #0xfc
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
mov r2, #0xfe
|
|
add r0, r4, #0
|
|
ldrsh r1, [r4, r2]
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
add r1, r2, #0
|
|
add r1, #0x12
|
|
ldrsh r3, [r4, r1]
|
|
add r1, r4, #0
|
|
add r1, #0xf4
|
|
add r0, r2, #0
|
|
ldrh r1, [r1]
|
|
add r0, #0x34
|
|
ldrb r0, [r4, r0]
|
|
sub r1, r3, r1
|
|
mul r1, r6
|
|
add r1, r0, r1
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x18]
|
|
add r0, r2, #0
|
|
add r0, #0x33
|
|
add r2, #0x14
|
|
ldrb r1, [r4, r0]
|
|
ldrsh r0, [r4, r2]
|
|
add r2, r4, #0
|
|
add r2, #0xf0
|
|
ldrh r2, [r2]
|
|
sub r0, r0, r2
|
|
mul r0, r6
|
|
add r1, r1, r0
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
_021E9AAC:
|
|
add r1, r5, #0
|
|
ldr r0, [sp, #0x18]
|
|
add r1, #0xcc
|
|
strh r0, [r1]
|
|
add r1, r5, #0
|
|
ldr r0, [sp, #0x14]
|
|
add r1, #0xce
|
|
strh r0, [r1]
|
|
_021E9ABC:
|
|
ldr r1, _021E9B68 ; =0x00000112
|
|
ldrsh r0, [r4, r1]
|
|
sub r1, r1, #2
|
|
ldrsh r2, [r4, r1]
|
|
add r1, r5, #0
|
|
add r1, #0xd4
|
|
strh r2, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xd6
|
|
strh r0, [r1]
|
|
cmp r7, #0
|
|
beq _021E9AE6
|
|
ldr r0, [sp, #0xc]
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021E9AF4
|
|
_021E9AE6:
|
|
ldr r0, [sp, #0xc]
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021E9AF4:
|
|
bl _ffix
|
|
str r0, [sp, #0x20]
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x24]
|
|
add r0, r5, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
add r1, sp, #0x1c
|
|
bl sub_020247F4
|
|
ldr r3, _021E9B6C ; =0x00000131
|
|
add r2, r4, #0
|
|
add r0, r3, #0
|
|
sub r0, #0x27
|
|
add r2, #0xf0
|
|
ldrsh r0, [r4, r0]
|
|
ldrh r2, [r2]
|
|
ldrb r1, [r4, r3]
|
|
sub r0, r0, r2
|
|
add r2, r3, #0
|
|
sub r2, #0x29
|
|
mul r0, r6
|
|
ldrsh r7, [r4, r2]
|
|
add r2, r4, #0
|
|
add r1, r1, r0
|
|
ldr r0, [sp, #0x10]
|
|
add r2, #0xf4
|
|
ldrh r2, [r2]
|
|
add r1, r0, r1
|
|
add r0, r3, #1
|
|
sub r2, r7, r2
|
|
ldrb r0, [r4, r0]
|
|
mul r2, r6
|
|
add r2, r0, r2
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r0, r2
|
|
add r0, r5, #0
|
|
add r0, #0xf4
|
|
strh r2, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xf6
|
|
strh r1, [r0]
|
|
add r0, r3, #0
|
|
sub r0, #0x27
|
|
sub r3, #0x29
|
|
ldrsh r2, [r4, r0]
|
|
add r0, r5, #0
|
|
ldrsh r1, [r4, r3]
|
|
add r0, #0xfc
|
|
add r5, #0xfe
|
|
strh r1, [r0]
|
|
strh r2, [r5]
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E9B68: .word 0x00000112
|
|
_021E9B6C: .word 0x00000131
|
|
thumb_func_end ov101_021E990C
|
|
|
|
thumb_func_start ov101_021E9B70
|
|
ov101_021E9B70: ; 0x021E9B70
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r1, #0
|
|
add r4, r0, #0
|
|
ldr r0, [r6, #8]
|
|
bl FX_Inv
|
|
add r5, r0, #0
|
|
ldr r0, [r6, #0xc]
|
|
bl FX_Inv
|
|
str r5, [sp, #4]
|
|
mov r5, #0
|
|
str r5, [sp, #8]
|
|
str r5, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
_021E9B90:
|
|
mov r3, #0x4d
|
|
lsl r3, r3, #2
|
|
ldr r0, [r4, #0x10]
|
|
add r1, r5, #2
|
|
lsl r1, r1, #0x18
|
|
ldrsb r3, [r4, r3]
|
|
ldr r7, [r6]
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #0
|
|
add r3, r7, r3
|
|
bl BgSetPosTextAndCommit
|
|
ldr r3, _021E9BF0 ; =0x00000133
|
|
ldr r0, [r4, #0x10]
|
|
add r1, r5, #2
|
|
lsl r1, r1, #0x18
|
|
ldrsb r3, [r4, r3]
|
|
ldr r7, [r6, #4]
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
mov r2, #3
|
|
add r3, r7, r3
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r6, #0x14]
|
|
add r1, r5, #2
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0x10]
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
ldr r3, [r6, #0x10]
|
|
lsr r1, r1, #0x18
|
|
add r2, sp, #4
|
|
bl SetBgAffine
|
|
add r5, r5, #1
|
|
cmp r5, #2
|
|
blt _021E9B90
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x80
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E9BF0: .word 0x00000133
|
|
thumb_func_end ov101_021E9B70
|
|
|
|
thumb_func_start ov101_021E9BF4
|
|
ov101_021E9BF4: ; 0x021E9BF4
|
|
push {r4, r5, r6, r7}
|
|
add r3, r1, #0
|
|
add r1, r0, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
mov r4, #0xf4
|
|
ldr r1, [r1, #8]
|
|
ldrsh r4, [r1, r4]
|
|
add r5, r4, r3
|
|
add r4, r1, #0
|
|
add r4, #0xf4
|
|
strh r5, [r4]
|
|
mov r5, #0xf6
|
|
ldrsh r4, [r1, r5]
|
|
add r5, #0x43
|
|
add r6, r4, r2
|
|
add r4, r1, #0
|
|
add r4, #0xf6
|
|
strh r6, [r4]
|
|
ldrb r4, [r0, r5]
|
|
lsl r4, r4, #0x1c
|
|
lsr r4, r4, #0x1f
|
|
beq _021E9C3A
|
|
mov r4, #0xcc
|
|
ldrsh r4, [r1, r4]
|
|
add r5, r4, r3
|
|
add r4, r1, #0
|
|
add r4, #0xcc
|
|
strh r5, [r4]
|
|
mov r4, #0xce
|
|
ldrsh r4, [r1, r4]
|
|
add r5, r4, r2
|
|
add r4, r1, #0
|
|
add r4, #0xce
|
|
strh r5, [r4]
|
|
_021E9C3A:
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0
|
|
beq _021E9C6E
|
|
ldr r0, _021E9CC8 ; =0x0000025E
|
|
mov r5, #0
|
|
_021E9C44:
|
|
mov r4, #0x28
|
|
mul r4, r5
|
|
mov r6, #0x97
|
|
add r4, r1, r4
|
|
lsl r6, r6, #2
|
|
ldrsh r6, [r4, r6]
|
|
add r7, r6, r3
|
|
mov r6, #0x97
|
|
lsl r6, r6, #2
|
|
strh r7, [r4, r6]
|
|
add r6, r6, #2
|
|
ldrsh r6, [r4, r6]
|
|
add r6, r6, r2
|
|
strh r6, [r4, r0]
|
|
add r4, r5, #1
|
|
lsl r4, r4, #0x10
|
|
lsr r5, r4, #0x10
|
|
cmp r5, #0x1b
|
|
blo _021E9C44
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
_021E9C6E:
|
|
ldr r0, _021E9CCC ; =0x0000011E
|
|
mov r5, #0
|
|
_021E9C72:
|
|
mov r4, #0x28
|
|
mul r4, r5
|
|
mov r6, #0x47
|
|
add r4, r1, r4
|
|
lsl r6, r6, #2
|
|
ldrsh r6, [r4, r6]
|
|
add r7, r6, r3
|
|
mov r6, #0x47
|
|
lsl r6, r6, #2
|
|
strh r7, [r4, r6]
|
|
add r6, r6, #2
|
|
ldrsh r6, [r4, r6]
|
|
add r6, r6, r2
|
|
strh r6, [r4, r0]
|
|
add r4, r5, #1
|
|
lsl r4, r4, #0x10
|
|
lsr r5, r4, #0x10
|
|
cmp r5, #4
|
|
blo _021E9C72
|
|
ldr r0, _021E9CD0 ; =0x000001BE
|
|
mov r5, #0
|
|
_021E9C9C:
|
|
mov r4, #0x28
|
|
mul r4, r5
|
|
mov r6, #0x6f
|
|
add r4, r1, r4
|
|
lsl r6, r6, #2
|
|
ldrsh r6, [r4, r6]
|
|
add r7, r6, r3
|
|
mov r6, #0x6f
|
|
lsl r6, r6, #2
|
|
strh r7, [r4, r6]
|
|
add r6, r6, #2
|
|
ldrsh r6, [r4, r6]
|
|
add r6, r6, r2
|
|
strh r6, [r4, r0]
|
|
add r4, r5, #1
|
|
lsl r4, r4, #0x10
|
|
lsr r5, r4, #0x10
|
|
cmp r5, #0x64
|
|
blo _021E9C9C
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
nop
|
|
_021E9CC8: .word 0x0000025E
|
|
_021E9CCC: .word 0x0000011E
|
|
_021E9CD0: .word 0x000001BE
|
|
thumb_func_end ov101_021E9BF4
|
|
|
|
thumb_func_start ov101_021E9CD4
|
|
ov101_021E9CD4: ; 0x021E9CD4
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
ldr r0, _021E9D70 ; =0x00000135
|
|
ldrb r2, [r4, r0]
|
|
cmp r2, #0x10
|
|
bls _021E9CE8
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E9CE8:
|
|
cmp r1, #0
|
|
bne _021E9D28
|
|
mov r0, #0x10
|
|
sub r0, r0, r2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
ldr r0, _021E9D70 ; =0x00000135
|
|
mov r2, #0x40
|
|
ldrb r1, [r4, r0]
|
|
mov r0, #0x10
|
|
mov r3, #0xc0
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003E5C
|
|
b _021E9D52
|
|
_021E9D28:
|
|
str r2, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
ldr r0, _021E9D70 ; =0x00000135
|
|
mov r1, #2
|
|
ldrb r0, [r4, r0]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003E5C
|
|
_021E9D52:
|
|
ldr r0, _021E9D70 ; =0x00000135
|
|
ldrb r1, [r4, r0]
|
|
cmp r1, #0x10
|
|
blo _021E9D64
|
|
add r1, r1, #2
|
|
strb r1, [r4, r0]
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E9D64:
|
|
add r1, r1, #2
|
|
strb r1, [r4, r0]
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_021E9D70: .word 0x00000135
|
|
thumb_func_end ov101_021E9CD4
|
|
|
|
thumb_func_start ov101_021E9D74
|
|
ov101_021E9D74: ; 0x021E9D74
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r2, _021E9E7C ; =0x04001040
|
|
ldr r0, [r0, #8]
|
|
ldr r3, _021E9E80 ; =0x000040C0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
strh r0, [r2]
|
|
add r4, r2, #0
|
|
strh r3, [r2, #4]
|
|
lsl r0, r0, #8
|
|
strh r0, [r2, #2]
|
|
strh r3, [r2, #6]
|
|
add r4, #0xa
|
|
ldrh r6, [r4]
|
|
mov r3, #0x3f
|
|
mov r0, #0x11
|
|
bic r6, r3
|
|
orr r0, r6
|
|
strh r0, [r4]
|
|
add r0, r2, #0
|
|
add r0, #8
|
|
ldrh r4, [r0]
|
|
sub r2, #0x40
|
|
bic r4, r3
|
|
mov r3, #0x1f
|
|
orr r4, r3
|
|
strh r4, [r0]
|
|
ldrh r6, [r0]
|
|
ldr r4, _021E9E84 ; =0xFFFFC0FF
|
|
lsl r3, r3, #8
|
|
and r4, r6
|
|
orr r3, r4
|
|
strh r3, [r0]
|
|
ldr r3, [r2]
|
|
ldr r0, _021E9E88 ; =0xFFFF1FFF
|
|
and r3, r0
|
|
mov r0, #6
|
|
lsl r0, r0, #0xc
|
|
orr r0, r3
|
|
str r0, [r2]
|
|
cmp r1, #0
|
|
bne _021E9E4A
|
|
mov r6, #3
|
|
add r7, r6, #0
|
|
mov r4, #0
|
|
sub r7, #0x83
|
|
_021E9DD6:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl BgSetPosTextAndCommit
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #1
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E9DD6
|
|
ldr r2, [sp]
|
|
ldr r1, _021E9E8C ; =0x0000014B
|
|
mov r3, #0
|
|
mov r7, #0x15
|
|
_021E9E02:
|
|
lsr r0, r3, #0x1f
|
|
lsl r6, r3, #0x1f
|
|
sub r6, r6, r0
|
|
mov r4, #0x1f
|
|
ror r6, r4
|
|
add r6, r0, r6
|
|
add r0, r3, r0
|
|
mov r4, #0x68
|
|
mul r4, r6
|
|
add r4, #0x20
|
|
asr r0, r0, #1
|
|
strh r4, [r2, #4]
|
|
add r4, r0, #0
|
|
mul r4, r7
|
|
add r0, r4, r1
|
|
strh r0, [r2, #6]
|
|
add r3, r3, #1
|
|
add r2, #0x28
|
|
cmp r3, #4
|
|
blt _021E9E02
|
|
ldr r0, [sp]
|
|
mov r1, #0x10
|
|
add r0, #0xa4
|
|
strh r1, [r0]
|
|
ldr r0, [sp]
|
|
mov r1, #0x46
|
|
add r0, #0xa6
|
|
lsl r1, r1, #2
|
|
str r0, [sp]
|
|
strh r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
b _021E9E74
|
|
_021E9E4A:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
_021E9E74:
|
|
mov r0, #0
|
|
str r0, [r5, #0x34]
|
|
str r0, [r5, #0x30]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E9E7C: .word 0x04001040
|
|
_021E9E80: .word 0x000040C0
|
|
_021E9E84: .word 0xFFFFC0FF
|
|
_021E9E88: .word 0xFFFF1FFF
|
|
_021E9E8C: .word 0x0000014B
|
|
thumb_func_end ov101_021E9D74
|
|
|
|
thumb_func_start ov101_021E9E90
|
|
ov101_021E9E90: ; 0x021E9E90
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r6, r1, #0
|
|
ldr r4, [r0, #8]
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _021E9EA6
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E9EA6:
|
|
cmp r6, #0
|
|
ldr r0, [r5, #0x10]
|
|
bne _021E9EE8
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #0x20
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #4
|
|
mov r3, #0x20
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #4
|
|
mov r3, #0x20
|
|
bl BgSetPosTextAndCommit
|
|
mov r2, #0
|
|
mov r0, #6
|
|
_021E9ED8:
|
|
ldrsh r1, [r4, r0]
|
|
add r2, r2, #1
|
|
sub r1, #0x20
|
|
strh r1, [r4, #6]
|
|
add r4, #0x28
|
|
cmp r2, #4
|
|
ble _021E9ED8
|
|
b _021E9F22
|
|
_021E9EE8:
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r1, #0
|
|
mov r3, #0x20
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0x20
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0x20
|
|
bl BgSetPosTextAndCommit
|
|
mov r2, #0
|
|
mov r0, #6
|
|
_021E9F14:
|
|
ldrsh r1, [r4, r0]
|
|
add r2, r2, #1
|
|
add r1, #0x20
|
|
strh r1, [r4, #6]
|
|
add r4, #0x28
|
|
cmp r2, #4
|
|
ble _021E9F14
|
|
_021E9F22:
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
ldr r0, [r5, #0x34]
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x34]
|
|
cmp r0, #4
|
|
bge _021E9F3A
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E9F3A:
|
|
mov r4, #0
|
|
mov r0, #1
|
|
str r4, [r5, #0x34]
|
|
str r0, [r5, #0x30]
|
|
cmp r6, #1
|
|
bne _021E9F8A
|
|
add r6, r4, #0
|
|
mov r7, #3
|
|
_021E9F4A:
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021E9F4A
|
|
_021E9F8A:
|
|
ldr r0, _021E9FD0 ; =0x04001000
|
|
ldr r1, _021E9FD4 ; =0xFFFF1FFF
|
|
ldr r2, [r0]
|
|
add r4, r0, #0
|
|
and r1, r2
|
|
str r1, [r0]
|
|
add r1, r0, #0
|
|
mov r2, #0
|
|
add r1, #0x40
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x44
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x42
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x46
|
|
strh r2, [r1]
|
|
add r4, #0x48
|
|
ldrh r1, [r4]
|
|
mov r2, #0x3f
|
|
add r0, #0x4a
|
|
bic r1, r2
|
|
strh r1, [r4]
|
|
ldrh r3, [r4]
|
|
ldr r1, _021E9FD8 ; =0xFFFFC0FF
|
|
and r1, r3
|
|
strh r1, [r4]
|
|
ldrh r1, [r0]
|
|
bic r1, r2
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E9FD0: .word 0x04001000
|
|
_021E9FD4: .word 0xFFFF1FFF
|
|
_021E9FD8: .word 0xFFFFC0FF
|
|
thumb_func_end ov101_021E9E90
|
|
|
|
thumb_func_start ov101_021E9FDC
|
|
ov101_021E9FDC: ; 0x021E9FDC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r4, _021EA0CC ; =0x04000040
|
|
ldr r0, [r0, #8]
|
|
add r6, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
strh r0, [r4]
|
|
mov r1, #0x70
|
|
strh r1, [r4, #4]
|
|
lsl r0, r0, #8
|
|
strh r0, [r4, #2]
|
|
strh r1, [r4, #6]
|
|
add r1, r4, #0
|
|
add r3, r4, #0
|
|
add r1, #0xa
|
|
ldrh r2, [r1]
|
|
mov r0, #0x3f
|
|
mov r7, #0x18
|
|
bic r2, r0
|
|
orr r2, r7
|
|
add r3, #8
|
|
strh r2, [r1]
|
|
ldrh r1, [r3]
|
|
sub r4, #0x40
|
|
bic r1, r0
|
|
mov r0, #0x1f
|
|
orr r1, r0
|
|
strh r1, [r3]
|
|
ldrh r2, [r3]
|
|
ldr r1, _021EA0D0 ; =0xFFFFC0FF
|
|
lsl r0, r0, #8
|
|
and r1, r2
|
|
orr r0, r1
|
|
strh r0, [r3]
|
|
ldr r1, [r4]
|
|
ldr r0, _021EA0D4 ; =0xFFFF1FFF
|
|
and r1, r0
|
|
lsl r0, r7, #0xa
|
|
orr r0, r1
|
|
str r0, [r4]
|
|
cmp r6, #0
|
|
bne _021EA094
|
|
mov r4, #0
|
|
mov r6, #3
|
|
mov r7, #0x70
|
|
_021EA03C:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl BgSetPosTextAndCommit
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _021EA03C
|
|
mov r1, #0x32
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
add r2, r0, r1
|
|
mov r3, #0x14
|
|
mov r0, #6
|
|
_021EA060:
|
|
ldrsh r1, [r2, r0]
|
|
add r3, r3, #1
|
|
sub r1, #0x70
|
|
strh r1, [r2, #6]
|
|
add r2, #0x28
|
|
cmp r3, #0x1b
|
|
ble _021EA060
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
mov r7, #4
|
|
_021EA07E:
|
|
mov r2, #5
|
|
ldr r0, [r4, #0x44]
|
|
add r1, r7, #0
|
|
mvn r2, r2
|
|
bl sub_020136B4
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, #4
|
|
blt _021EA07E
|
|
b _021EA0C4
|
|
_021EA094:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0x76
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
_021EA0C4:
|
|
mov r0, #0
|
|
str r0, [r5, #0x34]
|
|
str r0, [r5, #0x30]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EA0CC: .word 0x04000040
|
|
_021EA0D0: .word 0xFFFFC0FF
|
|
_021EA0D4: .word 0xFFFF1FFF
|
|
thumb_func_end ov101_021E9FDC
|
|
|
|
thumb_func_start ov101_021EA0D8
|
|
ov101_021EA0D8: ; 0x021EA0D8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r4, [r0, #8]
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
beq _021EA0EE
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA0EE:
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bne _021EA12A
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #1
|
|
mov r2, #5
|
|
mov r3, #0x1c
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0x1c
|
|
bl BgSetPosTextAndCommit
|
|
mov r0, #0x32
|
|
lsl r0, r0, #4
|
|
add r3, r4, r0
|
|
mov r2, #0x14
|
|
mov r0, #6
|
|
_021EA11A:
|
|
ldrsh r1, [r3, r0]
|
|
add r2, r2, #1
|
|
add r1, #0x1c
|
|
strh r1, [r3, #6]
|
|
add r3, #0x28
|
|
cmp r2, #0x1b
|
|
ble _021EA11A
|
|
b _021EA15C
|
|
_021EA12A:
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #1
|
|
mov r2, #4
|
|
mov r3, #0x1c
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #4
|
|
mov r3, #0x1c
|
|
bl BgSetPosTextAndCommit
|
|
mov r0, #0x32
|
|
lsl r0, r0, #4
|
|
add r2, r4, r0
|
|
mov r3, #0x14
|
|
mov r0, #6
|
|
_021EA14E:
|
|
ldrsh r1, [r2, r0]
|
|
add r3, r3, #1
|
|
sub r1, #0x1c
|
|
strh r1, [r2, #6]
|
|
add r2, #0x28
|
|
cmp r3, #0x1b
|
|
ble _021EA14E
|
|
_021EA15C:
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
mov r6, #0
|
|
add r4, r5, #0
|
|
mov r7, #4
|
|
_021EA16C:
|
|
mov r2, #5
|
|
ldr r0, [r4, #0x44]
|
|
add r1, r7, #0
|
|
mvn r2, r2
|
|
bl sub_020136B4
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, #4
|
|
blt _021EA16C
|
|
ldr r0, [r5, #0x34]
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x34]
|
|
cmp r0, #4
|
|
bge _021EA18E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA18E:
|
|
mov r4, #0
|
|
str r4, [r5, #0x34]
|
|
mov r0, #1
|
|
str r0, [r5, #0x30]
|
|
ldr r0, [sp]
|
|
cmp r0, #1
|
|
bne _021EA1BE
|
|
_021EA19C:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _021EA19C
|
|
_021EA1BE:
|
|
mov r0, #1
|
|
lsl r0, r0, #0x1a
|
|
ldr r2, [r0]
|
|
ldr r1, _021EA230 ; =0xFFFF1FFF
|
|
add r4, r0, #0
|
|
and r1, r2
|
|
str r1, [r0]
|
|
add r1, r0, #0
|
|
mov r2, #0
|
|
add r1, #0x40
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x44
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x42
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x46
|
|
strh r2, [r1]
|
|
add r4, #0x48
|
|
ldrh r1, [r4]
|
|
mov r2, #0x3f
|
|
add r0, #0x4a
|
|
bic r1, r2
|
|
strh r1, [r4]
|
|
ldrh r3, [r4]
|
|
ldr r1, _021EA234 ; =0xFFFFC0FF
|
|
and r1, r3
|
|
strh r1, [r4]
|
|
ldrh r1, [r0]
|
|
bic r1, r2
|
|
strh r1, [r0]
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
bne _021EA22C
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0x76
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r1, [r5, #0x10]
|
|
ldr r0, [r1, #0xc]
|
|
cmp r0, #1
|
|
beq _021EA22C
|
|
ldr r0, [r1, #0x7c]
|
|
mov r1, #1
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
_021EA22C:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EA230: .word 0xFFFF1FFF
|
|
_021EA234: .word 0xFFFFC0FF
|
|
thumb_func_end ov101_021EA0D8
|
|
|
|
thumb_func_start ov101_021EA238
|
|
ov101_021EA238: ; 0x021EA238
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r4, r0]
|
|
add r6, r1, #0
|
|
mov r7, #0
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
add r0, r0, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
lsl r0, r0, #0x17
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
_021EA260:
|
|
mov r0, #0x85
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
lsl r0, r7, #4
|
|
add r1, r1, r0
|
|
ldr r0, _021EA4C4 ; =0x00000132
|
|
add r3, r4, #0
|
|
add r3, #0xf4
|
|
ldrb r2, [r4, r0]
|
|
ldrb r0, [r1, #2]
|
|
ldrh r3, [r3]
|
|
ldrh r5, [r1, #4]
|
|
sub r3, r0, r3
|
|
ldr r0, [sp, #4]
|
|
mul r3, r0
|
|
ldr r0, [sp]
|
|
add r2, r2, r3
|
|
add r0, r0, r2
|
|
lsl r2, r5, #0x14
|
|
lsr r3, r2, #0x1c
|
|
ldr r2, [sp, #8]
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _021EA4C8 ; =0x00000131
|
|
add r3, r4, #0
|
|
add r3, #0xf0
|
|
ldrb r2, [r4, r0]
|
|
ldrb r0, [r1, #3]
|
|
ldrh r3, [r3]
|
|
sub r3, r0, r3
|
|
ldr r0, [sp, #4]
|
|
mul r3, r0
|
|
ldr r0, [sp]
|
|
add r2, r2, r3
|
|
add r0, r0, r2
|
|
lsl r2, r5, #0x10
|
|
lsr r3, r2, #0x1c
|
|
ldr r2, [sp, #8]
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
add r2, r7, #0
|
|
add r2, #0xb
|
|
lsl r0, r0, #0x10
|
|
lsl r2, r2, #0x10
|
|
asr r0, r0, #0x10
|
|
lsr r2, r2, #0x10
|
|
cmp r6, #0
|
|
beq _021EA2D0
|
|
cmp r6, #1
|
|
beq _021EA340
|
|
cmp r6, #2
|
|
beq _021EA360
|
|
b _021EA386
|
|
_021EA2D0:
|
|
add r5, r2, #0
|
|
add r2, r4, #0
|
|
add r2, #0x84
|
|
ldr r2, [r2]
|
|
mov r3, #0x28
|
|
ldr r2, [r2, #8]
|
|
mul r5, r3
|
|
add r3, r2, r5
|
|
ldr r2, [sp, #0xc]
|
|
strh r2, [r3, #4]
|
|
add r2, r4, #0
|
|
add r2, #0x84
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #8]
|
|
add r2, r2, r5
|
|
strh r0, [r2, #6]
|
|
ldrh r1, [r1]
|
|
add r0, r4, #0
|
|
bl ov101_021ED614
|
|
cmp r0, #0
|
|
beq _021EA31E
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r5
|
|
ldr r0, [r0, #0x20]
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r1, r0, r5
|
|
mov r0, #1
|
|
strb r0, [r1, #1]
|
|
b _021EA386
|
|
_021EA31E:
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r5
|
|
ldr r0, [r0, #0x20]
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r1, r0, r5
|
|
mov r0, #0
|
|
strb r0, [r1, #1]
|
|
b _021EA386
|
|
_021EA340:
|
|
mov r1, #0x28
|
|
mul r1, r2
|
|
add r2, r4, #0
|
|
add r2, #0x84
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #8]
|
|
add r3, r2, r1
|
|
ldr r2, [sp, #0xc]
|
|
strh r2, [r3, #8]
|
|
add r2, r4, #0
|
|
add r2, #0x84
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #8]
|
|
add r1, r2, r1
|
|
strh r0, [r1, #0xa]
|
|
b _021EA386
|
|
_021EA360:
|
|
mov r0, #0x28
|
|
add r5, r2, #0
|
|
mul r5, r0
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r5
|
|
ldr r0, [r0, #0x20]
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r1, r0, r5
|
|
mov r0, #0
|
|
strb r0, [r1, #1]
|
|
_021EA386:
|
|
add r0, r7, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
cmp r7, #0x64
|
|
bhs _021EA392
|
|
b _021EA260
|
|
_021EA392:
|
|
mov r7, #0
|
|
_021EA394:
|
|
add r0, r7, #7
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
lsl r0, r7, #1
|
|
add r1, r4, r0
|
|
ldr r0, _021EA4CC ; =0x000009E8
|
|
ldrh r1, [r1, r0]
|
|
cmp r1, #0
|
|
bne _021EA3CC
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
mov r0, #0x28
|
|
ldr r1, [r1, #8]
|
|
mul r0, r5
|
|
add r2, r1, r0
|
|
mov r1, #0
|
|
strb r1, [r2, #1]
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #8]
|
|
add r0, r1, r0
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
b _021EA4B2
|
|
_021EA3CC:
|
|
add r0, r4, #0
|
|
bl ov101_021EA758
|
|
ldr r1, _021EA4C4 ; =0x00000132
|
|
add r3, r4, #0
|
|
add r3, #0xf4
|
|
ldrb r2, [r4, r1]
|
|
ldrb r1, [r0, #2]
|
|
ldrh r3, [r3]
|
|
sub r3, r1, r3
|
|
ldr r1, [sp, #4]
|
|
mul r3, r1
|
|
ldr r1, [sp]
|
|
add r2, r2, r3
|
|
add r3, r1, r2
|
|
ldrh r1, [r0, #4]
|
|
ldrb r0, [r0, #3]
|
|
mov ip, r1
|
|
lsl r1, r1, #0x14
|
|
lsr r2, r1, #0x1c
|
|
ldr r1, [sp, #8]
|
|
mul r1, r2
|
|
add r1, r3, r1
|
|
ldr r2, _021EA4C8 ; =0x00000131
|
|
lsl r1, r1, #0x10
|
|
ldrb r3, [r4, r2]
|
|
add r2, r4, #0
|
|
add r2, #0xf0
|
|
ldrh r2, [r2]
|
|
asr r1, r1, #0x10
|
|
sub r2, r0, r2
|
|
ldr r0, [sp, #4]
|
|
mul r2, r0
|
|
ldr r0, [sp]
|
|
add r2, r3, r2
|
|
add r0, r0, r2
|
|
mov r2, ip
|
|
lsl r2, r2, #0x10
|
|
lsr r3, r2, #0x1c
|
|
ldr r2, [sp, #8]
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
cmp r6, #0
|
|
beq _021EA432
|
|
cmp r6, #1
|
|
beq _021EA470
|
|
cmp r6, #2
|
|
beq _021EA48E
|
|
b _021EA4B2
|
|
_021EA432:
|
|
add r3, r4, #0
|
|
add r3, #0x84
|
|
ldr r3, [r3]
|
|
mov r2, #0x28
|
|
ldr r3, [r3, #8]
|
|
mul r2, r5
|
|
add r3, r3, r2
|
|
strh r1, [r3, #4]
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #8]
|
|
add r1, r1, r2
|
|
strh r0, [r1, #6]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r1, r0, r2
|
|
mov r0, #1
|
|
strb r0, [r1, #1]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r2
|
|
ldr r0, [r0, #0x20]
|
|
bl Set2dSpriteVisibleFlag
|
|
b _021EA4B2
|
|
_021EA470:
|
|
add r3, r4, #0
|
|
add r3, #0x84
|
|
ldr r3, [r3]
|
|
mov r2, #0x28
|
|
ldr r3, [r3, #8]
|
|
mul r2, r5
|
|
add r3, r3, r2
|
|
strh r1, [r3, #8]
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #8]
|
|
add r1, r1, r2
|
|
strh r0, [r1, #0xa]
|
|
b _021EA4B2
|
|
_021EA48E:
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
mov r0, #0x28
|
|
ldr r1, [r1, #8]
|
|
mul r0, r5
|
|
add r2, r1, r0
|
|
mov r1, #0
|
|
strb r1, [r2, #1]
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
ldr r1, [r1, #8]
|
|
add r0, r1, r0
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
_021EA4B2:
|
|
add r0, r7, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
cmp r7, #4
|
|
bhs _021EA4BE
|
|
b _021EA394
|
|
_021EA4BE:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA4C4: .word 0x00000132
|
|
_021EA4C8: .word 0x00000131
|
|
_021EA4CC: .word 0x000009E8
|
|
thumb_func_end ov101_021EA238
|
|
|
|
thumb_func_start ov101_021EA4D0
|
|
ov101_021EA4D0: ; 0x021EA4D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r1, [sp]
|
|
mov r7, #0
|
|
_021EA4D8:
|
|
mov r0, #0xe
|
|
add r1, r7, #0
|
|
mul r1, r0
|
|
ldr r0, _021EA5FC ; =ov101_021F79B4
|
|
add r3, r5, #0
|
|
add r6, r0, r1
|
|
ldrb r4, [r6, #0xa]
|
|
add r3, #0xf4
|
|
ldrh r3, [r3]
|
|
lsl r0, r4, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
lsl r0, r0, #0x12
|
|
asr r2, r0, #0x10
|
|
ldr r0, _021EA600 ; =0x00000132
|
|
ldrb r1, [r5, r0]
|
|
ldrb r0, [r6, #6]
|
|
sub r0, r0, r3
|
|
lsl r0, r0, #3
|
|
add r0, r1, r0
|
|
add r0, r2, r0
|
|
lsl r0, r0, #0x10
|
|
asr r2, r0, #0x10
|
|
lsl r0, r4, #0x18
|
|
ldrb r3, [r6, #7]
|
|
lsr r0, r0, #0x1c
|
|
lsl r0, r0, #0x12
|
|
add r4, r3, #2
|
|
add r3, r5, #0
|
|
add r3, #0xf0
|
|
asr r1, r0, #0x10
|
|
ldr r0, _021EA604 ; =0x00000131
|
|
ldrh r3, [r3]
|
|
ldrb r0, [r5, r0]
|
|
sub r3, r4, r3
|
|
lsl r3, r3, #3
|
|
add r0, r0, r3
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r1, r0, #0x10
|
|
add r0, r7, #0
|
|
add r0, #0xf
|
|
lsl r0, r0, #0x10
|
|
ldr r3, [sp]
|
|
lsr r0, r0, #0x10
|
|
cmp r3, #0
|
|
beq _021EA540
|
|
cmp r3, #1
|
|
beq _021EA5B8
|
|
add r1, r3, #0
|
|
cmp r1, #2
|
|
beq _021EA5D6
|
|
b _021EA5EC
|
|
_021EA540:
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r3, #0x28
|
|
ldr r0, [r0, #8]
|
|
mul r4, r3
|
|
add r0, r0, r4
|
|
strh r2, [r0, #4]
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r4
|
|
strh r1, [r0, #6]
|
|
ldr r0, [r5, #0x10]
|
|
ldrb r2, [r6, #4]
|
|
ldr r0, [r0, #0x2c]
|
|
mov r1, #2
|
|
bl ScriptState_FlypointFlagAction
|
|
cmp r0, #0
|
|
beq _021EA582
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r4
|
|
ldr r0, [r0, #0x20]
|
|
bl Set2dSpriteVisibleFlag
|
|
b _021EA594
|
|
_021EA582:
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r4
|
|
ldr r0, [r0, #0x20]
|
|
bl Set2dSpriteVisibleFlag
|
|
_021EA594:
|
|
ldrh r1, [r6, #2]
|
|
ldrb r2, [r6, #6]
|
|
ldrb r3, [r6, #7]
|
|
add r0, r5, #0
|
|
bl ov101_021EA804
|
|
cmp r0, #0
|
|
beq _021EA5EC
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #0xa
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r4
|
|
ldr r0, [r0, #0x20]
|
|
bl Set2dSpriteAnimSeqNo
|
|
b _021EA5EC
|
|
_021EA5B8:
|
|
mov r3, #0x28
|
|
mul r3, r0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r3
|
|
strh r2, [r0, #8]
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #8]
|
|
add r0, r0, r3
|
|
strh r1, [r0, #0xa]
|
|
b _021EA5EC
|
|
_021EA5D6:
|
|
add r1, r5, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
ldr r2, [r1, #8]
|
|
mov r1, #0x28
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
_021EA5EC:
|
|
add r0, r7, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
cmp r7, #0x1b
|
|
bhs _021EA5F8
|
|
b _021EA4D8
|
|
_021EA5F8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA5FC: .word ov101_021F79B4
|
|
_021EA600: .word 0x00000132
|
|
_021EA604: .word 0x00000131
|
|
thumb_func_end ov101_021EA4D0
|
|
|
|
thumb_func_start ov101_021EA608
|
|
ov101_021EA608: ; 0x021EA608
|
|
push {r4, r5, r6, lr}
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
cmp r1, #0
|
|
ldr r5, [r0, #8]
|
|
bne _021EA648
|
|
add r0, r5, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
mov r4, #7
|
|
add r5, r5, r0
|
|
mov r6, #0
|
|
_021EA636:
|
|
ldr r0, [r5, #0x20]
|
|
add r1, r6, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r4, r4, #1
|
|
add r5, #0x28
|
|
cmp r4, #0xa
|
|
ble _021EA636
|
|
pop {r4, r5, r6, pc}
|
|
_021EA648:
|
|
add r0, r5, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
mov r0, #0x11
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EA608
|
|
|
|
thumb_func_start ov101_021EA664
|
|
ov101_021EA664: ; 0x021EA664
|
|
cmp r1, #0xae
|
|
bgt _021EA67A
|
|
bge _021EA68E
|
|
cmp r1, #0x98
|
|
bgt _021EA6B8
|
|
cmp r1, #0x97
|
|
blt _021EA6B8
|
|
beq _021EA68E
|
|
cmp r1, #0x98
|
|
beq _021EA68E
|
|
b _021EA6B8
|
|
_021EA67A:
|
|
ldr r3, _021EA6BC ; =0x00000133
|
|
cmp r1, r3
|
|
bgt _021EA684
|
|
beq _021EA6AA
|
|
b _021EA6B8
|
|
_021EA684:
|
|
add r2, r3, #0
|
|
add r2, #0xd6
|
|
cmp r1, r2
|
|
beq _021EA69C
|
|
b _021EA6B8
|
|
_021EA68E:
|
|
ldr r1, _021EA6C0 ; =0x0000013D
|
|
ldrb r0, [r0, r1]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1f
|
|
bne _021EA6B8
|
|
mov r0, #1
|
|
bx lr
|
|
_021EA69C:
|
|
add r3, #0xa
|
|
ldrb r0, [r0, r3]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
bne _021EA6B8
|
|
mov r0, #1
|
|
bx lr
|
|
_021EA6AA:
|
|
add r3, #0xa
|
|
ldrb r0, [r0, r3]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1f
|
|
bne _021EA6B8
|
|
mov r0, #1
|
|
bx lr
|
|
_021EA6B8:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
_021EA6BC: .word 0x00000133
|
|
_021EA6C0: .word 0x0000013D
|
|
thumb_func_end ov101_021EA664
|
|
|
|
thumb_func_start ov101_021EA6C4
|
|
ov101_021EA6C4: ; 0x021EA6C4
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
bne _021EA6CE
|
|
mov r0, #0
|
|
bx lr
|
|
_021EA6CE:
|
|
ldrh r1, [r0]
|
|
ldr r0, _021EA6E4 ; =0x00000209
|
|
cmp r1, r0
|
|
beq _021EA6DC
|
|
sub r0, #0xd6
|
|
cmp r1, r0
|
|
bne _021EA6E0
|
|
_021EA6DC:
|
|
mov r0, #0
|
|
bx lr
|
|
_021EA6E0:
|
|
mov r0, #1
|
|
bx lr
|
|
.balign 4, 0
|
|
_021EA6E4: .word 0x00000209
|
|
thumb_func_end ov101_021EA6C4
|
|
|
|
thumb_func_start ov101_021EA6E8
|
|
ov101_021EA6E8: ; 0x021EA6E8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
ldr r4, _021EA754 ; =0x00000136
|
|
str r0, [sp]
|
|
ldrb r0, [r0, r4]
|
|
add r3, r1, #0
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
cmp r0, #0
|
|
ble _021EA74C
|
|
ldr r0, [sp]
|
|
add r4, #0xde
|
|
ldr r0, [r0, r4]
|
|
mov ip, r0
|
|
_021EA704:
|
|
lsl r4, r1, #4
|
|
mov r0, ip
|
|
add r4, r0, r4
|
|
ldrb r0, [r4, #2]
|
|
cmp r3, r0
|
|
blo _021EA740
|
|
ldrb r6, [r4, #3]
|
|
cmp r2, r6
|
|
blo _021EA740
|
|
ldrh r7, [r4, #4]
|
|
lsl r5, r7, #0x1c
|
|
lsr r5, r5, #0x1c
|
|
add r0, r0, r5
|
|
cmp r3, r0
|
|
bge _021EA740
|
|
lsl r0, r7, #0x18
|
|
lsr r0, r0, #0x1c
|
|
add r0, r6, r0
|
|
cmp r2, r0
|
|
bge _021EA740
|
|
ldrh r1, [r4]
|
|
ldr r0, [sp]
|
|
bl ov101_021EA664
|
|
cmp r0, #0
|
|
beq _021EA73A
|
|
mov r4, #0
|
|
_021EA73A:
|
|
add sp, #8
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA740:
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
ldr r0, [sp, #4]
|
|
cmp r1, r0
|
|
blt _021EA704
|
|
_021EA74C:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA754: .word 0x00000136
|
|
thumb_func_end ov101_021EA6E8
|
|
|
|
thumb_func_start ov101_021EA758
|
|
ov101_021EA758: ; 0x021EA758
|
|
push {r4, r5, r6, lr}
|
|
ldr r3, _021EA790 ; =0x00000136
|
|
mov r2, #0
|
|
ldrb r5, [r0, r3]
|
|
cmp r5, #0
|
|
ble _021EA78C
|
|
add r3, #0xde
|
|
ldr r3, [r0, r3]
|
|
_021EA768:
|
|
lsl r6, r2, #4
|
|
add r4, r3, r6
|
|
ldrh r6, [r3, r6]
|
|
cmp r6, r1
|
|
bne _021EA782
|
|
add r1, r6, #0
|
|
bl ov101_021EA664
|
|
cmp r0, #0
|
|
beq _021EA77E
|
|
mov r4, #0
|
|
_021EA77E:
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021EA782:
|
|
add r2, r2, #1
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
cmp r2, r5
|
|
blt _021EA768
|
|
_021EA78C:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021EA790: .word 0x00000136
|
|
thumb_func_end ov101_021EA758
|
|
|
|
thumb_func_start ov101_021EA794
|
|
ov101_021EA794: ; 0x021EA794
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r2, #0
|
|
add r7, r3, #0
|
|
add r5, r1, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
add r6, r0, #0
|
|
bl ov101_021EA6E8
|
|
str r0, [r5]
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r6, r0]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x1e
|
|
bne _021EA7C4
|
|
cmp r4, #0x19
|
|
bne _021EA7BC
|
|
cmp r7, #0xa
|
|
beq _021EA7C4
|
|
_021EA7BC:
|
|
cmp r4, #0x16
|
|
blo _021EA7C4
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
_021EA7C4:
|
|
ldr r0, [r5]
|
|
cmp r0, #0
|
|
bne _021EA7CE
|
|
mov r0, #0
|
|
b _021EA7DC
|
|
_021EA7CE:
|
|
mov r1, #0x46
|
|
lsl r1, r1, #2
|
|
ldr r1, [r6, r1]
|
|
add r0, r6, #0
|
|
ldrh r1, [r1]
|
|
bl ov101_021ED614
|
|
_021EA7DC:
|
|
str r0, [r5, #4]
|
|
strh r4, [r5, #8]
|
|
strh r7, [r5, #0xa]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021EA794
|
|
|
|
thumb_func_start ov101_021EA7E4
|
|
ov101_021EA7E4: ; 0x021EA7E4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
add r1, r2, #0
|
|
bl ov100_021E5C50
|
|
ldrb r1, [r4, #0xe]
|
|
cmp r1, #1
|
|
beq _021EA7FA
|
|
cmp r0, r1
|
|
bne _021EA7FE
|
|
_021EA7FA:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EA7FE:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EA7E4
|
|
|
|
thumb_func_start ov101_021EA804
|
|
ov101_021EA804: ; 0x021EA804
|
|
push {r3, lr}
|
|
cmp r1, #0x3a
|
|
beq _021EA80E
|
|
cmp r1, #0x1e
|
|
bne _021EA812
|
|
_021EA80E:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021EA812:
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
bl ov101_021EA7E4
|
|
pop {r3, pc}
|
|
thumb_func_end ov101_021EA804
|
|
|
|
thumb_func_start ov101_021EA81C
|
|
ov101_021EA81C: ; 0x021EA81C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r4, _021EA870 ; =ov101_021F79B4
|
|
str r0, [sp]
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
mov r7, #0
|
|
_021EA828:
|
|
ldrb r0, [r4, #6]
|
|
cmp r5, r0
|
|
blt _021EA860
|
|
ldrb r2, [r4, #0xa]
|
|
lsl r1, r2, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
add r0, r0, r1
|
|
cmp r5, r0
|
|
bge _021EA860
|
|
ldrb r1, [r4, #7]
|
|
cmp r6, r1
|
|
blt _021EA860
|
|
lsl r0, r2, #0x18
|
|
lsr r0, r0, #0x1c
|
|
add r0, r1, r0
|
|
cmp r6, r0
|
|
bge _021EA860
|
|
ldr r0, [sp]
|
|
ldrb r2, [r4, #4]
|
|
ldr r0, [r0, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x2c]
|
|
bl ScriptState_FlypointFlagAction
|
|
cmp r0, #0
|
|
beq _021EA860
|
|
add r0, r7, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA860:
|
|
add r7, r7, #1
|
|
add r4, #0xe
|
|
cmp r7, #0x1b
|
|
blt _021EA828
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EA870: .word ov101_021F79B4
|
|
thumb_func_end ov101_021EA81C
|
|
|
|
thumb_func_start ov101_021EA874
|
|
ov101_021EA874: ; 0x021EA874
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
bl ov101_021EA81C
|
|
cmp r0, #0
|
|
blt _021EA89C
|
|
mov r1, #0xe
|
|
mul r1, r0
|
|
ldr r0, _021EA8A4 ; =ov101_021F79B6
|
|
add r2, r6, #0
|
|
ldrh r4, [r0, r1]
|
|
add r0, r5, #0
|
|
add r3, r7, #0
|
|
add r1, r4, #0
|
|
bl ov101_021EA804
|
|
cmp r0, #0
|
|
bne _021EA8A0
|
|
_021EA89C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA8A0:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EA8A4: .word ov101_021F79B6
|
|
thumb_func_end ov101_021EA874
|
|
|
|
thumb_func_start ov101_021EA8A8
|
|
ov101_021EA8A8: ; 0x021EA8A8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
sub r1, r3, #2
|
|
str r1, [sp, #4]
|
|
add r7, r2, #0
|
|
ldr r2, [sp, #4]
|
|
add r1, r7, #0
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
add r5, r0, #0
|
|
str r3, [sp]
|
|
bl ov101_021EA81C
|
|
add r6, r0, #0
|
|
bpl _021EA902
|
|
ldr r3, [sp]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
bl ov101_021EA794
|
|
mov r0, #0xf
|
|
ldrsb r2, [r5, r0]
|
|
cmp r2, #0
|
|
blt _021EA8FA
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r2, #0xf
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0x28
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #0xa
|
|
bl Set2dSpriteAnimSeqNo
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
strb r0, [r5, #0xf]
|
|
_021EA8FA:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021EA902:
|
|
mov r0, #0xe
|
|
add r1, r6, #0
|
|
mul r1, r0
|
|
ldr r0, _021EA98C ; =ov101_021F79B4
|
|
strh r7, [r4, #8]
|
|
ldrh r0, [r0, r1]
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #8]
|
|
strh r0, [r4, #0xa]
|
|
add r0, r5, #0
|
|
bl ov101_021EA758
|
|
str r0, [r4]
|
|
mov r0, #0xf
|
|
ldrsb r1, [r5, r0]
|
|
cmp r1, r6
|
|
beq _021EA97C
|
|
cmp r1, #0
|
|
blt _021EA948
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r1, #0xf
|
|
mov r2, #0x28
|
|
mul r2, r1
|
|
ldr r0, [r0, #8]
|
|
mov r1, #0xa
|
|
add r0, r0, r2
|
|
ldr r0, [r0, #0x20]
|
|
bl Set2dSpriteAnimSeqNo
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
strb r0, [r5, #0xf]
|
|
_021EA948:
|
|
ldr r1, [sp, #8]
|
|
ldr r3, [sp, #4]
|
|
lsl r1, r1, #0x10
|
|
lsl r3, r3, #0x10
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x10
|
|
add r2, r7, #0
|
|
lsr r3, r3, #0x10
|
|
bl ov101_021EA804
|
|
cmp r0, #0
|
|
beq _021EA97C
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r1, r6, #0
|
|
ldr r2, [r0, #8]
|
|
add r1, #0xf
|
|
mov r0, #0x28
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #0xb
|
|
bl Set2dSpriteAnimSeqNo
|
|
strb r6, [r5, #0xf]
|
|
_021EA97C:
|
|
ldr r1, [sp, #8]
|
|
add r0, r5, #0
|
|
bl ov101_021ED614
|
|
str r0, [r4, #4]
|
|
ldr r0, [sp, #8]
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EA98C: .word ov101_021F79B4
|
|
thumb_func_end ov101_021EA8A8
|
|
|
|
thumb_func_start ov101_021EA990
|
|
ov101_021EA990: ; 0x021EA990
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
bl GF_RTC_GetTimeOfDayWildParam
|
|
mov r1, #0x13
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r5, r1]
|
|
mov r4, #0
|
|
cmp r1, #0
|
|
ble _021EAA06
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
_021EA9AA:
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r3, #0x14
|
|
ldrb r1, [r0, r4]
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r2, [r5, r0]
|
|
mul r3, r1
|
|
ldr r0, [r2, #4]
|
|
add r3, r0, r3
|
|
ldrh r0, [r3, #6]
|
|
cmp r0, r6
|
|
bne _021EA9FA
|
|
ldrb r0, [r3, #1]
|
|
cmp r0, #0
|
|
bne _021EA9FA
|
|
add r0, r1, #0
|
|
ldr r1, [r5, #0x10]
|
|
add r3, r7, #0
|
|
ldr r1, [r1, #0x24]
|
|
bl PhoneBookTrainerGetRematchInfo
|
|
cmp r0, #0
|
|
beq _021EA9E0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA9E0:
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
mov r0, #0x49
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r1, r4]
|
|
ldr r0, [r5, r0]
|
|
bl PhoneRematches_GiftItemIdGet
|
|
cmp r0, #0
|
|
beq _021EA9FA
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EA9FA:
|
|
mov r0, #0x13
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r5, r0]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021EA9AA
|
|
_021EAA06:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EA990
|
|
|
|
thumb_func_start ov101_021EAA0C
|
|
ov101_021EAA0C: ; 0x021EAA0C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
str r1, [sp, #0x1c]
|
|
ldr r4, [r0, #8]
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [r0]
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [sp, #0x30]
|
|
ldr r0, [r0, #4]
|
|
str r0, [sp, #0x28]
|
|
add r0, r5, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl StringSetEmpty
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
mov r7, #0
|
|
add r6, r5, r0
|
|
_021EAA40:
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r7, r7, #1
|
|
add r6, #0x10
|
|
cmp r7, #3
|
|
blo _021EAA40
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _021EAD88 ; =0x00010200
|
|
add r2, #0x85
|
|
str r0, [sp, #8]
|
|
add r0, r5, r2
|
|
ldr r2, [sp, #0x20]
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r2, r5, r2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x9c
|
|
ldr r2, [r2]
|
|
mov r3, #2
|
|
bl AddTextPrinterParameterized2
|
|
ldrb r0, [r5, #0xd]
|
|
cmp r0, #0
|
|
bne _021EAA9C
|
|
ldr r1, [sp, #0x30]
|
|
add r0, r5, #0
|
|
bl ov101_021EA6C4
|
|
cmp r0, #0
|
|
bne _021EAA92
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #2
|
|
bl ov101_021EB38C
|
|
b _021EAA9C
|
|
_021EAA92:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov101_021EB38C
|
|
_021EAA9C:
|
|
ldr r0, [sp, #0x2c]
|
|
cmp r0, #0
|
|
bne _021EAAA4
|
|
b _021EAC2E
|
|
_021EAAA4:
|
|
add r2, r5, #0
|
|
add r2, #0xa4
|
|
ldrh r0, [r0]
|
|
ldr r1, [r5]
|
|
ldr r2, [r2]
|
|
bl ov101_021EB560
|
|
ldrb r0, [r5, #0xd]
|
|
cmp r0, #2
|
|
bne _021EAABC
|
|
mov r0, #1
|
|
b _021EAABE
|
|
_021EAABC:
|
|
mov r0, #0
|
|
_021EAABE:
|
|
str r0, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _021EAD88 ; =0x00010200
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
add r2, #0x95
|
|
add r0, r5, r2
|
|
add r2, r5, #0
|
|
str r1, [sp, #0xc]
|
|
add r2, #0xa4
|
|
ldr r2, [r2]
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, #0
|
|
beq _021EAB48
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
mov r6, #0
|
|
add r4, r5, r0
|
|
_021EAAEA:
|
|
add r0, r4, #0
|
|
bl CopyWindowToVram
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, #1
|
|
bls _021EAAEA
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #8
|
|
str r1, [sp]
|
|
mov r1, #7
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0x17
|
|
mov r3, #0xb
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EAB48:
|
|
ldr r0, [sp, #0x2c]
|
|
ldrb r0, [r0, #7]
|
|
cmp r0, #0
|
|
beq _021EAB56
|
|
mov r1, #8
|
|
sub r6, r0, #1
|
|
b _021EAB5A
|
|
_021EAB56:
|
|
mov r1, #0
|
|
add r6, r1, #0
|
|
_021EAB5A:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r2, #8
|
|
str r2, [sp]
|
|
mov r2, #7
|
|
str r2, [sp, #4]
|
|
add r2, r0, #0
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0x17
|
|
mov r3, #0xb
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #7
|
|
str r1, [sp]
|
|
add r2, r0, #0
|
|
str r1, [sp, #4]
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
mov r2, #3
|
|
and r2, r6
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
lsl r2, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #0xc]
|
|
lsr r2, r6, #2
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
lsl r2, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #0x10]
|
|
ldrh r2, [r0]
|
|
mov r3, #0xb
|
|
lsl r2, r2, #0x15
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r2, #0x18
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
add r0, r5, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
bl StringSetEmpty
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, r5, #0
|
|
add r2, r5, #0
|
|
add r0, #0x88
|
|
add r2, #0x90
|
|
ldrb r1, [r1, #6]
|
|
ldr r0, [r0]
|
|
ldr r2, [r2]
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r2, #0xff
|
|
str r2, [sp, #4]
|
|
ldr r0, _021EAD88 ; =0x00010200
|
|
add r2, #0xa5
|
|
str r0, [sp, #8]
|
|
add r0, r5, r2
|
|
add r2, r5, #0
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x90
|
|
ldr r2, [r2]
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r1, [sp, #0x2c]
|
|
add r0, r5, #0
|
|
ldrh r1, [r1]
|
|
bl ov101_021EA990
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteVisibleFlag
|
|
b _021EAC72
|
|
_021EAC2E:
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #8
|
|
str r1, [sp]
|
|
mov r1, #7
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0x17
|
|
mov r3, #0xb
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
add r0, r4, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
_021EAC72:
|
|
ldr r0, [sp, #0x28]
|
|
cmp r0, #0
|
|
beq _021EAD2A
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x71
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
ldr r7, [sp, #0x28]
|
|
mov r6, #0
|
|
str r0, [sp, #0x34]
|
|
_021EAC9C:
|
|
ldr r0, [sp, #0x28]
|
|
add r0, r0, r6
|
|
str r0, [sp, #0x24]
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0xf
|
|
ldr r0, [r4, #0x20]
|
|
beq _021EACBC
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [r4, #0x20]
|
|
ldrb r1, [r1, #4]
|
|
bl sub_020249D4
|
|
b _021EACC2
|
|
_021EACBC:
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
_021EACC2:
|
|
ldrh r2, [r7, #8]
|
|
ldr r0, _021EAD8C ; =0x0000FFFF
|
|
cmp r2, r0
|
|
beq _021EAD1E
|
|
add r0, r5, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferECWord
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
add r2, #0xb4
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, [r2]
|
|
bl StringExpandPlaceholders
|
|
add r2, r5, #0
|
|
lsr r1, r6, #1
|
|
mov r0, #0x15
|
|
mul r0, r1
|
|
add r0, r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #1
|
|
and r0, r6
|
|
add r0, r0, #3
|
|
lsl r1, r0, #4
|
|
ldr r0, [sp, #0x34]
|
|
add r2, #0x90
|
|
add r0, r0, r1
|
|
ldr r2, [r2]
|
|
mov r1, #0
|
|
mov r3, #4
|
|
bl AddTextPrinterParameterized2
|
|
_021EAD1E:
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
add r7, r7, #2
|
|
cmp r6, #4
|
|
blo _021EAC9C
|
|
b _021EAD4E
|
|
_021EAD2A:
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
mov r6, #0
|
|
add r7, r5, r0
|
|
_021EAD32:
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r6, #3
|
|
lsl r0, r0, #4
|
|
add r0, r7, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
cmp r6, #4
|
|
blo _021EAD32
|
|
_021EAD4E:
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
mov r6, #0
|
|
add r4, r5, r0
|
|
_021EAD56:
|
|
add r0, r4, #0
|
|
bl CopyWindowToVram
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, #4
|
|
bls _021EAD56
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EAD88: .word 0x00010200
|
|
_021EAD8C: .word 0x0000FFFF
|
|
thumb_func_end ov101_021EAA0C
|
|
|
|
thumb_func_start ov101_021EAD90
|
|
ov101_021EAD90: ; 0x021EAD90
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
mov r1, #0x11
|
|
add r5, r0, #0
|
|
lsl r1, r1, #4
|
|
ldrh r0, [r5, r1]
|
|
add r1, r1, #2
|
|
ldrsh r1, [r5, r1]
|
|
sub r1, r1, #2
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl ov100_021E5C50
|
|
add r3, r0, #0
|
|
lsr r2, r3, #0x1f
|
|
add r2, r3, r2
|
|
asr r3, r2, #1
|
|
mov r2, #1
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
eor r2, r3
|
|
bl ov101_021EAA0C
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021EAD90
|
|
|
|
thumb_func_start ov101_021EADC0
|
|
ov101_021EADC0: ; 0x021EADC0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _021EAE50 ; =0x0000FFFF
|
|
add r6, r1, #0
|
|
cmp r2, r0
|
|
bne _021EADDE
|
|
lsl r0, r6, #4
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x44]
|
|
mov r1, #0
|
|
bl sub_020137C0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021EADDE:
|
|
add r0, r5, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl BufferECWord
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
add r2, #0xb4
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, [r2]
|
|
bl StringExpandPlaceholders
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBufferText_AssumeTileSize32
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #8]
|
|
mov r0, #0x81
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x90
|
|
ldr r2, [r2]
|
|
add r0, r5, r0
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r4, r5, #0
|
|
mov r2, #0x81
|
|
lsl r2, r2, #2
|
|
add r4, #0x44
|
|
lsl r6, r6, #4
|
|
ldr r0, [r4, r6]
|
|
ldr r1, [r5, #0x40]
|
|
ldr r3, [r5]
|
|
add r2, r5, r2
|
|
bl sub_020139D0
|
|
ldr r0, [r4, r6]
|
|
mov r1, #1
|
|
bl sub_020137C0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021EAE50: .word 0x0000FFFF
|
|
thumb_func_end ov101_021EADC0
|
|
|
|
thumb_func_start ov101_021EAE54
|
|
ov101_021EAE54: ; 0x021EAE54
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r4, [r0, #8]
|
|
mov r0, #0x46
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
ldr r5, [r0]
|
|
ldr r0, [r0, #4]
|
|
cmp r1, #0
|
|
str r0, [sp, #0x10]
|
|
beq _021EAEBE
|
|
add r0, r7, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl StringSetEmpty
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r2, r7, #0
|
|
add r2, #0xa4
|
|
ldrh r0, [r5]
|
|
ldr r1, [r7]
|
|
ldr r2, [r2]
|
|
bl ov101_021EB560
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
ldr r0, _021EAF38 ; =0x00010200
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, #0xa4
|
|
ldr r2, [r2]
|
|
add r0, r7, r0
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [r7, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
_021EAEBE:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r0, #0
|
|
bne _021EAEEA
|
|
mov r6, #0xd
|
|
mov r5, #0
|
|
lsl r6, r6, #6
|
|
_021EAECA:
|
|
ldr r0, [r4, r6]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
lsl r1, r5, #0x18
|
|
ldr r2, _021EAF3C ; =0x0000FFFF
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021EADC0
|
|
add r5, r5, #1
|
|
add r4, #0x28
|
|
cmp r5, #4
|
|
blo _021EAECA
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021EAEEA:
|
|
mov r5, #0
|
|
add r6, r0, #0
|
|
_021EAEEE:
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, r5
|
|
ldrb r1, [r0, #4]
|
|
cmp r1, #0xf
|
|
bne _021EAF06
|
|
mov r0, #0xd
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
b _021EAF1C
|
|
_021EAF06:
|
|
mov r0, #0xd
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl sub_020249D4
|
|
mov r0, #0xd
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
_021EAF1C:
|
|
ldrh r2, [r6, #8]
|
|
lsl r1, r5, #0x18
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021EADC0
|
|
add r5, r5, #1
|
|
add r4, #0x28
|
|
add r6, r6, #2
|
|
cmp r5, #4
|
|
blo _021EAEEE
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EAF38: .word 0x00010200
|
|
_021EAF3C: .word 0x0000FFFF
|
|
thumb_func_end ov101_021EAE54
|
|
|
|
thumb_func_start ov101_021EAF40
|
|
ov101_021EAF40: ; 0x021EAF40
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
mov r0, #0x17
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x2f
|
|
str r1, [sp]
|
|
mov r1, #0x14
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
mov r2, #0
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r5, r0]
|
|
lsl r1, r1, #0x19
|
|
lsr r1, r1, #0x1e
|
|
beq _021EAF8E
|
|
cmp r1, #1
|
|
beq _021EAFC6
|
|
b _021EAFFA
|
|
_021EAF8E:
|
|
add r0, #0x38
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r1, #0x14
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #0x30
|
|
str r1, [sp, #0xc]
|
|
mov r3, #0
|
|
str r3, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0x16
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
b _021EAFFA
|
|
_021EAFC6:
|
|
add r0, #0x38
|
|
ldr r0, [r5, r0]
|
|
mov r1, #3
|
|
str r1, [sp]
|
|
mov r2, #0x14
|
|
str r2, [sp, #4]
|
|
add r2, r0, #0
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
mov r2, #0x36
|
|
str r2, [sp, #0xc]
|
|
mov r3, #0
|
|
str r3, [sp, #0x10]
|
|
ldrh r2, [r0]
|
|
lsl r2, r2, #0x15
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r2, #0x1d
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
_021EAFFA:
|
|
ldr r4, _021EB1D8 ; =ov101_021F79B4
|
|
mov r7, #0
|
|
_021EAFFE:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0x4b
|
|
beq _021EB08E
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #0xff
|
|
beq _021EB08E
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x1e
|
|
cmp r0, #2
|
|
bhs _021EB024
|
|
ldrb r0, [r4, #6]
|
|
ldrb r1, [r4, #7]
|
|
bl ov100_021E5C50
|
|
cmp r0, #0
|
|
beq _021EB08E
|
|
_021EB024:
|
|
ldr r0, [r5, #0x10]
|
|
ldrb r2, [r4, #4]
|
|
ldr r0, [r0, #0x2c]
|
|
mov r1, #2
|
|
bl ScriptState_FlypointFlagAction
|
|
cmp r0, #0
|
|
bne _021EB08E
|
|
ldrb r1, [r4, #0xb]
|
|
mov r0, #0x17
|
|
lsl r0, r0, #4
|
|
lsl r1, r1, #0x1c
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x1c
|
|
str r1, [sp]
|
|
ldrb r1, [r4, #0xb]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
ldrb r1, [r4, #8]
|
|
str r1, [sp, #0xc]
|
|
ldrb r1, [r4, #9]
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldrb r6, [r4, #0xc]
|
|
ldrb r2, [r4, #6]
|
|
ldr r0, [r5, #0x10]
|
|
lsl r3, r6, #0x1c
|
|
lsr r3, r3, #0x1c
|
|
sub r2, r2, r3
|
|
lsl r6, r6, #0x18
|
|
lsl r2, r2, #0x18
|
|
ldrb r3, [r4, #7]
|
|
lsr r6, r6, #0x1c
|
|
ldr r0, [r0, #0x74]
|
|
sub r3, r3, r6
|
|
add r3, r3, #2
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl CopyToBgTilemapRect
|
|
_021EB08E:
|
|
add r7, r7, #1
|
|
add r4, #0xe
|
|
cmp r7, #0x1b
|
|
blt _021EAFFE
|
|
ldr r0, _021EB1DC ; =0x0000013D
|
|
ldrb r1, [r5, r0]
|
|
lsl r2, r1, #0x1e
|
|
lsr r2, r2, #0x1f
|
|
beq _021EB0E0
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
bne _021EB158
|
|
add r0, #0x33
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
str r1, [sp]
|
|
mov r1, #6
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #0x30
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x1b
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #1
|
|
mov r3, #9
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
b _021EB158
|
|
_021EB0E0:
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
beq _021EB120
|
|
add r0, #0x33
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
str r1, [sp]
|
|
mov r1, #6
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #0x29
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x14
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #1
|
|
mov r3, #9
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
b _021EB158
|
|
_021EB120:
|
|
add r0, #0x33
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
str r1, [sp]
|
|
mov r1, #6
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #0x29
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x1b
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #1
|
|
mov r3, #9
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
_021EB158:
|
|
ldr r0, _021EB1DC ; =0x0000013D
|
|
ldrb r1, [r5, r0]
|
|
lsl r1, r1, #0x1d
|
|
lsr r1, r1, #0x1f
|
|
beq _021EB198
|
|
add r0, #0x33
|
|
ldr r0, [r5, r0]
|
|
mov r1, #3
|
|
str r1, [sp]
|
|
mov r2, #4
|
|
str r2, [sp, #4]
|
|
add r2, r0, #0
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
mov r2, #0x37
|
|
str r2, [sp, #0xc]
|
|
mov r2, #0x14
|
|
str r2, [sp, #0x10]
|
|
ldrh r2, [r0]
|
|
mov r3, #1
|
|
lsl r2, r2, #0x15
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r2, #0x13
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
_021EB198:
|
|
ldr r0, _021EB1DC ; =0x0000013D
|
|
ldrb r1, [r5, r0]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1f
|
|
beq _021EB1D4
|
|
add r0, #0x33
|
|
ldr r0, [r5, r0]
|
|
mov r1, #3
|
|
str r1, [sp]
|
|
add r2, r0, #0
|
|
str r1, [sp, #4]
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
mov r2, #0x37
|
|
str r2, [sp, #0xc]
|
|
mov r2, #0x18
|
|
str r2, [sp, #0x10]
|
|
ldrh r3, [r0]
|
|
lsl r3, r3, #0x15
|
|
lsr r3, r3, #0x18
|
|
str r3, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r3, #0xf
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
_021EB1D4:
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EB1D8: .word ov101_021F79B4
|
|
_021EB1DC: .word 0x0000013D
|
|
thumb_func_end ov101_021EAF40
|
|
|
|
thumb_func_start ov101_021EB1E0
|
|
ov101_021EB1E0: ; 0x021EB1E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, #0xd]
|
|
cmp r0, #1
|
|
beq _021EB2CA
|
|
cmp r1, #0
|
|
beq _021EB1FA
|
|
mov r1, #0x46
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
cmp r0, #0
|
|
bne _021EB218
|
|
_021EB1FA:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, _021EB2D0 ; =0x00000152
|
|
mov r1, #0
|
|
add sp, #0x20
|
|
strh r1, [r5, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EB218:
|
|
ldrh r2, [r0]
|
|
add r0, r1, #0
|
|
add r0, #0x3a
|
|
ldrh r0, [r5, r0]
|
|
cmp r2, r0
|
|
beq _021EB2CA
|
|
add r1, #0x3a
|
|
strh r2, [r5, r1]
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, _021EB2D4 ; =0x00000136
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _021EB2C0
|
|
ldr r4, [sp, #0x1c]
|
|
_021EB240:
|
|
mov r0, #0x85
|
|
lsl r0, r0, #2
|
|
ldr r2, [r5, r0]
|
|
sub r0, #0xfc
|
|
ldr r0, [r5, r0]
|
|
ldrh r1, [r0]
|
|
ldrh r0, [r2, r4]
|
|
cmp r1, r0
|
|
bne _021EB2AE
|
|
add r0, r2, r4
|
|
ldrb r3, [r0, #0xe]
|
|
ldrb r1, [r0, #0xf]
|
|
add r2, r3, #0
|
|
mul r2, r1
|
|
cmp r2, #9
|
|
ldrb r2, [r0, #2]
|
|
blt _021EB272
|
|
ldrb r6, [r0, #3]
|
|
sub r2, r2, #1
|
|
lsl r2, r2, #0x10
|
|
sub r6, r6, #1
|
|
lsl r6, r6, #0x10
|
|
lsr r2, r2, #0x10
|
|
lsr r7, r6, #0x10
|
|
b _021EB274
|
|
_021EB272:
|
|
ldrb r7, [r0, #3]
|
|
_021EB274:
|
|
mov r6, #0x17
|
|
lsl r6, r6, #4
|
|
ldr r6, [r5, r6]
|
|
lsl r2, r2, #0x18
|
|
str r3, [sp]
|
|
str r1, [sp, #4]
|
|
add r1, r6, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
ldrb r1, [r0, #0xc]
|
|
lsl r3, r7, #0x18
|
|
lsr r2, r2, #0x18
|
|
str r1, [sp, #0xc]
|
|
ldrb r0, [r0, #0xd]
|
|
mov r1, #2
|
|
lsr r3, r3, #0x18
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r6]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x14]
|
|
ldrh r0, [r6, #2]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
_021EB2AE:
|
|
ldr r0, [sp, #0x1c]
|
|
add r4, #0x10
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, _021EB2D4 ; =0x00000136
|
|
ldrb r1, [r5, r0]
|
|
ldr r0, [sp, #0x1c]
|
|
cmp r0, r1
|
|
blt _021EB240
|
|
_021EB2C0:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
_021EB2CA:
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EB2D0: .word 0x00000152
|
|
_021EB2D4: .word 0x00000136
|
|
thumb_func_end ov101_021EB1E0
|
|
|
|
thumb_func_start ov101_021EB2D8
|
|
ov101_021EB2D8: ; 0x021EB2D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
ldr r0, [r0, #8]
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r1, _021EB2F8 ; =0x00000139
|
|
mov r0, #8
|
|
ldrb r2, [r4, r1]
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021EB2F8: .word 0x00000139
|
|
thumb_func_end ov101_021EB2D8
|
|
|
|
thumb_func_start ov101_021EB2FC
|
|
ov101_021EB2FC: ; 0x021EB2FC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
add r0, r4, #0
|
|
bl ov101_021E94C0
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl ToggleBgLayer
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EB2FC
|
|
|
|
thumb_func_start ov101_021EB338
|
|
ov101_021EB338: ; 0x021EB338
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021E94C0
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
ldr r0, [r0, #8]
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r1, _021EB360 ; =0x00000139
|
|
mov r0, #8
|
|
ldrb r2, [r4, r1]
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_021EB360: .word 0x00000139
|
|
thumb_func_end ov101_021EB338
|
|
|
|
thumb_func_start ov101_021EB364
|
|
ov101_021EB364: ; 0x021EB364
|
|
ldr r0, [r0, #0x10]
|
|
ldr r3, _021EB370 ; =ov100_021E7128
|
|
ldr r0, [r0, #0x7c]
|
|
ldr r1, _021EB374 ; =0x0000FFFF
|
|
mov r2, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EB370: .word ov100_021E7128
|
|
_021EB374: .word 0x0000FFFF
|
|
thumb_func_end ov101_021EB364
|
|
|
|
thumb_func_start ov101_021EB378
|
|
ov101_021EB378: ; 0x021EB378
|
|
ldr r0, [r0, #0x10]
|
|
ldr r3, _021EB384 ; =ov100_021E7128
|
|
ldr r0, [r0, #0x7c]
|
|
ldr r1, _021EB388 ; =0x0000FFFF
|
|
mov r2, #1
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EB384: .word ov100_021E7128
|
|
_021EB388: .word 0x0000FFFF
|
|
thumb_func_end ov101_021EB378
|
|
|
|
thumb_func_start ov101_021EB38C
|
|
ov101_021EB38C: ; 0x021EB38C
|
|
push {r3, r4, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
bne _021EB3D8
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r3, #6
|
|
str r3, [sp]
|
|
mov r1, #7
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
add r1, r2, #0
|
|
mul r1, r3
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x15
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0x1a
|
|
mov r3, #2
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #1
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
b _021EB41A
|
|
_021EB3D8:
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r3, #6
|
|
str r3, [sp]
|
|
mov r1, #9
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
add r1, r2, #0
|
|
mul r1, r3
|
|
add r1, #0x12
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x15
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0x1a
|
|
mov r3, #0xb
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #1
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
_021EB41A:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov101_021EB38C
|
|
|
|
thumb_func_start ov101_021EB428
|
|
ov101_021EB428: ; 0x021EB428
|
|
push {r4, r5, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, sp, #0xc
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
bl MI_CpuFill8
|
|
ldr r0, _021EB4C0 ; =ov101_021F7E80
|
|
add r2, sp, #0xc
|
|
ldrh r3, [r0]
|
|
add r1, sp, #0xc
|
|
strh r3, [r2]
|
|
ldrh r3, [r0, #2]
|
|
strh r3, [r2, #2]
|
|
ldrh r3, [r0, #4]
|
|
strh r3, [r2, #4]
|
|
ldrh r3, [r0, #6]
|
|
strh r3, [r2, #6]
|
|
ldrh r3, [r0, #8]
|
|
ldrh r0, [r0, #0xa]
|
|
strh r3, [r2, #8]
|
|
strh r0, [r2, #0xa]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #2
|
|
strb r0, [r2, #0x14]
|
|
cmp r4, #8
|
|
blo _021EB472
|
|
cmp r4, #0xf
|
|
bls _021EB49A
|
|
_021EB472:
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #0x10]
|
|
add r0, r5, #0
|
|
ldr r2, [r2, #0xc]
|
|
add r0, #0xbc
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [r0]
|
|
add r1, sp, #0xc
|
|
lsr r2, r2, #0x18
|
|
mov r3, #0xb
|
|
bl sub_020185FC
|
|
add r5, #0xc4
|
|
add sp, #0x24
|
|
str r0, [r5]
|
|
pop {r4, r5, pc}
|
|
_021EB49A:
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #0x10]
|
|
add r0, r5, #0
|
|
ldr r2, [r2, #0xc]
|
|
add r0, #0xbc
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [r0]
|
|
lsr r2, r2, #0x18
|
|
mov r3, #3
|
|
bl sub_020185FC
|
|
add r5, #0xc4
|
|
str r0, [r5]
|
|
add sp, #0x24
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021EB4C0: .word ov101_021F7E80
|
|
thumb_func_end ov101_021EB428
|
|
|
|
thumb_func_start ov101_021EB4C4
|
|
ov101_021EB4C4: ; 0x021EB4C4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #2
|
|
add r4, r1, #0
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
cmp r4, #0
|
|
bge _021EB4FC
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, _021EB55C ; =0x00030200
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
str r1, [sp, #0xc]
|
|
add r5, #0xa8
|
|
ldr r2, [r5]
|
|
mov r3, #8
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
_021EB4FC:
|
|
add r2, r5, #0
|
|
add r2, #0xa4
|
|
lsl r0, r4, #0x10
|
|
ldr r1, [r5]
|
|
ldr r2, [r2]
|
|
lsr r0, r0, #0x10
|
|
bl ov101_021EB560
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0x8c
|
|
add r2, #0xa4
|
|
ldr r0, [r0]
|
|
ldr r2, [r2]
|
|
add r3, r1, #0
|
|
bl BufferString
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r2, r5, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
add r2, #0xac
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, [r2]
|
|
bl StringExpandPlaceholders
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, _021EB55C ; =0x00030200
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
str r1, [sp, #0xc]
|
|
add r5, #0x90
|
|
ldr r2, [r5]
|
|
mov r3, #8
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021EB55C: .word 0x00030200
|
|
thumb_func_end ov101_021EB4C4
|
|
|
|
thumb_func_start ov101_021EB560
|
|
ov101_021EB560: ; 0x021EB560
|
|
ldr r3, _021EB564 ; =sub_02068F98
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EB564: .word sub_02068F98
|
|
thumb_func_end ov101_021EB560
|
|
|
|
thumb_func_start ov101_021EB568
|
|
ov101_021EB568: ; 0x021EB568
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021EB5D4 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021EB5B6
|
|
ldr r0, _021EB5D8 ; =0x00000139
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
bne _021EB5B6
|
|
ldr r0, [r4, #0x10]
|
|
mov r2, #1
|
|
strb r2, [r0, #6]
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0x10]
|
|
bl ov100_021E5DC8
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
add r0, r4, #0
|
|
bl ov101_021EB2D8
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
_021EB5B6:
|
|
add r0, r4, #0
|
|
bl ov101_021EB818
|
|
cmp r0, #7
|
|
beq _021EB5D0
|
|
add r0, r4, #0
|
|
bl ov101_021EC304
|
|
add r0, r4, #0
|
|
bl ov101_021EC778
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
_021EB5D0:
|
|
pop {r4, pc}
|
|
nop
|
|
_021EB5D4: .word gSystem
|
|
_021EB5D8: .word 0x00000139
|
|
thumb_func_end ov101_021EB568
|
|
|
|
thumb_func_start ov101_021EB5DC
|
|
ov101_021EB5DC: ; 0x021EB5DC
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _021EB650 ; =0x00000139
|
|
mov r0, #0
|
|
ldrb r1, [r5, r1]
|
|
mvn r0, r0
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1f
|
|
bne _021EB5F6
|
|
ldr r0, [r5, #0x10]
|
|
bl ov100_021E5924
|
|
_021EB5F6:
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021EB604
|
|
mov r1, #1
|
|
str r1, [r4]
|
|
pop {r4, r5, r6, pc}
|
|
_021EB604:
|
|
ldr r0, _021EB650 ; =0x00000139
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1f
|
|
bne _021EB640
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021EBA44
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _021EB630
|
|
ldr r1, [r5, #0x10]
|
|
ldrb r0, [r1, #6]
|
|
cmp r0, #1
|
|
bne _021EB630
|
|
mov r0, #0
|
|
strb r0, [r1, #6]
|
|
add r0, r5, #0
|
|
bl ov101_021EB2FC
|
|
_021EB630:
|
|
cmp r6, #7
|
|
bne _021EB638
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021EB638:
|
|
add r0, r5, #0
|
|
bl ov101_021EC778
|
|
b _021EB64C
|
|
_021EB640:
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl ov101_021EC0AC
|
|
add r6, r0, #0
|
|
_021EB64C:
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021EB650: .word 0x00000139
|
|
thumb_func_end ov101_021EB5DC
|
|
|
|
thumb_func_start ov101_021EB654
|
|
ov101_021EB654: ; 0x021EB654
|
|
push {r3, r4, r5, r6}
|
|
add r2, r0, #0
|
|
ldr r0, _021EB778 ; =gSystem
|
|
mov r4, #0
|
|
ldr r5, [r0, #0x44]
|
|
add r0, r2, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r3, r5, #0
|
|
ldr r1, [r0, #8]
|
|
mov r0, #0x40
|
|
add r1, #0xc8
|
|
tst r3, r0
|
|
beq _021EB6A0
|
|
add r6, r0, #0
|
|
add r3, r0, #0
|
|
add r6, #0xc4
|
|
add r3, #0xd2
|
|
ldrh r6, [r2, r6]
|
|
ldrsh r3, [r2, r3]
|
|
add r6, r6, #1
|
|
cmp r3, r6
|
|
ble _021EB6D6
|
|
add r3, r0, #0
|
|
add r3, #0xd2
|
|
ldrsh r3, [r2, r3]
|
|
sub r4, r3, #1
|
|
add r3, r0, #0
|
|
add r3, #0xd2
|
|
strh r4, [r2, r3]
|
|
add r3, r0, #0
|
|
add r3, #0xfb
|
|
ldrb r3, [r2, r3]
|
|
mov r4, #1
|
|
add r0, #0xfb
|
|
orr r3, r4
|
|
strb r3, [r2, r0]
|
|
b _021EB6D6
|
|
_021EB6A0:
|
|
mov r0, #0x80
|
|
add r3, r5, #0
|
|
tst r3, r0
|
|
beq _021EB6D6
|
|
add r3, r0, #0
|
|
add r3, #0x92
|
|
ldrsh r6, [r2, r3]
|
|
add r3, r0, #0
|
|
add r3, #0x86
|
|
ldrh r3, [r2, r3]
|
|
cmp r6, r3
|
|
bge _021EB6D6
|
|
add r3, r0, #0
|
|
add r3, #0x92
|
|
ldrsh r3, [r2, r3]
|
|
add r4, r3, #1
|
|
add r3, r0, #0
|
|
add r3, #0x92
|
|
strh r4, [r2, r3]
|
|
add r3, r0, #0
|
|
add r3, #0xbb
|
|
ldrb r4, [r2, r3]
|
|
mov r3, #2
|
|
add r0, #0xbb
|
|
orr r3, r4
|
|
strb r3, [r2, r0]
|
|
mov r4, #1
|
|
_021EB6D6:
|
|
mov r0, #0x20
|
|
add r3, r5, #0
|
|
tst r3, r0
|
|
beq _021EB70A
|
|
add r3, r0, #0
|
|
add r3, #0xf0
|
|
ldrsh r5, [r2, r3]
|
|
add r3, r0, #0
|
|
add r3, #0xe0
|
|
ldrh r3, [r2, r3]
|
|
add r3, r3, #1
|
|
cmp r5, r3
|
|
ble _021EB73A
|
|
add r3, r0, #0
|
|
add r3, #0xf0
|
|
ldrsh r3, [r2, r3]
|
|
add r0, #0xf0
|
|
sub r3, r3, #1
|
|
strh r3, [r2, r0]
|
|
ldr r3, _021EB77C ; =0x0000013B
|
|
mov r0, #4
|
|
ldrb r4, [r2, r3]
|
|
orr r0, r4
|
|
strb r0, [r2, r3]
|
|
mov r4, #1
|
|
b _021EB73A
|
|
_021EB70A:
|
|
mov r6, #0x10
|
|
add r3, r5, #0
|
|
tst r3, r6
|
|
beq _021EB73A
|
|
add r3, r0, #0
|
|
add r3, #0xf0
|
|
add r6, #0xf2
|
|
ldrsh r5, [r2, r3]
|
|
ldrh r3, [r2, r6]
|
|
sub r3, r3, #1
|
|
cmp r5, r3
|
|
bge _021EB73A
|
|
add r3, r0, #0
|
|
add r3, #0xf0
|
|
ldrsh r3, [r2, r3]
|
|
add r0, #0xf0
|
|
add r3, r3, #1
|
|
strh r3, [r2, r0]
|
|
ldr r3, _021EB77C ; =0x0000013B
|
|
mov r0, #8
|
|
ldrb r4, [r2, r3]
|
|
orr r0, r4
|
|
strb r0, [r2, r3]
|
|
mov r4, #1
|
|
_021EB73A:
|
|
cmp r4, #0
|
|
beq _021EB772
|
|
ldr r3, _021EB780 ; =0x0000013A
|
|
mov r0, #2
|
|
strb r0, [r2, r3]
|
|
sub r0, r3, #1
|
|
ldrb r4, [r2, r0]
|
|
mov r0, #1
|
|
bic r4, r0
|
|
add r5, r4, #0
|
|
mov r0, #1
|
|
orr r5, r0
|
|
sub r4, r3, #1
|
|
strb r5, [r2, r4]
|
|
ldrb r5, [r2, r4]
|
|
mov r4, #4
|
|
orr r5, r4
|
|
sub r4, r3, #1
|
|
strb r5, [r2, r4]
|
|
add r4, r3, #0
|
|
ldrh r5, [r1, #4]
|
|
sub r4, #0x26
|
|
sub r3, #0x24
|
|
strh r5, [r2, r4]
|
|
ldrh r1, [r1, #6]
|
|
strh r1, [r2, r3]
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_021EB772:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.balign 4, 0
|
|
_021EB778: .word gSystem
|
|
_021EB77C: .word 0x0000013B
|
|
_021EB780: .word 0x0000013A
|
|
thumb_func_end ov101_021EB654
|
|
|
|
thumb_func_start ov101_021EB784
|
|
ov101_021EB784: ; 0x021EB784
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
bge _021EB796
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
_021EB796:
|
|
ldr r2, [r4, #0x10]
|
|
mov r3, #5
|
|
str r3, [r2, #0x1c]
|
|
ldr r2, [r4, #0x10]
|
|
ldr r2, [r2, #0x20]
|
|
strh r1, [r2, #0x20]
|
|
mov r1, #0x11
|
|
lsl r1, r1, #4
|
|
ldr r2, [r4, #0x10]
|
|
ldrsh r3, [r4, r1]
|
|
ldr r2, [r2, #0x20]
|
|
add r1, r1, #2
|
|
str r3, [r2, #0x18]
|
|
ldrsh r1, [r4, r1]
|
|
sub r2, r1, #2
|
|
ldr r1, [r4, #0x10]
|
|
ldr r1, [r1, #0x20]
|
|
str r2, [r1, #0x1c]
|
|
ldr r1, [r4, #0x10]
|
|
ldr r1, [r1, #0xc]
|
|
cmp r1, #1
|
|
bne _021EB7DA
|
|
add r1, sp, #4
|
|
str r1, [sp]
|
|
ldr r3, _021EB814 ; =gSystem + 0x40
|
|
mov r1, #0x20
|
|
mov r2, #0x22
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
add r3, sp, #4
|
|
add r3, #2
|
|
bl ov101_021E9464
|
|
b _021EB7F6
|
|
_021EB7DA:
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
mov r2, #0xce
|
|
ldr r3, [r1, #8]
|
|
add r1, sp, #4
|
|
str r1, [sp]
|
|
mov r1, #0xcc
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r2, [r3, r2]
|
|
add r3, sp, #4
|
|
add r3, #2
|
|
bl ov101_021E9464
|
|
_021EB7F6:
|
|
mov r1, #0x46
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
ldrh r1, [r1]
|
|
bl ov101_021EB4C4
|
|
add r1, sp, #4
|
|
ldrh r1, [r1, #2]
|
|
add r0, r4, #0
|
|
bl ov101_021EB428
|
|
mov r0, #8
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021EB814: .word gSystem + 0x40
|
|
thumb_func_end ov101_021EB784
|
|
|
|
thumb_func_start ov101_021EB818
|
|
ov101_021EB818: ; 0x021EB818
|
|
push {r3, r4, r5, lr}
|
|
ldr r2, _021EB938 ; =gSystem
|
|
add r4, r0, #0
|
|
ldr r1, [r2, #0x48]
|
|
ldr r2, [r2, #0x44]
|
|
cmp r2, #0
|
|
beq _021EB83C
|
|
ldr r2, _021EB93C ; =0x00000139
|
|
ldrb r5, [r4, r2]
|
|
lsl r3, r5, #0x1f
|
|
lsr r3, r3, #0x1f
|
|
bne _021EB83C
|
|
lsl r3, r5, #0x1e
|
|
lsr r3, r3, #0x1f
|
|
bne _021EB83C
|
|
lsl r3, r5, #0x1d
|
|
lsr r3, r3, #0x1f
|
|
beq _021EB842
|
|
_021EB83C:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EB842:
|
|
mov r3, #1
|
|
lsl r3, r3, #0xa
|
|
add r5, r1, #0
|
|
tst r5, r3
|
|
beq _021EB8D0
|
|
sub r1, r2, #1
|
|
ldrb r5, [r4, r1]
|
|
mov r3, #1
|
|
add r1, r5, #0
|
|
bic r1, r3
|
|
lsl r3, r5, #0x1f
|
|
lsr r3, r3, #0x1f
|
|
mov r5, #1
|
|
eor r3, r5
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
and r3, r5
|
|
orr r3, r1
|
|
sub r1, r2, #1
|
|
strb r3, [r4, r1]
|
|
mov r3, #4
|
|
add r1, r2, #1
|
|
strb r3, [r4, r1]
|
|
add r1, r4, #0
|
|
add r1, #0xdc
|
|
str r1, [sp]
|
|
add r1, r2, #0
|
|
sub r1, #0x29
|
|
sub r2, #0x27
|
|
add r3, r4, #0
|
|
ldrh r1, [r4, r1]
|
|
ldrh r2, [r4, r2]
|
|
add r3, #0xd8
|
|
bl ov101_021EC49C
|
|
ldr r2, _021EB93C ; =0x00000139
|
|
mov r0, #1
|
|
ldrb r3, [r4, r2]
|
|
add r1, r5, #0
|
|
bic r3, r0
|
|
add r0, r3, #0
|
|
orr r0, r1
|
|
strb r0, [r4, r2]
|
|
ldrb r3, [r4, r2]
|
|
mov r0, #2
|
|
orr r0, r3
|
|
strb r0, [r4, r2]
|
|
sub r2, r2, #1
|
|
ldrb r2, [r4, r2]
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0x1f
|
|
lsr r2, r2, #0x1f
|
|
bl ov101_021EB38C
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _021EB8C4
|
|
ldr r0, _021EB940 ; =0x00000943
|
|
bl PlaySE
|
|
b _021EB8CA
|
|
_021EB8C4:
|
|
ldr r0, _021EB944 ; =0x00000949
|
|
bl PlaySE
|
|
_021EB8CA:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EB8D0:
|
|
lsl r3, r3, #1
|
|
tst r1, r3
|
|
beq _021EB8FC
|
|
sub r2, #0x21
|
|
add r1, r4, r2
|
|
bl ov101_021EA6C4
|
|
cmp r0, #0
|
|
bne _021EB8E8
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EB8E8:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov101_021EB38C
|
|
ldr r0, _021EB948 ; =0x00000941
|
|
bl PlaySE
|
|
mov r0, #7
|
|
pop {r3, r4, r5, pc}
|
|
_021EB8FC:
|
|
bl ov101_021EB654
|
|
cmp r0, #0
|
|
beq _021EB932
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r4, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r4, r2]
|
|
ldrsh r3, [r4, r3]
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA794
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021EAD90
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
_021EB932:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021EB938: .word gSystem
|
|
_021EB93C: .word 0x00000139
|
|
_021EB940: .word 0x00000943
|
|
_021EB944: .word 0x00000949
|
|
_021EB948: .word 0x00000941
|
|
thumb_func_end ov101_021EB818
|
|
|
|
thumb_func_start ov101_021EB94C
|
|
ov101_021EB94C: ; 0x021EB94C
|
|
push {r3, r4, r5, lr}
|
|
ldr r2, _021EBA38 ; =gSystem
|
|
add r4, r0, #0
|
|
ldr r1, [r2, #0x48]
|
|
ldr r2, [r2, #0x44]
|
|
cmp r2, #0
|
|
beq _021EB96A
|
|
ldr r3, _021EBA3C ; =0x00000139
|
|
ldrb r2, [r4, r3]
|
|
lsl r5, r2, #0x1f
|
|
lsr r5, r5, #0x1f
|
|
bne _021EB96A
|
|
lsl r2, r2, #0x1d
|
|
lsr r2, r2, #0x1f
|
|
beq _021EB970
|
|
_021EB96A:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EB970:
|
|
mov r2, #1
|
|
tst r2, r1
|
|
beq _021EB9AC
|
|
ldrb r2, [r4, #0xd]
|
|
cmp r2, #1
|
|
bne _021EB9AC
|
|
add r1, r3, #0
|
|
sub r3, #0x27
|
|
ldrsh r2, [r4, r3]
|
|
sub r1, #0x29
|
|
ldrh r1, [r4, r1]
|
|
sub r2, r2, #2
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl ov101_021EA874
|
|
add r5, r0, #0
|
|
cmp r5, #0
|
|
ble _021EB9A6
|
|
ldr r0, _021EBA40 ; =0x00000941
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov101_021EB784
|
|
pop {r3, r4, r5, pc}
|
|
_021EB9A6:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EB9AC:
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021EB9BE
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_021EB9BE:
|
|
add r0, r4, #0
|
|
bl ov101_021EB654
|
|
cmp r0, #0
|
|
bne _021EB9CE
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EB9CE:
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #2
|
|
bne _021EBA04
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r4, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r4, r2]
|
|
ldrsh r3, [r4, r3]
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA794
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021EAD90
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
b _021EBA32
|
|
_021EBA04:
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r4, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r4, r2]
|
|
ldrsh r3, [r4, r3]
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA8A8
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021EAD90
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
_021EBA32:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021EBA38: .word gSystem
|
|
_021EBA3C: .word 0x00000139
|
|
_021EBA40: .word 0x00000941
|
|
thumb_func_end ov101_021EB94C
|
|
|
|
thumb_func_start ov101_021EBA44
|
|
ov101_021EBA44: ; 0x021EBA44
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl System_GetTouchHeld
|
|
cmp r0, #0
|
|
bne _021EBA5C
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021EBA5C:
|
|
ldr r0, _021EBBF8 ; =0x00000139
|
|
ldrb r0, [r5, r0]
|
|
lsl r1, r0, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
bne _021EBA6C
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1f
|
|
beq _021EBA74
|
|
_021EBA6C:
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021EBA74:
|
|
ldr r0, _021EBBFC ; =ov101_021F7EAC
|
|
bl sub_02025224
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _021EBB48
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
add r0, r5, #0
|
|
bl ov101_021E94C0
|
|
cmp r6, #0
|
|
bne _021EBAC0
|
|
mov r1, #0x46
|
|
lsl r1, r1, #2
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
bl ov101_021EA6C4
|
|
cmp r0, #0
|
|
bne _021EBAAA
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021EBAAA:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov101_021EB38C
|
|
ldr r0, _021EBC00 ; =0x00000941
|
|
bl PlaySE
|
|
add sp, #8
|
|
mov r0, #7
|
|
pop {r4, r5, r6, pc}
|
|
_021EBAC0:
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
ldrb r3, [r5, r2]
|
|
mov r1, #1
|
|
add r0, r3, #0
|
|
bic r0, r1
|
|
lsl r1, r3, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
mov r3, #1
|
|
eor r1, r3
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
and r1, r3
|
|
orr r0, r1
|
|
strb r0, [r5, r2]
|
|
mov r1, #4
|
|
add r0, r2, #2
|
|
strb r1, [r5, r0]
|
|
add r1, r2, #0
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
str r0, [sp]
|
|
sub r1, #0x28
|
|
sub r2, #0x26
|
|
add r3, r5, #0
|
|
ldrh r1, [r5, r1]
|
|
ldrh r2, [r5, r2]
|
|
add r0, r5, #0
|
|
add r3, #0xd8
|
|
bl ov101_021EC49C
|
|
ldr r2, _021EBBF8 ; =0x00000139
|
|
mov r0, #1
|
|
ldrb r3, [r5, r2]
|
|
mov r1, #1
|
|
bic r3, r0
|
|
add r0, r3, #0
|
|
orr r0, r1
|
|
strb r0, [r5, r2]
|
|
ldrb r3, [r5, r2]
|
|
mov r0, #2
|
|
orr r0, r3
|
|
strb r0, [r5, r2]
|
|
sub r2, r2, #1
|
|
ldrb r2, [r5, r2]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x1f
|
|
lsr r2, r2, #0x1f
|
|
bl ov101_021EB38C
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _021EBB3A
|
|
ldr r0, _021EBC04 ; =0x00000943
|
|
bl PlaySE
|
|
b _021EBB40
|
|
_021EBB3A:
|
|
ldr r0, _021EBC08 ; =0x00000949
|
|
bl PlaySE
|
|
_021EBB40:
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021EBB48:
|
|
ldr r0, _021EBC0C ; =ov101_021F7EA4
|
|
bl sub_02025320
|
|
cmp r0, #0
|
|
bne _021EBB5A
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021EBB5A:
|
|
mov r1, #1
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
add r0, sp, #4
|
|
str r0, [sp]
|
|
ldr r3, _021EBC10 ; =gSystem + 0x40
|
|
ldr r0, [r5, #0x10]
|
|
ldrh r2, [r3, #0x20]
|
|
ldrh r3, [r3, #0x22]
|
|
ldr r0, [r0, #0x74]
|
|
bl DoesPixelAtScreenXYMatchPtrVal
|
|
cmp r0, #0
|
|
bne _021EBB7E
|
|
mov r0, #0
|
|
add sp, #8
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021EBB7E:
|
|
ldr r0, _021EBC14 ; =0x00000945
|
|
bl PlaySE
|
|
mov r2, #0x11
|
|
lsl r2, r2, #4
|
|
add r1, r5, r2
|
|
add r2, r2, #2
|
|
add r0, r5, #0
|
|
add r2, r5, r2
|
|
bl ov101_021EC980
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r5, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r5, r2]
|
|
ldrsh r3, [r5, r3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA794
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021EAD90
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
ldr r2, _021EBC10 ; =gSystem + 0x40
|
|
ldr r0, _021EBC18 ; =0x00000142
|
|
ldrh r1, [r2, #0x20]
|
|
strh r1, [r5, r0]
|
|
ldrsh r3, [r5, r0]
|
|
add r1, r0, #4
|
|
strh r3, [r5, r1]
|
|
add r1, r0, #2
|
|
ldrh r2, [r2, #0x22]
|
|
add r0, r0, #6
|
|
strh r2, [r5, r1]
|
|
ldrsh r1, [r5, r1]
|
|
strh r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl ov101_021EBDEC
|
|
ldr r1, _021EBBF8 ; =0x00000139
|
|
mov r0, #8
|
|
ldrb r2, [r5, r1]
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
sub r0, r0, #2
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EBBF8: .word 0x00000139
|
|
_021EBBFC: .word ov101_021F7EAC
|
|
_021EBC00: .word 0x00000941
|
|
_021EBC04: .word 0x00000943
|
|
_021EBC08: .word 0x00000949
|
|
_021EBC0C: .word ov101_021F7EA4
|
|
_021EBC10: .word gSystem + 0x40
|
|
_021EBC14: .word 0x00000945
|
|
_021EBC18: .word 0x00000142
|
|
thumb_func_end ov101_021EBA44
|
|
|
|
thumb_func_start ov101_021EBC1C
|
|
ov101_021EBC1C: ; 0x021EBC1C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl System_GetTouchHeld
|
|
cmp r0, #0
|
|
bne _021EBC34
|
|
mov r0, #0
|
|
add sp, #0x20
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EBC34:
|
|
ldr r0, _021EBDD0 ; =0x00000139
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021EBC46
|
|
mov r0, #0
|
|
add sp, #0x20
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EBC46:
|
|
ldr r0, _021EBDD4 ; =ov101_021F7E94
|
|
bl sub_02025224
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021EBCAE
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #8
|
|
str r1, [sp]
|
|
mov r1, #4
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r2, #0x18
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #1
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r0, r5, #0
|
|
bl ov101_021E94C0
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
add sp, #0x20
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_021EBCAE:
|
|
ldr r0, _021EBDD8 ; =ov101_021F7EA8
|
|
bl sub_02025320
|
|
cmp r0, #0
|
|
bne _021EBCC0
|
|
mov r0, #0
|
|
add sp, #0x20
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EBCC0:
|
|
mov r1, #1
|
|
add r0, sp, #0x1c
|
|
strh r1, [r0]
|
|
add r0, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r3, _021EBDDC ; =gSystem + 0x40
|
|
ldr r0, [r5, #0x10]
|
|
ldrh r2, [r3, #0x20]
|
|
ldrh r3, [r3, #0x22]
|
|
ldr r0, [r0, #0x74]
|
|
bl DoesPixelAtScreenXYMatchPtrVal
|
|
cmp r0, #0
|
|
bne _021EBCE4
|
|
mov r0, #0
|
|
add sp, #0x20
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EBCE4:
|
|
ldr r0, _021EBDE0 ; =0x00000945
|
|
bl PlaySE
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
ldrb r0, [r5, #0xd]
|
|
cmp r0, #2
|
|
bne _021EBD34
|
|
mov r2, #0x11
|
|
lsl r2, r2, #4
|
|
add r1, r5, r2
|
|
add r2, r2, #2
|
|
add r0, r5, #0
|
|
add r2, r5, r2
|
|
bl ov101_021EC980
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r5, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r5, r2]
|
|
ldrsh r3, [r5, r3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA794
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EAD90
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
b _021EBDA0
|
|
_021EBD34:
|
|
mov r2, #0x11
|
|
lsl r2, r2, #4
|
|
add r1, r5, r2
|
|
add r2, r2, #2
|
|
add r0, r5, #0
|
|
add r2, r5, r2
|
|
bl ov101_021EC980
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r5, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r5, r2]
|
|
ldrsh r3, [r5, r3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA8A8
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021EAD90
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
mov r2, #0x11
|
|
lsl r2, r2, #4
|
|
ldrh r1, [r5, r2]
|
|
add r2, r2, #2
|
|
ldrsh r2, [r5, r2]
|
|
add r0, r5, #0
|
|
sub r2, r2, #2
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl ov101_021EA874
|
|
add r4, r0, #0
|
|
cmp r4, #0
|
|
ble _021EBDA0
|
|
ldr r0, _021EBDE4 ; =0x00000941
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021EB784
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, pc}
|
|
_021EBDA0:
|
|
ldr r2, _021EBDDC ; =gSystem + 0x40
|
|
ldr r0, _021EBDE8 ; =0x00000142
|
|
ldrh r1, [r2, #0x20]
|
|
strh r1, [r5, r0]
|
|
ldrsh r3, [r5, r0]
|
|
add r1, r0, #4
|
|
strh r3, [r5, r1]
|
|
ldrh r2, [r2, #0x22]
|
|
add r1, r0, #2
|
|
add r0, r0, #6
|
|
strh r2, [r5, r1]
|
|
ldrsh r1, [r5, r1]
|
|
strh r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl ov101_021EBDEC
|
|
ldr r1, _021EBDD0 ; =0x00000139
|
|
mov r0, #8
|
|
ldrb r2, [r5, r1]
|
|
orr r2, r0
|
|
strb r2, [r5, r1]
|
|
sub r0, #9
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021EBDD0: .word 0x00000139
|
|
_021EBDD4: .word ov101_021F7E94
|
|
_021EBDD8: .word ov101_021F7EA8
|
|
_021EBDDC: .word gSystem + 0x40
|
|
_021EBDE0: .word 0x00000945
|
|
_021EBDE4: .word 0x00000941
|
|
_021EBDE8: .word 0x00000142
|
|
thumb_func_end ov101_021EBC1C
|
|
|
|
thumb_func_start ov101_021EBDEC
|
|
ov101_021EBDEC: ; 0x021EBDEC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r1, r0, #0x1f
|
|
beq _021EBE08
|
|
mov r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
b _021EBE10
|
|
_021EBE08:
|
|
mov r0, #0x18
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x11
|
|
str r0, [sp, #8]
|
|
_021EBE10:
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x1b
|
|
lsr r5, r0, #0x18
|
|
ldr r0, _021EBF28 ; =gSystem + 0x40
|
|
ldrh r1, [r0, #0x20]
|
|
ldr r0, _021EBF2C ; =0x00000132
|
|
ldrb r0, [r4, r0]
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp]
|
|
lsl r0, r5, #0x17
|
|
lsr r6, r0, #0x18
|
|
ldr r0, [sp]
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
sub r0, r1, r6
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
ldr r0, _021EBF28 ; =gSystem + 0x40
|
|
ldrh r1, [r0, #0x22]
|
|
ldr r0, _021EBF30 ; =0x00000131
|
|
ldrb r0, [r4, r0]
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r7, r0, #0x10
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
sub r0, r1, r6
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
ldr r1, _021EBF34 ; =0x00000112
|
|
lsl r0, r0, #0x10
|
|
ldrsh r7, [r4, r1]
|
|
asr r0, r0, #0x10
|
|
sub r1, r7, r0
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [sp, #8]
|
|
sub r1, r1, #1
|
|
sub r0, r1, r0
|
|
add r0, r7, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
mov r2, #0x11
|
|
asr r0, r0, #0x10
|
|
lsl r2, r2, #4
|
|
ldr r3, [sp, #0xc]
|
|
mov ip, r0
|
|
ldrsh r1, [r4, r2]
|
|
sub r3, r3, #1
|
|
mov r6, ip
|
|
sub r3, r3, r6
|
|
sub r2, #0xc
|
|
ldrh r6, [r4, r2]
|
|
sub r0, r1, r0
|
|
add r3, r1, r3
|
|
lsl r0, r0, #0x10
|
|
lsl r3, r3, #0x10
|
|
ldr r2, [sp, #0x18]
|
|
asr r0, r0, #0x10
|
|
asr r3, r3, #0x10
|
|
cmp r2, r6
|
|
bge _021EBEB6
|
|
lsl r2, r6, #0x10
|
|
asr r2, r2, #0x10
|
|
str r2, [sp, #0x18]
|
|
_021EBEB6:
|
|
mov r2, #1
|
|
lsl r2, r2, #8
|
|
ldrh r2, [r4, r2]
|
|
cmp r0, r2
|
|
bge _021EBEC4
|
|
lsl r0, r2, #0x10
|
|
asr r0, r0, #0x10
|
|
_021EBEC4:
|
|
ldr r2, _021EBF38 ; =0x00000106
|
|
ldrh r6, [r4, r2]
|
|
ldr r2, [sp, #4]
|
|
cmp r2, r6
|
|
ble _021EBED4
|
|
lsl r2, r6, #0x10
|
|
asr r2, r2, #0x10
|
|
str r2, [sp, #4]
|
|
_021EBED4:
|
|
ldr r2, _021EBF3C ; =0x00000102
|
|
ldrh r2, [r4, r2]
|
|
cmp r3, r2
|
|
ble _021EBEE0
|
|
lsl r2, r2, #0x10
|
|
asr r3, r2, #0x10
|
|
_021EBEE0:
|
|
ldr r2, [sp, #0x18]
|
|
add r6, r5, #0
|
|
sub r2, r7, r2
|
|
mul r6, r2
|
|
ldr r2, [sp, #0x10]
|
|
sub r0, r1, r0
|
|
add r6, r2, r6
|
|
ldr r2, _021EBF40 ; =0x0000014A
|
|
strh r6, [r4, r2]
|
|
ldr r2, [sp, #4]
|
|
add r6, r5, #0
|
|
sub r2, r2, r7
|
|
mul r6, r2
|
|
ldr r2, [sp, #0x10]
|
|
add r2, r2, r6
|
|
ldr r6, _021EBF40 ; =0x0000014A
|
|
add r6, r6, #2
|
|
strh r2, [r4, r6]
|
|
add r2, r5, #0
|
|
mul r2, r0
|
|
ldr r0, [sp, #0x14]
|
|
add r2, r0, r2
|
|
ldr r0, _021EBF40 ; =0x0000014A
|
|
add r0, r0, #4
|
|
strh r2, [r4, r0]
|
|
sub r0, r3, r1
|
|
add r1, r5, #0
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x14]
|
|
add r1, r0, r1
|
|
ldr r0, _021EBF40 ; =0x0000014A
|
|
add r0, r0, #6
|
|
strh r1, [r4, r0]
|
|
mov r0, #0
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EBF28: .word gSystem + 0x40
|
|
_021EBF2C: .word 0x00000132
|
|
_021EBF30: .word 0x00000131
|
|
_021EBF34: .word 0x00000112
|
|
_021EBF38: .word 0x00000106
|
|
_021EBF3C: .word 0x00000102
|
|
_021EBF40: .word 0x0000014A
|
|
thumb_func_end ov101_021EBDEC
|
|
|
|
thumb_func_start ov101_021EBF44
|
|
ov101_021EBF44: ; 0x021EBF44
|
|
push {r3, r4}
|
|
add r3, r0, #0
|
|
add r3, #0xf6
|
|
ldrh r3, [r3]
|
|
add r2, r0, #0
|
|
add r2, #0xf4
|
|
sub r3, r3, r1
|
|
ldrh r2, [r2]
|
|
sub r3, r3, #1
|
|
lsl r3, r3, #0x10
|
|
asr r4, r3, #0x10
|
|
mov r3, #0x11
|
|
sub r2, r2, r1
|
|
lsl r3, r3, #4
|
|
add r2, r2, #1
|
|
lsl r2, r2, #0x10
|
|
ldrsh r3, [r0, r3]
|
|
asr r2, r2, #0x10
|
|
cmp r3, r2
|
|
blt _021EBF76
|
|
cmp r4, r3
|
|
blt _021EBF76
|
|
add r0, r1, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021EBF76:
|
|
cmp r3, r2
|
|
bgt _021EBF86
|
|
sub r0, r2, r3
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021EBF86:
|
|
cmp r3, r4
|
|
blt _021EBF92
|
|
sub r0, r3, r4
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
_021EBF92:
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EBF44
|
|
|
|
thumb_func_start ov101_021EBF98
|
|
ov101_021EBF98: ; 0x021EBF98
|
|
push {r4, lr}
|
|
cmp r1, #0
|
|
ble _021EBFC4
|
|
add r3, r0, #0
|
|
add r3, #0xf4
|
|
ldrh r4, [r3]
|
|
mov r3, #1
|
|
lsl r3, r3, #8
|
|
ldrh r3, [r0, r3]
|
|
sub r3, r4, r3
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
cmp r3, #0
|
|
bgt _021EBFB8
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021EBFB8:
|
|
cmp r3, r2
|
|
bge _021EBFEC
|
|
add r1, r3, #0
|
|
bl ov101_021EBF44
|
|
pop {r4, pc}
|
|
_021EBFC4:
|
|
ldr r3, _021EBFF4 ; =0x00000102
|
|
ldrh r4, [r0, r3]
|
|
add r3, r0, #0
|
|
add r3, #0xf6
|
|
ldrh r3, [r3]
|
|
sub r3, r4, r3
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
cmp r3, #0
|
|
bgt _021EBFDC
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021EBFDC:
|
|
cmp r3, r2
|
|
bge _021EBFEC
|
|
neg r1, r3
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
bl ov101_021EBF44
|
|
pop {r4, pc}
|
|
_021EBFEC:
|
|
bl ov101_021EBF44
|
|
pop {r4, pc}
|
|
nop
|
|
_021EBFF4: .word 0x00000102
|
|
thumb_func_end ov101_021EBF98
|
|
|
|
thumb_func_start ov101_021EBFF8
|
|
ov101_021EBFF8: ; 0x021EBFF8
|
|
push {r3, r4}
|
|
add r2, r0, #0
|
|
add r2, #0xf0
|
|
ldrh r2, [r2]
|
|
sub r2, r2, r1
|
|
add r2, r2, #1
|
|
lsl r2, r2, #0x10
|
|
asr r3, r2, #0x10
|
|
add r2, r0, #0
|
|
add r2, #0xf2
|
|
ldrh r2, [r2]
|
|
sub r2, r2, r1
|
|
lsl r2, r2, #0x10
|
|
asr r4, r2, #0x10
|
|
ldr r2, _021EC048 ; =0x00000112
|
|
ldrsh r2, [r0, r2]
|
|
cmp r2, r3
|
|
blt _021EC026
|
|
cmp r4, r2
|
|
blt _021EC026
|
|
add r0, r1, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021EC026:
|
|
cmp r2, r3
|
|
bgt _021EC036
|
|
sub r0, r3, r2
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021EC036:
|
|
cmp r2, r4
|
|
blt _021EC042
|
|
sub r0, r2, r4
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
_021EC042:
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_021EC048: .word 0x00000112
|
|
thumb_func_end ov101_021EBFF8
|
|
|
|
thumb_func_start ov101_021EC04C
|
|
ov101_021EC04C: ; 0x021EC04C
|
|
push {r4, lr}
|
|
cmp r1, #0
|
|
ble _021EC078
|
|
add r3, r0, #0
|
|
add r3, #0xf0
|
|
ldrh r4, [r3]
|
|
mov r3, #0x41
|
|
lsl r3, r3, #2
|
|
ldrh r3, [r0, r3]
|
|
sub r3, r4, r3
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
cmp r3, #0
|
|
bgt _021EC06C
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021EC06C:
|
|
cmp r3, r2
|
|
bge _021EC0A0
|
|
add r1, r3, #0
|
|
bl ov101_021EBFF8
|
|
pop {r4, pc}
|
|
_021EC078:
|
|
ldr r3, _021EC0A8 ; =0x00000106
|
|
ldrh r4, [r0, r3]
|
|
add r3, r0, #0
|
|
add r3, #0xf2
|
|
ldrh r3, [r3]
|
|
sub r3, r4, r3
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
cmp r3, #0
|
|
bgt _021EC090
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021EC090:
|
|
cmp r3, r2
|
|
bge _021EC0A0
|
|
neg r1, r3
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
bl ov101_021EBFF8
|
|
pop {r4, pc}
|
|
_021EC0A0:
|
|
bl ov101_021EBFF8
|
|
pop {r4, pc}
|
|
nop
|
|
_021EC0A8: .word 0x00000106
|
|
thumb_func_end ov101_021EC04C
|
|
|
|
thumb_func_start ov101_021EC0AC
|
|
ov101_021EC0AC: ; 0x021EC0AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
ldr r1, _021EC2F4 ; =gSystem + 0x40
|
|
add r5, r0, #0
|
|
mov r0, #0x20
|
|
ldrsh r0, [r1, r0]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x22
|
|
ldrsh r0, [r1, r0]
|
|
str r0, [sp]
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r2, #3
|
|
add r1, #8
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0xf
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x14]
|
|
cmp r2, #0
|
|
beq _021EC0E2
|
|
mov r0, #9
|
|
str r0, [sp, #0x10]
|
|
b _021EC0E6
|
|
_021EC0E2:
|
|
mov r0, #5
|
|
str r0, [sp, #0x10]
|
|
_021EC0E6:
|
|
ldr r2, _021EC2F8 ; =0x0000013A
|
|
ldrb r0, [r5, r2]
|
|
cmp r0, #0
|
|
beq _021EC142
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r1, [r0]
|
|
add r0, r2, #4
|
|
ldrsh r0, [r5, r0]
|
|
sub r1, r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
ldr r1, [r0]
|
|
add r0, r2, #6
|
|
ldrsh r0, [r5, r0]
|
|
sub r1, r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
add r1, r2, #4
|
|
add r2, r2, #6
|
|
ldrsh r1, [r5, r1]
|
|
ldrsh r2, [r5, r2]
|
|
add r0, r5, #0
|
|
bl ov101_021E9BF4
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldrb r2, [r5, r0]
|
|
mov r1, #0x80
|
|
add sp, #0x20
|
|
orr r2, r1
|
|
strb r2, [r5, r0]
|
|
mov r0, #0
|
|
add r1, #0xba
|
|
strb r0, [r5, r1]
|
|
sub r0, r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EC142:
|
|
bl System_GetTouchHeld
|
|
cmp r0, #0
|
|
bne _021EC15C
|
|
ldr r1, _021EC2FC ; =0x00000139
|
|
mov r0, #8
|
|
ldrb r2, [r5, r1]
|
|
add sp, #0x20
|
|
bic r2, r0
|
|
mov r0, #0
|
|
strb r2, [r5, r1]
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EC15C:
|
|
ldr r1, _021EC300 ; =0x00000142
|
|
ldr r0, [sp, #8]
|
|
ldrsh r2, [r5, r1]
|
|
sub r0, r0, r2
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
add r0, r1, #2
|
|
ldrsh r1, [r5, r0]
|
|
ldr r0, [sp]
|
|
str r6, [sp, #0xc]
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #0x10
|
|
asr r4, r0, #0x10
|
|
str r4, [sp, #4]
|
|
cmp r6, #0
|
|
bge _021EC186
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r6
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
_021EC186:
|
|
cmp r4, #0
|
|
bge _021EC194
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r4
|
|
lsl r0, r0, #0x10
|
|
asr r4, r0, #0x10
|
|
_021EC194:
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r6, #0
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
asr r6, r0, #0x10
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
asr r4, r0, #0x10
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0x10]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #0x10]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0x18]
|
|
cmp r6, #1
|
|
bge _021EC1D8
|
|
cmp r4, #1
|
|
bge _021EC1D8
|
|
mov r0, #0
|
|
add sp, #0x20
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EC1D8:
|
|
mov r0, #5
|
|
mov r7, #0
|
|
lsl r0, r0, #6
|
|
strh r7, [r5, r0]
|
|
ldrsh r1, [r5, r0]
|
|
sub r0, r0, #2
|
|
cmp r6, #0
|
|
strh r1, [r5, r0]
|
|
ble _021EC248
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0x10]
|
|
bl _s32_div_f
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
add r0, r5, #0
|
|
asr r1, r1, #0x10
|
|
add r2, r6, #0
|
|
bl ov101_021EBF98
|
|
add r7, r0, #0
|
|
beq _021EC248
|
|
add r1, r5, #0
|
|
ldr r0, [sp, #0x14]
|
|
add r1, #0xc8
|
|
ldr r1, [r1]
|
|
mul r0, r7
|
|
sub r2, r1, r0
|
|
add r1, r5, #0
|
|
add r1, #0xc8
|
|
str r2, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xf6
|
|
ldrh r1, [r1]
|
|
mov r3, #1
|
|
sub r2, r1, r7
|
|
add r1, r5, #0
|
|
add r1, #0xf6
|
|
strh r2, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xf4
|
|
ldrh r1, [r1]
|
|
sub r2, r1, r7
|
|
add r1, r5, #0
|
|
add r1, #0xf4
|
|
strh r2, [r1]
|
|
ldr r2, [sp, #8]
|
|
ldr r1, [sp, #0x1c]
|
|
sub r2, r2, r1
|
|
ldr r1, _021EC300 ; =0x00000142
|
|
strh r2, [r5, r1]
|
|
add r2, r1, #0
|
|
sub r2, #8
|
|
strb r3, [r5, r2]
|
|
sub r1, r1, #4
|
|
strh r0, [r5, r1]
|
|
_021EC248:
|
|
cmp r4, #0
|
|
ble _021EC2AE
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #0x10]
|
|
bl _s32_div_f
|
|
add r1, r0, #0
|
|
lsl r1, r1, #0x10
|
|
add r0, r5, #0
|
|
asr r1, r1, #0x10
|
|
add r2, r4, #0
|
|
bl ov101_021EC04C
|
|
add r2, r0, #0
|
|
beq _021EC2B0
|
|
add r1, r5, #0
|
|
ldr r0, [sp, #0x14]
|
|
add r1, #0xcc
|
|
ldr r1, [r1]
|
|
mul r0, r2
|
|
sub r3, r1, r0
|
|
add r1, r5, #0
|
|
add r1, #0xcc
|
|
str r3, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xf2
|
|
ldrh r1, [r1]
|
|
mov r4, #1
|
|
sub r3, r1, r2
|
|
add r1, r5, #0
|
|
add r1, #0xf2
|
|
strh r3, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xf0
|
|
ldrh r1, [r1]
|
|
sub r3, r1, r2
|
|
add r1, r5, #0
|
|
add r1, #0xf0
|
|
strh r3, [r1]
|
|
ldr r3, [sp]
|
|
ldr r1, [sp, #0x18]
|
|
sub r3, r3, r1
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
strh r3, [r5, r1]
|
|
add r3, r1, #0
|
|
sub r3, #0xa
|
|
strb r4, [r5, r3]
|
|
sub r1, r1, #4
|
|
strh r0, [r5, r1]
|
|
b _021EC2B0
|
|
_021EC2AE:
|
|
mov r2, #0
|
|
_021EC2B0:
|
|
cmp r7, #0
|
|
bne _021EC2B8
|
|
cmp r2, #0
|
|
beq _021EC2EA
|
|
_021EC2B8:
|
|
ldr r1, [sp, #0x14]
|
|
ldr r3, [sp, #0x14]
|
|
mul r1, r7
|
|
mul r3, r2
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r3, #0x10
|
|
add r0, r5, #0
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl ov101_021E9BF4
|
|
add r0, r5, #0
|
|
bl ov101_021EC944
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r5, r1]
|
|
mov r0, #0x80
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
_021EC2EA:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EC2F4: .word gSystem + 0x40
|
|
_021EC2F8: .word 0x0000013A
|
|
_021EC2FC: .word 0x00000139
|
|
_021EC300: .word 0x00000142
|
|
thumb_func_end ov101_021EC0AC
|
|
|
|
thumb_func_start ov101_021EC304
|
|
ov101_021EC304: ; 0x021EC304
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r7, [sp, #8]
|
|
ldr r4, [r0, #8]
|
|
ldr r0, _021EC488 ; =0x00000139
|
|
add r4, #0xc8
|
|
ldrb r1, [r5, r0]
|
|
lsl r1, r1, #0x1d
|
|
lsr r1, r1, #0x1f
|
|
bne _021EC328
|
|
b _021EC484
|
|
_021EC328:
|
|
sub r0, r0, #1
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021EC336
|
|
mov r6, #8
|
|
b _021EC338
|
|
_021EC336:
|
|
mov r6, #4
|
|
_021EC338:
|
|
add r0, sp, #0xc
|
|
mov r2, #0x45
|
|
str r0, [sp]
|
|
lsl r2, r2, #2
|
|
ldrsh r1, [r5, r2]
|
|
add r2, r2, #2
|
|
add r3, sp, #0xc
|
|
ldrsh r2, [r5, r2]
|
|
add r0, r5, #0
|
|
add r3, #2
|
|
bl ov101_021E9464
|
|
ldr r0, _021EC48C ; =0x0000013B
|
|
mov r2, #1
|
|
ldrb r1, [r5, r0]
|
|
tst r2, r1
|
|
beq _021EC378
|
|
add r0, sp, #0xc
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
bhi _021EC36E
|
|
sub r0, r7, r6
|
|
lsl r0, r0, #0x10
|
|
asr r7, r0, #0x10
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
b _021EC3A6
|
|
_021EC36E:
|
|
mov r0, #6
|
|
ldrsh r0, [r4, r0]
|
|
sub r0, r0, r6
|
|
strh r0, [r4, #6]
|
|
b _021EC3A6
|
|
_021EC378:
|
|
mov r2, #2
|
|
tst r1, r2
|
|
beq _021EC3A6
|
|
sub r0, r0, #3
|
|
ldrb r0, [r5, r0]
|
|
add r1, sp, #0xc
|
|
ldrh r1, [r1]
|
|
lsl r0, r0, #0x1f
|
|
lsr r2, r0, #0x1f
|
|
ldr r0, _021EC490 ; =ov101_021F7E8E
|
|
ldrb r0, [r0, r2]
|
|
cmp r1, r0
|
|
blt _021EC39E
|
|
add r0, r7, r6
|
|
lsl r0, r0, #0x10
|
|
asr r7, r0, #0x10
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
b _021EC3A6
|
|
_021EC39E:
|
|
mov r0, #6
|
|
ldrsh r0, [r4, r0]
|
|
add r0, r0, r6
|
|
strh r0, [r4, #6]
|
|
_021EC3A6:
|
|
ldr r0, _021EC48C ; =0x0000013B
|
|
mov r3, #4
|
|
ldrb r0, [r5, r0]
|
|
add r1, r0, #0
|
|
tst r1, r3
|
|
beq _021EC3D2
|
|
add r0, sp, #0xc
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #1
|
|
bhi _021EC3CA
|
|
ldr r0, [sp, #4]
|
|
sub r0, r0, r6
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
b _021EC404
|
|
_021EC3CA:
|
|
ldrsh r0, [r4, r3]
|
|
sub r0, r0, r6
|
|
strh r0, [r4, #4]
|
|
b _021EC404
|
|
_021EC3D2:
|
|
mov r1, #8
|
|
tst r0, r1
|
|
beq _021EC404
|
|
add r0, sp, #0xc
|
|
ldrh r2, [r0, #2]
|
|
ldr r0, _021EC48C ; =0x0000013B
|
|
sub r0, r0, #3
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r1, r0, #0x1f
|
|
ldr r0, _021EC494 ; =ov101_021F7E8C
|
|
ldrb r0, [r0, r1]
|
|
cmp r2, r0
|
|
blt _021EC3FE
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, r6
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
b _021EC404
|
|
_021EC3FE:
|
|
ldrsh r0, [r4, r3]
|
|
add r0, r0, r6
|
|
strh r0, [r4, #4]
|
|
_021EC404:
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
beq _021EC44E
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r5, r1]
|
|
mov r0, #0x80
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
ldr r1, [r0]
|
|
ldr r0, [sp, #4]
|
|
neg r2, r7
|
|
add r1, r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
ldr r0, [r0]
|
|
lsl r2, r2, #0x10
|
|
add r1, r0, r7
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
ldr r1, [sp, #4]
|
|
add r0, r5, #0
|
|
neg r1, r1
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl ov101_021E9BF4
|
|
add r0, r5, #0
|
|
bl ov101_021EC944
|
|
_021EC44E:
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
ldr r0, _021EC498 ; =0x0000013A
|
|
ldrb r1, [r5, r0]
|
|
sub r1, r1, #1
|
|
strb r1, [r5, r0]
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _021EC484
|
|
add r0, r5, #0
|
|
bl ov101_021E9288
|
|
ldr r1, _021EC488 ; =0x00000139
|
|
mov r0, #1
|
|
ldrb r2, [r5, r1]
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
ldrb r2, [r5, r1]
|
|
mov r0, #4
|
|
bic r2, r0
|
|
strb r2, [r5, r1]
|
|
mov r2, #0
|
|
add r0, r1, #2
|
|
strb r2, [r5, r0]
|
|
_021EC484:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EC488: .word 0x00000139
|
|
_021EC48C: .word 0x0000013B
|
|
_021EC490: .word ov101_021F7E8E
|
|
_021EC494: .word ov101_021F7E8C
|
|
_021EC498: .word 0x0000013A
|
|
thumb_func_end ov101_021EC304
|
|
|
|
thumb_func_start ov101_021EC49C
|
|
ov101_021EC49C: ; 0x021EC49C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
str r1, [sp, #8]
|
|
ldr r1, [sp, #0x40]
|
|
add r6, r0, #0
|
|
str r1, [sp, #0x40]
|
|
add r1, r6, #0
|
|
str r3, [sp, #0x10]
|
|
mov r3, #0x4e
|
|
str r2, [sp, #0xc]
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
lsl r3, r3, #2
|
|
ldr r4, [r1, #8]
|
|
ldrb r1, [r6, r3]
|
|
str r4, [sp, #0x1c]
|
|
add r4, #0xc8
|
|
lsl r1, r1, #0x1f
|
|
lsr r2, r1, #0x1f
|
|
add r1, r2, #1
|
|
lsl r1, r1, #0x1b
|
|
lsr r7, r1, #0x18
|
|
lsl r1, r7, #0x17
|
|
lsr r5, r1, #0x18
|
|
mov r1, #4
|
|
ldrsh r1, [r4, r1]
|
|
str r1, [sp]
|
|
mov r1, #6
|
|
ldrsh r1, [r4, r1]
|
|
str r1, [sp, #4]
|
|
add r1, r2, #0
|
|
add r2, r3, #0
|
|
sub r2, #0x28
|
|
sub r3, #0x26
|
|
ldrh r2, [r6, r2]
|
|
ldrh r3, [r6, r3]
|
|
bl ov101_021E9530
|
|
mov r3, #0x4e
|
|
lsl r3, r3, #2
|
|
ldrb r0, [r6, r3]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
bne _021EC54C
|
|
mov r0, #6
|
|
sub r1, r3, #7
|
|
ldrsh r0, [r4, r0]
|
|
ldrb r1, [r6, r1]
|
|
sub r2, r3, #6
|
|
ldrb r2, [r6, r2]
|
|
sub r0, r0, r1
|
|
asr r1, r0, #3
|
|
lsr r1, r1, #0x1c
|
|
add r1, r0, r1
|
|
lsl r0, r1, #0x14
|
|
mov r1, #4
|
|
ldrsh r1, [r4, r1]
|
|
lsr r0, r0, #0x18
|
|
sub r1, r1, r2
|
|
asr r2, r1, #3
|
|
lsr r2, r2, #0x1c
|
|
add r2, r1, r2
|
|
lsl r1, r2, #0x14
|
|
lsr r1, r1, #0x18
|
|
cmp r1, #5
|
|
bhi _021EC52A
|
|
ldr r1, [sp, #8]
|
|
lsl r2, r1, #3
|
|
add r2, #8
|
|
ldr r1, [sp, #0x10]
|
|
b _021EC530
|
|
_021EC52A:
|
|
ldr r1, [sp, #8]
|
|
lsl r2, r1, #3
|
|
ldr r1, [sp, #0x10]
|
|
_021EC530:
|
|
str r2, [r1]
|
|
cmp r0, #4
|
|
bls _021EC542
|
|
ldr r0, [sp, #0xc]
|
|
lsl r1, r0, #3
|
|
ldr r0, [sp, #0x40]
|
|
add r1, #8
|
|
str r1, [r0]
|
|
b _021EC5A4
|
|
_021EC542:
|
|
ldr r0, [sp, #0xc]
|
|
lsl r1, r0, #3
|
|
ldr r0, [sp, #0x40]
|
|
str r1, [r0]
|
|
b _021EC5A4
|
|
_021EC54C:
|
|
mov r0, #6
|
|
sub r1, r3, #7
|
|
ldrsh r0, [r4, r0]
|
|
ldrb r1, [r6, r1]
|
|
sub r0, r0, r1
|
|
asr r1, r0, #2
|
|
lsr r1, r1, #0x1d
|
|
add r1, r0, r1
|
|
asr r0, r1, #3
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
mov r0, #4
|
|
sub r1, r3, #6
|
|
ldrsh r0, [r4, r0]
|
|
ldrb r1, [r6, r1]
|
|
sub r0, r0, r1
|
|
asr r1, r0, #2
|
|
lsr r1, r1, #0x1d
|
|
add r1, r0, r1
|
|
asr r0, r1, #3
|
|
lsr r1, r0, #0x1f
|
|
lsl r3, r0, #0x1f
|
|
sub r3, r3, r1
|
|
mov r0, #0x1f
|
|
ror r3, r0
|
|
add r0, r1, r3
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r0, [sp, #8]
|
|
add r0, r0, r1
|
|
lsl r1, r0, #3
|
|
ldr r0, [sp, #0x10]
|
|
str r1, [r0]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r0, r2
|
|
lsl r1, r0, #3
|
|
ldr r0, [sp, #0x40]
|
|
str r1, [r0]
|
|
_021EC5A4:
|
|
add r0, r6, #0
|
|
add r0, #0xf4
|
|
ldr r3, _021EC770 ; =0x00000132
|
|
ldrh r1, [r0]
|
|
ldr r0, [sp, #8]
|
|
ldrb r2, [r6, r3]
|
|
sub r0, r0, r1
|
|
mul r0, r7
|
|
add r0, r2, r0
|
|
add r0, r5, r0
|
|
strh r0, [r4, #8]
|
|
sub r0, r3, #1
|
|
ldrb r2, [r6, r0]
|
|
add r0, r6, #0
|
|
add r0, #0xf0
|
|
ldrh r1, [r0]
|
|
ldr r0, [sp, #0xc]
|
|
sub r0, r0, r1
|
|
mul r0, r7
|
|
add r0, r2, r0
|
|
add r0, r5, r0
|
|
strh r0, [r4, #0xa]
|
|
ldr r0, [sp, #0x1c]
|
|
add r2, r6, #0
|
|
add r0, #0xfc
|
|
add r2, #0xf4
|
|
ldrh r0, [r0]
|
|
ldrh r2, [r2]
|
|
ldrb r1, [r6, r3]
|
|
sub r0, r0, r2
|
|
mul r0, r7
|
|
add r0, r1, r0
|
|
add r1, r5, r0
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, #0xf8
|
|
strh r1, [r0]
|
|
ldr r1, [sp, #0x1c]
|
|
sub r0, r3, #1
|
|
add r1, #0xfe
|
|
ldrh r2, [r1]
|
|
add r1, r6, #0
|
|
add r1, #0xf0
|
|
ldrh r1, [r1]
|
|
ldrb r0, [r6, r0]
|
|
sub r1, r2, r1
|
|
mul r1, r7
|
|
add r0, r0, r1
|
|
add r1, r5, r0
|
|
ldr r0, [sp, #0x1c]
|
|
add r0, #0xfa
|
|
strh r1, [r0]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov101_021EA238
|
|
add r0, r6, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r7, #5
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #5
|
|
bhi _021EC622
|
|
b _021EC76C
|
|
_021EC622:
|
|
mov r4, #0x3f
|
|
lsl r4, r4, #0x18
|
|
_021EC626:
|
|
ldr r0, _021EC774 ; =0x0000013A
|
|
ldrb r0, [r6, r0]
|
|
cmp r0, #0
|
|
beq _021EC640
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl _fadd
|
|
str r0, [sp, #0x18]
|
|
b _021EC64E
|
|
_021EC640:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r4, #0
|
|
bl _fsub
|
|
str r0, [sp, #0x18]
|
|
_021EC64E:
|
|
mov r0, #0x28
|
|
add r1, r7, #0
|
|
mul r1, r0
|
|
ldr r0, [sp, #0x1c]
|
|
add r5, r0, r1
|
|
mov r0, #8
|
|
ldrsh r1, [r5, r0]
|
|
mov r0, #4
|
|
ldrsh r0, [r5, r0]
|
|
sub r0, r1, r0
|
|
cmp r0, #0
|
|
ble _021EC676
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl _fadd
|
|
b _021EC682
|
|
_021EC676:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r4, #0
|
|
bl _fsub
|
|
_021EC682:
|
|
bl _ffix
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x18]
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x24]
|
|
bl FX_Div
|
|
str r0, [r5, #0x18]
|
|
ldr r0, _021EC774 ; =0x0000013A
|
|
ldrb r0, [r6, r0]
|
|
cmp r0, #0
|
|
beq _021EC6B2
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl _fadd
|
|
str r0, [sp, #0x14]
|
|
b _021EC6C0
|
|
_021EC6B2:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r4, #0
|
|
bl _fsub
|
|
str r0, [sp, #0x14]
|
|
_021EC6C0:
|
|
mov r0, #0xa
|
|
ldrsh r1, [r5, r0]
|
|
mov r0, #6
|
|
ldrsh r0, [r5, r0]
|
|
sub r0, r1, r0
|
|
cmp r0, #0
|
|
ble _021EC6DE
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl _fadd
|
|
b _021EC6EA
|
|
_021EC6DE:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r4, #0
|
|
bl _fsub
|
|
_021EC6EA:
|
|
bl _ffix
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x14]
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x28]
|
|
bl FX_Div
|
|
str r0, [r5, #0x1c]
|
|
mov r0, #6
|
|
ldrsh r0, [r5, r0]
|
|
str r0, [sp, #0x20]
|
|
mov r0, #4
|
|
ldrsh r0, [r5, r0]
|
|
cmp r0, #0
|
|
ble _021EC71E
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl _fadd
|
|
b _021EC72A
|
|
_021EC71E:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r4, #0
|
|
bl _fsub
|
|
_021EC72A:
|
|
bl _ffix
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [sp, #0x20]
|
|
cmp r0, #0
|
|
ble _021EC746
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl _fadd
|
|
b _021EC752
|
|
_021EC746:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r4, #0
|
|
bl _fsub
|
|
_021EC752:
|
|
bl _ffix
|
|
str r0, [r5, #0x14]
|
|
add r0, r7, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
add r0, r6, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #2]
|
|
cmp r7, r0
|
|
bhs _021EC76C
|
|
b _021EC626
|
|
_021EC76C:
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EC770: .word 0x00000132
|
|
_021EC774: .word 0x0000013A
|
|
thumb_func_end ov101_021EC49C
|
|
|
|
thumb_func_start ov101_021EC778
|
|
ov101_021EC778: ; 0x021EC778
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
add r0, #0x84
|
|
ldr r1, _021EC918 ; =0x00000139
|
|
ldr r0, [r0]
|
|
ldrb r2, [r4, r1]
|
|
ldr r6, [r0, #8]
|
|
add r0, r6, #0
|
|
lsl r2, r2, #0x1e
|
|
add r0, #0xc8
|
|
lsr r2, r2, #0x1f
|
|
bne _021EC794
|
|
b _021EC914
|
|
_021EC794:
|
|
sub r1, r1, #1
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
beq _021EC7BA
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
mov r2, #1
|
|
ldr r1, [r1]
|
|
lsl r2, r2, #0xa
|
|
add r3, r1, r2
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
str r3, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
ldr r1, [r1]
|
|
add r2, r1, r2
|
|
b _021EC7D4
|
|
_021EC7BA:
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
mov r2, #1
|
|
ldr r1, [r1]
|
|
lsl r2, r2, #0xa
|
|
sub r3, r1, r2
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
str r3, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
ldr r1, [r1]
|
|
sub r2, r1, r2
|
|
_021EC7D4:
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
str r2, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
ldr r1, [r1]
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
lsl r1, r1, #0xc
|
|
str r1, [sp, #8]
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
ldr r1, [r1]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0, #0x20]
|
|
add r1, sp, #0
|
|
bl sub_020247F4
|
|
ldr r0, _021EC91C ; =0x0000013A
|
|
ldrb r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021EC870
|
|
mov r0, #0xfc
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
mov r0, #0xfe
|
|
ldrsh r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r5, #5
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #5
|
|
bls _021EC856
|
|
mov r7, #0xa
|
|
_021EC82A:
|
|
mov r0, #0x28
|
|
mul r0, r5
|
|
add r0, r6, r0
|
|
mov r1, #0xa
|
|
mov r2, #8
|
|
ldrsh r1, [r0, r1]
|
|
ldrsh r2, [r0, r2]
|
|
strh r2, [r0, #4]
|
|
strh r1, [r0, #6]
|
|
ldrsh r2, [r0, r7]
|
|
add r1, r5, #0
|
|
bl ov101_021EC920
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #2]
|
|
cmp r5, r0
|
|
blo _021EC82A
|
|
_021EC856:
|
|
ldr r1, _021EC918 ; =0x00000139
|
|
mov r0, #1
|
|
ldrb r2, [r4, r1]
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #2
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
mov r2, #0
|
|
add r0, r1, #2
|
|
strb r2, [r4, r0]
|
|
b _021EC8FE
|
|
_021EC870:
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
ldr r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
ldr r0, [r0]
|
|
mov r5, #5
|
|
add r1, r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xec
|
|
ldr r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xe4
|
|
ldr r0, [r0]
|
|
add r1, r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xec
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
asr r1, r0, #0xc
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xec
|
|
ldr r0, [r0]
|
|
asr r1, r0, #0xc
|
|
add r0, r4, #0
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #5
|
|
bls _021EC8FE
|
|
mov r7, #0x28
|
|
_021EC8C4:
|
|
add r0, r5, #0
|
|
mul r0, r7
|
|
add r0, r6, r0
|
|
ldr r2, [r0, #0x10]
|
|
ldr r1, [r0, #0x18]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x10]
|
|
ldr r2, [r0, #0x14]
|
|
ldr r1, [r0, #0x1c]
|
|
add r1, r2, r1
|
|
str r1, [r0, #0x14]
|
|
lsl r1, r1, #4
|
|
asr r2, r1, #0x10
|
|
ldr r1, [r0, #0x10]
|
|
asr r1, r1, #0xc
|
|
strh r1, [r0, #4]
|
|
add r1, r5, #0
|
|
strh r2, [r0, #6]
|
|
bl ov101_021EC920
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #2]
|
|
cmp r5, r0
|
|
blo _021EC8C4
|
|
_021EC8FE:
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x80
|
|
orr r0, r2
|
|
strb r0, [r4, r1]
|
|
_021EC914:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EC918: .word 0x00000139
|
|
_021EC91C: .word 0x0000013A
|
|
thumb_func_end ov101_021EC778
|
|
|
|
thumb_func_start ov101_021EC920
|
|
ov101_021EC920: ; 0x021EC920
|
|
push {r3, lr}
|
|
ldrb r1, [r0, #1]
|
|
cmp r1, #0
|
|
beq _021EC942
|
|
cmp r2, #0xd8
|
|
bgt _021EC930
|
|
cmp r2, #0
|
|
bge _021EC93A
|
|
_021EC930:
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
pop {r3, pc}
|
|
_021EC93A:
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
_021EC942:
|
|
pop {r3, pc}
|
|
thumb_func_end ov101_021EC920
|
|
|
|
thumb_func_start ov101_021EC944
|
|
ov101_021EC944: ; 0x021EC944
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r0, #0x84
|
|
ldr r1, [r0]
|
|
ldrb r0, [r6, #0xd]
|
|
ldr r5, [r1, #8]
|
|
cmp r0, #0
|
|
bne _021EC97E
|
|
ldrh r0, [r1, #2]
|
|
mov r4, #5
|
|
cmp r0, #5
|
|
bls _021EC97E
|
|
mov r7, #6
|
|
_021EC95E:
|
|
mov r0, #0x28
|
|
mul r0, r4
|
|
add r0, r5, r0
|
|
ldrsh r2, [r0, r7]
|
|
add r1, r4, #0
|
|
bl ov101_021EC920
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
add r0, r6, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #2]
|
|
cmp r4, r0
|
|
blo _021EC95E
|
|
_021EC97E:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021EC944
|
|
|
|
thumb_func_start ov101_021EC980
|
|
ov101_021EC980: ; 0x021EC980
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r2, [sp, #4]
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, r2]
|
|
sub r4, r2, #6
|
|
str r1, [sp]
|
|
lsl r0, r0, #0x1f
|
|
lsr r1, r0, #0x1f
|
|
lsl r0, r1, #2
|
|
ldr r3, _021ECA28 ; =ov101_021F7E9C
|
|
sub r2, r2, #7
|
|
add r6, r3, r0
|
|
add r1, r1, #1
|
|
lsl r1, r1, #3
|
|
ldr r3, _021ECA2C ; =gSystem + 0x40
|
|
str r0, [sp, #0xc]
|
|
ldrh r0, [r3, #0x20]
|
|
ldrb r4, [r5, r4]
|
|
ldrh r3, [r3, #0x22]
|
|
ldrb r2, [r5, r2]
|
|
sub r0, r0, r4
|
|
lsl r0, r0, #0x10
|
|
sub r2, r3, r2
|
|
lsl r2, r2, #0x10
|
|
asr r0, r0, #0x10
|
|
str r1, [sp, #8]
|
|
asr r4, r2, #0x10
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
asr r7, r0, #0x10
|
|
ldr r1, [sp, #8]
|
|
add r0, r4, #0
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
asr r4, r0, #0x10
|
|
ldr r1, _021ECA28 ; =ov101_021F7E9C
|
|
ldr r0, [sp, #0xc]
|
|
ldrb r0, [r1, r0]
|
|
cmp r4, r0
|
|
bge _021EC9DC
|
|
add r4, r0, #0
|
|
_021EC9DC:
|
|
ldrb r0, [r6, #1]
|
|
cmp r4, r0
|
|
ble _021EC9E4
|
|
add r4, r0, #0
|
|
_021EC9E4:
|
|
ldrb r0, [r6, #2]
|
|
cmp r7, r0
|
|
bge _021EC9EC
|
|
add r7, r0, #0
|
|
_021EC9EC:
|
|
ldrb r0, [r6, #3]
|
|
cmp r7, r0
|
|
ble _021EC9F4
|
|
add r7, r0, #0
|
|
_021EC9F4:
|
|
add r1, r5, #0
|
|
add r1, #0xf0
|
|
add r0, r5, #0
|
|
ldrh r1, [r1]
|
|
add r0, #0xf4
|
|
ldrh r0, [r0]
|
|
add r1, r4, r1
|
|
lsl r1, r1, #0x10
|
|
add r0, r7, r0
|
|
asr r4, r1, #0x10
|
|
lsl r0, r0, #0x10
|
|
ldr r1, [sp]
|
|
asr r0, r0, #0x10
|
|
cmp r1, #0
|
|
beq _021ECA14
|
|
strh r0, [r1]
|
|
_021ECA14:
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
beq _021ECA1C
|
|
strh r4, [r0]
|
|
_021ECA1C:
|
|
add r0, r5, #0
|
|
bl ov101_021E94C0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021ECA28: .word ov101_021F7E9C
|
|
_021ECA2C: .word gSystem + 0x40
|
|
thumb_func_end ov101_021EC980
|
|
|
|
thumb_func_start ov101_021ECA30
|
|
ov101_021ECA30: ; 0x021ECA30
|
|
push {r3, r4}
|
|
mov r2, #0x47
|
|
lsl r2, r2, #2
|
|
ldr r0, [r0, r2]
|
|
cmp r0, #0
|
|
beq _021ECA40
|
|
cmp r1, #8
|
|
blo _021ECA46
|
|
_021ECA40:
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021ECA46:
|
|
lsr r4, r1, #0x1f
|
|
lsl r3, r1, #0x1f
|
|
sub r3, r3, r4
|
|
mov r2, #0x1f
|
|
ror r3, r2
|
|
add r2, r4, r3
|
|
bne _021ECA64
|
|
lsr r1, r1, #1
|
|
add r0, r0, r1
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0xf
|
|
beq _021ECA78
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021ECA64:
|
|
lsr r1, r1, #1
|
|
lsl r1, r1, #1
|
|
add r0, r0, r1
|
|
ldrh r1, [r0, #8]
|
|
ldr r0, _021ECA80 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
beq _021ECA78
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021ECA78:
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_021ECA80: .word 0x0000FFFF
|
|
thumb_func_end ov101_021ECA30
|
|
|
|
thumb_func_start ov101_021ECA84
|
|
ov101_021ECA84: ; 0x021ECA84
|
|
push {r4, r5, lr}
|
|
sub sp, #0x1c
|
|
add r4, r0, #0
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r1, r1, #0x1f
|
|
ldrb r2, [r4, r0]
|
|
mov r3, #0x80
|
|
lsr r1, r1, #0x18
|
|
bic r2, r3
|
|
orr r1, r2
|
|
strb r1, [r4, r0]
|
|
add r1, r0, #0
|
|
add r1, #0x40
|
|
ldr r1, [r4, r1]
|
|
mov r3, #8
|
|
add r5, r1, #0
|
|
str r3, [sp]
|
|
mov r2, #5
|
|
str r2, [sp, #4]
|
|
add r5, #0xc
|
|
str r5, [sp, #8]
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
lsl r0, r0, #3
|
|
add r0, #0xe
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r1]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x14]
|
|
ldrh r0, [r1, #2]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov101_021ECA84
|
|
|
|
thumb_func_start ov101_021ECAF0
|
|
ov101_021ECAF0: ; 0x021ECAF0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021ECC48 ; =gSystem
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x48]
|
|
tst r1, r0
|
|
beq _021ECB16
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _021ECC4C ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
mov r0, #0xa
|
|
pop {r3, r4, r5, pc}
|
|
_021ECB16:
|
|
mov r1, #1
|
|
tst r1, r0
|
|
beq _021ECBE2
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7334
|
|
add r5, r0, #0
|
|
ldr r0, _021ECC50 ; =0x00000941
|
|
bl PlaySE
|
|
cmp r5, #8
|
|
bne _021ECB40
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _021ECC4C ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
mov r0, #0xa
|
|
pop {r3, r4, r5, pc}
|
|
_021ECB40:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov101_021ECA30
|
|
cmp r0, #0
|
|
beq _021ECB8C
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _021ECC4C ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7414
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E72F8
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _021ECC4C ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #1
|
|
bl ov100_021E7128
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021ECA84
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
mov r0, #2
|
|
orr r2, r0
|
|
strb r2, [r4, r1]
|
|
sub r0, r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_021ECB8C:
|
|
lsr r2, r5, #0x1f
|
|
lsl r1, r5, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r1, r2, r1
|
|
bne _021ECBD2
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _021ECC4C ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7414
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E72F8
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _021ECC4C ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #1
|
|
bl ov100_021E7128
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
mov r0, #1
|
|
orr r2, r0
|
|
strb r2, [r4, r1]
|
|
sub r0, r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021ECBD2:
|
|
lsr r1, r5, #1
|
|
strh r1, [r4, #0x16]
|
|
add r0, #0xf9
|
|
ldr r0, [r4, r0]
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #0x2c]
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_021ECBE2:
|
|
mov r1, #0x20
|
|
tst r1, r0
|
|
beq _021ECBFA
|
|
ldr r0, _021ECC54 ; =0x0000093F
|
|
bl PlaySE
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
b _021ECC40
|
|
_021ECBFA:
|
|
mov r1, #0x10
|
|
tst r1, r0
|
|
beq _021ECC12
|
|
ldr r0, _021ECC54 ; =0x0000093F
|
|
bl PlaySE
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
b _021ECC40
|
|
_021ECC12:
|
|
mov r1, #0x40
|
|
tst r1, r0
|
|
beq _021ECC2A
|
|
ldr r0, _021ECC54 ; =0x0000093F
|
|
bl PlaySE
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
b _021ECC40
|
|
_021ECC2A:
|
|
mov r1, #0x80
|
|
tst r0, r1
|
|
beq _021ECC40
|
|
ldr r0, _021ECC54 ; =0x0000093F
|
|
bl PlaySE
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
_021ECC40:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021ECC48: .word gSystem
|
|
_021ECC4C: .word 0x0000FFFF
|
|
_021ECC50: .word 0x00000941
|
|
_021ECC54: .word 0x0000093F
|
|
thumb_func_end ov101_021ECAF0
|
|
|
|
thumb_func_start ov101_021ECC58
|
|
ov101_021ECC58: ; 0x021ECC58
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
add r6, r1, #0
|
|
ldr r7, [r0, #8]
|
|
bl System_GetTouchHeld
|
|
cmp r0, #0
|
|
bne _021ECC76
|
|
mov r0, #0
|
|
add sp, #0x1c
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021ECC76:
|
|
ldr r0, _021ECE44 ; =0x00000139
|
|
ldrb r0, [r5, r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021ECC88
|
|
mov r0, #0
|
|
add sp, #0x1c
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021ECC88:
|
|
ldr r0, _021ECE48 ; =ov101_021F7EF4
|
|
bl sub_02025224
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _021ECC9A
|
|
b _021ECE3E
|
|
_021ECC9A:
|
|
mov r1, #1
|
|
str r1, [r6]
|
|
cmp r4, #0x10
|
|
bne _021ECCF4
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r1, #5
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #7
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x10
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r2, #0x17
|
|
mov r3, #8
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add sp, #0x1c
|
|
mov r0, #0xa
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021ECCF4:
|
|
cmp r4, #8
|
|
blt _021ECD3C
|
|
ldr r0, _021ECE44 ; =0x00000139
|
|
mov r3, #0xf0
|
|
ldrb r2, [r5, r0]
|
|
bic r2, r3
|
|
add r3, r4, #0
|
|
sub r3, #8
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
lsl r3, r3, #0x1c
|
|
lsr r3, r3, #0x18
|
|
orr r2, r3
|
|
strb r2, [r5, r0]
|
|
add r2, r0, #3
|
|
ldrb r3, [r5, r2]
|
|
mov r2, #0x7f
|
|
add r0, r0, #3
|
|
bic r3, r2
|
|
add r2, r3, #0
|
|
orr r2, r1
|
|
strb r2, [r5, r0]
|
|
add r4, #0x14
|
|
mov r0, #0x28
|
|
mul r0, r4
|
|
add r0, r7, r0
|
|
ldr r0, [r0, #0x20]
|
|
bl sub_0200DD60
|
|
ldr r0, _021ECE4C ; =0x00000947
|
|
bl PlaySE
|
|
mov r0, #0
|
|
add sp, #0x1c
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021ECD3C:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021ECA30
|
|
cmp r0, #0
|
|
beq _021ECE12
|
|
lsr r0, r4, #0x1f
|
|
add r0, r4, r0
|
|
lsl r0, r0, #0xf
|
|
lsr r6, r0, #0x10
|
|
lsr r2, r4, #0x1f
|
|
lsl r0, r4, #0x1f
|
|
sub r0, r0, r2
|
|
mov r1, #0x1f
|
|
ror r0, r1
|
|
add r0, r2, r0
|
|
bne _021ECD92
|
|
ldr r2, _021ECE44 ; =0x00000139
|
|
mov r1, #0xf0
|
|
ldrb r0, [r5, r2]
|
|
bic r0, r1
|
|
lsl r1, r6, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x18
|
|
orr r0, r1
|
|
strb r0, [r5, r2]
|
|
mov r1, #0
|
|
add r0, r2, #7
|
|
strh r1, [r5, r0]
|
|
ldrsh r1, [r5, r0]
|
|
add r0, r2, #5
|
|
add r6, #0x14
|
|
strh r1, [r5, r0]
|
|
mov r0, #0x28
|
|
mul r0, r6
|
|
add r0, r7, r0
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #1
|
|
bl sub_0200DD60
|
|
b _021ECDF4
|
|
_021ECD92:
|
|
ldr r0, _021ECE44 ; =0x00000139
|
|
mov r3, #0xf0
|
|
ldrb r2, [r5, r0]
|
|
bic r2, r3
|
|
add r3, r6, #4
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
lsl r3, r3, #0x1c
|
|
lsr r3, r3, #0x18
|
|
orr r2, r3
|
|
strb r2, [r5, r0]
|
|
lsr r2, r6, #0x1f
|
|
lsl r0, r6, #0x1f
|
|
sub r0, r0, r2
|
|
ror r0, r1
|
|
add r1, r2, r0
|
|
add r2, r1, #0
|
|
ldr r1, _021ECE50 ; =gSystem + 0x40
|
|
mov r0, #0x68
|
|
mul r2, r0
|
|
ldrh r3, [r1, #0x20]
|
|
add r2, #0x28
|
|
sub r3, r2, r3
|
|
add r2, r0, #0
|
|
add r2, #0xd6
|
|
strh r3, [r5, r2]
|
|
lsr r2, r6, #1
|
|
mov r3, #0x15
|
|
mul r3, r2
|
|
ldrh r1, [r1, #0x22]
|
|
add r3, #0x1f
|
|
add r0, #0xd8
|
|
sub r1, r3, r1
|
|
strh r1, [r5, r0]
|
|
add r1, r6, #0
|
|
add r1, #0x18
|
|
mov r0, #0x28
|
|
mul r0, r1
|
|
add r0, r7, r0
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #1
|
|
bl sub_0200DD60
|
|
lsl r0, r6, #4
|
|
add r0, r5, r0
|
|
ldr r0, [r0, #0x44]
|
|
mov r1, #0
|
|
bl sub_02013820
|
|
_021ECDF4:
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r5, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
mov r0, #2
|
|
orr r0, r2
|
|
strb r0, [r5, r1]
|
|
ldr r0, _021ECE4C ; =0x00000947
|
|
bl PlaySE
|
|
mov r0, #0
|
|
add sp, #0x1c
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021ECE12:
|
|
lsr r2, r4, #0x1f
|
|
lsl r1, r4, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r1, r2, r1
|
|
cmp r1, #1
|
|
bne _021ECE3C
|
|
add r2, r4, r2
|
|
asr r1, r2, #1
|
|
strh r1, [r5, #0x16]
|
|
add r0, #0xf9
|
|
ldr r0, [r5, r0]
|
|
ldrh r0, [r0]
|
|
strh r0, [r5, #0x2c]
|
|
ldr r0, _021ECE54 ; =0x00000941
|
|
bl PlaySE
|
|
add sp, #0x1c
|
|
mov r0, #0xb
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021ECE3C:
|
|
sub r0, #0x20
|
|
_021ECE3E:
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021ECE44: .word 0x00000139
|
|
_021ECE48: .word ov101_021F7EF4
|
|
_021ECE4C: .word 0x00000947
|
|
_021ECE50: .word gSystem + 0x40
|
|
_021ECE54: .word 0x00000941
|
|
thumb_func_end ov101_021ECC58
|
|
|
|
thumb_func_start ov101_021ECE58
|
|
ov101_021ECE58: ; 0x021ECE58
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73C8
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _021ECEA4 ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E733C
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, _021ECEA4 ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #1
|
|
bl ov100_021E7414
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_021ECEA4: .word 0x0000FFFF
|
|
thumb_func_end ov101_021ECE58
|
|
|
|
thumb_func_start ov101_021ECEA8
|
|
ov101_021ECEA8: ; 0x021ECEA8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021ECF8C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021ECF06
|
|
ldr r0, _021ECF90 ; =0x00000941
|
|
bl PlaySE
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7334
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E733C
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
add r4, r0, #0
|
|
ldr r0, [r5, r1]
|
|
cmp r0, #0
|
|
bne _021ECEEE
|
|
sub r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
add r0, r5, #0
|
|
ldrh r1, [r1]
|
|
bl ov101_021ED64C
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
_021ECEEE:
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
lsl r1, r4, #0x17
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
bl ov101_021ED750
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021EAE54
|
|
_021ECF06:
|
|
ldr r0, _021ECF8C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021ECF24
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
bl ov101_021ECE58
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021ECF24:
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
beq _021ECF54
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
bl ov101_021ECE58
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
beq _021ECF4E
|
|
add r0, r5, #0
|
|
bl ov101_021EB364
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
str r1, [r0, #0xc]
|
|
_021ECF4E:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021ECF54:
|
|
ldr r0, _021ECF8C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _021ECF70
|
|
ldr r0, _021ECF94 ; =0x0000093F
|
|
bl PlaySE
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
b _021ECF86
|
|
_021ECF70:
|
|
mov r0, #0x10
|
|
tst r0, r1
|
|
beq _021ECF86
|
|
ldr r0, _021ECF94 ; =0x0000093F
|
|
bl PlaySE
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
_021ECF86:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021ECF8C: .word gSystem
|
|
_021ECF90: .word 0x00000941
|
|
_021ECF94: .word 0x0000093F
|
|
thumb_func_end ov101_021ECEA8
|
|
|
|
thumb_func_start ov101_021ECF98
|
|
ov101_021ECF98: ; 0x021ECF98
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl System_GetTouchHeld
|
|
cmp r0, #0
|
|
beq _021ECFA6
|
|
b _021ED0C8
|
|
_021ECFA6:
|
|
ldr r2, _021ED100 ; =gSystem + 0x40
|
|
ldr r0, _021ED104 ; =ov101_021F7EB8
|
|
ldrh r1, [r2, #0x20]
|
|
ldrh r2, [r2, #0x22]
|
|
bl sub_0202539C
|
|
add r5, r0, #0
|
|
ldr r0, _021ED108 ; =0x00000948
|
|
bl PlaySE
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _021ED028
|
|
ldr r0, _021ED10C ; =0x00000139
|
|
add r1, r4, #0
|
|
ldrb r0, [r4, r0]
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
add r2, r0, #0
|
|
ldr r3, [r1, #8]
|
|
add r2, #0x1c
|
|
mov r1, #0x28
|
|
mul r1, r2
|
|
add r2, r3, r1
|
|
mov r1, #0x18
|
|
mul r1, r0
|
|
add r1, #0x28
|
|
strh r1, [r2, #4]
|
|
mov r0, #0x84
|
|
strh r0, [r2, #6]
|
|
mov r1, #4
|
|
mov r3, #6
|
|
ldr r0, [r2, #0x20]
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r2, [r2, r3]
|
|
bl sub_0200DD88
|
|
ldr r1, _021ED10C ; =0x00000139
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #0x1c
|
|
ldr r0, [r0, #8]
|
|
add r2, #0x1c
|
|
mov r1, #0x28
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #4
|
|
bl sub_0200DD60
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
mov r0, #0
|
|
strb r2, [r4, r1]
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021ED028:
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _021ED044
|
|
sub r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
ldrh r1, [r1]
|
|
bl ov101_021ED64C
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
_021ED044:
|
|
mov r2, #0x47
|
|
lsl r2, r2, #2
|
|
ldr r0, [r4, r2]
|
|
add r2, #0x1d
|
|
ldrb r2, [r4, r2]
|
|
lsl r1, r5, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1c
|
|
bl ov101_021ED750
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021EAE54
|
|
ldr r0, _021ED10C ; =0x00000139
|
|
add r1, r4, #0
|
|
ldrb r0, [r4, r0]
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
add r2, r0, #0
|
|
ldr r3, [r1, #8]
|
|
add r2, #0x1c
|
|
mov r1, #0x28
|
|
mul r1, r2
|
|
add r2, r3, r1
|
|
mov r1, #0x18
|
|
mul r1, r0
|
|
add r1, #0x28
|
|
strh r1, [r2, #4]
|
|
mov r0, #0x84
|
|
strh r0, [r2, #6]
|
|
mov r1, #4
|
|
mov r3, #6
|
|
ldr r0, [r2, #0x20]
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r2, [r2, r3]
|
|
bl sub_0200DD88
|
|
ldr r1, _021ED10C ; =0x00000139
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #0x1c
|
|
ldr r0, [r0, #8]
|
|
add r2, #0x1c
|
|
mov r1, #0x28
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #4
|
|
bl sub_0200DD60
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
mov r0, #0
|
|
strb r2, [r4, r1]
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021ED0C8:
|
|
ldr r2, _021ED10C ; =0x00000139
|
|
add r1, r4, #0
|
|
ldrb r2, [r4, r2]
|
|
add r1, #0x84
|
|
ldr r0, _021ED100 ; =gSystem + 0x40
|
|
ldr r1, [r1]
|
|
lsl r2, r2, #0x18
|
|
lsr r4, r2, #0x1c
|
|
ldrh r3, [r0, #0x22]
|
|
ldr r1, [r1, #8]
|
|
add r4, #0x1c
|
|
mov r2, #0x28
|
|
mul r2, r4
|
|
add r2, r1, r2
|
|
ldrh r0, [r0, #0x20]
|
|
mov r1, #4
|
|
strh r0, [r2, #4]
|
|
strh r3, [r2, #6]
|
|
mov r3, #6
|
|
ldr r0, [r2, #0x20]
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r2, [r2, r3]
|
|
bl sub_0200DD88
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021ED100: .word gSystem + 0x40
|
|
_021ED104: .word ov101_021F7EB8
|
|
_021ED108: .word 0x00000948
|
|
_021ED10C: .word 0x00000139
|
|
thumb_func_end ov101_021ECF98
|
|
|
|
thumb_func_start ov101_021ED110
|
|
ov101_021ED110: ; 0x021ED110
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
bne _021ED126
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r2, #0
|
|
bl ov101_021ED760
|
|
b _021ED132
|
|
_021ED126:
|
|
mov r0, #0x47
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r2, #0
|
|
bl ov101_021ED7B0
|
|
_021ED132:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _021ED14E
|
|
mov r1, #0x47
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov101_021ED6B8
|
|
mov r0, #0x47
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_021ED14E:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021EAE54
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021ED110
|
|
|
|
thumb_func_start ov101_021ED158
|
|
ov101_021ED158: ; 0x021ED158
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021ED1FC ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021ED1A0
|
|
ldr r0, _021ED200 ; =0x00000946
|
|
bl PlaySE
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E733C
|
|
add r2, r0, #0
|
|
lsr r5, r2, #0x1f
|
|
lsl r3, r2, #0x1f
|
|
lsl r2, r2, #0x17
|
|
sub r3, r3, r5
|
|
mov r1, #0x1f
|
|
ror r3, r1
|
|
add r1, r5, r3
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021ED110
|
|
add r0, r4, #0
|
|
bl ov101_021ECE58
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021ECA84
|
|
_021ED1A0:
|
|
ldr r0, _021ED1FC ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021ED1C2
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
bl ov101_021ECE58
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021ECA84
|
|
b _021ED1F4
|
|
_021ED1C2:
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
beq _021ED1F4
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
bl ov101_021ECE58
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021ECA84
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
beq _021ED1F4
|
|
add r0, r4, #0
|
|
bl ov101_021EB364
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
str r1, [r0, #0xc]
|
|
_021ED1F4:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021ED1FC: .word gSystem
|
|
_021ED200: .word 0x00000946
|
|
thumb_func_end ov101_021ED158
|
|
|
|
thumb_func_start ov101_021ED204
|
|
ov101_021ED204: ; 0x021ED204
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
cmp r1, #4
|
|
ldr r5, [r0, #8]
|
|
bhs _021ED25C
|
|
ldr r0, _021ED2BC ; =0x00000139
|
|
mov r1, #0x28
|
|
ldrb r0, [r6, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
add r2, r0, #0
|
|
add r2, #0x14
|
|
add r4, r2, #0
|
|
lsr r6, r0, #0x1f
|
|
lsl r3, r0, #0x1f
|
|
sub r3, r3, r6
|
|
mov r2, #0x1f
|
|
ror r3, r2
|
|
mul r4, r1
|
|
add r3, r6, r3
|
|
mov r2, #0x68
|
|
mul r2, r3
|
|
lsr r3, r0, #1
|
|
mov r0, #0x15
|
|
mul r0, r3
|
|
add r1, r5, #4
|
|
add r2, #0x20
|
|
strh r2, [r1, r4]
|
|
add r2, r5, #6
|
|
add r0, #0x20
|
|
strh r0, [r2, r4]
|
|
add r5, #0x20
|
|
ldrsh r1, [r1, r4]
|
|
ldrsh r2, [r2, r4]
|
|
ldr r0, [r5, r4]
|
|
bl sub_0200DD88
|
|
ldr r0, [r5, r4]
|
|
mov r1, #4
|
|
bl sub_0200DD60
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021ED25C:
|
|
sub r0, r1, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
add r1, r7, #0
|
|
add r1, #0x18
|
|
add r4, r1, #0
|
|
mov r0, #0x28
|
|
mul r4, r0
|
|
lsr r3, r7, #0x1f
|
|
lsl r2, r7, #0x1f
|
|
sub r2, r2, r3
|
|
mov r0, #0x1f
|
|
ror r2, r0
|
|
add r2, r3, r2
|
|
mov r0, #0x68
|
|
mul r0, r2
|
|
add r1, r5, #4
|
|
add r0, #0x28
|
|
strh r0, [r1, r4]
|
|
add r2, r5, #6
|
|
lsr r3, r7, #1
|
|
mov r0, #0x15
|
|
mul r0, r3
|
|
add r0, #0x1f
|
|
strh r0, [r2, r4]
|
|
add r5, #0x20
|
|
ldrsh r1, [r1, r4]
|
|
ldrsh r2, [r2, r4]
|
|
ldr r0, [r5, r4]
|
|
bl sub_0200DD88
|
|
ldr r0, [r5, r4]
|
|
mov r1, #4
|
|
bl sub_0200DD60
|
|
mov r1, #4
|
|
add r2, r1, #0
|
|
add r6, #0x44
|
|
lsl r4, r7, #4
|
|
ldr r0, [r6, r4]
|
|
sub r2, #0xa
|
|
bl sub_020136B4
|
|
ldr r0, [r6, r4]
|
|
mov r1, #3
|
|
bl sub_02013820
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021ED2BC: .word 0x00000139
|
|
thumb_func_end ov101_021ED204
|
|
|
|
thumb_func_start ov101_021ED2C0
|
|
ov101_021ED2C0: ; 0x021ED2C0
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
bl System_GetTouchHeld
|
|
cmp r0, #0
|
|
beq _021ED2CE
|
|
b _021ED3F8
|
|
_021ED2CE:
|
|
ldr r2, _021ED480 ; =gSystem + 0x40
|
|
ldr r0, _021ED484 ; =ov101_021F7ECC
|
|
ldrh r1, [r2, #0x20]
|
|
ldrh r2, [r2, #0x22]
|
|
bl sub_0202539C
|
|
add r2, r0, #0
|
|
cmp r2, #8
|
|
bne _021ED330
|
|
ldr r0, _021ED488 ; =0x00000139
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x1c
|
|
lsr r5, r2, #0x1f
|
|
lsl r3, r2, #0x1e
|
|
lsl r1, r2, #0x16
|
|
sub r3, r3, r5
|
|
mov r2, #0x1e
|
|
ror r3, r2
|
|
add r2, r5, r3
|
|
lsl r2, r2, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021ED110
|
|
ldr r1, _021ED488 ; =0x00000139
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
bl ov101_021ED204
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021ECA84
|
|
ldr r0, _021ED48C ; =0x00000946
|
|
bl PlaySE
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
mov r0, #0
|
|
strb r2, [r4, r1]
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021ED330:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r2, r0
|
|
beq _021ED352
|
|
ldr r3, _021ED488 ; =0x00000139
|
|
asr r0, r2, #1
|
|
ldrb r1, [r4, r3]
|
|
lsr r0, r0, #0x1e
|
|
add r0, r2, r0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
asr r0, r0, #2
|
|
lsr r5, r1, #2
|
|
cmp r5, r0
|
|
bne _021ED352
|
|
cmp r1, r2
|
|
bne _021ED378
|
|
_021ED352:
|
|
ldr r1, _021ED488 ; =0x00000139
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
bl ov101_021ED204
|
|
ldr r0, _021ED490 ; =0x00000948
|
|
bl PlaySE
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
mov r0, #0
|
|
strb r2, [r4, r1]
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021ED378:
|
|
cmp r0, #0
|
|
bne _021ED3A4
|
|
sub r3, #0x1d
|
|
lsr r5, r1, #0x1f
|
|
lsl r1, r1, #0x1e
|
|
ldr r0, [r4, r3]
|
|
sub r1, r1, r5
|
|
mov r3, #0x1e
|
|
ror r1, r3
|
|
add r1, r5, r1
|
|
lsr r5, r2, #0x1f
|
|
lsl r2, r2, #0x1e
|
|
sub r2, r2, r5
|
|
ror r2, r3
|
|
add r2, r5, r2
|
|
lsl r1, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021ED780
|
|
b _021ED3CA
|
|
_021ED3A4:
|
|
sub r3, #0x1d
|
|
lsr r5, r1, #0x1f
|
|
lsl r1, r1, #0x1e
|
|
ldr r0, [r4, r3]
|
|
sub r1, r1, r5
|
|
mov r3, #0x1e
|
|
ror r1, r3
|
|
add r1, r5, r1
|
|
lsr r5, r2, #0x1f
|
|
lsl r2, r2, #0x1e
|
|
sub r2, r2, r5
|
|
ror r2, r3
|
|
add r2, r5, r2
|
|
lsl r1, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021ED7D8
|
|
_021ED3CA:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021EAE54
|
|
ldr r1, _021ED488 ; =0x00000139
|
|
add r0, r4, #0
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
bl ov101_021ED204
|
|
ldr r0, _021ED490 ; =0x00000948
|
|
bl PlaySE
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x7f
|
|
bic r2, r0
|
|
mov r0, #0
|
|
strb r2, [r4, r1]
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021ED3F8:
|
|
ldr r0, _021ED480 ; =gSystem + 0x40
|
|
mov r5, #5
|
|
lsl r5, r5, #6
|
|
ldrh r2, [r0, #0x22]
|
|
ldrsh r1, [r4, r5]
|
|
add r3, r2, r1
|
|
sub r2, r5, #7
|
|
ldrb r2, [r4, r2]
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
ldr r1, [r1]
|
|
lsl r2, r2, #0x18
|
|
lsr r6, r2, #0x1c
|
|
ldr r1, [r1, #8]
|
|
add r6, #0x14
|
|
mov r2, #0x28
|
|
mul r2, r6
|
|
add r2, r1, r2
|
|
ldrh r1, [r0, #0x20]
|
|
sub r0, r5, #2
|
|
ldrsh r0, [r4, r0]
|
|
add r0, r1, r0
|
|
strh r0, [r2, #4]
|
|
strh r3, [r2, #6]
|
|
mov r1, #4
|
|
mov r3, #6
|
|
ldr r0, [r2, #0x20]
|
|
ldrsh r1, [r2, r1]
|
|
ldrsh r2, [r2, r3]
|
|
bl sub_0200DD88
|
|
sub r0, r5, #7
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #4
|
|
blo _021ED454
|
|
sub r0, r0, #4
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
mov r1, #4
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x44]
|
|
sub r2, #0xa
|
|
bl sub_020136B4
|
|
_021ED454:
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r4, r0]
|
|
ldr r2, _021ED480 ; =gSystem + 0x40
|
|
lsl r0, r0, #0x18
|
|
ldrh r1, [r2, #0x20]
|
|
lsr r5, r0, #0x1f
|
|
ldrh r2, [r2, #0x22]
|
|
ldr r0, _021ED494 ; =ov101_021F7EEC
|
|
bl sub_020253F0
|
|
cmp r5, r0
|
|
beq _021ED478
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
eor r1, r5
|
|
bl ov101_021ECA84
|
|
_021ED478:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021ED480: .word gSystem + 0x40
|
|
_021ED484: .word ov101_021F7ECC
|
|
_021ED488: .word 0x00000139
|
|
_021ED48C: .word 0x00000946
|
|
_021ED490: .word 0x00000948
|
|
_021ED494: .word ov101_021F7EEC
|
|
thumb_func_end ov101_021ED2C0
|
|
|
|
thumb_func_start ov101_021ED498
|
|
ov101_021ED498: ; 0x021ED498
|
|
mov r1, #0
|
|
strb r1, [r0, #0x13]
|
|
mov r1, #0xff
|
|
strb r1, [r0, #0x12]
|
|
ldrb r1, [r0, #0x12]
|
|
ldr r3, _021ED4AC ; =sub_0202F3DC
|
|
strb r1, [r0, #0x11]
|
|
strb r1, [r0, #0x10]
|
|
bx r3
|
|
nop
|
|
_021ED4AC: .word sub_0202F3DC
|
|
thumb_func_end ov101_021ED498
|
|
|
|
thumb_func_start ov101_021ED4B0
|
|
ov101_021ED4B0: ; 0x021ED4B0
|
|
push {r3, r4}
|
|
ldr r3, _021ED4DC ; =0x0000022B
|
|
mov r4, #0
|
|
mov r2, #0x14
|
|
_021ED4B8:
|
|
add r1, r4, #0
|
|
mul r1, r2
|
|
add r1, r0, r1
|
|
ldrb r1, [r1, r3]
|
|
cmp r1, #0
|
|
bne _021ED4CA
|
|
add r0, r4, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021ED4CA:
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r4, r1, #0x18
|
|
cmp r4, #0x64
|
|
blo _021ED4B8
|
|
mov r0, #0xff
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_021ED4DC: .word 0x0000022B
|
|
thumb_func_end ov101_021ED4B0
|
|
|
|
thumb_func_start ov101_021ED4E0
|
|
ov101_021ED4E0: ; 0x021ED4E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EDF4
|
|
str r0, [sp]
|
|
ldr r0, _021ED5A0 ; =0x000009F1
|
|
mov r1, #0xff
|
|
strb r1, [r5, r0]
|
|
ldrb r1, [r5, r0]
|
|
sub r0, r0, #1
|
|
mov r4, #0
|
|
strb r1, [r5, r0]
|
|
mov r0, #0x86
|
|
lsl r0, r0, #2
|
|
add r6, r5, r0
|
|
mov r7, #0x14
|
|
_021ED506:
|
|
add r0, r4, #0
|
|
mul r0, r7
|
|
add r0, r6, r0
|
|
bl ov101_021ED498
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r4, #0x64
|
|
blo _021ED506
|
|
mov r0, #0x86
|
|
lsl r0, r0, #2
|
|
mov r6, #0
|
|
add r0, r5, r0
|
|
add r7, r6, #0
|
|
str r0, [sp, #4]
|
|
_021ED526:
|
|
ldr r0, [sp]
|
|
add r1, r7, #0
|
|
bl sub_0202F4E8
|
|
cmp r0, #0
|
|
beq _021ED596
|
|
mov r0, #0x14
|
|
add r1, r6, #0
|
|
mul r1, r0
|
|
ldr r0, [sp, #4]
|
|
add r2, r7, #0
|
|
add r4, r0, r1
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl sub_0202F514
|
|
strb r6, [r4, #0x10]
|
|
mov r0, #1
|
|
strb r0, [r4, #0x13]
|
|
mov r0, #0x9f
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0xff
|
|
bne _021ED56A
|
|
ldrb r1, [r4, #0x10]
|
|
mov r0, #0x9f
|
|
lsl r0, r0, #4
|
|
strb r1, [r5, r0]
|
|
ldrb r1, [r4, #0x10]
|
|
add r0, r0, #1
|
|
strb r1, [r5, r0]
|
|
mov r0, #0xff
|
|
strb r0, [r4, #0x11]
|
|
b _021ED586
|
|
_021ED56A:
|
|
ldr r0, _021ED5A0 ; =0x000009F1
|
|
ldr r1, _021ED5A0 ; =0x000009F1
|
|
ldrb r0, [r5, r0]
|
|
strb r0, [r4, #0x11]
|
|
ldrb r2, [r5, r1]
|
|
mov r1, #0x14
|
|
ldrb r0, [r4, #0x10]
|
|
mul r1, r2
|
|
add r2, r5, r1
|
|
ldr r1, _021ED5A4 ; =0x0000022A
|
|
strb r0, [r2, r1]
|
|
ldrb r1, [r4, #0x10]
|
|
ldr r0, _021ED5A0 ; =0x000009F1
|
|
strb r1, [r5, r0]
|
|
_021ED586:
|
|
add r0, r6, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
add r0, r7, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
cmp r7, #0x64
|
|
blo _021ED526
|
|
_021ED596:
|
|
ldr r0, _021ED5A8 ; =0x000009F2
|
|
strb r6, [r5, r0]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021ED5A0: .word 0x000009F1
|
|
_021ED5A4: .word 0x0000022A
|
|
_021ED5A8: .word 0x000009F2
|
|
thumb_func_end ov101_021ED4E0
|
|
|
|
thumb_func_start ov101_021ED5AC
|
|
ov101_021ED5AC: ; 0x021ED5AC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r7, #0x10]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EDF4
|
|
add r6, r0, #0
|
|
mov r0, #0x9f
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r7, r0]
|
|
mov r5, #0
|
|
cmp r0, #0xff
|
|
beq _021ED5EE
|
|
mov r1, #0x86
|
|
lsl r1, r1, #2
|
|
add r1, r7, r1
|
|
str r1, [sp]
|
|
_021ED5CE:
|
|
mov r1, #0x14
|
|
mul r1, r0
|
|
ldr r0, [sp]
|
|
add r2, r5, #0
|
|
add r4, r0, r1
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #1
|
|
bl sub_0202F53C
|
|
ldrb r0, [r4, #0x12]
|
|
cmp r0, #0xff
|
|
bne _021ED5CE
|
|
_021ED5EE:
|
|
ldr r0, _021ED610 ; =0x000009F2
|
|
ldrb r0, [r7, r0]
|
|
cmp r5, r0
|
|
bhs _021ED60C
|
|
ldr r4, _021ED610 ; =0x000009F2
|
|
_021ED5F8:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl sub_0202F500
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
ldrb r0, [r7, r4]
|
|
cmp r5, r0
|
|
blo _021ED5F8
|
|
_021ED60C:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021ED610: .word 0x000009F2
|
|
thumb_func_end ov101_021ED5AC
|
|
|
|
thumb_func_start ov101_021ED614
|
|
ov101_021ED614: ; 0x021ED614
|
|
push {r4, r5}
|
|
cmp r1, #0
|
|
bgt _021ED620
|
|
mov r0, #0
|
|
pop {r4, r5}
|
|
bx lr
|
|
_021ED620:
|
|
mov r2, #0x9f
|
|
lsl r2, r2, #4
|
|
ldrb r5, [r0, r2]
|
|
cmp r5, #0xff
|
|
beq _021ED644
|
|
mov r2, #0x86
|
|
lsl r2, r2, #2
|
|
add r4, r0, r2
|
|
mov r2, #0x14
|
|
_021ED632:
|
|
add r3, r5, #0
|
|
mul r3, r2
|
|
add r0, r4, r3
|
|
ldr r3, [r4, r3]
|
|
cmp r3, r1
|
|
beq _021ED646
|
|
ldrb r5, [r0, #0x12]
|
|
cmp r5, #0xff
|
|
bne _021ED632
|
|
_021ED644:
|
|
mov r0, #0
|
|
_021ED646:
|
|
pop {r4, r5}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021ED614
|
|
|
|
thumb_func_start ov101_021ED64C
|
|
ov101_021ED64C: ; 0x021ED64C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov101_021ED614
|
|
cmp r0, #0
|
|
bne _021ED6B6
|
|
add r0, r5, #0
|
|
bl ov101_021ED4B0
|
|
cmp r0, #0xff
|
|
bne _021ED66C
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021ED66C:
|
|
mov r1, #0x86
|
|
lsl r1, r1, #2
|
|
mov r3, #0x14
|
|
add r7, r0, #0
|
|
add r2, r5, r1
|
|
mul r7, r3
|
|
add r3, r2, r7
|
|
strb r0, [r3, #0x10]
|
|
mov r6, #1
|
|
strb r6, [r3, #0x13]
|
|
str r4, [r2, r7]
|
|
mov r2, #0x9f
|
|
lsl r2, r2, #4
|
|
ldrb r4, [r5, r2]
|
|
cmp r4, #0xff
|
|
bne _021ED69C
|
|
add r1, r2, #1
|
|
strb r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldrb r0, [r5, r0]
|
|
strb r0, [r5, r2]
|
|
mov r0, #0xff
|
|
strb r0, [r3, #0x11]
|
|
b _021ED6B4
|
|
_021ED69C:
|
|
add r4, r2, #1
|
|
ldrb r6, [r5, r4]
|
|
mov r4, #0x14
|
|
add r1, #0x12
|
|
mul r4, r6
|
|
add r4, r5, r4
|
|
strb r0, [r4, r1]
|
|
add r1, r2, #1
|
|
ldrb r1, [r5, r1]
|
|
strb r1, [r3, #0x11]
|
|
add r1, r2, #1
|
|
strb r0, [r5, r1]
|
|
_021ED6B4:
|
|
add r0, r3, #0
|
|
_021ED6B6:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021ED64C
|
|
|
|
thumb_func_start ov101_021ED6B8
|
|
ov101_021ED6B8: ; 0x021ED6B8
|
|
push {r4, r5, r6, lr}
|
|
add r3, r1, #0
|
|
bne _021ED6C2
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021ED6C2:
|
|
mov r1, #0x9f
|
|
lsl r1, r1, #4
|
|
ldrb r4, [r3, #0x10]
|
|
ldrb r2, [r0, r1]
|
|
cmp r4, r2
|
|
bne _021ED6FE
|
|
ldrb r5, [r3, #0x12]
|
|
cmp r5, #0xff
|
|
bne _021ED6E0
|
|
mov r4, #0xff
|
|
add r2, r1, #1
|
|
strb r4, [r0, r2]
|
|
ldrb r2, [r0, r2]
|
|
strb r2, [r0, r1]
|
|
b _021ED742
|
|
_021ED6E0:
|
|
mov r4, #0x14
|
|
add r2, r5, #0
|
|
mul r2, r4
|
|
add r5, r0, r2
|
|
mov r2, #0x8a
|
|
lsl r2, r2, #2
|
|
ldrb r5, [r5, r2]
|
|
strb r5, [r0, r1]
|
|
ldrb r5, [r3, #0x12]
|
|
mov r1, #0xff
|
|
mul r4, r5
|
|
add r4, r0, r4
|
|
add r0, r2, #1
|
|
strb r1, [r4, r0]
|
|
b _021ED742
|
|
_021ED6FE:
|
|
add r2, r1, #1
|
|
ldrb r2, [r0, r2]
|
|
cmp r4, r2
|
|
bne _021ED726
|
|
ldrb r4, [r3, #0x11]
|
|
mov r5, #0x14
|
|
mov r2, #0xff
|
|
add r6, r4, #0
|
|
mul r6, r5
|
|
ldr r4, _021ED74C ; =0x0000022A
|
|
add r6, r0, r6
|
|
strb r2, [r6, r4]
|
|
ldrb r2, [r3, #0x11]
|
|
add r1, r1, #1
|
|
mul r5, r2
|
|
add r5, r0, r5
|
|
sub r2, r4, #2
|
|
ldrb r2, [r5, r2]
|
|
strb r2, [r0, r1]
|
|
b _021ED742
|
|
_021ED726:
|
|
ldrb r2, [r3, #0x11]
|
|
ldrb r1, [r3, #0x12]
|
|
mov r4, #0x14
|
|
add r5, r2, #0
|
|
mul r5, r4
|
|
ldr r2, _021ED74C ; =0x0000022A
|
|
add r5, r0, r5
|
|
strb r1, [r5, r2]
|
|
ldrb r5, [r3, #0x12]
|
|
ldrb r1, [r3, #0x11]
|
|
mul r4, r5
|
|
add r4, r0, r4
|
|
sub r0, r2, #1
|
|
strb r1, [r4, r0]
|
|
_021ED742:
|
|
add r0, r3, #0
|
|
bl ov101_021ED498
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021ED74C: .word 0x0000022A
|
|
thumb_func_end ov101_021ED6B8
|
|
|
|
thumb_func_start ov101_021ED750
|
|
ov101_021ED750: ; 0x021ED750
|
|
cmp r0, #0
|
|
bne _021ED758
|
|
mov r0, #0
|
|
bx lr
|
|
_021ED758:
|
|
add r0, r0, r1
|
|
strb r2, [r0, #4]
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov101_021ED750
|
|
|
|
thumb_func_start ov101_021ED760
|
|
ov101_021ED760: ; 0x021ED760
|
|
push {r3, lr}
|
|
cmp r0, #0
|
|
bne _021ED76A
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_021ED76A:
|
|
mov r2, #0xf
|
|
add r1, r0, r1
|
|
strb r2, [r1, #4]
|
|
bl sub_0202F400
|
|
cmp r0, #0
|
|
beq _021ED77C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021ED77C:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov101_021ED760
|
|
|
|
thumb_func_start ov101_021ED780
|
|
ov101_021ED780: ; 0x021ED780
|
|
push {r3, r4}
|
|
cmp r0, #0
|
|
bne _021ED78C
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021ED78C:
|
|
add r4, r0, #4
|
|
ldrb r3, [r4, r1]
|
|
ldrb r0, [r4, r2]
|
|
strb r0, [r4, r1]
|
|
strb r3, [r4, r2]
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov101_021ED780
|
|
|
|
thumb_func_start ov101_021ED79C
|
|
ov101_021ED79C: ; 0x021ED79C
|
|
cmp r0, #0
|
|
bne _021ED7A4
|
|
mov r0, #0
|
|
bx lr
|
|
_021ED7A4:
|
|
lsl r1, r1, #1
|
|
add r0, r0, r1
|
|
strh r2, [r0, #8]
|
|
mov r0, #1
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021ED79C
|
|
|
|
thumb_func_start ov101_021ED7B0
|
|
ov101_021ED7B0: ; 0x021ED7B0
|
|
push {r3, lr}
|
|
cmp r0, #0
|
|
bne _021ED7BA
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_021ED7BA:
|
|
lsl r1, r1, #1
|
|
ldr r2, _021ED7D4 ; =0x0000FFFF
|
|
add r1, r0, r1
|
|
strh r2, [r1, #8]
|
|
bl sub_0202F400
|
|
cmp r0, #0
|
|
beq _021ED7CE
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021ED7CE:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
nop
|
|
_021ED7D4: .word 0x0000FFFF
|
|
thumb_func_end ov101_021ED7B0
|
|
|
|
thumb_func_start ov101_021ED7D8
|
|
ov101_021ED7D8: ; 0x021ED7D8
|
|
push {r3, r4}
|
|
cmp r0, #0
|
|
bne _021ED7E4
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021ED7E4:
|
|
add r0, #8
|
|
lsl r4, r1, #1
|
|
lsl r2, r2, #1
|
|
ldrh r3, [r0, r4]
|
|
ldrh r1, [r0, r2]
|
|
strh r1, [r0, r4]
|
|
strh r3, [r0, r2]
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov101_021ED7D8
|
|
|
|
thumb_func_start ov101_TownMap_OvyInit
|
|
ov101_TownMap_OvyInit: ; 0x021ED7F8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetArgs
|
|
add r5, r0, #0
|
|
ldr r0, _021ED8A4 ; =FS_OVERLAY_ID(OVY_100)
|
|
mov r1, #2
|
|
bl HandleLoadOverlay
|
|
ldr r0, _021ED8A8 ; =FS_OVERLAY_ID(OVY_26)
|
|
mov r1, #2
|
|
bl HandleLoadOverlay
|
|
mov r2, #1
|
|
mov r0, #3
|
|
mov r1, #0x5b
|
|
lsl r2, r2, #0x12
|
|
bl CreateHeap
|
|
ldr r1, _021ED8AC ; =0x000009F4
|
|
add r0, r4, #0
|
|
mov r2, #0x5b
|
|
bl OverlayManager_CreateAndGetData
|
|
ldr r2, _021ED8AC ; =0x000009F4
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0x5b
|
|
mov r1, #0xcc
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0xcc
|
|
str r0, [r4, #0x10]
|
|
bl memset
|
|
mov r1, #0x5b
|
|
str r1, [r4]
|
|
ldr r0, [r4, #0x10]
|
|
str r1, [r0]
|
|
ldr r0, [r4, #0x10]
|
|
str r5, [r0, #0x20]
|
|
ldr r1, [r4, #0x10]
|
|
ldr r0, [r1, #0x20]
|
|
ldr r0, [r0, #0x24]
|
|
str r0, [r1, #0x24]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x24]
|
|
bl SaveData_GSPlayerMisc_get
|
|
ldr r1, [r4, #0x10]
|
|
str r0, [r1, #0x28]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x24]
|
|
bl SaveArray_Flags_get
|
|
ldr r1, [r4, #0x10]
|
|
str r0, [r1, #0x2c]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x24]
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
ldr r1, [r4, #0x10]
|
|
str r0, [r1, #0x30]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x24]
|
|
bl Save_PlayerData_GetProfileAddr
|
|
ldr r1, [r4, #0x10]
|
|
str r0, [r1, #0x34]
|
|
add r0, r4, #0
|
|
bl ov101_021ED980
|
|
mov r0, #0x85
|
|
ldr r1, _021ED8B0 ; =ov101_021F7372
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r1, #0x64
|
|
add r0, r1, #0
|
|
add r0, #0xd2
|
|
strb r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021ED8A4: .word FS_OVERLAY_ID(OVY_100)
|
|
_021ED8A8: .word FS_OVERLAY_ID(OVY_26)
|
|
_021ED8AC: .word 0x000009F4
|
|
_021ED8B0: .word ov101_021F7372
|
|
thumb_func_end ov101_TownMap_OvyInit
|
|
|
|
thumb_func_start ov101_TownMap_OvyExec
|
|
ov101_TownMap_OvyExec: ; 0x021ED8B4
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r4]
|
|
cmp r1, #0xd
|
|
bhi _021ED91E
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021ED8CE: ; jump table
|
|
.short _021ED8EA - _021ED8CE - 2 ; case 0
|
|
.short _021ED8F2 - _021ED8CE - 2 ; case 1
|
|
.short _021ED8FA - _021ED8CE - 2 ; case 2
|
|
.short _021ED91E - _021ED8CE - 2 ; case 3
|
|
.short _021ED90A - _021ED8CE - 2 ; case 4
|
|
.short _021ED912 - _021ED8CE - 2 ; case 5
|
|
.short _021ED91E - _021ED8CE - 2 ; case 6
|
|
.short _021ED91E - _021ED8CE - 2 ; case 7
|
|
.short _021ED91E - _021ED8CE - 2 ; case 8
|
|
.short _021ED91E - _021ED8CE - 2 ; case 9
|
|
.short _021ED91E - _021ED8CE - 2 ; case 10
|
|
.short _021ED91E - _021ED8CE - 2 ; case 11
|
|
.short _021ED902 - _021ED8CE - 2 ; case 12
|
|
.short _021ED91A - _021ED8CE - 2 ; case 13
|
|
_021ED8EA:
|
|
bl ov101_021EDB1C
|
|
str r0, [r4]
|
|
b _021ED91E
|
|
_021ED8F2:
|
|
bl ov101_021EDB30
|
|
str r0, [r4]
|
|
b _021ED91E
|
|
_021ED8FA:
|
|
bl ov101_021EDBD4
|
|
str r0, [r4]
|
|
b _021ED91E
|
|
_021ED902:
|
|
bl ov101_021EDBFC
|
|
str r0, [r4]
|
|
b _021ED91E
|
|
_021ED90A:
|
|
bl ov101_021EDC04
|
|
str r0, [r4]
|
|
b _021ED91E
|
|
_021ED912:
|
|
bl ov101_021EDC70
|
|
str r0, [r4]
|
|
b _021ED91E
|
|
_021ED91A:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021ED91E:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_TownMap_OvyExec
|
|
|
|
thumb_func_start ov101_TownMap_OvyExit
|
|
ov101_TownMap_OvyExit: ; 0x021ED924
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov101_021EDAF8
|
|
ldr r0, [r4, #0x38]
|
|
bl MapMatrix_MapData_Free
|
|
ldr r2, [r4, #0x10]
|
|
ldr r0, [r2, #0x1c]
|
|
cmp r0, #6
|
|
beq _021ED948
|
|
ldrb r1, [r2, #5]
|
|
mov r0, #0x80
|
|
orr r0, r1
|
|
strb r0, [r2, #5]
|
|
_021ED948:
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
mov r2, #0xcc
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x10]
|
|
bl FreeToHeap
|
|
ldr r4, [r4]
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
add r0, r4, #0
|
|
bl DestroyHeap
|
|
ldr r0, _021ED978 ; =FS_OVERLAY_ID(OVY_26)
|
|
bl UnloadOverlayByID
|
|
ldr r0, _021ED97C ; =FS_OVERLAY_ID(OVY_100)
|
|
bl UnloadOverlayByID
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021ED978: .word FS_OVERLAY_ID(OVY_26)
|
|
_021ED97C: .word FS_OVERLAY_ID(OVY_100)
|
|
thumb_func_end ov101_TownMap_OvyExit
|
|
|
|
thumb_func_start ov101_021ED980
|
|
ov101_021ED980: ; 0x021ED980
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x10]
|
|
str r4, [r1, #0x64]
|
|
ldr r2, [r4, #0x10]
|
|
ldr r1, [r2, #0x20]
|
|
ldrb r1, [r1, #1]
|
|
str r1, [r2, #0xc]
|
|
ldr r1, [r4, #0x10]
|
|
ldr r2, _021EDAE8 ; =ov101_021EB338
|
|
ldr r1, [r1, #0x20]
|
|
ldrb r1, [r1]
|
|
add r1, r1, #1
|
|
strb r1, [r4, #0xd]
|
|
ldr r1, [r4, #0x10]
|
|
str r2, [r1, #0x5c]
|
|
ldr r2, _021EDAEC ; =ov101_021EB2FC
|
|
ldr r1, [r4, #0x10]
|
|
str r2, [r1, #0x60]
|
|
bl ov101_021ED4E0
|
|
mov r1, #0x4e
|
|
lsl r1, r1, #2
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0x10
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
ldrb r2, [r4, r1]
|
|
mov r0, #0xe
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EE70
|
|
mov r2, #0x4e
|
|
lsl r2, r2, #2
|
|
lsl r0, r0, #0x1e
|
|
ldrb r3, [r4, r2]
|
|
mov r1, #0x60
|
|
lsr r0, r0, #0x19
|
|
bic r3, r1
|
|
orr r0, r3
|
|
strb r0, [r4, r2]
|
|
ldr r0, [r4]
|
|
bl MapMatrix_MapData_New
|
|
str r0, [r4, #0x38]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x24]
|
|
bl SaveData_GetMomsSavingsAddr
|
|
mov r1, #0x49
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
bl AllocAndReadPhoneBook
|
|
mov r1, #0x4a
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, [r4]
|
|
ldr r0, [r0, #0x28]
|
|
bl GSPlayerMisc_AllocAndCopyPhonebook
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x28]
|
|
bl GSPlayerMisc_FindEmptyGearPhonebookSlot
|
|
mov r2, #0x13
|
|
lsl r2, r2, #4
|
|
strb r0, [r4, r2]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
add r0, #0x22
|
|
ldrb r1, [r0]
|
|
add r0, r2, #0
|
|
sub r0, #0x28
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
add r0, #0x23
|
|
ldrb r0, [r0]
|
|
add r1, r0, #2
|
|
add r0, r2, #0
|
|
sub r0, #0x26
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
ldrh r1, [r0, #0x10]
|
|
add r0, r2, #0
|
|
sub r0, #0x24
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
ldrb r1, [r0, #7]
|
|
add r0, r2, #0
|
|
sub r0, #0x22
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
add r0, #0x22
|
|
ldrb r1, [r0]
|
|
add r0, r2, #0
|
|
sub r0, #0x20
|
|
strh r1, [r4, r0]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x20]
|
|
add r0, #0x23
|
|
ldrb r0, [r0]
|
|
add r1, r0, #2
|
|
add r0, r2, #0
|
|
sub r0, #0x1e
|
|
strh r1, [r4, r0]
|
|
mov r1, #1
|
|
add r0, r1, #0
|
|
add r0, #0xff
|
|
strh r1, [r4, r0]
|
|
add r0, r2, #0
|
|
sub r0, #0x2c
|
|
strh r1, [r4, r0]
|
|
add r0, r2, #0
|
|
add r0, #8
|
|
ldrb r0, [r4, r0]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x1e
|
|
lsl r1, r0, #1
|
|
ldr r0, _021EDAF0 ; =ov101_021F7F3C
|
|
ldrh r1, [r0, r1]
|
|
add r0, r2, #0
|
|
sub r0, #0x2e
|
|
strh r1, [r4, r0]
|
|
mov r1, #0x11
|
|
add r0, r1, #0
|
|
add r0, #0xf5
|
|
strh r1, [r4, r0]
|
|
mov r1, #0x20
|
|
add r0, r2, #2
|
|
strb r1, [r4, r0]
|
|
mov r1, #8
|
|
add r0, r2, #1
|
|
strb r1, [r4, r0]
|
|
mov r1, #0
|
|
add r0, r2, #3
|
|
strb r1, [r4, r0]
|
|
sub r1, #0x18
|
|
add r0, r2, #4
|
|
strb r1, [r4, r0]
|
|
add r0, r2, #0
|
|
add r0, #0xd
|
|
ldrb r0, [r4, r0]
|
|
mov r1, #2
|
|
add r2, #0xd
|
|
orr r0, r1
|
|
strb r0, [r4, r2]
|
|
ldr r0, [r4, #0x10]
|
|
mov r2, #0xf
|
|
ldr r0, [r0, #0x2c]
|
|
bl ScriptState_FlypointFlagAction
|
|
ldr r3, _021EDAF4 ; =0x0000013D
|
|
mov r2, #1
|
|
ldrb r1, [r4, r3]
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #1
|
|
and r0, r2
|
|
orr r0, r1
|
|
strb r0, [r4, r3]
|
|
ldr r0, [r4, #0x10]
|
|
bl ov100_021E5C80
|
|
strb r0, [r4, #0xe]
|
|
pop {r4, pc}
|
|
nop
|
|
_021EDAE8: .word ov101_021EB338
|
|
_021EDAEC: .word ov101_021EB2FC
|
|
_021EDAF0: .word ov101_021F7F3C
|
|
_021EDAF4: .word 0x0000013D
|
|
thumb_func_end ov101_021ED980
|
|
|
|
thumb_func_start ov101_021EDAF8
|
|
ov101_021EDAF8: ; 0x021EDAF8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x4a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreePhoneBook
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
str r1, [r0, #0x5c]
|
|
ldr r0, [r4, #0x10]
|
|
str r1, [r0, #0x60]
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EDAF8
|
|
|
|
thumb_func_start ov101_021EDB1C
|
|
ov101_021EDB1C: ; 0x021EDB1C
|
|
push {r3, lr}
|
|
bl ov101_021EDCE0
|
|
cmp r0, #0
|
|
beq _021EDB2A
|
|
mov r0, #4
|
|
pop {r3, pc}
|
|
_021EDB2A:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EDB1C
|
|
|
|
thumb_func_start ov101_021EDB30
|
|
ov101_021EDB30: ; 0x021EDB30
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r1, _021EDBC8 ; =0x00000139
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, r1]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1f
|
|
bne _021EDB4C
|
|
add r1, sp, #0
|
|
bl ov101_021EBC1C
|
|
b _021EDB54
|
|
_021EDB4C:
|
|
bl ov101_021EC0AC
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
_021EDB54:
|
|
ldr r1, [sp]
|
|
cmp r1, #0
|
|
beq _021EDB84
|
|
ldr r1, [r4, #0x10]
|
|
mov r2, #1
|
|
str r2, [r1, #0xc]
|
|
ldr r1, [r4, #0x10]
|
|
str r0, [r1, #0x1c]
|
|
sub r1, r2, #2
|
|
cmp r0, r1
|
|
beq _021EDB7E
|
|
cmp r0, #4
|
|
beq _021EDB78
|
|
cmp r0, #8
|
|
bne _021EDB7E
|
|
add sp, #4
|
|
mov r0, #0xc
|
|
pop {r3, r4, pc}
|
|
_021EDB78:
|
|
add sp, #4
|
|
mov r0, #5
|
|
pop {r3, r4, pc}
|
|
_021EDB7E:
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_021EDB84:
|
|
ldr r0, _021EDBCC ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
ldr r0, _021EDBD0 ; =0x00000CF3
|
|
tst r0, r1
|
|
beq _021EDB94
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
_021EDB94:
|
|
add r0, r4, #0
|
|
bl ov101_021EB94C
|
|
ldr r1, [r4, #0x10]
|
|
str r0, [r1, #0x1c]
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021EDBBA
|
|
cmp r0, #4
|
|
beq _021EDBB4
|
|
cmp r0, #8
|
|
bne _021EDBBA
|
|
add sp, #4
|
|
mov r0, #0xc
|
|
pop {r3, r4, pc}
|
|
_021EDBB4:
|
|
add sp, #4
|
|
mov r0, #5
|
|
pop {r3, r4, pc}
|
|
_021EDBBA:
|
|
add r0, r4, #0
|
|
bl ov101_021EC304
|
|
mov r0, #1
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021EDBC8: .word 0x00000139
|
|
_021EDBCC: .word gSystem
|
|
_021EDBD0: .word 0x00000CF3
|
|
thumb_func_end ov101_021EDB30
|
|
|
|
thumb_func_start ov101_021EDBD4
|
|
ov101_021EDBD4: ; 0x021EDBD4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021EDDB0
|
|
cmp r0, #0
|
|
bne _021EDBE4
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_021EDBE4:
|
|
ldr r2, [r4, #0x10]
|
|
add r4, #0x14
|
|
add r2, #0x3c
|
|
mov r1, #0xe
|
|
_021EDBEC:
|
|
ldrh r0, [r4]
|
|
add r4, r4, #2
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
sub r1, r1, #1
|
|
bne _021EDBEC
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EDBD4
|
|
|
|
thumb_func_start ov101_021EDBFC
|
|
ov101_021EDBFC: ; 0x021EDBFC
|
|
ldr r3, _021EDC00 ; =ov101_021EDDF4
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EDC00: .word ov101_021EDDF4
|
|
thumb_func_end ov101_021EDBFC
|
|
|
|
thumb_func_start ov101_021EDC04
|
|
ov101_021EDC04: ; 0x021EDC04
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021EDC16
|
|
cmp r0, #1
|
|
beq _021EDC58
|
|
b _021EDC6A
|
|
_021EDC16:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021EDC30:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021EDC30
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EDC6A
|
|
_021EDC58:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021EDC6A
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EDC6A:
|
|
mov r0, #4
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov101_021EDC04
|
|
|
|
thumb_func_start ov101_021EDC70
|
|
ov101_021EDC70: ; 0x021EDC70
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021EDC82
|
|
cmp r0, #1
|
|
beq _021EDCA2
|
|
b _021EDCD8
|
|
_021EDC82:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EDCD8
|
|
_021EDCA2:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021EDCD8
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
_021EDCAE:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021EDCAE
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0xc
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EDCD8:
|
|
mov r0, #5
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EDC70
|
|
|
|
thumb_func_start ov101_021EDCE0
|
|
ov101_021EDCE0: ; 0x021EDCE0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021EDD94
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021EDCF6: ; jump table
|
|
.short _021EDD00 - _021EDCF6 - 2 ; case 0
|
|
.short _021EDD94 - _021EDCF6 - 2 ; case 1
|
|
.short _021EDD50 - _021EDCF6 - 2 ; case 2
|
|
.short _021EDD68 - _021EDCF6 - 2 ; case 3
|
|
.short _021EDD7A - _021EDCF6 - 2 ; case 4
|
|
_021EDD00:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
bl HBlankInterruptDisable
|
|
bl GX_DisableEngineALayers
|
|
bl GX_DisableEngineBLayers
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _021EDDA0 ; =0xFFFFE0FF
|
|
and r1, r0
|
|
str r1, [r2]
|
|
ldr r2, _021EDDA4 ; =0x04001000
|
|
ldr r1, [r2]
|
|
and r0, r1
|
|
str r0, [r2]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #0
|
|
bl sub_0200FBDC
|
|
mov r0, #1
|
|
bl sub_0200FBDC
|
|
bl sub_020210BC
|
|
mov r0, #2
|
|
bl sub_02021148
|
|
b _021EDD94
|
|
_021EDD50:
|
|
bl ov101_021EDE4C
|
|
add r0, r4, #0
|
|
bl ov101_021EDFF8
|
|
add r0, r4, #0
|
|
bl ov101_021EE1C4
|
|
add r0, r4, #0
|
|
bl ov101_021EE230
|
|
b _021EDD94
|
|
_021EDD68:
|
|
bl ov101_021EE394
|
|
add r0, r4, #0
|
|
bl ov101_021EE410
|
|
add r0, r4, #0
|
|
bl ov101_021EE350
|
|
b _021EDD94
|
|
_021EDD7A:
|
|
bl ov101_021EE670
|
|
ldr r0, _021EDDA8 ; =ov100_021E65F4
|
|
ldr r1, [r4, #0x10]
|
|
bl Main_SetVBlankIntrCB
|
|
ldr r1, _021EDDAC ; =ov101_021E9270
|
|
ldr r0, [r4, #0x10]
|
|
str r1, [r0, #0x58]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EDD94:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_021EDDA0: .word 0xFFFFE0FF
|
|
_021EDDA4: .word 0x04001000
|
|
_021EDDA8: .word ov100_021E65F4
|
|
_021EDDAC: .word ov101_021E9270
|
|
thumb_func_end ov101_021EDCE0
|
|
|
|
thumb_func_start ov101_021EDDB0
|
|
ov101_021EDDB0: ; 0x021EDDB0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x10]
|
|
mov r2, #0
|
|
str r2, [r1, #0x58]
|
|
bl ov101_021EE380
|
|
add r0, r4, #0
|
|
bl ov101_021EE664
|
|
add r0, r4, #0
|
|
bl ov101_021EE3D8
|
|
add r0, r4, #0
|
|
bl ov101_021EE2E8
|
|
add r0, r4, #0
|
|
bl ov101_021EE210
|
|
add r0, r4, #0
|
|
bl ov101_021EE190
|
|
add r0, r4, #0
|
|
bl ov101_021EDF54
|
|
bl sub_02021238
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EDDB0
|
|
|
|
thumb_func_start ov101_021EDDF4
|
|
ov101_021EDDF4: ; 0x021EDDF4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
bl sub_020186A4
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _021EDE46
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
add r1, r0, #0
|
|
add r1, #0x27
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x18
|
|
lsr r4, r1, #0x19
|
|
bl sub_02018680
|
|
ldr r1, [r5, #0x10]
|
|
ldr r0, [r1, #0xc]
|
|
cmp r4, r0
|
|
beq _021EDE28
|
|
str r4, [r1, #0xc]
|
|
_021EDE28:
|
|
cmp r6, #0
|
|
bne _021EDE38
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x20]
|
|
str r1, [r0, #0x14]
|
|
mov r0, #5
|
|
pop {r4, r5, r6, pc}
|
|
_021EDE38:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl ov101_021EB4C4
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021EDE46:
|
|
mov r0, #0xc
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EDDF4
|
|
|
|
thumb_func_start ov101_021EDE4C
|
|
ov101_021EDE4C: ; 0x021EDE4C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0xf0
|
|
add r5, r0, #0
|
|
bl ov100_021E5FDC
|
|
ldr r0, [r5]
|
|
bl BgConfig_Alloc
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021EDF44 ; =0x04000304
|
|
str r0, [r1, #0x74]
|
|
ldrh r1, [r2]
|
|
ldr r0, _021EDF48 ; =0xFFFF7FFF
|
|
ldr r4, _021EDF4C ; =ov101_021F7F44
|
|
and r0, r1
|
|
strh r0, [r2]
|
|
add r3, sp, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r4, _021EDF50 ; =ov101_021F7F9C
|
|
add r3, sp, #0x10
|
|
mov r2, #0x1c
|
|
_021EDE84:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021EDE84
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x10
|
|
add r3, r1, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x2c
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x48
|
|
add r3, r1, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x64
|
|
mov r3, #2
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #4
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x80
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x9c
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0xb8
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0xd4
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
mov r0, #0xf
|
|
mov r1, #0
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0xf
|
|
mov r1, #0
|
|
bl GX_EngineBToggleLayers
|
|
mov r4, #0
|
|
mov r6, #0x20
|
|
add r7, r4, #0
|
|
_021EDF12:
|
|
ldr r0, [r5, #0x10]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
lsl r0, r4, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r5, #0x10]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021EDF12
|
|
add sp, #0xf0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EDF44: .word 0x04000304
|
|
_021EDF48: .word 0xFFFF7FFF
|
|
_021EDF4C: .word ov101_021F7F44
|
|
_021EDF50: .word ov101_021F7F9C
|
|
thumb_func_end ov101_021EDE4C
|
|
|
|
thumb_func_start ov101_021EDF54
|
|
ov101_021EDF54: ; 0x021EDF54
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r1, #7
|
|
ldr r3, [r4]
|
|
mov r0, #1
|
|
lsl r1, r1, #6
|
|
mov r2, #0
|
|
bl BG_LoadBlankPltt
|
|
mov r1, #6
|
|
ldr r3, [r4]
|
|
mov r0, #5
|
|
lsl r1, r1, #6
|
|
mov r2, #0
|
|
bl BG_LoadBlankPltt
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #4
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl FreeToHeap
|
|
ldr r2, _021EDFEC ; =0x04000304
|
|
ldr r0, _021EDFF0 ; =0xFFFF7FFF
|
|
ldrh r1, [r2]
|
|
and r0, r1
|
|
strh r0, [r2]
|
|
mov r1, #0
|
|
ldr r0, _021EDFF4 ; =0x04000050
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r1, [sp]
|
|
bl G2x_SetBlendAlpha_
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021EDFEC: .word 0x04000304
|
|
_021EDFF0: .word 0xFFFF7FFF
|
|
_021EDFF4: .word 0x04000050
|
|
thumb_func_end ov101_021EDF54
|
|
|
|
thumb_func_start ov101_021EDFF8
|
|
ov101_021EDFF8: ; 0x021EDFF8
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x90
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
mov r0, #0x42
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0x40
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0x44
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0x3f
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0x3e
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
mov r0, #0x41
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r4, #0
|
|
mov r3, #0x90
|
|
bl sub_0208820C
|
|
ldr r0, [r5]
|
|
mov r3, #0x5b
|
|
lsl r3, r3, #2
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x45
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r3, #0x55
|
|
lsl r3, r3, #2
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5]
|
|
add r3, #0x1c
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r3, #0x56
|
|
lsl r3, r3, #2
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5]
|
|
add r3, #0x1c
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r3, #0x57
|
|
lsl r3, r3, #2
|
|
str r0, [r5, r3]
|
|
ldr r0, [r5]
|
|
add r3, #0x1c
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
mov r1, #0x43
|
|
mov r2, #0
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #4
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r1, [r5]
|
|
mov r0, #4
|
|
bl FontID_Alloc
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov101_021EDFF8
|
|
|
|
thumb_func_start ov101_021EE190
|
|
ov101_021EE190: ; 0x021EE190
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #4
|
|
bl FontID_Release
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EE190
|
|
|
|
thumb_func_start ov101_021EE1C4
|
|
ov101_021EE1C4: ; 0x021EE1C4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r4, _021EE20C ; =ov101_021F7F54
|
|
mov r6, #0
|
|
add r5, r7, r0
|
|
_021EE1D4:
|
|
ldrb r0, [r4, #2]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
ldrb r0, [r4, #3]
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r4, #4]
|
|
str r0, [sp, #8]
|
|
ldrb r0, [r4, #5]
|
|
str r0, [sp, #0xc]
|
|
ldrh r0, [r4, #6]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #0x10]
|
|
ldrb r2, [r4]
|
|
ldrb r3, [r4, #1]
|
|
ldr r0, [r0, #0x74]
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #9
|
|
blt _021EE1D4
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EE20C: .word ov101_021F7F54
|
|
thumb_func_end ov101_021EE1C4
|
|
|
|
thumb_func_start ov101_021EE210
|
|
ov101_021EE210: ; 0x021EE210
|
|
push {r3, r4, r5, lr}
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
mov r4, #0
|
|
add r5, r0, r1
|
|
_021EE21A:
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #9
|
|
blt _021EE21A
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021EE210
|
|
|
|
thumb_func_start ov101_021EE230
|
|
ov101_021EE230: ; 0x021EE230
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0x1b
|
|
add r2, r1, #0
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
add r2, #0xf6
|
|
bl NewMsgDataFromNarc
|
|
add r1, r4, #0
|
|
add r1, #0x88
|
|
str r0, [r1]
|
|
ldr r2, [r4]
|
|
mov r0, #2
|
|
mov r1, #0x5b
|
|
bl MessageFormat_new_custom
|
|
add r1, r4, #0
|
|
add r1, #0x8c
|
|
str r0, [r1]
|
|
ldr r1, [r4]
|
|
mov r0, #0x5b
|
|
bl String_New
|
|
add r1, r4, #0
|
|
add r1, #0x90
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0x9c
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0xa0
|
|
str r0, [r1]
|
|
ldr r1, [r4]
|
|
mov r0, #0x28
|
|
bl String_New
|
|
add r1, r4, #0
|
|
add r1, #0xa4
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #4
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0xa8
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #5
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0xac
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #6
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0xb0
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #3
|
|
bl NewString_ReadMsgData
|
|
add r1, r4, #0
|
|
add r1, #0xb4
|
|
str r0, [r1]
|
|
mov r0, #2
|
|
add r4, #0xb8
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EE230
|
|
|
|
thumb_func_start ov101_021EE2E8
|
|
ov101_021EE2E8: ; 0x021EE2E8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xb4
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0xb0
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0xac
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0xa8
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0xa4
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0xa0
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0x9c
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
ldr r0, [r0]
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
bl MessageFormat_delete
|
|
add r4, #0x88
|
|
ldr r0, [r4]
|
|
bl DestroyMsgData
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EE2E8
|
|
|
|
thumb_func_start ov101_021EE350
|
|
ov101_021EE350: ; 0x021EE350
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r0, #2
|
|
bl ListMenuItems_ctor
|
|
add r1, r5, #0
|
|
add r1, #0xc0
|
|
str r0, [r1]
|
|
mov r4, #0
|
|
_021EE364:
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xc0
|
|
add r1, #0x88
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
add r2, r4, #7
|
|
add r3, r4, #0
|
|
bl ListMenuItems_AppendFromMsgData
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _021EE364
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021EE350
|
|
|
|
thumb_func_start ov101_021EE380
|
|
ov101_021EE380: ; 0x021EE380
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl ListMenuItems_dtor
|
|
mov r0, #0
|
|
add r4, #0xc0
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EE380
|
|
|
|
thumb_func_start ov101_021EE394
|
|
ov101_021EE394: ; 0x021EE394
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
bl ov100_021E6914
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #2
|
|
bl ov100_021E6978
|
|
ldr r1, [r4]
|
|
mov r0, #0x2a
|
|
bl ov100_021E6E20
|
|
add r1, r4, #0
|
|
add r1, #0x84
|
|
str r0, [r1]
|
|
ldr r0, [r4, #0x10]
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
bl sub_0200CF6C
|
|
mov r2, #0xf
|
|
mov r1, #0
|
|
lsl r2, r2, #0x10
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
ldr r1, [r4, #0x10]
|
|
ldr r0, [r4]
|
|
ldr r1, [r1, #0x78]
|
|
bl sub_02018424
|
|
add r4, #0xbc
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EE394
|
|
|
|
thumb_func_start ov101_021EE3D8
|
|
ov101_021EE3D8: ; 0x021EE3D8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
bl sub_02018474
|
|
ldr r0, [r4, #0x10]
|
|
add r0, #0x8c
|
|
ldr r0, [r0]
|
|
bl sub_0200CF6C
|
|
mov r2, #3
|
|
mov r1, #0
|
|
lsl r2, r2, #0x12
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E58
|
|
ldr r0, [r4, #0x10]
|
|
bl ov100_021E69C8
|
|
ldr r0, [r4, #0x10]
|
|
bl ov100_021E6950
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EE3D8
|
|
|
|
thumb_func_start ov101_021EE410
|
|
ov101_021EE410: ; 0x021EE410
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r6, #0
|
|
ldr r0, [r0, #8]
|
|
mov r7, #0x15
|
|
str r0, [sp]
|
|
add r4, r0, #0
|
|
_021EE422:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021EE64C ; =ov101_021F807C
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
lsr r2, r6, #0x1f
|
|
lsl r3, r6, #0x1f
|
|
sub r3, r3, r2
|
|
mov r1, #0x1f
|
|
ror r3, r1
|
|
add r3, r2, r3
|
|
add r2, r6, r2
|
|
mov r1, #0x68
|
|
mul r1, r3
|
|
asr r2, r2, #1
|
|
add r3, r2, #0
|
|
mul r3, r7
|
|
add r1, #0x20
|
|
add r3, #0xcb
|
|
lsl r1, r1, #0x10
|
|
lsl r2, r3, #0x10
|
|
ldr r0, [r4, #0x20]
|
|
asr r1, r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DD88
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl sub_0200DD3C
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
cmp r6, #4
|
|
blt _021EE422
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021EE650 ; =ov101_021F80A4
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl sub_0200DD3C
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021EE654 ; =ov101_021F80CC
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021EE658 ; =ov101_021F80F4
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r7, #0
|
|
ldr r6, [sp]
|
|
add r4, r7, #0
|
|
_021EE4E6:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021EE65C ; =ov101_021F811C
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
cmp r7, #0
|
|
ble _021EE51A
|
|
add r0, r4, #0
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _021EE528
|
|
_021EE51A:
|
|
add r0, r4, #0
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_021EE528:
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl sub_020249B0
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
add r7, r7, #1
|
|
add r4, r4, r0
|
|
add r6, #0x28
|
|
cmp r7, #4
|
|
blt _021EE4E6
|
|
ldr r7, _021EE64C ; =ov101_021F807C
|
|
mov r6, #0
|
|
_021EE54A:
|
|
ldr r1, [r5, #0x10]
|
|
add r3, r6, #5
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
mov r2, #0x28
|
|
mul r2, r3
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
add r2, r7, r2
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
mov r1, #0x28
|
|
mul r1, r0
|
|
ldr r0, [sp]
|
|
add r4, r0, r1
|
|
ldr r0, [r4, #0x20]
|
|
add r1, r4, #4
|
|
add r2, r4, #6
|
|
bl sub_0200DE00
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl sub_0200DD3C
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #1
|
|
bl Set2dSpriteAnimActiveFlag
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r6, r6, #1
|
|
cmp r6, #4
|
|
blt _021EE54A
|
|
mov r6, #0
|
|
mov r7, #0x28
|
|
_021EE5A2:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r2, _021EE660 ; =ov101_021F81E4
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6EC4
|
|
add r1, r0, #0
|
|
ldr r0, [sp]
|
|
mul r1, r7
|
|
add r4, r0, r1
|
|
ldr r0, [r4, #0x20]
|
|
add r1, r4, #4
|
|
add r2, r4, #6
|
|
bl sub_0200DE00
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r6, r6, #1
|
|
cmp r6, #0x1b
|
|
blt _021EE5A2
|
|
mov r4, #0
|
|
mov r7, #0x28
|
|
_021EE5EC:
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
add r1, r0, #0
|
|
ldr r0, [sp]
|
|
mul r1, r7
|
|
add r6, r0, r1
|
|
ldr r0, [r6, #0x20]
|
|
add r1, r6, #4
|
|
add r2, r6, #6
|
|
bl sub_0200DE00
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r4, r4, #1
|
|
cmp r4, #0xb
|
|
blt _021EE5EC
|
|
ldr r0, [sp]
|
|
mov r1, #1
|
|
add r0, #0xe8
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteAnimActiveFlag
|
|
mov r1, #0x11
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
mov r1, #0x11
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
ldr r1, [r5, #0x10]
|
|
ldr r1, [r1, #0x20]
|
|
ldrb r1, [r1, #7]
|
|
bl sub_020249D4
|
|
ldr r0, [sp]
|
|
mov r1, #2
|
|
add r0, #0xe8
|
|
str r0, [sp]
|
|
ldr r0, [r0]
|
|
bl sub_0202487C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EE64C: .word ov101_021F807C
|
|
_021EE650: .word ov101_021F80A4
|
|
_021EE654: .word ov101_021F80CC
|
|
_021EE658: .word ov101_021F80F4
|
|
_021EE65C: .word ov101_021F811C
|
|
_021EE660: .word ov101_021F81E4
|
|
thumb_func_end ov101_021EE410
|
|
|
|
thumb_func_start ov101_021EE664
|
|
ov101_021EE664: ; 0x021EE664
|
|
ldr r3, _021EE66C ; =ov100_021E6EF4
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EE66C: .word ov100_021E6EF4
|
|
thumb_func_end ov101_021EE664
|
|
|
|
thumb_func_start ov101_021EE670
|
|
ov101_021EE670: ; 0x021EE670
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
mov r1, #4
|
|
ldr r0, [r0, #8]
|
|
mov r2, #8
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
ldr r0, _021EE8D8 ; =0x04000050
|
|
mov r3, #0xa
|
|
bl G2x_SetBlendAlpha_
|
|
mov r4, #0
|
|
mov r6, #3
|
|
add r7, r4, #0
|
|
_021EE694:
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
mov r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r3, r2, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl BgSetPosTextAndCommit
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021EE694
|
|
ldr r1, _021EE8DC ; =ov101_021EB338
|
|
ldr r0, [r5, #0x10]
|
|
str r1, [r0, #0x5c]
|
|
ldr r1, _021EE8E0 ; =ov101_021EB2FC
|
|
ldr r0, [r5, #0x10]
|
|
str r1, [r0, #0x60]
|
|
add r0, r5, #0
|
|
bl ov101_021E990C
|
|
add r1, r5, #0
|
|
add r0, r5, #0
|
|
add r1, #0xc8
|
|
bl ov101_021E9B70
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
mov r2, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x18
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #1
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
add r0, r5, #0
|
|
bl ov101_021EAF40
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
strb r0, [r5, #0xf]
|
|
ldrb r0, [r5, #0xd]
|
|
cmp r0, #2
|
|
bne _021EE7BC
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #6
|
|
add r2, r0, #0
|
|
str r1, [sp, #4]
|
|
add r2, #0xc
|
|
str r2, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r3, #8
|
|
str r3, [sp, #0x10]
|
|
ldrh r4, [r0]
|
|
lsl r4, r4, #0x15
|
|
lsr r4, r4, #0x18
|
|
str r4, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r5, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r5, r2]
|
|
ldrsh r3, [r5, r3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA794
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EAD90
|
|
ldr r0, [r5, #0x10]
|
|
mov r2, #3
|
|
add r3, r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #5
|
|
sub r3, #0x54
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r2, #3
|
|
add r3, r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #6
|
|
sub r3, #0x54
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0x10]
|
|
mov r2, #3
|
|
add r3, r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #7
|
|
sub r3, #0x54
|
|
bl BgSetPosTextAndCommit
|
|
b _021EE82A
|
|
_021EE7BC:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021EA4D0
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x10
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
mov r3, #8
|
|
str r3, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #6
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
mov r3, #0x46
|
|
lsl r3, r3, #2
|
|
add r2, r3, #0
|
|
add r1, r5, r3
|
|
sub r2, #8
|
|
sub r3, r3, #6
|
|
ldrsh r2, [r5, r2]
|
|
ldrsh r3, [r5, r3]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl ov101_021EA8A8
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021EAD90
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
mvn r1, r1
|
|
bl ov101_021EB4C4
|
|
_021EE82A:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EB1E0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021EA608
|
|
add r1, r5, #0
|
|
add r1, #0xb0
|
|
ldr r1, [r1]
|
|
mov r0, #4
|
|
mov r2, #0
|
|
bl FontID_String_GetWidth
|
|
lsl r0, r0, #0x10
|
|
asr r1, r0, #0x10
|
|
mov r0, #0x30
|
|
sub r1, r0, r1
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0xf
|
|
mov r1, #0
|
|
asr r3, r0, #0x10
|
|
str r1, [sp]
|
|
add r2, r5, #0
|
|
ldr r0, _021EE8E4 ; =0x00030100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r0, #0x81
|
|
add r2, #0xb0
|
|
lsl r0, r0, #2
|
|
ldr r2, [r2]
|
|
add r0, r5, r0
|
|
mov r1, #4
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #1
|
|
add r0, #0xe8
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r0]
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r5, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
bl ov100_021E6E84
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #4
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EE8D8: .word 0x04000050
|
|
_021EE8DC: .word ov101_021EB338
|
|
_021EE8E0: .word ov101_021EB2FC
|
|
_021EE8E4: .word 0x00030100
|
|
thumb_func_end ov101_021EE670
|
|
|
|
thumb_func_start ov101_021EE8E8
|
|
ov101_021EE8E8: ; 0x021EE8E8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetArgs
|
|
mov r2, #2
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x5b
|
|
lsl r2, r2, #0x10
|
|
bl CreateHeap
|
|
add r0, r4, #0
|
|
mov r1, #0x4c
|
|
mov r2, #0x5b
|
|
bl OverlayManager_CreateAndGetData
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r2, #0x4c
|
|
bl memset
|
|
str r5, [r4, #0xc]
|
|
mov r0, #0x5b
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
bl ov101_021EE9D0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EE8E8
|
|
|
|
thumb_func_start ov101_021EE924
|
|
ov101_021EE924: ; 0x021EE924
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r4]
|
|
cmp r1, #9
|
|
bhi _021EE99E
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021EE93E: ; jump table
|
|
.short _021EE952 - _021EE93E - 2 ; case 0
|
|
.short _021EE95A - _021EE93E - 2 ; case 1
|
|
.short _021EE962 - _021EE93E - 2 ; case 2
|
|
.short _021EE96A - _021EE93E - 2 ; case 3
|
|
.short _021EE972 - _021EE93E - 2 ; case 4
|
|
.short _021EE97A - _021EE93E - 2 ; case 5
|
|
.short _021EE982 - _021EE93E - 2 ; case 6
|
|
.short _021EE98A - _021EE93E - 2 ; case 7
|
|
.short _021EE992 - _021EE93E - 2 ; case 8
|
|
.short _021EE99A - _021EE93E - 2 ; case 9
|
|
_021EE952:
|
|
bl ov101_021EEA4C
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE95A:
|
|
bl ov101_021EEA70
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE962:
|
|
bl ov101_021EEAC4
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE96A:
|
|
bl ov101_021EEAD8
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE972:
|
|
bl ov101_021EEAE0
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE97A:
|
|
bl ov101_021EEAF4
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE982:
|
|
bl ov101_021EEBA4
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE98A:
|
|
bl ov101_021EEC04
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE992:
|
|
bl ov101_021EEC8C
|
|
str r0, [r4]
|
|
b _021EE99E
|
|
_021EE99A:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EE99E:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EE924
|
|
|
|
thumb_func_start ov101_021EE9A4
|
|
ov101_021EE9A4: ; 0x021EE9A4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov101_021EEA2C
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0x80
|
|
ldrb r1, [r2, #5]
|
|
orr r0, r1
|
|
strb r0, [r2, #5]
|
|
ldr r4, [r4]
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
add r0, r4, #0
|
|
bl DestroyHeap
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EE9A4
|
|
|
|
thumb_func_start ov101_021EE9D0
|
|
ov101_021EE9D0: ; 0x021EE9D0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, _021EEA20 ; =ov101_021EF4B0
|
|
str r4, [r0, #0x64]
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x5c]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EE7C
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
lsl r0, r0, #0x19
|
|
ldrh r2, [r4, #0x12]
|
|
ldr r1, _021EEA24 ; =0xFFFF01FF
|
|
lsr r0, r0, #0x10
|
|
and r1, r2
|
|
orr r0, r1
|
|
strh r0, [r4, #0x12]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EE98
|
|
ldrh r1, [r4, #0x12]
|
|
ldr r2, _021EEA28 ; =0xFFFFFE00
|
|
add r3, r1, #0
|
|
lsr r1, r2, #0x17
|
|
and r3, r2
|
|
and r0, r1
|
|
orr r0, r3
|
|
strh r0, [r4, #0x12]
|
|
ldrh r0, [r4, #0x12]
|
|
add r1, r0, #0
|
|
and r1, r2
|
|
mov r0, #0xff
|
|
orr r0, r1
|
|
strh r0, [r4, #0x12]
|
|
pop {r4, pc}
|
|
nop
|
|
_021EEA20: .word ov101_021EF4B0
|
|
_021EEA24: .word 0xFFFF01FF
|
|
_021EEA28: .word 0xFFFFFE00
|
|
thumb_func_end ov101_021EE9D0
|
|
|
|
thumb_func_start ov101_021EEA2C
|
|
ov101_021EEA2C: ; 0x021EEA2C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r1, [r4, #0x12]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r1, r1, #0x10
|
|
ldr r0, [r0, #0x28]
|
|
lsr r1, r1, #0x19
|
|
bl sub_0202EE84
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x5c]
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x60]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EEA2C
|
|
|
|
thumb_func_start ov101_021EEA4C
|
|
ov101_021EEA4C: ; 0x021EEA4C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021EED44
|
|
cmp r0, #0
|
|
bne _021EEA5C
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021EEA5C:
|
|
ldr r0, [r4, #0xc]
|
|
ldrb r0, [r0, #5]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _021EEA6A
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
_021EEA6A:
|
|
mov r0, #5
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EEA4C
|
|
|
|
thumb_func_start ov101_021EEA70
|
|
ov101_021EEA70: ; 0x021EEA70
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021EF7D4
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021EEA9A
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5900
|
|
ldr r0, [r4, #0xc]
|
|
ldrb r1, [r0, #6]
|
|
cmp r1, #1
|
|
bne _021EEA94
|
|
bl ov100_021E59CC
|
|
b _021EEA9A
|
|
_021EEA94:
|
|
add r0, r4, #0
|
|
bl ov101_021EF6E4
|
|
_021EEA9A:
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021EEAC0
|
|
cmp r0, #4
|
|
beq _021EEAAC
|
|
cmp r0, #8
|
|
beq _021EEAB4
|
|
b _021EEAB8
|
|
_021EEAAC:
|
|
ldr r1, [r4, #0xc]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #6
|
|
pop {r4, pc}
|
|
_021EEAB4:
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_021EEAB8:
|
|
ldr r1, [r4, #0xc]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #8
|
|
pop {r4, pc}
|
|
_021EEAC0:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EEA70
|
|
|
|
thumb_func_start ov101_021EEAC4
|
|
ov101_021EEAC4: ; 0x021EEAC4
|
|
push {r3, lr}
|
|
bl ov101_021EED98
|
|
cmp r0, #0
|
|
beq _021EEAD2
|
|
mov r0, #9
|
|
pop {r3, pc}
|
|
_021EEAD2:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EEAC4
|
|
|
|
thumb_func_start ov101_021EEAD8
|
|
ov101_021EEAD8: ; 0x021EEAD8
|
|
ldr r3, _021EEADC ; =ov101_021EEDC4
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EEADC: .word ov101_021EEDC4
|
|
thumb_func_end ov101_021EEAD8
|
|
|
|
thumb_func_start ov101_021EEAE0
|
|
ov101_021EEAE0: ; 0x021EEAE0
|
|
push {r3, lr}
|
|
bl ov101_021EEE80
|
|
cmp r0, #0
|
|
beq _021EEAEE
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021EEAEE:
|
|
mov r0, #4
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EEAE0
|
|
|
|
thumb_func_start ov101_021EEAF4
|
|
ov101_021EEAF4: ; 0x021EEAF4
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021EEB06
|
|
cmp r0, #1
|
|
beq _021EEB8A
|
|
b _021EEB9C
|
|
_021EEB06:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021EEB20:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021EEB20
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EEB9C
|
|
_021EEB8A:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021EEB9C
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EEB9C:
|
|
mov r0, #5
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EEAF4
|
|
|
|
thumb_func_start ov101_021EEBA4
|
|
ov101_021EEBA4: ; 0x021EEBA4
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021EEBB6
|
|
cmp r0, #1
|
|
beq _021EEBD6
|
|
b _021EEBFC
|
|
_021EEBB6:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EEBFC
|
|
_021EEBD6:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021EEBFC
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
_021EEBE2:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021EEBE2
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0xc
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EEBFC:
|
|
mov r0, #6
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EEBA4
|
|
|
|
thumb_func_start ov101_021EEC04
|
|
ov101_021EEC04: ; 0x021EEC04
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021EEC18
|
|
cmp r0, #1
|
|
beq _021EEC5E
|
|
cmp r0, #2
|
|
beq _021EEC72
|
|
b _021EEC88
|
|
_021EEC18:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
bl SetBlendBrightness
|
|
mov r6, #1
|
|
mov r4, #0
|
|
add r7, r6, #0
|
|
_021EEC32:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r7, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021EEC32
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EEC88
|
|
_021EEC5E:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
bl ov100_021E5D3C
|
|
cmp r0, #0
|
|
beq _021EEC88
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EEC88
|
|
_021EEC72:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
str r1, [r5, #4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EEC88:
|
|
mov r0, #7
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021EEC04
|
|
|
|
thumb_func_start ov101_021EEC8C
|
|
ov101_021EEC8C: ; 0x021EEC8C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021EECA2
|
|
cmp r0, #1
|
|
beq _021EECBA
|
|
cmp r0, #2
|
|
beq _021EECCE
|
|
b _021EED3C
|
|
_021EECA2:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EED3C
|
|
_021EECBA:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
bl ov100_021E5D3C
|
|
cmp r0, #0
|
|
beq _021EED3C
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EED3C
|
|
_021EECCE:
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
add r7, r4, #0
|
|
_021EED06:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r7, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021EED06
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
add sp, #8
|
|
str r1, [r5, #4]
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EED3C:
|
|
mov r0, #8
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EEC8C
|
|
|
|
thumb_func_start ov101_021EED44
|
|
ov101_021EED44: ; 0x021EED44
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _021EED54
|
|
cmp r1, #1
|
|
beq _021EED6E
|
|
b _021EED8C
|
|
_021EED54:
|
|
bl ov101_021EEF0C
|
|
add r0, r4, #0
|
|
bl ov101_021EEFE8
|
|
add r0, r4, #0
|
|
bl ov101_021EF00C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021EF26C
|
|
b _021EED8C
|
|
_021EED6E:
|
|
bl ov101_021EF03C
|
|
add r0, r4, #0
|
|
bl ov101_021EF0E0
|
|
add r0, r4, #0
|
|
bl ov101_021EF130
|
|
add r0, r4, #0
|
|
bl ov101_021EF17C
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EED8C:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EED44
|
|
|
|
thumb_func_start ov101_021EED98
|
|
ov101_021EED98: ; 0x021EED98
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021EF16C
|
|
add r0, r4, #0
|
|
bl ov101_021EF120
|
|
add r0, r4, #0
|
|
bl ov101_021EF0C8
|
|
add r0, r4, #0
|
|
bl ov101_021EF028
|
|
add r0, r4, #0
|
|
bl ov101_021EEFFC
|
|
add r0, r4, #0
|
|
bl ov101_021EEFDC
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EED98
|
|
|
|
thumb_func_start ov101_021EEDC4
|
|
ov101_021EEDC4: ; 0x021EEDC4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x40]
|
|
bl sub_020186A4
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021EEE0A
|
|
ldr r0, [r5, #0x40]
|
|
bl sub_02018674
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0xc]
|
|
ldr r0, [r5, #0x40]
|
|
bl sub_02018680
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov101_021EF5A4
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, _021EEE10 ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #1
|
|
bl ov100_021E7414
|
|
cmp r4, #0
|
|
bne _021EEE06
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_021EEE06:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021EEE0A:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021EEE10: .word 0x0000FFFF
|
|
thumb_func_end ov101_021EEDC4
|
|
|
|
thumb_func_start ov101_021EEE14
|
|
ov101_021EEE14: ; 0x021EEE14
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021EF260
|
|
ldrh r1, [r4, #0x12]
|
|
ldr r0, _021EEE7C ; =0xFFFF01FF
|
|
and r1, r0
|
|
ldrb r0, [r4, #0x11]
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x10
|
|
orr r0, r1
|
|
strh r0, [r4, #0x12]
|
|
ldrh r0, [r4, #0x12]
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x19
|
|
ldr r0, [r4, #0xc]
|
|
strb r1, [r0, #8]
|
|
ldrh r1, [r4, #0x12]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x19
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov100_021E5EB4
|
|
ldrh r1, [r4, #0x12]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r1, r1, #0x10
|
|
add r0, #0x94
|
|
lsr r1, r1, #0x19
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0]
|
|
lsr r1, r1, #0x18
|
|
bl ov100_021E6A58
|
|
add r0, r4, #0
|
|
bl ov101_021EF1D8
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021EF26C
|
|
add r0, r4, #0
|
|
bl ov101_021EF414
|
|
ldrh r1, [r4, #0x12]
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x19
|
|
bl ov101_021EF384
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021EEE7C: .word 0xFFFF01FF
|
|
thumb_func_end ov101_021EEE14
|
|
|
|
thumb_func_start ov101_021EEE80
|
|
ov101_021EEE80: ; 0x021EEE80
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021EEF00
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EEE98: ; jump table
|
|
.short _021EEEA0 - _021EEE98 - 2 ; case 0
|
|
.short _021EEEB8 - _021EEE98 - 2 ; case 1
|
|
.short _021EEECE - _021EEE98 - 2 ; case 2
|
|
.short _021EEEE8 - _021EEE98 - 2 ; case 3
|
|
_021EEEA0:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r1, [r4]
|
|
mov r3, #0
|
|
str r1, [sp, #8]
|
|
mov r1, #4
|
|
add r2, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
b _021EEF00
|
|
_021EEEB8:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
bne _021EEEC6
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r3, r4, pc}
|
|
_021EEEC6:
|
|
add r0, r4, #0
|
|
bl ov101_021EEE14
|
|
b _021EEF00
|
|
_021EEECE:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
str r0, [sp, #8]
|
|
mov r0, #2
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl BeginNormalPaletteFade
|
|
b _021EEF00
|
|
_021EEEE8:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
bne _021EEEF6
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r3, r4, pc}
|
|
_021EEEF6:
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_021EEF00:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov101_021EEE80
|
|
|
|
thumb_func_start ov101_021EEF0C
|
|
ov101_021EEF0C: ; 0x021EEF0C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xac
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
bl GX_SetGraphicsMode
|
|
ldr r4, _021EEFD8 ; =ov101_021F8254
|
|
add r3, sp, #4
|
|
mov r2, #0x15
|
|
_021EEF22:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021EEF22
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #4
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x20
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x3c
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x58
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x74
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x90
|
|
bl InitBgFromTemplateEx
|
|
mov r4, #0
|
|
mov r6, #0x20
|
|
add r7, r4, #0
|
|
_021EEF90:
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021EEF90
|
|
add sp, #0xac
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EEFD8: .word ov101_021F8254
|
|
thumb_func_end ov101_021EEF0C
|
|
|
|
thumb_func_start ov101_021EEFDC
|
|
ov101_021EEFDC: ; 0x021EEFDC
|
|
ldr r3, _021EEFE4 ; =ov100_021E5CA4
|
|
ldr r0, [r0, #0xc]
|
|
bx r3
|
|
nop
|
|
_021EEFE4: .word ov100_021E5CA4
|
|
thumb_func_end ov101_021EEFDC
|
|
|
|
thumb_func_start ov101_021EEFE8
|
|
ov101_021EEFE8: ; 0x021EEFE8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
mov r0, #4
|
|
bl FontID_Alloc
|
|
add r0, r4, #0
|
|
bl ov101_021EF1D8
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EEFE8
|
|
|
|
thumb_func_start ov101_021EEFFC
|
|
ov101_021EEFFC: ; 0x021EEFFC
|
|
push {r3, lr}
|
|
bl ov101_021EF260
|
|
mov r0, #4
|
|
bl FontID_Release
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EEFFC
|
|
|
|
thumb_func_start ov101_021EF00C
|
|
ov101_021EF00C: ; 0x021EF00C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
bl ov100_021E6978
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, [r4]
|
|
ldr r1, [r1, #0x78]
|
|
bl sub_02018424
|
|
str r0, [r4, #0x38]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF00C
|
|
|
|
thumb_func_start ov101_021EF028
|
|
ov101_021EF028: ; 0x021EF028
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x38]
|
|
bl sub_02018474
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E69C8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF028
|
|
|
|
thumb_func_start ov101_021EF03C
|
|
ov101_021EF03C: ; 0x021EF03C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r4, _021EF0C4 ; =ov101_021F82FC
|
|
mov r7, #0
|
|
add r5, r6, #0
|
|
_021EF046:
|
|
ldr r1, [r6, #0xc]
|
|
add r2, r4, #0
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
str r0, [r5, #0x14]
|
|
mov r1, #1
|
|
bl sub_0200DD3C
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r0, [r5, #0x14]
|
|
mov r1, #1
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r7, r7, #1
|
|
add r4, #0x28
|
|
add r5, r5, #4
|
|
cmp r7, #4
|
|
ble _021EF046
|
|
add r4, r6, #0
|
|
ldr r7, _021EF0C4 ; =ov101_021F82FC
|
|
mov r5, #5
|
|
add r4, #0x14
|
|
_021EF082:
|
|
ldr r1, [r6, #0xc]
|
|
sub r3, r5, #5
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
mov r2, #0x28
|
|
mul r2, r3
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
add r2, r7, r2
|
|
bl sub_0200D2B4
|
|
str r0, [r4, #0x14]
|
|
mov r1, #1
|
|
bl sub_0200DD3C
|
|
ldr r0, [r4, #0x14]
|
|
mov r1, #0
|
|
bl sub_0200DD60
|
|
ldr r0, [r4, #0x14]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r0, [r4, #0x14]
|
|
mov r1, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #8
|
|
ble _021EF082
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021EF0C4: .word ov101_021F82FC
|
|
thumb_func_end ov101_021EF03C
|
|
|
|
thumb_func_start ov101_021EF0C8
|
|
ov101_021EF0C8: ; 0x021EF0C8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021EF0CE:
|
|
ldr r0, [r5, #0x14]
|
|
bl sub_0200D018
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #9
|
|
blt _021EF0CE
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF0C8
|
|
|
|
thumb_func_start ov101_021EF0E0
|
|
ov101_021EF0E0: ; 0x021EF0E0
|
|
push {r4, lr}
|
|
sub sp, #0x18
|
|
mov r3, #0
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
ldr r0, [r4]
|
|
ldr r1, _021EF11C ; =ov101_021F820C
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x14]
|
|
mov r2, #6
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0x18]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x1c]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4, #0x20]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7014
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
add sp, #0x18
|
|
pop {r4, pc}
|
|
nop
|
|
_021EF11C: .word ov101_021F820C
|
|
thumb_func_end ov101_021EF0E0
|
|
|
|
thumb_func_start ov101_021EF120
|
|
ov101_021EF120: ; 0x021EF120
|
|
ldr r0, [r0, #0xc]
|
|
ldr r3, _021EF12C ; =ov100_021E70A4
|
|
ldr r0, [r0, #0x7c]
|
|
mov r1, #1
|
|
bx r3
|
|
nop
|
|
_021EF12C: .word ov100_021E70A4
|
|
thumb_func_end ov101_021EF120
|
|
|
|
thumb_func_start ov101_021EF130
|
|
ov101_021EF130: ; 0x021EF130
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r0, #2
|
|
bl ListMenuItems_ctor
|
|
str r0, [r5, #0x3c]
|
|
mov r1, #0x1b
|
|
add r2, r1, #0
|
|
ldr r3, [r5]
|
|
mov r0, #0
|
|
add r2, #0xf3
|
|
bl NewMsgDataFromNarc
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
_021EF150:
|
|
ldr r0, [r5, #0x3c]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
add r3, r4, #0
|
|
bl ListMenuItems_AppendFromMsgData
|
|
add r4, r4, #1
|
|
cmp r4, #2
|
|
blt _021EF150
|
|
add r0, r6, #0
|
|
bl DestroyMsgData
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF130
|
|
|
|
thumb_func_start ov101_021EF16C
|
|
ov101_021EF16C: ; 0x021EF16C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x3c]
|
|
bl ListMenuItems_dtor
|
|
mov r0, #0
|
|
str r0, [r4, #0x3c]
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EF16C
|
|
|
|
thumb_func_start ov101_021EF17C
|
|
ov101_021EF17C: ; 0x021EF17C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021EF414
|
|
ldr r1, [r4, #0xc]
|
|
ldrb r0, [r1, #6]
|
|
cmp r0, #1
|
|
ldr r0, [r1, #0x7c]
|
|
bne _021EF1B6
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5DC8
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
pop {r4, pc}
|
|
_021EF1B6:
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E72F8
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EF17C
|
|
|
|
thumb_func_start ov101_021EF1D8
|
|
ov101_021EF1D8: ; 0x021EF1D8
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x91
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
ldrh r0, [r5, #0x12]
|
|
add r2, r4, #0
|
|
mov r3, #0x91
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x19
|
|
add r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
ldrh r0, [r5, #0x12]
|
|
add r2, r4, #0
|
|
mov r3, #0x91
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x19
|
|
add r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
ldr r0, [r5]
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
ldrh r1, [r5, #0x12]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x19
|
|
add r1, #0x16
|
|
add r3, #0x48
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
str r0, [r5, #0x44]
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov101_021EF1D8
|
|
|
|
thumb_func_start ov101_021EF260
|
|
ov101_021EF260: ; 0x021EF260
|
|
ldr r3, _021EF268 ; =FreeToHeap
|
|
ldr r0, [r0, #0x44]
|
|
bx r3
|
|
nop
|
|
_021EF268: .word FreeToHeap
|
|
thumb_func_end ov101_021EF260
|
|
|
|
thumb_func_start ov101_021EF26C
|
|
ov101_021EF26C: ; 0x021EF26C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x91
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r0, #7
|
|
str r1, [sp]
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldrh r2, [r5, #0x12]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r3, [r5]
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x19
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
add r2, r2, #4
|
|
bl sub_02003220
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldrh r2, [r5, #0x12]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r3, [r5]
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x19
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
add r2, r2, #4
|
|
bl sub_02003220
|
|
cmp r6, #0
|
|
beq _021EF304
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0x40
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
bl sub_02003220
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0x40
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
bl sub_02003220
|
|
_021EF304:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
cmp r6, #0
|
|
beq _021EF33E
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
b _021EF366
|
|
_021EF33E:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r3, #1
|
|
ldr r0, [r0, #0x78]
|
|
add r2, r1, #0
|
|
lsl r3, r3, #8
|
|
bl sub_02003E5C
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
add r3, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
add r3, #0xfe
|
|
bl sub_02003E5C
|
|
_021EF366:
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF26C
|
|
|
|
thumb_func_start ov101_021EF384
|
|
ov101_021EF384: ; 0x021EF384
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldrh r1, [r5, #0x12]
|
|
ldr r0, _021EF410 ; =0xFFFF01FF
|
|
and r1, r0
|
|
lsl r0, r6, #0x10
|
|
lsr r0, r0, #0x10
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x10
|
|
orr r0, r1
|
|
strh r0, [r5, #0x12]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
ldr r4, [r5, #0x48]
|
|
bl _s32_div_f
|
|
add r7, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r3, r0, #0
|
|
mov r0, #9
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r4]
|
|
mov r2, #0xa
|
|
mul r2, r7
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x14]
|
|
ldrh r0, [r4, #2]
|
|
lsl r4, r3, #3
|
|
add r3, r3, r4
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r2, #2
|
|
add r3, r3, #2
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #2
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl CopyToBgTilemapRect
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021EF410: .word 0xFFFF01FF
|
|
thumb_func_end ov101_021EF384
|
|
|
|
thumb_func_start ov101_021EF414
|
|
ov101_021EF414: ; 0x021EF414
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r7, r0, #0
|
|
mov r4, #1
|
|
mov r6, #0
|
|
_021EF41E:
|
|
ldrh r0, [r7, #0x12]
|
|
lsl r0, r0, #0x17
|
|
lsr r0, r0, #0x17
|
|
tst r0, r4
|
|
beq _021EF42A
|
|
b _021EF48A
|
|
_021EF42A:
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
ldr r5, [r7, #0x48]
|
|
bl _s32_div_f
|
|
str r1, [sp, #0x1c]
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
mov ip, r0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
str r0, [sp, #8]
|
|
mov r0, #6
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldrh r0, [r5]
|
|
ldr r3, [sp, #0x1c]
|
|
mov r2, #0xa
|
|
mul r2, r3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x14]
|
|
ldrh r0, [r5, #2]
|
|
mov r3, ip
|
|
lsl r5, r3, #3
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
mov r3, ip
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r7, #0xc]
|
|
add r3, r3, r5
|
|
add r2, r2, #3
|
|
add r3, r3, #3
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #3
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl CopyToBgTilemapRect
|
|
_021EF48A:
|
|
lsl r0, r4, #0x11
|
|
add r6, r6, #1
|
|
lsr r4, r0, #0x10
|
|
cmp r6, #6
|
|
blt _021EF41E
|
|
ldr r0, [r7, #0xc]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldrh r1, [r7, #0x12]
|
|
add r0, r7, #0
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x19
|
|
bl ov101_021EF384
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF414
|
|
|
|
thumb_func_start ov101_021EF4B0
|
|
ov101_021EF4B0: ; 0x021EF4B0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0xff
|
|
bl ov100_021E72F8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF4B0
|
|
|
|
thumb_func_start ov101_021EF4DC
|
|
ov101_021EF4DC: ; 0x021EF4DC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #6]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0xff
|
|
bl ov100_021E72F8
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x7c]
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EF4DC
|
|
|
|
thumb_func_start ov101_021EF50C
|
|
ov101_021EF50C: ; 0x021EF50C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x28
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, sp, #0x10
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
strb r4, [r5, #0x11]
|
|
bl MI_CpuFill8
|
|
ldr r2, _021EF590 ; =ov101_021F83C4
|
|
add r0, sp, #0x10
|
|
ldrh r3, [r2]
|
|
ldr r6, _021EF594 ; =ov101_021F83D0
|
|
add r1, sp, #0x10
|
|
strh r3, [r0]
|
|
ldrh r3, [r2, #2]
|
|
strh r3, [r0, #2]
|
|
ldrh r3, [r2, #4]
|
|
strh r3, [r0, #4]
|
|
ldrh r3, [r2, #6]
|
|
strh r3, [r0, #6]
|
|
ldrh r3, [r2, #8]
|
|
ldrh r2, [r2, #0xa]
|
|
strh r3, [r0, #8]
|
|
strh r2, [r0, #0xa]
|
|
ldr r2, [r5, #0x3c]
|
|
str r2, [sp, #0x1c]
|
|
ldr r2, [r5, #0xc]
|
|
ldr r2, [r2, #0x74]
|
|
str r2, [sp, #0x20]
|
|
mov r2, #2
|
|
strb r2, [r0, #0x14]
|
|
lsl r0, r4, #1
|
|
add r3, r4, r0
|
|
ldr r0, _021EF598 ; =ov101_021F83D1
|
|
ldrb r0, [r0, r3]
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, _021EF59C ; =ov101_021F83D2
|
|
ldrb r0, [r0, r3]
|
|
ldrb r3, [r6, r3]
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0xc]
|
|
ldr r0, [r5, #0x38]
|
|
ldr r2, [r2, #0xc]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl sub_02018620
|
|
str r0, [r5, #0x40]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl ov101_021EF5A4
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, _021EF5A0 ; =0x0000FFFF
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #0
|
|
bl ov100_021E7414
|
|
add sp, #0x28
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021EF590: .word ov101_021F83C4
|
|
_021EF594: .word ov101_021F83D0
|
|
_021EF598: .word ov101_021F83D1
|
|
_021EF59C: .word ov101_021F83D2
|
|
_021EF5A0: .word 0x0000FFFF
|
|
thumb_func_end ov101_021EF50C
|
|
|
|
thumb_func_start ov101_021EF5A4
|
|
ov101_021EF5A4: ; 0x021EF5A4
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
cmp r2, #0
|
|
beq _021EF680
|
|
ldr r1, _021EF6B8 ; =0x04000048
|
|
mov r3, #0x3f
|
|
ldrh r2, [r1]
|
|
mov r5, #0x1f
|
|
bic r2, r3
|
|
orr r2, r5
|
|
strh r2, [r1]
|
|
ldrh r6, [r1]
|
|
ldr r2, _021EF6BC ; =0xFFFFC0FF
|
|
and r6, r2
|
|
lsl r2, r5, #8
|
|
orr r2, r6
|
|
strh r2, [r1]
|
|
ldrh r2, [r1, #2]
|
|
bic r2, r3
|
|
add r3, r2, #0
|
|
orr r3, r5
|
|
mov r2, #0x20
|
|
orr r2, r3
|
|
strh r2, [r1, #2]
|
|
ldr r6, [r0, #0x40]
|
|
add r0, r6, #0
|
|
add r0, #0x28
|
|
ldrb r0, [r0]
|
|
lsl r5, r0, #3
|
|
add r0, r6, #0
|
|
add r6, #0x26
|
|
ldrb r6, [r6]
|
|
add r0, #0x29
|
|
ldrb r0, [r0]
|
|
add r6, r6, #2
|
|
lsl r6, r6, #3
|
|
lsl r3, r0, #3
|
|
lsl r2, r5, #8
|
|
mov r0, #0xff
|
|
add r5, r5, r6
|
|
lsl r0, r0, #8
|
|
lsl r5, r5, #0x18
|
|
and r2, r0
|
|
lsr r5, r5, #0x18
|
|
orr r5, r2
|
|
add r2, r1, #0
|
|
sub r2, #8
|
|
strh r5, [r2]
|
|
lsl r2, r3, #8
|
|
add r3, #0x38
|
|
and r2, r0
|
|
lsl r0, r3, #0x18
|
|
lsr r0, r0, #0x18
|
|
orr r2, r0
|
|
sub r0, r1, #4
|
|
strh r2, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
mov r0, #0x50
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
add r0, r2, #0
|
|
add r0, #0x18
|
|
lsl r1, r0, #8
|
|
mov r0, #0xff
|
|
lsl r0, r0, #8
|
|
add r2, #0x48
|
|
and r1, r0
|
|
lsl r0, r2, #0x18
|
|
lsr r0, r0, #0x18
|
|
orr r1, r0
|
|
ldr r0, _021EF6C0 ; =0x04000042
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
mov r1, #0x48
|
|
add r2, r0, #0
|
|
mul r2, r1
|
|
add r0, r2, #0
|
|
add r0, #0x18
|
|
lsl r1, r0, #8
|
|
mov r0, #0xff
|
|
lsl r0, r0, #8
|
|
add r2, #0x40
|
|
and r1, r0
|
|
lsl r0, r2, #0x18
|
|
lsr r0, r0, #0x18
|
|
orr r1, r0
|
|
ldr r0, _021EF6C4 ; =0x04000046
|
|
add r3, r0, #0
|
|
strh r1, [r0]
|
|
sub r3, #0x46
|
|
ldr r2, [r3]
|
|
ldr r1, _021EF6C8 ; =0xFFFF1FFF
|
|
add r0, #0xa
|
|
and r2, r1
|
|
mov r1, #6
|
|
lsl r1, r1, #0xc
|
|
orr r1, r2
|
|
str r1, [r3]
|
|
mov r1, #0x1f
|
|
add r2, r1, #0
|
|
sub r2, #0x27
|
|
bl G2x_SetBlendBrightness_
|
|
pop {r4, r5, r6, pc}
|
|
_021EF680:
|
|
ldr r0, _021EF6B8 ; =0x04000048
|
|
mov r2, #0x3f
|
|
ldrh r1, [r0]
|
|
bic r1, r2
|
|
strh r1, [r0]
|
|
ldrh r3, [r0]
|
|
ldr r1, _021EF6BC ; =0xFFFFC0FF
|
|
and r1, r3
|
|
strh r1, [r0]
|
|
ldrh r1, [r0, #2]
|
|
add r3, r0, #0
|
|
sub r3, #0x48
|
|
bic r1, r2
|
|
strh r1, [r0, #2]
|
|
ldr r2, [r3]
|
|
ldr r1, _021EF6C8 ; =0xFFFF1FFF
|
|
add r0, #8
|
|
and r1, r2
|
|
str r1, [r3]
|
|
mov r1, #0x1f
|
|
mov r2, #0
|
|
bl G2x_SetBlendBrightness_
|
|
ldr r0, _021EF6CC ; =0x04000050
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021EF6B8: .word 0x04000048
|
|
_021EF6BC: .word 0xFFFFC0FF
|
|
_021EF6C0: .word 0x04000042
|
|
_021EF6C4: .word 0x04000046
|
|
_021EF6C8: .word 0xFFFF1FFF
|
|
_021EF6CC: .word 0x04000050
|
|
thumb_func_end ov101_021EF5A4
|
|
|
|
thumb_func_start ov101_021EF6D0
|
|
ov101_021EF6D0: ; 0x021EF6D0
|
|
mov r2, #1
|
|
ldrh r0, [r0, #0x12]
|
|
lsl r2, r1
|
|
lsl r1, r2, #0x10
|
|
lsl r0, r0, #0x17
|
|
lsr r1, r1, #0x10
|
|
lsr r0, r0, #0x17
|
|
and r0, r1
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF6D0
|
|
|
|
thumb_func_start ov101_021EF6E4
|
|
ov101_021EF6E4: ; 0x021EF6E4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021EF7C8 ; =gSystem
|
|
mov r2, #2
|
|
ldr r0, [r0, #0x48]
|
|
add r1, r0, #0
|
|
tst r1, r2
|
|
beq _021EF730
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
strb r1, [r0, #6]
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #1
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5DC8
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EF730:
|
|
mov r1, #1
|
|
add r3, r0, #0
|
|
tst r3, r1
|
|
beq _021EF766
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7334
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov101_021EF6D0
|
|
cmp r0, #0
|
|
bne _021EF754
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EF754:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov101_021EF50C
|
|
ldr r0, _021EF7CC ; =0x00000941
|
|
bl PlaySE
|
|
mov r0, #8
|
|
pop {r3, r4, r5, pc}
|
|
_021EF766:
|
|
mov r3, #0x20
|
|
tst r3, r0
|
|
beq _021EF77E
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
ldr r0, _021EF7D0 ; =0x0000093F
|
|
bl PlaySE
|
|
b _021EF7C2
|
|
_021EF77E:
|
|
mov r3, #0x10
|
|
tst r3, r0
|
|
beq _021EF794
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
ldr r0, _021EF7D0 ; =0x0000093F
|
|
bl PlaySE
|
|
b _021EF7C2
|
|
_021EF794:
|
|
mov r1, #0x40
|
|
tst r1, r0
|
|
beq _021EF7AC
|
|
ldr r0, [r4, #0xc]
|
|
add r1, r2, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
ldr r0, _021EF7D0 ; =0x0000093F
|
|
bl PlaySE
|
|
b _021EF7C2
|
|
_021EF7AC:
|
|
mov r1, #0x80
|
|
tst r0, r1
|
|
beq _021EF7C2
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E73AC
|
|
ldr r0, _021EF7D0 ; =0x0000093F
|
|
bl PlaySE
|
|
_021EF7C2:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021EF7C8: .word gSystem
|
|
_021EF7CC: .word 0x00000941
|
|
_021EF7D0: .word 0x0000093F
|
|
thumb_func_end ov101_021EF6E4
|
|
|
|
thumb_func_start ov101_021EF7D4
|
|
ov101_021EF7D4: ; 0x021EF7D4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
bl ov100_021E5924
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021EF83C
|
|
ldr r0, _021EF840 ; =ov101_021F83E4
|
|
bl sub_02025224
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021EF83C
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021EF6D0
|
|
cmp r0, #0
|
|
bne _021EF80A
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021EF80A:
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r0, [r0, #6]
|
|
cmp r0, #1
|
|
bne _021EF818
|
|
add r0, r5, #0
|
|
bl ov101_021EF4DC
|
|
_021EF818:
|
|
ldr r0, [r5, #0xc]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r0, #0x7c]
|
|
lsr r1, r1, #0x18
|
|
bl ov100_021E73C8
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021EF50C
|
|
ldr r0, _021EF844 ; =0x00000941
|
|
bl PlaySE
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0xc]
|
|
mov r0, #8
|
|
_021EF83C:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021EF840: .word ov101_021F83E4
|
|
_021EF844: .word 0x00000941
|
|
thumb_func_end ov101_021EF7D4
|
|
|
|
thumb_func_start ov101_021EF848
|
|
ov101_021EF848: ; 0x021EF848
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetArgs
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x5b
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
mov r1, #0x51
|
|
add r0, r4, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x5b
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r2, #0x51
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
bl memset
|
|
mov r1, #0
|
|
str r5, [r4, #0xc]
|
|
mov r0, #0x5b
|
|
str r0, [r4]
|
|
mov r0, #0x37
|
|
add r2, r1, #0
|
|
bl sub_02004EC4
|
|
add r0, r4, #0
|
|
bl ov101_021EF96C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF848
|
|
|
|
thumb_func_start ov101_021EF890
|
|
ov101_021EF890: ; 0x021EF890
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r4]
|
|
cmp r1, #0xe
|
|
bhi _021EF93C
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021EF8AA: ; jump table
|
|
.short _021EF8C8 - _021EF8AA - 2 ; case 0
|
|
.short _021EF8D0 - _021EF8AA - 2 ; case 1
|
|
.short _021EF8D8 - _021EF8AA - 2 ; case 2
|
|
.short _021EF900 - _021EF8AA - 2 ; case 3
|
|
.short _021EF910 - _021EF8AA - 2 ; case 4
|
|
.short _021EF8F8 - _021EF8AA - 2 ; case 5
|
|
.short _021EF908 - _021EF8AA - 2 ; case 6
|
|
.short _021EF8E0 - _021EF8AA - 2 ; case 7
|
|
.short _021EF8E8 - _021EF8AA - 2 ; case 8
|
|
.short _021EF8F0 - _021EF8AA - 2 ; case 9
|
|
.short _021EF918 - _021EF8AA - 2 ; case 10
|
|
.short _021EF920 - _021EF8AA - 2 ; case 11
|
|
.short _021EF928 - _021EF8AA - 2 ; case 12
|
|
.short _021EF930 - _021EF8AA - 2 ; case 13
|
|
.short _021EF938 - _021EF8AA - 2 ; case 14
|
|
_021EF8C8:
|
|
bl ov101_021EFA24
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF8D0:
|
|
bl ov101_021EFA48
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF8D8:
|
|
bl ov101_021EFAA4
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF8E0:
|
|
bl ov101_021EFAB8
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF8E8:
|
|
bl ov101_021EFAC0
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF8F0:
|
|
bl ov101_021EFAC8
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF8F8:
|
|
bl ov101_021EFAD0
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF900:
|
|
bl ov101_021EFADC
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF908:
|
|
bl ov101_021EFAE8
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF910:
|
|
bl ov101_021EFB08
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF918:
|
|
bl ov101_021EFB4C
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF920:
|
|
bl ov101_021EFB70
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF928:
|
|
bl ov101_021EFBD0
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF930:
|
|
bl ov101_021EFC58
|
|
str r0, [r4]
|
|
b _021EF93C
|
|
_021EF938:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EF93C:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EF890
|
|
|
|
thumb_func_start ov101_021EF940
|
|
ov101_021EF940: ; 0x021EF940
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov101_021EFA04
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0x80
|
|
ldrb r1, [r2, #5]
|
|
orr r0, r1
|
|
strb r0, [r2, #5]
|
|
ldr r4, [r4]
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
add r0, r4, #0
|
|
bl DestroyHeap
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EF940
|
|
|
|
thumb_func_start ov101_021EF96C
|
|
ov101_021EF96C: ; 0x021EF96C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, _021EFA00 ; =ov101_021F0944
|
|
str r4, [r0, #0x64]
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x5c]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EE7C
|
|
strb r0, [r4, #0x11]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4]
|
|
ldr r0, [r0, #0x28]
|
|
bl GSPlayerMisc_AllocAndCopyPhonebook
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
str r0, [r1]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x28]
|
|
bl GSPlayerMisc_FindEmptyGearPhonebookSlot
|
|
add r1, r4, #0
|
|
add r1, #0xcd
|
|
strb r0, [r1]
|
|
add r0, r4, #0
|
|
bl ov101_021F0D6C
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x20]
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _021EF9E6
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0xcb
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x20]
|
|
ldrb r1, [r0, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x20]
|
|
ldrb r1, [r0, #5]
|
|
add r0, r4, #0
|
|
add r0, #0xc9
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x20]
|
|
ldrb r1, [r0, #6]
|
|
add r0, r4, #0
|
|
add r0, #0xca
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #6]
|
|
pop {r4, pc}
|
|
_021EF9E6:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0xcb
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc9
|
|
strb r1, [r0]
|
|
add r4, #0xca
|
|
strb r1, [r4]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021EFA00: .word ov101_021F0944
|
|
thumb_func_end ov101_021EF96C
|
|
|
|
thumb_func_start ov101_021EFA04
|
|
ov101_021EFA04: ; 0x021EFA04
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F0D90
|
|
add r0, r4, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x5c]
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x60]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFA04
|
|
|
|
thumb_func_start ov101_021EFA24
|
|
ov101_021EFA24: ; 0x021EFA24
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021EFD20
|
|
cmp r0, #0
|
|
bne _021EFA34
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021EFA34:
|
|
ldr r0, [r4, #0xc]
|
|
ldrb r0, [r0, #5]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _021EFA42
|
|
mov r0, #0xc
|
|
pop {r4, pc}
|
|
_021EFA42:
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFA24
|
|
|
|
thumb_func_start ov101_021EFA48
|
|
ov101_021EFA48: ; 0x021EFA48
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F0C4C
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021EFA78
|
|
ldrb r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
bne _021EFA64
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5900
|
|
_021EFA64:
|
|
ldr r0, [r4, #0xc]
|
|
ldrb r1, [r0, #6]
|
|
cmp r1, #1
|
|
bne _021EFA72
|
|
bl ov100_021E59CC
|
|
b _021EFA78
|
|
_021EFA72:
|
|
add r0, r4, #0
|
|
bl ov101_021F0BA0
|
|
_021EFA78:
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021EFA9E
|
|
cmp r0, #4
|
|
beq _021EFA8A
|
|
cmp r0, #8
|
|
beq _021EFA92
|
|
b _021EFA96
|
|
_021EFA8A:
|
|
ldr r1, [r4, #0xc]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #0xb
|
|
pop {r4, pc}
|
|
_021EFA92:
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
_021EFA96:
|
|
ldr r1, [r4, #0xc]
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #0xd
|
|
pop {r4, pc}
|
|
_021EFA9E:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFA48
|
|
|
|
thumb_func_start ov101_021EFAA4
|
|
ov101_021EFAA4: ; 0x021EFAA4
|
|
push {r3, lr}
|
|
bl ov101_021EFD7C
|
|
cmp r0, #0
|
|
beq _021EFAB2
|
|
mov r0, #0xe
|
|
pop {r3, pc}
|
|
_021EFAB2:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFAA4
|
|
|
|
thumb_func_start ov101_021EFAB8
|
|
ov101_021EFAB8: ; 0x021EFAB8
|
|
ldr r3, _021EFABC ; =ov101_021EFDB4
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EFABC: .word ov101_021EFDB4
|
|
thumb_func_end ov101_021EFAB8
|
|
|
|
thumb_func_start ov101_021EFAC0
|
|
ov101_021EFAC0: ; 0x021EFAC0
|
|
ldr r3, _021EFAC4 ; =ov101_021EFE1C
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EFAC4: .word ov101_021EFE1C
|
|
thumb_func_end ov101_021EFAC0
|
|
|
|
thumb_func_start ov101_021EFAC8
|
|
ov101_021EFAC8: ; 0x021EFAC8
|
|
ldr r3, _021EFACC ; =ov101_021EFEC8
|
|
bx r3
|
|
.balign 4, 0
|
|
_021EFACC: .word ov101_021EFEC8
|
|
thumb_func_end ov101_021EFAC8
|
|
|
|
thumb_func_start ov101_021EFAD0
|
|
ov101_021EFAD0: ; 0x021EFAD0
|
|
push {r3, lr}
|
|
bl ov101_021EFFBC
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFAD0
|
|
|
|
thumb_func_start ov101_021EFADC
|
|
ov101_021EFADC: ; 0x021EFADC
|
|
push {r3, lr}
|
|
bl ov101_021EFFC8
|
|
mov r0, #6
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFADC
|
|
|
|
thumb_func_start ov101_021EFAE8
|
|
ov101_021EFAE8: ; 0x021EFAE8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
bl ov101_021F26F8
|
|
cmp r0, #0
|
|
bne _021EFAFC
|
|
mov r0, #6
|
|
pop {r4, pc}
|
|
_021EFAFC:
|
|
add r0, r4, #0
|
|
bl ov101_021F003C
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFAE8
|
|
|
|
thumb_func_start ov101_021EFB08
|
|
ov101_021EFB08: ; 0x021EFB08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F00BC
|
|
cmp r0, #0
|
|
bne _021EFB18
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
_021EFB18:
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl CopyWindowToVram
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
bl CopyWindowToVram
|
|
mov r0, #0
|
|
bl sub_02002B8C
|
|
add r0, r4, #0
|
|
bl ov101_021F0B84
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EFB08
|
|
|
|
thumb_func_start ov101_021EFB4C
|
|
ov101_021EFB4C: ; 0x021EFB4C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021EFF14
|
|
cmp r0, #0
|
|
beq _021EFB6C
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
add r4, #0xcb
|
|
ldrb r0, [r4]
|
|
cmp r0, #0
|
|
beq _021EFB68
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_021EFB68:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EFB6C:
|
|
mov r0, #0xa
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EFB4C
|
|
|
|
thumb_func_start ov101_021EFB70
|
|
ov101_021EFB70: ; 0x021EFB70
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021EFB82
|
|
cmp r0, #1
|
|
beq _021EFBA2
|
|
b _021EFBC8
|
|
_021EFB82:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EFBC8
|
|
_021EFBA2:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021EFBC8
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
_021EFBAE:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021EFBAE
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0xc
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EFBC8:
|
|
mov r0, #0xb
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFB70
|
|
|
|
thumb_func_start ov101_021EFBD0
|
|
ov101_021EFBD0: ; 0x021EFBD0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021EFBE4
|
|
cmp r0, #1
|
|
beq _021EFC2A
|
|
cmp r0, #2
|
|
beq _021EFC3E
|
|
b _021EFC54
|
|
_021EFBE4:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
bl SetBlendBrightness
|
|
mov r6, #1
|
|
mov r4, #0
|
|
add r7, r6, #0
|
|
_021EFBFE:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r7, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021EFBFE
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EFC54
|
|
_021EFC2A:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
bl ov100_021E5D3C
|
|
cmp r0, #0
|
|
beq _021EFC54
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021EFC54
|
|
_021EFC3E:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
str r1, [r5, #4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EFC54:
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021EFBD0
|
|
|
|
thumb_func_start ov101_021EFC58
|
|
ov101_021EFC58: ; 0x021EFC58
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #3
|
|
bhi _021EFD1A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EFC70: ; jump table
|
|
.short _021EFC78 - _021EFC70 - 2 ; case 0
|
|
.short _021EFC90 - _021EFC70 - 2 ; case 1
|
|
.short _021EFCA4 - _021EFC70 - 2 ; case 2
|
|
.short _021EFD02 - _021EFC70 - 2 ; case 3
|
|
_021EFC78:
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
b _021EFD1A
|
|
_021EFC90:
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
bl ov100_021E5D3C
|
|
cmp r0, #0
|
|
beq _021EFD1A
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
b _021EFD1A
|
|
_021EFCA4:
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
mov r5, #0
|
|
add r6, r5, #0
|
|
add r7, r5, #0
|
|
_021EFCDC:
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r0, r5, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r7, #0
|
|
bl ToggleBgLayer
|
|
add r5, r5, #1
|
|
cmp r5, #3
|
|
blt _021EFCDC
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
b _021EFD1A
|
|
_021EFD02:
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
add sp, #8
|
|
str r1, [r4, #4]
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021EFD1A:
|
|
mov r0, #0xd
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021EFC58
|
|
|
|
thumb_func_start ov101_021EFD20
|
|
ov101_021EFD20: ; 0x021EFD20
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _021EFD30
|
|
cmp r1, #1
|
|
beq _021EFD54
|
|
b _021EFD72
|
|
_021EFD30:
|
|
bl ov101_021F017C
|
|
add r0, r4, #0
|
|
bl ov101_021F0284
|
|
add r0, r4, #0
|
|
bl ov101_021F0578
|
|
add r0, r4, #0
|
|
bl ov101_021F05EC
|
|
add r0, r4, #0
|
|
bl ov101_021F072C
|
|
add r0, r4, #0
|
|
bl ov101_021F0388
|
|
b _021EFD72
|
|
_021EFD54:
|
|
bl ov101_021F075C
|
|
add r0, r4, #0
|
|
bl ov101_021F0880
|
|
add r0, r4, #0
|
|
bl ov101_021F0694
|
|
add r0, r4, #0
|
|
bl ov101_021F0900
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EFD72:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021EFD20
|
|
|
|
thumb_func_start ov101_021EFD7C
|
|
ov101_021EFD7C: ; 0x021EFD7C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F08DC
|
|
add r0, r4, #0
|
|
bl ov101_021F0720
|
|
add r0, r4, #0
|
|
bl ov101_021F0864
|
|
add r0, r4, #0
|
|
bl ov101_021F0748
|
|
add r0, r4, #0
|
|
bl ov101_021F0658
|
|
add r0, r4, #0
|
|
bl ov101_021F05CC
|
|
add r0, r4, #0
|
|
bl ov101_021F0370
|
|
add r0, r4, #0
|
|
bl ov101_021F0260
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021EFD7C
|
|
|
|
thumb_func_start ov101_021EFDB4
|
|
ov101_021EFDB4: ; 0x021EFDB4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021EFE18 ; =0x00000504
|
|
ldr r0, [r5, r0]
|
|
bl sub_020186A4
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021EFE14
|
|
ldr r0, _021EFE18 ; =0x00000504
|
|
ldr r0, [r5, r0]
|
|
bl sub_02018674
|
|
ldr r1, [r5, #0xc]
|
|
str r0, [r1, #0xc]
|
|
ldr r0, _021EFE18 ; =0x00000504
|
|
ldr r0, [r5, r0]
|
|
bl sub_02018680
|
|
cmp r4, #1
|
|
bne _021EFDF8
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
bl ov101_021F1804
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov101_021F09B0
|
|
mov r0, #8
|
|
pop {r3, r4, r5, pc}
|
|
_021EFDF8:
|
|
mov r1, #0
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
bl ov101_021F0ACC
|
|
cmp r4, #0
|
|
bne _021EFE0A
|
|
mov r0, #5
|
|
pop {r3, r4, r5, pc}
|
|
_021EFE0A:
|
|
add r0, r5, #0
|
|
bl ov101_021F0B84
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021EFE14:
|
|
mov r0, #7
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021EFE18: .word 0x00000504
|
|
thumb_func_end ov101_021EFDB4
|
|
|
|
thumb_func_start ov101_021EFE1C
|
|
ov101_021EFE1C: ; 0x021EFE1C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021EFEC0 ; =0x00000504
|
|
ldr r0, [r4, r0]
|
|
bl sub_020186A4
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _021EFE36
|
|
mov r0, #8
|
|
pop {r3, r4, r5, pc}
|
|
_021EFE36:
|
|
ldr r0, _021EFEC0 ; =0x00000504
|
|
ldr r0, [r4, r0]
|
|
bl sub_02018674
|
|
ldr r1, [r4, #0xc]
|
|
str r0, [r1, #0xc]
|
|
ldr r0, _021EFEC0 ; =0x00000504
|
|
ldr r0, [r4, r0]
|
|
bl sub_02018680
|
|
cmp r5, #4
|
|
bhi _021EFEAC
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021EFE5A: ; jump table
|
|
.short _021EFE64 - _021EFE5A - 2 ; case 0
|
|
.short _021EFE64 - _021EFE5A - 2 ; case 1
|
|
.short _021EFE64 - _021EFE5A - 2 ; case 2
|
|
.short _021EFE82 - _021EFE5A - 2 ; case 3
|
|
.short _021EFEAC - _021EFE5A - 2 ; case 4
|
|
_021EFE64:
|
|
lsl r1, r5, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021F0EB0
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov101_021F0ACC
|
|
add r0, r4, #0
|
|
bl ov101_021F0B84
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021EFE82:
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov101_021F0ACC
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
mov r1, #1
|
|
bl ov101_021F13C8
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
mov r1, #0xff
|
|
mov r2, #0
|
|
bl ov101_021F1290
|
|
ldr r1, _021EFEC4 ; =ov101_021F0978
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x5c]
|
|
mov r0, #9
|
|
pop {r3, r4, r5, pc}
|
|
_021EFEAC:
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov101_021F0ACC
|
|
add r0, r4, #0
|
|
bl ov101_021F0B84
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021EFEC0: .word 0x00000504
|
|
_021EFEC4: .word ov101_021F0978
|
|
thumb_func_end ov101_021EFE1C
|
|
|
|
thumb_func_start ov101_021EFEC8
|
|
ov101_021EFEC8: ; 0x021EFEC8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _021EFED8
|
|
cmp r1, #1
|
|
beq _021EFEE0
|
|
b _021EFF0A
|
|
_021EFED8:
|
|
bl ov101_021F0CE4
|
|
str r0, [r4, #8]
|
|
b _021EFF0A
|
|
_021EFEE0:
|
|
add r0, #0xe0
|
|
mov r1, #0
|
|
bl ov101_021F13C8
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov101_021F0ACC
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
mov r1, #1
|
|
bl ov101_021F1338
|
|
ldr r1, _021EFF10 ; =ov101_021F0944
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x5c]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021EFF0A:
|
|
mov r0, #9
|
|
pop {r4, pc}
|
|
nop
|
|
_021EFF10: .word ov101_021F0944
|
|
thumb_func_end ov101_021EFEC8
|
|
|
|
thumb_func_start ov101_021EFF14
|
|
ov101_021EFF14: ; 0x021EFF14
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _021EFF26
|
|
cmp r0, #1
|
|
beq _021EFFA4
|
|
b _021EFFB6
|
|
_021EFF26:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
add r0, r5, #0
|
|
add r0, #0xcb
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021EFF6C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r2, #0xb0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0x30
|
|
bl sub_02003E5C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
_021EFF6C:
|
|
add r1, r5, #0
|
|
add r1, #0xcb
|
|
ldrb r1, [r1]
|
|
add r0, r5, #0
|
|
bl ov101_021F0464
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021EFF7C:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021EFF7C
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
ldr r0, [r5, #8]
|
|
add r0, r0, #1
|
|
str r0, [r5, #8]
|
|
b _021EFFB6
|
|
_021EFFA4:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021EFFB6
|
|
mov r0, #0
|
|
str r0, [r5, #8]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021EFFB6:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov101_021EFF14
|
|
|
|
thumb_func_start ov101_021EFFBC
|
|
ov101_021EFFBC: ; 0x021EFFBC
|
|
push {r3, lr}
|
|
mov r1, #1
|
|
bl ov101_021F0464
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
thumb_func_end ov101_021EFFBC
|
|
|
|
thumb_func_start ov101_021EFFC8
|
|
ov101_021EFFC8: ; 0x021EFFC8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0xcb
|
|
ldrb r2, [r0]
|
|
cmp r2, #0
|
|
beq _021F0004
|
|
add r0, r5, #0
|
|
add r0, #0xca
|
|
ldrb r0, [r0]
|
|
add r1, r5, #0
|
|
add r3, r5, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, #0xc8
|
|
add r3, #0xc9
|
|
add r0, #0xc4
|
|
ldrb r1, [r1]
|
|
ldrb r3, [r3]
|
|
ldr r0, [r0]
|
|
bl ov101_021F1F64
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r0, #0xcb
|
|
strb r1, [r0]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x20]
|
|
strb r1, [r0]
|
|
b _021F001A
|
|
_021F0004:
|
|
mov r3, #0
|
|
add r1, r5, #0
|
|
add r0, r5, #0
|
|
str r3, [sp]
|
|
add r1, #0xc8
|
|
add r0, #0xc4
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0]
|
|
bl ov101_021F1F64
|
|
add r4, r0, #0
|
|
_021F001A:
|
|
cmp r4, #0
|
|
beq _021F0026
|
|
add r5, #0xc4
|
|
ldr r0, [r5]
|
|
bl ov101_021F1FF4
|
|
_021F0026:
|
|
mov r0, #1
|
|
bl sub_02002B8C
|
|
ldr r0, _021F0038 ; =ov101_021F8400
|
|
bl sub_02002C20
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F0038: .word ov101_021F8400
|
|
thumb_func_end ov101_021EFFC8
|
|
|
|
thumb_func_start ov101_021F003C
|
|
ov101_021F003C: ; 0x021F003C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl CopyWindowToVram
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
bl CopyWindowToVram
|
|
mov r0, #0
|
|
bl sub_02002B8C
|
|
bl sub_02002C40
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021F0464
|
|
add r0, r4, #0
|
|
bl ov101_021F0B84
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F003C
|
|
|
|
thumb_func_start ov101_021F0080
|
|
ov101_021F0080: ; 0x021F0080
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x20]
|
|
add r1, #0x21
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, _021F00B4 ; =0x00010200
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r4, #0
|
|
ldr r2, [r4, #0x20]
|
|
add r0, #0x48
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, _021F00B8 ; =0x000005F3
|
|
bl PlaySE
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F00B4: .word 0x00010200
|
|
_021F00B8: .word 0x000005F3
|
|
thumb_func_end ov101_021F0080
|
|
|
|
thumb_func_start ov101_021F00BC
|
|
ov101_021F00BC: ; 0x021F00BC
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #3
|
|
bhi _021F0136
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F00D4: ; jump table
|
|
.short _021F00DC - _021F00D4 - 2 ; case 0
|
|
.short _021F0106 - _021F00D4 - 2 ; case 1
|
|
.short _021F011E - _021F00D4 - 2 ; case 2
|
|
.short _021F011E - _021F00D4 - 2 ; case 3
|
|
_021F00DC:
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x20]
|
|
add r1, #0x21
|
|
bl ReadMsgDataIntoString
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, _021F0170 ; =0x00010200
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r4, #0
|
|
ldr r2, [r4, #0x20]
|
|
add r0, #0x48
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, _021F0174 ; =0x000005DC
|
|
bl PlaySE
|
|
b _021F0162
|
|
_021F0106:
|
|
ldr r0, _021F0174 ; =0x000005DC
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
beq _021F0116
|
|
add sp, #0x10
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F0116:
|
|
add r0, r4, #0
|
|
bl ov101_021F0080
|
|
b _021F0162
|
|
_021F011E:
|
|
ldr r0, _021F0178 ; =0x000005F3
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
beq _021F012E
|
|
add sp, #0x10
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F012E:
|
|
add r0, r4, #0
|
|
bl ov101_021F0080
|
|
b _021F0162
|
|
_021F0136:
|
|
ldr r0, _021F0178 ; =0x000005F3
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
beq _021F0146
|
|
add sp, #0x10
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F0146:
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl CopyWindowToVram
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F0162:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
nop
|
|
_021F0170: .word 0x00010200
|
|
_021F0174: .word 0x000005DC
|
|
_021F0178: .word 0x000005F3
|
|
thumb_func_end ov101_021F00BC
|
|
|
|
thumb_func_start ov101_021F017C
|
|
ov101_021F017C: ; 0x021F017C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xac
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
bl GX_SetGraphicsMode
|
|
ldr r4, _021F025C ; =ov101_021F8440
|
|
add r3, sp, #4
|
|
mov r2, #0x15
|
|
_021F0192:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021F0192
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #4
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x20
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x3c
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x58
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x74
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x90
|
|
bl InitBgFromTemplateEx
|
|
mov r4, #0
|
|
mov r6, #0x20
|
|
add r7, r4, #0
|
|
_021F0200:
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021F0200
|
|
mov r0, #0
|
|
mov r1, #1
|
|
bl SetBgPriority
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r1, #0
|
|
mov r3, #0x20
|
|
bl BgSetPosTextAndCommit
|
|
add sp, #0xac
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F025C: .word ov101_021F8440
|
|
thumb_func_end ov101_021F017C
|
|
|
|
thumb_func_start ov101_021F0260
|
|
ov101_021F0260: ; 0x021F0260
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl SetBgPriority
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5CA4
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0260
|
|
|
|
thumb_func_start ov101_021F0284
|
|
ov101_021F0284: ; 0x021F0284
|
|
push {r4, r5, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r0, #4
|
|
bl FontID_Alloc
|
|
ldr r1, [r5]
|
|
mov r0, #0x92
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
ldrb r0, [r5, #0x11]
|
|
add r2, r4, #0
|
|
mov r3, #0x92
|
|
add r0, #0x1c
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
ldrb r0, [r5, #0x11]
|
|
add r2, r4, #0
|
|
mov r3, #0x92
|
|
add r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
ldrb r0, [r5, #0x11]
|
|
add r2, r4, #0
|
|
mov r3, #0x92
|
|
add r0, #0x16
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
ldr r0, [r5]
|
|
ldr r3, _021F0368 ; =0x0000050C
|
|
str r0, [sp]
|
|
ldrb r1, [r5, #0x11]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
add r1, #0x22
|
|
add r3, r5, r3
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
ldr r1, _021F036C ; =0x00000508
|
|
mov r2, #0
|
|
str r0, [r5, r1]
|
|
add r0, r1, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x20
|
|
str r1, [sp]
|
|
mov r1, #0x14
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
str r2, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
add r3, r2, #0
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021F0368: .word 0x0000050C
|
|
_021F036C: .word 0x00000508
|
|
thumb_func_end ov101_021F0284
|
|
|
|
thumb_func_start ov101_021F0370
|
|
ov101_021F0370: ; 0x021F0370
|
|
push {r3, lr}
|
|
ldr r1, _021F0384 ; =0x00000508
|
|
ldr r0, [r0, r1]
|
|
bl FreeToHeap
|
|
mov r0, #4
|
|
bl FontID_Release
|
|
pop {r3, pc}
|
|
nop
|
|
_021F0384: .word 0x00000508
|
|
thumb_func_end ov101_021F0370
|
|
|
|
thumb_func_start ov101_021F0388
|
|
ov101_021F0388: ; 0x021F0388
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x92
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r0, #7
|
|
str r1, [sp]
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r2, [r5, #0x11]
|
|
ldr r0, [r0, #0x78]
|
|
ldr r3, [r5]
|
|
add r1, r4, #0
|
|
add r2, #0xa
|
|
bl sub_02003220
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r2, [r5, #0x11]
|
|
ldr r0, [r0, #0x78]
|
|
ldr r3, [r5]
|
|
add r1, r4, #0
|
|
add r2, r2, #4
|
|
bl sub_02003220
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0x40
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
bl sub_02003220
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #4]
|
|
mov r0, #0x40
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
bl sub_02003220
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0388
|
|
|
|
thumb_func_start ov101_021F0464
|
|
ov101_021F0464: ; 0x021F0464
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
add r4, r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r5, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r5, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
cmp r4, #0
|
|
beq _021F0508
|
|
mov r0, #8
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xb0
|
|
bl sub_02003E5C
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r2, #0xe0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0x20
|
|
bl sub_02003E5C
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x60
|
|
mov r3, #0x20
|
|
bl sub_02003E5C
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r2, #0
|
|
str r2, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0x40
|
|
bl sub_02003E5C
|
|
add r1, r5, #0
|
|
add r0, r5, #0
|
|
add r1, #0xc8
|
|
add r0, #0xc4
|
|
ldrb r1, [r1]
|
|
ldr r0, [r0]
|
|
bl PhoneContact_GetName
|
|
mov r1, #0
|
|
add r2, r0, #0
|
|
str r1, [sp]
|
|
ldr r0, _021F0574 ; =0x00010200
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0x58
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterized2
|
|
b _021F0552
|
|
_021F0508:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r2, #0xe0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0x20
|
|
bl sub_02003E5C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0x40
|
|
bl sub_02003E5C
|
|
_021F0552:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F0574: .word 0x00010200
|
|
thumb_func_end ov101_021F0464
|
|
|
|
thumb_func_start ov101_021F0578
|
|
ov101_021F0578: ; 0x021F0578
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
add r5, r7, #0
|
|
ldr r4, _021F05C4 ; =ov101_021F8420
|
|
mov r6, #0
|
|
add r5, #0x48
|
|
_021F0586:
|
|
ldrb r0, [r4, #2]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
ldrb r0, [r4, #3]
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r4, #4]
|
|
str r0, [sp, #8]
|
|
ldrb r0, [r4, #5]
|
|
str r0, [sp, #0xc]
|
|
ldrh r0, [r4, #6]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #0xc]
|
|
ldrb r2, [r4]
|
|
ldrb r3, [r4, #1]
|
|
ldr r0, [r0, #0x74]
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #4
|
|
blt _021F0586
|
|
ldr r0, _021F05C8 ; =0x000003E1
|
|
bl sub_020027F0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F05C4: .word ov101_021F8420
|
|
_021F05C8: .word 0x000003E1
|
|
thumb_func_end ov101_021F0578
|
|
|
|
thumb_func_start ov101_021F05CC
|
|
ov101_021F05CC: ; 0x021F05CC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
add r5, #0x48
|
|
_021F05D4:
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #4
|
|
blt _021F05D4
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F05CC
|
|
|
|
thumb_func_start ov101_021F05EC
|
|
ov101_021F05EC: ; 0x021F05EC
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r1, #0x1b
|
|
add r2, r1, #0
|
|
ldr r3, [r6]
|
|
mov r0, #0
|
|
add r2, #0xf4
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r6, #0x14]
|
|
ldr r2, [r6]
|
|
mov r0, #2
|
|
mov r1, #0x20
|
|
bl MessageFormat_new_custom
|
|
str r0, [r6, #0x18]
|
|
mov r0, #0xa
|
|
ldr r1, [r6]
|
|
lsl r0, r0, #6
|
|
bl String_New
|
|
str r0, [r6, #0x1c]
|
|
mov r0, #0xa
|
|
ldr r1, [r6]
|
|
lsl r0, r0, #6
|
|
bl String_New
|
|
str r0, [r6, #0x20]
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_021F0628:
|
|
add r1, r4, #0
|
|
ldr r0, [r6, #0x14]
|
|
add r1, #0x14
|
|
bl NewString_ReadMsgData
|
|
str r0, [r5, #0x24]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #8
|
|
blt _021F0628
|
|
ldr r0, [r6, #0xc]
|
|
ldr r0, [r0, #0x30]
|
|
bl Options_GetTextFrameDelay
|
|
add r6, #0x44
|
|
strb r0, [r6]
|
|
mov r0, #1
|
|
bl sub_02002BA8
|
|
mov r0, #1
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F05EC
|
|
|
|
thumb_func_start ov101_021F0658
|
|
ov101_021F0658: ; 0x021F0658
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_021F0660:
|
|
ldr r0, [r5, #0x24]
|
|
bl String_dtor
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #8
|
|
blt _021F0660
|
|
ldr r0, [r6, #0x20]
|
|
bl String_dtor
|
|
ldr r0, [r6, #0x1c]
|
|
bl String_dtor
|
|
ldr r0, [r6, #0x18]
|
|
bl MessageFormat_delete
|
|
ldr r0, [r6, #0x14]
|
|
bl DestroyMsgData
|
|
mov r0, #0
|
|
bl sub_02002BA8
|
|
mov r0, #0
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F0658
|
|
|
|
thumb_func_start ov101_021F0694
|
|
ov101_021F0694: ; 0x021F0694
|
|
push {r3, r4, lr}
|
|
sub sp, #0x3c
|
|
add r4, r0, #0
|
|
add r0, sp, #0
|
|
mov r1, #0
|
|
mov r2, #0x3c
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4]
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
add r0, #0xc
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
str r4, [sp, #0xc]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x74]
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
str r0, [sp, #0x14]
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
str r0, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
add r0, #0x44
|
|
ldrb r1, [r0]
|
|
add r0, sp, #0x20
|
|
strb r1, [r0, #0x18]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x20]
|
|
ldrh r1, [r0, #0x10]
|
|
add r0, sp, #0
|
|
strh r1, [r0, #0x34]
|
|
ldr r1, [r4, #0xc]
|
|
ldr r1, [r1, #0x20]
|
|
ldrh r1, [r1, #0x12]
|
|
strh r1, [r0, #0x36]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x24]
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x24]
|
|
bl SaveData_GetMomsSavingsAddr
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x34]
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x2c]
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x24]
|
|
bl Save_SysInfo_RTC_get
|
|
str r0, [sp, #0x30]
|
|
add r0, sp, #0
|
|
bl ov101_021F1D74
|
|
add r4, #0xc4
|
|
str r0, [r4]
|
|
add sp, #0x3c
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov101_021F0694
|
|
|
|
thumb_func_start ov101_021F0720
|
|
ov101_021F0720: ; 0x021F0720
|
|
ldr r3, _021F0728 ; =ov101_021F1E80
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
bx r3
|
|
.balign 4, 0
|
|
_021F0728: .word ov101_021F1E80
|
|
thumb_func_end ov101_021F0720
|
|
|
|
thumb_func_start ov101_021F072C
|
|
ov101_021F072C: ; 0x021F072C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #3
|
|
bl ov100_021E6978
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, [r4]
|
|
ldr r1, [r1, #0x78]
|
|
bl sub_02018424
|
|
add r4, #0xc0
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F072C
|
|
|
|
thumb_func_start ov101_021F0748
|
|
ov101_021F0748: ; 0x021F0748
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xc0
|
|
ldr r0, [r0]
|
|
bl sub_02018474
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E69C8
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F0748
|
|
|
|
thumb_func_start ov101_021F075C
|
|
ov101_021F075C: ; 0x021F075C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r4, _021F0858 ; =ov101_021F84E8
|
|
mov r7, #0
|
|
add r5, r6, #0
|
|
_021F0766:
|
|
ldr r1, [r6, #0xc]
|
|
add r2, r4, #0
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r5, #0
|
|
add r1, #0x88
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl sub_0200DD3C
|
|
add r0, r5, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r5, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r7, r7, #1
|
|
add r4, #0x28
|
|
add r5, r5, #4
|
|
cmp r7, #5
|
|
ble _021F0766
|
|
add r4, r6, #0
|
|
mov r7, #6
|
|
add r4, #0x18
|
|
mov r5, #0x90
|
|
_021F07B4:
|
|
ldr r1, [r6, #0xc]
|
|
ldr r2, _021F085C ; =ov101_021F85D8
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r4, #0
|
|
add r1, #0x88
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl sub_0200DD3C
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl sub_0200DD60
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r4, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r0, r4, #0
|
|
add r2, r5, #0
|
|
add r0, #0x88
|
|
sub r2, #0x80
|
|
lsl r2, r2, #0x10
|
|
ldr r0, [r0]
|
|
mov r1, #0xc
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DD88
|
|
add r7, r7, #1
|
|
add r4, r4, #4
|
|
add r5, #0x18
|
|
cmp r7, #0xc
|
|
ble _021F07B4
|
|
ldr r1, [r6, #0xc]
|
|
ldr r2, _021F0860 ; =ov101_021F8600
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
add r1, r6, #0
|
|
add r1, #0xbc
|
|
str r0, [r1]
|
|
add r0, r6, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl sub_0200DD3C
|
|
add r0, r6, #0
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r6, #0xbc
|
|
ldr r0, [r6]
|
|
mov r1, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F0858: .word ov101_021F84E8
|
|
_021F085C: .word ov101_021F85D8
|
|
_021F0860: .word ov101_021F8600
|
|
thumb_func_end ov101_021F075C
|
|
|
|
thumb_func_start ov101_021F0864
|
|
ov101_021F0864: ; 0x021F0864
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021F086A:
|
|
add r0, r5, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
bl sub_0200D018
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xe
|
|
blt _021F086A
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0864
|
|
|
|
thumb_func_start ov101_021F0880
|
|
ov101_021F0880: ; 0x021F0880
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
ldr r5, _021F08D4 ; =ov101_021F8404
|
|
str r0, [sp]
|
|
add r6, r7, #0
|
|
_021F088C:
|
|
ldrb r0, [r5]
|
|
ldr r1, [r7]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1d
|
|
bl ListMenuItems_ctor
|
|
ldr r1, _021F08D8 ; =0x000004E8
|
|
mov r4, #0
|
|
str r0, [r6, r1]
|
|
ldrb r0, [r5]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1d
|
|
cmp r0, #0
|
|
ble _021F08C4
|
|
_021F08A8:
|
|
ldr r0, _021F08D8 ; =0x000004E8
|
|
ldrb r2, [r5, #1]
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r7, #0x14]
|
|
add r2, r2, r4
|
|
add r3, r4, #0
|
|
bl ListMenuItems_AppendFromMsgData
|
|
ldrb r0, [r5]
|
|
add r4, r4, #1
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1d
|
|
cmp r4, r0
|
|
blt _021F08A8
|
|
_021F08C4:
|
|
ldr r0, [sp]
|
|
add r5, r5, #4
|
|
add r0, r0, #1
|
|
add r6, r6, #4
|
|
str r0, [sp]
|
|
cmp r0, #7
|
|
blt _021F088C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F08D4: .word ov101_021F8404
|
|
_021F08D8: .word 0x000004E8
|
|
thumb_func_end ov101_021F0880
|
|
|
|
thumb_func_start ov101_021F08DC
|
|
ov101_021F08DC: ; 0x021F08DC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
ldr r7, _021F08FC ; =0x000004E8
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_021F08E6:
|
|
ldr r0, _021F08FC ; =0x000004E8
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_dtor
|
|
str r6, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #7
|
|
blt _021F08E6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F08FC: .word 0x000004E8
|
|
thumb_func_end ov101_021F08DC
|
|
|
|
thumb_func_start ov101_021F0900
|
|
ov101_021F0900: ; 0x021F0900
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F0990
|
|
ldr r1, [r4, #0xc]
|
|
ldrb r0, [r1, #6]
|
|
cmp r0, #0
|
|
ldr r0, [r1, #0x7c]
|
|
bne _021F091C
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
pop {r4, pc}
|
|
_021F091C:
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5DC8
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
add r4, #0xe0
|
|
add r0, r4, #0
|
|
mov r1, #0xff
|
|
mov r2, #0
|
|
bl ov101_021F1290
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F0900
|
|
|
|
thumb_func_start ov101_021F0944
|
|
ov101_021F0944: ; 0x021F0944
|
|
ldr r3, _021F0950 ; =ov101_021F1290
|
|
add r0, #0xe0
|
|
mov r1, #0xff
|
|
mov r2, #1
|
|
bx r3
|
|
nop
|
|
_021F0950: .word ov101_021F1290
|
|
thumb_func_end ov101_021F0944
|
|
|
|
thumb_func_start ov101_021F0954
|
|
ov101_021F0954: ; 0x021F0954
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #6]
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
mov r1, #0xff
|
|
mov r2, #1
|
|
bl ov101_021F1290
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F0954
|
|
|
|
thumb_func_start ov101_021F0978
|
|
ov101_021F0978: ; 0x021F0978
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xe0
|
|
bl ov101_021F1804
|
|
add r4, #0xe0
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov101_021F1364
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F0978
|
|
|
|
thumb_func_start ov101_021F0990
|
|
ov101_021F0990: ; 0x021F0990
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F0F48
|
|
add r0, r4, #0
|
|
bl ov101_021F11B0
|
|
add r0, r4, #0
|
|
add r4, #0xe0
|
|
mov r2, #0
|
|
add r1, r4, #0
|
|
add r3, r2, #0
|
|
bl ov101_021F11E0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0990
|
|
|
|
thumb_func_start ov101_021F09B0
|
|
ov101_021F09B0: ; 0x021F09B0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x30
|
|
add r5, r0, #0
|
|
add r0, #0xcc
|
|
strb r1, [r0]
|
|
add r4, r2, #0
|
|
add r0, sp, #0x18
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
bl MI_CpuFill8
|
|
ldr r0, _021F0A74 ; =ov101_021F8628
|
|
add r2, sp, #0x18
|
|
ldrh r3, [r0]
|
|
add r1, sp, #0x18
|
|
strh r3, [r2]
|
|
ldrh r3, [r0, #2]
|
|
strh r3, [r2, #2]
|
|
ldrh r3, [r0, #4]
|
|
strh r3, [r2, #4]
|
|
ldrh r3, [r0, #6]
|
|
strh r3, [r2, #6]
|
|
ldrh r3, [r0, #8]
|
|
ldrh r0, [r0, #0xa]
|
|
strh r3, [r2, #8]
|
|
strh r0, [r2, #0xa]
|
|
lsl r3, r4, #2
|
|
ldr r0, _021F0A78 ; =0x000004E8
|
|
add r6, r5, r3
|
|
ldr r0, [r6, r0]
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x74]
|
|
str r0, [sp, #0x28]
|
|
ldr r0, _021F0A7C ; =ov101_021F8404
|
|
ldrb r6, [r0, r3]
|
|
lsl r6, r6, #0x1d
|
|
lsr r6, r6, #0x1d
|
|
strb r6, [r2, #0x14]
|
|
cmp r4, #1
|
|
bne _021F0A36
|
|
ldr r2, _021F0A80 ; =ov101_021F8407
|
|
ldr r4, _021F0A84 ; =ov101_021F8406
|
|
ldrb r2, [r2, r3]
|
|
str r2, [sp]
|
|
ldrb r0, [r0, r3]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _021F0A88 ; =ov101_021F0A94
|
|
str r0, [sp, #0xc]
|
|
str r5, [sp, #0x10]
|
|
mov r0, #1
|
|
str r0, [sp, #0x14]
|
|
ldr r2, [r5, #0xc]
|
|
add r0, r5, #0
|
|
ldr r2, [r2, #0xc]
|
|
add r0, #0xc0
|
|
lsl r2, r2, #0x18
|
|
ldrb r3, [r4, r3]
|
|
ldr r0, [r0]
|
|
lsr r2, r2, #0x18
|
|
bl sub_02018648
|
|
b _021F0A68
|
|
_021F0A36:
|
|
ldr r2, _021F0A80 ; =ov101_021F8407
|
|
ldr r4, _021F0A84 ; =ov101_021F8406
|
|
ldrb r2, [r2, r3]
|
|
str r2, [sp]
|
|
ldrb r0, [r0, r3]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, _021F0A8C ; =ov101_021F0AB8
|
|
str r0, [sp, #0xc]
|
|
str r5, [sp, #0x10]
|
|
mov r0, #1
|
|
str r0, [sp, #0x14]
|
|
ldr r2, [r5, #0xc]
|
|
add r0, r5, #0
|
|
ldr r2, [r2, #0xc]
|
|
add r0, #0xc0
|
|
lsl r2, r2, #0x18
|
|
ldrb r3, [r4, r3]
|
|
ldr r0, [r0]
|
|
lsr r2, r2, #0x18
|
|
bl sub_02018648
|
|
_021F0A68:
|
|
ldr r1, _021F0A90 ; =0x00000504
|
|
str r0, [r5, r1]
|
|
ldr r0, _021F0A90 ; =0x00000504
|
|
ldr r0, [r5, r0]
|
|
add sp, #0x30
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F0A74: .word ov101_021F8628
|
|
_021F0A78: .word 0x000004E8
|
|
_021F0A7C: .word ov101_021F8404
|
|
_021F0A80: .word ov101_021F8407
|
|
_021F0A84: .word ov101_021F8406
|
|
_021F0A88: .word ov101_021F0A94
|
|
_021F0A8C: .word ov101_021F0AB8
|
|
_021F0A90: .word 0x00000504
|
|
thumb_func_end ov101_021F09B0
|
|
|
|
thumb_func_start ov101_021F0A94
|
|
ov101_021F0A94: ; 0x021F0A94
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
cmp r3, #0
|
|
beq _021F0AA4
|
|
ldr r0, _021F0AB4 ; =0x00000941
|
|
bl PlaySE
|
|
_021F0AA4:
|
|
add r1, r5, #3
|
|
lsl r1, r1, #0x18
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, #1
|
|
bl ov101_021F0ACC
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021F0AB4: .word 0x00000941
|
|
thumb_func_end ov101_021F0A94
|
|
|
|
thumb_func_start ov101_021F0AB8
|
|
ov101_021F0AB8: ; 0x021F0AB8
|
|
push {r3, lr}
|
|
cmp r3, #0
|
|
beq _021F0AC4
|
|
ldr r0, _021F0AC8 ; =0x00000941
|
|
bl PlaySE
|
|
_021F0AC4:
|
|
pop {r3, pc}
|
|
nop
|
|
_021F0AC8: .word 0x00000941
|
|
thumb_func_end ov101_021F0AB8
|
|
|
|
thumb_func_start ov101_021F0ACC
|
|
ov101_021F0ACC: ; 0x021F0ACC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
cmp r2, #0
|
|
beq _021F0B48
|
|
ldr r0, _021F0B7C ; =0x0000050C
|
|
mov r1, #0x20
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0
|
|
str r1, [sp]
|
|
mov r1, #4
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
mov r1, #0x18
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
mov r3, #0x14
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
mov r1, #1
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x74]
|
|
bl CopyToBgTilemapRect
|
|
add r0, r5, #0
|
|
add r0, #0x78
|
|
mov r1, #5
|
|
bl FillWindowPixelBuffer
|
|
add r4, r5, #0
|
|
mov r0, #0
|
|
add r4, #0x24
|
|
lsl r6, r6, #2
|
|
ldr r1, [r4, r6]
|
|
add r2, r0, #0
|
|
bl FontID_String_GetWidth
|
|
mov r1, #1
|
|
lsl r1, r1, #8
|
|
sub r0, r1, r0
|
|
mov r1, #0
|
|
lsr r3, r0, #1
|
|
str r1, [sp]
|
|
ldr r0, _021F0B80 ; =0x00030205
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
ldr r2, [r4, r6]
|
|
add r0, #0x78
|
|
bl AddTextPrinterParameterized2
|
|
b _021F0B6C
|
|
_021F0B48:
|
|
add r0, #0x78
|
|
bl ClearWindowTilemapAndScheduleTransfer
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0x11
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
mov r2, #0
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl FillBgTilemapRect
|
|
_021F0B6C:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021F0B7C: .word 0x0000050C
|
|
_021F0B80: .word 0x00030205
|
|
thumb_func_end ov101_021F0ACC
|
|
|
|
thumb_func_start ov101_021F0B84
|
|
ov101_021F0B84: ; 0x021F0B84
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0xe0
|
|
bl ov101_021F1808
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
mov r1, #1
|
|
bl ov101_021F1338
|
|
add r0, r4, #0
|
|
bl ov101_021F0944
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F0B84
|
|
|
|
thumb_func_start ov101_021F0BA0
|
|
ov101_021F0BA0: ; 0x021F0BA0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021F0C44 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F0BF2
|
|
ldrb r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
bne _021F0BF2
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #1
|
|
strb r1, [r0, #6]
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
mov r2, #1
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5DC8
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
add r4, #0xe0
|
|
add r0, r4, #0
|
|
mov r1, #0xff
|
|
mov r2, #0
|
|
bl ov101_021F1290
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
_021F0BF2:
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
bl ov101_021F1408
|
|
cmp r0, #0
|
|
blt _021F0C3E
|
|
mov r1, #0xc
|
|
mul r1, r0
|
|
add r0, r4, r1
|
|
add r0, #0xf4
|
|
ldrb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0xc8
|
|
strb r1, [r0]
|
|
ldr r0, _021F0C48 ; =0x00000941
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
mov r1, #0
|
|
bl ov101_021F1338
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
bl ov101_021F1804
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov101_021F09B0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov101_021F0ACC
|
|
mov r0, #8
|
|
pop {r4, pc}
|
|
_021F0C3E:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F0C44: .word gSystem
|
|
_021F0C48: .word 0x00000941
|
|
thumb_func_end ov101_021F0BA0
|
|
|
|
thumb_func_start ov101_021F0C4C
|
|
ov101_021F0C4C: ; 0x021F0C4C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldrb r0, [r5, #0x10]
|
|
cmp r0, #0
|
|
bne _021F0C6C
|
|
ldr r0, [r5, #0xc]
|
|
bl ov100_021E5924
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021F0C6C
|
|
ldr r1, [r5, #0xc]
|
|
mov r2, #1
|
|
str r2, [r1, #0xc]
|
|
pop {r3, r4, r5, pc}
|
|
_021F0C6C:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
bl ov101_021F16A8
|
|
add r4, r0, #0
|
|
bmi _021F0CD8
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r0, [r0, #6]
|
|
cmp r0, #1
|
|
bne _021F0C86
|
|
add r0, r5, #0
|
|
bl ov101_021F0954
|
|
_021F0C86:
|
|
cmp r4, #0
|
|
bne _021F0C90
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
_021F0C90:
|
|
sub r1, r4, #1
|
|
mov r0, #0xc
|
|
mul r0, r1
|
|
add r0, r5, r0
|
|
add r0, #0xf4
|
|
ldrb r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
strb r1, [r0]
|
|
ldr r0, _021F0CE0 ; =0x00000941
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
mov r1, #0
|
|
bl ov101_021F1338
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
bl ov101_021F1804
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov101_021F09B0
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov101_021F0ACC
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0xc]
|
|
mov r0, #8
|
|
pop {r3, r4, r5, pc}
|
|
_021F0CD8:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F0CE0: .word 0x00000941
|
|
thumb_func_end ov101_021F0C4C
|
|
|
|
thumb_func_start ov101_021F0CE4
|
|
ov101_021F0CE4: ; 0x021F0CE4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
add r1, sp, #0
|
|
bl ov101_021F1768
|
|
add r4, r0, #0
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
bne _021F0D16
|
|
ldrb r0, [r5, #0x10]
|
|
cmp r0, #0
|
|
bne _021F0D0A
|
|
ldr r0, [r5, #0xc]
|
|
bl ov100_021E5900
|
|
_021F0D0A:
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
bl ov101_021F1564
|
|
add r4, r0, #0
|
|
b _021F0D1C
|
|
_021F0D16:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0xc]
|
|
_021F0D1C:
|
|
cmp r4, #0
|
|
bge _021F0D24
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F0D24:
|
|
add r0, r5, #0
|
|
add r0, #0xe2
|
|
ldrb r2, [r0]
|
|
cmp r4, r2
|
|
bne _021F0D32
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F0D32:
|
|
mov r1, #0xc
|
|
mul r1, r2
|
|
add r1, r5, r1
|
|
add r1, #0xf0
|
|
lsl r2, r4, #0x18
|
|
ldr r1, [r1]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021F0E0C
|
|
add r0, r5, #0
|
|
add r0, #0xe2
|
|
strb r4, [r0]
|
|
add r0, r5, #0
|
|
bl ov101_021F11B0
|
|
add r2, r5, #0
|
|
add r1, r5, #0
|
|
add r0, r5, #0
|
|
add r2, #0xe3
|
|
add r5, #0xe1
|
|
ldrb r2, [r2]
|
|
ldrb r3, [r5]
|
|
add r1, #0xe0
|
|
bl ov101_021F11E0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0CE4
|
|
|
|
thumb_func_start ov101_021F0D6C
|
|
ov101_021F0D6C: ; 0x021F0D6C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0xcd
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
ldr r0, [r4]
|
|
mul r1, r2
|
|
bl AllocFromHeap
|
|
add r1, r4, #0
|
|
add r1, #0xd4
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
bl ov101_021F1840
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0D6C
|
|
|
|
thumb_func_start ov101_021F0D90
|
|
ov101_021F0D90: ; 0x021F0D90
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0xd8
|
|
ldr r1, [r1]
|
|
mov r0, #0
|
|
ldrb r2, [r1, #1]
|
|
add r1, r4, #0
|
|
add r1, #0xd0
|
|
ldr r1, [r1]
|
|
add r0, r0, #1
|
|
strb r2, [r1]
|
|
add r1, r4, #0
|
|
add r1, #0xd8
|
|
ldr r2, [r1]
|
|
lsl r0, r0, #0x18
|
|
ldr r1, [r2, #8]
|
|
lsr r0, r0, #0x18
|
|
cmp r1, r2
|
|
beq _021F0DD6
|
|
_021F0DB8:
|
|
add r3, r4, #0
|
|
add r3, #0xd0
|
|
ldrb r5, [r1, #1]
|
|
add r2, r0, #0
|
|
ldr r3, [r3]
|
|
add r0, r0, #1
|
|
strb r5, [r3, r2]
|
|
add r2, r4, #0
|
|
add r2, #0xd8
|
|
lsl r0, r0, #0x18
|
|
ldr r1, [r1, #8]
|
|
ldr r2, [r2]
|
|
lsr r0, r0, #0x18
|
|
cmp r1, r2
|
|
bne _021F0DB8
|
|
_021F0DD6:
|
|
add r2, r4, #0
|
|
ldr r0, [r4, #0xc]
|
|
add r1, r4, #0
|
|
add r2, #0xcd
|
|
add r1, #0xd0
|
|
ldrb r2, [r2]
|
|
ldr r0, [r0, #0x28]
|
|
ldr r1, [r1]
|
|
bl GSPlayerMisc_SetPhonebookFromBuffer
|
|
add r2, r4, #0
|
|
add r2, #0xcd
|
|
add r0, r4, #0
|
|
ldrb r3, [r2]
|
|
add r0, #0xd4
|
|
mov r2, #0xc
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
mul r2, r3
|
|
bl MI_CpuFill8
|
|
add r4, #0xd4
|
|
ldr r0, [r4]
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0D90
|
|
|
|
thumb_func_start ov101_021F0E0C
|
|
ov101_021F0E0C: ; 0x021F0E0C
|
|
push {r3, r4, r5, r6}
|
|
ldr r5, [r1, #8]
|
|
ldr r4, [r1, #4]
|
|
mov r3, #0
|
|
str r5, [r4, #8]
|
|
ldr r5, [r1, #4]
|
|
ldr r4, [r1, #8]
|
|
str r5, [r4, #4]
|
|
add r4, r0, #0
|
|
add r4, #0xd8
|
|
ldr r4, [r4]
|
|
cmp r1, r4
|
|
bne _021F0E2E
|
|
add r4, r0, #0
|
|
ldr r5, [r1, #8]
|
|
add r4, #0xd8
|
|
str r5, [r4]
|
|
_021F0E2E:
|
|
add r4, r0, #0
|
|
add r4, #0xdc
|
|
ldr r4, [r4]
|
|
cmp r1, r4
|
|
bne _021F0E40
|
|
add r4, r0, #0
|
|
ldr r5, [r1, #4]
|
|
add r4, #0xdc
|
|
str r5, [r4]
|
|
_021F0E40:
|
|
add r4, r0, #0
|
|
add r4, #0xcd
|
|
ldrb r4, [r4]
|
|
sub r4, r4, #1
|
|
cmp r2, r4
|
|
bne _021F0E76
|
|
add r2, r0, #0
|
|
add r2, #0xdc
|
|
ldr r2, [r2]
|
|
str r2, [r1, #4]
|
|
add r2, r0, #0
|
|
add r2, #0xdc
|
|
ldr r2, [r2]
|
|
ldr r2, [r2, #8]
|
|
str r2, [r1, #8]
|
|
add r2, r0, #0
|
|
add r2, #0xdc
|
|
ldr r2, [r2]
|
|
str r1, [r2, #8]
|
|
add r2, r0, #0
|
|
add r2, #0xd8
|
|
ldr r2, [r2]
|
|
add r0, #0xdc
|
|
str r1, [r2, #4]
|
|
str r1, [r0]
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_021F0E76:
|
|
add r4, r0, #0
|
|
add r4, #0xd8
|
|
ldr r6, [r4]
|
|
add r4, r6, #0
|
|
_021F0E7E:
|
|
add r5, r3, #0
|
|
add r3, r3, #1
|
|
cmp r5, r2
|
|
beq _021F0E8A
|
|
ldr r4, [r4, #8]
|
|
b _021F0EA6
|
|
_021F0E8A:
|
|
str r4, [r1, #8]
|
|
ldr r2, [r4, #4]
|
|
str r2, [r1, #4]
|
|
str r1, [r2, #8]
|
|
add r2, r0, #0
|
|
str r1, [r4, #4]
|
|
add r2, #0xd8
|
|
ldr r2, [r2]
|
|
cmp r4, r2
|
|
bne _021F0EAA
|
|
add r0, #0xd8
|
|
str r1, [r0]
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
_021F0EA6:
|
|
cmp r4, r6
|
|
bne _021F0E7E
|
|
_021F0EAA:
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0E0C
|
|
|
|
thumb_func_start ov101_021F0EB0
|
|
ov101_021F0EB0: ; 0x021F0EB0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r0, #0xc4
|
|
ldr r0, [r0]
|
|
mov r3, #0
|
|
add r0, #0x84
|
|
ldr r2, [r0]
|
|
add r0, r6, #0
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
sub r4, r0, #1
|
|
cmp r4, #0
|
|
ble _021F0F10
|
|
add r2, r2, r1
|
|
_021F0ECC:
|
|
cmp r4, r3
|
|
ble _021F0F02
|
|
_021F0ED0:
|
|
add r0, r6, #0
|
|
add r0, #0xd0
|
|
ldr r7, [r0]
|
|
mov r0, #0x14
|
|
ldrb r5, [r7, r4]
|
|
ldrb r1, [r3, r7]
|
|
mul r0, r5
|
|
mov ip, r5
|
|
mov r5, #0x14
|
|
mul r5, r1
|
|
add r0, r2, r0
|
|
add r5, r2, r5
|
|
ldrb r0, [r0, #0x10]
|
|
ldrb r5, [r5, #0x10]
|
|
cmp r0, r5
|
|
bhs _021F0EFC
|
|
mov r0, ip
|
|
strb r0, [r3, r7]
|
|
add r0, r6, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, r4]
|
|
_021F0EFC:
|
|
sub r4, r4, #1
|
|
cmp r4, r3
|
|
bgt _021F0ED0
|
|
_021F0F02:
|
|
add r0, r6, #0
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
add r3, r3, #1
|
|
sub r4, r0, #1
|
|
cmp r3, r4
|
|
blt _021F0ECC
|
|
_021F0F10:
|
|
add r0, r6, #0
|
|
bl ov101_021F1840
|
|
add r0, r6, #0
|
|
bl ov101_021F11B0
|
|
add r0, r6, #0
|
|
add r2, r6, #0
|
|
mov r1, #0
|
|
add r0, #0xe1
|
|
strb r1, [r0]
|
|
add r0, r6, #0
|
|
add r0, #0xe1
|
|
ldrb r1, [r0]
|
|
add r0, r6, #0
|
|
add r0, #0xe3
|
|
strb r1, [r0]
|
|
add r1, r6, #0
|
|
add r0, r6, #0
|
|
add r2, #0xe3
|
|
add r6, #0xe1
|
|
ldrb r2, [r2]
|
|
ldrb r3, [r6]
|
|
add r1, #0xe0
|
|
bl ov101_021F11E0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F0EB0
|
|
|
|
thumb_func_start ov101_021F0F48
|
|
ov101_021F0F48: ; 0x021F0F48
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0xe0
|
|
ldr r2, _021F11AC ; =0x00000408
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl MI_CpuFill8
|
|
add r6, r4, #0
|
|
mov r7, #0
|
|
add r6, #0xc
|
|
_021F0F60:
|
|
add r0, r6, #0
|
|
bl ov101_021F18E0
|
|
add r7, r7, #1
|
|
add r6, #0xc
|
|
cmp r7, #0x4b
|
|
blt _021F0F60
|
|
add r0, r5, #0
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
mov r1, #0x39
|
|
lsl r1, r1, #4
|
|
strb r0, [r4]
|
|
add r0, r5, #0
|
|
add r0, #0x68
|
|
str r0, [r4, r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc4
|
|
ldr r2, [r0]
|
|
add r0, r1, #0
|
|
add r0, #0x6c
|
|
str r2, [r4, r0]
|
|
ldrb r2, [r4, #6]
|
|
mov r0, #1
|
|
mov r6, #0
|
|
bic r2, r0
|
|
add r0, r1, #0
|
|
strb r2, [r4, #6]
|
|
ldr r2, [r5, #0xc]
|
|
add r0, #0x70
|
|
add r2, #0xc
|
|
str r2, [r4, r0]
|
|
add r0, r5, #0
|
|
add r0, #0x10
|
|
add r1, #0x74
|
|
str r0, [r4, r1]
|
|
mov r1, #0xf3
|
|
add r2, r5, #0
|
|
add r3, r4, #0
|
|
lsl r1, r1, #2
|
|
_021F0FB0:
|
|
add r0, r2, #0
|
|
add r0, #0x98
|
|
ldr r0, [r0]
|
|
add r6, r6, #1
|
|
str r0, [r3, r1]
|
|
add r2, r2, #4
|
|
add r3, r3, #4
|
|
cmp r6, #2
|
|
blt _021F0FB0
|
|
mov r1, #0xf5
|
|
mov r6, #0
|
|
add r2, r5, #0
|
|
add r3, r4, #0
|
|
lsl r1, r1, #2
|
|
_021F0FCC:
|
|
add r0, r2, #0
|
|
add r0, #0xa0
|
|
ldr r0, [r0]
|
|
add r6, r6, #1
|
|
str r0, [r3, r1]
|
|
add r2, r2, #4
|
|
add r3, r3, #4
|
|
cmp r6, #6
|
|
blt _021F0FCC
|
|
mov r1, #0xfb
|
|
mov r3, #0
|
|
add r2, r4, #0
|
|
lsl r1, r1, #2
|
|
_021F0FE6:
|
|
add r0, r5, #0
|
|
add r0, #0x88
|
|
ldr r0, [r0]
|
|
add r3, r3, #1
|
|
str r0, [r2, r1]
|
|
add r5, r5, #4
|
|
add r2, r2, #4
|
|
cmp r3, #4
|
|
blt _021F0FE6
|
|
mov r3, #0xe5
|
|
lsl r3, r3, #2
|
|
mov r2, #1
|
|
strb r2, [r4, r3]
|
|
mov r1, #9
|
|
add r0, r3, #1
|
|
strb r1, [r4, r0]
|
|
mov r1, #2
|
|
add r0, r3, #2
|
|
strb r1, [r4, r0]
|
|
mov r0, #3
|
|
add r5, r3, #3
|
|
strb r0, [r4, r5]
|
|
add r6, r3, #4
|
|
mov r5, #4
|
|
strb r5, [r4, r6]
|
|
add r5, r3, #0
|
|
mov r6, #0xb
|
|
add r5, #0xa
|
|
strb r6, [r4, r5]
|
|
add r6, r3, #5
|
|
mov r5, #5
|
|
strb r5, [r4, r6]
|
|
mov r5, #0xa
|
|
add r6, r3, #6
|
|
strb r5, [r4, r6]
|
|
add r7, r3, #7
|
|
mov r6, #6
|
|
strb r6, [r4, r7]
|
|
add r7, r3, #0
|
|
add r7, #8
|
|
mov r6, #7
|
|
strb r6, [r4, r7]
|
|
add r7, r3, #0
|
|
add r7, #9
|
|
mov r6, #8
|
|
strb r6, [r4, r7]
|
|
add r6, r3, #0
|
|
add r6, #0xb
|
|
strb r5, [r4, r6]
|
|
add r5, r3, #1
|
|
add r7, r3, #2
|
|
ldrb r6, [r4, r5]
|
|
ldrb r5, [r4, r3]
|
|
ldrb r7, [r4, r7]
|
|
lsl r5, r5, #0x18
|
|
lsl r7, r7, #0x18
|
|
lsr r5, r5, #8
|
|
lsr r7, r7, #0x10
|
|
orr r5, r7
|
|
orr r6, r5
|
|
add r5, r3, #0
|
|
add r5, #0xc
|
|
str r6, [r4, r5]
|
|
add r5, r3, #6
|
|
ldrb r6, [r4, r5]
|
|
add r5, r3, #5
|
|
add r7, r3, #7
|
|
ldrb r5, [r4, r5]
|
|
ldrb r7, [r4, r7]
|
|
lsl r5, r5, #0x18
|
|
lsl r7, r7, #0x18
|
|
lsr r5, r5, #8
|
|
lsr r7, r7, #0x10
|
|
orr r5, r7
|
|
orr r6, r5
|
|
add r5, r3, #0
|
|
add r5, #0x10
|
|
str r6, [r4, r5]
|
|
add r5, r3, #1
|
|
ldrb r6, [r4, r5]
|
|
add r5, r3, #3
|
|
add r7, r3, #4
|
|
ldrb r5, [r4, r5]
|
|
ldrb r7, [r4, r7]
|
|
lsl r5, r5, #0x18
|
|
lsl r7, r7, #0x18
|
|
lsr r5, r5, #8
|
|
lsr r7, r7, #0x10
|
|
orr r5, r7
|
|
orr r6, r5
|
|
add r5, r3, #0
|
|
add r5, #0x14
|
|
str r6, [r4, r5]
|
|
add r5, r3, #6
|
|
ldrb r6, [r4, r5]
|
|
add r5, r3, #0
|
|
add r7, r3, #0
|
|
add r5, #8
|
|
add r7, #9
|
|
ldrb r5, [r4, r5]
|
|
ldrb r7, [r4, r7]
|
|
lsl r5, r5, #0x18
|
|
lsl r7, r7, #0x18
|
|
lsr r5, r5, #8
|
|
lsr r7, r7, #0x10
|
|
orr r5, r7
|
|
orr r6, r5
|
|
add r5, r3, #0
|
|
add r5, #0x18
|
|
str r6, [r4, r5]
|
|
add r5, r3, #0
|
|
add r5, #0x1c
|
|
strb r2, [r4, r5]
|
|
add r2, r3, #0
|
|
mov r5, #0xc
|
|
add r2, #0x1d
|
|
strb r5, [r4, r2]
|
|
add r2, r3, #0
|
|
add r2, #0x1e
|
|
strb r1, [r4, r2]
|
|
add r1, r3, #0
|
|
add r1, #0x1f
|
|
strb r0, [r4, r1]
|
|
add r1, r3, #0
|
|
add r2, r3, #0
|
|
add r1, #0x20
|
|
mov r0, #4
|
|
strb r0, [r4, r1]
|
|
add r0, r3, #0
|
|
mov r1, #0xe
|
|
add r0, #0x26
|
|
strb r1, [r4, r0]
|
|
add r1, r3, #0
|
|
add r1, #0x21
|
|
mov r0, #5
|
|
strb r0, [r4, r1]
|
|
add r1, r3, #0
|
|
mov r0, #0xd
|
|
add r1, #0x22
|
|
strb r0, [r4, r1]
|
|
add r2, #0x23
|
|
mov r1, #6
|
|
strb r1, [r4, r2]
|
|
add r2, r3, #0
|
|
add r2, #0x24
|
|
mov r1, #7
|
|
strb r1, [r4, r2]
|
|
add r2, r3, #0
|
|
add r2, #0x25
|
|
mov r1, #8
|
|
strb r1, [r4, r2]
|
|
add r1, r3, #0
|
|
add r1, #0x27
|
|
strb r0, [r4, r1]
|
|
add r1, r3, #0
|
|
add r1, #0x1c
|
|
ldrb r1, [r4, r1]
|
|
add r0, r3, #0
|
|
add r0, #0x1d
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #8
|
|
add r1, r3, #0
|
|
add r1, #0x1e
|
|
ldrb r1, [r4, r1]
|
|
ldrb r0, [r4, r0]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x10
|
|
orr r1, r2
|
|
orr r1, r0
|
|
add r0, r3, #0
|
|
add r0, #0x28
|
|
str r1, [r4, r0]
|
|
add r1, r3, #0
|
|
add r1, #0x21
|
|
ldrb r1, [r4, r1]
|
|
add r0, r3, #0
|
|
add r0, #0x22
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #8
|
|
add r1, r3, #0
|
|
add r1, #0x23
|
|
ldrb r1, [r4, r1]
|
|
ldrb r0, [r4, r0]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x10
|
|
orr r1, r2
|
|
orr r1, r0
|
|
add r0, r3, #0
|
|
add r0, #0x2c
|
|
str r1, [r4, r0]
|
|
add r1, r3, #0
|
|
add r1, #0x1f
|
|
ldrb r1, [r4, r1]
|
|
add r0, r3, #0
|
|
add r0, #0x1d
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #8
|
|
add r1, r3, #0
|
|
add r1, #0x20
|
|
ldrb r1, [r4, r1]
|
|
ldrb r0, [r4, r0]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x10
|
|
orr r1, r2
|
|
orr r1, r0
|
|
add r0, r3, #0
|
|
add r0, #0x30
|
|
str r1, [r4, r0]
|
|
add r1, r3, #0
|
|
add r1, #0x24
|
|
ldrb r1, [r4, r1]
|
|
add r0, r3, #0
|
|
add r0, #0x22
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #8
|
|
add r1, r3, #0
|
|
add r1, #0x25
|
|
ldrb r1, [r4, r1]
|
|
ldrb r0, [r4, r0]
|
|
add r3, #0x34
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x10
|
|
orr r1, r2
|
|
orr r0, r1
|
|
str r0, [r4, r3]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F11AC: .word 0x00000408
|
|
thumb_func_end ov101_021F0F48
|
|
|
|
thumb_func_start ov101_021F11B0
|
|
ov101_021F11B0: ; 0x021F11B0
|
|
push {r3, r4}
|
|
add r3, r0, #0
|
|
add r1, r0, #0
|
|
add r0, #0xe0
|
|
add r1, #0xd8
|
|
ldr r2, [r1]
|
|
ldrb r0, [r0]
|
|
add r3, #0xe0
|
|
mov r1, #0
|
|
cmp r0, #0
|
|
ble _021F11DC
|
|
add r4, r3, #0
|
|
_021F11C8:
|
|
strb r1, [r4, #0xc]
|
|
ldrb r0, [r2, #1]
|
|
add r1, r1, #1
|
|
strb r0, [r4, #0x14]
|
|
str r2, [r4, #0x10]
|
|
ldrb r0, [r3]
|
|
ldr r2, [r2, #8]
|
|
add r4, #0xc
|
|
cmp r1, r0
|
|
blt _021F11C8
|
|
_021F11DC:
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov101_021F11B0
|
|
|
|
thumb_func_start ov101_021F11E0
|
|
ov101_021F11E0: ; 0x021F11E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r2, [sp, #8]
|
|
add r5, r1, #0
|
|
str r3, [sp, #0xc]
|
|
str r0, [sp, #4]
|
|
ldrb r1, [r5]
|
|
ldr r0, [sp, #8]
|
|
cmp r0, r1
|
|
blo _021F11F8
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
_021F11F8:
|
|
add r0, r5, #0
|
|
bl ov101_021F19E4
|
|
mov r6, #0
|
|
strb r6, [r5, #5]
|
|
ldr r0, [sp, #8]
|
|
add r7, r6, #0
|
|
strb r0, [r5, #3]
|
|
mov r0, #0xff
|
|
strb r0, [r5, #2]
|
|
ldr r4, [sp, #8]
|
|
_021F120E:
|
|
ldrb r0, [r5]
|
|
cmp r4, r0
|
|
blt _021F121C
|
|
sub r0, r4, #1
|
|
strb r0, [r5, #4]
|
|
strb r6, [r5, #5]
|
|
b _021F1238
|
|
_021F121C:
|
|
add r1, r6, #1
|
|
lsl r1, r1, #0x18
|
|
lsl r2, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
add r3, r7, #0
|
|
str r7, [sp]
|
|
bl ov101_021F1A40
|
|
add r6, r6, #1
|
|
add r4, r4, #1
|
|
cmp r6, #6
|
|
blt _021F120E
|
|
_021F1238:
|
|
ldrb r0, [r5, #5]
|
|
cmp r0, #0
|
|
bne _021F1248
|
|
strb r6, [r5, #5]
|
|
ldr r0, [sp, #8]
|
|
sub r1, r6, #1
|
|
add r0, r1, r0
|
|
strb r0, [r5, #4]
|
|
_021F1248:
|
|
ldrb r1, [r5, #5]
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r1
|
|
blo _021F1254
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
_021F1254:
|
|
ldr r0, [sp, #0xc]
|
|
strb r0, [r5, #1]
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl CopyWindowToVram
|
|
add r0, r5, #0
|
|
bl ov101_021F1B48
|
|
ldr r0, [sp, #4]
|
|
add r0, #0xcb
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021F1282
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov101_021F1290
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1282:
|
|
ldr r1, [sp, #0xc]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov101_021F1290
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021F11E0
|
|
|
|
thumb_func_start ov101_021F1290
|
|
ov101_021F1290: ; 0x021F1290
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
cmp r2, #0
|
|
beq _021F12B4
|
|
mov r7, #0xfb
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #2
|
|
_021F12A2:
|
|
ldr r0, [r5, r7]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _021F12A2
|
|
b _021F12CC
|
|
_021F12B4:
|
|
mov r7, #0xfb
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
lsl r7, r7, #2
|
|
_021F12BC:
|
|
ldr r0, [r4, r7]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #4
|
|
blt _021F12BC
|
|
_021F12CC:
|
|
ldr r0, [sp]
|
|
cmp r0, #6
|
|
blo _021F12D6
|
|
ldrb r0, [r6, #1]
|
|
str r0, [sp]
|
|
_021F12D6:
|
|
ldrb r1, [r6, #5]
|
|
ldrb r0, [r6, #1]
|
|
cmp r0, r1
|
|
blo _021F12E6
|
|
sub r0, r1, #1
|
|
strb r0, [r6, #1]
|
|
ldrb r0, [r6, #1]
|
|
str r0, [sp]
|
|
_021F12E6:
|
|
ldr r0, [sp]
|
|
mov r1, #0x18
|
|
add r4, r0, #0
|
|
mul r4, r1
|
|
add r5, r4, #0
|
|
mov r0, #0xfb
|
|
add r5, #8
|
|
lsl r0, r0, #2
|
|
lsl r2, r5, #0x10
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DD88
|
|
mov r0, #0x3f
|
|
add r4, #0x1e
|
|
lsl r0, r0, #4
|
|
lsl r2, r4, #0x10
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0x10
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DD88
|
|
mov r0, #0xfd
|
|
lsl r0, r0, #2
|
|
lsl r2, r5, #0x10
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0xe0
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DD88
|
|
mov r0, #0xfe
|
|
lsl r0, r0, #2
|
|
lsl r2, r4, #0x10
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0xe0
|
|
asr r2, r2, #0x10
|
|
bl sub_0200DD88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F1290
|
|
|
|
thumb_func_start ov101_021F1338
|
|
ov101_021F1338: ; 0x021F1338
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r7, #0xfb
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
mov r4, #0
|
|
lsl r7, r7, #2
|
|
_021F1344:
|
|
mov r0, #0xfb
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl Set2dSpriteAnimActiveFlag
|
|
ldr r0, [r5, r7]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #4
|
|
blt _021F1344
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F1338
|
|
|
|
thumb_func_start ov101_021F1364
|
|
ov101_021F1364: ; 0x021F1364
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
cmp r2, #0
|
|
beq _021F13AE
|
|
ldrb r0, [r5, #5]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
ble _021F13C6
|
|
add r4, r5, #0
|
|
_021F1378:
|
|
mov r0, #0xf5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
cmp r7, r6
|
|
bne _021F1396
|
|
mov r0, #0xf5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #7
|
|
bl Set2dSpriteAnimSeqNo
|
|
b _021F13A2
|
|
_021F1396:
|
|
mov r0, #0xf5
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #6
|
|
bl Set2dSpriteAnimSeqNo
|
|
_021F13A2:
|
|
ldrb r0, [r5, #5]
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, r0
|
|
blt _021F1378
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F13AE:
|
|
mov r4, #0
|
|
mov r6, #0xf5
|
|
add r7, r4, #0
|
|
lsl r6, r6, #2
|
|
_021F13B6:
|
|
ldr r0, [r5, r6]
|
|
add r1, r7, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _021F13B6
|
|
_021F13C6:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021F1364
|
|
|
|
thumb_func_start ov101_021F13C8
|
|
ov101_021F13C8: ; 0x021F13C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
ldrb r2, [r4, #6]
|
|
bne _021F13F2
|
|
mov r1, #0xfe
|
|
bic r2, r1
|
|
strb r2, [r4, #6]
|
|
mov r1, #0xff
|
|
mov r2, #0
|
|
bl ov101_021F1364
|
|
add r0, r4, #0
|
|
bl ov101_021F1808
|
|
ldrb r1, [r4, #1]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov101_021F1290
|
|
pop {r4, pc}
|
|
_021F13F2:
|
|
mov r1, #0xfe
|
|
bic r2, r1
|
|
mov r1, #2
|
|
orr r1, r2
|
|
strb r1, [r4, #6]
|
|
ldrb r1, [r4, #1]
|
|
mov r2, #1
|
|
bl ov101_021F1364
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F13C8
|
|
|
|
thumb_func_start ov101_021F1408
|
|
ov101_021F1408: ; 0x021F1408
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldrb r1, [r5, #7]
|
|
lsl r2, r1, #0x1f
|
|
lsr r2, r2, #0x1f
|
|
beq _021F141E
|
|
bl ov101_021F1D44
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F141E:
|
|
lsl r2, r1, #0x18
|
|
lsr r2, r2, #0x1b
|
|
beq _021F143C
|
|
mov r0, #0xf8
|
|
bic r1, r0
|
|
sub r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x18
|
|
orr r0, r1
|
|
strb r0, [r5, #7]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F143C:
|
|
ldrb r6, [r5, #3]
|
|
ldrb r1, [r5, #1]
|
|
ldr r7, _021F1558 ; =gSystem
|
|
mov r3, #1
|
|
add r1, r6, r1
|
|
lsl r1, r1, #0x18
|
|
ldr r2, [r7, #0x48]
|
|
lsr r4, r1, #0x18
|
|
add r1, r2, #0
|
|
tst r1, r3
|
|
beq _021F146E
|
|
strb r4, [r5, #2]
|
|
str r3, [sp]
|
|
ldrb r1, [r5, #1]
|
|
ldrb r2, [r5, #2]
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021F1A40
|
|
ldr r0, _021F155C ; =0x00000941
|
|
bl PlaySE
|
|
ldrb r0, [r5, #2]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F146E:
|
|
ldr r3, [r7, #0x4c]
|
|
mov r0, #0x40
|
|
add r1, r3, #0
|
|
tst r1, r0
|
|
beq _021F14BC
|
|
cmp r4, #0
|
|
bne _021F1480
|
|
sub r0, #0x41
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1480:
|
|
ldr r0, _021F1560 ; =0x0000093F
|
|
bl PlaySE
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #0
|
|
bne _021F149E
|
|
cmp r4, #0
|
|
beq _021F1498
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021F1B94
|
|
_021F1498:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F149E:
|
|
sub r0, r0, #1
|
|
strb r0, [r5, #1]
|
|
ldrb r1, [r5, #1]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov101_021F1290
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #0xf8
|
|
bic r1, r0
|
|
mov r0, #0x10
|
|
orr r1, r0
|
|
strb r1, [r5, #7]
|
|
sub r0, #0x11
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F14BC:
|
|
mov r0, #0x80
|
|
add r1, r3, #0
|
|
tst r1, r0
|
|
beq _021F1510
|
|
ldrb r1, [r5]
|
|
sub r1, r1, #1
|
|
cmp r4, r1
|
|
blt _021F14D0
|
|
sub r0, #0x81
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F14D0:
|
|
ldr r0, _021F1560 ; =0x0000093F
|
|
bl PlaySE
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #5
|
|
bne _021F14F2
|
|
ldrb r0, [r5]
|
|
sub r0, r0, #1
|
|
cmp r4, r0
|
|
bge _021F14EC
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021F1B94
|
|
_021F14EC:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F14F2:
|
|
add r0, r0, #1
|
|
strb r0, [r5, #1]
|
|
ldrb r1, [r5, #1]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov101_021F1290
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #0xf8
|
|
bic r1, r0
|
|
mov r0, #0x10
|
|
orr r1, r0
|
|
strb r1, [r5, #7]
|
|
sub r0, #0x11
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1510:
|
|
mov r0, #0x20
|
|
tst r0, r2
|
|
beq _021F152E
|
|
cmp r6, #0
|
|
beq _021F1528
|
|
ldr r0, _021F1560 ; =0x0000093F
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021F1C98
|
|
_021F1528:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F152E:
|
|
mov r0, #0x10
|
|
add r1, r2, #0
|
|
tst r1, r0
|
|
beq _021F1552
|
|
ldrb r0, [r5]
|
|
add r1, r6, #6
|
|
cmp r1, r0
|
|
bge _021F154C
|
|
ldr r0, _021F1560 ; =0x0000093F
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021F1C98
|
|
_021F154C:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1552:
|
|
sub r0, #0x11
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F1558: .word gSystem
|
|
_021F155C: .word 0x00000941
|
|
_021F1560: .word 0x0000093F
|
|
thumb_func_end ov101_021F1408
|
|
|
|
thumb_func_start ov101_021F1564
|
|
ov101_021F1564: ; 0x021F1564
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldrb r1, [r5, #7]
|
|
lsl r2, r1, #0x1f
|
|
lsr r2, r2, #0x1f
|
|
beq _021F157A
|
|
bl ov101_021F1D44
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021F157A:
|
|
lsl r0, r1, #0x18
|
|
lsr r2, r0, #0x1b
|
|
beq _021F1598
|
|
mov r0, #0xf8
|
|
bic r1, r0
|
|
sub r0, r2, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x18
|
|
orr r0, r1
|
|
strb r0, [r5, #7]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021F1598:
|
|
ldrb r2, [r5, #3]
|
|
ldrb r0, [r5, #1]
|
|
ldr r3, _021F16A0 ; =gSystem
|
|
add r0, r2, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r1, [r3, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _021F15B0
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F15B0:
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021F15BA
|
|
ldrb r0, [r5, #2]
|
|
pop {r4, r5, r6, pc}
|
|
_021F15BA:
|
|
ldr r6, [r3, #0x4c]
|
|
mov r0, #0x40
|
|
add r3, r6, #0
|
|
tst r3, r0
|
|
beq _021F1608
|
|
cmp r4, #0
|
|
bne _021F15CC
|
|
sub r0, #0x41
|
|
pop {r4, r5, r6, pc}
|
|
_021F15CC:
|
|
ldr r0, _021F16A4 ; =0x0000093F
|
|
bl PlaySE
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #0
|
|
bne _021F15EA
|
|
cmp r4, #0
|
|
beq _021F15E4
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021F1B94
|
|
_021F15E4:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021F15EA:
|
|
sub r0, r0, #1
|
|
strb r0, [r5, #1]
|
|
ldrb r1, [r5, #1]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov101_021F1364
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #0xf8
|
|
bic r1, r0
|
|
mov r0, #0x10
|
|
orr r1, r0
|
|
strb r1, [r5, #7]
|
|
sub r0, #0x11
|
|
pop {r4, r5, r6, pc}
|
|
_021F1608:
|
|
mov r0, #0x80
|
|
add r3, r6, #0
|
|
tst r3, r0
|
|
beq _021F165C
|
|
ldrb r1, [r5]
|
|
sub r1, r1, #1
|
|
cmp r4, r1
|
|
blt _021F161C
|
|
sub r0, #0x81
|
|
pop {r4, r5, r6, pc}
|
|
_021F161C:
|
|
ldr r0, _021F16A4 ; =0x0000093F
|
|
bl PlaySE
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #5
|
|
bne _021F163E
|
|
ldrb r0, [r5]
|
|
sub r0, r0, #1
|
|
cmp r4, r0
|
|
bge _021F1638
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021F1B94
|
|
_021F1638:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021F163E:
|
|
add r0, r0, #1
|
|
strb r0, [r5, #1]
|
|
ldrb r1, [r5, #1]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl ov101_021F1364
|
|
ldrb r1, [r5, #7]
|
|
mov r0, #0xf8
|
|
bic r1, r0
|
|
mov r0, #0x10
|
|
orr r1, r0
|
|
strb r1, [r5, #7]
|
|
sub r0, #0x11
|
|
pop {r4, r5, r6, pc}
|
|
_021F165C:
|
|
mov r0, #0x20
|
|
tst r0, r1
|
|
beq _021F167A
|
|
cmp r2, #0
|
|
beq _021F1674
|
|
ldr r0, _021F16A4 ; =0x0000093F
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021F1C98
|
|
_021F1674:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021F167A:
|
|
mov r0, #0x10
|
|
tst r1, r0
|
|
beq _021F169C
|
|
ldrb r0, [r5]
|
|
add r1, r2, #6
|
|
cmp r1, r0
|
|
bge _021F1696
|
|
ldr r0, _021F16A4 ; =0x0000093F
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021F1C98
|
|
_021F1696:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021F169C:
|
|
sub r0, #0x11
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F16A0: .word gSystem
|
|
_021F16A4: .word 0x0000093F
|
|
thumb_func_end ov101_021F1564
|
|
|
|
thumb_func_start ov101_021F16A8
|
|
ov101_021F16A8: ; 0x021F16A8
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, #7]
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
beq _021F16C2
|
|
bl ov101_021F1D44
|
|
mov r0, #0
|
|
add sp, #4
|
|
mvn r0, r0
|
|
pop {r3, r4, pc}
|
|
_021F16C2:
|
|
ldr r0, _021F175C ; =ov101_021F8634
|
|
bl sub_02025224
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021F16D6
|
|
add sp, #4
|
|
add r0, r1, #0
|
|
pop {r3, r4, pc}
|
|
_021F16D6:
|
|
cmp r0, #6
|
|
bge _021F1714
|
|
ldrb r1, [r4, #5]
|
|
cmp r0, r1
|
|
bge _021F1714
|
|
strb r0, [r4, #1]
|
|
ldrb r1, [r4, #3]
|
|
mov r3, #1
|
|
add r0, r1, r0
|
|
strb r0, [r4, #2]
|
|
str r3, [sp]
|
|
ldrb r1, [r4, #1]
|
|
ldrb r2, [r4, #2]
|
|
add r0, r4, #0
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021F1A40
|
|
ldrb r1, [r4, #1]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov101_021F1290
|
|
ldr r0, _021F1760 ; =0x00000941
|
|
bl PlaySE
|
|
ldrb r0, [r4, #2]
|
|
add sp, #4
|
|
add r0, r0, #1
|
|
pop {r3, r4, pc}
|
|
_021F1714:
|
|
cmp r0, #6
|
|
bne _021F1732
|
|
ldrb r1, [r4, #3]
|
|
cmp r1, #0
|
|
beq _021F1732
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov101_021F1C98
|
|
ldr r0, _021F1764 ; =0x0000093F
|
|
bl PlaySE
|
|
add sp, #4
|
|
mov r0, #0
|
|
pop {r3, r4, pc}
|
|
_021F1732:
|
|
cmp r0, #7
|
|
bne _021F1754
|
|
ldrb r0, [r4, #3]
|
|
add r1, r0, #6
|
|
ldrb r0, [r4]
|
|
cmp r1, r0
|
|
bge _021F1754
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021F1C98
|
|
ldr r0, _021F1764 ; =0x0000093F
|
|
bl PlaySE
|
|
add sp, #4
|
|
mov r0, #0
|
|
pop {r3, r4, pc}
|
|
_021F1754:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_021F175C: .word ov101_021F8634
|
|
_021F1760: .word 0x00000941
|
|
_021F1764: .word 0x0000093F
|
|
thumb_func_end ov101_021F16A8
|
|
|
|
thumb_func_start ov101_021F1768
|
|
ov101_021F1768: ; 0x021F1768
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
ldrb r1, [r5, #7]
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
beq _021F1780
|
|
bl ov101_021F1D44
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, r5, r6, pc}
|
|
_021F1780:
|
|
ldr r0, _021F17F8 ; =ov101_021F8658
|
|
bl sub_02025224
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021F17F4
|
|
cmp r4, #6
|
|
bge _021F17AC
|
|
ldrb r0, [r5, #5]
|
|
cmp r4, r0
|
|
bge _021F17AC
|
|
ldr r0, _021F17FC ; =0x00000941
|
|
strb r4, [r5, #1]
|
|
bl PlaySE
|
|
mov r0, #1
|
|
str r0, [r6]
|
|
ldrb r0, [r5, #3]
|
|
add r0, r0, r4
|
|
pop {r4, r5, r6, pc}
|
|
_021F17AC:
|
|
cmp r4, #6
|
|
bne _021F17CC
|
|
ldrb r0, [r5, #3]
|
|
cmp r0, #0
|
|
beq _021F17CC
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021F1C98
|
|
ldr r0, _021F1800 ; =0x0000093F
|
|
bl PlaySE
|
|
mov r0, #1
|
|
str r0, [r6]
|
|
sub r0, r0, #2
|
|
pop {r4, r5, r6, pc}
|
|
_021F17CC:
|
|
cmp r4, #7
|
|
bne _021F17F0
|
|
ldrb r0, [r5, #3]
|
|
add r1, r0, #6
|
|
ldrb r0, [r5]
|
|
cmp r1, r0
|
|
bge _021F17F0
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021F1C98
|
|
ldr r0, _021F1800 ; =0x0000093F
|
|
bl PlaySE
|
|
mov r0, #1
|
|
str r0, [r6]
|
|
sub r0, r0, #2
|
|
pop {r4, r5, r6, pc}
|
|
_021F17F0:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
_021F17F4:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021F17F8: .word ov101_021F8658
|
|
_021F17FC: .word 0x00000941
|
|
_021F1800: .word 0x0000093F
|
|
thumb_func_end ov101_021F1768
|
|
|
|
thumb_func_start ov101_021F1804
|
|
ov101_021F1804: ; 0x021F1804
|
|
ldrb r0, [r0, #1]
|
|
bx lr
|
|
thumb_func_end ov101_021F1804
|
|
|
|
thumb_func_start ov101_021F1808
|
|
ov101_021F1808: ; 0x021F1808
|
|
push {r3, lr}
|
|
ldrb r2, [r0, #2]
|
|
mov r1, #0xff
|
|
strb r1, [r0, #2]
|
|
ldrb r3, [r0, #3]
|
|
cmp r2, r3
|
|
blo _021F182E
|
|
ldrb r1, [r0, #4]
|
|
cmp r1, r2
|
|
blo _021F182E
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
sub r1, r2, r3
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
mov r3, #0
|
|
bl ov101_021F1A40
|
|
_021F182E:
|
|
pop {r3, pc}
|
|
thumb_func_end ov101_021F1808
|
|
|
|
thumb_func_start ov101_021F1830
|
|
ov101_021F1830: ; 0x021F1830
|
|
mov r2, #0
|
|
strb r2, [r0]
|
|
mov r1, #0xff
|
|
strb r1, [r0, #1]
|
|
str r2, [r0, #8]
|
|
str r2, [r0, #4]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F1830
|
|
|
|
thumb_func_start ov101_021F1840
|
|
ov101_021F1840: ; 0x021F1840
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
add r0, #0xdc
|
|
str r6, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
ble _021F18C4
|
|
add r7, r6, #0
|
|
_021F1862:
|
|
add r0, r5, #0
|
|
add r0, #0xd4
|
|
ldr r0, [r0]
|
|
add r4, r0, r7
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
bl ov101_021F1830
|
|
ldr r0, [sp]
|
|
strb r6, [r0, r7]
|
|
add r0, r5, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, r6]
|
|
strb r0, [r4, #1]
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021F1890
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
str r4, [r0]
|
|
_021F1890:
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _021F18A0
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
str r4, [r0]
|
|
_021F18A0:
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
ldr r0, [r0]
|
|
add r6, r6, #1
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
ldr r0, [r0]
|
|
add r7, #0xc
|
|
str r4, [r0, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
str r4, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xcd
|
|
ldrb r0, [r0]
|
|
cmp r6, r0
|
|
blt _021F1862
|
|
_021F18C4:
|
|
add r0, r5, #0
|
|
add r0, #0xd8
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
ldr r0, [r0]
|
|
str r1, [r0, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xdc
|
|
add r5, #0xd8
|
|
ldr r1, [r0]
|
|
ldr r0, [r5]
|
|
str r1, [r0, #4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021F1840
|
|
|
|
thumb_func_start ov101_021F18E0
|
|
ov101_021F18E0: ; 0x021F18E0
|
|
mov r1, #0
|
|
strb r1, [r0]
|
|
str r1, [r0, #4]
|
|
bx lr
|
|
thumb_func_end ov101_021F18E0
|
|
|
|
thumb_func_start ov101_021F18E8
|
|
ov101_021F18E8: ; 0x021F18E8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #0xe5
|
|
mov r4, #0x1c
|
|
mul r4, r2
|
|
lsl r1, r1, #2
|
|
add r7, r3, #0
|
|
add r3, r5, r1
|
|
add r4, r3, r4
|
|
mov r2, #0x18
|
|
add r3, r0, #0
|
|
mul r3, r2
|
|
lsl r0, r3, #0x18
|
|
lsr r6, r0, #0x18
|
|
mov r0, #0xd8
|
|
str r0, [sp]
|
|
str r2, [sp, #4]
|
|
sub r0, r1, #4
|
|
ldrb r1, [r4, #0xa]
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0
|
|
add r3, r6, #0
|
|
bl FillWindowPixelRect
|
|
mov r0, #0x52
|
|
str r0, [sp]
|
|
mov r0, #0x14
|
|
str r0, [sp, #4]
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldrb r1, [r4, #1]
|
|
ldr r0, [r5, r0]
|
|
mov r2, #8
|
|
add r3, r6, #0
|
|
bl FillWindowPixelRect
|
|
mov r0, #0x7e
|
|
str r0, [sp]
|
|
mov r0, #0x14
|
|
str r0, [sp, #4]
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldrb r1, [r4, #6]
|
|
ldr r0, [r5, r0]
|
|
mov r2, #0x5a
|
|
add r3, r6, #0
|
|
bl FillWindowPixelRect
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
add r3, r6, #1
|
|
lsl r3, r3, #0x10
|
|
ldrb r1, [r4, #0xb]
|
|
ldr r0, [r5, r0]
|
|
mov r2, #1
|
|
lsr r3, r3, #0x10
|
|
bl FillWindowPixelRect
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldrb r1, [r4, #0xa]
|
|
ldr r0, [r5, r0]
|
|
mov r2, #8
|
|
add r3, r6, #0
|
|
bl FillWindowPixelRect
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x39
|
|
add r3, r6, #0
|
|
lsl r0, r0, #4
|
|
add r3, #9
|
|
lsl r3, r3, #0x10
|
|
ldrb r1, [r4, #0xa]
|
|
ldr r0, [r5, r0]
|
|
mov r2, #9
|
|
lsr r3, r3, #0x10
|
|
bl FillWindowPixelRect
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x39
|
|
add r3, r6, #0
|
|
lsl r0, r0, #4
|
|
add r3, #0xd
|
|
lsl r3, r3, #0x10
|
|
ldrb r1, [r4, #0xa]
|
|
ldr r0, [r5, r0]
|
|
mov r2, #9
|
|
lsr r3, r3, #0x10
|
|
bl FillWindowPixelRect
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
add r6, #0x11
|
|
lsl r3, r6, #0x10
|
|
ldrb r1, [r4, #0xa]
|
|
ldr r0, [r5, r0]
|
|
mov r2, #9
|
|
lsr r3, r3, #0x10
|
|
bl FillWindowPixelRect
|
|
cmp r7, #0
|
|
beq _021F19DE
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl CopyWindowToVram
|
|
_021F19DE:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F18E8
|
|
|
|
thumb_func_start ov101_021F19E4
|
|
ov101_021F19E4: ; 0x021F19E4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldrb r0, [r6, #6]
|
|
mov r4, #0
|
|
mov r7, #1
|
|
lsl r0, r0, #0x1f
|
|
lsr r5, r0, #0x1f
|
|
_021F19F2:
|
|
lsl r1, r4, #0x18
|
|
add r0, r6, #0
|
|
lsr r1, r1, #0x18
|
|
add r2, r5, #0
|
|
mov r3, #0
|
|
bl ov101_021F18E8
|
|
add r0, r5, #0
|
|
eor r0, r7
|
|
lsl r0, r0, #0x18
|
|
add r4, r4, #1
|
|
lsr r5, r0, #0x18
|
|
cmp r4, #8
|
|
blt _021F19F2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021F19E4
|
|
|
|
thumb_func_start ov101_021F1A10
|
|
ov101_021F1A10: ; 0x021F1A10
|
|
ldrb r0, [r0, #6]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021F1A2E
|
|
lsr r2, r1, #0x1f
|
|
lsl r1, r1, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r1, r2, r1
|
|
mov r0, #1
|
|
sub r0, r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
_021F1A2E:
|
|
lsr r2, r1, #0x1f
|
|
lsl r1, r1, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
thumb_func_end ov101_021F1A10
|
|
|
|
thumb_func_start ov101_021F1A40
|
|
ov101_021F1A40: ; 0x021F1A40
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
str r1, [sp, #0x10]
|
|
add r7, r2, #0
|
|
mov r2, #0xc
|
|
add r5, r0, #0
|
|
str r3, [sp, #0x14]
|
|
add r3, r5, #0
|
|
add r3, #0xc
|
|
mul r2, r7
|
|
add r4, r3, r2
|
|
bl ov101_021F1A10
|
|
add r2, r0, #0
|
|
mov r0, #0xe5
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x1c
|
|
mul r0, r2
|
|
add r6, r1, r0
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r5, #0
|
|
mov r3, #0
|
|
bl ov101_021F18E8
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x18
|
|
mul r1, r0
|
|
lsl r0, r1, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
bne _021F1A88
|
|
ldrb r0, [r5, #2]
|
|
cmp r7, r0
|
|
bne _021F1ADE
|
|
_021F1A88:
|
|
mov r0, #0xff
|
|
add r7, r1, #2
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r4, #8]
|
|
ldr r0, [r5, r0]
|
|
bl PhoneContact_GetName
|
|
add r2, r0, #0
|
|
str r7, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0x14]
|
|
mov r1, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r3, #0x10
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r4, #8]
|
|
ldr r0, [r5, r0]
|
|
bl PhoneContact_GetClass
|
|
add r2, r0, #0
|
|
str r7, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0x18]
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x39
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r3, #0x5e
|
|
bl AddTextPrinterParameterized2
|
|
b _021F1B32
|
|
_021F1ADE:
|
|
mov r0, #0xff
|
|
add r7, r1, #2
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r4, #8]
|
|
ldr r0, [r5, r0]
|
|
bl PhoneContact_GetName
|
|
add r2, r0, #0
|
|
str r7, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0xc]
|
|
mov r1, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r3, #0x10
|
|
bl AddTextPrinterParameterized2
|
|
mov r0, #0xff
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r4, #8]
|
|
ldr r0, [r5, r0]
|
|
bl PhoneContact_GetClass
|
|
add r2, r0, #0
|
|
str r7, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0x10]
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x39
|
|
str r1, [sp, #0xc]
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r3, #0x5e
|
|
bl AddTextPrinterParameterized2
|
|
_021F1B32:
|
|
ldr r0, [sp, #0x30]
|
|
cmp r0, #0
|
|
beq _021F1B42
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl CopyWindowToVram
|
|
_021F1B42:
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F1A40
|
|
|
|
thumb_func_start ov101_021F1B48
|
|
ov101_021F1B48: ; 0x021F1B48
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _021F1B60
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
b _021F1B6C
|
|
_021F1B60:
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
_021F1B6C:
|
|
ldrb r0, [r4, #3]
|
|
add r1, r0, #6
|
|
ldrb r0, [r4]
|
|
cmp r1, r0
|
|
bge _021F1B84
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
pop {r4, pc}
|
|
_021F1B84:
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F1B48
|
|
|
|
thumb_func_start ov101_021F1B94
|
|
ov101_021F1B94: ; 0x021F1B94
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
beq _021F1BC0
|
|
ldrb r1, [r4, #3]
|
|
cmp r1, #1
|
|
bhs _021F1BA6
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F1BA6:
|
|
sub r1, r1, #1
|
|
strb r1, [r4, #3]
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
mov r1, #0
|
|
ldrb r2, [r4, #3]
|
|
add r3, r1, #0
|
|
bl ov101_021F1A40
|
|
ldrb r0, [r4, #4]
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _021F1BE6
|
|
_021F1BC0:
|
|
ldrb r1, [r4]
|
|
ldrb r2, [r4, #4]
|
|
sub r1, r1, #1
|
|
cmp r2, r1
|
|
blt _021F1BCE
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F1BCE:
|
|
add r1, r2, #1
|
|
strb r1, [r4, #4]
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
ldrb r2, [r4, #4]
|
|
mov r1, #7
|
|
mov r3, #0
|
|
bl ov101_021F1A40
|
|
ldrb r0, [r4, #3]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #3]
|
|
_021F1BE6:
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #0xf8
|
|
mov r2, #1
|
|
bic r1, r0
|
|
strb r1, [r4, #7]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #2
|
|
bic r1, r0
|
|
lsl r0, r5, #0x1f
|
|
lsr r0, r0, #0x1e
|
|
orr r0, r1
|
|
strb r0, [r4, #7]
|
|
ldrb r0, [r4, #7]
|
|
mov r1, #1
|
|
bic r0, r2
|
|
orr r0, r1
|
|
strb r0, [r4, #7]
|
|
ldr r0, _021F1C30 ; =0x00000404
|
|
ldr r0, [r4, r0]
|
|
strb r1, [r0]
|
|
ldrb r3, [r4, #6]
|
|
add r0, r3, #0
|
|
bic r0, r2
|
|
lsl r2, r3, #0x1f
|
|
lsr r2, r2, #0x1f
|
|
eor r2, r1
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
and r1, r2
|
|
orr r0, r1
|
|
strb r0, [r4, #6]
|
|
add r0, r4, #0
|
|
bl ov101_021F1B48
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F1C30: .word 0x00000404
|
|
thumb_func_end ov101_021F1B94
|
|
|
|
thumb_func_start ov101_021F1C34
|
|
ov101_021F1C34: ; 0x021F1C34
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #7]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1f
|
|
beq _021F1C52
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
mov r2, #8
|
|
mov r3, #0
|
|
bl ScrollWindow
|
|
b _021F1C62
|
|
_021F1C52:
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r2, #8
|
|
add r3, r1, #0
|
|
bl ScrollWindow
|
|
_021F1C62:
|
|
mov r0, #0x39
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl CopyWindowToVram
|
|
ldrb r0, [r4, #7]
|
|
mov r2, #0xf8
|
|
lsl r1, r0, #0x18
|
|
lsr r1, r1, #0x1b
|
|
add r3, r1, #1
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
lsl r3, r3, #0x1b
|
|
bic r0, r2
|
|
lsr r3, r3, #0x18
|
|
orr r0, r3
|
|
strb r0, [r4, #7]
|
|
cmp r1, #2
|
|
blo _021F1C92
|
|
ldrb r0, [r4, #7]
|
|
bic r0, r2
|
|
strb r0, [r4, #7]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F1C92:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F1C34
|
|
|
|
thumb_func_start ov101_021F1C98
|
|
ov101_021F1C98: ; 0x021F1C98
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldrb r3, [r4, #8]
|
|
mov r2, #0x70
|
|
bic r3, r2
|
|
strb r3, [r4, #8]
|
|
ldrb r3, [r4, #7]
|
|
mov r2, #4
|
|
orr r2, r3
|
|
strb r2, [r4, #7]
|
|
ldrb r3, [r4, #7]
|
|
mov r2, #2
|
|
bic r3, r2
|
|
lsl r2, r1, #0x1f
|
|
lsr r2, r2, #0x1e
|
|
orr r2, r3
|
|
strb r2, [r4, #7]
|
|
ldrb r5, [r4, #7]
|
|
mov r2, #1
|
|
mov r3, #1
|
|
bic r5, r2
|
|
add r2, r5, #0
|
|
orr r2, r3
|
|
strb r2, [r4, #7]
|
|
ldr r2, _021F1CE4 ; =0x00000404
|
|
ldr r2, [r4, r2]
|
|
strb r3, [r2]
|
|
bl ov101_021F1B94
|
|
cmp r0, #0
|
|
bne _021F1CDE
|
|
ldrb r1, [r4, #8]
|
|
mov r0, #0x80
|
|
orr r0, r1
|
|
strb r0, [r4, #8]
|
|
_021F1CDE:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F1CE4: .word 0x00000404
|
|
thumb_func_end ov101_021F1C98
|
|
|
|
thumb_func_start ov101_021F1CE8
|
|
ov101_021F1CE8: ; 0x021F1CE8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F1C34
|
|
cmp r0, #0
|
|
bne _021F1CF8
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F1CF8:
|
|
ldrb r1, [r4, #8]
|
|
lsl r0, r1, #0x18
|
|
lsr r0, r0, #0x1f
|
|
bne _021F1D2A
|
|
lsl r0, r1, #0x19
|
|
mov r2, #0x70
|
|
lsr r0, r0, #0x1d
|
|
bic r1, r2
|
|
add r2, r0, #1
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsl r2, r2, #0x1d
|
|
lsr r2, r2, #0x19
|
|
orr r1, r2
|
|
strb r1, [r4, #8]
|
|
cmp r0, #5
|
|
bhs _021F1D2A
|
|
ldrb r1, [r4, #7]
|
|
add r0, r4, #0
|
|
lsl r1, r1, #0x1e
|
|
lsr r1, r1, #0x1f
|
|
bl ov101_021F1B94
|
|
cmp r0, #0
|
|
bne _021F1D3E
|
|
_021F1D2A:
|
|
ldrb r1, [r4, #8]
|
|
mov r0, #0x70
|
|
bic r1, r0
|
|
strb r1, [r4, #8]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #4
|
|
bic r1, r0
|
|
strb r1, [r4, #7]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F1D3E:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F1CE8
|
|
|
|
thumb_func_start ov101_021F1D44
|
|
ov101_021F1D44: ; 0x021F1D44
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r1, [r4, #7]
|
|
lsl r1, r1, #0x1d
|
|
lsr r1, r1, #0x1f
|
|
beq _021F1D56
|
|
bl ov101_021F1CE8
|
|
b _021F1D5A
|
|
_021F1D56:
|
|
bl ov101_021F1C34
|
|
_021F1D5A:
|
|
cmp r0, #0
|
|
beq _021F1D6E
|
|
ldr r0, _021F1D70 ; =0x00000404
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
strb r1, [r0]
|
|
ldrb r1, [r4, #7]
|
|
mov r0, #1
|
|
bic r1, r0
|
|
strb r1, [r4, #7]
|
|
_021F1D6E:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F1D70: .word 0x00000404
|
|
thumb_func_end ov101_021F1D44
|
|
|
|
thumb_func_start ov101_021F1D74
|
|
ov101_021F1D74: ; 0x021F1D74
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0xdc
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0xdc
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
ldr r0, [r5]
|
|
str r0, [r4]
|
|
ldr r0, [r5]
|
|
bl AllocAndReadPhoneBook
|
|
add r1, r4, #0
|
|
add r1, #0x80
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
ldr r1, [r0, #4]
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [r4, #4]
|
|
ldr r0, [r5, #4]
|
|
str r0, [r4, #0x3c]
|
|
ldr r0, [r5, #8]
|
|
str r0, [r4, #0x40]
|
|
ldr r0, [r5, #0x10]
|
|
str r0, [r4, #8]
|
|
ldr r0, [r5, #0x14]
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r5, #0x1c]
|
|
str r0, [r4, #0x18]
|
|
ldr r0, [r5, #0x20]
|
|
str r0, [r4, #0x1c]
|
|
ldr r0, [r5, #0x24]
|
|
str r0, [r4, #0x20]
|
|
ldr r0, [r5, #0x28]
|
|
str r0, [r4, #0x24]
|
|
ldr r0, [r5, #0x2c]
|
|
str r0, [r4, #0x28]
|
|
ldr r0, [r5, #0x30]
|
|
str r0, [r4, #0x2c]
|
|
ldrh r0, [r5, #0x34]
|
|
strh r0, [r4, #0x30]
|
|
ldrh r0, [r5, #0x36]
|
|
add r5, #0x38
|
|
strh r0, [r4, #0x32]
|
|
add r0, r4, #0
|
|
ldrb r1, [r5]
|
|
add r0, #0x34
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0x24]
|
|
bl PlayerProfile_GetTrainerGender
|
|
add r1, r4, #0
|
|
add r1, #0x36
|
|
strb r0, [r1]
|
|
mov r1, #0x1b
|
|
add r2, r1, #0
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
add r2, #0xf4
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x44]
|
|
mov r2, #0xa
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
lsl r2, r2, #6
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x48]
|
|
ldr r2, [r4]
|
|
mov r0, #0x10
|
|
mov r1, #0x25
|
|
bl MessageFormat_new_custom
|
|
str r0, [r4, #0x50]
|
|
ldr r0, _021F1E7C ; =0x00000439
|
|
ldr r1, [r4]
|
|
bl String_New
|
|
str r0, [r4, #0x54]
|
|
ldr r0, _021F1E7C ; =0x00000439
|
|
ldr r1, [r4]
|
|
bl String_New
|
|
str r0, [r4, #0x64]
|
|
ldr r1, [r4]
|
|
mov r0, #0x10
|
|
bl String_New
|
|
str r0, [r4, #0x58]
|
|
ldr r1, [r4]
|
|
mov r0, #0x2c
|
|
bl String_New
|
|
str r0, [r4, #0x5c]
|
|
ldr r0, [r4, #0x44]
|
|
mov r1, #0x1d
|
|
bl NewString_ReadMsgData
|
|
str r0, [r4, #0x60]
|
|
mov r6, #0
|
|
add r5, r4, #0
|
|
_021F1E58:
|
|
add r1, r6, #0
|
|
ldr r0, [r4, #0x44]
|
|
add r1, #0x1e
|
|
bl NewString_ReadMsgData
|
|
str r0, [r5, #0x68]
|
|
add r1, r6, #0
|
|
ldr r0, [r4, #0x44]
|
|
add r1, #0x21
|
|
bl NewString_ReadMsgData
|
|
str r0, [r5, #0x74]
|
|
add r6, r6, #1
|
|
add r5, r5, #4
|
|
cmp r6, #3
|
|
blt _021F1E58
|
|
add r0, r4, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F1E7C: .word 0x00000439
|
|
thumb_func_end ov101_021F1D74
|
|
|
|
thumb_func_start ov101_021F1E80
|
|
ov101_021F1E80: ; 0x021F1E80
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_021F1E88:
|
|
ldr r0, [r5, #0x68]
|
|
bl String_dtor
|
|
ldr r0, [r5, #0x74]
|
|
bl String_dtor
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #3
|
|
blt _021F1E88
|
|
ldr r0, [r6, #0x60]
|
|
bl String_dtor
|
|
ldr r0, [r6, #0x5c]
|
|
bl String_dtor
|
|
ldr r0, [r6, #0x58]
|
|
bl String_dtor
|
|
ldr r0, [r6, #0x64]
|
|
bl String_dtor
|
|
ldr r0, [r6, #0x54]
|
|
bl String_dtor
|
|
ldr r0, [r6, #0x50]
|
|
bl MessageFormat_delete
|
|
ldr r0, [r6, #0x48]
|
|
bl DestroyMsgData
|
|
ldr r0, [r6, #0x44]
|
|
bl DestroyMsgData
|
|
add r0, r6, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
bl FreePhoneBook
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r2, #0xdc
|
|
bl MI_CpuFill8
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F1E80
|
|
|
|
thumb_func_start PhoneContact_GetName
|
|
PhoneContact_GetName: ; 0x021F1EE8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
cmp r1, #NUM_PHONE_CONTACTS
|
|
blo _021F1EF2
|
|
mov r1, #0
|
|
_021F1EF2:
|
|
add r0, r1, #0
|
|
bl GetPhoneMessageGmm
|
|
add r2, r0, #0
|
|
ldr r3, [r5]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
ldr r2, [r5, #0x58]
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
add r0, r4, #0
|
|
bl DestroyMsgData
|
|
ldr r0, [r5, #0x58]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end PhoneContact_GetName
|
|
|
|
thumb_func_start PhoneContact_GetClass
|
|
PhoneContact_GetClass: ; 0x021F1F18
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #NUM_PHONE_CONTACTS
|
|
blo _021F1F22
|
|
mov r1, #0
|
|
_021F1F22:
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r2, [r0]
|
|
mov r0, #0x14
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
ldrb r2, [r0, #3]
|
|
cmp r2, #0xc8
|
|
bne _021F1F3C
|
|
ldr r0, [r4, #0x5c]
|
|
bl StringSetEmpty
|
|
b _021F1F60
|
|
_021F1F3C:
|
|
cmp r2, #0xc9
|
|
blo _021F1F4E
|
|
sub r2, #0xa3
|
|
add r1, r2, #0
|
|
ldr r0, [r4, #0x44]
|
|
ldr r2, [r4, #0x5c]
|
|
bl ReadMsgDataIntoString
|
|
b _021F1F60
|
|
_021F1F4E:
|
|
ldr r0, [r4, #0x50]
|
|
mov r1, #0
|
|
bl BufferTrainerClassName
|
|
ldr r0, [r4, #0x50]
|
|
ldr r1, [r4, #0x5c]
|
|
ldr r2, [r4, #0x60]
|
|
bl StringExpandPlaceholders
|
|
_021F1F60:
|
|
ldr r0, [r4, #0x5c]
|
|
pop {r4, pc}
|
|
thumb_func_end PhoneContact_GetClass
|
|
|
|
thumb_func_start ov101_021F1F64
|
|
ov101_021F1F64: ; 0x021F1F64
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x54
|
|
str r3, [sp]
|
|
bl MI_CpuFill8
|
|
cmp r6, #NUM_PHONE_CONTACTS
|
|
blo _021F1F8C
|
|
bl GF_AssertFail
|
|
mov r0, #0xff
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1F8C:
|
|
cmp r7, #0
|
|
ldrh r0, [r5, #0x30]
|
|
beq _021F1FA2
|
|
bl MapHeader_GetField14_1E
|
|
cmp r0, #0
|
|
bne _021F1FB2
|
|
mov r0, #0xff
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1FA2:
|
|
bl MapHeader_GetField14_1D
|
|
cmp r0, #0
|
|
bne _021F1FB2
|
|
mov r0, #0xff
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F1FB2:
|
|
strb r6, [r4, #0x18]
|
|
add r5, #0x84
|
|
mov r0, #0x14
|
|
ldr r1, [r5]
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
str r0, [r4, #0x10]
|
|
strb r7, [r4, #0x19]
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
strb r0, [r4, #0x1a]
|
|
add r0, sp, #8
|
|
ldrb r0, [r0, #0x10]
|
|
add r1, #0x38
|
|
strh r0, [r4, #0x1c]
|
|
ldrb r0, [r4, #0x19]
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
bl GF_RTC_CopyDateTime
|
|
ldr r0, [r4, #0x38]
|
|
bl GF_RTC_GetTimeOfDayWildParamByHour
|
|
add r1, r4, #0
|
|
add r1, #0x23
|
|
strb r0, [r1]
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
strh r0, [r4, #0x1e]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F1F64
|
|
|
|
thumb_func_start ov101_021F1FF4
|
|
ov101_021F1FF4: ; 0x021F1FF4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r4, r5, #0
|
|
mov r1, #0
|
|
add r4, #0x88
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5, #0xc]
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, [r4, #0x10]
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0xf
|
|
bhi _021F20F2
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F201E: ; jump table
|
|
.short _021F203E - _021F201E - 2 ; case 0
|
|
.short _021F204A - _021F201E - 2 ; case 1
|
|
.short _021F2056 - _021F201E - 2 ; case 2
|
|
.short _021F2062 - _021F201E - 2 ; case 3
|
|
.short _021F20B6 - _021F201E - 2 ; case 4
|
|
.short _021F206E - _021F201E - 2 ; case 5
|
|
.short _021F20CE - _021F201E - 2 ; case 6
|
|
.short _021F207A - _021F201E - 2 ; case 7
|
|
.short _021F2092 - _021F201E - 2 ; case 8
|
|
.short _021F2086 - _021F201E - 2 ; case 9
|
|
.short _021F209E - _021F201E - 2 ; case 10
|
|
.short _021F20AA - _021F201E - 2 ; case 11
|
|
.short _021F20C2 - _021F201E - 2 ; case 12
|
|
.short _021F20DA - _021F201E - 2 ; case 13
|
|
.short _021F20E6 - _021F201E - 2 ; case 14
|
|
.short _021F20F2 - _021F201E - 2 ; case 15
|
|
_021F203E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2B80
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F204A:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F27E4
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F2056:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2A28
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F2062:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F30AC
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F206E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F3518
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F207A:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F35C4
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F2086:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F388C
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F2092:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F36F4
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F209E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F3AA4
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F20AA:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F3C8C
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F20B6:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F342C
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F20C2:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F3EA8
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F20CE:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F3530
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F20DA:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F410C
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F20E6:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F4274
|
|
strh r0, [r4, #0x1e]
|
|
b _021F20F8
|
|
_021F20F2:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
strh r0, [r4, #0x1e]
|
|
_021F20F8:
|
|
ldrh r0, [r4, #0x20]
|
|
cmp r0, #2
|
|
bhi _021F210A
|
|
ldrh r1, [r4, #0x1e]
|
|
mov r0, #6
|
|
ldr r2, _021F210C ; =ov101_021F8B7C
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [r4, #0x14]
|
|
_021F210A:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021F210C: .word ov101_021F8B7C
|
|
thumb_func_end ov101_021F1FF4
|
|
|
|
thumb_func_start ov101_021F2110
|
|
ov101_021F2110: ; 0x021F2110
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
add r0, #0xa0
|
|
ldrb r0, [r0]
|
|
bl GetPhoneMessageGmm
|
|
add r2, r0, #0
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x4c]
|
|
ldr r0, [r4, #0x50]
|
|
ldr r2, [r4, #0x24]
|
|
mov r1, #0
|
|
bl BufferPlayersName
|
|
add r1, r4, #0
|
|
add r1, #0xa0
|
|
ldrb r1, [r1]
|
|
add r0, r4, #0
|
|
bl PhoneContact_GetName
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
mov r3, #2
|
|
str r3, [sp, #4]
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x50]
|
|
bl BufferString
|
|
ldrh r0, [r4, #0x30]
|
|
bl MapHeader_GetMapSec
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x50]
|
|
mov r1, #2
|
|
bl BufferLandmarkName
|
|
add r0, r4, #0
|
|
add r0, #0x98
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #6]
|
|
bl MapHeader_GetMapSec
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0x50]
|
|
mov r1, #3
|
|
bl BufferLandmarkName
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F2110
|
|
|
|
thumb_func_start ov101_021F217C
|
|
ov101_021F217C: ; 0x021F217C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021F219C ; =ov101_021F8400
|
|
bl sub_02025320
|
|
cmp r0, #0
|
|
beq _021F2198
|
|
ldr r0, [r4, #0x40]
|
|
mov r1, #1
|
|
bl Set2dSpriteAnimActiveFlag
|
|
ldr r0, [r4, #0x40]
|
|
bl sub_02024964
|
|
_021F2198:
|
|
pop {r4, pc}
|
|
nop
|
|
_021F219C: .word ov101_021F8400
|
|
thumb_func_end ov101_021F217C
|
|
|
|
thumb_func_start PhoneCallMessagePrint
|
|
PhoneCallMessagePrint: ; 0x021F21A0
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
add r1, r4, #0
|
|
add r1, #0x36
|
|
ldrb r1, [r1]
|
|
ldrb r1, [r2, r1]
|
|
ldr r2, [r4, #0x64]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x50]
|
|
ldr r1, [r4, #0x54]
|
|
ldr r2, [r4, #0x64]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
str r1, [sp]
|
|
add r0, #0x34
|
|
ldrb r0, [r0]
|
|
add r3, r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, _021F21EC ; =0x00010200
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r2, [r4, #0x54]
|
|
bl AddTextPrinterParameterized2
|
|
add r4, #0x35
|
|
strb r0, [r4]
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F21EC: .word 0x00010200
|
|
thumb_func_end PhoneCallMessagePrint
|
|
|
|
thumb_func_start PhoneCallMessagePrint2
|
|
PhoneCallMessagePrint2: ; 0x021F21F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r4, #0x37
|
|
strb r2, [r4]
|
|
add r2, r0, #0
|
|
add r2, #0x38
|
|
strb r3, [r2]
|
|
add r2, r0, #0
|
|
add r2, #0x37
|
|
bl PhoneCallMessagePrint
|
|
pop {r4, pc}
|
|
thumb_func_end PhoneCallMessagePrint2
|
|
|
|
thumb_func_start PhoneCallMessagePrint3
|
|
PhoneCallMessagePrint3: ; 0x021F2208
|
|
add r3, r0, #0
|
|
add r3, #0x37
|
|
strb r2, [r3]
|
|
add r3, r0, #0
|
|
add r3, #0x38
|
|
strb r2, [r3]
|
|
add r2, r0, #0
|
|
ldr r3, _021F221C ; =PhoneCallMessagePrint
|
|
add r2, #0x37
|
|
bx r3
|
|
.balign 4, 0
|
|
_021F221C: .word PhoneCallMessagePrint
|
|
thumb_func_end PhoneCallMessagePrint3
|
|
|
|
thumb_func_start ov101_021F2220
|
|
ov101_021F2220: ; 0x021F2220
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F217C
|
|
add r0, r4, #0
|
|
add r0, #0x35
|
|
ldrb r0, [r0]
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
beq _021F223A
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F223A:
|
|
bl sub_02002C04
|
|
add r4, #0xaa
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2220
|
|
|
|
thumb_func_start ov101_021F2248
|
|
ov101_021F2248: ; 0x021F2248
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
ldrh r0, [r5, #2]
|
|
add r6, r4, #0
|
|
add r6, #0x88
|
|
lsl r1, r0, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #5
|
|
bhi _021F2304
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F226A: ; jump table
|
|
.short _021F2304 - _021F226A - 2 ; case 0
|
|
.short _021F22BC - _021F226A - 2 ; case 1
|
|
.short _021F22BC - _021F226A - 2 ; case 2
|
|
.short _021F2276 - _021F226A - 2 ; case 3
|
|
.short _021F2284 - _021F226A - 2 ; case 4
|
|
.short _021F22D8 - _021F226A - 2 ; case 5
|
|
_021F2276:
|
|
ldrb r1, [r6, #0x18]
|
|
ldr r0, [r4, #0x20]
|
|
mov r2, #1
|
|
bl PhoneRematches_SetSeeking
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_021F2284:
|
|
ldrh r2, [r5, #4]
|
|
cmp r2, #0x95
|
|
bne _021F229C
|
|
bl MTRandom
|
|
mov r1, #0xa
|
|
bl _u32_div_f
|
|
add r1, #0x95
|
|
lsl r0, r1, #0x10
|
|
lsr r2, r0, #0x10
|
|
b _021F22B0
|
|
_021F229C:
|
|
cmp r2, #4
|
|
bne _021F22B0
|
|
bl MTRandom
|
|
mov r1, #3
|
|
bl _u32_div_f
|
|
add r0, r1, #2
|
|
lsl r0, r0, #0x10
|
|
lsr r2, r0, #0x10
|
|
_021F22B0:
|
|
ldrb r1, [r6, #0x18]
|
|
ldr r0, [r4, #0x20]
|
|
bl PhoneRematches_GiftItemIdSet
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_021F22BC:
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x14
|
|
ldr r0, [r4, #0x28]
|
|
beq _021F22CE
|
|
ldrh r1, [r5, #4]
|
|
bl SetFlagInArray
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_021F22CE:
|
|
ldrh r1, [r5, #4]
|
|
bl ClearFlagInArray
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_021F22D8:
|
|
bl LCRandom
|
|
ldrh r1, [r5, #2]
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x14
|
|
bl _s32_div_f
|
|
ldrh r2, [r5, #4]
|
|
ldr r0, [r4, #0x4c]
|
|
add r1, r2, r1
|
|
ldr r2, [r4, #0x54]
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r3, #2
|
|
str r3, [sp, #4]
|
|
ldr r0, [r4, #0x50]
|
|
ldr r2, [r4, #0x54]
|
|
mov r1, #4
|
|
bl BufferString
|
|
_021F2304:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F2248
|
|
|
|
thumb_func_start ov101_021F2308
|
|
ov101_021F2308: ; 0x021F2308
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
add r4, r1, #0
|
|
mov r1, #2
|
|
mov r2, #1
|
|
bl ov101_021F0ACC
|
|
ldr r0, [r5, #4]
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl ov101_021F09B0
|
|
str r0, [r5, #0x14]
|
|
ldr r0, [r5, #0x40]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021F2384
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2308
|
|
|
|
thumb_func_start ov101_021F2338
|
|
ov101_021F2338: ; 0x021F2338
|
|
ldr r3, _021F2340 ; =sub_020186A4
|
|
ldr r0, [r0, #0x14]
|
|
bx r3
|
|
nop
|
|
_021F2340: .word sub_020186A4
|
|
thumb_func_end ov101_021F2338
|
|
|
|
thumb_func_start ov101_021F2344
|
|
ov101_021F2344: ; 0x021F2344
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x14]
|
|
bl sub_02018674
|
|
ldr r1, [r4, #0x3c]
|
|
str r0, [r1]
|
|
ldr r0, [r4, #0x14]
|
|
bl sub_02018680
|
|
mov r1, #0
|
|
ldr r0, [r4, #4]
|
|
add r2, r1, #0
|
|
bl ov101_021F0ACC
|
|
ldr r0, [r4, #0x40]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov101_021F2384
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F2344
|
|
|
|
thumb_func_start ov101_021F2374
|
|
ov101_021F2374: ; 0x021F2374
|
|
mov r1, #6
|
|
ldr r2, _021F2380 ; =ov101_021F8B7C
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
bx lr
|
|
nop
|
|
_021F2380: .word ov101_021F8B7C
|
|
thumb_func_end ov101_021F2374
|
|
|
|
thumb_func_start ov101_021F2384
|
|
ov101_021F2384: ; 0x021F2384
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
beq _021F23B0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
mov r2, #0x10
|
|
ldr r0, [r4, #0x18]
|
|
add r3, r2, #0
|
|
bl sub_02003E5C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0x18]
|
|
mov r2, #0xa0
|
|
mov r3, #0x10
|
|
bl sub_02003E5C
|
|
b _021F23D4
|
|
_021F23B0:
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
mov r2, #0x10
|
|
ldr r0, [r4, #0x18]
|
|
add r3, r2, #0
|
|
bl sub_02003E5C
|
|
mov r0, #8
|
|
str r0, [sp]
|
|
mov r1, #0
|
|
str r1, [sp, #4]
|
|
ldr r0, [r4, #0x18]
|
|
mov r2, #0xa0
|
|
mov r3, #0x10
|
|
bl sub_02003E5C
|
|
_021F23D4:
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #1
|
|
bl sub_02003B50
|
|
ldr r0, [r4, #0x18]
|
|
bl sub_0200398C
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #0
|
|
bl sub_02003B50
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2384
|
|
|
|
thumb_func_start ov101_021F23F0
|
|
ov101_021F23F0: ; 0x021F23F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F217C
|
|
ldr r0, _021F2430 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _021F2412
|
|
ldr r0, _021F2434 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #0
|
|
add r4, #0xaa
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F2412:
|
|
ldr r0, _021F2438 ; =ov101_021F8400
|
|
bl sub_02025320
|
|
cmp r0, #0
|
|
beq _021F242A
|
|
ldr r0, _021F2434 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #1
|
|
add r4, #0xaa
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
_021F242A:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_021F2430: .word gSystem
|
|
_021F2434: .word 0x000005DC
|
|
_021F2438: .word ov101_021F8400
|
|
thumb_func_end ov101_021F23F0
|
|
|
|
thumb_func_start ov101_021F243C
|
|
ov101_021F243C: ; 0x021F243C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
bne _021F2450
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
_021F2450:
|
|
cmp r6, #0
|
|
ldr r0, _021F2490 ; =0x00010200
|
|
bne _021F2472
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
lsl r2, r4, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, r5, r2
|
|
ldr r0, [r5, #0xc]
|
|
ldr r2, [r2, #0x68]
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021F2472:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
lsl r2, r4, #2
|
|
str r1, [sp, #0xc]
|
|
add r2, r5, r2
|
|
ldr r0, [r5, #0xc]
|
|
ldr r2, [r2, #0x74]
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021F2490: .word 0x00010200
|
|
thumb_func_end ov101_021F243C
|
|
|
|
thumb_func_start ov101_021F2494
|
|
ov101_021F2494: ; 0x021F2494
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
bl ov101_021F217C
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021F24B0
|
|
cmp r0, #1
|
|
beq _021F24C6
|
|
cmp r0, #2
|
|
beq _021F24EA
|
|
b _021F2500
|
|
_021F24B0:
|
|
ldr r0, _021F250C ; =0x00000878
|
|
bl PlaySE
|
|
ldr r2, [r4, #8]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021F243C
|
|
b _021F2500
|
|
_021F24C6:
|
|
ldr r0, _021F250C ; =0x00000878
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
beq _021F24D4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F24D4:
|
|
ldr r0, _021F250C ; =0x00000878
|
|
bl PlaySE
|
|
ldr r2, [r4, #8]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021F243C
|
|
b _021F2500
|
|
_021F24EA:
|
|
ldr r0, _021F250C ; =0x00000878
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
beq _021F24F8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F24F8:
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F2500:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F250C: .word 0x00000878
|
|
thumb_func_end ov101_021F2494
|
|
|
|
thumb_func_start ov101_021F2510
|
|
ov101_021F2510: ; 0x021F2510
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
bl ov101_021F217C
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #3
|
|
bhi _021F258A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F252E: ; jump table
|
|
.short _021F2536 - _021F252E - 2 ; case 0
|
|
.short _021F2550 - _021F252E - 2 ; case 1
|
|
.short _021F2550 - _021F252E - 2 ; case 2
|
|
.short _021F2572 - _021F252E - 2 ; case 3
|
|
_021F2536:
|
|
ldr r0, _021F2594 ; =0x0000087A
|
|
bl PlaySE
|
|
ldr r2, [r4, #8]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021F243C
|
|
mov r0, #0
|
|
strh r0, [r4, #0x24]
|
|
b _021F258A
|
|
_021F2550:
|
|
ldrh r1, [r4, #0x24]
|
|
add r0, r1, #1
|
|
strh r0, [r4, #0x24]
|
|
cmp r1, #0xa
|
|
bhs _021F255E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F255E:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x24]
|
|
ldr r2, [r4, #8]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021F243C
|
|
b _021F258A
|
|
_021F2572:
|
|
ldrh r1, [r4, #0x24]
|
|
add r0, r1, #1
|
|
strh r0, [r4, #0x24]
|
|
cmp r1, #0xa
|
|
bhs _021F2580
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2580:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x24]
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F258A:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021F2594: .word 0x0000087A
|
|
thumb_func_end ov101_021F2510
|
|
|
|
thumb_func_start ov101_021F2598
|
|
ov101_021F2598: ; 0x021F2598
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
bl ov101_021F217C
|
|
ldr r2, [r4, #8]
|
|
cmp r2, #3
|
|
bhi _021F2608
|
|
add r0, r2, r2
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F25B6: ; jump table
|
|
.short _021F25BE - _021F25B6 - 2 ; case 0
|
|
.short _021F25D0 - _021F25B6 - 2 ; case 1
|
|
.short _021F25D0 - _021F25B6 - 2 ; case 2
|
|
.short _021F25F0 - _021F25B6 - 2 ; case 3
|
|
_021F25BE:
|
|
lsl r2, r2, #0x18
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021F243C
|
|
mov r0, #0
|
|
strh r0, [r4, #0x24]
|
|
b _021F2608
|
|
_021F25D0:
|
|
ldrh r1, [r4, #0x24]
|
|
add r0, r1, #1
|
|
strh r0, [r4, #0x24]
|
|
cmp r1, #0xa
|
|
bhs _021F25DE
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F25DE:
|
|
mov r1, #0
|
|
strh r1, [r4, #0x24]
|
|
ldr r2, [r4, #8]
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021F243C
|
|
b _021F2608
|
|
_021F25F0:
|
|
ldrh r1, [r4, #0x24]
|
|
add r0, r1, #1
|
|
strh r0, [r4, #0x24]
|
|
cmp r1, #0xa
|
|
bhs _021F25FE
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F25FE:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x24]
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F2608:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2598
|
|
|
|
thumb_func_start ov101_021F2614
|
|
ov101_021F2614: ; 0x021F2614
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
bl ov101_021F217C
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021F262C
|
|
cmp r0, #1
|
|
beq _021F265C
|
|
b _021F2672
|
|
_021F262C:
|
|
add r0, r4, #0
|
|
add r0, #0x23
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r4, #0x19]
|
|
lsl r2, r0, #1
|
|
mov r0, #6
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
ldr r1, [r4, #0x10]
|
|
lsl r0, r0, #0x10
|
|
ldrb r2, [r1, #0xc]
|
|
lsr r3, r0, #0x10
|
|
mov r1, #0xc
|
|
ldr r0, _021F267C ; =ov101_021F962C
|
|
mul r1, r2
|
|
add r6, r0, r1
|
|
ldrb r2, [r6, r3]
|
|
add r3, r3, #1
|
|
ldrb r3, [r6, r3]
|
|
ldr r1, [r5, #0x48]
|
|
add r0, r5, #0
|
|
bl PhoneCallMessagePrint2
|
|
b _021F2672
|
|
_021F265C:
|
|
add r0, r5, #0
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F266A
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F266A:
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F2672:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F267C: .word ov101_021F962C
|
|
thumb_func_end ov101_021F2614
|
|
|
|
thumb_func_start ov101_021F2680
|
|
ov101_021F2680: ; 0x021F2680
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
ldr r6, [r4, #0x14]
|
|
cmp r1, #3
|
|
bhi _021F26EC
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F269C: ; jump table
|
|
.short _021F26A4 - _021F269C - 2 ; case 0
|
|
.short _021F26C0 - _021F269C - 2 ; case 1
|
|
.short _021F26CC - _021F269C - 2 ; case 2
|
|
.short _021F26D6 - _021F269C - 2 ; case 3
|
|
_021F26A4:
|
|
bl ov101_021F2110
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov101_021F2248
|
|
ldr r0, [r4, #0x10]
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0xff
|
|
bne _021F26EC
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
b _021F26EC
|
|
_021F26C0:
|
|
bl ov101_021F2614
|
|
cmp r0, #0
|
|
bne _021F26EC
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F26CC:
|
|
ldr r1, [r5, #0x4c]
|
|
add r2, r6, #0
|
|
bl PhoneCallMessagePrint
|
|
b _021F26EC
|
|
_021F26D6:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F26E2
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F26E2:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F26EC:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2680
|
|
|
|
thumb_func_start ov101_021F26F8
|
|
ov101_021F26F8: ; 0x021F26F8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r1, r5, #0
|
|
add r1, #0x88
|
|
mov r3, #1
|
|
add r4, r5, #0
|
|
ldr r1, [r1]
|
|
lsl r3, r3, #8
|
|
add r4, #0x88
|
|
cmp r1, r3
|
|
bgt _021F2732
|
|
bge _021F279C
|
|
cmp r1, #3
|
|
bgt _021F272C
|
|
cmp r1, #0
|
|
blt _021F27D4
|
|
add r2, r1, r1
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_021F2724: ; jump table
|
|
.short _021F2744 - _021F2724 - 2 ; case 0
|
|
.short _021F2750 - _021F2724 - 2 ; case 1
|
|
.short _021F276E - _021F2724 - 2 ; case 2
|
|
.short _021F277A - _021F2724 - 2 ; case 3
|
|
_021F272C:
|
|
cmp r1, #0xff
|
|
beq _021F278E
|
|
b _021F27D4
|
|
_021F2732:
|
|
add r2, r3, #1
|
|
cmp r1, r2
|
|
bgt _021F273C
|
|
beq _021F27B4
|
|
b _021F27D4
|
|
_021F273C:
|
|
add r2, r3, #2
|
|
cmp r1, r2
|
|
beq _021F27C0
|
|
b _021F27D4
|
|
_021F2744:
|
|
bl ov101_021F2494
|
|
cmp r0, #0
|
|
bne _021F27D4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2750:
|
|
ldrh r1, [r4, #0x20]
|
|
lsl r2, r1, #2
|
|
ldr r1, _021F27E0 ; =ov101_021F867C
|
|
ldr r1, [r1, r2]
|
|
blx r1
|
|
cmp r0, #0
|
|
bne _021F2762
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2762:
|
|
add r0, r4, #0
|
|
add r0, #0x22
|
|
ldrb r1, [r0]
|
|
ldr r0, [r5, #0x3c]
|
|
str r1, [r0]
|
|
b _021F27D4
|
|
_021F276E:
|
|
bl ov101_021F23F0
|
|
cmp r0, #0
|
|
bne _021F27D4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F277A:
|
|
bl ov101_021F2510
|
|
cmp r0, #0
|
|
bne _021F2786
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2786:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F278E:
|
|
add r0, r5, #0
|
|
bl ov101_021F2598
|
|
cmp r0, #0
|
|
bne _021F27D4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F279C:
|
|
bl ov101_021F2510
|
|
cmp r0, #0
|
|
bne _021F27A8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F27A8:
|
|
ldr r1, [r5, #0x44]
|
|
add r0, r5, #0
|
|
mov r2, #0x25
|
|
bl PhoneCallMessagePrint3
|
|
b _021F27D4
|
|
_021F27B4:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F27D4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F27C0:
|
|
bl ov101_021F23F0
|
|
cmp r0, #0
|
|
bne _021F27CC
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F27CC:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F27D4:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F27E0: .word ov101_021F867C
|
|
thumb_func_end ov101_021F26F8
|
|
|
|
thumb_func_start ov101_021F27E4
|
|
ov101_021F27E4: ; 0x021F27E4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
ldrb r1, [r4, #0x1a]
|
|
cmp r1, #2
|
|
bne _021F2804
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0xa7
|
|
bl SetFlagInArray
|
|
mov r0, #4
|
|
strh r0, [r4, #0x20]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2804:
|
|
ldr r1, [r4, #0x10]
|
|
ldrh r2, [r1, #6]
|
|
ldrh r1, [r5, #0x30]
|
|
cmp r2, r1
|
|
bne _021F2812
|
|
mov r0, #0x17
|
|
pop {r3, r4, r5, pc}
|
|
_021F2812:
|
|
ldrb r1, [r4, #0x19]
|
|
cmp r1, #0
|
|
beq _021F281E
|
|
strh r0, [r4, #0x20]
|
|
ldrh r0, [r4, #0x1c]
|
|
pop {r3, r4, r5, pc}
|
|
_021F281E:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0x79
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F282E
|
|
mov r0, #0x19
|
|
pop {r3, r4, r5, pc}
|
|
_021F282E:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0xa7
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F283E
|
|
mov r0, #0x1a
|
|
pop {r3, r4, r5, pc}
|
|
_021F283E:
|
|
mov r0, #4
|
|
strh r0, [r4, #0x20]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F27E4
|
|
|
|
thumb_func_start GearPhoneCall_Mom
|
|
GearPhoneCall_Mom: ; 0x021F2848
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #4
|
|
bls _021F285A
|
|
b _021F29BE
|
|
_021F285A:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F2866: ; jump table
|
|
.short _021F2870 - _021F2866 - 2 ; case 0
|
|
.short _021F28FC - _021F2866 - 2 ; case 1
|
|
.short _021F292A - _021F2866 - 2 ; case 2
|
|
.short _021F2940 - _021F2866 - 2 ; case 3
|
|
.short _021F2958 - _021F2866 - 2 ; case 4
|
|
_021F2870:
|
|
bl ov101_021F2110
|
|
mov r1, #0
|
|
ldr r0, [r5, #0x20]
|
|
add r2, r1, #0
|
|
bl MomSavingsBalanceAction
|
|
str r0, [r4, #0x44]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x50]
|
|
ldr r2, [r4, #0x44]
|
|
mov r1, #0xa
|
|
mov r3, #6
|
|
bl BufferIntegerAsString
|
|
ldr r0, [r5, #0x28]
|
|
bl ScriptState_MomsSavingsFlagCheck
|
|
add r1, r4, #0
|
|
add r1, #0x4d
|
|
ldrb r1, [r1]
|
|
mov r2, #1
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #1
|
|
and r0, r2
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_0202F240
|
|
add r1, r4, #0
|
|
add r1, #0x4d
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1f
|
|
ldrb r1, [r1]
|
|
mov r2, #2
|
|
lsr r0, r0, #0x1e
|
|
bic r1, r2
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
ldrb r0, [r4, #0x1a]
|
|
cmp r0, #2
|
|
bne _021F28E4
|
|
mov r0, #2
|
|
str r0, [r4, #4]
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F28E4:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl MomCallGetIntroMsgByLocation
|
|
add r2, r0, #0
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F29DA
|
|
_021F28FC:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F290A
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F290A:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1f
|
|
beq _021F29DA
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #msg_0664_00021
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F292A:
|
|
add r1, r4, #0
|
|
bl MomCallGetSaveMoneyPromptMsg
|
|
add r2, r0, #0
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F29DA
|
|
_021F2940:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F294E
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F294E:
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
bl ov101_021F2308
|
|
b _021F29DA
|
|
_021F2958:
|
|
bl ov101_021F2338
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
bne _021F296C
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F296C:
|
|
add r0, r5, #0
|
|
bl ov101_021F2344
|
|
cmp r6, #0
|
|
bne _021F2992
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r1, [r0]
|
|
mov r0, #2
|
|
mov r2, #msg_0664_00025
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
bl PhoneCallMessagePrint3
|
|
b _021F29AC
|
|
_021F2992:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r1, [r0]
|
|
mov r0, #2
|
|
mov r2, #msg_0664_00026
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
bl PhoneCallMessagePrint3
|
|
_021F29AC:
|
|
add r1, r4, #0
|
|
add r1, #0x4d
|
|
ldrb r1, [r1]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r1, r1, #0x1e
|
|
lsr r1, r1, #0x1f
|
|
bl ScriptState_MomsSavingsFlagAction
|
|
b _021F29DA
|
|
_021F29BE:
|
|
add r0, r5, #0
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F29CE
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F29CE:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F29DA:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end GearPhoneCall_Mom
|
|
|
|
thumb_func_start MomCallGetIntroMsgByLocation
|
|
MomCallGetIntroMsgByLocation: ; 0x021F29E8
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #0x30]
|
|
bl MapHeader_GetMomCallIntroParam
|
|
add r0, r0, #msg_0664_00007
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, pc}
|
|
thumb_func_end MomCallGetIntroMsgByLocation
|
|
|
|
thumb_func_start MomCallGetSaveMoneyPromptMsg
|
|
MomCallGetSaveMoneyPromptMsg: ; 0x021F29F8
|
|
ldrb r0, [r1, #0x1a]
|
|
cmp r0, #2
|
|
bne _021F2A02
|
|
mov r0, #0x16
|
|
bx lr
|
|
_021F2A02:
|
|
add r0, r1, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
ldr r0, [r1, #0x44]
|
|
beq _021F2A1C
|
|
cmp r0, #0
|
|
beq _021F2A18
|
|
mov r0, #msg_0664_00023
|
|
bx lr
|
|
_021F2A18:
|
|
mov r0, #msg_0664_00027
|
|
bx lr
|
|
_021F2A1C:
|
|
cmp r0, #0
|
|
beq _021F2A24
|
|
mov r0, #msg_0664_00024
|
|
bx lr
|
|
_021F2A24:
|
|
mov r0, #msg_0664_00028
|
|
bx lr
|
|
thumb_func_end MomCallGetSaveMoneyPromptMsg
|
|
|
|
thumb_func_start ov101_021F2A28
|
|
ov101_021F2A28: ; 0x021F2A28
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldrb r0, [r4, #0x1a]
|
|
cmp r0, #2
|
|
bne _021F2A48
|
|
ldrh r0, [r4, #0x1c]
|
|
lsl r1, r0, #1
|
|
ldr r0, _021F2B70 ; =ov101_021F86BC
|
|
ldrb r0, [r0, r1]
|
|
strh r0, [r4, #0x20]
|
|
ldrh r0, [r4, #0x1c]
|
|
lsl r1, r0, #1
|
|
ldr r0, _021F2B74 ; =ov101_021F86BD
|
|
ldrb r0, [r0, r1]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2A48:
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #0
|
|
beq _021F2A56
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
ldrh r0, [r4, #0x1c]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2A56:
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
ldr r0, [r5, #0x24]
|
|
bl PlayerProfile_CountBadges
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
ldr r0, [r4, #0x10]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r0, [r5, #0x30]
|
|
cmp r1, r0
|
|
bne _021F2A72
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2A72:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0xee
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F2A82
|
|
mov r0, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2A82:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0x79
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F2A92
|
|
mov r0, #9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2A92:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0x9f
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F2AA2
|
|
mov r0, #0xa
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2AA2:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0x70
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F2AB2
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2AB2:
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F2B78 ; =0x00000983
|
|
bl CheckFlagInArray
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F2B7C ; =0x0000011A
|
|
bl CheckFlagInArray
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
cmp r7, #7
|
|
bhs _021F2AF6
|
|
cmp r6, #0
|
|
bne _021F2AD6
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2AD6:
|
|
cmp r4, #0
|
|
beq _021F2AF2
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
add r0, #0xe
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2AF2:
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2AF6:
|
|
ldr r0, [r5, #0x28]
|
|
bl ScriptState_IsInRocketTakeover
|
|
cmp r0, #0
|
|
beq _021F2B04
|
|
mov r0, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2B04:
|
|
cmp r7, #8
|
|
bhs _021F2B0C
|
|
mov r0, #0x11
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2B0C:
|
|
ldr r0, [r5, #0x28]
|
|
bl CheckGameClearFlag
|
|
cmp r0, #0
|
|
bne _021F2B1A
|
|
mov r0, #0x12
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2B1A:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0xf2
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F2B2A
|
|
mov r0, #0x13
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2B2A:
|
|
cmp r4, #0
|
|
bne _021F2B3A
|
|
cmp r6, #0
|
|
beq _021F2B36
|
|
mov r0, #0xd
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2B36:
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2B3A:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0x65
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F2B58
|
|
bl LCRandom
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r1, #0x14
|
|
lsl r0, r1, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2B58:
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
add r0, #0x14
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F2B70: .word ov101_021F86BC
|
|
_021F2B74: .word ov101_021F86BD
|
|
_021F2B78: .word 0x00000983
|
|
_021F2B7C: .word 0x0000011A
|
|
thumb_func_end ov101_021F2A28
|
|
|
|
thumb_func_start ov101_021F2B80
|
|
ov101_021F2B80: ; 0x021F2B80
|
|
push {r3, r4, r5, lr}
|
|
mov r2, #0
|
|
strh r2, [r1, #0x20]
|
|
ldrb r2, [r1, #0x18]
|
|
ldr r3, _021F2BBC ; =ov101_021F968C
|
|
lsl r4, r2, #4
|
|
mov r2, #6
|
|
mul r2, r4
|
|
ldrb r4, [r1, #0x19]
|
|
cmp r4, #0
|
|
beq _021F2BA2
|
|
add r1, r3, r2
|
|
add r1, #0x30
|
|
mov r2, #8
|
|
bl ov101_021F2BC0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2BA2:
|
|
ldr r5, [r1, #0x10]
|
|
ldrh r1, [r0, #0x30]
|
|
ldrh r4, [r5, #6]
|
|
cmp r4, r1
|
|
bne _021F2BB0
|
|
ldrh r0, [r5, #0xa]
|
|
pop {r3, r4, r5, pc}
|
|
_021F2BB0:
|
|
add r1, r3, r2
|
|
mov r2, #8
|
|
bl ov101_021F2BC0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F2BBC: .word ov101_021F968C
|
|
thumb_func_end ov101_021F2B80
|
|
|
|
thumb_func_start ov101_021F2BC0
|
|
ov101_021F2BC0: ; 0x021F2BC0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
str r0, [sp]
|
|
add r0, #0x88
|
|
add r7, r2, #0
|
|
str r0, [sp]
|
|
add r4, r1, #0
|
|
mov r6, #0
|
|
cmp r7, #0
|
|
ble _021F2C5C
|
|
_021F2BD4:
|
|
ldrb r0, [r4]
|
|
cmp r0, #0xff
|
|
beq _021F2C5C
|
|
cmp r0, #0
|
|
beq _021F2C5C
|
|
cmp r0, #8
|
|
bhi _021F2C3C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F2BEE: ; jump table
|
|
.short _021F2C3C - _021F2BEE - 2 ; case 0
|
|
.short _021F2C3C - _021F2BEE - 2 ; case 1
|
|
.short _021F2C00 - _021F2BEE - 2 ; case 2
|
|
.short _021F2C1E - _021F2BEE - 2 ; case 3
|
|
.short _021F2C28 - _021F2BEE - 2 ; case 4
|
|
.short _021F2C32 - _021F2BEE - 2 ; case 5
|
|
.short _021F2C3C - _021F2BEE - 2 ; case 6
|
|
.short _021F2C0A - _021F2BEE - 2 ; case 7
|
|
.short _021F2C14 - _021F2BEE - 2 ; case 8
|
|
_021F2C00:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2CB8
|
|
b _021F2C44
|
|
_021F2C0A:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2D48
|
|
b _021F2C44
|
|
_021F2C14:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2D90
|
|
b _021F2C44
|
|
_021F2C1E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2D10
|
|
b _021F2C44
|
|
_021F2C28:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2DC8
|
|
b _021F2C44
|
|
_021F2C32:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2DE8
|
|
b _021F2C44
|
|
_021F2C3C:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F2CAC
|
|
_021F2C44:
|
|
cmp r0, #0
|
|
beq _021F2C52
|
|
ldrh r1, [r4, #2]
|
|
ldr r0, [sp]
|
|
strh r1, [r0, #0x20]
|
|
ldrh r0, [r4, #4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2C52:
|
|
add r6, r6, #1
|
|
add r1, r4, #0
|
|
add r4, r4, #6
|
|
cmp r6, r7
|
|
blt _021F2BD4
|
|
_021F2C5C:
|
|
ldrb r0, [r1]
|
|
cmp r0, #0xff
|
|
beq _021F2C66
|
|
cmp r0, #0
|
|
bne _021F2C6E
|
|
_021F2C66:
|
|
ldr r1, [sp]
|
|
mov r0, #0
|
|
strh r0, [r1, #0x20]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F2C6E:
|
|
ldrh r2, [r1, #2]
|
|
ldr r0, [sp]
|
|
strh r2, [r0, #0x20]
|
|
ldrh r0, [r1, #4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021F2BC0
|
|
|
|
thumb_func_start ov101_021F2C78
|
|
ov101_021F2C78: ; 0x021F2C78
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl MTRandom
|
|
add r5, r0, #0
|
|
bl MTRandom
|
|
add r2, r5, #0
|
|
eor r2, r0
|
|
lsl r0, r2, #0x10
|
|
lsr r1, r0, #0x10
|
|
asr r0, r2, #8
|
|
eor r0, r1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0x64
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
lsr r0, r0, #0x10
|
|
cmp r0, r4
|
|
bgt _021F2CA8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F2CA8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F2C78
|
|
|
|
thumb_func_start ov101_021F2CAC
|
|
ov101_021F2CAC: ; 0x021F2CAC
|
|
ldr r3, _021F2CB4 ; =ov101_021F2C78
|
|
ldrb r0, [r1, #1]
|
|
bx r3
|
|
nop
|
|
_021F2CB4: .word ov101_021F2C78
|
|
thumb_func_end ov101_021F2CAC
|
|
|
|
thumb_func_start ov101_021F2CB8
|
|
ov101_021F2CB8: ; 0x021F2CB8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r5, #0
|
|
add r6, #0x88
|
|
add r4, r1, #0
|
|
ldrb r1, [r6, #0x18]
|
|
ldr r0, [r5, #0x20]
|
|
bl PhoneRematches_IsSeeking
|
|
cmp r0, #0
|
|
beq _021F2CD2
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F2CD2:
|
|
ldrb r1, [r6, #0x18]
|
|
ldr r0, [r5, #0x20]
|
|
bl PhoneRematches_GiftItemIdGet
|
|
cmp r0, #0
|
|
beq _021F2CE2
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F2CE2:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0xc6
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F2D08
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _021F2D08
|
|
ldrh r0, [r4, #4]
|
|
bl ov101_021F2374
|
|
ldrh r0, [r0, #2]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #3
|
|
bne _021F2D08
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F2D08:
|
|
ldrb r0, [r4, #1]
|
|
bl ov101_021F2C78
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F2CB8
|
|
|
|
thumb_func_start ov101_021F2D10
|
|
ov101_021F2D10: ; 0x021F2D10
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
ldr r0, [r0, #0x28]
|
|
mov r1, #0xc6
|
|
add r4, #0x88
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F2D28
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2D28:
|
|
ldr r2, [r4, #0x10]
|
|
ldr r1, [r4, #0x34]
|
|
ldrb r0, [r2, #0xd]
|
|
cmp r1, r0
|
|
bne _021F2D3C
|
|
add r4, #0x23
|
|
ldrb r1, [r4]
|
|
ldrb r0, [r2, #0xe]
|
|
cmp r1, r0
|
|
beq _021F2D40
|
|
_021F2D3C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2D40:
|
|
ldrb r0, [r5, #1]
|
|
bl ov101_021F2C78
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F2D10
|
|
|
|
thumb_func_start ov101_021F2D48
|
|
ov101_021F2D48: ; 0x021F2D48
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x28]
|
|
add r6, r1, #0
|
|
add r4, r5, #0
|
|
mov r1, #0xc6
|
|
add r4, #0x88
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F2D62
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F2D62:
|
|
ldr r0, [r4, #0x10]
|
|
ldrh r0, [r0, #6]
|
|
cmp r0, #0x60
|
|
bne _021F2D78
|
|
ldr r0, [r5, #0x28]
|
|
bl CheckFlag996
|
|
cmp r0, #0
|
|
beq _021F2D78
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F2D78:
|
|
ldrb r1, [r4, #0x18]
|
|
ldr r0, [r5, #0x20]
|
|
bl PhoneRematches_IsSeeking
|
|
cmp r0, #0
|
|
bne _021F2D88
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F2D88:
|
|
ldrb r0, [r6, #1]
|
|
bl ov101_021F2C78
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F2D48
|
|
|
|
thumb_func_start ov101_021F2D90
|
|
ov101_021F2D90: ; 0x021F2D90
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r0, [r4, #0x10]
|
|
add r6, r1, #0
|
|
ldrh r0, [r0, #6]
|
|
cmp r0, #0x60
|
|
bne _021F2DB0
|
|
ldr r0, [r5, #0x28]
|
|
bl CheckFlag996
|
|
cmp r0, #0
|
|
beq _021F2DB0
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F2DB0:
|
|
ldrb r1, [r4, #0x18]
|
|
ldr r0, [r5, #0x20]
|
|
bl PhoneRematches_GiftItemIdGet
|
|
cmp r0, #0
|
|
bne _021F2DC0
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F2DC0:
|
|
ldrb r0, [r6, #1]
|
|
bl ov101_021F2C78
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F2D90
|
|
|
|
thumb_func_start ov101_021F2DC8
|
|
ov101_021F2DC8: ; 0x021F2DC8
|
|
push {r3, lr}
|
|
add r0, #0xbc
|
|
ldr r0, [r0]
|
|
cmp r0, #2
|
|
beq _021F2DDA
|
|
cmp r0, #4
|
|
beq _021F2DDA
|
|
cmp r0, #6
|
|
bne _021F2DE2
|
|
_021F2DDA:
|
|
ldrb r0, [r1, #1]
|
|
bl ov101_021F2C78
|
|
pop {r3, pc}
|
|
_021F2DE2:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2DC8
|
|
|
|
thumb_func_start ov101_021F2DE8
|
|
ov101_021F2DE8: ; 0x021F2DE8
|
|
push {r4, lr}
|
|
ldr r0, [r0, #0x28]
|
|
add r4, r1, #0
|
|
bl ScriptState_IsInRocketTakeover
|
|
cmp r0, #0
|
|
beq _021F2DFE
|
|
ldrb r0, [r4, #1]
|
|
bl ov101_021F2C78
|
|
pop {r4, pc}
|
|
_021F2DFE:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2DE8
|
|
|
|
thumb_func_start ov101_021F2E04
|
|
ov101_021F2E04: ; 0x021F2E04
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc4
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
bl MapHeader_HasWildEncounters
|
|
cmp r0, #0
|
|
bne _021F2E1C
|
|
add sp, #0xc4
|
|
mov r0, #SPECIES_RATTATA
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021F2E1C:
|
|
add r0, sp, #0
|
|
add r1, r6, #0
|
|
bl WildEncounters_ReadFromNarc
|
|
cmp r5, #0xb
|
|
bne _021F2E4A
|
|
cmp r4, #2
|
|
bne _021F2E34
|
|
add r0, sp, #0xc0
|
|
ldrh r1, [r0] // swarmSpecies[3]
|
|
add r0, sp, #0x80
|
|
strh r1, [r0, #0x22] // goodRodSlots[3].species
|
|
_021F2E34:
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r0, sp, #0x94 // goodRodSlots
|
|
lsl r1, r1, #2
|
|
add r0, #2
|
|
add sp, #0xc4
|
|
ldrh r0, [r0, r1]
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021F2E4A:
|
|
cmp r4, #0
|
|
beq _021F2E60
|
|
cmp r4, #1
|
|
beq _021F2E58
|
|
cmp r4, #2
|
|
beq _021F2E5C
|
|
b _021F2E60
|
|
_021F2E58:
|
|
add r4, sp, #0x2c // landSlots.species_day
|
|
b _021F2E62
|
|
_021F2E5C:
|
|
add r4, sp, #0x44 // landSlots.species_nite
|
|
b _021F2E62
|
|
_021F2E60:
|
|
add r4, sp, #0x14 // landSlots.species_morn
|
|
_021F2E62:
|
|
bl LCRandom
|
|
mov r1, #0xc
|
|
bl _s32_div_f
|
|
lsl r0, r1, #1
|
|
ldrh r0, [r4, r0]
|
|
add sp, #0xc4
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F2E04
|
|
|
|
thumb_func_start ov101_021F2E74
|
|
ov101_021F2E74: ; 0x021F2E74
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x40
|
|
add r4, r1, #0
|
|
add r1, sp, #0xc
|
|
add r5, r0, #0
|
|
bl TrainerData_ReadTrData
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r2, #0x6c
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl TrainerData_ReadTrPoke
|
|
add r1, sp, #0
|
|
ldrb r0, [r1, #0xc]
|
|
cmp r0, #3
|
|
bhi _021F2F28
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F2EB0: ; jump table
|
|
.short _021F2EB8 - _021F2EB0 - 2 ; case 0
|
|
.short _021F2ED4 - _021F2EB0 - 2 ; case 1
|
|
.short _021F2EF0 - _021F2EB0 - 2 ; case 2
|
|
.short _021F2F0C - _021F2EB0 - 2 ; case 3
|
|
_021F2EB8:
|
|
ldrb r5, [r1, #0xf]
|
|
mov r2, #0
|
|
cmp r5, #0
|
|
ble _021F2F34
|
|
add r1, r4, #0
|
|
add r3, sp, #0
|
|
_021F2EC4:
|
|
ldrh r0, [r1, #4]
|
|
add r2, r2, #1
|
|
add r1, #8
|
|
strh r0, [r3]
|
|
add r3, r3, #2
|
|
cmp r2, r5
|
|
blt _021F2EC4
|
|
b _021F2F34
|
|
_021F2ED4:
|
|
ldrb r3, [r1, #0xf]
|
|
mov r5, #0
|
|
cmp r3, #0
|
|
ble _021F2F34
|
|
add r1, r4, #0
|
|
add r2, sp, #0
|
|
_021F2EE0:
|
|
ldrh r0, [r1, #4]
|
|
add r5, r5, #1
|
|
add r1, #0x10
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
cmp r5, r3
|
|
blt _021F2EE0
|
|
b _021F2F34
|
|
_021F2EF0:
|
|
ldrb r3, [r1, #0xf]
|
|
mov r5, #0
|
|
cmp r3, #0
|
|
ble _021F2F34
|
|
add r1, r4, #0
|
|
add r2, sp, #0
|
|
_021F2EFC:
|
|
ldrh r0, [r1, #4]
|
|
add r5, r5, #1
|
|
add r1, #0xa
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
cmp r5, r3
|
|
blt _021F2EFC
|
|
b _021F2F34
|
|
_021F2F0C:
|
|
ldrb r3, [r1, #0xf]
|
|
mov r5, #0
|
|
cmp r3, #0
|
|
ble _021F2F34
|
|
add r1, r4, #0
|
|
add r2, sp, #0
|
|
_021F2F18:
|
|
ldrh r0, [r1, #4]
|
|
add r5, r5, #1
|
|
add r1, #0x12
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
cmp r5, r3
|
|
blt _021F2F18
|
|
b _021F2F34
|
|
_021F2F28:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0x40
|
|
mov r0, #0x13
|
|
pop {r3, r4, r5, pc}
|
|
_021F2F34:
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
bl LCRandom
|
|
add r1, sp, #0
|
|
ldrb r1, [r1, #0xf]
|
|
bl _s32_div_f
|
|
lsl r1, r1, #1
|
|
add r0, sp, #0
|
|
ldrh r0, [r0, r1]
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F2E74
|
|
|
|
thumb_func_start ov101_021F2F50
|
|
ov101_021F2F50: ; 0x021F2F50
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F2F68
|
|
cmp r1, #1
|
|
beq _021F2FB8
|
|
cmp r1, #2
|
|
beq _021F2FC4
|
|
b _021F2FDA
|
|
_021F2F68:
|
|
bl ov101_021F2110
|
|
ldrh r0, [r4, #0x1e]
|
|
bl ov101_021F2374
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov101_021F2248
|
|
ldr r0, [r4, #0x10]
|
|
ldr r1, [r5]
|
|
ldrh r0, [r0, #4]
|
|
bl ov101_021F2E74
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0xa
|
|
bl BufferSpeciesName
|
|
ldr r1, [r4, #0x10]
|
|
add r2, r4, #0
|
|
add r2, #0x23
|
|
ldrh r0, [r1, #6]
|
|
ldrb r1, [r1, #3]
|
|
ldrb r2, [r2]
|
|
bl ov101_021F2E04
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0xb
|
|
bl BufferSpeciesName
|
|
ldr r0, [r4, #0x10]
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0xff
|
|
bne _021F2FF0
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
b _021F2FF0
|
|
_021F2FB8:
|
|
bl ov101_021F2614
|
|
cmp r0, #0
|
|
bne _021F2FF0
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2FC4:
|
|
ldrh r0, [r4, #0x1e]
|
|
bl ov101_021F2374
|
|
add r3, r0, #0
|
|
ldrb r2, [r3]
|
|
ldrb r3, [r3, #1]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
bl PhoneCallMessagePrint2
|
|
b _021F2FF0
|
|
_021F2FDA:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F2FE6
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F2FE6:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F2FF0:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2F50
|
|
|
|
thumb_func_start ov101_021F2FFC
|
|
ov101_021F2FFC: ; 0x021F2FFC
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
add r4, r6, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F3014
|
|
cmp r1, #1
|
|
beq _021F3036
|
|
cmp r1, #2
|
|
beq _021F3042
|
|
b _021F308A
|
|
_021F3014:
|
|
bl ov101_021F2110
|
|
ldrh r0, [r4, #0x1e]
|
|
bl ov101_021F2374
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl ov101_021F2248
|
|
ldr r0, [r4, #0x10]
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0xff
|
|
bne _021F30A0
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
b _021F30A0
|
|
_021F3036:
|
|
bl ov101_021F2614
|
|
cmp r0, #0
|
|
bne _021F30A0
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3042:
|
|
bl LCRandom
|
|
mov r1, #0xb
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r5, r0, #0x18
|
|
ldrh r0, [r4, #0x1e]
|
|
bl ov101_021F2374
|
|
ldrb r3, [r0, #1]
|
|
ldrb r2, [r0]
|
|
cmp r2, r3
|
|
bne _021F306E
|
|
add r2, r2, r5
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r6, #0x4c]
|
|
add r0, r6, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F30A0
|
|
_021F306E:
|
|
lsl r0, r5, #0x19
|
|
lsr r5, r0, #0x18
|
|
add r3, r3, r5
|
|
add r2, r2, r5
|
|
add r3, r3, #1
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
ldr r1, [r6, #0x4c]
|
|
add r0, r6, #0
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl PhoneCallMessagePrint2
|
|
b _021F30A0
|
|
_021F308A:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3096
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3096:
|
|
ldr r0, [r6, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F30A0:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F2FFC
|
|
|
|
thumb_func_start ov101_021F30AC
|
|
ov101_021F30AC: ; 0x021F30AC
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
ldr r0, [r5, #0x1c]
|
|
bl Save_Pokedex_get
|
|
ldrb r1, [r4, #0x1a]
|
|
add r6, r0, #0
|
|
cmp r1, #2
|
|
bne _021F30CC
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
mov r0, #0x52
|
|
pop {r4, r5, r6, pc}
|
|
_021F30CC:
|
|
ldrb r1, [r4, #0x19]
|
|
cmp r1, #0
|
|
beq _021F30F4
|
|
bl Pokedex_CountNationalDexOwned
|
|
mov r1, #0x32
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bne _021F30E6
|
|
mov r0, #1
|
|
b _021F30EC
|
|
_021F30E6:
|
|
cmp r0, #9
|
|
bls _021F30EC
|
|
mov r0, #9
|
|
_021F30EC:
|
|
add r0, #0x44
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021F30F4:
|
|
ldr r0, [r4, #0x10]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r0, [r5, #0x30]
|
|
cmp r1, r0
|
|
bne _021F3102
|
|
mov r0, #0x44
|
|
pop {r4, r5, r6, pc}
|
|
_021F3102:
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F3134 ; =FLAG_UNK_988
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F3112
|
|
mov r0, #0x51
|
|
pop {r4, r5, r6, pc}
|
|
_021F3112:
|
|
add r0, r6, #0
|
|
bl Pokedex_GetNatDexFlag
|
|
cmp r0, #0
|
|
bne _021F312C
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F3138 ; =FLAG_OAK_ACKNOWLEDGED_JOHTO_DEX_COMPLETION
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F312C
|
|
mov r0, #0x50
|
|
pop {r4, r5, r6, pc}
|
|
_021F312C:
|
|
mov r0, #5
|
|
strh r0, [r4, #0x20]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F3134: .word FLAG_UNK_988
|
|
_021F3138: .word FLAG_OAK_ACKNOWLEDGED_JOHTO_DEX_COMPLETION
|
|
thumb_func_end ov101_021F30AC
|
|
|
|
thumb_func_start ov101_021F313C
|
|
ov101_021F313C: ; 0x021F313C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #5
|
|
bls _021F314E
|
|
b _021F33E8
|
|
_021F314E:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F315A: ; jump table
|
|
.short _021F3166 - _021F315A - 2 ; case 0
|
|
.short _021F31E0 - _021F315A - 2 ; case 1
|
|
.short _021F31FA - _021F315A - 2 ; case 2
|
|
.short _021F3250 - _021F315A - 2 ; case 3
|
|
.short _021F332E - _021F315A - 2 ; case 4
|
|
.short _021F33C0 - _021F315A - 2 ; case 5
|
|
_021F3166:
|
|
bl ov101_021F2110
|
|
ldr r0, [r5, #0x1c]
|
|
bl Save_Pokedex_get
|
|
add r6, r0, #0
|
|
bl Pokedex_GetNatDexFlag
|
|
add r1, r4, #0
|
|
add r1, #0x4d
|
|
ldrb r1, [r1]
|
|
mov r2, #1
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #1
|
|
and r0, r2
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
add r0, r6, #0
|
|
bl Pokedex_JohtoDexIsComplete
|
|
add r1, r4, #0
|
|
add r1, #0x4d
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1f
|
|
ldrb r1, [r1]
|
|
mov r2, #2
|
|
lsr r0, r0, #0x1e
|
|
bic r1, r2
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
add r0, r6, #0
|
|
bl Pokedex_NationalDexIsComplete
|
|
add r1, r4, #0
|
|
add r1, #0x4d
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1f
|
|
ldrb r1, [r1]
|
|
mov r2, #4
|
|
lsr r0, r0, #0x1d
|
|
bic r1, r2
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
str r6, [r4, #0x50]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0xd
|
|
mov r3, #0xe
|
|
bl PhoneCallMessagePrint2
|
|
b _021F3418
|
|
_021F31E0:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F31EE
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F31EE:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0xf
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3418
|
|
_021F31FA:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3208
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3208:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021F3234
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F3424 ; =FLAG_OAK_ACKNOWLEDGED_JOHTO_DEX_COMPLETION
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F322A
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x4a
|
|
strb r1, [r0]
|
|
b _021F323C
|
|
_021F322A:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x4a
|
|
strb r1, [r0]
|
|
b _021F323C
|
|
_021F3234:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x4a
|
|
strb r1, [r0]
|
|
_021F323C:
|
|
add r1, r4, #0
|
|
add r1, #0x4a
|
|
ldrb r1, [r1]
|
|
add r0, r5, #0
|
|
add r1, r1, #3
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021F2308
|
|
b _021F3418
|
|
_021F3250:
|
|
bl ov101_021F2338
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
bne _021F3264
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3264:
|
|
add r0, r5, #0
|
|
bl ov101_021F2344
|
|
cmp r6, #0
|
|
bne _021F329C
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _021F328A
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r1, [r0]
|
|
mov r0, #8
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
b _021F32D0
|
|
_021F328A:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r1, [r0]
|
|
mov r0, #8
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
b _021F32D0
|
|
_021F329C:
|
|
cmp r6, #1
|
|
bne _021F32BC
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _021F32BC
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r1, [r0]
|
|
mov r0, #8
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
b _021F32D0
|
|
_021F32BC:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0x15
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F32D0:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1f
|
|
ldr r0, [r4, #0x50]
|
|
bne _021F32EC
|
|
bl Pokedex_CountJohtoDexSeen
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #0x50]
|
|
bl Pokedex_CountJohtoDexOwned
|
|
b _021F32F8
|
|
_021F32EC:
|
|
bl Pokedex_CountNationalDexSeen
|
|
add r7, r0, #0
|
|
ldr r0, [r4, #0x50]
|
|
bl Pokedex_CountNationalDexOwned
|
|
_021F32F8:
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #5
|
|
add r2, r7, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #6
|
|
add r2, r6, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0x14
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3418
|
|
_021F332E:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F333C
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F333C:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
mov r6, #0
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1f
|
|
ldr r0, [r4, #0x50]
|
|
bne _021F3376
|
|
bl Pokedex_CountJohtoOwned_ExcludeMythical
|
|
add r1, r5, #0
|
|
add r1, #0x36
|
|
ldrb r1, [r1]
|
|
add r2, sp, #8
|
|
bl sub_0205BBD0
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1f
|
|
beq _021F339E
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F3424 ; =FLAG_OAK_ACKNOWLEDGED_JOHTO_DEX_COMPLETION
|
|
bl SetFlagInArray
|
|
mov r6, #1
|
|
b _021F339E
|
|
_021F3376:
|
|
bl Pokedex_CountNationalOwned_ExcludeMythical
|
|
add r1, r5, #0
|
|
add r1, #0x36
|
|
ldrb r1, [r1]
|
|
add r2, sp, #8
|
|
bl sub_0205BC78
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
beq _021F339E
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F3428 ; =FLAG_UNK_988
|
|
bl SetFlagInArray
|
|
mov r6, #1
|
|
_021F339E:
|
|
add r0, sp, #8
|
|
ldrh r0, [r0]
|
|
bl PlayFanfare
|
|
lsl r2, r7, #0x18
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
cmp r6, #0
|
|
beq _021F3418
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F33C0:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F33CE
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F33CE:
|
|
bl IsFanfarePlaying
|
|
cmp r0, #0
|
|
beq _021F33DC
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F33DC:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0x15
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3418
|
|
_021F33E8:
|
|
add r0, r5, #0
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F33F8
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F33F8:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0xff
|
|
bne _021F340C
|
|
bl IsFanfarePlaying
|
|
cmp r0, #0
|
|
beq _021F340C
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F340C:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F3418:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F3424: .word FLAG_OAK_ACKNOWLEDGED_JOHTO_DEX_COMPLETION
|
|
_021F3428: .word FLAG_UNK_988
|
|
thumb_func_end ov101_021F313C
|
|
|
|
thumb_func_start ov101_021F342C
|
|
ov101_021F342C: ; 0x021F342C
|
|
mov r3, #0
|
|
strh r3, [r1, #0x20]
|
|
ldr r2, [r1, #0x10]
|
|
ldrh r0, [r0, #0x30]
|
|
ldrh r2, [r2, #6]
|
|
cmp r2, r0
|
|
bne _021F343E
|
|
mov r0, #0x53
|
|
bx lr
|
|
_021F343E:
|
|
mov r0, #0xc
|
|
strh r0, [r1, #0x20]
|
|
add r0, r3, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F342C
|
|
|
|
thumb_func_start ov101_021F3448
|
|
ov101_021F3448: ; 0x021F3448
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F345E
|
|
cmp r1, #1
|
|
beq _021F3486
|
|
b _021F34E8
|
|
_021F345E:
|
|
bl ov101_021F2110
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F3510 ; =0x00000127
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F347A
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #6
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3502
|
|
_021F347A:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #2
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3502
|
|
_021F3486:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3494
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F3494:
|
|
ldr r0, [r5, #0x1c]
|
|
bl Save_ApricornBox_get
|
|
add r6, r0, #0
|
|
bl ApricornBox_GetKurtQuantity
|
|
add r7, r0, #0
|
|
bne _021F34A8
|
|
mov r2, #5
|
|
b _021F34DE
|
|
_021F34A8:
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F3514 ; =0x00000AA2
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F34B8
|
|
mov r2, #4
|
|
b _021F34DE
|
|
_021F34B8:
|
|
add r0, r6, #0
|
|
bl ApricornBox_GetKurtBall
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0xa
|
|
bl BufferItemName
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0xb
|
|
add r2, r7, #0
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
mov r2, #3
|
|
_021F34DE:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3502
|
|
_021F34E8:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F34F6
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F34F6:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F3502:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F3510: .word 0x00000127
|
|
_021F3514: .word 0x00000AA2
|
|
thumb_func_end ov101_021F3448
|
|
|
|
thumb_func_start ov101_021F3518
|
|
ov101_021F3518: ; 0x021F3518
|
|
mov r2, #0
|
|
strh r2, [r1, #0x20]
|
|
ldr r1, [r1, #0x10]
|
|
ldrh r0, [r0, #0x30]
|
|
ldrh r1, [r1, #6]
|
|
cmp r1, r0
|
|
bne _021F352A
|
|
mov r0, #0x54
|
|
bx lr
|
|
_021F352A:
|
|
mov r0, #0x55
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F3518
|
|
|
|
thumb_func_start ov101_021F3530
|
|
ov101_021F3530: ; 0x021F3530
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
ldr r0, [r4, #0x10]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r0, [r5, #0x30]
|
|
cmp r1, r0
|
|
bne _021F3548
|
|
mov r0, #0x56
|
|
pop {r4, r5, r6, pc}
|
|
_021F3548:
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_0202F284
|
|
add r1, r4, #0
|
|
add r1, #0x4a
|
|
strb r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bls _021F3562
|
|
mov r0, #0x57
|
|
pop {r4, r5, r6, pc}
|
|
_021F3562:
|
|
bne _021F3568
|
|
mov r0, #0x58
|
|
pop {r4, r5, r6, pc}
|
|
_021F3568:
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_0202F274
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
beq _021F3584
|
|
ldr r0, [r5, #0x20]
|
|
mov r1, #0x10
|
|
bl PhoneRematches_IsSeeking
|
|
cmp r0, #0
|
|
bne _021F3584
|
|
mov r0, #0x57
|
|
pop {r4, r5, r6, pc}
|
|
_021F3584:
|
|
ldr r0, [r4, #0x38]
|
|
bl GF_RTC_GetTimeOfDayByHour
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r0, #0xfe
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _021F359C
|
|
mov r0, #0x5b
|
|
pop {r4, r5, r6, pc}
|
|
_021F359C:
|
|
cmp r6, #0
|
|
bne _021F35B2
|
|
ldr r0, [r5, #0x20]
|
|
mov r1, #1
|
|
bl sub_0202F254
|
|
ldr r0, [r5, #0x20]
|
|
mov r1, #0x10
|
|
mov r2, #1
|
|
bl PhoneRematches_SetSeeking
|
|
_021F35B2:
|
|
add r4, #0x23
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _021F35BE
|
|
mov r0, #0x5a
|
|
pop {r4, r5, r6, pc}
|
|
_021F35BE:
|
|
mov r0, #0x59
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F3530
|
|
|
|
thumb_func_start ov101_021F35C4
|
|
ov101_021F35C4: ; 0x021F35C4
|
|
ldrb r2, [r1, #0x19]
|
|
cmp r2, #0
|
|
beq _021F35D2
|
|
mov r0, #0
|
|
strh r0, [r1, #0x20]
|
|
mov r0, #0x5d
|
|
bx lr
|
|
_021F35D2:
|
|
ldr r2, [r1, #0x10]
|
|
ldrh r0, [r0, #0x30]
|
|
ldrh r2, [r2, #6]
|
|
cmp r2, r0
|
|
bne _021F35E4
|
|
mov r0, #0
|
|
strh r0, [r1, #0x20]
|
|
mov r0, #0x5c
|
|
bx lr
|
|
_021F35E4:
|
|
mov r0, #3
|
|
strh r0, [r1, #0x20]
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov101_021F35C4
|
|
|
|
thumb_func_start ov101_021F35EC
|
|
ov101_021F35EC: ; 0x021F35EC
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
add r5, r4, #0
|
|
add r5, #0x88
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #4
|
|
bhi _021F36E6
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F3608: ; jump table
|
|
.short _021F3612 - _021F3608 - 2 ; case 0
|
|
.short _021F3618 - _021F3608 - 2 ; case 1
|
|
.short _021F3634 - _021F3608 - 2 ; case 2
|
|
.short _021F36B2 - _021F3608 - 2 ; case 3
|
|
.short _021F36CC - _021F3608 - 2 ; case 4
|
|
_021F3612:
|
|
bl ov101_021F2110
|
|
b _021F36E6
|
|
_021F3618:
|
|
bl ov101_021F2614
|
|
cmp r0, #0
|
|
bne _021F3626
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3626:
|
|
ldr r1, [r4, #0x4c]
|
|
add r0, r4, #0
|
|
mov r2, #3
|
|
mov r3, #4
|
|
bl PhoneCallMessagePrint2
|
|
b _021F36E6
|
|
_021F3634:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3642
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3642:
|
|
ldr r0, [r4, #0x1c]
|
|
bl GetStoragePCPointer
|
|
add r6, r0, #0
|
|
bl PCStorage_GetActiveBox
|
|
add r1, r0, #0
|
|
ldr r2, [r4, #0x54]
|
|
add r0, r6, #0
|
|
bl PCStorage_GetBoxName
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r3, #2
|
|
str r3, [sp, #4]
|
|
ldr r0, [r4, #0x50]
|
|
ldr r2, [r4, #0x54]
|
|
mov r1, #0xa
|
|
bl BufferString
|
|
add r0, r6, #0
|
|
bl PCStorage_CountEmptySpotsInAllBoxes
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x50]
|
|
mov r1, #0xb
|
|
add r2, r6, #0
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
cmp r6, #0
|
|
bne _021F3696
|
|
ldr r1, [r4, #0x4c]
|
|
add r0, r4, #0
|
|
mov r2, #9
|
|
bl PhoneCallMessagePrint3
|
|
b _021F36E6
|
|
_021F3696:
|
|
bl LCRandom
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r2, r1, #0
|
|
add r2, r2, #5
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r4, #0x4c]
|
|
add r0, r4, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F36E6
|
|
_021F36B2:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F36C0
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F36C0:
|
|
ldr r1, [r4, #0x4c]
|
|
add r0, r4, #0
|
|
mov r2, #8
|
|
bl PhoneCallMessagePrint3
|
|
b _021F36E6
|
|
_021F36CC:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F36DA
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F36DA:
|
|
ldr r0, [r4, #0x4c]
|
|
bl DestroyMsgData
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F36E6:
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F35EC
|
|
|
|
thumb_func_start ov101_021F36F4
|
|
ov101_021F36F4: ; 0x021F36F4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
str r1, [sp]
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
mov r1, #0
|
|
strh r1, [r0, #0x20]
|
|
ldrb r0, [r0, #0x19]
|
|
cmp r0, #0
|
|
beq _021F3720
|
|
ldr r0, [r7, #0x28]
|
|
ldr r1, _021F3794 ; =0x00000992
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F371A
|
|
add sp, #8
|
|
mov r0, #0x60
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F371A:
|
|
add sp, #8
|
|
mov r0, #0x5f
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F3720:
|
|
ldr r0, [r7, #0x1c]
|
|
bl Save_DayCare_get
|
|
ldr r1, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [r1, #0x50]
|
|
add r0, r1, #0
|
|
add r4, r1, #0
|
|
mov r5, #0
|
|
add r0, #0x4a
|
|
strb r5, [r0]
|
|
add r4, #0x4a
|
|
_021F3738:
|
|
ldr r0, [sp, #4]
|
|
add r1, r5, #0
|
|
bl Save_DayCare_GetMonX
|
|
add r6, r0, #0
|
|
bl DayCareMon_GetBoxMon
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
cmp r0, #0
|
|
beq _021F376A
|
|
add r0, r6, #0
|
|
bl DayCareMon_GetBoxMon
|
|
add r2, r0, #0
|
|
add r1, r5, #0
|
|
ldr r0, [r7, #0x50]
|
|
add r1, #0xa
|
|
bl BufferBoxMonNickname
|
|
ldrb r0, [r4]
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
_021F376A:
|
|
add r5, r5, #1
|
|
cmp r5, #2
|
|
blt _021F3738
|
|
ldr r0, [sp]
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _021F3786
|
|
ldr r0, [sp, #4]
|
|
bl Save_DayCare_CalcCompatibility
|
|
ldr r1, [sp]
|
|
add r1, #0x48
|
|
strh r0, [r1]
|
|
_021F3786:
|
|
ldr r0, [sp]
|
|
mov r1, #7
|
|
strh r1, [r0, #0x20]
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F3794: .word 0x00000992
|
|
thumb_func_end ov101_021F36F4
|
|
|
|
thumb_func_start ov101_021F3798
|
|
ov101_021F3798: ; 0x021F3798
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #3
|
|
bhi _021F386A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F37B2: ; jump table
|
|
.short _021F37BA - _021F37B2 - 2 ; case 0
|
|
.short _021F37CA - _021F37B2 - 2 ; case 1
|
|
.short _021F3830 - _021F37B2 - 2 ; case 2
|
|
.short _021F3852 - _021F37B2 - 2 ; case 3
|
|
_021F37BA:
|
|
bl ov101_021F2110
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #2
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3882
|
|
_021F37CA:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F37D6
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F37D6:
|
|
ldr r0, [r4, #0x50]
|
|
bl Save_DayCare_HasEgg
|
|
cmp r0, #0
|
|
beq _021F37F0
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #3
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
b _021F382C
|
|
_021F37F0:
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _021F380A
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #4
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #3
|
|
str r0, [r4, #4]
|
|
b _021F382C
|
|
_021F380A:
|
|
cmp r0, #1
|
|
bne _021F381E
|
|
mov r0, #3
|
|
str r0, [r4, #4]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #5
|
|
bl PhoneCallMessagePrint3
|
|
b _021F382C
|
|
_021F381E:
|
|
mov r0, #2
|
|
str r0, [r4, #4]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #6
|
|
bl PhoneCallMessagePrint3
|
|
_021F382C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3830:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F383C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F383C:
|
|
add r2, r4, #0
|
|
add r2, #0x48
|
|
ldrh r2, [r2]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
add r2, r2, #7
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3882
|
|
_021F3852:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F385E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F385E:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0xb
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3882
|
|
_021F386A:
|
|
add r0, r5, #0
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3878
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3878:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F3882:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F3798
|
|
|
|
thumb_func_start ov101_021F388C
|
|
ov101_021F388C: ; 0x021F388C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
strh r1, [r5, #0x20]
|
|
ldr r1, [r5, #0x10]
|
|
ldrh r2, [r1, #6]
|
|
ldrh r1, [r0, #0x30]
|
|
cmp r2, r1
|
|
bne _021F38A2
|
|
mov r0, #0x61
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F38A2:
|
|
ldr r0, [r0, #0x1c]
|
|
bl Save_DayCare_get
|
|
add r6, r5, #0
|
|
str r0, [sp]
|
|
str r0, [r5, #0x50]
|
|
add r0, r5, #0
|
|
mov r4, #0
|
|
add r0, #0x4a
|
|
strb r4, [r0]
|
|
add r6, #0x4a
|
|
_021F38B8:
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl Save_DayCare_GetMonX
|
|
add r7, r0, #0
|
|
bl DayCareMon_GetBoxMon
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
cmp r0, #0
|
|
beq _021F38E4
|
|
ldrb r0, [r6]
|
|
add r0, r0, #1
|
|
strb r0, [r6]
|
|
add r0, r7, #0
|
|
bl DayCareMon_CalcLevelGrowth
|
|
add r1, r5, r4
|
|
add r1, #0x4b
|
|
b _021F38EA
|
|
_021F38E4:
|
|
add r1, r5, r4
|
|
add r1, #0x4b
|
|
mov r0, #0
|
|
_021F38EA:
|
|
add r4, r4, #1
|
|
strb r0, [r1]
|
|
cmp r4, #2
|
|
blt _021F38B8
|
|
mov r0, #6
|
|
strh r0, [r5, #0x20]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F388C
|
|
|
|
thumb_func_start ov101_021F38FC
|
|
ov101_021F38FC: ; 0x021F38FC
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #4
|
|
bls _021F390E
|
|
b _021F3A7A
|
|
_021F390E:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F391A: ; jump table
|
|
.short _021F3924 - _021F391A - 2 ; case 0
|
|
.short _021F3936 - _021F391A - 2 ; case 1
|
|
.short _021F396E - _021F391A - 2 ; case 2
|
|
.short _021F3A02 - _021F391A - 2 ; case 3
|
|
.short _021F3A4A - _021F391A - 2 ; case 4
|
|
_021F3924:
|
|
bl ov101_021F2110
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #3
|
|
mov r3, #4
|
|
bl PhoneCallMessagePrint2
|
|
b _021F3A96
|
|
_021F3936:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3944
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3944:
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _021F3962
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0xa
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3962:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #5
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3A96
|
|
_021F396E:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F397C
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F397C:
|
|
add r0, r4, #0
|
|
add r0, #0x4b
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021F399E
|
|
add r0, r4, #0
|
|
add r0, #0x4c
|
|
ldrb r0, [r0]
|
|
mov r6, #0
|
|
cmp r0, #0
|
|
bne _021F3998
|
|
mov r0, #4
|
|
str r0, [r4, #4]
|
|
b _021F39C4
|
|
_021F3998:
|
|
mov r0, #3
|
|
str r0, [r4, #4]
|
|
b _021F39C4
|
|
_021F399E:
|
|
add r0, r4, #0
|
|
add r0, #0x4c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021F39B0
|
|
mov r0, #4
|
|
mov r6, #1
|
|
str r0, [r4, #4]
|
|
b _021F39C4
|
|
_021F39B0:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #9
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F39C4:
|
|
ldr r0, [r4, #0x50]
|
|
add r1, r6, #0
|
|
bl Save_DayCare_GetMonX
|
|
bl DayCareMon_GetBoxMon
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0xa
|
|
bl BufferBoxMonNickname
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
add r2, r4, r6
|
|
str r0, [sp, #4]
|
|
add r2, #0x4b
|
|
ldrb r2, [r2]
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0xb
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #6
|
|
bl PhoneCallMessagePrint3
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3A02:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3A10
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3A10:
|
|
ldr r0, [r4, #0x50]
|
|
mov r1, #1
|
|
bl Save_DayCare_GetMonX
|
|
bl DayCareMon_GetBoxMon
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0xa
|
|
bl BufferBoxMonNickname
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
add r2, r4, #0
|
|
str r0, [sp, #4]
|
|
add r2, #0x4c
|
|
ldrb r2, [r2]
|
|
ldr r0, [r5, #0x50]
|
|
mov r1, #0xb
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #6
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3A96
|
|
_021F3A4A:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3A58
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3A58:
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _021F3A6E
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #8
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3A96
|
|
_021F3A6E:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #9
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3A96
|
|
_021F3A7A:
|
|
add r0, r5, #0
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3A8A
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3A8A:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F3A96:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F38FC
|
|
|
|
thumb_func_start ov101_021F3AA4
|
|
ov101_021F3AA4: ; 0x021F3AA4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
ldr r0, [r5, #0x28]
|
|
bl CheckGameClearFlag
|
|
add r1, r4, #0
|
|
add r1, #0x4d
|
|
ldrb r1, [r1]
|
|
mov r2, #1
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #1
|
|
and r0, r2
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0x38]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl ov101_021F3C60
|
|
add r1, r4, #0
|
|
add r1, #0x4a
|
|
strb r0, [r1]
|
|
ldr r0, [r5, #0x28]
|
|
bl ScriptState_IsInRocketTakeover
|
|
cmp r0, #0
|
|
beq _021F3AEC
|
|
mov r0, #0x63
|
|
pop {r3, r4, r5, pc}
|
|
_021F3AEC:
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #0
|
|
beq _021F3AFA
|
|
mov r0, #9
|
|
strh r0, [r4, #0x20]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3AFA:
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
bne _021F3B08
|
|
mov r0, #0x64
|
|
pop {r3, r4, r5, pc}
|
|
_021F3B08:
|
|
ldr r0, [r4, #0x10]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r0, [r5, #0x30]
|
|
cmp r1, r0
|
|
bne _021F3B16
|
|
mov r0, #0x62
|
|
pop {r3, r4, r5, pc}
|
|
_021F3B16:
|
|
mov r0, #8
|
|
strh r0, [r4, #0x20]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F3AA4
|
|
|
|
thumb_func_start ov101_021F3B20
|
|
ov101_021F3B20: ; 0x021F3B20
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F3B34
|
|
cmp r1, #1
|
|
beq _021F3B56
|
|
b _021F3B7E
|
|
_021F3B34:
|
|
bl ov101_021F2110
|
|
add r0, r4, #0
|
|
add r0, #0x23
|
|
ldrb r0, [r0]
|
|
ldr r1, [r5, #0x4c]
|
|
lsl r3, r0, #1
|
|
add r2, r3, #3
|
|
add r3, r3, #4
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl PhoneCallMessagePrint2
|
|
b _021F3B94
|
|
_021F3B56:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3B62
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3B62:
|
|
bl LCRandom
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r2, r1, #0
|
|
add r2, #0xa
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3B94
|
|
_021F3B7E:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3B8A
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3B8A:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F3B94:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F3B20
|
|
|
|
thumb_func_start ov101_021F3BA0
|
|
ov101_021F3BA0: ; 0x021F3BA0
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
add r4, r6, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F3BB4
|
|
cmp r1, #1
|
|
beq _021F3BD8
|
|
b _021F3C3E
|
|
_021F3BB4:
|
|
bl ov101_021F2110
|
|
add r0, r4, #0
|
|
add r0, #0x23
|
|
ldrb r0, [r0]
|
|
ldr r1, [r6, #0x4c]
|
|
lsl r3, r0, #1
|
|
add r2, r3, #0
|
|
add r2, #0xf
|
|
add r3, #0x10
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
add r0, r6, #0
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl PhoneCallMessagePrint2
|
|
b _021F3C54
|
|
_021F3BD8:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3BE4
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3BE4:
|
|
add r0, r4, #0
|
|
add r0, #0x4a
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
bne _021F3BFA
|
|
ldr r1, [r6, #0x4c]
|
|
add r0, r6, #0
|
|
mov r2, #0x24
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3C54
|
|
_021F3BFA:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r1, r0, #0x1f
|
|
lsl r0, r1, #1
|
|
add r0, r1, r0
|
|
add r0, #0xb
|
|
lsl r0, r0, #0x18
|
|
lsr r5, r0, #0x18
|
|
bl LCRandom
|
|
add r1, r5, #0
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r2, #0xd
|
|
bne _021F3C2E
|
|
ldr r1, [r6, #0x4c]
|
|
add r0, r6, #0
|
|
mov r2, #0x22
|
|
mov r3, #0x23
|
|
bl PhoneCallMessagePrint2
|
|
b _021F3C54
|
|
_021F3C2E:
|
|
add r2, #0x15
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r6, #0x4c]
|
|
add r0, r6, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3C54
|
|
_021F3C3E:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3C4A
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3C4A:
|
|
ldr r0, [r6, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F3C54:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F3BA0
|
|
|
|
thumb_func_start ov101_021F3C60
|
|
ov101_021F3C60: ; 0x021F3C60
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl sub_02095FF8
|
|
cmp r0, #0
|
|
beq _021F3C70
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_021F3C70:
|
|
cmp r4, #3
|
|
bls _021F3C7C
|
|
cmp r4, #0xa
|
|
bhs _021F3C7C
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F3C7C:
|
|
cmp r4, #9
|
|
bls _021F3C88
|
|
cmp r4, #0x14
|
|
bhs _021F3C88
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F3C88:
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F3C60
|
|
|
|
thumb_func_start ov101_021F3C8C
|
|
ov101_021F3C8C: ; 0x021F3C8C
|
|
ldrb r2, [r1, #0x19]
|
|
cmp r2, #0
|
|
beq _021F3C9A
|
|
mov r0, #0xb
|
|
strh r0, [r1, #0x20]
|
|
mov r0, #0
|
|
bx lr
|
|
_021F3C9A:
|
|
ldr r2, [r1, #0x10]
|
|
ldrh r3, [r2, #6]
|
|
ldrh r2, [r0, #0x30]
|
|
cmp r3, r2
|
|
bne _021F3CB4
|
|
mov r2, #0
|
|
strh r2, [r1, #0x20]
|
|
add r0, #0x36
|
|
ldrb r0, [r0]
|
|
lsl r1, r0, #1
|
|
ldr r0, _021F3CBC ; =ov101_021F86C8
|
|
ldrh r0, [r0, r1]
|
|
bx lr
|
|
_021F3CB4:
|
|
mov r0, #0xa
|
|
strh r0, [r1, #0x20]
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
_021F3CBC: .word ov101_021F86C8
|
|
thumb_func_end ov101_021F3C8C
|
|
|
|
thumb_func_start ov101_021F3CC0
|
|
ov101_021F3CC0: ; 0x021F3CC0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F3CD8
|
|
cmp r1, #1
|
|
beq _021F3CDE
|
|
cmp r1, #2
|
|
beq _021F3CF2
|
|
b _021F3D14
|
|
_021F3CD8:
|
|
bl ov101_021F2110
|
|
b _021F3D2A
|
|
_021F3CDE:
|
|
add r2, r4, #0
|
|
add r2, #0x23
|
|
ldrb r2, [r2]
|
|
ldr r1, [r5, #0x4c]
|
|
add r2, r2, #4
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3D2A
|
|
_021F3CF2:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3CFE
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3CFE:
|
|
ldrh r0, [r5, #0x32]
|
|
bl ov101_021F3E74
|
|
add r2, r0, #0
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3D2A
|
|
_021F3D14:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3D20
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3D20:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F3D2A:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F3CC0
|
|
|
|
thumb_func_start ov101_021F3D34
|
|
ov101_021F3D34: ; 0x021F3D34
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x1c]
|
|
mov r4, #0
|
|
bl SaveData_GSPlayerMisc_get
|
|
bl sub_0202EE70
|
|
add r6, r0, #0
|
|
mov r1, #1
|
|
add r0, sp, #0
|
|
strb r1, [r0]
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #2
|
|
mov r2, #0x19
|
|
bl ScriptState_FlypointFlagAction
|
|
cmp r0, #0
|
|
beq _021F3D62
|
|
mov r1, #1
|
|
add r0, sp, #0
|
|
strb r1, [r0, #1]
|
|
_021F3D62:
|
|
cmp r6, #0
|
|
beq _021F3D6C
|
|
mov r1, #1
|
|
add r0, sp, #0
|
|
strb r1, [r0, #2]
|
|
_021F3D6C:
|
|
cmp r6, #1
|
|
bls _021F3D76
|
|
mov r1, #1
|
|
add r0, sp, #0
|
|
strb r1, [r0, #3]
|
|
_021F3D76:
|
|
ldr r0, [r5]
|
|
mov r1, #0x49
|
|
bl AllocFromHeapAtEnd
|
|
mov r1, #0
|
|
mov r2, #0x49
|
|
add r5, r0, #0
|
|
bl MI_CpuFill8
|
|
ldr r3, _021F3DC4 ; =ov101_021F8760
|
|
mov r1, #0
|
|
add r0, sp, #0
|
|
_021F3D8E:
|
|
ldrb r2, [r3]
|
|
ldrb r2, [r0, r2]
|
|
cmp r2, #0
|
|
beq _021F3DA0
|
|
add r2, r4, #0
|
|
add r4, r4, #1
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
strb r1, [r5, r2]
|
|
_021F3DA0:
|
|
add r1, r1, #1
|
|
add r3, r3, #1
|
|
cmp r1, #0x49
|
|
blt _021F3D8E
|
|
bl LCRandom
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
ldrb r4, [r5, r1]
|
|
add r0, r5, #0
|
|
bl FreeToHeap
|
|
add r4, #0x56
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F3DC4: .word ov101_021F8760
|
|
thumb_func_end ov101_021F3D34
|
|
|
|
thumb_func_start ov101_021F3DC8
|
|
ov101_021F3DC8: ; 0x021F3DC8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F3DE0
|
|
cmp r1, #1
|
|
beq _021F3DE6
|
|
cmp r1, #2
|
|
beq _021F3DFA
|
|
b _021F3E54
|
|
_021F3DE0:
|
|
bl ov101_021F2110
|
|
b _021F3E6A
|
|
_021F3DE6:
|
|
add r2, r4, #0
|
|
add r2, #0x23
|
|
ldrb r2, [r2]
|
|
ldr r1, [r5, #0x4c]
|
|
add r2, r2, #7
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3E6A
|
|
_021F3DFA:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3E06
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3E06:
|
|
bl LCRandom
|
|
mov r1, #0xfa
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #2
|
|
cmp r1, r0
|
|
bge _021F3E42
|
|
bl LCRandom
|
|
mov r1, #0xe1
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
add r0, r1, #0
|
|
mov r1, #0x4b
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
add r2, r0, #0
|
|
add r2, #0xa
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3E6A
|
|
_021F3E42:
|
|
add r0, r5, #0
|
|
bl ov101_021F3D34
|
|
add r2, r0, #0
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
bl PhoneCallMessagePrint3
|
|
b _021F3E6A
|
|
_021F3E54:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3E60
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F3E60:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F3E6A:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F3DC8
|
|
|
|
thumb_func_start ov101_021F3E74
|
|
ov101_021F3E74: ; 0x021F3E74
|
|
push {r3, lr}
|
|
ldr r3, _021F3EA4 ; =ov101_021F86CC
|
|
mov r2, #0
|
|
_021F3E7A:
|
|
ldrh r1, [r3]
|
|
cmp r0, r1
|
|
bne _021F3E88
|
|
add r2, #0xd
|
|
lsl r0, r2, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, pc}
|
|
_021F3E88:
|
|
add r2, r2, #1
|
|
add r3, r3, #2
|
|
cmp r2, #0x49
|
|
blt _021F3E7A
|
|
bl LCRandom
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r1, #0xa
|
|
lsl r0, r1, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, pc}
|
|
nop
|
|
_021F3EA4: .word ov101_021F86CC
|
|
thumb_func_end ov101_021F3E74
|
|
|
|
thumb_func_start ov101_021F3EA8
|
|
ov101_021F3EA8: ; 0x021F3EA8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x24]
|
|
add r4, r1, #0
|
|
bl PlayerProfile_CountBadges
|
|
cmp r0, #0x10
|
|
blt _021F3EC8
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r1, [r0]
|
|
mov r0, #1
|
|
bic r1, r0
|
|
mov r0, #1
|
|
orr r1, r0
|
|
b _021F3ED2
|
|
_021F3EC8:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r1, [r0]
|
|
mov r0, #1
|
|
bic r1, r0
|
|
_021F3ED2:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
ldrb r1, [r4, #0x18]
|
|
ldr r0, [r5, #0x20]
|
|
bl PhoneRematches_IsSeeking
|
|
add r1, r4, #0
|
|
add r1, #0x4d
|
|
ldrb r2, [r1]
|
|
lsl r0, r0, #0x18
|
|
mov r1, #2
|
|
lsr r0, r0, #0x18
|
|
bic r2, r1
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1e
|
|
add r1, r2, #0
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
strb r1, [r0]
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #0
|
|
beq _021F3F06
|
|
mov r0, #0xe
|
|
b _021F3F08
|
|
_021F3F06:
|
|
mov r0, #0xd
|
|
_021F3F08:
|
|
strh r0, [r4, #0x20]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F3EA8
|
|
|
|
thumb_func_start ov101_021F3F10
|
|
ov101_021F3F10: ; 0x021F3F10
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #3
|
|
bls _021F3F20
|
|
b _021F4042
|
|
_021F3F20:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F3F2C: ; jump table
|
|
.short _021F3F34 - _021F3F2C - 2 ; case 0
|
|
.short _021F3F60 - _021F3F2C - 2 ; case 1
|
|
.short _021F3FD6 - _021F3F2C - 2 ; case 2
|
|
.short _021F3FEC - _021F3F2C - 2 ; case 3
|
|
_021F3F34:
|
|
bl ov101_021F2110
|
|
ldr r0, [r4, #0x10]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r0, [r5, #0x30]
|
|
cmp r1, r0
|
|
bne _021F3F54
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #1
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3F54:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #2
|
|
bl PhoneCallMessagePrint3
|
|
b _021F405A
|
|
_021F3F60:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3F6C
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3F6C:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r1, r0, #0x1f
|
|
lsr r1, r1, #0x1f
|
|
bne _021F3F8A
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #3
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3F8A:
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1f
|
|
beq _021F3FA2
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #9
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3FA2:
|
|
ldr r2, [r4, #0x10]
|
|
ldr r1, [r4, #0x34]
|
|
ldrb r0, [r2, #0xd]
|
|
cmp r1, r0
|
|
bne _021F3FB8
|
|
add r0, r4, #0
|
|
add r0, #0x23
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r2, #0xe]
|
|
cmp r1, r0
|
|
beq _021F3FCA
|
|
_021F3FB8:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #4
|
|
bl PhoneCallMessagePrint3
|
|
mov r0, #0xff
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3FCA:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #5
|
|
bl PhoneCallMessagePrint3
|
|
b _021F405A
|
|
_021F3FD6:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F3FE2
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3FE2:
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
bl ov101_021F2308
|
|
b _021F405A
|
|
_021F3FEC:
|
|
bl ov101_021F2338
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
bne _021F3FFE
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F3FFE:
|
|
add r0, r5, #0
|
|
bl ov101_021F2344
|
|
cmp r6, #0
|
|
beq _021F4014
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #7
|
|
bl PhoneCallMessagePrint3
|
|
b _021F405A
|
|
_021F4014:
|
|
ldrb r1, [r4, #0x18]
|
|
add r0, r5, #0
|
|
bl ov101_021F40E8
|
|
cmp r0, #0
|
|
beq _021F4036
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #6
|
|
bl PhoneCallMessagePrint3
|
|
ldrb r1, [r4, #0x18]
|
|
ldr r0, [r5, #0x20]
|
|
mov r2, #1
|
|
bl PhoneRematches_SetSeeking
|
|
b _021F405A
|
|
_021F4036:
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #8
|
|
bl PhoneCallMessagePrint3
|
|
b _021F405A
|
|
_021F4042:
|
|
add r0, r5, #0
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F4050
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F4050:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F405A:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F3F10
|
|
|
|
thumb_func_start ov101_021F4064
|
|
ov101_021F4064: ; 0x021F4064
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x88
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F4078
|
|
cmp r1, #1
|
|
beq _021F4088
|
|
b _021F40C8
|
|
_021F4078:
|
|
bl ov101_021F2110
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0xa
|
|
bl PhoneCallMessagePrint3
|
|
b _021F40DE
|
|
_021F4088:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F4094
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F4094:
|
|
add r0, r4, #0
|
|
add r0, #0x4d
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1f
|
|
beq _021F40AC
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0xb
|
|
bl PhoneCallMessagePrint3
|
|
b _021F40DE
|
|
_021F40AC:
|
|
bl LCRandom
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r2, r1, #0
|
|
add r2, #0xc
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
lsr r2, r2, #0x18
|
|
bl PhoneCallMessagePrint3
|
|
b _021F40DE
|
|
_021F40C8:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F40D4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F40D4:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F40DE:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F4064
|
|
|
|
thumb_func_start ov101_021F40E8
|
|
ov101_021F40E8: ; 0x021F40E8
|
|
push {r4, lr}
|
|
mov r4, #0
|
|
cmp r1, #0x12
|
|
beq _021F40FE
|
|
ldr r0, [r0, #0x20]
|
|
mov r1, #0x12
|
|
bl PhoneRematches_IsSeeking
|
|
cmp r0, #0
|
|
beq _021F40FE
|
|
add r4, r4, #1
|
|
_021F40FE:
|
|
cmp r4, #5
|
|
bge _021F4106
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F4106:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F40E8
|
|
|
|
thumb_func_start ov101_021F410C
|
|
ov101_021F410C: ; 0x021F410C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r0, #0
|
|
strh r0, [r4, #0x20]
|
|
ldrb r0, [r4, #0x1a]
|
|
cmp r0, #2
|
|
bne _021F4120
|
|
mov r0, #0x8d
|
|
pop {r4, r5, r6, pc}
|
|
_021F4120:
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #0
|
|
beq _021F419A
|
|
ldr r0, [r5, #0x1c]
|
|
bl Save_SafariZone_get
|
|
ldrh r1, [r4, #0x1c]
|
|
add r6, r0, #0
|
|
cmp r1, #0
|
|
bgt _021F4138
|
|
beq _021F4154
|
|
b _021F4186
|
|
_021F4138:
|
|
sub r1, #0x8e
|
|
cmp r1, #4
|
|
bhi _021F4186
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F414A: ; jump table
|
|
.short _021F415C - _021F414A - 2 ; case 0
|
|
.short _021F4168 - _021F414A - 2 ; case 1
|
|
.short _021F4168 - _021F414A - 2 ; case 2
|
|
.short _021F417E - _021F414A - 2 ; case 3
|
|
.short _021F417E - _021F414A - 2 ; case 4
|
|
_021F4154:
|
|
mov r0, #0xf
|
|
strh r0, [r4, #0x20]
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021F415C:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #4
|
|
bl ScriptState_SetVar4057
|
|
ldrh r0, [r4, #0x1c]
|
|
pop {r4, r5, r6, pc}
|
|
_021F4168:
|
|
mov r1, #1
|
|
bl sub_0202F730
|
|
ldr r0, [r5, #0x1c]
|
|
bl Save_PlayerData_GetIGTAddr
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl sub_0202F784
|
|
b _021F418E
|
|
_021F417E:
|
|
mov r1, #4
|
|
bl sub_0202F730
|
|
b _021F418E
|
|
_021F4186:
|
|
mov r0, #0x9a
|
|
strh r0, [r4, #0x1c]
|
|
ldrh r0, [r4, #0x1c]
|
|
pop {r4, r5, r6, pc}
|
|
_021F418E:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #7
|
|
bl ScriptState_SetVar4057
|
|
ldrh r0, [r4, #0x1c]
|
|
pop {r4, r5, r6, pc}
|
|
_021F419A:
|
|
ldr r0, [r4, #0x10]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r0, [r5, #0x30]
|
|
cmp r1, r0
|
|
bne _021F41A8
|
|
mov r0, #0x8c
|
|
pop {r4, r5, r6, pc}
|
|
_021F41A8:
|
|
ldr r0, [r5, #0x28]
|
|
bl ScriptState_GetVar4057
|
|
add r0, #0x93
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F410C
|
|
|
|
thumb_func_start ov101_021F41B8
|
|
ov101_021F41B8: ; 0x021F41B8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r1, r5, #0
|
|
str r1, [sp]
|
|
add r1, #0x88
|
|
str r1, [sp]
|
|
ldr r1, [r1, #4]
|
|
cmp r1, #0
|
|
bne _021F424A
|
|
bl ov101_021F2110
|
|
ldr r0, [r5, #0x20]
|
|
ldr r2, [r5]
|
|
add r1, sp, #4
|
|
bl sub_0202F340
|
|
add r7, sp, #4
|
|
add r6, r0, #0
|
|
ldrb r0, [r7]
|
|
cmp r0, #0
|
|
bne _021F41F2
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0x26
|
|
mov r3, #0x27
|
|
bl PhoneCallMessagePrint2
|
|
b _021F4242
|
|
_021F41F2:
|
|
cmp r0, #6
|
|
blo _021F4204
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
mov r2, #0x18
|
|
mov r3, #0x19
|
|
bl PhoneCallMessagePrint2
|
|
b _021F4242
|
|
_021F4204:
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
bls _021F4222
|
|
_021F420A:
|
|
ldrb r2, [r6, r4]
|
|
add r1, r4, #0
|
|
ldr r0, [r5, #0x50]
|
|
add r1, #0xa
|
|
bl BufferSafariZoneAreaName
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldrb r0, [r7]
|
|
cmp r4, r0
|
|
blo _021F420A
|
|
_021F4222:
|
|
sub r0, r0, #1
|
|
lsl r1, r0, #1
|
|
add r0, sp, #4
|
|
strb r1, [r0]
|
|
ldrb r3, [r0]
|
|
ldr r1, [r5, #0x4c]
|
|
add r0, r5, #0
|
|
add r2, r3, #0
|
|
add r2, #0xe
|
|
add r3, #0xf
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl PhoneCallMessagePrint2
|
|
_021F4242:
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
b _021F4264
|
|
_021F424A:
|
|
bl ov101_021F2220
|
|
cmp r0, #0
|
|
bne _021F4258
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4258:
|
|
ldr r0, [r5, #0x4c]
|
|
bl DestroyMsgData
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4264:
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #4]
|
|
add r1, r0, #1
|
|
ldr r0, [sp]
|
|
str r1, [r0, #4]
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov101_021F41B8
|
|
|
|
thumb_func_start ov101_021F4274
|
|
ov101_021F4274: ; 0x021F4274
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
mov r0, #0
|
|
strh r0, [r7, #0x20]
|
|
ldrb r0, [r7, #0x19]
|
|
cmp r0, #0
|
|
bne _021F42A4
|
|
ldr r0, [r5, #0x28]
|
|
bl ScriptState_IsInRocketTakeover
|
|
cmp r0, #0
|
|
beq _021F4292
|
|
mov r0, #0x9c
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F4292:
|
|
bl LCRandom
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r1, #0xac
|
|
lsl r0, r1, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F42A4:
|
|
ldr r0, [r5, #0x24]
|
|
bl PlayerProfile_CountBadges
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
ldr r0, [r5, #0x24]
|
|
mov r1, #2
|
|
bl PlayerProfile_TestBadgeFlag
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
add r3, r4, #0
|
|
bl ov101_021F42E4
|
|
ldr r1, _021F42E0 ; =0x0000FFFF
|
|
cmp r0, r1
|
|
bne _021F42DE
|
|
cmp r4, #0
|
|
bne _021F42D4
|
|
mov r0, #0xa9
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F42D4:
|
|
cmp r6, #0x10
|
|
bhs _021F42DC
|
|
mov r0, #0xaa
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F42DC:
|
|
mov r0, #0xab
|
|
_021F42DE:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F42E0: .word 0x0000FFFF
|
|
thumb_func_end ov101_021F4274
|
|
|
|
thumb_func_start ov101_021F42E4
|
|
ov101_021F42E4: ; 0x021F42E4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F445C ; =0x00000998
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F42FC
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
_021F42FC:
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F445C ; =0x00000998
|
|
bl ClearFlagInArray
|
|
cmp r4, #0x10
|
|
blo _021F4324
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F4464 ; =0x000009A4
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F4320
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F4464 ; =0x000009A4
|
|
bl SetFlagInArray
|
|
mov r0, #0xa8
|
|
pop {r4, r5, r6, pc}
|
|
_021F4320:
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
_021F4324:
|
|
ldr r0, [r5, #0x24]
|
|
mov r1, #0xd
|
|
bl PlayerProfile_TestBadgeFlag
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x28]
|
|
beq _021F434C
|
|
ldr r1, _021F4468 ; =0x000009A3
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F4348
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F4468 ; =0x000009A3
|
|
bl SetFlagInArray
|
|
mov r0, #0xa7
|
|
pop {r4, r5, r6, pc}
|
|
_021F4348:
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
_021F434C:
|
|
mov r1, #0xf9
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x28]
|
|
beq _021F4372
|
|
ldr r1, _021F446C ; =0x000009A2
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F436E
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F446C ; =0x000009A2
|
|
bl SetFlagInArray
|
|
mov r0, #0xa6
|
|
pop {r4, r5, r6, pc}
|
|
_021F436E:
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
_021F4372:
|
|
mov r1, #0x87
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x28]
|
|
beq _021F4398
|
|
ldr r1, _021F4470 ; =0x000009A1
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F4394
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F4470 ; =0x000009A1
|
|
bl SetFlagInArray
|
|
mov r0, #0xa5
|
|
pop {r4, r5, r6, pc}
|
|
_021F4394:
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
_021F4398:
|
|
mov r1, #2
|
|
mov r2, #5
|
|
bl ScriptState_FlypointFlagAction
|
|
cmp r0, #0
|
|
beq _021F43A8
|
|
mov r0, #0xa4
|
|
pop {r4, r5, r6, pc}
|
|
_021F43A8:
|
|
ldr r0, [r5, #0x28]
|
|
bl CheckGameClearFlag
|
|
cmp r0, #0
|
|
beq _021F43CE
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F4474 ; =0x000009A5
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F43CA
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F4474 ; =0x000009A5
|
|
bl SetFlagInArray
|
|
mov r0, #0xa3
|
|
pop {r4, r5, r6, pc}
|
|
_021F43CA:
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
_021F43CE:
|
|
ldr r0, [r5, #0x24]
|
|
mov r1, #7
|
|
bl PlayerProfile_TestBadgeFlag
|
|
cmp r0, #0
|
|
beq _021F43DE
|
|
mov r0, #0xa2
|
|
pop {r4, r5, r6, pc}
|
|
_021F43DE:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0xc6
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F43EE
|
|
mov r0, #0xa1
|
|
pop {r4, r5, r6, pc}
|
|
_021F43EE:
|
|
ldr r0, [r5, #0x28]
|
|
mov r1, #0xca
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0x28]
|
|
beq _021F441A
|
|
mov r1, #0x9a
|
|
lsl r1, r1, #4
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F4416
|
|
mov r1, #0x9a
|
|
ldr r0, [r5, #0x28]
|
|
lsl r1, r1, #4
|
|
bl SetFlagInArray
|
|
mov r0, #0xa0
|
|
pop {r4, r5, r6, pc}
|
|
_021F4416:
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
_021F441A:
|
|
ldr r1, _021F4478 ; =0x0000096A
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F4440
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F447C ; =0x0000099F
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F443C
|
|
ldr r0, [r5, #0x28]
|
|
ldr r1, _021F447C ; =0x0000099F
|
|
bl SetFlagInArray
|
|
mov r0, #0x9f
|
|
pop {r4, r5, r6, pc}
|
|
_021F443C:
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
_021F4440:
|
|
ldr r0, [r5, #0x24]
|
|
mov r1, #3
|
|
bl PlayerProfile_TestBadgeFlag
|
|
cmp r0, #0
|
|
beq _021F4450
|
|
mov r0, #0x9e
|
|
pop {r4, r5, r6, pc}
|
|
_021F4450:
|
|
cmp r6, #0
|
|
beq _021F4458
|
|
mov r0, #0x9d
|
|
pop {r4, r5, r6, pc}
|
|
_021F4458:
|
|
ldr r0, _021F4460 ; =0x0000FFFF
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F445C: .word 0x00000998
|
|
_021F4460: .word 0x0000FFFF
|
|
_021F4464: .word 0x000009A4
|
|
_021F4468: .word 0x000009A3
|
|
_021F446C: .word 0x000009A2
|
|
_021F4470: .word 0x000009A1
|
|
_021F4474: .word 0x000009A5
|
|
_021F4478: .word 0x0000096A
|
|
_021F447C: .word 0x0000099F
|
|
thumb_func_end ov101_021F42E4
|
|
|
|
thumb_func_start ov101_021F4480
|
|
ov101_021F4480: ; 0x021F4480
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetArgs
|
|
mov r2, #2
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x5b
|
|
lsl r2, r2, #0x10
|
|
bl CreateHeap
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
mov r2, #0x5b
|
|
bl OverlayManager_CreateAndGetData
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r2, #0x6c
|
|
bl memset
|
|
str r5, [r4, #0xc]
|
|
mov r0, #0x5b
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
bl ov101_021F4558
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F4480
|
|
|
|
thumb_func_start ov101_021F44BC
|
|
ov101_021F44BC: ; 0x021F44BC
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r4]
|
|
cmp r1, #9
|
|
bhi _021F4526
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F44D6: ; jump table
|
|
.short _021F44EA - _021F44D6 - 2 ; case 0
|
|
.short _021F44F2 - _021F44D6 - 2 ; case 1
|
|
.short _021F44FA - _021F44D6 - 2 ; case 2
|
|
.short _021F4526 - _021F44D6 - 2 ; case 3
|
|
.short _021F4526 - _021F44D6 - 2 ; case 4
|
|
.short _021F4502 - _021F44D6 - 2 ; case 5
|
|
.short _021F450A - _021F44D6 - 2 ; case 6
|
|
.short _021F4512 - _021F44D6 - 2 ; case 7
|
|
.short _021F451A - _021F44D6 - 2 ; case 8
|
|
.short _021F4522 - _021F44D6 - 2 ; case 9
|
|
_021F44EA:
|
|
bl ov101_021F46C8
|
|
str r0, [r4]
|
|
b _021F4526
|
|
_021F44F2:
|
|
bl ov101_021F46EC
|
|
str r0, [r4]
|
|
b _021F4526
|
|
_021F44FA:
|
|
bl ov101_021F4750
|
|
str r0, [r4]
|
|
b _021F4526
|
|
_021F4502:
|
|
bl ov101_021F4764
|
|
str r0, [r4]
|
|
b _021F4526
|
|
_021F450A:
|
|
bl ov101_021F4824
|
|
str r0, [r4]
|
|
b _021F4526
|
|
_021F4512:
|
|
bl ov101_021F4888
|
|
str r0, [r4]
|
|
b _021F4526
|
|
_021F451A:
|
|
bl ov101_021F4928
|
|
str r0, [r4]
|
|
b _021F4526
|
|
_021F4522:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F4526:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F44BC
|
|
|
|
thumb_func_start ov101_021F452C
|
|
ov101_021F452C: ; 0x021F452C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov101_021F45D4
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0x80
|
|
ldrb r1, [r2, #5]
|
|
orr r0, r1
|
|
strb r0, [r2, #5]
|
|
ldr r4, [r4]
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
add r0, r4, #0
|
|
bl DestroyHeap
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F452C
|
|
|
|
thumb_func_start ov101_021F4558
|
|
ov101_021F4558: ; 0x021F4558
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, _021F45CC ; =ov101_021F4FCC
|
|
str r4, [r0, #0x64]
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x5c]
|
|
ldr r1, _021F45D0 ; =ov101_021F4FDC
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x60]
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x28]
|
|
bl sub_0202EE7C
|
|
add r1, r4, #0
|
|
add r1, #0x25
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, r4, #0
|
|
add r2, r4, #0
|
|
ldr r0, [r0, #0x28]
|
|
add r1, #0x28
|
|
add r2, #0x2a
|
|
bl sub_0202EEB4
|
|
add r0, r4, #0
|
|
add r0, #0x24
|
|
ldrb r1, [r0]
|
|
mov r0, #0xe0
|
|
bic r1, r0
|
|
mov r0, #0x60
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x24
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
bl ov101_021F4634
|
|
add r1, r4, #0
|
|
add r1, #0x26
|
|
ldrb r2, [r1]
|
|
mov r1, #0xf
|
|
bic r2, r1
|
|
mov r1, #0xf
|
|
and r0, r1
|
|
add r1, r2, #0
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x26
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #0xff
|
|
add r0, #0x27
|
|
strb r1, [r0]
|
|
bl GF_GetCurrentPlayingBGM
|
|
strh r0, [r4, #0x2c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F45CC: .word ov101_021F4FCC
|
|
_021F45D0: .word ov101_021F4FDC
|
|
thumb_func_end ov101_021F4558
|
|
|
|
thumb_func_start ov101_021F45D4
|
|
ov101_021F45D4: ; 0x021F45D4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0x28
|
|
mov r2, #0x2a
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r1, r1, #0x18
|
|
lsl r2, r2, #0x18
|
|
ldr r0, [r0, #0x28]
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl sub_0202EEAC
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
str r1, [r0, #0x5c]
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x60]
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F45D4
|
|
|
|
thumb_func_start ov101_021F45FC
|
|
ov101_021F45FC: ; 0x021F45FC
|
|
push {r4, r5}
|
|
ldr r5, _021F462C ; =ov101_021F87AC
|
|
mov r2, #0
|
|
ldrb r3, [r5, r1]
|
|
cmp r3, #0
|
|
ble _021F4624
|
|
ldr r3, _021F4630 ; =ov101_021FB2C0
|
|
lsl r4, r1, #2
|
|
ldrb r1, [r5, r1]
|
|
ldr r4, [r3, r4]
|
|
_021F4610:
|
|
ldrh r3, [r4]
|
|
cmp r0, r3
|
|
bne _021F461C
|
|
mov r0, #1
|
|
pop {r4, r5}
|
|
bx lr
|
|
_021F461C:
|
|
add r2, r2, #1
|
|
add r4, r4, #2
|
|
cmp r2, r1
|
|
blt _021F4610
|
|
_021F4624:
|
|
mov r0, #0
|
|
pop {r4, r5}
|
|
bx lr
|
|
nop
|
|
_021F462C: .word ov101_021F87AC
|
|
_021F4630: .word ov101_021FB2C0
|
|
thumb_func_end ov101_021F45FC
|
|
|
|
thumb_func_start ov101_021F4634
|
|
ov101_021F4634: ; 0x021F4634
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x20]
|
|
ldrh r5, [r0, #0x10]
|
|
add r0, r5, #0
|
|
bl MapHeader_GetField14_1F
|
|
cmp r0, #0
|
|
bne _021F464C
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_021F464C:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021F45FC
|
|
cmp r0, #0
|
|
beq _021F465C
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_021F465C:
|
|
add r0, r5, #0
|
|
bl MapHeader_IsKanto
|
|
cmp r0, #0
|
|
beq _021F4690
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0x46
|
|
ldr r0, [r0, #0x2c]
|
|
lsl r1, r1, #2
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F467A
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_021F467A:
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, _021F46C4 ; =0x0000011F
|
|
ldr r0, [r0, #0x2c]
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
beq _021F468C
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021F468C:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F4690:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021F45FC
|
|
cmp r0, #0
|
|
beq _021F46AE
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0xca
|
|
ldr r0, [r0, #0x2c]
|
|
bl CheckFlagInArray
|
|
cmp r0, #0
|
|
bne _021F46AE
|
|
mov r0, #6
|
|
pop {r3, r4, r5, pc}
|
|
_021F46AE:
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x2c]
|
|
bl ScriptState_IsInRocketTakeover
|
|
cmp r0, #0
|
|
beq _021F46BE
|
|
mov r0, #5
|
|
pop {r3, r4, r5, pc}
|
|
_021F46BE:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F46C4: .word 0x0000011F
|
|
thumb_func_end ov101_021F4634
|
|
|
|
thumb_func_start ov101_021F46C8
|
|
ov101_021F46C8: ; 0x021F46C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F49F8
|
|
cmp r0, #0
|
|
bne _021F46D8
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F46D8:
|
|
ldr r0, [r4, #0xc]
|
|
ldrb r0, [r0, #5]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1f
|
|
beq _021F46E6
|
|
mov r0, #7
|
|
pop {r4, pc}
|
|
_021F46E6:
|
|
mov r0, #5
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F46C8
|
|
|
|
thumb_func_start ov101_021F46EC
|
|
ov101_021F46EC: ; 0x021F46EC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
add r1, sp, #0
|
|
add r4, r0, #0
|
|
bl ov101_021F5468
|
|
ldr r1, [sp]
|
|
cmp r1, #0
|
|
bne _021F471C
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5900
|
|
ldr r0, [r4, #0xc]
|
|
ldrb r1, [r0, #6]
|
|
cmp r1, #1
|
|
bne _021F4716
|
|
bl ov100_021E59CC
|
|
b _021F471C
|
|
_021F4716:
|
|
add r0, r4, #0
|
|
bl ov101_021F5304
|
|
_021F471C:
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021F4748
|
|
cmp r0, #4
|
|
beq _021F472E
|
|
cmp r0, #8
|
|
beq _021F4738
|
|
b _021F473E
|
|
_021F472E:
|
|
ldr r1, [r4, #0xc]
|
|
add sp, #4
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #6
|
|
pop {r3, r4, pc}
|
|
_021F4738:
|
|
add sp, #4
|
|
mov r0, #3
|
|
pop {r3, r4, pc}
|
|
_021F473E:
|
|
ldr r1, [r4, #0xc]
|
|
add sp, #4
|
|
str r0, [r1, #0x1c]
|
|
mov r0, #8
|
|
pop {r3, r4, pc}
|
|
_021F4748:
|
|
mov r0, #1
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F46EC
|
|
|
|
thumb_func_start ov101_021F4750
|
|
ov101_021F4750: ; 0x021F4750
|
|
push {r3, lr}
|
|
bl ov101_021F4A4C
|
|
cmp r0, #0
|
|
beq _021F475E
|
|
mov r0, #9
|
|
pop {r3, pc}
|
|
_021F475E:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F4750
|
|
|
|
thumb_func_start ov101_021F4764
|
|
ov101_021F4764: ; 0x021F4764
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021F4776
|
|
cmp r0, #1
|
|
beq _021F4804
|
|
b _021F481C
|
|
_021F4776:
|
|
mov r0, #6
|
|
mov r1, #1
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
mov r4, #0
|
|
mov r6, #1
|
|
_021F4790:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021F4790
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #6
|
|
bl StopBGM
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021F481C
|
|
_021F4804:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021F481C
|
|
add r0, r5, #0
|
|
bl ov101_021F5090
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021F481C:
|
|
mov r0, #5
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F4764
|
|
|
|
thumb_func_start ov101_021F4824
|
|
ov101_021F4824: ; 0x021F4824
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021F4836
|
|
cmp r0, #1
|
|
beq _021F4856
|
|
b _021F4882
|
|
_021F4836:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021F4882
|
|
_021F4856:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021F4882
|
|
add r0, r5, #0
|
|
bl ov101_021F5048
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
_021F4868:
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #8
|
|
blt _021F4868
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
add sp, #0xc
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021F4882:
|
|
mov r0, #6
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F4824
|
|
|
|
thumb_func_start ov101_021F4888
|
|
ov101_021F4888: ; 0x021F4888
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _021F489C
|
|
cmp r0, #1
|
|
beq _021F48E4
|
|
cmp r0, #2
|
|
beq _021F4904
|
|
b _021F4922
|
|
_021F489C:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021F50F0
|
|
ldr r0, [r5, #0xc]
|
|
mov r4, #0
|
|
strb r4, [r0, #9]
|
|
mov r6, #1
|
|
_021F48B6:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021F48B6
|
|
mov r0, #0
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
bl SetBlendBrightness
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #6
|
|
bl StopBGM
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021F4922
|
|
_021F48E4:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
bl ov100_021E5D3C
|
|
cmp r0, #0
|
|
beq _021F4922
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov101_021F51C0
|
|
cmp r0, #0
|
|
beq _021F4922
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021F4922
|
|
_021F4904:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
add r0, r5, #0
|
|
bl ov101_021F5090
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021F4922:
|
|
mov r0, #7
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F4888
|
|
|
|
thumb_func_start ov101_021F4928
|
|
ov101_021F4928: ; 0x021F4928
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
beq _021F493E
|
|
cmp r1, #1
|
|
beq _021F495C
|
|
cmp r1, #2
|
|
beq _021F497C
|
|
b _021F49F0
|
|
_021F493E:
|
|
mov r1, #1
|
|
bl ov101_021F50F0
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021F49F0
|
|
_021F495C:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
bl ov100_021E5D3C
|
|
cmp r0, #0
|
|
beq _021F49F0
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov101_021F51C0
|
|
cmp r0, #0
|
|
beq _021F49F0
|
|
ldr r0, [r5, #4]
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _021F49F0
|
|
_021F497C:
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
add r0, r5, #0
|
|
bl ov101_021F5048
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
add r7, r4, #0
|
|
_021F49BA:
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r7, #0
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021F49BA
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
add sp, #8
|
|
str r1, [r5, #4]
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F49F0:
|
|
mov r0, #8
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F4928
|
|
|
|
thumb_func_start ov101_021F49F8
|
|
ov101_021F49F8: ; 0x021F49F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _021F4A08
|
|
cmp r1, #1
|
|
beq _021F4A26
|
|
b _021F4A3E
|
|
_021F4A08:
|
|
bl ov101_021F4AEC
|
|
add r0, r4, #0
|
|
bl ov101_021F4BC8
|
|
add r0, r4, #0
|
|
bl ov101_021F4DC8
|
|
add r0, r4, #0
|
|
bl ov101_021F4E6C
|
|
add r0, r4, #0
|
|
bl ov101_021F4CE8
|
|
b _021F4A3E
|
|
_021F4A26:
|
|
bl ov101_021F4E84
|
|
add r0, r4, #0
|
|
bl ov101_021F4F00
|
|
ldr r1, _021F4A48 ; =ov101_021F50D8
|
|
ldr r0, [r4, #0xc]
|
|
str r1, [r0, #0x58]
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F4A3E:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F4A48: .word ov101_021F50D8
|
|
thumb_func_end ov101_021F49F8
|
|
|
|
thumb_func_start ov101_021F4A4C
|
|
ov101_021F4A4C: ; 0x021F4A4C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #8]
|
|
cmp r1, #0
|
|
beq _021F4A60
|
|
cmp r1, #1
|
|
beq _021F4AA0
|
|
cmp r1, #2
|
|
beq _021F4ABE
|
|
b _021F4AE8
|
|
_021F4A60:
|
|
mov r1, #0x28
|
|
mov r2, #0x2a
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
mov r3, #0
|
|
bl ov101_021F54AC
|
|
cmp r0, #0xff
|
|
beq _021F4A88
|
|
ldr r1, [r4, #0x60]
|
|
add r0, r1, #0
|
|
add r0, #0x66
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1f
|
|
bne _021F4A88
|
|
add r1, #0x59
|
|
ldrb r0, [r1]
|
|
cmp r0, #0xb
|
|
bne _021F4A92
|
|
_021F4A88:
|
|
mov r0, #0
|
|
mov r1, #4
|
|
bl GF_SndStartFadeOutBGM
|
|
b _021F4A98
|
|
_021F4A92:
|
|
mov r0, #2
|
|
str r0, [r4, #8]
|
|
b _021F4AE8
|
|
_021F4A98:
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
b _021F4AE8
|
|
_021F4AA0:
|
|
bl GF_SndGetFadeTimer
|
|
cmp r0, #0
|
|
bne _021F4AE8
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #0x20]
|
|
ldrh r0, [r0, #2]
|
|
bl PlayBGM
|
|
bl sub_0203E354
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, #1
|
|
str r0, [r4, #8]
|
|
b _021F4AE8
|
|
_021F4ABE:
|
|
ldr r1, [r4, #0xc]
|
|
mov r2, #0
|
|
str r2, [r1, #0x58]
|
|
bl ov101_021F4EE8
|
|
add r0, r4, #0
|
|
bl ov101_021F4E78
|
|
add r0, r4, #0
|
|
bl ov101_021F4E48
|
|
add r0, r4, #0
|
|
bl ov101_021F4CD8
|
|
add r0, r4, #0
|
|
bl ov101_021F4BBC
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F4AE8:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F4A4C
|
|
|
|
thumb_func_start ov101_021F4AEC
|
|
ov101_021F4AEC: ; 0x021F4AEC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xac
|
|
mov r1, #0
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
bl GX_SetGraphicsMode
|
|
ldr r4, _021F4BB8 ; =ov101_021F87F4
|
|
add r3, sp, #4
|
|
mov r2, #0x15
|
|
_021F4B02:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021F4B02
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #4
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x20
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #3
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x3c
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x58
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x74
|
|
bl InitBgFromTemplateEx
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
add r2, sp, #0x90
|
|
bl InitBgFromTemplateEx
|
|
mov r4, #0
|
|
mov r6, #0x20
|
|
add r7, r4, #0
|
|
_021F4B70:
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #1
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
ldr r3, [r5]
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021F4B70
|
|
add sp, #0xac
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F4BB8: .word ov101_021F87F4
|
|
thumb_func_end ov101_021F4AEC
|
|
|
|
thumb_func_start ov101_021F4BBC
|
|
ov101_021F4BBC: ; 0x021F4BBC
|
|
ldr r3, _021F4BC4 ; =ov100_021E5CA4
|
|
ldr r0, [r0, #0xc]
|
|
bx r3
|
|
nop
|
|
_021F4BC4: .word ov100_021E5CA4
|
|
thumb_func_end ov101_021F4BBC
|
|
|
|
thumb_func_start ov101_021F4BC8
|
|
ov101_021F4BC8: ; 0x021F4BC8
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r0, #4
|
|
bl FontID_Alloc
|
|
ldr r1, [r5]
|
|
mov r0, #0x93
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x25
|
|
ldrb r0, [r0]
|
|
add r2, r4, #0
|
|
mov r3, #0x93
|
|
add r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
add r0, r5, #0
|
|
add r0, #0x25
|
|
ldrb r0, [r0]
|
|
add r2, r4, #0
|
|
mov r3, #0x93
|
|
add r0, #0x22
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
add r0, r5, #0
|
|
add r0, #0x25
|
|
ldrb r0, [r0]
|
|
add r2, r4, #0
|
|
mov r3, #0x93
|
|
add r0, #0x16
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
lsl r0, r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
add r0, r5, #0
|
|
add r0, #0x25
|
|
ldrb r0, [r0]
|
|
add r2, r4, #0
|
|
mov r3, #0x93
|
|
add r0, #0x1c
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
lsl r0, r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
add r0, r5, #0
|
|
add r0, #0x25
|
|
ldrb r0, [r0]
|
|
add r2, r4, #0
|
|
mov r3, #0x93
|
|
add r0, #0x28
|
|
str r0, [sp]
|
|
mov r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
lsl r0, r0, #0xb
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r1, [r5]
|
|
ldr r0, [r0, #0x74]
|
|
bl sub_0208820C
|
|
ldr r0, [r5]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
add r1, #0x25
|
|
ldrb r1, [r1]
|
|
add r3, r5, #0
|
|
add r0, r4, #0
|
|
add r1, #0x16
|
|
mov r2, #0
|
|
add r3, #0x68
|
|
bl GfGfxLoader_GetScrnDataFromOpenNarc
|
|
str r0, [r5, #0x64]
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
thumb_func_end ov101_021F4BC8
|
|
|
|
thumb_func_start ov101_021F4CD8
|
|
ov101_021F4CD8: ; 0x021F4CD8
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0x64]
|
|
bl FreeToHeap
|
|
mov r0, #4
|
|
bl FontID_Release
|
|
pop {r3, pc}
|
|
thumb_func_end ov101_021F4CD8
|
|
|
|
thumb_func_start ov101_021F4CE8
|
|
ov101_021F4CE8: ; 0x021F4CE8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x93
|
|
bl NARC_ctor
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r0, #7
|
|
add r2, r5, #0
|
|
str r1, [sp]
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
add r2, #0x25
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r2, [r2]
|
|
ldr r0, [r0, #0x78]
|
|
ldr r3, [r5]
|
|
add r1, r4, #0
|
|
add r2, #0xa
|
|
bl sub_02003220
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r2, r5, #0
|
|
add r2, #0x25
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r2, [r2]
|
|
ldr r0, [r0, #0x78]
|
|
ldr r3, [r5]
|
|
add r1, r4, #0
|
|
add r2, r2, #4
|
|
bl sub_02003220
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0x40
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
bl sub_02003220
|
|
mov r0, #3
|
|
str r0, [sp]
|
|
lsl r0, r0, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #0x40
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldr r3, [r5]
|
|
ldr r0, [r0, #0x78]
|
|
add r1, r4, #0
|
|
bl sub_02003220
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
mov r3, #0xe0
|
|
bl sub_02003E5C
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x78]
|
|
mov r2, #0x40
|
|
mov r3, #0xc0
|
|
bl sub_02003E5C
|
|
ldr r0, [r5, #0xc]
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_0200398C
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x78]
|
|
bl sub_02003B50
|
|
add r0, r4, #0
|
|
bl NARC_dtor
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F4CE8
|
|
|
|
thumb_func_start ov101_021F4DC8
|
|
ov101_021F4DC8: ; 0x021F4DC8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r7, r0, #0
|
|
add r5, r7, #0
|
|
ldr r4, _021F4E40 ; =ov101_021F87DC
|
|
mov r6, #0
|
|
add r5, #0x30
|
|
_021F4DD6:
|
|
ldrb r0, [r4, #2]
|
|
add r1, r5, #0
|
|
str r0, [sp]
|
|
ldrb r0, [r4, #3]
|
|
str r0, [sp, #4]
|
|
ldrb r0, [r4, #4]
|
|
str r0, [sp, #8]
|
|
ldrb r0, [r4, #5]
|
|
str r0, [sp, #0xc]
|
|
ldrh r0, [r4, #6]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r7, #0xc]
|
|
ldrb r2, [r4]
|
|
ldrb r3, [r4, #1]
|
|
ldr r0, [r0, #0x74]
|
|
bl AddWindowParameterized
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #3
|
|
blt _021F4DD6
|
|
ldr r4, [r7, #0xc]
|
|
ldr r5, [r4, #0x20]
|
|
ldrh r0, [r5, #0x10]
|
|
bl MapHeader_IsKanto
|
|
add r3, r0, #0
|
|
add r0, r7, #0
|
|
add r0, #0x30
|
|
str r0, [sp]
|
|
add r0, r7, #0
|
|
add r0, #0x50
|
|
str r0, [sp, #4]
|
|
add r0, r7, #0
|
|
add r0, #0x40
|
|
str r0, [sp, #8]
|
|
ldr r0, _021F4E44 ; =0x00010200
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r7]
|
|
str r0, [sp, #0x10]
|
|
ldrh r1, [r5, #0x10]
|
|
ldrh r2, [r5, #0x12]
|
|
ldr r0, [r4, #0x24]
|
|
bl ov101_021F57B8
|
|
str r0, [r7, #0x60]
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F4E40: .word ov101_021F87DC
|
|
_021F4E44: .word 0x00010200
|
|
thumb_func_end ov101_021F4DC8
|
|
|
|
thumb_func_start ov101_021F4E48
|
|
ov101_021F4E48: ; 0x021F4E48
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x60]
|
|
bl ov101_021F58A0
|
|
mov r4, #0
|
|
add r5, #0x30
|
|
_021F4E56:
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #3
|
|
blt _021F4E56
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F4E48
|
|
|
|
thumb_func_start ov101_021F4E6C
|
|
ov101_021F4E6C: ; 0x021F4E6C
|
|
ldr r3, _021F4E74 ; =ov100_021E6978
|
|
ldr r0, [r0, #0xc]
|
|
mov r1, #1
|
|
bx r3
|
|
.balign 4, 0
|
|
_021F4E74: .word ov100_021E6978
|
|
thumb_func_end ov101_021F4E6C
|
|
|
|
thumb_func_start ov101_021F4E78
|
|
ov101_021F4E78: ; 0x021F4E78
|
|
ldr r3, _021F4E80 ; =ov100_021E69C8
|
|
ldr r0, [r0, #0xc]
|
|
bx r3
|
|
nop
|
|
_021F4E80: .word ov100_021E69C8
|
|
thumb_func_end ov101_021F4E78
|
|
|
|
thumb_func_start ov101_021F4E84
|
|
ov101_021F4E84: ; 0x021F4E84
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r4, _021F4EE4 ; =ov101_021F889C
|
|
mov r6, #0
|
|
add r5, r7, #0
|
|
_021F4E8E:
|
|
ldr r1, [r7, #0xc]
|
|
add r2, r4, #0
|
|
add r0, r1, #0
|
|
add r0, #0x8c
|
|
add r1, #0x90
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
bl sub_0200D2B4
|
|
str r0, [r5, #0x10]
|
|
mov r1, #1
|
|
bl sub_0200DD3C
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #0
|
|
bl Set2dSpriteVisibleFlag
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #1
|
|
bl Set2dSpriteAnimActiveFlag
|
|
add r6, r6, #1
|
|
add r4, #0x28
|
|
add r5, r5, #4
|
|
cmp r6, #5
|
|
blt _021F4E8E
|
|
ldr r0, [r7, #0x20]
|
|
mov r1, #3
|
|
bl sub_0200DD3C
|
|
ldr r0, [r7, #0x20]
|
|
mov r1, #1
|
|
bl Set2dSpriteVisibleFlag
|
|
mov r1, #0x28
|
|
mov r2, #0x2a
|
|
ldrsh r1, [r7, r1]
|
|
ldrsh r2, [r7, r2]
|
|
ldr r0, [r7, #0x20]
|
|
bl sub_0200DD88
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F4EE4: .word ov101_021F889C
|
|
thumb_func_end ov101_021F4E84
|
|
|
|
thumb_func_start ov101_021F4EE8
|
|
ov101_021F4EE8: ; 0x021F4EE8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_021F4EEE:
|
|
ldr r0, [r5, #0x10]
|
|
bl sub_0200D018
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #5
|
|
blt _021F4EEE
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F4EE8
|
|
|
|
thumb_func_start ov101_021F4F00
|
|
ov101_021F4F00: ; 0x021F4F00
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0xc]
|
|
ldrb r0, [r1, #6]
|
|
cmp r0, #1
|
|
ldr r0, [r1, #0x7c]
|
|
bne _021F4F2A
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov100_021E7128
|
|
ldr r0, [r4, #0xc]
|
|
bl ov100_021E5DC8
|
|
add r2, r0, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
pop {r4, pc}
|
|
_021F4F2A:
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl ov100_021E7128
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F4F00
|
|
|
|
thumb_func_start ov101_021F4F34
|
|
ov101_021F4F34: ; 0x021F4F34
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r2, #4
|
|
bhs _021F4F7A
|
|
ldr r0, [r5, #0x68]
|
|
mov r1, #4
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
add r1, r0, #0
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
mov r1, #0
|
|
str r1, [sp, #0xc]
|
|
mov r1, #0x18
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r3, r2, #1
|
|
ldr r2, _021F4FC4 ; =ov101_021FB2C8
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
ldr r6, _021F4FC8 ; =ov101_021FB2C8 + 1
|
|
ldrb r2, [r2, r3]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r3, [r6, r3]
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #2
|
|
bl CopyToBgTilemapRect
|
|
_021F4F7A:
|
|
cmp r4, #4
|
|
bhs _021F4FB6
|
|
ldr r0, [r5, #0x68]
|
|
mov r2, #4
|
|
str r2, [sp]
|
|
add r1, r0, #0
|
|
str r2, [sp, #4]
|
|
add r1, #0xc
|
|
str r1, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
mov r1, #0x18
|
|
str r1, [sp, #0x10]
|
|
ldrh r1, [r0]
|
|
lsl r3, r4, #1
|
|
ldr r2, _021F4FC4 ; =ov101_021FB2C8
|
|
lsl r1, r1, #0x15
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #0x14]
|
|
ldrh r0, [r0, #2]
|
|
ldr r4, _021F4FC8 ; =ov101_021FB2C8 + 1
|
|
ldrb r2, [r2, r3]
|
|
lsl r0, r0, #0x15
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r3, [r4, r3]
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #2
|
|
bl CopyToBgTilemapRect
|
|
_021F4FB6:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x74]
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x1c
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F4FC4: .word ov101_021FB2C8
|
|
_021F4FC8: .word ov101_021FB2C8 + 1
|
|
thumb_func_end ov101_021F4F34
|
|
|
|
thumb_func_start ov101_021F4FCC
|
|
ov101_021F4FCC: ; 0x021F4FCC
|
|
add r1, r0, #0
|
|
add r1, #0x24
|
|
ldrb r2, [r1]
|
|
mov r1, #0x1e
|
|
add r0, #0x24
|
|
bic r2, r1
|
|
strb r2, [r0]
|
|
bx lr
|
|
thumb_func_end ov101_021F4FCC
|
|
|
|
thumb_func_start ov101_021F4FDC
|
|
ov101_021F4FDC: ; 0x021F4FDC
|
|
add r1, r0, #0
|
|
add r1, #0x24
|
|
ldrb r2, [r1]
|
|
mov r1, #0x1e
|
|
ldr r3, _021F4FFC ; =ov100_021E7128
|
|
bic r2, r1
|
|
add r1, r0, #0
|
|
add r1, #0x24
|
|
strb r2, [r1]
|
|
ldr r2, [r0, #0xc]
|
|
mov r1, #0
|
|
strb r1, [r2, #6]
|
|
ldr r0, [r0, #0xc]
|
|
add r2, r1, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bx r3
|
|
.balign 4, 0
|
|
_021F4FFC: .word ov100_021E7128
|
|
thumb_func_end ov101_021F4FDC
|
|
|
|
thumb_func_start ov101_021F5000
|
|
ov101_021F5000: ; 0x021F5000
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x26
|
|
ldrb r0, [r0]
|
|
lsl r1, r0, #0x18
|
|
lsr r1, r1, #0x1e
|
|
bne _021F5044
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1e
|
|
cmp r0, #2
|
|
ldr r0, [r4, #0x60]
|
|
bne _021F5026
|
|
add r1, r4, #0
|
|
add r1, #0x27
|
|
ldrb r1, [r1]
|
|
mov r2, #0
|
|
bl ov101_021F5970
|
|
b _021F5032
|
|
_021F5026:
|
|
add r1, r4, #0
|
|
add r1, #0x27
|
|
ldrb r1, [r1]
|
|
mov r2, #1
|
|
bl ov101_021F5970
|
|
_021F5032:
|
|
add r0, r4, #0
|
|
add r0, #0x26
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc0
|
|
add r4, #0x26
|
|
bic r1, r0
|
|
mov r0, #0x40
|
|
orr r0, r1
|
|
strb r0, [r4]
|
|
_021F5044:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F5000
|
|
|
|
thumb_func_start ov101_021F5048
|
|
ov101_021F5048: ; 0x021F5048
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x26
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1e
|
|
beq _021F508E
|
|
ldr r0, [r4, #0x60]
|
|
bl ov101_021F5A50
|
|
add r0, r4, #0
|
|
add r0, #0x50
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x40
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r4, #0
|
|
add r0, #0x50
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0
|
|
add r0, #0x40
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r4, #0
|
|
add r0, #0x26
|
|
ldrb r1, [r0]
|
|
mov r0, #0xc0
|
|
add r4, #0x26
|
|
bic r1, r0
|
|
strb r1, [r4]
|
|
_021F508E:
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F5048
|
|
|
|
thumb_func_start ov101_021F5090
|
|
ov101_021F5090: ; 0x021F5090
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r1, #0x28
|
|
mov r2, #0x2a
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
add r3, sp, #0
|
|
bl ov101_021F54AC
|
|
add r1, r4, #0
|
|
add r1, #0x27
|
|
strb r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x26
|
|
ldrb r1, [r0]
|
|
mov r0, #0x30
|
|
bic r1, r0
|
|
add r0, sp, #0
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1a
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x26
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x27
|
|
ldrb r0, [r0]
|
|
cmp r0, #8
|
|
bhs _021F50D4
|
|
add r0, r4, #0
|
|
bl ov101_021F5000
|
|
_021F50D4:
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov101_021F5090
|
|
|
|
thumb_func_start ov101_021F50D8
|
|
ov101_021F50D8: ; 0x021F50D8
|
|
push {r3, lr}
|
|
add r0, r1, #0
|
|
add r0, #0x26
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1e
|
|
beq _021F50EC
|
|
ldr r0, [r1, #0x60]
|
|
bl ov101_021F5B94
|
|
_021F50EC:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F50D8
|
|
|
|
thumb_func_start ov101_021F50F0
|
|
ov101_021F50F0: ; 0x021F50F0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r2, _021F51AC ; =0x04001040
|
|
add r5, r0, #0
|
|
mov r0, #0xff
|
|
strh r0, [r2]
|
|
ldr r3, _021F51B0 ; =0x000070C0
|
|
add r4, r2, #0
|
|
strh r3, [r2, #4]
|
|
lsl r0, r0, #8
|
|
strh r0, [r2, #2]
|
|
strh r3, [r2, #6]
|
|
add r4, #0xa
|
|
ldrh r6, [r4]
|
|
mov r3, #0x3f
|
|
mov r0, #0x11
|
|
bic r6, r3
|
|
orr r0, r6
|
|
strh r0, [r4]
|
|
add r0, r2, #0
|
|
add r0, #8
|
|
ldrh r4, [r0]
|
|
sub r2, #0x40
|
|
bic r4, r3
|
|
mov r3, #0x1f
|
|
orr r4, r3
|
|
strh r4, [r0]
|
|
ldrh r6, [r0]
|
|
ldr r4, _021F51B4 ; =0xFFFFC0FF
|
|
lsl r3, r3, #8
|
|
and r4, r6
|
|
orr r3, r4
|
|
strh r3, [r0]
|
|
ldr r3, [r2]
|
|
ldr r0, _021F51B8 ; =0xFFFF1FFF
|
|
and r3, r0
|
|
mov r0, #6
|
|
lsl r0, r0, #0xc
|
|
orr r0, r3
|
|
str r0, [r2]
|
|
cmp r1, #0
|
|
bne _021F5170
|
|
mov r6, #3
|
|
add r7, r6, #0
|
|
mov r4, #0
|
|
sub r7, #0x53
|
|
_021F514A:
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl BgSetPosTextAndCommit
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #1
|
|
bl ToggleBgLayer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021F514A
|
|
b _021F519A
|
|
_021F5170:
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r1, #0
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
_021F519A:
|
|
ldrh r1, [r5, #0x2e]
|
|
ldr r0, _021F51BC ; =0xFFFF8000
|
|
and r1, r0
|
|
strh r1, [r5, #0x2e]
|
|
ldrh r1, [r5, #0x2e]
|
|
sub r0, r0, #1
|
|
and r0, r1
|
|
strh r0, [r5, #0x2e]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F51AC: .word 0x04001040
|
|
_021F51B0: .word 0x000070C0
|
|
_021F51B4: .word 0xFFFFC0FF
|
|
_021F51B8: .word 0xFFFF1FFF
|
|
_021F51BC: .word 0xFFFF8000
|
|
thumb_func_end ov101_021F50F0
|
|
|
|
thumb_func_start ov101_021F51C0
|
|
ov101_021F51C0: ; 0x021F51C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #0x2e]
|
|
add r4, r1, #0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x1f
|
|
beq _021F51D2
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F51D2:
|
|
cmp r4, #0
|
|
ldr r0, [r5, #0xc]
|
|
bne _021F5202
|
|
ldr r0, [r0, #0x74]
|
|
mov r1, #5
|
|
mov r2, #4
|
|
mov r3, #0xa
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #4
|
|
mov r3, #0xa
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #4
|
|
mov r3, #0xa
|
|
bl BgSetPosTextAndCommit
|
|
b _021F522A
|
|
_021F5202:
|
|
mov r1, #5
|
|
ldr r0, [r0, #0x74]
|
|
add r2, r1, #0
|
|
mov r3, #0xa
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #6
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0xa
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #7
|
|
ldr r0, [r0, #0x74]
|
|
mov r2, #5
|
|
mov r3, #0xa
|
|
bl BgSetPosTextAndCommit
|
|
_021F522A:
|
|
ldrh r3, [r5, #0x2e]
|
|
add r1, r5, #0
|
|
ldr r2, _021F52F4 ; =0xFFFF8000
|
|
add r0, r3, #0
|
|
lsl r3, r3, #0x11
|
|
lsr r3, r3, #0x11
|
|
add r3, r3, #1
|
|
lsl r3, r3, #0x10
|
|
lsr r6, r3, #0x10
|
|
lsr r3, r2, #0x11
|
|
and r0, r2
|
|
and r3, r6
|
|
orr r0, r3
|
|
strh r0, [r5, #0x2e]
|
|
ldrh r0, [r5, #0x2e]
|
|
add r1, #0x2e
|
|
lsl r0, r0, #0x11
|
|
lsr r0, r0, #0x11
|
|
cmp r0, #8
|
|
bhs _021F5256
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F5256:
|
|
ldrh r0, [r1]
|
|
and r0, r2
|
|
strh r0, [r1]
|
|
ldrh r2, [r1]
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
orr r0, r2
|
|
strh r0, [r1]
|
|
cmp r4, #1
|
|
bne _021F52B0
|
|
mov r4, #0
|
|
add r6, r4, #0
|
|
mov r7, #3
|
|
_021F5270:
|
|
add r0, r4, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r6, #0
|
|
bl ToggleBgLayer
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
add r2, r7, #0
|
|
mov r3, #0
|
|
bl BgSetPosTextAndCommit
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #5
|
|
lsl r1, r1, #0x18
|
|
ldr r0, [r0, #0x74]
|
|
lsr r1, r1, #0x18
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add r4, r4, #1
|
|
cmp r4, #3
|
|
blt _021F5270
|
|
_021F52B0:
|
|
ldr r0, _021F52F8 ; =0x04001000
|
|
ldr r1, _021F52FC ; =0xFFFF1FFF
|
|
ldr r2, [r0]
|
|
add r4, r0, #0
|
|
and r1, r2
|
|
str r1, [r0]
|
|
add r1, r0, #0
|
|
mov r2, #0
|
|
add r1, #0x40
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x44
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x42
|
|
strh r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x46
|
|
strh r2, [r1]
|
|
add r4, #0x48
|
|
ldrh r1, [r4]
|
|
mov r2, #0x3f
|
|
add r0, #0x4a
|
|
bic r1, r2
|
|
strh r1, [r4]
|
|
ldrh r3, [r4]
|
|
ldr r1, _021F5300 ; =0xFFFFC0FF
|
|
and r1, r3
|
|
strh r1, [r4]
|
|
ldrh r1, [r0]
|
|
bic r1, r2
|
|
strh r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F52F4: .word 0xFFFF8000
|
|
_021F52F8: .word 0x04001000
|
|
_021F52FC: .word 0xFFFF1FFF
|
|
_021F5300: .word 0xFFFFC0FF
|
|
thumb_func_end ov101_021F51C0
|
|
|
|
thumb_func_start ov101_021F5304
|
|
ov101_021F5304: ; 0x021F5304
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _021F545C ; =gSystem
|
|
mov r4, #0
|
|
ldr r2, [r1, #0x48]
|
|
mov r3, #2
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
tst r3, r2
|
|
beq _021F5344
|
|
ldr r0, [r5, #0xc]
|
|
mov r2, #1
|
|
strb r2, [r0, #6]
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E7128
|
|
ldr r0, [r5, #0xc]
|
|
bl ov100_021E5DC8
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
add r1, r4, #0
|
|
ldr r0, [r0, #0x7c]
|
|
bl ov100_021E72F8
|
|
mov r0, #0x25
|
|
lsl r0, r0, #6
|
|
bl PlaySE
|
|
sub r0, r4, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F5344:
|
|
mov r3, #1
|
|
tst r2, r3
|
|
beq _021F53A4
|
|
add r1, r5, #0
|
|
add r1, #0x24
|
|
ldrb r1, [r1]
|
|
mov r3, #0xe0
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #0x1d
|
|
add r1, r5, #0
|
|
add r1, #0x24
|
|
ldrb r1, [r1]
|
|
bic r1, r3
|
|
add r3, r2, #1
|
|
lsr r6, r3, #0x1f
|
|
lsl r4, r3, #0x1e
|
|
sub r4, r4, r6
|
|
mov r3, #0x1e
|
|
ror r4, r3
|
|
add r3, r6, r4
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
lsl r3, r3, #0x1d
|
|
lsr r3, r3, #0x18
|
|
orr r3, r1
|
|
add r1, r5, #0
|
|
add r1, #0x24
|
|
strb r3, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0x24
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1d
|
|
bl ov101_021F4F34
|
|
add r0, r5, #0
|
|
add r5, #0x24
|
|
ldrb r1, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1d
|
|
bl ov101_021F5780
|
|
ldr r0, _021F5460 ; =0x0000093F
|
|
bl PlaySE
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F53A4:
|
|
ldr r0, [r1, #0x44]
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
tst r2, r1
|
|
beq _021F53B2
|
|
add r4, r1, #0
|
|
sub r4, #0x22
|
|
_021F53B2:
|
|
mov r1, #0x10
|
|
tst r1, r0
|
|
beq _021F53BA
|
|
mov r4, #2
|
|
_021F53BA:
|
|
mov r1, #0x40
|
|
add r2, r0, #0
|
|
tst r2, r1
|
|
beq _021F53C6
|
|
add r6, r1, #0
|
|
sub r6, #0x42
|
|
_021F53C6:
|
|
mov r1, #0x80
|
|
tst r0, r1
|
|
beq _021F53CE
|
|
mov r6, #2
|
|
_021F53CE:
|
|
cmp r4, #0
|
|
bne _021F53DC
|
|
cmp r6, #0
|
|
bne _021F53DC
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021F53DC:
|
|
mov r0, #0x28
|
|
ldrsh r7, [r5, r0]
|
|
mov r0, #0x2a
|
|
ldrsh r0, [r5, r0]
|
|
add r1, r7, r4
|
|
str r0, [sp]
|
|
ldr r0, _021F5464 ; =ov101_021F8968
|
|
ldr r2, [sp]
|
|
bl sub_020253F0
|
|
cmp r0, #0
|
|
beq _021F53FC
|
|
mov r0, #0x28
|
|
ldrsh r0, [r5, r0]
|
|
add r0, r0, r4
|
|
strh r0, [r5, #0x28]
|
|
_021F53FC:
|
|
mov r2, #0x2a
|
|
mov r1, #0x28
|
|
ldrsh r2, [r5, r2]
|
|
ldrsh r1, [r5, r1]
|
|
ldr r0, _021F5464 ; =ov101_021F8968
|
|
add r2, r2, r6
|
|
bl sub_020253F0
|
|
cmp r0, #0
|
|
beq _021F5418
|
|
mov r0, #0x2a
|
|
ldrsh r0, [r5, r0]
|
|
add r0, r0, r6
|
|
strh r0, [r5, #0x2a]
|
|
_021F5418:
|
|
mov r0, #0x28
|
|
ldrsh r1, [r5, r0]
|
|
cmp r1, r7
|
|
bne _021F542A
|
|
mov r0, #0x2a
|
|
ldrsh r2, [r5, r0]
|
|
ldr r0, [sp]
|
|
cmp r2, r0
|
|
beq _021F5434
|
|
_021F542A:
|
|
mov r2, #0x2a
|
|
ldrsh r2, [r5, r2]
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_0200DD88
|
|
_021F5434:
|
|
add r2, r5, #0
|
|
add r2, #0x24
|
|
ldrb r2, [r2]
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1d
|
|
bl ov101_021F4F34
|
|
mov r1, #0x28
|
|
mov r2, #0x2a
|
|
ldrsh r1, [r5, r1]
|
|
ldrsh r2, [r5, r2]
|
|
add r0, r5, #0
|
|
bl ov101_021F56B4
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F545C: .word gSystem
|
|
_021F5460: .word 0x0000093F
|
|
_021F5464: .word ov101_021F8968
|
|
thumb_func_end ov101_021F5304
|
|
|
|
thumb_func_start ov101_021F5468
|
|
ov101_021F5468: ; 0x021F5468
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r2, #0
|
|
str r2, [r4]
|
|
add r2, r5, #0
|
|
add r2, #0x24
|
|
ldrb r2, [r2]
|
|
lsl r2, r2, #0x1b
|
|
lsr r2, r2, #0x1c
|
|
beq _021F5488
|
|
mov r1, #1
|
|
str r1, [r4]
|
|
bl ov101_021F5650
|
|
pop {r4, r5, r6, pc}
|
|
_021F5488:
|
|
bl ov101_021F5524
|
|
add r6, r0, #0
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _021F54A8
|
|
ldr r0, [r5, #0xc]
|
|
mov r1, #1
|
|
str r1, [r0, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
ldrb r0, [r0, #6]
|
|
cmp r0, #1
|
|
bne _021F54A8
|
|
add r0, r5, #0
|
|
bl ov101_021F4FDC
|
|
_021F54A8:
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov101_021F5468
|
|
|
|
thumb_func_start ov101_021F54AC
|
|
ov101_021F54AC: ; 0x021F54AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x26
|
|
ldrb r0, [r0]
|
|
add r4, r3, #0
|
|
lsl r0, r0, #0x1c
|
|
lsr r3, r0, #0x1a
|
|
ldr r0, _021F5520 ; =ov101_021FB2D0
|
|
ldr r0, [r0, r3]
|
|
bl sub_0202539C
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _021F54D6
|
|
mov r2, #0xff
|
|
cmp r4, #0
|
|
beq _021F551A
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
b _021F551A
|
|
_021F54D6:
|
|
add r5, #0x26
|
|
ldrb r1, [r5]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #6
|
|
bhi _021F550A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F54EE: ; jump table
|
|
.short _021F54FC - _021F54EE - 2 ; case 0
|
|
.short _021F54FC - _021F54EE - 2 ; case 1
|
|
.short _021F54FC - _021F54EE - 2 ; case 2
|
|
.short _021F54FC - _021F54EE - 2 ; case 3
|
|
.short _021F550A - _021F54EE - 2 ; case 4
|
|
.short _021F5502 - _021F54EE - 2 ; case 5
|
|
.short _021F5506 - _021F54EE - 2 ; case 6
|
|
_021F54FC:
|
|
lsl r1, r0, #0x17
|
|
lsr r2, r1, #0x18
|
|
b _021F550C
|
|
_021F5502:
|
|
mov r2, #6
|
|
b _021F550C
|
|
_021F5506:
|
|
mov r2, #7
|
|
b _021F550C
|
|
_021F550A:
|
|
mov r2, #5
|
|
_021F550C:
|
|
cmp r4, #0
|
|
beq _021F551A
|
|
mov r1, #1
|
|
and r1, r0
|
|
mov r0, #2
|
|
sub r0, r0, r1
|
|
strb r0, [r4]
|
|
_021F551A:
|
|
add r0, r2, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F5520: .word ov101_021FB2D0
|
|
thumb_func_end ov101_021F54AC
|
|
|
|
thumb_func_start ov101_021F5524
|
|
ov101_021F5524: ; 0x021F5524
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
bne _021F553C
|
|
mov r0, #0
|
|
add sp, #4
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021F553C:
|
|
ldr r0, [r5, #0xc]
|
|
bl ov100_021E5924
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _021F5552
|
|
mov r1, #1
|
|
add sp, #4
|
|
str r1, [r4]
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021F5552:
|
|
ldr r0, _021F5640 ; =ov101_021F8984
|
|
bl sub_02025224
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _021F55A8
|
|
add r2, r5, #0
|
|
add r2, #0x24
|
|
ldrb r2, [r2]
|
|
lsl r1, r6, #0x18
|
|
add r0, r5, #0
|
|
lsl r2, r2, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsr r2, r2, #0x1d
|
|
bl ov101_021F4F34
|
|
lsl r1, r6, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov101_021F5780
|
|
ldr r0, _021F5644 ; =0x0000093F
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
add r0, #0x24
|
|
ldrb r0, [r0]
|
|
mov r1, #0xe0
|
|
add r5, #0x24
|
|
bic r0, r1
|
|
lsl r1, r6, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r1, r1, #0x1d
|
|
lsr r1, r1, #0x18
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
add sp, #4
|
|
sub r0, r0, #2
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021F55A8:
|
|
ldr r2, _021F5648 ; =gSystem + 0x40
|
|
ldr r0, _021F564C ; =ov101_021F8968
|
|
ldrh r1, [r2, #0x20]
|
|
ldrh r2, [r2, #0x22]
|
|
bl sub_020253F0
|
|
cmp r0, #0
|
|
bne _021F55C0
|
|
mov r0, #0
|
|
add sp, #4
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021F55C0:
|
|
mov r0, #0xfe
|
|
add r1, sp, #0
|
|
strb r0, [r1]
|
|
mov r0, #8
|
|
strb r0, [r1, #3]
|
|
mov r0, #0x28
|
|
ldrsh r0, [r5, r0]
|
|
ldr r2, _021F5648 ; =gSystem + 0x40
|
|
strb r0, [r1, #1]
|
|
mov r0, #0x2a
|
|
ldrsh r0, [r5, r0]
|
|
strb r0, [r1, #2]
|
|
ldrh r1, [r2, #0x20]
|
|
ldrh r2, [r2, #0x22]
|
|
add r0, sp, #0
|
|
bl sub_020253F0
|
|
cmp r0, #0
|
|
beq _021F5636
|
|
ldr r0, _021F5648 ; =gSystem + 0x40
|
|
mov r2, #0x2a
|
|
ldrh r1, [r0, #0x20]
|
|
strh r1, [r5, #0x28]
|
|
ldrh r0, [r0, #0x22]
|
|
mov r1, #0x28
|
|
strh r0, [r5, #0x2a]
|
|
ldrsh r1, [r5, r1]
|
|
ldrsh r2, [r5, r2]
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_0200DD88
|
|
add r0, r5, #0
|
|
add r0, #0x24
|
|
ldrb r1, [r0]
|
|
mov r0, #0x1e
|
|
add r2, r5, #0
|
|
bic r1, r0
|
|
mov r0, #2
|
|
orr r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0x24
|
|
strb r1, [r0]
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
add r2, #0x24
|
|
ldrb r2, [r2]
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x1d
|
|
bl ov101_021F4F34
|
|
mov r1, #0x28
|
|
mov r2, #0x2a
|
|
ldrsh r1, [r5, r1]
|
|
ldrsh r2, [r5, r2]
|
|
add r0, r5, #0
|
|
bl ov101_021F56B4
|
|
_021F5636:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021F5640: .word ov101_021F8984
|
|
_021F5644: .word 0x0000093F
|
|
_021F5648: .word gSystem + 0x40
|
|
_021F564C: .word ov101_021F8968
|
|
thumb_func_end ov101_021F5524
|
|
|
|
thumb_func_start ov101_021F5650
|
|
ov101_021F5650: ; 0x021F5650
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl System_GetTouchHeld
|
|
cmp r0, #0
|
|
bne _021F5670
|
|
add r0, r4, #0
|
|
add r0, #0x24
|
|
ldrb r1, [r0]
|
|
mov r0, #0x1e
|
|
add r4, #0x24
|
|
bic r1, r0
|
|
mov r0, #0
|
|
strb r1, [r4]
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
_021F5670:
|
|
ldr r2, _021F56AC ; =gSystem + 0x40
|
|
ldr r0, _021F56B0 ; =ov101_021F8968
|
|
ldrh r1, [r2, #0x20]
|
|
ldrh r2, [r2, #0x22]
|
|
bl sub_020253F0
|
|
cmp r0, #0
|
|
beq _021F56A6
|
|
ldr r0, _021F56AC ; =gSystem + 0x40
|
|
mov r2, #0x2a
|
|
ldrh r1, [r0, #0x20]
|
|
strh r1, [r4, #0x28]
|
|
ldrh r0, [r0, #0x22]
|
|
mov r1, #0x28
|
|
strh r0, [r4, #0x2a]
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
ldr r0, [r4, #0x20]
|
|
bl sub_0200DD88
|
|
mov r1, #0x28
|
|
mov r2, #0x2a
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov101_021F56B4
|
|
_021F56A6:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F56AC: .word gSystem + 0x40
|
|
_021F56B0: .word ov101_021F8968
|
|
thumb_func_end ov101_021F5650
|
|
|
|
thumb_func_start ov101_021F56B4
|
|
ov101_021F56B4: ; 0x021F56B4
|
|
push {r3, r4, r5, lr}
|
|
mov r4, #0
|
|
add r3, sp, #0
|
|
strb r4, [r3]
|
|
add r3, sp, #0
|
|
add r5, r0, #0
|
|
bl ov101_021F54AC
|
|
add r4, r0, #0
|
|
cmp r4, #0xff
|
|
bne _021F5700
|
|
add r0, r5, #0
|
|
add r0, #0x26
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1e
|
|
beq _021F56E6
|
|
add r0, r5, #0
|
|
bl ov101_021F5048
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0
|
|
bl StopBGM
|
|
_021F56E6:
|
|
add r0, r5, #0
|
|
add r0, #0x26
|
|
ldrb r1, [r0]
|
|
mov r0, #0x30
|
|
bic r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0x26
|
|
strb r1, [r0]
|
|
mov r0, #0xff
|
|
add r5, #0x27
|
|
strb r0, [r5]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F5700:
|
|
add r0, r5, #0
|
|
add r0, #0x27
|
|
ldrb r0, [r0]
|
|
cmp r4, r0
|
|
bne _021F574C
|
|
add r0, sp, #0
|
|
ldrb r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x26
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1e
|
|
cmp r1, r0
|
|
beq _021F5748
|
|
cmp r1, #2
|
|
ldr r0, [r5, #0x60]
|
|
bne _021F572A
|
|
mov r1, #0
|
|
bl ov101_021F5A9C
|
|
b _021F5730
|
|
_021F572A:
|
|
mov r1, #1
|
|
bl ov101_021F5A9C
|
|
_021F5730:
|
|
add r0, r5, #0
|
|
add r0, #0x26
|
|
ldrb r1, [r0]
|
|
mov r0, #0x30
|
|
add r5, #0x26
|
|
bic r1, r0
|
|
add r0, sp, #0
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1a
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
_021F5748:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F574C:
|
|
cmp r0, #0xff
|
|
beq _021F5756
|
|
add r0, r5, #0
|
|
bl ov101_021F5048
|
|
_021F5756:
|
|
add r0, r5, #0
|
|
add r0, #0x27
|
|
strb r4, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x26
|
|
ldrb r1, [r0]
|
|
mov r0, #0x30
|
|
bic r1, r0
|
|
add r0, sp, #0
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1a
|
|
orr r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0x26
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
bl ov101_021F5000
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F56B4
|
|
|
|
thumb_func_start ov101_021F5780
|
|
ov101_021F5780: ; 0x021F5780
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021F57B0 ; =ov101_021F89B4 + 1
|
|
lsl r1, r1, #3
|
|
ldrb r0, [r0, r1]
|
|
mov r2, #0x2a
|
|
strh r0, [r4, #0x28]
|
|
ldr r0, _021F57B4 ; =ov101_021F89B4 + 2
|
|
ldrb r0, [r0, r1]
|
|
mov r1, #0x28
|
|
strh r0, [r4, #0x2a]
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
ldr r0, [r4, #0x20]
|
|
bl sub_0200DD88
|
|
mov r1, #0x28
|
|
mov r2, #0x2a
|
|
ldrsh r1, [r4, r1]
|
|
ldrsh r2, [r4, r2]
|
|
add r0, r4, #0
|
|
bl ov101_021F56B4
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F57B0: .word ov101_021F89B4 + 1
|
|
_021F57B4: .word ov101_021F89B4 + 2
|
|
thumb_func_end ov101_021F5780
|
|
|
|
thumb_func_start ov101_021F57B8
|
|
ov101_021F57B8: ; 0x021F57B8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
str r3, [sp]
|
|
bl Save_FlyPoints_get
|
|
add r4, r0, #0
|
|
bl SaveFlyPoints_GetPlayerSub
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
bl FlyPoints_GetMusicIdAddr
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x30]
|
|
mov r1, #0x74
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r2, #0x74
|
|
bl MI_CpuFill8
|
|
str r5, [r4, #4]
|
|
strh r6, [r4, #8]
|
|
add r0, r4, #0
|
|
strh r7, [r4, #0xa]
|
|
add r0, #0x66
|
|
ldrb r0, [r0]
|
|
mov r1, #4
|
|
ldr r3, [sp, #0x30]
|
|
bic r0, r1
|
|
ldr r1, [sp]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1d
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x66
|
|
strb r1, [r0]
|
|
ldr r0, [sp, #0x20]
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [sp, #0x24]
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [r4, #0x14]
|
|
ldr r0, [sp, #0x2c]
|
|
str r0, [r4, #0x18]
|
|
lsr r1, r0, #0x10
|
|
add r0, r4, #0
|
|
add r0, #0x5b
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0x18]
|
|
lsr r1, r0, #8
|
|
add r0, r4, #0
|
|
add r0, #0x5d
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
ldr r1, [r4, #0x18]
|
|
add r0, #0x5c
|
|
strb r1, [r0]
|
|
mov r1, #0x1b
|
|
add r2, r1, #0
|
|
str r3, [r4]
|
|
mov r0, #0
|
|
add r2, #0xf2
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x20]
|
|
ldr r2, [r4]
|
|
mov r0, #8
|
|
mov r1, #0x33
|
|
bl MessageFormat_new_custom
|
|
str r0, [r4, #0x44]
|
|
ldr r1, [r4]
|
|
mov r0, #0x33
|
|
bl String_New
|
|
str r0, [r4, #0x48]
|
|
ldr r1, [r4]
|
|
mov r0, #0x33
|
|
bl String_New
|
|
str r0, [r4, #0x4c]
|
|
ldr r1, [r4]
|
|
mov r0, #0x33
|
|
bl String_New
|
|
str r0, [r4, #0x50]
|
|
ldr r0, _021F589C ; =0x00000547
|
|
ldr r1, [r4]
|
|
bl String_New
|
|
str r0, [r4, #0x6c]
|
|
ldr r0, _021F589C ; =0x00000547
|
|
ldr r1, [r4]
|
|
bl String_New
|
|
str r0, [r4, #0x70]
|
|
ldr r0, [sp, #4]
|
|
bl sub_0205C7EC
|
|
cmp r0, #1
|
|
beq _021F5896
|
|
ldr r0, [sp, #8]
|
|
mov r1, #0
|
|
strh r1, [r0]
|
|
_021F5896:
|
|
add r0, r4, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F589C: .word 0x00000547
|
|
thumb_func_end ov101_021F57B8
|
|
|
|
thumb_func_start ov101_021F58A0
|
|
ov101_021F58A0: ; 0x021F58A0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x70]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x6c]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x50]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x4c]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x48]
|
|
bl String_dtor
|
|
ldr r0, [r4, #0x44]
|
|
bl MessageFormat_delete
|
|
ldr r0, [r4, #0x20]
|
|
bl DestroyMsgData
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x74
|
|
bl MI_CpuFill8
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end ov101_021F58A0
|
|
|
|
thumb_func_start ov101_021F58E0
|
|
ov101_021F58E0: ; 0x021F58E0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
cmp r5, #8
|
|
blt _021F58EC
|
|
mov r5, #0
|
|
_021F58EC:
|
|
add r0, r4, #0
|
|
add r0, #0x66
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1b
|
|
lsr r0, r0, #0x1f
|
|
beq _021F590A
|
|
add r0, r4, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
add r4, #0x66
|
|
bic r1, r0
|
|
strb r1, [r4]
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_021F590A:
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x28
|
|
add r1, #0x38
|
|
bl GF_RTC_CopyDateTime
|
|
cmp r5, #7
|
|
bhi _021F596C
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F5926: ; jump table
|
|
.short _021F5936 - _021F5926 - 2 ; case 0
|
|
.short _021F593A - _021F5926 - 2 ; case 1
|
|
.short _021F593E - _021F5926 - 2 ; case 2
|
|
.short _021F594C - _021F5926 - 2 ; case 3
|
|
.short _021F595C - _021F5926 - 2 ; case 4
|
|
.short _021F5960 - _021F5926 - 2 ; case 5
|
|
.short _021F5964 - _021F5926 - 2 ; case 6
|
|
.short _021F5968 - _021F5926 - 2 ; case 7
|
|
_021F5936:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F593A:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F593E:
|
|
ldr r1, [r4, #0x38]
|
|
mov r0, #1
|
|
and r0, r1
|
|
add r0, r0, #5
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
_021F594C:
|
|
ldr r0, [r4, #0x38]
|
|
mov r1, #3
|
|
bl _u32_div_f
|
|
add r0, r1, #2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, r4, r5, pc}
|
|
_021F595C:
|
|
mov r0, #7
|
|
pop {r3, r4, r5, pc}
|
|
_021F5960:
|
|
mov r0, #8
|
|
pop {r3, r4, r5, pc}
|
|
_021F5964:
|
|
mov r0, #9
|
|
pop {r3, r4, r5, pc}
|
|
_021F5968:
|
|
mov r0, #0xa
|
|
pop {r3, r4, r5, pc}
|
|
_021F596C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov101_021F58E0
|
|
|
|
thumb_func_start ov101_021F5970
|
|
ov101_021F5970: ; 0x021F5970
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x66
|
|
add r4, r2, #0
|
|
ldrb r2, [r0]
|
|
mov r0, #1
|
|
bic r2, r0
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
strb r2, [r0]
|
|
cmp r1, #8
|
|
blt _021F598A
|
|
mov r1, #0
|
|
_021F598A:
|
|
add r0, r5, #0
|
|
add r0, #0x58
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x59
|
|
ldrb r2, [r0]
|
|
cmp r2, #0xb
|
|
beq _021F59A0
|
|
add r0, r5, #0
|
|
add r0, #0x5a
|
|
strb r2, [r0]
|
|
_021F59A0:
|
|
add r0, r5, #0
|
|
bl ov101_021F58E0
|
|
add r1, r5, #0
|
|
add r1, #0x59
|
|
strb r0, [r1]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r0, #0x5e
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
mov r2, #0x2d
|
|
add r0, #0x68
|
|
strb r2, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x67
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
mov r2, #8
|
|
add r0, #0x6a
|
|
strb r2, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x69
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r0, [r0]
|
|
mov r2, #2
|
|
bic r0, r2
|
|
lsl r2, r4, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsl r2, r2, #0x1f
|
|
lsr r2, r2, #0x1e
|
|
orr r2, r0
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
strb r2, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r2, [r0]
|
|
mov r0, #8
|
|
bic r2, r0
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
strb r2, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x5f
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x59
|
|
ldrb r2, [r0]
|
|
cmp r2, #0xb
|
|
beq _021F5A16
|
|
add r0, r5, #0
|
|
add r0, #0x5a
|
|
ldrb r0, [r0]
|
|
cmp r0, r2
|
|
beq _021F5A16
|
|
str r1, [r5, #0x54]
|
|
_021F5A16:
|
|
add r0, r5, #0
|
|
add r0, #0x5c
|
|
ldrb r2, [r0]
|
|
ldr r0, [r5, #0xc]
|
|
lsl r1, r2, #4
|
|
orr r1, r2
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r5, #0xc]
|
|
bl CopyWindowToVram
|
|
add r1, r5, #0
|
|
add r1, #0x59
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
add r0, r5, #0
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021F5A4C ; =ov101_021F8A04
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
add r0, r5, #0
|
|
bl ov101_021F5C44
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021F5A4C: .word ov101_021F8A04
|
|
thumb_func_end ov101_021F5970
|
|
|
|
thumb_func_start ov101_021F5A50
|
|
ov101_021F5A50: ; 0x021F5A50
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x1c]
|
|
cmp r1, #0
|
|
beq _021F5A6C
|
|
add r1, r4, #0
|
|
add r1, #0x59
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021F5A98 ; =ov101_021F8A04 + 8
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
_021F5A6C:
|
|
add r0, r4, #0
|
|
add r0, #0x5c
|
|
ldrb r2, [r0]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r1, r2, #4
|
|
orr r1, r2
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r4, #0xc]
|
|
bl CopyWindowToVram
|
|
add r0, r4, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
add r4, #0x66
|
|
bic r1, r0
|
|
strb r1, [r4]
|
|
pop {r4, pc}
|
|
nop
|
|
_021F5A98: .word ov101_021F8A04 + 8
|
|
thumb_func_end ov101_021F5A50
|
|
|
|
thumb_func_start ov101_021F5A9C
|
|
ov101_021F5A9C: ; 0x021F5A9C
|
|
add r2, r0, #0
|
|
add r2, #0x66
|
|
ldrb r3, [r2]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
mov r2, #2
|
|
lsl r1, r1, #0x1f
|
|
bic r3, r2
|
|
lsr r1, r1, #0x1e
|
|
orr r1, r3
|
|
add r0, #0x66
|
|
strb r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F5A9C
|
|
|
|
thumb_func_start ov101_021F5AB8
|
|
ov101_021F5AB8: ; 0x021F5AB8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x67
|
|
ldrb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x68
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bhs _021F5ADA
|
|
add r0, r4, #0
|
|
add r0, #0x67
|
|
ldrb r0, [r0]
|
|
add r4, #0x67
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F5ADA:
|
|
add r0, r4, #0
|
|
add r0, #0x69
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021F5AF6
|
|
mov r1, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #2
|
|
add r3, r1, #0
|
|
bl ScrollWindow
|
|
ldr r0, [r4, #0xc]
|
|
bl CopyWindowToVram
|
|
_021F5AF6:
|
|
add r0, r4, #0
|
|
add r0, #0x69
|
|
ldrb r2, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x69
|
|
ldrb r0, [r0]
|
|
add r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0x69
|
|
strb r1, [r0]
|
|
cmp r2, #8
|
|
bhs _021F5B12
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F5B12:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x69
|
|
strb r1, [r0]
|
|
add r4, #0x67
|
|
strb r1, [r4]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F5AB8
|
|
|
|
thumb_func_start ov101_021F5B24
|
|
ov101_021F5B24: ; 0x021F5B24
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #2
|
|
add r3, r1, #0
|
|
bl ScrollWindow
|
|
ldr r0, [r4, #0xc]
|
|
bl CopyWindowToVram
|
|
add r0, r4, #0
|
|
add r0, #0x69
|
|
ldrb r2, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x69
|
|
ldrb r0, [r0]
|
|
add r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0x69
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x6a
|
|
ldrb r0, [r0]
|
|
cmp r2, r0
|
|
bhs _021F5B5C
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F5B5C:
|
|
mov r0, #0
|
|
add r4, #0x69
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F5B24
|
|
|
|
thumb_func_start ov101_021F5B68
|
|
ov101_021F5B68: ; 0x021F5B68
|
|
add r1, r0, #0
|
|
add r1, #0x67
|
|
ldrb r3, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x67
|
|
ldrb r1, [r1]
|
|
add r2, r1, #1
|
|
add r1, r0, #0
|
|
add r1, #0x67
|
|
strb r2, [r1]
|
|
add r1, r0, #0
|
|
add r1, #0x68
|
|
ldrb r1, [r1]
|
|
cmp r3, r1
|
|
bhs _021F5B8A
|
|
mov r0, #0
|
|
bx lr
|
|
_021F5B8A:
|
|
mov r1, #0
|
|
add r0, #0x67
|
|
strb r1, [r0]
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov101_021F5B68
|
|
|
|
thumb_func_start ov101_021F5B94
|
|
ov101_021F5B94: ; 0x021F5B94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0x5e
|
|
ldrb r1, [r1]
|
|
cmp r1, #3
|
|
bhi _021F5C38
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F5BAE: ; jump table
|
|
.short _021F5BB6 - _021F5BAE - 2 ; case 0
|
|
.short _021F5BCE - _021F5BAE - 2 ; case 1
|
|
.short _021F5BFE - _021F5BAE - 2 ; case 2
|
|
.short _021F5C14 - _021F5BAE - 2 ; case 3
|
|
_021F5BB6:
|
|
add r1, r4, #0
|
|
add r1, #0x59
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021F5C3C ; =ov101_021F8A04 + 4
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
add r4, #0x5e
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
_021F5BCE:
|
|
add r1, r4, #0
|
|
add r1, #0x59
|
|
ldrb r2, [r1]
|
|
mov r1, #0xc
|
|
add r3, r2, #0
|
|
mul r3, r1
|
|
ldr r1, _021F5C40 ; =ov101_021F8A04 + 8
|
|
ldr r1, [r1, r3]
|
|
blx r1
|
|
add r0, r4, #0
|
|
mov r1, #0x10
|
|
add r0, #0x6a
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
add r0, #0x68
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x5e
|
|
ldrb r0, [r0]
|
|
add r4, #0x5e
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
_021F5BFE:
|
|
bl ov101_021F5B24
|
|
cmp r0, #0
|
|
beq _021F5C38
|
|
add r0, r4, #0
|
|
add r0, #0x5e
|
|
ldrb r0, [r0]
|
|
add r4, #0x5e
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
_021F5C14:
|
|
bl ov101_021F5B68
|
|
cmp r0, #0
|
|
beq _021F5C38
|
|
add r2, r4, #0
|
|
add r2, #0x66
|
|
add r1, r4, #0
|
|
ldrb r2, [r2]
|
|
add r1, #0x58
|
|
ldrb r1, [r1]
|
|
lsl r2, r2, #0x1e
|
|
add r0, r4, #0
|
|
lsr r2, r2, #0x1f
|
|
bl ov101_021F5970
|
|
mov r0, #0
|
|
add r4, #0x5e
|
|
strb r0, [r4]
|
|
_021F5C38:
|
|
pop {r4, pc}
|
|
nop
|
|
_021F5C3C: .word ov101_021F8A04 + 4
|
|
_021F5C40: .word ov101_021F8A04 + 8
|
|
thumb_func_end ov101_021F5B94
|
|
|
|
thumb_func_start ov101_021F5C44
|
|
ov101_021F5C44: ; 0x021F5C44
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r4, #0x14]
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021F5C9C ; =0x00010200
|
|
add r3, r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, #0x10]
|
|
ldr r2, [r4, #0x4c]
|
|
bl AddTextPrinterParameterized2
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _021F5C9C ; =0x00010200
|
|
add r3, r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x50]
|
|
bl AddTextPrinterParameterized2
|
|
ldr r0, [r4, #0x10]
|
|
bl ScheduleWindowCopyToVram
|
|
ldr r0, [r4, #0x14]
|
|
bl ScheduleWindowCopyToVram
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
nop
|
|
_021F5C9C: .word 0x00010200
|
|
thumb_func_end ov101_021F5C44
|
|
|
|
thumb_func_start PrintRadioLine
|
|
PrintRadioLine: ; 0x021F5CA0
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r0, #0x66
|
|
ldrb r0, [r0]
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
lsl r0, r0, #0x1e
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _021F5CBE
|
|
add r0, r4, #0
|
|
mov r1, #0x46
|
|
bl String_RadioAddStatic
|
|
_021F5CBE:
|
|
lsl r0, r6, #4
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
add r2, r4, #0
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterized2
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end PrintRadioLine
|
|
|
|
thumb_func_start RadioPrintAdvance
|
|
RadioPrintAdvance: ; 0x021F5CDC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x66
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
bne _021F5CFE
|
|
add r0, r4, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #1
|
|
bic r1, r0
|
|
mov r0, #1
|
|
orr r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x66
|
|
strb r1, [r0]
|
|
_021F5CFE:
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
ldrb r2, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
ldrb r0, [r0]
|
|
add r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0x48]
|
|
ldr r1, [r4, #0x6c]
|
|
bl StringGetLineN
|
|
ldr r1, [r4, #0x48]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl PrintRadioLine
|
|
ldr r0, [r4, #0xc]
|
|
bl CopyWindowToVram
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
add r4, #0x63
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r4]
|
|
cmp r1, r0
|
|
blo _021F5D3C
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F5D3C:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end RadioPrintAdvance
|
|
|
|
thumb_func_start RadioPrintInit
|
|
RadioPrintInit: ; 0x021F5D40
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, #0x65
|
|
strb r2, [r0]
|
|
ldr r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x70]
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x44]
|
|
ldr r1, [r4, #0x6c]
|
|
ldr r2, [r4, #0x70]
|
|
bl StringExpandPlaceholders
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x62
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0x6c]
|
|
bl StringCountLines
|
|
add r1, r4, #0
|
|
add r1, #0x63
|
|
strb r0, [r1]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x64
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
ldrb r2, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
ldrb r0, [r0]
|
|
add r1, r0, #1
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0x48]
|
|
ldr r1, [r4, #0x6c]
|
|
bl StringGetLineN
|
|
add r2, r4, #0
|
|
add r2, #0x66
|
|
ldrb r2, [r2]
|
|
ldr r1, [r4, #0x48]
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0x1f
|
|
lsr r2, r2, #0x1f
|
|
bl PrintRadioLine
|
|
ldr r0, [r4, #0xc]
|
|
bl CopyWindowToVram
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
ldrb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x63
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
blo _021F5DC2
|
|
mov r0, #5
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
_021F5DC2:
|
|
add r0, r4, #0
|
|
add r0, #0x66
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
bne _021F5DD6
|
|
mov r0, #1
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
_021F5DD6:
|
|
mov r0, #3
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioPrintInit
|
|
|
|
thumb_func_start RadioPrintInitEz
|
|
RadioPrintInitEz: ; 0x021F5DE0
|
|
ldr r3, _021F5DE8 ; =RadioPrintInit
|
|
mov r2, #0
|
|
bx r3
|
|
nop
|
|
_021F5DE8: .word RadioPrintInit
|
|
thumb_func_end RadioPrintInitEz
|
|
|
|
thumb_func_start RadioPrintAndPlayJingle
|
|
RadioPrintAndPlayJingle: ; 0x021F5DEC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl RadioPrintInitEz
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x65
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #8
|
|
add r4, #0x66
|
|
orr r0, r1
|
|
strb r0, [r4]
|
|
mov r0, #0
|
|
bl SndRadio_StopSeq
|
|
ldr r0, _021F5E18 ; =SEQ_GS_RADIO_JINGLE
|
|
bl SndRadio_StartSeq
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F5E18: .word SEQ_GS_RADIO_JINGLE
|
|
thumb_func_end RadioPrintAndPlayJingle
|
|
|
|
thumb_func_start Radio_RunTextPrinter
|
|
Radio_RunTextPrinter: ; 0x021F5E1C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0x64
|
|
ldrb r1, [r1]
|
|
cmp r1, #6
|
|
bhi _021F5EB0
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F5E36: ; jump table
|
|
.short _021F5EB0 - _021F5E36 - 2 ; case 0
|
|
.short _021F5E7E - _021F5E36 - 2 ; case 1
|
|
.short _021F5E44 - _021F5E36 - 2 ; case 2
|
|
.short _021F5E6E - _021F5E36 - 2 ; case 3
|
|
.short _021F5E8E - _021F5E36 - 2 ; case 4
|
|
.short _021F5E9E - _021F5E36 - 2 ; case 5
|
|
.short _021F5EA6 - _021F5E36 - 2 ; case 6
|
|
_021F5E44:
|
|
bl RadioPrintAdvance
|
|
cmp r0, #0
|
|
beq _021F5E66
|
|
add r0, r4, #0
|
|
add r0, #0x65
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021F5E5E
|
|
mov r0, #6
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
b _021F5EB0
|
|
_021F5E5E:
|
|
mov r0, #4
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
b _021F5EB0
|
|
_021F5E66:
|
|
mov r0, #3
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
b _021F5EB0
|
|
_021F5E6E:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F5EB0
|
|
mov r0, #2
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
b _021F5EB0
|
|
_021F5E7E:
|
|
bl ov101_021F5B68
|
|
cmp r0, #0
|
|
beq _021F5EB0
|
|
mov r0, #2
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
b _021F5EB0
|
|
_021F5E8E:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F5EB0
|
|
mov r0, #6
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
b _021F5EB0
|
|
_021F5E9E:
|
|
bl ov101_021F5B68
|
|
cmp r0, #0
|
|
beq _021F5EB0
|
|
_021F5EA6:
|
|
mov r0, #0
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F5EB0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end Radio_RunTextPrinter
|
|
|
|
thumb_func_start Radio_RunTextPrinter_WaitJingle
|
|
Radio_RunTextPrinter_WaitJingle: ; 0x021F5EB4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r1, #0x5f
|
|
ldrb r1, [r1]
|
|
cmp r1, #0
|
|
beq _021F5EC8
|
|
cmp r1, #1
|
|
beq _021F5EDE
|
|
b _021F5EF0
|
|
_021F5EC8:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F5EF0
|
|
add r0, r4, #0
|
|
add r0, #0x5f
|
|
ldrb r0, [r0]
|
|
add r4, #0x5f
|
|
add r0, r0, #1
|
|
strb r0, [r4]
|
|
b _021F5EF0
|
|
_021F5EDE:
|
|
bl SndRadio_CountPlayingSeq
|
|
cmp r0, #0
|
|
bne _021F5EF0
|
|
mov r0, #0
|
|
add r4, #0x5f
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F5EF0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end Radio_RunTextPrinter_WaitJingle
|
|
|
|
thumb_func_start RadioShow_PokemonMusic_StartPlaying
|
|
RadioShow_PokemonMusic_StartPlaying: ; 0x021F5EF4
|
|
push {r4, lr}
|
|
ldr r4, [r0, #0x1c]
|
|
cmp r1, #4
|
|
bne _021F5F1A
|
|
bl LCRandom
|
|
ldr r1, _021F5F34 ; =25000
|
|
bl _s32_div_f
|
|
add r0, r1, #0
|
|
mov r1, #1000>>2
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
lsl r2, r1, #1
|
|
ldr r0, _021F5F38 ; =ov101_021F8A9C
|
|
b _021F5F1E
|
|
_021F5F1A:
|
|
ldr r0, _021F5F3C ; =ov101_021F8A94
|
|
lsl r2, r1, #1
|
|
_021F5F1E:
|
|
ldrb r3, [r4, #4]
|
|
ldrh r0, [r0, r2]
|
|
mov r2, #0xfe
|
|
lsl r1, r1, #0x19
|
|
bic r3, r2
|
|
lsr r1, r1, #0x18
|
|
orr r1, r3
|
|
strb r1, [r4, #4]
|
|
bl SndRadio_StartSeq
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021F5F34: .word 25000
|
|
_021F5F38: .word ov101_021F8A9C
|
|
_021F5F3C: .word ov101_021F8A94
|
|
thumb_func_end RadioShow_PokemonMusic_StartPlaying
|
|
|
|
thumb_func_start RadioShow_PokemonMusic_setup
|
|
RadioShow_PokemonMusic_setup: ; 0x021F5F40
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0x38
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x38
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
ldr r0, [r5, #4]
|
|
bl Save_Pokedex_get
|
|
bl Pokedex_GetNatDexFlag
|
|
ldrb r1, [r4, #4]
|
|
mov r2, #1
|
|
lsl r0, r0, #0x18
|
|
bic r1, r2
|
|
lsr r2, r0, #0x18
|
|
mov r0, #1
|
|
and r0, r2
|
|
orr r0, r1
|
|
strb r0, [r4, #4]
|
|
add r0, r4, #0
|
|
add r0, #0xc
|
|
add r1, sp, #0
|
|
bl GF_RTC_CopyDateTime
|
|
ldr r0, [r4, #0x18]
|
|
strb r0, [r4, #6]
|
|
ldrb r0, [r4, #6]
|
|
add r0, r0, #msg_0416_00003
|
|
strb r0, [r4, #5]
|
|
ldrb r0, [r4, #6]
|
|
cmp r0, #6
|
|
bhi _021F6006
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021F5F9A: ; jump table
|
|
.short _021F5FA8 - _021F5F9A - 2 ; case 0
|
|
.short _021F5FCC - _021F5F9A - 2 ; case 1
|
|
.short _021F5FEA - _021F5F9A - 2 ; case 2
|
|
.short _021F5FD2 - _021F5F9A - 2 ; case 3
|
|
.short _021F5FF0 - _021F5F9A - 2 ; case 4
|
|
.short _021F5FCC - _021F5F9A - 2 ; case 5
|
|
.short _021F5FEA - _021F5F9A - 2 ; case 6
|
|
_021F5FA8:
|
|
ldr r0, [r5, #4]
|
|
bl SaveGetBag
|
|
ldr r1, _021F603C ; =ITEM_GB_SOUNDS
|
|
ldr r3, [r4]
|
|
mov r2, #1
|
|
bl BagHasItem
|
|
cmp r0, #0
|
|
beq _021F5FC2
|
|
mov r0, #4
|
|
strb r0, [r4, #7]
|
|
b _021F6006
|
|
_021F5FC2:
|
|
mov r0, #0
|
|
strb r0, [r4, #7]
|
|
mov r0, #msg_0416_00012 ; Sunday March
|
|
strb r0, [r4, #5]
|
|
b _021F6006
|
|
_021F5FCC:
|
|
mov r0, #0
|
|
strb r0, [r4, #7]
|
|
b _021F6006
|
|
_021F5FD2:
|
|
ldrb r0, [r4, #4]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021F5FE4
|
|
mov r0, #2
|
|
strb r0, [r4, #7]
|
|
mov r0, #msg_0416_00010 ; Wednesday Hoenn
|
|
strb r0, [r4, #5]
|
|
b _021F6006
|
|
_021F5FE4:
|
|
mov r0, #0
|
|
strb r0, [r4, #7]
|
|
b _021F6006
|
|
_021F5FEA:
|
|
mov r0, #1
|
|
strb r0, [r4, #7]
|
|
b _021F6006
|
|
_021F5FF0:
|
|
ldrb r0, [r4, #4]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021F6002
|
|
mov r0, #3
|
|
strb r0, [r4, #7]
|
|
mov r0, #msg_0416_00011 ; Thursday Sinnoh
|
|
strb r0, [r4, #5]
|
|
b _021F6006
|
|
_021F6002:
|
|
mov r0, #1
|
|
strb r0, [r4, #7]
|
|
_021F6006:
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
mov r1, #0
|
|
add r0, #0x61
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
bl RadioShow_PokemonMusic_InitGMM
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0
|
|
bl StopBGM
|
|
ldrb r1, [r4, #7]
|
|
add r0, r5, #0
|
|
bl RadioShow_PokemonMusic_StartPlaying
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #1
|
|
add r5, #0x66
|
|
bic r1, r0
|
|
strb r1, [r5]
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_021F603C: .word ITEM_GB_SOUNDS
|
|
thumb_func_end RadioShow_PokemonMusic_setup
|
|
|
|
thumb_func_start RadioShow_PokemonMusic_teardown
|
|
RadioShow_PokemonMusic_teardown: ; 0x021F6040
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F613C
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #0x38
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_PokemonMusic_teardown
|
|
|
|
thumb_func_start RadioShow_PokemonMusic_print
|
|
RadioShow_PokemonMusic_print: ; 0x021F6060
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldrb r1, [r4, #8]
|
|
cmp r1, #4
|
|
bhi _021F610E
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F607A: ; jump table
|
|
.short _021F6084 - _021F607A - 2 ; case 0
|
|
.short _021F6092 - _021F607A - 2 ; case 1
|
|
.short _021F60A2 - _021F607A - 2 ; case 2
|
|
.short _021F60BA - _021F607A - 2 ; case 3
|
|
.short _021F6100 - _021F607A - 2 ; case 4
|
|
_021F6084:
|
|
mov r1, #2
|
|
bl RadioPrintInitEz
|
|
ldrb r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #8]
|
|
b _021F610E
|
|
_021F6092:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F610E
|
|
ldrb r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #8]
|
|
b _021F610E
|
|
_021F60A2:
|
|
add r0, r4, #0
|
|
add r0, #0x1c
|
|
bl GF_RTC_CopyDate
|
|
ldrb r1, [r4, #5]
|
|
add r0, r5, #0
|
|
bl RadioPrintInitEz
|
|
ldrb r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #8]
|
|
b _021F610E
|
|
_021F60BA:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F610E
|
|
add r0, sp, #0
|
|
bl GF_RTC_CopyDate
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r4, #0x24]
|
|
cmp r1, r0
|
|
bne _021F60E0
|
|
ldr r0, [r4, #0x14]
|
|
cmp r1, r0
|
|
bne _021F60E0
|
|
mov r0, #2
|
|
strb r0, [r4, #8]
|
|
add sp, #0x10
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021F60E0:
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #8
|
|
add r5, #0x66
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0x1e
|
|
bl StopBGM
|
|
ldrb r0, [r4, #8]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #8]
|
|
b _021F610E
|
|
_021F6100:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F610E
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F610E:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end RadioShow_PokemonMusic_print
|
|
|
|
thumb_func_start RadioShow_PokemonMusic_InitGMM
|
|
RadioShow_PokemonMusic_InitGMM: ; 0x021F6114
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r2, #0x1a
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
lsl r2, r2, #4
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x50]
|
|
mov r1, #1
|
|
bl ReadMsgDataIntoString
|
|
pop {r4, pc}
|
|
thumb_func_end RadioShow_PokemonMusic_InitGMM
|
|
|
|
thumb_func_start ov101_021F613C
|
|
ov101_021F613C: ; 0x021F613C
|
|
ldr r3, _021F6144 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F6144: .word DestroyMsgData
|
|
thumb_func_end ov101_021F613C
|
|
|
|
thumb_func_start RadioShow_PokeFlute_setup
|
|
RadioShow_PokeFlute_setup: ; 0x021F6148
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #4
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl ov101_021F61A4
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #1
|
|
bl StopBGM
|
|
ldr r0, _021F617C ; =SEQ_GS_HUE
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F617C: .word SEQ_GS_HUE
|
|
thumb_func_end RadioShow_PokeFlute_setup
|
|
|
|
thumb_func_start RadioShow_PokeFlute_teardown
|
|
RadioShow_PokeFlute_teardown: ; 0x021F6180
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F61CC
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #4
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_PokeFlute_teardown
|
|
|
|
thumb_func_start RadioShow_PokeFlute_print
|
|
RadioShow_PokeFlute_print: ; 0x021F61A0
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end RadioShow_PokeFlute_print
|
|
|
|
thumb_func_start ov101_021F61A4
|
|
ov101_021F61A4: ; 0x021F61A4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, _021F61C8 ; =0x000001A1
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x50]
|
|
bl StringSetEmpty
|
|
pop {r4, pc}
|
|
nop
|
|
_021F61C8: .word 0x000001A1
|
|
thumb_func_end ov101_021F61A4
|
|
|
|
thumb_func_start ov101_021F61CC
|
|
ov101_021F61CC: ; 0x021F61CC
|
|
ldr r3, _021F61D4 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F61D4: .word DestroyMsgData
|
|
thumb_func_end ov101_021F61CC
|
|
|
|
thumb_func_start RadioShow_Unown_setup
|
|
RadioShow_Unown_setup: ; 0x021F61D8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #4
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #4
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_Unown_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #1
|
|
bl StopBGM
|
|
ldr r0, _021F620C ; =SEQ_GS_RADIO_UNKNOWN
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F620C: .word SEQ_GS_RADIO_UNKNOWN
|
|
thumb_func_end RadioShow_Unown_setup
|
|
|
|
thumb_func_start RadioShow_Unown_teardown
|
|
RadioShow_Unown_teardown: ; 0x021F6210
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F625C
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #4
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_Unown_teardown
|
|
|
|
thumb_func_start RadioShow_Unown_print
|
|
RadioShow_Unown_print: ; 0x021F6230
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end RadioShow_Unown_print
|
|
|
|
thumb_func_start RadioShow_Unown_init
|
|
RadioShow_Unown_init: ; 0x021F6234
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, _021F6258 ; =0x0000019A
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x50]
|
|
bl StringSetEmpty
|
|
pop {r4, pc}
|
|
nop
|
|
_021F6258: .word 0x0000019A
|
|
thumb_func_end RadioShow_Unown_init
|
|
|
|
thumb_func_start ov101_021F625C
|
|
ov101_021F625C: ; 0x021F625C
|
|
ldr r3, _021F6264 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F6264: .word DestroyMsgData
|
|
thumb_func_end ov101_021F625C
|
|
|
|
thumb_func_start RadioShow_TeamRocket_setup
|
|
RadioShow_TeamRocket_setup: ; 0x021F6268
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #8
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_TeamRocket_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #1
|
|
bl StopBGM
|
|
mov r0, #0
|
|
strb r0, [r4, #4]
|
|
ldr r0, _021F62A0 ; =SEQ_GS_SENKYO_R
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F62A0: .word SEQ_GS_SENKYO_R
|
|
thumb_func_end RadioShow_TeamRocket_setup
|
|
|
|
thumb_func_start RadioShow_TeamRocket_teardown
|
|
RadioShow_TeamRocket_teardown: ; 0x021F62A4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F6320
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #8
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_TeamRocket_teardown
|
|
|
|
thumb_func_start RadioShow_TeamRocket_print
|
|
RadioShow_TeamRocket_print: ; 0x021F62C4
|
|
push {r4, lr}
|
|
ldr r4, [r0, #0x1c]
|
|
ldrb r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F62D4
|
|
cmp r1, #1
|
|
beq _021F62E2
|
|
b _021F62EE
|
|
_021F62D4:
|
|
mov r1, #2
|
|
bl RadioPrintInitEz
|
|
ldrb r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #4]
|
|
b _021F62EE
|
|
_021F62E2:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F62EE
|
|
mov r0, #0
|
|
strb r0, [r4, #4]
|
|
_021F62EE:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_TeamRocket_print
|
|
|
|
thumb_func_start RadioShow_TeamRocket_init
|
|
RadioShow_TeamRocket_init: ; 0x021F62F4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, _021F631C ; =0x000001A2
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x50]
|
|
mov r1, #1
|
|
bl ReadMsgDataIntoString
|
|
pop {r4, pc}
|
|
nop
|
|
_021F631C: .word 0x000001A2
|
|
thumb_func_end RadioShow_TeamRocket_init
|
|
|
|
thumb_func_start ov101_021F6320
|
|
ov101_021F6320: ; 0x021F6320
|
|
ldr r3, _021F6328 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F6328: .word DestroyMsgData
|
|
thumb_func_end ov101_021F6320
|
|
|
|
thumb_func_start RadioShow_SerialRadioDrama_setup
|
|
RadioShow_SerialRadioDrama_setup: ; 0x021F632C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #8
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_SerialRadioDrama_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0
|
|
bl StopBGM
|
|
ldr r0, _021F6360 ; =SEQ_GS_RADIO_VARIETY
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F6360: .word SEQ_GS_RADIO_VARIETY
|
|
thumb_func_end RadioShow_SerialRadioDrama_setup
|
|
|
|
thumb_func_start RadioShow_SerialRadioDrama_teardown
|
|
RadioShow_SerialRadioDrama_teardown: ; 0x021F6364
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0x1c]
|
|
cmp r1, #0
|
|
bne _021F6372
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_021F6372:
|
|
bl ov101_021F6470
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #8
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
thumb_func_end RadioShow_SerialRadioDrama_teardown
|
|
|
|
thumb_func_start RadioShow_SerialRadioDrama_print
|
|
RadioShow_SerialRadioDrama_print: ; 0x021F638C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldrh r1, [r4, #4]
|
|
cmp r1, #4
|
|
bhi _021F641C
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F63A4: ; jump table
|
|
.short _021F63AE - _021F63A4 - 2 ; case 0
|
|
.short _021F63BC - _021F63A4 - 2 ; case 1
|
|
.short _021F63DA - _021F63A4 - 2 ; case 2
|
|
.short _021F63EA - _021F63A4 - 2 ; case 3
|
|
.short _021F6402 - _021F63A4 - 2 ; case 4
|
|
_021F63AE:
|
|
mov r1, #2
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F641C
|
|
_021F63BC:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F641C
|
|
ldrh r1, [r4, #6]
|
|
add r0, r5, #0
|
|
add r1, r1, #4
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F641C
|
|
_021F63DA:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F641C
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F641C
|
|
_021F63EA:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F641C
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl RadioPrintAndPlayJingle
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F641C
|
|
_021F6402:
|
|
bl Radio_RunTextPrinter_WaitJingle
|
|
cmp r0, #0
|
|
beq _021F641C
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
add r5, #0x66
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F641C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end RadioShow_SerialRadioDrama_print
|
|
|
|
thumb_func_start RadioShow_SerialRadioDrama_init
|
|
RadioShow_SerialRadioDrama_init: ; 0x021F6420
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldr r2, _021F646C ; =0x0000019D
|
|
ldr r3, [r5]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r5, #0x24]
|
|
ldr r2, [r5, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #0x24]
|
|
ldr r2, [r5, #0x50]
|
|
mov r1, #1
|
|
bl ReadMsgDataIntoString
|
|
bl LCRandom
|
|
mov r1, #0x16
|
|
bl _s32_div_f
|
|
strh r1, [r4, #6]
|
|
ldrh r1, [r4, #6]
|
|
ldr r0, [r5, #0x54]
|
|
cmp r1, r0
|
|
bne _021F6464
|
|
add r0, r1, #1
|
|
mov r1, #0x16
|
|
bl _s32_div_f
|
|
strh r1, [r4, #6]
|
|
_021F6464:
|
|
ldrh r0, [r4, #6]
|
|
str r0, [r5, #0x54]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F646C: .word 0x0000019D
|
|
thumb_func_end RadioShow_SerialRadioDrama_init
|
|
|
|
thumb_func_start ov101_021F6470
|
|
ov101_021F6470: ; 0x021F6470
|
|
ldr r3, _021F6478 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F6478: .word DestroyMsgData
|
|
thumb_func_end ov101_021F6470
|
|
|
|
thumb_func_start RadioShow_Commercials_setup
|
|
RadioShow_Commercials_setup: ; 0x021F647C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0x34
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x34
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
bic r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_Commercials_init
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_Commercials_setup
|
|
|
|
thumb_func_start RadioShow_Commercials_teardown
|
|
RadioShow_Commercials_teardown: ; 0x021F64B0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F6614
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #0x34
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_Commercials_teardown
|
|
|
|
thumb_func_start RadioShow_Commercials_print
|
|
RadioShow_Commercials_print: ; 0x021F64D0
|
|
push {r4, lr}
|
|
ldr r4, [r0, #0x1c]
|
|
ldrh r1, [r4, #4]
|
|
cmp r1, #0
|
|
beq _021F64E4
|
|
cmp r1, #1
|
|
beq _021F64F4
|
|
cmp r1, #2
|
|
beq _021F6504
|
|
b _021F6510
|
|
_021F64E4:
|
|
ldrh r1, [r4, #6]
|
|
mov r2, #1
|
|
bl RadioPrintInit
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6510
|
|
_021F64F4:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F6510
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6510
|
|
_021F6504:
|
|
bl ov101_021F5B68
|
|
cmp r0, #0
|
|
beq _021F6510
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021F6510:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end RadioShow_Commercials_print
|
|
|
|
thumb_func_start RadioShow_Commercials_init
|
|
RadioShow_Commercials_init: ; 0x021F6514
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
mov r2, #0x67
|
|
ldr r4, [r5, #0x1c]
|
|
ldr r3, [r5]
|
|
add r0, r6, #0
|
|
mov r1, #0x1b
|
|
lsl r2, r2, #2
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r5, #0x24]
|
|
ldr r2, [r5, #0x4c]
|
|
add r1, r6, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #0x50]
|
|
bl StringSetEmpty
|
|
add r0, r4, #0
|
|
add r0, #8
|
|
add r1, r6, #0
|
|
mov r2, #8
|
|
bl MI_CpuFill8
|
|
add r0, r4, #0
|
|
add r0, #0x10
|
|
add r1, r6, #0
|
|
mov r2, #0x24
|
|
bl MI_CpuFill8
|
|
ldr r0, [r5, #4]
|
|
bl SaveArray_Flags_get
|
|
mov r1, #1
|
|
strb r1, [r4, #8]
|
|
add r7, r0, #0
|
|
mov r1, #0x6b
|
|
bl CheckFlagInArray
|
|
strb r0, [r4, #9]
|
|
add r0, r7, #0
|
|
mov r1, #2
|
|
mov r2, #0x10
|
|
bl ScriptState_FlypointFlagAction
|
|
strb r0, [r4, #0xa]
|
|
add r0, r7, #0
|
|
mov r1, #2
|
|
mov r2, #0x12
|
|
bl ScriptState_FlypointFlagAction
|
|
strb r0, [r4, #0xb]
|
|
add r0, r7, #0
|
|
mov r1, #2
|
|
mov r2, #0x11
|
|
bl ScriptState_FlypointFlagAction
|
|
strb r0, [r4, #0xc]
|
|
add r0, r7, #0
|
|
mov r1, #2
|
|
mov r2, #5
|
|
bl ScriptState_FlypointFlagAction
|
|
strb r0, [r4, #0xe]
|
|
ldr r1, _021F660C ; =0x00000964
|
|
add r0, r7, #0
|
|
bl CheckFlagInArray
|
|
mov r1, #0x46
|
|
strb r0, [r4, #0xd]
|
|
add r0, r7, #0
|
|
lsl r1, r1, #2
|
|
bl CheckFlagInArray
|
|
ldr r7, _021F6610 ; =ov101_021F8AD0
|
|
strb r0, [r4, #0xf]
|
|
add r1, r6, #0
|
|
_021F65B0:
|
|
lsl r0, r1, #1
|
|
add r0, r1, r0
|
|
add r2, r7, r0
|
|
ldrb r0, [r7, r0]
|
|
add r0, r4, r0
|
|
ldrb r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _021F65EE
|
|
ldrb r0, [r2, #2]
|
|
cmp r0, #0xff
|
|
beq _021F65D0
|
|
add r3, r5, #0
|
|
add r3, #0x58
|
|
ldrb r3, [r3]
|
|
cmp r0, r3
|
|
bne _021F65EE
|
|
_021F65D0:
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r0, [r0]
|
|
ldrb r2, [r2, #1]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
add r0, r0, #1
|
|
tst r0, r2
|
|
beq _021F65EE
|
|
add r0, r6, #0
|
|
add r2, r6, #1
|
|
lsl r2, r2, #0x18
|
|
add r0, r4, r0
|
|
lsr r6, r2, #0x18
|
|
strb r1, [r0, #0x10]
|
|
_021F65EE:
|
|
add r0, r1, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
cmp r1, #0x24
|
|
blo _021F65B0
|
|
bl LCRandom
|
|
add r1, r6, #0
|
|
bl _s32_div_f
|
|
add r0, r4, r1
|
|
ldrb r0, [r0, #0x10]
|
|
add r0, r0, #2
|
|
strh r0, [r4, #6]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F660C: .word 0x00000964
|
|
_021F6610: .word ov101_021F8AD0
|
|
thumb_func_end RadioShow_Commercials_init
|
|
|
|
thumb_func_start ov101_021F6614
|
|
ov101_021F6614: ; 0x021F6614
|
|
ldr r3, _021F661C ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F661C: .word DestroyMsgData
|
|
thumb_func_end ov101_021F6614
|
|
|
|
thumb_func_start RadioShow_PokemonSearchParty_setup
|
|
RadioShow_PokemonSearchParty_setup: ; 0x021F6620
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0x20
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_PokemonSearchParty_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0
|
|
bl StopBGM
|
|
ldr r0, _021F6654 ; =SEQ_GS_RADIO_VARIETY
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F6654: .word SEQ_GS_RADIO_VARIETY
|
|
thumb_func_end RadioShow_PokemonSearchParty_setup
|
|
|
|
thumb_func_start RadioShow_PokemonSearchParty_teardown
|
|
RadioShow_PokemonSearchParty_teardown: ; 0x021F6658
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F6800
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #0x20
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_PokemonSearchParty_teardown
|
|
|
|
thumb_func_start RadioShow_PokemonSearchParty_print
|
|
RadioShow_PokemonSearchParty_print: ; 0x021F6678
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldrh r1, [r4, #4]
|
|
cmp r1, #4
|
|
bhi _021F670C
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F6690: ; jump table
|
|
.short _021F669A - _021F6690 - 2 ; case 0
|
|
.short _021F66A8 - _021F6690 - 2 ; case 1
|
|
.short _021F66CA - _021F6690 - 2 ; case 2
|
|
.short _021F66DA - _021F6690 - 2 ; case 3
|
|
.short _021F66F2 - _021F6690 - 2 ; case 4
|
|
_021F669A:
|
|
mov r1, #2
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F670C
|
|
_021F66A8:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F670C
|
|
ldrh r1, [r4, #6]
|
|
add r0, r5, #0
|
|
add r1, r4, r1
|
|
ldrb r1, [r1, #0x10]
|
|
add r1, r1, #4
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F670C
|
|
_021F66CA:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F670C
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F670C
|
|
_021F66DA:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F670C
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl RadioPrintAndPlayJingle
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F670C
|
|
_021F66F2:
|
|
bl Radio_RunTextPrinter_WaitJingle
|
|
cmp r0, #0
|
|
beq _021F670C
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
add r5, #0x66
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F670C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end RadioShow_PokemonSearchParty_print
|
|
|
|
thumb_func_start RadioShow_PokemonSearchParty_init
|
|
RadioShow_PokemonSearchParty_init: ; 0x021F6710
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
ldr r5, [r6, #0x1c]
|
|
ldr r2, _021F67F8 ; =0x000001A3
|
|
ldr r3, [r6]
|
|
add r0, r4, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r6, #0x24]
|
|
ldr r2, [r6, #0x4c]
|
|
add r1, r4, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r6, #0x24]
|
|
ldr r2, [r6, #0x50]
|
|
mov r1, #1
|
|
bl ReadMsgDataIntoString
|
|
add r0, r5, #0
|
|
add r0, #8
|
|
add r1, r4, #0
|
|
mov r2, #8
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
add r0, #0x10
|
|
add r1, r4, #0
|
|
mov r2, #0xd
|
|
bl MI_CpuFill8
|
|
ldr r0, [r6, #4]
|
|
bl SaveArray_Flags_get
|
|
add r7, r0, #0
|
|
ldr r0, [r6, #4]
|
|
bl Save_PlayerData_GetProfileAddr
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
strb r0, [r5, #8]
|
|
add r0, r7, #0
|
|
mov r1, #FLAG_BEAT_AZALEA_ROCKETS
|
|
bl CheckFlagInArray
|
|
strb r0, [r5, #9]
|
|
ldr r0, [sp]
|
|
mov r1, #2
|
|
bl PlayerProfile_TestBadgeFlag
|
|
strb r0, [r5, #0xa]
|
|
add r0, r7, #0
|
|
mov r1, #FLAG_BEAT_RADIO_TOWER_ROCKETS
|
|
bl CheckFlagInArray
|
|
strb r0, [r5, #0xb]
|
|
ldr r0, [sp]
|
|
bl PlayerProfile_CountBadges
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
cmp r1, #8
|
|
blo _021F6794
|
|
mov r0, #1
|
|
strb r0, [r5, #0xc]
|
|
_021F6794:
|
|
cmp r1, #9
|
|
blo _021F679C
|
|
mov r0, #1
|
|
strb r0, [r5, #0xd]
|
|
_021F679C:
|
|
cmp r1, #0x10
|
|
blo _021F67A4
|
|
mov r0, #1
|
|
strb r0, [r5, #0xf]
|
|
_021F67A4:
|
|
add r0, r7, #0
|
|
mov r1, #2
|
|
mov r2, #5
|
|
bl ScriptState_FlypointFlagAction
|
|
strb r0, [r5, #0xe]
|
|
ldr r0, _021F67FC ; =ov101_021F8B3C
|
|
mov r1, #0
|
|
_021F67B4:
|
|
ldrb r2, [r0, r1]
|
|
add r2, r5, r2
|
|
ldrb r2, [r2, #8]
|
|
cmp r2, #0
|
|
beq _021F67CA
|
|
add r2, r4, #0
|
|
add r3, r4, #1
|
|
lsl r3, r3, #0x18
|
|
add r2, r5, r2
|
|
lsr r4, r3, #0x18
|
|
strb r1, [r2, #0x10]
|
|
_021F67CA:
|
|
add r1, r1, #1
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, #0xd
|
|
blo _021F67B4
|
|
bl LCRandom
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
strh r1, [r5, #6]
|
|
ldrh r1, [r5, #6]
|
|
ldr r0, [r6, #0x54]
|
|
cmp r1, r0
|
|
bne _021F67F2
|
|
add r0, r1, #1
|
|
add r1, r4, #0
|
|
bl _s32_div_f
|
|
strh r1, [r5, #6]
|
|
_021F67F2:
|
|
ldrh r0, [r5, #6]
|
|
str r0, [r6, #0x54]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F67F8: .word 0x000001A3
|
|
_021F67FC: .word ov101_021F8B3C
|
|
thumb_func_end RadioShow_PokemonSearchParty_init
|
|
|
|
thumb_func_start ov101_021F6800
|
|
ov101_021F6800: ; 0x021F6800
|
|
ldr r3, _021F6808 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F6808: .word DestroyMsgData
|
|
thumb_func_end ov101_021F6800
|
|
|
|
thumb_func_start RadioShow_BuenasPassword_setup
|
|
RadioShow_BuenasPassword_setup: ; 0x021F680C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #8
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_BuenasPassword_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0
|
|
bl StopBGM
|
|
mov r0, #SEQ_GS_AIKOTOBA>>4
|
|
lsl r0, r0, #4
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end RadioShow_BuenasPassword_setup
|
|
|
|
thumb_func_start RadioShow_BuenasPassword_teardown
|
|
RadioShow_BuenasPassword_teardown: ; 0x021F6840
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F699C
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #8
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_BuenasPassword_teardown
|
|
|
|
thumb_func_start RadioShow_BuenasPassword_print
|
|
RadioShow_BuenasPassword_print: ; 0x021F6860
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldrh r1, [r4, #4]
|
|
cmp r1, #4
|
|
bhi _021F68FC
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F6878: ; jump table
|
|
.short _021F6882 - _021F6878 - 2 ; case 0
|
|
.short _021F6890 - _021F6878 - 2 ; case 1
|
|
.short _021F68BA - _021F6878 - 2 ; case 2
|
|
.short _021F68CA - _021F6878 - 2 ; case 3
|
|
.short _021F68E2 - _021F6878 - 2 ; case 4
|
|
_021F6882:
|
|
mov r1, #2
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F68FC
|
|
_021F6890:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F68FC
|
|
ldrh r1, [r4, #6]
|
|
add r0, r5, #0
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #6]
|
|
cmp r0, #4
|
|
bne _021F68B2
|
|
ldr r0, [r5, #4]
|
|
bl SaveArray_Flags_get
|
|
ldr r1, _021F6900 ; =FLAG_DAILY_HEARD_BUENAS_PASSWORD
|
|
bl SetFlagInArray
|
|
_021F68B2:
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F68FC
|
|
_021F68BA:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F68FC
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F68FC
|
|
_021F68CA:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F68FC
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl RadioPrintAndPlayJingle
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F68FC
|
|
_021F68E2:
|
|
bl Radio_RunTextPrinter_WaitJingle
|
|
cmp r0, #0
|
|
beq _021F68FC
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
add r5, #0x66
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F68FC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021F6900: .word FLAG_DAILY_HEARD_BUENAS_PASSWORD
|
|
thumb_func_end RadioShow_BuenasPassword_print
|
|
|
|
thumb_func_start RadioShow_BuenasPassword_init
|
|
RadioShow_BuenasPassword_init: ; 0x021F6904
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldr r2, _021F6998 ; =0x0000019B
|
|
ldr r3, [r5]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r5, #0x24]
|
|
ldr r2, [r5, #0x4c]
|
|
mov r1, #msg_0411_00000
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #0x24]
|
|
ldr r2, [r5, #0x50]
|
|
mov r1, #msg_0411_00001
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #4]
|
|
bl SaveGetBag
|
|
mov r1, #ITEM_BLUE_CARD>>2
|
|
ldr r3, [r5]
|
|
lsl r1, r1, #2
|
|
mov r2, #1
|
|
bl BagHasItem
|
|
cmp r0, #0
|
|
beq _021F6946
|
|
mov r0, #msg_0411_00004
|
|
b _021F6948
|
|
_021F6946:
|
|
mov r0, #msg_0411_00005
|
|
_021F6948:
|
|
strh r0, [r4, #6]
|
|
ldr r3, [r5]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0x42 ; msg_0066_D23R0102.gmm
|
|
bl NewMsgDataFromNarc
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl SaveArray_Flags_get
|
|
bl ScriptState_GetBuenasPasswordSet
|
|
mov r1, #0x1e
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
lsr r1, r0, #0x10
|
|
add r0, r4, #0
|
|
add r1, #0x28
|
|
bl NewString_ReadMsgData
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r3, #2
|
|
str r3, [sp, #4]
|
|
ldr r0, [r5, #0x44]
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
bl BufferString
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
add r0, r4, #0
|
|
bl DestroyMsgData
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021F6998: .word 0x0000019B
|
|
thumb_func_end RadioShow_BuenasPassword_init
|
|
|
|
thumb_func_start ov101_021F699C
|
|
ov101_021F699C: ; 0x021F699C
|
|
ldr r3, _021F69A4 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F69A4: .word DestroyMsgData
|
|
thumb_func_end ov101_021F699C
|
|
|
|
thumb_func_start RadioShow_ThatTownThesePeople_setup
|
|
RadioShow_ThatTownThesePeople_setup: ; 0x021F69A8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0x24
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0x24
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_ThatTownThesePeople_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0
|
|
bl StopBGM
|
|
ldr r0, _021F69DC ; =SEQ_GS_RADIO_PT
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F69DC: .word SEQ_GS_RADIO_PT
|
|
thumb_func_end RadioShow_ThatTownThesePeople_setup
|
|
|
|
thumb_func_start RadioShow_ThatTownThesePeople_teardown
|
|
RadioShow_ThatTownThesePeople_teardown: ; 0x021F69E0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F6B7C
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #0x24
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_ThatTownThesePeople_teardown
|
|
|
|
thumb_func_start RadioShow_ThatTownThesePeople_print
|
|
RadioShow_ThatTownThesePeople_print: ; 0x021F6A00
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldrh r1, [r4, #4]
|
|
cmp r1, #5
|
|
bhi _021F6AA8
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F6A18: ; jump table
|
|
.short _021F6A24 - _021F6A18 - 2 ; case 0
|
|
.short _021F6A32 - _021F6A18 - 2 ; case 1
|
|
.short _021F6A40 - _021F6A18 - 2 ; case 2
|
|
.short _021F6A54 - _021F6A18 - 2 ; case 3
|
|
.short _021F6A76 - _021F6A18 - 2 ; case 4
|
|
.short _021F6A8E - _021F6A18 - 2 ; case 5
|
|
_021F6A24:
|
|
mov r1, #2
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6AA8
|
|
_021F6A32:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F6AA8
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
_021F6A40:
|
|
ldrb r1, [r4, #9]
|
|
add r0, r5, #0
|
|
add r1, r4, r1
|
|
ldrb r1, [r1, #6]
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6AA8
|
|
_021F6A54:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F6AA8
|
|
ldrb r0, [r4, #9]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #9]
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #3
|
|
bhs _021F6A6E
|
|
mov r0, #2
|
|
strh r0, [r4, #4]
|
|
b _021F6AA8
|
|
_021F6A6E:
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6AA8
|
|
_021F6A76:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F6AA8
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl RadioPrintAndPlayJingle
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6AA8
|
|
_021F6A8E:
|
|
bl Radio_RunTextPrinter_WaitJingle
|
|
cmp r0, #0
|
|
beq _021F6AA8
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
add r5, #0x66
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F6AA8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end RadioShow_ThatTownThesePeople_print
|
|
|
|
thumb_func_start RadioShow_ThatTownThesePeople_init
|
|
RadioShow_ThatTownThesePeople_init: ; 0x021F6AAC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldr r2, _021F6B74 ; =0x0000019F
|
|
ldr r3, [r5]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r5, #0x24]
|
|
ldr r2, [r5, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r5, #0x24]
|
|
ldr r2, [r5, #0x50]
|
|
mov r1, #1
|
|
bl ReadMsgDataIntoString
|
|
add r0, r4, #0
|
|
add r0, #0xa
|
|
mov r1, #0
|
|
mov r2, #5
|
|
bl MI_CpuFill8
|
|
add r0, r4, #0
|
|
add r0, #0xf
|
|
mov r1, #0
|
|
mov r2, #0x14
|
|
bl MI_CpuFill8
|
|
ldr r0, [r5, #4]
|
|
bl SaveArray_Flags_get
|
|
mov r1, #1
|
|
strb r1, [r4, #0xa]
|
|
add r5, r0, #0
|
|
mov r1, #2
|
|
mov r2, #0xf
|
|
bl ScriptState_FlypointFlagAction
|
|
strb r0, [r4, #0xb]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r2, #0x13
|
|
bl ScriptState_FlypointFlagAction
|
|
strb r0, [r4, #0xc]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r2, #0x15
|
|
bl ScriptState_FlypointFlagAction
|
|
strb r0, [r4, #0xd]
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
mov r2, #5
|
|
bl ScriptState_FlypointFlagAction
|
|
mov r6, #0
|
|
strb r0, [r4, #0xe]
|
|
ldr r1, _021F6B78 ; =ov101_021F8B4C
|
|
add r0, r6, #0
|
|
_021F6B2A:
|
|
ldrb r2, [r1]
|
|
add r2, r4, r2
|
|
ldrb r2, [r2, #0xa]
|
|
cmp r2, #0
|
|
beq _021F6B3A
|
|
add r2, r4, r6
|
|
add r6, r6, #1
|
|
strb r0, [r2, #0xf]
|
|
_021F6B3A:
|
|
add r0, r0, #1
|
|
add r1, r1, #1
|
|
cmp r0, #0x14
|
|
blt _021F6B2A
|
|
mov r5, #0
|
|
_021F6B44:
|
|
bl LCRandom
|
|
add r1, r6, #0
|
|
bl _s32_div_f
|
|
add r0, r4, r1
|
|
ldrb r0, [r0, #0xf]
|
|
lsl r2, r5, #0x18
|
|
lsr r2, r2, #0x18
|
|
add r0, r0, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r7, r0, #0x18
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl ov101_021F6B88
|
|
cmp r0, #0
|
|
bne _021F6B44
|
|
add r0, r4, r5
|
|
add r5, r5, #1
|
|
strb r7, [r0, #6]
|
|
cmp r5, #3
|
|
blt _021F6B44
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F6B74: .word 0x0000019F
|
|
_021F6B78: .word ov101_021F8B4C
|
|
thumb_func_end RadioShow_ThatTownThesePeople_init
|
|
|
|
thumb_func_start ov101_021F6B7C
|
|
ov101_021F6B7C: ; 0x021F6B7C
|
|
ldr r3, _021F6B84 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F6B84: .word DestroyMsgData
|
|
thumb_func_end ov101_021F6B7C
|
|
|
|
thumb_func_start ov101_021F6B88
|
|
ov101_021F6B88: ; 0x021F6B88
|
|
push {r3, r4}
|
|
mov r4, #0
|
|
cmp r2, #0
|
|
ble _021F6BA4
|
|
_021F6B90:
|
|
add r3, r0, r4
|
|
ldrb r3, [r3, #6]
|
|
cmp r1, r3
|
|
bne _021F6B9E
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021F6B9E:
|
|
add r4, r4, #1
|
|
cmp r4, r2
|
|
blt _021F6B90
|
|
_021F6BA4:
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F6B88
|
|
|
|
thumb_func_start RadioShow_TrainerProfiles_setup
|
|
RadioShow_TrainerProfiles_setup: ; 0x021F6BAC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0xc
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #0xc
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_TrainerProfiles_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0
|
|
bl StopBGM
|
|
ldr r0, _021F6BE0 ; =SEQ_GS_RADIO_TRAINER
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F6BE0: .word SEQ_GS_RADIO_TRAINER
|
|
thumb_func_end RadioShow_TrainerProfiles_setup
|
|
|
|
thumb_func_start RadioShow_TrainerProfiles_teardown
|
|
RadioShow_TrainerProfiles_teardown: ; 0x021F6BE4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F6D0C
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #0xc
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_TrainerProfiles_teardown
|
|
|
|
thumb_func_start RadioShow_TrainerProfiles_print
|
|
RadioShow_TrainerProfiles_print: ; 0x021F6C04
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r4, [r5, #0x1c]
|
|
ldrh r1, [r4, #4]
|
|
cmp r1, #5
|
|
bhi _021F6CAC
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F6C1C: ; jump table
|
|
.short _021F6C28 - _021F6C1C - 2 ; case 0
|
|
.short _021F6C36 - _021F6C1C - 2 ; case 1
|
|
.short _021F6C44 - _021F6C1C - 2 ; case 2
|
|
.short _021F6C58 - _021F6C1C - 2 ; case 3
|
|
.short _021F6C7A - _021F6C1C - 2 ; case 4
|
|
.short _021F6C92 - _021F6C1C - 2 ; case 5
|
|
_021F6C28:
|
|
mov r1, #2
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6CAC
|
|
_021F6C36:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F6CAC
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
_021F6C44:
|
|
ldrb r1, [r4, #9]
|
|
add r0, r5, #0
|
|
add r1, r4, r1
|
|
ldrb r1, [r1, #6]
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6CAC
|
|
_021F6C58:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F6CAC
|
|
ldrb r0, [r4, #9]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #9]
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #3
|
|
bhs _021F6C72
|
|
mov r0, #2
|
|
strh r0, [r4, #4]
|
|
b _021F6CAC
|
|
_021F6C72:
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6CAC
|
|
_021F6C7A:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F6CAC
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl RadioPrintAndPlayJingle
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6CAC
|
|
_021F6C92:
|
|
bl Radio_RunTextPrinter_WaitJingle
|
|
cmp r0, #0
|
|
beq _021F6CAC
|
|
add r0, r5, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
add r5, #0x66
|
|
orr r0, r1
|
|
strb r0, [r5]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021F6CAC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end RadioShow_TrainerProfiles_print
|
|
|
|
thumb_func_start RadioShow_TrainerProfiles_init
|
|
RadioShow_TrainerProfiles_init: ; 0x021F6CB0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
mov r2, #0x69
|
|
ldr r5, [r4, #0x1c]
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
lsl r2, r2, #2
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x50]
|
|
mov r1, #1
|
|
bl ReadMsgDataIntoString
|
|
mov r4, #0
|
|
mov r7, #0x1c
|
|
_021F6CDC:
|
|
bl LCRandom
|
|
lsr r1, r0, #0x1f
|
|
lsl r0, r0, #0x1c
|
|
sub r0, r0, r1
|
|
ror r0, r7
|
|
add r0, r1, r0
|
|
add r0, r0, #4
|
|
lsl r0, r0, #0x18
|
|
lsr r6, r0, #0x18
|
|
lsl r2, r4, #0x18
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov101_021F6D18
|
|
cmp r0, #0
|
|
bne _021F6CDC
|
|
add r0, r5, r4
|
|
add r4, r4, #1
|
|
strb r6, [r0, #6]
|
|
cmp r4, #3
|
|
blt _021F6CDC
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end RadioShow_TrainerProfiles_init
|
|
|
|
thumb_func_start ov101_021F6D0C
|
|
ov101_021F6D0C: ; 0x021F6D0C
|
|
ldr r3, _021F6D14 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F6D14: .word DestroyMsgData
|
|
thumb_func_end ov101_021F6D0C
|
|
|
|
thumb_func_start ov101_021F6D18
|
|
ov101_021F6D18: ; 0x021F6D18
|
|
push {r3, r4}
|
|
mov r4, #0
|
|
cmp r2, #0
|
|
ble _021F6D34
|
|
_021F6D20:
|
|
add r3, r0, r4
|
|
ldrb r3, [r3, #6]
|
|
cmp r1, r3
|
|
bne _021F6D2E
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021F6D2E:
|
|
add r4, r4, #1
|
|
cmp r4, r2
|
|
blt _021F6D20
|
|
_021F6D34:
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F6D18
|
|
|
|
thumb_func_start RadioShow_PokemonTalk_setup
|
|
RadioShow_PokemonTalk_setup: ; 0x021F6D3C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r1, #0x95
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
mov r2, #0x95
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_PokemonTalk_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #0
|
|
bl StopBGM
|
|
ldr r0, _021F6D74 ; =SEQ_GS_OHKIDO_RABO
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F6D74: .word SEQ_GS_OHKIDO_RABO
|
|
thumb_func_end RadioShow_PokemonTalk_setup
|
|
|
|
thumb_func_start RadioShow_PokemonTalk_teardown
|
|
RadioShow_PokemonTalk_teardown: ; 0x021F6D78
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F6FC0
|
|
mov r2, #0x95
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
thumb_func_end RadioShow_PokemonTalk_teardown
|
|
|
|
thumb_func_start RadioShow_PokemonTalk_print
|
|
RadioShow_PokemonTalk_print: ; 0x021F6D98
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
ldr r4, [r6, #0x1c]
|
|
ldrh r1, [r4, #4]
|
|
cmp r1, #7
|
|
bhi _021F6DD8
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021F6DB2: ; jump table
|
|
.short _021F6DC2 - _021F6DB2 - 2 ; case 0
|
|
.short _021F6DD0 - _021F6DB2 - 2 ; case 1
|
|
.short _021F6E10 - _021F6DB2 - 2 ; case 2
|
|
.short _021F6E1E - _021F6DB2 - 2 ; case 3
|
|
.short _021F6E56 - _021F6DB2 - 2 ; case 4
|
|
.short _021F6EB2 - _021F6DB2 - 2 ; case 5
|
|
.short _021F6ED8 - _021F6DB2 - 2 ; case 6
|
|
.short _021F6EF0 - _021F6DB2 - 2 ; case 7
|
|
_021F6DC2:
|
|
mov r1, #2
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6F0C
|
|
_021F6DD0:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
bne _021F6DDA
|
|
_021F6DD8:
|
|
b _021F6F0C
|
|
_021F6DDA:
|
|
ldrh r0, [r4, #6]
|
|
cmp r0, #0
|
|
bne _021F6DE6
|
|
mov r0, #3
|
|
strh r0, [r4, #4]
|
|
b _021F6F0C
|
|
_021F6DE6:
|
|
ldrh r0, [r4, #8]
|
|
bl MapHeader_GetMapSec
|
|
add r2, r0, #0
|
|
ldr r0, [r6, #0x44]
|
|
mov r1, #0
|
|
bl BufferLandmarkName
|
|
ldrh r2, [r4, #6]
|
|
ldr r0, [r6, #0x44]
|
|
mov r1, #1
|
|
bl BufferSpeciesName
|
|
add r0, r6, #0
|
|
mov r1, #0x20
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6F0C
|
|
_021F6E10:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F6F0C
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
_021F6E1E:
|
|
mov r2, #0x25
|
|
lsl r2, r2, #4
|
|
ldrb r2, [r4, r2]
|
|
ldr r0, [r6, #0x44]
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r2, r4, r2
|
|
ldrh r2, [r2, #0x10]
|
|
bl BufferLandmarkName
|
|
mov r2, #0x25
|
|
lsl r2, r2, #4
|
|
ldrb r2, [r4, r2]
|
|
ldr r0, [r6, #0x44]
|
|
mov r1, #1
|
|
lsl r2, r2, #2
|
|
add r2, r4, r2
|
|
ldrh r2, [r2, #0x12]
|
|
bl BufferSpeciesName
|
|
add r0, r6, #0
|
|
mov r1, #4
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6F0C
|
|
_021F6E56:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F6F0C
|
|
mov r5, #0
|
|
str r5, [sp, #8]
|
|
add r7, r5, #0
|
|
_021F6E64:
|
|
mov r1, #0x25
|
|
lsl r1, r1, #4
|
|
ldrb r1, [r4, r1]
|
|
ldr r0, [r6, #0x24]
|
|
ldr r2, [r6, #0x48]
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
add r1, r5, r1
|
|
ldrh r1, [r1, #0x24]
|
|
add r1, r1, #6
|
|
add r1, r7, r1
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
ldr r0, [r6, #0x44]
|
|
ldr r2, [r6, #0x48]
|
|
add r1, r1, #2
|
|
mov r3, #1
|
|
bl BufferString
|
|
ldr r0, [sp, #8]
|
|
add r5, r5, #2
|
|
add r0, r0, #1
|
|
add r7, #0xd
|
|
str r0, [sp, #8]
|
|
cmp r0, #2
|
|
blt _021F6E64
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl RadioPrintInitEz
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6F0C
|
|
_021F6EB2:
|
|
bl Radio_RunTextPrinter
|
|
cmp r0, #0
|
|
beq _021F6F0C
|
|
mov r0, #0x25
|
|
lsl r0, r0, #4
|
|
ldrb r1, [r4, r0]
|
|
add r1, r1, #1
|
|
strb r1, [r4, r0]
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #5
|
|
bhs _021F6ED0
|
|
mov r0, #3
|
|
strh r0, [r4, #4]
|
|
b _021F6F0C
|
|
_021F6ED0:
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6F0C
|
|
_021F6ED8:
|
|
bl ov101_021F5AB8
|
|
cmp r0, #0
|
|
beq _021F6F0C
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
bl RadioPrintAndPlayJingle
|
|
ldrh r0, [r4, #4]
|
|
add r0, r0, #1
|
|
strh r0, [r4, #4]
|
|
b _021F6F0C
|
|
_021F6EF0:
|
|
bl Radio_RunTextPrinter_WaitJingle
|
|
cmp r0, #0
|
|
beq _021F6F0C
|
|
add r0, r6, #0
|
|
add r0, #0x66
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
add r6, #0x66
|
|
orr r0, r1
|
|
strb r0, [r6]
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F6F0C:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_PokemonTalk_print
|
|
|
|
thumb_func_start RadioShow_PokemonTalk_init
|
|
RadioShow_PokemonTalk_init: ; 0x021F6F14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
ldr r5, [r4, #0x1c]
|
|
ldr r2, _021F6FBC ; =0x0000019E
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x50]
|
|
mov r1, #1
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #4]
|
|
bl Save_Roamers_get
|
|
add r6, r0, #0
|
|
bl RoamerSave_OutbreakActive
|
|
cmp r0, #0
|
|
beq _021F6F5C
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl Roamers_GetRand
|
|
add r1, r5, #0
|
|
add r1, #8
|
|
add r2, r5, #6
|
|
bl sub_02097F9C
|
|
_021F6F5C:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov101_021F6FCC
|
|
bl LCRandom
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r0, r1, #1
|
|
lsl r6, r0, #1
|
|
bl LCRandom
|
|
mov r1, #0xd
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r7, r0, #0x18
|
|
bl LCRandom
|
|
mov r1, #0xd
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r4, r0, #0x18
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
_021F6F92:
|
|
strh r7, [r5, #0x24]
|
|
add r0, r7, r6
|
|
mov r1, #0xd
|
|
strh r4, [r5, #0x26]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r7, r0, #0x18
|
|
add r0, r4, r6
|
|
mov r1, #0xd
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r4, r0, #0x18
|
|
ldr r0, [sp]
|
|
add r5, r5, #4
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
cmp r0, #5
|
|
blt _021F6F92
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F6FBC: .word 0x0000019E
|
|
thumb_func_end RadioShow_PokemonTalk_init
|
|
|
|
thumb_func_start ov101_021F6FC0
|
|
ov101_021F6FC0: ; 0x021F6FC0
|
|
ldr r3, _021F6FC8 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F6FC8: .word DestroyMsgData
|
|
thumb_func_end ov101_021F6FC0
|
|
|
|
thumb_func_start ov101_021F6FCC
|
|
ov101_021F6FCC: ; 0x021F6FCC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r7, r0, #0
|
|
ldr r0, [r7, #4]
|
|
add r5, r1, #0
|
|
bl Save_Pokedex_get
|
|
str r0, [sp, #8]
|
|
ldr r0, [r7, #4]
|
|
bl SaveArray_Flags_get
|
|
mov r1, #2
|
|
mov r2, #0x19
|
|
bl ScriptState_FlypointFlagAction
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
mov r2, #0x4b
|
|
add r0, #0x38
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl MI_CpuFill8
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
mov r2, #0x76
|
|
bl MI_CpuFill8
|
|
ldr r0, _021F70E8 ; =0x000001DA
|
|
mov r1, #0
|
|
add r0, r5, r0
|
|
mov r2, #0x76
|
|
bl MI_CpuFill8
|
|
mov r4, #0
|
|
strh r4, [r5, #0xa]
|
|
strh r4, [r5, #0xc]
|
|
add r6, r5, #0
|
|
strh r4, [r5, #0xe]
|
|
add r6, #0xa
|
|
_021F7020:
|
|
add r0, r4, #0
|
|
bl MapHeader_HasWildEncounters
|
|
cmp r0, #0
|
|
beq _021F707C
|
|
add r0, r4, #0
|
|
bl MapHeader_IsKanto
|
|
add r1, r7, #0
|
|
add r1, #0x66
|
|
ldrb r1, [r1]
|
|
lsl r1, r1, #0x1d
|
|
lsr r1, r1, #0x1f
|
|
cmp r1, r0
|
|
bne _021F707C
|
|
ldr r2, _021F70EC ; =ov101_021F8B60
|
|
mov r1, #0
|
|
_021F7042:
|
|
ldrh r0, [r2]
|
|
cmp r4, r0
|
|
beq _021F7050
|
|
add r1, r1, #1
|
|
add r2, r2, #2
|
|
cmp r1, #0xe
|
|
blo _021F7042
|
|
_021F7050:
|
|
cmp r1, #0xe
|
|
blo _021F707C
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
bne _021F7062
|
|
cmp r4, #0x97
|
|
beq _021F707C
|
|
cmp r4, #0x98
|
|
beq _021F707C
|
|
_021F7062:
|
|
ldrh r0, [r6]
|
|
ldrh r1, [r5, #0xa]
|
|
add r0, r0, #1
|
|
strh r0, [r6]
|
|
lsl r0, r1, #1
|
|
add r0, r5, r0
|
|
strh r4, [r0, #0x38]
|
|
ldrh r0, [r5, #0xa]
|
|
cmp r0, #0x96
|
|
blo _021F707C
|
|
bl GF_AssertFail
|
|
b _021F7086
|
|
_021F707C:
|
|
mov r0, #0x87
|
|
add r4, r4, #1
|
|
lsl r0, r0, #2
|
|
cmp r4, r0
|
|
blt _021F7020
|
|
_021F7086:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
_021F708C:
|
|
mov r0, #0
|
|
strh r0, [r5, #0xc]
|
|
strh r0, [r5, #0xe]
|
|
ldr r0, [sp]
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_021F7098:
|
|
bl LCRandom
|
|
ldrh r1, [r5, #0xa]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
lsr r0, r0, #0xf
|
|
add r6, r5, r0
|
|
ldrh r0, [r6, #0x38]
|
|
bl MapHeader_GetMapSec
|
|
lsl r0, r0, #0x10
|
|
lsr r7, r0, #0x10
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
bl ov101_021F70F0
|
|
cmp r0, #0
|
|
bne _021F7098
|
|
ldr r0, [sp, #4]
|
|
ldr r1, [sp, #8]
|
|
strh r7, [r0, #0x10]
|
|
ldrh r2, [r6, #0x38]
|
|
add r0, r5, #0
|
|
bl ov101_021F7174
|
|
ldr r1, [sp, #4]
|
|
strh r0, [r1, #0x12]
|
|
add r0, r1, #0
|
|
add r0, r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
add r0, r0, #1
|
|
str r0, [sp]
|
|
cmp r0, #5
|
|
blt _021F708C
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F70E8: .word 0x000001DA
|
|
_021F70EC: .word ov101_021F8B60
|
|
thumb_func_end ov101_021F6FCC
|
|
|
|
thumb_func_start ov101_021F70F0
|
|
ov101_021F70F0: ; 0x021F70F0
|
|
push {r3, r4}
|
|
mov r4, #0
|
|
cmp r2, #0
|
|
ble _021F710C
|
|
_021F70F8:
|
|
ldrh r3, [r0, #0x10]
|
|
cmp r1, r3
|
|
bne _021F7104
|
|
mov r0, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
_021F7104:
|
|
add r4, r4, #1
|
|
add r0, r0, #4
|
|
cmp r4, r2
|
|
blt _021F70F8
|
|
_021F710C:
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov101_021F70F0
|
|
|
|
thumb_func_start ov101_021F7114
|
|
ov101_021F7114: ; 0x021F7114
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
add r4, r2, #0
|
|
beq _021F7168
|
|
ldr r0, _021F716C ; =0x000001ED
|
|
cmp r4, r0
|
|
bhi _021F7168
|
|
ldrh r6, [r5, #0xc]
|
|
mov r2, #0
|
|
cmp r6, #0
|
|
ble _021F713E
|
|
add r3, r5, #0
|
|
sub r0, #0x89
|
|
_021F7130:
|
|
ldrh r1, [r3, r0]
|
|
cmp r4, r1
|
|
beq _021F7168
|
|
add r2, r2, #1
|
|
add r3, r3, #2
|
|
cmp r2, r6
|
|
blt _021F7130
|
|
_021F713E:
|
|
ldrh r0, [r5, #0xc]
|
|
add r0, r0, #1
|
|
strh r0, [r5, #0xc]
|
|
lsl r0, r6, #1
|
|
add r1, r5, r0
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
strh r4, [r1, r0]
|
|
add r0, r7, #0
|
|
add r1, r4, #0
|
|
bl Pokedex_CheckMonCaughtFlag
|
|
cmp r0, #0
|
|
bne _021F7168
|
|
ldrh r1, [r5, #0xe]
|
|
add r0, r1, #1
|
|
strh r0, [r5, #0xe]
|
|
lsl r0, r1, #1
|
|
add r1, r5, r0
|
|
ldr r0, _021F7170 ; =0x000001DA
|
|
strh r4, [r1, r0]
|
|
_021F7168:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021F716C: .word 0x000001ED
|
|
_021F7170: .word 0x000001DA
|
|
thumb_func_end ov101_021F7114
|
|
|
|
thumb_func_start ov101_021F7174
|
|
ov101_021F7174: ; 0x021F7174
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc4
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, sp, #0
|
|
add r1, r2, #0
|
|
bl WildEncounters_ReadFromNarc
|
|
add r0, sp, #0
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _021F71BA
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_021F7190:
|
|
ldrh r2, [r6, #0x14]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
ldrh r2, [r6, #0x2c]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
add r2, r6, #0
|
|
add r2, #0x44
|
|
ldrh r2, [r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
add r7, r7, #1
|
|
add r6, r6, #2
|
|
cmp r7, #0xc
|
|
blt _021F7190
|
|
_021F71BA:
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _021F71DC
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_021F71C6:
|
|
add r2, r6, #0
|
|
add r2, #0x66
|
|
ldrh r2, [r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
cmp r7, #5
|
|
blt _021F71C6
|
|
_021F71DC:
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, #2]
|
|
cmp r0, #0
|
|
beq _021F71FE
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_021F71E8:
|
|
add r2, r6, #0
|
|
add r2, #0x7a
|
|
ldrh r2, [r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
cmp r7, #2
|
|
blt _021F71E8
|
|
_021F71FE:
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, #3]
|
|
cmp r0, #0
|
|
beq _021F7220
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_021F720A:
|
|
add r2, r6, #0
|
|
add r2, #0x82
|
|
ldrh r2, [r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
cmp r7, #5
|
|
blt _021F720A
|
|
_021F7220:
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _021F7242
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_021F722C:
|
|
add r2, r6, #0
|
|
add r2, #0x96
|
|
ldrh r2, [r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
cmp r7, #5
|
|
blt _021F722C
|
|
_021F7242:
|
|
add r0, sp, #0
|
|
ldrb r0, [r0, #5]
|
|
cmp r0, #0
|
|
beq _021F7264
|
|
mov r7, #0
|
|
add r6, sp, #0
|
|
_021F724E:
|
|
add r2, r6, #0
|
|
add r2, #0xaa
|
|
ldrh r2, [r2]
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
add r7, r7, #1
|
|
add r6, r6, #4
|
|
cmp r7, #5
|
|
blt _021F724E
|
|
_021F7264:
|
|
add r0, sp, #0xc0
|
|
ldrh r2, [r0]
|
|
cmp r2, #0
|
|
beq _021F7274
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov101_021F7114
|
|
_021F7274:
|
|
ldrh r0, [r5, #0xe]
|
|
cmp r0, #0
|
|
beq _021F7292
|
|
cmp r0, #1
|
|
bne _021F72AA
|
|
bl LCRandom
|
|
mov r1, #0xfa
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #2
|
|
cmp r1, r0
|
|
bge _021F72AA
|
|
_021F7292:
|
|
bl LCRandom
|
|
ldrh r1, [r5, #0xc]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #1
|
|
add r1, r5, r0
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
add sp, #0xc4
|
|
ldrh r0, [r1, r0]
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021F72AA:
|
|
bl LCRandom
|
|
ldrh r1, [r5, #0xe]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #1
|
|
add r1, r5, r0
|
|
ldr r0, _021F72C0 ; =0x000001DA
|
|
ldrh r0, [r1, r0]
|
|
add sp, #0xc4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021F72C0: .word 0x000001DA
|
|
thumb_func_end ov101_021F7174
|
|
|
|
thumb_func_start RadioShow_MahoganySignal_setup
|
|
RadioShow_MahoganySignal_setup: ; 0x021F72C4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #8
|
|
bl AllocFromHeap
|
|
mov r1, #0
|
|
mov r2, #8
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r5, #0
|
|
str r4, [r5, #0x1c]
|
|
bl RadioShow_MahoganySignal_init
|
|
bl GF_GetCurrentPlayingBGM
|
|
mov r1, #1
|
|
bl StopBGM
|
|
mov r0, #0
|
|
strb r0, [r4, #4]
|
|
ldr r0, _021F72FC ; =SEQ_GS_KAIDENPA
|
|
bl SndRadio_StartSeq
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021F72FC: .word SEQ_GS_KAIDENPA
|
|
thumb_func_end RadioShow_MahoganySignal_setup
|
|
|
|
thumb_func_start RadioShow_MahoganySignal_teardown
|
|
RadioShow_MahoganySignal_teardown: ; 0x021F7300
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov101_021F734C
|
|
ldr r0, [r4, #0x1c]
|
|
mov r1, #0
|
|
mov r2, #8
|
|
bl MI_CpuFill8
|
|
ldr r0, [r4, #0x1c]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
str r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end RadioShow_MahoganySignal_teardown
|
|
|
|
thumb_func_start RadioShow_MahoganySignal_print
|
|
RadioShow_MahoganySignal_print: ; 0x021F7320
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end RadioShow_MahoganySignal_print
|
|
|
|
thumb_func_start RadioShow_MahoganySignal_init
|
|
RadioShow_MahoganySignal_init: ; 0x021F7324
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, _021F7348 ; =0x00000199
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x24]
|
|
ldr r2, [r4, #0x4c]
|
|
mov r1, #0
|
|
bl ReadMsgDataIntoString
|
|
ldr r0, [r4, #0x50]
|
|
bl StringSetEmpty
|
|
pop {r4, pc}
|
|
nop
|
|
_021F7348: .word 0x00000199
|
|
thumb_func_end RadioShow_MahoganySignal_init
|
|
|
|
thumb_func_start ov101_021F734C
|
|
ov101_021F734C: ; 0x021F734C
|
|
ldr r3, _021F7354 ; =DestroyMsgData
|
|
ldr r0, [r0, #0x24]
|
|
bx r3
|
|
nop
|
|
_021F7354: .word DestroyMsgData
|
|
thumb_func_end ov101_021F734C
|
|
|
|
.rodata
|
|
|
|
_021F7358:
|
|
.short 0x001A, 0x001D, 0x002D, 0x0209, 0x020A, 0x020B
|
|
|
|
ov101_021F7364: ; 0x021F7364
|
|
.short 0x0133, 0x0134, 0x0135, 0x0136, 0x0137, 0x0148, 0x0149
|
|
|
|
ov101_021F7372: ; 0x021F7372
|
|
.byte 0x09, 0x02, 0x13, 0x02, 0x33, 0xC0, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x33, 0x01, 0x18, 0x10, 0x33, 0xC0, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x78, 0x00, 0x15, 0x06, 0x11, 0x00, 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x7B, 0x00, 0x11, 0x0A, 0x11, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x28, 0x01, 0x01
|
|
.byte 0x7B, 0x00, 0x13, 0x0C, 0x11, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x2C, 0x01, 0x01
|
|
.byte 0x7B, 0x00, 0x14, 0x08, 0x11, 0x00, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x28, 0x01, 0x01
|
|
.byte 0x6E, 0x00, 0x0F, 0x09, 0x11, 0x00, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x63, 0x00, 0x0E, 0x0F, 0x11, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2C, 0x01, 0x01
|
|
.byte 0x72, 0x00, 0x0D, 0x10, 0x11, 0x00, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x75, 0x00, 0x0B, 0x10, 0x11, 0x00, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x2D, 0x01, 0x01
|
|
.byte 0x60, 0x00, 0x0A, 0x08, 0x22, 0x44, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x02, 0x02
|
|
.byte 0x6F, 0x00, 0x0C, 0x06, 0x11, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x07, 0x00, 0x0B, 0x06, 0x11, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x77, 0x00, 0x0E, 0x07, 0x11, 0x00, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x79, 0x00, 0x07, 0x0D, 0x11, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2E, 0x01, 0x01
|
|
.byte 0x7E, 0x00, 0x17, 0x0E, 0x11, 0x00, 0x3D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x28, 0x01, 0x01
|
|
.byte 0x7C, 0x00, 0x1C, 0x09, 0x21, 0x40, 0x3B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x25, 0x01, 0x02
|
|
.byte 0x93, 0x00, 0x20, 0x07, 0x11, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x29, 0x01, 0x01
|
|
.byte 0x6A, 0x00, 0x20, 0x06, 0x11, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x28, 0x01, 0x01
|
|
.byte 0x6A, 0x00, 0x2A, 0x0B, 0x11, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x2B, 0x01, 0x01
|
|
.byte 0x6B, 0x00, 0x24, 0x05, 0x11, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x28, 0x01, 0x01
|
|
.byte 0x91, 0x00, 0x28, 0x05, 0x11, 0x00, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x6C, 0x00, 0x2C, 0x06, 0x11, 0x00, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x29, 0x01, 0x01
|
|
.byte 0xE9, 0x01, 0x2C, 0x07, 0x11, 0x00, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x2A, 0x01, 0x01
|
|
.byte 0x92, 0x00, 0x23, 0x11, 0x11, 0x00, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x28, 0x01, 0x01
|
|
.byte 0x10, 0x01, 0x06, 0x08, 0x22, 0x44, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x02, 0x02
|
|
.byte 0xDF, 0x01, 0x25, 0x0E, 0x11, 0x00, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0xDC, 0x00, 0x09, 0x0A, 0x11, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x31, 0x00, 0x20, 0x0D, 0x11, 0x00, 0x0A, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x03
|
|
.byte 0x32, 0x00, 0x1F, 0x09, 0x22, 0x44, 0x0B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x23, 0x20, 0x04, 0x04
|
|
.byte 0x33, 0x00, 0x20, 0x04, 0x22, 0x44, 0x0C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x23, 0x20, 0x04, 0x04
|
|
.byte 0x34, 0x00, 0x28, 0x05, 0x22, 0x84, 0x0D, 0x04, 0x00, 0x00, 0x00, 0x00, 0x12, 0x20, 0x04, 0x04
|
|
.byte 0x35, 0x00, 0x2C, 0x09, 0x11, 0x00, 0x0E, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x03
|
|
.byte 0x36, 0x00, 0x28, 0x0B, 0x22, 0x44, 0x0F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x23, 0x20, 0x04, 0x04
|
|
.byte 0x37, 0x00, 0x25, 0x09, 0x22, 0x44, 0x10, 0x07, 0x00, 0x00, 0x00, 0x00, 0x23, 0x20, 0x04, 0x04
|
|
.byte 0x38, 0x00, 0x25, 0x0E, 0x22, 0x84, 0x11, 0x08, 0x00, 0x00, 0x00, 0x00, 0x12, 0x20, 0x04, 0x04
|
|
.byte 0x39, 0x00, 0x20, 0x11, 0x11, 0x00, 0x12, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x03
|
|
.byte 0x3B, 0x00, 0x28, 0x08, 0x22, 0x44, 0x14, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x23, 0x20, 0x04, 0x04
|
|
.byte 0x3C, 0x00, 0x15, 0x0E, 0x11, 0x00, 0x15, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x03
|
|
.byte 0x43, 0x00, 0x10, 0x0E, 0x12, 0x04, 0x16, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x20, 0x04, 0x03
|
|
.byte 0x49, 0x00, 0x0E, 0x09, 0x22, 0x84, 0x17, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x20, 0x04, 0x04
|
|
.byte 0x4A, 0x00, 0x0C, 0x10, 0x11, 0x00, 0x18, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x16, 0x20, 0x04, 0x03
|
|
.byte 0x4B, 0x00, 0x05, 0x0C, 0x21, 0x40, 0x19, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x03, 0x04
|
|
.byte 0x4C, 0x00, 0x09, 0x0C, 0x23, 0x48, 0x1A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x20, 0x05, 0x04
|
|
.byte 0x4D, 0x00, 0x08, 0x09, 0x22, 0x04, 0x1B, 0x11, 0x00, 0x00, 0x00, 0x00, 0x06, 0x20, 0x04, 0x04
|
|
.byte 0x4E, 0x00, 0x0B, 0x06, 0x22, 0x84, 0x1C, 0x12, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x20, 0x04, 0x04
|
|
.byte 0x57, 0x00, 0x10, 0x07, 0x11, 0x00, 0x1D, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x03, 0x03
|
|
.byte 0x59, 0x00, 0x14, 0x06, 0x22, 0x84, 0x1F, 0x14, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x20, 0x04, 0x04
|
|
.byte 0x3A, 0x00, 0x1C, 0x08, 0x11, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x58, 0x00, 0x0F, 0x03, 0x23, 0x48, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x20, 0x05, 0x04
|
|
.byte 0x5A, 0x00, 0x19, 0x0A, 0x11, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x28, 0x01, 0x01
|
|
.byte 0x08, 0x00, 0x0D, 0x0A, 0x21, 0x40, 0x2D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x03, 0x04
|
|
.byte 0xAE, 0x00, 0x02, 0x0A, 0x22, 0x44, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x25, 0x02, 0x02
|
|
.byte 0x09, 0x00, 0x20, 0x0B, 0x21, 0x40, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x2E, 0x01, 0x02
|
|
.byte 0x0A, 0x00, 0x20, 0x08, 0x11, 0x00, 0x47, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x2A, 0x01, 0x01
|
|
.byte 0x0B, 0x00, 0x22, 0x05, 0x12, 0x04, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x28, 0x02, 0x01
|
|
.byte 0x0C, 0x00, 0x25, 0x05, 0x13, 0x04, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x28, 0x03, 0x01
|
|
.byte 0x0D, 0x00, 0x28, 0x07, 0x11, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x2C, 0x01, 0x01
|
|
.byte 0x0E, 0x00, 0x28, 0x0A, 0x11, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x2C, 0x01, 0x01
|
|
.byte 0x0F, 0x00, 0x27, 0x09, 0x11, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x2C, 0x01, 0x01
|
|
.byte 0x10, 0x00, 0x2A, 0x09, 0x12, 0x04, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B, 0x2C, 0x02, 0x01
|
|
.byte 0x11, 0x00, 0x2A, 0x06, 0x12, 0x04, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x29, 0x02, 0x01
|
|
.byte 0x12, 0x00, 0x2C, 0x08, 0x11, 0x00, 0x4F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x2B, 0x01, 0x01
|
|
.byte 0x13, 0x00, 0x2B, 0x0B, 0x11, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x2B, 0x01, 0x01
|
|
.byte 0x14, 0x00, 0x2C, 0x0A, 0x31, 0x40, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x2A, 0x01, 0x03
|
|
.byte 0x15, 0x00, 0x2A, 0x0D, 0x13, 0x04, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x2D, 0x03, 0x01
|
|
.byte 0x16, 0x00, 0x2A, 0x0E, 0x21, 0x40, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x2E, 0x01, 0x02
|
|
.byte 0x17, 0x00, 0x27, 0x0F, 0x13, 0x0C, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x2F, 0x03, 0x01
|
|
.byte 0x18, 0x00, 0x23, 0x0A, 0x12, 0x04, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x28, 0x02, 0x01
|
|
.byte 0x19, 0x00, 0x23, 0x0B, 0x41, 0xC0, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x29, 0x01, 0x04
|
|
.byte 0x1A, 0x00, 0x23, 0x0F, 0x12, 0x04, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x2D, 0x02, 0x01
|
|
.byte 0x5B, 0x00, 0x25, 0x10, 0x21, 0x40, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x2D, 0x01, 0x02
|
|
.byte 0x5C, 0x00, 0x21, 0x11, 0x14, 0x08, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x2E, 0x04, 0x01
|
|
.byte 0x5D, 0x00, 0x20, 0x0E, 0x31, 0xC0, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x2D, 0x01, 0x03
|
|
.byte 0x1B, 0x00, 0x1D, 0x0A, 0x12, 0x04, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x28, 0x02, 0x01
|
|
.byte 0x1C, 0x00, 0x29, 0x04, 0x11, 0x00, 0x5D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x2A, 0x01, 0x01
|
|
.byte 0x1D, 0x00, 0x29, 0x03, 0x14, 0x0C, 0x5E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x29, 0x04, 0x01
|
|
.byte 0x1E, 0x00, 0x1C, 0x0B, 0x41, 0xC0, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x29, 0x01, 0x04
|
|
.byte 0x1F, 0x00, 0x16, 0x0E, 0x16, 0x0F, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x2C, 0x06, 0x01
|
|
.byte 0x20, 0x00, 0x1A, 0x0A, 0x12, 0x04, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x28, 0x02, 0x01
|
|
.byte 0x21, 0x00, 0x12, 0x0E, 0x13, 0x0C, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x2E, 0x03, 0x01
|
|
.byte 0x22, 0x00, 0x11, 0x0B, 0x31, 0x40, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x29, 0x01, 0x03
|
|
.byte 0x23, 0x00, 0x10, 0x0A, 0x12, 0x01, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x28, 0x01, 0x01
|
|
.byte 0x24, 0x00, 0x0E, 0x0B, 0x41, 0xC0, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x28, 0x01, 0x04
|
|
.byte 0x25, 0x00, 0x0E, 0x10, 0x11, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2D, 0x01, 0x01
|
|
.byte 0x26, 0x00, 0x0B, 0x0E, 0x31, 0x40, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x2B, 0x01, 0x02
|
|
.byte 0x27, 0x00, 0x0B, 0x0A, 0x21, 0x40, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2D, 0x01, 0x02
|
|
.byte 0x28, 0x00, 0x0B, 0x09, 0x13, 0x04, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2C, 0x03, 0x01
|
|
.byte 0x29, 0x00, 0x0C, 0x08, 0x11, 0x00, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2B, 0x01, 0x01
|
|
.byte 0x2A, 0x00, 0x09, 0x07, 0x12, 0x04, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x28, 0x02, 0x01
|
|
.byte 0x2B, 0x00, 0x08, 0x07, 0x21, 0x40, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x01, 0x02
|
|
.byte 0x5E, 0x00, 0x07, 0x0A, 0x21, 0x40, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x2A, 0x01, 0x02
|
|
.byte 0x5F, 0x00, 0x06, 0x0C, 0x22, 0x04, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2C, 0x02, 0x02
|
|
.byte 0x2C, 0x00, 0x0D, 0x07, 0x13, 0x02, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x2A, 0x03, 0x01
|
|
.byte 0x2D, 0x00, 0x10, 0x05, 0x21, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x28, 0x01, 0x02
|
|
.byte 0x2E, 0x00, 0x11, 0x07, 0x13, 0x08, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x2A, 0x03, 0x01
|
|
.byte 0x2F, 0x00, 0x14, 0x09, 0x41, 0x80, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x29, 0x01, 0x04
|
|
.byte 0x30, 0x00, 0x13, 0x0D, 0x21, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x2D, 0x01, 0x01
|
|
.byte 0x97, 0x00, 0x02, 0x0D, 0x23, 0x48, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x29, 0x03, 0x02
|
|
.byte 0x98, 0x00, 0x02, 0x0C, 0x12, 0x04, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x28, 0x02, 0x01
|
|
|
|
.balign 4, 0
|
|
ov101_021F79B4: ; 0x021F79B4
|
|
.byte 0x31, 0x00
|
|
|
|
ov101_021F79B6: ; 0x021F79B6
|
|
.byte 0x31, 0x00, 0x00, 0x00, 0x20, 0x0B, 0x00, 0x14, 0x11, 0x33
|
|
.byte 0x11, 0x00, 0x32, 0x00, 0x32, 0x00, 0x01, 0x01, 0x1F, 0x07, 0x05, 0x14, 0x22, 0x44, 0x11, 0x00
|
|
.byte 0x33, 0x00, 0x33, 0x00, 0x02, 0x02, 0x20, 0x02, 0x0A, 0x14, 0x22, 0x44, 0x11, 0x00, 0x34, 0x00
|
|
.byte 0x34, 0x00, 0x03, 0x03, 0x28, 0x03, 0x0F, 0x14, 0x22, 0x44, 0x11, 0x00, 0x35, 0x00, 0x35, 0x00
|
|
.byte 0x04, 0x04, 0x2C, 0x07, 0x14, 0x14, 0x11, 0x33, 0x11, 0x00, 0x36, 0x00, 0x36, 0x00, 0x05, 0x05
|
|
.byte 0x28, 0x09, 0x19, 0x14, 0x22, 0x44, 0x11, 0x00, 0x37, 0x00, 0x37, 0x00, 0x06, 0x06, 0x25, 0x07
|
|
.byte 0x1E, 0x14, 0x22, 0x44, 0x11, 0x00, 0x38, 0x00, 0x38, 0x00, 0x07, 0x07, 0x25, 0x0C, 0x23, 0x14
|
|
.byte 0x22, 0x44, 0x11, 0x00, 0x39, 0x00, 0x39, 0x00, 0x08, 0x08, 0x20, 0x0F, 0x00, 0x18, 0x11, 0x33
|
|
.byte 0x11, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x09, 0xFF, 0x1C, 0x06, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00
|
|
.byte 0x3B, 0x00, 0x3B, 0x00, 0x0A, 0x09, 0x28, 0x06, 0x05, 0x18, 0x22, 0x44, 0x11, 0x00, 0x3C, 0x00
|
|
.byte 0x3C, 0x00, 0x0B, 0x0A, 0x15, 0x0C, 0x0B, 0x19, 0x11, 0x11, 0x00, 0x00, 0x43, 0x00, 0x43, 0x00
|
|
.byte 0x0C, 0x0B, 0x10, 0x0C, 0x0F, 0x18, 0x12, 0x34, 0x11, 0x00, 0x49, 0x00, 0x49, 0x00, 0x0D, 0x0C
|
|
.byte 0x0E, 0x07, 0x14, 0x18, 0x22, 0x43, 0x10, 0x00, 0x4A, 0x00, 0x4A, 0x00, 0x0E, 0x0D, 0x0C, 0x0E
|
|
.byte 0x19, 0x18, 0x12, 0x34, 0x11, 0x00, 0x4B, 0x00, 0x4B, 0x00, 0x0F, 0x0E, 0x05, 0x0A, 0x1E, 0x18
|
|
.byte 0x21, 0x43, 0x11, 0x00, 0x4C, 0x00, 0x4C, 0x00, 0x10, 0x0F, 0x09, 0x0A, 0x23, 0x18, 0x23, 0x45
|
|
.byte 0x11, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x11, 0x10, 0x08, 0x07, 0x00, 0x1C, 0x22, 0x44, 0x11, 0x00
|
|
.byte 0x4E, 0x00, 0x4E, 0x00, 0x12, 0x11, 0x0B, 0x04, 0x05, 0x1C, 0x22, 0x44, 0x11, 0x00, 0x57, 0x00
|
|
.byte 0x57, 0x00, 0x13, 0x12, 0x10, 0x05, 0x0A, 0x1C, 0x11, 0x33, 0x11, 0x00, 0x59, 0x00, 0x59, 0x00
|
|
.byte 0x15, 0x13, 0x14, 0x04, 0x0F, 0x1C, 0x22, 0x44, 0x11, 0x00, 0x58, 0x00, 0x58, 0x00, 0x14, 0xFF
|
|
.byte 0x0F, 0x01, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x5A, 0x00, 0x16, 0xFF, 0x19, 0x08
|
|
.byte 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0xAE, 0x00, 0xAE, 0x00, 0x1E, 0xFF, 0x02, 0x08, 0x00, 0x00
|
|
.byte 0x22, 0x00, 0x00, 0x00, 0x10, 0x01, 0x9B, 0x01, 0x1B, 0xFF, 0x06, 0x06, 0x00, 0x00, 0x22, 0x00
|
|
.byte 0x00, 0x00, 0x60, 0x00, 0x18, 0x01, 0x23, 0xFF, 0x0A, 0x06, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00
|
|
.byte 0x7C, 0x00, 0x1E, 0x00, 0x21, 0xFF, 0x1C, 0x07, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7B30: ; 0x021F7B30
|
|
.byte 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x48, 0x54, 0xEE, 0x12, 0xF4, 0x06
|
|
|
|
ov101_021F7B3C: ; 0x021F7B3C
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7B64: ; 0x021F7B64
|
|
.byte 0x05, 0x01, 0x08, 0x05, 0x03, 0x01, 0xF0, 0x03, 0x05, 0x03, 0x0C, 0x0C
|
|
.byte 0x02, 0x01, 0xD8, 0x03, 0x05, 0x01, 0x0E, 0x1C, 0x04, 0x01, 0x68, 0x03, 0x05, 0x05, 0x12, 0x0B
|
|
.byte 0x05, 0x01, 0x31, 0x03, 0x05, 0x12, 0x12, 0x0B, 0x05, 0x01, 0xFA, 0x02, 0x05, 0x05, 0x14, 0x0B
|
|
.byte 0x02, 0x01, 0xE4, 0x02, 0x05, 0x12, 0x16, 0x0B, 0x02, 0x01, 0xCE, 0x02, 0x01, 0x03, 0x00, 0x0C
|
|
.byte 0x03, 0x0A, 0xDB, 0x03
|
|
|
|
ov101_021F7BA4: ; 0x021F7BA4
|
|
.byte 0x00, 0x00, 0x07, 0x01, 0xFF, 0xFF, 0x28, 0x84, 0xF8, 0x08, 0xF8, 0x08
|
|
.byte 0x01, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0x40, 0x84, 0xF8, 0x08, 0xF8, 0x08, 0x02, 0x00, 0x01, 0x03
|
|
.byte 0xFF, 0xFF, 0x58, 0x84, 0xF8, 0x08, 0xF8, 0x08, 0x03, 0x00, 0x02, 0x04, 0xFF, 0xFF, 0x70, 0x84
|
|
.byte 0xF8, 0x08, 0xF8, 0x08, 0x04, 0x00, 0x03, 0x05, 0xFF, 0xFF, 0x88, 0x84, 0xF8, 0x08, 0xF8, 0x08
|
|
.byte 0x05, 0x00, 0x04, 0x06, 0xFF, 0xFF, 0xA0, 0x84, 0xF8, 0x08, 0xF8, 0x08, 0x06, 0x00, 0x05, 0x07
|
|
.byte 0xFF, 0xFF, 0xB8, 0x84, 0xF8, 0x08, 0xF8, 0x08, 0x07, 0x00, 0x06, 0x00, 0xFF, 0xFF, 0xD0, 0x84
|
|
.byte 0xF8, 0x08, 0xF8, 0x08
|
|
|
|
ov101_021F7C04: ; 0x021F7C04
|
|
.byte 0x00, 0x00, 0x03, 0x01, 0x04, 0x04, 0x20, 0x20, 0xFA, 0x06, 0xFA, 0x06
|
|
.byte 0x01, 0x00, 0x00, 0x02, 0x05, 0x05, 0x28, 0x1F, 0x06, 0x50, 0xFA, 0x06, 0x02, 0x00, 0x01, 0x03
|
|
.byte 0x06, 0x06, 0x88, 0x20, 0xFA, 0x06, 0xFA, 0x06, 0x03, 0x00, 0x02, 0x00, 0x08, 0x07, 0x90, 0x1F
|
|
.byte 0x06, 0x50, 0xFA, 0x06, 0x04, 0x00, 0x07, 0x05, 0x00, 0x00, 0x20, 0x35, 0xFA, 0x06, 0xFA, 0x06
|
|
.byte 0x05, 0x00, 0x04, 0x06, 0x01, 0x01, 0x28, 0x34, 0x06, 0x50, 0xFA, 0x06, 0x06, 0x00, 0x05, 0x07
|
|
.byte 0x02, 0x02, 0x88, 0x35, 0xFA, 0x06, 0xFA, 0x06, 0x07, 0x00, 0x06, 0x04, 0x03, 0x08, 0x90, 0x34
|
|
.byte 0x06, 0x50, 0xFA, 0x06, 0x08, 0x00, 0xFF, 0xFF, 0x07, 0x03, 0xD0, 0x54, 0xF0, 0x10, 0xF7, 0x03
|
|
|
|
ov101_021F7C70: ; 0x021F7C70
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7C98: ; 0x021F7C98
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7CC0: ; 0x021F7CC0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7CE8: ; 0x021F7CE8
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7D10: ; 0x021F7D10
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x1A, 0x04
|
|
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x16, 0x04, 0x00, 0x03, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x04
|
|
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7DB8: ; 0x021F7DB8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x60, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7DE0: ; 0x021F7DE0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x98, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7E08: ; 0x021F7E08
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x80, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7E30: ; 0x021F7E30
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7E58: ; 0x021F7E58
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x60, 0x00
|
|
.byte 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7E80: ; 0x021F7E80
|
|
.byte 0x03, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x1C, 0x00, 0x01, 0x00, 0x40, 0x00
|
|
|
|
ov101_021F7E8C: ; 0x021F7E8C
|
|
.byte 0x16, 0x0A
|
|
|
|
ov101_021F7E8E: ; 0x021F7E8E
|
|
.byte 0x10, 0x07
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7E94: ; 0x021F7E94
|
|
.byte 0x98, 0xB8, 0xC2, 0xFE, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7E9C: ; 0x021F7E9C
|
|
.byte 0x01, 0x10, 0x01, 0x16
|
|
.byte 0x01, 0x07, 0x01, 0x0A
|
|
|
|
ov101_021F7EA4: ; 0x021F7EA4
|
|
.byte 0x08, 0x98, 0x08, 0xC8
|
|
|
|
ov101_021F7EA8: ; 0x021F7EA8
|
|
.byte 0x10, 0x90, 0x28, 0xE0
|
|
|
|
ov101_021F7EAC: ; 0x021F7EAC
|
|
.byte 0x10, 0x40, 0xD8, 0xF8
|
|
.byte 0x58, 0x98, 0xD8, 0xF8, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7EB8: ; 0x021F7EB8
|
|
.byte 0x18, 0x2C, 0x18, 0x28, 0x18, 0x2C, 0x80, 0x90
|
|
.byte 0x2C, 0x40, 0x18, 0x28, 0x2C, 0x40, 0x80, 0x90, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7ECC: ; 0x021F7ECC
|
|
.byte 0x18, 0x2C, 0x18, 0x28
|
|
.byte 0x18, 0x2C, 0x80, 0x90, 0x2C, 0x40, 0x18, 0x28, 0x2C, 0x40, 0x80, 0x90, 0x18, 0x2C, 0x28, 0x80
|
|
.byte 0x18, 0x2C, 0x90, 0xE8, 0x2C, 0x40, 0x28, 0x80, 0x2C, 0x40, 0x90, 0xE8
|
|
|
|
ov101_021F7EEC: ; 0x021F7EEC
|
|
.byte 0x44, 0x60, 0x2C, 0x64
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7EF4: ; 0x021F7EF4
|
|
.byte 0x18, 0x2C, 0x18, 0x28, 0x18, 0x2C, 0x28, 0x80, 0x18, 0x2C, 0x80, 0x90
|
|
.byte 0x18, 0x2C, 0x90, 0xE8, 0x2C, 0x40, 0x18, 0x28, 0x2C, 0x40, 0x28, 0x80, 0x2C, 0x40, 0x80, 0x90
|
|
.byte 0x2C, 0x40, 0x90, 0xE8, 0x7C, 0x8C, 0x20, 0x30, 0x7C, 0x8C, 0x38, 0x48, 0x7C, 0x8C, 0x50, 0x60
|
|
.byte 0x7C, 0x8C, 0x68, 0x78, 0x7C, 0x8C, 0x80, 0x90, 0x7C, 0x8C, 0x98, 0xA8, 0x7C, 0x8C, 0xB0, 0xC0
|
|
.byte 0x7C, 0x8C, 0xC8, 0xD8, 0x40, 0x68, 0xC0, 0xE8, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7F3C: ; 0x021F7F3C
|
|
.byte 0x1A, 0x00, 0x1D, 0x00
|
|
.byte 0x2D, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7F44: ; 0x021F7F44
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F7F54: ; 0x021F7F54
|
|
.byte 0x05, 0x01, 0x08, 0x05, 0x03, 0x01, 0xF0, 0x03, 0x05, 0x03, 0x0B, 0x0C
|
|
.byte 0x02, 0x01, 0xD8, 0x03, 0x05, 0x01, 0x0E, 0x1C, 0x04, 0x01, 0x68, 0x03, 0x05, 0x05, 0x12, 0x0B
|
|
.byte 0x05, 0x01, 0x31, 0x03, 0x05, 0x12, 0x12, 0x0B, 0x05, 0x01, 0xFA, 0x02, 0x05, 0x05, 0x14, 0x0B
|
|
.byte 0x02, 0x01, 0xE4, 0x02, 0x05, 0x12, 0x16, 0x0B, 0x02, 0x01, 0xCE, 0x02, 0x00, 0x00, 0x15, 0x19
|
|
.byte 0x02, 0x0A, 0x5C, 0x00, 0x00, 0x19, 0x15, 0x06, 0x02, 0x0A, 0x8E, 0x00
|
|
|
|
ov101_021F7F9C: ; 0x021F7F9C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x02
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x1A, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x01, 0x16, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x02
|
|
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1C, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F807C: ; 0x021F807C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F80A4: ; 0x021F80A4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x90, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F80CC: ; 0x021F80CC
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F80F4: ; 0x021F80F4
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x60, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F811C: ; 0x021F811C
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x00, 0x60, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F81E4: ; 0x021F81E4
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F820C: ; 0x021F820C
|
|
.byte 0x00, 0x00, 0x02, 0x01
|
|
.byte 0x03, 0x03, 0x30, 0x2C, 0xEA, 0x16, 0xEE, 0x12, 0x01, 0x00, 0x00, 0x02, 0x04, 0x04, 0x80, 0x2C
|
|
.byte 0xEA, 0x16, 0xEE, 0x12, 0x02, 0x00, 0x01, 0x00, 0x05, 0x05, 0xD0, 0x2C, 0xEA, 0x16, 0xEE, 0x12
|
|
.byte 0x03, 0x00, 0x05, 0x04, 0x00, 0x00, 0x30, 0x74, 0xEA, 0x16, 0xEE, 0x12, 0x04, 0x00, 0x03, 0x05
|
|
.byte 0x01, 0x01, 0x80, 0x74, 0xEA, 0x16, 0xEE, 0x12, 0x05, 0x00, 0x04, 0x03, 0x02, 0x02, 0xD0, 0x74
|
|
.byte 0xEA, 0x16, 0xEE, 0x12
|
|
|
|
ov101_021F8254: ; 0x021F8254
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1D, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00
|
|
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F82FC: ; 0x021F82FC
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F83C4: ; 0x021F83C4
|
|
.byte 0x03, 0x00, 0x01, 0x0A, 0x01, 0x01, 0x1C, 0x00, 0x01, 0x00, 0x40, 0x00
|
|
|
|
ov101_021F83D0: ; 0x021F83D0
|
|
.byte 0x0A
|
|
|
|
ov101_021F83D1: ; 0x021F83D1
|
|
.byte 0x02
|
|
|
|
ov101_021F83D2: ; 0x021F83D2
|
|
.byte 0x00, 0x14, 0x02, 0x00, 0x16, 0x02, 0x02, 0x0A, 0x0B, 0x00, 0x14, 0x0B, 0x00, 0x16
|
|
.byte 0x0B, 0x02, 0x00, 0x00
|
|
|
|
ov101_021F83E4: ; 0x021F83E4
|
|
.byte 0x18, 0x40, 0x18, 0x48, 0x18, 0x40, 0x68, 0x98, 0x18, 0x40, 0xB8, 0xE8
|
|
.byte 0x60, 0x88, 0x18, 0x48, 0x60, 0x88, 0x68, 0x98, 0x60, 0x88, 0xB8, 0xE8, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8400: ; 0x021F8400
|
|
.byte 0x88, 0xB8, 0x08, 0xF8
|
|
|
|
ov101_021F8404: ; 0x021F8404
|
|
.byte 0x83, 0x00
|
|
|
|
ov101_021F8406: ; 0x021F8406
|
|
.byte 0x0D
|
|
|
|
ov101_021F8407: ; 0x021F8407
|
|
.byte 0x09, 0x85, 0x03, 0x0D, 0x03, 0xB2, 0x08, 0x07, 0x0B
|
|
.byte 0xB2, 0x0A, 0x07, 0x0B, 0xB3, 0x0C, 0x07, 0x09, 0xB2, 0x0F, 0x07, 0x0B, 0x82, 0x12, 0x0D, 0x0B
|
|
|
|
ov101_021F8420: ; 0x021F8420
|
|
.byte 0x06, 0x02, 0x13, 0x1B, 0x04, 0x01, 0x75, 0x03, 0x06, 0x04, 0x10, 0x09, 0x02, 0x01, 0x63, 0x03
|
|
.byte 0x03, 0x01, 0x02, 0x1B, 0x18, 0x02, 0x77, 0x01, 0x01, 0x00, 0x15, 0x20, 0x02, 0x0A, 0xBF, 0x03
|
|
|
|
ov101_021F8440: ; 0x021F8440
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00
|
|
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x04, 0x00, 0x03, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00
|
|
.byte 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F84E8: ; 0x021F84E8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x08, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x9C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F85D8: ; 0x021F85D8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x00, 0x01, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8600: ; 0x021F8600
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8628: ; 0x021F8628
|
|
.byte 0x03, 0x00, 0x01, 0x0D, 0x00, 0x00, 0x04, 0x03
|
|
.byte 0xA4, 0x03, 0xA0, 0x00
|
|
|
|
ov101_021F8634: ; 0x021F8634
|
|
.byte 0x08, 0x20, 0x08, 0xE0, 0x20, 0x38, 0x08, 0xE0, 0x38, 0x50, 0x08, 0xE0
|
|
.byte 0x50, 0x68, 0x08, 0xE0, 0x68, 0x80, 0x08, 0xE0, 0x80, 0x98, 0x08, 0xE0, 0x08, 0x50, 0xE0, 0xF8
|
|
.byte 0x50, 0x98, 0xE0, 0xF8, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8658: ; 0x021F8658
|
|
.byte 0x08, 0x18, 0x04, 0x24, 0x20, 0x30, 0x04, 0x24
|
|
.byte 0x38, 0x48, 0x04, 0x24, 0x50, 0x60, 0x04, 0x24, 0x68, 0x78, 0x04, 0x24, 0x80, 0x90, 0x04, 0x24
|
|
.byte 0x08, 0x50, 0xE0, 0xF8, 0x50, 0x98, 0xE0, 0xF8, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F867C: ; 0x021F867C
|
|
.word ov101_021F2680
|
|
.word ov101_021F2F50
|
|
.word ov101_021F2FFC
|
|
.word ov101_021F35EC
|
|
.word GearPhoneCall_Mom
|
|
.word ov101_021F313C
|
|
.word ov101_021F38FC
|
|
.word ov101_021F3798
|
|
.word ov101_021F3B20
|
|
.word ov101_021F3BA0
|
|
.word ov101_021F3CC0
|
|
.word ov101_021F3DC8
|
|
.word ov101_021F3448
|
|
.word ov101_021F3F10
|
|
.word ov101_021F4064
|
|
.word ov101_021F41B8
|
|
|
|
ov101_021F86BC: ; 0x021F86BC
|
|
.byte 0x00
|
|
|
|
ov101_021F86BD: ; 0x021F86BD
|
|
.byte 0x02, 0x00, 0x03
|
|
.byte 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x00
|
|
|
|
ov101_021F86C8: ; 0x021F86C8
|
|
.byte 0x66, 0x00, 0x65, 0x00
|
|
|
|
ov101_021F86CC: ; 0x021F86CC
|
|
.byte 0x09, 0x00, 0x0A, 0x00
|
|
.byte 0x0B, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x10, 0x00, 0x11, 0x00, 0x12, 0x00
|
|
.byte 0x13, 0x00, 0x14, 0x00, 0x15, 0x00, 0x16, 0x00, 0x17, 0x00, 0x18, 0x00, 0x19, 0x00, 0x1A, 0x00
|
|
.byte 0x5B, 0x00, 0x5C, 0x00, 0x5D, 0x00, 0x1B, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00
|
|
.byte 0x20, 0x00, 0x21, 0x00, 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00
|
|
.byte 0x28, 0x00, 0x29, 0x00, 0x2A, 0x00, 0x2B, 0x00, 0x5E, 0x00, 0x5F, 0x00, 0x2C, 0x00, 0x2D, 0x00
|
|
.byte 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x97, 0x00, 0x98, 0x00, 0x31, 0x00, 0x32, 0x00, 0x33, 0x00
|
|
.byte 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00
|
|
.byte 0x3C, 0x00, 0x43, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x4E, 0x00
|
|
.byte 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x60, 0x00, 0x71, 0x00, 0xAE, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8760: ; 0x021F8760
|
|
.byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03
|
|
.byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03
|
|
.byte 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
|
|
; file boundary
|
|
|
|
ov101_021F87AC: ; 0x021F87AC
|
|
.byte 0x05, 0x11, 0x00, 0x00
|
|
|
|
ov101_021F87B0:
|
|
.byte 0x3B, 0x01, 0x43, 0x01, 0xEA, 0x01, 0xEB, 0x01, 0xEC, 0x01
|
|
|
|
ov101_021F87BA:
|
|
.byte 0x57, 0x00, 0x85, 0x00, 0x8C, 0x00
|
|
.byte 0x8C, 0x01, 0x8D, 0x01, 0xF6, 0x00, 0x70, 0x01, 0x74, 0x00, 0xF7, 0x00, 0xF8, 0x00, 0xF9, 0x00
|
|
.byte 0x2D, 0x00, 0x8E, 0x00, 0xF5, 0x00, 0x58, 0x00, 0x26, 0x01, 0x27, 0x01
|
|
|
|
ov101_021F87DC: ; 0x021F87DC
|
|
.byte 0x06, 0x02, 0x13, 0x1C
|
|
.byte 0x04, 0x00, 0x8F, 0x03, 0x06, 0x04, 0x10, 0x0E, 0x02, 0x00, 0x73, 0x03, 0x01, 0x05, 0x01, 0x16
|
|
.byte 0x02, 0x00, 0xD3, 0x03
|
|
|
|
ov101_021F87F4: ; 0x021F87F4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1D, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00
|
|
.byte 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F889C: ; 0x021F889C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
; file boundary
|
|
|
|
ov101_021F8964:
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8968: ; 0x021F8968
|
|
.byte 0xFE, 0x80, 0x5C, 0x34
|
|
|
|
ov101_021F896C:
|
|
.byte 0xFE, 0x80, 0x5C, 0x26
|
|
.byte 0xFE, 0x80, 0x5C, 0x34, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8978:
|
|
.byte 0xFE, 0x80, 0x5C, 0x04, 0xFE, 0x80, 0x5C, 0x10
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8984: ; 0x021F8984
|
|
.byte 0x30, 0x4C, 0x10, 0x30, 0x30, 0x4C, 0xD0, 0xF0, 0x70, 0x8C, 0x10, 0x30
|
|
.byte 0x70, 0x8C, 0xD0, 0xF0, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8998:
|
|
.byte 0xFE, 0x70, 0x4C, 0x04, 0xFE, 0x70, 0x4C, 0x10
|
|
.byte 0xFE, 0x98, 0x4C, 0x04, 0xFE, 0x98, 0x4C, 0x14, 0xFE, 0x60, 0x6C, 0x04, 0xFE, 0x60, 0x6C, 0x10
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F89B4:
|
|
.byte 0xFE, 0x70, 0x4C, 0x04, 0xFE, 0x70, 0x4C, 0x10, 0xFE, 0x98, 0x4C, 0x04
|
|
.byte 0xFE, 0x98, 0x4C, 0x14, 0xFE, 0x60, 0x6C, 0x04, 0xFE, 0x60, 0x6C, 0x10, 0xFE, 0x88, 0x74, 0x04
|
|
.byte 0xFE, 0x88, 0x74, 0x14, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F89D8:
|
|
.byte 0xFE, 0x70, 0x4C, 0x04, 0xFE, 0x70, 0x4C, 0x10
|
|
.byte 0xFE, 0x98, 0x4C, 0x04, 0xFE, 0x98, 0x4C, 0x14, 0xFE, 0x60, 0x6C, 0x04, 0xFE, 0x60, 0x6C, 0x10
|
|
.byte 0xFE, 0x88, 0x74, 0x04, 0xFE, 0x88, 0x74, 0x14, 0xFE, 0x80, 0x30, 0x04, 0xFE, 0x80, 0x30, 0x08
|
|
.byte 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8A04: ; 0x021F8A04
|
|
.word RadioShow_PokemonMusic_setup, RadioShow_PokemonMusic_print, RadioShow_PokemonMusic_teardown ; RADIO_STATION_POKEMON_MUSIC
|
|
.word RadioShow_PokemonTalk_setup, RadioShow_PokemonTalk_print, RadioShow_PokemonTalk_teardown ; RADIO_STATION_POKEMON_TALK
|
|
.word RadioShow_PokemonSearchParty_setup, RadioShow_PokemonSearchParty_print, RadioShow_PokemonSearchParty_teardown ; RADIO_STATION_POKEMON_SEARCH_PARTY
|
|
.word RadioShow_SerialRadioDrama_setup, RadioShow_SerialRadioDrama_print, RadioShow_SerialRadioDrama_teardown ; RADIO_STATION_SERIAL_RADIO_DRAMA
|
|
.word RadioShow_BuenasPassword_setup, RadioShow_BuenasPassword_print, RadioShow_BuenasPassword_teardown ; RADIO_STATION_BUENAS_PASSWORD
|
|
.word RadioShow_TrainerProfiles_setup, RadioShow_TrainerProfiles_print, RadioShow_TrainerProfiles_teardown ; RADIO_STATION_TRAINER_PROFILES
|
|
.word RadioShow_ThatTownThesePeople_setup, RadioShow_ThatTownThesePeople_print, RadioShow_ThatTownThesePeople_teardown ; RADIO_STATION_THAT_TOWN_THESE_PEOPLE
|
|
.word RadioShow_PokeFlute_setup, RadioShow_PokeFlute_print, RadioShow_PokeFlute_teardown ; RADIO_STATION_POKE_FLUTE
|
|
.word RadioShow_Unown_setup, RadioShow_Unown_print, RadioShow_Unown_teardown ; RADIO_STATION_UNOWN
|
|
.word RadioShow_TeamRocket_setup, RadioShow_TeamRocket_print, RadioShow_TeamRocket_teardown ; RADIO_STATION_TEAM_ROCKET
|
|
.word RadioShow_MahoganySignal_setup, RadioShow_MahoganySignal_print, RadioShow_MahoganySignal_teardown ; RADIO_STATION_MAHOGANY_SIGNAL
|
|
.word RadioShow_Commercials_setup, RadioShow_Commercials_print, RadioShow_Commercials_teardown ; RADIO_STATION_COMMERCIALS
|
|
; file boundary
|
|
ov101_021F8A94:
|
|
.short SEQ_GS_RADIO_MARCH, SEQ_GS_RADIO_KOMORIUTA, SEQ_GS_RADIO_R_101, SEQ_GS_RADIO_R_201
|
|
ov101_021F8A9C:
|
|
.short SEQ_GS_P_TITLE, SEQ_GS_P_OPENING_TITLE_G, SEQ_GS_P_ENDING, SEQ_GS_P_ENDING2
|
|
ov101_021F8AA4:
|
|
.byte 0x1A, 0x05, 0x25, 0x05, 0x26, 0x05, 0x27, 0x05, 0x28, 0x05, 0x29, 0x05
|
|
.byte 0x2A, 0x05, 0x2B, 0x05, 0x2C, 0x05, 0x2D, 0x05, 0x2E, 0x05, 0x2F, 0x05, 0x34, 0x05, 0x24, 0x05
|
|
.byte 0x1E, 0x05, 0x23, 0x05, 0x20, 0x05, 0x1F, 0x05, 0x22, 0x05, 0xC6, 0x04, 0xFF, 0x04, 0x00, 0x00
|
|
|
|
ov101_021F8AD0: ; 0x021F8AD0
|
|
.byte 0x00, 0x03, 0xFF, 0x00, 0x03, 0xFF, 0x00, 0x03, 0xFF, 0x00, 0x03, 0xFF, 0x00, 0x03, 0xFF, 0x00
|
|
.byte 0x01, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x03, 0x02, 0x00, 0x03
|
|
.byte 0x02, 0x01, 0x03, 0xFF, 0x01, 0x03, 0xFF, 0x01, 0x03, 0xFF, 0x01, 0x03, 0xFF, 0x02, 0x01, 0x03
|
|
.byte 0x02, 0x01, 0x03, 0x02, 0x01, 0x03, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x03, 0x02, 0x03
|
|
.byte 0x03, 0x02, 0x03, 0x01, 0x03, 0x04, 0x03, 0x01, 0x04, 0x03, 0x01, 0x04, 0x03, 0x01, 0x04, 0x03
|
|
.byte 0x01, 0x04, 0x03, 0x01, 0x04, 0x03, 0x01, 0x05, 0x03, 0x03, 0x06, 0x02, 0x03, 0x06, 0x02, 0x03
|
|
.byte 0x06, 0x02, 0x03, 0x06, 0x02, 0x03, 0x06, 0x02, 0x03, 0x07, 0x03, 0x03
|
|
|
|
ov101_021F8B3C: ; 0x021F8B3C
|
|
.byte 0x00, 0x00, 0x01, 0x02
|
|
.byte 0x03, 0x04, 0x05, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F8B4C: ; 0x021F8B4C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04
|
|
|
|
ov101_021F8B60: ; 0x021F8B60
|
|
.byte 0xC1, 0x01, 0x01, 0x02, 0xE7, 0x01, 0x3B, 0x01, 0xEA, 0x01, 0xEB, 0x01, 0xEC, 0x01, 0xED, 0x00
|
|
.byte 0xEE, 0x00, 0xEF, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0x2A, 0x01, 0x65, 0x01
|
|
|
|
ov101_021F8B7C: ; 0x021F8B7C
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x21, 0x22, 0x00, 0x00, 0x00, 0x00, 0x23, 0x24
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x25, 0x26, 0x00, 0x00, 0x00, 0x00, 0x27, 0x28, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x29, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x2B, 0x2C, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0E, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0F, 0x10, 0x00, 0x00, 0x00, 0x00, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x13, 0x14, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x15, 0x16, 0x00, 0x00, 0x00, 0x00, 0x17, 0x18, 0x00, 0x00, 0x00, 0x00, 0x19, 0x1A
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1B, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1E, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x1D
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x16, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00
|
|
.byte 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D
|
|
.byte 0x14, 0x00, 0x95, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x10, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x13, 0x13, 0x13, 0x00, 0x00, 0x00, 0x14, 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
|
|
.byte 0x95, 0x00, 0x17, 0x00, 0x16, 0x16, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x12, 0x00, 0x89, 0x09
|
|
.byte 0x04, 0x04, 0x12, 0x00, 0x8A, 0x09, 0x05, 0x05, 0x12, 0x00, 0x8B, 0x09, 0x06, 0x06, 0x12, 0x00
|
|
.byte 0x8C, 0x09, 0x07, 0x07, 0x12, 0x00, 0x8D, 0x09, 0x08, 0x08, 0x12, 0x00, 0x8E, 0x09, 0x09, 0x09
|
|
.byte 0x12, 0x00, 0x8F, 0x09, 0x0A, 0x0A, 0x12, 0x00, 0x90, 0x09, 0x0B, 0x0B, 0x12, 0x00, 0x91, 0x09
|
|
.byte 0x16, 0x17, 0x00, 0x00, 0x00, 0x00, 0x18, 0x19, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1A, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x1B, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x12, 0x00, 0x84, 0x09
|
|
.byte 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0B, 0x12, 0x00, 0x85, 0x09
|
|
.byte 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x12, 0x00, 0x92, 0x09, 0x0D, 0x0D, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0E
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x17, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x14, 0x14, 0x13, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x15, 0x15, 0x00, 0x00, 0x00, 0x00, 0x16, 0x16, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x15, 0x15, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x16, 0x16, 0x00, 0x00, 0x00, 0x00, 0x17, 0x17, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x08, 0x08, 0x13, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x1B
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x20, 0x21, 0x00, 0x00, 0x00, 0x00, 0x22, 0x23, 0x00, 0x00, 0x00, 0x00, 0x24, 0x25, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x26, 0x27, 0x00, 0x00, 0x00, 0x00, 0x28, 0x29, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x09, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0F, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x12, 0x13, 0x00, 0x00, 0x00, 0x00, 0x14, 0x15
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x16, 0x17, 0x00, 0x00, 0x00, 0x00, 0x18, 0x19, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x1A, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x1F, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x20, 0x21, 0x00, 0x00, 0x00, 0x00, 0x22, 0x23, 0x00, 0x00, 0x00, 0x00, 0x24, 0x25
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x26, 0x26, 0x00, 0x00, 0x00, 0x00, 0x27, 0x27, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x28, 0x28, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00
|
|
.byte 0x00, 0x00, 0x0B, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0C, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x14, 0x00
|
|
.byte 0x5C, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0E, 0x0E, 0x14, 0x00, 0x5B, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0D, 0x0D, 0x14, 0x00, 0x55, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x14, 0x00, 0x52, 0x00, 0x0D, 0x0D
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x14, 0x00, 0x53, 0x00, 0x0D, 0x0D
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x14, 0x00
|
|
.byte 0x5C, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0C, 0x0C, 0x14, 0x00, 0x54, 0x00, 0x0D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x0B, 0x13, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x07, 0x08, 0x65, 0x00
|
|
.byte 0x10, 0x00, 0x0D, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x0E, 0x14, 0x00, 0x3F, 0x00, 0x0F, 0x0F
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x14, 0x00, 0x04, 0x00, 0x0D, 0x0D
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00
|
|
.byte 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x14, 0x00
|
|
.byte 0x95, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0D, 0x0D, 0x14, 0x00, 0x95, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x0D, 0x14, 0x00, 0x50, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x14, 0x00, 0x6B, 0x00, 0x0E, 0x0E, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x13, 0x00, 0x00, 0x00, 0x12, 0x12
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x13, 0x13, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x14, 0x00, 0x6E, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x14, 0x00, 0x6C, 0x00
|
|
.byte 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0D, 0x0D, 0x14, 0x00, 0x6D, 0x00, 0x0E, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x05, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x09, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov101_021F962C: ; 0x021F962C
|
|
.byte 0x00, 0x01, 0x02, 0x03
|
|
.byte 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13
|
|
.byte 0x14, 0x15, 0x16, 0x17, 0x48, 0x48, 0x49, 0x49, 0x4A, 0x4A, 0x48, 0x48, 0x49, 0x49, 0x4A, 0x4A
|
|
.byte 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D, 0x4B, 0x4B, 0x4C, 0x4C, 0x4D, 0x4D, 0x18, 0x19, 0x1A, 0x1B
|
|
.byte 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B
|
|
.byte 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B
|
|
.byte 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47
|
|
|
|
ov101_021F968C: ; 0x021F968C
|
|
.byte 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x22, 0x00, 0x03, 0x64, 0x00, 0x00, 0x21, 0x00, 0x01, 0x64, 0x01, 0x00, 0x23, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3C, 0x00, 0x00
|
|
.byte 0x21, 0x00, 0x01, 0x28, 0x01, 0x00, 0x1E, 0x00, 0x01, 0x28, 0x01, 0x00, 0x1F, 0x00, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x20, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x33, 0x00, 0x03, 0x64, 0x00, 0x00, 0x32, 0x00, 0x01, 0x64, 0x00, 0x00, 0x34, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x00, 0x00
|
|
.byte 0x32, 0x00, 0x01, 0x28, 0x01, 0x00, 0x2F, 0x00, 0x01, 0x28, 0x01, 0x00, 0x30, 0x00, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x31, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x3A, 0x00, 0x03, 0x64, 0x00, 0x00, 0x39, 0x00, 0x01, 0x1E, 0x01, 0x00, 0x3C, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x19, 0x00, 0x00
|
|
.byte 0x38, 0x00, 0x02, 0x19, 0x00, 0x00, 0x39, 0x00, 0x01, 0x64, 0x02, 0x00, 0x3B, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x29, 0x00, 0x08, 0x64, 0x00, 0x00, 0x2C, 0x00, 0x03, 0x64, 0x00, 0x00, 0x28, 0x00, 0x04, 0x64
|
|
.byte 0x00, 0x00, 0x2D, 0x00, 0x01, 0x64, 0x00, 0x00, 0x2A, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x64, 0x00, 0x00
|
|
.byte 0x2C, 0x00, 0x07, 0x64, 0x00, 0x00, 0x29, 0x00, 0x02, 0x32, 0x00, 0x00, 0x2B, 0x00, 0x02, 0x32
|
|
.byte 0x00, 0x00, 0x28, 0x00, 0x01, 0x28, 0x01, 0x00, 0x26, 0x00, 0x01, 0x28, 0x01, 0x00, 0x27, 0x00
|
|
.byte 0x01, 0x64, 0x01, 0x00, 0x25, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x42, 0x00, 0x03, 0x64, 0x00, 0x00, 0x41, 0x00, 0x01, 0x64, 0x00, 0x00, 0x43, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x00, 0x00
|
|
.byte 0x41, 0x00, 0x01, 0x28, 0x01, 0x00, 0x3E, 0x00, 0x01, 0x28, 0x01, 0x00, 0x3F, 0x00, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x40, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x6E, 0x00, 0x03, 0x64, 0x00, 0x00, 0x6D, 0x00, 0x01, 0x64, 0x00, 0x00, 0x6F, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x19, 0x00, 0x00
|
|
.byte 0x6D, 0x00, 0x01, 0x64, 0x02, 0x00, 0x6C, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x76, 0x00, 0x03, 0x64, 0x00, 0x00, 0x74, 0x00, 0x01, 0x64, 0x00, 0x00, 0x77, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x19, 0x00, 0x00
|
|
.byte 0x74, 0x00, 0x01, 0x64, 0x02, 0x00, 0x75, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x7E, 0x00, 0x03, 0x64, 0x00, 0x00, 0x7D, 0x00, 0x01, 0x64, 0x00, 0x00, 0x7F, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x19, 0x00, 0x00
|
|
.byte 0x7D, 0x00, 0x01, 0x64, 0x02, 0x00, 0x7C, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x84, 0x00, 0x03, 0x64, 0x00, 0x00, 0x83, 0x00, 0x01, 0x64, 0x00, 0x00, 0x85, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x00, 0x00
|
|
.byte 0x83, 0x00, 0x01, 0x32, 0x01, 0x00, 0x81, 0x00, 0x01, 0x64, 0x01, 0x00, 0x82, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x8A, 0x00, 0x03, 0x64, 0x00, 0x00, 0x89, 0x00, 0x01, 0x64, 0x00, 0x00, 0x8B, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x00, 0x00
|
|
.byte 0x89, 0x00, 0x01, 0x32, 0x01, 0x00, 0x87, 0x00, 0x01, 0x64, 0x01, 0x00, 0x88, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xC2, 0x00, 0x03, 0x64, 0x00, 0x00, 0xC1, 0x00, 0x01, 0x64, 0x00, 0x00, 0xC3, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3C, 0x00, 0x00
|
|
.byte 0xC1, 0x00, 0x01, 0x32, 0x01, 0x00, 0xBF, 0x00, 0x01, 0x64, 0x01, 0x00, 0xC0, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xC9, 0x00, 0x03, 0x64, 0x00, 0x00, 0xC8, 0x00, 0x01, 0x64, 0x00, 0x00, 0xCA, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x00, 0x00
|
|
.byte 0xC8, 0x00, 0x01, 0x28, 0x01, 0x00, 0xC5, 0x00, 0x01, 0x28, 0x01, 0x00, 0xC6, 0x00, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0xC7, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xD0, 0x00, 0x03, 0x64, 0x00, 0x00, 0xCF, 0x00, 0x01, 0x64, 0x00, 0x00, 0xD1, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x00, 0x00
|
|
.byte 0xCF, 0x00, 0x01, 0x28, 0x01, 0x00, 0xCC, 0x00, 0x01, 0x28, 0x01, 0x00, 0xCD, 0x00, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0xCE, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xD7, 0x00, 0x03, 0x64, 0x00, 0x00, 0xD6, 0x00, 0x01, 0x64, 0x00, 0x00, 0xD8, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x00, 0x00
|
|
.byte 0xD6, 0x00, 0x01, 0x1E, 0x01, 0x00, 0xD3, 0x00, 0x01, 0x1E, 0x01, 0x00, 0xD4, 0x00, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0xD5, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xDD, 0x00, 0x03, 0x64, 0x00, 0x00, 0xDC, 0x00, 0x01, 0x64, 0x00, 0x00, 0xDE, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3C, 0x00, 0x00
|
|
.byte 0xDC, 0x00, 0x01, 0x32, 0x01, 0x00, 0xDA, 0x00, 0x01, 0x64, 0x01, 0x00, 0xDB, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xE3, 0x00, 0x03, 0x32, 0x00, 0x00, 0xE2, 0x00, 0x01, 0x64, 0x00, 0x00, 0xE4, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3C, 0x00, 0x00
|
|
.byte 0xE2, 0x00, 0x01, 0x32, 0x01, 0x00, 0xE0, 0x00, 0x01, 0x64, 0x01, 0x00, 0xE1, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xEA, 0x00, 0x03, 0x32, 0x00, 0x00, 0xE9, 0x00, 0x01, 0x64, 0x00, 0x00, 0xEB, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x3C, 0x00, 0x00
|
|
.byte 0xE9, 0x00, 0x01, 0x28, 0x01, 0x00, 0xE7, 0x00, 0x01, 0x28, 0x01, 0x00, 0xE8, 0x00, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0xE6, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x64, 0x00, 0x00
|
|
.byte 0xF1, 0x00, 0x01, 0x64, 0x00, 0x00, 0xEF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x19, 0x00, 0x00
|
|
.byte 0xF0, 0x00, 0x01, 0x32, 0x01, 0x00, 0xED, 0x00, 0x01, 0x64, 0x01, 0x00, 0xEE, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xF7, 0x00, 0x08, 0x64, 0x00, 0x00, 0xFA, 0x00, 0x03, 0x64, 0x00, 0x00, 0xF6, 0x00, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0xF8, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xF7, 0x00, 0x08, 0x64, 0x00, 0x00, 0xFA, 0x00, 0x02, 0x1E, 0x00, 0x00, 0xF9, 0x00, 0x02, 0x1E
|
|
.byte 0x00, 0x00, 0xF6, 0x00, 0x01, 0x1E, 0x01, 0x00, 0xF4, 0x00, 0x01, 0x1E, 0x01, 0x00, 0xF5, 0x00
|
|
.byte 0x01, 0x64, 0x01, 0x00, 0xF3, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x64, 0x00, 0x00
|
|
.byte 0x03, 0x01, 0x07, 0x64, 0x00, 0x00, 0xFF, 0x00, 0x08, 0x64, 0x00, 0x00, 0x02, 0x01, 0x03, 0x64
|
|
.byte 0x00, 0x00, 0xFE, 0x00, 0x01, 0x64, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x64, 0x00, 0x00
|
|
.byte 0x03, 0x01, 0x07, 0x64, 0x00, 0x00, 0xFF, 0x00, 0x08, 0x64, 0x00, 0x00, 0x02, 0x01, 0x02, 0x1E
|
|
.byte 0x00, 0x00, 0xFE, 0x00, 0x02, 0x0A, 0x00, 0x00, 0x01, 0x01, 0x01, 0x32, 0x01, 0x00, 0xFC, 0x00
|
|
.byte 0x01, 0x64, 0x01, 0x00, 0xFD, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x08, 0x01, 0x08, 0x64, 0x00, 0x00, 0x0B, 0x01, 0x03, 0x64, 0x00, 0x00, 0x07, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x09, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0A, 0x00, 0x00
|
|
.byte 0x0A, 0x01, 0x02, 0x1E, 0x00, 0x00, 0x07, 0x01, 0x01, 0x32, 0x01, 0x00, 0x06, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x05, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x10, 0x01, 0x08, 0x64, 0x00, 0x00, 0x13, 0x01, 0x03, 0x64, 0x00, 0x00, 0x0F, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x11, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0A, 0x00, 0x00
|
|
.byte 0x12, 0x01, 0x02, 0x1E, 0x00, 0x00, 0x0F, 0x01, 0x07, 0x64, 0x00, 0x00, 0x10, 0x01, 0x08, 0x64
|
|
.byte 0x00, 0x00, 0x13, 0x01, 0x01, 0x32, 0x01, 0x00, 0x0D, 0x01, 0x01, 0x64, 0x01, 0x00, 0x0E, 0x01
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x64, 0x00, 0x00
|
|
.byte 0x19, 0x01, 0x04, 0x64, 0x00, 0x00, 0x1A, 0x01, 0x01, 0x64, 0x00, 0x00, 0x17, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x19, 0x00, 0x00
|
|
.byte 0x18, 0x01, 0x04, 0x64, 0x00, 0x00, 0x1A, 0x01, 0x01, 0x32, 0x01, 0x00, 0x15, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x16, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x1F, 0x01, 0x08, 0x64, 0x00, 0x00, 0x22, 0x01, 0x03, 0x64, 0x00, 0x00, 0x1E, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x20, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x1E, 0x01, 0x02, 0x0A, 0x00, 0x00, 0x21, 0x01, 0x01, 0x32, 0x01, 0x00, 0x1C, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x1D, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x64, 0x00, 0x00
|
|
.byte 0x2B, 0x01, 0x07, 0x64, 0x00, 0x00, 0x27, 0x01, 0x03, 0x64, 0x00, 0x00, 0x26, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x29, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x19, 0x00, 0x00
|
|
.byte 0x28, 0x01, 0x02, 0x1E, 0x00, 0x00, 0x26, 0x01, 0x02, 0x0A, 0x00, 0x00, 0x2A, 0x01, 0x01, 0x32
|
|
.byte 0x01, 0x00, 0x24, 0x01, 0x01, 0x64, 0x01, 0x00, 0x25, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x30, 0x01, 0x08, 0x64, 0x00, 0x00, 0x33, 0x01, 0x03, 0x64, 0x00, 0x00, 0x2F, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x31, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x32, 0x00, 0x00
|
|
.byte 0x2F, 0x01, 0x02, 0x32, 0x00, 0x00, 0x32, 0x01, 0x01, 0x32, 0x01, 0x00, 0x2D, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x2E, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x39, 0x01, 0x03, 0x64, 0x00, 0x00, 0x38, 0x01, 0x01, 0x64, 0x00, 0x00, 0x3A, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x38, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x35, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x36, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x37, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x40, 0x01, 0x03, 0x64, 0x00, 0x00, 0x3F, 0x01, 0x01, 0x64, 0x00, 0x00, 0x41, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x3F, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x3C, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x3D, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x3E, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x47, 0x01, 0x03, 0x64, 0x00, 0x00, 0x46, 0x01, 0x04, 0x64, 0x00, 0x00, 0x49, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x48, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x32, 0x00, 0x00
|
|
.byte 0x49, 0x01, 0x02, 0x1E, 0x00, 0x00, 0x46, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x43, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0x44, 0x01, 0x01, 0x64, 0x01, 0x00, 0x45, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x4F, 0x01, 0x03, 0x64, 0x00, 0x00, 0x4E, 0x01, 0x01, 0x64, 0x00, 0x00, 0x50, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x4E, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x4B, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x4C, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x4D, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x56, 0x01, 0x08, 0x64, 0x00, 0x00, 0x59, 0x01, 0x03, 0x64, 0x00, 0x00, 0x55, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x57, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x55, 0x01, 0x02, 0x32, 0x00, 0x00, 0x58, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x52, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0x53, 0x01, 0x01, 0x64, 0x01, 0x00, 0x54, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x5F, 0x01, 0x08, 0x64, 0x00, 0x00, 0x62, 0x01, 0x03, 0x64, 0x00, 0x00, 0x5E, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x60, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x5E, 0x01, 0x02, 0x32, 0x00, 0x00, 0x61, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x5B, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0x5C, 0x01, 0x01, 0x64, 0x01, 0x00, 0x5D, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x68, 0x01, 0x03, 0x64, 0x00, 0x00, 0x67, 0x01, 0x01, 0x64, 0x00, 0x00, 0x69, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x67, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x64, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x65, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x66, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x6F, 0x01, 0x03, 0x64, 0x00, 0x00, 0x6E, 0x01, 0x01, 0x64, 0x00, 0x00, 0x70, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x6E, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x6B, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x6C, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x6D, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x76, 0x01, 0x03, 0x64, 0x00, 0x00, 0x75, 0x01, 0x01, 0x64, 0x00, 0x00, 0x77, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x75, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x72, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x73, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x74, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x7D, 0x01, 0x03, 0x64, 0x00, 0x00, 0x7C, 0x01, 0x01, 0x64, 0x00, 0x00, 0x7E, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x7C, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x79, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x7A, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x7B, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x64, 0x00, 0x00
|
|
.byte 0x87, 0x01, 0x07, 0x64, 0x00, 0x00, 0x84, 0x01, 0x03, 0x64, 0x00, 0x00, 0x83, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x85, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x83, 0x01, 0x02, 0x0A, 0x00, 0x00, 0x86, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x80, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0x81, 0x01, 0x01, 0x64, 0x01, 0x00, 0x82, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x64, 0x00, 0x00
|
|
.byte 0x90, 0x01, 0x07, 0x64, 0x00, 0x00, 0x8D, 0x01, 0x03, 0x64, 0x00, 0x00, 0x8C, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0x8E, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x8C, 0x01, 0x02, 0x0A, 0x00, 0x00, 0x8F, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x89, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0x8A, 0x01, 0x01, 0x64, 0x01, 0x00, 0x8B, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x96, 0x01, 0x03, 0x64, 0x00, 0x00, 0x95, 0x01, 0x01, 0x64, 0x00, 0x00, 0x97, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0x95, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x92, 0x01, 0x01, 0x1E, 0x01, 0x00, 0x93, 0x01, 0x01, 0x64
|
|
.byte 0x01, 0x00, 0x94, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0x9E, 0x01, 0x03, 0x64, 0x00, 0x00, 0x9D, 0x01, 0x01, 0x64, 0x00, 0x00, 0x9F, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x19, 0x00, 0x00
|
|
.byte 0x99, 0x01, 0x02, 0x1E, 0x00, 0x00, 0x9D, 0x01, 0x01, 0x14, 0x01, 0x00, 0x9A, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0x9B, 0x01, 0x01, 0x64, 0x01, 0x00, 0x9C, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xA3, 0x01, 0x03, 0x64, 0x00, 0x00, 0xA2, 0x01, 0x01, 0x14, 0x00, 0x00, 0xA4, 0x01, 0x01, 0x64
|
|
.byte 0x02, 0x00, 0xA1, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0xA2, 0x01, 0x01, 0x64, 0x02, 0x00, 0xA1, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xAA, 0x01, 0x08, 0x64, 0x00, 0x00, 0xAD, 0x01, 0x03, 0x64, 0x00, 0x00, 0xA9, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0xAB, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0A, 0x00, 0x00
|
|
.byte 0xAC, 0x01, 0x02, 0x1E, 0x00, 0x00, 0xA9, 0x01, 0x01, 0x1E, 0x01, 0x00, 0xA6, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0xA7, 0x01, 0x01, 0x64, 0x01, 0x00, 0xA8, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x64, 0x00, 0x00
|
|
.byte 0xB6, 0x01, 0x07, 0x64, 0x00, 0x00, 0xB3, 0x01, 0x03, 0x64, 0x00, 0x00, 0xB2, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0xB4, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0xB2, 0x01, 0x02, 0x0A, 0x00, 0x00, 0xB5, 0x01, 0x01, 0x1E, 0x01, 0x00, 0xAF, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0xB0, 0x01, 0x01, 0x64, 0x01, 0x00, 0xB1, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x64, 0x00, 0x00
|
|
.byte 0xBF, 0x01, 0x07, 0x64, 0x00, 0x00, 0xBC, 0x01, 0x03, 0x64, 0x00, 0x00, 0xBB, 0x01, 0x01, 0x64
|
|
.byte 0x00, 0x00, 0xBD, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0xBB, 0x01, 0x02, 0x0A, 0x00, 0x00, 0xBE, 0x01, 0x01, 0x1E, 0x01, 0x00, 0xB8, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0xB9, 0x01, 0x01, 0x64, 0x01, 0x00, 0xBA, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x64, 0x00, 0x00
|
|
.byte 0xC6, 0x01, 0x03, 0x64, 0x00, 0x00, 0xC5, 0x01, 0x01, 0x64, 0x00, 0x00, 0xC7, 0x01, 0xFF, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x1E, 0x00, 0x00
|
|
.byte 0xC5, 0x01, 0x01, 0x0F, 0x00, 0x00, 0xC1, 0x01, 0x01, 0x1E, 0x01, 0x00, 0xC2, 0x01, 0x01, 0x1E
|
|
.byte 0x01, 0x00, 0xC3, 0x01, 0x01, 0x64, 0x01, 0x00, 0xC4, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
.data
|
|
|
|
ov101_021FB2C0:
|
|
.word ov101_021F87B0
|
|
.word ov101_021F87BA
|
|
|
|
ov101_021FB2C8: ; 0x021FB2C8
|
|
.byte 2, 6
|
|
.byte 26, 6
|
|
.byte 2, 14
|
|
.byte 26, 14
|
|
|
|
ov101_021FB2D0: ; 0x021FB2D0
|
|
.word ov101_021F89B4
|
|
.word ov101_021F8998
|
|
.word ov101_021F89D8
|
|
.word ov101_021F8964
|
|
.word ov101_021F8978
|
|
.word ov101_021F896C
|
|
.word ov101_021F896C
|
|
; 0x021FB300
|