mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-12-01 09:00:44 +00:00
7920 lines
145 KiB
ArmAsm
7920 lines
145 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.text
|
|
|
|
thumb_func_start ov122_021E5900
|
|
ov122_021E5900: ; 0x021E5900
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5]
|
|
mov r1, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x14]
|
|
ldr r2, [r5, #0x18]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8770
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl CheckCoins
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
bl ov122_021E6B6C
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl ov122_021E6B6C
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
add r0, r5, #0
|
|
bl ov122_021E7540
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E5900
|
|
|
|
thumb_func_start ov122_021E5974
|
|
ov122_021E5974: ; 0x021E5974
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #8
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r3, r4, #0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r2, #8
|
|
add r3, #0xc4
|
|
bl ov122_021E767C
|
|
mov r1, #0
|
|
add r3, r4, #0
|
|
str r1, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #0xb
|
|
add r3, #0xd4
|
|
str r1, [sp, #4]
|
|
bl ov122_021E767C
|
|
mov r1, #0
|
|
add r3, r4, #0
|
|
str r1, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #0xc
|
|
add r3, #0xe4
|
|
str r1, [sp, #4]
|
|
bl ov122_021E767C
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
add r4, #0xf4
|
|
str r1, [sp]
|
|
mov r2, #0xd
|
|
add r3, r4, #0
|
|
str r1, [sp, #4]
|
|
bl ov122_021E767C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E5974
|
|
|
|
thumb_func_start ov122_021E59EC
|
|
ov122_021E59EC: ; 0x021E59EC
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #7
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r2, #9
|
|
add r3, r2, #0
|
|
mov r1, #0
|
|
add r3, #0xfb
|
|
str r1, [sp]
|
|
add r0, r4, #0
|
|
add r3, r4, r3
|
|
str r1, [sp, #4]
|
|
bl ov122_021E767C
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E59EC
|
|
|
|
thumb_func_start ov122_021E5A2C
|
|
ov122_021E5A2C: ; 0x021E5A2C
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #5
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #9
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
mov r3, #0x45
|
|
str r0, [sp]
|
|
lsl r3, r3, #2
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r2, #6
|
|
add r3, r4, r3
|
|
bl ov122_021E767C
|
|
mov r3, #0x49
|
|
mov r1, #0
|
|
lsl r3, r3, #2
|
|
str r1, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #0xa
|
|
add r3, r4, r3
|
|
str r1, [sp, #4]
|
|
bl ov122_021E767C
|
|
mov r0, #0x5e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
mov r0, #0x5f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E5A2C
|
|
|
|
thumb_func_start ov122_021E5A9C
|
|
ov122_021E5A9C: ; 0x021E5A9C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
beq _021E5AB2
|
|
cmp r0, #1
|
|
beq _021E5ACE
|
|
b _021E5ADC
|
|
_021E5AB2:
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E7888
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl ov122_021E7770
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E5ADC
|
|
_021E5ACE:
|
|
add r0, r4, #0
|
|
bl ov122_021E7820
|
|
cmp r0, #0
|
|
beq _021E5ADC
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E5ADC:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E5A9C
|
|
|
|
thumb_func_start ov122_021E5AE0
|
|
ov122_021E5AE0: ; 0x021E5AE0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
beq _021E5AFC
|
|
cmp r0, #1
|
|
beq _021E5B1A
|
|
cmp r0, #2
|
|
beq _021E5B44
|
|
b _021E5B52
|
|
_021E5AFC:
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r1, [r4]
|
|
mov r3, #0
|
|
str r1, [sp, #8]
|
|
mov r1, #0x14
|
|
add r2, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E5B56
|
|
_021E5B1A:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E5B56
|
|
add r0, r4, #0
|
|
blx r6
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r1, [r4]
|
|
mov r3, #0
|
|
str r1, [sp, #8]
|
|
mov r1, #0x15
|
|
add r2, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E5B56
|
|
_021E5B44:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E5B56
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_021E5B52:
|
|
bl GF_AssertFail
|
|
_021E5B56:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E5AE0
|
|
|
|
thumb_func_start ov122_021E5B5C
|
|
ov122_021E5B5C: ; 0x021E5B5C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
beq _021E5B70
|
|
cmp r0, #1
|
|
beq _021E5B8C
|
|
b _021E5B9E
|
|
_021E5B70:
|
|
mov r0, #0x8e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E5B7E
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5B7E:
|
|
add r0, r4, #0
|
|
bl ov122_021E71A8
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E5BA2
|
|
_021E5B8C:
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DCA0
|
|
cmp r0, #0
|
|
bne _021E5BA2
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5B9E:
|
|
bl GF_AssertFail
|
|
_021E5BA2:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E5B5C
|
|
|
|
thumb_func_start ov122_021E5BA8
|
|
ov122_021E5BA8: ; 0x021E5BA8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl CheckCoins
|
|
ldr r1, _021E5BDC ; =0x0000C350
|
|
cmp r0, r1
|
|
blo _021E5BCE
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
mov r2, #1
|
|
bl ov122_021E7770
|
|
ldr r1, _021E5BE0 ; =0x0000FFFE
|
|
add r0, r5, #0
|
|
bl ov122_021E8488
|
|
b _021E5BD6
|
|
_021E5BCE:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov122_021E8488
|
|
_021E5BD6:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E5BDC: .word 0x0000C350
|
|
_021E5BE0: .word 0x0000FFFE
|
|
thumb_func_end ov122_021E5BA8
|
|
|
|
thumb_func_start ov122_021E5BE4
|
|
ov122_021E5BE4: ; 0x021E5BE4
|
|
push {r3, lr}
|
|
add r0, r1, #0
|
|
bl ov122_021E7820
|
|
cmp r0, #0
|
|
beq _021E5BF4
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021E5BF4:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov122_021E5BE4
|
|
|
|
thumb_func_start ov122_021E5BF8
|
|
ov122_021E5BF8: ; 0x021E5BF8
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r0, #0x91
|
|
add r5, r1, #0
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8504
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl ov122_021E8488
|
|
mov r0, #0x23
|
|
lsl r0, r0, #4
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0
|
|
bne _021E5C22
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E5C22:
|
|
add r0, #0x14
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E87A0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov122_021E7854
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
add r3, r5, #0
|
|
ldr r0, _021E5CA0 ; =0x000F0100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r1, #0
|
|
add r3, #0x64
|
|
bl ov122_021E769C
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #5
|
|
bl BgCommitTilemapBufferToVram
|
|
mov r1, #0
|
|
mov r0, #0x40
|
|
add r2, r1, #0
|
|
bl sub_02004EC4
|
|
cmp r4, #0
|
|
beq _021E5C98
|
|
ble _021E5C7E
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov122_021E7888
|
|
add r0, r5, #0
|
|
mov r1, #0x29
|
|
mov r2, #1
|
|
bl ov122_021E7770
|
|
ldr r0, _021E5CA4 ; =0x00000938
|
|
bl PlaySE
|
|
b _021E5C98
|
|
_021E5C7E:
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov122_021E7888
|
|
add r0, r5, #0
|
|
mov r1, #0x2b
|
|
mov r2, #1
|
|
bl ov122_021E7770
|
|
ldr r0, _021E5CA8 ; =0x0000093A
|
|
bl PlaySE
|
|
_021E5C98:
|
|
mov r0, #1
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021E5CA0: .word 0x000F0100
|
|
_021E5CA4: .word 0x00000938
|
|
_021E5CA8: .word 0x0000093A
|
|
thumb_func_end ov122_021E5BF8
|
|
|
|
thumb_func_start ov122_021E5CAC
|
|
ov122_021E5CAC: ; 0x021E5CAC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
mov r1, #0x23
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
cmp r1, #0
|
|
bne _021E5CC4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5CC4:
|
|
cmp r0, #0
|
|
beq _021E5CCE
|
|
cmp r0, #1
|
|
beq _021E5D0C
|
|
b _021E5D1A
|
|
_021E5CCE:
|
|
add r0, r4, #0
|
|
bl ov122_021E7820
|
|
cmp r0, #0
|
|
beq _021E5D1E
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E87A0
|
|
cmp r0, #0
|
|
ble _021E5D08
|
|
mov r0, #0x8d
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _021E5CF4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5CF4:
|
|
mov r2, #1
|
|
str r2, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #0x2a
|
|
bl ov122_021E7770
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E5D1E
|
|
_021E5D08:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5D0C:
|
|
add r0, r4, #0
|
|
bl ov122_021E7820
|
|
cmp r0, #0
|
|
beq _021E5D1E
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5D1A:
|
|
bl GF_AssertFail
|
|
_021E5D1E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E5CAC
|
|
|
|
thumb_func_start ov122_021E5D24
|
|
ov122_021E5D24: ; 0x021E5D24
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
beq _021E5D38
|
|
cmp r0, #1
|
|
beq _021E5D46
|
|
b _021E5D68
|
|
_021E5D38:
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
_021E5D46:
|
|
ldr r0, _021E5D70 ; =0x00000938
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
beq _021E5D5A
|
|
ldr r0, _021E5D74 ; =0x00000939
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
bne _021E5D6C
|
|
_021E5D5A:
|
|
mov r1, #0
|
|
mov r0, #0x46
|
|
add r2, r1, #0
|
|
bl sub_02004EC4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5D68:
|
|
bl GF_AssertFail
|
|
_021E5D6C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E5D70: .word 0x00000938
|
|
_021E5D74: .word 0x00000939
|
|
thumb_func_end ov122_021E5D24
|
|
|
|
thumb_func_start ov122_021E5D78
|
|
ov122_021E5D78: ; 0x021E5D78
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
bne _021E5D90
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E7888
|
|
_021E5D90:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov122_021E7854
|
|
mov r0, #0x23
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E5DA6
|
|
mov r2, #0x10
|
|
b _021E5DA8
|
|
_021E5DA6:
|
|
mov r2, #0xf
|
|
_021E5DA8:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov122_021E5A9C
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E5D78
|
|
|
|
thumb_func_start ov122_021E5DB4
|
|
ov122_021E5DB4: ; 0x021E5DB4
|
|
push {r3, lr}
|
|
add r0, r1, #0
|
|
mov r1, #0
|
|
bl ov122_021E7488
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E5DB4
|
|
|
|
thumb_func_start ov122_021E5DC4
|
|
ov122_021E5DC4: ; 0x021E5DC4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
bl ov122_021E7514
|
|
add r0, r0, #2
|
|
cmp r0, #4
|
|
bhi _021E5E1A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E5DE2: ; jump table
|
|
.short _021E5E0E - _021E5DE2 - 2 ; case 0
|
|
.short _021E5E1E - _021E5DE2 - 2 ; case 1
|
|
.short _021E5DEC - _021E5DE2 - 2 ; case 2
|
|
.short _021E5E02 - _021E5DE2 - 2 ; case 3
|
|
.short _021E5E0E - _021E5DE2 - 2 ; case 4
|
|
_021E5DEC:
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov122_021E78B4
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5E02:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5E0E:
|
|
ldr r1, _021E5E24 ; =0x0000FFFE
|
|
add r0, r4, #0
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5E1A:
|
|
bl GF_AssertFail
|
|
_021E5E1E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E5E24: .word 0x0000FFFE
|
|
thumb_func_end ov122_021E5DC4
|
|
|
|
thumb_func_start ov122_021E5E28
|
|
ov122_021E5E28: ; 0x021E5E28
|
|
ldr r3, _021E5E30 ; =ov122_021E5A9C
|
|
mov r2, #0x14
|
|
bx r3
|
|
nop
|
|
_021E5E30: .word ov122_021E5A9C
|
|
thumb_func_end ov122_021E5E28
|
|
|
|
thumb_func_start ov122_021E5E34
|
|
ov122_021E5E34: ; 0x021E5E34
|
|
push {r3, lr}
|
|
add r0, r1, #0
|
|
mov r1, #1
|
|
bl ov122_021E7488
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E5E34
|
|
|
|
thumb_func_start ov122_021E5E44
|
|
ov122_021E5E44: ; 0x021E5E44
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
bl ov122_021E7514
|
|
add r0, r0, #2
|
|
cmp r0, #5
|
|
bhi _021E5E9C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E5E60: ; jump table
|
|
.short _021E5E90 - _021E5E60 - 2 ; case 0
|
|
.short _021E5EA0 - _021E5E60 - 2 ; case 1
|
|
.short _021E5E6C - _021E5E60 - 2 ; case 2
|
|
.short _021E5E78 - _021E5E60 - 2 ; case 3
|
|
.short _021E5E84 - _021E5E60 - 2 ; case 4
|
|
.short _021E5E90 - _021E5E60 - 2 ; case 5
|
|
_021E5E6C:
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E5E78:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E5E84:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E5E90:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E5E9C:
|
|
bl GF_AssertFail
|
|
_021E5EA0:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E5E44
|
|
|
|
thumb_func_start ov122_021E5EA4
|
|
ov122_021E5EA4: ; 0x021E5EA4
|
|
ldr r3, _021E5EAC ; =ov122_021E5AE0
|
|
ldr r2, _021E5EB0 ; =ov122_021E5974
|
|
bx r3
|
|
nop
|
|
_021E5EAC: .word ov122_021E5AE0
|
|
_021E5EB0: .word ov122_021E5974
|
|
thumb_func_end ov122_021E5EA4
|
|
|
|
thumb_func_start ov122_021E5EB4
|
|
ov122_021E5EB4: ; 0x021E5EB4
|
|
ldr r3, _021E5EBC ; =ov122_021E5A9C
|
|
mov r2, #0x19
|
|
bx r3
|
|
nop
|
|
_021E5EBC: .word ov122_021E5A9C
|
|
thumb_func_end ov122_021E5EB4
|
|
|
|
thumb_func_start ov122_021E5EC0
|
|
ov122_021E5EC0: ; 0x021E5EC0
|
|
ldr r3, _021E5EC8 ; =ov122_021E5AE0
|
|
ldr r2, _021E5ECC ; =ov122_021E59EC
|
|
bx r3
|
|
nop
|
|
_021E5EC8: .word ov122_021E5AE0
|
|
_021E5ECC: .word ov122_021E59EC
|
|
thumb_func_end ov122_021E5EC0
|
|
|
|
thumb_func_start ov122_021E5ED0
|
|
ov122_021E5ED0: ; 0x021E5ED0
|
|
ldr r3, _021E5ED8 ; =ov122_021E5A9C
|
|
mov r2, #0x1a
|
|
bx r3
|
|
nop
|
|
_021E5ED8: .word ov122_021E5A9C
|
|
thumb_func_end ov122_021E5ED0
|
|
|
|
thumb_func_start ov122_021E5EDC
|
|
ov122_021E5EDC: ; 0x021E5EDC
|
|
ldr r3, _021E5EE4 ; =ov122_021E5AE0
|
|
ldr r2, _021E5EE8 ; =ov122_021E5A2C
|
|
bx r3
|
|
nop
|
|
_021E5EE4: .word ov122_021E5AE0
|
|
_021E5EE8: .word ov122_021E5A2C
|
|
thumb_func_end ov122_021E5EDC
|
|
|
|
thumb_func_start ov122_021E5EEC
|
|
ov122_021E5EEC: ; 0x021E5EEC
|
|
ldr r3, _021E5EF4 ; =ov122_021E5A9C
|
|
mov r2, #0x1b
|
|
bx r3
|
|
nop
|
|
_021E5EF4: .word ov122_021E5A9C
|
|
thumb_func_end ov122_021E5EEC
|
|
|
|
thumb_func_start ov122_021E5EF8
|
|
ov122_021E5EF8: ; 0x021E5EF8
|
|
push {r4, lr}
|
|
ldr r2, _021E5F18 ; =ov122_021E5900
|
|
add r4, r0, #0
|
|
bl ov122_021E5AE0
|
|
cmp r0, #0
|
|
beq _021E5F12
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E5F12:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_021E5F18: .word ov122_021E5900
|
|
thumb_func_end ov122_021E5EF8
|
|
|
|
thumb_func_start ov122_021E5F1C
|
|
ov122_021E5F1C: ; 0x021E5F1C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #0
|
|
bl ov122_021E7094
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl ov122_021E8D8C
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov122_021E5F1C
|
|
|
|
thumb_func_start ov122_021E5F48
|
|
ov122_021E5F48: ; 0x021E5F48
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #9
|
|
add r4, r1, #0
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8D74
|
|
cmp r0, #4
|
|
bhi _021E5FF4
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E5F68: ; jump table
|
|
.short _021E5FF8 - _021E5F68 - 2 ; case 0
|
|
.short _021E5F72 - _021E5F68 - 2 ; case 1
|
|
.short _021E5FD6 - _021E5F68 - 2 ; case 2
|
|
.short _021E5FD6 - _021E5F68 - 2 ; case 3
|
|
.short _021E5FA0 - _021E5F68 - 2 ; case 4
|
|
_021E5F72:
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8DF0
|
|
add r1, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8630
|
|
cmp r0, #0
|
|
beq _021E5F94
|
|
ldr r0, _021E5FFC ; =0x000005F3
|
|
bl PlaySE
|
|
b _021E5FF8
|
|
_021E5F94:
|
|
add r0, r5, #0
|
|
mov r1, #9
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5FA0:
|
|
ldr r0, _021E6000 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #6
|
|
bl sub_0200DC4C
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8E70
|
|
cmp r0, #0
|
|
beq _021E5FCA
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
bl ov122_021E8488
|
|
b _021E5FD2
|
|
_021E5FCA:
|
|
add r0, r5, #0
|
|
mov r1, #0xe
|
|
bl ov122_021E8488
|
|
_021E5FD2:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5FD6:
|
|
ldr r0, _021E6004 ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
bl sub_0200DC4C
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E5FF4:
|
|
bl GF_AssertFail
|
|
_021E5FF8:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E5FFC: .word 0x000005F3
|
|
_021E6000: .word 0x000005DC
|
|
_021E6004: .word 0x000005DD
|
|
thumb_func_end ov122_021E5F48
|
|
|
|
thumb_func_start ov122_021E6008
|
|
ov122_021E6008: ; 0x021E6008
|
|
push {r3, lr}
|
|
add r0, r1, #0
|
|
bl ov122_021E7F70
|
|
cmp r0, #0
|
|
beq _021E6018
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021E6018:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov122_021E6008
|
|
|
|
thumb_func_start ov122_021E601C
|
|
ov122_021E601C: ; 0x021E601C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
str r0, [sp]
|
|
add r5, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
beq _021E6032
|
|
cmp r0, #1
|
|
beq _021E6116
|
|
b _021E612E
|
|
_021E6032:
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8DF0
|
|
mov r1, #5
|
|
add r4, r0, #0
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
asr r6, r0, #0x10
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
asr r4, r0, #0x10
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8784
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8778
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r6, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86E0
|
|
add r7, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86E0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r6, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86A8
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86A8
|
|
cmp r7, #0
|
|
beq _021E610E
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
beq _021E610E
|
|
bl MTRandom
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r6, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E871C
|
|
add r6, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E871C
|
|
add r4, r0, #0
|
|
mov r0, #0x64
|
|
mov r1, #5
|
|
mul r0, r7
|
|
sub r1, r1, r6
|
|
bl _s32_div_f
|
|
cmp r0, #0x4b
|
|
bge _021E6100
|
|
ldr r1, [sp, #4]
|
|
mov r0, #0x64
|
|
mul r0, r1
|
|
mov r1, #5
|
|
sub r1, r1, r4
|
|
bl _s32_div_f
|
|
cmp r0, #0x4b
|
|
blt _021E610E
|
|
_021E6100:
|
|
add r0, r5, #0
|
|
mov r1, #0x1d
|
|
bl ov122_021E76F4
|
|
ldr r0, _021E6134 ; =0x000004B4
|
|
bl PlayFanfare
|
|
_021E610E:
|
|
ldr r0, [sp]
|
|
bl ov122_021E84C8
|
|
b _021E612E
|
|
_021E6116:
|
|
ldr r0, _021E6138 ; =0x00000927
|
|
bl IsSEPlaying
|
|
cmp r0, #0
|
|
bne _021E612E
|
|
bl IsFanfarePlaying
|
|
cmp r0, #0
|
|
bne _021E612E
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E612E:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E6134: .word 0x000004B4
|
|
_021E6138: .word 0x00000927
|
|
thumb_func_end ov122_021E601C
|
|
|
|
thumb_func_start ov122_021E613C
|
|
ov122_021E613C: ; 0x021E613C
|
|
push {r4, lr}
|
|
mov r0, #9
|
|
add r4, r1, #0
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8DF0
|
|
add r1, r0, #0
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
bl ov122_021E70B8
|
|
ldr r0, _021E6164 ; =0x0000092C
|
|
bl PlaySE
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E6164: .word 0x0000092C
|
|
thumb_func_end ov122_021E613C
|
|
|
|
thumb_func_start ov122_021E6168
|
|
ov122_021E6168: ; 0x021E6168
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #4
|
|
bls _021E617A
|
|
b _021E6342
|
|
_021E617A:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E6186: ; jump table
|
|
.short _021E6190 - _021E6186 - 2 ; case 0
|
|
.short _021E61A8 - _021E6186 - 2 ; case 1
|
|
.short _021E62C8 - _021E6186 - 2 ; case 2
|
|
.short _021E62D8 - _021E6186 - 2 ; case 3
|
|
.short _021E6314 - _021E6186 - 2 ; case 4
|
|
_021E6190:
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E7168
|
|
cmp r0, #0
|
|
bne _021E61A0
|
|
b _021E6346
|
|
_021E61A0:
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6346
|
|
_021E61A8:
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8DF0
|
|
add r6, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0
|
|
bl ov122_021E8668
|
|
add r7, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r1, #2
|
|
add r0, r0, #1
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0xd
|
|
add r0, #0xc
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #0xc]
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r0, #2
|
|
add r0, r0, #1
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0xd
|
|
add r0, #0xc
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
str r0, [sp, #8]
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r6, #0
|
|
bl ov122_021E85F4
|
|
cmp r7, #4
|
|
bne _021E6230
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #8]
|
|
bl sub_0200DDB8
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200DC4C
|
|
ldr r0, _021E634C ; =0x00000929
|
|
bl PlaySE
|
|
b _021E62C0
|
|
_021E6230:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8770
|
|
add r6, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r7, #0
|
|
bl ov122_021E8594
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8770
|
|
mov r1, #0
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x61
|
|
str r1, [sp]
|
|
mov r3, #1
|
|
str r3, [sp, #4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r2, r7, #0
|
|
bl BufferIntegerAsString
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
mov r0, #0x61
|
|
str r1, [sp, #4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0x10]
|
|
mov r3, #5
|
|
bl BufferIntegerAsString
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [sp, #0xc]
|
|
ldr r2, [sp, #8]
|
|
bl sub_0200DDB8
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_0200DC4C
|
|
cmp r6, #0
|
|
bne _021E62A6
|
|
add r0, r4, #0
|
|
mov r1, #0x1e
|
|
bl ov122_021E76F4
|
|
b _021E62C0
|
|
_021E62A6:
|
|
add r0, r4, #0
|
|
bl ov122_021E7FA8
|
|
cmp r0, #1
|
|
ble _021E62BA
|
|
add r0, r4, #0
|
|
mov r1, #0x1f
|
|
bl ov122_021E76F4
|
|
b _021E62C0
|
|
_021E62BA:
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E62C0:
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6346
|
|
_021E62C8:
|
|
bl GF_IsAnySEPlaying
|
|
cmp r0, #0
|
|
bne _021E6346
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6346
|
|
_021E62D8:
|
|
add r0, r4, #0
|
|
bl ov122_021E7FA8
|
|
cmp r0, #4
|
|
bne _021E6302
|
|
ldr r0, _021E6350 ; =0x000004B5
|
|
bl PlayFanfare
|
|
add r0, r4, #0
|
|
mov r1, #0x20
|
|
bl ov122_021E76F4
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov122_021E6B6C
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6346
|
|
_021E6302:
|
|
add r0, r4, #0
|
|
bl ov122_021E69EC
|
|
cmp r0, #0
|
|
beq _021E6346
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6346
|
|
_021E6314:
|
|
add r0, r4, #0
|
|
bl ov122_021E7FA8
|
|
cmp r0, #4
|
|
bne _021E632C
|
|
bl IsFanfarePlaying
|
|
cmp r0, #0
|
|
bne _021E6346
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E632C:
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
bne _021E633C
|
|
ldr r0, _021E6354 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
beq _021E6346
|
|
_021E633C:
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_021E6342:
|
|
bl GF_AssertFail
|
|
_021E6346:
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E634C: .word 0x00000929
|
|
_021E6350: .word 0x000004B5
|
|
_021E6354: .word gSystem
|
|
thumb_func_end ov122_021E6168
|
|
|
|
thumb_func_start ov122_021E6358
|
|
ov122_021E6358: ; 0x021E6358
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov122_021E7FA8
|
|
cmp r0, #4
|
|
bne _021E637E
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
bl ov122_021E858C
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
bl ov122_021E8488
|
|
b _021E639E
|
|
_021E637E:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E863C
|
|
cmp r0, #0
|
|
beq _021E6396
|
|
add r0, r5, #0
|
|
mov r1, #0xa
|
|
bl ov122_021E8488
|
|
b _021E639E
|
|
_021E6396:
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
bl ov122_021E8488
|
|
_021E639E:
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E6358
|
|
|
|
thumb_func_start ov122_021E63AC
|
|
ov122_021E63AC: ; 0x021E63AC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
beq _021E63C0
|
|
cmp r0, #1
|
|
beq _021E63E0
|
|
b _021E640A
|
|
_021E63C0:
|
|
add r0, r4, #0
|
|
mov r1, #0x21
|
|
mov r2, #1
|
|
bl ov122_021E7770
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E7888
|
|
ldr r0, _021E6414 ; =0x000004B3
|
|
bl PlayFanfare
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
_021E63E0:
|
|
bl IsFanfarePlaying
|
|
cmp r0, #0
|
|
bne _021E640E
|
|
add r0, r4, #0
|
|
bl ov122_021E7820
|
|
cmp r0, #0
|
|
beq _021E640E
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #2
|
|
bl ov122_021E858C
|
|
add r0, r5, #0
|
|
mov r1, #0xb
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E640A:
|
|
bl GF_AssertFail
|
|
_021E640E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E6414: .word 0x000004B3
|
|
thumb_func_end ov122_021E63AC
|
|
|
|
thumb_func_start ov122_021E6418
|
|
ov122_021E6418: ; 0x021E6418
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
beq _021E6432
|
|
cmp r0, #1
|
|
beq _021E648A
|
|
cmp r0, #2
|
|
beq _021E649C
|
|
b _021E64D8
|
|
_021E6432:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8770
|
|
mov r1, #0
|
|
add r2, r0, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r3, #5
|
|
bl BufferIntegerAsString
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r4, #0x10]
|
|
mov r1, #1
|
|
bl BufferPlayersName
|
|
add r0, r4, #0
|
|
mov r1, #0x28
|
|
mov r2, #1
|
|
bl ov122_021E7770
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E7888
|
|
mov r1, #0
|
|
mov r0, #0x40
|
|
add r2, r1, #0
|
|
bl sub_02004EC4
|
|
ldr r0, _021E64E4 ; =0x0000092A
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
_021E648A:
|
|
add r0, r4, #0
|
|
bl ov122_021E6A64
|
|
cmp r0, #0
|
|
beq _021E64DC
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E64DC
|
|
_021E649C:
|
|
bl GF_IsAnySEPlaying
|
|
cmp r0, #0
|
|
bne _021E64DC
|
|
add r0, r4, #0
|
|
bl ov122_021E7820
|
|
cmp r0, #0
|
|
beq _021E64DC
|
|
mov r1, #0
|
|
mov r0, #0x46
|
|
add r2, r1, #0
|
|
bl sub_02004EC4
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E78B4
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
bl ov122_021E8488
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E64D8:
|
|
bl GF_AssertFail
|
|
_021E64DC:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E64E4: .word 0x0000092A
|
|
thumb_func_end ov122_021E6418
|
|
|
|
thumb_func_start ov122_021E64E8
|
|
ov122_021E64E8: ; 0x021E64E8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #3
|
|
bhi _021E6584
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E6502: ; jump table
|
|
.short _021E650A - _021E6502 - 2 ; case 0
|
|
.short _021E6528 - _021E6502 - 2 ; case 1
|
|
.short _021E653E - _021E6502 - 2 ; case 2
|
|
.short _021E6566 - _021E6502 - 2 ; case 3
|
|
_021E650A:
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
add r3, r4, #0
|
|
bl ov122_021E70B8
|
|
ldr r0, _021E658C ; =0x0000092C
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6588
|
|
_021E6528:
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E7168
|
|
cmp r0, #0
|
|
beq _021E6588
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6588
|
|
_021E653E:
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
bne _021E654E
|
|
ldr r0, _021E6590 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
beq _021E6588
|
|
_021E654E:
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
mov r1, #0
|
|
mov r2, #2
|
|
add r3, r4, #0
|
|
bl ov122_021E70B8
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6588
|
|
_021E6566:
|
|
mov r0, #0x92
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E7168
|
|
cmp r0, #0
|
|
beq _021E6588
|
|
mov r0, #0x8f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E6584:
|
|
bl GF_AssertFail
|
|
_021E6588:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E658C: .word 0x0000092C
|
|
_021E6590: .word gSystem
|
|
thumb_func_end ov122_021E64E8
|
|
|
|
thumb_func_start ov122_021E6594
|
|
ov122_021E6594: ; 0x021E6594
|
|
push {r4, r5, r6, lr}
|
|
mov r0, #0x91
|
|
add r5, r1, #0
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8528
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl ov122_021E8D8C
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8E40
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8770
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl CheckCoins
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x10
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
bl ov122_021E6B6C
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
bl ov122_021E6B6C
|
|
add r0, r5, #0
|
|
bl ov122_021E7094
|
|
mov r1, #0x23
|
|
mov r0, #1
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E6594
|
|
|
|
thumb_func_start ov122_021E65F4
|
|
ov122_021E65F4: ; 0x021E65F4
|
|
ldr r3, _021E65F8 ; =ov122_021E5B5C
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E65F8: .word ov122_021E5B5C
|
|
thumb_func_end ov122_021E65F4
|
|
|
|
thumb_func_start ov122_021E65FC
|
|
ov122_021E65FC: ; 0x021E65FC
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
mov r0, #9
|
|
add r4, r1, #0
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8D74
|
|
add r5, r0, #0
|
|
cmp r5, #8
|
|
bhi _021E66BA
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E661E: ; jump table
|
|
.short _021E66B2 - _021E661E - 2 ; case 0
|
|
.short _021E6630 - _021E661E - 2 ; case 1
|
|
.short _021E6674 - _021E661E - 2 ; case 2
|
|
.short _021E6650 - _021E661E - 2 ; case 3
|
|
.short _021E6650 - _021E661E - 2 ; case 4
|
|
.short _021E6698 - _021E661E - 2 ; case 5
|
|
.short _021E6698 - _021E661E - 2 ; case 6
|
|
.short _021E6698 - _021E661E - 2 ; case 7
|
|
.short _021E6698 - _021E661E - 2 ; case 8
|
|
_021E6630:
|
|
ldr r0, _021E66C4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8E70
|
|
cmp r0, #0
|
|
bne _021E66BE
|
|
add r0, r6, #0
|
|
mov r1, #0xe
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E6650:
|
|
ldr r0, _021E66C4 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #0x8e
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
sub r0, #0xe4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #6
|
|
bl sub_0200DC4C
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E6674:
|
|
ldr r0, _021E66C8 ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #0x8e
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
sub r0, #0xe0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
bl sub_0200DC4C
|
|
add r0, r6, #0
|
|
mov r1, #0xf
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E6698:
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8DF0
|
|
sub r2, r5, #5
|
|
lsl r2, r2, #0x18
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E7340
|
|
b _021E66BE
|
|
_021E66B2:
|
|
add r0, r4, #0
|
|
bl ov122_021E72D0
|
|
b _021E66BE
|
|
_021E66BA:
|
|
bl GF_AssertFail
|
|
_021E66BE:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E66C4: .word 0x000005DC
|
|
_021E66C8: .word 0x000005DD
|
|
thumb_func_end ov122_021E65FC
|
|
|
|
thumb_func_start ov122_021E66CC
|
|
ov122_021E66CC: ; 0x021E66CC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
bne _021E66F0
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E78DC
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl ov122_021E8DC8
|
|
_021E66F0:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov122_021E5B5C
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E66CC
|
|
|
|
thumb_func_start ov122_021E66FC
|
|
ov122_021E66FC: ; 0x021E66FC
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov122_021E66FC
|
|
|
|
thumb_func_start ov122_021E6700
|
|
ov122_021E6700: ; 0x021E6700
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #9
|
|
add r4, r1, #0
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8D74
|
|
cmp r0, #4
|
|
bhi _021E67C8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E6720: ; jump table
|
|
.short _021E67C0 - _021E6720 - 2 ; case 0
|
|
.short _021E672A - _021E6720 - 2 ; case 1
|
|
.short _021E679C - _021E6720 - 2 ; case 2
|
|
.short _021E677E - _021E6720 - 2 ; case 3
|
|
.short _021E675A - _021E6720 - 2 ; case 4
|
|
_021E672A:
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8DF0
|
|
add r6, r0, #0
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8E0C
|
|
add r2, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov122_021E7340
|
|
cmp r0, #0
|
|
beq _021E67CC
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E675A:
|
|
ldr r0, _021E67D0 ; =0x000005DC
|
|
bl PlaySE
|
|
mov r0, #0x8e
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
sub r0, #0xe4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #6
|
|
bl sub_0200DC4C
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E677E:
|
|
ldr r0, _021E67D4 ; =0x000005E5
|
|
bl PlaySE
|
|
mov r0, #0x17
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x11
|
|
bl sub_0200DC4C
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E679C:
|
|
ldr r0, _021E67D8 ; =0x000005DD
|
|
bl PlaySE
|
|
mov r0, #0x8e
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
sub r0, #0xe0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #3
|
|
bl sub_0200DC4C
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
bl ov122_021E8488
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E67C0:
|
|
add r0, r4, #0
|
|
bl ov122_021E72D0
|
|
b _021E67CC
|
|
_021E67C8:
|
|
bl GF_AssertFail
|
|
_021E67CC:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E67D0: .word 0x000005DC
|
|
_021E67D4: .word 0x000005E5
|
|
_021E67D8: .word 0x000005DD
|
|
thumb_func_end ov122_021E6700
|
|
|
|
thumb_func_start ov122_021E67DC
|
|
ov122_021E67DC: ; 0x021E67DC
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov122_021E67DC
|
|
|
|
thumb_func_start ov122_021E67E0
|
|
ov122_021E67E0: ; 0x021E67E0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #3
|
|
bhi _021E6884
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E67FA: ; jump table
|
|
.short _021E6802 - _021E67FA - 2 ; case 0
|
|
.short _021E680E - _021E67FA - 2 ; case 1
|
|
.short _021E684A - _021E67FA - 2 ; case 2
|
|
.short _021E6866 - _021E67FA - 2 ; case 3
|
|
_021E6802:
|
|
add r0, r4, #0
|
|
bl ov122_021E72D0
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
_021E680E:
|
|
add r0, r4, #0
|
|
bl ov122_021E7F70
|
|
cmp r0, #0
|
|
beq _021E6888
|
|
add r0, r5, #0
|
|
bl ov122_021E84B0
|
|
cmp r0, #0xe
|
|
bne _021E6842
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8E58
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl ov122_021E8DC8
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E7904
|
|
_021E6842:
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6888
|
|
_021E684A:
|
|
mov r0, #0x8e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021E6862
|
|
add r0, r4, #0
|
|
bl ov122_021E7214
|
|
add r0, r5, #0
|
|
bl ov122_021E84C8
|
|
b _021E6888
|
|
_021E6862:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E6866:
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DCA0
|
|
cmp r0, #0
|
|
bne _021E6888
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E6884:
|
|
bl GF_AssertFail
|
|
_021E6888:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov122_021E67E0
|
|
|
|
thumb_func_start ov122_021E688C
|
|
ov122_021E688C: ; 0x021E688C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
bl ov122_021E84B4
|
|
cmp r0, #0
|
|
beq _021E68A2
|
|
cmp r0, #1
|
|
beq _021E68E6
|
|
b _021E68F6
|
|
_021E68A2:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8770
|
|
add r2, r0, #0
|
|
bne _021E68B4
|
|
mov r4, #0x25
|
|
b _021E68CA
|
|
_021E68B4:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r3, #5
|
|
mov r4, #0x22
|
|
bl BufferIntegerAsString
|
|
_021E68CA:
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
bl ov122_021E7888
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
bl ov122_021E7770
|
|
add r0, r6, #0
|
|
bl ov122_021E84C8
|
|
b _021E68FA
|
|
_021E68E6:
|
|
add r0, r5, #0
|
|
bl ov122_021E7820
|
|
cmp r0, #0
|
|
beq _021E68FA
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E68F6:
|
|
bl GF_AssertFail
|
|
_021E68FA:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E688C
|
|
|
|
thumb_func_start ov122_021E6900
|
|
ov122_021E6900: ; 0x021E6900
|
|
push {r3, r4, lr}
|
|
sub sp, #0x14
|
|
add r2, sp, #0
|
|
mov r0, #0
|
|
str r0, [r2]
|
|
str r0, [r2, #4]
|
|
str r0, [r2, #8]
|
|
str r0, [r2, #0xc]
|
|
str r0, [r2, #0x10]
|
|
ldr r0, [r1, #0x18]
|
|
add r3, sp, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x1f
|
|
str r0, [sp, #8]
|
|
mov r0, #9
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x19
|
|
strb r0, [r3, #0x10]
|
|
mov r0, #0xa
|
|
strb r0, [r3, #0x11]
|
|
ldrb r4, [r3, #0x12]
|
|
mov r0, #0xf0
|
|
bic r4, r0
|
|
mov r0, #0x4f
|
|
strb r4, [r3, #0x12]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
add r1, r2, #0
|
|
bl sub_020166FC
|
|
mov r0, #1
|
|
add sp, #0x14
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E6900
|
|
|
|
thumb_func_start ov122_021E6948
|
|
ov122_021E6948: ; 0x021E6948
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x4f
|
|
add r4, r1, #0
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_020168F4
|
|
cmp r0, #1
|
|
beq _021E6962
|
|
cmp r0, #2
|
|
beq _021E69A6
|
|
b _021E69D8
|
|
_021E6962:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8770
|
|
add r6, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl ov122_021E858C
|
|
cmp r6, #0
|
|
bne _021E699A
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E78B4
|
|
add r0, r5, #0
|
|
mov r1, #0xc
|
|
bl ov122_021E8488
|
|
b _021E69A2
|
|
_021E699A:
|
|
add r0, r5, #0
|
|
mov r1, #0xb
|
|
bl ov122_021E8488
|
|
_021E69A2:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E69A6:
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0x97
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl ov122_021E78B4
|
|
mov r0, #0x8e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E69CC
|
|
add r0, r5, #0
|
|
mov r1, #0xd
|
|
bl ov122_021E8488
|
|
b _021E69D4
|
|
_021E69CC:
|
|
add r0, r5, #0
|
|
mov r1, #8
|
|
bl ov122_021E8488
|
|
_021E69D4:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E69D8:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E6948
|
|
|
|
thumb_func_start ov122_021E69DC
|
|
ov122_021E69DC: ; 0x021E69DC
|
|
push {r3, lr}
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bl sub_020169CC
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
thumb_func_end ov122_021E69DC
|
|
|
|
thumb_func_start ov122_021E69EC
|
|
ov122_021E69EC: ; 0x021E69EC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8770
|
|
add r4, r0, #0
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
bne _021E6A0C
|
|
ldr r0, _021E6A5C ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
beq _021E6A18
|
|
_021E6A0C:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
bl ov122_021E6B6C
|
|
b _021E6A56
|
|
_021E6A18:
|
|
mov r0, #0x8b
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r5, r0]
|
|
cmp r4, r0
|
|
bls _021E6A4C
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
bne _021E6A36
|
|
ldr r0, _021E6A60 ; =0x0000091E
|
|
bl PlaySE
|
|
_021E6A36:
|
|
mov r2, #0x8b
|
|
lsl r2, r2, #2
|
|
ldrh r0, [r5, r2]
|
|
mov r1, #1
|
|
add r0, r0, #1
|
|
strh r0, [r5, r2]
|
|
ldrh r2, [r5, r2]
|
|
add r0, r5, #0
|
|
bl ov122_021E6B6C
|
|
b _021E6A56
|
|
_021E6A4C:
|
|
ldr r0, _021E6A60 ; =0x0000091E
|
|
bl PlaySE
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E6A56:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E6A5C: .word gSystem
|
|
_021E6A60: .word 0x0000091E
|
|
thumb_func_end ov122_021E69EC
|
|
|
|
thumb_func_start ov122_021E6A64
|
|
ov122_021E6A64: ; 0x021E6A64
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #8]
|
|
bl CheckCoins
|
|
lsl r0, r0, #0x10
|
|
lsr r6, r0, #0x10
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8770
|
|
add r4, r0, #0
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
bne _021E6A94
|
|
ldr r0, _021E6B28 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
bne _021E6A94
|
|
ldr r0, _021E6B2C ; =0x0000C350
|
|
cmp r6, r0
|
|
blo _021E6ACE
|
|
_021E6A94:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
bl ov122_021E8610
|
|
ldr r0, [r5, #8]
|
|
add r1, r4, #0
|
|
bl GiveCoins
|
|
ldr r0, _021E6B2C ; =0x0000C350
|
|
add r7, r6, r4
|
|
cmp r7, r0
|
|
ble _021E6AB4
|
|
add r7, r0, #0
|
|
_021E6AB4:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov122_021E6B6C
|
|
lsl r2, r7, #0x10
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
bl ov122_021E6B6C
|
|
mov r0, #0
|
|
b _021E6ADA
|
|
_021E6ACE:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl ov122_021E8610
|
|
_021E6ADA:
|
|
cmp r0, #0
|
|
beq _021E6B18
|
|
ldr r0, [r5, #8]
|
|
mov r1, #1
|
|
bl GiveCoins
|
|
sub r2, r4, #1
|
|
lsl r2, r2, #0x10
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
lsr r2, r2, #0x10
|
|
bl ov122_021E6B6C
|
|
add r2, r6, #1
|
|
lsl r2, r2, #0x10
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
bl ov122_021E6B6C
|
|
lsr r2, r4, #0x1f
|
|
lsl r1, r4, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
bne _021E6B22
|
|
ldr r0, _021E6B30 ; =0x0000092A
|
|
bl PlaySE
|
|
b _021E6B22
|
|
_021E6B18:
|
|
ldr r0, _021E6B34 ; =0x0000092B
|
|
bl PlaySE
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E6B22:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6B28: .word gSystem
|
|
_021E6B2C: .word 0x0000C350
|
|
_021E6B30: .word 0x0000092A
|
|
_021E6B34: .word 0x0000092B
|
|
thumb_func_end ov122_021E6A64
|
|
|
|
thumb_func_start ov122_021E6B38
|
|
ov122_021E6B38: ; 0x021E6B38
|
|
push {r4, r5, r6, r7}
|
|
mov r1, #0
|
|
mov r6, #0x62
|
|
add r3, r1, #0
|
|
lsl r6, r6, #2
|
|
_021E6B42:
|
|
ldr r4, _021E6B68 ; =ov122_021E92A0
|
|
mov r2, #0
|
|
add r5, r0, #0
|
|
_021E6B48:
|
|
ldrh r7, [r4]
|
|
add r2, r2, #1
|
|
add r4, r4, #2
|
|
add r7, r7, r3
|
|
strh r7, [r5, r6]
|
|
add r5, r5, #2
|
|
cmp r2, #8
|
|
blt _021E6B48
|
|
add r1, r1, #1
|
|
add r3, r3, #2
|
|
add r0, #0x10
|
|
cmp r1, #0xa
|
|
blt _021E6B42
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
nop
|
|
_021E6B68: .word ov122_021E92A0
|
|
thumb_func_end ov122_021E6B38
|
|
|
|
thumb_func_start ov122_021E6B6C
|
|
ov122_021E6B6C: ; 0x021E6B6C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
str r1, [sp, #0xc]
|
|
add r7, r0, #0
|
|
ldr r1, _021E6C28 ; =0x00002710
|
|
add r0, r2, #0
|
|
str r2, [sp, #0x10]
|
|
bl _s32_div_f
|
|
add r1, sp, #0x18
|
|
strb r0, [r1]
|
|
mov r1, #0xfa
|
|
ldr r0, [sp, #0x10]
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r0, sp, #0x18
|
|
strb r1, [r0, #1]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0x64
|
|
bl _s32_div_f
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r0, sp, #0x18
|
|
strb r1, [r0, #2]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r0, sp, #0x18
|
|
strb r1, [r0, #3]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r0, sp, #0x18
|
|
strb r1, [r0, #4]
|
|
mov r0, #0x62
|
|
lsl r0, r0, #2
|
|
add r0, r7, r0
|
|
mov r6, #0
|
|
mov r4, #0x15
|
|
add r5, sp, #0x18
|
|
str r0, [sp, #0x14]
|
|
_021E6BD4:
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _021E6BDE
|
|
mov r0, #0x13
|
|
b _021E6BE0
|
|
_021E6BDE:
|
|
mov r0, #0xe
|
|
_021E6BE0:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
ldrb r2, [r5]
|
|
ldr r0, [r7, #0x18]
|
|
mov r1, #4
|
|
lsl r3, r2, #4
|
|
ldr r2, [sp, #0x14]
|
|
add r2, r2, r3
|
|
lsl r3, r4, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl LoadRectToBgTilemapRect
|
|
add r6, r6, #1
|
|
add r4, r4, #2
|
|
add r5, r5, #1
|
|
cmp r6, #5
|
|
blt _021E6BD4
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
beq _021E6C1A
|
|
mov r1, #0x8b
|
|
ldr r0, [sp, #0x10]
|
|
lsl r1, r1, #2
|
|
strh r0, [r7, r1]
|
|
_021E6C1A:
|
|
ldr r0, [r7, #0x18]
|
|
mov r1, #4
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E6C28: .word 0x00002710
|
|
thumb_func_end ov122_021E6B6C
|
|
|
|
thumb_func_start ov122_021E6C2C
|
|
ov122_021E6C2C: ; 0x021E6C2C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r0, #0
|
|
str r1, [sp, #0x10]
|
|
add r0, r2, #0
|
|
str r2, [sp, #0x14]
|
|
bl ov122_021E7FC4
|
|
add r4, r0, #0
|
|
mov r1, #0xc
|
|
mul r4, r1
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r1, #2
|
|
add r1, r0, #1
|
|
ldr r0, _021E6CC4 ; =ov122_021E9344
|
|
ldr r0, [r0, r4]
|
|
add r7, r1, r0
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r0, #2
|
|
add r1, r0, #1
|
|
ldr r0, _021E6CC8 ; =ov122_021E9348
|
|
ldr r2, [sp, #0x14]
|
|
ldr r0, [r0, r4]
|
|
add r6, r1, r0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [sp, #0x10]
|
|
bl ov122_021E8674
|
|
cmp r0, #0
|
|
beq _021E6C9C
|
|
ldr r0, _021E6CCC ; =ov122_021E934C
|
|
lsl r3, r7, #0x18
|
|
ldr r1, [r0, r4]
|
|
add r0, sp, #0x18
|
|
strh r1, [r0]
|
|
lsl r0, r6, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #2
|
|
add r2, sp, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl LoadRectToBgTilemapRect
|
|
b _021E6CB8
|
|
_021E6C9C:
|
|
lsl r0, r6, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
lsl r3, r7, #0x18
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #2
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
_021E6CB8:
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E6CC4: .word ov122_021E9344
|
|
_021E6CC8: .word ov122_021E9348
|
|
_021E6CCC: .word ov122_021E934C
|
|
thumb_func_end ov122_021E6C2C
|
|
|
|
thumb_func_start ov122_021E6CD0
|
|
ov122_021E6CD0: ; 0x021E6CD0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
mov r4, #2
|
|
add r7, sp, #0xc
|
|
_021E6CDC:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r6, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86E0
|
|
add r1, r0, #0
|
|
add r1, #0xcb
|
|
strh r1, [r7, #4]
|
|
add r0, #0xeb
|
|
strh r0, [r7, #6]
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #2
|
|
add r2, sp, #0x10
|
|
mov r3, #0x17
|
|
bl LoadRectToBgTilemapRect
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #5
|
|
blt _021E6CDC
|
|
mov r4, #0
|
|
mov r6, #3
|
|
add r7, sp, #0xc
|
|
_021E6D1E:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86E0
|
|
add r1, r0, #0
|
|
add r1, #0xcb
|
|
strh r1, [r7]
|
|
add r0, #0xeb
|
|
strh r0, [r7, #2]
|
|
mov r0, #0x16
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
lsl r3, r6, #0x18
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #2
|
|
add r2, sp, #0xc
|
|
lsr r3, r3, #0x18
|
|
bl LoadRectToBgTilemapRect
|
|
add r4, r4, #1
|
|
add r6, r6, #4
|
|
cmp r4, #5
|
|
blt _021E6D1E
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E6CD0
|
|
|
|
thumb_func_start ov122_021E6D60
|
|
ov122_021E6D60: ; 0x021E6D60
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
mov r4, #1
|
|
_021E6D6A:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r6, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86A8
|
|
mov r1, #0xa
|
|
add r7, r0, #0
|
|
bl _s32_div_f
|
|
add r1, r0, #1
|
|
add r0, sp, #0xc
|
|
strh r1, [r0, #4]
|
|
add r0, r7, #0
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r1, r1, #1
|
|
add r0, sp, #0xc
|
|
strh r1, [r0, #6]
|
|
lsl r0, r4, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #2
|
|
add r2, sp, #0x10
|
|
mov r3, #0x16
|
|
bl LoadRectToBgTilemapRect
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #5
|
|
blt _021E6D6A
|
|
mov r4, #0
|
|
mov r6, #2
|
|
_021E6DBC:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
lsl r2, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86A8
|
|
mov r1, #0xa
|
|
add r7, r0, #0
|
|
bl _s32_div_f
|
|
add r1, r0, #1
|
|
add r0, sp, #0xc
|
|
strh r1, [r0]
|
|
add r0, r7, #0
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
lsl r3, r6, #0x18
|
|
add r1, r1, #1
|
|
add r0, sp, #0xc
|
|
strh r1, [r0, #2]
|
|
mov r0, #0x15
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #2
|
|
add r2, sp, #0xc
|
|
lsr r3, r3, #0x18
|
|
bl LoadRectToBgTilemapRect
|
|
add r4, r4, #1
|
|
add r6, r6, #4
|
|
cmp r4, #5
|
|
blt _021E6DBC
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E6D60
|
|
|
|
thumb_func_start ov122_021E6E10
|
|
ov122_021E6E10: ; 0x021E6E10
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
cmp r4, #2
|
|
blo _021E6E1E
|
|
bl GF_AssertFail
|
|
_021E6E1E:
|
|
cmp r5, #5
|
|
blo _021E6E26
|
|
bl GF_AssertFail
|
|
_021E6E26:
|
|
ldr r0, _021E6E30 ; =ov122_021E9278
|
|
lsl r1, r5, #1
|
|
add r0, r0, r1
|
|
ldrb r0, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E6E30: .word ov122_021E9278
|
|
thumb_func_end ov122_021E6E10
|
|
|
|
thumb_func_start ov122_021E6E34
|
|
ov122_021E6E34: ; 0x021E6E34
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
mov r4, #0
|
|
_021E6E3C:
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
add r6, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
lsl r0, r0, #5
|
|
add r0, r7, r0
|
|
add r0, r6, r0
|
|
strh r0, [r5]
|
|
add r4, r4, #1
|
|
add r5, r5, #2
|
|
cmp r4, #9
|
|
blt _021E6E3C
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov122_021E6E34
|
|
|
|
thumb_func_start ov122_021E6E60
|
|
ov122_021E6E60: ; 0x021E6E60
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r2, #0
|
|
str r0, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
add r4, r3, #0
|
|
bl _s32_div_f
|
|
lsl r0, r1, #2
|
|
add r7, r0, #1
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r0, #2
|
|
add r6, r0, #1
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r5, #0
|
|
bl ov122_021E8668
|
|
cmp r4, #3
|
|
bhi _021E6EE0
|
|
add r1, r4, r4
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E6E9C: ; jump table
|
|
.short _021E6EA4 - _021E6E9C - 2 ; case 0
|
|
.short _021E6EAE - _021E6E9C - 2 ; case 1
|
|
.short _021E6EB8 - _021E6E9C - 2 ; case 2
|
|
.short _021E6ECC - _021E6E9C - 2 ; case 3
|
|
_021E6EA4:
|
|
add r0, sp, #0x14
|
|
mov r1, #0x77
|
|
bl ov122_021E6E34
|
|
b _021E6EE4
|
|
_021E6EAE:
|
|
add r0, sp, #0x14
|
|
mov r1, #0x1a
|
|
bl ov122_021E6E34
|
|
b _021E6EE4
|
|
_021E6EB8:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0
|
|
bl ov122_021E6E10
|
|
add r1, r0, #0
|
|
add r0, sp, #0x14
|
|
bl ov122_021E6E34
|
|
b _021E6EE4
|
|
_021E6ECC:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #1
|
|
bl ov122_021E6E10
|
|
add r1, r0, #0
|
|
add r0, sp, #0x14
|
|
bl ov122_021E6E34
|
|
b _021E6EE4
|
|
_021E6EE0:
|
|
bl GF_AssertFail
|
|
_021E6EE4:
|
|
lsl r0, r6, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
lsl r3, r7, #0x18
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0
|
|
add r2, sp, #0x14
|
|
lsr r3, r3, #0x18
|
|
bl LoadRectToBgTilemapRect
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E6E60
|
|
|
|
thumb_func_start ov122_021E6F04
|
|
ov122_021E6F04: ; 0x021E6F04
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r5, r2, #0
|
|
str r0, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
add r4, r3, #0
|
|
bl _s32_div_f
|
|
lsl r0, r1, #2
|
|
add r7, r0, #1
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r0, #2
|
|
add r6, r0, #1
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r5, #0
|
|
bl ov122_021E8668
|
|
cmp r4, #3
|
|
bhi _021E6F7A
|
|
add r1, r4, r4
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E6F40: ; jump table
|
|
.short _021E6F48 - _021E6F40 - 2 ; case 0
|
|
.short _021E6F5C - _021E6F40 - 2 ; case 1
|
|
.short _021E6F66 - _021E6F40 - 2 ; case 2
|
|
.short _021E6F70 - _021E6F40 - 2 ; case 3
|
|
_021E6F48:
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
mov r1, #0
|
|
bl ov122_021E6E10
|
|
add r1, r0, #0
|
|
add r0, sp, #0x14
|
|
bl ov122_021E6E34
|
|
b _021E6F7E
|
|
_021E6F5C:
|
|
add r0, sp, #0x14
|
|
mov r1, #0x1a
|
|
bl ov122_021E6E34
|
|
b _021E6F7E
|
|
_021E6F66:
|
|
add r0, sp, #0x14
|
|
mov r1, #0x77
|
|
bl ov122_021E6E34
|
|
b _021E6F7E
|
|
_021E6F70:
|
|
add r0, sp, #0x14
|
|
mov r1, #0x17
|
|
bl ov122_021E6E34
|
|
b _021E6F7E
|
|
_021E6F7A:
|
|
bl GF_AssertFail
|
|
_021E6F7E:
|
|
lsl r0, r6, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
lsl r3, r7, #0x18
|
|
ldr r0, [sp, #0xc]
|
|
mov r1, #0
|
|
add r2, sp, #0x14
|
|
lsr r3, r3, #0x18
|
|
bl LoadRectToBgTilemapRect
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov122_021E6F04
|
|
|
|
thumb_func_start ov122_021E6F9C
|
|
ov122_021E6F9C: ; 0x021E6F9C
|
|
push {r3, lr}
|
|
add r3, r0, #0
|
|
ldr r0, [r3]
|
|
ldr r1, [r3, #4]
|
|
ldrb r2, [r3, #0x11]
|
|
ldrb r3, [r3, #0x10]
|
|
bl ov122_021E6E60
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E6F9C
|
|
|
|
thumb_func_start ov122_021E6FB0
|
|
ov122_021E6FB0: ; 0x021E6FB0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #0
|
|
add r5, r0, #0
|
|
add r4, r6, #0
|
|
mov r7, #1
|
|
_021E6FBA:
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, #4]
|
|
lsr r1, r1, #0x18
|
|
bl ov122_021E8630
|
|
cmp r0, #0
|
|
bne _021E6FD8
|
|
ldrb r3, [r5, #0x10]
|
|
lsl r2, r4, #0x18
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #4]
|
|
lsr r2, r2, #0x18
|
|
add r6, r7, #0
|
|
bl ov122_021E6E60
|
|
_021E6FD8:
|
|
add r4, r4, #1
|
|
cmp r4, #0x19
|
|
blt _021E6FBA
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E6FB0
|
|
|
|
thumb_func_start ov122_021E6FE4
|
|
ov122_021E6FE4: ; 0x021E6FE4
|
|
push {r4, r5, r6, lr}
|
|
mov r6, #0
|
|
add r5, r0, #0
|
|
add r4, r6, #0
|
|
_021E6FEC:
|
|
ldrb r2, [r5, #0x13]
|
|
ldrb r3, [r5, #0x10]
|
|
ldr r0, [r5]
|
|
add r2, r2, r4
|
|
lsl r2, r2, #0x18
|
|
ldr r1, [r5, #4]
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E6F04
|
|
add r6, r6, #1
|
|
add r4, r4, #5
|
|
cmp r6, #5
|
|
blt _021E6FEC
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E6FE4
|
|
|
|
thumb_func_start ov122_021E7008
|
|
ov122_021E7008: ; 0x021E7008
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #0
|
|
add r5, r0, #0
|
|
add r4, r6, #0
|
|
mov r7, #1
|
|
_021E7012:
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, #4]
|
|
lsr r1, r1, #0x18
|
|
bl ov122_021E8630
|
|
cmp r0, #0
|
|
bne _021E7030
|
|
ldrb r3, [r5, #0x10]
|
|
lsl r2, r4, #0x18
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #4]
|
|
lsr r2, r2, #0x18
|
|
add r6, r7, #0
|
|
bl ov122_021E6F04
|
|
_021E7030:
|
|
add r4, r4, #1
|
|
cmp r4, #0x19
|
|
blt _021E7012
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E7008
|
|
|
|
thumb_func_start ov122_021E703C
|
|
ov122_021E703C: ; 0x021E703C
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4, #0xc]
|
|
mov r5, #1
|
|
cmp r1, #3
|
|
bhi _021E7076
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E7054: ; jump table
|
|
.short _021E705C - _021E7054 - 2 ; case 0
|
|
.short _021E7062 - _021E7054 - 2 ; case 1
|
|
.short _021E706A - _021E7054 - 2 ; case 2
|
|
.short _021E7070 - _021E7054 - 2 ; case 3
|
|
_021E705C:
|
|
bl ov122_021E6F9C
|
|
b _021E7076
|
|
_021E7062:
|
|
bl ov122_021E6FB0
|
|
add r5, r0, #0
|
|
b _021E7076
|
|
_021E706A:
|
|
bl ov122_021E6FE4
|
|
b _021E7076
|
|
_021E7070:
|
|
bl ov122_021E7008
|
|
add r5, r0, #0
|
|
_021E7076:
|
|
ldrb r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
bne _021E7086
|
|
cmp r5, #0
|
|
beq _021E7086
|
|
ldr r0, _021E7090 ; =0x0000092C
|
|
bl PlaySE
|
|
_021E7086:
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl BgCommitTilemapBufferToVram
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E7090: .word 0x0000092C
|
|
thumb_func_end ov122_021E703C
|
|
|
|
thumb_func_start ov122_021E7094
|
|
ov122_021E7094: ; 0x021E7094
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #2
|
|
bl BgClearTilemapBufferAndCommit
|
|
add r0, r4, #0
|
|
bl ov122_021E6CD0
|
|
add r0, r4, #0
|
|
bl ov122_021E6D60
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E7094
|
|
|
|
thumb_func_start ov122_021E70B8
|
|
ov122_021E70B8: ; 0x021E70B8
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r3, #0
|
|
add r5, r2, #0
|
|
ldr r2, [r4, #0x18]
|
|
str r2, [r0]
|
|
mov r2, #9
|
|
lsl r2, r2, #6
|
|
ldr r3, [r4, r2]
|
|
add r2, r2, #4
|
|
str r3, [r0, #8]
|
|
ldr r2, [r4, r2]
|
|
str r2, [r0, #4]
|
|
str r5, [r0, #0xc]
|
|
strb r1, [r0, #0x11]
|
|
mov r2, #0
|
|
strb r2, [r0, #0x10]
|
|
mov r1, #5
|
|
strb r2, [r0, #0x12]
|
|
strb r1, [r0, #0x13]
|
|
cmp r5, #3
|
|
bhi _021E7160
|
|
add r3, r5, r5
|
|
add r3, pc
|
|
ldrh r3, [r3, #6]
|
|
lsl r3, r3, #0x10
|
|
asr r3, r3, #0x10
|
|
add pc, r3
|
|
_021E70F0: ; jump table
|
|
.short _021E70F8 - _021E70F0 - 2 ; case 0
|
|
.short _021E713A - _021E70F0 - 2 ; case 1
|
|
.short _021E715A - _021E70F0 - 2 ; case 2
|
|
.short _021E7164 - _021E70F0 - 2 ; case 3
|
|
_021E70F8:
|
|
ldrb r6, [r0, #0x11]
|
|
add r0, r6, #0
|
|
bl _s32_div_f
|
|
add r5, r1, #0
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r0, #2
|
|
add r0, r0, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
lsl r3, r5, #2
|
|
add r3, r3, #1
|
|
lsl r3, r3, #0x18
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #2
|
|
lsr r3, r3, #0x18
|
|
bl FillBgTilemapRect
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021E713A:
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
mov r0, #0x14
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #2
|
|
bl FillBgTilemapRect
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021E715A:
|
|
strb r2, [r0, #0x13]
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
_021E7160:
|
|
bl GF_AssertFail
|
|
_021E7164:
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E70B8
|
|
|
|
thumb_func_start ov122_021E7168
|
|
ov122_021E7168: ; 0x021E7168
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #0x12]
|
|
mov r1, #3
|
|
bl _s32_div_f
|
|
cmp r1, #0
|
|
beq _021E719E
|
|
add r0, r4, #0
|
|
bl ov122_021E703C
|
|
ldrb r0, [r4, #0x10]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #0x10]
|
|
ldrb r0, [r4, #0x10]
|
|
cmp r0, #4
|
|
blo _021E719E
|
|
mov r0, #0
|
|
strb r0, [r4, #0x10]
|
|
ldrb r0, [r4, #0x13]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #0x13]
|
|
ldrb r0, [r4, #0x13]
|
|
cmp r0, #5
|
|
blo _021E719E
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E719E:
|
|
ldrb r0, [r4, #0x12]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #0x12]
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E7168
|
|
|
|
thumb_func_start ov122_021E71A8
|
|
ov122_021E71A8: ; 0x021E71A8
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #0x8e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E71BC
|
|
bl GF_AssertFail
|
|
_021E71BC:
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8E58
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl ov122_021E8DAC
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x14
|
|
bl sub_0200DC4C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r3, r4, #0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r2, #7
|
|
add r3, #0x44
|
|
bl ov122_021E767C
|
|
mov r0, #0x8e
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
ldr r0, _021E7210 ; =0x000005FF
|
|
bl PlaySE
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E7210: .word 0x000005FF
|
|
thumb_func_end ov122_021E71A8
|
|
|
|
thumb_func_start ov122_021E7214
|
|
ov122_021E7214: ; 0x021E7214
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #0x8e
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E7228
|
|
bl GF_AssertFail
|
|
_021E7228:
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl ov122_021E8DAC
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8E58
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov122_021E7274
|
|
mov r0, #0x57
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0x15
|
|
bl sub_0200DC4C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r4, #0x44
|
|
mov r1, #4
|
|
mov r2, #6
|
|
add r3, r4, #0
|
|
bl ov122_021E767C
|
|
ldr r0, _021E7270 ; =0x000005FF
|
|
bl PlaySE
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E7270: .word 0x000005FF
|
|
thumb_func_end ov122_021E7214
|
|
|
|
thumb_func_start ov122_021E7274
|
|
ov122_021E7274: ; 0x021E7274
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
bl sub_0200DCE8
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
cmp r4, #0
|
|
beq _021E72C0
|
|
mov r0, #0x8f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E84B0
|
|
cmp r0, #0xe
|
|
bne _021E72BE
|
|
mov r4, #1
|
|
b _021E72C0
|
|
_021E72BE:
|
|
mov r4, #0
|
|
_021E72C0:
|
|
mov r0, #0x17
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E7274
|
|
|
|
thumb_func_start ov122_021E72D0
|
|
ov122_021E72D0: ; 0x021E72D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8DF0
|
|
str r0, [sp]
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
bl ov122_021E8E28
|
|
cmp r0, #0
|
|
beq _021E7330
|
|
ldr r4, _021E733C ; =ov122_021E92B0
|
|
mov r6, #0
|
|
_021E72F2:
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0xd
|
|
blo _021E72FC
|
|
bl GF_AssertFail
|
|
_021E72FC:
|
|
ldrb r0, [r4, #2]
|
|
ldrb r2, [r4, #3]
|
|
lsl r0, r0, #2
|
|
add r1, r5, r0
|
|
mov r0, #0x53
|
|
lsl r0, r0, #2
|
|
ldr r7, [r1, r0]
|
|
add r0, #0xf8
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [sp]
|
|
bl ov122_021E8674
|
|
add r1, r0, #0
|
|
ldrb r1, [r4, r1]
|
|
add r0, r7, #0
|
|
bl sub_0200DC4C
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
cmp r6, #4
|
|
blt _021E72F2
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov122_021E7274
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E7330:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov122_021E7274
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E733C: .word ov122_021E92B0
|
|
thumb_func_end ov122_021E72D0
|
|
|
|
thumb_func_start ov122_021E7340
|
|
ov122_021E7340: ; 0x021E7340
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
bl ov122_021E8630
|
|
cmp r0, #0
|
|
beq _021E7360
|
|
ldr r0, _021E73F4 ; =0x000005F3
|
|
bl PlaySE
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_021E7360:
|
|
ldr r0, _021E73F8 ; =0x000005EA
|
|
bl PlaySE
|
|
cmp r6, #4
|
|
bhi _021E73EC
|
|
add r0, r6, r6
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E7376: ; jump table
|
|
.short _021E7384 - _021E7376 - 2 ; case 0
|
|
.short _021E739E - _021E7376 - 2 ; case 1
|
|
.short _021E73B8 - _021E7376 - 2 ; case 2
|
|
.short _021E73D2 - _021E7376 - 2 ; case 3
|
|
.short _021E7380 - _021E7376 - 2 ; case 4
|
|
_021E7380:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E7384:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl ov122_021E868C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #1
|
|
bl ov122_021E6C2C
|
|
b _021E73F0
|
|
_021E739E:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r2, #2
|
|
bl ov122_021E868C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #2
|
|
bl ov122_021E6C2C
|
|
b _021E73F0
|
|
_021E73B8:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r2, #4
|
|
bl ov122_021E868C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #4
|
|
bl ov122_021E6C2C
|
|
b _021E73F0
|
|
_021E73D2:
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl ov122_021E868C
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #8
|
|
bl ov122_021E6C2C
|
|
b _021E73F0
|
|
_021E73EC:
|
|
bl GF_AssertFail
|
|
_021E73F0:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E73F4: .word 0x000005F3
|
|
_021E73F8: .word 0x000005EA
|
|
thumb_func_end ov122_021E7340
|
|
|
|
thumb_func_start ov122_021E73FC
|
|
ov122_021E73FC: ; 0x021E73FC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r7]
|
|
mov r1, #0
|
|
bl sub_02018424
|
|
str r0, [r7, #0x1c]
|
|
mov r0, #0
|
|
ldr r5, _021E7458 ; =ov122_021E9290
|
|
str r0, [sp]
|
|
add r6, r7, #0
|
|
_021E7412:
|
|
ldr r0, [r5, #4]
|
|
ldr r1, [r7]
|
|
bl ListMenuItems_ctor
|
|
mov r1, #0x4d
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
ldr r0, [r5, #4]
|
|
mov r4, #0
|
|
cmp r0, #0
|
|
ble _021E7446
|
|
_021E7428:
|
|
ldr r2, [r5]
|
|
mov r0, #0x4d
|
|
mov r1, #6
|
|
lsl r0, r0, #2
|
|
lsl r1, r1, #6
|
|
ldrb r2, [r2, r4]
|
|
ldr r0, [r6, r0]
|
|
ldr r1, [r7, r1]
|
|
add r3, r4, #0
|
|
bl ListMenuItems_AppendFromMsgData
|
|
ldr r0, [r5, #4]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blt _021E7428
|
|
_021E7446:
|
|
ldr r0, [sp]
|
|
add r5, #8
|
|
add r0, r0, #1
|
|
add r6, r6, #4
|
|
str r0, [sp]
|
|
cmp r0, #2
|
|
blt _021E7412
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E7458: .word ov122_021E9290
|
|
thumb_func_end ov122_021E73FC
|
|
|
|
thumb_func_start ov122_021E745C
|
|
ov122_021E745C: ; 0x021E745C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
mov r7, #0x4d
|
|
str r0, [sp]
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
lsl r7, r7, #2
|
|
_021E746A:
|
|
mov r0, #0x4d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl ListMenuItems_dtor
|
|
str r6, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #2
|
|
blt _021E746A
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, #0x1c]
|
|
bl sub_02018474
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov122_021E745C
|
|
|
|
thumb_func_start ov122_021E7488
|
|
ov122_021E7488: ; 0x021E7488
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r1, sp, #0xc
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
str r0, [r1, #4]
|
|
str r0, [r1, #8]
|
|
str r0, [r1, #0xc]
|
|
str r0, [r1, #0x10]
|
|
str r0, [r1, #0x14]
|
|
ldr r1, _021E750C ; =ov122_021E9290
|
|
lsl r0, r6, #3
|
|
add r4, r1, r0
|
|
ldr r0, [r5, #0x18]
|
|
cmp r0, #0
|
|
bne _021E74B0
|
|
bl GF_AssertFail
|
|
_021E74B0:
|
|
ldr r2, _021E7510 ; =ov122_021E9278
|
|
add r0, sp, #0xc
|
|
ldrh r3, [r2, #0xa]
|
|
add r1, sp, #0xc
|
|
strh r3, [r0]
|
|
ldrh r3, [r2, #0xc]
|
|
strh r3, [r0, #2]
|
|
ldrh r3, [r2, #0xe]
|
|
strh r3, [r0, #4]
|
|
ldrh r3, [r2, #0x10]
|
|
strh r3, [r0, #6]
|
|
ldrh r3, [r2, #0x12]
|
|
ldrh r2, [r2, #0x14]
|
|
strh r3, [r0, #8]
|
|
strh r2, [r0, #0xa]
|
|
lsl r2, r6, #2
|
|
add r3, r5, r2
|
|
mov r2, #0x4d
|
|
lsl r2, r2, #2
|
|
ldr r3, [r3, r2]
|
|
add r2, #0xf4
|
|
str r3, [sp, #0x18]
|
|
ldr r3, [r5, #0x18]
|
|
str r3, [sp, #0x1c]
|
|
ldr r3, [r4, #4]
|
|
strb r3, [r0, #0x14]
|
|
ldr r3, [r4, #4]
|
|
lsl r0, r3, #1
|
|
add r0, r3, r0
|
|
mov r3, #0x11
|
|
sub r0, r3, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0xd
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldrb r2, [r5, r2]
|
|
ldr r0, [r5, #0x1c]
|
|
bl sub_020185FC
|
|
str r0, [r5, #0x20]
|
|
add sp, #0x24
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_021E750C: .word ov122_021E9290
|
|
_021E7510: .word ov122_021E9278
|
|
thumb_func_end ov122_021E7488
|
|
|
|
thumb_func_start ov122_021E7514
|
|
ov122_021E7514: ; 0x021E7514
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_020186A4
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _021E753C
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_02018674
|
|
mov r1, #0x8a
|
|
lsl r1, r1, #2
|
|
strb r0, [r5, r1]
|
|
ldr r0, [r5, #0x20]
|
|
bl sub_02018680
|
|
add r0, r4, #0
|
|
_021E753C:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E7514
|
|
|
|
thumb_func_start ov122_021E7540
|
|
ov122_021E7540: ; 0x021E7540
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
add r3, r4, #0
|
|
str r1, [sp, #4]
|
|
mov r1, #4
|
|
mov r2, #6
|
|
add r3, #0x44
|
|
bl ov122_021E767C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r3, r4, #0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
mov r2, #8
|
|
add r3, #0x54
|
|
bl ov122_021E767C
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #1
|
|
bl BgCommitTilemapBufferToVram
|
|
mov r1, #0
|
|
mov r2, #1
|
|
str r1, [sp]
|
|
mov r0, #0x61
|
|
str r2, [sp, #4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
add r3, r2, #0
|
|
bl BufferIntegerAsString
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
add r3, r4, #0
|
|
ldr r0, _021E7624 ; =0x000F0100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
add r3, #0x64
|
|
bl ov122_021E769C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
add r3, r4, #0
|
|
ldr r0, _021E7624 ; =0x000F0100
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
add r3, #0x74
|
|
bl ov122_021E769C
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r4, #0x10]
|
|
mov r1, #0
|
|
bl BufferPlayersName
|
|
mov r1, #0
|
|
add r3, r4, #0
|
|
str r1, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E7624 ; =0x000F0100
|
|
mov r2, #2
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r3, #0x84
|
|
bl ov122_021E769C
|
|
mov r1, #0
|
|
add r3, r4, #0
|
|
str r1, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E7624 ; =0x000F0100
|
|
mov r2, #3
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r3, #0x94
|
|
bl ov122_021E769C
|
|
mov r1, #0
|
|
add r3, r4, #0
|
|
str r1, [sp]
|
|
add r0, r4, #0
|
|
mov r2, #4
|
|
add r3, #0xa4
|
|
str r1, [sp, #4]
|
|
bl ov122_021E767C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
add r3, r4, #0
|
|
str r1, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r2, #5
|
|
add r3, #0xb4
|
|
bl ov122_021E767C
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #5
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_021E7624: .word 0x000F0100
|
|
thumb_func_end ov122_021E7540
|
|
|
|
thumb_func_start ov122_021E7628
|
|
ov122_021E7628: ; 0x021E7628
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r5, r7, #0
|
|
ldr r4, _021E7658 ; =ov122_021E93DC
|
|
mov r6, #0
|
|
add r5, #0x24
|
|
_021E7634:
|
|
ldr r0, [r7, #0x18]
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl AddWindow
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
add r5, #0x10
|
|
cmp r6, #0x11
|
|
blt _021E7634
|
|
add r0, r7, #0
|
|
bl ov122_021E7540
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E7658: .word ov122_021E93DC
|
|
thumb_func_end ov122_021E7628
|
|
|
|
thumb_func_start ov122_021E765C
|
|
ov122_021E765C: ; 0x021E765C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
add r5, #0x24
|
|
_021E7664:
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
add r4, r4, #1
|
|
add r5, #0x10
|
|
cmp r4, #0x11
|
|
blt _021E7664
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E765C
|
|
|
|
thumb_func_start ov122_021E767C
|
|
ov122_021E767C: ; 0x021E767C
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, sp, #8
|
|
ldrb r5, [r4, #0x10]
|
|
str r5, [sp]
|
|
ldrb r4, [r4, #0x14]
|
|
str r4, [sp, #4]
|
|
ldr r4, _021E7698 ; =0x00010200
|
|
str r4, [sp, #8]
|
|
bl ov122_021E769C
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_021E7698: .word 0x00010200
|
|
thumb_func_end ov122_021E767C
|
|
|
|
thumb_func_start ov122_021E769C
|
|
ov122_021E769C: ; 0x021E769C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r7, r3, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
add r6, r2, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
sub r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r5]
|
|
add r2, r6, #0
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r5, r0, #0
|
|
add r3, sp, #0x18
|
|
ldrb r0, [r3, #0x14]
|
|
add r1, r4, #0
|
|
add r2, r5, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x30]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldrb r3, [r3, #0x10]
|
|
add r0, r7, #0
|
|
bl AddTextPrinterParameterized2
|
|
add r0, r7, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r5, #0
|
|
bl String_dtor
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E769C
|
|
|
|
thumb_func_start ov122_021E76F4
|
|
ov122_021E76F4: ; 0x021E76F4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r4, r5, #0
|
|
add r4, #0x34
|
|
add r6, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
sub r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r5]
|
|
add r2, r6, #0
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r6, r0, #0
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
mov r2, #0
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl FillBgTilemapRect
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
mov r3, #0xd
|
|
bl DrawFrameAndWindow2
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
str r3, [sp, #8]
|
|
bl AddTextPrinterParameterized
|
|
add r0, r4, #0
|
|
bl ScheduleWindowCopyToVram
|
|
add r0, r6, #0
|
|
bl String_dtor
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #3
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E76F4
|
|
|
|
thumb_func_start ov122_021E7770
|
|
ov122_021E7770: ; 0x021E7770
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
add r4, r5, #0
|
|
ldr r0, [r5, r0]
|
|
add r6, r1, #0
|
|
add r7, r2, #0
|
|
add r4, #0x24
|
|
cmp r0, #0
|
|
beq _021E778C
|
|
bl GF_AssertFail
|
|
_021E778C:
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl FillWindowPixelBuffer
|
|
cmp r6, #0x19
|
|
bne _021E77A6
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl NewString_ReadMsgData
|
|
b _021E77B8
|
|
_021E77A6:
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
ldr r0, [r5, r1]
|
|
sub r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r5]
|
|
add r2, r6, #0
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
_021E77B8:
|
|
add r6, r0, #0
|
|
cmp r7, #0
|
|
beq _021E77E4
|
|
mov r0, #0x12
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #6
|
|
mov r2, #0
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5, #0x18]
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl FillBgTilemapRect
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
mov r3, #0xd
|
|
bl DrawFrameAndWindow2
|
|
_021E77E4:
|
|
mov r3, #0
|
|
ldr r0, _021E7818 ; =0x0000022A
|
|
str r3, [sp]
|
|
ldrb r0, [r5, r0]
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
str r3, [sp, #8]
|
|
bl AddTextPrinterParameterized
|
|
ldr r1, _021E781C ; =0x0000022B
|
|
strb r0, [r5, r1]
|
|
ldrb r0, [r5, r1]
|
|
cmp r0, #0xff
|
|
bne _021E7808
|
|
bl GF_AssertFail
|
|
_021E7808:
|
|
add r0, r4, #0
|
|
bl ScheduleWindowCopyToVram
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
str r6, [r5, r0]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E7818: .word 0x0000022A
|
|
_021E781C: .word 0x0000022B
|
|
thumb_func_end ov122_021E7770
|
|
|
|
thumb_func_start ov122_021E7820
|
|
ov122_021E7820: ; 0x021E7820
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E7850 ; =0x0000022B
|
|
ldrb r0, [r4, r0]
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
bne _021E784A
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _021E7846
|
|
bl String_dtor
|
|
mov r0, #5
|
|
mov r1, #0
|
|
lsl r0, r0, #6
|
|
str r1, [r4, r0]
|
|
_021E7846:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E784A:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_021E7850: .word 0x0000022B
|
|
thumb_func_end ov122_021E7820
|
|
|
|
thumb_func_start ov122_021E7854
|
|
ov122_021E7854: ; 0x021E7854
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
bl ov122_021E8794
|
|
mov r1, #8
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r3, #1
|
|
mov r0, #0x61
|
|
str r3, [sp, #4]
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl BufferIntegerAsString
|
|
add sp, #8
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E7854
|
|
|
|
thumb_func_start ov122_021E7888
|
|
ov122_021E7888: ; 0x021E7888
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldrb r0, [r4]
|
|
cmp r0, #0
|
|
bne _021E78B0
|
|
mov r0, #1
|
|
bl sub_0200B554
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
add r1, r0, #0
|
|
sub r1, #0xc
|
|
mov r2, #0
|
|
mov r3, #0x37
|
|
bl sub_0200B484
|
|
mov r0, #1
|
|
strb r0, [r4]
|
|
_021E78B0:
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov122_021E7888
|
|
|
|
thumb_func_start ov122_021E78B4
|
|
ov122_021E78B4: ; 0x021E78B4
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
bl sub_0200B554
|
|
mov r1, #0
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
sub r2, #8
|
|
mov r3, #0x37
|
|
bl sub_0200B484
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E78B4
|
|
|
|
thumb_func_start ov122_021E78DC
|
|
ov122_021E78DC: ; 0x021E78DC
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
ldrb r0, [r4]
|
|
cmp r0, #0
|
|
bne _021E7900
|
|
mov r0, #1
|
|
bl sub_0200B554
|
|
mov r0, #1
|
|
sub r1, r0, #7
|
|
mov r2, #0
|
|
mov r3, #0x21
|
|
str r0, [sp]
|
|
bl sub_0200B484
|
|
mov r0, #1
|
|
strb r0, [r4]
|
|
_021E7900:
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
thumb_func_end ov122_021E78DC
|
|
|
|
thumb_func_start ov122_021E7904
|
|
ov122_021E7904: ; 0x021E7904
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
bl sub_0200B554
|
|
mov r1, #0
|
|
mov r0, #1
|
|
sub r2, r1, #6
|
|
mov r3, #0x21
|
|
str r0, [sp]
|
|
bl sub_0200B484
|
|
mov r0, #0
|
|
strb r0, [r4]
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E7904
|
|
|
|
thumb_func_start ov122_021E7928
|
|
ov122_021E7928: ; 0x021E7928
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xbc
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
bl BgConfig_Alloc
|
|
add r3, sp, #4
|
|
ldr r4, _021E7998 ; =ov122_021E92C0
|
|
str r0, [r5, #0x18]
|
|
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, _021E799C ; =ov122_021E9464
|
|
add r3, sp, #0x14
|
|
mov r2, #0x15
|
|
_021E7950:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E7950
|
|
ldr r4, _021E79A0 ; =ov122_021E9270
|
|
mov r7, #0
|
|
add r6, sp, #0x14
|
|
_021E795E:
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #0x18]
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #0x18]
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldrb r1, [r4]
|
|
ldr r0, [r5, #0x18]
|
|
mov r2, #0
|
|
mov r3, #1
|
|
bl BG_FillCharDataRange
|
|
ldrb r0, [r4]
|
|
mov r1, #1
|
|
bl ToggleBgLayer
|
|
add r7, r7, #1
|
|
add r6, #0x1c
|
|
add r4, r4, #1
|
|
cmp r7, #6
|
|
blt _021E795E
|
|
add sp, #0xbc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E7998: .word ov122_021E92C0
|
|
_021E799C: .word ov122_021E9464
|
|
_021E79A0: .word ov122_021E9270
|
|
thumb_func_end ov122_021E7928
|
|
|
|
thumb_func_start ov122_021E79A4
|
|
ov122_021E79A4: ; 0x021E79A4
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _021E79CC ; =ov122_021E9270
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
_021E79AC:
|
|
ldrb r1, [r5]
|
|
ldr r0, [r6, #0x18]
|
|
bl FreeBgTilemapBuffer
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #6
|
|
blt _021E79AC
|
|
mov r0, #4
|
|
bl FontID_Release
|
|
ldr r0, [r6, #0x18]
|
|
bl FreeToHeap
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E79CC: .word ov122_021E9270
|
|
thumb_func_end ov122_021E79A4
|
|
|
|
thumb_func_start ov122_021E79D0
|
|
ov122_021E79D0: ; 0x021E79D0
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
mov r0, #4
|
|
bl FontID_Alloc
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _021E79E8
|
|
bl GF_AssertFail
|
|
_021E79E8:
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x14]
|
|
add r3, r1, #0
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r3, #7
|
|
str r0, [sp, #4]
|
|
mov r0, #0x10
|
|
mov r1, #9
|
|
mov r2, #0
|
|
lsl r3, r3, #6
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r1, #6
|
|
ldr r2, [r4]
|
|
mov r0, #0
|
|
lsl r1, r1, #6
|
|
bl LoadFontPal1
|
|
mov r1, #6
|
|
ldr r2, [r4]
|
|
mov r0, #4
|
|
lsl r1, r1, #6
|
|
bl LoadFontPal0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r3, #0x1a
|
|
str r0, [sp, #4]
|
|
mov r0, #0x10
|
|
mov r1, #9
|
|
mov r2, #4
|
|
lsl r3, r3, #4
|
|
bl GfGfxLoader_GXLoadPal
|
|
ldr r0, _021E7AE8 ; =0x00000229
|
|
mov r1, #3
|
|
ldrb r0, [r4, r0]
|
|
mov r2, #1
|
|
mov r3, #0xd
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x18]
|
|
bl LoadUserFrameGfx2
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
str r3, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
add r3, r1, #0
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x14]
|
|
mov r2, #4
|
|
bl GfGfxLoader_GXLoadPalFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #3
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadCharDataFromOpenNarc
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #6
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
ldr r2, [r4, #0x18]
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnDataFromOpenNarc
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E7AE8: .word 0x00000229
|
|
thumb_func_end ov122_021E79D0
|
|
|
|
thumb_func_start ov122_021E7AEC
|
|
ov122_021E7AEC: ; 0x021E7AEC
|
|
push {r3, r4, lr}
|
|
sub sp, #0x4c
|
|
ldr r3, _021E7B88 ; =ov122_021E92E4
|
|
add r4, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, sp, #0x34
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r3, _021E7B8C ; =ov122_021E92FC
|
|
add r2, sp, #0x14
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r3, _021E7B90 ; =ov122_021E92D0
|
|
add r2, sp, #0
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
mov r0, #0x80
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
bl sub_0200CF18
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
bl sub_0200CF38
|
|
mov r1, #0x52
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
sub r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
add r1, sp, #0x14
|
|
add r2, sp, #0
|
|
mov r3, #0x20
|
|
bl sub_0200CF70
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x80
|
|
bl sub_0200CFF4
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r2, sp, #0x34
|
|
bl sub_0200D3F8
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200CF6C
|
|
mov r2, #0x83
|
|
mov r1, #0
|
|
lsl r2, r2, #0xe
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
add sp, #0x4c
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_021E7B88: .word ov122_021E92E4
|
|
_021E7B8C: .word ov122_021E92FC
|
|
_021E7B90: .word ov122_021E92D0
|
|
thumb_func_end ov122_021E7AEC
|
|
|
|
thumb_func_start ov122_021E7B94
|
|
ov122_021E7B94: ; 0x021E7B94
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021E7BA6
|
|
bl GF_AssertFail
|
|
_021E7BA6:
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021E7BB4
|
|
bl GF_AssertFail
|
|
_021E7BB4:
|
|
add r0, r4, #0
|
|
bl ov122_021E7F48
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
bl sub_0200D998
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200D108
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E7B94
|
|
|
|
thumb_func_start ov122_021E7BD4
|
|
ov122_021E7BD4: ; 0x021E7BD4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x14]
|
|
cmp r0, #0
|
|
bne _021E7BE4
|
|
bl GF_AssertFail
|
|
_021E7BE4:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r6, [r5, r0]
|
|
add r0, r0, #4
|
|
ldr r4, [r5, r0]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
mov r7, #1
|
|
str r7, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #0xa
|
|
bl sub_0200D5D4
|
|
add r0, r7, #0
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #0xb
|
|
bl sub_0200D504
|
|
add r0, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #0xc
|
|
bl sub_0200D6EC
|
|
add r0, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #0xd
|
|
bl sub_0200D71C
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
mov r7, #2
|
|
str r0, [sp, #4]
|
|
str r7, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #0xe
|
|
bl sub_0200D5D4
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
str r0, [sp, #8]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #0xf
|
|
bl sub_0200D504
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #0x10
|
|
bl sub_0200D6EC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r2, [r5, #0x14]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r3, #0x11
|
|
bl sub_0200D71C
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov122_021E7BD4
|
|
|
|
thumb_func_start ov122_021E7C9C
|
|
ov122_021E7C9C: ; 0x021E7C9C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
ldr r6, _021E7D00 ; =ov122_021E9374
|
|
add r7, r2, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r3, sp, #4
|
|
mov r2, #6
|
|
_021E7CAE:
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E7CAE
|
|
ldr r0, [r6]
|
|
cmp r5, #0
|
|
str r0, [r3]
|
|
bne _021E7CC2
|
|
bl GF_AssertFail
|
|
_021E7CC2:
|
|
cmp r4, #0
|
|
bne _021E7CCA
|
|
bl GF_AssertFail
|
|
_021E7CCA:
|
|
add r1, sp, #4
|
|
strh r7, [r1]
|
|
ldr r0, [sp]
|
|
mov r3, #0x83
|
|
strh r0, [r1, #2]
|
|
add r0, sp, #0x40
|
|
ldrh r2, [r0, #0x10]
|
|
lsl r3, r3, #0xe
|
|
strh r2, [r1, #6]
|
|
ldrh r0, [r0, #0x14]
|
|
add r1, r4, #0
|
|
add r2, sp, #4
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
bl sub_0200D740
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
bl sub_0200DC78
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
add r0, r4, #0
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E7D00: .word ov122_021E9374
|
|
thumb_func_end ov122_021E7C9C
|
|
|
|
thumb_func_start ov122_021E7D04
|
|
ov122_021E7D04: ; 0x021E7D04
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
ldr r6, _021E7D68 ; =ov122_021E93A8
|
|
add r7, r2, #0
|
|
str r3, [sp]
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r3, sp, #4
|
|
mov r2, #6
|
|
_021E7D16:
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E7D16
|
|
ldr r0, [r6]
|
|
cmp r5, #0
|
|
str r0, [r3]
|
|
bne _021E7D2A
|
|
bl GF_AssertFail
|
|
_021E7D2A:
|
|
cmp r4, #0
|
|
bne _021E7D32
|
|
bl GF_AssertFail
|
|
_021E7D32:
|
|
add r1, sp, #4
|
|
strh r7, [r1]
|
|
ldr r0, [sp]
|
|
mov r3, #0x83
|
|
strh r0, [r1, #2]
|
|
add r0, sp, #0x40
|
|
ldrh r2, [r0, #0x10]
|
|
lsl r3, r3, #0xe
|
|
strh r2, [r1, #6]
|
|
ldrh r0, [r0, #0x14]
|
|
add r1, r4, #0
|
|
add r2, sp, #4
|
|
str r0, [sp, #0xc]
|
|
add r0, r5, #0
|
|
bl sub_0200D740
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
bl sub_0200DC78
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
add r0, r4, #0
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E7D68: .word ov122_021E93A8
|
|
thumb_func_end ov122_021E7D04
|
|
|
|
thumb_func_start ov122_021E7D6C
|
|
ov122_021E7D6C: ; 0x021E7D6C
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #0x12
|
|
mov r1, #0x51
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
mov r2, #0
|
|
lsl r1, r1, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r3, r2, #0
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x53
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r2, #0
|
|
add r0, r1, #0
|
|
str r2, [sp]
|
|
str r2, [sp, #4]
|
|
sub r0, #8
|
|
sub r1, r1, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
add r3, r2, #0
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #5
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0xc
|
|
sub r1, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xe0
|
|
mov r3, #0x28
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x55
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x10
|
|
sub r1, #0xc
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xe0
|
|
mov r3, #0xb0
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x56
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x14
|
|
sub r1, #0x10
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x80
|
|
mov r3, #0x60
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x57
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x18
|
|
sub r1, #0x14
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xc8
|
|
mov r3, #0x50
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #0xf
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x1c
|
|
sub r1, #0x18
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xe0
|
|
mov r3, #0x50
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x59
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0xe
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x20
|
|
sub r1, #0x1c
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xc8
|
|
mov r3, #0x68
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x5a
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0xd
|
|
str r0, [sp]
|
|
mov r0, #4
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x24
|
|
sub r1, #0x20
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xe0
|
|
mov r3, #0x68
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x5b
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0x10
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x28
|
|
sub r1, #0x24
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xe0
|
|
mov r3, #0x80
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x17
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
mov r0, #0x12
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x2c
|
|
sub r1, #0x28
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xc8
|
|
mov r3, #0x50
|
|
bl ov122_021E7C9C
|
|
mov r1, #0x5d
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x30
|
|
sub r1, #0x2c
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x48
|
|
mov r3, #0x38
|
|
bl ov122_021E7D04
|
|
mov r1, #0x5e
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r1, #0
|
|
sub r0, #0x34
|
|
sub r1, #0x30
|
|
ldr r0, [r4, r0]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x88
|
|
mov r3, #0x28
|
|
bl ov122_021E7D04
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #2
|
|
ldr r0, [r0]
|
|
lsl r1, r1, #0x10
|
|
bl ov122_021E7F64
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
mov r0, #0x15
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl sub_0200DD54
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #4
|
|
bl sub_0200DD10
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E7D6C
|
|
|
|
thumb_func_start ov122_021E7F48
|
|
ov122_021E7F48: ; 0x021E7F48
|
|
push {r4, r5, r6, lr}
|
|
mov r6, #0x53
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
lsl r6, r6, #2
|
|
_021E7F52:
|
|
ldr r0, [r5, r6]
|
|
bl sub_0200D9DC
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0xd
|
|
blt _021E7F52
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E7F48
|
|
|
|
thumb_func_start ov122_021E7F64
|
|
ov122_021E7F64: ; 0x021E7F64
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl sub_02024CB8
|
|
str r4, [r0, #0x10]
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E7F64
|
|
|
|
thumb_func_start ov122_021E7F70
|
|
ov122_021E7F70: ; 0x021E7F70
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x56
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DCA0
|
|
cmp r0, #0
|
|
bne _021E7FA2
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DCA0
|
|
cmp r0, #0
|
|
bne _021E7FA2
|
|
mov r0, #0x17
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200DCA0
|
|
cmp r0, #0
|
|
bne _021E7FA2
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E7FA2:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E7F70
|
|
|
|
thumb_func_start ov122_021E7FA8
|
|
ov122_021E7FA8: ; 0x021E7FA8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8DF0
|
|
add r1, r0, #0
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8668
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E7FA8
|
|
|
|
thumb_func_start ov122_021E7FC4
|
|
ov122_021E7FC4: ; 0x021E7FC4
|
|
push {r3, lr}
|
|
cmp r0, #8
|
|
bhi _021E7FF8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E7FD6: ; jump table
|
|
.short _021E7FF8 - _021E7FD6 - 2 ; case 0
|
|
.short _021E7FE8 - _021E7FD6 - 2 ; case 1
|
|
.short _021E7FEC - _021E7FD6 - 2 ; case 2
|
|
.short _021E7FF8 - _021E7FD6 - 2 ; case 3
|
|
.short _021E7FF0 - _021E7FD6 - 2 ; case 4
|
|
.short _021E7FF8 - _021E7FD6 - 2 ; case 5
|
|
.short _021E7FF8 - _021E7FD6 - 2 ; case 6
|
|
.short _021E7FF8 - _021E7FD6 - 2 ; case 7
|
|
.short _021E7FF4 - _021E7FD6 - 2 ; case 8
|
|
_021E7FE8:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_021E7FEC:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021E7FF0:
|
|
mov r0, #2
|
|
pop {r3, pc}
|
|
_021E7FF4:
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
_021E7FF8:
|
|
bl GF_AssertFail
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov122_021E7FC4
|
|
|
|
thumb_func_start ov122_021E8004
|
|
ov122_021E8004: ; 0x021E8004
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E800E
|
|
bl GF_AssertFail
|
|
_021E800E:
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _021E801C
|
|
bl GF_AssertFail
|
|
_021E801C:
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200D020
|
|
bl sub_0200D034
|
|
ldr r0, [r4, #0x18]
|
|
bl BgConfig_HandleScheduledScrollAndTransferOps
|
|
ldr r3, _021E8040 ; =0x027E0000
|
|
ldr r1, _021E8044 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_021E8040: .word 0x027E0000
|
|
_021E8044: .word 0x00003FF8
|
|
thumb_func_end ov122_021E8004
|
|
|
|
thumb_func_start ov122_021E8048
|
|
ov122_021E8048: ; 0x021E8048
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _021E8064 ; =ov122_021E931C
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_021E8052:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _021E8052
|
|
add r0, sp, #0
|
|
bl GX_SetBanks
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_021E8064: .word ov122_021E931C
|
|
thumb_func_end ov122_021E8048
|
|
|
|
thumb_func_start ov122_021E8068
|
|
ov122_021E8068: ; 0x021E8068
|
|
push {r3, lr}
|
|
bl HBlankInterruptDisable
|
|
bl GX_DisableEngineALayers
|
|
bl GX_DisableEngineBLayers
|
|
mov r2, #1
|
|
lsl r2, r2, #0x1a
|
|
ldr r1, [r2]
|
|
ldr r0, _021E808C ; =0xFFFFE0FF
|
|
and r1, r0
|
|
str r1, [r2]
|
|
ldr r2, _021E8090 ; =0x04001000
|
|
ldr r1, [r2]
|
|
and r0, r1
|
|
str r0, [r2]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_021E808C: .word 0xFFFFE0FF
|
|
_021E8090: .word 0x04001000
|
|
thumb_func_end ov122_021E8068
|
|
|
|
thumb_func_start ov122_021E8094
|
|
ov122_021E8094: ; 0x021E8094
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetArgs
|
|
add r5, r0, #0
|
|
bne _021E80A4
|
|
bl GF_AssertFail
|
|
_021E80A4:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
ldr r2, _021E820C ; =0x04000304
|
|
ldr r0, _021E8210 ; =0xFFFF7FFF
|
|
ldrh r1, [r2]
|
|
and r0, r1
|
|
strh r0, [r2]
|
|
bl ov122_021E8068
|
|
bl ov122_021E8048
|
|
mov r1, #0xa0
|
|
mov r0, #3
|
|
lsl r2, r1, #0xb
|
|
bl CreateHeap
|
|
mov r1, #0x26
|
|
add r0, r4, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0xa0
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r2, #0x26
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
mov r0, #0xa0
|
|
str r0, [r4]
|
|
ldr r0, [r5]
|
|
str r0, [r4, #4]
|
|
ldr r0, [r5, #4]
|
|
str r0, [r4, #8]
|
|
ldr r0, [r5, #8]
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r4, #0xc]
|
|
bl sub_020183F0
|
|
mov r1, #0x8a
|
|
lsl r1, r1, #2
|
|
strb r0, [r4, r1]
|
|
ldr r0, [r4, #4]
|
|
bl Options_GetFrame
|
|
ldr r1, _021E8214 ; =0x00000229
|
|
strb r0, [r4, r1]
|
|
ldr r0, [r4, #4]
|
|
bl Options_GetTextFrameDelay
|
|
ldr r1, _021E8218 ; =0x0000022A
|
|
strb r0, [r4, r1]
|
|
ldr r0, _021E821C ; =0x0000010A
|
|
ldr r1, [r4]
|
|
bl NARC_ctor
|
|
str r0, [r4, #0x14]
|
|
ldr r3, [r4]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0x27
|
|
bl NewMsgDataFromNarc
|
|
mov r1, #6
|
|
lsl r1, r1, #6
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
bl ScrStrBufs_new
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
bl sub_0201660C
|
|
mov r1, #0x4f
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov122_021E7928
|
|
add r0, r4, #0
|
|
bl ov122_021E79D0
|
|
add r0, r4, #0
|
|
bl ov122_021E7628
|
|
add r0, r4, #0
|
|
bl ov122_021E73FC
|
|
add r0, r4, #0
|
|
bl ov122_021E6B38
|
|
ldr r0, [r4, #8]
|
|
bl CheckCoins
|
|
lsl r0, r0, #0x10
|
|
lsr r2, r0, #0x10
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov122_021E6B6C
|
|
add r0, r4, #0
|
|
bl ov122_021E7AEC
|
|
add r0, r4, #0
|
|
bl ov122_021E7BD4
|
|
add r0, r4, #0
|
|
bl ov122_021E7D6C
|
|
ldr r0, [r4]
|
|
ldr r1, _021E8220 ; =ov122_021E950C
|
|
mov r2, #0x10
|
|
add r3, r4, #0
|
|
bl ov122_021E837C
|
|
mov r2, #0x8f
|
|
lsl r2, r2, #2
|
|
add r1, r2, #0
|
|
str r0, [r4, r2]
|
|
sub r1, #0xf0
|
|
sub r2, #0xc8
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, r1]
|
|
ldr r2, [r4, r2]
|
|
bl ov122_021E8CFC
|
|
mov r1, #9
|
|
lsl r1, r1, #6
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4]
|
|
bl ov122_021E84E0
|
|
mov r1, #0x91
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov122_021E7094
|
|
mov r1, #0
|
|
mov r0, #0x46
|
|
add r2, r1, #0
|
|
bl sub_02004EC4
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineAToggleLayers
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GX_EngineBToggleLayers
|
|
mov r0, #0
|
|
bl sub_0200FBDC
|
|
mov r0, #1
|
|
bl sub_0200FBDC
|
|
mov r0, #1
|
|
bl TextFlags_SetCanABSpeedUpPrint
|
|
mov r0, #1
|
|
bl sub_02002B8C
|
|
ldr r0, _021E8224 ; =ov122_021E8004
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
ldr r0, [r5, #0x10]
|
|
bl Sav2_GameStats_get
|
|
mov r1, #6
|
|
bl GameStats_AddSpecial
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E820C: .word 0x04000304
|
|
_021E8210: .word 0xFFFF7FFF
|
|
_021E8214: .word 0x00000229
|
|
_021E8218: .word 0x0000022A
|
|
_021E821C: .word 0x0000010A
|
|
_021E8220: .word ov122_021E950C
|
|
_021E8224: .word ov122_021E8004
|
|
thumb_func_end ov122_021E8094
|
|
|
|
thumb_func_start ov122_021E8228
|
|
ov122_021E8228: ; 0x021E8228
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #0x91
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E84FC
|
|
mov r0, #9
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E8D58
|
|
mov r0, #0x8f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov122_021E83A8
|
|
add r0, r4, #0
|
|
bl ov122_021E7B94
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl sub_02016624
|
|
add r0, r4, #0
|
|
bl ov122_021E745C
|
|
add r0, r4, #0
|
|
bl ov122_021E765C
|
|
add r0, r4, #0
|
|
bl ov122_021E79A4
|
|
mov r0, #0x61
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ScrStrBufs_delete
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl DestroyMsgData
|
|
ldr r0, [r4, #0x14]
|
|
bl NARC_dtor
|
|
bl ov122_021E8068
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0xa0
|
|
bl DestroyHeap
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8228
|
|
|
|
thumb_func_start ov122_021E82A8
|
|
ov122_021E82A8: ; 0x021E82A8
|
|
push {r3, r4, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _021E82BE
|
|
cmp r1, #1
|
|
beq _021E82CA
|
|
cmp r1, #2
|
|
beq _021E82EE
|
|
b _021E82FC
|
|
_021E82BE:
|
|
bl ov122_021E8094
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E8300
|
|
_021E82CA:
|
|
bl OverlayManager_GetData
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
mov r1, #0x15
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E8300
|
|
_021E82EE:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E8300
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_021E82FC:
|
|
bl GF_AssertFail
|
|
_021E8300:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E82A8
|
|
|
|
thumb_func_start ov122_021E8308
|
|
ov122_021E8308: ; 0x021E8308
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _021E8320
|
|
cmp r1, #1
|
|
beq _021E8340
|
|
b _021E8354
|
|
_021E8320:
|
|
mov r1, #6
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r0, [r0]
|
|
mov r1, #0x14
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _021E8358
|
|
_021E8340:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _021E8358
|
|
add r0, r5, #0
|
|
bl ov122_021E8228
|
|
add sp, #0xc
|
|
mov r0, #1
|
|
pop {r4, r5, pc}
|
|
_021E8354:
|
|
bl GF_AssertFail
|
|
_021E8358:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8308
|
|
|
|
thumb_func_start ov122_021E8360
|
|
ov122_021E8360: ; 0x021E8360
|
|
push {r3, lr}
|
|
bl OverlayManager_GetData
|
|
mov r1, #0x8f
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
bl ov122_021E83B0
|
|
cmp r0, #0
|
|
beq _021E8378
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021E8378:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov122_021E8360
|
|
|
|
thumb_func_start ov122_021E837C
|
|
ov122_021E837C: ; 0x021E837C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x10
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r2, #0x10
|
|
bl MI_CpuFill8
|
|
str r5, [r4]
|
|
strb r6, [r4, #0xc]
|
|
ldr r0, _021E83A4 ; =0x0000FFFF
|
|
str r7, [r4, #4]
|
|
strh r0, [r4, #0xa]
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E83A4: .word 0x0000FFFF
|
|
thumb_func_end ov122_021E837C
|
|
|
|
thumb_func_start ov122_021E83A8
|
|
ov122_021E83A8: ; 0x021E83A8
|
|
ldr r3, _021E83AC ; =FreeToHeap
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E83AC: .word FreeToHeap
|
|
thumb_func_end ov122_021E83A8
|
|
|
|
thumb_func_start ov122_021E83B0
|
|
ov122_021E83B0: ; 0x021E83B0
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldrh r2, [r4, #8]
|
|
mov r1, #0x14
|
|
ldr r3, [r4]
|
|
mul r1, r2
|
|
add r5, r3, r1
|
|
ldrb r1, [r4, #0xd]
|
|
cmp r1, #4
|
|
bhi _021E847A
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_021E83D0: ; jump table
|
|
.short _021E83DA - _021E83D0 - 2 ; case 0
|
|
.short _021E83F8 - _021E83D0 - 2 ; case 1
|
|
.short _021E8408 - _021E83D0 - 2 ; case 2
|
|
.short _021E8434 - _021E83D0 - 2 ; case 3
|
|
.short _021E8452 - _021E83D0 - 2 ; case 4
|
|
_021E83DA:
|
|
ldr r2, [r5]
|
|
cmp r2, #0
|
|
bne _021E83E6
|
|
mov r0, #1
|
|
strb r0, [r4, #0xd]
|
|
b _021E83F8
|
|
_021E83E6:
|
|
ldr r1, [r4, #4]
|
|
blx r2
|
|
cmp r0, #0
|
|
beq _021E847E
|
|
mov r0, #0
|
|
strb r0, [r4, #0xe]
|
|
mov r0, #1
|
|
strb r0, [r4, #0xd]
|
|
b _021E847E
|
|
_021E83F8:
|
|
ldr r2, [r5, #4]
|
|
cmp r2, #0
|
|
beq _021E8404
|
|
ldr r1, [r4, #4]
|
|
add r0, r4, #0
|
|
blx r2
|
|
_021E8404:
|
|
mov r0, #2
|
|
strb r0, [r4, #0xd]
|
|
_021E8408:
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #0
|
|
bne _021E8412
|
|
bl GF_AssertFail
|
|
_021E8412:
|
|
ldr r1, [r4, #4]
|
|
ldr r2, [r5, #8]
|
|
add r0, r4, #0
|
|
blx r2
|
|
cmp r0, #0
|
|
beq _021E847E
|
|
mov r0, #0
|
|
strb r0, [r4, #0xe]
|
|
ldr r2, [r5, #0xc]
|
|
cmp r2, #0
|
|
beq _021E842E
|
|
ldr r1, [r4, #4]
|
|
add r0, r4, #0
|
|
blx r2
|
|
_021E842E:
|
|
mov r0, #3
|
|
strb r0, [r4, #0xd]
|
|
b _021E847E
|
|
_021E8434:
|
|
ldr r2, [r5, #0x10]
|
|
cmp r2, #0
|
|
bne _021E8440
|
|
mov r0, #4
|
|
strb r0, [r4, #0xd]
|
|
b _021E8452
|
|
_021E8440:
|
|
ldr r1, [r4, #4]
|
|
blx r2
|
|
cmp r0, #0
|
|
beq _021E847E
|
|
mov r0, #0
|
|
strb r0, [r4, #0xe]
|
|
mov r0, #4
|
|
strb r0, [r4, #0xd]
|
|
b _021E847E
|
|
_021E8452:
|
|
ldrh r1, [r4, #0xa]
|
|
ldr r0, _021E8484 ; =0x0000FFFF
|
|
cmp r1, r0
|
|
bne _021E845E
|
|
bl GF_AssertFail
|
|
_021E845E:
|
|
ldrh r0, [r4, #0xa]
|
|
strh r0, [r4, #8]
|
|
ldr r0, _021E8484 ; =0x0000FFFF
|
|
strh r0, [r4, #0xa]
|
|
ldrh r1, [r4, #8]
|
|
sub r0, r0, #1
|
|
cmp r1, r0
|
|
bne _021E8472
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E8472:
|
|
mov r0, #0
|
|
strb r0, [r4, #0xd]
|
|
strb r0, [r4, #0xe]
|
|
b _021E847E
|
|
_021E847A:
|
|
bl GF_AssertFail
|
|
_021E847E:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E8484: .word 0x0000FFFF
|
|
thumb_func_end ov122_021E83B0
|
|
|
|
thumb_func_start ov122_021E8488
|
|
ov122_021E8488: ; 0x021E8488
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r5, #0
|
|
bne _021E8496
|
|
bl GF_AssertFail
|
|
_021E8496:
|
|
ldr r0, _021E84AC ; =0x0000FFFE
|
|
cmp r4, r0
|
|
beq _021E84A6
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r4, r0
|
|
blt _021E84A6
|
|
bl GF_AssertFail
|
|
_021E84A6:
|
|
strh r4, [r5, #0xa]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_021E84AC: .word 0x0000FFFE
|
|
thumb_func_end ov122_021E8488
|
|
|
|
thumb_func_start ov122_021E84B0
|
|
ov122_021E84B0: ; 0x021E84B0
|
|
ldrh r0, [r0, #8]
|
|
bx lr
|
|
thumb_func_end ov122_021E84B0
|
|
|
|
thumb_func_start ov122_021E84B4
|
|
ov122_021E84B4: ; 0x021E84B4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #1
|
|
bne _021E84C2
|
|
bl GF_AssertFail
|
|
_021E84C2:
|
|
ldrb r0, [r4, #0xe]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E84B4
|
|
|
|
thumb_func_start ov122_021E84C8
|
|
ov122_021E84C8: ; 0x021E84C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #1
|
|
bne _021E84D6
|
|
bl GF_AssertFail
|
|
_021E84D6:
|
|
ldrb r0, [r4, #0xe]
|
|
add r0, r0, #1
|
|
strb r0, [r4, #0xe]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E84C8
|
|
|
|
thumb_func_start ov122_021E84E0
|
|
ov122_021E84E0: ; 0x021E84E0
|
|
push {r4, lr}
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
mov r2, #0x5f
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E84E0
|
|
|
|
thumb_func_start ov122_021E84FC
|
|
ov122_021E84FC: ; 0x021E84FC
|
|
ldr r3, _021E8500 ; =FreeToHeap
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E8500: .word FreeToHeap
|
|
thumb_func_end ov122_021E84FC
|
|
|
|
thumb_func_start ov122_021E8504
|
|
ov122_021E8504: ; 0x021E8504
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov122_021E8910
|
|
add r0, r4, #0
|
|
bl ov122_021E8C34
|
|
add r0, r4, #0
|
|
bl ov122_021E8968
|
|
add r0, r4, #0
|
|
bl ov122_021E8A60
|
|
add r0, r4, #0
|
|
bl ov122_021E8AA8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8504
|
|
|
|
thumb_func_start ov122_021E8528
|
|
ov122_021E8528: ; 0x021E8528
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
add r7, r0, #0
|
|
bl ov122_021E87B8
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
add r6, sp, #4
|
|
add r1, r0, #4
|
|
_021E853E:
|
|
ldr r3, [r5, r0]
|
|
ldr r2, [r5, r1]
|
|
add r4, r4, #1
|
|
str r3, [r6]
|
|
str r2, [r6, #4]
|
|
add r5, #8
|
|
add r6, #8
|
|
cmp r4, #5
|
|
blt _021E853E
|
|
ldr r2, _021E8588 ; =0x0000014F
|
|
mov r1, #0
|
|
ldrb r0, [r7, r2]
|
|
add r2, #0x2d
|
|
str r0, [sp]
|
|
add r0, r7, #0
|
|
bl MI_CpuFill8
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
mov r6, #0
|
|
add r4, sp, #4
|
|
add r5, r7, #0
|
|
add r1, r0, #4
|
|
_021E856C:
|
|
ldr r3, [r4]
|
|
ldr r2, [r4, #4]
|
|
add r6, r6, #1
|
|
str r3, [r5, r0]
|
|
str r2, [r5, r1]
|
|
add r4, #8
|
|
add r5, #8
|
|
cmp r6, #5
|
|
blt _021E856C
|
|
ldr r1, _021E8588 ; =0x0000014F
|
|
ldr r0, [sp]
|
|
strb r0, [r7, r1]
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E8588: .word 0x0000014F
|
|
thumb_func_end ov122_021E8528
|
|
|
|
thumb_func_start ov122_021E858C
|
|
ov122_021E858C: ; 0x021E858C
|
|
mov r2, #5
|
|
lsl r2, r2, #6
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
thumb_func_end ov122_021E858C
|
|
|
|
thumb_func_start ov122_021E8594
|
|
ov122_021E8594: ; 0x021E8594
|
|
push {r4, r5, r6, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
bl ov122_021E8828
|
|
add r4, r0, #0
|
|
cmp r4, #4
|
|
blo _021E85AA
|
|
bl GF_AssertFail
|
|
_021E85AA:
|
|
cmp r4, #0
|
|
bne _021E85B4
|
|
bl GF_AssertFail
|
|
pop {r4, r5, r6, pc}
|
|
_021E85B4:
|
|
mov r1, #0x53
|
|
lsl r1, r1, #2
|
|
ldrb r0, [r5, r1]
|
|
add r0, r0, #1
|
|
strb r0, [r5, r1]
|
|
sub r0, r6, #2
|
|
cmp r0, #1
|
|
bhi _021E85CE
|
|
sub r0, r1, #2
|
|
ldrh r0, [r5, r0]
|
|
add r2, r0, #1
|
|
sub r0, r1, #2
|
|
strh r2, [r5, r0]
|
|
_021E85CE:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r5, r0]
|
|
cmp r1, #0
|
|
bne _021E85DC
|
|
strh r4, [r5, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_021E85DC:
|
|
add r2, r1, #0
|
|
ldr r0, _021E85F0 ; =0x0000C350
|
|
mul r2, r4
|
|
cmp r2, r0
|
|
ble _021E85E8
|
|
add r2, r0, #0
|
|
_021E85E8:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
strh r2, [r5, r0]
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E85F0: .word 0x0000C350
|
|
thumb_func_end ov122_021E8594
|
|
|
|
thumb_func_start ov122_021E85F4
|
|
ov122_021E85F4: ; 0x021E85F4
|
|
push {r4, lr}
|
|
bl ov122_021E8CB8
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _021E8606
|
|
bl GF_AssertFail
|
|
_021E8606:
|
|
mov r0, #1
|
|
str r0, [r4, #8]
|
|
mov r0, #0
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E85F4
|
|
|
|
thumb_func_start ov122_021E8610
|
|
ov122_021E8610: ; 0x021E8610
|
|
mov r2, #0x51
|
|
lsl r2, r2, #2
|
|
ldrh r2, [r0, r2]
|
|
cmp r2, #0
|
|
beq _021E862A
|
|
sub r2, r2, r1
|
|
bpl _021E8620
|
|
mov r2, #0
|
|
_021E8620:
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
strh r2, [r0, r1]
|
|
mov r0, #1
|
|
bx lr
|
|
_021E862A:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8610
|
|
|
|
thumb_func_start ov122_021E8630
|
|
ov122_021E8630: ; 0x021E8630
|
|
push {r3, lr}
|
|
bl ov122_021E8CB8
|
|
ldr r0, [r0, #8]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8630
|
|
|
|
thumb_func_start ov122_021E863C
|
|
ov122_021E863C: ; 0x021E863C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r4, r0]
|
|
add r0, r0, #2
|
|
ldrh r0, [r4, r0]
|
|
cmp r1, r0
|
|
bls _021E8652
|
|
bl GF_AssertFail
|
|
_021E8652:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldrh r1, [r4, r0]
|
|
add r0, r0, #2
|
|
ldrh r0, [r4, r0]
|
|
cmp r1, r0
|
|
bne _021E8664
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E8664:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E863C
|
|
|
|
thumb_func_start ov122_021E8668
|
|
ov122_021E8668: ; 0x021E8668
|
|
push {r3, lr}
|
|
bl ov122_021E8CB8
|
|
ldr r0, [r0]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8668
|
|
|
|
thumb_func_start ov122_021E8674
|
|
ov122_021E8674: ; 0x021E8674
|
|
push {r4, lr}
|
|
add r4, r2, #0
|
|
bl ov122_021E8CB8
|
|
ldr r0, [r0, #4]
|
|
and r0, r4
|
|
cmp r4, r0
|
|
bne _021E8688
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E8688:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E8674
|
|
|
|
thumb_func_start ov122_021E868C
|
|
ov122_021E868C: ; 0x021E868C
|
|
push {r4, lr}
|
|
add r4, r2, #0
|
|
bl ov122_021E8CB8
|
|
ldr r1, [r0, #4]
|
|
add r2, r1, #0
|
|
tst r2, r4
|
|
beq _021E86A2
|
|
sub r1, r1, r4
|
|
str r1, [r0, #4]
|
|
pop {r4, pc}
|
|
_021E86A2:
|
|
orr r1, r4
|
|
str r1, [r0, #4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E868C
|
|
|
|
thumb_func_start ov122_021E86A8
|
|
ov122_021E86A8: ; 0x021E86A8
|
|
push {r4, r5, r6, lr}
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r6, #5
|
|
blo _021E86B8
|
|
bl GF_AssertFail
|
|
_021E86B8:
|
|
cmp r4, #0
|
|
beq _021E86C2
|
|
cmp r4, #1
|
|
beq _021E86CC
|
|
b _021E86D4
|
|
_021E86C2:
|
|
mov r0, #0x4b
|
|
add r1, r5, r6
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_021E86CC:
|
|
ldr r0, _021E86DC ; =0x00000131
|
|
add r1, r5, r6
|
|
ldrb r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_021E86D4:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_021E86DC: .word 0x00000131
|
|
thumb_func_end ov122_021E86A8
|
|
|
|
thumb_func_start ov122_021E86E0
|
|
ov122_021E86E0: ; 0x021E86E0
|
|
push {r4, r5, r6, lr}
|
|
add r6, r2, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r6, #5
|
|
blo _021E86F0
|
|
bl GF_AssertFail
|
|
_021E86F0:
|
|
cmp r4, #0
|
|
beq _021E86FA
|
|
cmp r4, #1
|
|
beq _021E8702
|
|
b _021E870A
|
|
_021E86FA:
|
|
ldr r0, _021E8714 ; =0x00000136
|
|
add r1, r5, r6
|
|
ldrb r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_021E8702:
|
|
ldr r0, _021E8718 ; =0x0000013B
|
|
add r1, r5, r6
|
|
ldrb r0, [r1, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_021E870A:
|
|
bl GF_AssertFail
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E8714: .word 0x00000136
|
|
_021E8718: .word 0x0000013B
|
|
thumb_func_end ov122_021E86E0
|
|
|
|
thumb_func_start ov122_021E871C
|
|
ov122_021E871C: ; 0x021E871C
|
|
push {r4, lr}
|
|
mov r4, #0
|
|
cmp r1, #0
|
|
beq _021E872A
|
|
cmp r1, #1
|
|
beq _021E8748
|
|
b _021E8766
|
|
_021E872A:
|
|
mov r3, #0xc
|
|
mul r3, r2
|
|
add r1, r4, #0
|
|
add r2, r0, r3
|
|
_021E8732:
|
|
ldr r0, [r2, #8]
|
|
cmp r0, #0
|
|
beq _021E873E
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_021E873E:
|
|
add r1, r1, #1
|
|
add r2, #0x3c
|
|
cmp r1, #5
|
|
blt _021E8732
|
|
b _021E876A
|
|
_021E8748:
|
|
mov r3, #0x3c
|
|
mul r3, r2
|
|
add r1, r4, #0
|
|
add r2, r0, r3
|
|
_021E8750:
|
|
ldr r0, [r2, #8]
|
|
cmp r0, #0
|
|
beq _021E875C
|
|
add r0, r4, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
_021E875C:
|
|
add r1, r1, #1
|
|
add r2, #0xc
|
|
cmp r1, #5
|
|
blt _021E8750
|
|
b _021E876A
|
|
_021E8766:
|
|
bl GF_AssertFail
|
|
_021E876A:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E871C
|
|
|
|
thumb_func_start ov122_021E8770
|
|
ov122_021E8770: ; 0x021E8770
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
ldrh r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end ov122_021E8770
|
|
|
|
thumb_func_start ov122_021E8778
|
|
ov122_021E8778: ; 0x021E8778
|
|
mov r1, #0x52
|
|
lsl r1, r1, #2
|
|
ldrh r0, [r0, r1]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
thumb_func_end ov122_021E8778
|
|
|
|
thumb_func_start ov122_021E8784
|
|
ov122_021E8784: ; 0x021E8784
|
|
ldr r1, _021E8790 ; =0x0000014A
|
|
ldrh r0, [r0, r1]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bx lr
|
|
nop
|
|
_021E8790: .word 0x0000014A
|
|
thumb_func_end ov122_021E8784
|
|
|
|
thumb_func_start ov122_021E8794
|
|
ov122_021E8794: ; 0x021E8794
|
|
ldr r1, _021E879C ; =0x0000014E
|
|
ldrb r0, [r0, r1]
|
|
bx lr
|
|
nop
|
|
_021E879C: .word 0x0000014E
|
|
thumb_func_end ov122_021E8794
|
|
|
|
thumb_func_start ov122_021E87A0
|
|
ov122_021E87A0: ; 0x021E87A0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov122_021E8808
|
|
ldrb r1, [r0, #6]
|
|
ldr r0, _021E87B4 ; =0x0000014E
|
|
ldrb r0, [r4, r0]
|
|
sub r0, r1, r0
|
|
pop {r4, pc}
|
|
nop
|
|
_021E87B4: .word 0x0000014E
|
|
thumb_func_end ov122_021E87A0
|
|
|
|
thumb_func_start ov122_021E87B8
|
|
ov122_021E87B8: ; 0x021E87B8
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _021E8804 ; =0x0000014F
|
|
ldrb r0, [r4, r0]
|
|
cmp r0, #5
|
|
blo _021E87C8
|
|
bl GF_AssertFail
|
|
_021E87C8:
|
|
mov r2, #0x55
|
|
lsl r2, r2, #2
|
|
sub r1, r2, #5
|
|
ldrb r1, [r4, r1]
|
|
add r3, r2, #0
|
|
sub r3, #0x14
|
|
ldr r3, [r4, r3]
|
|
add r0, r4, r2
|
|
lsl r5, r1, #3
|
|
add r1, r0, r5
|
|
str r3, [r0, r5]
|
|
add r0, r2, #0
|
|
sub r0, #8
|
|
ldrb r0, [r4, r0]
|
|
strb r0, [r1, #4]
|
|
sub r0, r2, #7
|
|
ldrb r0, [r4, r0]
|
|
strb r0, [r1, #5]
|
|
sub r0, r2, #6
|
|
ldrb r0, [r4, r0]
|
|
strb r0, [r1, #6]
|
|
sub r0, r2, #5
|
|
ldrb r0, [r4, r0]
|
|
mov r1, #5
|
|
add r0, r0, #1
|
|
bl _s32_div_f
|
|
ldr r0, _021E8804 ; =0x0000014F
|
|
strb r1, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E8804: .word 0x0000014F
|
|
thumb_func_end ov122_021E87B8
|
|
|
|
thumb_func_start ov122_021E8808
|
|
ov122_021E8808: ; 0x021E8808
|
|
ldr r1, _021E8824 ; =0x0000014F
|
|
ldrb r1, [r0, r1]
|
|
cmp r1, #0
|
|
bne _021E8814
|
|
mov r2, #4
|
|
b _021E8816
|
|
_021E8814:
|
|
sub r2, r1, #1
|
|
_021E8816:
|
|
mov r1, #0x55
|
|
lsl r1, r1, #2
|
|
add r1, r0, r1
|
|
lsl r0, r2, #3
|
|
add r0, r1, r0
|
|
bx lr
|
|
nop
|
|
_021E8824: .word 0x0000014F
|
|
thumb_func_end ov122_021E8808
|
|
|
|
thumb_func_start ov122_021E8828
|
|
ov122_021E8828: ; 0x021E8828
|
|
cmp r0, #1
|
|
beq _021E8836
|
|
cmp r0, #2
|
|
beq _021E883A
|
|
cmp r0, #3
|
|
beq _021E883E
|
|
b _021E8842
|
|
_021E8836:
|
|
mov r0, #1
|
|
bx lr
|
|
_021E883A:
|
|
mov r0, #2
|
|
bx lr
|
|
_021E883E:
|
|
mov r0, #3
|
|
bx lr
|
|
_021E8842:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8828
|
|
|
|
thumb_func_start ov122_021E8848
|
|
ov122_021E8848: ; 0x021E8848
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl ov122_021E8808
|
|
ldr r2, [r0]
|
|
cmp r2, #2
|
|
bne _021E8860
|
|
ldrb r1, [r0, #5]
|
|
cmp r1, #0x46
|
|
blo _021E8860
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E8860:
|
|
ldrb r1, [r0, #5]
|
|
cmp r1, #0x28
|
|
blo _021E888A
|
|
mov r3, #0x55
|
|
lsl r3, r3, #2
|
|
mov r5, #0
|
|
add r4, r4, r3
|
|
_021E886E:
|
|
ldrb r3, [r4, #4]
|
|
cmp r3, #8
|
|
blo _021E8882
|
|
ldr r3, [r4]
|
|
cmp r3, #3
|
|
beq _021E8882
|
|
add r5, r5, #1
|
|
add r4, #8
|
|
cmp r5, #5
|
|
blt _021E886E
|
|
_021E8882:
|
|
cmp r5, #5
|
|
bne _021E888A
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_021E888A:
|
|
cmp r1, #0x3c
|
|
blo _021E8894
|
|
ldrb r3, [r0, #4]
|
|
cmp r3, #7
|
|
bhs _021E889C
|
|
_021E8894:
|
|
cmp r1, #0x32
|
|
blo _021E88A0
|
|
cmp r2, #2
|
|
bne _021E88A0
|
|
_021E889C:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_021E88A0:
|
|
cmp r1, #0x32
|
|
blo _021E88AA
|
|
ldrb r3, [r0, #4]
|
|
cmp r3, #6
|
|
bhs _021E88B2
|
|
_021E88AA:
|
|
cmp r1, #0x28
|
|
blo _021E88B6
|
|
cmp r2, #2
|
|
bne _021E88B6
|
|
_021E88B2:
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_021E88B6:
|
|
cmp r1, #0x28
|
|
blo _021E88C0
|
|
ldrb r3, [r0, #4]
|
|
cmp r3, #5
|
|
bhs _021E88C8
|
|
_021E88C0:
|
|
cmp r1, #0x1e
|
|
blo _021E88CC
|
|
cmp r2, #2
|
|
bne _021E88CC
|
|
_021E88C8:
|
|
mov r0, #3
|
|
pop {r3, r4, r5, pc}
|
|
_021E88CC:
|
|
cmp r1, #0x1e
|
|
blo _021E88D6
|
|
ldrb r3, [r0, #4]
|
|
cmp r3, #4
|
|
bhs _021E88DE
|
|
_021E88D6:
|
|
cmp r1, #0x14
|
|
blo _021E88E2
|
|
cmp r2, #2
|
|
bne _021E88E2
|
|
_021E88DE:
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_021E88E2:
|
|
cmp r1, #0x14
|
|
blo _021E88EC
|
|
ldrb r3, [r0, #4]
|
|
cmp r3, #3
|
|
bhs _021E88F4
|
|
_021E88EC:
|
|
cmp r1, #0xa
|
|
blo _021E88F8
|
|
cmp r2, #2
|
|
bne _021E88F8
|
|
_021E88F4:
|
|
mov r0, #5
|
|
pop {r3, r4, r5, pc}
|
|
_021E88F8:
|
|
cmp r1, #0xa
|
|
blo _021E8902
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #2
|
|
bhs _021E8906
|
|
_021E8902:
|
|
cmp r2, #2
|
|
bne _021E890A
|
|
_021E8906:
|
|
mov r0, #6
|
|
pop {r3, r4, r5, pc}
|
|
_021E890A:
|
|
mov r0, #7
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8848
|
|
|
|
thumb_func_start ov122_021E8910
|
|
ov122_021E8910: ; 0x021E8910
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
bl MTRandom
|
|
mov r1, #0x64
|
|
bl _u32_div_f
|
|
add r0, r7, #0
|
|
add r6, r1, #0
|
|
bl ov122_021E8848
|
|
str r0, [sp]
|
|
cmp r0, #8
|
|
blt _021E8930
|
|
bl GF_AssertFail
|
|
_021E8930:
|
|
ldr r0, [sp]
|
|
mov r1, #0x50
|
|
ldr r2, _021E8960 ; =ov122_021E978C
|
|
mul r1, r0
|
|
mov r4, #0
|
|
add r5, r2, r1
|
|
_021E893C:
|
|
ldrb r0, [r5]
|
|
cmp r6, r0
|
|
blt _021E8952
|
|
cmp r4, #0x50
|
|
blt _021E894A
|
|
bl GF_AssertFail
|
|
_021E894A:
|
|
add r4, r4, #1
|
|
add r5, r5, #1
|
|
cmp r4, #0x50
|
|
blt _021E893C
|
|
_021E8952:
|
|
ldr r1, _021E8964 ; =0x0000014E
|
|
ldr r0, [sp]
|
|
strb r0, [r7, r1]
|
|
sub r0, r1, #1
|
|
strb r4, [r7, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8960: .word ov122_021E978C
|
|
_021E8964: .word 0x0000014E
|
|
thumb_func_end ov122_021E8910
|
|
|
|
thumb_func_start ov122_021E8968
|
|
ov122_021E8968: ; 0x021E8968
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp]
|
|
ldr r7, _021E89F4 ; =0x00000131
|
|
str r0, [sp, #8]
|
|
_021E8978:
|
|
ldr r1, [sp]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r5, [sp, #8]
|
|
add r4, r1, r0
|
|
mov r1, #0
|
|
ldr r0, _021E89F4 ; =0x00000131
|
|
add r6, r1, #0
|
|
strb r1, [r4, r0]
|
|
_021E8988:
|
|
ldr r0, [r5]
|
|
bl ov122_021E8828
|
|
ldrb r1, [r4, r7]
|
|
add r6, r6, #1
|
|
add r5, #0xc
|
|
add r0, r1, r0
|
|
strb r0, [r4, r7]
|
|
cmp r6, #5
|
|
blt _021E8988
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x3c
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #5
|
|
blt _021E8978
|
|
mov r0, #0
|
|
mov r7, #0x4b
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #0xc]
|
|
lsl r7, r7, #2
|
|
_021E89B6:
|
|
ldr r1, [sp]
|
|
ldr r0, [sp, #4]
|
|
add r4, r1, r0
|
|
mov r0, #0x4b
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
strb r1, [r4, r0]
|
|
add r6, r1, #0
|
|
ldr r1, [sp]
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r1, r0
|
|
_021E89CC:
|
|
ldr r0, [r5]
|
|
bl ov122_021E8828
|
|
ldrb r1, [r4, r7]
|
|
add r6, r6, #1
|
|
add r5, #0x3c
|
|
add r0, r1, r0
|
|
strb r0, [r4, r7]
|
|
cmp r6, #5
|
|
blt _021E89CC
|
|
ldr r0, [sp, #0xc]
|
|
add r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #1
|
|
str r0, [sp, #4]
|
|
cmp r0, #5
|
|
blt _021E89B6
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E89F4: .word 0x00000131
|
|
thumb_func_end ov122_021E8968
|
|
|
|
thumb_func_start ov122_021E89F8
|
|
ov122_021E89F8: ; 0x021E89F8
|
|
push {r4, r5, r6, r7}
|
|
ldr r1, _021E8A58 ; =0x0000013B
|
|
mov r3, #0
|
|
add r5, r0, #0
|
|
_021E8A00:
|
|
ldr r4, _021E8A58 ; =0x0000013B
|
|
add r2, r0, r3
|
|
mov r6, #0
|
|
strb r6, [r2, r4]
|
|
add r4, r6, #0
|
|
add r6, r5, #0
|
|
_021E8A0C:
|
|
ldr r7, [r6]
|
|
cmp r7, #4
|
|
bne _021E8A18
|
|
ldrb r7, [r2, r1]
|
|
add r7, r7, #1
|
|
strb r7, [r2, r1]
|
|
_021E8A18:
|
|
add r4, r4, #1
|
|
add r6, #0xc
|
|
cmp r4, #5
|
|
blt _021E8A0C
|
|
add r3, r3, #1
|
|
add r5, #0x3c
|
|
cmp r3, #5
|
|
blt _021E8A00
|
|
mov r6, #0
|
|
ldr r1, _021E8A5C ; =0x00000136
|
|
add r3, r6, #0
|
|
_021E8A2E:
|
|
ldr r4, _021E8A5C ; =0x00000136
|
|
add r2, r0, r6
|
|
mov r5, #0
|
|
strb r5, [r2, r4]
|
|
add r4, r0, r3
|
|
_021E8A38:
|
|
ldr r7, [r4]
|
|
cmp r7, #4
|
|
bne _021E8A44
|
|
ldrb r7, [r2, r1]
|
|
add r7, r7, #1
|
|
strb r7, [r2, r1]
|
|
_021E8A44:
|
|
add r5, r5, #1
|
|
add r4, #0x3c
|
|
cmp r5, #5
|
|
blt _021E8A38
|
|
add r6, r6, #1
|
|
add r3, #0xc
|
|
cmp r6, #5
|
|
blt _021E8A2E
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
.balign 4, 0
|
|
_021E8A58: .word 0x0000013B
|
|
_021E8A5C: .word 0x00000136
|
|
thumb_func_end ov122_021E89F8
|
|
|
|
thumb_func_start ov122_021E8A60
|
|
ov122_021E8A60: ; 0x021E8A60
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
mov r5, #1
|
|
mov r4, #0
|
|
_021E8A68:
|
|
lsl r1, r4, #0x18
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov122_021E8CB8
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
bne _021E8A7E
|
|
bl GF_AssertFail
|
|
_021E8A7E:
|
|
ldr r0, [r6]
|
|
cmp r0, #4
|
|
beq _021E8A8C
|
|
bl ov122_021E8828
|
|
mul r0, r5
|
|
add r5, r0, #0
|
|
_021E8A8C:
|
|
add r4, r4, #1
|
|
cmp r4, #0x19
|
|
blt _021E8A68
|
|
ldr r0, _021E8AA0 ; =0x0000C350
|
|
cmp r5, r0
|
|
ble _021E8A9A
|
|
add r5, r0, #0
|
|
_021E8A9A:
|
|
ldr r0, _021E8AA4 ; =0x00000146
|
|
strh r5, [r7, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E8AA0: .word 0x0000C350
|
|
_021E8AA4: .word 0x00000146
|
|
thumb_func_end ov122_021E8A60
|
|
|
|
thumb_func_start ov122_021E8AA8
|
|
ov122_021E8AA8: ; 0x021E8AA8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r7, #0x52
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
lsl r7, r7, #2
|
|
_021E8AB2:
|
|
lsl r1, r4, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov122_021E8CB8
|
|
add r6, r0, #0
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
bne _021E8AC8
|
|
bl GF_AssertFail
|
|
_021E8AC8:
|
|
ldr r0, [r6]
|
|
sub r0, r0, #2
|
|
cmp r0, #1
|
|
bhi _021E8AD6
|
|
ldrh r0, [r5, r7]
|
|
add r0, r0, #1
|
|
strh r0, [r5, r7]
|
|
_021E8AD6:
|
|
add r4, r4, #1
|
|
cmp r4, #0x19
|
|
blt _021E8AB2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8AA8
|
|
|
|
thumb_func_start ov122_021E8AE0
|
|
ov122_021E8AE0: ; 0x021E8AE0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
mov r6, #0
|
|
add r7, r2, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
add r5, r3, #0
|
|
add r4, r6, #0
|
|
cmp r7, #0
|
|
ble _021E8B2E
|
|
_021E8AF4:
|
|
cmp r5, #0
|
|
beq _021E8B06
|
|
bl MTRandom
|
|
mov r1, #0x19
|
|
bl _u32_div_f
|
|
lsl r0, r1, #0x18
|
|
b _021E8B08
|
|
_021E8B06:
|
|
lsl r0, r4, #0x18
|
|
_021E8B08:
|
|
lsr r1, r0, #0x18
|
|
ldr r0, [sp]
|
|
bl ov122_021E8CB8
|
|
ldr r1, [r0]
|
|
cmp r1, #1
|
|
beq _021E8B1A
|
|
cmp r5, #0
|
|
bne _021E8B20
|
|
_021E8B1A:
|
|
ldr r1, [sp, #4]
|
|
str r1, [r0]
|
|
b _021E8B28
|
|
_021E8B20:
|
|
add r6, r6, #1
|
|
cmp r6, #0x64
|
|
bge _021E8B2E
|
|
sub r4, r4, #1
|
|
_021E8B28:
|
|
add r4, r4, #1
|
|
cmp r4, r7
|
|
blt _021E8AF4
|
|
_021E8B2E:
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8AE0
|
|
|
|
thumb_func_start ov122_021E8B34
|
|
ov122_021E8B34: ; 0x021E8B34
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r7, r0, #0
|
|
mov r1, #0
|
|
add r0, sp, #0x10
|
|
str r1, [sp]
|
|
add r0, #1
|
|
strb r1, [r0]
|
|
ldr r1, [sp]
|
|
strb r1, [r0, #1]
|
|
ldr r1, [sp]
|
|
strb r1, [r0, #2]
|
|
ldr r1, [sp]
|
|
strb r1, [r0, #3]
|
|
ldr r1, [sp]
|
|
strb r1, [r0, #4]
|
|
ldr r1, [sp]
|
|
add r0, sp, #0xc
|
|
strb r1, [r0]
|
|
ldr r1, [sp]
|
|
strb r1, [r0, #1]
|
|
ldr r1, [sp]
|
|
strb r1, [r0, #2]
|
|
ldr r1, [sp]
|
|
strb r1, [r0, #3]
|
|
ldr r1, [sp]
|
|
strb r1, [r0, #4]
|
|
ldr r0, _021E8C2C ; =0x0000014D
|
|
ldr r1, _021E8C30 ; =ov122_021E964C
|
|
ldrb r0, [r7, r0]
|
|
ldr r4, [sp]
|
|
lsl r0, r0, #2
|
|
add r0, r1, r0
|
|
str r0, [sp, #4]
|
|
_021E8B78:
|
|
lsl r1, r4, #0x18
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov122_021E8CB8
|
|
ldr r0, [r0]
|
|
sub r0, r0, #2
|
|
cmp r0, #1
|
|
bhi _021E8BE4
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r5, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r2, r5, #0x18
|
|
add r6, r0, #0
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86E0
|
|
lsl r2, r6, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
lsr r2, r2, #0x18
|
|
bl ov122_021E86E0
|
|
cmp r0, #0
|
|
beq _021E8BC2
|
|
ldr r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _021E8BE4
|
|
_021E8BC2:
|
|
add r0, sp, #0x10
|
|
add r0, #1
|
|
ldrb r0, [r0, r5]
|
|
add r1, r0, #1
|
|
add r0, sp, #0x10
|
|
add r0, #1
|
|
strb r1, [r0, r5]
|
|
add r0, sp, #0xc
|
|
ldrb r0, [r0, r6]
|
|
add r1, r0, #1
|
|
add r0, sp, #0xc
|
|
strb r1, [r0, r6]
|
|
ldr r0, [sp]
|
|
add r0, r0, #1
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
_021E8BE4:
|
|
add r4, r4, #1
|
|
cmp r4, #0x19
|
|
blt _021E8B78
|
|
ldr r0, [sp, #4]
|
|
ldrb r1, [r0, #3]
|
|
lsl r0, r1, #0x18
|
|
lsr r2, r0, #0x1c
|
|
ldr r0, [sp]
|
|
cmp r2, r0
|
|
bhi _021E8BFE
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E8BFE:
|
|
add r2, sp, #0x10
|
|
lsl r0, r1, #0x1c
|
|
mov r4, #0
|
|
add r2, #1
|
|
add r3, sp, #0xc
|
|
lsr r1, r0, #0x1c
|
|
_021E8C0A:
|
|
ldrb r0, [r2]
|
|
cmp r1, r0
|
|
bls _021E8C16
|
|
ldrb r0, [r3]
|
|
cmp r1, r0
|
|
bhi _021E8C1C
|
|
_021E8C16:
|
|
add sp, #0x18
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_021E8C1C:
|
|
add r4, r4, #1
|
|
add r2, r2, #1
|
|
add r3, r3, #1
|
|
cmp r4, #5
|
|
blt _021E8C0A
|
|
mov r0, #0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_021E8C2C: .word 0x0000014D
|
|
_021E8C30: .word ov122_021E964C
|
|
thumb_func_end ov122_021E8B34
|
|
|
|
thumb_func_start ov122_021E8C34
|
|
ov122_021E8C34: ; 0x021E8C34
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _021E8CA8 ; =0x0000014D
|
|
ldrb r0, [r5, r0]
|
|
cmp r0, #0x50
|
|
blo _021E8C44
|
|
bl GF_AssertFail
|
|
_021E8C44:
|
|
ldr r0, _021E8CA8 ; =0x0000014D
|
|
mov r4, #0
|
|
ldrb r0, [r5, r0]
|
|
lsl r1, r0, #2
|
|
ldr r0, _021E8CAC ; =ov122_021E964C
|
|
ldrb r0, [r0, r1]
|
|
str r0, [sp]
|
|
ldr r0, _021E8CB0 ; =ov122_021E964D
|
|
ldrb r7, [r0, r1]
|
|
ldr r0, _021E8CB4 ; =ov122_021E964E
|
|
ldrb r6, [r0, r1]
|
|
_021E8C5A:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x19
|
|
mov r3, #0
|
|
bl ov122_021E8AE0
|
|
ldr r2, [sp]
|
|
add r0, r5, #0
|
|
mov r1, #4
|
|
mov r3, #1
|
|
bl ov122_021E8AE0
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl ov122_021E8AE0
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
add r2, r6, #0
|
|
mov r3, #1
|
|
bl ov122_021E8AE0
|
|
add r0, r5, #0
|
|
bl ov122_021E89F8
|
|
add r0, r5, #0
|
|
bl ov122_021E8B34
|
|
cmp r0, #0
|
|
beq _021E8CA4
|
|
mov r0, #0xfa
|
|
add r4, r4, #1
|
|
lsl r0, r0, #2
|
|
cmp r4, r0
|
|
blt _021E8C5A
|
|
_021E8CA4:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8CA8: .word 0x0000014D
|
|
_021E8CAC: .word ov122_021E964C
|
|
_021E8CB0: .word ov122_021E964D
|
|
_021E8CB4: .word ov122_021E964E
|
|
thumb_func_end ov122_021E8C34
|
|
|
|
thumb_func_start ov122_021E8CB8
|
|
ov122_021E8CB8: ; 0x021E8CB8
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
cmp r5, #0x19
|
|
blo _021E8CC6
|
|
bl GF_AssertFail
|
|
_021E8CC6:
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r5, r0, #0x18
|
|
cmp r4, #5
|
|
blo _021E8CE6
|
|
bl GF_AssertFail
|
|
_021E8CE6:
|
|
cmp r5, #5
|
|
blo _021E8CEE
|
|
bl GF_AssertFail
|
|
_021E8CEE:
|
|
mov r0, #0x3c
|
|
mul r0, r4
|
|
add r1, r6, r0
|
|
mov r0, #0xc
|
|
mul r0, r5
|
|
add r0, r1, r0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E8CB8
|
|
|
|
thumb_func_start ov122_021E8CFC
|
|
ov122_021E8CFC: ; 0x021E8CFC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
add r7, r2, #0
|
|
cmp r5, #0
|
|
bne _021E8D0E
|
|
bl GF_AssertFail
|
|
_021E8D0E:
|
|
add r0, r6, #0
|
|
mov r1, #0x10
|
|
bl AllocFromHeap
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
mov r2, #0x10
|
|
bl MI_CpuFill8
|
|
str r5, [r4]
|
|
str r7, [r4, #4]
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldrb r0, [r4, #0xd]
|
|
ldr r1, _021E8D4C ; =ov122_021E9AAC
|
|
ldr r2, _021E8D50 ; =ov122_021E9A0C
|
|
str r0, [sp, #4]
|
|
ldr r0, _021E8D54 ; =ov122_021E9A3C
|
|
str r6, [sp, #8]
|
|
add r3, r4, #0
|
|
bl sub_02019BA4
|
|
str r0, [r4, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov122_021E9108
|
|
add r0, r4, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_021E8D4C: .word ov122_021E9AAC
|
|
_021E8D50: .word ov122_021E9A0C
|
|
_021E8D54: .word ov122_021E9A3C
|
|
thumb_func_end ov122_021E8CFC
|
|
|
|
thumb_func_start ov122_021E8D58
|
|
ov122_021E8D58: ; 0x021E8D58
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _021E8D66
|
|
bl GF_AssertFail
|
|
_021E8D66:
|
|
ldr r0, [r4, #8]
|
|
bl sub_02019BDC
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E8D58
|
|
|
|
thumb_func_start ov122_021E8D74
|
|
ov122_021E8D74: ; 0x021E8D74
|
|
push {r3, lr}
|
|
ldrb r1, [r0, #0xf]
|
|
lsl r1, r1, #0x1e
|
|
lsr r1, r1, #0x1f
|
|
beq _021E8D84
|
|
bl ov122_021E8F6C
|
|
pop {r3, pc}
|
|
_021E8D84:
|
|
bl ov122_021E9020
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8D74
|
|
|
|
thumb_func_start ov122_021E8D8C
|
|
ov122_021E8D8C: ; 0x021E8D8C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #0
|
|
ldr r0, [r4]
|
|
beq _021E8D9E
|
|
mov r1, #1
|
|
bl sub_0200DCE8
|
|
pop {r4, pc}
|
|
_021E8D9E:
|
|
mov r1, #0
|
|
bl sub_0200DCE8
|
|
mov r0, #0
|
|
strb r0, [r4, #0xd]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8D8C
|
|
|
|
thumb_func_start ov122_021E8DAC
|
|
ov122_021E8DAC: ; 0x021E8DAC
|
|
ldrb r2, [r0, #0xf]
|
|
mov r3, #1
|
|
lsl r1, r1, #0x18
|
|
bic r2, r3
|
|
lsr r3, r1, #0x18
|
|
mov r1, #1
|
|
and r1, r3
|
|
orr r1, r2
|
|
strb r1, [r0, #0xf]
|
|
ldr r3, _021E8DC4 ; =ov122_021E9154
|
|
ldrb r1, [r0, #0xd]
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E8DC4: .word ov122_021E9154
|
|
thumb_func_end ov122_021E8DAC
|
|
|
|
thumb_func_start ov122_021E8DC8
|
|
ov122_021E8DC8: ; 0x021E8DC8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldrb r1, [r5, #0xf]
|
|
mov r2, #2
|
|
bic r1, r2
|
|
lsl r2, r4, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsl r2, r2, #0x1f
|
|
lsr r2, r2, #0x1e
|
|
orr r1, r2
|
|
strb r1, [r5, #0xf]
|
|
ldrb r1, [r5, #0xd]
|
|
bl ov122_021E9154
|
|
ldr r0, [r5, #4]
|
|
add r1, r4, #0
|
|
bl sub_0200DCE8
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov122_021E8DC8
|
|
|
|
thumb_func_start ov122_021E8DF0
|
|
ov122_021E8DF0: ; 0x021E8DF0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E8DFA
|
|
bl GF_AssertFail
|
|
_021E8DFA:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _021E8E04
|
|
bl GF_AssertFail
|
|
_021E8E04:
|
|
ldr r0, [r4, #8]
|
|
bl sub_02019F74
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E8DF0
|
|
|
|
thumb_func_start ov122_021E8E0C
|
|
ov122_021E8E0C: ; 0x021E8E0C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bne _021E8E16
|
|
bl GF_AssertFail
|
|
_021E8E16:
|
|
ldr r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _021E8E20
|
|
bl GF_AssertFail
|
|
_021E8E20:
|
|
ldrb r0, [r4, #0xe]
|
|
lsl r0, r0, #0x1c
|
|
lsr r0, r0, #0x1c
|
|
pop {r4, pc}
|
|
thumb_func_end ov122_021E8E0C
|
|
|
|
thumb_func_start ov122_021E8E28
|
|
ov122_021E8E28: ; 0x021E8E28
|
|
push {r3, lr}
|
|
ldr r0, [r0, #8]
|
|
bl sub_02019F74
|
|
cmp r0, #0x19
|
|
beq _021E8E3C
|
|
cmp r0, #0x1a
|
|
beq _021E8E3C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_021E8E3C:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov122_021E8E28
|
|
|
|
thumb_func_start ov122_021E8E40
|
|
ov122_021E8E40: ; 0x021E8E40
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
mov r1, #0
|
|
bl sub_02019F7C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov122_021E9108
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E8E40
|
|
|
|
thumb_func_start ov122_021E8E58
|
|
ov122_021E8E58: ; 0x021E8E58
|
|
ldrb r2, [r0, #0xe]
|
|
mov r1, #0xf
|
|
ldr r3, _021E8E6C ; =ov122_021E9134
|
|
bic r2, r1
|
|
strb r2, [r0, #0xe]
|
|
ldrb r2, [r0, #0xe]
|
|
mov r1, #0xf0
|
|
bic r2, r1
|
|
strb r2, [r0, #0xe]
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E8E6C: .word ov122_021E9134
|
|
thumb_func_end ov122_021E8E58
|
|
|
|
thumb_func_start ov122_021E8E70
|
|
ov122_021E8E70: ; 0x021E8E70
|
|
ldrb r0, [r0, #0xf]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
bx lr
|
|
thumb_func_end ov122_021E8E70
|
|
|
|
thumb_func_start ov122_021E8E78
|
|
ov122_021E8E78: ; 0x021E8E78
|
|
push {r4, lr}
|
|
add r1, r0, #0
|
|
ldrb r3, [r1, #0xe]
|
|
ldr r2, _021E8F50 ; =gSystem
|
|
mov r4, #0x80
|
|
lsl r0, r3, #0x1c
|
|
ldr r2, [r2, #0x4c]
|
|
lsr r0, r0, #0x1c
|
|
tst r4, r2
|
|
beq _021E8EA8
|
|
add r4, r0, #2
|
|
cmp r4, #4
|
|
ble _021E8E94
|
|
mov r4, #4
|
|
_021E8E94:
|
|
ldrb r2, [r1, #0xe]
|
|
mov r3, #0xf
|
|
bic r2, r3
|
|
lsl r3, r4, #0x18
|
|
lsr r4, r3, #0x18
|
|
mov r3, #0xf
|
|
and r3, r4
|
|
orr r2, r3
|
|
strb r2, [r1, #0xe]
|
|
b _021E8F2A
|
|
_021E8EA8:
|
|
mov r4, #0x20
|
|
tst r4, r2
|
|
beq _021E8EC8
|
|
sub r4, r0, #1
|
|
bpl _021E8EB4
|
|
mov r4, #0
|
|
_021E8EB4:
|
|
ldrb r2, [r1, #0xe]
|
|
mov r3, #0xf
|
|
bic r2, r3
|
|
lsl r3, r4, #0x18
|
|
lsr r4, r3, #0x18
|
|
mov r3, #0xf
|
|
and r3, r4
|
|
orr r2, r3
|
|
strb r2, [r1, #0xe]
|
|
b _021E8F2A
|
|
_021E8EC8:
|
|
mov r4, #0x40
|
|
tst r4, r2
|
|
beq _021E8F0A
|
|
cmp r0, #4
|
|
bne _021E8EF0
|
|
lsl r2, r3, #0x18
|
|
lsr r2, r2, #0x1c
|
|
add r4, r2, #0
|
|
add r4, #0xfe
|
|
lsl r4, r4, #0x18
|
|
lsr r4, r4, #0x18
|
|
cmp r4, #1
|
|
bhi _021E8EF0
|
|
mov r4, #0xf
|
|
bic r3, r4
|
|
mov r4, #0xf
|
|
and r2, r4
|
|
orr r2, r3
|
|
strb r2, [r1, #0xe]
|
|
b _021E8F2A
|
|
_021E8EF0:
|
|
sub r4, r0, #2
|
|
bpl _021E8EF6
|
|
mov r4, #0
|
|
_021E8EF6:
|
|
ldrb r2, [r1, #0xe]
|
|
mov r3, #0xf
|
|
bic r2, r3
|
|
lsl r3, r4, #0x18
|
|
lsr r4, r3, #0x18
|
|
mov r3, #0xf
|
|
and r3, r4
|
|
orr r2, r3
|
|
strb r2, [r1, #0xe]
|
|
b _021E8F2A
|
|
_021E8F0A:
|
|
mov r3, #0x10
|
|
tst r2, r3
|
|
beq _021E8F2A
|
|
add r4, r0, #1
|
|
cmp r4, #4
|
|
ble _021E8F18
|
|
mov r4, #4
|
|
_021E8F18:
|
|
ldrb r2, [r1, #0xe]
|
|
mov r3, #0xf
|
|
bic r2, r3
|
|
lsl r3, r4, #0x18
|
|
lsr r4, r3, #0x18
|
|
mov r3, #0xf
|
|
and r3, r4
|
|
orr r2, r3
|
|
strb r2, [r1, #0xe]
|
|
_021E8F2A:
|
|
ldrb r3, [r1, #0xe]
|
|
lsl r2, r3, #0x1c
|
|
lsr r2, r2, #0x1c
|
|
cmp r0, r2
|
|
beq _021E8F4C
|
|
mov r2, #0xf0
|
|
lsl r0, r0, #0x1c
|
|
bic r3, r2
|
|
lsr r0, r0, #0x18
|
|
orr r0, r3
|
|
strb r0, [r1, #0xe]
|
|
add r0, r1, #0
|
|
bl ov122_021E9134
|
|
ldr r0, _021E8F54 ; =0x000005DC
|
|
bl PlaySE
|
|
_021E8F4C:
|
|
pop {r4, pc}
|
|
nop
|
|
_021E8F50: .word gSystem
|
|
_021E8F54: .word 0x000005DC
|
|
thumb_func_end ov122_021E8E78
|
|
|
|
thumb_func_start ov122_021E8F58
|
|
ov122_021E8F58: ; 0x021E8F58
|
|
ldrb r2, [r0, #0xe]
|
|
mov r1, #0xf
|
|
ldr r3, _021E8F68 ; =ov122_021E9134
|
|
bic r2, r1
|
|
mov r1, #4
|
|
orr r1, r2
|
|
strb r1, [r0, #0xe]
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E8F68: .word ov122_021E9134
|
|
thumb_func_end ov122_021E8F58
|
|
|
|
thumb_func_start ov122_021E8F6C
|
|
ov122_021E8F6C: ; 0x021E8F6C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrb r2, [r4, #0xf]
|
|
mov r1, #4
|
|
bic r2, r1
|
|
strb r2, [r4, #0xf]
|
|
ldr r1, _021E9018 ; =gSystem
|
|
mov r2, #1
|
|
ldr r1, [r1, #0x48]
|
|
lsl r2, r2, #0xa
|
|
tst r2, r1
|
|
beq _021E8F88
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
_021E8F88:
|
|
mov r2, #2
|
|
tst r2, r1
|
|
beq _021E8F96
|
|
bl ov122_021E8F58
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_021E8F96:
|
|
mov r2, #1
|
|
tst r1, r2
|
|
beq _021E8FB2
|
|
ldrb r1, [r4, #0xe]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #4
|
|
bne _021E8FAE
|
|
bl ov122_021E8F58
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_021E8FAE:
|
|
add r0, r2, #0
|
|
pop {r4, pc}
|
|
_021E8FB2:
|
|
bl ov122_021E8E78
|
|
ldrb r1, [r4, #0xf]
|
|
mov r0, #4
|
|
orr r0, r1
|
|
strb r0, [r4, #0xf]
|
|
ldr r0, _021E901C ; =ov122_021E9A1C
|
|
bl sub_02025224
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #8
|
|
bhs _021E9012
|
|
cmp r0, #4
|
|
beq _021E8FDA
|
|
cmp r0, #5
|
|
beq _021E8FF2
|
|
cmp r0, #6
|
|
beq _021E8FF6
|
|
b _021E8FFA
|
|
_021E8FDA:
|
|
ldrb r2, [r4, #0xe]
|
|
mov r1, #0xf
|
|
bic r2, r1
|
|
mov r1, #0xf
|
|
and r0, r1
|
|
orr r0, r2
|
|
strb r0, [r4, #0xe]
|
|
add r0, r4, #0
|
|
bl ov122_021E9134
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
_021E8FF2:
|
|
mov r0, #4
|
|
pop {r4, pc}
|
|
_021E8FF6:
|
|
mov r0, #2
|
|
pop {r4, pc}
|
|
_021E8FFA:
|
|
ldrb r2, [r4, #0xe]
|
|
mov r1, #0xf
|
|
bic r2, r1
|
|
mov r1, #0xf
|
|
and r0, r1
|
|
orr r0, r2
|
|
strb r0, [r4, #0xe]
|
|
add r0, r4, #0
|
|
bl ov122_021E9134
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_021E9012:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_021E9018: .word gSystem
|
|
_021E901C: .word ov122_021E9A1C
|
|
thumb_func_end ov122_021E8F6C
|
|
|
|
thumb_func_start ov122_021E9020
|
|
ov122_021E9020: ; 0x021E9020
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl sub_02019F74
|
|
add r6, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl sub_02019D18
|
|
add r5, r0, #0
|
|
ldr r0, [r4, #8]
|
|
bl sub_02019F74
|
|
cmp r5, #0x1c
|
|
bhs _021E9082
|
|
bl System_GetTouchNew
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x1f
|
|
ldrb r1, [r4, #0xf]
|
|
mov r2, #4
|
|
lsr r0, r0, #0x1d
|
|
bic r1, r2
|
|
orr r0, r1
|
|
strb r0, [r4, #0xf]
|
|
cmp r5, #0x19
|
|
bne _021E9076
|
|
ldrb r0, [r4, #0xf]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
beq _021E906C
|
|
strb r6, [r4, #0xd]
|
|
ldrb r1, [r4, #0xd]
|
|
ldr r0, [r4, #8]
|
|
bl sub_02019F7C
|
|
b _021E9072
|
|
_021E906C:
|
|
add r0, r4, #0
|
|
bl ov122_021E8E40
|
|
_021E9072:
|
|
mov r0, #4
|
|
pop {r4, r5, r6, pc}
|
|
_021E9076:
|
|
cmp r5, #0x1a
|
|
bne _021E907E
|
|
mov r0, #2
|
|
pop {r4, r5, r6, pc}
|
|
_021E907E:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_021E9082:
|
|
ldrb r1, [r4, #0xf]
|
|
mov r0, #4
|
|
bic r1, r0
|
|
ldr r0, _021E9100 ; =gSystem
|
|
strb r1, [r4, #0xf]
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xa
|
|
tst r0, r1
|
|
beq _021E90AC
|
|
ldrb r0, [r4, #0xd]
|
|
add r0, #0xe7
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _021E90A8
|
|
add r0, r4, #0
|
|
bl ov122_021E8E40
|
|
_021E90A8:
|
|
mov r0, #4
|
|
pop {r4, r5, r6, pc}
|
|
_021E90AC:
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _021E90B6
|
|
mov r0, #3
|
|
pop {r4, r5, r6, pc}
|
|
_021E90B6:
|
|
ldrb r0, [r4, #0xf]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021E90FA
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0x19
|
|
beq _021E90FA
|
|
cmp r0, #0x1a
|
|
beq _021E90FA
|
|
ldr r0, _021E9104 ; =ov122_021E9A1C
|
|
bl sub_02025224
|
|
cmp r0, #8
|
|
bhs _021E90FA
|
|
cmp r0, #3
|
|
bhi _021E90FA
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_021E90E2: ; jump table
|
|
.short _021E90EA - _021E90E2 - 2 ; case 0
|
|
.short _021E90EE - _021E90E2 - 2 ; case 1
|
|
.short _021E90F2 - _021E90E2 - 2 ; case 2
|
|
.short _021E90F6 - _021E90E2 - 2 ; case 3
|
|
_021E90EA:
|
|
mov r0, #5
|
|
pop {r4, r5, r6, pc}
|
|
_021E90EE:
|
|
mov r0, #6
|
|
pop {r4, r5, r6, pc}
|
|
_021E90F2:
|
|
mov r0, #7
|
|
pop {r4, r5, r6, pc}
|
|
_021E90F6:
|
|
mov r0, #8
|
|
pop {r4, r5, r6, pc}
|
|
_021E90FA:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_021E9100: .word gSystem
|
|
_021E9104: .word ov122_021E9A1C
|
|
thumb_func_end ov122_021E9020
|
|
|
|
thumb_func_start ov122_021E9108
|
|
ov122_021E9108: ; 0x021E9108
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov122_021E9154
|
|
ldr r0, [r5, #8]
|
|
add r1, r4, #0
|
|
bl sub_0201A018
|
|
add r1, sp, #0
|
|
add r1, #1
|
|
add r2, sp, #0
|
|
bl sub_02020A0C
|
|
add r2, sp, #0
|
|
ldrb r1, [r2, #1]
|
|
ldrb r2, [r2]
|
|
ldr r0, [r5]
|
|
bl sub_0200DDB8
|
|
strb r4, [r5, #0xd]
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov122_021E9108
|
|
|
|
thumb_func_start ov122_021E9134
|
|
ov122_021E9134: ; 0x021E9134
|
|
ldrb r1, [r0, #0xe]
|
|
ldr r2, _021E9148 ; =ov122_021E9BA0 + 1
|
|
ldr r0, [r0, #4]
|
|
lsl r1, r1, #0x1c
|
|
lsr r3, r1, #0x1b
|
|
ldr r1, _021E914C ; =ov122_021E9BA0
|
|
ldrb r2, [r2, r3]
|
|
ldrb r1, [r1, r3]
|
|
ldr r3, _021E9150 ; =sub_0200DDB8
|
|
bx r3
|
|
.balign 4, 0
|
|
_021E9148: .word ov122_021E9BA0 + 1
|
|
_021E914C: .word ov122_021E9BA0
|
|
_021E9150: .word sub_0200DDB8
|
|
thumb_func_end ov122_021E9134
|
|
|
|
thumb_func_start ov122_021E9154
|
|
ov122_021E9154: ; 0x021E9154
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
cmp r1, #0x19
|
|
bge _021E9176
|
|
ldrb r0, [r5, #0xf]
|
|
lsl r1, r0, #0x1e
|
|
lsr r1, r1, #0x1f
|
|
beq _021E9168
|
|
mov r4, #0x18
|
|
b _021E9188
|
|
_021E9168:
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _021E9172
|
|
mov r4, #0x17
|
|
b _021E9188
|
|
_021E9172:
|
|
mov r4, #0x12
|
|
b _021E9188
|
|
_021E9176:
|
|
bne _021E917C
|
|
mov r4, #7
|
|
b _021E9188
|
|
_021E917C:
|
|
cmp r1, #0x1a
|
|
bne _021E9184
|
|
mov r4, #4
|
|
b _021E9188
|
|
_021E9184:
|
|
bl GF_AssertFail
|
|
_021E9188:
|
|
ldrb r0, [r5, #0xf]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
ldr r0, [r5]
|
|
beq _021E919A
|
|
mov r1, #4
|
|
bl sub_0200DD10
|
|
b _021E91A0
|
|
_021E919A:
|
|
mov r1, #2
|
|
bl sub_0200DD10
|
|
_021E91A0:
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
bl sub_0200DC58
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E9154
|
|
|
|
thumb_func_start ov122_021E91AC
|
|
ov122_021E91AC: ; 0x021E91AC
|
|
push {r3, lr}
|
|
cmp r3, #0
|
|
beq _021E91B6
|
|
cmp r1, #0x19
|
|
beq _021E91C8
|
|
_021E91B6:
|
|
cmp r1, r2
|
|
beq _021E91C8
|
|
cmp r1, #0x1c
|
|
bhs _021E91C8
|
|
bl ov122_021E9108
|
|
ldr r0, _021E91CC ; =0x000005DC
|
|
bl PlaySE
|
|
_021E91C8:
|
|
pop {r3, pc}
|
|
nop
|
|
_021E91CC: .word 0x000005DC
|
|
thumb_func_end ov122_021E91AC
|
|
|
|
thumb_func_start ov122_021E91D0
|
|
ov122_021E91D0: ; 0x021E91D0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, #8]
|
|
lsr r1, r1, #0x18
|
|
bl sub_02019F7C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov122_021E9108
|
|
ldr r0, _021E91F0 ; =0x000005DC
|
|
bl PlaySE
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_021E91F0: .word 0x000005DC
|
|
thumb_func_end ov122_021E91D0
|
|
|
|
thumb_func_start ov122_021E91F4
|
|
ov122_021E91F4: ; 0x021E91F4
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E91F4
|
|
|
|
thumb_func_start ov122_021E91F8
|
|
ov122_021E91F8: ; 0x021E91F8
|
|
push {r4, r5, r6, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
cmp r4, #0x1b
|
|
bne _021E9220
|
|
ldrb r1, [r5, #0xc]
|
|
lsl r0, r1, #2
|
|
add r0, r1, r0
|
|
add r4, r0, #4
|
|
cmp r4, #0x19
|
|
blt _021E9214
|
|
bl GF_AssertFail
|
|
_021E9214:
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, #8]
|
|
lsr r1, r1, #0x18
|
|
bl sub_02019F7C
|
|
b _021E923C
|
|
_021E9220:
|
|
cmp r4, #0x1c
|
|
bne _021E923C
|
|
ldrb r1, [r5, #0xc]
|
|
lsl r0, r1, #2
|
|
add r4, r1, r0
|
|
cmp r4, #0x19
|
|
blt _021E9232
|
|
bl GF_AssertFail
|
|
_021E9232:
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, #8]
|
|
lsr r1, r1, #0x18
|
|
bl sub_02019F7C
|
|
_021E923C:
|
|
cmp r4, #0x19
|
|
beq _021E924E
|
|
cmp r4, #0x1a
|
|
beq _021E924E
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
strb r0, [r5, #0xc]
|
|
_021E924E:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl ov122_021E91AC
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov122_021E91F8
|
|
|
|
thumb_func_start ov122_021E925C
|
|
ov122_021E925C: ; 0x021E925C
|
|
push {r3, lr}
|
|
mov r3, #1
|
|
bl ov122_021E91AC
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov122_021E925C
|
|
|
|
.rodata
|
|
|
|
ov122_021E9268:
|
|
.byte 0x11, 0x12, 0x13, 0x00
|
|
|
|
ov122_021E926C:
|
|
.byte 0x15, 0x16, 0x17, 0x18
|
|
|
|
ov122_021E9270: ; 0x021E9270
|
|
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x00, 0x00
|
|
|
|
ov122_021E9278: ; 0x021E9278
|
|
.byte 0x77, 0x17, 0x74, 0x14, 0x71, 0x11, 0x6E, 0x0E
|
|
.byte 0x6B, 0x0B, 0x03, 0x00, 0x03, 0x0B, 0x00, 0x00, 0x3A, 0x00, 0x1F, 0x00, 0x68, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E9290: ; 0x021E9290
|
|
.word ov122_021E9268, 3
|
|
.word ov122_021E926C, 4
|
|
|
|
ov122_021E92A0: ; 0x021E92A0
|
|
.byte 0xA0, 0x00, 0xA1, 0x00, 0xC0, 0x00, 0xC1, 0x00, 0xE0, 0x00, 0xE1, 0x00, 0x00, 0x01, 0x01, 0x01
|
|
|
|
ov122_021E92B0: ; 0x021E92B0
|
|
.byte 0x0C, 0x08, 0x05, 0x01, 0x0F, 0x0B, 0x06, 0x02, 0x0E, 0x0A, 0x07, 0x04, 0x0D, 0x09, 0x08, 0x08
|
|
|
|
ov122_021E92C0: ; 0x021E92C0
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E92D0: ; 0x021E92D0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E92E4: ; 0x021E92E4
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E92FC: ; 0x021E92FC
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E931C: ; 0x021E931C
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E9344: ; 0x021E9344
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E9348: ; 0x021E9348
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E934C: ; 0x021E934C
|
|
.byte 0x21, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x24, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E9374: ; 0x021E9374
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 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 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E93A8: ; 0x021E93A8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E93DC: ; 0x021E93DC
|
|
.byte 0x03, 0x02, 0x13, 0x1B
|
|
.byte 0x04, 0x0C, 0xA2, 0x00, 0x03, 0x02, 0x15, 0x1B, 0x02, 0x0C, 0xA2, 0x00, 0x01, 0x19, 0x04, 0x06
|
|
.byte 0x06, 0x0E, 0x0E, 0x01, 0x01, 0x19, 0x15, 0x06, 0x02, 0x0E, 0x32, 0x01, 0x05, 0x01, 0x01, 0x1E
|
|
.byte 0x02, 0x0C, 0x01, 0x00, 0x05, 0x01, 0x03, 0x1E, 0x02, 0x0C, 0x3D, 0x00, 0x05, 0x0D, 0x06, 0x12
|
|
.byte 0x03, 0x0C, 0x79, 0x00, 0x05, 0x0D, 0x0A, 0x12, 0x03, 0x0C, 0xAF, 0x00, 0x05, 0x01, 0x0E, 0x13
|
|
.byte 0x04, 0x0C, 0xE5, 0x00, 0x05, 0x01, 0x13, 0x13, 0x04, 0x0C, 0x31, 0x01, 0x05, 0x01, 0x0F, 0x07
|
|
.byte 0x02, 0x0D, 0x01, 0x00, 0x05, 0x01, 0x05, 0x1E, 0x06, 0x0C, 0x0F, 0x00, 0x05, 0x0A, 0x0E, 0x15
|
|
.byte 0x04, 0x0C, 0xC3, 0x00, 0x05, 0x0A, 0x13, 0x15, 0x04, 0x0C, 0x17, 0x01, 0x05, 0x01, 0x11, 0x1E
|
|
.byte 0x06, 0x0C, 0x01, 0x00, 0x05, 0x02, 0x07, 0x06, 0x06, 0x0D, 0x01, 0x00, 0x05, 0x01, 0x0F, 0x1E
|
|
.byte 0x08, 0x0C, 0x25, 0x00
|
|
|
|
ov122_021E9464: ; 0x021E9464
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x03, 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, 0x01, 0x02, 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, 0x02, 0x03
|
|
.byte 0x00, 0x01, 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, 0x03, 0x04, 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, 0x00, 0x01, 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, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E950C: ; 0x021E950C
|
|
.word 0
|
|
.word ov122_021E5BA8
|
|
.word ov122_021E5BE4
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word ov122_021E5BF8
|
|
.word ov122_021E5CAC
|
|
.word 0
|
|
.word ov122_021E5D24
|
|
.word ov122_021E5D78
|
|
.word ov122_021E5DB4
|
|
.word ov122_021E5DC4
|
|
.word 0
|
|
.word 0
|
|
.word ov122_021E5E28
|
|
.word ov122_021E5E34
|
|
.word ov122_021E5E44
|
|
.word 0
|
|
.word 0
|
|
.word ov122_021E5EA4
|
|
.word 0
|
|
.word ov122_021E5EB4
|
|
.word 0
|
|
.word ov122_021E5EF8
|
|
.word ov122_021E5EC0
|
|
.word 0
|
|
.word ov122_021E5ED0
|
|
.word 0
|
|
.word ov122_021E5EF8
|
|
.word ov122_021E5EDC
|
|
.word 0
|
|
.word ov122_021E5EEC
|
|
.word 0
|
|
.word ov122_021E5EF8
|
|
.word 0
|
|
.word 0
|
|
.word ov122_021E5F1C
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word ov122_021E5F48
|
|
.word 0
|
|
.word ov122_021E6008
|
|
.word ov122_021E601C
|
|
.word ov122_021E613C
|
|
.word ov122_021E6168
|
|
.word ov122_021E6358
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word ov122_021E63AC
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word ov122_021E6418
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word 0
|
|
.word ov122_021E64E8
|
|
.word ov122_021E6594
|
|
.word 0
|
|
.word ov122_021E65F4
|
|
.word 0
|
|
.word ov122_021E65FC
|
|
.word 0
|
|
.word ov122_021E67E0
|
|
.word ov122_021E66CC
|
|
.word ov122_021E66FC
|
|
.word ov122_021E6700
|
|
.word ov122_021E67DC
|
|
.word ov122_021E67E0
|
|
.word ov122_021E688C
|
|
.word ov122_021E6900
|
|
.word ov122_021E6948
|
|
.word ov122_021E69DC
|
|
.word 0
|
|
|
|
ov122_021E964C: ; 0x021E964C
|
|
.byte 0x06
|
|
|
|
ov122_021E964D: ; 0x021E964D
|
|
.byte 0x03
|
|
|
|
ov122_021E964E: ; 0x021E964E
|
|
.byte 0x01, 0x33
|
|
.byte 0x06, 0x00, 0x03, 0x22, 0x06, 0x05, 0x00, 0x43, 0x06, 0x02, 0x02, 0x33, 0x06, 0x04, 0x01, 0x43
|
|
.byte 0x06, 0x03, 0x01, 0x33, 0x06, 0x00, 0x03, 0x22, 0x06, 0x05, 0x00, 0x43, 0x06, 0x02, 0x02, 0x33
|
|
.byte 0x06, 0x04, 0x01, 0x43, 0x07, 0x01, 0x03, 0x32, 0x07, 0x06, 0x00, 0x43, 0x07, 0x03, 0x02, 0x32
|
|
.byte 0x07, 0x00, 0x04, 0x32, 0x07, 0x05, 0x01, 0x43, 0x07, 0x01, 0x03, 0x22, 0x07, 0x06, 0x00, 0x33
|
|
.byte 0x07, 0x03, 0x02, 0x22, 0x07, 0x00, 0x04, 0x22, 0x07, 0x05, 0x01, 0x33, 0x08, 0x02, 0x03, 0x32
|
|
.byte 0x08, 0x07, 0x00, 0x43, 0x08, 0x04, 0x02, 0x43, 0x08, 0x01, 0x04, 0x32, 0x08, 0x06, 0x01, 0x34
|
|
.byte 0x08, 0x02, 0x03, 0x22, 0x08, 0x07, 0x00, 0x33, 0x08, 0x04, 0x02, 0x33, 0x08, 0x01, 0x04, 0x22
|
|
.byte 0x08, 0x06, 0x01, 0x33, 0x08, 0x03, 0x03, 0x34, 0x08, 0x00, 0x05, 0x32, 0x0A, 0x08, 0x00, 0x54
|
|
.byte 0x0A, 0x05, 0x02, 0x43, 0x0A, 0x02, 0x04, 0x43, 0x08, 0x03, 0x03, 0x33, 0x08, 0x00, 0x05, 0x22
|
|
.byte 0x0A, 0x08, 0x00, 0x44, 0x0A, 0x05, 0x02, 0x33, 0x0A, 0x02, 0x04, 0x33, 0x0A, 0x07, 0x01, 0x54
|
|
.byte 0x0A, 0x04, 0x03, 0x43, 0x0A, 0x01, 0x05, 0x43, 0x0A, 0x09, 0x00, 0x54, 0x0A, 0x06, 0x02, 0x54
|
|
.byte 0x0A, 0x07, 0x01, 0x44, 0x0A, 0x04, 0x03, 0x33, 0x0A, 0x01, 0x05, 0x33, 0x0A, 0x09, 0x00, 0x44
|
|
.byte 0x0A, 0x06, 0x02, 0x44, 0x0A, 0x03, 0x04, 0x43, 0x0A, 0x00, 0x06, 0x43, 0x0A, 0x08, 0x01, 0x54
|
|
.byte 0x0A, 0x05, 0x03, 0x54, 0x0A, 0x02, 0x05, 0x43, 0x0A, 0x03, 0x04, 0x33, 0x0A, 0x00, 0x06, 0x33
|
|
.byte 0x0A, 0x08, 0x01, 0x44, 0x0A, 0x05, 0x03, 0x44, 0x0A, 0x02, 0x05, 0x33, 0x0A, 0x07, 0x02, 0x54
|
|
.byte 0x0A, 0x04, 0x04, 0x54, 0x0D, 0x01, 0x06, 0x43, 0x0D, 0x09, 0x01, 0x65, 0x0A, 0x06, 0x03, 0x54
|
|
.byte 0x0A, 0x07, 0x02, 0x44, 0x0A, 0x04, 0x04, 0x44, 0x0D, 0x01, 0x06, 0x33, 0x0D, 0x09, 0x01, 0x55
|
|
.byte 0x0A, 0x06, 0x03, 0x44, 0x0A, 0x00, 0x07, 0x43, 0x0A, 0x08, 0x02, 0x65, 0x0A, 0x05, 0x04, 0x54
|
|
.byte 0x0A, 0x02, 0x06, 0x54, 0x0A, 0x07, 0x03, 0x65, 0x0A, 0x00, 0x07, 0x33, 0x0A, 0x08, 0x02, 0x55
|
|
.byte 0x0A, 0x05, 0x04, 0x44, 0x0A, 0x02, 0x06, 0x44, 0x0A, 0x07, 0x03, 0x55
|
|
|
|
ov122_021E978C: ; 0x021E978C
|
|
.byte 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50
|
|
.byte 0x5A, 0x64, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x14
|
|
.byte 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64, 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, 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, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C
|
|
.byte 0x46, 0x50, 0x5A, 0x64, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64
|
|
.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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x14, 0x1E, 0x28
|
|
.byte 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64, 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, 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, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E9A0C: ; 0x021E9A0C
|
|
.word ov122_021E91D0
|
|
.word ov122_021E91F4
|
|
.word ov122_021E91F8
|
|
.word ov122_021E925C
|
|
|
|
ov122_021E9A1C: ; 0x021E9A1C
|
|
.byte 0x50, 0x68, 0xC8, 0xE0
|
|
.byte 0x50, 0x68, 0xE0, 0xF8, 0x68, 0x80, 0xC8, 0xE0, 0x68, 0x80, 0xE0, 0xF8, 0x80, 0x98, 0xE0, 0xF8
|
|
.byte 0x08, 0x48, 0xC0, 0x00, 0xA0, 0xC0, 0xC0, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E9A3C: ; 0x021E9A3C
|
|
.byte 0x08, 0x20, 0x08, 0x20
|
|
.byte 0x08, 0x20, 0x28, 0x40, 0x08, 0x20, 0x48, 0x60, 0x08, 0x20, 0x68, 0x80, 0x08, 0x20, 0x88, 0xA0
|
|
.byte 0x28, 0x40, 0x08, 0x20, 0x28, 0x40, 0x28, 0x40, 0x28, 0x40, 0x48, 0x60, 0x28, 0x40, 0x68, 0x80
|
|
.byte 0x28, 0x40, 0x88, 0xA0, 0x48, 0x60, 0x08, 0x20, 0x48, 0x60, 0x28, 0x40, 0x48, 0x60, 0x48, 0x60
|
|
.byte 0x48, 0x60, 0x68, 0x80, 0x48, 0x60, 0x88, 0xA0, 0x68, 0x80, 0x08, 0x20, 0x68, 0x80, 0x28, 0x40
|
|
.byte 0x68, 0x80, 0x48, 0x60, 0x68, 0x80, 0x68, 0x80, 0x68, 0x80, 0x88, 0xA0, 0x88, 0xA0, 0x08, 0x20
|
|
.byte 0x88, 0xA0, 0x28, 0x40, 0x88, 0xA0, 0x48, 0x60, 0x88, 0xA0, 0x68, 0x80, 0x88, 0xA0, 0x88, 0xA0
|
|
.byte 0x08, 0x48, 0xC0, 0x00, 0xA0, 0xC0, 0xC0, 0x00, 0xFF, 0x00, 0x00, 0x00
|
|
|
|
ov122_021E9AAC: ; 0x021E9AAC
|
|
.byte 0x08, 0x08, 0x18, 0x18
|
|
.byte 0x14, 0x05, 0x19, 0x01, 0x28, 0x08, 0x18, 0x18, 0x15, 0x06, 0x00, 0x02, 0x48, 0x08, 0x18, 0x18
|
|
.byte 0x16, 0x07, 0x01, 0x03, 0x68, 0x08, 0x18, 0x18, 0x17, 0x08, 0x02, 0x04, 0x88, 0x08, 0x18, 0x18
|
|
.byte 0x18, 0x09, 0x03, 0x19, 0x08, 0x28, 0x18, 0x18, 0x00, 0x0A, 0x19, 0x06, 0x28, 0x28, 0x18, 0x18
|
|
.byte 0x01, 0x0B, 0x05, 0x07, 0x48, 0x28, 0x18, 0x18, 0x02, 0x0C, 0x06, 0x08, 0x68, 0x28, 0x18, 0x18
|
|
.byte 0x03, 0x0D, 0x07, 0x09, 0x88, 0x28, 0x18, 0x18, 0x04, 0x0E, 0x08, 0x19, 0x08, 0x48, 0x18, 0x18
|
|
.byte 0x05, 0x0F, 0x19, 0x0B, 0x28, 0x48, 0x18, 0x18, 0x06, 0x10, 0x0A, 0x0C, 0x48, 0x48, 0x18, 0x18
|
|
.byte 0x07, 0x11, 0x0B, 0x0D, 0x68, 0x48, 0x18, 0x18, 0x08, 0x12, 0x0C, 0x0E, 0x88, 0x48, 0x18, 0x18
|
|
.byte 0x09, 0x13, 0x0D, 0x19, 0x08, 0x68, 0x18, 0x18, 0x0A, 0x14, 0x1A, 0x10, 0x28, 0x68, 0x18, 0x18
|
|
.byte 0x0B, 0x15, 0x0F, 0x11, 0x48, 0x68, 0x18, 0x18, 0x0C, 0x16, 0x10, 0x12, 0x68, 0x68, 0x18, 0x18
|
|
.byte 0x0D, 0x17, 0x11, 0x13, 0x88, 0x68, 0x18, 0x18, 0x0E, 0x18, 0x12, 0x1A, 0x08, 0x88, 0x18, 0x18
|
|
.byte 0x0F, 0x00, 0x1A, 0x15, 0x28, 0x88, 0x18, 0x18, 0x10, 0x01, 0x14, 0x16, 0x48, 0x88, 0x18, 0x18
|
|
.byte 0x11, 0x02, 0x15, 0x17, 0x68, 0x88, 0x18, 0x18, 0x12, 0x03, 0x16, 0x18, 0x88, 0x88, 0x18, 0x18
|
|
.byte 0x13, 0x04, 0x17, 0x1A, 0xE0, 0x28, 0x00, 0x00, 0x19, 0x1A, 0x1B, 0x1C, 0xE0, 0xB0, 0x00, 0x00
|
|
.byte 0x19, 0x1A, 0x1B, 0x1C
|
|
|
|
.data
|
|
|
|
ov122_021E9BA0:
|
|
.byte 0xC8, 0x50
|
|
.byte 0xE0, 0x50
|
|
.byte 0xC8, 0x68
|
|
.byte 0xE0, 0x68
|
|
.byte 0xE0, 0x80
|