mirror of
https://github.com/pret/pokeheartgold.git
synced 2024-11-26 22:50:22 +00:00
33736 lines
626 KiB
ArmAsm
33736 lines
626 KiB
ArmAsm
#include "config.h"
|
|
#include "msgdata/msg/msg_0247.h"
|
|
#include "msgdata/msg/msg_0442.h"
|
|
#include "constants/sndseq.h"
|
|
.include "asm/macros.inc"
|
|
.include "overlay_74_thumb.inc"
|
|
.include "global.inc"
|
|
.public gApplication_TitleScreen
|
|
.public sub_020342C0
|
|
|
|
.text
|
|
|
|
thumb_func_start ov74_02227060
|
|
ov74_02227060: ; 0x02227060
|
|
push {r4, lr}
|
|
ldr r1, _02227090 ; =gSystem
|
|
add r4, r0, #0
|
|
ldr r2, [r1, #0x48]
|
|
ldr r0, _02227094 ; =0x00000CF3
|
|
tst r0, r2
|
|
beq _0222707A
|
|
mov r0, #0x6b
|
|
mov r2, #0
|
|
lsl r0, r0, #2
|
|
str r2, [r4, r0]
|
|
ldr r0, [r1, #0x48]
|
|
pop {r4, pc}
|
|
_0222707A:
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
beq _0222708C
|
|
mov r1, #0x6b
|
|
mov r0, #1
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
_0222708C:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02227090: .word gSystem
|
|
_02227094: .word 0x00000CF3
|
|
thumb_func_end ov74_02227060
|
|
|
|
thumb_func_start ov74_02227098
|
|
ov74_02227098: ; 0x02227098
|
|
push {r3, r4}
|
|
mov r3, #0
|
|
add r4, r3, #0
|
|
_0222709E:
|
|
add r2, r0, #0
|
|
add r2, #0xec
|
|
ldr r2, [r2]
|
|
cmp r2, #0
|
|
beq _022270B6
|
|
add r2, r4, #0
|
|
add r4, r4, #1
|
|
cmp r2, r1
|
|
bne _022270B6
|
|
add r0, r3, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
_022270B6:
|
|
add r3, r3, #1
|
|
add r0, r0, #4
|
|
cmp r3, #9
|
|
blo _0222709E
|
|
mov r0, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov74_02227098
|
|
|
|
thumb_func_start ov74_022270C4
|
|
ov74_022270C4: ; 0x022270C4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
cmp r2, #0
|
|
ldr r0, _02227158 ; =SEQ_SE_DP_SELECT
|
|
bne _02227106
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
ldrh r0, [r0]
|
|
lsl r0, r0, #2
|
|
add r0, r5, r0
|
|
add r0, #0xec
|
|
ldr r0, [r0]
|
|
str r0, [r5, #0x58]
|
|
cmp r0, #6
|
|
bne _02227114
|
|
bl CTRDG_IsPulledOut
|
|
cmp r0, #1
|
|
bne _02227114
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0xc
|
|
beq _022270FE
|
|
bl sub_02038D64
|
|
_022270FE:
|
|
mov r0, #0x4f
|
|
bl ShowGBACartRemovedError
|
|
b _02227114
|
|
_02227106:
|
|
bl PlaySE
|
|
mov r0, #0
|
|
str r0, [r5, #0x58]
|
|
mov r0, #1
|
|
bl ov74_02235390
|
|
_02227114:
|
|
ldr r0, [r5, #0x58]
|
|
cmp r0, #2
|
|
bne _0222712E
|
|
ldr r1, [r5, #0x40]
|
|
mov r0, #0x80
|
|
orr r1, r0
|
|
str r1, [r5, #0x40]
|
|
mov r1, #1
|
|
add r0, #0xc8
|
|
str r1, [r5, r0]
|
|
mov r0, #6
|
|
str r0, [r4]
|
|
b _02227144
|
|
_0222712E:
|
|
cmp r0, #7
|
|
bne _02227138
|
|
mov r0, #1
|
|
bl ov74_02235390
|
|
_02227138:
|
|
mov r0, #0
|
|
mov r1, #7
|
|
add r2, r4, #0
|
|
mov r3, #8
|
|
bl ov74_0223539C
|
|
_02227144:
|
|
mov r0, #0x4f
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0xd
|
|
bne _02227152
|
|
mov r1, #0xe
|
|
str r1, [r5, r0]
|
|
_02227152:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02227158: .word SEQ_SE_DP_SELECT
|
|
thumb_func_end ov74_022270C4
|
|
|
|
thumb_func_start ov74_0222715C
|
|
ov74_0222715C: ; 0x0222715C
|
|
push {r3, r4}
|
|
mov r4, #0
|
|
add r3, r4, #0
|
|
cmp r1, #0
|
|
ble _0222717A
|
|
_02227166:
|
|
add r2, r0, #0
|
|
add r2, #0xec
|
|
ldr r2, [r2]
|
|
cmp r2, #0
|
|
beq _02227172
|
|
add r4, r4, #1
|
|
_02227172:
|
|
add r3, r3, #1
|
|
add r0, r0, #4
|
|
cmp r3, r1
|
|
blt _02227166
|
|
_0222717A:
|
|
add r0, r4, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov74_0222715C
|
|
|
|
thumb_func_start ov74_02227180
|
|
ov74_02227180: ; 0x02227180
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r3, r1, #0
|
|
ldr r1, _02227238 ; =gSystem
|
|
add r5, r0, #0
|
|
ldr r2, [r1, #0x48]
|
|
ldr r1, _0222723C ; =0x00000CF3
|
|
mov r4, #0
|
|
tst r1, r2
|
|
beq _022271AA
|
|
mov r7, #0x6b
|
|
lsl r7, r7, #2
|
|
ldr r1, [r5, r7]
|
|
cmp r1, #1
|
|
bne _022271AA
|
|
str r4, [r5, r7]
|
|
add r5, #0x54
|
|
ldrh r1, [r5]
|
|
bl ov74_0222841C
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022271AA:
|
|
mov r0, #1
|
|
tst r0, r2
|
|
beq _022271BC
|
|
add r0, r5, #0
|
|
add r1, r3, #0
|
|
mov r2, #0
|
|
bl ov74_022270C4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022271BC:
|
|
mov r0, #2
|
|
tst r0, r2
|
|
beq _022271CE
|
|
add r0, r5, #0
|
|
add r1, r3, #0
|
|
mov r2, #1
|
|
bl ov74_022270C4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022271CE:
|
|
ldr r0, [r5, #0x48]
|
|
cmp r0, #0
|
|
beq _022271D8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022271D8:
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
ldrh r7, [r0]
|
|
mov r1, #0x40
|
|
add r0, r2, #0
|
|
tst r0, r1
|
|
beq _02227210
|
|
add r0, r5, #0
|
|
sub r1, #0x41
|
|
bl ov74_02228698
|
|
cmp r0, #0
|
|
beq _02227226
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
bl ov74_0222715C
|
|
add r6, r0, #0
|
|
cmp r6, #7
|
|
bne _02227206
|
|
mov r6, #3
|
|
mov r4, #1
|
|
b _02227226
|
|
_02227206:
|
|
cmp r6, #3
|
|
bne _02227226
|
|
mov r6, #0
|
|
mov r4, #1
|
|
b _02227226
|
|
_02227210:
|
|
mov r0, #0x80
|
|
tst r0, r2
|
|
beq _02227226
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
bl ov74_02228698
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
ldrh r6, [r0]
|
|
_02227226:
|
|
cmp r4, #0
|
|
beq _02227232
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
bl ov74_022286F8
|
|
_02227232:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02227238: .word gSystem
|
|
_0222723C: .word 0x00000CF3
|
|
thumb_func_end ov74_02227180
|
|
|
|
thumb_func_start ov74_02227240
|
|
ov74_02227240: ; 0x02227240
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
mov r6, #0
|
|
add r5, r0, #0
|
|
str r1, [sp, #4]
|
|
add r4, r2, #0
|
|
mvn r6, r6
|
|
mov r7, #0
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
bne _0222725E
|
|
add sp, #0xc
|
|
add r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222725E:
|
|
ldr r0, [r5, #0x48]
|
|
cmp r0, #0
|
|
bne _02227276
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _02227276
|
|
ldr r0, _0222741C ; =_0223B2C0
|
|
bl TouchscreenHitbox_FindRectAtTouchNew
|
|
add r6, r0, #0
|
|
_02227276:
|
|
cmp r6, #0
|
|
bne _022272DA
|
|
mov r0, #0x1a
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_GetAnimationNumber
|
|
lsr r0, r0, #1
|
|
beq _022272DA
|
|
mov r0, #0x1a
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetAnimActiveFlag
|
|
mov r0, #0x1a
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_ResetAnimCtrlState
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
ldrh r0, [r0]
|
|
cmp r0, #3
|
|
bls _022272C6
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
cmp r1, r0
|
|
ble _022272C6
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov74_02227098
|
|
add r1, r5, #0
|
|
add r1, #0x54
|
|
strh r0, [r1]
|
|
b _022272D4
|
|
_022272C6:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
bl ov74_02227098
|
|
add r1, r5, #0
|
|
add r1, #0x54
|
|
strh r0, [r1]
|
|
_022272D4:
|
|
mov r7, #1
|
|
str r7, [r4]
|
|
b _02227328
|
|
_022272DA:
|
|
cmp r6, #1
|
|
bne _02227328
|
|
mov r0, #0x69
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_GetAnimationNumber
|
|
lsr r0, r0, #1
|
|
beq _02227328
|
|
mov r0, #0x69
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetAnimActiveFlag
|
|
mov r0, #0x69
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_ResetAnimCtrlState
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
ldrh r0, [r0]
|
|
cmp r0, #3
|
|
bhs _02227316
|
|
add r0, r5, #0
|
|
mov r1, #3
|
|
bl ov74_02227098
|
|
b _0222731E
|
|
_02227316:
|
|
add r0, r5, #0
|
|
mov r1, #7
|
|
bl ov74_02227098
|
|
_0222731E:
|
|
add r1, r5, #0
|
|
add r1, #0x54
|
|
strh r0, [r1]
|
|
mov r7, #1
|
|
str r7, [r4]
|
|
_02227328:
|
|
cmp r7, #0
|
|
beq _0222735A
|
|
mov r0, #0x6b
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
add r1, r5, #0
|
|
add r1, #0x54
|
|
ldrh r1, [r1]
|
|
add r0, r5, #0
|
|
bl ov74_0222841C
|
|
add r1, r5, #0
|
|
add r1, #0x54
|
|
ldrh r1, [r1]
|
|
add r0, r5, #0
|
|
bl ov74_022286F8
|
|
mov r0, #0x6d
|
|
mov r1, #6
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222735A:
|
|
ldr r1, _02227420 ; =0x0000FFFE
|
|
add r0, sp, #8
|
|
strh r1, [r0]
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
ldr r2, _02227424 ; =gSystem + 0x40
|
|
asr r6, r1, #0xb
|
|
lsr r6, r6, #0x14
|
|
add r6, r1, r6
|
|
ldrh r3, [r2, #0x22]
|
|
asr r1, r6, #0xc
|
|
add r0, #0xc8
|
|
add r1, r3, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r3, r1, #0x10
|
|
cmp r3, r0
|
|
blo _02227384
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02227384:
|
|
add r0, sp, #8
|
|
str r0, [sp]
|
|
ldrh r2, [r2, #0x20]
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl DoesPixelAtScreenXYMatchPtrVal
|
|
cmp r0, #0
|
|
bne _0222739C
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222739C:
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
ldr r0, _02227424 ; =gSystem + 0x40
|
|
mov r1, #0x30
|
|
ldrh r0, [r0, #0x22]
|
|
bl _s32_div_f
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r2, [r5, r0]
|
|
cmp r2, #0
|
|
bne _022273C4
|
|
cmp r1, #0
|
|
beq _022273DA
|
|
sub r0, r1, #1
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
b _022273DA
|
|
_022273C4:
|
|
mov r0, #3
|
|
lsl r0, r0, #0x12
|
|
cmp r2, r0
|
|
bne _022273D4
|
|
add r0, r1, #3
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
b _022273DA
|
|
_022273D4:
|
|
add r0, r1, #7
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
_022273DA:
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r1, r0
|
|
blt _022273EA
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022273EA:
|
|
lsl r1, r1, #0x18
|
|
add r0, r5, #0
|
|
lsr r1, r1, #0x18
|
|
bl ov74_02227098
|
|
add r1, r5, #0
|
|
add r1, #0x54
|
|
strh r0, [r1]
|
|
mov r0, #0x6b
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
add r1, r5, #0
|
|
add r1, #0x54
|
|
ldrh r1, [r1]
|
|
add r0, r5, #0
|
|
bl ov74_0222841C
|
|
ldr r1, [sp, #4]
|
|
add r0, r5, #0
|
|
mov r2, #0
|
|
bl ov74_022270C4
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222741C: .word _0223B2C0
|
|
_02227420: .word 0x0000FFFE
|
|
_02227424: .word gSystem + 0x40
|
|
thumb_func_end ov74_02227240
|
|
|
|
thumb_func_start ov74_02227428
|
|
ov74_02227428: ; 0x02227428
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
add r2, sp, #0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov74_02227240
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
beq _02227460
|
|
mov r0, #0x6b
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
add r0, #8
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #6
|
|
beq _0222745A
|
|
add r0, r5, #0
|
|
mov r1, #0xff
|
|
bl ov74_0222841C
|
|
_0222745A:
|
|
add sp, #4
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02227460:
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov74_02227180
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov74_02227428
|
|
|
|
thumb_func_start ov74_0222746C
|
|
ov74_0222746C: ; 0x0222746C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl System_GetTouchNew
|
|
cmp r0, #0
|
|
bne _02227482
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02227482:
|
|
ldr r0, _022274C8 ; =_0223B2CC
|
|
bl TouchscreenHitbox_FindRectAtTouchNew
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
bne _02227498
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02227498:
|
|
ldr r1, _022274CC ; =0x0000FFFE
|
|
add r0, sp, #4
|
|
strh r1, [r0]
|
|
add r0, sp, #4
|
|
str r0, [sp]
|
|
ldr r3, _022274D0 ; =gSystem + 0x40
|
|
ldr r0, [r5]
|
|
ldrh r2, [r3, #0x20]
|
|
ldrh r3, [r3, #0x22]
|
|
mov r1, #1
|
|
bl DoesPixelAtScreenXYMatchPtrVal
|
|
cmp r0, #0
|
|
bne _022274BA
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_022274BA:
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
cmp r6, #0
|
|
beq _022274C4
|
|
mov r0, #2
|
|
_022274C4:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_022274C8: .word _0223B2CC
|
|
_022274CC: .word 0x0000FFFE
|
|
_022274D0: .word gSystem + 0x40
|
|
thumb_func_end ov74_0222746C
|
|
|
|
thumb_func_start ov74_022274D4
|
|
ov74_022274D4: ; 0x022274D4
|
|
push {r3, r4, r5, lr}
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
add r1, sp, #0
|
|
add r4, r0, #0
|
|
bl ov74_0222746C
|
|
add r5, r0, #0
|
|
ldr r0, [sp]
|
|
cmp r0, #0
|
|
beq _022274FE
|
|
mov r0, #0x6b
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #0xff
|
|
bl ov74_02228548
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, pc}
|
|
_022274FE:
|
|
ldr r0, _02227574 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
cmp r1, #0
|
|
bne _0222750A
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0222750A:
|
|
ldr r0, _02227578 ; =0x00000CF3
|
|
tst r0, r1
|
|
beq _0222752C
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r2, [r4, r0]
|
|
cmp r2, #1
|
|
bne _0222752C
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r4, #0x56
|
|
ldrh r1, [r4]
|
|
bl ov74_02228548
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0222752C:
|
|
mov r0, #0xc0
|
|
tst r0, r1
|
|
beq _02227556
|
|
add r0, r4, #0
|
|
add r0, #0x56
|
|
ldrh r1, [r0]
|
|
mov r0, #1
|
|
eor r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0x56
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r4, #0x56
|
|
ldrh r1, [r4]
|
|
bl ov74_02228548
|
|
ldr r0, _0222757C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02227556:
|
|
mov r0, #1
|
|
add r2, r1, #0
|
|
tst r2, r0
|
|
beq _0222756A
|
|
add r4, #0x56
|
|
ldrh r1, [r4]
|
|
cmp r1, #0
|
|
beq _02227572
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_0222756A:
|
|
mov r0, #2
|
|
tst r1, r0
|
|
bne _02227572
|
|
mov r0, #0
|
|
_02227572:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02227574: .word gSystem
|
|
_02227578: .word 0x00000CF3
|
|
_0222757C: .word SEQ_SE_DP_SELECT
|
|
thumb_func_end ov74_022274D4
|
|
|
|
thumb_func_start ov74_02227580
|
|
ov74_02227580: ; 0x02227580
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov74_02227580
|
|
|
|
thumb_func_start ov74_02227584
|
|
ov74_02227584: ; 0x02227584
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x5c
|
|
add r5, r0, #0
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
bne _022275FC
|
|
mov r1, #0x63
|
|
mov r0, #0
|
|
add r3, r5, #0
|
|
lsl r1, r1, #2
|
|
_022275A0:
|
|
ldr r2, [r3, r1]
|
|
cmp r2, #1
|
|
bne _022275F2
|
|
lsl r1, r0, #2
|
|
add r3, r5, r1
|
|
mov r1, #0x63
|
|
add r6, r0, #0
|
|
mov r2, #0
|
|
lsl r1, r1, #2
|
|
str r2, [r3, r1]
|
|
ldr r0, _02227630 ; =0x000003F7
|
|
mov r3, #0x1c
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r1, r1, #4
|
|
ldr r7, _02227634 ; =ov74_0223BBD4
|
|
mul r6, r3
|
|
add r4, r7, r6
|
|
ldr r3, [r4, #0x10]
|
|
add r0, sp, #8
|
|
add r1, r5, r1
|
|
bl ov74_02235414
|
|
ldr r1, [r4, #8]
|
|
ldr r2, [r4, #0xc]
|
|
add r0, sp, #8
|
|
mov r3, #1
|
|
bl ov74_02235464
|
|
ldr r0, [r4, #0x14]
|
|
add r1, sp, #8
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
ldr r2, [r7, r6]
|
|
ldr r3, [r4, #4]
|
|
bl ov74_02235568
|
|
add sp, #0x5c
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022275F2:
|
|
add r0, r0, #1
|
|
add r3, r3, #4
|
|
cmp r0, #1
|
|
blt _022275A0
|
|
b _0222762A
|
|
_022275FC:
|
|
add r0, r5, #0
|
|
bl ov74_02227060
|
|
mov r1, #3
|
|
tst r0, r1
|
|
beq _02227624
|
|
ldr r0, _02227638 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
mov r1, #0
|
|
bl sub_0200E5D4
|
|
mov r0, #0x19
|
|
lsl r0, r0, #4
|
|
add r0, r5, r0
|
|
bl RemoveWindow
|
|
_02227624:
|
|
add sp, #0x5c
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222762A:
|
|
mov r0, #0
|
|
add sp, #0x5c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02227630: .word 0x000003F7
|
|
_02227634: .word ov74_0223BBD4
|
|
_02227638: .word SEQ_SE_DP_SELECT
|
|
thumb_func_end ov74_02227584
|
|
|
|
thumb_func_start ov74_0222763C
|
|
ov74_0222763C: ; 0x0222763C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
bl PmAgbCartridgeGetOffsets
|
|
mov r4, #0
|
|
str r4, [r5, #0x24]
|
|
cmp r0, #0
|
|
bne _022276A6
|
|
bl PmAgbCartridge_GetVersionInternal
|
|
cmp r0, #4
|
|
bhi _0222767E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02227662: ; jump table
|
|
.short _0222766C - _02227662 - 2 ; case 0
|
|
.short _02227670 - _02227662 - 2 ; case 1
|
|
.short _02227674 - _02227662 - 2 ; case 2
|
|
.short _02227678 - _02227662 - 2 ; case 3
|
|
.short _0222767C - _02227662 - 2 ; case 4
|
|
_0222766C:
|
|
mov r4, #VERSION_RUBY
|
|
b _0222767E
|
|
_02227670:
|
|
mov r4, #VERSION_SAPPHIRE
|
|
b _0222767E
|
|
_02227674:
|
|
mov r4, #VERSION_LEAF_GREEN
|
|
b _0222767E
|
|
_02227678:
|
|
mov r4, #VERSION_FIRE_RED
|
|
b _0222767E
|
|
_0222767C:
|
|
mov r4, #VERSION_EMERALD
|
|
_0222767E:
|
|
add r0, r4, #0
|
|
bl sub_0201A4B0
|
|
ldr r0, [r5, #8]
|
|
bl Pokedex_GetNatDexFlag
|
|
cmp r0, #0
|
|
beq _022276A6
|
|
bl PmAgbCartridge_GetLanguage
|
|
ldr r1, _022276A8 ; =gGameLanguage
|
|
ldrb r1, [r1]
|
|
cmp r1, r0
|
|
bne _022276A6
|
|
bl PmAgbCartridge_GetVersionInternal
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x24]
|
|
bl ov74_02236074
|
|
_022276A6:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022276A8: .word gGameLanguage
|
|
thumb_func_end ov74_0222763C
|
|
|
|
thumb_func_start ov74_022276AC
|
|
ov74_022276AC: ; 0x022276AC
|
|
push {r4, lr}
|
|
mov r1, #0x4f
|
|
add r4, r0, #0
|
|
lsl r1, r1, #2
|
|
ldr r0, [r4, r1]
|
|
sub r0, #0xa
|
|
cmp r0, #4
|
|
bhi _0222779A
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022276C8: ; jump table
|
|
.short _022276D2 - _022276C8 - 2 ; case 0
|
|
.short _022276D8 - _022276C8 - 2 ; case 1
|
|
.short _0222779A - _022276C8 - 2 ; case 2
|
|
.short _0222770A - _022276C8 - 2 ; case 3
|
|
.short _0222778E - _022276C8 - 2 ; case 4
|
|
_022276D2:
|
|
mov r0, #0xb
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
_022276D8:
|
|
ldr r0, [r4, #4]
|
|
bl sub_02038D28
|
|
mov r1, #0x78
|
|
add r0, r1, #0
|
|
add r0, #0xc8
|
|
str r1, [r4, r0]
|
|
mov r0, #0xd
|
|
add r1, #0xc4
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
str r0, [r4, #0x40]
|
|
ldr r0, [r4, #0x14]
|
|
bl SaveMysteryGift_TestFlagx7FF
|
|
cmp r0, #1
|
|
bne _0222779A
|
|
ldr r1, [r4, #0x40]
|
|
mov r0, #1
|
|
orr r1, r0
|
|
str r1, [r4, #0x40]
|
|
ldr r1, [r4, #0x44]
|
|
orr r0, r1
|
|
str r0, [r4, #0x44]
|
|
pop {r4, pc}
|
|
_0222770A:
|
|
add r1, #0xc
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _0222779A
|
|
bl sub_02038D80
|
|
ldr r1, [r4, #0x40]
|
|
bic r0, r1
|
|
beq _02227770
|
|
mov r2, #0x51
|
|
lsl r2, r2, #2
|
|
ldr r3, [r4, r2]
|
|
cmp r3, #0xf
|
|
bne _02227770
|
|
add r2, r2, #4
|
|
ldr r2, [r4, r2]
|
|
cmp r2, #0
|
|
bne _02227770
|
|
cmp r1, r0
|
|
beq _02227770
|
|
mov r2, #1
|
|
add r1, r0, #0
|
|
str r2, [r4, #0x48]
|
|
tst r1, r2
|
|
beq _02227740
|
|
str r2, [r4, #0x34]
|
|
add r0, r2, #0
|
|
_02227740:
|
|
mov r1, #2
|
|
add r2, r0, #0
|
|
tst r2, r1
|
|
beq _0222774E
|
|
mov r0, #1
|
|
str r0, [r4, #0x2c]
|
|
add r0, r1, #0
|
|
_0222774E:
|
|
mov r1, #4
|
|
add r2, r0, #0
|
|
tst r2, r1
|
|
beq _0222775C
|
|
mov r0, #1
|
|
str r0, [r4, #0x30]
|
|
add r0, r1, #0
|
|
_0222775C:
|
|
mov r1, #3
|
|
tst r1, r0
|
|
beq _0222776A
|
|
mov r1, #0x62
|
|
mov r2, #1
|
|
lsl r1, r1, #2
|
|
str r2, [r4, r1]
|
|
_0222776A:
|
|
ldr r1, [r4, #0x40]
|
|
orr r0, r1
|
|
str r0, [r4, #0x40]
|
|
_02227770:
|
|
mov r0, #5
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222779A
|
|
bl sub_02038D64
|
|
mov r0, #0x4f
|
|
mov r1, #0xc
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_0222778E:
|
|
bl sub_02038D64
|
|
mov r0, #0x4f
|
|
mov r1, #0xc
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_0222779A:
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_022276AC
|
|
|
|
thumb_func_start ov74_0222779C
|
|
ov74_0222779C: ; 0x0222779C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x70
|
|
mov r1, #0x51
|
|
add r4, r0, #0
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
sub r2, #0xf
|
|
cmp r2, #5
|
|
bls _022277B0
|
|
b _02227ABE
|
|
_022277B0:
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_022277BC: ; jump table
|
|
.short _022277C8 - _022277BC - 2 ; case 0
|
|
.short _022277F0 - _022277BC - 2 ; case 1
|
|
.short _0222782E - _022277BC - 2 ; case 2
|
|
.short _022279CA - _022277BC - 2 ; case 3
|
|
.short _02227A26 - _022277BC - 2 ; case 4
|
|
.short _02227A9E - _022277BC - 2 ; case 5
|
|
_022277C8:
|
|
add r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _022277D6
|
|
add sp, #0x70
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022277D6:
|
|
add r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
sub r2, r0, #1
|
|
add r0, r1, #4
|
|
str r2, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _022277EA
|
|
mov r0, #0x10
|
|
str r0, [r4, r1]
|
|
_022277EA:
|
|
add sp, #0x70
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022277F0:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #0x4f
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r2, _02227AC4 ; =0x000003F7
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl LoadUserFrameGfx1
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
mov r0, #0x4f
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r2, _02227AC8 ; =0x000003EE
|
|
mov r3, #3
|
|
bl LoadUserFrameGfx1
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r1, _02227ACC ; =0x00006B5A
|
|
ldr r0, _02227AD0 ; =0x05000042
|
|
strh r1, [r0]
|
|
mov r0, #0x51
|
|
mov r1, #0x11
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _02227ABE
|
|
_0222782E:
|
|
ldr r0, _02227AC4 ; =0x000003F7
|
|
add r1, #0x10
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0x1c
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
mov r3, #0x11
|
|
bl ov74_02235414
|
|
ldr r1, [r4, #0x40]
|
|
ldr r0, [r4, #0x44]
|
|
add r6, r1, #0
|
|
mvn r0, r0
|
|
and r6, r0
|
|
mov r0, #1
|
|
add r1, r6, #0
|
|
tst r1, r0
|
|
beq _02227864
|
|
ldr r1, [r4, #0x38]
|
|
tst r0, r1
|
|
beq _02227860
|
|
ldr r5, _02227AD4 ; =ov74_0223BC30
|
|
b _022278BC
|
|
_02227860:
|
|
ldr r5, _02227AD8 ; =ov74_0223BC44
|
|
b _022278BC
|
|
_02227864:
|
|
mov r2, #2
|
|
add r1, r6, #0
|
|
tst r1, r2
|
|
beq _0222787A
|
|
ldr r0, [r4, #0x38]
|
|
tst r0, r2
|
|
beq _02227876
|
|
ldr r5, _02227ADC ; =ov74_0223BC58
|
|
b _022278BC
|
|
_02227876:
|
|
ldr r5, _02227AE0 ; =ov74_0223BC6C
|
|
b _022278BC
|
|
_0222787A:
|
|
mov r1, #0x80
|
|
tst r1, r6
|
|
beq _022278BC
|
|
str r2, [sp, #0x1c]
|
|
ldr r5, _02227AE4 ; =ov74_0223BC80
|
|
ldr r2, [sp, #0x50]
|
|
mov r1, #0x1b
|
|
mov r3, #0x4f
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, [r5, #0x10]
|
|
add r7, r0, #0
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x5c]
|
|
ldr r1, [sp, #0x10]
|
|
mov r2, #0
|
|
bl FontID_String_GetWidthMultiline
|
|
ldr r1, [r5, #8]
|
|
lsl r1, r1, #3
|
|
sub r0, r1, r0
|
|
lsr r0, r0, #1
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, [sp, #0x10]
|
|
bl String_Delete
|
|
add r0, r7, #0
|
|
bl DestroyMsgData
|
|
mov r0, #4
|
|
str r0, [sp, #0x40]
|
|
_022278BC:
|
|
ldr r1, [r5, #8]
|
|
ldr r2, [r5, #0xc]
|
|
add r0, sp, #0x1c
|
|
mov r3, #0x91
|
|
bl ov74_02235464
|
|
mov r0, #1
|
|
str r0, [sp, #0x48]
|
|
ldr r0, [r5, #0x10]
|
|
add r1, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
ldr r2, [r5]
|
|
ldr r3, [r5, #4]
|
|
bl ov74_02235568
|
|
ldr r0, [sp, #0x2c]
|
|
bl GetWindowX
|
|
add r7, r0, #0
|
|
ldr r0, [sp, #0x2c]
|
|
bl GetWindowY
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x2c]
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
ldr r0, [sp, #0x2c]
|
|
bl GetWindowHeight
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
ldr r3, [sp, #0x14]
|
|
mov r1, #1
|
|
add r2, r7, #0
|
|
bl BgTilemapRectChangePalette
|
|
mov r1, #0x80
|
|
add r0, r6, #0
|
|
tst r0, r1
|
|
beq _0222799C
|
|
mov r0, #3
|
|
tst r0, r6
|
|
bne _0222799C
|
|
add r1, #0xe4
|
|
add r0, r4, r1
|
|
mov r6, #0
|
|
str r0, [sp, #0xc]
|
|
mov r7, #1
|
|
_02227926:
|
|
ldr r0, _02227AC4 ; =0x000003F7
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0x1c
|
|
mov r2, #0
|
|
mov r3, #0x11
|
|
bl ov74_02235414
|
|
add r1, r6, #5
|
|
mov r0, #0x14
|
|
mul r0, r1
|
|
ldr r1, _02227AD4 ; =ov74_0223BC30
|
|
str r0, [sp, #0x18]
|
|
add r5, r1, r0
|
|
mov r0, #4
|
|
str r0, [sp, #0x40]
|
|
ldr r1, [r5, #8]
|
|
ldr r2, [r5, #0xc]
|
|
add r0, sp, #0x1c
|
|
add r3, r7, #0
|
|
bl ov74_02235464
|
|
mov r0, #1
|
|
str r0, [sp, #0x48]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r3, _02227AD4 ; =ov74_0223BC30
|
|
str r0, [sp]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r0, [r4]
|
|
ldr r2, [r3, r2]
|
|
ldr r3, [r5, #4]
|
|
add r1, sp, #0x1c
|
|
bl ov74_02235568
|
|
ldr r0, [sp, #0xc]
|
|
add r6, r6, #1
|
|
add r0, #0x10
|
|
add r7, #0x48
|
|
str r0, [sp, #0xc]
|
|
cmp r6, #2
|
|
blt _02227926
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x56
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
sub r1, r1, #1
|
|
bl ov74_02228548
|
|
mov r0, #0x51
|
|
mov r1, #0x13
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r1, #0x1e
|
|
add r0, #8
|
|
str r1, [r4, r0]
|
|
b _022279B0
|
|
_0222799C:
|
|
ldr r0, [r4, #0x44]
|
|
mov r1, #0x12
|
|
orr r0, r6
|
|
str r0, [r4, #0x44]
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r1, #0x1e
|
|
add r0, #8
|
|
str r1, [r4, r0]
|
|
_022279B0:
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #4
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
b _02227ABE
|
|
_022279CA:
|
|
add r2, r1, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
cmp r2, #0
|
|
beq _022279E2
|
|
add r0, r1, #0
|
|
add r0, #8
|
|
ldr r0, [r4, r0]
|
|
add r1, #8
|
|
sub r0, r0, #1
|
|
str r0, [r4, r1]
|
|
b _02227ABE
|
|
_022279E2:
|
|
add r1, #0x68
|
|
ldr r5, [r4, r1]
|
|
bl ov74_02227060
|
|
add r6, r0, #0
|
|
mov r0, #3
|
|
tst r0, r6
|
|
beq _02227ABE
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r5, r0
|
|
beq _02227A08
|
|
add r1, r4, #0
|
|
add r1, #0x54
|
|
ldrh r1, [r1]
|
|
add r0, r4, #0
|
|
bl ov74_0222841C
|
|
_02227A08:
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #0x51
|
|
mov r1, #0x14
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
add r0, #0xc
|
|
str r6, [r4, r0]
|
|
ldr r0, _02227AE8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
b _02227ABE
|
|
_02227A26:
|
|
add r2, r1, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
cmp r2, #0
|
|
beq _02227A4E
|
|
add r2, r1, #0
|
|
add r2, #8
|
|
ldr r2, [r4, r2]
|
|
sub r3, r2, #1
|
|
add r2, r1, #0
|
|
add r2, #8
|
|
str r3, [r4, r2]
|
|
add r1, #8
|
|
ldr r1, [r4, r1]
|
|
cmp r1, #0
|
|
bne _02227ABE
|
|
mov r1, #0
|
|
bl ov74_02228548
|
|
b _02227ABE
|
|
_02227A4E:
|
|
bl ov74_022274D4
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov74_022288C4
|
|
mov r0, #3
|
|
tst r0, r5
|
|
beq _02227ABE
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
add r1, r4, #0
|
|
add r1, #0x54
|
|
ldrh r1, [r1]
|
|
add r0, r4, #0
|
|
bl ov74_0222841C
|
|
mov r0, #0x51
|
|
mov r1, #0x14
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
add r0, #0xc
|
|
str r5, [r4, r0]
|
|
ldr r0, _02227AE8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
b _02227ABE
|
|
_02227A9E:
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #4
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #0x51
|
|
mov r1, #0xf
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_02227ABE:
|
|
mov r0, #1
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02227AC4: .word 0x000003F7
|
|
_02227AC8: .word 0x000003EE
|
|
_02227ACC: .word 0x00006B5A
|
|
_02227AD0: .word 0x05000042
|
|
_02227AD4: .word ov74_0223BC30
|
|
_02227AD8: .word ov74_0223BC44
|
|
_02227ADC: .word ov74_0223BC58
|
|
_02227AE0: .word ov74_0223BC6C
|
|
_02227AE4: .word ov74_0223BC80
|
|
_02227AE8: .word SEQ_SE_DP_SELECT
|
|
thumb_func_end ov74_0222779C
|
|
|
|
thumb_func_start ov74_02227AEC
|
|
ov74_02227AEC: ; 0x02227AEC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
sub r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, r1
|
|
beq _02227B74
|
|
sub r1, r1, r0
|
|
asr r0, r1, #1
|
|
lsr r0, r0, #0x1e
|
|
add r0, r1, r0
|
|
asr r0, r0, #2
|
|
asr r2, r0, #0x1f
|
|
add r1, r0, #0
|
|
eor r1, r2
|
|
sub r2, r1, r2
|
|
mov r1, #3
|
|
lsl r1, r1, #0xe
|
|
cmp r2, r1
|
|
ble _02227B22
|
|
cmp r0, #0
|
|
ble _02227B20
|
|
add r0, r1, #0
|
|
b _02227B22
|
|
_02227B20:
|
|
ldr r0, _02227B78 ; =0xFFFF4000
|
|
_02227B22:
|
|
mov r1, #0x4d
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
add r0, r2, r0
|
|
str r0, [r4, r1]
|
|
add r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [r4, r1]
|
|
sub r2, r0, r2
|
|
asr r3, r2, #0x1f
|
|
eor r2, r3
|
|
sub r3, r2, r3
|
|
add r2, r1, #0
|
|
add r2, #0xcc
|
|
cmp r3, r2
|
|
bge _02227B44
|
|
str r0, [r4, r1]
|
|
_02227B44:
|
|
mov r3, #0x4d
|
|
lsl r3, r3, #2
|
|
ldr r5, [r4, r3]
|
|
ldr r0, [r4]
|
|
asr r3, r5, #0xb
|
|
lsr r3, r3, #0x14
|
|
add r3, r5, r3
|
|
mov r1, #0
|
|
mov r2, #3
|
|
asr r3, r3, #0xc
|
|
bl ScheduleSetBgPosText
|
|
mov r3, #0x4d
|
|
lsl r3, r3, #2
|
|
ldr r0, [r4]
|
|
ldr r4, [r4, r3]
|
|
mov r1, #2
|
|
asr r3, r4, #0xb
|
|
lsr r3, r3, #0x14
|
|
add r3, r4, r3
|
|
mov r2, #3
|
|
asr r3, r3, #0xc
|
|
bl ScheduleSetBgPosText
|
|
_02227B74:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02227B78: .word 0xFFFF4000
|
|
thumb_func_end ov74_02227AEC
|
|
|
|
thumb_func_start ov74_02227B7C
|
|
ov74_02227B7C: ; 0x02227B7C
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x40
|
|
ldr r5, _02227C9C ; =_0223B2E8
|
|
add r4, r0, #0
|
|
add r3, sp, #0x18
|
|
mov r2, #5
|
|
_02227B88:
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _02227B88
|
|
ldr r3, _02227CA0 ; =_0223B2D8
|
|
add r2, sp, #8
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r0, sp, #0x18
|
|
bl GfGfx_SetBanks
|
|
add r0, sp, #8
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r2, _02227CA4 ; =0x04000304
|
|
mov r3, #0xf
|
|
ldrh r1, [r2]
|
|
ldr r0, _02227CA8 ; =0xFFFF7FFF
|
|
lsl r3, r3, #0xc
|
|
and r0, r1
|
|
strh r0, [r2]
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, [r4]
|
|
mov r2, #2
|
|
bl ov74_02235308
|
|
ldr r1, _02227CAC ; =0x04000008
|
|
mov r0, #3
|
|
ldrh r2, [r1]
|
|
mov r3, #0x4f
|
|
bic r2, r0
|
|
mov r0, #2
|
|
orr r0, r2
|
|
strh r0, [r1]
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
add r2, r0, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
mov r3, #0x36
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
lsl r3, r3, #0xa
|
|
bl ov74_02235308
|
|
ldr r1, _02227CB0 ; =0x0400000A
|
|
mov r0, #3
|
|
ldrh r2, [r1]
|
|
mov r3, #0x4f
|
|
bic r2, r0
|
|
mov r0, #1
|
|
orr r2, r0
|
|
strh r2, [r1]
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r4]
|
|
mov r1, #1
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #2
|
|
mov r3, #0xe
|
|
ldr r0, [r4]
|
|
add r2, r1, #0
|
|
lsl r3, r3, #0xc
|
|
bl ov74_02235308
|
|
ldr r1, _02227CB4 ; =0x0400000C
|
|
mov r0, #3
|
|
ldrh r2, [r1]
|
|
bic r2, r0
|
|
strh r2, [r1]
|
|
mov r0, #2
|
|
mov r1, #0x20
|
|
mov r2, #0
|
|
mov r3, #0x4f
|
|
bl BG_ClearCharDataRange
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
bl BgClearTilemapBufferAndCommit
|
|
bl ResetAllTextPrinters
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
mov r2, #0x4f
|
|
bl LoadFontPal0
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
mov r2, #0x4f
|
|
bl LoadFontPal0
|
|
mov r2, #5
|
|
mov r1, #0
|
|
lsl r2, r2, #0x18
|
|
ldr r0, _02227CB8 ; =0x00006B5A
|
|
strh r1, [r2]
|
|
strh r0, [r2, #0x3e]
|
|
str r1, [sp]
|
|
mov r0, #0x4f
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r2, _02227CBC ; =0x000003F7
|
|
mov r3, #2
|
|
bl LoadUserFrameGfx1
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x4f
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
ldr r2, _02227CC0 ; =0x000003EE
|
|
mov r1, #0
|
|
mov r3, #3
|
|
bl LoadUserFrameGfx1
|
|
ldr r1, _02227CB8 ; =0x00006B5A
|
|
ldr r0, _02227CC4 ; =0x05000042
|
|
strh r1, [r0]
|
|
add sp, #0x40
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02227C9C: .word _0223B2E8
|
|
_02227CA0: .word _0223B2D8
|
|
_02227CA4: .word 0x04000304
|
|
_02227CA8: .word 0xFFFF7FFF
|
|
_02227CAC: .word 0x04000008
|
|
_02227CB0: .word 0x0400000A
|
|
_02227CB4: .word 0x0400000C
|
|
_02227CB8: .word 0x00006B5A
|
|
_02227CBC: .word 0x000003F7
|
|
_02227CC0: .word 0x000003EE
|
|
_02227CC4: .word 0x05000042
|
|
thumb_func_end ov74_02227B7C
|
|
|
|
thumb_func_start ov74_02227CC8
|
|
ov74_02227CC8: ; 0x02227CC8
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
bl ov74_0223563C
|
|
bl ov74_02235690
|
|
mov r0, #0x2d
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x2f
|
|
mov r2, #0x2c
|
|
mov r3, #0x2e
|
|
bl ov74_02235728
|
|
mov r0, #0
|
|
mov r1, #0x1a
|
|
str r0, [sp]
|
|
lsl r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xec
|
|
mov r3, #0x14
|
|
bl ov74_02235930
|
|
mov r1, #0x1a
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0x1a
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetAnimActiveFlag
|
|
mov r0, #1
|
|
mov r1, #0x69
|
|
str r0, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
mov r0, #0
|
|
mov r2, #0xec
|
|
mov r3, #0xac
|
|
bl ov74_02235930
|
|
mov r1, #0x69
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0x69
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetAnimActiveFlag
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02227CC8
|
|
|
|
thumb_func_start ov74_02227D48
|
|
ov74_02227D48: ; 0x02227D48
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x4f
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x31
|
|
mov r2, #0
|
|
mov r3, #0x80
|
|
bl GfGfxLoader_GXLoadPal
|
|
ldr r0, _02227D84 ; =0x000003E6
|
|
mov r1, #0x30
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0x4f
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4]
|
|
mov r0, #0x71
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadCharData
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02227D84: .word 0x000003E6
|
|
thumb_func_end ov74_02227D48
|
|
|
|
thumb_func_start ov74_02227D88
|
|
ov74_02227D88: ; 0x02227D88
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
mov r1, #2
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
bl GetBgTilemapBuffer
|
|
ldr r1, _02227DD0 ; =0x000043E6
|
|
cmp r7, #2
|
|
bne _02227DA2
|
|
add r1, r1, #4
|
|
_02227DA2:
|
|
lsl r2, r6, #5
|
|
add r3, r4, r2
|
|
lsl r2, r3, #1
|
|
add r3, r3, #1
|
|
strh r1, [r0, r2]
|
|
add r2, r1, #1
|
|
lsl r3, r3, #1
|
|
strh r2, [r0, r3]
|
|
add r2, r6, #1
|
|
lsl r2, r2, #5
|
|
add r4, r4, r2
|
|
add r3, r1, #2
|
|
lsl r2, r4, #1
|
|
strh r3, [r0, r2]
|
|
add r2, r1, #3
|
|
add r1, r4, #1
|
|
lsl r1, r1, #1
|
|
strh r2, [r0, r1]
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02227DD0: .word 0x000043E6
|
|
thumb_func_end ov74_02227D88
|
|
|
|
thumb_func_start ov74_02227DD4
|
|
ov74_02227DD4: ; 0x02227DD4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
mov r1, #2
|
|
bl GetBgTilemapBuffer
|
|
lsl r1, r6, #5
|
|
add r3, r4, r1
|
|
mov r1, #0
|
|
lsl r2, r3, #1
|
|
strh r1, [r0, r2]
|
|
add r2, r3, #1
|
|
lsl r2, r2, #1
|
|
strh r1, [r0, r2]
|
|
add r2, r6, #1
|
|
lsl r2, r2, #5
|
|
add r3, r4, r2
|
|
lsl r2, r3, #1
|
|
strh r1, [r0, r2]
|
|
add r2, r3, #1
|
|
lsl r2, r2, #1
|
|
strh r1, [r0, r2]
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02227DD4
|
|
|
|
thumb_func_start ov74_02227E10
|
|
ov74_02227E10: ; 0x02227E10
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r6, r0, #0
|
|
add r0, r2, #0
|
|
add r7, r3, #0
|
|
ldr r2, [sp, #0x28]
|
|
mov r3, #0x4f
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mov r1, #2
|
|
bl GetFontAttribute
|
|
add r2, r0, #0
|
|
mov r0, #0
|
|
add r1, r5, #0
|
|
bl FontID_String_GetWidth
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
add r4, #0x20
|
|
sub r3, r0, r4
|
|
ldr r0, [sp, #0x2c]
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r7, [sp, #8]
|
|
add r0, r6, #0
|
|
add r2, r5, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r5, #0
|
|
bl String_Delete
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_02227E10
|
|
|
|
thumb_func_start ov74_02227E64
|
|
ov74_02227E64: ; 0x02227E64
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
add r2, r1, #0
|
|
cmp r2, #0x64
|
|
blt _02227E74
|
|
mov r3, #3
|
|
mov r1, #0
|
|
b _02227E82
|
|
_02227E74:
|
|
cmp r2, #0xa
|
|
blt _02227E7E
|
|
mov r3, #3
|
|
mov r1, #1
|
|
b _02227E82
|
|
_02227E7E:
|
|
mov r3, #2
|
|
mov r1, #1
|
|
_02227E82:
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
mov r1, #0
|
|
bl BufferIntegerAsString
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02227E64
|
|
|
|
thumb_func_start ov74_MainMenu_PrintContinueButton
|
|
ov74_MainMenu_PrintContinueButton: ; 0x02227E94
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x2c
|
|
str r2, [sp, #0x18]
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
add r4, r3, #0
|
|
ldr r2, _02228028 ; =0x000001BA
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r3, #0x4f
|
|
bl NewMsgDataFromNarc
|
|
str r0, [sp, #0x24]
|
|
mov r0, #0x4f
|
|
bl MessageFormat_New
|
|
str r0, [sp, #0x28]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #0xc]
|
|
bl PlayerProfile_GetTrainerGender
|
|
cmp r0, #1
|
|
bne _02227EC8
|
|
ldr r0, _0222802C ; =0x0003040F
|
|
str r0, [sp, #0x1c]
|
|
b _02227ECC
|
|
_02227EC8:
|
|
ldr r0, _02228030 ; =0x0007080F
|
|
str r0, [sp, #0x1c]
|
|
_02227ECC:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, _02228034 ; =ov74_0223BCBC + 8
|
|
lsl r0, r0, #4
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [r1, r0]
|
|
ldr r1, [sp, #0x18]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x10]
|
|
mov r2, #3
|
|
ldr r0, [r0]
|
|
add r3, r4, #0
|
|
bl ov74_02235568
|
|
ldr r4, _02228038 ; =ov74_0223BBC4
|
|
mov r6, #1
|
|
mov r5, #0x10
|
|
_02227EEC:
|
|
cmp r6, #4
|
|
bne _02227EF8
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #0x4c]
|
|
cmp r0, #0
|
|
beq _02227F28
|
|
_02227EF8:
|
|
ldr r0, [sp, #0x28]
|
|
ldr r1, [sp, #0x24]
|
|
ldr r2, [r4]
|
|
mov r3, #0x4f
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r7, r0, #0
|
|
str r5, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x1c]
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x18]
|
|
add r2, r7, #0
|
|
ldr r0, [r0, #0x10]
|
|
mov r3, #0x20
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r7, #0
|
|
bl String_Delete
|
|
_02227F28:
|
|
add r6, r6, #1
|
|
add r4, r4, #4
|
|
add r5, #0x10
|
|
cmp r6, #5
|
|
blo _02227EEC
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [sp, #0x28]
|
|
ldr r2, [r2, #0xc]
|
|
mov r1, #0
|
|
bl BufferPlayersName
|
|
mov r0, #0x11
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [r0, #0x10]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x1c]
|
|
bl ov74_02227E10
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #0x10]
|
|
bl GetIGTHours
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x28]
|
|
bl ov74_02227E64
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #0x10]
|
|
bl GetIGTMinutes
|
|
add r2, r0, #0
|
|
mov r3, #2
|
|
ldr r0, [sp, #0x28]
|
|
str r3, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
bl BufferIntegerAsString
|
|
mov r0, #0x12
|
|
str r0, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [r0, #0x10]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x1c]
|
|
bl ov74_02227E10
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r0, [sp, #0x28]
|
|
ldr r2, [r2, #0x50]
|
|
mov r3, #2
|
|
bl BufferIntegerAsString
|
|
mov r0, #0x14
|
|
str r0, [sp]
|
|
mov r0, #0x30
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [r0, #0x10]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x1c]
|
|
bl ov74_02227E10
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #0x4c]
|
|
cmp r0, #0
|
|
beq _02227FEA
|
|
ldr r0, [sp, #0x10]
|
|
ldr r0, [r0, #8]
|
|
bl Pokedex_CountDexOwned
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x28]
|
|
bl ov74_02227E64
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x40
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, [r0, #0x10]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x1c]
|
|
bl ov74_02227E10
|
|
_02227FEA:
|
|
ldr r2, [sp, #0x18]
|
|
ldr r3, [sp, #0x18]
|
|
ldr r0, [sp, #0x18]
|
|
ldr r2, [r2, #0x38]
|
|
ldr r3, [r3, #0x3c]
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r0, #0x10]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl DrawFrameAndWindow1
|
|
ldr r1, _0222803C ; =ov74_0223BCBC
|
|
ldr r0, [sp, #0x20]
|
|
ldr r2, [r1, r0]
|
|
ldr r0, [sp, #0x14]
|
|
lsl r1, r0, #2
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, r1
|
|
add r0, #0xec
|
|
str r2, [r0]
|
|
ldr r0, [sp, #0x28]
|
|
bl MessageFormat_Delete
|
|
ldr r0, [sp, #0x24]
|
|
bl DestroyMsgData
|
|
mov r0, #1
|
|
add sp, #0x2c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02228028: .word 0x000001BA
|
|
_0222802C: .word 0x0003040F
|
|
_02228030: .word 0x0007080F
|
|
_02228034: .word ov74_0223BCBC + 8
|
|
_02228038: .word ov74_0223BBC4
|
|
_0222803C: .word ov74_0223BCBC
|
|
thumb_func_end ov74_MainMenu_PrintContinueButton
|
|
|
|
thumb_func_start ov74_MainMenu_PrintMigrateFromAgbButton
|
|
ov74_MainMenu_PrintMigrateFromAgbButton: ; 0x02228040
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
add r5, r1, #0
|
|
add r1, r2, #0
|
|
ldr r2, [r4, #0x24]
|
|
add r6, r3, #0
|
|
cmp r2, #0
|
|
bne _02228058
|
|
add sp, #4
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02228058:
|
|
sub r2, r2, #1
|
|
cmp r2, #4
|
|
bhi _02228086
|
|
add r2, r2, r2
|
|
add r2, pc
|
|
ldrh r2, [r2, #6]
|
|
lsl r2, r2, #0x10
|
|
asr r2, r2, #0x10
|
|
add pc, r2
|
|
_0222806A: ; jump table
|
|
.short _02228074 - _0222806A - 2 ; case 0
|
|
.short _02228078 - _0222806A - 2 ; case 1
|
|
.short _0222807C - _0222806A - 2 ; case 2
|
|
.short _02228080 - _0222806A - 2 ; case 3
|
|
.short _02228084 - _0222806A - 2 ; case 4
|
|
_02228074:
|
|
mov r0, #msg_0442_00004
|
|
b _02228086
|
|
_02228078:
|
|
mov r0, #msg_0442_00005
|
|
b _02228086
|
|
_0222807C:
|
|
mov r0, #msg_0442_00006
|
|
b _02228086
|
|
_02228080:
|
|
mov r0, #msg_0442_00007
|
|
b _02228086
|
|
_02228084:
|
|
mov r0, #msg_0442_00008
|
|
_02228086:
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r2, #3
|
|
add r3, r6, #0
|
|
bl ov74_02235568
|
|
add r0, r4, #0
|
|
mov r1, #0x17
|
|
add r2, r6, #0
|
|
bl ov74_02227DD4
|
|
ldr r0, _022280B0 ; =ov74_0223BCBC
|
|
lsl r1, r5, #4
|
|
ldr r1, [r0, r1]
|
|
lsl r0, r5, #2
|
|
add r0, r4, r0
|
|
add r0, #0xec
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_022280B0: .word ov74_0223BCBC
|
|
thumb_func_end ov74_MainMenu_PrintMigrateFromAgbButton
|
|
|
|
thumb_func_start ov74_MainMenu_PrintMysteryGiftButton
|
|
ov74_MainMenu_PrintMysteryGiftButton: ; 0x022280B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x34]
|
|
add r4, r1, #0
|
|
add r7, r3, #0
|
|
str r2, [sp, #4]
|
|
cmp r0, #0
|
|
bne _022280FC
|
|
ldr r0, [r5, #0x14]
|
|
bl SaveMysteryGift_TestFlagx7FF
|
|
cmp r0, #1
|
|
bne _022280D4
|
|
mov r0, #1
|
|
str r0, [r5, #0x34]
|
|
_022280D4:
|
|
ldr r0, [r5, #4]
|
|
bl Save_SysInfo_Get
|
|
bl Save_SysInfo_GetMysteryGiftActive
|
|
cmp r0, #1
|
|
bne _022280E6
|
|
mov r0, #1
|
|
str r0, [r5, #0x34]
|
|
_022280E6:
|
|
mov r0, #0x4f
|
|
bl ov74_0223512C
|
|
bl ov74_02235230
|
|
cmp r0, #0
|
|
beq _022280FC
|
|
mov r0, #1
|
|
str r0, [r5, #0x34]
|
|
bl ov74_02236034
|
|
_022280FC:
|
|
ldr r0, [r5, #0x34]
|
|
cmp r0, #1
|
|
bne _0222810C
|
|
ldr r0, [r5, #0x4c]
|
|
cmp r0, #0
|
|
bne _0222810C
|
|
mov r0, #0
|
|
str r0, [r5, #0x34]
|
|
_0222810C:
|
|
ldr r0, [r5, #0x34]
|
|
cmp r0, #1
|
|
bne _02228150
|
|
ldr r0, _02228158 ; =ov74_0223BCBC + 8
|
|
lsl r6, r4, #4
|
|
ldr r0, [r0, r6]
|
|
ldr r1, [sp, #4]
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
mov r2, #3
|
|
add r3, r7, #0
|
|
bl ov74_02235568
|
|
add r0, r5, #0
|
|
mov r1, #0x17
|
|
add r2, r7, #0
|
|
bl ov74_02227DD4
|
|
ldr r0, _0222815C ; =ov74_0223BCBC
|
|
ldr r1, [r0, r6]
|
|
lsl r0, r4, #2
|
|
add r0, r5, r0
|
|
add r0, #0xec
|
|
str r1, [r0]
|
|
ldr r1, [r5, #0x38]
|
|
mov r0, #1
|
|
orr r0, r1
|
|
str r0, [r5, #0x38]
|
|
ldr r0, [r5, #0x14]
|
|
bl SaveMysteryGift_SetFlagx7FF
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02228150:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02228158: .word ov74_0223BCBC + 8
|
|
_0222815C: .word ov74_0223BCBC
|
|
thumb_func_end ov74_MainMenu_PrintMysteryGiftButton
|
|
|
|
thumb_func_start ov74_MainMenu_PrintConnectToRangerButton
|
|
ov74_MainMenu_PrintConnectToRangerButton: ; 0x02228160
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x2c]
|
|
add r4, r1, #0
|
|
add r7, r3, #0
|
|
cmp r0, #1
|
|
bne _022281B0
|
|
ldr r0, [r5, #0x4c]
|
|
cmp r0, #1
|
|
bne _022281B0
|
|
ldr r0, _022281B4 ; =ov74_0223BCBC + 8
|
|
lsl r6, r4, #4
|
|
ldr r0, [r0, r6]
|
|
add r1, r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
mov r2, #3
|
|
bl ov74_02235568
|
|
add r0, r5, #0
|
|
mov r1, #0x17
|
|
add r2, r7, #0
|
|
mov r3, #1
|
|
bl ov74_02227D88
|
|
lsl r1, r4, #2
|
|
add r2, r5, r1
|
|
mov r1, #0x11
|
|
mov r0, #1
|
|
lsl r1, r1, #4
|
|
str r0, [r2, r1]
|
|
ldr r1, _022281B8 ; =ov74_0223BCBC
|
|
add r2, #0xec
|
|
ldr r1, [r1, r6]
|
|
str r1, [r2]
|
|
ldr r2, [r5, #0x38]
|
|
mov r1, #2
|
|
orr r1, r2
|
|
str r1, [r5, #0x38]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022281B0:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022281B4: .word ov74_0223BCBC + 8
|
|
_022281B8: .word ov74_0223BCBC
|
|
thumb_func_end ov74_MainMenu_PrintConnectToRangerButton
|
|
|
|
thumb_func_start ov74_MainMenu_PrintConnectToWiiButton
|
|
ov74_MainMenu_PrintConnectToWiiButton: ; 0x022281BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x30]
|
|
add r5, r1, #0
|
|
add r7, r3, #0
|
|
cmp r0, #1
|
|
bne _02228200
|
|
ldr r0, _02228204 ; =ov74_0223BCBC + 8
|
|
lsl r6, r5, #4
|
|
ldr r0, [r0, r6]
|
|
add r1, r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r2, #3
|
|
bl ov74_02235568
|
|
lsl r5, r5, #2
|
|
mov r0, #0x11
|
|
mov r3, #1
|
|
add r1, r4, r5
|
|
lsl r0, r0, #4
|
|
str r3, [r1, r0]
|
|
add r0, r4, #0
|
|
mov r1, #0x17
|
|
add r2, r7, #0
|
|
bl ov74_02227D88
|
|
ldr r0, _02228208 ; =ov74_0223BCBC
|
|
ldr r1, [r0, r6]
|
|
add r0, r4, r5
|
|
add r0, #0xec
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02228200:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02228204: .word ov74_0223BCBC + 8
|
|
_02228208: .word ov74_0223BCBC
|
|
thumb_func_end ov74_MainMenu_PrintConnectToWiiButton
|
|
|
|
thumb_func_start ov74_MainMenu_PrintNintendoWFCSetupButton
|
|
ov74_MainMenu_PrintNintendoWFCSetupButton: ; 0x0222820C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, _0222824C ; =ov74_0223BCBC + 8
|
|
lsl r6, r4, #4
|
|
ldr r0, [r0, r6]
|
|
add r1, r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
mov r2, #3
|
|
add r7, r3, #0
|
|
bl ov74_02235568
|
|
lsl r4, r4, #2
|
|
mov r0, #0x11
|
|
mov r3, #2
|
|
add r1, r5, r4
|
|
lsl r0, r0, #4
|
|
str r3, [r1, r0]
|
|
add r0, r5, #0
|
|
mov r1, #0x17
|
|
add r2, r7, #0
|
|
bl ov74_02227D88
|
|
ldr r0, _02228250 ; =ov74_0223BCBC
|
|
ldr r1, [r0, r6]
|
|
add r0, r5, r4
|
|
add r0, #0xec
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222824C: .word ov74_0223BCBC + 8
|
|
_02228250: .word ov74_0223BCBC
|
|
thumb_func_end ov74_MainMenu_PrintNintendoWFCSetupButton
|
|
|
|
thumb_func_start ov74_MainMenu_PrintConnectToPokewalkerButton
|
|
ov74_MainMenu_PrintConnectToPokewalkerButton: ; 0x02228254
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, _02228288 ; =ov74_0223BCBC + 8
|
|
lsl r4, r6, #4
|
|
ldr r0, [r0, r4]
|
|
add r1, r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
add r7, r3, #0
|
|
mov r2, #3
|
|
bl ov74_02235568
|
|
add r0, r5, #0
|
|
mov r1, #0x17
|
|
add r2, r7, #0
|
|
bl ov74_02227DD4
|
|
ldr r0, _0222828C ; =ov74_0223BCBC
|
|
ldr r1, [r0, r4]
|
|
lsl r0, r6, #2
|
|
add r0, r5, r0
|
|
add r0, #0xec
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02228288: .word ov74_0223BCBC + 8
|
|
_0222828C: .word ov74_0223BCBC
|
|
thumb_func_end ov74_MainMenu_PrintConnectToPokewalkerButton
|
|
|
|
thumb_func_start ov74_MainMenu_PrintWiiMessageSettingsButton
|
|
ov74_MainMenu_PrintWiiMessageSettingsButton: ; 0x02228290
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r5, r0, #0
|
|
ldr r0, _022282C4 ; =ov74_0223BCBC + 8
|
|
lsl r4, r6, #4
|
|
ldr r0, [r0, r4]
|
|
add r1, r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
add r7, r3, #0
|
|
mov r2, #3
|
|
bl ov74_02235568
|
|
add r0, r5, #0
|
|
mov r1, #0x17
|
|
add r2, r7, #0
|
|
bl ov74_02227DD4
|
|
ldr r0, _022282C8 ; =ov74_0223BCBC
|
|
ldr r1, [r0, r4]
|
|
lsl r0, r6, #2
|
|
add r0, r5, r0
|
|
add r0, #0xec
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022282C4: .word ov74_0223BCBC + 8
|
|
_022282C8: .word ov74_0223BCBC
|
|
thumb_func_end ov74_MainMenu_PrintWiiMessageSettingsButton
|
|
|
|
thumb_func_start ov74_022282CC
|
|
ov74_022282CC: ; 0x022282CC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x70
|
|
mov r1, #0x1b
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
str r0, [sp, #0xc]
|
|
str r0, [r7, r1]
|
|
str r0, [sp, #0x10]
|
|
add r0, r7, #0
|
|
str r0, [sp, #8]
|
|
add r0, #0x5c
|
|
str r0, [sp, #8]
|
|
add r0, r7, #0
|
|
mov r5, #1
|
|
str r0, [sp, #0x14]
|
|
add r0, #0x20
|
|
ldr r4, _02228410 ; =ov74_0223BCBC
|
|
str r5, [r7, #0x20]
|
|
str r7, [sp, #0x18]
|
|
str r0, [sp, #0x14]
|
|
_022282F6:
|
|
ldr r0, _02228414 ; =0x000003F7
|
|
ldr r1, [sp, #8]
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r3, _02228418 ; =0x000001BA
|
|
add r0, sp, #0x1c
|
|
mov r2, #1
|
|
bl ov74_02235414
|
|
ldr r2, [r4, #4]
|
|
ldr r3, [r7, #0x20]
|
|
add r0, sp, #0x1c
|
|
mov r1, #0x17
|
|
bl ov74_02235464
|
|
ldr r0, [r4, #0xc]
|
|
mov ip, r0
|
|
cmp r0, #0
|
|
beq _02228398
|
|
ldr r0, [sp, #0x18]
|
|
add r0, #0xec
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0222837C
|
|
ldr r0, [sp, #0x2c]
|
|
mov r1, #3
|
|
bl SetWindowX
|
|
lsl r1, r5, #0x18
|
|
ldr r0, [sp, #0x2c]
|
|
lsr r1, r1, #0x18
|
|
bl SetWindowY
|
|
ldr r2, [sp, #0x54]
|
|
ldr r3, [sp, #0x58]
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [sp, #0x2c]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl DrawFrameAndWindow1
|
|
mov r1, #0x11
|
|
ldr r0, [sp, #0x18]
|
|
lsl r1, r1, #4
|
|
ldr r3, [r0, r1]
|
|
cmp r3, #0
|
|
beq _02228366
|
|
add r0, r7, #0
|
|
mov r1, #0x17
|
|
add r2, r5, #0
|
|
bl ov74_02227D88
|
|
b _02228370
|
|
_02228366:
|
|
add r0, r7, #0
|
|
mov r1, #0x17
|
|
add r2, r5, #0
|
|
bl ov74_02227DD4
|
|
_02228370:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #2
|
|
add r5, r5, r0
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
b _022283B6
|
|
_0222837C:
|
|
ldr r1, [sp, #0x10]
|
|
add r0, r7, #0
|
|
add r2, sp, #0x1c
|
|
add r3, r5, #0
|
|
mov r6, ip
|
|
blx r6
|
|
cmp r0, #1
|
|
bne _022283B6
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #2
|
|
add r5, r5, r0
|
|
mov r0, #1
|
|
str r0, [sp, #0xc]
|
|
b _022283B6
|
|
_02228398:
|
|
ldr r0, [r4, #8]
|
|
add r1, sp, #0x1c
|
|
str r0, [sp]
|
|
ldr r0, [r7]
|
|
mov r2, #3
|
|
add r3, r5, #0
|
|
bl ov74_02235568
|
|
ldr r0, [sp, #0x18]
|
|
ldr r1, [r4]
|
|
add r0, #0xec
|
|
str r1, [r0]
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #2
|
|
add r5, r5, r0
|
|
_022283B6:
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [r4, #4]
|
|
ldr r2, [r0]
|
|
mov r0, #0x17
|
|
mul r0, r1
|
|
add r1, r2, r0
|
|
ldr r0, [sp, #0x14]
|
|
str r1, [r0]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, #0xec
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _022283DE
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #4
|
|
ldr r0, [r7, r0]
|
|
add r1, r0, #1
|
|
mov r0, #0x1b
|
|
lsl r0, r0, #4
|
|
str r1, [r7, r0]
|
|
_022283DE:
|
|
ldr r0, [sp, #8]
|
|
add r4, #0x10
|
|
add r0, #0x10
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #9
|
|
bhs _022283F8
|
|
b _022282F6
|
|
_022283F8:
|
|
add r0, r7, #0
|
|
bl ov74_0222879C
|
|
add r0, r7, #0
|
|
add r7, #0x54
|
|
ldrh r1, [r7]
|
|
bl ov74_0222841C
|
|
ldr r0, [sp, #0xc]
|
|
add sp, #0x70
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02228410: .word ov74_0223BCBC
|
|
_02228414: .word 0x000003F7
|
|
_02228418: .word 0x000001BA
|
|
thumb_func_end ov74_022282CC
|
|
|
|
thumb_func_start ov74_0222841C
|
|
ov74_0222841C: ; 0x0222841C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r7, r0, #0
|
|
add r0, r1, #0
|
|
add r0, r0, #5
|
|
str r0, [sp, #0x14]
|
|
add r0, r1, #0
|
|
add r4, r7, #0
|
|
sub r0, r0, #5
|
|
str r1, [sp, #0xc]
|
|
mov r6, #0
|
|
add r4, #0x5c
|
|
str r0, [sp, #0x10]
|
|
_02228436:
|
|
add r0, r4, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
beq _0222852C
|
|
cmp r6, #0
|
|
bne _02228452
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r7, r0]
|
|
mov r0, #6
|
|
lsl r0, r0, #0x12
|
|
cmp r1, r0
|
|
beq _0222852C
|
|
_02228452:
|
|
ldr r0, [sp, #0x10]
|
|
cmp r6, r0
|
|
blt _0222852C
|
|
ldr r0, [sp, #0x14]
|
|
cmp r6, r0
|
|
bgt _0222852C
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
cmp r0, #1
|
|
bne _022284A8
|
|
ldr r2, _02228540 ; =0x000003EE
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl GetWindowX
|
|
str r0, [sp, #0x18]
|
|
add r0, r4, #0
|
|
bl GetWindowY
|
|
str r0, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl GetWindowHeight
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [r7]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r3, [sp, #0x1c]
|
|
mov r1, #0
|
|
bl BgTilemapRectChangePalette
|
|
b _0222852C
|
|
_022284A8:
|
|
ldr r0, [sp, #0xc]
|
|
cmp r6, r0
|
|
bne _022284EE
|
|
ldr r2, _02228540 ; =0x000003EE
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl GetWindowX
|
|
str r0, [sp, #0x20]
|
|
add r0, r4, #0
|
|
bl GetWindowY
|
|
str r0, [sp, #0x24]
|
|
add r0, r4, #0
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl GetWindowHeight
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [r7]
|
|
ldr r2, [sp, #0x20]
|
|
ldr r3, [sp, #0x24]
|
|
mov r1, #0
|
|
bl BgTilemapRectChangePalette
|
|
b _0222852C
|
|
_022284EE:
|
|
ldr r2, _02228544 ; =0x000003F7
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl GetWindowX
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, #0
|
|
bl GetWindowY
|
|
str r0, [sp, #0x2c]
|
|
add r0, r4, #0
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl GetWindowHeight
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r7]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x2c]
|
|
mov r1, #0
|
|
bl BgTilemapRectChangePalette
|
|
_0222852C:
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
cmp r6, #9
|
|
blo _02228436
|
|
ldr r0, [r7]
|
|
mov r1, #0
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02228540: .word 0x000003EE
|
|
_02228544: .word 0x000003F7
|
|
thumb_func_end ov74_0222841C
|
|
|
|
thumb_func_start ov74_02228548
|
|
ov74_02228548: ; 0x02228548
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r6, r0, #0
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
str r1, [sp, #0xc]
|
|
mov r7, #0
|
|
add r4, r6, r0
|
|
_02228558:
|
|
add r0, r4, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
bne _02228564
|
|
b _02228678
|
|
_02228564:
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, #0
|
|
bge _022285AA
|
|
ldr r2, _02228690 ; =0x000003F7
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl GetWindowX
|
|
str r0, [sp, #0x10]
|
|
add r0, r4, #0
|
|
bl GetWindowY
|
|
str r0, [sp, #0x14]
|
|
add r0, r4, #0
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl GetWindowHeight
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r2, [sp, #0x10]
|
|
ldr r3, [sp, #0x14]
|
|
mov r1, #1
|
|
bl BgTilemapRectChangePalette
|
|
b _02228678
|
|
_022285AA:
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #1
|
|
bne _022285F4
|
|
ldr r2, _02228694 ; =0x000003EE
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl GetWindowX
|
|
str r0, [sp, #0x18]
|
|
add r0, r4, #0
|
|
bl GetWindowY
|
|
str r0, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl GetWindowHeight
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r2, [sp, #0x18]
|
|
ldr r3, [sp, #0x1c]
|
|
mov r1, #1
|
|
bl BgTilemapRectChangePalette
|
|
b _02228678
|
|
_022285F4:
|
|
ldr r0, [sp, #0xc]
|
|
cmp r7, r0
|
|
bne _0222863A
|
|
ldr r2, _02228694 ; =0x000003EE
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl GetWindowX
|
|
str r0, [sp, #0x20]
|
|
add r0, r4, #0
|
|
bl GetWindowY
|
|
str r0, [sp, #0x24]
|
|
add r0, r4, #0
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl GetWindowHeight
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r2, [sp, #0x20]
|
|
ldr r3, [sp, #0x24]
|
|
mov r1, #1
|
|
bl BgTilemapRectChangePalette
|
|
b _02228678
|
|
_0222863A:
|
|
ldr r2, _02228690 ; =0x000003F7
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r3, #2
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl GetWindowX
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, #0
|
|
bl GetWindowY
|
|
str r0, [sp, #0x2c]
|
|
add r0, r4, #0
|
|
bl GetWindowWidth
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl GetWindowHeight
|
|
str r5, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6]
|
|
ldr r2, [sp, #0x28]
|
|
ldr r3, [sp, #0x2c]
|
|
mov r1, #1
|
|
bl BgTilemapRectChangePalette
|
|
_02228678:
|
|
add r7, r7, #1
|
|
add r4, #0x10
|
|
cmp r7, #2
|
|
bge _02228682
|
|
b _02228558
|
|
_02228682:
|
|
ldr r0, [r6]
|
|
mov r1, #1
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02228690: .word 0x000003F7
|
|
_02228694: .word 0x000003EE
|
|
thumb_func_end ov74_02228548
|
|
|
|
thumb_func_start ov74_02228698
|
|
ov74_02228698: ; 0x02228698
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r0, #0x54
|
|
ldrh r6, [r0]
|
|
mov r7, #8
|
|
add r3, r7, #0
|
|
add r4, r6, #0
|
|
mov r0, #0
|
|
sub r3, #9
|
|
_022286AA:
|
|
add r4, r4, r1
|
|
cmp r4, r3
|
|
bne _022286B2
|
|
add r4, r0, #0
|
|
_022286B2:
|
|
cmp r4, #9
|
|
bne _022286B8
|
|
add r4, r7, #0
|
|
_022286B8:
|
|
cmp r4, r6
|
|
beq _022286CE
|
|
lsl r2, r4, #2
|
|
add r2, r5, r2
|
|
add r2, #0xec
|
|
ldr r2, [r2]
|
|
cmp r2, #0
|
|
beq _022286AA
|
|
ldr r0, _022286F4 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
_022286CE:
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
strh r4, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x54
|
|
ldrh r1, [r0]
|
|
cmp r1, r6
|
|
beq _022286F0
|
|
add r0, r5, #0
|
|
bl ov74_0222841C
|
|
mov r0, #0x6d
|
|
mov r1, #6
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022286F0:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022286F4: .word SEQ_SE_DP_SELECT
|
|
thumb_func_end ov74_02228698
|
|
|
|
thumb_func_start ov74_022286F8
|
|
ov74_022286F8: ; 0x022286F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r6, r5, #0
|
|
add r6, #0x5c
|
|
lsl r7, r1, #4
|
|
add r0, r6, r7
|
|
bl GetWindowY
|
|
sub r0, r0, #1
|
|
lsl r4, r0, #3
|
|
add r0, r6, r7
|
|
bl GetWindowHeight
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
asr r0, r1, #0xb
|
|
lsr r0, r0, #0x14
|
|
add r0, r1, r0
|
|
asr r0, r0, #0xc
|
|
cmp r0, r4
|
|
bgt _0222872C
|
|
add r0, #0xc0
|
|
cmp r0, r4
|
|
bgt _02228796
|
|
_0222872C:
|
|
mov r0, #0x4e
|
|
lsl r1, r4, #0xc
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl ov74_0222879C
|
|
mov r0, #0x4e
|
|
lsl r0, r0, #2
|
|
ldr r1, [r5, r0]
|
|
mov r0, #6
|
|
lsl r0, r0, #0x12
|
|
cmp r1, r0
|
|
bne _0222878C
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
bl FillBgTilemapRect
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r0, #0x20
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc
|
|
str r0, [sp, #8]
|
|
str r2, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
add r3, r2, #0
|
|
bl FillBgTilemapRect
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222878C:
|
|
cmp r1, #0
|
|
bne _02228796
|
|
add r0, r5, #0
|
|
bl ov74_022282CC
|
|
_02228796:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022286F8
|
|
|
|
thumb_func_start ov74_0222879C
|
|
ov74_0222879C: ; 0x0222879C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r1, #0x4e
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r0, r1]
|
|
ldr r5, [sp]
|
|
asr r0, r1, #0xb
|
|
lsr r0, r0, #0x14
|
|
add r0, r1, r0
|
|
asr r7, r0, #0xc
|
|
add r0, r7, #0
|
|
str r0, [sp, #0xc]
|
|
add r0, #0xc0
|
|
ldr r6, [sp, #4]
|
|
add r5, #0x5c
|
|
str r0, [sp, #0xc]
|
|
_022287C6:
|
|
add r0, r5, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
beq _022287F2
|
|
add r0, r5, #0
|
|
bl GetWindowY
|
|
sub r0, r0, #1
|
|
lsl r4, r0, #3
|
|
add r0, r5, #0
|
|
bl GetWindowHeight
|
|
cmp r7, r4
|
|
ble _022287E8
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
_022287E8:
|
|
ldr r0, [sp, #0xc]
|
|
cmp r0, r4
|
|
bgt _022287F2
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
_022287F2:
|
|
add r6, r6, #1
|
|
add r5, #0x10
|
|
cmp r6, #9
|
|
blo _022287C6
|
|
mov r1, #0x1a
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
ldr r1, [sp, #8]
|
|
lsl r1, r1, #1
|
|
bl Sprite_SetAnimCtrlSeq
|
|
mov r1, #0x1a
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0
|
|
bl Sprite_SetAnimActiveFlag
|
|
mov r1, #0x69
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
ldr r1, [sp, #4]
|
|
lsl r1, r1, #1
|
|
add r1, r1, #1
|
|
bl Sprite_SetAnimCtrlSeq
|
|
mov r1, #0x69
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0
|
|
bl Sprite_SetAnimActiveFlag
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_0222879C
|
|
|
|
thumb_func_start ov74_0222883C
|
|
ov74_0222883C: ; 0x0222883C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
bl OverlayManager_GetData
|
|
mov r1, #0x1a
|
|
add r7, r0, #0
|
|
lsl r1, r1, #4
|
|
ldr r0, [r7, r1]
|
|
cmp r0, #0
|
|
bne _02228856
|
|
add r1, r1, #4
|
|
ldr r1, [r7, r1]
|
|
cmp r1, #0
|
|
beq _02228868
|
|
_02228856:
|
|
bl Sprite_Delete
|
|
mov r0, #0x69
|
|
lsl r0, r0, #2
|
|
ldr r0, [r7, r0]
|
|
bl Sprite_Delete
|
|
bl ov74_022359BC
|
|
_02228868:
|
|
add r5, r7, #0
|
|
mov r6, #0
|
|
add r4, r7, #0
|
|
add r5, #0x5c
|
|
_02228870:
|
|
ldr r0, [r4, #0x5c]
|
|
cmp r0, #0
|
|
beq _02228882
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
_02228882:
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
add r5, #0x10
|
|
cmp r6, #9
|
|
blo _02228870
|
|
ldr r0, [r7]
|
|
mov r1, #0
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r7]
|
|
mov r1, #1
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r7]
|
|
mov r1, #2
|
|
bl FreeBgTilemapBuffer
|
|
ldr r2, _022288C0 ; =0x04000304
|
|
ldrh r1, [r2]
|
|
lsr r0, r2, #0xb
|
|
orr r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, [r7]
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_022288C0: .word 0x04000304
|
|
thumb_func_end ov74_0222883C
|
|
|
|
thumb_func_start ov74_022288C4
|
|
ov74_022288C4: ; 0x022288C4
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #2
|
|
ldr r2, [r0, r1]
|
|
lsl r3, r2, #1
|
|
ldr r2, _022288F0 ; =ov74_0223BBF0
|
|
ldrh r2, [r2, r3]
|
|
cmp r2, #0
|
|
bne _022288D8
|
|
mov r2, #0
|
|
str r2, [r0, r1]
|
|
_022288D8:
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #2
|
|
ldr r3, [r0, r1]
|
|
add r2, r3, #1
|
|
str r2, [r0, r1]
|
|
ldr r0, _022288F0 ; =ov74_0223BBF0
|
|
lsl r1, r3, #1
|
|
ldrh r1, [r0, r1]
|
|
ldr r0, _022288F4 ; =0x0500006C
|
|
strh r1, [r0]
|
|
bx lr
|
|
nop
|
|
_022288F0: .word ov74_0223BBF0
|
|
_022288F4: .word 0x0500006C
|
|
thumb_func_end ov74_022288C4
|
|
|
|
thumb_func_start ov74_022288F8
|
|
ov74_022288F8: ; 0x022288F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl GF_RunVramTransferTasks
|
|
bl OamManager_ApplyAndResetBuffers
|
|
add r0, r4, #0
|
|
bl DoScheduledBgGpuUpdates
|
|
ldr r3, _02228918 ; =0x027E0000
|
|
ldr r1, _0222891C ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02228918: .word 0x027E0000
|
|
_0222891C: .word 0x00003FF8
|
|
thumb_func_end ov74_022288F8
|
|
|
|
thumb_func_start ov74_MainMenu_AppInit
|
|
ov74_MainMenu_AppInit: ; 0x02228920
|
|
push {r3, r4, r5, lr}
|
|
mov r2, #1
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x4f
|
|
lsl r2, r2, #0x12
|
|
bl CreateHeap
|
|
mov r1, #0x6e
|
|
add r0, r5, #0
|
|
lsl r1, r1, #2
|
|
mov r2, #0x4f
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r2, #0x6e
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0x4f
|
|
bl BgConfig_Alloc
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_0200FBF4
|
|
add r0, r5, #0
|
|
bl OverlayManager_GetArgs
|
|
ldr r0, [r0, #8]
|
|
str r0, [r4, #4]
|
|
bl Save_MysteryGift_Get
|
|
str r0, [r4, #0x14]
|
|
mov r0, #0x4d
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
add r0, r0, #4
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, #4]
|
|
bl Save_PlayerData_GetProfileAddr
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r4, #4]
|
|
bl Save_Pokedex_Get
|
|
str r0, [r4, #8]
|
|
ldr r0, [r4, #4]
|
|
bl Save_PlayerData_GetIGTAddr
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r4, #8]
|
|
bl Pokedex_IsEnabled
|
|
str r0, [r4, #0x4c]
|
|
ldr r0, [r4, #0xc]
|
|
bl PlayerProfile_CountBadges
|
|
str r0, [r4, #0x50]
|
|
mov r0, #0x51
|
|
mov r1, #0xf
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #0x4f
|
|
bl ov74_022352A0
|
|
ldr r0, [r4, #4]
|
|
bl Save_FileExists
|
|
cmp r0, #0
|
|
bne _022289C4
|
|
mov r0, #0x61
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_022289C4:
|
|
mov r0, #0
|
|
bl sub_02005AF8
|
|
mov r0, #0
|
|
bl sub_02004AD8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_MainMenu_AppInit
|
|
|
|
thumb_func_start ov74_MainMenu_AppExec
|
|
ov74_MainMenu_AppExec: ; 0x022289D4
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x18]
|
|
bl CTRDG_IsExisting
|
|
add r0, r4, #0
|
|
bl ov74_0222779C
|
|
cmp r0, #1
|
|
bne _02228A04
|
|
add r0, r4, #0
|
|
bl ov74_022276AC
|
|
add r0, r4, #0
|
|
bl ov74_02227AEC
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_02228A04:
|
|
add r0, r4, #0
|
|
bl ov74_022288C4
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _02228A18
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
_02228A18:
|
|
ldr r0, [r5]
|
|
cmp r0, #9
|
|
bls _02228A20
|
|
b _02228B70
|
|
_02228A20:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02228A2C: ; jump table
|
|
.short _02228A40 - _02228A2C - 2 ; case 0
|
|
.short _02228A4C - _02228A2C - 2 ; case 1
|
|
.short _02228A72 - _02228A2C - 2 ; case 2
|
|
.short _02228A8A - _02228A2C - 2 ; case 3
|
|
.short _02228AB8 - _02228A2C - 2 ; case 4
|
|
.short _02228AFC - _02228A2C - 2 ; case 5
|
|
.short _02228B32 - _02228A2C - 2 ; case 6
|
|
.short _02228B5A - _02228A2C - 2 ; case 7
|
|
.short _02228B64 - _02228A2C - 2 ; case 8
|
|
.short _02228B6C - _02228A2C - 2 ; case 9
|
|
_02228A40:
|
|
add r0, r4, #0
|
|
bl ov74_02227B7C
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _02228B70
|
|
_02228A4C:
|
|
add r0, r4, #0
|
|
bl ov74_02227580
|
|
cmp r0, #0
|
|
bne _02228A5C
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _02228B70
|
|
_02228A5C:
|
|
mov r0, #1
|
|
mov r1, #2
|
|
add r2, r5, #0
|
|
mov r3, #8
|
|
bl ov74_0223539C
|
|
mov r0, #5
|
|
ldr r1, _02228B84 ; =0x00007D8C
|
|
lsl r0, r0, #0x18
|
|
strh r1, [r0]
|
|
b _02228B70
|
|
_02228A72:
|
|
add r0, r4, #0
|
|
bl ov74_02227584
|
|
cmp r0, #0
|
|
bne _02228B70
|
|
mov r0, #0
|
|
mov r1, #3
|
|
add r2, r5, #0
|
|
mov r3, #8
|
|
bl ov74_0223539C
|
|
b _02228B70
|
|
_02228A8A:
|
|
mov r0, #0x4f
|
|
mov r1, #0xc
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
add r0, #0x48
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _02228AAC
|
|
mov r0, #2
|
|
str r0, [r4, #0x58]
|
|
mov r0, #0
|
|
mov r1, #7
|
|
add r2, r5, #0
|
|
mov r3, #8
|
|
bl ov74_0223539C
|
|
b _02228B70
|
|
_02228AAC:
|
|
add r0, r4, #0
|
|
bl ov74_0222763C
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
b _02228B70
|
|
_02228AB8:
|
|
add r0, r4, #0
|
|
bl ov74_02227CC8
|
|
add r0, r4, #0
|
|
bl ov74_02227D48
|
|
ldr r0, _02228B88 ; =ov74_022288F8
|
|
ldr r1, [r4]
|
|
bl Main_SetVBlankIntrCB
|
|
add r0, r4, #0
|
|
bl ov74_022282CC
|
|
add r1, r4, #0
|
|
add r1, #0x54
|
|
ldrh r1, [r1]
|
|
add r0, r4, #0
|
|
bl ov74_0222841C
|
|
mov r0, #1
|
|
mov r1, #5
|
|
add r2, r5, #0
|
|
mov r3, #8
|
|
bl ov74_0223539C
|
|
mov r0, #5
|
|
ldr r1, _02228B84 ; =0x00007D8C
|
|
lsl r0, r0, #0x18
|
|
strh r1, [r0]
|
|
mov r0, #0x4f
|
|
mov r1, #0xa
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
b _02228B70
|
|
_02228AFC:
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov74_02227428
|
|
ldr r0, [r4, #0x48]
|
|
cmp r0, #1
|
|
bne _02228B16
|
|
add r0, r4, #0
|
|
bl ov74_022282CC
|
|
mov r0, #0
|
|
str r0, [r4, #0x48]
|
|
b _02228B70
|
|
_02228B16:
|
|
ldr r0, [r5]
|
|
cmp r0, #5
|
|
bne _02228B70
|
|
mov r0, #0x62
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #1
|
|
bne _02228B70
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
mov r1, #1
|
|
sub r0, #0x40
|
|
str r1, [r4, r0]
|
|
b _02228B70
|
|
_02228B32:
|
|
mov r0, #0x51
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0xf
|
|
bne _02228B70
|
|
add r0, #0xc
|
|
ldr r1, [r4, r0]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02228B4C
|
|
mov r0, #5
|
|
str r0, [r5]
|
|
b _02228B70
|
|
_02228B4C:
|
|
mov r0, #0
|
|
mov r1, #7
|
|
add r2, r5, #0
|
|
mov r3, #8
|
|
bl ov74_0223539C
|
|
b _02228B70
|
|
_02228B5A:
|
|
add r0, r6, #0
|
|
bl ov74_0222883C
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02228B64:
|
|
add r0, r5, #0
|
|
bl ov74_022353FC
|
|
b _02228B70
|
|
_02228B6C:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02228B70:
|
|
add r0, r4, #0
|
|
bl ov74_022276AC
|
|
add r0, r4, #0
|
|
bl ov74_02227AEC
|
|
bl ov74_022358BC
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02228B84: .word 0x00007D8C
|
|
_02228B88: .word ov74_022288F8
|
|
thumb_func_end ov74_MainMenu_AppExec
|
|
|
|
.public ov36_App_MainMenu_SelectOption_Continue
|
|
.public ov36_App_MainMenu_SelectOption_NewGame
|
|
.public gApp_MainMenu_SelectOption_NintendoWFCSetup
|
|
.public ov112_App_MainMenu_SelectOption_ConnectToPokewalker
|
|
.public gApp_MainMenu_SelectOption_NintendoWFCSetup
|
|
.public ov75_App_MainMenu_SelectOption_WiiMessageSettings
|
|
|
|
thumb_func_start ov74_MainMenu_QueueSelectedApp
|
|
ov74_MainMenu_QueueSelectedApp: ; 0x02228B8C
|
|
push {r3, lr}
|
|
ldr r0, [r0, #0x58]
|
|
cmp r0, #9
|
|
bhi _02228C22
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02228BA0: ; jump table
|
|
.short _02228C1A - _02228BA0 - 2 ; case 0
|
|
.short _02228BB4 - _02228BA0 - 2 ; case 1
|
|
.short _02228BBE - _02228BA0 - 2 ; case 2
|
|
.short _02228BFE - _02228BA0 - 2 ; case 3
|
|
.short _02228BC8 - _02228BA0 - 2 ; case 4
|
|
.short _02228BDC - _02228BA0 - 2 ; case 5
|
|
.short _02228BD2 - _02228BA0 - 2 ; case 6
|
|
.short _02228BE6 - _02228BA0 - 2 ; case 7
|
|
.short _02228BEE - _02228BA0 - 2 ; case 8
|
|
.short _02228C0C - _02228BA0 - 2 ; case 9
|
|
_02228BB4:
|
|
ldr r0, _02228C24 ; =FS_OVERLAY_ID(OVY_36)
|
|
ldr r1, _02228C28 ; =ov36_App_MainMenu_SelectOption_Continue
|
|
bl RegisterMainOverlay
|
|
pop {r3, pc}
|
|
_02228BBE:
|
|
ldr r0, _02228C24 ; =FS_OVERLAY_ID(OVY_36)
|
|
ldr r1, _02228C2C ; =ov36_App_MainMenu_SelectOption_NewGame
|
|
bl RegisterMainOverlay
|
|
pop {r3, pc}
|
|
_02228BC8:
|
|
ldr r0, _02228C30 ; =FS_OVERLAY_ID(OVY_74)
|
|
ldr r1, _02228C34 ; =gApp_MainMenu_SelectOption_MysteryGift
|
|
bl RegisterMainOverlay
|
|
pop {r3, pc}
|
|
_02228BD2:
|
|
ldr r0, _02228C30 ; =FS_OVERLAY_ID(OVY_74)
|
|
ldr r1, _02228C38 ; =gApp_MainMenu_SelectOption_MigrateFromAgb
|
|
bl RegisterMainOverlay
|
|
pop {r3, pc}
|
|
_02228BDC:
|
|
ldr r0, _02228C30 ; =FS_OVERLAY_ID(OVY_74)
|
|
ldr r1, _02228C3C ; =gApp_MainMenu_SelectOption_ConnectToRanger
|
|
bl RegisterMainOverlay
|
|
pop {r3, pc}
|
|
_02228BE6:
|
|
ldr r0, _02228C40 ; =ov74_0223BD4C ; "data/eoo.dat"
|
|
bl sub_02027098
|
|
pop {r3, pc}
|
|
_02228BEE:
|
|
bl Sound_Stop
|
|
mov r0, #0
|
|
ldr r1, _02228C44 ; =gApp_MainMenu_SelectOption_NintendoWFCSetup
|
|
mvn r0, r0
|
|
bl RegisterMainOverlay
|
|
pop {r3, pc}
|
|
_02228BFE:
|
|
bl Sound_Stop
|
|
ldr r0, _02228C48 ; =FS_OVERLAY_ID(OVY_112)
|
|
ldr r1, _02228C4C ; =ov112_App_MainMenu_SelectOption_ConnectToPokewalker
|
|
bl RegisterMainOverlay
|
|
pop {r3, pc}
|
|
_02228C0C:
|
|
bl Sound_Stop
|
|
ldr r0, _02228C50 ; =FS_OVERLAY_ID(OVY_75)
|
|
ldr r1, _02228C54 ; =ov75_App_MainMenu_SelectOption_WiiMessageSettings
|
|
bl RegisterMainOverlay
|
|
pop {r3, pc}
|
|
_02228C1A:
|
|
ldr r0, _02228C58 ; =FS_OVERLAY_ID(intro_title)
|
|
ldr r1, _02228C5C ; =gApplication_TitleScreen
|
|
bl RegisterMainOverlay
|
|
_02228C22:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02228C24: .word FS_OVERLAY_ID(OVY_36)
|
|
_02228C28: .word ov36_App_MainMenu_SelectOption_Continue
|
|
_02228C2C: .word ov36_App_MainMenu_SelectOption_NewGame
|
|
_02228C30: .word FS_OVERLAY_ID(OVY_74)
|
|
_02228C34: .word gApp_MainMenu_SelectOption_MysteryGift
|
|
_02228C38: .word gApp_MainMenu_SelectOption_MigrateFromAgb
|
|
_02228C3C: .word gApp_MainMenu_SelectOption_ConnectToRanger
|
|
_02228C40: .word ov74_0223BD4C
|
|
_02228C44: .word gApp_MainMenu_SelectOption_NintendoWFCSetup
|
|
_02228C48: .word FS_OVERLAY_ID(OVY_112)
|
|
_02228C4C: .word ov112_App_MainMenu_SelectOption_ConnectToPokewalker
|
|
_02228C50: .word FS_OVERLAY_ID(OVY_75)
|
|
_02228C54: .word ov75_App_MainMenu_SelectOption_WiiMessageSettings
|
|
_02228C58: .word FS_OVERLAY_ID(intro_title)
|
|
_02228C5C: .word gApplication_TitleScreen
|
|
thumb_func_end ov74_MainMenu_QueueSelectedApp
|
|
|
|
thumb_func_start ov74_MainMenu_AppExit
|
|
ov74_MainMenu_AppExit: ; 0x02228C60
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetData
|
|
bl ov74_MainMenu_QueueSelectedApp
|
|
add r0, r4, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x4f
|
|
bl DestroyHeap
|
|
mov r0, #0
|
|
bl ov74_02236034
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_MainMenu_AppExit
|
|
|
|
thumb_func_start ov74_02228C84
|
|
ov74_02228C84: ; 0x02228C84
|
|
push {r3, r4}
|
|
ldr r4, _02228CAC ; =ov74_0223BD68
|
|
ldr r1, _02228CB0 ; =0x00000123
|
|
mov r3, #0
|
|
_02228C8C:
|
|
ldrh r2, [r4, #2]
|
|
cmp r0, r2
|
|
bne _02228C9C
|
|
ldr r0, _02228CAC ; =ov74_0223BD68
|
|
lsl r1, r3, #2
|
|
ldrh r0, [r0, r1]
|
|
pop {r3, r4}
|
|
bx lr
|
|
_02228C9C:
|
|
add r3, r3, #1
|
|
add r4, r4, #4
|
|
cmp r3, r1
|
|
blo _02228C8C
|
|
mov r0, #0x3f
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_02228CAC: .word ov74_0223BD68
|
|
_02228CB0: .word 0x00000123
|
|
thumb_func_end ov74_02228C84
|
|
|
|
thumb_func_start ov74_IntToWstring5
|
|
ov74_IntToWstring5: ; 0x02228CB4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
ldr r1, _02228D1C ; =0x00002710
|
|
add r0, r4, #0
|
|
bl _s32_div_f
|
|
add r0, #0x30
|
|
strh r0, [r5]
|
|
ldr r1, _02228D1C ; =0x00002710
|
|
add r0, r4, #0
|
|
bl _s32_div_f
|
|
add r4, r1, #0
|
|
mov r1, #0xfa
|
|
add r0, r4, #0
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
add r0, #0x30
|
|
mov r1, #0xfa
|
|
strh r0, [r5, #2]
|
|
add r0, r4, #0
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #0x64
|
|
bl _s32_div_f
|
|
add r0, #0x30
|
|
strh r0, [r5, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0x64
|
|
bl _s32_div_f
|
|
add r4, r1, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r0, #0x30
|
|
strh r0, [r5, #6]
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r4, r1, #0
|
|
add r4, #0x30
|
|
strh r4, [r5, #8]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02228D1C: .word 0x00002710
|
|
thumb_func_end ov74_IntToWstring5
|
|
|
|
thumb_func_start ov74_02228D20
|
|
ov74_02228D20: ; 0x02228D20
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
ldr r0, [r7, #0x10]
|
|
bl PlayerProfile_GetNamePtr
|
|
ldr r5, _02228D58 ; =ov74_0223D080
|
|
add r4, r0, #0
|
|
mov r6, #0
|
|
_02228D30:
|
|
ldrh r0, [r4]
|
|
bl ov74_02228C84
|
|
strh r0, [r5]
|
|
add r6, r6, #1
|
|
add r4, r4, #2
|
|
add r5, r5, #2
|
|
cmp r6, #8
|
|
blt _02228D30
|
|
ldr r0, [r7, #0x10]
|
|
bl PlayerProfile_GetTrainerID_VisibleHalf
|
|
add r1, r0, #0
|
|
ldr r0, _02228D5C ; =ov74_0223D090
|
|
bl ov74_IntToWstring5
|
|
ldr r0, _02228D60 ; =ov74_0223D080
|
|
mov r1, #0
|
|
strh r1, [r0, #0x1a]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02228D58: .word ov74_0223D080
|
|
_02228D5C: .word ov74_0223D090
|
|
_02228D60: .word ov74_0223D080
|
|
thumb_func_end ov74_02228D20
|
|
|
|
thumb_func_start ov74_02228D64
|
|
ov74_02228D64: ; 0x02228D64
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x48
|
|
ldr r5, _02228E90 ; =_0223B340
|
|
add r4, r0, #0
|
|
add r3, sp, #0x20
|
|
mov r2, #5
|
|
_02228D70:
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _02228D70
|
|
ldr r3, _02228E94 ; =_0223B330
|
|
add r2, sp, #0x10
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
add r0, sp, #0x20
|
|
bl GfGfx_SetBanks
|
|
add r0, sp, #0x10
|
|
bl SetBothScreensModesAndDisable
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r3, #0xf
|
|
ldr r0, [r4, #4]
|
|
mov r2, #1
|
|
lsl r3, r3, #0xc
|
|
bl ov74_02235308
|
|
mov r0, #1
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
mov r3, #0x3e
|
|
ldr r0, [r4, #4]
|
|
add r2, r1, #0
|
|
lsl r3, r3, #0xa
|
|
bl ov74_02235308
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r3, #0x1e
|
|
ldr r0, [r4, #4]
|
|
mov r1, #4
|
|
mov r2, #1
|
|
lsl r3, r3, #0xa
|
|
bl ov74_02235308
|
|
mov r0, #1
|
|
lsl r0, r0, #0xe
|
|
str r0, [sp]
|
|
mov r3, #7
|
|
ldr r0, [r4, #4]
|
|
mov r1, #5
|
|
mov r2, #1
|
|
lsl r3, r3, #0xc
|
|
bl ov74_02235308
|
|
bl ResetAllTextPrinters
|
|
mov r0, #0
|
|
ldr r2, [r4]
|
|
add r1, r0, #0
|
|
bl LoadFontPal0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r0, [r4]
|
|
mov r2, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #4]
|
|
add r3, r2, #0
|
|
bl LoadUserFrameGfx1
|
|
ldr r0, [r4, #0x14]
|
|
bl Options_GetFrame
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #4]
|
|
mov r2, #0xa
|
|
mov r3, #2
|
|
bl LoadUserFrameGfx2
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
add r3, #0x8f
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
lsl r0, r0, #0xa
|
|
mov r1, #1
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4]
|
|
add r3, r1, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #4]
|
|
mov r0, #0x71
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #4]
|
|
mov r0, #0x71
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
bl BgCommitTilemapBufferToVram
|
|
add r0, r4, #0
|
|
bl ov74_02228E98
|
|
add sp, #0x48
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02228E90: .word _0223B340
|
|
_02228E94: .word _0223B330
|
|
thumb_func_end ov74_02228D64
|
|
|
|
thumb_func_start ov74_02228E98
|
|
ov74_02228E98: ; 0x02228E98
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r4]
|
|
mov r2, #4
|
|
add r3, r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0
|
|
add r3, #0xfc
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r3, #4
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #4]
|
|
mov r0, #0x71
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4]
|
|
mov r1, #2
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #4]
|
|
mov r0, #0x71
|
|
mov r3, #4
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
ldr r0, [r4, #4]
|
|
mov r1, #4
|
|
add r3, r2, #0
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, [r4, #4]
|
|
mov r1, #4
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02228E98
|
|
|
|
thumb_func_start ov74_02228F14
|
|
ov74_02228F14: ; 0x02228F14
|
|
push {r3, r4, lr}
|
|
sub sp, #0x5c
|
|
add r4, r0, #0
|
|
add r0, #0x18
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
bne _02228F5E
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
str r0, [sp, #4]
|
|
add r0, sp, #8
|
|
add r1, #0x18
|
|
mov r2, #0
|
|
mov r3, #0x11
|
|
bl ov74_02235414
|
|
mov r3, #0x51
|
|
lsl r3, r3, #2
|
|
ldr r3, [r4, r3]
|
|
add r0, sp, #8
|
|
mov r1, #0x16
|
|
mov r2, #0x10
|
|
bl ov74_02235464
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
ldr r0, [r4, #4]
|
|
add r1, sp, #8
|
|
mov r2, #5
|
|
mov r3, #4
|
|
bl ov74_02235568
|
|
add sp, #0x5c
|
|
mov r0, #1
|
|
pop {r3, r4, pc}
|
|
_02228F5E:
|
|
ldr r0, _02228F88 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _02228F80
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
mov r1, #0
|
|
bl sub_0200E5D4
|
|
add r4, #0x18
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
add sp, #0x5c
|
|
mov r0, #0
|
|
pop {r3, r4, pc}
|
|
_02228F80:
|
|
mov r0, #1
|
|
add sp, #0x5c
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_02228F88: .word gSystem
|
|
thumb_func_end ov74_02228F14
|
|
|
|
thumb_func_start ov74_02228F8C
|
|
ov74_02228F8C: ; 0x02228F8C
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x48
|
|
add r1, #0x28
|
|
mov r2, #0
|
|
mov r3, #0xf7
|
|
bl ov74_02235414
|
|
mov r3, #0x51
|
|
lsl r3, r3, #2
|
|
add r0, r4, #0
|
|
ldr r3, [r4, r3]
|
|
add r0, #0x48
|
|
mov r1, #0x1b
|
|
mov r2, #4
|
|
bl ov74_02235464
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x48
|
|
add r2, r1, #0
|
|
bl ov74_0223546C
|
|
mov r0, #0x48
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl ov74_02235634
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
mov r3, #0xf7
|
|
add r0, r2, r0
|
|
str r0, [r4, r1]
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r1, r4, #0
|
|
add r0, #0x9c
|
|
add r1, #0x18
|
|
mov r2, #0
|
|
bl ov74_02235414
|
|
mov r3, #0x51
|
|
lsl r3, r3, #2
|
|
add r0, r4, #0
|
|
ldr r3, [r4, r3]
|
|
add r0, #0x9c
|
|
mov r1, #0x1e
|
|
mov r2, #4
|
|
bl ov74_02235464
|
|
add r0, r4, #0
|
|
add r0, #0x9c
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov74_0223546C
|
|
mov r0, #0xb
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
mov r2, #1
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x9c
|
|
add r3, r2, #0
|
|
bl ov74_02235568
|
|
add r0, r4, #0
|
|
add r0, #0x9c
|
|
bl ov74_02235634
|
|
mov r1, #0x51
|
|
lsl r1, r1, #2
|
|
ldr r2, [r4, r1]
|
|
add r0, r2, r0
|
|
str r0, [r4, r1]
|
|
bl ov74_0223563C
|
|
bl ov74_02235690
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0xe
|
|
mov r2, #0xb
|
|
mov r3, #0xd
|
|
bl ov74_02235728
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r1, _02229080 ; =0x00003170
|
|
mov r0, #0
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x80
|
|
mov r3, #0x4c
|
|
bl ov74_02235930
|
|
ldr r1, _02229080 ; =0x00003170
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov74_02229084
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02229080: .word 0x00003170
|
|
thumb_func_end ov74_02228F8C
|
|
|
|
thumb_func_start ov74_02229084
|
|
ov74_02229084: ; 0x02229084
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
ldr r0, [r5]
|
|
bl MessageFormat_New
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
str r0, [sp, #4]
|
|
add r0, r5, #0
|
|
add r1, r5, #0
|
|
add r0, #0xf0
|
|
add r1, #0x38
|
|
mov r2, #0
|
|
mov r3, #0xf7
|
|
bl ov74_02235414
|
|
mov r3, #0x51
|
|
lsl r3, r3, #2
|
|
add r0, r5, #0
|
|
ldr r3, [r5, r3]
|
|
add r0, #0xf0
|
|
mov r1, #0x1a
|
|
mov r2, #4
|
|
bl ov74_02235464
|
|
add r0, r5, #0
|
|
add r0, #0xf0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov74_0223546C
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
str r4, [r5, r0]
|
|
ldr r2, [r5, #0x10]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl BufferPlayersName
|
|
ldr r0, [r5, #0x10]
|
|
bl PlayerProfile_GetTrainerID_VisibleHalf
|
|
add r2, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
mov r3, #5
|
|
str r1, [sp, #4]
|
|
bl BufferIntegerAsString
|
|
mov r0, #0x44
|
|
str r0, [sp]
|
|
add r1, r5, #0
|
|
ldr r0, [r5, #4]
|
|
add r1, #0xf0
|
|
mov r2, #3
|
|
mov r3, #0xd
|
|
bl ov74_02235568
|
|
add r1, r5, #0
|
|
mov r0, #0
|
|
add r1, #0xf8
|
|
str r0, [r1]
|
|
mov r1, #1
|
|
bl GetFontAttribute
|
|
add r2, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xf0
|
|
mov r1, #0
|
|
bl ov74_02235474
|
|
mov r2, #0x46
|
|
str r2, [sp]
|
|
add r1, r5, #0
|
|
sub r2, #0x47
|
|
ldr r0, [r5, #4]
|
|
add r1, #0xf0
|
|
add r3, r2, #0
|
|
bl ov74_02235568
|
|
add r0, sp, #0x10
|
|
bl OS_GetMacAddress
|
|
add r0, sp, #0x10
|
|
bl ov74_022311F4
|
|
add r1, sp, #0x1c
|
|
add r2, sp, #0x18
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
bl ov74_02231238
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r3, #4
|
|
bl BufferIntegerAsString
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r2, [sp, #0x18]
|
|
add r0, r4, #0
|
|
mov r3, #4
|
|
bl BufferIntegerAsString
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
add r0, #0xfc
|
|
str r1, [r0]
|
|
mov r2, #0x47
|
|
str r2, [sp]
|
|
ldr r0, [r5, #4]
|
|
add r5, #0xf0
|
|
sub r2, #0x48
|
|
add r1, r5, #0
|
|
add r3, r2, #0
|
|
bl ov74_02235568
|
|
add r0, r4, #0
|
|
bl MessageFormat_Delete
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02229084
|
|
|
|
thumb_func_start ov74_02229190
|
|
ov74_02229190: ; 0x02229190
|
|
push {r4, lr}
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov74_022359BC
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _022291D8
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl RemoveWindow
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
bl RemoveWindow
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
bl RemoveWindow
|
|
_022291D8:
|
|
ldr r0, [r4, #4]
|
|
mov r1, #0
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #4]
|
|
mov r1, #1
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #4]
|
|
mov r1, #4
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #4]
|
|
mov r1, #5
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r4, #4]
|
|
bl FreeToHeap
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02229190
|
|
|
|
thumb_func_start ov74_02229200
|
|
ov74_02229200: ; 0x02229200
|
|
push {r3, r4, r5, lr}
|
|
mov r3, #2
|
|
ldr r2, _02229288 ; =0x000034DC
|
|
mov r1, #0x53
|
|
lsl r3, r3, #0x10
|
|
add r5, r0, #0
|
|
bl ov74_022352D0
|
|
add r4, r0, #0
|
|
mov r0, #0x53
|
|
str r0, [r4]
|
|
bl BgConfig_Alloc
|
|
str r0, [r4, #4]
|
|
add r0, r5, #0
|
|
bl OverlayManager_GetArgs
|
|
ldr r0, [r0, #8]
|
|
str r0, [r4, #8]
|
|
bl Save_PlayerData_GetProfileAddr
|
|
str r0, [r4, #0x10]
|
|
ldr r0, [r4, #8]
|
|
bl Save_Pokedex_Get
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r4, #8]
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
str r0, [r4, #0x14]
|
|
ldr r0, [r4]
|
|
bl ov74_022352A0
|
|
ldr r0, [r4, #8]
|
|
bl Save_MysteryGift_Get
|
|
ldr r1, _0222928C ; =0x00003174
|
|
mov r2, #0x53
|
|
str r0, [r4, r1]
|
|
mov r0, #9
|
|
lsl r2, r2, #2
|
|
str r0, [r4, r2]
|
|
add r0, r2, #0
|
|
mov r1, #0x28
|
|
sub r0, #8
|
|
str r1, [r4, r0]
|
|
add r1, r2, #0
|
|
mov r0, #0
|
|
add r1, #8
|
|
str r0, [r4, r1]
|
|
add r1, r2, #0
|
|
add r1, #0x10
|
|
str r0, [r4, r1]
|
|
add r2, #0xc
|
|
str r0, [r4, r2]
|
|
mov r2, #0x57
|
|
mov r1, #0x59
|
|
lsl r2, r2, #4
|
|
bl CreateHeap
|
|
ldr r1, _02229290 ; =0x0000047E
|
|
mov r0, #9
|
|
mov r2, #1
|
|
bl sub_02004EC4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02229288: .word 0x000034DC
|
|
_0222928C: .word 0x00003174
|
|
_02229290: .word 0x0000047E
|
|
thumb_func_end ov74_02229200
|
|
|
|
thumb_func_start ov74_02229294
|
|
ov74_02229294: ; 0x02229294
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #4
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r5]
|
|
add r4, r0, #0
|
|
cmp r1, #0xd
|
|
bhi _022292FA
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022292B4: ; jump table
|
|
.short _022292D0 - _022292B4 - 2 ; case 0
|
|
.short _022292F2 - _022292B4 - 2 ; case 1
|
|
.short _02229310 - _022292B4 - 2 ; case 2
|
|
.short _02229362 - _022292B4 - 2 ; case 3
|
|
.short _0222938E - _022292B4 - 2 ; case 4
|
|
.short _022293CA - _022292B4 - 2 ; case 5
|
|
.short _02229404 - _022292B4 - 2 ; case 6
|
|
.short _02229434 - _022292B4 - 2 ; case 7
|
|
.short _02229434 - _022292B4 - 2 ; case 8
|
|
.short _02229434 - _022292B4 - 2 ; case 9
|
|
.short _02229434 - _022292B4 - 2 ; case 10
|
|
.short _0222941A - _022292B4 - 2 ; case 11
|
|
.short _02229422 - _022292B4 - 2 ; case 12
|
|
.short _0222942E - _022292B4 - 2 ; case 13
|
|
_022292D0:
|
|
bl ov74_02228D64
|
|
ldr r0, [r4, #0xc]
|
|
bl Pokedex_IsEnabled
|
|
cmp r0, #0
|
|
bne _022292EC
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
add r2, r5, #0
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
b _02229434
|
|
_022292EC:
|
|
mov r0, #2
|
|
str r0, [r5]
|
|
b _02229434
|
|
_022292F2:
|
|
bl ov74_02228F14
|
|
cmp r0, #0
|
|
beq _022292FC
|
|
_022292FA:
|
|
b _02229434
|
|
_022292FC:
|
|
mov r0, #1
|
|
bl ov74_02235390
|
|
mov r0, #0
|
|
mov r1, #0xc
|
|
add r2, r5, #0
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
b _02229434
|
|
_02229310:
|
|
bl ov74_02228F8C
|
|
ldr r0, _02229440 ; =0x00003174
|
|
ldr r0, [r4, r0]
|
|
bl SaveMysteryGift_FindAvailable
|
|
cmp r0, #0
|
|
bne _0222934C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r0, #0x98
|
|
str r1, [r0]
|
|
mov r0, #0x16
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
ldr r1, _02229444 ; =0x0000317C
|
|
add r2, r5, #0
|
|
str r0, [r4, r1]
|
|
mov r0, #1
|
|
mov r1, #3
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
b _02229434
|
|
_0222934C:
|
|
mov r0, #0x53
|
|
mov r1, #7
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #1
|
|
mov r1, #4
|
|
add r2, r5, #0
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
b _02229434
|
|
_02229362:
|
|
ldr r0, _02229444 ; =0x0000317C
|
|
ldr r0, [r4, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
bne _02229434
|
|
ldr r0, _02229448 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r1, r0
|
|
beq _02229434
|
|
bl ov74_02235390
|
|
mov r0, #0
|
|
mov r1, #0xc
|
|
add r2, r5, #0
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
b _02229434
|
|
_0222938E:
|
|
bl ov74_0222962C
|
|
mov r1, #0x15
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #5
|
|
bne _022293B2
|
|
mov r0, #1
|
|
bl ov74_02235390
|
|
mov r0, #0
|
|
mov r1, #0xc
|
|
add r2, r5, #0
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
b _02229434
|
|
_022293B2:
|
|
cmp r0, #4
|
|
bne _02229434
|
|
mov r0, #1
|
|
bl ov74_02235390
|
|
mov r0, #0
|
|
mov r1, #0xc
|
|
add r2, r5, #0
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
b _02229434
|
|
_022293CA:
|
|
bl ov74_02228E98
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GfGfx_EngineBTogglePlanes
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl GfGfx_EngineBTogglePlanes
|
|
mov r1, #0xc6
|
|
lsl r1, r1, #6
|
|
ldr r0, [r4, #4]
|
|
add r1, r4, r1
|
|
mov r2, #0x53
|
|
bl ov74_0222EC08
|
|
mov r0, #1
|
|
mov r1, #6
|
|
add r2, r5, #0
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
ldr r1, _0222944C ; =0x000032D2
|
|
mov r0, #4
|
|
ldrb r2, [r4, r1]
|
|
bic r2, r0
|
|
strb r2, [r4, r1]
|
|
b _02229434
|
|
_02229404:
|
|
ldr r0, _02229448 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
beq _02229434
|
|
mov r0, #0
|
|
mov r1, #0xb
|
|
add r2, r5, #0
|
|
mov r3, #0xd
|
|
bl ov74_0223539C
|
|
b _02229434
|
|
_0222941A:
|
|
mov r0, #0
|
|
bl OS_ResetSystem
|
|
b _02229434
|
|
_02229422:
|
|
add r0, r6, #0
|
|
bl ov74_02229190
|
|
add sp, #4
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, pc}
|
|
_0222942E:
|
|
add r0, r5, #0
|
|
bl ov74_022353FC
|
|
_02229434:
|
|
bl ov74_022358BC
|
|
mov r0, #0
|
|
add sp, #4
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02229440: .word 0x00003174
|
|
_02229444: .word 0x0000317C
|
|
_02229448: .word gSystem
|
|
_0222944C: .word 0x000032D2
|
|
thumb_func_end ov74_02229294
|
|
|
|
thumb_func_start ov74_02229450
|
|
ov74_02229450: ; 0x02229450
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0x59
|
|
bl DestroyHeap
|
|
ldr r0, _02229474 ; =FS_OVERLAY_ID(intro_title)
|
|
ldr r1, _02229478 ; =gApplication_TitleScreen
|
|
bl RegisterMainOverlay
|
|
add r0, r4, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x53
|
|
bl DestroyHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
nop
|
|
_02229474: .word FS_OVERLAY_ID(intro_title)
|
|
_02229478: .word gApplication_TitleScreen
|
|
thumb_func_end ov74_02229450
|
|
|
|
thumb_func_start ov74_0222947C
|
|
ov74_0222947C: ; 0x0222947C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r5, r0, #0
|
|
mov r0, #0xc6
|
|
lsl r0, r0, #6
|
|
add r4, r5, r0
|
|
mov r2, #0xd6
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl MI_CpuFill8
|
|
ldr r3, [r5]
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
bl NewMsgDataFromNarc
|
|
add r6, r0, #0
|
|
ldr r0, [r5]
|
|
bl MessageFormat_New
|
|
mov r1, #0xc6
|
|
mov r2, #7
|
|
lsl r1, r1, #6
|
|
strh r2, [r5, r1]
|
|
ldr r3, [r5]
|
|
add r1, r6, #0
|
|
mov r2, #0x4e
|
|
str r0, [sp]
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
mov r1, #0x41
|
|
lsl r1, r1, #2
|
|
add r7, r0, #0
|
|
add r1, r4, r1
|
|
mov r2, #0x24
|
|
bl CopyStringToU16Array
|
|
add r0, r7, #0
|
|
bl String_Delete
|
|
mov r0, #8
|
|
bl ov74_02235A68
|
|
add r7, r0, #0
|
|
mov r0, #7
|
|
bl ov74_02235A68
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc
|
|
bl ov74_02235A68
|
|
str r0, [sp, #8]
|
|
mov r0, #0xa
|
|
bl ov74_02235A68
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xb
|
|
bl ov74_02235A68
|
|
ldr r1, [sp, #0xc]
|
|
mov r2, #0x53
|
|
orr r1, r0
|
|
ldr r0, [sp, #8]
|
|
lsl r2, r2, #2
|
|
orr r1, r0
|
|
ldr r0, [sp, #4]
|
|
mov r3, #1
|
|
orr r0, r1
|
|
orr r0, r7
|
|
str r0, [r4, r2]
|
|
mov r1, #1
|
|
add r0, r2, #4
|
|
strh r1, [r4, r0]
|
|
add r0, r2, #6
|
|
add r1, r0, #0
|
|
ldrb r1, [r4, r1]
|
|
bic r1, r3
|
|
add r3, r0, #0
|
|
strb r1, [r4, r3]
|
|
add r1, r0, #0
|
|
ldrb r1, [r4, r1]
|
|
mov r3, #2
|
|
bic r1, r3
|
|
add r3, r0, #0
|
|
strb r1, [r4, r3]
|
|
add r1, r0, #0
|
|
ldrb r3, [r4, r1]
|
|
mov r1, #4
|
|
orr r3, r1
|
|
add r1, r0, #0
|
|
strb r3, [r4, r1]
|
|
ldrb r3, [r4, r1]
|
|
mov r1, #8
|
|
orr r3, r1
|
|
add r1, r0, #0
|
|
strb r3, [r4, r1]
|
|
ldrb r2, [r4, r0]
|
|
mov r1, #0x20
|
|
bic r2, r1
|
|
strb r2, [r4, r0]
|
|
ldr r0, [sp]
|
|
ldr r3, [r5]
|
|
add r1, r6, #0
|
|
mov r2, #0x4d
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
mov r1, #0x55
|
|
lsl r1, r1, #2
|
|
add r7, r0, #0
|
|
add r1, r4, r1
|
|
mov r2, #0xfa
|
|
bl CopyStringToU16Array
|
|
add r0, r7, #0
|
|
bl String_Delete
|
|
mov r0, #0xd2
|
|
lsl r0, r0, #2
|
|
mov r1, #0
|
|
ldr r3, _022295C0 ; =0x000001EA
|
|
strb r1, [r4, r0]
|
|
add r2, r0, #2
|
|
strh r3, [r4, r2]
|
|
add r2, r0, #4
|
|
strh r1, [r4, r2]
|
|
add r2, r0, #6
|
|
strh r1, [r4, r2]
|
|
add r0, #8
|
|
strb r1, [r4, r0]
|
|
add r0, sp, #0x10
|
|
bl GF_RTC_CopyDate
|
|
add r0, sp, #0x10
|
|
bl RTC_ConvertDateToDay
|
|
mov r1, #0xd5
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
ldr r0, [sp]
|
|
bl MessageFormat_Delete
|
|
add r0, r6, #0
|
|
bl DestroyMsgData
|
|
ldr r0, _022295C4 ; =0x00003174
|
|
add r1, r4, #0
|
|
ldr r0, [r5, r0]
|
|
mov r2, #3
|
|
bl SaveMysteryGift_TryInsertGift
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl GfGfx_EngineBTogglePlanes
|
|
ldr r0, [r5, #4]
|
|
add r1, r4, #0
|
|
bl ov74_02235DC4
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022295C0: .word 0x000001EA
|
|
_022295C4: .word 0x00003174
|
|
thumb_func_end ov74_0222947C
|
|
|
|
thumb_func_start ov74_022295C8
|
|
ov74_022295C8: ; 0x022295C8
|
|
mov r2, #0x16
|
|
lsl r2, r2, #4
|
|
str r1, [r0, r2]
|
|
bx lr
|
|
thumb_func_end ov74_022295C8
|
|
|
|
thumb_func_start ov74_022295D0
|
|
ov74_022295D0: ; 0x022295D0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
mov r1, #0x16
|
|
lsl r1, r1, #4
|
|
add r4, r3, #0
|
|
ldr r3, [r0, r1]
|
|
sub r3, r3, #1
|
|
str r3, [r0, r1]
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
bne _022295F2
|
|
bl ov74_02231008
|
|
mov r0, #0x17
|
|
str r0, [r5]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_022295F2:
|
|
cmp r2, #0
|
|
beq _0222960A
|
|
bl ov74_02230FD4
|
|
cmp r0, #0
|
|
bne _0222960A
|
|
bl ov74_02231008
|
|
mov r0, #0x16
|
|
str r0, [r5]
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0222960A:
|
|
cmp r4, #0
|
|
beq _02229622
|
|
ldr r0, _02229628 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
tst r0, r4
|
|
beq _02229622
|
|
bl ov74_02231008
|
|
mov r0, #0x1a
|
|
str r0, [r5]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02229622:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02229628: .word gSystem
|
|
thumb_func_end ov74_022295D0
|
|
|
|
thumb_func_start ov74_0222962C
|
|
ov74_0222962C: ; 0x0222962C
|
|
push {r3, r4, r5, lr}
|
|
mov r5, #0x57
|
|
lsl r5, r5, #2
|
|
add r4, r0, #0
|
|
sub r0, r5, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _02229652
|
|
bl ov74_02230E7C
|
|
mov r1, #3
|
|
sub r0, r1, r0
|
|
bl sub_0203A930
|
|
bl ov74_02230D28
|
|
mov r0, #1
|
|
bl ov74_022310B8
|
|
_02229652:
|
|
ldr r0, [r4, r5]
|
|
cmp r0, #0x1e
|
|
bls _0222965A
|
|
b _02229B52
|
|
_0222965A:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02229666: ; jump table
|
|
.short _022296A4 - _02229666 - 2 ; case 0
|
|
.short _022296BA - _02229666 - 2 ; case 1
|
|
.short _022296E0 - _02229666 - 2 ; case 2
|
|
.short _02229702 - _02229666 - 2 ; case 3
|
|
.short _0222972C - _02229666 - 2 ; case 4
|
|
.short _02229B52 - _02229666 - 2 ; case 5
|
|
.short _02229B52 - _02229666 - 2 ; case 6
|
|
.short _0222975E - _02229666 - 2 ; case 7
|
|
.short _022297D4 - _02229666 - 2 ; case 8
|
|
.short _022297F2 - _02229666 - 2 ; case 9
|
|
.short _0222983C - _02229666 - 2 ; case 10
|
|
.short _02229878 - _02229666 - 2 ; case 11
|
|
.short _02229892 - _02229666 - 2 ; case 12
|
|
.short _022298C6 - _02229666 - 2 ; case 13
|
|
.short _02229908 - _02229666 - 2 ; case 14
|
|
.short _02229928 - _02229666 - 2 ; case 15
|
|
.short _02229940 - _02229666 - 2 ; case 16
|
|
.short _0222995A - _02229666 - 2 ; case 17
|
|
.short _022299B0 - _02229666 - 2 ; case 18
|
|
.short _02229A38 - _02229666 - 2 ; case 19
|
|
.short _02229A80 - _02229666 - 2 ; case 20
|
|
.short _02229B52 - _02229666 - 2 ; case 21
|
|
.short _02229AB4 - _02229666 - 2 ; case 22
|
|
.short _02229AB8 - _02229666 - 2 ; case 23
|
|
.short _02229B52 - _02229666 - 2 ; case 24
|
|
.short _02229B52 - _02229666 - 2 ; case 25
|
|
.short _02229B20 - _02229666 - 2 ; case 26
|
|
.short _02229B52 - _02229666 - 2 ; case 27
|
|
.short _02229AEC - _02229666 - 2 ; case 28
|
|
.short _0222977A - _02229666 - 2 ; case 29
|
|
.short _022297B8 - _02229666 - 2 ; case 30
|
|
_022296A4:
|
|
add r0, r4, #0
|
|
bl ov74_02228D20
|
|
bl sub_02034D8C
|
|
mov r0, #0x52
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
str r1, [r4, r5]
|
|
b _02229B52
|
|
_022296BA:
|
|
bl sub_02034DB8
|
|
cmp r0, #0
|
|
beq _02229772
|
|
mov r1, #0x5b
|
|
lsl r1, r1, #2
|
|
ldr r0, _022299FC ; =ov74_0223BD5C
|
|
add r1, r4, r1
|
|
bl ov74_02230A84
|
|
mov r0, #0x56
|
|
mov r1, #1
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
bl sub_0203A880
|
|
mov r0, #2
|
|
str r0, [r4, r5]
|
|
b _02229B52
|
|
_022296E0:
|
|
bl ov74_02230D6C
|
|
mov r1, #0x19
|
|
add r0, r4, #0
|
|
lsl r1, r1, #6
|
|
bl ov74_022295C8
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
mov r1, #0xa
|
|
bl WaitingIcon_New
|
|
ldr r1, _02229A00 ; =0x000034D8
|
|
str r0, [r4, r1]
|
|
mov r0, #3
|
|
str r0, [r4, r5]
|
|
b _02229B52
|
|
_02229702:
|
|
bl ov74_02230E94
|
|
cmp r0, #0
|
|
beq _0222971E
|
|
sub r1, r0, #1
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
ldr r1, _02229A04 ; =0x00000708
|
|
add r0, r4, #0
|
|
bl ov74_022295C8
|
|
mov r0, #4
|
|
str r0, [r4, r5]
|
|
_0222971E:
|
|
add r0, r4, #0
|
|
add r1, r4, r5
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl ov74_022295D0
|
|
b _02229B52
|
|
_0222972C:
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov74_02230DB8
|
|
cmp r0, #0
|
|
beq _02229750
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl ov74_02230DF4
|
|
mov r0, #7
|
|
str r0, [r4, r5]
|
|
mov r0, #0x16
|
|
ldr r1, _02229A04 ; =0x00000708
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_02229750:
|
|
add r0, r4, #0
|
|
add r1, r4, r5
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl ov74_022295D0
|
|
b _02229B52
|
|
_0222975E:
|
|
add r0, r4, #0
|
|
add r1, r4, r5
|
|
mov r2, #0
|
|
mov r3, #2
|
|
bl ov74_022295D0
|
|
bl ov74_02230FD4
|
|
cmp r0, #0
|
|
bne _02229774
|
|
_02229772:
|
|
b _02229B52
|
|
_02229774:
|
|
mov r0, #0x1d
|
|
str r0, [r4, r5]
|
|
b _02229B52
|
|
_0222977A:
|
|
mov r0, #0x1f
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
ldr r0, _02229A08 ; =0x00003170
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _02229A00 ; =0x000034D8
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200F450
|
|
ldr r0, _02229A00 ; =0x000034D8
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
ldr r0, _02229A0C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #0x16
|
|
ldr r1, _02229A04 ; =0x00000708
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #0x1e
|
|
str r0, [r4, r5]
|
|
b _02229B52
|
|
_022297B8:
|
|
ldr r0, _02229A10 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _022297C6
|
|
mov r0, #8
|
|
str r0, [r4, r5]
|
|
_022297C6:
|
|
add r0, r4, #0
|
|
add r1, r4, r5
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl ov74_022295D0
|
|
b _02229B52
|
|
_022297D4:
|
|
bl ov74_02230EB4
|
|
mov r0, #9
|
|
str r0, [r4, r5]
|
|
mov r0, #0x16
|
|
ldr r1, _02229A04 ; =0x00000708
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r1, r4, r5
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl ov74_022295D0
|
|
b _02229B52
|
|
_022297F2:
|
|
bl ov74_02230F40
|
|
cmp r0, #0
|
|
beq _0222982E
|
|
bl ov74_02230EE8
|
|
mov r0, #0xa
|
|
str r0, [r4, r5]
|
|
mov r1, #0x32
|
|
mov r0, #0x16
|
|
lsl r1, r1, #6
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #0x23
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
ldr r0, _02229A0C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
ldr r0, _02229A00 ; =0x000034D8
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0222982E:
|
|
add r0, r4, #0
|
|
add r1, r4, r5
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl ov74_022295D0
|
|
b _02229B52
|
|
_0222983C:
|
|
bl ov74_02230F40
|
|
cmp r0, #0
|
|
beq _0222986A
|
|
mov r0, #0x49
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
ldr r0, _02229A08 ; =0x00003170
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
add r0, r4, #0
|
|
bl ov74_02229084
|
|
mov r0, #0xb
|
|
str r0, [r4, r5]
|
|
_0222986A:
|
|
add r0, r4, #0
|
|
add r1, r4, r5
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl ov74_022295D0
|
|
b _02229B52
|
|
_02229878:
|
|
ldr r0, _02229A14 ; =ov74_0223C1F4
|
|
mov r1, #0x2a
|
|
mov r2, #1
|
|
bl ov74_02230F14
|
|
mov r0, #0xc
|
|
str r0, [r4, r5]
|
|
mov r1, #0x32
|
|
mov r0, #0x16
|
|
lsl r1, r1, #6
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
b _02229B52
|
|
_02229892:
|
|
bl ov74_02230F6C
|
|
cmp r0, #0
|
|
beq _022298B8
|
|
mov r0, #0xd
|
|
str r0, [r4, r5]
|
|
mov r0, #0x16
|
|
mov r1, #0x3c
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
mov r0, #0x49
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
_022298B8:
|
|
add r0, r4, #0
|
|
add r1, r4, r5
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl ov74_022295D0
|
|
b _02229B52
|
|
_022298C6:
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02229938
|
|
mov r0, #0x4a
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
add r0, r4, #0
|
|
add r0, #0x28
|
|
mov r1, #0xa
|
|
bl WaitingIcon_New
|
|
ldr r1, _02229A00 ; =0x000034D8
|
|
str r0, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov74_0222947C
|
|
ldr r0, [r4, #8]
|
|
bl ov74_022360A0
|
|
mov r0, #0xe
|
|
str r0, [r4, r5]
|
|
b _02229B52
|
|
_02229908:
|
|
bl ov74_022360B0
|
|
cmp r0, #1
|
|
bne _02229938
|
|
mov r0, #0xf
|
|
str r0, [r4, r5]
|
|
bl OS_GetTickLo
|
|
mov r1, #0x36
|
|
bl _s32_div_f
|
|
mov r0, #0x16
|
|
add r1, r1, #6
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
b _02229B52
|
|
_02229928:
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222993A
|
|
_02229938:
|
|
b _02229B52
|
|
_0222993A:
|
|
mov r0, #0x10
|
|
str r0, [r4, r5]
|
|
b _02229B52
|
|
_02229940:
|
|
ldr r0, _02229A14 ; =ov74_0223C1F4
|
|
mov r1, #0x2a
|
|
mov r2, #2
|
|
bl ov74_02230F14
|
|
mov r0, #0x11
|
|
str r0, [r4, r5]
|
|
mov r1, #0x4b
|
|
mov r0, #0x16
|
|
lsl r1, r1, #4
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
b _02229B52
|
|
_0222995A:
|
|
bl ov74_02230F98
|
|
cmp r0, #0
|
|
beq _02229976
|
|
bl ov74_02236128
|
|
mov r0, #0x12
|
|
str r0, [r4, r5]
|
|
mov r1, #0x32
|
|
mov r0, #0x16
|
|
lsl r1, r1, #4
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
b _02229B52
|
|
_02229976:
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02229996
|
|
bl ov74_02231008
|
|
mov r0, #0x17
|
|
mov r1, #0x78
|
|
str r0, [r4, r5]
|
|
add r0, r1, #0
|
|
add r0, #0xe8
|
|
str r1, [r4, r0]
|
|
_02229996:
|
|
bl ov74_02230FD4
|
|
cmp r0, #0
|
|
bne _02229A48
|
|
bl ov74_02231008
|
|
mov r0, #0x16
|
|
mov r1, #0x78
|
|
str r0, [r4, r5]
|
|
add r0, r1, #0
|
|
add r0, #0xe8
|
|
str r1, [r4, r0]
|
|
b _02229B52
|
|
_022299B0:
|
|
bl ov74_0223615C
|
|
cmp r0, #3
|
|
bne _022299CA
|
|
bl ov74_02231008
|
|
mov r0, #0x16
|
|
mov r1, #0x78
|
|
str r0, [r4, r5]
|
|
add r0, r1, #0
|
|
add r0, #0xe8
|
|
str r1, [r4, r0]
|
|
b _02229A18
|
|
_022299CA:
|
|
bl ov74_0223615C
|
|
cmp r0, #2
|
|
beq _022299D8
|
|
bl ov74_022360B0
|
|
b _02229A18
|
|
_022299D8:
|
|
bl ov74_02230F6C
|
|
cmp r0, #0
|
|
bne _022299E8
|
|
bl ov74_02230FD4
|
|
cmp r0, #0
|
|
bne _02229A18
|
|
_022299E8:
|
|
mov r0, #0x13
|
|
str r0, [r4, r5]
|
|
mov r0, #0x16
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
bl ov74_02231008
|
|
b _02229B52
|
|
nop
|
|
_022299FC: .word ov74_0223BD5C
|
|
_02229A00: .word 0x000034D8
|
|
_02229A04: .word 0x00000708
|
|
_02229A08: .word 0x00003170
|
|
_02229A0C: .word SEQ_SE_DP_SELECT
|
|
_02229A10: .word gSystem
|
|
_02229A14: .word ov74_0223C1F4
|
|
_02229A18:
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02229A38
|
|
bl ov74_02231008
|
|
mov r0, #0x17
|
|
str r0, [r4, r5]
|
|
mov r0, #0x16
|
|
mov r1, #0xa
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_02229A38:
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02229A4A
|
|
_02229A48:
|
|
b _02229B52
|
|
_02229A4A:
|
|
mov r0, #0x14
|
|
str r0, [r4, r5]
|
|
mov r0, #0x4b
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
ldr r0, _02229B58 ; =0x00003170
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _02229B5C ; =0x000034D8
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200F450
|
|
ldr r0, _02229B60 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
ldr r0, _02229B5C ; =0x000034D8
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
b _02229B52
|
|
_02229A80:
|
|
bl ov74_02231048
|
|
cmp r0, #0
|
|
beq _02229B52
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _02229AA2
|
|
bl sub_02034DE0
|
|
bl sub_0203A914
|
|
mov r0, #0x52
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_02229AA2:
|
|
ldr r0, _02229B64 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02229B52
|
|
mov r0, #0x1b
|
|
str r0, [r4, r5]
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_02229AB4:
|
|
mov r0, #0x17
|
|
str r0, [r4, r5]
|
|
_02229AB8:
|
|
mov r0, #0x4c
|
|
str r0, [sp]
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x48
|
|
mov r2, #2
|
|
mov r3, #0x13
|
|
bl ov74_02235568
|
|
ldr r0, _02229B58 ; =0x00003170
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _02229B5C ; =0x000034D8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02229AE0
|
|
bl sub_0200F450
|
|
_02229AE0:
|
|
ldr r0, _02229B5C ; =0x000034D8
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
mov r0, #0x1c
|
|
str r0, [r4, r5]
|
|
b _02229B52
|
|
_02229AEC:
|
|
bl ov74_02231048
|
|
cmp r0, #0
|
|
beq _02229B52
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _02229B0E
|
|
bl sub_02034DE0
|
|
bl sub_0203A914
|
|
mov r0, #0x52
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_02229B0E:
|
|
ldr r0, _02229B64 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02229B52
|
|
mov r0, #0
|
|
bl OS_ResetSystem
|
|
b _02229B52
|
|
_02229B20:
|
|
bl ov74_02231048
|
|
cmp r0, #0
|
|
beq _02229B52
|
|
mov r0, #0x52
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _02229B52
|
|
bl sub_02034DE0
|
|
bl sub_0203A914
|
|
mov r0, #0x52
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
ldr r0, _02229B5C ; =0x000034D8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02229B4E
|
|
bl sub_0200F450
|
|
_02229B4E:
|
|
mov r0, #5
|
|
pop {r3, r4, r5, pc}
|
|
_02229B52:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02229B58: .word 0x00003170
|
|
_02229B5C: .word 0x000034D8
|
|
_02229B60: .word SEQ_SE_DP_SELECT
|
|
_02229B64: .word gSystem
|
|
thumb_func_end ov74_0222962C
|
|
|
|
thumb_func_start ov74_02229B68
|
|
ov74_02229B68: ; 0x02229B68
|
|
push {r4, lr}
|
|
ldr r1, _02229BB8 ; =ov74_0223D0A4
|
|
add r4, r0, #0
|
|
ldr r1, [r1]
|
|
cmp r1, #0
|
|
bne _02229BB4
|
|
bl ov74_02229E14
|
|
mov r1, #0xf5
|
|
mov r0, #0xf
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
ldr r1, _02229BB8 ; =ov74_0223D0A4
|
|
mov r2, #0xf5
|
|
str r0, [r1]
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
bl MI_CpuFill8
|
|
ldr r0, _02229BB8 ; =ov74_0223D0A4
|
|
mov r1, #0x32
|
|
ldr r0, [r0]
|
|
mov r2, #0xa
|
|
strh r1, [r0, #0x24]
|
|
ldr r0, _02229BBC ; =ov74_02229CB8
|
|
mov r1, #0
|
|
bl SysTask_CreateOnMainQueue
|
|
ldr r1, _02229BB8 ; =ov74_0223D0A4
|
|
ldr r2, [r1]
|
|
str r0, [r2, #0x1c]
|
|
ldr r0, [r1]
|
|
str r4, [r0]
|
|
ldr r0, [r1]
|
|
add r0, r0, #4
|
|
bl sub_0203778C
|
|
_02229BB4:
|
|
pop {r4, pc}
|
|
nop
|
|
_02229BB8: .word ov74_0223D0A4
|
|
_02229BBC: .word ov74_02229CB8
|
|
thumb_func_end ov74_02229B68
|
|
|
|
thumb_func_start ov74_02229BC0
|
|
ov74_02229BC0: ; 0x02229BC0
|
|
ldr r2, _02229BCC ; =ov74_0223D0A4
|
|
ldr r3, [r2]
|
|
str r0, [r3, #0x20]
|
|
ldr r0, [r2]
|
|
strh r1, [r0, #0x24]
|
|
bx lr
|
|
.balign 4, 0
|
|
_02229BCC: .word ov74_0223D0A4
|
|
thumb_func_end ov74_02229BC0
|
|
|
|
thumb_func_start ov74_02229BD0
|
|
ov74_02229BD0: ; 0x02229BD0
|
|
push {r4, lr}
|
|
bl sub_0203769C
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
beq _02229BFE
|
|
mov r4, #0
|
|
ldr r1, _02229C00 ; =ov74_0223D0A4
|
|
ldr r0, _02229C04 ; =0x000003C1
|
|
add r3, r4, #0
|
|
_02229BE6:
|
|
ldr r2, [r1]
|
|
add r2, r2, r4
|
|
add r4, r4, #1
|
|
strb r3, [r2, r0]
|
|
cmp r4, #0x10
|
|
blt _02229BE6
|
|
bl sub_02034434
|
|
ldr r0, _02229C08 ; =ov74_02229C0C
|
|
mov r1, #0
|
|
bl ov74_02229BC0
|
|
_02229BFE:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02229C00: .word ov74_0223D0A4
|
|
_02229C04: .word 0x000003C1
|
|
_02229C08: .word ov74_02229C0C
|
|
thumb_func_end ov74_02229BD0
|
|
|
|
thumb_func_start ov74_02229C0C
|
|
ov74_02229C0C: ; 0x02229C0C
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
ldr r6, _02229C40 ; =ov74_0223D0A4
|
|
add r5, r4, #0
|
|
_02229C14:
|
|
ldr r0, [r6]
|
|
add r0, r0, r5
|
|
ldr r0, [r0, #0x28]
|
|
cmp r0, #0
|
|
bne _02229C36
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_020373B4
|
|
cmp r0, #1
|
|
bne _02229C36
|
|
add r0, r4, #0
|
|
bl sub_02034818
|
|
ldr r1, [r6]
|
|
add r1, r1, r5
|
|
str r0, [r1, #0x28]
|
|
_02229C36:
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #0x10
|
|
blt _02229C14
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02229C40: .word ov74_0223D0A4
|
|
thumb_func_end ov74_02229C0C
|
|
|
|
thumb_func_start ov74_02229C44
|
|
ov74_02229C44: ; 0x02229C44
|
|
push {r3, lr}
|
|
bl sub_02034DB8
|
|
cmp r0, #0
|
|
beq _02229C56
|
|
ldr r0, _02229C58 ; =ov74_02229C5C
|
|
mov r1, #0
|
|
bl ov74_02229BC0
|
|
_02229C56:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02229C58: .word ov74_02229C5C
|
|
thumb_func_end ov74_02229C44
|
|
|
|
thumb_func_start ov74_02229C5C
|
|
ov74_02229C5C: ; 0x02229C5C
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02229C5C
|
|
|
|
thumb_func_start ov74_02229C60
|
|
ov74_02229C60: ; 0x02229C60
|
|
push {r3, lr}
|
|
ldr r0, _02229C78 ; =ov74_0223D0A4
|
|
ldr r0, [r0]
|
|
add r0, #0x27
|
|
ldrb r0, [r0]
|
|
bl sub_02037E1C
|
|
ldr r0, _02229C7C ; =ov74_02229C80
|
|
mov r1, #0
|
|
bl ov74_02229BC0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02229C78: .word ov74_0223D0A4
|
|
_02229C7C: .word ov74_02229C80
|
|
thumb_func_end ov74_02229C60
|
|
|
|
thumb_func_start ov74_02229C80
|
|
ov74_02229C80: ; 0x02229C80
|
|
push {r3, lr}
|
|
bl sub_02037EC8
|
|
cmp r0, #0
|
|
beq _02229CA8
|
|
ldr r0, _02229CAC ; =ov74_0223D0A4
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
strb r2, [r1, r0]
|
|
bl sub_02034434
|
|
mov r0, #0xab
|
|
bl sub_02037AC0
|
|
ldr r0, _02229CB0 ; =ov74_02229CB4
|
|
mov r1, #0
|
|
bl ov74_02229BC0
|
|
_02229CA8:
|
|
pop {r3, pc}
|
|
nop
|
|
_02229CAC: .word ov74_0223D0A4
|
|
_02229CB0: .word ov74_02229CB4
|
|
thumb_func_end ov74_02229C80
|
|
|
|
thumb_func_start ov74_02229CB4
|
|
ov74_02229CB4: ; 0x02229CB4
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02229CB4
|
|
|
|
thumb_func_start ov74_02229CB8
|
|
ov74_02229CB8: ; 0x02229CB8
|
|
push {r3, lr}
|
|
ldr r1, _02229CDC ; =ov74_0223D0A4
|
|
ldr r2, [r1]
|
|
cmp r2, #0
|
|
bne _02229CC8
|
|
bl SysTask_Destroy
|
|
pop {r3, pc}
|
|
_02229CC8:
|
|
ldr r1, [r2, #0x20]
|
|
cmp r1, #0
|
|
beq _02229CD8
|
|
add r2, #0x26
|
|
ldrb r0, [r2]
|
|
cmp r0, #0
|
|
bne _02229CD8
|
|
blx r1
|
|
_02229CD8:
|
|
pop {r3, pc}
|
|
nop
|
|
_02229CDC: .word ov74_0223D0A4
|
|
thumb_func_end ov74_02229CB8
|
|
|
|
thumb_func_start ov74_02229CE0
|
|
ov74_02229CE0: ; 0x02229CE0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl sub_02037474
|
|
cmp r0, #0
|
|
bne _02229D06
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl sub_02038114
|
|
add r0, r5, #0
|
|
bl ov74_02229B68
|
|
ldr r0, _02229D08 ; =ov74_02229BD0
|
|
mov r1, #0
|
|
bl ov74_02229BC0
|
|
_02229D06:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02229D08: .word ov74_02229BD0
|
|
thumb_func_end ov74_02229CE0
|
|
|
|
thumb_func_start ov74_02229D0C
|
|
ov74_02229D0C: ; 0x02229D0C
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
add r1, r3, #0
|
|
ldr r3, _02229D18 ; =sub_02037088
|
|
mov r0, #0x16
|
|
bx r3
|
|
.balign 4, 0
|
|
_02229D18: .word sub_02037088
|
|
thumb_func_end ov74_02229D0C
|
|
|
|
thumb_func_start ov74_02229D1C
|
|
ov74_02229D1C: ; 0x02229D1C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl sub_02037474
|
|
cmp r0, #0
|
|
bne _02229D48
|
|
bl ov74_0222CD7C
|
|
bl OverlayManager_GetArgs
|
|
ldr r0, [r0, #8]
|
|
add r1, r4, #0
|
|
bl sub_02038148
|
|
add r0, r5, #0
|
|
bl ov74_02229B68
|
|
ldr r0, _02229D4C ; =ov74_02229C44
|
|
mov r1, #0
|
|
bl ov74_02229BC0
|
|
_02229D48:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02229D4C: .word ov74_02229C44
|
|
thumb_func_end ov74_02229D1C
|
|
|
|
thumb_func_start ov74_02229D50
|
|
ov74_02229D50: ; 0x02229D50
|
|
ldr r1, _02229D60 ; =ov74_0223D0A4
|
|
ldr r3, _02229D64 ; =ov74_02229BC0
|
|
ldr r1, [r1]
|
|
add r1, #0x27
|
|
strb r0, [r1]
|
|
ldr r0, _02229D68 ; =ov74_02229C60
|
|
mov r1, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_02229D60: .word ov74_0223D0A4
|
|
_02229D64: .word ov74_02229BC0
|
|
_02229D68: .word ov74_02229C60
|
|
thumb_func_end ov74_02229D50
|
|
|
|
thumb_func_start ov74_02229D6C
|
|
ov74_02229D6C: ; 0x02229D6C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r4, #0
|
|
_02229D72:
|
|
add r0, r4, #0
|
|
bl sub_020358D0
|
|
add r1, r0, #0
|
|
beq _02229D92
|
|
add r0, #0x4c
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
beq _02229D92
|
|
add r5, #0x8c
|
|
add r0, r5, #0
|
|
mov r2, #0x50
|
|
bl memcpy
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02229D92:
|
|
add r4, r4, #1
|
|
cmp r4, #0x10
|
|
blt _02229D72
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02229D6C
|
|
|
|
thumb_func_start ov74_02229DA0
|
|
ov74_02229DA0: ; 0x02229DA0
|
|
ldr r1, _02229DB8 ; =ov74_0223D0A4
|
|
ldr r2, [r1]
|
|
add r1, r2, #0
|
|
add r1, #0x27
|
|
ldrb r1, [r1]
|
|
cmp r1, r0
|
|
bne _02229DB6
|
|
mov r0, #0xf
|
|
mov r1, #1
|
|
lsl r0, r0, #6
|
|
strb r1, [r2, r0]
|
|
_02229DB6:
|
|
bx lr
|
|
.balign 4, 0
|
|
_02229DB8: .word ov74_0223D0A4
|
|
thumb_func_end ov74_02229DA0
|
|
|
|
thumb_func_start ov74_02229DBC
|
|
ov74_02229DBC: ; 0x02229DBC
|
|
ldr r0, _02229DC8 ; =ov74_0223D0A4
|
|
ldr r1, [r0]
|
|
mov r0, #0xf
|
|
lsl r0, r0, #6
|
|
ldrb r0, [r1, r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
_02229DC8: .word ov74_0223D0A4
|
|
thumb_func_end ov74_02229DBC
|
|
|
|
thumb_func_start ov74_02229DCC
|
|
ov74_02229DCC: ; 0x02229DCC
|
|
mov r0, #0xd6
|
|
lsl r0, r0, #2
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02229DCC
|
|
|
|
thumb_func_start ov74_02229DD4
|
|
ov74_02229DD4: ; 0x02229DD4
|
|
ldr r0, _02229DDC ; =ov74_0223D0A4
|
|
ldr r0, [r0]
|
|
add r0, #0x68
|
|
bx lr
|
|
.balign 4, 0
|
|
_02229DDC: .word ov74_0223D0A4
|
|
thumb_func_end ov74_02229DD4
|
|
|
|
thumb_func_start ov74_02229DE0
|
|
ov74_02229DE0: ; 0x02229DE0
|
|
ldr r1, _02229DF0 ; =ov74_0223D0A4
|
|
mov r2, #1
|
|
ldr r1, [r1]
|
|
add r1, r1, r0
|
|
ldr r0, _02229DF4 ; =0x000003C1
|
|
strb r2, [r1, r0]
|
|
bx lr
|
|
nop
|
|
_02229DF0: .word ov74_0223D0A4
|
|
_02229DF4: .word 0x000003C1
|
|
thumb_func_end ov74_02229DE0
|
|
|
|
thumb_func_start ov74_02229DF8
|
|
ov74_02229DF8: ; 0x02229DF8
|
|
push {r3, lr}
|
|
ldr r1, _02229E10 ; =ov74_0223D0A4
|
|
mov r0, #0xf
|
|
ldr r1, [r1]
|
|
bl FreeToHeapExplicit
|
|
ldr r0, _02229E10 ; =ov74_0223D0A4
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
bl sub_02037E9C
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02229E10: .word ov74_0223D0A4
|
|
thumb_func_end ov74_02229DF8
|
|
|
|
thumb_func_start ov74_02229E14
|
|
ov74_02229E14: ; 0x02229E14
|
|
ldr r3, _02229E20 ; =sub_0203410C
|
|
add r2, r0, #0
|
|
ldr r0, _02229E24 ; =_0223B368
|
|
mov r1, #2
|
|
bx r3
|
|
nop
|
|
_02229E20: .word sub_0203410C
|
|
_02229E24: .word _0223B368
|
|
thumb_func_end ov74_02229E14
|
|
|
|
thumb_func_start ov74_02229E28
|
|
ov74_02229E28: ; 0x02229E28
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
cmp r1, #1
|
|
ldr r0, _02229E5C ; =0x000029F0
|
|
bne _02229E48
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02229E58
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
mov r1, #1
|
|
bl WaitingIcon_New
|
|
ldr r1, _02229E5C ; =0x000029F0
|
|
str r0, [r4, r1]
|
|
pop {r4, pc}
|
|
_02229E48:
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02229E52
|
|
bl sub_0200F478
|
|
_02229E52:
|
|
ldr r0, _02229E5C ; =0x000029F0
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_02229E58:
|
|
pop {r4, pc}
|
|
nop
|
|
_02229E5C: .word 0x000029F0
|
|
thumb_func_end ov74_02229E28
|
|
|
|
thumb_func_start ov74_02229E60
|
|
ov74_02229E60: ; 0x02229E60
|
|
ldr r3, _02229E64 ; =ov74_02229E28
|
|
bx r3
|
|
.balign 4, 0
|
|
_02229E64: .word ov74_02229E28
|
|
thumb_func_end ov74_02229E60
|
|
|
|
thumb_func_start ov74_02229E68
|
|
ov74_02229E68: ; 0x02229E68
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
bl OverlayManager_GetData
|
|
add r7, r0, #0
|
|
bl ov74_022359BC
|
|
ldr r0, [r7, #0x7c]
|
|
cmp r0, #0
|
|
beq _02229E7E
|
|
bl ListMenuItems_Delete
|
|
_02229E7E:
|
|
ldr r0, [r7, #0x78]
|
|
cmp r0, #0
|
|
beq _02229E8C
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl DestroyListMenu
|
|
_02229E8C:
|
|
add r0, r7, #0
|
|
add r0, #0x18
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r7, #0
|
|
add r0, #0x18
|
|
bl RemoveWindow
|
|
add r0, r7, #0
|
|
add r0, #0x58
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
beq _02229EB8
|
|
add r0, r7, #0
|
|
add r0, #0x58
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r7, #0
|
|
add r0, #0x58
|
|
bl RemoveWindow
|
|
_02229EB8:
|
|
add r5, r7, #0
|
|
mov r6, #0
|
|
add r4, r7, #0
|
|
add r5, #0x28
|
|
_02229EC0:
|
|
ldr r0, [r4, #0x28]
|
|
cmp r0, #0
|
|
beq _02229ED2
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
_02229ED2:
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
add r5, #0x10
|
|
cmp r6, #3
|
|
blt _02229EC0
|
|
ldr r0, [r7]
|
|
mov r1, #0
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r7]
|
|
mov r1, #1
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r7]
|
|
mov r1, #4
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r7]
|
|
mov r1, #5
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r7]
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_02229E68
|
|
|
|
thumb_func_start ov74_02229F04
|
|
ov74_02229F04: ; 0x02229F04
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
bl ov74_0223563C
|
|
bl ov74_02235690
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0xe
|
|
mov r2, #0xb
|
|
mov r3, #0xd
|
|
bl ov74_02235728
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02229F04
|
|
|
|
thumb_func_start ov74_02229F28
|
|
ov74_02229F28: ; 0x02229F28
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
beq _02229F4E
|
|
str r1, [sp]
|
|
ldr r1, _02229F5C ; =0x000005C4
|
|
mov r0, #0
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0x80
|
|
mov r3, #0x64
|
|
bl ov74_02235930
|
|
ldr r1, _02229F5C ; =0x000005C4
|
|
add sp, #4
|
|
str r0, [r4, r1]
|
|
pop {r3, r4, pc}
|
|
_02229F4E:
|
|
ldr r0, _02229F5C ; =0x000005C4
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_02229F5C: .word 0x000005C4
|
|
thumb_func_end ov74_02229F28
|
|
|
|
thumb_func_start ov74_02229F60
|
|
ov74_02229F60: ; 0x02229F60
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _02229F76
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0200E5D4
|
|
_02229F76:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_02229F60
|
|
|
|
thumb_func_start ov74_02229F78
|
|
ov74_02229F78: ; 0x02229F78
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _02229F8E
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ClearFrameAndWindow2
|
|
_02229F8E:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_02229F78
|
|
|
|
thumb_func_start ov74_02229F90
|
|
ov74_02229F90: ; 0x02229F90
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, _02229FE8 ; =0x000015D4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #2
|
|
beq _02229FAE
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x18
|
|
mov r2, #3
|
|
bl ov74_0222AA18
|
|
_02229FAE:
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
ldr r0, _02229FE8 ; =0x000015D4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #2
|
|
beq _02229FDE
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
bl ov74_02229D1C
|
|
ldr r1, _02229FEC ; =0x00001C20
|
|
ldr r0, _02229FF0 ; =0x00000434
|
|
str r1, [r4, r0]
|
|
bl sub_0203A880
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229E28
|
|
mov r0, #7
|
|
pop {r3, r4, r5, pc}
|
|
_02229FDE:
|
|
mov r0, #0x13
|
|
add r4, #0x84
|
|
str r0, [r4]
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02229FE8: .word 0x000015D4
|
|
_02229FEC: .word 0x00001C20
|
|
_02229FF0: .word 0x00000434
|
|
thumb_func_end ov74_02229F90
|
|
|
|
thumb_func_start ov74_02229FF4
|
|
ov74_02229FF4: ; 0x02229FF4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r0, #0x80
|
|
ldr r1, [r0]
|
|
cmp r1, #1
|
|
bne _0222A00A
|
|
mov r0, #0x31
|
|
pop {r3, r4, r5, pc}
|
|
_0222A00A:
|
|
sub r0, r1, #2
|
|
cmp r0, #2
|
|
bhi _0222A014
|
|
mov r0, #0x31
|
|
pop {r3, r4, r5, pc}
|
|
_0222A014:
|
|
cmp r1, #5
|
|
bne _0222A01C
|
|
mov r0, #0x31
|
|
pop {r3, r4, r5, pc}
|
|
_0222A01C:
|
|
ldr r0, _0222A070 ; =0x000015D4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0222A02C
|
|
ldr r0, _0222A074 ; =0x00000438
|
|
ldr r0, [r4, r0]
|
|
bl ov74_02229D50
|
|
_0222A02C:
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x18
|
|
mov r2, #6
|
|
bl ov74_0222AA18
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
ldr r0, _0222A070 ; =0x000015D4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0222A05A
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229E28
|
|
_0222A05A:
|
|
ldr r0, _0222A070 ; =0x000015D4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0222A06C
|
|
mov r0, #0xab
|
|
bl sub_02037AC0
|
|
mov r0, #9
|
|
pop {r3, r4, r5, pc}
|
|
_0222A06C:
|
|
mov r0, #0x15
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222A070: .word 0x000015D4
|
|
_0222A074: .word 0x00000438
|
|
thumb_func_end ov74_02229FF4
|
|
|
|
thumb_func_start ov74_0222A078
|
|
ov74_0222A078: ; 0x0222A078
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, _0222A0DC ; =0x000015D4
|
|
add r5, r4, #0
|
|
add r6, r4, #0
|
|
ldr r0, [r4, r0]
|
|
add r5, #0xdc
|
|
add r6, #0x8c
|
|
cmp r0, #1
|
|
beq _0222A096
|
|
cmp r0, #3
|
|
beq _0222A0BC
|
|
b _0222A0D6
|
|
_0222A096:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
bl ov74_02229DD4
|
|
mov r2, #0xd6
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
lsl r2, r2, #2
|
|
bl memcpy
|
|
add r0, r4, #0
|
|
add r4, #0xdc
|
|
add r0, #0x8c
|
|
add r1, r4, #0
|
|
mov r2, #0x54
|
|
bl ov74_02235F58
|
|
b _0222A0D6
|
|
_0222A0BC:
|
|
ldr r7, _0222A0E0 ; =0x000005D4
|
|
mov r2, #0xd6
|
|
add r1, r4, r7
|
|
add r0, r5, #0
|
|
add r1, #0x50
|
|
lsl r2, r2, #2
|
|
bl memcpy
|
|
add r0, r6, #0
|
|
add r1, r4, r7
|
|
mov r2, #0x50
|
|
bl memcpy
|
|
_0222A0D6:
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222A0DC: .word 0x000015D4
|
|
_0222A0E0: .word 0x000005D4
|
|
thumb_func_end ov74_0222A078
|
|
|
|
thumb_func_start ov74_0222A0E4
|
|
ov74_0222A0E4: ; 0x0222A0E4
|
|
push {r3, lr}
|
|
ldrh r1, [r0]
|
|
cmp r1, #3
|
|
bgt _0222A0FC
|
|
cmp r1, #1
|
|
blt _0222A12C
|
|
beq _0222A10E
|
|
cmp r1, #2
|
|
beq _0222A10E
|
|
cmp r1, #3
|
|
beq _0222A104
|
|
b _0222A12C
|
|
_0222A0FC:
|
|
cmp r1, #0xd
|
|
bne _0222A12C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0222A104:
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #1
|
|
bne _0222A12C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0222A10E:
|
|
add r0, #8
|
|
mov r1, #0x98
|
|
mov r2, #0
|
|
bl GetMonData
|
|
cmp r0, #3
|
|
blt _0222A120
|
|
cmp r0, #0xe
|
|
ble _0222A128
|
|
_0222A120:
|
|
cmp r0, #0x41
|
|
blt _0222A12C
|
|
cmp r0, #0x47
|
|
bgt _0222A12C
|
|
_0222A128:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0222A12C:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_0222A0E4
|
|
|
|
thumb_func_start ov74_0222A130
|
|
ov74_0222A130: ; 0x0222A130
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222A168 ; =0x000029EC
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #1
|
|
bne _0222A142
|
|
mov r1, #0
|
|
sub r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_0222A142:
|
|
bl ov74_022360B0
|
|
sub r0, r0, #2
|
|
cmp r0, #1
|
|
bhi _0222A164
|
|
add r0, r4, #0
|
|
add r0, #0xdc
|
|
bl ov74_0222A0E4
|
|
cmp r0, #1
|
|
beq _0222A15E
|
|
ldr r0, _0222A16C ; =SEQ_SE_DP_SAVE
|
|
bl PlaySE
|
|
_0222A15E:
|
|
ldr r0, _0222A170 ; =0x000029E8
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_0222A164:
|
|
pop {r4, pc}
|
|
nop
|
|
_0222A168: .word 0x000029EC
|
|
_0222A16C: .word SEQ_SE_DP_SAVE
|
|
_0222A170: .word 0x000029E8
|
|
thumb_func_end ov74_0222A130
|
|
|
|
thumb_func_start ov74_0222A174
|
|
ov74_0222A174: ; 0x0222A174
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r5, r0, #0
|
|
str r0, [sp, #4]
|
|
add r0, r6, #0
|
|
add r4, #0x8c
|
|
add r5, #0xdc
|
|
bl OverlayManager_GetArgs
|
|
ldr r0, [r0, #8]
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
add r0, #0x4e
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
bne _0222A1A2
|
|
mov r6, #0
|
|
b _0222A1CE
|
|
_0222A1A2:
|
|
mov r1, #0x35
|
|
add r2, r4, #0
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
strb r0, [r5, r1]
|
|
add r2, #0x4e
|
|
ldrb r2, [r2]
|
|
mov r6, #1
|
|
lsl r2, r2, #0x1b
|
|
lsr r2, r2, #0x1f
|
|
bne _0222A1BC
|
|
sub r1, #8
|
|
strb r0, [r5, r1]
|
|
_0222A1BC:
|
|
add r0, sp, #8
|
|
bl GF_RTC_CopyDate
|
|
add r0, sp, #8
|
|
bl RTC_ConvertDateToDay
|
|
mov r1, #0xd5
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
_0222A1CE:
|
|
ldr r0, [sp]
|
|
bl Save_MysteryGift_Get
|
|
add r1, r4, #0
|
|
add r1, #0x4c
|
|
ldrh r1, [r1]
|
|
add r7, r0, #0
|
|
bl SaveMysteryGift_ReceivedFlagSet
|
|
add r4, #0x4e
|
|
ldrb r0, [r4]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _0222A204
|
|
ldrh r0, [r5]
|
|
cmp r0, #3
|
|
bne _0222A204
|
|
ldr r1, [r5, #4]
|
|
ldr r0, _0222A234 ; =0x00000215
|
|
cmp r1, r0
|
|
bne _0222A204
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl SaveMysteryGift_TrySetSpecialCard
|
|
b _0222A21C
|
|
_0222A204:
|
|
cmp r6, #0
|
|
bne _0222A214
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
mov r2, #3
|
|
bl SaveMysteryGift_TryInsertGift
|
|
b _0222A21C
|
|
_0222A214:
|
|
add r0, r7, #0
|
|
add r1, r5, #0
|
|
bl SaveMysteryGift_TryInsertCard
|
|
_0222A21C:
|
|
ldr r0, [sp]
|
|
bl ov74_022360A0
|
|
ldr r1, _0222A238 ; =0x000029EC
|
|
ldr r0, [sp, #4]
|
|
mov r2, #0
|
|
str r2, [r0, r1]
|
|
ldr r2, _0222A23C ; =ov74_0222A130
|
|
sub r1, r1, #4
|
|
str r2, [r0, r1]
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222A234: .word 0x00000215
|
|
_0222A238: .word 0x000029EC
|
|
_0222A23C: .word ov74_0222A130
|
|
thumb_func_end ov74_0222A174
|
|
|
|
thumb_func_start ov74_0222A240
|
|
ov74_0222A240: ; 0x0222A240
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
add r4, r1, #0
|
|
bl OverlayManager_GetData
|
|
cmp r4, #0
|
|
bne _0222A254
|
|
mov r5, #4
|
|
b _0222A258
|
|
_0222A254:
|
|
mov r5, #0
|
|
mvn r5, r5
|
|
_0222A258:
|
|
ldr r1, [r0, #0x48]
|
|
add r4, r0, #0
|
|
add r4, #0x48
|
|
cmp r1, #0
|
|
bne _0222A282
|
|
mov r1, #0xa
|
|
str r1, [sp]
|
|
mov r1, #6
|
|
str r1, [sp, #4]
|
|
mov r1, #4
|
|
str r1, [sp, #8]
|
|
mov r2, #0
|
|
mov r1, #0x6b
|
|
str r2, [sp, #0xc]
|
|
lsl r1, r1, #2
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
mov r3, #0x17
|
|
bl AddWindowParameterized
|
|
_0222A282:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
ldr r1, _0222A2A0 ; =ov74_0223C260
|
|
add r0, r6, #0
|
|
mov r2, #2
|
|
add r3, r4, #0
|
|
str r5, [sp]
|
|
bl ov74_0222A89C
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222A2A0: .word ov74_0223C260
|
|
thumb_func_end ov74_0222A240
|
|
|
|
thumb_func_start ov74_0222A2A4
|
|
ov74_0222A2A4: ; 0x0222A2A4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
ldr r0, _0222A2DC ; =0x000015D4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0222A2D0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
_0222A2D0:
|
|
bl sub_0203A914
|
|
add r0, r5, #0
|
|
bl ov74_0222A5CC
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222A2DC: .word 0x000015D4
|
|
thumb_func_end ov74_0222A2A4
|
|
|
|
thumb_func_start ov74_0222A2E0
|
|
ov74_0222A2E0: ; 0x0222A2E0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r5, r0, #0
|
|
bl ov74_02235230
|
|
cmp r0, #0
|
|
beq _0222A2F8
|
|
mov r1, #2
|
|
b _0222A2FA
|
|
_0222A2F8:
|
|
mov r1, #1
|
|
_0222A2FA:
|
|
ldr r0, _0222A354 ; =0x000015D4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
add r0, #0x38
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r4, r5, #0
|
|
ldr r0, [r5, #0x48]
|
|
add r4, #0x48
|
|
cmp r0, #0
|
|
bne _0222A332
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
mov r0, #0x6b
|
|
str r2, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
mov r3, #0x17
|
|
bl AddWindowParameterized
|
|
_0222A332:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
mov r2, #2
|
|
ldr r1, _0222A358 ; =ov74_0223C250
|
|
add r0, r6, #0
|
|
add r3, r4, #0
|
|
str r2, [sp]
|
|
bl ov74_0222A89C
|
|
mov r0, #5
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0222A354: .word 0x000015D4
|
|
_0222A358: .word ov74_0223C250
|
|
thumb_func_end ov74_0222A2E0
|
|
|
|
thumb_func_start ov74_0222A35C
|
|
ov74_0222A35C: ; 0x0222A35C
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, _0222A3C4 ; =0x000015D4
|
|
mov r1, #4
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r5, r4, #0
|
|
ldr r0, [r4, #0x48]
|
|
add r5, #0x48
|
|
cmp r0, #0
|
|
bne _0222A3A2
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
mov r0, #0x6b
|
|
str r2, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, r5, #0
|
|
mov r3, #0x17
|
|
bl AddWindowParameterized
|
|
_0222A3A2:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #0x50
|
|
str r0, [sp]
|
|
ldr r1, _0222A3C8 ; =ov74_0223C220
|
|
add r0, r6, #0
|
|
mov r2, #2
|
|
add r3, r5, #0
|
|
bl ov74_0222A89C
|
|
mov r0, #5
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222A3C4: .word 0x000015D4
|
|
_0222A3C8: .word ov74_0223C220
|
|
thumb_func_end ov74_0222A35C
|
|
|
|
thumb_func_start ov74_0222A3CC
|
|
ov74_0222A3CC: ; 0x0222A3CC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, _0222A434 ; =0x000015D4
|
|
mov r1, #3
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
add r0, #0x38
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r5, r4, #0
|
|
ldr r0, [r4, #0x48]
|
|
add r5, #0x48
|
|
cmp r0, #0
|
|
bne _0222A412
|
|
mov r0, #0xa
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
mov r0, #0x6b
|
|
str r2, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, r5, #0
|
|
mov r3, #0x17
|
|
bl AddWindowParameterized
|
|
_0222A412:
|
|
add r0, r5, #0
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #0x4f
|
|
str r0, [sp]
|
|
ldr r1, _0222A438 ; =ov74_0223C230
|
|
add r0, r6, #0
|
|
mov r2, #2
|
|
add r3, r5, #0
|
|
bl ov74_0222A89C
|
|
mov r0, #5
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222A434: .word 0x000015D4
|
|
_0222A438: .word ov74_0223C230
|
|
thumb_func_end ov74_0222A3CC
|
|
|
|
thumb_func_start ov74_0222A43C
|
|
ov74_0222A43C: ; 0x0222A43C
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r1, [r0, #0x48]
|
|
add r4, #0x48
|
|
cmp r1, #0
|
|
bne _0222A470
|
|
mov r1, #0xa
|
|
str r1, [sp]
|
|
mov r1, #6
|
|
str r1, [sp, #4]
|
|
mov r1, #4
|
|
str r1, [sp, #8]
|
|
mov r2, #0
|
|
mov r1, #0x6b
|
|
str r2, [sp, #0xc]
|
|
lsl r1, r1, #2
|
|
str r1, [sp, #0x10]
|
|
ldr r0, [r0]
|
|
add r1, r4, #0
|
|
mov r3, #0x17
|
|
bl AddWindowParameterized
|
|
_0222A470:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #4
|
|
str r0, [sp]
|
|
ldr r1, _0222A490 ; =ov74_0223C240
|
|
add r0, r5, #0
|
|
mov r2, #2
|
|
add r3, r4, #0
|
|
bl ov74_0222A89C
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222A490: .word ov74_0223C240
|
|
thumb_func_end ov74_0222A43C
|
|
|
|
thumb_func_start ov74_0222A494
|
|
ov74_0222A494: ; 0x0222A494
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
bl sub_0203A914
|
|
ldr r0, _0222A4C8 ; =0x000015D4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _0222A4C0
|
|
bl ov74_02229DF8
|
|
_0222A4C0:
|
|
add r0, r5, #0
|
|
bl ov74_0222A5CC
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222A4C8: .word 0x000015D4
|
|
thumb_func_end ov74_0222A494
|
|
|
|
thumb_func_start ov74_0222A4CC
|
|
ov74_0222A4CC: ; 0x0222A4CC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x18
|
|
mov r2, #3
|
|
bl ov74_0222AA18
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229E28
|
|
ldr r0, _0222A500 ; =ov74_0223D0A8
|
|
mov r1, #0x25
|
|
str r1, [r0, #0x10]
|
|
mov r0, #0x20
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222A500: .word ov74_0223D0A8
|
|
thumb_func_end ov74_0222A4CC
|
|
|
|
thumb_func_start ov74_0222A504
|
|
ov74_0222A504: ; 0x0222A504
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
sub r0, r0, #2
|
|
cmp r0, #2
|
|
bhi _0222A51C
|
|
mov r0, #0x31
|
|
pop {r3, r4, r5, pc}
|
|
_0222A51C:
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r4, #0x18
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
mov r2, #7
|
|
bl ov74_0222AA18
|
|
mov r0, #0x21
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222A504
|
|
|
|
thumb_func_start ov74_0222A538
|
|
ov74_0222A538: ; 0x0222A538
|
|
push {r3, lr}
|
|
ldr r0, _0222A55C ; =ov74_0223D0A8
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0x28
|
|
beq _0222A54A
|
|
cmp r0, #0x29
|
|
beq _0222A54A
|
|
cmp r0, #0x30
|
|
bne _0222A558
|
|
_0222A54A:
|
|
bl ov74_022365FC
|
|
cmp r0, #0
|
|
beq _0222A558
|
|
ldr r0, _0222A55C ; =ov74_0223D0A8
|
|
mov r1, #0x2b
|
|
str r1, [r0, #0x10]
|
|
_0222A558:
|
|
mov r0, #0x24
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0222A55C: .word ov74_0223D0A8
|
|
thumb_func_end ov74_0222A538
|
|
|
|
thumb_func_start ov74_0222A560
|
|
ov74_0222A560: ; 0x0222A560
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x18
|
|
mov r2, #3
|
|
bl ov74_0222AA18
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229E28
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229E28
|
|
mov r1, #1
|
|
ldr r0, _0222A5A4 ; =0x000015E0
|
|
lsl r1, r1, #0xc
|
|
str r1, [r4, r0]
|
|
ldr r0, _0222A5A8 ; =0x0000267C
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
mov r0, #0x1b
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222A5A4: .word 0x000015E0
|
|
_0222A5A8: .word 0x0000267C
|
|
thumb_func_end ov74_0222A560
|
|
|
|
thumb_func_start ov74_0222A5AC
|
|
ov74_0222A5AC: ; 0x0222A5AC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r0, #0x38
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r0, r4, #0
|
|
mov r1, #0xc4
|
|
mov r2, #0
|
|
bl ov74_0222A94C
|
|
mov r0, #3
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222A5AC
|
|
|
|
thumb_func_start ov74_0222A5CC
|
|
ov74_0222A5CC: ; 0x0222A5CC
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #4]
|
|
bl Save_MysteryGift_Get
|
|
ldr r0, _0222A648 ; =0x000005C8
|
|
ldr r1, [r5, r0]
|
|
cmp r1, #0x1e
|
|
bne _0222A5F2
|
|
mov r1, #1
|
|
add r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r5, #0
|
|
bl ov74_0222CE10
|
|
_0222A5F2:
|
|
add r0, r5, #0
|
|
add r0, #0x28
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r4, r5, #0
|
|
ldr r0, [r5, #0x38]
|
|
add r4, #0x38
|
|
cmp r0, #0
|
|
bne _0222A626
|
|
mov r0, #9
|
|
str r0, [sp]
|
|
mov r0, #0x10
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
mov r0, #0x49
|
|
str r2, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5]
|
|
add r1, r4, #0
|
|
mov r3, #0xf
|
|
bl AddWindowParameterized
|
|
_0222A626:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
ldr r1, _0222A64C ; =ov74_0223C2B0
|
|
add r0, r6, #0
|
|
mov r2, #4
|
|
add r3, r4, #0
|
|
bl ov74_0222A89C
|
|
mov r0, #4
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222A648: .word 0x000005C8
|
|
_0222A64C: .word ov74_0223C2B0
|
|
thumb_func_end ov74_0222A5CC
|
|
|
|
thumb_func_start ov74_0222A650
|
|
ov74_0222A650: ; 0x0222A650
|
|
push {r4, lr}
|
|
bl OverlayManager_GetData
|
|
ldr r1, _0222A680 ; =0x000005C8
|
|
add r4, r0, #0
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0x1e
|
|
bne _0222A66A
|
|
mov r2, #1
|
|
add r1, r1, #4
|
|
str r2, [r4, r1]
|
|
bl ov74_0222CE10
|
|
_0222A66A:
|
|
ldr r2, _0222A684 ; =0x000015D8
|
|
mov r0, #0
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x36
|
|
mov r3, #2
|
|
bl ov74_0223539C
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
nop
|
|
_0222A680: .word 0x000005C8
|
|
_0222A684: .word 0x000015D8
|
|
thumb_func_end ov74_0222A650
|
|
|
|
thumb_func_start ov74_0222A688
|
|
ov74_0222A688: ; 0x0222A688
|
|
push {r4, lr}
|
|
bl OverlayManager_GetData
|
|
ldr r1, _0222A6B8 ; =0x000005C8
|
|
add r4, r0, #0
|
|
ldr r2, [r4, r1]
|
|
cmp r2, #0x1e
|
|
bne _0222A6A2
|
|
mov r2, #1
|
|
add r1, r1, #4
|
|
str r2, [r4, r1]
|
|
bl ov74_0222CE10
|
|
_0222A6A2:
|
|
ldr r2, _0222A6BC ; =0x000015D8
|
|
mov r0, #0
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x37
|
|
mov r3, #2
|
|
bl ov74_0223539C
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
nop
|
|
_0222A6B8: .word 0x000005C8
|
|
_0222A6BC: .word 0x000015D8
|
|
thumb_func_end ov74_0222A688
|
|
|
|
thumb_func_start ov74_0222A6C0
|
|
ov74_0222A6C0: ; 0x0222A6C0
|
|
push {r4, lr}
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, _0222A6F0 ; =0x000005C8
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0x1e
|
|
bne _0222A6D6
|
|
mov r1, #1
|
|
add r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_0222A6D6:
|
|
mov r0, #1
|
|
bl ov74_02235390
|
|
ldr r2, _0222A6F4 ; =0x000015D8
|
|
mov r0, #0
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x35
|
|
mov r3, #2
|
|
bl ov74_0223539C
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222A6F0: .word 0x000005C8
|
|
_0222A6F4: .word 0x000015D8
|
|
thumb_func_end ov74_0222A6C0
|
|
|
|
thumb_func_start ov74_0222A6F8
|
|
ov74_0222A6F8: ; 0x0222A6F8
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
add r5, r3, #0
|
|
ldr r3, _0222A740 ; =_0223B3A0
|
|
add r7, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
add r2, sp, #0
|
|
ldmia r3!, {r0, r1}
|
|
mov ip, r2
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
lsr r1, r6, #0xb
|
|
str r0, [r2]
|
|
add r0, sp, #0
|
|
strb r1, [r0, #0x12]
|
|
lsr r1, r5, #0xe
|
|
strb r1, [r0, #0x13]
|
|
lsl r1, r4, #0x18
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
mov r2, ip
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
lsl r1, r4, #0x18
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222A740: .word _0223B3A0
|
|
thumb_func_end ov74_0222A6F8
|
|
|
|
thumb_func_start ov74_0222A744
|
|
ov74_0222A744: ; 0x0222A744
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
ldr r5, _0222A79C ; =_0223B390
|
|
add r3, sp, #0
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
mov r1, #0
|
|
mov r2, #0xf
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0xc
|
|
add r3, r1, #0
|
|
bl ov74_0222A6F8
|
|
mov r1, #1
|
|
mov r2, #0x3e
|
|
add r0, r4, #0
|
|
lsl r2, r2, #0xa
|
|
lsl r3, r1, #0xf
|
|
bl ov74_0222A6F8
|
|
mov r2, #0xe
|
|
add r0, r4, #0
|
|
mov r1, #4
|
|
lsl r2, r2, #0xa
|
|
mov r3, #0
|
|
bl ov74_0222A6F8
|
|
mov r2, #0x1e
|
|
mov r3, #1
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
lsl r2, r2, #0xa
|
|
lsl r3, r3, #0xe
|
|
bl ov74_0222A6F8
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222A79C: .word _0223B390
|
|
thumb_func_end ov74_0222A744
|
|
|
|
thumb_func_start ov74_0222A7A0
|
|
ov74_0222A7A0: ; 0x0222A7A0
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x20
|
|
mov r2, #4
|
|
str r0, [sp]
|
|
mov r0, #0x54
|
|
add r3, r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0
|
|
add r3, #0xfc
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
mov r0, #0x54
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x71
|
|
add r2, r4, #0
|
|
mov r3, #5
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x54
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x71
|
|
mov r1, #2
|
|
add r2, r4, #0
|
|
mov r3, #5
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
mov r2, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
add r3, r2, #0
|
|
bl BgTilemapRectChangePalette
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222A7A0
|
|
|
|
thumb_func_start ov74_0222A81C
|
|
ov74_0222A81C: ; 0x0222A81C
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x54
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
add r3, #0x8f
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
mov r0, #0x54
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x71
|
|
add r2, r4, #0
|
|
add r3, r1, #0
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x54
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x71
|
|
mov r1, #2
|
|
add r2, r4, #0
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #8
|
|
mov r2, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl BgTilemapRectChangePalette
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl BgCommitTilemapBufferToVram
|
|
add r0, r4, #0
|
|
bl ov74_0222A7A0
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222A81C
|
|
|
|
thumb_func_start ov74_0222A89C
|
|
ov74_0222A89C: ; 0x0222A89C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
str r0, [sp]
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
str r3, [sp, #4]
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x7c]
|
|
cmp r0, #0
|
|
beq _0222A8B8
|
|
bl ListMenuItems_Delete
|
|
_0222A8B8:
|
|
add r0, r7, #0
|
|
mov r1, #0x54
|
|
bl ListMenuItems_New
|
|
str r0, [r4, #0x7c]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x54
|
|
bl NewMsgDataFromNarc
|
|
mov r6, #0
|
|
str r0, [r4, #0x10]
|
|
cmp r7, #0
|
|
ble _0222A8EA
|
|
_0222A8D6:
|
|
ldr r0, [r4, #0x7c]
|
|
ldr r1, [r4, #0x10]
|
|
ldr r2, [r5]
|
|
ldr r3, [r5, #4]
|
|
bl ListMenuItems_AppendFromMsgData
|
|
add r6, r6, #1
|
|
add r5, #8
|
|
cmp r6, r7
|
|
blt _0222A8D6
|
|
_0222A8EA:
|
|
ldr r0, [r4, #0x10]
|
|
bl DestroyMsgData
|
|
ldr r3, _0222A948 ; =ov74_0223C270
|
|
add r2, sp, #8
|
|
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 r0, [r4, #0x7c]
|
|
str r0, [sp, #8]
|
|
add r0, sp, #8
|
|
strh r7, [r0, #0x12]
|
|
ldrh r1, [r0, #0x12]
|
|
strh r1, [r0, #0x10]
|
|
ldr r0, [sp, #4]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r4, #0x78]
|
|
cmp r0, #0
|
|
beq _0222A922
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl DestroyListMenu
|
|
_0222A922:
|
|
mov r1, #0
|
|
add r0, sp, #8
|
|
add r2, r1, #0
|
|
mov r3, #0x54
|
|
bl ListMenuInit
|
|
str r0, [r4, #0x78]
|
|
mov r0, #0
|
|
ldr r2, [sp, #0x40]
|
|
mvn r0, r0
|
|
cmp r2, r0
|
|
beq _0222A944
|
|
add r4, #0x18
|
|
ldr r0, [sp]
|
|
add r1, r4, #0
|
|
bl ov74_0222AA18
|
|
_0222A944:
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222A948: .word ov74_0223C270
|
|
thumb_func_end ov74_0222A89C
|
|
|
|
thumb_func_start ov74_0222A94C
|
|
ov74_0222A94C: ; 0x0222A94C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
str r0, [sp, #0x14]
|
|
add r7, r1, #0
|
|
str r2, [sp, #0x20]
|
|
bl OverlayManager_GetData
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r0, #4]
|
|
mov r5, #0
|
|
bl Save_MysteryGift_Get
|
|
ldr r1, _0222AA10 ; =ov74_0223C220
|
|
ldr r4, [sp, #0x1c]
|
|
ldr r2, [r1, #0x70]
|
|
ldr r1, [r1, #0x74]
|
|
str r0, [sp, #0x18]
|
|
add r4, #0x28
|
|
add r5, r5, #1
|
|
str r2, [sp, #0x24]
|
|
str r1, [sp, #0x28]
|
|
bl SaveMysteryGift_HasAnyCard
|
|
cmp r0, #0
|
|
beq _0222A992
|
|
lsl r6, r5, #3
|
|
add r0, sp, #0x24
|
|
add r1, r0, r6
|
|
ldr r0, _0222AA10 ; =ov74_0223C220
|
|
add r5, r5, #1
|
|
ldr r3, [r0, #0x78]
|
|
ldr r2, [r0, #0x7c]
|
|
add r0, sp, #0x24
|
|
str r3, [r0, r6]
|
|
str r2, [r1, #4]
|
|
_0222A992:
|
|
ldr r0, [sp, #0x18]
|
|
bl SaveMysteryGift_SpecialCardTagIsValid
|
|
cmp r0, #0
|
|
beq _0222A9B0
|
|
lsl r6, r5, #3
|
|
add r0, sp, #0x24
|
|
add r1, r0, r6
|
|
ldr r0, _0222AA14 ; =ov74_0223C2A0
|
|
add r5, r5, #1
|
|
ldr r3, [r0]
|
|
ldr r2, [r0, #4]
|
|
add r0, sp, #0x24
|
|
str r3, [r0, r6]
|
|
str r2, [r1, #4]
|
|
_0222A9B0:
|
|
lsl r6, r5, #3
|
|
add r0, sp, #0x24
|
|
add r1, r0, r6
|
|
ldr r0, _0222AA14 ; =ov74_0223C2A0
|
|
ldr r3, [r0, #8]
|
|
ldr r2, [r0, #0xc]
|
|
add r0, sp, #0x24
|
|
str r3, [r0, r6]
|
|
str r2, [r1, #4]
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
bne _0222A9EE
|
|
mov r0, #7
|
|
str r0, [sp]
|
|
mov r0, #0x14
|
|
str r0, [sp, #4]
|
|
add r0, r5, #1
|
|
lsl r0, r0, #0x19
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
lsl r0, r7, #0x10
|
|
str r2, [sp, #0xc]
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, r4, #0
|
|
ldr r0, [r0]
|
|
mov r3, #6
|
|
bl AddWindowParameterized
|
|
_0222A9EE:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
ldr r0, [sp, #0x20]
|
|
add r1, sp, #0x24
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
add r2, r5, #1
|
|
add r3, r4, #0
|
|
bl ov74_0222A89C
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222AA10: .word ov74_0223C220
|
|
_0222AA14: .word ov74_0223C2A0
|
|
thumb_func_end ov74_0222A94C
|
|
|
|
thumb_func_start ov74_0222AA18
|
|
ov74_0222AA18: ; 0x0222AA18
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
add r7, r2, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x54
|
|
bl NewMsgDataFromNarc
|
|
str r0, [r4, #0x10]
|
|
mov r0, #0x54
|
|
bl MessageFormat_New
|
|
str r0, [r4, #0xc]
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl GetFontAttribute
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r6, [r4, #0x14]
|
|
cmp r6, #0
|
|
bne _0222AA60
|
|
ldr r0, [r4, #0xc]
|
|
ldr r1, [r4, #0x10]
|
|
add r2, r7, #0
|
|
mov r3, #0x54
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r6, r0, #0
|
|
_0222AA60:
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
ldr r0, [r4, #0x68]
|
|
mov r1, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222AAA8 ; =0x0001020F
|
|
add r2, r6, #0
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
add r0, r5, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
str r0, [r4, #0x6c]
|
|
ldr r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _0222AA86
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
_0222AA86:
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl DrawFrameAndWindow2
|
|
ldr r0, [r4, #0x10]
|
|
bl DestroyMsgData
|
|
ldr r0, [r4, #0xc]
|
|
bl MessageFormat_Delete
|
|
mov r0, #0xff
|
|
str r0, [r4, #0x68]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222AAA8: .word 0x0001020F
|
|
thumb_func_end ov74_0222AA18
|
|
|
|
thumb_func_start ov74_0222AAAC
|
|
ov74_0222AAAC: ; 0x0222AAAC
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
bl OverlayManager_GetData
|
|
mov r0, #0x25
|
|
mov r1, #0x54
|
|
bl String_New
|
|
add r1, r6, #0
|
|
mov r2, #0x24
|
|
add r4, r0, #0
|
|
bl CopyU16ArrayToStringN
|
|
mov r0, #0
|
|
mov r1, #6
|
|
bl GetFontAttribute
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222AB08 ; =0x0001020F
|
|
add r2, r4, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl DrawFrameAndWindow1
|
|
add r0, r4, #0
|
|
bl String_Delete
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222AB08: .word 0x0001020F
|
|
thumb_func_end ov74_0222AAAC
|
|
|
|
thumb_func_start ov74_0222AB0C
|
|
ov74_0222AB0C: ; 0x0222AB0C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
bl OverlayManager_GetData
|
|
ldr r0, [r0, #0x78]
|
|
bl ListMenu_ProcessInput
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _0222AB30
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
beq _0222AB66
|
|
b _0222AB4A
|
|
_0222AB30:
|
|
ldr r0, _0222AB68 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
cmp r6, #0
|
|
beq _0222AB66
|
|
add r0, r7, #0
|
|
blx r6
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222AB66
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222AB4A:
|
|
ldr r0, _0222AB68 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
cmp r4, #0
|
|
beq _0222AB66
|
|
ldr r0, _0222AB6C ; =ov74_0223D0A8
|
|
str r4, [r0, #8]
|
|
add r0, r7, #0
|
|
blx r4
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222AB66
|
|
str r0, [r5]
|
|
_0222AB66:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222AB68: .word SEQ_SE_DP_SELECT
|
|
_0222AB6C: .word ov74_0223D0A8
|
|
thumb_func_end ov74_0222AB0C
|
|
|
|
thumb_func_start ov74_0222AB70
|
|
ov74_0222AB70: ; 0x0222AB70
|
|
push {r4, r5, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ResetAllTextPrinters
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
mov r2, #0x54
|
|
bl LoadFontPal0
|
|
mov r0, #0
|
|
mov r1, #0x20
|
|
mov r2, #0x54
|
|
bl LoadFontPal0
|
|
ldr r0, [r4, #8]
|
|
bl Options_GetFrame
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x54
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
mov r2, #1
|
|
mov r3, #2
|
|
bl LoadUserFrameGfx2
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x54
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
mov r2, #0x1f
|
|
mov r3, #3
|
|
bl LoadUserFrameGfx1
|
|
mov r0, #5
|
|
ldr r1, _0222AC18 ; =0x00007D8C
|
|
lsl r0, r0, #0x18
|
|
strh r1, [r0]
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
bne _0222ABF4
|
|
mov r0, #0x13
|
|
str r0, [sp]
|
|
mov r0, #0x1b
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
add r1, r4, #0
|
|
str r2, [sp, #0xc]
|
|
mov r0, #0x28
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x18
|
|
mov r3, #2
|
|
bl AddWindowParameterized
|
|
_0222ABF4:
|
|
add r1, r4, #0
|
|
add r0, r5, #0
|
|
add r1, #0x18
|
|
mov r2, #0
|
|
bl ov74_0222AA18
|
|
add r0, r5, #0
|
|
mov r1, #0xc4
|
|
mov r2, #0
|
|
bl ov74_0222A94C
|
|
ldr r0, [r4]
|
|
bl ov74_0222A81C
|
|
mov r0, #1
|
|
add sp, #0x14
|
|
pop {r4, r5, pc}
|
|
nop
|
|
_0222AC18: .word 0x00007D8C
|
|
thumb_func_end ov74_0222AB70
|
|
|
|
thumb_func_start ov74_0222AC1C
|
|
ov74_0222AC1C: ; 0x0222AC1C
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r1, _0222ACC8 ; =0x000015E0
|
|
add r0, r6, #0
|
|
add r1, r4, r1
|
|
bl ov74_02236AE0
|
|
cmp r0, #4
|
|
bhi _0222ACC4
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222AC42: ; jump table
|
|
.short _0222ACC4 - _0222AC42 - 2 ; case 0
|
|
.short _0222AC4C - _0222AC42 - 2 ; case 1
|
|
.short _0222AC78 - _0222AC42 - 2 ; case 2
|
|
.short _0222AC78 - _0222AC42 - 2 ; case 3
|
|
.short _0222AC8C - _0222AC42 - 2 ; case 4
|
|
_0222AC4C:
|
|
ldr r1, _0222ACCC ; =0x00001658
|
|
add r0, r4, #0
|
|
mov r2, #0xea
|
|
add r0, #0x8c
|
|
add r1, r4, r1
|
|
lsl r2, r2, #2
|
|
bl memcpy
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
add r0, r4, #0
|
|
mov r1, #0x1b
|
|
add r0, #0x84
|
|
str r1, [r0]
|
|
mov r0, #0x13
|
|
str r0, [r5]
|
|
ldr r0, _0222ACD0 ; =0x000015DC
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
pop {r4, r5, r6, pc}
|
|
_0222AC78:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
ldr r0, _0222ACD0 ; =0x000015DC
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
mov r0, #0x11
|
|
str r0, [r5]
|
|
pop {r4, r5, r6, pc}
|
|
_0222AC8C:
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #6
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
mov r0, #0x9a
|
|
lsl r0, r0, #6
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r0, _0222ACD4 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
add r0, r6, #0
|
|
mov r1, #0xc4
|
|
mov r2, #0
|
|
bl ov74_0222A94C
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
_0222ACC4:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0222ACC8: .word 0x000015E0
|
|
_0222ACCC: .word 0x00001658
|
|
_0222ACD0: .word 0x000015DC
|
|
_0222ACD4: .word SEQ_SE_DP_SELECT
|
|
thumb_func_end ov74_0222AC1C
|
|
|
|
thumb_func_start ov74_0222ACD8
|
|
ov74_0222ACD8: ; 0x0222ACD8
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x5c
|
|
add r5, r0, #0
|
|
ldr r0, _0222AD64 ; =0x0000266C
|
|
ldr r4, [r5, r0]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _0222ACEC
|
|
mov r4, #0xb
|
|
_0222ACEC:
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #0x54
|
|
bl MessageFormat_New
|
|
mov r1, #2
|
|
str r1, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
ldr r2, _0222AD68 ; =0x00002670
|
|
mov r1, #0
|
|
ldr r2, [r5, r2]
|
|
mov r3, #5
|
|
add r6, r0, #0
|
|
bl BufferIntegerAsString
|
|
mov r0, #0x1f
|
|
mov r1, #0x9a
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
lsl r1, r1, #6
|
|
mov r3, #0x32
|
|
str r0, [sp, #4]
|
|
add r0, sp, #8
|
|
add r1, r5, r1
|
|
mov r2, #1
|
|
lsl r3, r3, #4
|
|
bl ov74_02235414
|
|
add r0, sp, #8
|
|
mov r1, #0x18
|
|
mov r2, #0x10
|
|
mov r3, #0x64
|
|
bl ov74_02235464
|
|
add r0, sp, #8
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl ov74_0223546C
|
|
str r6, [sp, #0x1c]
|
|
str r4, [sp]
|
|
mov r2, #4
|
|
ldr r0, [r5]
|
|
add r1, sp, #8
|
|
add r3, r2, #0
|
|
bl ov74_02235568
|
|
add r0, r6, #0
|
|
bl MessageFormat_Delete
|
|
add sp, #0x5c
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_0222AD64: .word 0x0000266C
|
|
_0222AD68: .word 0x00002670
|
|
thumb_func_end ov74_0222ACD8
|
|
|
|
thumb_func_start ov74_0222AD6C
|
|
ov74_0222AD6C: ; 0x0222AD6C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r1, r0, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
cmp r0, #3
|
|
bne _0222AD82
|
|
mov r4, #0x16
|
|
b _0222ADAC
|
|
_0222AD82:
|
|
cmp r0, #4
|
|
bne _0222AD8A
|
|
mov r4, #0x1a
|
|
b _0222ADAC
|
|
_0222AD8A:
|
|
cmp r0, #2
|
|
bne _0222AD92
|
|
mov r4, #0x17
|
|
b _0222ADAC
|
|
_0222AD92:
|
|
cmp r0, #1
|
|
bne _0222AD9A
|
|
mov r4, #0x1c
|
|
b _0222ADAC
|
|
_0222AD9A:
|
|
cmp r0, #5
|
|
bne _0222ADAC
|
|
add r0, r5, #0
|
|
add r1, #0x18
|
|
mov r2, #9
|
|
mov r3, #0x34
|
|
bl ov74_0222ADBC
|
|
pop {r3, r4, r5, pc}
|
|
_0222ADAC:
|
|
add r0, r5, #0
|
|
add r1, #0x18
|
|
add r2, r4, #0
|
|
mov r3, #0x33
|
|
bl ov74_0222ADBC
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222AD6C
|
|
|
|
thumb_func_start ov74_0222ADBC
|
|
ov74_0222ADBC: ; 0x0222ADBC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp]
|
|
add r6, r1, #0
|
|
add r5, r2, #0
|
|
add r7, r3, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
cmp r6, #0
|
|
beq _0222AE16
|
|
cmp r5, #0
|
|
beq _0222AE16
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x54
|
|
bl NewMsgDataFromNarc
|
|
str r0, [sp, #4]
|
|
mov r0, #0x54
|
|
bl MessageFormat_New
|
|
ldr r1, [sp, #4]
|
|
add r2, r5, #0
|
|
mov r3, #0x54
|
|
str r0, [sp, #8]
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
str r0, [r4, #0x14]
|
|
mov r0, #1
|
|
str r0, [r4, #0x68]
|
|
ldr r0, [sp]
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl ov74_0222AA18
|
|
ldr r0, [sp, #8]
|
|
str r7, [r4, #0x74]
|
|
bl MessageFormat_Delete
|
|
ldr r0, [sp, #4]
|
|
bl DestroyMsgData
|
|
b _0222AE36
|
|
_0222AE16:
|
|
ldr r0, [r4, #0x6c]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
bne _0222AE36
|
|
ldr r0, [r4, #0x14]
|
|
bl String_Delete
|
|
mov r0, #0
|
|
str r0, [r4, #0x14]
|
|
str r0, [r4, #0x68]
|
|
add sp, #0xc
|
|
ldr r0, [r4, #0x74]
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222AE36:
|
|
mov r0, #0x32
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_0222ADBC
|
|
|
|
thumb_func_start ov74_0222AE3C
|
|
ov74_0222AE3C: ; 0x0222AE3C
|
|
push {r3, lr}
|
|
ldr r1, _0222AE68 ; =0x000015D4
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #4
|
|
bhi _0222AE64
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222AE52: ; jump table
|
|
.short _0222AE64 - _0222AE52 - 2 ; case 0
|
|
.short _0222AE5C - _0222AE52 - 2 ; case 1
|
|
.short _0222AE64 - _0222AE52 - 2 ; case 2
|
|
.short _0222AE64 - _0222AE52 - 2 ; case 3
|
|
.short _0222AE64 - _0222AE52 - 2 ; case 4
|
|
_0222AE5C:
|
|
bl ov74_02229DF8
|
|
bl sub_0203A914
|
|
_0222AE64:
|
|
pop {r3, pc}
|
|
nop
|
|
_0222AE68: .word 0x000015D4
|
|
thumb_func_end ov74_0222AE3C
|
|
|
|
thumb_func_start ov74_0222AE6C
|
|
ov74_0222AE6C: ; 0x0222AE6C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl ov74_0222CD88
|
|
mov r0, #3
|
|
mov r1, #0x54
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
ldr r1, _0222AF14 ; =0x000029F8
|
|
add r0, r5, #0
|
|
mov r2, #0x54
|
|
bl OverlayManager_CreateAndGetData
|
|
ldr r2, _0222AF14 ; =0x000029F8
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0x54
|
|
bl BgConfig_Alloc
|
|
str r0, [r4]
|
|
bl GfGfx_DisableEngineAPlanes
|
|
bl GfGfx_DisableEngineBPlanes
|
|
bl ov74_0222FCA4
|
|
ldr r0, [r4]
|
|
bl ov74_0222A744
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_0200FBF4
|
|
ldr r1, _0222AF18 ; =0x0000047E
|
|
mov r0, #0xa
|
|
mov r2, #1
|
|
bl sub_02004EC4
|
|
mov r0, #0x54
|
|
bl ov74_0223512C
|
|
bl ov74_02235230
|
|
cmp r0, #0
|
|
beq _0222AEE8
|
|
ldr r0, _0222AF1C ; =0x000015D4
|
|
mov r1, #2
|
|
str r1, [r4, r0]
|
|
ldr r0, _0222AF20 ; =gGameVersion
|
|
ldrb r0, [r0]
|
|
bl sub_0201A4B0
|
|
mov r0, #1
|
|
bl ov74_02236034
|
|
_0222AEE8:
|
|
ldr r0, _0222AF24 ; =0x000005C8
|
|
mov r1, #0x1d
|
|
str r1, [r4, r0]
|
|
add r0, r5, #0
|
|
bl OverlayManager_GetArgs
|
|
ldr r0, [r0, #8]
|
|
str r0, [r4, #4]
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
str r0, [r4, #8]
|
|
mov r0, #0xff
|
|
mov r2, #0x57
|
|
str r0, [r4, #0x68]
|
|
mov r0, #0
|
|
mov r1, #0x59
|
|
lsl r2, r2, #4
|
|
bl CreateHeap
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222AF14: .word 0x000029F8
|
|
_0222AF18: .word 0x0000047E
|
|
_0222AF1C: .word 0x000015D4
|
|
_0222AF20: .word gGameVersion
|
|
_0222AF24: .word 0x000005C8
|
|
thumb_func_end ov74_0222AE6C
|
|
|
|
thumb_func_start ov74_0222AF28
|
|
ov74_0222AF28: ; 0x0222AF28
|
|
push {r4, r5, lr}
|
|
sub sp, #0x2c
|
|
add r4, r0, #0
|
|
ldr r0, _0222B0C0 ; =0x00004E21
|
|
mov r3, #1
|
|
str r0, [sp]
|
|
str r3, [sp, #4]
|
|
mov r1, #0x54
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0xd8
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x2b
|
|
bl AddCharResObjFromNarc
|
|
str r0, [r4, #0x58]
|
|
ldr r0, _0222B0C0 ; =0x00004E21
|
|
mov r1, #0x54
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0xdc
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x28
|
|
mov r3, #0
|
|
bl AddPlttResObjFromNarc
|
|
str r0, [r4, #0x5c]
|
|
ldr r0, _0222B0C0 ; =0x00004E21
|
|
mov r1, #0x54
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0xe0
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x2a
|
|
mov r3, #1
|
|
bl AddCellOrAnimResObjFromNarc
|
|
str r0, [r4, #0x60]
|
|
ldr r0, _0222B0C0 ; =0x00004E21
|
|
mov r1, #0x54
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0xe4
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x29
|
|
mov r3, #1
|
|
bl AddCellOrAnimResObjFromNarc
|
|
str r0, [r4, #0x64]
|
|
ldr r0, _0222B0C4 ; =0x00004E22
|
|
mov r1, #0x54
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0xd8
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x2b
|
|
mov r3, #1
|
|
bl AddCharResObjFromNarc
|
|
str r0, [r4, #0x70]
|
|
ldr r0, _0222B0C4 ; =0x00004E22
|
|
mov r1, #0x54
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0xdc
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x28
|
|
mov r3, #0
|
|
bl AddPlttResObjFromNarc
|
|
str r0, [r4, #0x74]
|
|
ldr r0, _0222B0C4 ; =0x00004E22
|
|
mov r1, #0x54
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0xe0
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x2a
|
|
mov r3, #1
|
|
bl AddCellOrAnimResObjFromNarc
|
|
str r0, [r4, #0x78]
|
|
ldr r0, _0222B0C4 ; =0x00004E22
|
|
mov r1, #0x54
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r0, [r4, #0xc]
|
|
add r1, #0xe4
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x29
|
|
mov r3, #1
|
|
bl AddCellOrAnimResObjFromNarc
|
|
str r0, [r4, #0x7c]
|
|
ldr r0, [r4, #0x58]
|
|
bl sub_0200ACF0
|
|
ldr r0, [r4, #0x70]
|
|
bl sub_0200ACF0
|
|
ldr r0, [r4, #0x5c]
|
|
bl sub_0200B00C
|
|
ldr r0, [r4, #0x74]
|
|
bl sub_0200B00C
|
|
mov r0, #0
|
|
mov r5, #0x4b
|
|
ldr r2, [r4, #0xc]
|
|
ldr r1, _0222B0C0 ; =0x00004E21
|
|
mvn r0, r0
|
|
str r1, [sp]
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
lsl r5, r5, #2
|
|
ldr r3, [r2, r5]
|
|
str r3, [sp, #0x14]
|
|
add r3, r5, #4
|
|
ldr r3, [r2, r3]
|
|
str r3, [sp, #0x18]
|
|
add r3, r5, #0
|
|
add r3, #8
|
|
ldr r3, [r2, r3]
|
|
add r5, #0xc
|
|
str r3, [sp, #0x1c]
|
|
ldr r2, [r2, r5]
|
|
add r3, r1, #0
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, #0
|
|
add r0, #0x10
|
|
add r2, r1, #0
|
|
bl CreateSpriteResourcesHeader
|
|
ldr r2, [r4, #0xc]
|
|
ldr r1, _0222B0C4 ; =0x00004E22
|
|
mov r0, #0
|
|
mov r5, #0x4b
|
|
add r4, #0x10
|
|
str r1, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
lsl r5, r5, #2
|
|
ldr r3, [r2, r5]
|
|
add r4, #0x24
|
|
str r3, [sp, #0x14]
|
|
add r3, r5, #4
|
|
ldr r3, [r2, r3]
|
|
str r3, [sp, #0x18]
|
|
add r3, r5, #0
|
|
add r3, #8
|
|
ldr r3, [r2, r3]
|
|
add r5, #0xc
|
|
str r3, [sp, #0x1c]
|
|
ldr r2, [r2, r5]
|
|
add r3, r1, #0
|
|
str r2, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl CreateSpriteResourcesHeader
|
|
add sp, #0x2c
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222B0C0: .word 0x00004E21
|
|
_0222B0C4: .word 0x00004E22
|
|
thumb_func_end ov74_0222AF28
|
|
|
|
thumb_func_start ov74_0222B0C8
|
|
ov74_0222B0C8: ; 0x0222B0C8
|
|
push {r4, lr}
|
|
sub sp, #0x30
|
|
cmp r1, #1
|
|
beq _0222B0D4
|
|
mov r3, #1
|
|
b _0222B0D6
|
|
_0222B0D4:
|
|
mov r3, #0
|
|
_0222B0D6:
|
|
ldr r2, [r0, #0xc]
|
|
add r0, #0x10
|
|
ldr r2, [r2]
|
|
str r2, [sp]
|
|
mov r2, #0x24
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
mov r3, #1
|
|
lsl r3, r3, #0xc
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
str r2, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
str r3, [sp, #0x18]
|
|
str r3, [sp, #0x1c]
|
|
add r0, sp, #0
|
|
strh r2, [r0, #0x20]
|
|
lsl r0, r3, #7
|
|
str r0, [sp, #8]
|
|
mov r0, #0xa
|
|
lsl r2, r3, #5
|
|
str r0, [sp, #0x24]
|
|
mov r0, #0x54
|
|
str r2, [sp, #0xc]
|
|
str r1, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
cmp r1, #2
|
|
bne _0222B114
|
|
lsl r0, r3, #8
|
|
add r0, r2, r0
|
|
str r0, [sp, #0xc]
|
|
_0222B114:
|
|
add r0, sp, #0
|
|
bl Sprite_CreateAffine
|
|
add r4, r0, #0
|
|
beq _0222B13C
|
|
mov r1, #1
|
|
bl Sprite_SetAnimActiveFlag
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl Sprite_SetPriority
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl Sprite_SetAnimCtrlSeq
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
_0222B13C:
|
|
add r0, r4, #0
|
|
add sp, #0x30
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222B0C8
|
|
|
|
thumb_func_start ov74_0222B144
|
|
ov74_0222B144: ; 0x0222B144
|
|
push {r4, lr}
|
|
mov r1, #1
|
|
add r4, r0, #0
|
|
bl ov74_0222B0C8
|
|
ldr r1, _0222B198 ; =0x00003014
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #2
|
|
bl Sprite_TryChangeAnimSeq
|
|
ldr r0, _0222B198 ; =0x00003014
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetAnimCtrlCurrentFrame
|
|
ldr r0, _0222B198 ; =0x00003014
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _0222B198 ; =0x00003014
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetDrawPriority
|
|
ldr r0, _0222B198 ; =0x00003014
|
|
mov r1, #2
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetAffineOverwriteType
|
|
ldr r0, _0222B198 ; =0x00003014
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_GetMatrixPtr
|
|
mov r1, #2
|
|
lsl r1, r1, #0x12
|
|
str r1, [r0]
|
|
mov r1, #6
|
|
lsl r1, r1, #0x10
|
|
str r1, [r0, #4]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222B198: .word 0x00003014
|
|
thumb_func_end ov74_0222B144
|
|
|
|
thumb_func_start ov74_0222B19C
|
|
ov74_0222B19C: ; 0x0222B19C
|
|
push {r4, lr}
|
|
mov r1, #2
|
|
add r4, r0, #0
|
|
bl ov74_0222B0C8
|
|
ldr r1, _0222B1F0 ; =0x00003060
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #4
|
|
bl Sprite_TryChangeAnimSeq
|
|
ldr r0, _0222B1F0 ; =0x00003060
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetAnimCtrlCurrentFrame
|
|
ldr r0, _0222B1F0 ; =0x00003060
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _0222B1F0 ; =0x00003060
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetDrawPriority
|
|
ldr r0, _0222B1F0 ; =0x00003060
|
|
mov r1, #2
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetAffineOverwriteType
|
|
ldr r0, _0222B1F0 ; =0x00003060
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_GetMatrixPtr
|
|
mov r1, #2
|
|
lsl r1, r1, #0x12
|
|
str r1, [r0]
|
|
lsl r1, r1, #1
|
|
str r1, [r0, #4]
|
|
pop {r4, pc}
|
|
nop
|
|
_0222B1F0: .word 0x00003060
|
|
thumb_func_end ov74_0222B19C
|
|
|
|
thumb_func_start ov74_0222B1F4
|
|
ov74_0222B1F4: ; 0x0222B1F4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222B208 ; =0x00003014
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_Delete
|
|
ldr r0, _0222B208 ; =0x00003014
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222B208: .word 0x00003014
|
|
thumb_func_end ov74_0222B1F4
|
|
|
|
thumb_func_start ov74_0222B20C
|
|
ov74_0222B20C: ; 0x0222B20C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222B220 ; =0x00003060
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_Delete
|
|
ldr r0, _0222B220 ; =0x00003060
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222B220: .word 0x00003060
|
|
thumb_func_end ov74_0222B20C
|
|
|
|
thumb_func_start ov74_0222B224
|
|
ov74_0222B224: ; 0x0222B224
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r6, #2
|
|
ldr r7, _0222B27C ; =0x00001854
|
|
str r0, [sp]
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
lsl r6, r6, #0xc
|
|
_0222B232:
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0222B242
|
|
add r1, r6, #0
|
|
bl Sprite_TickAnimCtrlFrame
|
|
_0222B242:
|
|
ldr r0, [r5, r7]
|
|
cmp r0, #0
|
|
beq _0222B24E
|
|
add r1, r6, #0
|
|
bl Sprite_TickAnimCtrlFrame
|
|
_0222B24E:
|
|
add r4, r4, #1
|
|
add r5, #0x4c
|
|
cmp r4, #0x50
|
|
blt _0222B232
|
|
ldr r1, _0222B280 ; =0x00003014
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _0222B268
|
|
mov r1, #2
|
|
lsl r1, r1, #0xc
|
|
bl Sprite_TickAnimCtrlFrame
|
|
_0222B268:
|
|
ldr r1, _0222B284 ; =0x00003060
|
|
ldr r0, [sp]
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _0222B27A
|
|
mov r1, #2
|
|
lsl r1, r1, #0xc
|
|
bl Sprite_TickAnimCtrlFrame
|
|
_0222B27A:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222B27C: .word 0x00001854
|
|
_0222B280: .word 0x00003014
|
|
_0222B284: .word 0x00003060
|
|
thumb_func_end ov74_0222B224
|
|
|
|
thumb_func_start ov74_0222B288
|
|
ov74_0222B288: ; 0x0222B288
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
mov r7, #1
|
|
_0222B292:
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl ov74_0222B0C8
|
|
add r1, r5, #0
|
|
add r1, #0x94
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl Sprite_TryChangeAnimSeq
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Sprite_SetAnimCtrlCurrentFrame
|
|
add r4, r4, #1
|
|
add r5, #0x4c
|
|
cmp r4, #0x50
|
|
blt _0222B292
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222B288
|
|
|
|
thumb_func_start ov74_0222B2C4
|
|
ov74_0222B2C4: ; 0x0222B2C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
add r7, r4, #0
|
|
_0222B2CE:
|
|
cmp r4, #0x14
|
|
bge _0222B2FA
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov74_0222B0C8
|
|
add r1, r5, #0
|
|
add r1, #0x94
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl Sprite_TryChangeAnimSeq
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Sprite_SetAnimCtrlCurrentFrame
|
|
b _0222B300
|
|
_0222B2FA:
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
str r7, [r0]
|
|
_0222B300:
|
|
add r4, r4, #1
|
|
add r5, #0x4c
|
|
cmp r4, #0x50
|
|
blt _0222B2CE
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222B2C4
|
|
|
|
thumb_func_start ov74_0222B30C
|
|
ov74_0222B30C: ; 0x0222B30C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r7, _0222B340 ; =0x00001854
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_0222B316:
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
bl ov74_0222B0C8
|
|
ldr r1, _0222B340 ; =0x00001854
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #5
|
|
bl Sprite_TryChangeAnimSeq
|
|
ldr r0, [r5, r7]
|
|
mov r1, #0
|
|
bl Sprite_SetAnimCtrlCurrentFrame
|
|
add r4, r4, #1
|
|
add r5, #0x4c
|
|
cmp r4, #0x50
|
|
blt _0222B316
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222B340: .word 0x00001854
|
|
thumb_func_end ov74_0222B30C
|
|
|
|
thumb_func_start ov74_0222B344
|
|
ov74_0222B344: ; 0x0222B344
|
|
push {r4, r5, r6, lr}
|
|
mov r4, #0
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_0222B34C:
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0222B36A
|
|
bl Sprite_Delete
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
str r6, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xd0
|
|
ldr r0, [r0]
|
|
bl SysTask_Destroy
|
|
_0222B36A:
|
|
add r4, r4, #1
|
|
add r5, #0x4c
|
|
cmp r4, #0x50
|
|
blt _0222B34C
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov74_0222B344
|
|
|
|
thumb_func_start ov74_0222B374
|
|
ov74_0222B374: ; 0x0222B374
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
mov r4, #0
|
|
ldr r7, _0222B39C ; =0x00001890
|
|
add r5, r0, #0
|
|
add r6, r4, #0
|
|
_0222B37E:
|
|
ldr r0, _0222B3A0 ; =0x00001854
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_Delete
|
|
ldr r0, _0222B3A0 ; =0x00001854
|
|
str r6, [r5, r0]
|
|
ldr r0, [r5, r7]
|
|
bl SysTask_Destroy
|
|
add r4, r4, #1
|
|
add r5, #0x4c
|
|
cmp r4, #0x50
|
|
blt _0222B37E
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222B39C: .word 0x00001890
|
|
_0222B3A0: .word 0x00001854
|
|
thumb_func_end ov74_0222B374
|
|
|
|
thumb_func_start ov74_0222B3A4
|
|
ov74_0222B3A4: ; 0x0222B3A4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0xb8
|
|
add r5, r0, #0
|
|
str r0, [sp]
|
|
add r0, #0x88
|
|
ldr r3, _0222B5E8 ; =_0223B3BC
|
|
mov r4, #0
|
|
add r7, sp, #0x64
|
|
str r0, [sp]
|
|
add r2, sp, #0x10
|
|
mov r6, #0xa
|
|
_0222B3BA:
|
|
ldmia r3!, {r0, r1}
|
|
stmia r2!, {r0, r1}
|
|
sub r6, r6, #1
|
|
bne _0222B3BA
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
_0222B3C6:
|
|
mov r2, #2
|
|
add r0, r5, #0
|
|
mov r1, #6
|
|
lsl r2, r2, #0x12
|
|
add r0, #0x98
|
|
str r2, [r0]
|
|
add r0, r5, #0
|
|
lsl r1, r1, #0x10
|
|
add r0, #0x9c
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
lsr r1, r2, #5
|
|
add r0, #0xa4
|
|
str r1, [r0]
|
|
mov r1, #5
|
|
add r0, r5, #0
|
|
lsl r1, r1, #0xc
|
|
add r0, #0xa8
|
|
str r1, [r0]
|
|
lsr r2, r4, #0x1f
|
|
lsl r1, r4, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r5, #0
|
|
add r1, r2, r1
|
|
add r0, #0xb4
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
mov r1, #0
|
|
add r0, #0xbc
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x8c
|
|
str r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r0, r0, #4
|
|
cmp r0, #0
|
|
ble _0222B42C
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222B43A
|
|
_0222B42C:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222B43A:
|
|
bl _ffix
|
|
add r1, r5, #0
|
|
add r1, #0xa4
|
|
str r0, [r1]
|
|
cmp r4, #0x32
|
|
ble _0222B462
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
mov r0, #0x41
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
add r1, r0, r1
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
b _0222B4EC
|
|
_0222B462:
|
|
cmp r4, #0x28
|
|
ble _0222B47E
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r0, r4, #0
|
|
add r0, #0xfa
|
|
add r1, r0, r1
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
b _0222B4EC
|
|
_0222B47E:
|
|
cmp r4, #0x1e
|
|
ble _0222B49A
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r0, r4, #0
|
|
add r0, #0xf0
|
|
add r1, r0, r1
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
b _0222B4EC
|
|
_0222B49A:
|
|
cmp r4, #0x19
|
|
ble _0222B4B6
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r0, r4, #0
|
|
add r0, #0xe6
|
|
add r1, r0, r1
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
b _0222B4EC
|
|
_0222B4B6:
|
|
cmp r4, #0x14
|
|
ble _0222B4D2
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r0, r4, #0
|
|
add r0, #0xdc
|
|
add r1, r0, r1
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
b _0222B4EC
|
|
_0222B4D2:
|
|
add r6, sp, #0x10
|
|
add r3, sp, #0x64
|
|
mov r2, #0xa
|
|
_0222B4D8:
|
|
ldmia r6!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _0222B4D8
|
|
ldr r0, [r6]
|
|
str r0, [r3]
|
|
add r0, r5, #0
|
|
ldr r1, [r7]
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
_0222B4EC:
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
add r1, r0, #1
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
asr r0, r0, #1
|
|
bl _dflt
|
|
add r2, r0, #0
|
|
add r3, r1, #0
|
|
ldr r0, _0222B5EC ; =0x66666666
|
|
ldr r1, _0222B5F0 ; =0x3FE66666
|
|
bl _dmul
|
|
bl _dfix
|
|
add r1, r5, #0
|
|
add r1, #0xb8
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
ldr r0, [r0]
|
|
add r1, r0, #1
|
|
add r0, r5, #0
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
add r0, #0xc0
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
bl Sprite_GetMatrixPtr
|
|
add r3, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, sp, #4
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
bl LCRandom
|
|
mov r1, #0xe0
|
|
bl _s32_div_f
|
|
add r1, #0x10
|
|
cmp r1, #0
|
|
ble _0222B586
|
|
bl LCRandom
|
|
mov r1, #0xe0
|
|
bl _s32_div_f
|
|
add r1, #0x10
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222B5A0
|
|
_0222B586:
|
|
bl LCRandom
|
|
mov r1, #0xe0
|
|
bl _s32_div_f
|
|
add r1, #0x10
|
|
lsl r0, r1, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222B5A0:
|
|
bl _ffix
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
add r1, sp, #4
|
|
bl Sprite_SetMatrix
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _0222B5F4 ; =ov74_0222BA48
|
|
ldr r1, [sp]
|
|
mov r2, #6
|
|
bl SysTask_CreateOnMainQueue
|
|
add r1, r5, #0
|
|
add r1, #0xd0
|
|
str r0, [r1]
|
|
ldr r0, [sp]
|
|
add r4, r4, #1
|
|
add r0, #0x4c
|
|
add r5, #0x4c
|
|
add r7, r7, #4
|
|
str r0, [sp]
|
|
cmp r4, #0x50
|
|
bge _0222B5E4
|
|
b _0222B3C6
|
|
_0222B5E4:
|
|
add sp, #0xb8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222B5E8: .word _0223B3BC
|
|
_0222B5EC: .word 0x66666666
|
|
_0222B5F0: .word 0x3FE66666
|
|
_0222B5F4: .word ov74_0222BA48
|
|
thumb_func_end ov74_0222B3A4
|
|
|
|
thumb_func_start ov74_0222B5F8
|
|
ov74_0222B5F8: ; 0x0222B5F8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r7, r5, #0
|
|
mov r4, #0
|
|
add r7, #0x88
|
|
_0222B604:
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0222B610
|
|
b _0222B74C
|
|
_0222B610:
|
|
add r1, r5, #0
|
|
mov r0, #2
|
|
add r1, #0x98
|
|
lsl r0, r0, #0x12
|
|
str r0, [r1]
|
|
add r1, r5, #0
|
|
mov r0, #6
|
|
add r1, #0x9c
|
|
lsl r0, r0, #0x10
|
|
str r0, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xa4
|
|
lsr r0, r0, #3
|
|
str r0, [r1]
|
|
add r1, r5, #0
|
|
mov r0, #1
|
|
add r1, #0xa8
|
|
lsl r0, r0, #0xc
|
|
str r0, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xb4
|
|
mov r0, #0xff
|
|
str r0, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0xbc
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0x8c
|
|
str r0, [r1]
|
|
add r1, r5, #0
|
|
add r1, #0x90
|
|
str r0, [r1]
|
|
cmp r4, #0x1e
|
|
ble _0222B66A
|
|
bl LCRandom
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r0, r5, #0
|
|
add r1, #0xf
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
b _0222B6AC
|
|
_0222B66A:
|
|
cmp r4, #0x14
|
|
ble _0222B682
|
|
bl LCRandom
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
add r0, r5, #0
|
|
add r1, #0xa
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
b _0222B6AC
|
|
_0222B682:
|
|
cmp r4, #0xa
|
|
ble _0222B69A
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r0, r5, #0
|
|
add r1, #0xa
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
b _0222B6AC
|
|
_0222B69A:
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
add r0, r5, #0
|
|
add r1, r1, #5
|
|
add r0, #0xb8
|
|
str r1, [r0]
|
|
_0222B6AC:
|
|
add r1, r5, #0
|
|
add r1, #0xb8
|
|
mov r0, #0
|
|
str r0, [r1]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xc8
|
|
str r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xc0
|
|
ldr r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xcc
|
|
str r1, [r0]
|
|
bl LCRandom
|
|
mov r1, #0x5a
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
str r1, [sp]
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1b
|
|
sub r1, r1, r2
|
|
mov r0, #0x1b
|
|
ror r1, r0
|
|
ldr r0, [sp]
|
|
add r6, r2, r1
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
add r6, #0x40
|
|
bl GF_SinDeg
|
|
add r1, r5, #0
|
|
add r1, #0x98
|
|
ldr r1, [r1]
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
add r1, r5, #0
|
|
add r1, #0x9c
|
|
ldr r1, [r1]
|
|
mul r0, r6
|
|
add r0, r1, r0
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
add r1, sp, #4
|
|
bl Sprite_SetMatrix
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
mov r1, #1
|
|
bl Sprite_TryChangeAnimSeq
|
|
add r0, r5, #0
|
|
add r0, #0x94
|
|
ldr r0, [r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _0222B75C ; =ov74_0222BA48
|
|
add r1, r7, #0
|
|
mov r2, #6
|
|
bl SysTask_CreateOnMainQueue
|
|
add r1, r5, #0
|
|
add r1, #0xd0
|
|
str r0, [r1]
|
|
_0222B74C:
|
|
add r4, r4, #1
|
|
add r5, #0x4c
|
|
add r7, #0x4c
|
|
cmp r4, #0x50
|
|
bge _0222B758
|
|
b _0222B604
|
|
_0222B758:
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222B75C: .word ov74_0222BA48
|
|
thumb_func_end ov74_0222B5F8
|
|
|
|
thumb_func_start ov74_0222B760
|
|
ov74_0222B760: ; 0x0222B760
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldr r0, _0222B928 ; =0x00001848
|
|
mov r4, #0
|
|
add r6, r5, r0
|
|
_0222B76C:
|
|
mov r1, #2
|
|
ldr r0, _0222B92C ; =0x00001858
|
|
lsl r1, r1, #0x12
|
|
str r1, [r5, r0]
|
|
mov r1, #6
|
|
lsl r1, r1, #0x12
|
|
add r0, r0, #4
|
|
str r1, [r5, r0]
|
|
mov r1, #1
|
|
ldr r0, _0222B930 ; =0x00001864
|
|
lsl r1, r1, #0xe
|
|
str r1, [r5, r0]
|
|
mov r1, #5
|
|
lsl r1, r1, #0xc
|
|
add r0, r0, #4
|
|
str r1, [r5, r0]
|
|
lsr r2, r4, #0x1f
|
|
lsl r1, r4, #0x1f
|
|
sub r1, r1, r2
|
|
mov r0, #0x1f
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
add r1, r0, #4
|
|
ldr r0, _0222B934 ; =0x00001874
|
|
str r1, [r5, r0]
|
|
mov r1, #0
|
|
add r0, #8
|
|
str r1, [r5, r0]
|
|
ldr r0, _0222B938 ; =0x0000184C
|
|
str r1, [r5, r0]
|
|
bl LCRandom
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1e
|
|
sub r1, r1, r2
|
|
mov r0, #0x1e
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
add r1, r0, #2
|
|
ldr r0, _0222B93C ; =0x00001884
|
|
str r1, [r5, r0]
|
|
add r0, r4, #0
|
|
mov r1, #0x1e
|
|
bl _s32_div_f
|
|
add r0, r0, #4
|
|
cmp r0, #0
|
|
ble _0222B7DE
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222B7EC
|
|
_0222B7DE:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222B7EC:
|
|
bl _ffix
|
|
ldr r1, _0222B930 ; =0x00001864
|
|
cmp r4, #0x3c
|
|
str r0, [r5, r1]
|
|
ble _0222B812
|
|
mov r0, #0x62
|
|
mov r1, #5
|
|
lsl r0, r0, #6
|
|
str r1, [r5, r0]
|
|
bl LCRandom
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
ldr r0, _0222B940 ; =0x00001878
|
|
add r1, #0x46
|
|
str r1, [r5, r0]
|
|
b _0222B8C0
|
|
_0222B812:
|
|
cmp r4, #0x32
|
|
ble _0222B830
|
|
mov r0, #0x62
|
|
mov r1, #5
|
|
lsl r0, r0, #6
|
|
str r1, [r5, r0]
|
|
bl LCRandom
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
ldr r0, _0222B940 ; =0x00001878
|
|
add r1, #0x3c
|
|
str r1, [r5, r0]
|
|
b _0222B8C0
|
|
_0222B830:
|
|
cmp r4, #0x28
|
|
ble _0222B84E
|
|
mov r0, #0x62
|
|
mov r1, #5
|
|
lsl r0, r0, #6
|
|
str r1, [r5, r0]
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
ldr r0, _0222B940 ; =0x00001878
|
|
add r1, #0x32
|
|
str r1, [r5, r0]
|
|
b _0222B8C0
|
|
_0222B84E:
|
|
cmp r4, #0x1e
|
|
ble _0222B86C
|
|
mov r0, #0x62
|
|
mov r1, #5
|
|
lsl r0, r0, #6
|
|
str r1, [r5, r0]
|
|
bl LCRandom
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
ldr r0, _0222B940 ; =0x00001878
|
|
add r1, #0x28
|
|
str r1, [r5, r0]
|
|
b _0222B8C0
|
|
_0222B86C:
|
|
cmp r4, #0x14
|
|
ble _0222B88A
|
|
mov r0, #0x62
|
|
mov r1, #5
|
|
lsl r0, r0, #6
|
|
str r1, [r5, r0]
|
|
bl LCRandom
|
|
mov r1, #0xa
|
|
bl _s32_div_f
|
|
ldr r0, _0222B940 ; =0x00001878
|
|
add r1, #0x1e
|
|
str r1, [r5, r0]
|
|
b _0222B8C0
|
|
_0222B88A:
|
|
cmp r4, #0xa
|
|
ble _0222B8A8
|
|
mov r0, #0x62
|
|
mov r1, #5
|
|
lsl r0, r0, #6
|
|
str r1, [r5, r0]
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
ldr r0, _0222B940 ; =0x00001878
|
|
add r1, #0x14
|
|
str r1, [r5, r0]
|
|
b _0222B8C0
|
|
_0222B8A8:
|
|
mov r0, #0x62
|
|
mov r1, #5
|
|
lsl r0, r0, #6
|
|
str r1, [r5, r0]
|
|
bl LCRandom
|
|
mov r1, #5
|
|
bl _s32_div_f
|
|
ldr r0, _0222B940 ; =0x00001878
|
|
add r1, #0xa
|
|
str r1, [r5, r0]
|
|
_0222B8C0:
|
|
mov r0, #0x62
|
|
lsl r0, r0, #6
|
|
ldr r1, [r5, r0]
|
|
add r0, #8
|
|
str r1, [r5, r0]
|
|
mov r0, #0x62
|
|
lsl r0, r0, #6
|
|
ldr r1, [r5, r0]
|
|
add r0, #0xc
|
|
str r1, [r5, r0]
|
|
ldr r0, _0222B944 ; =0x00001854
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_GetMatrixPtr
|
|
add r3, r0, #0
|
|
add r2, sp, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r7, r2, #0
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
add r1, r7, #0
|
|
str r0, [r2]
|
|
mov r0, #2
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #0x12
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222B944 ; =0x00001854
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_SetMatrix
|
|
ldr r0, _0222B944 ; =0x00001854
|
|
mov r1, #1
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _0222B948 ; =ov74_0222BA48
|
|
add r1, r6, #0
|
|
mov r2, #6
|
|
bl SysTask_CreateOnMainQueue
|
|
ldr r1, _0222B94C ; =0x00001890
|
|
add r4, r4, #1
|
|
str r0, [r5, r1]
|
|
add r5, #0x4c
|
|
add r6, #0x4c
|
|
cmp r4, #0x50
|
|
bge _0222B924
|
|
b _0222B76C
|
|
_0222B924:
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222B928: .word 0x00001848
|
|
_0222B92C: .word 0x00001858
|
|
_0222B930: .word 0x00001864
|
|
_0222B934: .word 0x00001874
|
|
_0222B938: .word 0x0000184C
|
|
_0222B93C: .word 0x00001884
|
|
_0222B940: .word 0x00001878
|
|
_0222B944: .word 0x00001854
|
|
_0222B948: .word ov74_0222BA48
|
|
_0222B94C: .word 0x00001890
|
|
thumb_func_end ov74_0222B760
|
|
|
|
thumb_func_start ov74_0222B950
|
|
ov74_0222B950: ; 0x0222B950
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x18
|
|
add r5, r1, #0
|
|
mov r1, #0
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
bl _fflt
|
|
add r1, r4, #0
|
|
bl _fsub
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
bl _fflt
|
|
add r1, r6, #0
|
|
bl _fsub
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #8]
|
|
add r1, r0, #0
|
|
bl _fmul
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0xc]
|
|
add r1, r0, #0
|
|
bl _fmul
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl _fadd
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl _fgr
|
|
ldr r0, _0222BA44 ; =0x45800000
|
|
bls _0222B9B8
|
|
add r1, r4, #0
|
|
bl _fmul
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222B9C6
|
|
_0222B9B8:
|
|
add r1, r4, #0
|
|
bl _fmul
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222B9C6:
|
|
bl _ffix
|
|
bl FX_Sqrt
|
|
bl _fflt
|
|
ldr r1, _0222BA44 ; =0x45800000
|
|
bl _fdiv
|
|
ldr r1, [sp, #0x30]
|
|
add r4, r0, #0
|
|
bl _fls
|
|
blo _0222B9FE
|
|
add r1, sp, #0x18
|
|
mov r0, #0x1c
|
|
ldrsh r0, [r1, r0]
|
|
bl _fflt
|
|
add r1, r4, #0
|
|
bl _fgr
|
|
bhi _0222B9FE
|
|
mov r0, #0
|
|
add r1, r4, #0
|
|
bl _feq
|
|
bne _0222BA04
|
|
_0222B9FE:
|
|
add sp, #0x18
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0222BA04:
|
|
ldr r0, [sp, #8]
|
|
ldr r1, [sp, #0x30]
|
|
bl _fmul
|
|
add r1, r4, #0
|
|
bl _fdiv
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, [sp, #0x30]
|
|
bl _fmul
|
|
add r1, r4, #0
|
|
bl _fdiv
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r1, [sp]
|
|
bl _fadd
|
|
ldr r1, [sp, #0x28]
|
|
str r0, [r1]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #4]
|
|
bl _fadd
|
|
ldr r1, [sp, #0x2c]
|
|
str r0, [r1]
|
|
mov r0, #1
|
|
add sp, #0x18
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0222BA44: .word 0x45800000
|
|
thumb_func_end ov74_0222B950
|
|
|
|
thumb_func_start ov74_0222BA48
|
|
ov74_0222BA48: ; 0x0222BA48
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r1, #0
|
|
ldr r0, [r5, #0x30]
|
|
cmp r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
beq _0222BA66
|
|
mov r1, #0
|
|
bl Sprite_SetAnimCtrlCurrentFrame
|
|
ldr r0, [r5, #0x30]
|
|
add sp, #0x24
|
|
sub r0, r0, #1
|
|
str r0, [r5, #0x30]
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222BA66:
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, [r5, #0xc]
|
|
bl Sprite_GetMatrixPtr
|
|
add r3, r0, #0
|
|
ldmia r3!, {r0, r1}
|
|
add r2, sp, #0x18
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
str r0, [r2]
|
|
ldr r0, [sp, #0x18]
|
|
bl _fflt
|
|
ldr r1, _0222BD90 ; =0x45800000
|
|
bl _fdiv
|
|
add r6, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
bl _fflt
|
|
ldr r1, _0222BD90 ; =0x45800000
|
|
bl _fdiv
|
|
add r7, r0, #0
|
|
ldr r0, [r5, #0x1c]
|
|
bl _fflt
|
|
ldr r1, _0222BD90 ; =0x45800000
|
|
bl _fdiv
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0x20]
|
|
bl _fflt
|
|
ldr r1, _0222BD90 ; =0x45800000
|
|
bl _fdiv
|
|
bl _ffix
|
|
add r1, sp, #0x14
|
|
str r1, [sp]
|
|
add r1, sp, #0x10
|
|
str r1, [sp, #4]
|
|
str r4, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5, #0x14]
|
|
lsl r0, r0, #4
|
|
lsl r1, r1, #4
|
|
asr r0, r0, #0x10
|
|
asr r1, r1, #0x10
|
|
add r2, r6, #0
|
|
add r3, r7, #0
|
|
bl ov74_0222B950
|
|
cmp r0, #0
|
|
beq _0222BB5A
|
|
ldr r0, [r5, #0x24]
|
|
cmp r0, #0
|
|
bne _0222BB5A
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0
|
|
bl _fgr
|
|
ldr r0, _0222BD90 ; =0x45800000
|
|
bls _0222BB00
|
|
ldr r1, [sp, #0x14]
|
|
bl _fmul
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222BB0E
|
|
_0222BB00:
|
|
ldr r1, [sp, #0x14]
|
|
bl _fmul
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222BB0E:
|
|
bl _ffix
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0
|
|
bl _fgr
|
|
ldr r0, _0222BD90 ; =0x45800000
|
|
bls _0222BB36
|
|
ldr r1, [sp, #0x10]
|
|
bl _fmul
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222BB44
|
|
_0222BB36:
|
|
ldr r1, [sp, #0x10]
|
|
bl _fmul
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222BB44:
|
|
bl _ffix
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5, #0xc]
|
|
add r1, sp, #0x18
|
|
bl Sprite_SetMatrix
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222BB5A:
|
|
ldr r0, [r5, #0x24]
|
|
cmp r0, #0
|
|
beq _0222BB68
|
|
cmp r0, #1
|
|
beq _0222BBDE
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222BB68:
|
|
ldr r1, [r5, #0x10]
|
|
ldr r0, [sp, #0x18]
|
|
sub r0, r1, r0
|
|
cmp r0, #0
|
|
ble _0222BB84
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222BB92
|
|
_0222BB84:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222BB92:
|
|
add r4, r0, #0
|
|
ldr r1, [r5, #0x14]
|
|
ldr r0, [sp, #0x1c]
|
|
sub r0, r1, r0
|
|
cmp r0, #0
|
|
ble _0222BBB0
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222BBBE
|
|
_0222BBB0:
|
|
lsl r0, r0, #0xc
|
|
bl _fflt
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222BBBE:
|
|
bl _ffix
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl _ffix
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FX_Atan2Idx
|
|
str r0, [r5, #0x28]
|
|
ldr r0, [r5, #0x24]
|
|
add sp, #0x24
|
|
add r0, r0, #1
|
|
str r0, [r5, #0x24]
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222BBDE:
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0x14
|
|
bge _0222BBEA
|
|
add r0, r0, #1
|
|
str r0, [r5, #4]
|
|
b _0222BBEE
|
|
_0222BBEA:
|
|
mov r0, #1
|
|
str r0, [r5, #8]
|
|
_0222BBEE:
|
|
ldr r0, [r5, #0x28]
|
|
add r0, #8
|
|
str r0, [r5, #0x28]
|
|
ldr r0, [r5, #0x2c]
|
|
cmp r0, #0
|
|
bne _0222BC44
|
|
ldr r0, [r5, #0x34]
|
|
mov r1, #0x5a
|
|
add r0, #8
|
|
lsl r1, r1, #2
|
|
str r0, [r5, #0x34]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
str r1, [r5, #0x34]
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
ldr r1, [r5, #0x38]
|
|
mul r0, r1
|
|
asr r0, r0, #0xc
|
|
str r0, [r5, #0x40]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDeg
|
|
ldr r1, [r5, #0x40]
|
|
ldr r2, [r5, #0x10]
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
ldr r1, [r5, #0x44]
|
|
ldr r2, [r5, #0x14]
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x1c]
|
|
b _0222BEBC
|
|
_0222BC44:
|
|
cmp r0, #1
|
|
bne _0222BC92
|
|
ldr r0, [r5, #0x34]
|
|
mov r1, #0x5a
|
|
add r0, #8
|
|
lsl r1, r1, #2
|
|
str r0, [r5, #0x34]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
str r1, [r5, #0x34]
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDeg
|
|
ldr r1, [r5, #0x38]
|
|
mul r0, r1
|
|
asr r0, r0, #0xc
|
|
str r0, [r5, #0x44]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDeg
|
|
ldr r1, [r5, #0x40]
|
|
ldr r2, [r5, #0x10]
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
ldr r1, [r5, #0x44]
|
|
ldr r2, [r5, #0x14]
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x1c]
|
|
b _0222BEBC
|
|
_0222BC92:
|
|
cmp r0, #2
|
|
bne _0222BCF0
|
|
ldr r0, [r5, #0x34]
|
|
mov r1, #0x5a
|
|
add r0, #8
|
|
lsl r1, r1, #2
|
|
str r0, [r5, #0x34]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
str r1, [r5, #0x34]
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDeg
|
|
ldr r1, [r5, #0x38]
|
|
mul r0, r1
|
|
asr r0, r0, #0xc
|
|
str r0, [r5, #0x44]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDeg
|
|
ldr r1, [r5, #0x40]
|
|
ldr r3, [r5, #0x10]
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
ldr r1, [r5, #0x44]
|
|
ldr r3, [r5, #0x14]
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
str r0, [sp, #0x1c]
|
|
b _0222BEBC
|
|
_0222BCF0:
|
|
cmp r0, #3
|
|
bne _0222BD4E
|
|
ldr r0, [r5, #0x34]
|
|
mov r1, #0x5a
|
|
add r0, #8
|
|
lsl r1, r1, #2
|
|
str r0, [r5, #0x34]
|
|
bl _s32_div_f
|
|
lsl r0, r1, #0x10
|
|
str r1, [r5, #0x34]
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
ldr r1, [r5, #0x38]
|
|
mul r0, r1
|
|
asr r0, r0, #0xc
|
|
str r0, [r5, #0x40]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDeg
|
|
ldr r1, [r5, #0x40]
|
|
ldr r3, [r5, #0x10]
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
ldr r1, [r5, #0x44]
|
|
ldr r3, [r5, #0x14]
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
str r0, [sp, #0x1c]
|
|
b _0222BEBC
|
|
_0222BD4E:
|
|
cmp r0, #4
|
|
bne _0222BD94
|
|
ldr r1, [r5, #0x38]
|
|
cmp r1, #0x60
|
|
bge _0222BD5E
|
|
ldr r0, [r5, #0x3c]
|
|
add r0, r1, r0
|
|
str r0, [r5, #0x38]
|
|
_0222BD5E:
|
|
ldr r0, [r5, #0x38]
|
|
str r0, [r5, #0x40]
|
|
ldr r0, [r5, #0x38]
|
|
str r0, [r5, #0x44]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDeg
|
|
ldr r1, [r5, #0x40]
|
|
ldr r2, [r5, #0x10]
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
ldr r1, [r5, #0x44]
|
|
ldr r2, [r5, #0x14]
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
str r0, [sp, #0x1c]
|
|
b _0222BEBC
|
|
.balign 4, 0
|
|
_0222BD90: .word 0x45800000
|
|
_0222BD94:
|
|
cmp r0, #5
|
|
bne _0222BDE6
|
|
ldr r1, [r5, #0x38]
|
|
cmp r1, #0x60
|
|
bge _0222BDA4
|
|
ldr r0, [r5, #0x3c]
|
|
add r0, r1, r0
|
|
str r0, [r5, #0x38]
|
|
_0222BDA4:
|
|
ldr r0, [r5, #0x38]
|
|
str r0, [r5, #0x40]
|
|
ldr r0, [r5, #0x38]
|
|
str r0, [r5, #0x44]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_SinDeg
|
|
ldr r1, [r5, #0x40]
|
|
ldr r3, [r5, #0x10]
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x28]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl GF_CosDeg
|
|
ldr r1, [r5, #0x44]
|
|
ldr r3, [r5, #0x14]
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
mul r0, r2
|
|
add r0, r3, r0
|
|
str r0, [sp, #0x1c]
|
|
b _0222BEBC
|
|
_0222BDE6:
|
|
mov r0, #0xa
|
|
str r0, [r5, #4]
|
|
mov r0, #2
|
|
ldr r1, [r5, #0x1c]
|
|
lsl r0, r0, #0xa
|
|
add r0, r1, r0
|
|
str r0, [r5, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
bl _fflt
|
|
ldr r1, _0222BED4 ; =0x45800000
|
|
bl _fdiv
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
bl _fflt
|
|
ldr r1, _0222BED4 ; =0x45800000
|
|
bl _fdiv
|
|
add r6, r0, #0
|
|
ldr r0, [r5, #0x1c]
|
|
bl _fflt
|
|
ldr r1, _0222BED4 ; =0x45800000
|
|
bl _fdiv
|
|
add r1, sp, #0x14
|
|
str r1, [sp]
|
|
add r1, sp, #0x10
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5, #0x14]
|
|
lsl r0, r0, #4
|
|
lsl r1, r1, #4
|
|
asr r0, r0, #0x10
|
|
asr r1, r1, #0x10
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl ov74_0222B950
|
|
cmp r0, #0
|
|
beq _0222BEB8
|
|
ldr r0, [sp, #0x14]
|
|
mov r1, #0
|
|
bl _fgr
|
|
ldr r0, _0222BED4 ; =0x45800000
|
|
bls _0222BE60
|
|
ldr r1, [sp, #0x14]
|
|
bl _fmul
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222BE6E
|
|
_0222BE60:
|
|
ldr r1, [sp, #0x14]
|
|
bl _fmul
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222BE6E:
|
|
bl _ffix
|
|
ldr r1, [sp, #0x18]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x10]
|
|
mov r1, #0
|
|
bl _fgr
|
|
ldr r0, _0222BED4 ; =0x45800000
|
|
bls _0222BE96
|
|
ldr r1, [sp, #0x10]
|
|
bl _fmul
|
|
add r1, r0, #0
|
|
mov r0, #0x3f
|
|
lsl r0, r0, #0x18
|
|
bl _fadd
|
|
b _0222BEA4
|
|
_0222BE96:
|
|
ldr r1, [sp, #0x10]
|
|
bl _fmul
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #0x18
|
|
bl _fsub
|
|
_0222BEA4:
|
|
bl _ffix
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [r5, #0xc]
|
|
add r1, sp, #0x18
|
|
bl Sprite_SetMatrix
|
|
b _0222BEBC
|
|
_0222BEB8:
|
|
mov r0, #1
|
|
str r0, [r5, #8]
|
|
_0222BEBC:
|
|
mov r1, #0x5a
|
|
ldr r0, [r5, #0x28]
|
|
lsl r1, r1, #2
|
|
bl _s32_div_f
|
|
str r1, [r5, #0x28]
|
|
ldr r0, [r5, #0xc]
|
|
add r1, sp, #0x18
|
|
bl Sprite_SetMatrix
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222BED4: .word 0x45800000
|
|
thumb_func_end ov74_0222BA48
|
|
|
|
thumb_func_start ov74_0222BED8
|
|
ov74_0222BED8: ; 0x0222BED8
|
|
add r3, r0, #0
|
|
mov r2, #8
|
|
ldrsb r2, [r3, r2]
|
|
ldr r3, _0222BEE8 ; =G2x_SetBlendBrightness_
|
|
ldr r0, _0222BEEC ; =0x04000050
|
|
mov r1, #0x22
|
|
bx r3
|
|
nop
|
|
_0222BEE8: .word G2x_SetBlendBrightness_
|
|
_0222BEEC: .word 0x04000050
|
|
thumb_func_end ov74_0222BED8
|
|
|
|
thumb_func_start ov74_0222BEF0
|
|
ov74_0222BEF0: ; 0x0222BEF0
|
|
add r3, r0, #0
|
|
mov r2, #8
|
|
ldrsb r2, [r3, r2]
|
|
ldr r3, _0222BF00 ; =G2x_SetBlendBrightness_
|
|
ldr r0, _0222BF04 ; =0x04001050
|
|
mov r1, #0x22
|
|
bx r3
|
|
nop
|
|
_0222BF00: .word G2x_SetBlendBrightness_
|
|
_0222BF04: .word 0x04001050
|
|
thumb_func_end ov74_0222BEF0
|
|
|
|
thumb_func_start ov74_0222BF08
|
|
ov74_0222BF08: ; 0x0222BF08
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0222BED8
|
|
add r0, r4, #0
|
|
bl ov74_0222BEF0
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0222BF08
|
|
|
|
thumb_func_start ov74_0222BF18
|
|
ov74_0222BF18: ; 0x0222BF18
|
|
push {r3, lr}
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl BG_SetMaskColor
|
|
mov r0, #5
|
|
mov r1, #0
|
|
bl BG_SetMaskColor
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_0222BF18
|
|
|
|
thumb_func_start ov74_0222BF2C
|
|
ov74_0222BF2C: ; 0x0222BF2C
|
|
push {r4, lr}
|
|
mov r4, #1
|
|
cmp r1, #0
|
|
beq _0222BF3E
|
|
cmp r1, #1
|
|
beq _0222BF6A
|
|
cmp r1, #2
|
|
beq _0222BF84
|
|
b _0222BF98
|
|
_0222BF3E:
|
|
mov r1, #8
|
|
ldrsb r1, [r0, r1]
|
|
cmp r1, #0
|
|
ble _0222BF58
|
|
sub r1, r1, r2
|
|
cmp r1, #0
|
|
ble _0222BF52
|
|
strb r1, [r0, #8]
|
|
mov r4, #0
|
|
b _0222BF98
|
|
_0222BF52:
|
|
mov r1, #0
|
|
strb r1, [r0, #8]
|
|
b _0222BF98
|
|
_0222BF58:
|
|
bge _0222BF98
|
|
add r1, r1, r2
|
|
bpl _0222BF64
|
|
strb r1, [r0, #8]
|
|
mov r4, #0
|
|
b _0222BF98
|
|
_0222BF64:
|
|
mov r1, #0
|
|
strb r1, [r0, #8]
|
|
b _0222BF98
|
|
_0222BF6A:
|
|
mov r3, #8
|
|
ldrsb r1, [r0, r3]
|
|
sub r2, r1, r2
|
|
add r1, r3, #0
|
|
sub r1, #0x18
|
|
cmp r2, r1
|
|
ble _0222BF7E
|
|
strb r2, [r0, #8]
|
|
mov r4, #0
|
|
b _0222BF98
|
|
_0222BF7E:
|
|
sub r3, #0x18
|
|
strb r3, [r0, #8]
|
|
b _0222BF98
|
|
_0222BF84:
|
|
mov r1, #8
|
|
ldrsb r1, [r0, r1]
|
|
add r1, r1, r2
|
|
cmp r1, #0x10
|
|
bge _0222BF94
|
|
strb r1, [r0, #8]
|
|
mov r4, #0
|
|
b _0222BF98
|
|
_0222BF94:
|
|
mov r1, #0x10
|
|
strb r1, [r0, #8]
|
|
_0222BF98:
|
|
bl ov74_0222BF08
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0222BF2C
|
|
|
|
thumb_func_start ov74_0222BFA0
|
|
ov74_0222BFA0: ; 0x0222BFA0
|
|
push {r4, lr}
|
|
mov r4, #1
|
|
cmp r1, #0
|
|
beq _0222BFB2
|
|
cmp r1, #1
|
|
beq _0222BFDE
|
|
cmp r1, #2
|
|
beq _0222BFF8
|
|
b _0222C00C
|
|
_0222BFB2:
|
|
mov r1, #8
|
|
ldrsb r1, [r0, r1]
|
|
cmp r1, #0
|
|
ble _0222BFCC
|
|
sub r1, r1, r2
|
|
cmp r1, #0
|
|
ble _0222BFC6
|
|
strb r1, [r0, #8]
|
|
mov r4, #0
|
|
b _0222C00C
|
|
_0222BFC6:
|
|
mov r1, #0
|
|
strb r1, [r0, #8]
|
|
b _0222C00C
|
|
_0222BFCC:
|
|
bge _0222C00C
|
|
add r1, r1, r2
|
|
bpl _0222BFD8
|
|
strb r1, [r0, #8]
|
|
mov r4, #0
|
|
b _0222C00C
|
|
_0222BFD8:
|
|
mov r1, #0
|
|
strb r1, [r0, #8]
|
|
b _0222C00C
|
|
_0222BFDE:
|
|
mov r3, #8
|
|
ldrsb r1, [r0, r3]
|
|
sub r2, r1, r2
|
|
add r1, r3, #0
|
|
sub r1, #0x18
|
|
cmp r2, r1
|
|
ble _0222BFF2
|
|
strb r2, [r0, #8]
|
|
mov r4, #0
|
|
b _0222C00C
|
|
_0222BFF2:
|
|
sub r3, #0x18
|
|
strb r3, [r0, #8]
|
|
b _0222C00C
|
|
_0222BFF8:
|
|
mov r1, #8
|
|
ldrsb r1, [r0, r1]
|
|
add r1, r1, r2
|
|
cmp r1, #0x10
|
|
bge _0222C008
|
|
strb r1, [r0, #8]
|
|
mov r4, #0
|
|
b _0222C00C
|
|
_0222C008:
|
|
mov r1, #0x10
|
|
strb r1, [r0, #8]
|
|
_0222C00C:
|
|
bl ov74_0222BED8
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0222BFA0
|
|
|
|
thumb_func_start ov74_0222C014
|
|
ov74_0222C014: ; 0x0222C014
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r1, #0
|
|
strb r1, [r4, #8]
|
|
bl ov74_0222BF08
|
|
add r0, r4, #0
|
|
bl ov74_0222AF28
|
|
add r0, r4, #0
|
|
bl ov74_0222B288
|
|
add r0, r4, #0
|
|
bl ov74_0222B3A4
|
|
add r0, r4, #0
|
|
bl ov74_0222B144
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineBTogglePlanes
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222C014
|
|
|
|
thumb_func_start ov74_0222C04C
|
|
ov74_0222C04C: ; 0x0222C04C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
ldr r1, [r4]
|
|
cmp r1, #9
|
|
bls _0222C058
|
|
b _0222C2BC
|
|
_0222C058:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0222C064: ; jump table
|
|
.short _0222C078 - _0222C064 - 2 ; case 0
|
|
.short _0222C084 - _0222C064 - 2 ; case 1
|
|
.short _0222C09A - _0222C064 - 2 ; case 2
|
|
.short _0222C0FE - _0222C064 - 2 ; case 3
|
|
.short _0222C126 - _0222C064 - 2 ; case 4
|
|
.short _0222C17C - _0222C064 - 2 ; case 5
|
|
.short _0222C19A - _0222C064 - 2 ; case 6
|
|
.short _0222C222 - _0222C064 - 2 ; case 7
|
|
.short _0222C294 - _0222C064 - 2 ; case 8
|
|
.short _0222C2A8 - _0222C064 - 2 ; case 9
|
|
_0222C078:
|
|
add r0, r4, #0
|
|
bl ov74_0222C014
|
|
mov r0, #1
|
|
str r0, [r4]
|
|
b _0222C2D0
|
|
_0222C084:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #2
|
|
bl ov74_0222BF2C
|
|
cmp r0, #0
|
|
bne _0222C094
|
|
b _0222C2D0
|
|
_0222C094:
|
|
mov r0, #2
|
|
str r0, [r4]
|
|
b _0222C2D0
|
|
_0222C09A:
|
|
mov r5, #0
|
|
mov r6, #1
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r3, r5, #0
|
|
_0222C0A4:
|
|
add r2, r1, #0
|
|
add r2, #0x90
|
|
ldr r2, [r2]
|
|
cmp r2, #0
|
|
beq _0222C0B2
|
|
add r5, r5, #1
|
|
b _0222C0B4
|
|
_0222C0B2:
|
|
add r6, r3, #0
|
|
_0222C0B4:
|
|
add r0, r0, #1
|
|
add r1, #0x4c
|
|
cmp r0, #0x50
|
|
blt _0222C0A4
|
|
cmp r5, #0x32
|
|
ble _0222C0CC
|
|
ldr r0, _0222C2D8 ; =0x00003014
|
|
mov r1, #4
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_TryChangeAnimSeq
|
|
b _0222C0EA
|
|
_0222C0CC:
|
|
cmp r5, #0x1e
|
|
ble _0222C0DC
|
|
ldr r0, _0222C2D8 ; =0x00003014
|
|
mov r1, #3
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_TryChangeAnimSeq
|
|
b _0222C0EA
|
|
_0222C0DC:
|
|
cmp r5, #7
|
|
ble _0222C0EA
|
|
ldr r0, _0222C2D8 ; =0x00003014
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
_0222C0EA:
|
|
cmp r6, #0
|
|
bne _0222C0F2
|
|
cmp r5, #0x4f
|
|
bne _0222C1A8
|
|
_0222C0F2:
|
|
mov r0, #3
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
bl ov74_0222B344
|
|
b _0222C2D0
|
|
_0222C0FE:
|
|
ldr r0, _0222C2DC ; =0x000030A0
|
|
ldr r0, [r4, r0]
|
|
ldr r0, [r0]
|
|
cmp r0, #2
|
|
bne _0222C1A8
|
|
add r0, r4, #0
|
|
bl ov74_0222B2C4
|
|
add r0, r4, #0
|
|
bl ov74_0222B5F8
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
bl ov74_0222BF18
|
|
mov r0, #4
|
|
str r0, [r4]
|
|
b _0222C2D0
|
|
_0222C126:
|
|
mov r5, #0
|
|
mov r6, #1
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
add r0, r5, #0
|
|
_0222C130:
|
|
add r3, r2, #0
|
|
add r3, #0x94
|
|
ldr r3, [r3]
|
|
cmp r3, #0
|
|
beq _0222C14A
|
|
add r3, r2, #0
|
|
add r3, #0x90
|
|
ldr r3, [r3]
|
|
cmp r3, #0
|
|
beq _0222C148
|
|
add r5, r5, #1
|
|
b _0222C14A
|
|
_0222C148:
|
|
add r6, r0, #0
|
|
_0222C14A:
|
|
add r1, r1, #1
|
|
add r2, #0x4c
|
|
cmp r1, #0x50
|
|
blt _0222C130
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov74_0222BFA0
|
|
cmp r6, #0
|
|
bne _0222C164
|
|
cmp r5, #0x13
|
|
bne _0222C1A8
|
|
_0222C164:
|
|
ldr r0, _0222C2E0 ; =SEQ_SE_DP_SAVE
|
|
bl PlaySE
|
|
mov r0, #5
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
bl ov74_0222B344
|
|
add r0, r4, #0
|
|
bl ov74_0222B19C
|
|
b _0222C2D0
|
|
_0222C17C:
|
|
mov r1, #2
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov74_0222BFA0
|
|
cmp r0, #0
|
|
beq _0222C1A8
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #2
|
|
bl ov74_0222BFA0
|
|
mov r0, #6
|
|
str r0, [r4]
|
|
b _0222C2D0
|
|
_0222C19A:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #2
|
|
bl ov74_0222BFA0
|
|
cmp r0, #0
|
|
bne _0222C1AA
|
|
_0222C1A8:
|
|
b _0222C2D0
|
|
_0222C1AA:
|
|
ldr r0, _0222C2D8 ; =0x00003014
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_GetMatrixPtr
|
|
add r5, r0, #0
|
|
ldr r0, _0222C2E4 ; =0x00003060
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_GetMatrixPtr
|
|
mov r1, #0xe
|
|
ldr r2, [r5, #4]
|
|
lsl r1, r1, #0x10
|
|
cmp r2, r1
|
|
bge _0222C1CE
|
|
mov r1, #2
|
|
lsl r1, r1, #0xe
|
|
add r1, r2, r1
|
|
str r1, [r5, #4]
|
|
_0222C1CE:
|
|
mov r1, #3
|
|
ldr r2, [r5, #4]
|
|
lsl r1, r1, #0x12
|
|
sub r2, r2, r1
|
|
cmp r2, #0
|
|
ble _0222C2D0
|
|
ldr r2, [r0, #4]
|
|
lsl r1, r1, #1
|
|
cmp r2, r1
|
|
bge _0222C202
|
|
mov r1, #2
|
|
lsl r1, r1, #0xe
|
|
add r1, r2, r1
|
|
str r1, [r0, #4]
|
|
ldr r0, _0222C2E4 ; =0x00003060
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_GetVisibleFlag
|
|
cmp r0, #0
|
|
bne _0222C2D0
|
|
ldr r0, _0222C2E4 ; =0x00003060
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
b _0222C2D0
|
|
_0222C202:
|
|
mov r0, #7
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
bl ov74_0222B1F4
|
|
add r0, r4, #0
|
|
bl ov74_0222B30C
|
|
add r0, r4, #0
|
|
bl ov74_0222B760
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
b _0222C2D0
|
|
_0222C222:
|
|
mov r5, #0
|
|
ldr r0, _0222C2E8 ; =0x00001850
|
|
mov r6, #1
|
|
add r2, r5, #0
|
|
add r3, r4, #0
|
|
add r7, r5, #0
|
|
_0222C22E:
|
|
ldr r1, [r3, r0]
|
|
cmp r1, #0
|
|
beq _0222C238
|
|
add r5, r5, #1
|
|
b _0222C23A
|
|
_0222C238:
|
|
add r6, r7, #0
|
|
_0222C23A:
|
|
add r2, r2, #1
|
|
add r3, #0x4c
|
|
cmp r2, #0x50
|
|
blt _0222C22E
|
|
cmp r5, #7
|
|
ble _0222C250
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r2, #1
|
|
bl ov74_0222BF2C
|
|
_0222C250:
|
|
cmp r5, #0x32
|
|
ble _0222C260
|
|
ldr r0, _0222C2E4 ; =0x00003060
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
b _0222C27E
|
|
_0222C260:
|
|
cmp r5, #0x1e
|
|
ble _0222C270
|
|
ldr r0, _0222C2E4 ; =0x00003060
|
|
mov r1, #2
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_TryChangeAnimSeq
|
|
b _0222C27E
|
|
_0222C270:
|
|
cmp r5, #7
|
|
ble _0222C27E
|
|
ldr r0, _0222C2E4 ; =0x00003060
|
|
mov r1, #3
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_TryChangeAnimSeq
|
|
_0222C27E:
|
|
cmp r6, #0
|
|
beq _0222C2D0
|
|
mov r0, #8
|
|
str r0, [r4]
|
|
add r0, r4, #0
|
|
bl ov74_0222B374
|
|
add r0, r4, #0
|
|
bl ov74_0222B20C
|
|
b _0222C2D0
|
|
_0222C294:
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
mov r2, #1
|
|
bl ov74_0222BF2C
|
|
cmp r0, #0
|
|
beq _0222C2D0
|
|
mov r0, #9
|
|
str r0, [r4]
|
|
b _0222C2D0
|
|
_0222C2A8:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #2
|
|
bl ov74_0222BF2C
|
|
cmp r0, #0
|
|
beq _0222C2D0
|
|
mov r0, #0xff
|
|
str r0, [r4]
|
|
b _0222C2D0
|
|
_0222C2BC:
|
|
ldr r1, _0222C2DC ; =0x000030A0
|
|
mov r2, #0
|
|
ldr r1, [r4, r1]
|
|
str r2, [r1]
|
|
bl SysTask_Destroy
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222C2D0:
|
|
add r0, r4, #0
|
|
bl ov74_0222B224
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222C2D8: .word 0x00003014
|
|
_0222C2DC: .word 0x000030A0
|
|
_0222C2E0: .word SEQ_SE_DP_SAVE
|
|
_0222C2E4: .word 0x00003060
|
|
_0222C2E8: .word 0x00001850
|
|
thumb_func_end ov74_0222C04C
|
|
|
|
thumb_func_start ov74_0222C2EC
|
|
ov74_0222C2EC: ; 0x0222C2EC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl CTRDG_IsExisting
|
|
ldr r0, _0222C640 ; =0x000005C8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0x1d
|
|
beq _0222C30C
|
|
add r0, r4, #0
|
|
bl ov74_0222CE10
|
|
_0222C30C:
|
|
ldr r3, [r5]
|
|
cmp r3, #0x3a
|
|
bls _0222C316
|
|
bl _0222CD3A
|
|
_0222C316:
|
|
add r0, r3, r3
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222C322: ; jump table
|
|
.short _0222C398 - _0222C322 - 2 ; case 0
|
|
.short _0222C3AA - _0222C322 - 2 ; case 1
|
|
.short _0222C3C8 - _0222C322 - 2 ; case 2
|
|
.short _0222C3D2 - _0222C322 - 2 ; case 3
|
|
.short _0222C3E0 - _0222C322 - 2 ; case 4
|
|
.short _0222C3EE - _0222C322 - 2 ; case 5
|
|
.short _0222CD3A - _0222C322 - 2 ; case 6
|
|
.short _0222C636 - _0222C322 - 2 ; case 7
|
|
.short _0222C71C - _0222C322 - 2 ; case 8
|
|
.short _0222C728 - _0222C322 - 2 ; case 9
|
|
.short _0222C7E8 - _0222C322 - 2 ; case 10
|
|
.short _0222C836 - _0222C322 - 2 ; case 11
|
|
.short _0222C858 - _0222C322 - 2 ; case 12
|
|
.short _0222C8E8 - _0222C322 - 2 ; case 13
|
|
.short _0222C93E - _0222C322 - 2 ; case 14
|
|
.short _0222C96A - _0222C322 - 2 ; case 15
|
|
.short _0222C9AA - _0222C322 - 2 ; case 16
|
|
.short _0222C9CC - _0222C322 - 2 ; case 17
|
|
.short _0222CA04 - _0222C322 - 2 ; case 18
|
|
.short _0222CA48 - _0222C322 - 2 ; case 19
|
|
.short _0222CAEA - _0222C322 - 2 ; case 20
|
|
.short _0222CAF6 - _0222C322 - 2 ; case 21
|
|
.short _0222CAFC - _0222C322 - 2 ; case 22
|
|
.short _0222CB32 - _0222C322 - 2 ; case 23
|
|
.short _0222CB4C - _0222C322 - 2 ; case 24
|
|
.short _0222CBC4 - _0222C322 - 2 ; case 25
|
|
.short _0222CD3A - _0222C322 - 2 ; case 26
|
|
.short _0222C3FC - _0222C322 - 2 ; case 27
|
|
.short _0222CD3A - _0222C322 - 2 ; case 28
|
|
.short _0222CD3A - _0222C322 - 2 ; case 29
|
|
.short _0222CD3A - _0222C322 - 2 ; case 30
|
|
.short _0222C4BA - _0222C322 - 2 ; case 31
|
|
.short _0222C408 - _0222C322 - 2 ; case 32
|
|
.short _0222C4CE - _0222C322 - 2 ; case 33
|
|
.short _0222C570 - _0222C322 - 2 ; case 34
|
|
.short _0222C54E - _0222C322 - 2 ; case 35
|
|
.short _0222C612 - _0222C322 - 2 ; case 36
|
|
.short _0222CD3A - _0222C322 - 2 ; case 37
|
|
.short _0222CD3A - _0222C322 - 2 ; case 38
|
|
.short _0222CD3A - _0222C322 - 2 ; case 39
|
|
.short _0222CD3A - _0222C322 - 2 ; case 40
|
|
.short _0222CD3A - _0222C322 - 2 ; case 41
|
|
.short _0222CD3A - _0222C322 - 2 ; case 42
|
|
.short _0222CD3A - _0222C322 - 2 ; case 43
|
|
.short _0222CD3A - _0222C322 - 2 ; case 44
|
|
.short _0222CD3A - _0222C322 - 2 ; case 45
|
|
.short _0222CD3A - _0222C322 - 2 ; case 46
|
|
.short _0222CD3A - _0222C322 - 2 ; case 47
|
|
.short _0222CD3A - _0222C322 - 2 ; case 48
|
|
.short _0222CBDE - _0222C322 - 2 ; case 49
|
|
.short _0222CC02 - _0222C322 - 2 ; case 50
|
|
.short _0222CC10 - _0222C322 - 2 ; case 51
|
|
.short _0222CC2E - _0222C322 - 2 ; case 52
|
|
.short _0222CC44 - _0222C322 - 2 ; case 53
|
|
.short _0222CC58 - _0222C322 - 2 ; case 54
|
|
.short _0222CC6A - _0222C322 - 2 ; case 55
|
|
.short _0222CC7E - _0222C322 - 2 ; case 56
|
|
.short _0222CCC0 - _0222C322 - 2 ; case 57
|
|
.short _0222CD34 - _0222C322 - 2 ; case 58
|
|
_0222C398:
|
|
mov r0, #0x54
|
|
bl ov74_022352A0
|
|
ldr r0, _0222C644 ; =0x000015D8
|
|
str r5, [r4, r0]
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
bl _0222CD3A
|
|
_0222C3AA:
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov74_0222AB70
|
|
add r0, r4, #0
|
|
bl ov74_02229F04
|
|
mov r0, #1
|
|
mov r1, #3
|
|
add r2, r5, #0
|
|
mov r3, #2
|
|
bl ov74_0223539C
|
|
bl _0222CD3A
|
|
_0222C3C8:
|
|
add r0, r5, #0
|
|
bl ov74_022353FC
|
|
bl _0222CD3A
|
|
_0222C3D2:
|
|
ldr r2, _0222C648 ; =ov74_0222A6C0
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222AB0C
|
|
bl _0222CD3A
|
|
_0222C3E0:
|
|
ldr r2, _0222C64C ; =ov74_0222A5AC
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222AB0C
|
|
bl _0222CD3A
|
|
_0222C3EE:
|
|
ldr r2, _0222C650 ; =ov74_0222A2A4
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222AB0C
|
|
bl _0222CD3A
|
|
_0222C3FC:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222AC1C
|
|
bl _0222CD3A
|
|
_0222C408:
|
|
add r0, r4, #0
|
|
bl ov74_0222CEE0
|
|
ldr r0, _0222C654 ; =ov74_0223D0A8
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0x2d
|
|
bne _0222C4A0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
add r0, r6, #0
|
|
bl ov74_0222A078
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x8c
|
|
bl ov74_0222FD98
|
|
add r1, r4, #0
|
|
add r1, #0x80
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bne _0222C44C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
mov r0, #0x31
|
|
str r0, [r5]
|
|
b _0222C4A0
|
|
_0222C44C:
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
bne _0222C47A
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x1a
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
mov r0, #0x71
|
|
add r1, r4, #0
|
|
str r2, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x58
|
|
mov r3, #3
|
|
bl AddWindowParameterized
|
|
_0222C47A:
|
|
bl ov74_02236988
|
|
add r1, r4, #0
|
|
add r2, r0, #0
|
|
add r0, r6, #0
|
|
add r1, #0x58
|
|
bl ov74_0222AAAC
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #4
|
|
bl ov74_0222AA18
|
|
add r0, r6, #0
|
|
bl ov74_0222A43C
|
|
mov r0, #0x1f
|
|
str r0, [r5]
|
|
_0222C4A0:
|
|
ldr r0, _0222C654 ; =ov74_0223D0A8
|
|
ldr r0, [r0, #0x10]
|
|
sub r0, #0x2e
|
|
cmp r0, #1
|
|
bls _0222C4AE
|
|
bl _0222CD3A
|
|
_0222C4AE:
|
|
bl ov74_0222CEC0
|
|
mov r0, #0x11
|
|
str r0, [r5]
|
|
bl _0222CD3A
|
|
_0222C4BA:
|
|
ldr r2, _0222C658 ; =ov74_0222A538
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222AB0C
|
|
add r0, r4, #0
|
|
bl ov74_0222CEE0
|
|
bl _0222CD3A
|
|
_0222C4CE:
|
|
add r0, r6, #0
|
|
bl ov74_0222A078
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229E28
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229F28
|
|
add r0, r7, #0
|
|
bl ov74_0222A0E4
|
|
cmp r0, #1
|
|
bne _0222C53A
|
|
add r0, r6, #0
|
|
bl ov74_0222A174
|
|
ldr r0, _0222C65C ; =0x000029F4
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
sub r1, r1, #2
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
ldr r1, _0222C660 ; =0x000030A4
|
|
mov r0, #0x54
|
|
bl AllocFromHeap
|
|
ldr r2, _0222C660 ; =0x000030A4
|
|
mov r1, #0
|
|
add r6, r0, #0
|
|
bl memset
|
|
ldr r0, _0222C65C ; =0x000029F4
|
|
add r1, r4, r0
|
|
ldr r0, _0222C664 ; =0x000030A0
|
|
str r1, [r6, r0]
|
|
bl ov74_02235708
|
|
str r0, [r6, #0xc]
|
|
ldr r0, _0222C668 ; =ov74_0222C04C
|
|
add r1, r6, #0
|
|
mov r2, #5
|
|
bl SysTask_CreateOnMainQueue
|
|
b _0222C548
|
|
_0222C53A:
|
|
ldr r0, [r4]
|
|
add r1, r7, #0
|
|
bl ov74_02235DC4
|
|
add r0, r6, #0
|
|
bl ov74_0222A174
|
|
_0222C548:
|
|
mov r0, #0x22
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C54E:
|
|
ldr r0, _0222C65C ; =0x000029F4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222C5DC
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #8
|
|
mov r3, #0x38
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
b _0222CD3A
|
|
_0222C570:
|
|
bl ov74_0223615C
|
|
add r7, r0, #0
|
|
cmp r7, #4
|
|
bne _0222C57E
|
|
bl ov74_02236128
|
|
_0222C57E:
|
|
cmp r7, #2
|
|
bne _0222C5D8
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
add r0, #0x18
|
|
mov r1, #0
|
|
bl ov74_02229F78
|
|
ldr r0, [r4]
|
|
mov r1, #0
|
|
bl BgClearTilemapBufferAndCommit
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
add r6, r4, #0
|
|
add r6, #0xdc
|
|
add r0, r6, #0
|
|
bl ov74_0222A0E4
|
|
cmp r0, #1
|
|
bne _0222C5CC
|
|
ldr r0, [r4]
|
|
add r1, r6, #0
|
|
bl ov74_02235DC4
|
|
ldr r0, _0222C65C ; =0x000029F4
|
|
mov r1, #2
|
|
str r1, [r4, r0]
|
|
b _0222C5D2
|
|
_0222C5CC:
|
|
ldr r0, _0222C66C ; =SEQ_SE_DP_UG_020
|
|
bl PlaySE
|
|
_0222C5D2:
|
|
mov r0, #0x23
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C5D8:
|
|
cmp r7, #3
|
|
beq _0222C5DE
|
|
_0222C5DC:
|
|
b _0222CD3A
|
|
_0222C5DE:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
ldrb r1, [r0]
|
|
mov r0, #4
|
|
mov r2, #0x1b
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
strb r1, [r0]
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r3, #0x38
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C612:
|
|
add r0, r4, #0
|
|
bl ov74_0222CEE0
|
|
ldr r0, _0222C654 ; =ov74_0223D0A8
|
|
ldr r1, [r0, #0x10]
|
|
add r0, r1, #0
|
|
sub r0, #0x2d
|
|
cmp r0, #2
|
|
bhi _0222C704
|
|
cmp r1, #0x2f
|
|
bne _0222C62C
|
|
bl ov74_0222CEC0
|
|
_0222C62C:
|
|
add r0, r6, #0
|
|
bl ov74_0222A494
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C636:
|
|
add r0, r4, #0
|
|
bl ov74_02229D6C
|
|
ldr r1, _0222C670 ; =0x00000438
|
|
b _0222C674
|
|
.balign 4, 0
|
|
_0222C640: .word 0x000005C8
|
|
_0222C644: .word 0x000015D8
|
|
_0222C648: .word ov74_0222A6C0
|
|
_0222C64C: .word ov74_0222A5AC
|
|
_0222C650: .word ov74_0222A2A4
|
|
_0222C654: .word ov74_0223D0A8
|
|
_0222C658: .word ov74_0222A538
|
|
_0222C65C: .word 0x000029F4
|
|
_0222C660: .word 0x000030A4
|
|
_0222C664: .word 0x000030A0
|
|
_0222C668: .word ov74_0222C04C
|
|
_0222C66C: .word SEQ_SE_DP_UG_020
|
|
_0222C670: .word 0x00000438
|
|
_0222C674:
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
ldr r1, [r4, r1]
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
beq _0222C6EC
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x8c
|
|
bl ov74_0222FD98
|
|
add r1, r4, #0
|
|
add r1, #0x80
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
bne _0222C6C6
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x1a
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
mov r0, #0x71
|
|
add r1, r4, #0
|
|
str r2, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x58
|
|
mov r3, #3
|
|
bl AddWindowParameterized
|
|
_0222C6C6:
|
|
add r1, r4, #0
|
|
add r2, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x58
|
|
add r2, #0x8c
|
|
bl ov74_0222AAAC
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #4
|
|
bl ov74_0222AA18
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl ov74_0222A240
|
|
mov r0, #8
|
|
str r0, [r5]
|
|
_0222C6EC:
|
|
ldr r0, _0222CA14 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
bne _0222C706
|
|
ldr r0, _0222CA18 ; =0x00000434
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222C706
|
|
_0222C704:
|
|
b _0222CD3A
|
|
_0222C706:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
bl ov74_02229DF8
|
|
bl sub_0203A914
|
|
mov r0, #0x11
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C71C:
|
|
ldr r2, _0222CA1C ; =ov74_0222A494
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222AB0C
|
|
b _0222CD3A
|
|
_0222C728:
|
|
bl sub_0203769C
|
|
add r7, r0, #0
|
|
beq _0222C780
|
|
lsl r0, r7, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
beq _0222C780
|
|
mov r0, #0xab
|
|
bl sub_02037B38
|
|
cmp r0, #1
|
|
bne _0222C7B0
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl sub_020398D4
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #7
|
|
bl ov74_0222AA18
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229E28
|
|
mov r1, #0x96
|
|
ldr r0, _0222CA18 ; =0x00000434
|
|
lsl r1, r1, #2
|
|
str r1, [r4, r0]
|
|
mov r0, #0xa
|
|
str r0, [r5]
|
|
b _0222C7B0
|
|
_0222C780:
|
|
cmp r7, #0
|
|
beq _0222C7B0
|
|
lsl r0, r7, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
bne _0222C7B0
|
|
bl ov74_02229DF8
|
|
bl sub_0203A914
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
mov r0, #0x10
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C7B0:
|
|
ldr r0, _0222CA14 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
bne _0222C7C8
|
|
ldr r0, _0222CA18 ; =0x00000434
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222C8B8
|
|
_0222C7C8:
|
|
bl ov74_02229DF8
|
|
bl sub_0203A914
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
mov r0, #0x11
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C7E8:
|
|
bl ov74_02229DBC
|
|
cmp r0, #0
|
|
beq _0222C7F4
|
|
mov r0, #0xb
|
|
str r0, [r5]
|
|
_0222C7F4:
|
|
bl sub_0203769C
|
|
ldr r1, _0222CA14 ; =gSystem
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #2
|
|
tst r1, r2
|
|
bne _0222C820
|
|
ldr r1, _0222CA18 ; =0x00000434
|
|
ldr r2, [r4, r1]
|
|
sub r2, r2, #1
|
|
str r2, [r4, r1]
|
|
ldr r1, [r4, r1]
|
|
cmp r1, #0
|
|
beq _0222C820
|
|
cmp r0, #0
|
|
beq _0222C8B8
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
bne _0222C8B8
|
|
_0222C820:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
bl ov74_02229DF8
|
|
bl sub_0203A914
|
|
mov r0, #0x11
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C836:
|
|
add r0, r6, #0
|
|
bl ov74_0222A078
|
|
add r1, r0, #0
|
|
ldr r0, [r4]
|
|
bl ov74_02235DC4
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_020398D4
|
|
add r0, r6, #0
|
|
bl ov74_0222A174
|
|
mov r0, #0xc
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C858:
|
|
bl sub_0203769C
|
|
cmp r0, #0
|
|
beq _0222C896
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
bne _0222C896
|
|
bl ov74_02229DF8
|
|
ldr r0, _0222CA20 ; =0x000029EC
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
bl ov74_02236140
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
bl sub_0203A914
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov74_02229F28
|
|
mov r0, #0xe
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C896:
|
|
bl ov74_0223615C
|
|
cmp r0, #4
|
|
bne _0222C8B0
|
|
mov r0, #0x93
|
|
bl sub_02037AC0
|
|
mov r0, #0xd
|
|
str r0, [r5]
|
|
ldr r0, _0222CA24 ; =0x0000043C
|
|
mov r1, #0x78
|
|
str r1, [r4, r0]
|
|
b _0222CD3A
|
|
_0222C8B0:
|
|
bl ov74_0223615C
|
|
cmp r0, #3
|
|
beq _0222C8BA
|
|
_0222C8B8:
|
|
b _0222CD3A
|
|
_0222C8BA:
|
|
bl ov74_02236140
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
ldrb r1, [r0]
|
|
mov r0, #4
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #0x1b
|
|
mov r3, #0x38
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C8E8:
|
|
mov r0, #0x93
|
|
bl sub_02037B38
|
|
cmp r0, #1
|
|
bne _0222C902
|
|
bl ov74_02236128
|
|
ldr r0, _0222CA24 ; =0x0000043C
|
|
mov r1, #0xa
|
|
str r1, [r4, r0]
|
|
mov r0, #0xf
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C902:
|
|
ldr r0, _0222CA24 ; =0x0000043C
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222CA0C
|
|
bl ov74_02236140
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
ldrb r1, [r0]
|
|
mov r0, #4
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #0x1b
|
|
mov r3, #0x38
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C93E:
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
ldrb r1, [r0]
|
|
mov r0, #4
|
|
mov r2, #0x1d
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
strb r1, [r0]
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r3, #0x38
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C96A:
|
|
ldr r0, _0222CA24 ; =0x0000043C
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222CA0C
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
bl ov74_02229DF8
|
|
bl sub_0203A914
|
|
ldr r0, _0222CA28 ; =SEQ_SE_DP_UG_020
|
|
bl PlaySE
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov74_02229F28
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #8
|
|
mov r3, #0x38
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C9AA:
|
|
ldr r0, _0222CA2C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #0x19
|
|
bl ov74_0222AA18
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
mov r0, #0x12
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222C9CC:
|
|
ldr r0, _0222CA30 ; =0x000015DC
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _0222C9DA
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
b _0222CD3A
|
|
_0222C9DA:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
ldr r0, _0222CA2C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #0x18
|
|
bl ov74_0222AA18
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
mov r0, #0x12
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CA04:
|
|
ldr r0, _0222CA14 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
bne _0222CA0E
|
|
_0222CA0C:
|
|
b _0222CD3A
|
|
_0222CA0E:
|
|
ldr r0, _0222CA2C ; =SEQ_SE_DP_SELECT
|
|
b _0222CA34
|
|
nop
|
|
_0222CA14: .word gSystem
|
|
_0222CA18: .word 0x00000434
|
|
_0222CA1C: .word ov74_0222A494
|
|
_0222CA20: .word 0x000029EC
|
|
_0222CA24: .word 0x0000043C
|
|
_0222CA28: .word SEQ_SE_DP_UG_020
|
|
_0222CA2C: .word SEQ_SE_DP_SELECT
|
|
_0222CA30: .word 0x000015DC
|
|
_0222CA34:
|
|
bl PlaySE
|
|
add r0, r6, #0
|
|
mov r1, #0xc4
|
|
mov r2, #0
|
|
bl ov74_0222A94C
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CA48:
|
|
ldr r0, _0222CD54 ; =0x000015DC
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _0222CA56
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
b _0222CD3A
|
|
_0222CA56:
|
|
add r0, r4, #0
|
|
add r0, #0x84
|
|
ldr r0, [r0]
|
|
cmp r0, #0x1b
|
|
beq _0222CA6C
|
|
add r0, r4, #0
|
|
mov r1, #0xea
|
|
add r0, #0x8c
|
|
lsl r1, r1, #2
|
|
bl ov74_02235258
|
|
_0222CA6C:
|
|
add r1, r4, #0
|
|
ldr r0, [r4, #4]
|
|
add r1, #0x8c
|
|
bl ov74_0222FD98
|
|
add r1, r4, #0
|
|
add r1, #0x80
|
|
str r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
cmp r0, #1
|
|
bne _0222CA94
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
mov r0, #0x31
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CA94:
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
bl WindowIsInUse
|
|
cmp r0, #0
|
|
bne _0222CAC2
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #0x1a
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r2, #0
|
|
mov r0, #0x71
|
|
add r1, r4, #0
|
|
str r2, [sp, #0xc]
|
|
lsl r0, r0, #2
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r4]
|
|
add r1, #0x58
|
|
mov r3, #3
|
|
bl AddWindowParameterized
|
|
_0222CAC2:
|
|
add r1, r4, #0
|
|
add r2, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x58
|
|
add r2, #0x8c
|
|
bl ov74_0222AAAC
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #4
|
|
bl ov74_0222AA18
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
bl ov74_0222A240
|
|
mov r0, #0x14
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CAEA:
|
|
ldr r2, _0222CD58 ; =ov74_0222A494
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222AB0C
|
|
b _0222CD3A
|
|
_0222CAF6:
|
|
mov r0, #0x16
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CAFC:
|
|
add r0, r6, #0
|
|
bl ov74_0222A078
|
|
add r1, r0, #0
|
|
ldr r0, [r4]
|
|
bl ov74_02235DC4
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #7
|
|
bl ov74_0222AA18
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_02229E28
|
|
ldr r0, _0222CD5C ; =0x0000043C
|
|
mov r1, #0x3c
|
|
str r1, [r4, r0]
|
|
mov r0, #0x17
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CB32:
|
|
ldr r0, _0222CD5C ; =0x0000043C
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222CC18
|
|
add r0, r6, #0
|
|
bl ov74_0222A174
|
|
mov r0, #0x18
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CB4C:
|
|
bl ov74_0223615C
|
|
cmp r0, #4
|
|
bne _0222CB58
|
|
bl ov74_02236128
|
|
_0222CB58:
|
|
bl ov74_0223615C
|
|
cmp r0, #2
|
|
bne _0222CB90
|
|
ldr r0, _0222CD5C ; =0x0000043C
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02229E28
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov74_02229F28
|
|
ldr r0, _0222CD60 ; =SEQ_SE_DP_UG_020
|
|
bl PlaySE
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r2, #8
|
|
mov r3, #0x19
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CB90:
|
|
bl ov74_0223615C
|
|
cmp r0, #3
|
|
bne _0222CC18
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
mvn r1, r1
|
|
bl ov74_02229F28
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
ldrb r1, [r0]
|
|
mov r0, #4
|
|
mov r2, #0x1b
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
strb r1, [r0]
|
|
add r1, r4, #0
|
|
add r0, r6, #0
|
|
add r1, #0x18
|
|
mov r3, #0x38
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CBC4:
|
|
ldr r0, _0222CD5C ; =0x0000043C
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
bne _0222CC18
|
|
mov r1, #1
|
|
lsl r1, r1, #0x10
|
|
str r1, [r4, r0]
|
|
mov r0, #0x38
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CBDE:
|
|
add r0, r4, #0
|
|
add r0, #0x80
|
|
ldr r0, [r0]
|
|
cmp r0, #5
|
|
beq _0222CBEE
|
|
add r0, r4, #0
|
|
bl ov74_0222AE3C
|
|
_0222CBEE:
|
|
add r0, r6, #0
|
|
bl ov74_0222AD6C
|
|
str r0, [r5]
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
b _0222CD3A
|
|
_0222CC02:
|
|
mov r1, #0
|
|
add r0, r6, #0
|
|
add r2, r1, #0
|
|
bl ov74_0222ADBC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CC10:
|
|
ldr r0, _0222CD64 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
bne _0222CC1A
|
|
_0222CC18:
|
|
b _0222CD3A
|
|
_0222CC1A:
|
|
add r0, r4, #0
|
|
add r0, #0x58
|
|
mov r1, #0
|
|
bl ov74_02229F60
|
|
add r0, r6, #0
|
|
bl ov74_0222A5AC
|
|
str r0, [r5]
|
|
b _0222CD3A
|
|
_0222CC2E:
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
bl ov74_0222A240
|
|
mov r0, #8
|
|
str r0, [r5]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r0, #0x80
|
|
str r1, [r0]
|
|
b _0222CD3A
|
|
_0222CC44:
|
|
add r0, r6, #0
|
|
bl ov74_02229E68
|
|
mov r0, #0x11
|
|
mov r1, #0
|
|
lsl r0, r0, #6
|
|
str r1, [r4, r0]
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222CC58:
|
|
add r0, r6, #0
|
|
bl ov74_02229E68
|
|
mov r1, #0x11
|
|
mov r0, #1
|
|
lsl r1, r1, #6
|
|
add sp, #0x14
|
|
str r0, [r4, r1]
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222CC6A:
|
|
add r0, r6, #0
|
|
bl ov74_02229E68
|
|
mov r0, #0x11
|
|
mov r1, #2
|
|
lsl r0, r0, #6
|
|
str r1, [r4, r0]
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_0222CC7E:
|
|
ldr r0, _0222CD64 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
beq _0222CD3A
|
|
ldr r0, _0222CD68 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _0222CCAA
|
|
ldr r2, _0222CD6C ; =0x000015D8
|
|
mov r0, #0
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x39
|
|
mov r3, #2
|
|
bl ov74_0223539C
|
|
b _0222CD3A
|
|
_0222CCAA:
|
|
mov r0, #1
|
|
bl ov74_02235390
|
|
ldr r2, _0222CD6C ; =0x000015D8
|
|
mov r0, #0
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x3a
|
|
mov r3, #2
|
|
bl ov74_0223539C
|
|
b _0222CD3A
|
|
_0222CCC0:
|
|
ldr r0, [r4]
|
|
bl ov74_0222A7A0
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl GfGfx_EngineBTogglePlanes
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl GfGfx_EngineBTogglePlanes
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _0222CD08
|
|
add r0, r4, #0
|
|
add r0, #0xdc
|
|
ldrh r0, [r0]
|
|
cmp r0, #3
|
|
bne _0222CD08
|
|
add r0, r4, #0
|
|
add r0, #0xe0
|
|
ldr r1, [r0]
|
|
ldr r0, _0222CD70 ; =0x00000215
|
|
cmp r1, r0
|
|
bne _0222CD08
|
|
add r1, r4, #0
|
|
ldr r0, [r4]
|
|
add r1, #0xdc
|
|
mov r2, #0x54
|
|
bl ov74_0222FC50
|
|
b _0222CD14
|
|
_0222CD08:
|
|
add r1, r4, #0
|
|
ldr r0, [r4]
|
|
add r1, #0xdc
|
|
mov r2, #0x54
|
|
bl ov74_0222EC08
|
|
_0222CD14:
|
|
ldr r2, _0222CD6C ; =0x000015D8
|
|
mov r0, #1
|
|
ldr r2, [r4, r2]
|
|
mov r1, #0x38
|
|
mov r3, #2
|
|
bl ov74_0223539C
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
ldrb r1, [r0]
|
|
mov r0, #4
|
|
bic r1, r0
|
|
add r0, r4, #0
|
|
add r0, #0xda
|
|
strb r1, [r0]
|
|
b _0222CD3A
|
|
_0222CD34:
|
|
mov r0, #0
|
|
bl OS_ResetSystem
|
|
_0222CD3A:
|
|
ldr r0, _0222CD74 ; =0x000029E8
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _0222CD46
|
|
add r0, r4, #0
|
|
blx r1
|
|
_0222CD46:
|
|
ldr r0, _0222CD78 ; =0x000029F4
|
|
ldr r0, [r4, r0]
|
|
bl ov74_022358C8
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222CD54: .word 0x000015DC
|
|
_0222CD58: .word ov74_0222A494
|
|
_0222CD5C: .word 0x0000043C
|
|
_0222CD60: .word SEQ_SE_DP_UG_020
|
|
_0222CD64: .word gSystem
|
|
_0222CD68: .word SEQ_SE_DP_SELECT
|
|
_0222CD6C: .word 0x000015D8
|
|
_0222CD70: .word 0x00000215
|
|
_0222CD74: .word 0x000029E8
|
|
_0222CD78: .word 0x000029F4
|
|
thumb_func_end ov74_0222C2EC
|
|
|
|
thumb_func_start ov74_0222CD7C
|
|
ov74_0222CD7C: ; 0x0222CD7C
|
|
ldr r0, _0222CD84 ; =ov74_0223D0A8
|
|
ldr r0, [r0]
|
|
bx lr
|
|
nop
|
|
_0222CD84: .word ov74_0223D0A8
|
|
thumb_func_end ov74_0222CD7C
|
|
|
|
thumb_func_start ov74_0222CD88
|
|
ov74_0222CD88: ; 0x0222CD88
|
|
ldr r1, _0222CD90 ; =ov74_0223D0A8
|
|
str r0, [r1]
|
|
bx lr
|
|
nop
|
|
_0222CD90: .word ov74_0223D0A8
|
|
thumb_func_end ov74_0222CD88
|
|
|
|
thumb_func_start ov74_0222CD94
|
|
ov74_0222CD94: ; 0x0222CD94
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
mov r0, #0x11
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222CDB2
|
|
ldr r0, _0222CDF8 ; =FS_OVERLAY_ID(intro_title)
|
|
ldr r1, _0222CDFC ; =gApplication_TitleScreen
|
|
bl RegisterMainOverlay
|
|
b _0222CDCC
|
|
_0222CDB2:
|
|
cmp r0, #1
|
|
bne _0222CDC0
|
|
ldr r0, _0222CE00 ; =FS_OVERLAY_ID(OVY_74)
|
|
ldr r1, _0222CE04 ; =_0223B410
|
|
bl RegisterMainOverlay
|
|
b _0222CDCC
|
|
_0222CDC0:
|
|
cmp r0, #2
|
|
bne _0222CDCC
|
|
ldr r0, _0222CE00 ; =FS_OVERLAY_ID(OVY_74)
|
|
ldr r1, _0222CE08 ; =_0223B420
|
|
bl RegisterMainOverlay
|
|
_0222CDCC:
|
|
mov r0, #0x59
|
|
bl DestroyHeap
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x54
|
|
bl DestroyHeap
|
|
ldr r0, _0222CE0C ; =0x000015D4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #2
|
|
bne _0222CDEC
|
|
mov r0, #0
|
|
bl sub_0201A4B0
|
|
_0222CDEC:
|
|
mov r0, #0
|
|
bl ov74_02236034
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222CDF8: .word FS_OVERLAY_ID(intro_title)
|
|
_0222CDFC: .word gApplication_TitleScreen
|
|
_0222CE00: .word FS_OVERLAY_ID(OVY_74)
|
|
_0222CE04: .word _0223B410
|
|
_0222CE08: .word _0223B420
|
|
_0222CE0C: .word 0x000015D4
|
|
thumb_func_end ov74_0222CD94
|
|
|
|
thumb_func_start ov74_0222CE10
|
|
ov74_0222CE10: ; 0x0222CE10
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222CE64 ; =0x000005C8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0x1c
|
|
beq _0222CE26
|
|
cmp r0, #0x1d
|
|
beq _0222CE62
|
|
cmp r0, #0x1e
|
|
beq _0222CE3A
|
|
pop {r4, pc}
|
|
_0222CE26:
|
|
ldr r0, [r4, #4]
|
|
bl sub_02038D28
|
|
ldr r0, _0222CE68 ; =0x000005CC
|
|
mov r1, #0x78
|
|
str r1, [r4, r0]
|
|
mov r1, #0x1e
|
|
sub r0, r0, #4
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_0222CE3A:
|
|
bl sub_02038D80
|
|
mov r1, #1
|
|
tst r0, r1
|
|
beq _0222CE4A
|
|
mov r0, #0x5d
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_0222CE4A:
|
|
ldr r0, _0222CE68 ; =0x000005CC
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222CE62
|
|
bl sub_02038D64
|
|
ldr r0, _0222CE64 ; =0x000005C8
|
|
mov r1, #0x1d
|
|
str r1, [r4, r0]
|
|
_0222CE62:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222CE64: .word 0x000005C8
|
|
_0222CE68: .word 0x000005CC
|
|
thumb_func_end ov74_0222CE10
|
|
|
|
thumb_func_start ov74_0222CE6C
|
|
ov74_0222CE6C: ; 0x0222CE6C
|
|
cmp r0, #4
|
|
bhi _0222CEB8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222CE7C: ; jump table
|
|
.short _0222CE86 - _0222CE7C - 2 ; case 0
|
|
.short _0222CE8E - _0222CE7C - 2 ; case 1
|
|
.short _0222CE96 - _0222CE7C - 2 ; case 2
|
|
.short _0222CE9E - _0222CE7C - 2 ; case 3
|
|
.short _0222CEB2 - _0222CE7C - 2 ; case 4
|
|
_0222CE86:
|
|
ldr r0, _0222CEBC ; =ov74_0223D0A8
|
|
mov r1, #0x28
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
_0222CE8E:
|
|
ldr r0, _0222CEBC ; =ov74_0223D0A8
|
|
mov r1, #0x29
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
_0222CE96:
|
|
ldr r0, _0222CEBC ; =ov74_0223D0A8
|
|
mov r1, #0x2a
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
_0222CE9E:
|
|
ldr r0, _0222CEBC ; =ov74_0223D0A8
|
|
ldr r1, [r0, #0x10]
|
|
cmp r1, #0x2a
|
|
bne _0222CEAC
|
|
mov r1, #0x2c
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
_0222CEAC:
|
|
mov r1, #0x2f
|
|
str r1, [r0, #0x10]
|
|
bx lr
|
|
_0222CEB2:
|
|
ldr r0, _0222CEBC ; =ov74_0223D0A8
|
|
mov r1, #0x30
|
|
str r1, [r0, #0x10]
|
|
_0222CEB8:
|
|
bx lr
|
|
nop
|
|
_0222CEBC: .word ov74_0223D0A8
|
|
thumb_func_end ov74_0222CE6C
|
|
|
|
thumb_func_start ov74_0222CEC0
|
|
ov74_0222CEC0: ; 0x0222CEC0
|
|
push {r3, lr}
|
|
bl sub_02034DE0
|
|
ldr r0, _0222CEDC ; =ov74_0223D0A8
|
|
ldr r0, [r0, #4]
|
|
bl FreeToHeap
|
|
bl sub_0203A914
|
|
ldr r0, _0222CEDC ; =ov74_0223D0A8
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
pop {r3, pc}
|
|
nop
|
|
_0222CEDC: .word ov74_0223D0A8
|
|
thumb_func_end ov74_0222CEC0
|
|
|
|
thumb_func_start ov74_0222CEE0
|
|
ov74_0222CEE0: ; 0x0222CEE0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0x2c
|
|
bne _0222CF06
|
|
bl ov74_0222CEC0
|
|
bl ov74_022368D4
|
|
cmp r0, #0
|
|
beq _0222CF00
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
mov r1, #0x2d
|
|
str r1, [r0, #0x10]
|
|
b _0222CF06
|
|
_0222CF00:
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
mov r1, #0x2e
|
|
str r1, [r0, #0x10]
|
|
_0222CF06:
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #0x25
|
|
beq _0222CF22
|
|
cmp r0, #0x26
|
|
beq _0222CF22
|
|
cmp r0, #0x27
|
|
beq _0222CF22
|
|
cmp r0, #0x28
|
|
beq _0222CF22
|
|
cmp r0, #0x29
|
|
beq _0222CF22
|
|
cmp r0, #0x2b
|
|
bne _0222CF2E
|
|
_0222CF22:
|
|
bl WM_GetLinkLevel
|
|
mov r1, #3
|
|
sub r0, r1, r0
|
|
bl sub_0203A930
|
|
_0222CF2E:
|
|
ldr r1, _0222CFEC ; =ov74_0223D0A8
|
|
ldr r0, [r1, #0x10]
|
|
sub r0, #0x25
|
|
cmp r0, #0xb
|
|
bhi _0222CFA8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222CF44: ; jump table
|
|
.short _0222CF5C - _0222CF44 - 2 ; case 0
|
|
.short _0222CF68 - _0222CF44 - 2 ; case 1
|
|
.short _0222CFA8 - _0222CF44 - 2 ; case 2
|
|
.short _0222CFA8 - _0222CF44 - 2 ; case 3
|
|
.short _0222CF9E - _0222CF44 - 2 ; case 4
|
|
.short _0222CFA8 - _0222CF44 - 2 ; case 5
|
|
.short _0222CFA8 - _0222CF44 - 2 ; case 6
|
|
.short _0222CFA8 - _0222CF44 - 2 ; case 7
|
|
.short _0222CFA8 - _0222CF44 - 2 ; case 8
|
|
.short _0222CFA8 - _0222CF44 - 2 ; case 9
|
|
.short _0222CFA6 - _0222CF44 - 2 ; case 10
|
|
.short _0222CFA8 - _0222CF44 - 2 ; case 11
|
|
_0222CF5C:
|
|
bl sub_02034D8C
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
mov r1, #0x26
|
|
str r1, [r0, #0x10]
|
|
b _0222CFA8
|
|
_0222CF68:
|
|
bl sub_02034DB8
|
|
cmp r0, #1
|
|
bne _0222CFA8
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
mov r1, #0
|
|
str r1, [r0, #0xc]
|
|
bl ov74_02236980
|
|
add r1, r0, #0
|
|
mov r0, #0x54
|
|
bl AllocFromHeap
|
|
add r2, r0, #0
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
ldr r1, _0222CFF0 ; =ov74_0222CE6C
|
|
str r2, [r0, #4]
|
|
ldr r0, _0222CFF4 ; =0x000005D4
|
|
add r0, r4, r0
|
|
bl ov74_02236680
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
mov r1, #0x27
|
|
str r1, [r0, #0x10]
|
|
bl sub_0203A880
|
|
b _0222CFA8
|
|
_0222CF9E:
|
|
ldr r0, [r1, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [r1, #0xc]
|
|
b _0222CFA8
|
|
_0222CFA6:
|
|
pop {r4, pc}
|
|
_0222CFA8:
|
|
ldr r0, _0222CFF8 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _0222CFE8
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
ldr r0, [r0, #0x10]
|
|
sub r0, #0x28
|
|
cmp r0, #8
|
|
bhi _0222CFE8
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0222CFC8: ; jump table
|
|
.short _0222CFDA - _0222CFC8 - 2 ; case 0
|
|
.short _0222CFDA - _0222CFC8 - 2 ; case 1
|
|
.short _0222CFE8 - _0222CFC8 - 2 ; case 2
|
|
.short _0222CFE8 - _0222CFC8 - 2 ; case 3
|
|
.short _0222CFE8 - _0222CFC8 - 2 ; case 4
|
|
.short _0222CFE8 - _0222CFC8 - 2 ; case 5
|
|
.short _0222CFE8 - _0222CFC8 - 2 ; case 6
|
|
.short _0222CFE8 - _0222CFC8 - 2 ; case 7
|
|
.short _0222CFDA - _0222CFC8 - 2 ; case 8
|
|
_0222CFDA:
|
|
bl ov74_022365FC
|
|
cmp r0, #0
|
|
beq _0222CFE8
|
|
ldr r0, _0222CFEC ; =ov74_0223D0A8
|
|
mov r1, #0x2b
|
|
str r1, [r0, #0x10]
|
|
_0222CFE8:
|
|
pop {r4, pc}
|
|
nop
|
|
_0222CFEC: .word ov74_0223D0A8
|
|
_0222CFF0: .word ov74_0222CE6C
|
|
_0222CFF4: .word 0x000005D4
|
|
_0222CFF8: .word gSystem
|
|
thumb_func_end ov74_0222CEE0
|
|
|
|
thumb_func_start ov74_0222CFFC
|
|
ov74_0222CFFC: ; 0x0222CFFC
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
bl ov74_0222D024
|
|
bl ov74_0223563C
|
|
bl ov74_02235690
|
|
mov r0, #0x11
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x13
|
|
mov r2, #0x10
|
|
mov r3, #0x12
|
|
bl ov74_02235728
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_0222CFFC
|
|
|
|
thumb_func_start ov74_0222D024
|
|
ov74_0222D024: ; 0x0222D024
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222D088 ; =0x00002DC4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222D034
|
|
bl Sprite_Delete
|
|
_0222D034:
|
|
ldr r0, _0222D08C ; =0x00002DC8
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222D040
|
|
bl Sprite_Delete
|
|
_0222D040:
|
|
ldr r0, _0222D08C ; =0x00002DC8
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
ldr r2, [r4, r0]
|
|
sub r1, r0, #4
|
|
str r2, [r4, r1]
|
|
add r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222D058
|
|
bl Sprite_Delete
|
|
_0222D058:
|
|
ldr r0, _0222D090 ; =0x00002DD0
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222D064
|
|
bl Sprite_Delete
|
|
_0222D064:
|
|
ldr r0, _0222D094 ; =0x00002DD4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222D070
|
|
bl Sprite_Delete
|
|
_0222D070:
|
|
ldr r1, _0222D094 ; =0x00002DD4
|
|
mov r0, #0
|
|
str r0, [r4, r1]
|
|
ldr r2, [r4, r1]
|
|
sub r0, r1, #4
|
|
str r2, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
sub r1, #8
|
|
str r0, [r4, r1]
|
|
bl ov74_022359BC
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222D088: .word 0x00002DC4
|
|
_0222D08C: .word 0x00002DC8
|
|
_0222D090: .word 0x00002DD0
|
|
_0222D094: .word 0x00002DD4
|
|
thumb_func_end ov74_0222D024
|
|
|
|
thumb_func_start ov74_0222D098
|
|
ov74_0222D098: ; 0x0222D098
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
ldr r1, _0222D0E0 ; =0x00003D4C
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [r4, r1]
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
ldr r1, _0222D0E4 ; =0x00002DC4
|
|
mov r2, #0x48
|
|
ldr r1, [r4, r1]
|
|
mov r3, #0xa8
|
|
bl ov74_02235930
|
|
ldr r1, _0222D0E4 ; =0x00002DC4
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #2
|
|
bl Sprite_SetPriority
|
|
mov r0, #0
|
|
ldr r1, _0222D0E8 ; =0x00002DC8
|
|
str r0, [sp]
|
|
ldr r1, [r4, r1]
|
|
mov r2, #0xb8
|
|
mov r3, #0xa8
|
|
bl ov74_02235930
|
|
ldr r1, _0222D0E8 ; =0x00002DC8
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
mov r1, #2
|
|
bl Sprite_SetPriority
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
.balign 4, 0
|
|
_0222D0E0: .word 0x00003D4C
|
|
_0222D0E4: .word 0x00002DC4
|
|
_0222D0E8: .word 0x00002DC8
|
|
thumb_func_end ov74_0222D098
|
|
|
|
thumb_func_start ov74_0222D0EC
|
|
ov74_0222D0EC: ; 0x0222D0EC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _0222D102
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0200E5D4
|
|
_0222D102:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_0222D0EC
|
|
|
|
thumb_func_start ov74_0222D104
|
|
ov74_0222D104: ; 0x0222D104
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _0222D11A
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ClearFrameAndWindow2
|
|
_0222D11A:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_0222D104
|
|
|
|
thumb_func_start ov74_0222D11C
|
|
ov74_0222D11C: ; 0x0222D11C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
ldr r0, _0222D1C4 ; =0x00002BCC
|
|
add r4, r1, #0
|
|
ldr r0, [r5, r0]
|
|
add r7, r2, #0
|
|
str r3, [sp]
|
|
cmp r0, #0
|
|
beq _0222D134
|
|
bl ListMenuItems_Delete
|
|
_0222D134:
|
|
ldr r0, _0222D1C8 ; =0x00002BC8
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _0222D144
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl DestroyListMenu
|
|
_0222D144:
|
|
add r0, r7, #0
|
|
mov r1, #0x55
|
|
bl ListMenuItems_New
|
|
ldr r1, _0222D1C4 ; =0x00002BCC
|
|
mov r2, #0xf7
|
|
str r0, [r5, r1]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r3, #0x55
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0222D1CC ; =0x00002A04
|
|
mov r6, #0
|
|
str r0, [r5, r1]
|
|
cmp r7, #0
|
|
ble _0222D17E
|
|
_0222D166:
|
|
ldr r0, _0222D1C4 ; =0x00002BCC
|
|
ldr r1, _0222D1CC ; =0x00002A04
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
bl ListMenuItems_AppendFromMsgData
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
cmp r6, r7
|
|
blt _0222D166
|
|
_0222D17E:
|
|
ldr r0, _0222D1CC ; =0x00002A04
|
|
ldr r0, [r5, r0]
|
|
bl DestroyMsgData
|
|
ldr r4, _0222D1D0 ; =ov74_0223C320
|
|
add r3, sp, #4
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, _0222D1C4 ; =0x00002BCC
|
|
mov r1, #0
|
|
ldr r0, [r5, r0]
|
|
mov r3, #0x55
|
|
str r0, [sp, #4]
|
|
add r0, sp, #4
|
|
strh r7, [r0, #0x10]
|
|
ldr r0, [sp]
|
|
str r0, [sp, #0x10]
|
|
add r0, r2, #0
|
|
ldr r2, [sp, #0x38]
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl ListMenuInit
|
|
ldr r1, _0222D1C8 ; =0x00002BC8
|
|
str r0, [r5, r1]
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222D1C4: .word 0x00002BCC
|
|
_0222D1C8: .word 0x00002BC8
|
|
_0222D1CC: .word 0x00002A04
|
|
_0222D1D0: .word ov74_0223C320
|
|
thumb_func_end ov74_0222D11C
|
|
|
|
thumb_func_start ov74_0222D1D4
|
|
ov74_0222D1D4: ; 0x0222D1D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x55
|
|
bl NewMsgDataFromNarc
|
|
add r4, r0, #0
|
|
mov r0, #0x55
|
|
bl MessageFormat_New
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
mov r1, #6
|
|
bl GetFontAttribute
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
add r2, r7, #0
|
|
mov r3, #0x55
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r7, r0, #0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222D244 ; =0x00010200
|
|
mov r1, #1
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r2, r7, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r5, #0
|
|
bl CopyWindowToVram
|
|
add r0, r7, #0
|
|
bl String_Delete
|
|
add r0, r4, #0
|
|
bl DestroyMsgData
|
|
add r0, r6, #0
|
|
bl MessageFormat_Delete
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222D244: .word 0x00010200
|
|
thumb_func_end ov74_0222D1D4
|
|
|
|
thumb_func_start ov74_0222D248
|
|
ov74_0222D248: ; 0x0222D248
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x55
|
|
mov r1, #0xf
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r2, #0
|
|
lsl r3, r1, #5
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x55
|
|
mov r3, #6
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x14
|
|
mov r2, #0
|
|
lsl r3, r3, #6
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x55
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x71
|
|
mov r1, #0x15
|
|
add r2, r4, #0
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
mov r0, #0x55
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x71
|
|
mov r1, #0x16
|
|
add r2, r4, #0
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc
|
|
mov r2, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r3, r2, #0
|
|
bl BgTilemapRectChangePalette
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0222D248
|
|
|
|
thumb_func_start ov74_0222D2D4
|
|
ov74_0222D2D4: ; 0x0222D2D4
|
|
push {r4, lr}
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov74_0222D448
|
|
ldr r0, _0222D300 ; =0x00002BD0
|
|
mov r1, #0x2f
|
|
add r0, r4, r0
|
|
bl ov74_0222D1D4
|
|
ldr r3, _0222D304 ; =0x00002BE0
|
|
add r0, r4, #0
|
|
add r1, r4, r3
|
|
add r3, #0x10
|
|
ldr r3, [r4, r3]
|
|
mov r2, #0xa
|
|
bl ov74_0222D9E0
|
|
mov r0, #0xe
|
|
pop {r4, pc}
|
|
nop
|
|
_0222D300: .word 0x00002BD0
|
|
_0222D304: .word 0x00002BE0
|
|
thumb_func_end ov74_0222D2D4
|
|
|
|
thumb_func_start ov74_0222D308
|
|
ov74_0222D308: ; 0x0222D308
|
|
push {r4, lr}
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov74_0222D448
|
|
ldr r1, _0222D34C ; =0x00002BA0
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x20
|
|
ldr r1, [r4, r1]
|
|
bl SaveMysteryGift_HasAnyGift
|
|
cmp r0, #1
|
|
ldr r0, _0222D350 ; =0x00002BD0
|
|
bne _0222D330
|
|
add r0, r4, r0
|
|
mov r1, #0x3f
|
|
bl ov74_0222D1D4
|
|
b _0222D338
|
|
_0222D330:
|
|
add r0, r4, r0
|
|
mov r1, #0x3e
|
|
bl ov74_0222D1D4
|
|
_0222D338:
|
|
ldr r3, _0222D354 ; =0x00002BE0
|
|
add r0, r4, #0
|
|
add r1, r4, r3
|
|
add r3, #0x10
|
|
ldr r3, [r4, r3]
|
|
mov r2, #9
|
|
bl ov74_0222D9E0
|
|
mov r0, #0xc
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222D34C: .word 0x00002BA0
|
|
_0222D350: .word 0x00002BD0
|
|
_0222D354: .word 0x00002BE0
|
|
thumb_func_end ov74_0222D308
|
|
|
|
thumb_func_start ov74_0222D358
|
|
ov74_0222D358: ; 0x0222D358
|
|
push {r4, lr}
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov74_0222D448
|
|
ldr r0, _0222D400 ; =0x00002BD0
|
|
mov r1, #0x40
|
|
add r0, r4, r0
|
|
bl ov74_0222D1D4
|
|
ldr r0, _0222D400 ; =0x00002BD0
|
|
mov r1, #0x13
|
|
add r0, r4, r0
|
|
bl WaitingIcon_New
|
|
ldr r1, _0222D404 ; =0x00003D50
|
|
str r0, [r4, r1]
|
|
ldr r1, _0222D408 ; =0x00002BA0
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x20
|
|
ldr r1, [r4, r1]
|
|
bl SaveMysteryGift_HasAnyGift
|
|
cmp r0, #1
|
|
ldr r1, _0222D408 ; =0x00002BA0
|
|
bne _0222D39A
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x20
|
|
ldr r1, [r4, r1]
|
|
bl SaveMysteryGift_ReceiveGiftAndClearCardByIndex
|
|
b _0222D3A4
|
|
_0222D39A:
|
|
ldr r0, [r4, r1]
|
|
add r1, #0x20
|
|
ldr r1, [r4, r1]
|
|
bl SaveMysteryGift_DeleteWonderCardByIndex
|
|
_0222D3A4:
|
|
ldr r0, _0222D40C ; =0x00002BA4
|
|
ldr r0, [r4, r0]
|
|
bl SaveGameNormal
|
|
ldr r0, _0222D404 ; =0x00003D50
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200F450
|
|
ldr r0, _0222D408 ; =0x00002BA0
|
|
ldr r0, [r4, r0]
|
|
bl SaveMysteryGift_HasAnyCard
|
|
cmp r0, #0
|
|
bne _0222D3C4
|
|
mov r0, #0x1b
|
|
pop {r4, pc}
|
|
_0222D3C4:
|
|
mov r1, #0xaf
|
|
lsl r1, r1, #6
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov74_0222DAF8
|
|
mov r1, #0xaf
|
|
lsl r1, r1, #6
|
|
str r0, [r4, r1]
|
|
add r1, #0x10
|
|
add r0, r4, r1
|
|
mov r1, #0x25
|
|
bl ov74_0222D1D4
|
|
ldr r3, _0222D410 ; =0x00002BE0
|
|
add r0, r4, #0
|
|
add r1, r4, r3
|
|
add r3, #0x10
|
|
ldr r3, [r4, r3]
|
|
mov r2, #8
|
|
bl ov74_0222D9E0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov74_0222D824
|
|
mov r0, #5
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222D400: .word 0x00002BD0
|
|
_0222D404: .word 0x00003D50
|
|
_0222D408: .word 0x00002BA0
|
|
_0222D40C: .word 0x00002BA4
|
|
_0222D410: .word 0x00002BE0
|
|
thumb_func_end ov74_0222D358
|
|
|
|
thumb_func_start ov74_0222D414
|
|
ov74_0222D414: ; 0x0222D414
|
|
push {r4, lr}
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl ov74_0222D448
|
|
ldr r0, _0222D440 ; =0x00002BD0
|
|
mov r1, #0x25
|
|
add r0, r4, r0
|
|
bl ov74_0222D1D4
|
|
ldr r3, _0222D444 ; =0x00002BE0
|
|
add r0, r4, #0
|
|
add r1, r4, r3
|
|
add r3, #0x10
|
|
ldr r3, [r4, r3]
|
|
mov r2, #8
|
|
bl ov74_0222D9E0
|
|
mov r0, #5
|
|
pop {r4, pc}
|
|
nop
|
|
_0222D440: .word 0x00002BD0
|
|
_0222D444: .word 0x00002BE0
|
|
thumb_func_end ov74_0222D414
|
|
|
|
thumb_func_start ov74_0222D448
|
|
ov74_0222D448: ; 0x0222D448
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222D484 ; =0x00002BCC
|
|
ldr r0, [r4, r0]
|
|
bl ListMenuItems_Delete
|
|
mov r1, #0
|
|
ldr r0, _0222D484 ; =0x00002BCC
|
|
add r2, r1, #0
|
|
str r1, [r4, r0]
|
|
sub r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl DestroyListMenu
|
|
ldr r0, _0222D488 ; =0x00002BC8
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
add r0, #0x18
|
|
add r0, r4, r0
|
|
bl ov74_0222D0EC
|
|
ldr r0, _0222D48C ; =0x00002BE0
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222D48C ; =0x00002BE0
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222D484: .word 0x00002BCC
|
|
_0222D488: .word 0x00002BC8
|
|
_0222D48C: .word 0x00002BE0
|
|
thumb_func_end ov74_0222D448
|
|
|
|
thumb_func_start ov74_0222D490
|
|
ov74_0222D490: ; 0x0222D490
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov74_0222D490
|
|
|
|
thumb_func_start ov74_0222D494
|
|
ov74_0222D494: ; 0x0222D494
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x25
|
|
add r4, r2, #0
|
|
bl String_New
|
|
mov r1, #0xaf
|
|
lsl r1, r1, #6
|
|
ldr r2, [r5, r1]
|
|
sub r1, #0xc
|
|
lsl r2, r2, #2
|
|
add r2, r5, r2
|
|
ldr r2, [r2, r1]
|
|
mov r1, #0x41
|
|
lsl r1, r1, #2
|
|
add r1, r2, r1
|
|
mov r2, #0x24
|
|
add r6, r0, #0
|
|
bl CopyU16ArrayToStringN
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
mov r0, #1
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_0222D494
|
|
|
|
thumb_func_start ov74_0222D4E4
|
|
ov74_0222D4E4: ; 0x0222D4E4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
add r6, r1, #0
|
|
ldr r1, [r4, r0]
|
|
add r5, r2, #0
|
|
lsl r2, r1, #2
|
|
add r3, r4, r2
|
|
add r2, r0, #0
|
|
sub r2, #0xc
|
|
ldr r3, [r3, r2]
|
|
ldr r2, _0222D558 ; =0x00000152
|
|
ldrb r2, [r3, r2]
|
|
lsl r2, r2, #0x1c
|
|
lsr r2, r2, #0x1f
|
|
bne _0222D50C
|
|
mov r2, #0x28
|
|
b _0222D522
|
|
_0222D50C:
|
|
sub r0, #0x20
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222D51C
|
|
bl SaveMysteryGift_HasAnyGift
|
|
cmp r0, #1
|
|
bne _0222D520
|
|
_0222D51C:
|
|
mov r2, #0x26
|
|
b _0222D522
|
|
_0222D520:
|
|
mov r2, #0x27
|
|
_0222D522:
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
ldr r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
ldr r3, [r4]
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r4, r0, #0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r5, [sp, #8]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r4, #0
|
|
bl String_Delete
|
|
mov r0, #1
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0222D558: .word 0x00000152
|
|
thumb_func_end ov74_0222D4E4
|
|
|
|
thumb_func_start ov74_0222D55C
|
|
ov74_0222D55C: ; 0x0222D55C
|
|
push {r4, lr}
|
|
sub sp, #0x18
|
|
mov r1, #0xaf
|
|
add r4, r0, #0
|
|
lsl r1, r1, #6
|
|
ldr r2, [r4, r1]
|
|
sub r1, #0xc
|
|
lsl r2, r2, #2
|
|
add r2, r4, r2
|
|
ldr r2, [r2, r1]
|
|
mov r1, #0xd5
|
|
lsl r1, r1, #2
|
|
ldr r1, [r2, r1]
|
|
add r0, sp, #8
|
|
bl RTC_ConvertDayToDate
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
mov r2, #0x7d
|
|
ldr r3, [sp, #8]
|
|
lsl r2, r2, #4
|
|
add r2, r3, r2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
mov r3, #4
|
|
bl BufferIntegerAsString
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0xc]
|
|
mov r1, #1
|
|
bl BufferMonthNameAbbr
|
|
mov r1, #2
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0x10]
|
|
add r3, r1, #0
|
|
bl BufferIntegerAsString
|
|
mov r0, #1
|
|
add sp, #0x18
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0222D55C
|
|
|
|
thumb_func_start ov74_0222D5C4
|
|
ov74_0222D5C4: ; 0x0222D5C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
mov r0, #0xfb
|
|
mov r1, #0x55
|
|
add r4, r2, #0
|
|
bl String_New
|
|
mov r1, #0xaf
|
|
lsl r1, r1, #6
|
|
ldr r2, [r5, r1]
|
|
sub r1, #0xc
|
|
lsl r2, r2, #2
|
|
add r2, r5, r2
|
|
ldr r2, [r2, r1]
|
|
mov r1, #0x55
|
|
lsl r1, r1, #2
|
|
add r1, r2, r1
|
|
mov r2, #0xfa
|
|
add r6, r0, #0
|
|
bl CopyU16ArrayToStringN
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_0222D5C4
|
|
|
|
thumb_func_start ov74_0222D614
|
|
ov74_0222D614: ; 0x0222D614
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r3, r0, #0
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
add r6, r1, #0
|
|
ldr r1, [r3, r0]
|
|
sub r0, #0xc
|
|
lsl r1, r1, #2
|
|
add r1, r3, r1
|
|
ldr r1, [r1, r0]
|
|
mov r0, #0xd2
|
|
lsl r0, r0, #2
|
|
add r5, r2, #0
|
|
ldrb r2, [r1, r0]
|
|
cmp r2, #0xff
|
|
bne _0222D66C
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
ldr r0, [r3, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r3, r1]
|
|
mov r2, #0x34
|
|
mov r3, #0x55
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r4, r0, #0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r5, [sp, #8]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r4, #0
|
|
bl String_Delete
|
|
add sp, #0x10
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
_0222D66C:
|
|
cmp r2, #0
|
|
beq _0222D68A
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r3, r0]
|
|
mov r3, #3
|
|
bl BufferIntegerAsString
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0222D68A:
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov74_0222D614
|
|
|
|
thumb_func_start ov74_0222D690
|
|
ov74_0222D690: ; 0x0222D690
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r7, r1, #0
|
|
add r1, r0, #1
|
|
ldr r0, _0222D764 ; =ov74_0223C2D0
|
|
ldr r2, _0222D764 ; =ov74_0223C2D0
|
|
ldr r0, [r0, #0x30]
|
|
ldr r2, [r2, #0x34]
|
|
str r0, [sp, #0x14]
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
str r2, [sp, #0x18]
|
|
ldr r2, [r5, r0]
|
|
sub r0, #0xc
|
|
lsl r2, r2, #2
|
|
add r2, r5, r2
|
|
ldr r2, [r2, r0]
|
|
mov r0, #0xd2
|
|
lsl r0, r0, #2
|
|
ldrb r0, [r2, r0]
|
|
add r4, r1, #0
|
|
add r6, sp, #0x14
|
|
cmp r0, #0
|
|
beq _0222D6D6
|
|
ldr r0, _0222D764 ; =ov74_0223C2D0
|
|
ldr r2, _0222D764 ; =ov74_0223C2D0
|
|
ldr r0, [r0, #0x38]
|
|
add r4, r1, #1
|
|
lsl r1, r1, #3
|
|
ldr r2, [r2, #0x3c]
|
|
add r3, r6, r1
|
|
str r0, [r6, r1]
|
|
str r2, [r3, #4]
|
|
_0222D6D6:
|
|
ldr r0, _0222D764 ; =ov74_0223C2D0
|
|
ldr r2, _0222D764 ; =ov74_0223C2D0
|
|
ldr r0, [r0, #0x40]
|
|
lsl r1, r4, #3
|
|
add r6, sp, #0x14
|
|
str r0, [r6, r1]
|
|
ldr r2, [r2, #0x44]
|
|
add r3, r6, r1
|
|
add r0, r4, #1
|
|
lsl r1, r0, #3
|
|
str r2, [r3, #4]
|
|
ldr r0, _0222D764 ; =ov74_0223C2D0
|
|
ldr r2, _0222D764 ; =ov74_0223C2D0
|
|
ldr r0, [r0, #0x48]
|
|
ldr r2, [r2, #0x4c]
|
|
str r0, [r6, r1]
|
|
add r3, r6, r1
|
|
ldr r0, _0222D768 ; =0x00002B9C
|
|
str r2, [r3, #4]
|
|
ldr r6, [r5, r0]
|
|
add r0, r7, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r7, #0
|
|
bl RemoveWindow
|
|
add r1, r4, #2
|
|
mov r0, #4
|
|
sub r0, r0, r1
|
|
ldr r1, [r6, #8]
|
|
lsl r0, r0, #1
|
|
add r1, r1, r0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp]
|
|
ldr r1, [r6, #0xc]
|
|
mov r2, #2
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
str r1, [sp, #4]
|
|
ldr r1, [r6, #0x10]
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0222D76C ; =0x00002B98
|
|
add r1, r7, #0
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _0222D770 ; =0x000029FC
|
|
ldr r3, [r6, #4]
|
|
ldr r0, [r5, r0]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl AddWindowParameterized
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x14
|
|
add r2, r4, #2
|
|
add r3, r7, #0
|
|
bl ov74_0222D11C
|
|
mov r0, #1
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222D764: .word ov74_0223C2D0
|
|
_0222D768: .word 0x00002B9C
|
|
_0222D76C: .word 0x00002B98
|
|
_0222D770: .word 0x000029FC
|
|
thumb_func_end ov74_0222D690
|
|
|
|
thumb_func_start ov74_0222D774
|
|
ov74_0222D774: ; 0x0222D774
|
|
push {r3, lr}
|
|
add r3, r1, #0
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
ldr r1, _0222D788 ; =ov74_0223C2D0
|
|
mov r2, #2
|
|
bl ov74_0222D11C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0222D788: .word ov74_0223C2D0
|
|
thumb_func_end ov74_0222D774
|
|
|
|
thumb_func_start ov74_0222D78C
|
|
ov74_0222D78C: ; 0x0222D78C
|
|
push {r3, lr}
|
|
add r3, r1, #0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
ldr r1, _0222D7A0 ; =ov74_0223C2F0
|
|
mov r2, #2
|
|
bl ov74_0222D11C
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0222D7A0: .word ov74_0223C2F0
|
|
thumb_func_end ov74_0222D78C
|
|
|
|
thumb_func_start ov74_0222D7A4
|
|
ov74_0222D7A4: ; 0x0222D7A4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _0222D7C8 ; =0x00002BD0
|
|
add r4, r1, #0
|
|
add r0, r5, r0
|
|
mov r1, #2
|
|
bl ov74_0222D1D4
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r1, _0222D7CC ; =ov74_0223C2E0
|
|
add r0, r5, #0
|
|
mov r2, #2
|
|
add r3, r4, #0
|
|
bl ov74_0222D11C
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222D7C8: .word 0x00002BD0
|
|
_0222D7CC: .word ov74_0223C2E0
|
|
thumb_func_end ov74_0222D7A4
|
|
|
|
thumb_func_start ov74_0222D7D0
|
|
ov74_0222D7D0: ; 0x0222D7D0
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
mov r1, #0x2a
|
|
str r3, [sp, #4]
|
|
lsl r1, r1, #8
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl BufferIntegerAsString
|
|
mov r0, #1
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222D7D0
|
|
|
|
thumb_func_start ov74_0222D7F0
|
|
ov74_0222D7F0: ; 0x0222D7F0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x55
|
|
str r0, [sp, #8]
|
|
add r6, r2, #0
|
|
mov r0, #0
|
|
add r4, r3, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
cmp r4, #0
|
|
beq _0222D818
|
|
mov r0, #0x1c
|
|
str r0, [r4]
|
|
_0222D818:
|
|
mov r0, #0xb1
|
|
lsl r0, r0, #6
|
|
str r6, [r5, r0]
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222D7F0
|
|
|
|
thumb_func_start ov74_0222D824
|
|
ov74_0222D824: ; 0x0222D824
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
ldr r3, [r5]
|
|
str r2, [sp, #0x14]
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
ldr r4, _0222D9C8 ; =ov74_0223C340
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0222D9CC ; =0x00002A04
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5]
|
|
bl MessageFormat_New
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
str r0, [r5, r1]
|
|
ldr r1, _0222D9D0 ; =0x00002BC4
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [r5, r1]
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r5, #0
|
|
bl ov74_0222DB70
|
|
mov r0, #0
|
|
str r0, [sp, #0x30]
|
|
ldr r0, _0222D9D4 ; =0x00002A08
|
|
add r7, r4, #0
|
|
str r5, [sp, #0x1c]
|
|
add r6, r5, r0
|
|
_0222D864:
|
|
ldr r1, [r7]
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, r1
|
|
beq _0222D886
|
|
cmp r1, #2
|
|
beq _0222D886
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, _0222D9D4 ; =0x00002A08
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _0222D886
|
|
add r0, r6, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r6, #0
|
|
bl RemoveWindow
|
|
_0222D886:
|
|
ldr r0, [sp, #0x1c]
|
|
add r7, #0x30
|
|
add r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x30]
|
|
add r6, #0x10
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x30]
|
|
cmp r0, #0x13
|
|
blo _0222D864
|
|
mov r0, #0x31
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, _0222D9D4 ; =0x00002A08
|
|
str r5, [sp, #0x24]
|
|
str r5, [sp, #0x20]
|
|
add r6, r5, r0
|
|
_0222D8AA:
|
|
ldr r1, [r4]
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, r1
|
|
bne _0222D98A
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, _0222D9D4 ; =0x00002A08
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0222D8FA
|
|
ldr r2, [sp, #0x2c]
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, _0222D9D8 ; =0x00002B48
|
|
str r2, [r1, r0]
|
|
ldr r0, [r4, #8]
|
|
add r1, r6, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
add r0, r2, #0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _0222D9DC ; =0x000029FC
|
|
ldr r3, [r4, #4]
|
|
ldr r0, [r5, r0]
|
|
lsl r3, r3, #0x18
|
|
mov r2, #0
|
|
lsr r3, r3, #0x18
|
|
bl AddWindowParameterized
|
|
_0222D8FA:
|
|
ldr r0, [r4, #0x14]
|
|
ldr r1, [r4, #0x1c]
|
|
lsl r0, r0, #0x18
|
|
lsl r1, r1, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl GetFontAttribute
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r4, #0x18]
|
|
ldr r3, [r4, #0x24]
|
|
str r0, [sp, #0x28]
|
|
ldr r2, [sp, #0x28]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
blx r3
|
|
cmp r0, #1
|
|
bne _0222D976
|
|
ldr r2, [r4, #0x20]
|
|
cmp r2, #0
|
|
beq _0222D976
|
|
mov r0, #0x2a
|
|
ldr r1, _0222D9CC ; =0x00002A04
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r5]
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
ldr r3, [r4, #0x28]
|
|
mvn r0, r0
|
|
cmp r3, r0
|
|
bne _0222D956
|
|
ldr r3, [r4, #0xc]
|
|
ldr r0, [r4, #0x14]
|
|
add r1, r7, #0
|
|
mov r2, #0
|
|
lsl r3, r3, #3
|
|
bl FontID_String_GetCenterAlignmentX
|
|
add r3, r0, #0
|
|
_0222D956:
|
|
ldr r0, [r4, #0x2c]
|
|
add r2, r7, #0
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [r4, #0x14]
|
|
add r0, r6, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r7, #0
|
|
bl String_Delete
|
|
_0222D976:
|
|
add r0, r6, #0
|
|
bl CopyWindowToVram
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, [r4, #0x10]
|
|
add r2, r1, #0
|
|
mul r2, r0
|
|
ldr r0, [sp, #0x2c]
|
|
add r0, r0, r2
|
|
str r0, [sp, #0x2c]
|
|
_0222D98A:
|
|
ldr r0, [sp, #0x24]
|
|
add r4, #0x30
|
|
add r0, #0x10
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x20]
|
|
add r6, #0x10
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x18]
|
|
cmp r0, #0x13
|
|
blo _0222D8AA
|
|
ldr r0, _0222D9CC ; =0x00002A04
|
|
ldr r0, [r5, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
bl MessageFormat_Delete
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
bne _0222D9C2
|
|
add r0, r5, #0
|
|
bl ov74_0222DCD4
|
|
_0222D9C2:
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222D9C8: .word ov74_0223C340
|
|
_0222D9CC: .word 0x00002A04
|
|
_0222D9D0: .word 0x00002BC4
|
|
_0222D9D4: .word 0x00002A08
|
|
_0222D9D8: .word 0x00002B48
|
|
_0222D9DC: .word 0x000029FC
|
|
thumb_func_end ov74_0222D824
|
|
|
|
thumb_func_start ov74_0222D9E0
|
|
ov74_0222D9E0: ; 0x0222D9E0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
add r7, r3, #0
|
|
mov r3, #0x30
|
|
ldr r0, _0222DAE0 ; =ov74_0223C340
|
|
mul r3, r2
|
|
add r6, r1, #0
|
|
add r4, r0, r3
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
bne _0222DA2A
|
|
ldr r0, [r4, #8]
|
|
mov r2, #2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r7, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _0222DAE4 ; =0x000029FC
|
|
ldr r3, [r4, #4]
|
|
ldr r0, [r5, r0]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl AddWindowParameterized
|
|
_0222DA2A:
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, r6, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
beq _0222DA58
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x55
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0222DAE8 ; =0x00002A04
|
|
str r0, [r5, r1]
|
|
mov r0, #0x55
|
|
bl MessageFormat_New
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
str r0, [r5, r1]
|
|
_0222DA58:
|
|
ldr r0, _0222DAEC ; =0x00002B98
|
|
ldr r2, _0222DAF0 ; =0x00010200
|
|
str r7, [r5, r0]
|
|
add r0, r0, #4
|
|
str r4, [r5, r0]
|
|
ldr r3, [r4, #0x24]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
blx r3
|
|
ldr r2, [r4, #0x20]
|
|
cmp r2, #0
|
|
beq _0222DAB2
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r3, #0x55
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
str r0, [sp, #0x14]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x18]
|
|
ldr r2, [sp, #0x14]
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r1, [r4, #0x14]
|
|
add r0, r6, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
ldr r0, [sp, #0x14]
|
|
bl String_Delete
|
|
ldr r0, _0222DAE8 ; =0x00002A04
|
|
ldr r0, [r5, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
bl MessageFormat_Delete
|
|
_0222DAB2:
|
|
ldr r0, _0222DAF4 ; =0x00002BD0
|
|
add r0, r5, r0
|
|
cmp r6, r0
|
|
bne _0222DAC8
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r2, #0x13
|
|
mov r3, #0xa
|
|
bl DrawFrameAndWindow2
|
|
b _0222DAD4
|
|
_0222DAC8:
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
mov r3, #0xe
|
|
bl DrawFrameAndWindow1
|
|
_0222DAD4:
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, [r4, #0x10]
|
|
mul r0, r1
|
|
add r0, r7, r0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222DAE0: .word ov74_0223C340
|
|
_0222DAE4: .word 0x000029FC
|
|
_0222DAE8: .word 0x00002A04
|
|
_0222DAEC: .word 0x00002B98
|
|
_0222DAF0: .word 0x00010200
|
|
_0222DAF4: .word 0x00002BD0
|
|
thumb_func_end ov74_0222D9E0
|
|
|
|
thumb_func_start ov74_0222DAF8
|
|
ov74_0222DAF8: ; 0x0222DAF8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r5, r0, #0
|
|
add r6, r2, #0
|
|
add r7, r4, #0
|
|
_0222DB02:
|
|
add r4, r4, r6
|
|
cmp r4, #3
|
|
bne _0222DB0A
|
|
mov r4, #0
|
|
_0222DB0A:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
bne _0222DB14
|
|
mov r4, #2
|
|
_0222DB14:
|
|
cmp r7, r4
|
|
beq _0222DB26
|
|
ldr r0, _0222DB2C ; =0x00002BA0
|
|
add r1, r4, #0
|
|
ldr r0, [r5, r0]
|
|
bl SaveMysteryGift_CardTagIsValid
|
|
cmp r0, #0
|
|
beq _0222DB02
|
|
_0222DB26:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222DB2C: .word 0x00002BA0
|
|
thumb_func_end ov74_0222DAF8
|
|
|
|
thumb_func_start ov74_0222DB30
|
|
ov74_0222DB30: ; 0x0222DB30
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r2, #0
|
|
mov r2, #1
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r6, r3, #0
|
|
ldr r3, [r5]
|
|
mov r0, #0x71
|
|
bl GfGfxLoader_LoadFromNarc
|
|
add r1, sp, #4
|
|
add r7, r0, #0
|
|
bl NNS_G2dGetUnpackedScreenData
|
|
ldr r0, _0222DB6C ; =0x000029FC
|
|
ldr r2, [sp, #4]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
add r2, #0xc
|
|
add r3, r6, #0
|
|
bl BG_LoadScreenTilemapData
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222DB6C: .word 0x000029FC
|
|
thumb_func_end ov74_0222DB30
|
|
|
|
thumb_func_start ov74_0222DB70
|
|
ov74_0222DB70: ; 0x0222DB70
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
mov r2, #0
|
|
add r4, r1, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r2, _0222DC5C ; =0x000029FC
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x71
|
|
mov r1, #6
|
|
bl GfGfxLoader_LoadCharData
|
|
cmp r4, #0
|
|
beq _0222DBB6
|
|
cmp r4, #1
|
|
beq _0222DBD6
|
|
b _0222DBF4
|
|
_0222DBB6:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r2, _0222DC5C ; =0x000029FC
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x71
|
|
mov r1, #4
|
|
bl GfGfxLoader_LoadScrnData
|
|
b _0222DBF4
|
|
_0222DBD6:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r2, _0222DC5C ; =0x000029FC
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x71
|
|
mov r1, #5
|
|
bl GfGfxLoader_LoadScrnData
|
|
_0222DBF4:
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
add r3, #0xef
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r2, _0222DC5C ; =0x000029FC
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x71
|
|
mov r3, #3
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r2, #3
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
lsl r3, r2, #9
|
|
bl ov74_0222DB30
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #0xb
|
|
str r0, [sp, #8]
|
|
ldr r0, _0222DC5C ; =0x000029FC
|
|
mov r2, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, _0222DC5C ; =0x000029FC
|
|
mov r1, #3
|
|
ldr r0, [r5, r0]
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222DC5C: .word 0x000029FC
|
|
thumb_func_end ov74_0222DB70
|
|
|
|
thumb_func_start ov74_0222DC60
|
|
ov74_0222DC60: ; 0x0222DC60
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, _0222DCC8 ; =0x00002BC8
|
|
ldr r0, [r0, r1]
|
|
bl ListMenu_ProcessInput
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _0222DC86
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
beq _0222DCC4
|
|
b _0222DCA0
|
|
_0222DC86:
|
|
ldr r0, _0222DCCC ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
cmp r6, #0
|
|
beq _0222DCC4
|
|
add r0, r7, #0
|
|
blx r6
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222DCC4
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222DCA0:
|
|
ldr r0, _0222DCCC ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
cmp r4, #0
|
|
beq _0222DCC4
|
|
cmp r4, #0x1f
|
|
bhs _0222DCB2
|
|
str r4, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222DCB2:
|
|
ldr r0, _0222DCD0 ; =ov74_0223D0BC
|
|
str r4, [r0]
|
|
add r0, r7, #0
|
|
blx r4
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222DCC4
|
|
str r0, [r5]
|
|
_0222DCC4:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222DCC8: .word 0x00002BC8
|
|
_0222DCCC: .word SEQ_SE_DP_SELECT
|
|
_0222DCD0: .word ov74_0223D0BC
|
|
thumb_func_end ov74_0222DC60
|
|
|
|
thumb_func_start ov74_0222DCD4
|
|
ov74_0222DCD4: ; 0x0222DCD4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
ldr r1, _0222DDF0 ; =0x00002DCC
|
|
add r6, r0, #0
|
|
ldr r0, [r6, r1]
|
|
cmp r0, #0
|
|
bne _0222DD34
|
|
add r0, r1, #4
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _0222DD34
|
|
add r1, #8
|
|
ldr r0, [r6, r1]
|
|
cmp r0, #0
|
|
bne _0222DD34
|
|
bl ov74_0223567C
|
|
cmp r0, #1
|
|
bne _0222DD00
|
|
add r0, r6, #0
|
|
bl ov74_0222D024
|
|
_0222DD00:
|
|
bl ov74_0223563C
|
|
bl ov74_02235690
|
|
mov r0, #0x1c
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x1e
|
|
mov r2, #0x1b
|
|
mov r3, #0x1d
|
|
bl ov74_02235728
|
|
bl sub_02074490
|
|
add r1, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [r6]
|
|
mov r2, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x14
|
|
mov r3, #0x60
|
|
bl GfGfxLoader_GXLoadPal
|
|
_0222DD34:
|
|
mov r0, #0xb2
|
|
mov r4, #0
|
|
str r0, [sp, #0x10]
|
|
str r4, [sp, #0xc]
|
|
add r5, r6, #0
|
|
mov r7, #0x64
|
|
_0222DD40:
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r6, r0]
|
|
lsl r0, r0, #2
|
|
add r1, r6, r0
|
|
ldr r0, _0222DDF4 ; =0x00002BB4
|
|
ldr r0, [r1, r0]
|
|
add r1, r0, r4
|
|
ldr r0, _0222DDF8 ; =0x0000034A
|
|
ldrh r0, [r1, r0]
|
|
str r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _0222DD6A
|
|
ldr r0, _0222DDF0 ; =0x00002DCC
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _0222DDD4
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
b _0222DDD4
|
|
_0222DD6A:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, _0222DDF0 ; =0x00002DCC
|
|
add r0, #0xa
|
|
str r0, [sp]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #0
|
|
mov r3, #0x10
|
|
bl ov74_02235930
|
|
ldr r1, _0222DDF0 ; =0x00002DCC
|
|
str r0, [r5, r1]
|
|
mov r1, #0
|
|
ldr r0, [sp, #8]
|
|
add r2, r1, #0
|
|
bl GetMonIconNaixEx
|
|
add r1, r0, #0
|
|
ldr r0, [r6]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
mov r0, #0x14
|
|
add r3, sp, #0x18
|
|
bl GfGfxLoader_GetCharData
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x14]
|
|
lsl r1, r1, #8
|
|
bl DC_FlushRange
|
|
ldr r0, [sp, #0x18]
|
|
mov r2, #2
|
|
ldr r0, [r0, #0x14]
|
|
lsl r1, r7, #5
|
|
lsl r2, r2, #8
|
|
bl GX_LoadOBJ
|
|
mov r1, #0
|
|
ldr r0, [sp, #8]
|
|
add r2, r1, #0
|
|
bl GetMonIconPaletteEx
|
|
add r1, r0, #0
|
|
ldr r0, _0222DDF0 ; =0x00002DCC
|
|
add r1, r1, #3
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_SetPalIndex
|
|
ldr r0, [sp, #0x14]
|
|
bl FreeToHeap
|
|
_0222DDD4:
|
|
ldr r0, [sp, #0xc]
|
|
add r4, r4, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
add r5, r5, #4
|
|
add r0, #0x19
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
add r7, #0x10
|
|
cmp r0, #3
|
|
blt _0222DD40
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222DDF0: .word 0x00002DCC
|
|
_0222DDF4: .word 0x00002BB4
|
|
_0222DDF8: .word 0x0000034A
|
|
thumb_func_end ov74_0222DCD4
|
|
|
|
thumb_func_start ov74_0222DDFC
|
|
ov74_0222DDFC: ; 0x0222DDFC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x55
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
ldr r1, _0222DE60 ; =0x00003D54
|
|
add r0, r4, #0
|
|
mov r2, #0x55
|
|
bl OverlayManager_CreateAndGetData
|
|
ldr r2, _0222DE60 ; =0x00003D54
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0x55
|
|
bl BgConfig_Alloc
|
|
ldr r1, _0222DE64 ; =0x000029FC
|
|
str r0, [r4, r1]
|
|
mov r0, #0x55
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #0xaf
|
|
mov r1, #2
|
|
lsl r0, r0, #6
|
|
str r1, [r4, r0]
|
|
mov r1, #1
|
|
add r0, #0x7c
|
|
str r1, [r4, r0]
|
|
mov r0, #0x55
|
|
bl ov74_022352A0
|
|
mov r2, #0x57
|
|
mov r0, #0
|
|
mov r1, #0x59
|
|
lsl r2, r2, #4
|
|
bl CreateHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222DE60: .word 0x00003D54
|
|
_0222DE64: .word 0x000029FC
|
|
thumb_func_end ov74_0222DDFC
|
|
|
|
thumb_func_start ov74_0222DE68
|
|
ov74_0222DE68: ; 0x0222DE68
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl sub_02014AA0
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl sub_02014A60
|
|
ldr r1, _0222DE88 ; =0x04000010
|
|
mov r2, #8
|
|
mov r3, #1
|
|
bl sub_02014AB0
|
|
pop {r4, pc}
|
|
nop
|
|
_0222DE88: .word 0x04000010
|
|
thumb_func_end ov74_0222DE68
|
|
|
|
thumb_func_start ov74_0222DE8C
|
|
ov74_0222DE8C: ; 0x0222DE8C
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, _0222DEE0 ; =0x00003130
|
|
ldr r5, _0222DEE4 ; =0x00000C14
|
|
add r4, r0, r4
|
|
add r0, r5, #0
|
|
str r1, [r4, r5]
|
|
sub r0, #0xc
|
|
str r2, [r4, r0]
|
|
add r0, r5, #0
|
|
sub r0, #8
|
|
sub r5, #0x14
|
|
str r3, [r4, r0]
|
|
ldr r0, [r4, r5]
|
|
cmp r0, #0
|
|
bne _0222DEBE
|
|
mov r2, #6
|
|
lsl r2, r2, #8
|
|
mov r0, #0x55
|
|
add r1, r4, #0
|
|
add r2, r4, r2
|
|
bl sub_02014A08
|
|
mov r1, #3
|
|
lsl r1, r1, #0xa
|
|
str r0, [r4, r1]
|
|
_0222DEBE:
|
|
ldr r0, _0222DEE8 ; =0x00000C04
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222DED6
|
|
mov r2, #1
|
|
ldr r0, _0222DEEC ; =ov74_0222DE68
|
|
add r1, r4, #0
|
|
lsl r2, r2, #0xa
|
|
bl SysTask_CreateOnVBlankQueue
|
|
ldr r1, _0222DEE8 ; =0x00000C04
|
|
str r0, [r4, r1]
|
|
_0222DED6:
|
|
mov r0, #0xc1
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222DEE0: .word 0x00003130
|
|
_0222DEE4: .word 0x00000C14
|
|
_0222DEE8: .word 0x00000C04
|
|
_0222DEEC: .word ov74_0222DE68
|
|
thumb_func_end ov74_0222DE8C
|
|
|
|
thumb_func_start ov74_0222DEF0
|
|
ov74_0222DEF0: ; 0x0222DEF0
|
|
push {r4, lr}
|
|
ldr r1, _0222DF24 ; =0x00003130
|
|
add r4, r0, r1
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222DF04
|
|
bl sub_02014A38
|
|
_0222DF04:
|
|
ldr r0, _0222DF28 ; =0x00000C04
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222DF10
|
|
bl SysTask_Destroy
|
|
_0222DF10:
|
|
mov r0, #3
|
|
mov r1, #0
|
|
lsl r0, r0, #0xa
|
|
str r1, [r4, r0]
|
|
add r0, r0, #4
|
|
str r1, [r4, r0]
|
|
bl sub_02014AA0
|
|
pop {r4, pc}
|
|
nop
|
|
_0222DF24: .word 0x00003130
|
|
_0222DF28: .word 0x00000C04
|
|
thumb_func_end ov74_0222DEF0
|
|
|
|
thumb_func_start ov74_0222DF2C
|
|
ov74_0222DF2C: ; 0x0222DF2C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _0222E034 ; =0x00003130
|
|
mov r5, #0x15
|
|
add r4, r0, r1
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
lsl r5, r5, #0xe
|
|
cmp r1, #0
|
|
bne _0222DF44
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222DF44:
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
cmp r1, #1
|
|
bne _0222DF92
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
ldr r2, [r4, r1]
|
|
sub r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
add r2, r2, r1
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
str r2, [r4, r1]
|
|
sub r1, r0, #4
|
|
ldr r2, [r4, r1]
|
|
add r1, r2, #0
|
|
add r2, r2, r1
|
|
sub r1, r0, #4
|
|
str r2, [r4, r1]
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
ldr r2, [r4, r1]
|
|
asr r1, r2, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r2, r1
|
|
asr r2, r1, #0xc
|
|
mov r1, #0xfa
|
|
lsl r1, r1, #2
|
|
cmp r2, r1
|
|
ble _0222DFCC
|
|
mov r2, #0
|
|
add r1, r0, #0
|
|
str r2, [r4, r0]
|
|
sub r1, #8
|
|
str r2, [r4, r1]
|
|
sub r0, r0, #4
|
|
mov r5, #0xa8
|
|
str r2, [r4, r0]
|
|
b _0222DFCC
|
|
_0222DF92:
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
ldr r2, [r4, r1]
|
|
sub r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
sub r2, r2, r1
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
str r2, [r4, r1]
|
|
sub r1, r0, #4
|
|
ldr r2, [r4, r1]
|
|
lsr r1, r2, #0x1f
|
|
add r1, r2, r1
|
|
asr r2, r1, #1
|
|
sub r1, r0, #4
|
|
str r2, [r4, r1]
|
|
mov r2, #1
|
|
ldr r1, [r4, r1]
|
|
lsl r2, r2, #0xa
|
|
cmp r1, r2
|
|
bge _0222DFCC
|
|
mov r1, #0
|
|
lsl r3, r2, #2
|
|
add r2, r0, #0
|
|
str r1, [r4, r0]
|
|
sub r2, #8
|
|
str r3, [r4, r2]
|
|
sub r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_0222DFCC:
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl sub_02014A4C
|
|
add r2, r0, #0
|
|
mov r0, #0x54
|
|
add r3, r0, #0
|
|
add r3, #0xfc
|
|
_0222DFDE:
|
|
asr r1, r5, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r5, r1
|
|
asr r1, r1, #0xc
|
|
bpl _0222DFEA
|
|
mov r1, #0
|
|
_0222DFEA:
|
|
cmp r1, #0xa8
|
|
ble _0222DFF0
|
|
mov r1, #0xa8
|
|
_0222DFF0:
|
|
lsl r6, r3, #1
|
|
add r7, r2, r6
|
|
sub r6, r1, r0
|
|
strh r6, [r7, #6]
|
|
ldrh r6, [r7, #6]
|
|
sub r1, r0, r1
|
|
add r3, r3, #4
|
|
strh r6, [r7, #2]
|
|
mov r6, #0xa8
|
|
sub r6, r6, r0
|
|
lsl r6, r6, #3
|
|
add r6, r2, r6
|
|
strh r1, [r6, #6]
|
|
ldrh r1, [r6, #6]
|
|
add r0, r0, #1
|
|
strh r1, [r6, #2]
|
|
ldr r1, _0222E038 ; =0x00000C08
|
|
ldr r1, [r4, r1]
|
|
add r5, r5, r1
|
|
cmp r0, #0xa8
|
|
blt _0222DFDE
|
|
mov r1, #6
|
|
add r0, r2, #0
|
|
lsl r1, r1, #8
|
|
bl DC_FlushRange
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl sub_02014A8C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222E034: .word 0x00003130
|
|
_0222E038: .word 0x00000C08
|
|
thumb_func_end ov74_0222DF2C
|
|
|
|
thumb_func_start ov74_0222E03C
|
|
ov74_0222E03C: ; 0x0222E03C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_022360B0
|
|
sub r0, r0, #2
|
|
cmp r0, #1
|
|
bhi _0222E056
|
|
ldr r0, _0222E058 ; =SEQ_SE_DP_SAVE
|
|
bl PlaySE
|
|
ldr r0, _0222E05C ; =0x00003D48
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_0222E056:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222E058: .word SEQ_SE_DP_SAVE
|
|
_0222E05C: .word 0x00003D48
|
|
thumb_func_end ov74_0222E03C
|
|
|
|
thumb_func_start ov74_0222E060
|
|
ov74_0222E060: ; 0x0222E060
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #3
|
|
blt _0222E072
|
|
bl GF_AssertFail
|
|
_0222E072:
|
|
mov r0, #0x1b
|
|
bl SaveSubstruct_AssertCRC
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
sub r0, #0xc
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r2, [r1, r0]
|
|
mov r0, #0x35
|
|
lsl r0, r0, #4
|
|
ldrb r1, [r2, r0]
|
|
cmp r1, #0xff
|
|
beq _0222E094
|
|
add r1, r1, #1
|
|
strb r1, [r2, r0]
|
|
_0222E094:
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r1, [r4, r0]
|
|
sub r0, #0xc
|
|
lsl r1, r1, #2
|
|
add r1, r4, r1
|
|
ldr r2, [r1, r0]
|
|
mov r0, #0xd2
|
|
lsl r0, r0, #2
|
|
ldrb r1, [r2, r0]
|
|
cmp r1, #0xff
|
|
beq _0222E0B0
|
|
sub r1, r1, #1
|
|
strb r1, [r2, r0]
|
|
_0222E0B0:
|
|
mov r0, #0x1b
|
|
bl SaveSubstruct_UpdateCRC
|
|
ldr r0, _0222E0C8 ; =0x00002BA4
|
|
ldr r0, [r4, r0]
|
|
bl ov74_022360A0
|
|
ldr r1, _0222E0CC ; =ov74_0222E03C
|
|
ldr r0, _0222E0D0 ; =0x00003D48
|
|
str r1, [r4, r0]
|
|
pop {r4, pc}
|
|
nop
|
|
_0222E0C8: .word 0x00002BA4
|
|
_0222E0CC: .word ov74_0222E03C
|
|
_0222E0D0: .word 0x00003D48
|
|
thumb_func_end ov74_0222E060
|
|
|
|
thumb_func_start ov74_0222E0D4
|
|
ov74_0222E0D4: ; 0x0222E0D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r2, #0
|
|
ldr r2, _0222E1D4 ; =gSystem
|
|
add r6, r1, #0
|
|
ldr r3, [r2, #0x48]
|
|
ldr r1, _0222E1D8 ; =0x00003D4C
|
|
add r5, r0, #0
|
|
mov r2, #0x10
|
|
ldr r0, [r5, r1]
|
|
tst r2, r3
|
|
beq _0222E0F2
|
|
cmp r0, #1
|
|
beq _0222E0F2
|
|
mov r2, #1
|
|
str r2, [r5, r1]
|
|
_0222E0F2:
|
|
ldr r1, _0222E1D4 ; =gSystem
|
|
ldr r2, [r1, #0x48]
|
|
mov r1, #0x20
|
|
tst r1, r2
|
|
beq _0222E108
|
|
ldr r1, _0222E1D8 ; =0x00003D4C
|
|
ldr r2, [r5, r1]
|
|
cmp r2, #0
|
|
beq _0222E108
|
|
mov r2, #0
|
|
str r2, [r5, r1]
|
|
_0222E108:
|
|
ldr r1, _0222E1D8 ; =0x00003D4C
|
|
ldr r1, [r5, r1]
|
|
cmp r0, r1
|
|
beq _0222E138
|
|
cmp r1, #0
|
|
bne _0222E118
|
|
mov r1, #1
|
|
b _0222E11A
|
|
_0222E118:
|
|
mov r1, #0
|
|
_0222E11A:
|
|
ldr r0, _0222E1DC ; =0x00002DC4
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_SetAnimCtrlSeq
|
|
ldr r0, _0222E1D8 ; =0x00003D4C
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _0222E12E
|
|
mov r1, #1
|
|
b _0222E130
|
|
_0222E12E:
|
|
mov r1, #0
|
|
_0222E130:
|
|
ldr r0, _0222E1E0 ; =0x00002DC8
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_SetAnimCtrlSeq
|
|
_0222E138:
|
|
ldr r0, _0222E1D4 ; =gSystem
|
|
mov r4, #0
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
add r2, r1, #0
|
|
tst r2, r0
|
|
beq _0222E14A
|
|
add r4, r0, #0
|
|
b _0222E17A
|
|
_0222E14A:
|
|
mov r0, #1
|
|
and r1, r0
|
|
beq _0222E160
|
|
cmp r6, #0
|
|
beq _0222E160
|
|
ldr r2, _0222E1D8 ; =0x00003D4C
|
|
ldr r2, [r5, r2]
|
|
cmp r2, #0
|
|
bne _0222E160
|
|
add r4, r0, #0
|
|
b _0222E17A
|
|
_0222E160:
|
|
cmp r1, #0
|
|
beq _0222E170
|
|
ldr r0, _0222E1D8 ; =0x00003D4C
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #1
|
|
bne _0222E170
|
|
mov r4, #2
|
|
b _0222E17A
|
|
_0222E170:
|
|
cmp r1, #0
|
|
beq _0222E17A
|
|
cmp r6, #0
|
|
bne _0222E17A
|
|
mov r4, #3
|
|
_0222E17A:
|
|
cmp r4, #1
|
|
bne _0222E1B2
|
|
ldr r0, _0222E1E4 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #0xab
|
|
bl sub_02037AC0
|
|
mov r3, #0xa
|
|
ldr r1, _0222E1E8 ; =0x00002C34
|
|
mov r0, #1
|
|
str r0, [r5, r1]
|
|
mov r0, #0x16
|
|
sub r1, #0x64
|
|
str r0, [r7]
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
mov r2, #0x11
|
|
lsl r3, r3, #6
|
|
bl ov74_0222D9E0
|
|
ldr r0, _0222E1EC ; =0x00002BD0
|
|
mov r1, #0x13
|
|
add r0, r5, r0
|
|
bl WaitingIcon_New
|
|
ldr r1, _0222E1F0 ; =0x00003D50
|
|
str r0, [r5, r1]
|
|
_0222E1B2:
|
|
cmp r4, #2
|
|
bne _0222E1C6
|
|
ldr r0, _0222E1E4 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
add r0, r5, #0
|
|
add r1, r7, #0
|
|
mov r2, #0x14
|
|
bl ov74_0222EB28
|
|
_0222E1C6:
|
|
cmp r4, #3
|
|
bne _0222E1D0
|
|
ldr r0, _0222E1E4 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
_0222E1D0:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222E1D4: .word gSystem
|
|
_0222E1D8: .word 0x00003D4C
|
|
_0222E1DC: .word 0x00002DC4
|
|
_0222E1E0: .word 0x00002DC8
|
|
_0222E1E4: .word SEQ_SE_DP_SELECT
|
|
_0222E1E8: .word 0x00002C34
|
|
_0222E1EC: .word 0x00002BD0
|
|
_0222E1F0: .word 0x00003D50
|
|
thumb_func_end ov74_0222E0D4
|
|
|
|
thumb_func_start ov74_0222E1F4
|
|
ov74_0222E1F4: ; 0x0222E1F4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r5]
|
|
add r4, r0, #0
|
|
cmp r1, #0x1e
|
|
bls _0222E20A
|
|
b _0222E79C
|
|
_0222E20A:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0222E216: ; jump table
|
|
.short _0222E254 - _0222E216 - 2 ; case 0
|
|
.short _0222E2C2 - _0222E216 - 2 ; case 1
|
|
.short _0222E2D4 - _0222E216 - 2 ; case 2
|
|
.short _0222E34A - _0222E216 - 2 ; case 3
|
|
.short _0222E3C8 - _0222E216 - 2 ; case 4
|
|
.short _0222E3F0 - _0222E216 - 2 ; case 5
|
|
.short _0222E410 - _0222E216 - 2 ; case 6
|
|
.short _0222E444 - _0222E216 - 2 ; case 7
|
|
.short _0222E468 - _0222E216 - 2 ; case 8
|
|
.short _0222E48E - _0222E216 - 2 ; case 9
|
|
.short _0222E4BA - _0222E216 - 2 ; case 10
|
|
.short _0222E4F4 - _0222E216 - 2 ; case 11
|
|
.short _0222E518 - _0222E216 - 2 ; case 12
|
|
.short _0222E744 - _0222E216 - 2 ; case 13
|
|
.short _0222E524 - _0222E216 - 2 ; case 14
|
|
.short _0222E530 - _0222E216 - 2 ; case 15
|
|
.short _0222E540 - _0222E216 - 2 ; case 16
|
|
.short _0222E54C - _0222E216 - 2 ; case 17
|
|
.short _0222E58E - _0222E216 - 2 ; case 18
|
|
.short _0222E5E8 - _0222E216 - 2 ; case 19
|
|
.short _0222E646 - _0222E216 - 2 ; case 20
|
|
.short _0222E652 - _0222E216 - 2 ; case 21
|
|
.short _0222E6A2 - _0222E216 - 2 ; case 22
|
|
.short _0222E68E - _0222E216 - 2 ; case 23
|
|
.short _0222E6D6 - _0222E216 - 2 ; case 24
|
|
.short _0222E6F2 - _0222E216 - 2 ; case 25
|
|
.short _0222E734 - _0222E216 - 2 ; case 26
|
|
.short _0222E76E - _0222E216 - 2 ; case 27
|
|
.short _0222E77A - _0222E216 - 2 ; case 28
|
|
.short _0222E78C - _0222E216 - 2 ; case 29
|
|
.short _0222E79C - _0222E216 - 2 ; case 30
|
|
_0222E254:
|
|
add r0, r6, #0
|
|
bl OverlayManager_GetArgs
|
|
ldr r1, [r0, #8]
|
|
ldr r0, _0222E5A4 ; =0x00002BA4
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
bl Save_MysteryGift_Get
|
|
ldr r1, _0222E5A8 ; =0x00002BA0
|
|
str r0, [r4, r1]
|
|
add r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
ldr r1, _0222E5AC ; =0x00002BA8
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
bl Options_GetFrame
|
|
ldr r1, _0222E5B0 ; =0x00002BAC
|
|
str r0, [r4, r1]
|
|
sub r1, #0xc
|
|
ldr r0, [r4, r1]
|
|
mov r1, #0
|
|
bl SaveMysteryGift_CardGetByIdx
|
|
ldr r1, _0222E5B4 ; =0x00002BB4
|
|
str r0, [r4, r1]
|
|
sub r1, #0x14
|
|
ldr r0, [r4, r1]
|
|
mov r1, #1
|
|
bl SaveMysteryGift_CardGetByIdx
|
|
ldr r1, _0222E5B8 ; =0x00002BB8
|
|
str r0, [r4, r1]
|
|
sub r1, #0x18
|
|
ldr r0, [r4, r1]
|
|
mov r1, #2
|
|
bl SaveMysteryGift_CardGetByIdx
|
|
ldr r1, _0222E5BC ; =0x00002BBC
|
|
mov r2, #1
|
|
str r0, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
add r0, r4, #0
|
|
bl ov74_0222DAF8
|
|
mov r1, #0xaf
|
|
lsl r1, r1, #6
|
|
str r0, [r4, r1]
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E2C2:
|
|
bl ov74_0222FCA4
|
|
ldr r0, _0222E5C0 ; =0x000029FC
|
|
ldr r0, [r4, r0]
|
|
bl ov74_0222FCC4
|
|
mov r0, #2
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E2D4:
|
|
bl ResetAllTextPrinters
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_0222DB70
|
|
mov r1, #0x1e
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x55
|
|
bl LoadFontPal0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x55
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222E5C0 ; =0x000029FC
|
|
mov r2, #1
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0xd
|
|
bl LoadUserFrameGfx1
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x55
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222E5C0 ; =0x000029FC
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r2, #0xa
|
|
mov r3, #0xe
|
|
bl LoadUserFrameGfx1
|
|
ldr r0, _0222E5B0 ; =0x00002BAC
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r2, #0x13
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x55
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222E5C0 ; =0x000029FC
|
|
mov r3, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl LoadUserFrameGfx2
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov74_0222D824
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #3
|
|
add r3, r5, #0
|
|
bl ov74_0222D7F0
|
|
b _0222E79C
|
|
_0222E34A:
|
|
mov r1, #0xaf
|
|
lsl r1, r1, #6
|
|
ldr r6, [r4, r1]
|
|
ldr r1, _0222E5C4 ; =gSystem
|
|
mov r2, #0x40
|
|
ldr r1, [r1, #0x48]
|
|
add r3, r1, #0
|
|
tst r3, r2
|
|
beq _0222E368
|
|
add r1, r6, #0
|
|
sub r2, #0x41
|
|
bl ov74_0222DAF8
|
|
add r6, r0, #0
|
|
b _0222E3A4
|
|
_0222E368:
|
|
mov r2, #0x80
|
|
tst r2, r1
|
|
beq _0222E37A
|
|
add r1, r6, #0
|
|
mov r2, #1
|
|
bl ov74_0222DAF8
|
|
add r6, r0, #0
|
|
b _0222E3A4
|
|
_0222E37A:
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _0222E394
|
|
ldr r0, _0222E5C8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x1d
|
|
add r3, r5, #0
|
|
bl ov74_0222D7F0
|
|
b _0222E3A4
|
|
_0222E394:
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _0222E3A4
|
|
ldr r0, _0222E5C8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
_0222E3A4:
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
cmp r0, r6
|
|
bne _0222E3B0
|
|
b _0222E79C
|
|
_0222E3B0:
|
|
ldr r0, _0222E5CC ; =SEQ_SE_DP_CARD2
|
|
bl PlaySE
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
str r6, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov74_0222D824
|
|
b _0222E79C
|
|
_0222E3C8:
|
|
ldr r1, _0222E5D0 ; =0x00002BD0
|
|
mov r3, #0xa
|
|
add r1, r4, r1
|
|
mov r2, #7
|
|
lsl r3, r3, #6
|
|
bl ov74_0222D9E0
|
|
ldr r3, _0222E5D4 ; =0x00002BF0
|
|
mov r2, #8
|
|
add r1, r3, #0
|
|
str r0, [r4, r3]
|
|
sub r1, #0x10
|
|
ldr r3, [r4, r3]
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
bl ov74_0222D9E0
|
|
mov r0, #5
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E3F0:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov74_0222DC60
|
|
ldr r0, _0222E5C4 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _0222E4C2
|
|
ldr r0, _0222E5C8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #0xb
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E410:
|
|
ldr r0, _0222E5CC ; =SEQ_SE_DP_CARD2
|
|
bl PlaySE
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
ldr r0, _0222E5D0 ; =0x00002BD0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222D104
|
|
ldr r0, _0222E5D8 ; =0x00002BE0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222D0EC
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r2, r1, #0xc
|
|
mov r3, #0x66
|
|
bl ov74_0222DE8C
|
|
mov r0, #7
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E444:
|
|
bl ov74_0222DF2C
|
|
cmp r0, #0
|
|
beq _0222E4C2
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov74_0222D824
|
|
ldr r2, _0222E5DC ; =0x00708000
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsr r3, r2, #1
|
|
bl ov74_0222DE8C
|
|
mov r0, #8
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E468:
|
|
bl ov74_0222DF2C
|
|
ldr r0, _0222E5C4 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0222E4C2
|
|
ldr r0, _0222E5CC ; =SEQ_SE_DP_CARD2
|
|
bl PlaySE
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r2, r1, #0xc
|
|
mov r3, #0x66
|
|
bl ov74_0222DE8C
|
|
mov r0, #9
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E48E:
|
|
bl ov74_0222DF2C
|
|
cmp r0, #0
|
|
beq _0222E4C2
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov74_0222D824
|
|
ldr r2, _0222E5DC ; =0x00708000
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsr r3, r2, #1
|
|
bl ov74_0222DE8C
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #0xa
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E4BA:
|
|
bl ov74_0222DF2C
|
|
cmp r0, #0
|
|
bne _0222E4C4
|
|
_0222E4C2:
|
|
b _0222E79C
|
|
_0222E4C4:
|
|
ldr r0, _0222E5D0 ; =0x00002BD0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
mov r2, #0x13
|
|
mov r3, #0xa
|
|
bl DrawFrameAndWindow2
|
|
ldr r0, _0222E5D8 ; =0x00002BE0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
mov r2, #0xa
|
|
mov r3, #0xe
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
add r0, r4, #0
|
|
bl ov74_0222DEF0
|
|
mov r0, #5
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E4F4:
|
|
bl ov74_0222D448
|
|
ldr r0, _0222E5D0 ; =0x00002BD0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222D104
|
|
ldr r0, _0222E5D0 ; =0x00002BD0
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222E5D0 ; =0x00002BD0
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E518:
|
|
ldr r2, _0222E5E0 ; =ov74_0222D414
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222DC60
|
|
b _0222E79C
|
|
_0222E524:
|
|
ldr r2, _0222E5E0 ; =ov74_0222D414
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
bl ov74_0222DC60
|
|
b _0222E79C
|
|
_0222E530:
|
|
ldr r1, _0222E5D8 ; =0x00002BE0
|
|
ldr r2, _0222E5E4 ; =0x00010200
|
|
add r1, r4, r1
|
|
bl ov74_0222D7A4
|
|
mov r0, #0xe
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E540:
|
|
mov r1, #0
|
|
mov r2, #0x11
|
|
add r3, r5, #0
|
|
bl ov74_0222D7F0
|
|
b _0222E79C
|
|
_0222E54C:
|
|
bl ov74_0222D448
|
|
ldr r0, _0222E5D0 ; =0x00002BD0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222D104
|
|
ldr r0, _0222E5D0 ; =0x00002BD0
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222E5D0 ; =0x00002BD0
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #3
|
|
bl ov74_0222D824
|
|
ldr r0, _0222E5C0 ; =0x000029FC
|
|
ldr r0, [r4, r0]
|
|
bl ov74_0222D248
|
|
add r0, r4, #0
|
|
bl ov74_0222CFFC
|
|
add r0, r4, #0
|
|
bl ov74_0222D098
|
|
mov r0, #0x12
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E58E:
|
|
bl ov74_0222E7EC
|
|
bl sub_0203A880
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x13
|
|
add r3, r5, #0
|
|
bl ov74_0222D7F0
|
|
b _0222E79C
|
|
.balign 4, 0
|
|
_0222E5A4: .word 0x00002BA4
|
|
_0222E5A8: .word 0x00002BA0
|
|
_0222E5AC: .word 0x00002BA8
|
|
_0222E5B0: .word 0x00002BAC
|
|
_0222E5B4: .word 0x00002BB4
|
|
_0222E5B8: .word 0x00002BB8
|
|
_0222E5BC: .word 0x00002BBC
|
|
_0222E5C0: .word 0x000029FC
|
|
_0222E5C4: .word gSystem
|
|
_0222E5C8: .word SEQ_SE_DP_SELECT
|
|
_0222E5CC: .word SEQ_SE_DP_CARD2
|
|
_0222E5D0: .word 0x00002BD0
|
|
_0222E5D4: .word 0x00002BF0
|
|
_0222E5D8: .word 0x00002BE0
|
|
_0222E5DC: .word 0x00708000
|
|
_0222E5E0: .word ov74_0222D414
|
|
_0222E5E4: .word 0x00010200
|
|
_0222E5E8:
|
|
mov r6, #0
|
|
add r0, r6, #0
|
|
bl sub_020373B4
|
|
cmp r0, #0
|
|
beq _0222E63A
|
|
add r0, r4, #0
|
|
add r0, #0x90
|
|
bl sub_020358B8
|
|
ldr r1, _0222E7C0 ; =0x00002B08
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
bl ov74_0222E8B4
|
|
add r6, r0, #0
|
|
bne _0222E62A
|
|
ldr r0, _0222E7C4 ; =0x00002C30
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222E62A
|
|
ldr r0, _0222E7C0 ; =0x00002B08
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, _0222E7C0 ; =0x00002B08
|
|
add r0, r4, r0
|
|
bl CopyWindowToVram
|
|
ldr r0, _0222E7C4 ; =0x00002C30
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_0222E62A:
|
|
ldr r1, _0222E7C8 ; =0x00002AF8
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
add r2, r6, #0
|
|
bl ov74_0222EA88
|
|
ldr r0, _0222E7C4 ; =0x00002C30
|
|
str r6, [r4, r0]
|
|
_0222E63A:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
add r2, r5, #0
|
|
bl ov74_0222E0D4
|
|
b _0222E79C
|
|
_0222E646:
|
|
mov r1, #0
|
|
mov r2, #0x15
|
|
add r3, r5, #0
|
|
bl ov74_0222D7F0
|
|
b _0222E79C
|
|
_0222E652:
|
|
bl ov74_0222D024
|
|
ldr r0, _0222E7CC ; =0x00002BD0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222D104
|
|
ldr r0, _0222E7D0 ; =0x00002BE0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222D0EC
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov74_0222D824
|
|
mov r1, #0x1e
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x55
|
|
bl LoadFontPal0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #4
|
|
add r3, r5, #0
|
|
bl ov74_0222D7F0
|
|
b _0222E79C
|
|
_0222E68E:
|
|
bl sub_02037D78
|
|
cmp r0, #0
|
|
beq _0222E698
|
|
b _0222E79C
|
|
_0222E698:
|
|
mov r0, #0xb1
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E6A2:
|
|
ldr r0, _0222E7D4 ; =0x00002C34
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222E79C
|
|
ldr r1, _0222E7D8 ; =0x00002DD8
|
|
add r0, r4, #0
|
|
ldr r2, [r4]
|
|
add r0, #0x90
|
|
add r1, r4, r1
|
|
bl ov74_02235ED0
|
|
ldr r0, _0222E7D8 ; =0x00002DD8
|
|
mov r1, #0xd6
|
|
add r0, r4, r0
|
|
lsl r1, r1, #2
|
|
bl ov74_02229D0C
|
|
add r0, r4, #0
|
|
bl ov74_0222E060
|
|
mov r0, #0x18
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E6D6:
|
|
bl ov74_0223615C
|
|
cmp r0, #4
|
|
bne _0222E79C
|
|
mov r0, #0x93
|
|
bl sub_02037AC0
|
|
mov r0, #1
|
|
add r1, r0, #0
|
|
bl sub_020398D4
|
|
mov r0, #0x19
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E6F2:
|
|
bl ov74_0222E898
|
|
cmp r0, #0
|
|
beq _0222E704
|
|
mov r0, #0x93
|
|
bl sub_02037B38
|
|
cmp r0, #1
|
|
bne _0222E79C
|
|
_0222E704:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_020398D4
|
|
bl ov74_02236128
|
|
ldr r1, _0222E7CC ; =0x00002BD0
|
|
mov r3, #0xa
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
mov r2, #0x12
|
|
lsl r3, r3, #6
|
|
bl ov74_0222D9E0
|
|
ldr r0, _0222E7DC ; =0x00003D50
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200F450
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0x1a
|
|
bl ov74_0222EB28
|
|
b _0222E79C
|
|
_0222E734:
|
|
ldr r0, _0222E7E0 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0222E79C
|
|
mov r0, #0x14
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E744:
|
|
ldr r0, _0222E7E0 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0222E79C
|
|
ldr r0, _0222E7CC ; =0x00002BD0
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222D104
|
|
ldr r0, _0222E7CC ; =0x00002BD0
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222E7CC ; =0x00002BD0
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E76E:
|
|
mov r1, #0
|
|
mov r2, #0x1d
|
|
add r3, r5, #0
|
|
bl ov74_0222D7F0
|
|
b _0222E79C
|
|
_0222E77A:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _0222E79C
|
|
mov r0, #0xb1
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
str r0, [r5]
|
|
b _0222E79C
|
|
_0222E78C:
|
|
bl ov74_0222D024
|
|
add r0, r4, #0
|
|
bl ov74_0222DEF0
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0222E79C:
|
|
ldr r0, _0222E7E4 ; =0x00002C44
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222E7A8
|
|
bl SpriteList_RenderAndAnimateSprites
|
|
_0222E7A8:
|
|
bl ov74_022358BC
|
|
ldr r0, _0222E7E8 ; =0x00003D48
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _0222E7B8
|
|
add r0, r4, #0
|
|
blx r1
|
|
_0222E7B8:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0222E7C0: .word 0x00002B08
|
|
_0222E7C4: .word 0x00002C30
|
|
_0222E7C8: .word 0x00002AF8
|
|
_0222E7CC: .word 0x00002BD0
|
|
_0222E7D0: .word 0x00002BE0
|
|
_0222E7D4: .word 0x00002C34
|
|
_0222E7D8: .word 0x00002DD8
|
|
_0222E7DC: .word 0x00003D50
|
|
_0222E7E0: .word gSystem
|
|
_0222E7E4: .word 0x00002C44
|
|
_0222E7E8: .word 0x00003D48
|
|
thumb_func_end ov74_0222E1F4
|
|
|
|
thumb_func_start ov74_0222E7EC
|
|
ov74_0222E7EC: ; 0x0222E7EC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r1, [r5, r0]
|
|
mov r2, #0xd6
|
|
lsl r1, r1, #2
|
|
add r1, r5, r1
|
|
sub r0, #0xc
|
|
ldr r4, [r1, r0]
|
|
add r0, r5, #0
|
|
add r0, #0xe0
|
|
add r1, r4, #0
|
|
lsl r2, r2, #2
|
|
bl memcpy
|
|
mov r1, #0x41
|
|
add r0, r5, #0
|
|
lsl r1, r1, #2
|
|
add r0, #0x90
|
|
add r1, r4, r1
|
|
mov r2, #0x50
|
|
bl memcpy
|
|
ldr r0, _0222E854 ; =0x00000428
|
|
mov r1, #0
|
|
strb r1, [r5, r0]
|
|
add r0, r5, #0
|
|
add r0, #0xde
|
|
ldrb r1, [r0]
|
|
mov r0, #0x10
|
|
mov r2, #0xf
|
|
bic r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0xde
|
|
strb r1, [r0]
|
|
add r0, r5, #0
|
|
add r0, #0xde
|
|
ldrb r1, [r0]
|
|
mov r0, #0x20
|
|
orr r1, r0
|
|
add r0, r5, #0
|
|
add r0, #0xde
|
|
strb r1, [r0]
|
|
ldr r1, _0222E858 ; =0x00002BA4
|
|
add r0, r5, #4
|
|
ldr r1, [r5, r1]
|
|
bl ov74_02229CE0
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222E854: .word 0x00000428
|
|
_0222E858: .word 0x00002BA4
|
|
thumb_func_end ov74_0222E7EC
|
|
|
|
thumb_func_start ov74_0222E85C
|
|
ov74_0222E85C: ; 0x0222E85C
|
|
push {r3, r4}
|
|
ldr r3, [r0]
|
|
ldr r1, [r0, #4]
|
|
add r2, r0, #0
|
|
mov r4, #0
|
|
cmp r1, r3
|
|
bge _0222E870
|
|
add r3, r1, #0
|
|
mov r4, #1
|
|
add r2, r0, #4
|
|
_0222E870:
|
|
ldr r1, [r0, #8]
|
|
cmp r1, r3
|
|
bge _0222E87E
|
|
add r2, r0, #0
|
|
add r3, r1, #0
|
|
mov r4, #2
|
|
add r2, #8
|
|
_0222E87E:
|
|
ldr r1, [r0, #0xc]
|
|
cmp r1, r3
|
|
bge _0222E88A
|
|
add r2, r0, #0
|
|
mov r4, #3
|
|
add r2, #0xc
|
|
_0222E88A:
|
|
ldr r0, _0222E894 ; =0x3FFF0001
|
|
str r0, [r2]
|
|
add r0, r4, #1
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
_0222E894: .word 0x3FFF0001
|
|
thumb_func_end ov74_0222E85C
|
|
|
|
thumb_func_start ov74_0222E898
|
|
ov74_0222E898: ; 0x0222E898
|
|
push {r3, r4, r5, lr}
|
|
mov r5, #0
|
|
mov r4, #1
|
|
_0222E89E:
|
|
add r0, r4, #0
|
|
bl sub_02034818
|
|
cmp r0, #0
|
|
beq _0222E8AA
|
|
add r5, r5, #1
|
|
_0222E8AA:
|
|
add r4, r4, #1
|
|
cmp r4, #5
|
|
blt _0222E89E
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_0222E898
|
|
|
|
thumb_func_start ov74_0222E8B4
|
|
ov74_0222E8B4: ; 0x0222E8B4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x48
|
|
add r5, r0, #0
|
|
mov r6, #0
|
|
mov r0, #1
|
|
str r1, [sp, #0x10]
|
|
add r7, r6, #0
|
|
str r0, [sp, #0x24]
|
|
add r4, r5, #4
|
|
_0222E8C6:
|
|
ldr r0, [sp, #0x24]
|
|
bl sub_02034818
|
|
cmp r0, #0
|
|
bne _0222E8E8
|
|
ldr r0, _0222EA70 ; =0x00002C08
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222E8DA
|
|
add r7, r7, #1
|
|
_0222E8DA:
|
|
ldr r0, _0222EA70 ; =0x00002C08
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
ldr r1, _0222EA74 ; =0x3FFF0001
|
|
add r0, #0x14
|
|
str r1, [r4, r0]
|
|
b _0222E910
|
|
_0222E8E8:
|
|
ldr r1, _0222EA70 ; =0x00002C08
|
|
ldr r1, [r4, r1]
|
|
cmp r1, r0
|
|
beq _0222E90E
|
|
ldr r1, _0222EA70 ; =0x00002C08
|
|
add r7, r7, #1
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
add r1, #0x34
|
|
ldr r1, [r5, r1]
|
|
add r0, #0x34
|
|
add r2, r1, #1
|
|
ldr r0, [r5, r0]
|
|
ldr r1, _0222EA78 ; =0x00002C3C
|
|
add r6, r6, #1
|
|
str r2, [r5, r1]
|
|
sub r1, #0x20
|
|
str r0, [r4, r1]
|
|
b _0222E910
|
|
_0222E90E:
|
|
add r6, r6, #1
|
|
_0222E910:
|
|
ldr r0, [sp, #0x24]
|
|
add r4, r4, #4
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x24]
|
|
cmp r0, #5
|
|
blt _0222E8C6
|
|
cmp r7, #0
|
|
bne _0222E926
|
|
add sp, #0x48
|
|
add r0, r6, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222E926:
|
|
ldr r1, _0222EA7C ; =0x00002C20
|
|
ldr r0, [r5, r1]
|
|
str r0, [sp, #0x38]
|
|
add r0, r1, #4
|
|
ldr r0, [r5, r0]
|
|
str r0, [sp, #0x3c]
|
|
add r0, r1, #0
|
|
add r0, #8
|
|
ldr r0, [r5, r0]
|
|
add r1, #0xc
|
|
str r0, [sp, #0x40]
|
|
ldr r0, [r5, r1]
|
|
str r0, [sp, #0x44]
|
|
add r0, sp, #0x38
|
|
bl ov74_0222E85C
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x38
|
|
bl ov74_0222E85C
|
|
str r0, [sp, #0x2c]
|
|
add r0, sp, #0x38
|
|
bl ov74_0222E85C
|
|
str r0, [sp, #0x30]
|
|
add r0, sp, #0x38
|
|
bl ov74_0222E85C
|
|
str r0, [sp, #0x34]
|
|
mov r0, #0x55
|
|
bl MessageFormat_New
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x55
|
|
bl NewMsgDataFromNarc
|
|
str r0, [sp, #0x1c]
|
|
mov r5, #0
|
|
ldr r0, [sp, #0x10]
|
|
add r1, r5, #0
|
|
bl FillWindowPixelBuffer
|
|
add r0, r5, #0
|
|
str r0, [sp, #0x14]
|
|
cmp r6, #0
|
|
ble _0222EA54
|
|
add r0, sp, #0x28
|
|
str r0, [sp, #0x18]
|
|
_0222E98C:
|
|
ldr r0, [sp, #0x18]
|
|
ldr r0, [r0]
|
|
bl sub_02034818
|
|
add r7, r0, #0
|
|
beq _0222EA44
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, r7, #0
|
|
bl BufferPlayersName
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
mov r2, #0x36
|
|
mov r3, #0x55
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
str r0, [sp, #0x20]
|
|
add r0, r7, #0
|
|
bl PlayerProfile_GetTrainerGender
|
|
cmp r0, #0
|
|
str r5, [sp]
|
|
bne _0222E9D6
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222EA80 ; =0x00050600
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
ldr r2, [sp, #0x20]
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
b _0222E9F0
|
|
_0222E9D6:
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x10]
|
|
ldr r2, [sp, #0x20]
|
|
add r3, r1, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
_0222E9F0:
|
|
ldr r0, [sp, #0x20]
|
|
bl String_Delete
|
|
add r0, r7, #0
|
|
bl PlayerProfile_GetTrainerID
|
|
add r2, r0, #0
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
lsl r2, r2, #0x10
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
mov r3, #5
|
|
bl BufferIntegerAsString
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r4, #0
|
|
mov r2, #0x37
|
|
mov r3, #0x55
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r7, r0, #0
|
|
str r5, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222EA84 ; =0x000E0F00
|
|
mov r1, #0
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r7, #0
|
|
mov r3, #0x50
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r7, #0
|
|
bl String_Delete
|
|
add r5, #0x18
|
|
_0222EA44:
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [sp, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x14]
|
|
cmp r0, r6
|
|
blt _0222E98C
|
|
_0222EA54:
|
|
cmp r6, #0
|
|
beq _0222EA5E
|
|
ldr r0, [sp, #0x10]
|
|
bl CopyWindowToVram
|
|
_0222EA5E:
|
|
ldr r0, [sp, #0x1c]
|
|
bl DestroyMsgData
|
|
add r0, r4, #0
|
|
bl MessageFormat_Delete
|
|
add r0, r6, #0
|
|
add sp, #0x48
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222EA70: .word 0x00002C08
|
|
_0222EA74: .word 0x3FFF0001
|
|
_0222EA78: .word 0x00002C3C
|
|
_0222EA7C: .word 0x00002C20
|
|
_0222EA80: .word 0x00050600
|
|
_0222EA84: .word 0x000E0F00
|
|
thumb_func_end ov74_0222E8B4
|
|
|
|
thumb_func_start ov74_0222EA88
|
|
ov74_0222EA88: ; 0x0222EA88
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
ldr r0, _0222EB1C ; =0x00002BF4
|
|
add r4, r1, #0
|
|
str r2, [r5, r0]
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x55
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0222EB20 ; =0x00002A04
|
|
str r0, [r5, r1]
|
|
mov r0, #0x55
|
|
bl MessageFormat_New
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
str r0, [r5, r1]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl FillWindowPixelBuffer
|
|
mov r3, #1
|
|
str r3, [sp]
|
|
mov r0, #0x2a
|
|
ldr r2, _0222EB1C ; =0x00002BF4
|
|
str r3, [sp, #4]
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
ldr r2, [r5, r2]
|
|
mov r1, #0
|
|
bl BufferIntegerAsString
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x39
|
|
mov r3, #0x55
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r6, r0, #0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222EB24 ; =0x00010200
|
|
mov r1, #1
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r2, r6, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r4, #0
|
|
bl CopyWindowToVram
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
ldr r0, _0222EB20 ; =0x00002A04
|
|
ldr r0, [r5, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
bl MessageFormat_Delete
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222EB1C: .word 0x00002BF4
|
|
_0222EB20: .word 0x00002A04
|
|
_0222EB24: .word 0x00010200
|
|
thumb_func_end ov74_0222EA88
|
|
|
|
thumb_func_start ov74_0222EB28
|
|
ov74_0222EB28: ; 0x0222EB28
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl ov74_02229DF8
|
|
bl sub_0203A914
|
|
mov r0, #0xb1
|
|
lsl r0, r0, #6
|
|
str r6, [r5, r0]
|
|
mov r0, #0x17
|
|
str r0, [r4]
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov74_0222EB28
|
|
|
|
thumb_func_start ov74_0222EB44
|
|
ov74_0222EB44: ; 0x0222EB44
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
str r0, [sp]
|
|
bl OverlayManager_GetData
|
|
add r7, r0, #0
|
|
ldr r0, _0222EBF0 ; =0x00002A08
|
|
mov r6, #0
|
|
add r4, r7, #0
|
|
add r5, r7, r0
|
|
_0222EB56:
|
|
ldr r0, _0222EBF0 ; =0x00002A08
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222EB6A
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
_0222EB6A:
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
add r5, #0x10
|
|
cmp r6, #0x13
|
|
blo _0222EB56
|
|
ldr r0, _0222EBF4 ; =0x00002BD0
|
|
ldr r1, [r7, r0]
|
|
cmp r1, #0
|
|
beq _0222EB8A
|
|
add r0, r7, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222EBF4 ; =0x00002BD0
|
|
add r0, r7, r0
|
|
bl RemoveWindow
|
|
_0222EB8A:
|
|
ldr r0, _0222EBF8 ; =0x00002BE0
|
|
ldr r1, [r7, r0]
|
|
cmp r1, #0
|
|
beq _0222EBA0
|
|
add r0, r7, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222EBF8 ; =0x00002BE0
|
|
add r0, r7, r0
|
|
bl RemoveWindow
|
|
_0222EBA0:
|
|
ldr r0, _0222EBFC ; =0x000029FC
|
|
mov r1, #0
|
|
ldr r0, [r7, r0]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, _0222EBFC ; =0x000029FC
|
|
mov r1, #1
|
|
ldr r0, [r7, r0]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, _0222EBFC ; =0x000029FC
|
|
mov r1, #2
|
|
ldr r0, [r7, r0]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, _0222EBFC ; =0x000029FC
|
|
mov r1, #3
|
|
ldr r0, [r7, r0]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, _0222EBFC ; =0x000029FC
|
|
ldr r0, [r7, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _0222EC00 ; =FS_OVERLAY_ID(OVY_74)
|
|
ldr r1, _0222EC04 ; =gApp_MainMenu_SelectOption_MysteryGift
|
|
bl RegisterMainOverlay
|
|
mov r0, #0x59
|
|
bl DestroyHeap
|
|
ldr r0, [sp]
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x55
|
|
bl DestroyHeap
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222EBF0: .word 0x00002A08
|
|
_0222EBF4: .word 0x00002BD0
|
|
_0222EBF8: .word 0x00002BE0
|
|
_0222EBFC: .word 0x000029FC
|
|
_0222EC00: .word FS_OVERLAY_ID(OVY_74)
|
|
_0222EC04: .word gApp_MainMenu_SelectOption_MysteryGift
|
|
thumb_func_end ov74_0222EB44
|
|
|
|
thumb_func_start ov74_0222EC08
|
|
ov74_0222EC08: ; 0x0222EC08
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r7, r1, #0
|
|
add r5, r2, #0
|
|
bl ov74_0222FCC4
|
|
ldr r1, _0222EC54 ; =0x00003D54
|
|
add r0, r5, #0
|
|
bl AllocFromHeapAtEnd
|
|
ldr r2, _0222EC54 ; =0x00003D54
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
ldr r0, _0222EC58 ; =0x000029FC
|
|
mov r1, #0x1e
|
|
str r6, [r4, r0]
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
add r2, r5, #0
|
|
str r5, [r4]
|
|
bl LoadFontPal0
|
|
ldr r0, _0222EC5C ; =0x00002BB4
|
|
mov r2, #0
|
|
str r7, [r4, r0]
|
|
add r0, #0xc
|
|
str r2, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_0222D824
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222EC54: .word 0x00003D54
|
|
_0222EC58: .word 0x000029FC
|
|
_0222EC5C: .word 0x00002BB4
|
|
thumb_func_end ov74_0222EC08
|
|
|
|
thumb_func_start ov74_0222EC60
|
|
ov74_0222EC60: ; 0x0222EC60
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _0222ECC8 ; =0x00002D7C
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222EC70
|
|
bl Sprite_Delete
|
|
_0222EC70:
|
|
mov r0, #0xb6
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222EC7E
|
|
bl Sprite_Delete
|
|
_0222EC7E:
|
|
mov r0, #0xb6
|
|
mov r1, #0
|
|
lsl r0, r0, #6
|
|
str r1, [r4, r0]
|
|
ldr r2, [r4, r0]
|
|
sub r1, r0, #4
|
|
str r2, [r4, r1]
|
|
add r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222EC98
|
|
bl Sprite_Delete
|
|
_0222EC98:
|
|
ldr r0, _0222ECCC ; =0x00002D88
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222ECA4
|
|
bl Sprite_Delete
|
|
_0222ECA4:
|
|
ldr r0, _0222ECD0 ; =0x00002D8C
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222ECB0
|
|
bl Sprite_Delete
|
|
_0222ECB0:
|
|
ldr r1, _0222ECD0 ; =0x00002D8C
|
|
mov r0, #0
|
|
str r0, [r4, r1]
|
|
ldr r2, [r4, r1]
|
|
sub r0, r1, #4
|
|
str r2, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
sub r1, #8
|
|
str r0, [r4, r1]
|
|
bl ov74_022359BC
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222ECC8: .word 0x00002D7C
|
|
_0222ECCC: .word 0x00002D88
|
|
_0222ECD0: .word 0x00002D8C
|
|
thumb_func_end ov74_0222EC60
|
|
|
|
thumb_func_start ov74_0222ECD4
|
|
ov74_0222ECD4: ; 0x0222ECD4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _0222ECEA
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl sub_0200E5D4
|
|
_0222ECEA:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_0222ECD4
|
|
|
|
thumb_func_start ov74_0222ECEC
|
|
ov74_0222ECEC: ; 0x0222ECEC
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl WindowIsInUse
|
|
cmp r0, #1
|
|
bne _0222ED02
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ClearFrameAndWindow2
|
|
_0222ED02:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_0222ECEC
|
|
|
|
thumb_func_start ov74_0222ED04
|
|
ov74_0222ED04: ; 0x0222ED04
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
add r4, r1, #0
|
|
add r7, r2, #0
|
|
str r3, [sp]
|
|
cmp r0, #0
|
|
beq _0222ED1E
|
|
bl ListMenuItems_Delete
|
|
_0222ED1E:
|
|
ldr r0, _0222EDB4 ; =0x00002BBC
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _0222ED2E
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
bl DestroyListMenu
|
|
_0222ED2E:
|
|
add r0, r7, #0
|
|
mov r1, #0x55
|
|
bl ListMenuItems_New
|
|
mov r1, #0xaf
|
|
lsl r1, r1, #6
|
|
str r0, [r5, r1]
|
|
mov r0, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x55
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0222EDB8 ; =0x00002A04
|
|
mov r6, #0
|
|
str r0, [r5, r1]
|
|
cmp r7, #0
|
|
ble _0222ED6C
|
|
_0222ED52:
|
|
mov r0, #0xaf
|
|
ldr r1, _0222EDB8 ; =0x00002A04
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, #4]
|
|
bl ListMenuItems_AppendFromMsgData
|
|
add r6, r6, #1
|
|
add r4, #8
|
|
cmp r6, r7
|
|
blt _0222ED52
|
|
_0222ED6C:
|
|
ldr r0, _0222EDB8 ; =0x00002A04
|
|
ldr r0, [r5, r0]
|
|
bl DestroyMsgData
|
|
ldr r4, _0222EDBC ; =ov74_0223C6E0
|
|
add r3, sp, #4
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
add r0, sp, #4
|
|
strh r7, [r0, #0x10]
|
|
ldr r0, [sp]
|
|
mov r3, #0x55
|
|
str r0, [sp, #0x10]
|
|
add r0, r2, #0
|
|
ldr r2, [sp, #0x38]
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
bl ListMenuInit
|
|
ldr r1, _0222EDB4 ; =0x00002BBC
|
|
str r0, [r5, r1]
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222EDB4: .word 0x00002BBC
|
|
_0222EDB8: .word 0x00002A04
|
|
_0222EDBC: .word ov74_0223C6E0
|
|
thumb_func_end ov74_0222ED04
|
|
|
|
thumb_func_start ov74_0222EDC0
|
|
ov74_0222EDC0: ; 0x0222EDC0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #0xaf
|
|
lsl r0, r0, #6
|
|
ldr r0, [r4, r0]
|
|
bl ListMenuItems_Delete
|
|
mov r0, #0xaf
|
|
mov r1, #0
|
|
lsl r0, r0, #6
|
|
str r1, [r4, r0]
|
|
sub r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
add r2, r1, #0
|
|
bl DestroyListMenu
|
|
ldr r0, _0222EE00 ; =0x00002BBC
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
add r0, #0x18
|
|
add r0, r4, r0
|
|
bl ov74_0222ECD4
|
|
ldr r0, _0222EE04 ; =0x00002BD4
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222EE04 ; =0x00002BD4
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222EE00: .word 0x00002BBC
|
|
_0222EE04: .word 0x00002BD4
|
|
thumb_func_end ov74_0222EDC0
|
|
|
|
thumb_func_start ov74_0222EE08
|
|
ov74_0222EE08: ; 0x0222EE08
|
|
mov r0, #1
|
|
bx lr
|
|
thumb_func_end ov74_0222EE08
|
|
|
|
thumb_func_start ov74_0222EE0C
|
|
ov74_0222EE0C: ; 0x0222EE0C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
ldr r1, [r5]
|
|
mov r0, #0x25
|
|
add r4, r2, #0
|
|
bl String_New
|
|
ldr r1, _0222EE54 ; =0x00002BB4
|
|
add r6, r0, #0
|
|
ldr r2, [r5, r1]
|
|
mov r1, #0x41
|
|
lsl r1, r1, #2
|
|
add r1, r2, r1
|
|
mov r2, #0x24
|
|
bl CopyU16ArrayToStringN
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
mov r0, #1
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222EE54: .word 0x00002BB4
|
|
thumb_func_end ov74_0222EE0C
|
|
|
|
thumb_func_start ov74_0222EE58
|
|
ov74_0222EE58: ; 0x0222EE58
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x10
|
|
add r3, r0, #0
|
|
ldr r0, _0222EEAC ; =0x00002BB4
|
|
add r6, r1, #0
|
|
ldr r1, [r3, r0]
|
|
mov r0, #0x35
|
|
lsl r0, r0, #4
|
|
ldrb r0, [r1, r0]
|
|
add r5, r2, #0
|
|
cmp r0, #0
|
|
bne _0222EE74
|
|
mov r2, #0x51
|
|
b _0222EE76
|
|
_0222EE74:
|
|
mov r2, #0x52
|
|
_0222EE76:
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
ldr r0, [r3, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r3, r1]
|
|
ldr r3, [r3]
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r4, r0, #0
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r5, [sp, #8]
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
add r2, r4, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r4, #0
|
|
bl String_Delete
|
|
mov r0, #1
|
|
add sp, #0x10
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0222EEAC: .word 0x00002BB4
|
|
thumb_func_end ov74_0222EE58
|
|
|
|
thumb_func_start ov74_0222EEB0
|
|
ov74_0222EEB0: ; 0x0222EEB0
|
|
push {r4, lr}
|
|
sub sp, #0x18
|
|
ldr r1, _0222EF14 ; =0x00002BB4
|
|
add r4, r0, #0
|
|
ldr r2, [r4, r1]
|
|
mov r1, #0xd5
|
|
lsl r1, r1, #2
|
|
ldr r1, [r2, r1]
|
|
add r0, sp, #8
|
|
bl RTC_ConvertDayToDate
|
|
mov r0, #2
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
mov r2, #0x7d
|
|
ldr r3, [sp, #8]
|
|
lsl r2, r2, #4
|
|
add r2, r3, r2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
mov r3, #4
|
|
bl BufferIntegerAsString
|
|
mov r3, #2
|
|
mov r0, #0x2a
|
|
str r3, [sp]
|
|
mov r1, #1
|
|
str r1, [sp, #4]
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0xc]
|
|
bl BufferIntegerAsString
|
|
mov r1, #2
|
|
str r1, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r4, r0]
|
|
ldr r2, [sp, #0x10]
|
|
add r3, r1, #0
|
|
bl BufferIntegerAsString
|
|
mov r0, #1
|
|
add sp, #0x18
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222EF14: .word 0x00002BB4
|
|
thumb_func_end ov74_0222EEB0
|
|
|
|
thumb_func_start ov74_0222EF18
|
|
ov74_0222EF18: ; 0x0222EF18
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
mov r0, #0xfb
|
|
mov r1, #0x55
|
|
add r4, r2, #0
|
|
bl String_New
|
|
ldr r1, _0222EF60 ; =0x00002BB4
|
|
add r6, r0, #0
|
|
ldr r2, [r5, r1]
|
|
mov r1, #0x55
|
|
lsl r1, r1, #2
|
|
add r1, r2, r1
|
|
mov r2, #0xfa
|
|
bl CopyU16ArrayToStringN
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
str r4, [sp, #8]
|
|
add r0, r7, #0
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
str r3, [sp, #0xc]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222EF60: .word 0x00002BB4
|
|
thumb_func_end ov74_0222EF18
|
|
|
|
thumb_func_start ov74_0222EF64
|
|
ov74_0222EF64: ; 0x0222EF64
|
|
mov r0, #0
|
|
bx lr
|
|
thumb_func_end ov74_0222EF64
|
|
|
|
thumb_func_start ov74_0222EF68
|
|
ov74_0222EF68: ; 0x0222EF68
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x24
|
|
add r5, r0, #0
|
|
ldr r0, _0222EFE0 ; =ov74_0223C6D0
|
|
add r6, r1, #0
|
|
ldr r1, [r0, #4]
|
|
ldr r2, [r0]
|
|
str r1, [sp, #0x18]
|
|
ldr r1, [r0, #8]
|
|
ldr r0, [r0, #0xc]
|
|
str r2, [sp, #0x14]
|
|
str r0, [sp, #0x20]
|
|
ldr r0, _0222EFE4 ; =0x00002B9C
|
|
str r1, [sp, #0x1c]
|
|
ldr r4, [r5, r0]
|
|
add r0, r6, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r6, #0
|
|
bl RemoveWindow
|
|
ldr r0, [r4, #8]
|
|
add r1, r6, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
mov r2, #2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _0222EFE8 ; =0x00002B98
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _0222EFEC ; =0x000029FC
|
|
ldr r3, [r4, #4]
|
|
ldr r0, [r5, r0]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl AddWindowParameterized
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x14
|
|
mov r2, #2
|
|
add r3, r6, #0
|
|
bl ov74_0222ED04
|
|
mov r0, #1
|
|
add sp, #0x24
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222EFE0: .word ov74_0223C6D0
|
|
_0222EFE4: .word 0x00002B9C
|
|
_0222EFE8: .word 0x00002B98
|
|
_0222EFEC: .word 0x000029FC
|
|
thumb_func_end ov74_0222EF68
|
|
|
|
thumb_func_start ov74_0222EFF0
|
|
ov74_0222EFF0: ; 0x0222EFF0
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x55
|
|
str r0, [sp, #8]
|
|
add r6, r2, #0
|
|
mov r0, #0
|
|
add r4, r3, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
cmp r4, #0
|
|
beq _0222F018
|
|
mov r0, #0x1c
|
|
str r0, [r4]
|
|
_0222F018:
|
|
ldr r0, _0222F020 ; =0x00002BF8
|
|
str r6, [r5, r0]
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222F020: .word 0x00002BF8
|
|
thumb_func_end ov74_0222EFF0
|
|
|
|
thumb_func_start ov74_0222F024
|
|
ov74_0222F024: ; 0x0222F024
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x34
|
|
add r5, r0, #0
|
|
ldr r3, [r5]
|
|
str r2, [sp, #0x14]
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
ldr r4, _0222F1A4 ; =ov74_0223C700
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0222F1A8 ; =0x00002A04
|
|
str r0, [r5, r1]
|
|
ldr r0, [r5]
|
|
bl MessageFormat_New
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
str r0, [r5, r1]
|
|
ldr r1, _0222F1AC ; =0x00002BB8
|
|
ldr r0, [sp, #0x14]
|
|
str r0, [r5, r1]
|
|
ldr r1, [sp, #0x14]
|
|
add r0, r5, #0
|
|
bl ov74_0222F314
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
ldr r0, _0222F1B0 ; =0x00002A08
|
|
add r7, r4, #0
|
|
str r5, [sp, #0x1c]
|
|
add r6, r5, r0
|
|
_0222F064:
|
|
ldr r1, [r7]
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, r1
|
|
beq _0222F086
|
|
cmp r1, #2
|
|
beq _0222F086
|
|
ldr r1, [sp, #0x1c]
|
|
ldr r0, _0222F1B0 ; =0x00002A08
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _0222F086
|
|
add r0, r6, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r6, #0
|
|
bl RemoveWindow
|
|
_0222F086:
|
|
ldr r0, [sp, #0x1c]
|
|
add r7, #0x30
|
|
add r0, #0x10
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x2c]
|
|
add r6, #0x10
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x2c]
|
|
cmp r0, #0xb
|
|
blo _0222F064
|
|
mov r0, #0
|
|
str r0, [sp, #0x18]
|
|
ldr r0, _0222F1B0 ; =0x00002A08
|
|
mov r7, #0x31
|
|
str r5, [sp, #0x24]
|
|
str r5, [sp, #0x20]
|
|
add r6, r5, r0
|
|
_0222F0A8:
|
|
ldr r1, [r4]
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, r1
|
|
bne _0222F166
|
|
ldr r1, [sp, #0x24]
|
|
ldr r0, _0222F1B0 ; =0x00002A08
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _0222F0F4
|
|
ldr r1, [sp, #0x20]
|
|
ldr r0, _0222F1B4 ; =0x00002B48
|
|
mov r2, #0
|
|
str r7, [r1, r0]
|
|
ldr r0, [r4, #8]
|
|
add r1, r6, #0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r7, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _0222F1B8 ; =0x000029FC
|
|
ldr r3, [r4, #4]
|
|
ldr r0, [r5, r0]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl AddWindowParameterized
|
|
_0222F0F4:
|
|
ldr r0, [r4, #0x14]
|
|
ldr r1, [r4, #0x1c]
|
|
lsl r0, r0, #0x18
|
|
lsl r1, r1, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl GetFontAttribute
|
|
add r1, r0, #0
|
|
add r0, r6, #0
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r4, #0x18]
|
|
ldr r3, [r4, #0x24]
|
|
str r0, [sp, #0x28]
|
|
ldr r2, [sp, #0x28]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
blx r3
|
|
cmp r0, #1
|
|
bne _0222F158
|
|
ldr r2, [r4, #0x20]
|
|
cmp r2, #0
|
|
beq _0222F158
|
|
mov r0, #0x2a
|
|
ldr r1, _0222F1A8 ; =0x00002A04
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [r5, r1]
|
|
ldr r3, [r5]
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
str r0, [sp, #0x30]
|
|
ldr r0, [r4, #0x2c]
|
|
ldr r2, [sp, #0x30]
|
|
str r0, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x28]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [r4, #0x14]
|
|
ldr r3, [r4, #0x28]
|
|
add r0, r6, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
ldr r0, [sp, #0x30]
|
|
bl String_Delete
|
|
_0222F158:
|
|
add r0, r6, #0
|
|
bl CopyWindowToVram
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, [r4, #0x10]
|
|
mul r0, r1
|
|
add r7, r7, r0
|
|
_0222F166:
|
|
ldr r0, [sp, #0x24]
|
|
add r4, #0x30
|
|
add r0, #0x10
|
|
str r0, [sp, #0x24]
|
|
ldr r0, [sp, #0x20]
|
|
add r6, #0x10
|
|
add r0, r0, #4
|
|
str r0, [sp, #0x20]
|
|
ldr r0, [sp, #0x18]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x18]
|
|
cmp r0, #0xb
|
|
blo _0222F0A8
|
|
ldr r0, _0222F1A8 ; =0x00002A04
|
|
ldr r0, [r5, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
bl MessageFormat_Delete
|
|
ldr r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
bne _0222F19E
|
|
add r0, r5, #0
|
|
bl ov74_0222F478
|
|
_0222F19E:
|
|
add sp, #0x34
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222F1A4: .word ov74_0223C700
|
|
_0222F1A8: .word 0x00002A04
|
|
_0222F1AC: .word 0x00002BB8
|
|
_0222F1B0: .word 0x00002A08
|
|
_0222F1B4: .word 0x00002B48
|
|
_0222F1B8: .word 0x000029FC
|
|
thumb_func_end ov74_0222F024
|
|
|
|
thumb_func_start ov74_0222F1BC
|
|
ov74_0222F1BC: ; 0x0222F1BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
add r7, r3, #0
|
|
mov r3, #0x30
|
|
ldr r0, _0222F2BC ; =ov74_0223C700
|
|
mul r3, r2
|
|
add r6, r1, #0
|
|
add r4, r0, r3
|
|
ldr r0, [r6]
|
|
cmp r0, #0
|
|
bne _0222F206
|
|
ldr r0, [r4, #8]
|
|
mov r2, #2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r4, #0xc]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
lsl r0, r7, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r0, _0222F2C0 ; =0x000029FC
|
|
ldr r3, [r4, #4]
|
|
ldr r0, [r5, r0]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl AddWindowParameterized
|
|
_0222F206:
|
|
ldr r1, [r4, #0x1c]
|
|
add r0, r6, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FillWindowPixelBuffer
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
beq _0222F234
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xf7
|
|
mov r3, #0x55
|
|
bl NewMsgDataFromNarc
|
|
ldr r1, _0222F2C4 ; =0x00002A04
|
|
str r0, [r5, r1]
|
|
mov r0, #0x55
|
|
bl MessageFormat_New
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
str r0, [r5, r1]
|
|
_0222F234:
|
|
ldr r0, _0222F2C8 ; =0x00002B98
|
|
ldr r2, _0222F2CC ; =0x00010200
|
|
str r7, [r5, r0]
|
|
add r0, r0, #4
|
|
str r4, [r5, r0]
|
|
ldr r3, [r4, #0x24]
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
blx r3
|
|
ldr r2, [r4, #0x20]
|
|
cmp r2, #0
|
|
beq _0222F28E
|
|
mov r1, #0x2a
|
|
lsl r1, r1, #8
|
|
ldr r0, [r5, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r5, r1]
|
|
mov r3, #0x55
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
str r0, [sp, #0x14]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #0xff
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x18]
|
|
ldr r2, [sp, #0x14]
|
|
str r0, [sp, #8]
|
|
str r3, [sp, #0xc]
|
|
ldr r1, [r4, #0x14]
|
|
add r0, r6, #0
|
|
bl AddTextPrinterParameterizedWithColor
|
|
ldr r0, [sp, #0x14]
|
|
bl String_Delete
|
|
ldr r0, _0222F2C4 ; =0x00002A04
|
|
ldr r0, [r5, r0]
|
|
bl DestroyMsgData
|
|
mov r0, #0x2a
|
|
lsl r0, r0, #8
|
|
ldr r0, [r5, r0]
|
|
bl MessageFormat_Delete
|
|
_0222F28E:
|
|
ldr r0, _0222F2D0 ; =0x00002BC4
|
|
add r0, r5, r0
|
|
cmp r6, r0
|
|
bne _0222F2A4
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r2, #0x13
|
|
mov r3, #0xa
|
|
bl DrawFrameAndWindow2
|
|
b _0222F2B0
|
|
_0222F2A4:
|
|
add r0, r6, #0
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
mov r3, #0xe
|
|
bl DrawFrameAndWindow1
|
|
_0222F2B0:
|
|
ldr r1, [r4, #0xc]
|
|
ldr r0, [r4, #0x10]
|
|
mul r0, r1
|
|
add r0, r7, r0
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0222F2BC: .word ov74_0223C700
|
|
_0222F2C0: .word 0x000029FC
|
|
_0222F2C4: .word 0x00002A04
|
|
_0222F2C8: .word 0x00002B98
|
|
_0222F2CC: .word 0x00010200
|
|
_0222F2D0: .word 0x00002BC4
|
|
thumb_func_end ov74_0222F1BC
|
|
|
|
thumb_func_start ov74_0222F2D4
|
|
ov74_0222F2D4: ; 0x0222F2D4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r4, r2, #0
|
|
mov r2, #1
|
|
add r5, r0, #0
|
|
str r2, [sp]
|
|
add r6, r3, #0
|
|
ldr r3, [r5]
|
|
mov r0, #0x71
|
|
bl GfGfxLoader_LoadFromNarc
|
|
add r1, sp, #4
|
|
add r7, r0, #0
|
|
bl NNS_G2dGetUnpackedScreenData
|
|
ldr r0, _0222F310 ; =0x000029FC
|
|
ldr r2, [sp, #4]
|
|
lsl r1, r4, #0x18
|
|
ldr r0, [r5, r0]
|
|
lsr r1, r1, #0x18
|
|
add r2, #0xc
|
|
add r3, r6, #0
|
|
bl BG_LoadScreenTilemapData
|
|
add r0, r7, #0
|
|
bl FreeToHeap
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222F310: .word 0x000029FC
|
|
thumb_func_end ov74_0222F2D4
|
|
|
|
thumb_func_start ov74_0222F314
|
|
ov74_0222F314: ; 0x0222F314
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
add r5, r0, #0
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
mov r2, #0
|
|
add r4, r1, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #7
|
|
add r3, r2, #0
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r2, _0222F400 ; =0x000029FC
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x71
|
|
mov r1, #0xa
|
|
bl GfGfxLoader_LoadCharData
|
|
cmp r4, #0
|
|
beq _0222F35A
|
|
cmp r4, #1
|
|
beq _0222F37A
|
|
b _0222F398
|
|
_0222F35A:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r2, _0222F400 ; =0x000029FC
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x71
|
|
mov r1, #8
|
|
bl GfGfxLoader_LoadScrnData
|
|
b _0222F398
|
|
_0222F37A:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r3, #1
|
|
str r3, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r2, _0222F400 ; =0x000029FC
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x71
|
|
mov r1, #9
|
|
bl GfGfxLoader_LoadScrnData
|
|
_0222F398:
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
add r3, r0, #0
|
|
add r2, r1, #0
|
|
add r3, #0xef
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r1, #1
|
|
str r1, [sp, #8]
|
|
ldr r0, [r5]
|
|
ldr r2, _0222F400 ; =0x000029FC
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r5, r2]
|
|
mov r0, #0x71
|
|
mov r3, #3
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r2, #3
|
|
add r0, r5, #0
|
|
mov r1, #2
|
|
lsl r3, r2, #9
|
|
bl ov74_0222F2D4
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #0xb
|
|
str r0, [sp, #8]
|
|
ldr r0, _0222F400 ; =0x000029FC
|
|
mov r2, #0
|
|
ldr r0, [r5, r0]
|
|
mov r1, #3
|
|
add r3, r2, #0
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, _0222F400 ; =0x000029FC
|
|
mov r1, #3
|
|
ldr r0, [r5, r0]
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222F400: .word 0x000029FC
|
|
thumb_func_end ov74_0222F314
|
|
|
|
thumb_func_start ov74_0222F404
|
|
ov74_0222F404: ; 0x0222F404
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r6, r2, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, _0222F46C ; =0x00002BBC
|
|
ldr r0, [r0, r1]
|
|
bl ListMenu_ProcessInput
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
mvn r0, r0
|
|
cmp r4, r0
|
|
beq _0222F42A
|
|
add r0, r0, #1
|
|
cmp r4, r0
|
|
beq _0222F468
|
|
b _0222F444
|
|
_0222F42A:
|
|
ldr r0, _0222F470 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
cmp r6, #0
|
|
beq _0222F468
|
|
add r0, r7, #0
|
|
blx r6
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222F468
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222F444:
|
|
ldr r0, _0222F470 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
cmp r4, #0
|
|
beq _0222F468
|
|
cmp r4, #0x1f
|
|
bhs _0222F456
|
|
str r4, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222F456:
|
|
ldr r0, _0222F474 ; =ov74_0223D0C0
|
|
str r4, [r0]
|
|
add r0, r7, #0
|
|
blx r4
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _0222F468
|
|
str r0, [r5]
|
|
_0222F468:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222F46C: .word 0x00002BBC
|
|
_0222F470: .word SEQ_SE_DP_SELECT
|
|
_0222F474: .word ov74_0223D0C0
|
|
thumb_func_end ov74_0222F404
|
|
|
|
thumb_func_start ov74_0222F478
|
|
ov74_0222F478: ; 0x0222F478
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
ldr r1, _0222F58C ; =0x00002D84
|
|
add r7, r0, #0
|
|
ldr r0, [r7, r1]
|
|
cmp r0, #0
|
|
bne _0222F4D8
|
|
add r0, r1, #4
|
|
ldr r0, [r7, r0]
|
|
cmp r0, #0
|
|
bne _0222F4D8
|
|
add r1, #8
|
|
ldr r0, [r7, r1]
|
|
cmp r0, #0
|
|
bne _0222F4D8
|
|
bl ov74_0223567C
|
|
cmp r0, #1
|
|
bne _0222F4A4
|
|
add r0, r7, #0
|
|
bl ov74_0222EC60
|
|
_0222F4A4:
|
|
bl ov74_0223563C
|
|
bl ov74_02235690
|
|
mov r0, #0x1c
|
|
str r0, [sp]
|
|
mov r0, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x1e
|
|
mov r2, #0x1b
|
|
mov r3, #0x1d
|
|
bl ov74_02235728
|
|
bl sub_02074490
|
|
add r1, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [r7]
|
|
mov r2, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x14
|
|
mov r3, #0x60
|
|
bl GfGfxLoader_GXLoadPal
|
|
_0222F4D8:
|
|
mov r0, #0xb2
|
|
mov r4, #0
|
|
str r0, [sp, #0x10]
|
|
str r4, [sp, #0xc]
|
|
add r5, r7, #0
|
|
mov r6, #0x64
|
|
_0222F4E4:
|
|
ldr r0, _0222F590 ; =0x00002BB4
|
|
ldr r0, [r7, r0]
|
|
add r1, r0, r4
|
|
ldr r0, _0222F594 ; =0x0000034A
|
|
ldrh r0, [r1, r0]
|
|
str r0, [sp, #8]
|
|
cmp r0, #0
|
|
bne _0222F504
|
|
ldr r0, _0222F58C ; =0x00002D84
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _0222F56E
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
b _0222F56E
|
|
_0222F504:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r1, _0222F58C ; =0x00002D84
|
|
add r0, #0xa
|
|
str r0, [sp]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [sp, #0x10]
|
|
mov r0, #0
|
|
mov r3, #0x10
|
|
bl ov74_02235930
|
|
ldr r1, _0222F58C ; =0x00002D84
|
|
str r0, [r5, r1]
|
|
mov r1, #0
|
|
ldr r0, [sp, #8]
|
|
add r2, r1, #0
|
|
bl GetMonIconNaixEx
|
|
add r1, r0, #0
|
|
ldr r0, [r7]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
mov r0, #0x14
|
|
add r3, sp, #0x18
|
|
bl GfGfxLoader_GetCharData
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [sp, #0x18]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x14]
|
|
lsl r1, r1, #8
|
|
bl DC_FlushRange
|
|
ldr r0, [sp, #0x18]
|
|
mov r2, #2
|
|
ldr r0, [r0, #0x14]
|
|
lsl r1, r6, #5
|
|
lsl r2, r2, #8
|
|
bl GX_LoadOBJ
|
|
mov r1, #0
|
|
ldr r0, [sp, #8]
|
|
add r2, r1, #0
|
|
bl GetMonIconPaletteEx
|
|
add r1, r0, #0
|
|
ldr r0, _0222F58C ; =0x00002D84
|
|
add r1, r1, #3
|
|
ldr r0, [r5, r0]
|
|
bl Sprite_SetPalIndex
|
|
ldr r0, [sp, #0x14]
|
|
bl FreeToHeap
|
|
_0222F56E:
|
|
ldr r0, [sp, #0xc]
|
|
add r4, r4, #2
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
add r5, r5, #4
|
|
add r0, #0x19
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #0xc]
|
|
add r6, #0x10
|
|
cmp r0, #3
|
|
blt _0222F4E4
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222F58C: .word 0x00002D84
|
|
_0222F590: .word 0x00002BB4
|
|
_0222F594: .word 0x0000034A
|
|
thumb_func_end ov74_0222F478
|
|
|
|
thumb_func_start ov74_0222F598
|
|
ov74_0222F598: ; 0x0222F598
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x55
|
|
lsl r2, r0, #0x10
|
|
bl CreateHeap
|
|
ldr r1, _0222F5F4 ; =0x00003D0C
|
|
add r0, r4, #0
|
|
mov r2, #0x55
|
|
bl OverlayManager_CreateAndGetData
|
|
ldr r2, _0222F5F4 ; =0x00003D0C
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0x55
|
|
bl BgConfig_Alloc
|
|
ldr r1, _0222F5F8 ; =0x000029FC
|
|
str r0, [r4, r1]
|
|
mov r0, #0x55
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_0200FBF4
|
|
ldr r0, _0222F5FC ; =0x00002BF4
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
mov r0, #0x55
|
|
bl ov74_022352A0
|
|
mov r2, #0x57
|
|
mov r0, #0
|
|
mov r1, #0x59
|
|
lsl r2, r2, #4
|
|
bl CreateHeap
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222F5F4: .word 0x00003D0C
|
|
_0222F5F8: .word 0x000029FC
|
|
_0222F5FC: .word 0x00002BF4
|
|
thumb_func_end ov74_0222F598
|
|
|
|
thumb_func_start ov74_0222F600
|
|
ov74_0222F600: ; 0x0222F600
|
|
push {r4, lr}
|
|
add r4, r1, #0
|
|
bl sub_02014AA0
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl sub_02014A60
|
|
ldr r1, _0222F620 ; =0x04000010
|
|
mov r2, #8
|
|
mov r3, #1
|
|
bl sub_02014AB0
|
|
pop {r4, pc}
|
|
nop
|
|
_0222F620: .word 0x04000010
|
|
thumb_func_end ov74_0222F600
|
|
|
|
thumb_func_start ov74_0222F624
|
|
ov74_0222F624: ; 0x0222F624
|
|
push {r3, r4, r5, lr}
|
|
ldr r4, _0222F678 ; =0x000030E8
|
|
ldr r5, _0222F67C ; =0x00000C14
|
|
add r4, r0, r4
|
|
add r0, r5, #0
|
|
str r1, [r4, r5]
|
|
sub r0, #0xc
|
|
str r2, [r4, r0]
|
|
add r0, r5, #0
|
|
sub r0, #8
|
|
sub r5, #0x14
|
|
str r3, [r4, r0]
|
|
ldr r0, [r4, r5]
|
|
cmp r0, #0
|
|
bne _0222F656
|
|
mov r2, #6
|
|
lsl r2, r2, #8
|
|
mov r0, #0x55
|
|
add r1, r4, #0
|
|
add r2, r4, r2
|
|
bl sub_02014A08
|
|
mov r1, #3
|
|
lsl r1, r1, #0xa
|
|
str r0, [r4, r1]
|
|
_0222F656:
|
|
ldr r0, _0222F680 ; =0x00000C04
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _0222F66E
|
|
mov r2, #1
|
|
ldr r0, _0222F684 ; =ov74_0222F600
|
|
add r1, r4, #0
|
|
lsl r2, r2, #0xa
|
|
bl SysTask_CreateOnVBlankQueue
|
|
ldr r1, _0222F680 ; =0x00000C04
|
|
str r0, [r4, r1]
|
|
_0222F66E:
|
|
mov r0, #0xc1
|
|
mov r1, #1
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0222F678: .word 0x000030E8
|
|
_0222F67C: .word 0x00000C14
|
|
_0222F680: .word 0x00000C04
|
|
_0222F684: .word ov74_0222F600
|
|
thumb_func_end ov74_0222F624
|
|
|
|
thumb_func_start ov74_0222F688
|
|
ov74_0222F688: ; 0x0222F688
|
|
push {r4, lr}
|
|
ldr r1, _0222F6BC ; =0x000030E8
|
|
add r4, r0, r1
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222F69C
|
|
bl sub_02014A38
|
|
_0222F69C:
|
|
ldr r0, _0222F6C0 ; =0x00000C04
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222F6A8
|
|
bl SysTask_Destroy
|
|
_0222F6A8:
|
|
mov r0, #3
|
|
mov r1, #0
|
|
lsl r0, r0, #0xa
|
|
str r1, [r4, r0]
|
|
add r0, r0, #4
|
|
str r1, [r4, r0]
|
|
bl sub_02014AA0
|
|
pop {r4, pc}
|
|
nop
|
|
_0222F6BC: .word 0x000030E8
|
|
_0222F6C0: .word 0x00000C04
|
|
thumb_func_end ov74_0222F688
|
|
|
|
thumb_func_start ov74_0222F6C4
|
|
ov74_0222F6C4: ; 0x0222F6C4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r1, _0222F7CC ; =0x000030E8
|
|
mov r5, #0x15
|
|
add r4, r0, r1
|
|
mov r0, #0xc1
|
|
lsl r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
lsl r5, r5, #0xe
|
|
cmp r1, #0
|
|
bne _0222F6DC
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222F6DC:
|
|
add r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
cmp r1, #1
|
|
bne _0222F72A
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
ldr r2, [r4, r1]
|
|
sub r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
add r2, r2, r1
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
str r2, [r4, r1]
|
|
sub r1, r0, #4
|
|
ldr r2, [r4, r1]
|
|
add r1, r2, #0
|
|
add r2, r2, r1
|
|
sub r1, r0, #4
|
|
str r2, [r4, r1]
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
ldr r2, [r4, r1]
|
|
asr r1, r2, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r2, r1
|
|
asr r2, r1, #0xc
|
|
mov r1, #0xfa
|
|
lsl r1, r1, #2
|
|
cmp r2, r1
|
|
ble _0222F764
|
|
mov r2, #0
|
|
add r1, r0, #0
|
|
str r2, [r4, r0]
|
|
sub r1, #8
|
|
str r2, [r4, r1]
|
|
sub r0, r0, #4
|
|
mov r5, #0xa8
|
|
str r2, [r4, r0]
|
|
b _0222F764
|
|
_0222F72A:
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
ldr r2, [r4, r1]
|
|
sub r1, r0, #4
|
|
ldr r1, [r4, r1]
|
|
sub r2, r2, r1
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
str r2, [r4, r1]
|
|
sub r1, r0, #4
|
|
ldr r2, [r4, r1]
|
|
lsr r1, r2, #0x1f
|
|
add r1, r2, r1
|
|
asr r2, r1, #1
|
|
sub r1, r0, #4
|
|
str r2, [r4, r1]
|
|
mov r2, #1
|
|
ldr r1, [r4, r1]
|
|
lsl r2, r2, #0xa
|
|
cmp r1, r2
|
|
bge _0222F764
|
|
mov r1, #0
|
|
lsl r3, r2, #2
|
|
add r2, r0, #0
|
|
str r1, [r4, r0]
|
|
sub r2, #8
|
|
str r3, [r4, r2]
|
|
sub r0, r0, #4
|
|
str r1, [r4, r0]
|
|
_0222F764:
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl sub_02014A4C
|
|
add r2, r0, #0
|
|
mov r0, #0x54
|
|
add r3, r0, #0
|
|
add r3, #0xfc
|
|
_0222F776:
|
|
asr r1, r5, #0xb
|
|
lsr r1, r1, #0x14
|
|
add r1, r5, r1
|
|
asr r1, r1, #0xc
|
|
bpl _0222F782
|
|
mov r1, #0
|
|
_0222F782:
|
|
cmp r1, #0xa8
|
|
ble _0222F788
|
|
mov r1, #0xa8
|
|
_0222F788:
|
|
lsl r6, r3, #1
|
|
add r7, r2, r6
|
|
sub r6, r1, r0
|
|
strh r6, [r7, #6]
|
|
ldrh r6, [r7, #6]
|
|
sub r1, r0, r1
|
|
add r3, r3, #4
|
|
strh r6, [r7, #2]
|
|
mov r6, #0xa8
|
|
sub r6, r6, r0
|
|
lsl r6, r6, #3
|
|
add r6, r2, r6
|
|
strh r1, [r6, #6]
|
|
ldrh r1, [r6, #6]
|
|
add r0, r0, #1
|
|
strh r1, [r6, #2]
|
|
ldr r1, _0222F7D0 ; =0x00000C08
|
|
ldr r1, [r4, r1]
|
|
add r5, r5, r1
|
|
cmp r0, #0xa8
|
|
blt _0222F776
|
|
mov r1, #6
|
|
add r0, r2, #0
|
|
lsl r1, r1, #8
|
|
bl DC_FlushRange
|
|
mov r0, #3
|
|
lsl r0, r0, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl sub_02014A8C
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222F7CC: .word 0x000030E8
|
|
_0222F7D0: .word 0x00000C08
|
|
thumb_func_end ov74_0222F6C4
|
|
|
|
thumb_func_start ov74_0222F7D4
|
|
ov74_0222F7D4: ; 0x0222F7D4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r1, #0
|
|
add r6, r0, #0
|
|
bl OverlayManager_GetData
|
|
ldr r1, [r5]
|
|
add r4, r0, #0
|
|
cmp r1, #0x1e
|
|
bls _0222F7EA
|
|
b _0222FB2C
|
|
_0222F7EA:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_0222F7F6: ; jump table
|
|
.short _0222F834 - _0222F7F6 - 2 ; case 0
|
|
.short _0222F874 - _0222F7F6 - 2 ; case 1
|
|
.short _0222F886 - _0222F7F6 - 2 ; case 2
|
|
.short _0222F8FC - _0222F7F6 - 2 ; case 3
|
|
.short _0222F92E - _0222F7F6 - 2 ; case 4
|
|
.short _0222F956 - _0222F7F6 - 2 ; case 5
|
|
.short _0222F976 - _0222F7F6 - 2 ; case 6
|
|
.short _0222F9AA - _0222F7F6 - 2 ; case 7
|
|
.short _0222F9CE - _0222F7F6 - 2 ; case 8
|
|
.short _0222F9F4 - _0222F7F6 - 2 ; case 9
|
|
.short _0222FA20 - _0222F7F6 - 2 ; case 10
|
|
.short _0222FA5A - _0222F7F6 - 2 ; case 11
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 12
|
|
.short _0222FAD6 - _0222F7F6 - 2 ; case 13
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 14
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 15
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 16
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 17
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 18
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 19
|
|
.short _0222FA7E - _0222F7F6 - 2 ; case 20
|
|
.short _0222FA8A - _0222F7F6 - 2 ; case 21
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 22
|
|
.short _0222FAC6 - _0222F7F6 - 2 ; case 23
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 24
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 25
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 26
|
|
.short _0222FB00 - _0222F7F6 - 2 ; case 27
|
|
.short _0222FB0C - _0222F7F6 - 2 ; case 28
|
|
.short _0222FB1C - _0222F7F6 - 2 ; case 29
|
|
.short _0222FB2C - _0222F7F6 - 2 ; case 30
|
|
_0222F834:
|
|
add r0, r6, #0
|
|
bl OverlayManager_GetArgs
|
|
ldr r1, [r0, #8]
|
|
ldr r0, _0222FB50 ; =0x00002BA4
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
bl Save_MysteryGift_Get
|
|
ldr r1, _0222FB54 ; =0x00002BA0
|
|
str r0, [r4, r1]
|
|
add r0, r1, #4
|
|
ldr r0, [r4, r0]
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
ldr r1, _0222FB58 ; =0x00002BA8
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
bl Options_GetFrame
|
|
ldr r1, _0222FB5C ; =0x00002BAC
|
|
str r0, [r4, r1]
|
|
sub r1, #0xc
|
|
ldr r0, [r4, r1]
|
|
mov r1, #4
|
|
bl SaveMysteryGift_CardGetByIdx
|
|
ldr r1, _0222FB60 ; =0x00002BB4
|
|
str r0, [r4, r1]
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222F874:
|
|
bl ov74_0222FCA4
|
|
ldr r0, _0222FB64 ; =0x000029FC
|
|
ldr r0, [r4, r0]
|
|
bl ov74_0222FCC4
|
|
mov r0, #2
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222F886:
|
|
bl ResetAllTextPrinters
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_0222F314
|
|
mov r1, #0x1e
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x55
|
|
bl LoadFontPal0
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
mov r0, #0x55
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222FB64 ; =0x000029FC
|
|
mov r2, #1
|
|
ldr r0, [r4, r0]
|
|
mov r3, #0xd
|
|
bl LoadUserFrameGfx1
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
mov r0, #0x55
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222FB64 ; =0x000029FC
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r2, #0xa
|
|
mov r3, #0xe
|
|
bl LoadUserFrameGfx1
|
|
ldr r0, _0222FB5C ; =0x00002BAC
|
|
mov r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r2, #0x13
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x55
|
|
str r0, [sp, #4]
|
|
ldr r0, _0222FB64 ; =0x000029FC
|
|
mov r3, #0xa
|
|
ldr r0, [r4, r0]
|
|
bl LoadUserFrameGfx2
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov74_0222F024
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #3
|
|
add r3, r5, #0
|
|
bl ov74_0222EFF0
|
|
b _0222FB2C
|
|
_0222F8FC:
|
|
ldr r0, _0222FB68 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _0222F91A
|
|
ldr r0, _0222FB6C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x1d
|
|
add r3, r5, #0
|
|
bl ov74_0222EFF0
|
|
b _0222FB2C
|
|
_0222F91A:
|
|
mov r0, #1
|
|
tst r0, r1
|
|
bne _0222F922
|
|
b _0222FB2C
|
|
_0222F922:
|
|
ldr r0, _0222FB6C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222F92E:
|
|
ldr r1, _0222FB70 ; =0x00002BC4
|
|
mov r3, #0xa
|
|
add r1, r4, r1
|
|
mov r2, #7
|
|
lsl r3, r3, #6
|
|
bl ov74_0222F1BC
|
|
ldr r3, _0222FB74 ; =0x00002BE4
|
|
mov r2, #8
|
|
add r1, r3, #0
|
|
str r0, [r4, r3]
|
|
sub r1, #0x10
|
|
ldr r3, [r4, r3]
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
bl ov74_0222F1BC
|
|
mov r0, #5
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222F956:
|
|
add r0, r6, #0
|
|
add r1, r5, #0
|
|
mov r2, #0
|
|
bl ov74_0222F404
|
|
ldr r0, _0222FB68 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _0222FA28
|
|
ldr r0, _0222FB6C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #0xb
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222F976:
|
|
ldr r0, _0222FB78 ; =SEQ_SE_DP_CARD2
|
|
bl PlaySE
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222ECEC
|
|
ldr r0, _0222FB7C ; =0x00002BD4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222ECD4
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r2, r1, #0xc
|
|
mov r3, #0x66
|
|
bl ov74_0222F624
|
|
mov r0, #7
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222F9AA:
|
|
bl ov74_0222F6C4
|
|
cmp r0, #0
|
|
beq _0222FA28
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
add r2, r1, #0
|
|
bl ov74_0222F024
|
|
ldr r2, _0222FB80 ; =0x00708000
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsr r3, r2, #1
|
|
bl ov74_0222F624
|
|
mov r0, #8
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222F9CE:
|
|
bl ov74_0222F6C4
|
|
ldr r0, _0222FB68 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0222FA28
|
|
ldr r0, _0222FB78 ; =SEQ_SE_DP_CARD2
|
|
bl PlaySE
|
|
mov r1, #1
|
|
add r0, r4, #0
|
|
lsl r2, r1, #0xc
|
|
mov r3, #0x66
|
|
bl ov74_0222F624
|
|
mov r0, #9
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222F9F4:
|
|
bl ov74_0222F6C4
|
|
cmp r0, #0
|
|
beq _0222FA28
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov74_0222F024
|
|
ldr r2, _0222FB80 ; =0x00708000
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
lsr r3, r2, #1
|
|
bl ov74_0222F624
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r0, #0xa
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222FA20:
|
|
bl ov74_0222F6C4
|
|
cmp r0, #0
|
|
bne _0222FA2A
|
|
_0222FA28:
|
|
b _0222FB2C
|
|
_0222FA2A:
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
mov r2, #0x13
|
|
mov r3, #0xa
|
|
bl DrawFrameAndWindow2
|
|
ldr r0, _0222FB7C ; =0x00002BD4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
mov r2, #0xa
|
|
mov r3, #0xe
|
|
bl DrawFrameAndWindow1
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
add r0, r4, #0
|
|
bl ov74_0222F688
|
|
mov r0, #5
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222FA5A:
|
|
bl ov74_0222EDC0
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222ECEC
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222FA7E:
|
|
mov r1, #0
|
|
mov r2, #0x15
|
|
add r3, r5, #0
|
|
bl ov74_0222EFF0
|
|
b _0222FB2C
|
|
_0222FA8A:
|
|
bl ov74_0222EC60
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222ECEC
|
|
ldr r0, _0222FB7C ; =0x00002BD4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222ECD4
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl ov74_0222F024
|
|
mov r1, #0x1e
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x55
|
|
bl LoadFontPal0
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #4
|
|
add r3, r5, #0
|
|
bl ov74_0222EFF0
|
|
b _0222FB2C
|
|
_0222FAC6:
|
|
bl sub_02037D78
|
|
cmp r0, #0
|
|
bne _0222FB2C
|
|
ldr r0, _0222FB84 ; =0x00002BF8
|
|
ldr r0, [r4, r0]
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222FAD6:
|
|
ldr r0, _0222FB68 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #3
|
|
tst r0, r1
|
|
beq _0222FB2C
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
bl ov74_0222ECEC
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
add r0, r4, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222FB70 ; =0x00002BC4
|
|
add r0, r4, r0
|
|
bl RemoveWindow
|
|
mov r0, #3
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222FB00:
|
|
mov r1, #0
|
|
mov r2, #0x1d
|
|
add r3, r5, #0
|
|
bl ov74_0222EFF0
|
|
b _0222FB2C
|
|
_0222FB0C:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _0222FB2C
|
|
ldr r0, _0222FB84 ; =0x00002BF8
|
|
ldr r0, [r4, r0]
|
|
str r0, [r5]
|
|
b _0222FB2C
|
|
_0222FB1C:
|
|
bl ov74_0222EC60
|
|
add r0, r4, #0
|
|
bl ov74_0222F688
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0222FB2C:
|
|
ldr r0, _0222FB88 ; =0x00002BFC
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222FB38
|
|
bl SpriteList_RenderAndAnimateSprites
|
|
_0222FB38:
|
|
bl ov74_022358BC
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #8
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _0222FB4A
|
|
add r0, r4, #0
|
|
blx r1
|
|
_0222FB4A:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0222FB50: .word 0x00002BA4
|
|
_0222FB54: .word 0x00002BA0
|
|
_0222FB58: .word 0x00002BA8
|
|
_0222FB5C: .word 0x00002BAC
|
|
_0222FB60: .word 0x00002BB4
|
|
_0222FB64: .word 0x000029FC
|
|
_0222FB68: .word gSystem
|
|
_0222FB6C: .word SEQ_SE_DP_SELECT
|
|
_0222FB70: .word 0x00002BC4
|
|
_0222FB74: .word 0x00002BE4
|
|
_0222FB78: .word SEQ_SE_DP_CARD2
|
|
_0222FB7C: .word 0x00002BD4
|
|
_0222FB80: .word 0x00708000
|
|
_0222FB84: .word 0x00002BF8
|
|
_0222FB88: .word 0x00002BFC
|
|
thumb_func_end ov74_0222F7D4
|
|
|
|
thumb_func_start ov74_0222FB8C
|
|
ov74_0222FB8C: ; 0x0222FB8C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
str r0, [sp]
|
|
bl OverlayManager_GetData
|
|
add r7, r0, #0
|
|
ldr r0, _0222FC38 ; =0x00002A08
|
|
mov r6, #0
|
|
add r4, r7, #0
|
|
add r5, r7, r0
|
|
_0222FB9E:
|
|
ldr r0, _0222FC38 ; =0x00002A08
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0222FBB2
|
|
add r0, r5, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r5, #0
|
|
bl RemoveWindow
|
|
_0222FBB2:
|
|
add r6, r6, #1
|
|
add r4, #0x10
|
|
add r5, #0x10
|
|
cmp r6, #0xb
|
|
blo _0222FB9E
|
|
ldr r0, _0222FC3C ; =0x00002BC4
|
|
ldr r1, [r7, r0]
|
|
cmp r1, #0
|
|
beq _0222FBD2
|
|
add r0, r7, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222FC3C ; =0x00002BC4
|
|
add r0, r7, r0
|
|
bl RemoveWindow
|
|
_0222FBD2:
|
|
ldr r0, _0222FC40 ; =0x00002BD4
|
|
ldr r1, [r7, r0]
|
|
cmp r1, #0
|
|
beq _0222FBE8
|
|
add r0, r7, r0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
ldr r0, _0222FC40 ; =0x00002BD4
|
|
add r0, r7, r0
|
|
bl RemoveWindow
|
|
_0222FBE8:
|
|
ldr r0, _0222FC44 ; =0x000029FC
|
|
mov r1, #0
|
|
ldr r0, [r7, r0]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, _0222FC44 ; =0x000029FC
|
|
mov r1, #1
|
|
ldr r0, [r7, r0]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, _0222FC44 ; =0x000029FC
|
|
mov r1, #2
|
|
ldr r0, [r7, r0]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, _0222FC44 ; =0x000029FC
|
|
mov r1, #3
|
|
ldr r0, [r7, r0]
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, _0222FC44 ; =0x000029FC
|
|
ldr r0, [r7, r0]
|
|
bl FreeToHeap
|
|
ldr r0, _0222FC48 ; =FS_OVERLAY_ID(OVY_74)
|
|
ldr r1, _0222FC4C ; =gApp_MainMenu_SelectOption_MysteryGift
|
|
bl RegisterMainOverlay
|
|
mov r0, #0x59
|
|
bl DestroyHeap
|
|
ldr r0, [sp]
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x55
|
|
bl DestroyHeap
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222FC38: .word 0x00002A08
|
|
_0222FC3C: .word 0x00002BC4
|
|
_0222FC40: .word 0x00002BD4
|
|
_0222FC44: .word 0x000029FC
|
|
_0222FC48: .word FS_OVERLAY_ID(OVY_74)
|
|
_0222FC4C: .word gApp_MainMenu_SelectOption_MysteryGift
|
|
thumb_func_end ov74_0222FB8C
|
|
|
|
thumb_func_start ov74_0222FC50
|
|
ov74_0222FC50: ; 0x0222FC50
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
add r7, r1, #0
|
|
add r5, r2, #0
|
|
bl ov74_0222FCC4
|
|
ldr r1, _0222FC98 ; =0x00003D0C
|
|
add r0, r5, #0
|
|
bl AllocFromHeapAtEnd
|
|
ldr r2, _0222FC98 ; =0x00003D0C
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
ldr r0, _0222FC9C ; =0x000029FC
|
|
mov r1, #0x1e
|
|
str r6, [r4, r0]
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
add r2, r5, #0
|
|
str r5, [r4]
|
|
bl LoadFontPal0
|
|
ldr r0, _0222FCA0 ; =0x00002BB4
|
|
mov r1, #1
|
|
str r7, [r4, r0]
|
|
add r0, r4, #0
|
|
mov r2, #0
|
|
bl ov74_0222F024
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_0222FC98: .word 0x00003D0C
|
|
_0222FC9C: .word 0x000029FC
|
|
_0222FCA0: .word 0x00002BB4
|
|
thumb_func_end ov74_0222FC50
|
|
|
|
thumb_func_start ov74_0222FCA4
|
|
ov74_0222FCA4: ; 0x0222FCA4
|
|
push {r4, lr}
|
|
sub sp, #0x28
|
|
ldr r4, _0222FCC0 ; =_0223B4B0
|
|
add r3, sp, #0
|
|
mov r2, #5
|
|
_0222FCAE:
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _0222FCAE
|
|
add r0, sp, #0
|
|
bl GfGfx_SetBanks
|
|
add sp, #0x28
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_0222FCC0: .word _0223B4B0
|
|
thumb_func_end ov74_0222FCA4
|
|
|
|
thumb_func_start ov74_0222FCC4
|
|
ov74_0222FCC4: ; 0x0222FCC4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x80
|
|
ldr r5, _0222FD84 ; =_0223B430
|
|
add r3, sp, #0x70
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r5, _0222FD88 ; =_0223B45C
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _0222FD8C ; =_0223B494
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _0222FD90 ; =_0223B478
|
|
add r3, sp, #0x1c
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _0222FD94 ; =_0223B440
|
|
add r3, sp, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
add sp, #0x80
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0222FD84: .word _0223B430
|
|
_0222FD88: .word _0223B45C
|
|
_0222FD8C: .word _0223B494
|
|
_0222FD90: .word _0223B478
|
|
_0222FD94: .word _0223B440
|
|
thumb_func_end ov74_0222FCC4
|
|
|
|
thumb_func_start ov74_0222FD98
|
|
ov74_0222FD98: ; 0x0222FD98
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r1, #0
|
|
add r7, r0, #0
|
|
bl Save_MysteryGift_Get
|
|
mov r1, #0
|
|
ldr r4, [r5, #0x48]
|
|
mvn r1, r1
|
|
add r6, r0, #0
|
|
cmp r4, r1
|
|
bne _0222FDCC
|
|
add r2, r5, #0
|
|
add r2, #0x4c
|
|
ldrh r2, [r2]
|
|
lsr r1, r1, #0x10
|
|
cmp r2, r1
|
|
bne _0222FDCC
|
|
bl Save_MysteryGift_Init
|
|
add r0, r7, #0
|
|
mov r1, #0
|
|
bl Save_NowWriteFile_AfterMGInit
|
|
mov r0, #0
|
|
bl OS_ResetSystem
|
|
_0222FDCC:
|
|
add r0, r5, #0
|
|
add r0, #0x4c
|
|
ldrh r1, [r0]
|
|
cmp r1, #0x64
|
|
blo _0222FDE0
|
|
cmp r1, #0x98
|
|
bhi _0222FDE0
|
|
mov r0, #0x46
|
|
lsl r0, r0, #6
|
|
orr r4, r0
|
|
_0222FDE0:
|
|
cmp r4, #0
|
|
bne _0222FDE8
|
|
mov r4, #0
|
|
mvn r4, r4
|
|
_0222FDE8:
|
|
#ifdef HEARTGOLD
|
|
mov r0, #0x80
|
|
#else
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
#endif
|
|
tst r0, r4
|
|
bne _0222FDF2
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222FDF2:
|
|
add r0, r5, #0
|
|
add r0, #0x4e
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _0222FE0E
|
|
add r0, r6, #0
|
|
bl SaveMysteryGift_ReceivedFlagTest
|
|
cmp r0, #1
|
|
bne _0222FE0E
|
|
mov r0, #2
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222FE0E:
|
|
add r0, r5, #0
|
|
add r0, #0x4e
|
|
ldrb r0, [r0]
|
|
lsl r0, r0, #0x1d
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _0222FE2A
|
|
add r0, r6, #0
|
|
bl SaveMysteryGift_CardFindAvailable
|
|
cmp r0, #0
|
|
bne _0222FE2A
|
|
mov r0, #4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222FE2A:
|
|
add r0, r6, #0
|
|
bl SaveMysteryGift_FindAvailable
|
|
cmp r0, #0
|
|
bne _0222FE38
|
|
mov r0, #3
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222FE38:
|
|
add r5, #0x4e
|
|
ldrb r0, [r5]
|
|
lsl r0, r0, #0x1a
|
|
lsr r0, r0, #0x1f
|
|
cmp r0, #1
|
|
bne _0222FE48
|
|
mov r0, #5
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222FE48:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_0222FD98
|
|
|
|
thumb_func_start ov74_0222FE4C
|
|
ov74_0222FE4C: ; 0x0222FE4C
|
|
push {r3, lr}
|
|
mov r0, #4
|
|
bl ov74_02231070
|
|
bl ov74_02231724
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222FE4C
|
|
|
|
thumb_func_start ov74_0222FE5C
|
|
ov74_0222FE5C: ; 0x0222FE5C
|
|
push {r3, lr}
|
|
bl ov74_022311F4
|
|
str r0, [sp]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222FE5C
|
|
|
|
thumb_func_start ov74_0222FE68
|
|
ov74_0222FE68: ; 0x0222FE68
|
|
push {r3, lr}
|
|
bl ov74_02231214
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
mov r0, #0
|
|
ldrsh r0, [r1, r0]
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_0222FE68
|
|
|
|
thumb_func_start ov74_0222FE78
|
|
ov74_0222FE78: ; 0x0222FE78
|
|
push {r4, lr}
|
|
bl ov74_0223107C
|
|
cmp r0, #0xc
|
|
bne _0222FE9A
|
|
bl ov74_0223105C
|
|
add r4, r0, #0
|
|
ldr r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
bne _0222FE96
|
|
bl ov74_02231724
|
|
mov r0, #1
|
|
str r0, [r4, #0x1c]
|
|
_0222FE96:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_0222FE9A:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222FE78
|
|
|
|
thumb_func_start ov74_0222FEA0
|
|
ov74_0222FEA0: ; 0x0222FEA0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0223115C
|
|
mov r3, #0
|
|
add r1, r3, #0
|
|
_0222FEAC:
|
|
ldr r2, [r0]
|
|
cmp r2, #0
|
|
beq _0222FEBC
|
|
ldrh r2, [r0, #6]
|
|
cmp r4, r2
|
|
bne _0222FEBC
|
|
strb r1, [r0, #8]
|
|
strb r1, [r0, #0xa]
|
|
_0222FEBC:
|
|
add r3, r3, #1
|
|
add r0, #0xc
|
|
cmp r3, #8
|
|
blt _0222FEAC
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222FEA0
|
|
|
|
thumb_func_start ov74_0222FEC8
|
|
ov74_0222FEC8: ; 0x0222FEC8
|
|
push {r3, lr}
|
|
bl ov74_0223115C
|
|
add r1, r0, #0
|
|
add r1, #0x62
|
|
ldrh r3, [r1]
|
|
mov r2, #1
|
|
add r1, r3, #0
|
|
tst r1, r2
|
|
beq _0222FEEE
|
|
add r1, r0, #0
|
|
add r1, #0x62
|
|
ldrh r3, [r1]
|
|
mov r1, #1
|
|
add r0, #0x62
|
|
bic r3, r1
|
|
strh r3, [r0]
|
|
add r0, r2, #0
|
|
pop {r3, pc}
|
|
_0222FEEE:
|
|
mov r1, #0x40
|
|
add r2, r3, #0
|
|
tst r2, r1
|
|
beq _0222FF08
|
|
add r1, r0, #0
|
|
add r1, #0x62
|
|
ldrh r2, [r1]
|
|
mov r1, #0x40
|
|
add r0, #0x62
|
|
bic r2, r1
|
|
strh r2, [r0]
|
|
mov r0, #7
|
|
pop {r3, pc}
|
|
_0222FF08:
|
|
lsl r1, r1, #6
|
|
tst r1, r3
|
|
beq _0222FF20
|
|
add r1, r0, #0
|
|
add r1, #0x62
|
|
ldrh r2, [r1]
|
|
ldr r1, _0222FF24 ; =0xFFFFEFFF
|
|
add r0, #0x62
|
|
and r1, r2
|
|
strh r1, [r0]
|
|
mov r0, #0xd
|
|
pop {r3, pc}
|
|
_0222FF20:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0222FF24: .word 0xFFFFEFFF
|
|
thumb_func_end ov74_0222FEC8
|
|
|
|
thumb_func_start ov74_0222FF28
|
|
ov74_0222FF28: ; 0x0222FF28
|
|
push {r4, lr}
|
|
bl ov74_0223115C
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
add r0, #0x60
|
|
strb r1, [r0]
|
|
bl WM_GetAllowedChannel
|
|
add r1, r4, #0
|
|
add r1, #0x62
|
|
strh r0, [r1]
|
|
add r0, r4, #0
|
|
add r0, #0x62
|
|
ldrh r1, [r0]
|
|
cmp r1, #0
|
|
beq _0222FF52
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
cmp r1, r0
|
|
bne _0222FF56
|
|
_0222FF52:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_0222FF56:
|
|
add r0, r4, #0
|
|
mov r1, #0x66
|
|
add r0, #0x61
|
|
strb r1, [r0]
|
|
mov r0, #0
|
|
add r4, #0x64
|
|
strb r0, [r4]
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0222FF28
|
|
|
|
thumb_func_start ov74_0222FF68
|
|
ov74_0222FF68: ; 0x0222FF68
|
|
push {r4, lr}
|
|
bl ov74_02231054
|
|
add r4, r0, #0
|
|
bl WM_GetDispersionBeaconPeriod
|
|
strh r0, [r4, #0x18]
|
|
bl WM_GetNextTgid
|
|
strh r0, [r4, #0xc]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222FF68
|
|
|
|
thumb_func_start ov74_0222FF80
|
|
ov74_0222FF80: ; 0x0222FF80
|
|
push {r4, lr}
|
|
bl ov74_022310C4
|
|
add r4, r0, #0
|
|
bl ov74_02231100
|
|
str r0, [r4]
|
|
bl ov74_02231054
|
|
ldrh r0, [r0, #0x32]
|
|
strh r0, [r4, #4]
|
|
bl WM_GetDispersionScanPeriod
|
|
strh r0, [r4, #6]
|
|
mov r0, #0xff
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #9]
|
|
strb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
strb r0, [r4, #0xc]
|
|
strb r0, [r4, #0xd]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0222FF80
|
|
|
|
thumb_func_start ov74_0222FFAC
|
|
ov74_0222FFAC: ; 0x0222FFAC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
bl ov74_022310C4
|
|
add r7, r0, #0
|
|
bl WM_GetAllowedChannel
|
|
add r3, r0, #0
|
|
beq _0222FFF8
|
|
ldrh r2, [r7, #4]
|
|
mov r1, #0
|
|
mov r0, #1
|
|
mov ip, r2
|
|
mov r4, #0x1c
|
|
_0222FFC6:
|
|
lsr r6, r2, #0x1f
|
|
lsl r5, r2, #0x1c
|
|
sub r5, r5, r6
|
|
ror r5, r4
|
|
add r5, r6, r5
|
|
add r6, r0, #0
|
|
lsl r6, r5
|
|
add r5, r3, #0
|
|
tst r5, r6
|
|
beq _0222FFF0
|
|
mov r0, ip
|
|
add r0, r0, r1
|
|
lsr r2, r0, #0x1f
|
|
lsl r1, r0, #0x1c
|
|
sub r1, r1, r2
|
|
mov r0, #0x1c
|
|
ror r1, r0
|
|
add r0, r2, r1
|
|
add r0, r0, #1
|
|
strh r0, [r7, #4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0222FFF0:
|
|
add r1, r1, #1
|
|
add r2, r2, #1
|
|
cmp r1, #0x10
|
|
blt _0222FFC6
|
|
_0222FFF8:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222FFAC
|
|
|
|
thumb_func_start ov74_0222FFFC
|
|
ov74_0222FFFC: ; 0x0222FFFC
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #4]
|
|
bl ov74_0223144C
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #8
|
|
bne _02230014
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_02230014:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0222FFFC
|
|
|
|
thumb_func_start ov74_02230018
|
|
ov74_02230018: ; 0x02230018
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #8]
|
|
bl ov74_0223144C
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
beq _0223002C
|
|
bl ov74_02231448
|
|
_0223002C:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230018
|
|
|
|
thumb_func_start ov74_02230030
|
|
ov74_02230030: ; 0x02230030
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
bne _02230066
|
|
mov r0, #2
|
|
bl ov74_02231070
|
|
bl ov74_0223107C
|
|
cmp r0, #0xc
|
|
bne _02230052
|
|
bl ov74_022314BC
|
|
mov r0, #2
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
_02230052:
|
|
bl ov74_022316E8
|
|
cmp r0, #0
|
|
bne _0223006E
|
|
bl ov74_022314BC
|
|
mov r0, #2
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
_02230066:
|
|
bl ov74_02231448
|
|
bl ov74_022314BC
|
|
_0223006E:
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230030
|
|
|
|
thumb_func_start ov74_02230070
|
|
ov74_02230070: ; 0x02230070
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
bne _0223009A
|
|
bl ov74_0223107C
|
|
cmp r0, #0xc
|
|
bne _02230092
|
|
bl WM_Finish
|
|
mov r0, #0xc
|
|
bl ov74_02231070
|
|
mov r0, #1
|
|
bl ov74_0223113C
|
|
pop {r3, pc}
|
|
_02230092:
|
|
mov r0, #1
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
_0223009A:
|
|
bl ov74_02231448
|
|
mov r0, #4
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230070
|
|
|
|
thumb_func_start ov74_022300A8
|
|
ov74_022300A8: ; 0x022300A8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0
|
|
bne _02230106
|
|
bl ov74_0223115C
|
|
add r4, r0, #0
|
|
add r0, #0x61
|
|
ldrh r1, [r5, #0xa]
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
ble _022300D0
|
|
add r0, r4, #0
|
|
add r0, #0x61
|
|
strb r1, [r0]
|
|
add r0, r4, #0
|
|
ldrh r1, [r5, #8]
|
|
add r0, #0x64
|
|
strb r1, [r0]
|
|
_022300D0:
|
|
bl ov74_0222FEC8
|
|
cmp r0, #0
|
|
beq _022300E6
|
|
bl ov74_022314DC
|
|
cmp r0, #0
|
|
bne _0223010E
|
|
bl ov74_0222FE4C
|
|
pop {r3, r4, r5, pc}
|
|
_022300E6:
|
|
add r4, #0x61
|
|
ldrb r0, [r4]
|
|
cmp r0, #0x66
|
|
bhs _02230100
|
|
bl ov74_0222FF68
|
|
bl ov74_02231508
|
|
cmp r0, #0
|
|
bne _0223010E
|
|
bl ov74_0222FE4C
|
|
pop {r3, r4, r5, pc}
|
|
_02230100:
|
|
bl ov74_0222FE4C
|
|
pop {r3, r4, r5, pc}
|
|
_02230106:
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_0223010E:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_022300A8
|
|
|
|
thumb_func_start ov74_02230110
|
|
ov74_02230110: ; 0x02230110
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
bne _0223012E
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
bne _02230136
|
|
bl ov74_02231544
|
|
cmp r0, #0
|
|
bne _02230136
|
|
bl ov74_0222FE4C
|
|
pop {r3, pc}
|
|
_0223012E:
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_02230136:
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230110
|
|
|
|
thumb_func_start ov74_02230138
|
|
ov74_02230138: ; 0x02230138
|
|
push {r4, r5, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
ldrh r0, [r5, #8]
|
|
bl ov74_0223144C
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0
|
|
beq _0223014C
|
|
b _0223025E
|
|
_0223014C:
|
|
bl ov74_0223115C
|
|
add r4, r0, #0
|
|
mov r0, #8
|
|
bl ov74_02231070
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
beq _02230162
|
|
b _02230266
|
|
_02230162:
|
|
add r0, r4, #0
|
|
add r0, #0x60
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _02230174
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r0, #0x60
|
|
strb r1, [r0]
|
|
_02230174:
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #7
|
|
bgt _0223018C
|
|
bge _022301AE
|
|
cmp r0, #2
|
|
bgt _02230266
|
|
cmp r0, #0
|
|
blt _02230266
|
|
beq _02230194
|
|
add sp, #0xc
|
|
cmp r0, #2
|
|
pop {r4, r5, pc}
|
|
_0223018C:
|
|
cmp r0, #9
|
|
beq _02230254
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
_02230194:
|
|
bl ov74_02231670
|
|
cmp r0, #0
|
|
bne _022301A4
|
|
bl ov74_0222FE4C
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
_022301A4:
|
|
mov r0, #0
|
|
bl ov74_0223110C
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
_022301AE:
|
|
bl ov74_0223115C
|
|
bl ov74_02231458
|
|
add r4, #0x60
|
|
ldrb r0, [r4]
|
|
cmp r0, #2
|
|
bne _02230266
|
|
add r4, r5, #0
|
|
add r4, #0x14
|
|
bl ov74_022311AC
|
|
ldr r1, [r5, #0x14]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, r0
|
|
bne _02230266
|
|
bl ov74_022311BC
|
|
ldr r1, [r4]
|
|
lsl r1, r1, #0x14
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, r0
|
|
bhi _02230266
|
|
bl ov74_022311CC
|
|
ldr r1, [r4, #4]
|
|
lsr r1, r1, #0x10
|
|
cmp r1, r0
|
|
bne _02230266
|
|
bl ov74_0223115C
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
add r0, #0xa
|
|
bl ov74_0222FE5C
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
add r0, #0xa
|
|
bl ov74_0222FE68
|
|
add r1, sp, #0
|
|
strh r0, [r1]
|
|
ldrh r0, [r1]
|
|
ldr r2, [sp, #8]
|
|
add r3, r4, #0
|
|
strh r0, [r1, #2]
|
|
mov r0, #0
|
|
_02230212:
|
|
ldr r1, [r3]
|
|
cmp r1, r2
|
|
bne _0223022A
|
|
mov r1, #0xc
|
|
mul r1, r0
|
|
ldrh r0, [r5, #0x10]
|
|
add r1, r4, r1
|
|
add sp, #0xc
|
|
strh r0, [r1, #6]
|
|
mov r0, #1
|
|
strb r0, [r1, #0xa]
|
|
pop {r4, r5, pc}
|
|
_0223022A:
|
|
cmp r1, #0
|
|
bne _02230248
|
|
mov r1, #0xc
|
|
mul r1, r0
|
|
str r2, [r4, r1]
|
|
add r0, sp, #0
|
|
ldrh r0, [r0, #2]
|
|
add r1, r4, r1
|
|
add sp, #0xc
|
|
strh r0, [r1, #4]
|
|
ldrh r0, [r5, #0x10]
|
|
strh r0, [r1, #6]
|
|
mov r0, #1
|
|
strb r0, [r1, #0xa]
|
|
pop {r4, r5, pc}
|
|
_02230248:
|
|
add r0, r0, #1
|
|
add r3, #0xc
|
|
cmp r0, #8
|
|
blt _02230212
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
_02230254:
|
|
ldrh r0, [r5, #0x10]
|
|
bl ov74_0222FEA0
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
_0223025E:
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_02230266:
|
|
add sp, #0xc
|
|
pop {r4, r5, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230138
|
|
|
|
thumb_func_start ov74_0223026C
|
|
ov74_0223026C: ; 0x0223026C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r4, r1, #0
|
|
str r0, [sp]
|
|
bl ov74_02231154
|
|
add r7, r0, #0
|
|
add r0, r4, #4
|
|
bl ov74_0222FE5C
|
|
str r0, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, r4, #4
|
|
bl ov74_0222FE68
|
|
add r2, sp, #4
|
|
strh r0, [r2]
|
|
ldrh r0, [r2]
|
|
ldr r6, [sp, #0xc]
|
|
add r1, r7, #0
|
|
strh r0, [r2, #2]
|
|
ldrh r3, [r2, #2]
|
|
mov r0, #0
|
|
_0223029A:
|
|
ldr r2, [r1]
|
|
add r5, r1, #0
|
|
add r5, #0x34
|
|
cmp r2, r6
|
|
bne _022302B0
|
|
ldrh r5, [r5]
|
|
cmp r5, r3
|
|
bne _022302B0
|
|
add sp, #0x10
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022302B0:
|
|
cmp r2, #0
|
|
bne _022302FC
|
|
mov r1, #0x38
|
|
mul r1, r0
|
|
ldr r0, [sp, #0xc]
|
|
add r5, r4, #0
|
|
str r0, [r7, r1]
|
|
add r0, r7, r1
|
|
add r5, #0x58
|
|
add r3, r0, #4
|
|
mov r2, #0xc
|
|
_022302C6:
|
|
ldrh r0, [r5]
|
|
add r5, r5, #2
|
|
strh r0, [r3]
|
|
add r3, r3, #2
|
|
sub r2, r2, #1
|
|
bne _022302C6
|
|
add r3, r7, r1
|
|
add r4, #0x70
|
|
add r3, #0x1c
|
|
mov r2, #0xc
|
|
_022302DA:
|
|
ldrh r0, [r4]
|
|
add r4, r4, #2
|
|
strh r0, [r3]
|
|
add r3, r3, #2
|
|
sub r2, r2, #1
|
|
bne _022302DA
|
|
add r0, sp, #4
|
|
ldrh r0, [r0, #2]
|
|
add r1, r7, r1
|
|
strh r0, [r1, #0x34]
|
|
ldr r0, [sp]
|
|
add r1, #0x36
|
|
ldrh r0, [r0, #0x12]
|
|
add sp, #0x10
|
|
strb r0, [r1]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022302FC:
|
|
add r0, r0, #1
|
|
add r1, #0x38
|
|
cmp r0, #8
|
|
blt _0223029A
|
|
mov r0, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0223026C
|
|
|
|
thumb_func_start ov74_0223030C
|
|
ov74_0223030C: ; 0x0223030C
|
|
push {r3, lr}
|
|
bl ov74_0222FFAC
|
|
bl ov74_02231560
|
|
cmp r0, #0
|
|
bne _0223031E
|
|
bl ov74_0222FE4C
|
|
_0223031E:
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_0223030C
|
|
|
|
thumb_func_start ov74_02230320
|
|
ov74_02230320: ; 0x02230320
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
bl ov74_02231100
|
|
add r4, r0, #0
|
|
bl ov74_02231154
|
|
add r5, r0, #0
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
beq _0223033C
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0223033C:
|
|
mov r1, #0
|
|
add r2, r1, #0
|
|
add r3, r5, #0
|
|
_02230342:
|
|
ldr r0, [r3]
|
|
cmp r0, #0
|
|
beq _0223034C
|
|
mov r1, #1
|
|
b _02230354
|
|
_0223034C:
|
|
add r2, r2, #1
|
|
add r3, #0x38
|
|
cmp r2, #8
|
|
blt _02230342
|
|
_02230354:
|
|
cmp r1, #0
|
|
beq _02230372
|
|
mov r0, #7
|
|
lsl r0, r0, #6
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _02230372
|
|
bl ov74_0223161C
|
|
cmp r0, #0
|
|
bne _0223036E
|
|
bl ov74_0222FE4C
|
|
_0223036E:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02230372:
|
|
add r0, r4, #0
|
|
mov r1, #0xc0
|
|
bl DC_InvalidateRange
|
|
bl ov74_02231154
|
|
bl ov74_02231454
|
|
ldrh r0, [r6, #0x36]
|
|
cmp r0, #8
|
|
blo _022303FC
|
|
bl ov74_022311A0
|
|
ldr r1, [r4, #0x44]
|
|
cmp r1, r0
|
|
bne _022303FC
|
|
add r5, r4, #0
|
|
add r5, #0x50
|
|
bl ov74_022311AC
|
|
ldr r1, [r4, #0x50]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, r0
|
|
bne _022303FC
|
|
bl ov74_022311BC
|
|
ldr r1, [r5]
|
|
lsl r1, r1, #0x14
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, r0
|
|
bhi _022303FC
|
|
bl ov74_022311CC
|
|
ldr r1, [r5, #4]
|
|
lsr r1, r1, #0x10
|
|
cmp r1, r0
|
|
bne _022303FC
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl ov74_0223026C
|
|
cmp r0, #0
|
|
beq _022303EC
|
|
bl ov74_02231154
|
|
ldr r1, _02230400 ; =0x000001C2
|
|
ldrb r2, [r0, r1]
|
|
add r2, r2, #1
|
|
strb r2, [r0, r1]
|
|
ldrb r0, [r0, r1]
|
|
cmp r0, #0x1c
|
|
bls _022303FC
|
|
bl ov74_0223161C
|
|
cmp r0, #0
|
|
bne _022303FC
|
|
bl ov74_0222FE4C
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_022303EC:
|
|
bl ov74_0223161C
|
|
cmp r0, #0
|
|
bne _022303F8
|
|
bl ov74_0222FE4C
|
|
_022303F8:
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_022303FC:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02230400: .word 0x000001C2
|
|
thumb_func_end ov74_02230320
|
|
|
|
thumb_func_start ov74_02230404
|
|
ov74_02230404: ; 0x02230404
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #8]
|
|
bl ov74_0223144C
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _0223046A
|
|
bl ov74_02231100
|
|
bl ov74_02231450
|
|
mov r0, #6
|
|
bl ov74_02231070
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
bne _02230472
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
bne _02230444
|
|
bl ov74_02231154
|
|
ldr r2, _02230474 ; =0x000001C3
|
|
mov r1, #0xf0
|
|
ldrb r3, [r0, r2]
|
|
bic r3, r1
|
|
mov r1, #0x10
|
|
orr r1, r3
|
|
strb r1, [r0, r2]
|
|
_02230444:
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #4
|
|
beq _02230458
|
|
cmp r0, #5
|
|
bne _0223045E
|
|
add r0, r4, #0
|
|
bl ov74_02230320
|
|
cmp r0, #0
|
|
bne _02230472
|
|
_02230458:
|
|
bl ov74_0223030C
|
|
pop {r4, pc}
|
|
_0223045E:
|
|
ldrh r0, [r4, #2]
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
pop {r4, pc}
|
|
_0223046A:
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_02230472:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02230474: .word 0x000001C3
|
|
thumb_func_end ov74_02230404
|
|
|
|
thumb_func_start ov74_02230478
|
|
ov74_02230478: ; 0x02230478
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
bl ov74_02231100
|
|
add r4, r0, #0
|
|
bl ov74_02231154
|
|
add r6, r0, #0
|
|
bl ov74_02231054
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
beq _0223049A
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_0223049A:
|
|
add r0, r4, #0
|
|
mov r1, #0xc0
|
|
bl DC_InvalidateRange
|
|
bl ov74_02231154
|
|
bl ov74_02231454
|
|
ldrh r0, [r4, #0x3c]
|
|
cmp r0, #8
|
|
blo _02230514
|
|
bl ov74_022311A0
|
|
ldr r1, [r4, #0x44]
|
|
cmp r1, r0
|
|
bne _02230514
|
|
add r5, r4, #0
|
|
add r5, #0x50
|
|
bl ov74_022311AC
|
|
ldr r1, [r4, #0x50]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, r0
|
|
bne _02230514
|
|
bl ov74_022311BC
|
|
ldr r1, [r5]
|
|
lsl r1, r1, #0x14
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, r0
|
|
bhi _02230514
|
|
bl ov74_022311CC
|
|
ldr r1, [r5, #4]
|
|
lsr r1, r1, #0x10
|
|
cmp r1, r0
|
|
bne _02230514
|
|
add r0, r4, #4
|
|
bl ov74_0222FE5C
|
|
ldr r1, _0223051C ; =0x000001C3
|
|
str r0, [sp]
|
|
ldrb r1, [r6, r1]
|
|
str r0, [sp, #4]
|
|
lsl r1, r1, #0x1c
|
|
lsr r2, r1, #0x1c
|
|
mov r1, #0x38
|
|
mul r1, r2
|
|
ldr r1, [r6, r1]
|
|
cmp r1, r0
|
|
bne _02230514
|
|
bl ov74_0223161C
|
|
cmp r0, #0
|
|
bne _0223050E
|
|
bl ov74_0222FE4C
|
|
_0223050E:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02230514:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0223051C: .word 0x000001C3
|
|
thumb_func_end ov74_02230478
|
|
|
|
thumb_func_start ov74_02230520
|
|
ov74_02230520: ; 0x02230520
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #8]
|
|
bl ov74_0223144C
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _02230580
|
|
bl ov74_02231154
|
|
ldr r2, _0223058C ; =0x000001C3
|
|
mov r1, #0xf0
|
|
ldrb r3, [r0, r2]
|
|
bic r3, r1
|
|
mov r1, #0x20
|
|
orr r1, r3
|
|
strb r1, [r0, r2]
|
|
mov r0, #6
|
|
bl ov74_02231070
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
bne _02230588
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #4
|
|
beq _02230562
|
|
cmp r0, #5
|
|
bne _02230574
|
|
bl ov74_02230478
|
|
cmp r0, #0
|
|
bne _02230588
|
|
_02230562:
|
|
bl ov74_0222FFAC
|
|
bl ov74_02231584
|
|
cmp r0, #0
|
|
bne _02230588
|
|
bl ov74_0222FE4C
|
|
pop {r4, pc}
|
|
_02230574:
|
|
ldrh r0, [r4, #2]
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
pop {r4, pc}
|
|
_02230580:
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_02230588:
|
|
pop {r4, pc}
|
|
nop
|
|
_0223058C: .word 0x000001C3
|
|
thumb_func_end ov74_02230520
|
|
|
|
thumb_func_start ov74_02230590
|
|
ov74_02230590: ; 0x02230590
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
bne _022305D4
|
|
mov r0, #7
|
|
bl ov74_02231070
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
bne _022305DC
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
bne _022305DC
|
|
bl ov74_02231154
|
|
ldr r1, _022305E0 ; =0x000001C3
|
|
ldrb r0, [r0, r1]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #2
|
|
bne _022305DC
|
|
bl ov74_02231638
|
|
cmp r0, #0
|
|
bne _022305CC
|
|
bl ov74_0222FE4C
|
|
pop {r3, pc}
|
|
_022305CC:
|
|
mov r0, #3
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
_022305D4:
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_022305DC:
|
|
pop {r3, pc}
|
|
nop
|
|
_022305E0: .word 0x000001C3
|
|
thumb_func_end ov74_02230590
|
|
|
|
thumb_func_start ov74_022305E4
|
|
ov74_022305E4: ; 0x022305E4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #8]
|
|
bl ov74_0223144C
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _0223066A
|
|
mov r0, #9
|
|
bl ov74_02231070
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
bne _02230672
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #9
|
|
bhi _0223065E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02230614: ; jump table
|
|
.short _0223065E - _02230614 - 2 ; case 0
|
|
.short _0223065E - _02230614 - 2 ; case 1
|
|
.short _0223065E - _02230614 - 2 ; case 2
|
|
.short _0223065E - _02230614 - 2 ; case 3
|
|
.short _0223065E - _02230614 - 2 ; case 4
|
|
.short _0223065E - _02230614 - 2 ; case 5
|
|
.short _02230672 - _02230614 - 2 ; case 6
|
|
.short _02230628 - _02230614 - 2 ; case 7
|
|
.short _02230672 - _02230614 - 2 ; case 8
|
|
.short _02230648 - _02230614 - 2 ; case 9
|
|
_02230628:
|
|
ldrh r0, [r4, #0xa]
|
|
bl ov74_0223110C
|
|
mov r0, #1
|
|
bl ov74_02231124
|
|
mov r0, #0
|
|
bl ov74_02231130
|
|
bl ov74_02231670
|
|
cmp r0, #0
|
|
bne _02230672
|
|
bl ov74_0222FE4C
|
|
pop {r4, pc}
|
|
_02230648:
|
|
bl ov74_02231118
|
|
cmp r0, #0
|
|
beq _02230656
|
|
mov r0, #1
|
|
bl ov74_02231130
|
|
_02230656:
|
|
mov r0, #0
|
|
bl ov74_02231124
|
|
pop {r4, pc}
|
|
_0223065E:
|
|
ldrh r0, [r4, #2]
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
pop {r4, pc}
|
|
_0223066A:
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_02230672:
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_022305E4
|
|
|
|
thumb_func_start ov74_02230674
|
|
ov74_02230674: ; 0x02230674
|
|
push {r3, lr}
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
beq _022306AE
|
|
cmp r0, #2
|
|
bne _022306C6
|
|
bl ov74_0222FF28
|
|
cmp r0, #0
|
|
beq _022306A8
|
|
bl ov74_0222FEC8
|
|
bl ov74_022314DC
|
|
cmp r0, #0
|
|
beq _022306A8
|
|
bl ov74_0223115C
|
|
mov r1, #1
|
|
add r0, #0x60
|
|
strb r1, [r0]
|
|
mov r0, #3
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
_022306A8:
|
|
bl ov74_0222FE4C
|
|
pop {r3, pc}
|
|
_022306AE:
|
|
bl ov74_0222FF80
|
|
bl ov74_02231560
|
|
cmp r0, #0
|
|
bne _022306C0
|
|
bl ov74_0222FE4C
|
|
pop {r3, pc}
|
|
_022306C0:
|
|
mov r0, #3
|
|
bl ov74_02231070
|
|
_022306C6:
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230674
|
|
|
|
thumb_func_start ov74_022306C8
|
|
ov74_022306C8: ; 0x022306C8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #4]
|
|
bl ov74_0223144C
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _02230702
|
|
ldrh r0, [r4]
|
|
cmp r0, #0xe
|
|
bne _022306E6
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
bne _02230712
|
|
_022306E6:
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
beq _022306FA
|
|
cmp r0, #2
|
|
bne _02230712
|
|
mov r0, #0xa
|
|
bl ov74_02231070
|
|
pop {r4, pc}
|
|
_022306FA:
|
|
mov r0, #0xb
|
|
bl ov74_02231070
|
|
pop {r4, pc}
|
|
_02230702:
|
|
cmp r0, #9
|
|
beq _02230712
|
|
cmp r0, #0xd
|
|
beq _02230712
|
|
cmp r0, #0xf
|
|
beq _02230712
|
|
bl ov74_0222FE4C
|
|
_02230712:
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_022306C8
|
|
|
|
thumb_func_start ov74_02230714
|
|
ov74_02230714: ; 0x02230714
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
bl ov74_02231184
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #1
|
|
bne _0223078A
|
|
ldrh r1, [r6, #0x10]
|
|
ldr r0, [r6, #0xc]
|
|
ldr r5, [r4, #0xc]
|
|
bl DC_FlushRange
|
|
ldrh r2, [r6, #0x10]
|
|
ldr r0, [r6, #0xc]
|
|
ldr r1, [r4, #0xc]
|
|
bl MI_CpuCopy8
|
|
bl ov74_022311AC
|
|
ldr r1, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, r0
|
|
bne _0223078A
|
|
bl ov74_022311BC
|
|
ldr r1, [r5]
|
|
lsl r1, r1, #0x14
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, r0
|
|
bhi _0223078A
|
|
ldr r0, [r4, #0xc]
|
|
bl ov74_022313F0
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldrb r0, [r4, #0x1c]
|
|
cmp r1, r0
|
|
bne _0223078A
|
|
ldr r0, [r4, #0xc]
|
|
bl ov74_0223145C
|
|
ldr r0, [r4, #0xc]
|
|
bl ov74_02231424
|
|
cmp r0, #0
|
|
beq _02230786
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _02230786
|
|
mov r0, #2
|
|
strb r0, [r4, #0x19]
|
|
pop {r4, r5, r6, pc}
|
|
_02230786:
|
|
mov r0, #0
|
|
strb r0, [r4, #0x19]
|
|
_0223078A:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov74_02230714
|
|
|
|
thumb_func_start ov74_0223078C
|
|
ov74_0223078C: ; 0x0223078C
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
bl ov74_02231184
|
|
add r4, r0, #0
|
|
bl ov74_02231094
|
|
cmp r0, #2
|
|
bne _02230814
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #2
|
|
beq _02230814
|
|
ldrh r1, [r6, #0x10]
|
|
ldr r0, [r6, #0xc]
|
|
ldr r5, [r4, #0xc]
|
|
bl DC_FlushRange
|
|
ldrh r2, [r6, #0x10]
|
|
ldr r0, [r6, #0xc]
|
|
ldr r1, [r4, #0xc]
|
|
bl MI_CpuCopy8
|
|
bl ov74_022311AC
|
|
ldr r1, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, r0
|
|
bne _02230814
|
|
bl ov74_022311BC
|
|
ldr r1, [r5]
|
|
lsl r1, r1, #0x14
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, r0
|
|
bhi _02230814
|
|
ldr r0, [r4, #0xc]
|
|
bl ov74_022313F0
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0xfd
|
|
bne _02230814
|
|
bl ov74_0223115C
|
|
ldrh r5, [r6, #0x12]
|
|
mov r2, #0
|
|
add r3, r0, #0
|
|
_022307EE:
|
|
ldrh r1, [r3, #6]
|
|
cmp r5, r1
|
|
bne _0223080C
|
|
mov r1, #0xc
|
|
mul r1, r2
|
|
add r1, r0, r1
|
|
mov r2, #1
|
|
strb r2, [r1, #8]
|
|
mov r0, #3
|
|
strb r0, [r1, #9]
|
|
mov r0, #0xb4
|
|
strb r0, [r4, #0x1a]
|
|
mov r0, #0
|
|
strb r0, [r4, #0x19]
|
|
pop {r4, r5, r6, pc}
|
|
_0223080C:
|
|
add r2, r2, #1
|
|
add r3, #0xc
|
|
cmp r2, #8
|
|
blt _022307EE
|
|
_02230814:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0223078C
|
|
|
|
thumb_func_start ov74_02230818
|
|
ov74_02230818: ; 0x02230818
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
bl ov74_02231184
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #0x1c]
|
|
cmp r0, #0xfd
|
|
bne _02230830
|
|
add r0, r6, #0
|
|
bl ov74_0223078C
|
|
pop {r4, r5, r6, pc}
|
|
_02230830:
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #1
|
|
beq _0223083C
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #3
|
|
bne _022308D8
|
|
_0223083C:
|
|
ldrb r0, [r4, #0x1b]
|
|
cmp r0, #0
|
|
bne _022308D8
|
|
ldrh r1, [r6, #0x10]
|
|
ldr r0, [r6, #0xc]
|
|
ldr r5, [r4, #0xc]
|
|
bl DC_FlushRange
|
|
ldrh r2, [r6, #0x10]
|
|
ldr r0, [r6, #0xc]
|
|
ldr r1, [r4, #0xc]
|
|
bl MI_CpuCopy8
|
|
bl ov74_022311AC
|
|
ldr r1, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
cmp r1, r0
|
|
bne _022308D8
|
|
bl ov74_022311BC
|
|
ldr r1, [r5]
|
|
lsl r1, r1, #0x14
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, r0
|
|
bhi _022308D8
|
|
ldr r0, [r4, #0xc]
|
|
bl ov74_022313F0
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
ldrb r0, [r4, #0x1c]
|
|
cmp r1, r0
|
|
bne _022308D8
|
|
ldr r0, [r4, #0xc]
|
|
bl ov74_0223145C
|
|
mov r0, #0
|
|
strb r0, [r4, #0x19]
|
|
ldr r0, [r4, #0xc]
|
|
bl ov74_02231424
|
|
cmp r0, #0
|
|
beq _022308CA
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
cmp r0, #0xfd
|
|
bne _022308AA
|
|
add r0, r6, #0
|
|
bl ov74_0223078C
|
|
b _022308BC
|
|
_022308AA:
|
|
ldr r2, [r5, #0xc]
|
|
ldr r1, [r4, #0xc]
|
|
lsl r0, r2, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r0, r1, r0
|
|
ldr r1, [r4, #4]
|
|
lsr r2, r2, #8
|
|
bl MI_CpuCopy8
|
|
_022308BC:
|
|
ldr r1, [r5, #8]
|
|
ldr r0, _022308DC ; =0xFFFF00FF
|
|
and r0, r1
|
|
str r0, [r5, #8]
|
|
mov r0, #4
|
|
strb r0, [r4, #0x1b]
|
|
pop {r4, r5, r6, pc}
|
|
_022308CA:
|
|
ldr r1, [r5, #8]
|
|
ldr r0, _022308DC ; =0xFFFF00FF
|
|
and r1, r0
|
|
mov r0, #1
|
|
lsl r0, r0, #8
|
|
orr r0, r1
|
|
str r0, [r5, #8]
|
|
_022308D8:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_022308DC: .word 0xFFFF00FF
|
|
thumb_func_end ov74_02230818
|
|
|
|
thumb_func_start ov74_022308E0
|
|
ov74_022308E0: ; 0x022308E0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #4]
|
|
bl ov74_0223144C
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _02230962
|
|
ldrh r0, [r4, #4]
|
|
cmp r0, #7
|
|
beq _0223092A
|
|
cmp r0, #9
|
|
beq _02230938
|
|
cmp r0, #0x15
|
|
bne _02230962
|
|
bl ov74_02231064
|
|
cmp r0, #0xa
|
|
beq _0223090A
|
|
cmp r0, #0xb
|
|
bne _02230962
|
|
_0223090A:
|
|
bl ov74_02231184
|
|
ldrb r0, [r0, #0x18]
|
|
cmp r0, #1
|
|
beq _0223091A
|
|
cmp r0, #2
|
|
beq _02230922
|
|
pop {r4, pc}
|
|
_0223091A:
|
|
add r0, r4, #0
|
|
bl ov74_02230714
|
|
pop {r4, pc}
|
|
_02230922:
|
|
add r0, r4, #0
|
|
bl ov74_02230818
|
|
pop {r4, pc}
|
|
_0223092A:
|
|
mov r0, #1
|
|
bl ov74_02231124
|
|
mov r0, #0
|
|
bl ov74_02231130
|
|
pop {r4, pc}
|
|
_02230938:
|
|
bl ov74_02231118
|
|
cmp r0, #0
|
|
beq _02230946
|
|
mov r0, #1
|
|
bl ov74_02231130
|
|
_02230946:
|
|
bl ov74_02231064
|
|
cmp r0, #0xa
|
|
beq _02230954
|
|
cmp r0, #0xb
|
|
beq _0223095C
|
|
pop {r4, pc}
|
|
_02230954:
|
|
ldrh r0, [r4, #0x12]
|
|
bl ov74_0222FEA0
|
|
pop {r4, pc}
|
|
_0223095C:
|
|
mov r0, #0
|
|
bl ov74_02231124
|
|
_02230962:
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_022308E0
|
|
|
|
thumb_func_start ov74_02230964
|
|
ov74_02230964: ; 0x02230964
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
bne _0223097A
|
|
bl ov74_0222FE78
|
|
cmp r0, #0
|
|
bne _02230984
|
|
bl ov74_02230674
|
|
pop {r3, pc}
|
|
_0223097A:
|
|
bl ov74_02231448
|
|
mov r0, #4
|
|
bl ov74_02231070
|
|
_02230984:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230964
|
|
|
|
thumb_func_start ov74_02230988
|
|
ov74_02230988: ; 0x02230988
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
bne _022309A0
|
|
bl ov74_022314BC
|
|
cmp r0, #0
|
|
beq _022309A8
|
|
mov r0, #2
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
_022309A0:
|
|
bl ov74_02231448
|
|
bl ov74_0222FE4C
|
|
_022309A8:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230988
|
|
|
|
thumb_func_start ov74_022309AC
|
|
ov74_022309AC: ; 0x022309AC
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
bne _022309E2
|
|
mov r0, #0
|
|
bl ov74_0223110C
|
|
bl ov74_0223107C
|
|
cmp r0, #0xc
|
|
bne _022309D2
|
|
bl ov74_02231744
|
|
cmp r0, #0
|
|
beq _022309EC
|
|
mov r0, #3
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
_022309D2:
|
|
bl ov74_02231704
|
|
cmp r0, #0
|
|
beq _022309EC
|
|
mov r0, #3
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
_022309E2:
|
|
bl ov74_02231448
|
|
mov r0, #4
|
|
bl ov74_02231070
|
|
_022309EC:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022309AC
|
|
|
|
thumb_func_start ov74_022309F0
|
|
ov74_022309F0: ; 0x022309F0
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
bne _02230A06
|
|
mov r0, #0xc
|
|
bl ov74_02231070
|
|
mov r0, #1
|
|
bl ov74_0223113C
|
|
pop {r3, pc}
|
|
_02230A06:
|
|
bl ov74_02231448
|
|
mov r0, #4
|
|
bl ov74_02231070
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022309F0
|
|
|
|
thumb_func_start ov74_02230A14
|
|
ov74_02230A14: ; 0x02230A14
|
|
push {r3, lr}
|
|
ldr r0, _02230A30 ; =ov74_0222FFFC
|
|
bl WM_SetIndCallback
|
|
cmp r0, #0
|
|
beq _02230A2A
|
|
mov r0, #4
|
|
bl ov74_02231070
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02230A2A:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_02230A30: .word ov74_0222FFFC
|
|
thumb_func_end ov74_02230A14
|
|
|
|
thumb_func_start ov74_02230A34
|
|
ov74_02230A34: ; 0x02230A34
|
|
push {r3, lr}
|
|
bl ov74_02231064
|
|
cmp r0, #0
|
|
beq _02230A46
|
|
cmp r0, #1
|
|
beq _02230A46
|
|
cmp r0, #2
|
|
bne _02230A4A
|
|
_02230A46:
|
|
bl ov74_022314A0
|
|
_02230A4A:
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230A34
|
|
|
|
thumb_func_start ov74_02230A4C
|
|
ov74_02230A4C: ; 0x02230A4C
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
bl ov74_02231054
|
|
ldrh r0, [r0, #0x34]
|
|
cmp r4, r0
|
|
bhi _02230A70
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl DC_FlushRange
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl ov74_02231460
|
|
_02230A70:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230A4C
|
|
|
|
thumb_func_start ov74_02230A74
|
|
ov74_02230A74: ; 0x02230A74
|
|
mov r0, #0x17
|
|
lsl r0, r0, #6
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230A74
|
|
|
|
thumb_func_start ov74_02230A7C
|
|
ov74_02230A7C: ; 0x02230A7C
|
|
mov r0, #0x17
|
|
lsl r0, r0, #6
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230A7C
|
|
|
|
thumb_func_start ov74_02230A84
|
|
ov74_02230A84: ; 0x02230A84
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r1, #0
|
|
add r5, r0, #0
|
|
bl ov74_02231054
|
|
bl ov74_0223105C
|
|
add r4, r0, #0
|
|
mov r0, #0x1f
|
|
add r1, r7, #0
|
|
and r1, r0
|
|
beq _02230AA2
|
|
mov r0, #0x20
|
|
sub r0, r0, r1
|
|
add r7, r7, r0
|
|
_02230AA2:
|
|
mov r1, #0
|
|
strb r1, [r4]
|
|
strb r1, [r4, #1]
|
|
strb r1, [r4, #2]
|
|
mov r0, #4
|
|
strb r0, [r4, #3]
|
|
ldr r0, _02230BA8 ; =0x00400131
|
|
str r0, [r4, #4]
|
|
mov r0, #0xf
|
|
strh r1, [r4, #0xc]
|
|
lsl r0, r0, #8
|
|
str r7, [r4, #0x34]
|
|
add r7, r7, r0
|
|
str r7, [r4, #0x38]
|
|
bl ov74_02230A74
|
|
str r0, [r4, #0x2c]
|
|
add r7, r7, r0
|
|
str r7, [r4, #0x3c]
|
|
bl ov74_02230A7C
|
|
add r7, r7, r0
|
|
str r0, [r4, #0x30]
|
|
add r0, r7, #0
|
|
str r7, [r4, #0x28]
|
|
add r0, #0xc0
|
|
str r0, [r4, #0x24]
|
|
ldr r0, [r4, #0x34]
|
|
mov r1, #2
|
|
add r7, #0xe0
|
|
bl WM_Init
|
|
bl ov74_02230A14
|
|
str r0, [r4, #0x10]
|
|
mov r2, #0
|
|
str r2, [r4, #0x14]
|
|
str r2, [r4, #0x18]
|
|
str r2, [r4, #0x1c]
|
|
str r2, [r4, #0x20]
|
|
ldr r0, [r4, #0x40]
|
|
mov r6, #0xff
|
|
bic r0, r6
|
|
add r3, r0, #0
|
|
mov r1, #0xf
|
|
orr r3, r1
|
|
ldr r0, _02230BAC ; =0xFFFFF0FF
|
|
add r1, #0xf1
|
|
and r0, r3
|
|
orr r1, r0
|
|
ldr r0, _02230BB0 ; =0xFFFF0FFF
|
|
and r1, r0
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
orr r0, r1
|
|
str r0, [r4, #0x40]
|
|
ldr r3, [r5]
|
|
ldr r1, [r4, #0x44]
|
|
lsl r3, r3, #0x18
|
|
lsr r3, r3, #0x18
|
|
lsl r3, r3, #0x18
|
|
add r0, r4, #0
|
|
bic r1, r6
|
|
lsr r3, r3, #0x18
|
|
orr r3, r1
|
|
ldr r1, _02230BAC ; =0xFFFFF0FF
|
|
str r3, [r4, #0x44]
|
|
and r1, r3
|
|
ldr r3, [r5]
|
|
add r0, #0x44
|
|
lsl r3, r3, #0x14
|
|
lsr r3, r3, #0x1c
|
|
lsl r3, r3, #0x1c
|
|
lsr r3, r3, #0x14
|
|
orr r3, r1
|
|
ldr r1, _02230BB0 ; =0xFFFF0FFF
|
|
str r3, [r4, #0x44]
|
|
and r1, r3
|
|
ldr r3, [r5]
|
|
lsl r3, r3, #0x10
|
|
lsr r3, r3, #0x1c
|
|
lsl r3, r3, #0x1c
|
|
lsr r3, r3, #0x10
|
|
orr r1, r3
|
|
str r1, [r4, #0x44]
|
|
ldr r1, [r0]
|
|
ldr r3, [r5]
|
|
lsl r1, r1, #0x10
|
|
lsr r3, r3, #0x10
|
|
lsr r1, r1, #0x10
|
|
lsl r3, r3, #0x10
|
|
orr r1, r3
|
|
str r1, [r0]
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #4]
|
|
add r3, r4, #0
|
|
b _02230B7C
|
|
_02230B64:
|
|
ldrh r6, [r0]
|
|
add r5, r3, #0
|
|
add r5, #0x48
|
|
strh r6, [r5]
|
|
add r5, r3, #0
|
|
ldrh r6, [r1]
|
|
add r5, #0x60
|
|
add r3, r3, #2
|
|
strh r6, [r5]
|
|
add r2, r2, #1
|
|
add r0, r0, #2
|
|
add r1, r1, #2
|
|
_02230B7C:
|
|
cmp r0, #0
|
|
beq _02230B84
|
|
cmp r2, #0xc
|
|
blo _02230B64
|
|
_02230B84:
|
|
ldr r1, [r4, #0x40]
|
|
ldr r0, [r4, #0x44]
|
|
str r1, [r4, #0x78]
|
|
str r0, [r4, #0x7c]
|
|
bl ov74_02231194
|
|
bl ov74_02231184
|
|
str r7, [r0, #8]
|
|
ldr r0, [r4, #0x2c]
|
|
add r7, r7, r0
|
|
bl ov74_02231184
|
|
str r7, [r0, #0xc]
|
|
bl WM_GetNextTgid
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02230BA8: .word 0x00400131
|
|
_02230BAC: .word 0xFFFFF0FF
|
|
_02230BB0: .word 0xFFFF0FFF
|
|
thumb_func_end ov74_02230A84
|
|
|
|
thumb_func_start ov74_02230BB4
|
|
ov74_02230BB4: ; 0x02230BB4
|
|
push {r3, r4, r5, lr}
|
|
bl ov74_02231184
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #1
|
|
bne _02230BD2
|
|
ldrb r0, [r4, #0x1a]
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #0x1a]
|
|
ldrb r0, [r4, #0x1a]
|
|
cmp r0, #0
|
|
bne _02230C08
|
|
mov r0, #0
|
|
strb r0, [r4, #0x19]
|
|
_02230BD2:
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #0
|
|
bne _02230C08
|
|
bl ov74_02231260
|
|
mov r1, #0x40
|
|
sub r5, r1, r0
|
|
ldrb r0, [r4, #0x1c]
|
|
add r2, r5, #0
|
|
mov r3, #3
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #4]
|
|
bl ov74_022312C0
|
|
bl ov74_02231260
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #8]
|
|
ldr r2, _02230C0C ; =0x0000FFFF
|
|
add r1, r5, r1
|
|
bl ov74_02230A4C
|
|
mov r0, #1
|
|
strb r0, [r4, #0x19]
|
|
mov r0, #0x3c
|
|
strb r0, [r4, #0x1a]
|
|
_02230C08:
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02230C0C: .word 0x0000FFFF
|
|
thumb_func_end ov74_02230BB4
|
|
|
|
thumb_func_start ov74_02230C10
|
|
ov74_02230C10: ; 0x02230C10
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
bl ov74_02231184
|
|
add r4, r0, #0
|
|
ldrb r0, [r4, #0x19]
|
|
cmp r0, #0
|
|
bne _02230CC6
|
|
ldrb r0, [r4, #0x1c]
|
|
cmp r0, #0xfd
|
|
bne _02230C88
|
|
bl ov74_0223115C
|
|
add r5, r0, #0
|
|
mov r1, #0
|
|
add r2, r5, #0
|
|
_02230C2E:
|
|
ldrb r0, [r2, #9]
|
|
cmp r0, #0
|
|
beq _02230C6E
|
|
add r6, r1, #0
|
|
mov r0, #0xc
|
|
mul r6, r0
|
|
add r0, r5, r6
|
|
ldrh r0, [r0, #6]
|
|
mov r1, #1
|
|
mov r2, #0
|
|
lsl r1, r0
|
|
lsl r0, r1, #0x10
|
|
lsr r7, r0, #0x10
|
|
mov r0, #0xfd
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #4]
|
|
add r3, r2, #0
|
|
bl ov74_022312C0
|
|
bl ov74_02231260
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #8]
|
|
add r2, r7, #0
|
|
bl ov74_02230A4C
|
|
add r5, #9
|
|
ldrb r0, [r5, r6]
|
|
sub r0, r0, #1
|
|
strb r0, [r5, r6]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02230C6E:
|
|
add r1, r1, #1
|
|
add r2, #0xc
|
|
cmp r1, #8
|
|
blt _02230C2E
|
|
ldrb r0, [r4, #0x1a]
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #0x1a]
|
|
ldrb r0, [r4, #0x1a]
|
|
cmp r0, #0
|
|
bne _02230CC6
|
|
mov r0, #2
|
|
strb r0, [r4, #0x19]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02230C88:
|
|
bl ov74_02231260
|
|
bl ov74_02230A74
|
|
ldr r0, [r4, #0xc]
|
|
ldr r0, [r0, #8]
|
|
lsl r0, r0, #0x10
|
|
lsr r3, r0, #0x18
|
|
bne _02230CAA
|
|
ldrb r0, [r4, #0x1b]
|
|
cmp r0, #0
|
|
bne _02230CA6
|
|
mov r0, #2
|
|
strb r0, [r4, #0x19]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02230CA6:
|
|
sub r0, r0, #1
|
|
strb r0, [r4, #0x1b]
|
|
_02230CAA:
|
|
ldrb r0, [r4, #0x1c]
|
|
mov r2, #0
|
|
str r0, [sp]
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #4]
|
|
bl ov74_022312C0
|
|
bl ov74_02231260
|
|
add r1, r0, #0
|
|
ldr r0, [r4, #8]
|
|
ldr r2, _02230CC8 ; =0x0000FFFF
|
|
bl ov74_02230A4C
|
|
_02230CC6:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02230CC8: .word 0x0000FFFF
|
|
thumb_func_end ov74_02230C10
|
|
|
|
thumb_func_start ov74_02230CCC
|
|
ov74_02230CCC: ; 0x02230CCC
|
|
push {r3, lr}
|
|
bl ov74_02231184
|
|
ldrb r0, [r0, #0x18]
|
|
cmp r0, #1
|
|
beq _02230CDE
|
|
cmp r0, #2
|
|
beq _02230CE4
|
|
pop {r3, pc}
|
|
_02230CDE:
|
|
bl ov74_02230BB4
|
|
pop {r3, pc}
|
|
_02230CE4:
|
|
bl ov74_02230C10
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230CCC
|
|
|
|
thumb_func_start ov74_02230CEC
|
|
ov74_02230CEC: ; 0x02230CEC
|
|
push {r4, lr}
|
|
bl ov74_02231154
|
|
add r4, r0, #0
|
|
bl ov74_02231064
|
|
cmp r0, #6
|
|
beq _02230D02
|
|
cmp r0, #0xb
|
|
beq _02230D12
|
|
pop {r4, pc}
|
|
_02230D02:
|
|
mov r0, #7
|
|
lsl r0, r0, #6
|
|
ldrh r1, [r4, r0]
|
|
cmp r1, #0
|
|
beq _02230D16
|
|
sub r1, r1, #1
|
|
strh r1, [r4, r0]
|
|
pop {r4, pc}
|
|
_02230D12:
|
|
bl ov74_02230CCC
|
|
_02230D16:
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02230CEC
|
|
|
|
thumb_func_start ov74_02230D18
|
|
ov74_02230D18: ; 0x02230D18
|
|
push {r3, lr}
|
|
bl ov74_02231064
|
|
cmp r0, #0xa
|
|
bne _02230D26
|
|
bl ov74_02230CCC
|
|
_02230D26:
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230D18
|
|
|
|
thumb_func_start ov74_02230D28
|
|
ov74_02230D28: ; 0x02230D28
|
|
push {r3, lr}
|
|
bl ov74_02231064
|
|
cmp r0, #0xc
|
|
beq _02230D6A
|
|
bl ov74_0223107C
|
|
cmp r0, #0xc
|
|
bne _02230D48
|
|
bl ov74_02231064
|
|
cmp r0, #7
|
|
bne _02230D6A
|
|
bl ov74_02231724
|
|
pop {r3, pc}
|
|
_02230D48:
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
beq _02230D56
|
|
cmp r0, #2
|
|
beq _02230D5C
|
|
b _02230D62
|
|
_02230D56:
|
|
bl ov74_02230CEC
|
|
pop {r3, pc}
|
|
_02230D5C:
|
|
bl ov74_02230D18
|
|
pop {r3, pc}
|
|
_02230D62:
|
|
bl ov74_0223105C
|
|
bl ov74_02231064
|
|
_02230D6A:
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230D28
|
|
|
|
thumb_func_start ov74_02230D6C
|
|
ov74_02230D6C: ; 0x02230D6C
|
|
push {r3, lr}
|
|
bl ov74_02231164
|
|
mov r0, #1
|
|
bl ov74_022310A0
|
|
bl ov74_02230A34
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230D6C
|
|
|
|
thumb_func_start ov74_02230D80
|
|
ov74_02230D80: ; 0x02230D80
|
|
push {r4, lr}
|
|
bl ov74_02231094
|
|
mov r4, #0
|
|
cmp r0, #1
|
|
bne _02230DAE
|
|
bl ov74_02231154
|
|
ldr r1, _02230DB4 ; =0x000001C3
|
|
ldrb r1, [r0, r1]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #1
|
|
bne _02230DAE
|
|
add r2, r4, #0
|
|
_02230D9E:
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _02230DA6
|
|
add r4, r4, #1
|
|
_02230DA6:
|
|
add r2, r2, #1
|
|
add r0, #0x38
|
|
cmp r2, #8
|
|
blo _02230D9E
|
|
_02230DAE:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_02230DB4: .word 0x000001C3
|
|
thumb_func_end ov74_02230D80
|
|
|
|
thumb_func_start ov74_02230DB8
|
|
ov74_02230DB8: ; 0x02230DB8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
bne _02230DEA
|
|
bl ov74_02231064
|
|
cmp r0, #7
|
|
bne _02230DEA
|
|
bl ov74_02231154
|
|
ldr r1, _02230DF0 ; =0x000001C3
|
|
ldrb r1, [r0, r1]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #1
|
|
bne _02230DEA
|
|
mov r1, #0x38
|
|
mul r1, r4
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _02230DEA
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02230DEA:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_02230DF0: .word 0x000001C3
|
|
thumb_func_end ov74_02230DB8
|
|
|
|
thumb_func_start ov74_02230DF4
|
|
ov74_02230DF4: ; 0x02230DF4
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
bne _02230E3E
|
|
bl ov74_02231064
|
|
cmp r0, #7
|
|
bne _02230E3E
|
|
bl ov74_02231154
|
|
ldr r2, _02230E40 ; =0x000001C3
|
|
ldrb r3, [r0, r2]
|
|
lsl r1, r3, #0x18
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #1
|
|
bne _02230E3E
|
|
mov r1, #0x38
|
|
add r5, r4, #0
|
|
mul r5, r1
|
|
ldr r5, [r0, r5]
|
|
cmp r5, #0
|
|
beq _02230E3E
|
|
mov r5, #0xf
|
|
lsl r4, r4, #0x18
|
|
bic r3, r5
|
|
lsr r5, r4, #0x18
|
|
mov r4, #0xf
|
|
and r4, r5
|
|
orr r3, r4
|
|
strb r3, [r0, r2]
|
|
mov r2, #0x78
|
|
lsl r1, r1, #3
|
|
strh r2, [r0, r1]
|
|
bl ov74_02231584
|
|
_02230E3E:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02230E40: .word 0x000001C3
|
|
thumb_func_end ov74_02230DF4
|
|
|
|
thumb_func_start ov74_02230E44
|
|
ov74_02230E44: ; 0x02230E44
|
|
push {r4, lr}
|
|
bl ov74_02231094
|
|
mov r4, #0
|
|
cmp r0, #2
|
|
bne _02230E76
|
|
bl ov74_0223115C
|
|
add r1, r0, #0
|
|
add r1, #0x60
|
|
ldrb r1, [r1]
|
|
cmp r1, #2
|
|
bne _02230E76
|
|
add r2, r4, #0
|
|
_02230E60:
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _02230E6E
|
|
ldrb r1, [r0, #0xa]
|
|
cmp r1, #0
|
|
beq _02230E6E
|
|
add r4, r4, #1
|
|
_02230E6E:
|
|
add r2, r2, #1
|
|
add r0, #0xc
|
|
cmp r2, #8
|
|
blo _02230E60
|
|
_02230E76:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230E44
|
|
|
|
thumb_func_start ov74_02230E7C
|
|
ov74_02230E7C: ; 0x02230E7C
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x20]
|
|
cmp r0, #0
|
|
beq _02230E8C
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02230E8C:
|
|
bl WM_GetLinkLevel
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230E7C
|
|
|
|
thumb_func_start ov74_02230E94
|
|
ov74_02230E94: ; 0x02230E94
|
|
push {r3, lr}
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
beq _02230EA4
|
|
cmp r0, #2
|
|
beq _02230EAA
|
|
b _02230EB0
|
|
_02230EA4:
|
|
bl ov74_02230D80
|
|
pop {r3, pc}
|
|
_02230EAA:
|
|
bl ov74_02230E44
|
|
pop {r3, pc}
|
|
_02230EB0:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230E94
|
|
|
|
thumb_func_start ov74_02230EB4
|
|
ov74_02230EB4: ; 0x02230EB4
|
|
push {r3, r4, r5, lr}
|
|
bl ov74_02231184
|
|
add r5, r0, #0
|
|
bl ov74_022311DC
|
|
add r4, r0, #0
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
bne _02230EE6
|
|
mov r0, #1
|
|
strb r0, [r5, #0x18]
|
|
mov r1, #0
|
|
strb r1, [r5, #0x19]
|
|
add r4, #8
|
|
str r4, [r5]
|
|
str r4, [r5, #4]
|
|
str r1, [r5, #0x10]
|
|
str r1, [r5, #0x14]
|
|
mov r0, #0x78
|
|
strb r0, [r5, #0x1a]
|
|
strb r1, [r5, #0x1b]
|
|
mov r0, #0xfd
|
|
strb r0, [r5, #0x1c]
|
|
_02230EE6:
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_02230EB4
|
|
|
|
thumb_func_start ov74_02230EE8
|
|
ov74_02230EE8: ; 0x02230EE8
|
|
push {r4, lr}
|
|
bl ov74_02231184
|
|
add r4, r0, #0
|
|
bl ov74_022311DC
|
|
mov r1, #1
|
|
strb r1, [r4, #0x18]
|
|
mov r1, #0
|
|
strb r1, [r4, #0x19]
|
|
add r0, #8
|
|
str r0, [r4]
|
|
str r0, [r4, #4]
|
|
mov r0, #0x30
|
|
str r0, [r4, #0x10]
|
|
str r0, [r4, #0x14]
|
|
mov r0, #0x78
|
|
strb r0, [r4, #0x1a]
|
|
strb r1, [r4, #0x1b]
|
|
mov r0, #0xfe
|
|
strb r0, [r4, #0x1c]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02230EE8
|
|
|
|
thumb_func_start ov74_02230F14
|
|
ov74_02230F14: ; 0x02230F14
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r6, r1, #0
|
|
add r4, r2, #0
|
|
bl ov74_02231184
|
|
cmp r4, #0xf0
|
|
bgt _02230F3E
|
|
mov r1, #2
|
|
strb r1, [r0, #0x18]
|
|
mov r1, #3
|
|
strb r1, [r0, #0x19]
|
|
str r5, [r0]
|
|
str r5, [r0, #4]
|
|
str r6, [r0, #0x10]
|
|
mov r2, #0
|
|
str r2, [r0, #0x14]
|
|
mov r1, #0x78
|
|
strb r1, [r0, #0x1a]
|
|
strb r2, [r0, #0x1b]
|
|
strb r4, [r0, #0x1c]
|
|
_02230F3E:
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov74_02230F14
|
|
|
|
thumb_func_start ov74_02230F40
|
|
ov74_02230F40: ; 0x02230F40
|
|
push {r3, lr}
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
beq _02230F4E
|
|
cmp r0, #2
|
|
bne _02230F68
|
|
_02230F4E:
|
|
bl ov74_02231064
|
|
cmp r0, #0xa
|
|
beq _02230F5A
|
|
cmp r0, #0xb
|
|
bne _02230F68
|
|
_02230F5A:
|
|
bl ov74_02231184
|
|
ldrb r0, [r0, #0x19]
|
|
cmp r0, #2
|
|
bne _02230F68
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02230F68:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230F40
|
|
|
|
thumb_func_start ov74_02230F6C
|
|
ov74_02230F6C: ; 0x02230F6C
|
|
push {r3, lr}
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
beq _02230F7A
|
|
cmp r0, #2
|
|
bne _02230F94
|
|
_02230F7A:
|
|
bl ov74_02231064
|
|
cmp r0, #0xa
|
|
beq _02230F86
|
|
cmp r0, #0xb
|
|
bne _02230F94
|
|
_02230F86:
|
|
bl ov74_02231184
|
|
ldrb r0, [r0, #0x19]
|
|
cmp r0, #2
|
|
bne _02230F94
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02230F94:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230F6C
|
|
|
|
thumb_func_start ov74_02230F98
|
|
ov74_02230F98: ; 0x02230F98
|
|
push {r3, lr}
|
|
bl ov74_02231094
|
|
cmp r0, #1
|
|
beq _02230FA6
|
|
cmp r0, #2
|
|
bne _02230FD0
|
|
_02230FA6:
|
|
bl ov74_02231064
|
|
cmp r0, #0xa
|
|
beq _02230FB2
|
|
cmp r0, #0xb
|
|
bne _02230FD0
|
|
_02230FB2:
|
|
bl ov74_02231184
|
|
ldrb r1, [r0, #0x19]
|
|
cmp r1, #0
|
|
bne _02230FD0
|
|
ldr r1, [r0, #0xc]
|
|
ldr r1, [r1, #8]
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x18
|
|
bne _02230FD0
|
|
ldrb r0, [r0, #0x1b]
|
|
cmp r0, #4
|
|
bhs _02230FD0
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02230FD0:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02230F98
|
|
|
|
thumb_func_start ov74_02230FD4
|
|
ov74_02230FD4: ; 0x02230FD4
|
|
push {r3, lr}
|
|
bl ov74_02231094
|
|
cmp r0, #2
|
|
bne _02231000
|
|
bl ov74_0223115C
|
|
mov r2, #0
|
|
_02230FE4:
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _02230FF4
|
|
ldrb r1, [r0, #0xa]
|
|
cmp r1, #0
|
|
beq _02230FF4
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02230FF4:
|
|
add r2, r2, #1
|
|
add r0, #0xc
|
|
cmp r2, #8
|
|
blt _02230FE4
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02231000:
|
|
bl ov74_02231118
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02230FD4
|
|
|
|
thumb_func_start ov74_02231008
|
|
ov74_02231008: ; 0x02231008
|
|
push {r4, lr}
|
|
mov r0, #0xc
|
|
bl ov74_02231088
|
|
bl ov74_02231064
|
|
cmp r0, #0
|
|
beq _02231022
|
|
cmp r0, #1
|
|
beq _02231022
|
|
cmp r0, #9
|
|
beq _0223102E
|
|
pop {r4, pc}
|
|
_02231022:
|
|
bl WM_Finish
|
|
mov r0, #1
|
|
bl ov74_0223113C
|
|
pop {r4, pc}
|
|
_0223102E:
|
|
bl ov74_02231118
|
|
cmp r0, #0
|
|
bne _02231044
|
|
bl ov74_0223105C
|
|
add r4, r0, #0
|
|
bl ov74_02231724
|
|
mov r0, #1
|
|
str r0, [r4, #0x1c]
|
|
_02231044:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231008
|
|
|
|
thumb_func_start ov74_02231048
|
|
ov74_02231048: ; 0x02231048
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x20]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231048
|
|
|
|
thumb_func_start ov74_02231054
|
|
ov74_02231054: ; 0x02231054
|
|
ldr r0, _02231058 ; =ov74_0223C920
|
|
bx lr
|
|
.balign 4, 0
|
|
_02231058: .word ov74_0223C920
|
|
thumb_func_end ov74_02231054
|
|
|
|
thumb_func_start ov74_0223105C
|
|
ov74_0223105C: ; 0x0223105C
|
|
ldr r0, _02231060 ; =ov74_0223D0C4
|
|
bx lr
|
|
.balign 4, 0
|
|
_02231060: .word ov74_0223D0C4
|
|
thumb_func_end ov74_0223105C
|
|
|
|
thumb_func_start ov74_02231064
|
|
ov74_02231064: ; 0x02231064
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldrb r0, [r0]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231064
|
|
|
|
thumb_func_start ov74_02231070
|
|
ov74_02231070: ; 0x02231070
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0223105C
|
|
strb r4, [r0]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02231070
|
|
|
|
thumb_func_start ov74_0223107C
|
|
ov74_0223107C: ; 0x0223107C
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldrb r0, [r0, #1]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0223107C
|
|
|
|
thumb_func_start ov74_02231088
|
|
ov74_02231088: ; 0x02231088
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0223105C
|
|
strb r4, [r0, #1]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02231088
|
|
|
|
thumb_func_start ov74_02231094
|
|
ov74_02231094: ; 0x02231094
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldrb r0, [r0, #2]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231094
|
|
|
|
thumb_func_start ov74_022310A0
|
|
ov74_022310A0: ; 0x022310A0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0223105C
|
|
strb r4, [r0, #2]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_022310A0
|
|
|
|
thumb_func_start ov74_022310AC
|
|
ov74_022310AC: ; 0x022310AC
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldrb r0, [r0, #3]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022310AC
|
|
|
|
thumb_func_start ov74_022310B8
|
|
ov74_022310B8: ; 0x022310B8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_02231054
|
|
strh r4, [r0, #0x32]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_022310B8
|
|
|
|
thumb_func_start ov74_022310C4
|
|
ov74_022310C4: ; 0x022310C4
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x24]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022310C4
|
|
|
|
thumb_func_start ov74_022310D0
|
|
ov74_022310D0: ; 0x022310D0
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x2c]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022310D0
|
|
|
|
thumb_func_start ov74_022310DC
|
|
ov74_022310DC: ; 0x022310DC
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x30]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022310DC
|
|
|
|
thumb_func_start ov74_022310E8
|
|
ov74_022310E8: ; 0x022310E8
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x38]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022310E8
|
|
|
|
thumb_func_start ov74_022310F4
|
|
ov74_022310F4: ; 0x022310F4
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x3c]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022310F4
|
|
|
|
thumb_func_start ov74_02231100
|
|
ov74_02231100: ; 0x02231100
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x28]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231100
|
|
|
|
thumb_func_start ov74_0223110C
|
|
ov74_0223110C: ; 0x0223110C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0223105C
|
|
strh r4, [r0, #0xc]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0223110C
|
|
|
|
thumb_func_start ov74_02231118
|
|
ov74_02231118: ; 0x02231118
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x14]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231118
|
|
|
|
thumb_func_start ov74_02231124
|
|
ov74_02231124: ; 0x02231124
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0223105C
|
|
str r4, [r0, #0x14]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02231124
|
|
|
|
thumb_func_start ov74_02231130
|
|
ov74_02231130: ; 0x02231130
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0223105C
|
|
str r4, [r0, #0x18]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02231130
|
|
|
|
thumb_func_start ov74_0223113C
|
|
ov74_0223113C: ; 0x0223113C
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_0223105C
|
|
str r4, [r0, #0x20]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_0223113C
|
|
|
|
thumb_func_start ov74_02231148
|
|
ov74_02231148: ; 0x02231148
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
add r0, #0x90
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231148
|
|
|
|
thumb_func_start ov74_02231154
|
|
ov74_02231154: ; 0x02231154
|
|
ldr r3, _02231158 ; =ov74_02231148
|
|
bx r3
|
|
.balign 4, 0
|
|
_02231158: .word ov74_02231148
|
|
thumb_func_end ov74_02231154
|
|
|
|
thumb_func_start ov74_0223115C
|
|
ov74_0223115C: ; 0x0223115C
|
|
ldr r3, _02231160 ; =ov74_02231148
|
|
bx r3
|
|
.balign 4, 0
|
|
_02231160: .word ov74_02231148
|
|
thumb_func_end ov74_0223115C
|
|
|
|
thumb_func_start ov74_02231164
|
|
ov74_02231164: ; 0x02231164
|
|
push {r4, lr}
|
|
bl ov74_02231154
|
|
mov r2, #0x71
|
|
mov r1, #0
|
|
lsl r2, r2, #2
|
|
add r4, r0, #0
|
|
bl MI_CpuFill8
|
|
mov r1, #0x46
|
|
lsl r1, r1, #2
|
|
add r0, r1, #0
|
|
add r0, #0xa8
|
|
strh r1, [r4, r0]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231164
|
|
|
|
thumb_func_start ov74_02231184
|
|
ov74_02231184: ; 0x02231184
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
mov r1, #0x95
|
|
lsl r1, r1, #2
|
|
add r0, r0, r1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231184
|
|
|
|
thumb_func_start ov74_02231194
|
|
ov74_02231194: ; 0x02231194
|
|
push {r3, lr}
|
|
bl ov74_02231184
|
|
mov r1, #0
|
|
strb r1, [r0, #0x18]
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02231194
|
|
|
|
thumb_func_start ov74_022311A0
|
|
ov74_022311A0: ; 0x022311A0
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #4]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022311A0
|
|
|
|
thumb_func_start ov74_022311AC
|
|
ov74_022311AC: ; 0x022311AC
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x40]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022311AC
|
|
|
|
thumb_func_start ov74_022311BC
|
|
ov74_022311BC: ; 0x022311BC
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x40]
|
|
lsl r0, r0, #0x14
|
|
lsr r0, r0, #0x1c
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022311BC
|
|
|
|
thumb_func_start ov74_022311CC
|
|
ov74_022311CC: ; 0x022311CC
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
ldr r0, [r0, #0x44]
|
|
lsr r0, r0, #0x10
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_022311CC
|
|
|
|
thumb_func_start ov74_022311D8
|
|
ov74_022311D8: ; 0x022311D8
|
|
mov r0, #0x38
|
|
bx lr
|
|
thumb_func_end ov74_022311D8
|
|
|
|
thumb_func_start ov74_022311DC
|
|
ov74_022311DC: ; 0x022311DC
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
add r0, #0x40
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022311DC
|
|
|
|
thumb_func_start ov74_022311E8
|
|
ov74_022311E8: ; 0x022311E8
|
|
push {r3, lr}
|
|
bl ov74_0223105C
|
|
add r0, #0x78
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022311E8
|
|
|
|
thumb_func_start ov74_022311F4
|
|
ov74_022311F4: ; 0x022311F4
|
|
push {r3}
|
|
sub sp, #4
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
add r3, sp, #0
|
|
_022311FE:
|
|
add r1, r0, r2
|
|
ldrb r1, [r1, #2]
|
|
add r2, r2, #1
|
|
strb r1, [r3]
|
|
add r3, r3, #1
|
|
cmp r2, #4
|
|
blo _022311FE
|
|
ldr r0, [sp]
|
|
add sp, #4
|
|
pop {r3}
|
|
bx lr
|
|
thumb_func_end ov74_022311F4
|
|
|
|
thumb_func_start ov74_02231214
|
|
ov74_02231214: ; 0x02231214
|
|
push {r3}
|
|
sub sp, #4
|
|
mov r2, #0
|
|
add r1, sp, #0
|
|
strh r2, [r1]
|
|
add r3, sp, #0
|
|
_02231220:
|
|
ldrb r1, [r0, r2]
|
|
add r2, r2, #1
|
|
strb r1, [r3]
|
|
add r3, r3, #1
|
|
cmp r2, #2
|
|
blo _02231220
|
|
add r1, sp, #0
|
|
mov r0, #0
|
|
ldrsh r0, [r1, r0]
|
|
add sp, #4
|
|
pop {r3}
|
|
bx lr
|
|
thumb_func_end ov74_02231214
|
|
|
|
thumb_func_start ov74_02231238
|
|
ov74_02231238: ; 0x02231238
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
ldr r1, _0223125C ; =0x00002710
|
|
add r6, r0, #0
|
|
add r4, r2, #0
|
|
bl _u32_div_f
|
|
str r1, [r5]
|
|
ldr r1, _0223125C ; =0x00002710
|
|
add r0, r6, #0
|
|
bl _u32_div_f
|
|
ldr r1, _0223125C ; =0x00002710
|
|
bl _u32_div_f
|
|
str r1, [r4]
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_0223125C: .word 0x00002710
|
|
thumb_func_end ov74_02231238
|
|
|
|
thumb_func_start ov74_02231260
|
|
ov74_02231260: ; 0x02231260
|
|
mov r0, #0x10
|
|
bx lr
|
|
thumb_func_end ov74_02231260
|
|
|
|
thumb_func_start ov74_02231264
|
|
ov74_02231264: ; 0x02231264
|
|
push {r4, lr}
|
|
ldr r0, _02231278 ; =0x04000006
|
|
ldrh r4, [r0]
|
|
bl OS_GetTick
|
|
add r1, r0, r4
|
|
mov r0, #1
|
|
bic r1, r0
|
|
add r0, r1, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02231278: .word 0x04000006
|
|
thumb_func_end ov74_02231264
|
|
|
|
thumb_func_start ov74_0223127C
|
|
ov74_0223127C: ; 0x0223127C
|
|
push {r4, r5, r6, r7}
|
|
add r3, r0, #0
|
|
mov r0, #0
|
|
lsr r1, r1, #2
|
|
beq _022312B2
|
|
ldr r4, _022312B8 ; =0x00269EC3
|
|
_02231288:
|
|
ldr r5, _022312BC ; =0x5D588B65
|
|
ldr r6, _022312BC ; =0x5D588B65
|
|
mul r5, r3
|
|
ldr r3, _022312B8 ; =0x00269EC3
|
|
add r0, r0, #1
|
|
add r3, r5, r3
|
|
lsr r5, r3, #0x10
|
|
mul r6, r3
|
|
add r3, r6, r4
|
|
lsl r5, r5, #0x10
|
|
lsr r7, r3, #0x10
|
|
lsr r5, r5, #0x10
|
|
lsl r7, r7, #0x10
|
|
ldr r6, [r2]
|
|
lsl r5, r5, #0x10
|
|
lsr r7, r7, #0x10
|
|
orr r5, r7
|
|
eor r5, r6
|
|
stmia r2!, {r5}
|
|
cmp r0, r1
|
|
blo _02231288
|
|
_022312B2:
|
|
add r0, r3, #0
|
|
pop {r4, r5, r6, r7}
|
|
bx lr
|
|
.balign 4, 0
|
|
_022312B8: .word 0x00269EC3
|
|
_022312BC: .word 0x5D588B65
|
|
thumb_func_end ov74_0223127C
|
|
|
|
thumb_func_start ov74_022312C0
|
|
ov74_022312C0: ; 0x022312C0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r5, r0, #0
|
|
add r7, r1, #0
|
|
add r6, r2, #0
|
|
str r3, [sp]
|
|
bl ov74_022311DC
|
|
add r4, r0, #0
|
|
ldr r0, [r5]
|
|
mov r1, #0xff
|
|
bic r0, r1
|
|
ldr r1, [r4]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
orr r1, r0
|
|
ldr r0, _022313E4 ; =0xFFFFF0FF
|
|
str r1, [r5]
|
|
and r0, r1
|
|
ldr r1, [r4]
|
|
lsl r1, r1, #0x14
|
|
lsr r1, r1, #0x1c
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x14
|
|
orr r1, r0
|
|
ldr r0, _022313E8 ; =0xFFFF0FFF
|
|
str r1, [r5]
|
|
and r0, r1
|
|
ldr r1, [r4]
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x1c
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x10
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
bl ov74_02231264
|
|
ldr r1, [r5]
|
|
lsl r0, r0, #0x10
|
|
lsl r1, r1, #0x10
|
|
lsr r0, r0, #0x10
|
|
lsr r1, r1, #0x10
|
|
lsl r0, r0, #0x10
|
|
orr r0, r1
|
|
str r0, [r5]
|
|
ldr r2, [r4, #4]
|
|
ldr r1, [r5, #4]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
mov r0, #0xff
|
|
lsl r2, r2, #0x18
|
|
bic r1, r0
|
|
lsr r2, r2, #0x18
|
|
orr r2, r1
|
|
ldr r1, _022313E4 ; =0xFFFFF0FF
|
|
str r2, [r5, #4]
|
|
and r1, r2
|
|
ldr r2, [r4, #4]
|
|
lsl r2, r2, #0x14
|
|
lsr r2, r2, #0x1c
|
|
lsl r2, r2, #0x1c
|
|
lsr r2, r2, #0x14
|
|
orr r2, r1
|
|
ldr r1, _022313E8 ; =0xFFFF0FFF
|
|
str r2, [r5, #4]
|
|
and r1, r2
|
|
ldr r2, [r4, #4]
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x1c
|
|
lsl r2, r2, #0x1c
|
|
lsr r2, r2, #0x10
|
|
orr r1, r2
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
str r1, [r5, #4]
|
|
ldr r1, [r5, #8]
|
|
bic r1, r0
|
|
ldr r0, [sp, #0x18]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
orr r1, r0
|
|
ldr r0, _022313EC ; =0xFFFF00FF
|
|
and r0, r1
|
|
ldr r1, [sp]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x10
|
|
orr r0, r1
|
|
str r0, [r5, #8]
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, r6, #0
|
|
bl SVC_GetCRC16
|
|
ldr r1, [r5, #8]
|
|
lsl r0, r0, #0x10
|
|
lsl r1, r1, #0x10
|
|
lsr r1, r1, #0x10
|
|
orr r0, r1
|
|
str r0, [r5, #8]
|
|
bl ov74_02231260
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
lsl r0, r0, #0x18
|
|
ldr r1, [r5, #0xc]
|
|
mov r2, #0xff
|
|
bic r1, r2
|
|
lsr r0, r0, #0x18
|
|
orr r0, r1
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
lsl r0, r6, #8
|
|
orr r0, r1
|
|
str r0, [r5, #0xc]
|
|
cmp r6, #0
|
|
beq _022313BE
|
|
ldr r1, [r5, #0xc]
|
|
add r0, r7, #0
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r1, r5, r1
|
|
add r2, r6, #0
|
|
bl MI_CpuCopy8
|
|
_022313BE:
|
|
add r0, r5, #0
|
|
bl ov74_0223145C
|
|
ldr r0, [r4]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x1c
|
|
cmp r0, #1
|
|
bne _022313E2
|
|
ldr r1, [r5, #0xc]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r1, r6, r1
|
|
lsr r0, r0, #0x10
|
|
sub r1, r1, #4
|
|
add r2, r5, #4
|
|
bl ov74_0223127C
|
|
_022313E2:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022313E4: .word 0xFFFFF0FF
|
|
_022313E8: .word 0xFFFF0FFF
|
|
_022313EC: .word 0xFFFF00FF
|
|
thumb_func_end ov74_022312C0
|
|
|
|
thumb_func_start ov74_022313F0
|
|
ov74_022313F0: ; 0x022313F0
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl ov74_022311DC
|
|
ldr r0, [r4]
|
|
lsl r1, r0, #0x10
|
|
lsr r1, r1, #0x1c
|
|
cmp r1, #1
|
|
bne _02231420
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0xc
|
|
add r2, r4, #4
|
|
bl ov74_0223127C
|
|
ldr r1, [r4, #0xc]
|
|
add r4, #0x10
|
|
lsl r2, r1, #0x18
|
|
lsr r2, r2, #0x18
|
|
lsr r1, r1, #8
|
|
add r1, r2, r1
|
|
sub r1, #0x10
|
|
add r2, r4, #0
|
|
bl ov74_0223127C
|
|
_02231420:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022313F0
|
|
|
|
thumb_func_start ov74_02231424
|
|
ov74_02231424: ; 0x02231424
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r2, [r4, #0xc]
|
|
mov r0, #0
|
|
lsl r1, r2, #0x18
|
|
lsr r1, r1, #0x18
|
|
add r1, r4, r1
|
|
lsr r2, r2, #8
|
|
bl SVC_GetCRC16
|
|
ldr r1, [r4, #8]
|
|
lsr r1, r1, #0x10
|
|
cmp r1, r0
|
|
bne _02231444
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02231444:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02231424
|
|
|
|
thumb_func_start ov74_02231448
|
|
ov74_02231448: ; 0x02231448
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231448
|
|
|
|
thumb_func_start ov74_0223144C
|
|
ov74_0223144C: ; 0x0223144C
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0223144C
|
|
|
|
thumb_func_start ov74_02231450
|
|
ov74_02231450: ; 0x02231450
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231450
|
|
|
|
thumb_func_start ov74_02231454
|
|
ov74_02231454: ; 0x02231454
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231454
|
|
|
|
thumb_func_start ov74_02231458
|
|
ov74_02231458: ; 0x02231458
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231458
|
|
|
|
thumb_func_start ov74_0223145C
|
|
ov74_0223145C: ; 0x0223145C
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0223145C
|
|
|
|
thumb_func_start ov74_02231460
|
|
ov74_02231460: ; 0x02231460
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
bl ov74_022310AC
|
|
lsl r0, r0, #0x10
|
|
lsl r3, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r4, [sp]
|
|
str r0, [sp, #4]
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, _0223149C ; =ov74_02230018
|
|
mov r1, #0
|
|
add r2, r6, #0
|
|
lsr r3, r3, #0x10
|
|
bl WM_SetMPDataToPortEx
|
|
cmp r0, #2
|
|
beq _02231496
|
|
bl ov74_02231448
|
|
add sp, #0xc
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, pc}
|
|
_02231496:
|
|
mov r0, #1
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_0223149C: .word ov74_02230018
|
|
thumb_func_end ov74_02231460
|
|
|
|
thumb_func_start ov74_022314A0
|
|
ov74_022314A0: ; 0x022314A0
|
|
push {r3, lr}
|
|
ldr r0, _022314B8 ; =ov74_02230030
|
|
bl WM_Enable
|
|
cmp r0, #2
|
|
beq _022314B4
|
|
bl ov74_02231448
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_022314B4:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_022314B8: .word ov74_02230030
|
|
thumb_func_end ov74_022314A0
|
|
|
|
thumb_func_start ov74_022314BC
|
|
ov74_022314BC: ; 0x022314BC
|
|
push {r3, lr}
|
|
ldr r0, _022314D8 ; =ov74_02230070
|
|
bl WM_Disable
|
|
cmp r0, #2
|
|
beq _022314D4
|
|
bl ov74_02231448
|
|
bl OS_Terminate
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_022314D4:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_022314D8: .word ov74_02230070
|
|
thumb_func_end ov74_022314BC
|
|
|
|
thumb_func_start ov74_022314DC
|
|
ov74_022314DC: ; 0x022314DC
|
|
push {r3, lr}
|
|
add r3, r0, #0
|
|
mov r0, #0x1e
|
|
str r0, [sp]
|
|
lsl r3, r3, #0x10
|
|
ldr r0, _02231504 ; =ov74_022300A8
|
|
mov r1, #3
|
|
mov r2, #0x11
|
|
lsr r3, r3, #0x10
|
|
bl WM_MeasureChannel
|
|
cmp r0, #2
|
|
beq _022314FE
|
|
bl ov74_02231448
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_022314FE:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_02231504: .word ov74_022300A8
|
|
thumb_func_end ov74_022314DC
|
|
|
|
thumb_func_start ov74_02231508
|
|
ov74_02231508: ; 0x02231508
|
|
push {r3, r4, r5, lr}
|
|
bl ov74_02231054
|
|
add r5, r0, #0
|
|
bl ov74_022311DC
|
|
add r4, r0, #0
|
|
bl ov74_0223115C
|
|
add r0, #0x64
|
|
ldrb r0, [r0]
|
|
strh r0, [r5, #0x32]
|
|
str r4, [r5]
|
|
bl ov74_022311D8
|
|
strh r0, [r5, #4]
|
|
ldr r0, _02231540 ; =ov74_02230110
|
|
add r1, r5, #0
|
|
bl WM_SetParentParameter
|
|
cmp r0, #2
|
|
beq _0223153C
|
|
bl ov74_02231448
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0223153C:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02231540: .word ov74_02230110
|
|
thumb_func_end ov74_02231508
|
|
|
|
thumb_func_start ov74_02231544
|
|
ov74_02231544: ; 0x02231544
|
|
push {r3, lr}
|
|
ldr r0, _0223155C ; =ov74_02230138
|
|
bl WM_StartParent
|
|
cmp r0, #2
|
|
beq _02231558
|
|
bl ov74_02231448
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02231558:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0223155C: .word ov74_02230138
|
|
thumb_func_end ov74_02231544
|
|
|
|
thumb_func_start ov74_02231560
|
|
ov74_02231560: ; 0x02231560
|
|
push {r3, lr}
|
|
bl ov74_022310C4
|
|
add r1, r0, #0
|
|
ldr r0, _02231580 ; =ov74_02230404
|
|
bl WM_StartScan
|
|
cmp r0, #2
|
|
beq _0223157A
|
|
bl ov74_02231448
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0223157A:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_02231580: .word ov74_02230404
|
|
thumb_func_end ov74_02231560
|
|
|
|
thumb_func_start ov74_02231584
|
|
ov74_02231584: ; 0x02231584
|
|
push {r3, r4, r5, lr}
|
|
bl ov74_022310C4
|
|
add r4, r0, #0
|
|
bl ov74_02231154
|
|
ldr r2, _02231614 ; =0x000001C3
|
|
mov r3, #0x38
|
|
ldrb r1, [r0, r2]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
add r5, r1, #0
|
|
mul r5, r3
|
|
add r1, r0, r5
|
|
add r1, #0x34
|
|
ldrb r1, [r1]
|
|
strb r1, [r4, #8]
|
|
ldrb r1, [r0, r2]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
add r5, r1, #0
|
|
mul r5, r3
|
|
add r1, r0, r5
|
|
add r1, #0x35
|
|
ldrb r1, [r1]
|
|
strb r1, [r4, #9]
|
|
ldrb r1, [r0, r2]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
add r5, r1, #0
|
|
mul r5, r3
|
|
ldrb r1, [r0, r5]
|
|
strb r1, [r4, #0xa]
|
|
ldrb r1, [r0, r2]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
add r5, r1, #0
|
|
mul r5, r3
|
|
add r1, r0, r5
|
|
ldrb r1, [r1, #1]
|
|
strb r1, [r4, #0xb]
|
|
ldrb r1, [r0, r2]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
add r5, r1, #0
|
|
mul r5, r3
|
|
add r1, r0, r5
|
|
ldrb r1, [r1, #2]
|
|
strb r1, [r4, #0xc]
|
|
ldrb r1, [r0, r2]
|
|
lsl r1, r1, #0x1c
|
|
lsr r1, r1, #0x1c
|
|
add r2, r1, #0
|
|
mul r2, r3
|
|
add r0, r0, r2
|
|
ldrb r0, [r0, #3]
|
|
strb r0, [r4, #0xd]
|
|
bl ov74_022310C4
|
|
add r1, r0, #0
|
|
ldr r0, _02231618 ; =ov74_02230520
|
|
bl WM_StartScan
|
|
cmp r0, #2
|
|
beq _0223160E
|
|
bl ov74_02231448
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0223160E:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02231614: .word 0x000001C3
|
|
_02231618: .word ov74_02230520
|
|
thumb_func_end ov74_02231584
|
|
|
|
thumb_func_start ov74_0223161C
|
|
ov74_0223161C: ; 0x0223161C
|
|
push {r3, lr}
|
|
ldr r0, _02231634 ; =ov74_02230590
|
|
bl WM_EndScan
|
|
cmp r0, #2
|
|
beq _02231630
|
|
bl ov74_02231448
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02231630:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02231634: .word ov74_02230590
|
|
thumb_func_end ov74_0223161C
|
|
|
|
thumb_func_start ov74_02231638
|
|
ov74_02231638: ; 0x02231638
|
|
push {r3, r4, lr}
|
|
sub sp, #4
|
|
bl ov74_022311E8
|
|
add r4, r0, #0
|
|
bl ov74_02231100
|
|
add r1, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, _0223166C ; =ov74_022305E4
|
|
add r2, r4, #0
|
|
mov r3, #1
|
|
bl WM_StartConnectEx
|
|
cmp r0, #2
|
|
beq _02231664
|
|
bl ov74_02231448
|
|
add sp, #4
|
|
mov r0, #0
|
|
pop {r3, r4, pc}
|
|
_02231664:
|
|
mov r0, #1
|
|
add sp, #4
|
|
pop {r3, r4, pc}
|
|
nop
|
|
_0223166C: .word ov74_022305E4
|
|
thumb_func_end ov74_02231638
|
|
|
|
thumb_func_start ov74_02231670
|
|
ov74_02231670: ; 0x02231670
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
ldr r1, _022316E0 ; =ov74_022308E0
|
|
mov r0, #4
|
|
mov r2, #0
|
|
bl WM_SetPortCallback
|
|
cmp r0, #0
|
|
beq _0223168C
|
|
bl ov74_02231448
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0223168C:
|
|
bl ov74_02231054
|
|
ldrh r0, [r0, #0x16]
|
|
cmp r0, #0
|
|
bne _0223169A
|
|
mov r5, #1
|
|
b _0223169C
|
|
_0223169A:
|
|
mov r5, #0
|
|
_0223169C:
|
|
bl ov74_022310F4
|
|
add r6, r0, #0
|
|
bl ov74_022310DC
|
|
add r4, r0, #0
|
|
bl ov74_022310E8
|
|
add r7, r0, #0
|
|
bl ov74_022310D0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp]
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #4]
|
|
lsl r2, r4, #0x10
|
|
ldr r0, _022316E4 ; =ov74_022306C8
|
|
add r1, r6, #0
|
|
lsr r2, r2, #0x10
|
|
add r3, r7, #0
|
|
bl WM_StartMP
|
|
cmp r0, #2
|
|
beq _022316DA
|
|
bl ov74_02231448
|
|
add sp, #8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022316DA:
|
|
mov r0, #1
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022316E0: .word ov74_022308E0
|
|
_022316E4: .word ov74_022306C8
|
|
thumb_func_end ov74_02231670
|
|
|
|
thumb_func_start ov74_022316E8
|
|
ov74_022316E8: ; 0x022316E8
|
|
push {r3, lr}
|
|
ldr r0, _02231700 ; =ov74_02230964
|
|
bl WM_PowerOn
|
|
cmp r0, #2
|
|
beq _022316FC
|
|
bl ov74_02231448
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_022316FC:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02231700: .word ov74_02230964
|
|
thumb_func_end ov74_022316E8
|
|
|
|
thumb_func_start ov74_02231704
|
|
ov74_02231704: ; 0x02231704
|
|
push {r3, lr}
|
|
ldr r0, _02231720 ; =ov74_02230988
|
|
bl WM_PowerOff
|
|
cmp r0, #2
|
|
beq _0223171C
|
|
bl ov74_02231448
|
|
bl OS_Terminate
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0223171C:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02231720: .word ov74_02230988
|
|
thumb_func_end ov74_02231704
|
|
|
|
thumb_func_start ov74_02231724
|
|
ov74_02231724: ; 0x02231724
|
|
push {r3, lr}
|
|
ldr r0, _02231740 ; =ov74_022309AC
|
|
bl WM_Reset
|
|
cmp r0, #2
|
|
beq _0223173C
|
|
bl ov74_02231448
|
|
bl OS_Terminate
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0223173C:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02231740: .word ov74_022309AC
|
|
thumb_func_end ov74_02231724
|
|
|
|
thumb_func_start ov74_02231744
|
|
ov74_02231744: ; 0x02231744
|
|
push {r3, lr}
|
|
ldr r0, _02231760 ; =ov74_022309F0
|
|
bl WM_End
|
|
cmp r0, #2
|
|
beq _0223175C
|
|
bl ov74_02231448
|
|
bl OS_Terminate
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0223175C:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02231760: .word ov74_022309F0
|
|
thumb_func_end ov74_02231744
|
|
|
|
thumb_func_start ov74_02231764
|
|
ov74_02231764: ; 0x02231764
|
|
cmp r0, #0
|
|
bgt _0223176C
|
|
mov r0, #1
|
|
bx lr
|
|
_0223176C:
|
|
cmp r0, #0xfb
|
|
bgt _02231774
|
|
mov r0, #0
|
|
bx lr
|
|
_02231774:
|
|
ldr r1, _0223178C ; =0x00000115
|
|
cmp r0, r1
|
|
bge _0223177E
|
|
mov r0, #1
|
|
bx lr
|
|
_0223177E:
|
|
add r1, #0x86
|
|
cmp r0, r1
|
|
ble _02231788
|
|
mov r0, #1
|
|
bx lr
|
|
_02231788:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
_0223178C: .word 0x00000115
|
|
thumb_func_end ov74_02231764
|
|
|
|
thumb_func_start ov74_02231790
|
|
ov74_02231790: ; 0x02231790
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
bl PmAgbCartridge_GetVersionInternal
|
|
cmp r0, #4
|
|
bhi _022317D0
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022317A8: ; jump table
|
|
.short _022317B2 - _022317A8 - 2 ; case 0
|
|
.short _022317B8 - _022317A8 - 2 ; case 1
|
|
.short _022317BE - _022317A8 - 2 ; case 2
|
|
.short _022317C4 - _022317A8 - 2 ; case 3
|
|
.short _022317CA - _022317A8 - 2 ; case 4
|
|
_022317B2:
|
|
mov r0, #VERSION_RUBY
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
_022317B8:
|
|
mov r0, #VERSION_SAPPHIRE
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
_022317BE:
|
|
mov r0, #VERSION_LEAF_GREEN
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
_022317C4:
|
|
mov r0, #VERSION_FIRE_RED
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
_022317CA:
|
|
mov r0, #VERSION_EMERALD
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
_022317D0:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02231790
|
|
|
|
thumb_func_start ov74_022317D8
|
|
ov74_022317D8: ; 0x022317D8
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x10
|
|
ldr r1, _0223192C ; =0x0000E890
|
|
add r5, r0, #0
|
|
add r4, r5, r1
|
|
ldr r1, [r4]
|
|
cmp r1, #9
|
|
bls _022317EA
|
|
b _02231924
|
|
_022317EA:
|
|
add r1, r1, r1
|
|
add r1, pc
|
|
ldrh r1, [r1, #6]
|
|
lsl r1, r1, #0x10
|
|
asr r1, r1, #0x10
|
|
add pc, r1
|
|
_022317F6: ; jump table
|
|
.short _0223180A - _022317F6 - 2 ; case 0
|
|
.short _0223182A - _022317F6 - 2 ; case 1
|
|
.short _02231842 - _022317F6 - 2 ; case 2
|
|
.short _02231852 - _022317F6 - 2 ; case 3
|
|
.short _02231862 - _022317F6 - 2 ; case 4
|
|
.short _0223187E - _022317F6 - 2 ; case 5
|
|
.short _02231892 - _022317F6 - 2 ; case 6
|
|
.short _022318AE - _022317F6 - 2 ; case 7
|
|
.short _022318DA - _022317F6 - 2 ; case 8
|
|
.short _02231900 - _022317F6 - 2 ; case 9
|
|
_0223180A:
|
|
bl ov74_0223195C
|
|
ldr r0, [r5, #0x10]
|
|
bl Save_MigratedPokemon_Get
|
|
add r5, r0, #0
|
|
bl ov74_02233F68
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl sub_0202EC28
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_0223182A:
|
|
bl OS_GetTick
|
|
mov r2, #0x78
|
|
mov r3, #0
|
|
bl _ull_mod
|
|
add r0, r0, #1
|
|
str r0, [r4, #4]
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_02231842:
|
|
ldr r0, [r4, #4]
|
|
sub r0, r0, #1
|
|
str r0, [r4, #4]
|
|
bne _02231924
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_02231852:
|
|
ldr r0, [r5, #0x10]
|
|
mov r1, #2
|
|
bl Save_PrepareForAsyncWrite
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_02231862:
|
|
ldr r0, [r5, #0x10]
|
|
bl Save_WriteFileAsync
|
|
cmp r0, #3
|
|
bne _02231872
|
|
add sp, #0x10
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, pc}
|
|
_02231872:
|
|
cmp r0, #1
|
|
bne _02231924
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_0223187E:
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
add r2, sp, #0
|
|
mov r3, #0x10
|
|
bl CTRDG_ReadAgbFlash
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_02231892:
|
|
bl ov74_02233E8C
|
|
cmp r0, #0
|
|
bne _022318A6
|
|
mov r0, #1
|
|
bl Sys_ClearSleepDisableFlag
|
|
add sp, #0x10
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, pc}
|
|
_022318A6:
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_022318AE:
|
|
bl ov74_02233F14
|
|
cmp r0, #9
|
|
beq _02231924
|
|
bl ov74_02233F14
|
|
cmp r0, #0xb
|
|
bne _022318C6
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_022318C6:
|
|
bl ov74_02233ED4
|
|
cmp r0, #8
|
|
bne _02231924
|
|
mov r0, #1
|
|
bl Sys_ClearSleepDisableFlag
|
|
add sp, #0x10
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, pc}
|
|
_022318DA:
|
|
ldr r0, [r5, #0x10]
|
|
bl Save_WriteFileAsync
|
|
cmp r0, #3
|
|
bne _022318EA
|
|
add sp, #0x10
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, pc}
|
|
_022318EA:
|
|
cmp r0, #2
|
|
bne _022318DA
|
|
bl ov74_02233ED4
|
|
mov r0, #1
|
|
bl Sys_SetSleepDisableFlag
|
|
ldr r0, [r4]
|
|
add r0, r0, #1
|
|
str r0, [r4]
|
|
b _02231924
|
|
_02231900:
|
|
bl ov74_02233ED4
|
|
cmp r0, #8
|
|
bne _02231914
|
|
mov r0, #1
|
|
bl Sys_ClearSleepDisableFlag
|
|
add sp, #0x10
|
|
mov r0, #0xc
|
|
pop {r3, r4, r5, pc}
|
|
_02231914:
|
|
cmp r0, #0
|
|
bne _02231924
|
|
mov r0, #1
|
|
bl Sys_ClearSleepDisableFlag
|
|
add sp, #0x10
|
|
mov r0, #0xb
|
|
pop {r3, r4, r5, pc}
|
|
_02231924:
|
|
mov r0, #0xa
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0223192C: .word 0x0000E890
|
|
thumb_func_end ov74_022317D8
|
|
|
|
thumb_func_start ov74_02231930
|
|
ov74_02231930: ; 0x02231930
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bl Save_MigratedPokemon_Get
|
|
add r4, r0, #0
|
|
bl ov74_02233F68
|
|
add r1, r0, #0
|
|
add r0, r4, #0
|
|
bl sub_0202EC28
|
|
mov r0, #4
|
|
bl sub_0201A728
|
|
ldr r0, [r5, #0x10]
|
|
bl SaveGameNormal
|
|
mov r0, #4
|
|
bl sub_0201A738
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_02231930
|
|
|
|
thumb_func_start ov74_0223195C
|
|
ov74_0223195C: ; 0x0223195C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xf4
|
|
add r7, r0, #0
|
|
ldr r0, [r7, #0x10]
|
|
bl Save_MigratedPokemon_Get
|
|
str r0, [sp]
|
|
add r0, sp, #8
|
|
bl Mon_GetBoxMon
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r7, #0
|
|
_02231976:
|
|
ldr r0, _022319F4 ; =0x0000E880
|
|
mov r1, #0x3d
|
|
lsl r1, r1, #4
|
|
ldr r0, [r7, r0]
|
|
ldr r2, [r5, r1]
|
|
mov r1, #0x96
|
|
lsl r1, r1, #4
|
|
add r0, r0, #4
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
mov r1, #0xf3
|
|
lsl r1, r1, #2
|
|
ldr r2, [r5, r1]
|
|
mov r1, #0x50
|
|
mul r1, r2
|
|
add r0, r0, r1
|
|
add r1, r6, #0
|
|
bl MigrateBoxMon
|
|
ldr r0, [sp]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl sub_0202EC14
|
|
add r4, r4, #1
|
|
add r5, #0xc
|
|
cmp r4, #6
|
|
blt _02231976
|
|
mov r5, #0
|
|
add r0, sp, #4
|
|
strh r5, [r0]
|
|
add r4, r7, #0
|
|
sub r6, r5, #1
|
|
_022319B8:
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldr r2, [r4, r0]
|
|
add r0, r0, #4
|
|
ldr r1, [r4, r0]
|
|
cmp r2, r6
|
|
beq _022319E6
|
|
cmp r1, #0xe
|
|
beq _022319E6
|
|
ldr r0, _022319F4 ; =0x0000E880
|
|
mov r3, #0x96
|
|
ldr r0, [r7, r0]
|
|
lsl r3, r3, #4
|
|
mul r3, r1
|
|
add r0, r0, #4
|
|
mov r1, #0x50
|
|
mul r1, r2
|
|
add r0, r0, r3
|
|
add r0, r0, r1
|
|
mov r1, #0xb
|
|
add r2, sp, #4
|
|
bl ov74_022348B0
|
|
_022319E6:
|
|
add r5, r5, #1
|
|
add r4, #0xc
|
|
cmp r5, #6
|
|
blt _022319B8
|
|
add sp, #0xf4
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022319F4: .word 0x0000E880
|
|
thumb_func_end ov74_0223195C
|
|
|
|
thumb_func_start ov74_022319F8
|
|
ov74_022319F8: ; 0x022319F8
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
mov r0, #1
|
|
tst r2, r0
|
|
beq _02231A16
|
|
mov r2, #0
|
|
bl FontID_String_GetWidth
|
|
ldr r1, [r4, #0x10]
|
|
lsl r1, r1, #3
|
|
sub r1, r1, r0
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
asr r0, r0, #1
|
|
pop {r4, pc}
|
|
_02231A16:
|
|
ldr r0, [r4, #0x18]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022319F8
|
|
|
|
thumb_func_start ov74_02231A1C
|
|
ov74_02231A1C: ; 0x02231A1C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x24
|
|
add r5, r1, #0
|
|
ldr r7, [r5, #0x44]
|
|
add r6, r0, #0
|
|
add r4, r2, #0
|
|
cmp r7, #0
|
|
bne _02231A2E
|
|
mov r7, #0xff
|
|
_02231A2E:
|
|
ldr r1, [r5]
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
bne _02231A6C
|
|
ldr r0, [r5, #0xc]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x10]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x14]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
mov r0, #0xf
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x20]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
str r0, [sp, #0x10]
|
|
ldr r2, [r5, #0x24]
|
|
ldr r3, [r5, #8]
|
|
lsl r2, r2, #0x18
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r6, #0x20]
|
|
lsr r2, r2, #0x18
|
|
lsr r3, r3, #0x18
|
|
bl AddWindowParameterized
|
|
_02231A6C:
|
|
mov r0, #2
|
|
tst r0, r4
|
|
bne _02231A7E
|
|
ldr r1, [r5, #0x30]
|
|
ldr r0, [r5]
|
|
lsl r1, r1, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl FillWindowPixelBuffer
|
|
_02231A7E:
|
|
mov r0, #0
|
|
ldr r1, [r5, #0x34]
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
beq _02231B0E
|
|
ldr r2, _02231BB0 ; =0x0000012D
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r3, #0x4c
|
|
bl NewMsgDataFromNarc
|
|
str r0, [sp, #0x18]
|
|
ldr r0, [r5, #0x40]
|
|
str r0, [sp, #0x14]
|
|
cmp r0, #0
|
|
bne _02231AA6
|
|
mov r0, #0x4c
|
|
bl MessageFormat_New
|
|
str r0, [sp, #0x14]
|
|
_02231AA6:
|
|
ldr r0, _02231BB4 ; =0x00012608
|
|
ldr r0, [r6, r0]
|
|
bl String_SetEmpty
|
|
ldr r0, _02231BB4 ; =0x00012608
|
|
ldr r1, [r5, #0x34]
|
|
ldr r0, [r6, r0]
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #0x18]
|
|
bl NewString_ReadMsgData
|
|
str r0, [sp, #0x20]
|
|
ldr r1, _02231BB4 ; =0x00012608
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [r6, r1]
|
|
ldr r2, [sp, #0x20]
|
|
bl StringExpandPlaceholders
|
|
ldr r0, [sp, #0x20]
|
|
bl String_Delete
|
|
ldr r1, [sp, #0x1c]
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl ov74_022319F8
|
|
add r3, r0, #0
|
|
ldr r0, [r5, #0x1c]
|
|
ldr r2, [sp, #0x1c]
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5, #0x2c]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #0x28]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
str r0, [r5, #0x48]
|
|
ldr r0, [r5, #0x40]
|
|
cmp r0, #0
|
|
bne _02231B02
|
|
ldr r0, [sp, #0x14]
|
|
bl MessageFormat_Delete
|
|
_02231B02:
|
|
ldr r0, [sp, #0x18]
|
|
bl DestroyMsgData
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [r5, #0x34]
|
|
_02231B0E:
|
|
ldr r1, [r5, #0x38]
|
|
cmp r1, #0
|
|
beq _02231B4A
|
|
ldr r0, _02231BB8 ; =0x0001260C
|
|
mov r2, #0x40
|
|
ldr r6, [r6, r0]
|
|
add r0, r6, #0
|
|
bl CopyU16ArrayToStringN
|
|
add r0, r5, #0
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl ov74_022319F8
|
|
add r3, r0, #0
|
|
ldr r0, [r5, #0x1c]
|
|
add r2, r6, #0
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5, #0x2c]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #0x28]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
str r0, [r5, #0x48]
|
|
mov r0, #0
|
|
str r0, [r5, #0x38]
|
|
_02231B4A:
|
|
ldr r1, [r5, #0x3c]
|
|
cmp r1, #0
|
|
beq _02231B78
|
|
add r0, r5, #0
|
|
add r2, r4, #0
|
|
bl ov74_022319F8
|
|
add r3, r0, #0
|
|
ldr r0, [r5, #0x1c]
|
|
str r0, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5, #0x2c]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #0x28]
|
|
ldr r2, [r5, #0x3c]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
str r0, [r5, #0x48]
|
|
mov r0, #0
|
|
str r0, [r5, #0x3c]
|
|
_02231B78:
|
|
mov r0, #4
|
|
tst r0, r4
|
|
bne _02231B84
|
|
ldr r0, [r5]
|
|
bl CopyWindowToVram
|
|
_02231B84:
|
|
mov r0, #8
|
|
tst r0, r4
|
|
beq _02231BAC
|
|
mov r0, #0x10
|
|
tst r0, r4
|
|
ldr r0, [r5]
|
|
beq _02231BA0
|
|
ldr r2, _02231BBC ; =0x000003D2
|
|
mov r1, #0
|
|
mov r3, #0xd
|
|
bl DrawFrameAndWindow2
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02231BA0:
|
|
mov r2, #0x3f
|
|
mov r1, #0
|
|
lsl r2, r2, #4
|
|
mov r3, #0xe
|
|
bl DrawFrameAndWindow1
|
|
_02231BAC:
|
|
add sp, #0x24
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02231BB0: .word 0x0000012D
|
|
_02231BB4: .word 0x00012608
|
|
_02231BB8: .word 0x0001260C
|
|
_02231BBC: .word 0x000003D2
|
|
thumb_func_end ov74_02231A1C
|
|
|
|
thumb_func_start ov74_02231BC0
|
|
ov74_02231BC0: ; 0x02231BC0
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
ldr r4, _02231BEC ; =_0223B4E8
|
|
add r3, sp, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl ObjCharTransfer_Init
|
|
mov r0, #0x14
|
|
mov r1, #0x4c
|
|
bl ObjPlttTransfer_Init
|
|
bl ObjCharTransfer_ClearBuffers
|
|
bl ObjPlttTransfer_Reset
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02231BEC: .word _0223B4E8
|
|
thumb_func_end ov74_02231BC0
|
|
|
|
thumb_func_start ov74_02231BF0
|
|
ov74_02231BF0: ; 0x02231BF0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r6, r0, #0
|
|
bl NNS_G2dInitOamManagerModule
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #0x7e
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r3, #0x20
|
|
str r3, [sp, #0xc]
|
|
mov r2, #0x4c
|
|
str r2, [sp, #0x10]
|
|
add r2, r0, #0
|
|
bl OamManager_Create
|
|
add r1, r6, #0
|
|
mov r0, #0x50
|
|
add r1, #0x2c
|
|
mov r2, #0x4c
|
|
bl G2dRenderer_Init
|
|
str r0, [r6, #0x28]
|
|
add r0, r6, #0
|
|
mov r2, #1
|
|
add r0, #0x2c
|
|
mov r1, #0
|
|
lsl r2, r2, #0x14
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
mov r7, #0x55
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #2
|
|
_02231C36:
|
|
mov r0, #3
|
|
add r1, r4, #0
|
|
mov r2, #0x4c
|
|
bl Create2DGfxResObjMan
|
|
str r0, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _02231C36
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r3, #1
|
|
str r3, [sp, #4]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #8]
|
|
mov r0, #0x55
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0x71
|
|
mov r2, #0x1e
|
|
bl AddCharResObjFromNarc
|
|
mov r1, #0x5b
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #4
|
|
str r0, [sp, #8]
|
|
mov r0, #0x4c
|
|
sub r1, #0x14
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x1b
|
|
bl AddPlttResObjFromNarc
|
|
mov r1, #0x17
|
|
lsl r1, r1, #4
|
|
str r0, [r6, r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
mov r0, #0x4c
|
|
sub r1, #0x14
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x1d
|
|
mov r3, #1
|
|
bl AddCellOrAnimResObjFromNarc
|
|
mov r1, #0x5d
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
mov r0, #0x4c
|
|
sub r1, #0x14
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, r1]
|
|
mov r1, #0x71
|
|
mov r2, #0x1c
|
|
mov r3, #1
|
|
bl AddCellOrAnimResObjFromNarc
|
|
mov r1, #0x5e
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
sub r1, #0xc
|
|
ldr r0, [r6, r1]
|
|
bl sub_0200ACF0
|
|
mov r0, #0x17
|
|
lsl r0, r0, #4
|
|
ldr r0, [r6, r0]
|
|
bl sub_0200AF94
|
|
bl sub_02074490
|
|
add r1, r0, #0
|
|
mov r0, #0
|
|
mov r2, #1
|
|
str r0, [sp]
|
|
mov r0, #0x4c
|
|
add r3, r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x14
|
|
add r3, #0xff
|
|
bl GfGfxLoader_GXLoadPal
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_02231BF0
|
|
|
|
thumb_func_start ov74_02231CFC
|
|
ov74_02231CFC: ; 0x02231CFC
|
|
push {lr}
|
|
sub sp, #0x2c
|
|
mov r1, #0
|
|
str r1, [sp]
|
|
sub r2, r1, #1
|
|
str r2, [sp, #4]
|
|
str r2, [sp, #8]
|
|
str r1, [sp, #0xc]
|
|
mov r3, #0x55
|
|
str r1, [sp, #0x10]
|
|
lsl r3, r3, #2
|
|
ldr r2, [r0, r3]
|
|
str r2, [sp, #0x14]
|
|
add r2, r3, #4
|
|
ldr r2, [r0, r2]
|
|
str r2, [sp, #0x18]
|
|
add r2, r3, #0
|
|
add r2, #8
|
|
ldr r2, [r0, r2]
|
|
str r2, [sp, #0x1c]
|
|
add r2, r3, #0
|
|
add r2, #0xc
|
|
ldr r2, [r0, r2]
|
|
add r3, #0x30
|
|
str r2, [sp, #0x20]
|
|
str r1, [sp, #0x24]
|
|
add r0, r0, r3
|
|
add r2, r1, #0
|
|
add r3, r1, #0
|
|
str r1, [sp, #0x28]
|
|
bl CreateSpriteResourcesHeader
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
add sp, #0x2c
|
|
pop {pc}
|
|
thumb_func_end ov74_02231CFC
|
|
|
|
thumb_func_start ov74_02231D48
|
|
ov74_02231D48: ; 0x02231D48
|
|
ldr r2, [r1, #0x28]
|
|
str r2, [r0]
|
|
mov r2, #0x61
|
|
lsl r2, r2, #2
|
|
add r1, r1, r2
|
|
str r1, [r0, #4]
|
|
mov r2, #0
|
|
mov r1, #1
|
|
str r2, [r0, #0x10]
|
|
lsl r1, r1, #0xc
|
|
str r1, [r0, #0x14]
|
|
str r1, [r0, #0x18]
|
|
str r1, [r0, #0x1c]
|
|
strh r2, [r0, #0x20]
|
|
mov r1, #0x14
|
|
str r1, [r0, #0x24]
|
|
str r3, [r0, #0x28]
|
|
mov r1, #0x4c
|
|
str r1, [r0, #0x2c]
|
|
bx lr
|
|
thumb_func_end ov74_02231D48
|
|
|
|
thumb_func_start ov74_02231D70
|
|
ov74_02231D70: ; 0x02231D70
|
|
ldr r3, _02231D8C ; =0x0000E880
|
|
ldr r0, [r0, r3]
|
|
add r3, r0, #4
|
|
mov r0, #0x96
|
|
lsl r0, r0, #4
|
|
mul r0, r1
|
|
add r1, r3, r0
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
ldr r3, _02231D90 ; =AGB_GetBoxMonData
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_02231D8C: .word 0x0000E880
|
|
_02231D90: .word AGB_GetBoxMonData
|
|
thumb_func_end ov74_02231D70
|
|
|
|
thumb_func_start ov74_02231D94
|
|
ov74_02231D94: ; 0x02231D94
|
|
ldr r3, _02231DB0 ; =0x0000E880
|
|
ldr r0, [r0, r3]
|
|
add r3, r0, #4
|
|
mov r0, #0x96
|
|
lsl r0, r0, #4
|
|
mul r0, r1
|
|
add r1, r3, r0
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
ldr r3, _02231DB4 ; =AGB_GetBoxMonData
|
|
mov r1, #0x2d
|
|
mov r2, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_02231DB0: .word 0x0000E880
|
|
_02231DB4: .word AGB_GetBoxMonData
|
|
thumb_func_end ov74_02231D94
|
|
|
|
thumb_func_start ov74_02231DB8
|
|
ov74_02231DB8: ; 0x02231DB8
|
|
ldr r3, _02231DD4 ; =0x0000E880
|
|
ldr r0, [r0, r3]
|
|
add r3, r0, #4
|
|
mov r0, #0x96
|
|
lsl r0, r0, #4
|
|
mul r0, r1
|
|
add r1, r3, r0
|
|
mov r0, #0x50
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
mov r1, #0
|
|
ldr r3, _02231DD8 ; =AGB_GetBoxMonData
|
|
add r2, r1, #0
|
|
bx r3
|
|
.balign 4, 0
|
|
_02231DD4: .word 0x0000E880
|
|
_02231DD8: .word AGB_GetBoxMonData
|
|
thumb_func_end ov74_02231DB8
|
|
|
|
thumb_func_start ov74_02231DDC
|
|
ov74_02231DDC: ; 0x02231DDC
|
|
push {r4, r5}
|
|
ldr r5, [sp, #8]
|
|
lsr r4, r5, #0x1f
|
|
add r4, r5, r4
|
|
asr r4, r4, #1
|
|
sub r5, r2, r4
|
|
strb r5, [r0]
|
|
lsr r5, r3, #0x1f
|
|
add r5, r3, r5
|
|
asr r5, r5, #1
|
|
sub r3, r1, r5
|
|
strb r3, [r0, #2]
|
|
add r2, r2, r4
|
|
strb r2, [r0, #1]
|
|
add r1, r1, r5
|
|
strb r1, [r0, #3]
|
|
pop {r4, r5}
|
|
bx lr
|
|
thumb_func_end ov74_02231DDC
|
|
|
|
thumb_func_start ov74_02231E00
|
|
ov74_02231E00: ; 0x02231E00
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
mov r1, #1
|
|
add r5, r0, #0
|
|
add r0, r3, #0
|
|
lsl r1, r1, #0xc
|
|
add r7, r2, #0
|
|
bl AllocFromHeapAtEnd
|
|
add r4, r0, #0
|
|
beq _02231E34
|
|
add r1, r5, #0
|
|
add r2, r6, #0
|
|
bl ReadWholeNarcMemberByIdPair
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl NNS_G2dGetUnpackedBGCharacterData
|
|
cmp r0, #0
|
|
bne _02231E34
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02231E34:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_02231E00
|
|
|
|
thumb_func_start ov74_02231E38
|
|
ov74_02231E38: ; 0x02231E38
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
add r0, r3, #0
|
|
add r1, r6, #0
|
|
bl NARC_ReadWholeMember
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl NNS_G2dGetUnpackedBGCharacterData
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02231E38
|
|
|
|
thumb_func_start ov74_02231E54
|
|
ov74_02231E54: ; 0x02231E54
|
|
push {r4, lr}
|
|
add r3, r1, #0
|
|
mov r4, #0
|
|
cmp r0, #0xc9
|
|
beq _02231E66
|
|
ldr r1, _02231EC0 ; =0x00000182
|
|
cmp r0, r1
|
|
beq _02231E90
|
|
b _02231EBA
|
|
_02231E66:
|
|
mov r4, #3
|
|
lsl r0, r4, #8
|
|
add r2, r3, #0
|
|
and r0, r3
|
|
lsr r1, r0, #6
|
|
lsl r0, r4, #0x18
|
|
and r2, r4
|
|
and r0, r3
|
|
lsl r4, r4, #0x10
|
|
and r3, r4
|
|
lsr r0, r0, #0x12
|
|
lsr r3, r3, #0xc
|
|
orr r0, r3
|
|
orr r0, r1
|
|
orr r0, r2
|
|
mov r1, #0x1c
|
|
bl _u32_div_f
|
|
lsl r0, r1, #0x18
|
|
lsr r4, r0, #0x18
|
|
b _02231EBA
|
|
_02231E90:
|
|
cmp r2, #5
|
|
bhi _02231EAC
|
|
add r0, r2, r2
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02231EA0: ; jump table
|
|
.short _02231EAC - _02231EA0 - 2 ; case 0
|
|
.short _02231EAC - _02231EA0 - 2 ; case 1
|
|
.short _02231EAC - _02231EA0 - 2 ; case 2
|
|
.short _02231EB8 - _02231EA0 - 2 ; case 3
|
|
.short _02231EB0 - _02231EA0 - 2 ; case 4
|
|
.short _02231EB4 - _02231EA0 - 2 ; case 5
|
|
_02231EAC:
|
|
mov r4, #0
|
|
b _02231EBA
|
|
_02231EB0:
|
|
mov r4, #1
|
|
b _02231EBA
|
|
_02231EB4:
|
|
mov r4, #2
|
|
b _02231EBA
|
|
_02231EB8:
|
|
mov r4, #3
|
|
_02231EBA:
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_02231EC0: .word 0x00000182
|
|
thumb_func_end ov74_02231E54
|
|
|
|
thumb_func_start ov74_02231EC4
|
|
ov74_02231EC4: ; 0x02231EC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r2, #0
|
|
add r7, r3, #0
|
|
add r5, r1, #0
|
|
bl TranslateAgbSpecies
|
|
add r1, r6, #0
|
|
add r2, r7, #0
|
|
add r4, r0, #0
|
|
bl ov74_02231E54
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
add r2, r7, #0
|
|
bl GetMonIconNaixEx
|
|
add r1, r0, #0
|
|
mov r0, #0x14
|
|
add r2, sp, #0
|
|
mov r3, #0x4c
|
|
bl ov74_02231E00
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
mov r1, #2
|
|
ldr r0, [r0, #0x14]
|
|
lsl r1, r1, #8
|
|
bl DC_FlushRange
|
|
ldr r1, [sp, #0x18]
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #4
|
|
add r1, #0x64
|
|
mov r2, #2
|
|
ldr r0, [r0, #0x14]
|
|
lsl r1, r1, #5
|
|
lsl r2, r2, #8
|
|
bl GX_LoadOBJ
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
add r2, r5, #0
|
|
bl GetMonIconPaletteEx
|
|
add r1, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
add r1, #8
|
|
bl Sprite_SetPalIndex
|
|
add r0, r6, #0
|
|
bl FreeToHeap
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_02231EC4
|
|
|
|
thumb_func_start ov74_02231F30
|
|
ov74_02231F30: ; 0x02231F30
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r1, #0
|
|
ldr r1, _02231FAC ; =ov74_0223D338
|
|
str r2, [sp]
|
|
ldr r2, [r1]
|
|
mov r1, #0x83
|
|
add r5, r3, #0
|
|
lsl r1, r1, #2
|
|
mul r1, r5
|
|
add r4, r2, r1
|
|
ldr r1, [sp, #0x20]
|
|
add r6, r0, #0
|
|
cmp r1, #0
|
|
beq _02231FA4
|
|
bl ov74_02231764
|
|
cmp r0, #0
|
|
bne _02231F60
|
|
add r0, r6, #0
|
|
bl TranslateAgbSpecies
|
|
add r6, r0, #0
|
|
b _02231F62
|
|
_02231F60:
|
|
mov r6, #0
|
|
_02231F62:
|
|
ldr r2, [sp]
|
|
add r0, r6, #0
|
|
add r1, r7, #0
|
|
bl GetMonIconNaixEx
|
|
ldr r2, [sp, #0x24]
|
|
ldr r3, [sp, #0x28]
|
|
add r1, sp, #4
|
|
bl ov74_02231E38
|
|
ldr r0, [sp, #4]
|
|
add r1, r4, #0
|
|
mov r2, #2
|
|
ldr r0, [r0, #0x14]
|
|
add r1, #0xc
|
|
lsl r2, r2, #8
|
|
bl MIi_CpuCopyFast
|
|
lsl r0, r5, #4
|
|
add r0, #0x64
|
|
lsl r0, r0, #5
|
|
str r0, [r4]
|
|
ldr r0, [sp, #0x20]
|
|
ldr r1, [sp]
|
|
str r0, [r4, #8]
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl GetMonIconPaletteEx
|
|
add r0, #8
|
|
add sp, #8
|
|
str r0, [r4, #4]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02231FA4:
|
|
mov r0, #0
|
|
str r0, [r4, #8]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02231FAC: .word ov74_0223D338
|
|
thumb_func_end ov74_02231F30
|
|
|
|
thumb_func_start ov74_02231FB0
|
|
ov74_02231FB0: ; 0x02231FB0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r0, _02231FF0 ; =ov74_0223D338
|
|
mov r6, #2
|
|
lsl r6, r6, #8
|
|
add r7, r6, #0
|
|
ldr r5, [r0]
|
|
mov r4, #0
|
|
add r7, #0xc
|
|
_02231FC0:
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _02231FE4
|
|
add r0, r5, #0
|
|
add r0, #0xc
|
|
add r1, r6, #0
|
|
bl DC_FlushRange
|
|
add r0, r5, #0
|
|
ldr r1, [r5]
|
|
add r0, #0xc
|
|
add r2, r6, #0
|
|
bl GX_LoadOBJ
|
|
ldr r0, [r5, #8]
|
|
ldr r1, [r5, #4]
|
|
bl Sprite_SetPalIndex
|
|
_02231FE4:
|
|
add r4, r4, #1
|
|
add r5, r5, r7
|
|
cmp r4, #0x1e
|
|
blt _02231FC0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02231FF0: .word ov74_0223D338
|
|
thumb_func_end ov74_02231FB0
|
|
|
|
thumb_func_start ov74_02231FF4
|
|
ov74_02231FF4: ; 0x02231FF4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x20
|
|
add r6, r0, #0
|
|
mov r0, #0x14
|
|
mov r1, #0x4c
|
|
bl NARC_New
|
|
mov r1, #1
|
|
str r0, [sp, #0x10]
|
|
mov r0, #0x4c
|
|
lsl r1, r1, #0xc
|
|
bl AllocFromHeapAtEnd
|
|
mov r7, #0
|
|
str r0, [sp, #0x14]
|
|
str r7, [sp, #0xc]
|
|
add r5, r6, #0
|
|
_02232016:
|
|
ldr r0, _02232140 ; =0x0000E880
|
|
ldr r1, _02232144 ; =0x0000E884
|
|
ldr r0, [r6, r0]
|
|
ldr r2, [r6, r1]
|
|
mov r1, #0x96
|
|
lsl r1, r1, #4
|
|
mul r1, r2
|
|
add r0, r0, #4
|
|
add r1, r0, r1
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
add r0, r1, r0
|
|
mov r1, #5
|
|
bl AGB_GetBoxMonData
|
|
cmp r0, #0
|
|
beq _022320DA
|
|
ldr r1, _02232144 ; =0x0000E884
|
|
add r0, r6, #0
|
|
ldr r1, [r6, r1]
|
|
add r2, r7, #0
|
|
bl ov74_02231D70
|
|
ldr r1, _02232144 ; =0x0000E884
|
|
str r0, [sp, #0x1c]
|
|
ldr r1, [r6, r1]
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl ov74_02231D94
|
|
ldr r1, _02232144 ; =0x0000E884
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [r6, r1]
|
|
add r0, r6, #0
|
|
add r2, r7, #0
|
|
bl ov74_02231DB8
|
|
add r4, r0, #0
|
|
ldr r0, [sp, #0x1c]
|
|
bl TranslateAgbSpecies
|
|
ldr r2, _02232148 ; =gSystem + 0x60
|
|
add r1, r4, #0
|
|
ldrb r2, [r2, #0xa]
|
|
bl ov74_02231E54
|
|
add r4, r0, #0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r1, [sp, #0x18]
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
add r2, r4, #0
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r3, r7, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x1c]
|
|
bl ov74_02231F30
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, _02232140 ; =0x0000E880
|
|
ldr r1, _02232144 ; =0x0000E884
|
|
ldr r0, [r6, r0]
|
|
ldr r2, [r6, r1]
|
|
mov r1, #0x96
|
|
lsl r1, r1, #4
|
|
mul r1, r2
|
|
add r0, r0, #4
|
|
add r1, r0, r1
|
|
ldr r0, [sp, #0xc]
|
|
mov r2, #0
|
|
add r0, r1, r0
|
|
mov r1, #0xc
|
|
bl AGB_GetBoxMonData
|
|
cmp r0, #0
|
|
beq _022320CC
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
b _0223210A
|
|
_022320CC:
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
b _0223210A
|
|
_022320DA:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
str r0, [sp, #4]
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r4, #0
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0x1c]
|
|
add r3, r7, #0
|
|
bl ov74_02231F30
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
_0223210A:
|
|
ldr r0, [sp, #0xc]
|
|
add r7, r7, #1
|
|
add r0, #0x50
|
|
add r5, #0xc
|
|
str r0, [sp, #0xc]
|
|
cmp r7, #0x1e
|
|
bge _0223211A
|
|
b _02232016
|
|
_0223211A:
|
|
ldr r0, [sp, #0x14]
|
|
bl FreeToHeap
|
|
ldr r0, [sp, #0x10]
|
|
bl NARC_Delete
|
|
ldr r1, _0223214C ; =ov74_02231FB0
|
|
ldr r0, _02232150 ; =0x00012604
|
|
str r1, [r6, r0]
|
|
ldr r1, _02232144 ; =0x0000E884
|
|
add r0, r6, #0
|
|
ldr r1, [r6, r1]
|
|
bl ov74_02232678
|
|
add r0, r6, #0
|
|
bl ov74_0223262C
|
|
add sp, #0x20
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02232140: .word 0x0000E880
|
|
_02232144: .word 0x0000E884
|
|
_02232148: .word gSystem + 0x60
|
|
_0223214C: .word ov74_02231FB0
|
|
_02232150: .word 0x00012604
|
|
thumb_func_end ov74_02231FF4
|
|
|
|
thumb_func_start ov74_02232154
|
|
ov74_02232154: ; 0x02232154
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x44
|
|
mov r2, #0x61
|
|
add r5, r0, #0
|
|
lsl r2, r2, #2
|
|
add r0, sp, #0x14
|
|
add r1, r5, #0
|
|
add r2, r5, r2
|
|
mov r3, #1
|
|
bl ov74_02231D48
|
|
mov r0, #0x28
|
|
str r0, [sp, #8]
|
|
mov r0, #0x31
|
|
mov r4, #0
|
|
lsl r0, r0, #4
|
|
str r4, [sp, #0xc]
|
|
add r7, r5, r0
|
|
_02232178:
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [sp, #8]
|
|
mov r6, #0x1c
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #4]
|
|
_02232184:
|
|
mov r0, #0x1c
|
|
str r0, [sp]
|
|
ldr r2, [sp, #8]
|
|
add r0, r7, #0
|
|
add r1, r6, #0
|
|
mov r3, #0x1c
|
|
bl ov74_02231DDC
|
|
lsl r0, r6, #0xc
|
|
str r0, [sp, #0x1c]
|
|
ldr r0, [sp, #4]
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _022321B2
|
|
add r0, sp, #0x14
|
|
bl Sprite_CreateAffine
|
|
mov r1, #0x6a
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
_022321B2:
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetAnimActiveFlag
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0xa
|
|
bl Sprite_SetAnimCtrlSeq
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetPriority
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
add r1, r4, #0
|
|
ldr r0, [r5, r0]
|
|
add r1, #0x64
|
|
bl Sprite_SetDrawPriority
|
|
mov r0, #6
|
|
ldr r1, [sp, #0x1c]
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #3
|
|
ldr r1, [sp, #0x20]
|
|
lsl r0, r0, #0xe
|
|
add r0, r1, r0
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _0223221C
|
|
add r0, sp, #0x14
|
|
bl Sprite_CreateAffine
|
|
mov r1, #0x6b
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
_0223221C:
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetAnimActiveFlag
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0x28
|
|
bl Sprite_SetAnimCtrlSeq
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetPriority
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r4, #0
|
|
bl Sprite_SetDrawPriority
|
|
add r4, r4, #1
|
|
add r7, r7, #4
|
|
add r5, #0xc
|
|
cmp r4, #0x1e
|
|
beq _02232280
|
|
ldr r0, [sp, #0x10]
|
|
add r6, #0x28
|
|
add r0, r0, #1
|
|
str r0, [sp, #0x10]
|
|
cmp r0, #6
|
|
blt _02232184
|
|
ldr r0, [sp, #8]
|
|
add r0, #0x18
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
cmp r0, #5
|
|
bge _02232280
|
|
b _02232178
|
|
_02232280:
|
|
add sp, #0x44
|
|
pop {r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_02232154
|
|
|
|
thumb_func_start ov74_02232284
|
|
ov74_02232284: ; 0x02232284
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r4, r2, #0
|
|
mov r2, #0x61
|
|
add r6, r0, #0
|
|
lsl r2, r2, #2
|
|
add r5, r1, #0
|
|
add r7, r3, #0
|
|
add r0, sp, #0
|
|
add r1, r6, #0
|
|
add r2, r6, r2
|
|
mov r3, #1
|
|
bl ov74_02231D48
|
|
lsl r0, r5, #0xc
|
|
str r0, [sp, #8]
|
|
lsl r0, r4, #0xc
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0xa
|
|
str r0, [sp, #0x24]
|
|
add r0, sp, #0
|
|
bl Sprite_CreateAffine
|
|
add r4, r0, #0
|
|
mov r1, #1
|
|
bl Sprite_SetAnimActiveFlag
|
|
add r0, r4, #0
|
|
add r1, r7, #0
|
|
bl Sprite_SetAnimCtrlSeq
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl Sprite_SetPriority
|
|
ldr r1, [sp, #0x48]
|
|
add r0, r4, #0
|
|
bl Sprite_SetVisibleFlag
|
|
add r0, r4, #0
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_02232284
|
|
|
|
thumb_func_start ov74_022322D8
|
|
ov74_022322D8: ; 0x022322D8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0xe2
|
|
lsl r0, r0, #2
|
|
add r0, r6, r0
|
|
mov r1, #0xe4
|
|
mov r2, #0xb0
|
|
mov r3, #0x32
|
|
bl ov74_02231DDC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
mov r1, #0xe4
|
|
mov r2, #0xb0
|
|
mov r3, #6
|
|
bl ov74_02232284
|
|
mov r1, #0xe6
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
sub r1, #8
|
|
add r0, r6, r1
|
|
mov r1, #0xb0
|
|
mov r3, #0x20
|
|
add r2, r1, #0
|
|
str r3, [sp]
|
|
bl ov74_02231DDC
|
|
mov r0, #1
|
|
mov r1, #0xb0
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
add r2, r1, #0
|
|
mov r3, #3
|
|
bl ov74_02232284
|
|
mov r1, #0xea
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
sub r1, #0x1c
|
|
mov r3, #0x20
|
|
add r0, r6, r1
|
|
mov r1, #0x18
|
|
mov r2, #0xb0
|
|
str r3, [sp]
|
|
bl ov74_02231DDC
|
|
mov r0, #1
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
mov r1, #0x18
|
|
mov r2, #0xb0
|
|
mov r3, #0
|
|
bl ov74_02232284
|
|
mov r1, #0xee
|
|
lsl r1, r1, #2
|
|
str r0, [r6, r1]
|
|
mov r7, #0
|
|
mov r0, #0xff
|
|
sub r1, #0x24
|
|
strb r0, [r6, r1]
|
|
add r4, r7, #0
|
|
add r5, r6, #0
|
|
_0223235E:
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
mov r2, #0x40
|
|
mov r3, #9
|
|
bl ov74_02232284
|
|
mov r1, #0xf2
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
mov r1, #0
|
|
mov r0, #0xf3
|
|
mvn r1, r1
|
|
lsl r0, r0, #2
|
|
str r1, [r5, r0]
|
|
mov r1, #0xe
|
|
add r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r7, r7, #1
|
|
add r4, #0x24
|
|
add r5, #0xc
|
|
cmp r7, #6
|
|
blt _0223235E
|
|
mov r0, #0x41
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
str r1, [r6, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_022322D8
|
|
|
|
thumb_func_start ov74_02232398
|
|
ov74_02232398: ; 0x02232398
|
|
push {r3, lr}
|
|
ldr r3, _022323CC ; =0x0000E880
|
|
ldr r2, [r0, r3]
|
|
add r3, r3, #4
|
|
ldr r3, [r0, r3]
|
|
mov r0, #0x96
|
|
lsl r0, r0, #4
|
|
add r2, r2, #4
|
|
mul r0, r3
|
|
add r2, r2, r0
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
mov r1, #0x41
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
mov r1, #0x67
|
|
lsl r1, r1, #2
|
|
cmp r0, r1
|
|
bne _022323C6
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_022323C6:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
nop
|
|
_022323CC: .word 0x0000E880
|
|
thumb_func_end ov74_02232398
|
|
|
|
thumb_func_start ov74_022323D0
|
|
ov74_022323D0: ; 0x022323D0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r3, _0223241C ; =0x0000E880
|
|
mov r5, #0
|
|
ldr r2, [r0, r3]
|
|
add r3, r3, #4
|
|
ldr r3, [r0, r3]
|
|
mov r0, #0x96
|
|
lsl r0, r0, #4
|
|
add r2, r2, #4
|
|
mul r0, r3
|
|
add r4, r2, r0
|
|
mov r0, #0x50
|
|
add r6, r1, #0
|
|
mul r6, r0
|
|
add r7, r5, #0
|
|
_022323EE:
|
|
add r1, r5, #0
|
|
add r0, r4, r6
|
|
add r1, #0xd
|
|
add r2, r7, #0
|
|
bl AGB_GetBoxMonData
|
|
ldr r3, _02232420 ; =ov74_0223C998
|
|
add r2, r0, #0
|
|
mov r1, #0
|
|
_02232400:
|
|
ldr r0, [r3]
|
|
cmp r2, r0
|
|
bne _0223240A
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0223240A:
|
|
add r1, r1, #1
|
|
add r3, r3, #4
|
|
cmp r1, #8
|
|
blo _02232400
|
|
add r5, r5, #1
|
|
cmp r5, #4
|
|
blt _022323EE
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_0223241C: .word 0x0000E880
|
|
_02232420: .word ov74_0223C998
|
|
thumb_func_end ov74_022323D0
|
|
|
|
thumb_func_start ov74_02232424
|
|
ov74_02232424: ; 0x02232424
|
|
push {r3, lr}
|
|
ldr r3, _02232468 ; =0x0000E880
|
|
ldr r2, [r0, r3]
|
|
add r3, r3, #4
|
|
ldr r3, [r0, r3]
|
|
mov r0, #0x96
|
|
lsl r0, r0, #4
|
|
add r2, r2, #4
|
|
mul r0, r3
|
|
add r2, r2, r0
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
mov r1, #0xc
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
ldr r1, _0223246C ; =ov74_0223C9A8
|
|
ldrh r1, [r1, #0x30]
|
|
cmp r1, #0
|
|
beq _02232462
|
|
ldr r2, _02232470 ; =ov74_0223C9D8
|
|
_02232450:
|
|
ldrh r1, [r2]
|
|
cmp r0, r1
|
|
bne _0223245A
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_0223245A:
|
|
add r2, r2, #2
|
|
ldrh r1, [r2]
|
|
cmp r1, #0
|
|
bne _02232450
|
|
_02232462:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
nop
|
|
_02232468: .word 0x0000E880
|
|
_0223246C: .word ov74_0223C9A8
|
|
_02232470: .word ov74_0223C9D8
|
|
thumb_func_end ov74_02232424
|
|
|
|
thumb_func_start ov74_02232474
|
|
ov74_02232474: ; 0x02232474
|
|
push {r3, lr}
|
|
ldr r3, _0223249C ; =0x0000E880
|
|
ldr r2, [r0, r3]
|
|
add r3, r3, #4
|
|
ldr r3, [r0, r3]
|
|
mov r0, #0x96
|
|
lsl r0, r0, #4
|
|
add r2, r2, #4
|
|
mul r0, r3
|
|
add r2, r2, r0
|
|
mov r0, #0x50
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
bl ov74_02231764
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0223249C: .word 0x0000E880
|
|
thumb_func_end ov74_02232474
|
|
|
|
thumb_func_start ov74_022324A0
|
|
ov74_022324A0: ; 0x022324A0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r4, r0, #0
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
add r0, r4, r0
|
|
str r0, [sp]
|
|
add r6, r1, #0
|
|
mov r0, #0xc
|
|
mul r0, r6
|
|
ldr r1, [sp]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _022324CC
|
|
bl Sprite_GetVisibleFlag
|
|
cmp r0, #0
|
|
bne _022324CC
|
|
add sp, #0x14
|
|
mov r0, #3
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022324CC:
|
|
mov r5, #0
|
|
mov r7, #0x3d
|
|
mvn r5, r5
|
|
mov r2, #0
|
|
add r3, r4, #0
|
|
lsl r7, r7, #4
|
|
b _022324F4
|
|
_022324DA:
|
|
ldr r0, _02232628 ; =0x0000E884
|
|
ldr r1, [r4, r0]
|
|
ldr r0, [r3, r7]
|
|
cmp r1, r0
|
|
bne _022324F0
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldr r0, [r3, r0]
|
|
cmp r6, r0
|
|
bne _022324F0
|
|
add r5, r2, #0
|
|
_022324F0:
|
|
add r3, #0xc
|
|
add r2, r2, #1
|
|
_022324F4:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _02232500
|
|
cmp r2, #6
|
|
blt _022324DA
|
|
_02232500:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov74_02232398
|
|
cmp r0, #1
|
|
bne _02232512
|
|
add sp, #0x14
|
|
mov r0, #4
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02232512:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov74_022323D0
|
|
cmp r0, #1
|
|
bne _02232524
|
|
add sp, #0x14
|
|
mov r0, #5
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02232524:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov74_02232424
|
|
cmp r0, #1
|
|
bne _02232536
|
|
add sp, #0x14
|
|
mov r0, #6
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02232536:
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov74_02232474
|
|
cmp r0, #1
|
|
bne _02232548
|
|
add sp, #0x14
|
|
mov r0, #7
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02232548:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
bne _022325F0
|
|
mov r0, #0x41
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #6
|
|
bne _02232560
|
|
add sp, #0x14
|
|
mov r0, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02232560:
|
|
mov r5, #0
|
|
mov r0, #0xf3
|
|
add r3, r4, #0
|
|
lsl r0, r0, #2
|
|
sub r1, r5, #1
|
|
_0223256A:
|
|
ldr r2, [r3, r0]
|
|
cmp r2, r1
|
|
bne _022325E6
|
|
ldr r1, [sp]
|
|
ldr r0, [sp, #4]
|
|
ldr r0, [r1, r0]
|
|
bl Sprite_GetMatrixPtr
|
|
add r1, r0, #0
|
|
mov r0, #0xc
|
|
add r7, r5, #0
|
|
mul r7, r0
|
|
mov r0, #0xf2
|
|
lsl r0, r0, #2
|
|
add r5, r4, r0
|
|
ldr r0, [r5, r7]
|
|
bl Sprite_SetMatrix
|
|
ldr r0, [r5, r7]
|
|
bl Sprite_GetMatrixPtr
|
|
add r3, r0, #0
|
|
add r2, sp, #8
|
|
ldmia r3!, {r0, r1}
|
|
mov ip, r2
|
|
stmia r2!, {r0, r1}
|
|
ldr r0, [r3]
|
|
mov r1, #2
|
|
str r0, [r2]
|
|
ldr r0, [sp, #8]
|
|
lsl r1, r1, #0xe
|
|
sub r0, r0, r1
|
|
str r0, [sp, #8]
|
|
ldr r0, [sp, #0xc]
|
|
lsr r1, r1, #1
|
|
sub r0, r0, r1
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, r7]
|
|
mov r1, ip
|
|
bl Sprite_SetMatrix
|
|
ldr r0, [r5, r7]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
mov r1, #0xf3
|
|
add r3, r4, r7
|
|
lsl r1, r1, #2
|
|
ldr r0, _02232628 ; =0x0000E884
|
|
str r6, [r3, r1]
|
|
ldr r2, [r4, r0]
|
|
add r0, r1, #4
|
|
str r2, [r3, r0]
|
|
add r0, r1, #0
|
|
add r0, #0x44
|
|
ldr r0, [r4, r0]
|
|
add r1, #0x44
|
|
add r0, r0, #1
|
|
str r0, [r4, r1]
|
|
add sp, #0x14
|
|
mov r0, #1
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022325E6:
|
|
add r5, r5, #1
|
|
add r3, #0xc
|
|
cmp r5, #6
|
|
blt _0223256A
|
|
b _02232622
|
|
_022325F0:
|
|
mov r0, #0xc
|
|
add r6, r5, #0
|
|
mul r6, r0
|
|
mov r0, #0xf2
|
|
add r1, r4, r6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
mov r2, #0
|
|
mov r1, #0xf3
|
|
mvn r2, r2
|
|
add r0, r4, r6
|
|
lsl r1, r1, #2
|
|
str r2, [r0, r1]
|
|
add r0, r1, #0
|
|
add r0, #0x44
|
|
ldr r0, [r4, r0]
|
|
add r1, #0x44
|
|
sub r0, r0, #1
|
|
str r0, [r4, r1]
|
|
add sp, #0x14
|
|
mov r0, #2
|
|
pop {r4, r5, r6, r7, pc}
|
|
_02232622:
|
|
mov r0, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02232628: .word 0x0000E884
|
|
thumb_func_end ov74_022324A0
|
|
|
|
thumb_func_start ov74_0223262C
|
|
ov74_0223262C: ; 0x0223262C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
sub r7, r4, #1
|
|
_02232636:
|
|
mov r0, #0xf3
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, r7
|
|
beq _0223265C
|
|
ldr r0, _02232674 ; =0x0000E884
|
|
ldr r1, [r6, r0]
|
|
mov r0, #0x3d
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
cmp r1, r0
|
|
bne _0223265C
|
|
mov r0, #0xf2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
b _02232668
|
|
_0223265C:
|
|
mov r0, #0xf2
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
_02232668:
|
|
add r4, r4, #1
|
|
add r5, #0xc
|
|
cmp r4, #6
|
|
blt _02232636
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02232674: .word 0x0000E884
|
|
thumb_func_end ov74_0223262C
|
|
|
|
thumb_func_start ov74_02232678
|
|
ov74_02232678: ; 0x02232678
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x60
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r4, r1, #0
|
|
add r3, sp, #0x14
|
|
add r1, r0, #0
|
|
mov r2, #4
|
|
_02232688:
|
|
stmia r3!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _02232688
|
|
stmia r3!, {r0, r1}
|
|
str r0, [r3]
|
|
ldr r0, _022326F0 ; =0x00000478
|
|
add r0, r5, r0
|
|
str r0, [sp, #0x14]
|
|
mov r0, #6
|
|
str r0, [sp, #0x1c]
|
|
mov r0, #0x15
|
|
str r0, [sp, #0x20]
|
|
mov r0, #0xd
|
|
str r0, [sp, #0x24]
|
|
mov r0, #2
|
|
str r0, [sp, #0x28]
|
|
sub r0, r0, #3
|
|
str r0, [sp, #0x48]
|
|
mov r0, #0
|
|
str r0, [sp, #0x2c]
|
|
str r0, [sp, #0x30]
|
|
mov r0, #1
|
|
str r0, [sp, #0x38]
|
|
str r0, [sp, #0x3c]
|
|
ldr r0, _022326F4 ; =0x00010200
|
|
str r0, [sp, #0x40]
|
|
mov r0, #0xa0
|
|
str r0, [sp, #0x34]
|
|
bl PmAgbCartridge_GetLanguage
|
|
add r3, r0, #0
|
|
ldr r0, _022326F8 ; =0x0000E880
|
|
mov r2, #9
|
|
ldr r1, [r5, r0]
|
|
ldr r0, _022326FC ; =0x00008344
|
|
add r1, r1, r0
|
|
lsl r0, r4, #3
|
|
add r0, r4, r0
|
|
add r0, r1, r0
|
|
add r1, sp, #0
|
|
bl ConvertRSStringToDPStringInternational
|
|
add r0, sp, #0
|
|
str r0, [sp, #0x4c]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x14
|
|
mov r2, #1
|
|
bl ov74_02231A1C
|
|
add sp, #0x60
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022326F0: .word 0x00000478
|
|
_022326F4: .word 0x00010200
|
|
_022326F8: .word 0x0000E880
|
|
_022326FC: .word 0x00008344
|
|
thumb_func_end ov74_02232678
|
|
|
|
thumb_func_start ov74_02232700
|
|
ov74_02232700: ; 0x02232700
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
ldr r0, [r5, #0x20]
|
|
add r6, r1, #0
|
|
mov r1, #2
|
|
bl GetBgTilemapBuffer
|
|
add r4, r0, #0
|
|
cmp r6, #0
|
|
beq _02232724
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
lsl r0, r0, #0x18
|
|
lsr r1, r0, #0x18
|
|
b _02232726
|
|
_02232724:
|
|
mov r1, #0
|
|
_02232726:
|
|
mov r2, #0
|
|
mov r0, #1
|
|
_0223272A:
|
|
add r3, r1, #0
|
|
tst r3, r0
|
|
beq _02232736
|
|
add r6, r2, #0
|
|
add r6, #0x80
|
|
b _0223273A
|
|
_02232736:
|
|
add r6, r2, #0
|
|
add r6, #0x60
|
|
_0223273A:
|
|
add r3, r4, #0
|
|
add r3, #0xd6
|
|
lsl r1, r1, #0x17
|
|
add r2, r2, #1
|
|
strh r6, [r3]
|
|
lsr r1, r1, #0x18
|
|
add r4, r4, #2
|
|
cmp r2, #4
|
|
blt _0223272A
|
|
ldr r0, [r5, #0x20]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02232700
|
|
|
|
thumb_func_start ov74_02232758
|
|
ov74_02232758: ; 0x02232758
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x78
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
add r4, r1, #0
|
|
add r3, sp, #0x2c
|
|
add r1, r0, #0
|
|
mov r2, #4
|
|
_02232768:
|
|
stmia r3!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _02232768
|
|
stmia r3!, {r0, r1}
|
|
str r0, [r3]
|
|
mov r1, #0x20
|
|
str r1, [sp, #0x3c]
|
|
mov r1, #1
|
|
ldr r0, _02232908 ; =0x00000488
|
|
str r1, [sp, #0x50]
|
|
str r1, [sp, #0x54]
|
|
mov r1, #0xbc
|
|
str r1, [sp, #0x4c]
|
|
ldr r1, _0223290C ; =0x000F0200
|
|
add r0, r5, r0
|
|
str r1, [sp, #0x58]
|
|
mov r1, #0x2c
|
|
str r0, [sp, #0x2c]
|
|
mov r0, #0
|
|
str r1, [sp, #0x60]
|
|
mov r1, #0x90
|
|
mov r2, #4
|
|
str r1, [sp, #0x44]
|
|
str r0, [sp, #0x34]
|
|
str r0, [sp, #0x38]
|
|
str r0, [sp, #0x64]
|
|
str r0, [sp, #0x48]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x2c
|
|
str r2, [sp, #0x40]
|
|
bl ov74_02231A1C
|
|
mov r0, #0x2b
|
|
str r0, [sp, #0x60]
|
|
mov r0, #0x50
|
|
str r0, [sp, #0x44]
|
|
mov r0, #8
|
|
str r0, [sp, #0x48]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x2c
|
|
mov r2, #6
|
|
bl ov74_02231A1C
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
bl ov74_02232700
|
|
cmp r4, #0
|
|
bne _022327D6
|
|
ldr r0, [sp, #0x2c]
|
|
bl CopyWindowToVram
|
|
add sp, #0x78
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022327D6:
|
|
add r2, sp, #0x1c
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r2, #2
|
|
bl AGB_GetBoxMonData
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r3, r0, #0
|
|
add r0, sp, #0x1c
|
|
add r0, #2
|
|
add r1, sp, #8
|
|
mov r2, #0xb
|
|
bl ConvertRSStringToDPStringInternational
|
|
add r0, sp, #8
|
|
str r0, [sp, #0x64]
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [sp, #0x60]
|
|
mov r0, #8
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0
|
|
str r0, [sp, #0x48]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x2c
|
|
mov r2, #6
|
|
bl ov74_02231A1C
|
|
mov r0, #0x40
|
|
mov r1, #0x4c
|
|
bl String_New
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
mov r2, #0xed
|
|
mov r3, #0x4c
|
|
bl NewMsgDataFromNarc
|
|
add r7, r0, #0
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
bl TranslateAgbSpecies
|
|
str r0, [sp, #4]
|
|
ldr r1, [sp, #4]
|
|
add r0, r7, #0
|
|
add r2, r6, #0
|
|
bl ReadMsgDataIntoString
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [sp, #0x60]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x44]
|
|
str r0, [sp, #0x48]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x2c
|
|
mov r2, #6
|
|
str r6, [sp, #0x68]
|
|
bl ov74_02231A1C
|
|
add r0, r7, #0
|
|
bl DestroyMsgData
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
cmp r0, #0
|
|
beq _022328B8
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl UpConvertItemId_Gen3to4
|
|
add r7, r0, #0
|
|
mov r0, #0x40
|
|
mov r1, #0x4c
|
|
bl String_New
|
|
lsl r1, r7, #0x10
|
|
lsr r1, r1, #0x10
|
|
mov r2, #0x4c
|
|
add r6, r0, #0
|
|
bl GetItemNameIntoString
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [sp, #0x60]
|
|
mov r0, #0x98
|
|
str r0, [sp, #0x44]
|
|
mov r0, #0x10
|
|
str r0, [sp, #0x48]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x2c
|
|
mov r2, #6
|
|
str r6, [sp, #0x68]
|
|
bl ov74_02231A1C
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
_022328B8:
|
|
add r0, r4, #0
|
|
bl ov74_02234A0C
|
|
add r6, r0, #0
|
|
mov r0, #0xa
|
|
mov r1, #0x4c
|
|
bl String_New
|
|
mov r3, #1
|
|
add r1, r6, #0
|
|
mov r2, #3
|
|
add r4, r0, #0
|
|
str r3, [sp]
|
|
bl String16_FormatInteger
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [sp, #0x60]
|
|
mov r0, #0x64
|
|
str r0, [sp, #0x44]
|
|
mov r0, #8
|
|
str r0, [sp, #0x48]
|
|
add r0, r5, #0
|
|
add r1, sp, #0x2c
|
|
mov r2, #2
|
|
str r4, [sp, #0x68]
|
|
bl ov74_02231A1C
|
|
add r0, r4, #0
|
|
bl String_Delete
|
|
ldr r0, [sp, #4]
|
|
mov r1, #0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl PlayCry
|
|
add sp, #0x78
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02232908: .word 0x00000488
|
|
_0223290C: .word 0x000F0200
|
|
thumb_func_end ov74_02232758
|
|
|
|
thumb_func_start ov74_02232910
|
|
ov74_02232910: ; 0x02232910
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #8]
|
|
add r6, r2, #0
|
|
mov r0, #0
|
|
add r4, r3, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
cmp r4, #0
|
|
beq _02232938
|
|
mov r0, #0x17
|
|
str r0, [r4]
|
|
_02232938:
|
|
str r6, [r5, #0x24]
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02232910
|
|
|
|
thumb_func_start ov74_02232940
|
|
ov74_02232940: ; 0x02232940
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0xc
|
|
add r5, r0, #0
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
add r4, r3, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x4c
|
|
add r6, r2, #0
|
|
str r0, [sp, #8]
|
|
ldr r3, _02232970 ; =0x00007FFF
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
cmp r4, #0
|
|
beq _02232968
|
|
mov r0, #0x17
|
|
str r0, [r4]
|
|
_02232968:
|
|
str r6, [r5, #0x24]
|
|
add sp, #0xc
|
|
pop {r3, r4, r5, r6, pc}
|
|
nop
|
|
_02232970: .word 0x00007FFF
|
|
thumb_func_end ov74_02232940
|
|
|
|
thumb_func_start ov74_02232974
|
|
ov74_02232974: ; 0x02232974
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x80
|
|
ldr r5, _02232A34 ; =_0223B4F8
|
|
add r3, sp, #0x70
|
|
add r4, r0, #0
|
|
add r2, r3, #0
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
add r0, r2, #0
|
|
bl SetBothScreensModesAndDisable
|
|
ldr r5, _02232A38 ; =_0223B508
|
|
add r3, sp, #0x54
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #0
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
add r3, r1, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _02232A3C ; =_0223B524
|
|
add r3, sp, #0x38
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #1
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _02232A40 ; =_0223B540
|
|
add r3, sp, #0x1c
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #2
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
bl BgClearTilemapBufferAndCommit
|
|
ldr r5, _02232A44 ; =_0223B55C
|
|
add r3, sp, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r2, r3, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
mov r1, #3
|
|
str r0, [r3]
|
|
add r0, r4, #0
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
bl BgClearTilemapBufferAndCommit
|
|
add sp, #0x80
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02232A34: .word _0223B4F8
|
|
_02232A38: .word _0223B508
|
|
_02232A3C: .word _0223B524
|
|
_02232A40: .word _0223B540
|
|
_02232A44: .word _0223B55C
|
|
thumb_func_end ov74_02232974
|
|
|
|
thumb_func_start ov74_02232A48
|
|
ov74_02232A48: ; 0x02232A48
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x38
|
|
ldr r5, _02232AC0 ; =_0223B578
|
|
add r4, r0, #0
|
|
add r3, sp, #0x10
|
|
mov r2, #5
|
|
_02232A54:
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
sub r2, r2, #1
|
|
bne _02232A54
|
|
add r0, sp, #0x10
|
|
bl GfGfx_SetBanks
|
|
ldr r0, [r4, #0x20]
|
|
bl ov74_02232974
|
|
ldr r0, _02232AC4 ; =gSystem + 0x60
|
|
mov r1, #1
|
|
strb r1, [r0, #9]
|
|
bl GfGfx_SwapDisplay
|
|
bl ResetAllTextPrinters
|
|
mov r1, #0x1e
|
|
mov r0, #0
|
|
lsl r1, r1, #4
|
|
mov r2, #0x4c
|
|
bl LoadFontPal0
|
|
mov r0, #0xc0
|
|
str r0, [sp]
|
|
mov r0, #0x4c
|
|
mov r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x17
|
|
add r3, r2, #0
|
|
bl GfGfxLoader_GXLoadPal
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0x20]
|
|
mov r0, #0x71
|
|
mov r1, #0x1a
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r0, #2
|
|
mov r1, #0x4c
|
|
bl FontID_Alloc
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02232AC0: .word _0223B578
|
|
_02232AC4: .word gSystem + 0x60
|
|
thumb_func_end ov74_02232A48
|
|
|
|
thumb_func_start ov74_02232AC8
|
|
ov74_02232AC8: ; 0x02232AC8
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r4, #0x20]
|
|
mov r0, #0x71
|
|
mov r1, #0x18
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r2, #0
|
|
ldr r1, [r4]
|
|
ldr r0, _02232B14 ; =ov74_0223C960
|
|
add r3, r2, #0
|
|
ldrb r0, [r0, r1]
|
|
mov r1, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, [r4, #0x20]
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02232B14: .word ov74_0223C960
|
|
thumb_func_end ov74_02232AC8
|
|
|
|
thumb_func_start ov74_02232B18
|
|
ov74_02232B18: ; 0x02232B18
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
mov r1, #7
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
lsl r1, r1, #6
|
|
mov r2, #0x4c
|
|
bl LoadFontPal0
|
|
mov r1, #0
|
|
mov r2, #0x3f
|
|
str r1, [sp]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x20]
|
|
lsl r2, r2, #4
|
|
mov r3, #0xe
|
|
bl LoadUserFrameGfx1
|
|
ldr r0, [r4, #0x1c]
|
|
ldr r2, _02232BC0 ; =0x000003D2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #4]
|
|
ldr r0, [r4, #0x20]
|
|
mov r1, #0
|
|
mov r3, #0xd
|
|
bl LoadUserFrameGfx2
|
|
ldr r0, _02232BC4 ; =0x0000042C
|
|
mov r1, #0
|
|
add r0, r4, r0
|
|
mov r2, #0x4c
|
|
bl memset
|
|
ldr r0, _02232BC8 ; =0x00000498
|
|
mov r3, #0x1b
|
|
add r1, r0, #0
|
|
add r2, r4, r0
|
|
sub r1, #0x6c
|
|
str r2, [r4, r1]
|
|
add r1, r0, #0
|
|
mov r2, #2
|
|
sub r1, #0x64
|
|
str r2, [r4, r1]
|
|
add r1, r0, #0
|
|
mov r2, #1
|
|
sub r1, #0x60
|
|
str r2, [r4, r1]
|
|
add r1, r0, #0
|
|
sub r1, #0x5c
|
|
str r3, [r4, r1]
|
|
add r1, r0, #0
|
|
mov r3, #4
|
|
sub r1, #0x58
|
|
str r3, [r4, r1]
|
|
add r3, r0, #0
|
|
mov r1, #0
|
|
sub r3, #0x48
|
|
str r1, [r4, r3]
|
|
add r3, r0, #0
|
|
sub r3, #0x44
|
|
str r2, [r4, r3]
|
|
add r3, r0, #0
|
|
sub r3, #0x4c
|
|
str r2, [r4, r3]
|
|
add r2, r0, #0
|
|
ldr r3, _02232BCC ; =0x0001020F
|
|
sub r2, #0x40
|
|
str r3, [r4, r2]
|
|
add r2, r0, #0
|
|
ldr r3, _02232BD0 ; =0x000F020F
|
|
sub r2, #0x3c
|
|
str r3, [r4, r2]
|
|
add r2, r0, #0
|
|
sub r2, #0x34
|
|
str r1, [r4, r2]
|
|
sub r0, #0x30
|
|
str r1, [r4, r0]
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
nop
|
|
_02232BC0: .word 0x000003D2
|
|
_02232BC4: .word 0x0000042C
|
|
_02232BC8: .word 0x00000498
|
|
_02232BCC: .word 0x0001020F
|
|
_02232BD0: .word 0x000F020F
|
|
thumb_func_end ov74_02232B18
|
|
|
|
thumb_func_start ov74_02232BD4
|
|
ov74_02232BD4: ; 0x02232BD4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x4c
|
|
add r6, r0, #0
|
|
mov r7, #0x6b
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
lsl r7, r7, #2
|
|
_02232BE2:
|
|
mov r0, #0x6a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
ldr r0, [r4, r7]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
add r5, r5, #1
|
|
add r4, #0xc
|
|
cmp r5, #0x1e
|
|
blt _02232BE2
|
|
mov r7, #0xf2
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
lsl r7, r7, #2
|
|
_02232C06:
|
|
ldr r0, [r4, r7]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
add r5, r5, #1
|
|
add r4, #0xc
|
|
cmp r5, #6
|
|
blt _02232C06
|
|
mov r0, #0xe6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0xee
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
mov r2, #0x61
|
|
lsl r2, r2, #2
|
|
add r0, sp, #0x1c
|
|
add r1, r6, #0
|
|
add r2, r6, r2
|
|
mov r3, #1
|
|
bl ov74_02231D48
|
|
mov r0, #0x1c
|
|
mov r7, #0
|
|
str r0, [sp, #0x10]
|
|
add r4, r6, #0
|
|
add r5, r6, #0
|
|
_02232C54:
|
|
ldr r0, [sp, #0x10]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x24]
|
|
mov r0, #0x8e
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0x28]
|
|
add r0, sp, #0x1c
|
|
bl Sprite_CreateAffine
|
|
ldr r1, _02232D94 ; =0x00000414
|
|
str r0, [r4, r1]
|
|
add r0, r1, #0
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetAnimActiveFlag
|
|
ldr r0, _02232D94 ; =0x00000414
|
|
add r1, r7, #0
|
|
ldr r0, [r4, r0]
|
|
add r1, #0xa
|
|
bl Sprite_SetAnimCtrlSeq
|
|
ldr r0, _02232D94 ; =0x00000414
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetPriority
|
|
ldr r0, _02232D94 ; =0x00000414
|
|
mov r1, #1
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_SetVisibleFlag
|
|
mov r1, #0x3d
|
|
mov r2, #0xf3
|
|
lsl r1, r1, #4
|
|
lsl r2, r2, #2
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
add r0, r6, #0
|
|
bl ov74_02231D70
|
|
mov r1, #0x3d
|
|
mov r2, #0xf3
|
|
lsl r1, r1, #4
|
|
lsl r2, r2, #2
|
|
str r0, [sp, #0x14]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
add r0, r6, #0
|
|
bl ov74_02231D94
|
|
mov r1, #0x3d
|
|
mov r2, #0xf3
|
|
lsl r1, r1, #4
|
|
lsl r2, r2, #2
|
|
str r0, [sp, #0x18]
|
|
ldr r1, [r5, r1]
|
|
ldr r2, [r5, r2]
|
|
add r0, r6, #0
|
|
bl ov74_02231DB8
|
|
add r2, r0, #0
|
|
ldr r0, _02232D94 ; =0x00000414
|
|
str r7, [sp]
|
|
ldr r0, [r4, r0]
|
|
ldr r3, _02232D98 ; =gSystem + 0x60
|
|
str r0, [sp, #4]
|
|
ldrb r3, [r3, #0xa]
|
|
ldr r0, [sp, #0x14]
|
|
ldr r1, [sp, #0x18]
|
|
bl ov74_02231EC4
|
|
ldr r0, [sp, #0x10]
|
|
add r7, r7, #1
|
|
add r0, #0x28
|
|
str r0, [sp, #0x10]
|
|
add r4, r4, #4
|
|
add r5, #0xc
|
|
cmp r7, #6
|
|
blt _02232C54
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #6
|
|
lsl r0, r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #0xc]
|
|
ldr r2, [r6, #0x20]
|
|
mov r0, #0x71
|
|
mov r1, #0x19
|
|
mov r3, #2
|
|
bl GfGfxLoader_LoadScrnData
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r2, #0
|
|
ldr r1, [r6]
|
|
ldr r0, _02232D9C ; =ov74_0223C960
|
|
add r3, r2, #0
|
|
ldrb r0, [r0, r1]
|
|
mov r1, #2
|
|
str r0, [sp, #8]
|
|
ldr r0, [r6, #0x20]
|
|
bl BgTilemapRectChangePalette
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #2
|
|
bl BgCommitTilemapBufferToVram
|
|
mov r0, #2
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
mov r1, #7
|
|
mov r0, #0
|
|
lsl r1, r1, #6
|
|
mov r2, #0x4c
|
|
bl LoadFontPal0
|
|
mov r1, #0
|
|
mov r2, #0x3f
|
|
str r1, [sp]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0x20]
|
|
lsl r2, r2, #4
|
|
mov r3, #0xe
|
|
bl LoadUserFrameGfx1
|
|
ldr r0, [r6, #0x1c]
|
|
ldr r2, _02232DA0 ; =0x000003D2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
mov r0, #0x4c
|
|
str r0, [sp, #4]
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #0
|
|
mov r3, #0xd
|
|
bl LoadUserFrameGfx2
|
|
add r0, r6, #0
|
|
bl ov74_02232B18
|
|
mov r1, #0x46
|
|
mov r0, #0xa
|
|
lsl r1, r1, #4
|
|
str r0, [r6, r1]
|
|
sub r1, #0x34
|
|
add r0, r6, #0
|
|
add r1, r6, r1
|
|
mov r2, #0x18
|
|
bl ov74_02231A1C
|
|
add sp, #0x4c
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02232D94: .word 0x00000414
|
|
_02232D98: .word gSystem + 0x60
|
|
_02232D9C: .word ov74_0223C960
|
|
_02232DA0: .word 0x000003D2
|
|
thumb_func_end ov74_02232BD4
|
|
|
|
thumb_func_start ov74_02232DA4
|
|
ov74_02232DA4: ; 0x02232DA4
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r1, [r4]
|
|
cmp r1, #0
|
|
beq _02232DC0
|
|
mov r1, #0
|
|
bl ClearFrameAndWindow2
|
|
add r0, r4, #0
|
|
bl ClearWindowTilemapAndCopyToVram
|
|
add r0, r4, #0
|
|
bl RemoveWindow
|
|
_02232DC0:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02232DA4
|
|
|
|
thumb_func_start ov74_02232DC4
|
|
ov74_02232DC4: ; 0x02232DC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
ldr r7, _02232E34 ; =0x00000414
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
_02232DCE:
|
|
ldr r0, [r5, r7]
|
|
bl Sprite_Delete
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _02232DCE
|
|
mov r0, #2
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
ldr r0, _02232E38 ; =0x00000498
|
|
add r0, r6, r0
|
|
bl ov74_02232DA4
|
|
mov r0, #0xe6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0xee
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
mov r0, #0xf3
|
|
mov r5, #0
|
|
lsl r0, r0, #2
|
|
add r4, r6, #0
|
|
sub r3, r5, #1
|
|
mov r2, #0xe
|
|
add r1, r0, #4
|
|
_02232E1E:
|
|
str r3, [r4, r0]
|
|
str r2, [r4, r1]
|
|
add r5, r5, #1
|
|
add r4, #0xc
|
|
cmp r5, #6
|
|
blt _02232E1E
|
|
mov r0, #0x41
|
|
mov r1, #0
|
|
lsl r0, r0, #4
|
|
str r1, [r6, r0]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02232E34: .word 0x00000414
|
|
_02232E38: .word 0x00000498
|
|
thumb_func_end ov74_02232DC4
|
|
|
|
thumb_func_start ov74_02232E3C
|
|
ov74_02232E3C: ; 0x02232E3C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r7, #0x6a
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #2
|
|
_02232E50:
|
|
ldr r0, [r5, r7]
|
|
cmp r0, #0
|
|
beq _02232E5A
|
|
bl Sprite_Delete
|
|
_02232E5A:
|
|
mov r0, #0x6b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _02232E68
|
|
bl Sprite_Delete
|
|
_02232E68:
|
|
add r4, r4, #1
|
|
add r5, #0xc
|
|
cmp r4, #0x1e
|
|
blt _02232E50
|
|
mov r7, #0xf2
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
lsl r7, r7, #2
|
|
_02232E78:
|
|
ldr r0, [r4, r7]
|
|
cmp r0, #0
|
|
beq _02232E82
|
|
bl Sprite_Delete
|
|
_02232E82:
|
|
add r5, r5, #1
|
|
add r4, #0xc
|
|
cmp r5, #6
|
|
blt _02232E78
|
|
mov r0, #0xe6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
beq _02232E98
|
|
bl Sprite_Delete
|
|
_02232E98:
|
|
mov r0, #0xee
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
beq _02232EA6
|
|
bl Sprite_Delete
|
|
_02232EA6:
|
|
mov r0, #0xea
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
cmp r0, #0
|
|
beq _02232EB4
|
|
bl Sprite_Delete
|
|
_02232EB4:
|
|
ldr r0, _02232F48 ; =0x00000478
|
|
add r0, r6, r0
|
|
bl ov74_02232DA4
|
|
ldr r0, _02232F4C ; =0x00000488
|
|
add r0, r6, r0
|
|
bl ov74_02232DA4
|
|
ldr r0, _02232F50 ; =0x00000498
|
|
add r0, r6, r0
|
|
bl ov74_02232DA4
|
|
mov r0, #2
|
|
bl FontID_Release
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r6, r0]
|
|
bl sub_0200AEB0
|
|
mov r0, #0x17
|
|
lsl r0, r0, #4
|
|
ldr r0, [r6, r0]
|
|
bl sub_0200B0A8
|
|
mov r7, #0x55
|
|
mov r5, #0
|
|
add r4, r6, #0
|
|
lsl r7, r7, #2
|
|
_02232EEE:
|
|
ldr r0, [r4, r7]
|
|
bl Destroy2DGfxResObjMan
|
|
add r5, r5, #1
|
|
add r4, r4, #4
|
|
cmp r5, #6
|
|
blt _02232EEE
|
|
ldr r0, [r6, #0x28]
|
|
bl SpriteList_Delete
|
|
mov r0, #0
|
|
str r0, [r6, #0x28]
|
|
bl OamManager_Free
|
|
bl ObjCharTransfer_Destroy
|
|
bl ObjPlttTransfer_Destroy
|
|
ldr r0, _02232F54 ; =0x0000E88C
|
|
ldr r0, [r6, r0]
|
|
bl YesNoPrompt_Destroy
|
|
ldr r0, _02232F58 ; =gSystem + 0x60
|
|
mov r1, #0
|
|
strb r1, [r0, #9]
|
|
bl GfGfx_SwapDisplay
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #0
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #1
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #2
|
|
bl FreeBgTilemapBuffer
|
|
ldr r0, [r6, #0x20]
|
|
mov r1, #3
|
|
bl FreeBgTilemapBuffer
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02232F48: .word 0x00000478
|
|
_02232F4C: .word 0x00000488
|
|
_02232F50: .word 0x00000498
|
|
_02232F54: .word 0x0000E88C
|
|
_02232F58: .word gSystem + 0x60
|
|
thumb_func_end ov74_02232E3C
|
|
|
|
thumb_func_start ov74_02232F5C
|
|
ov74_02232F5C: ; 0x02232F5C
|
|
push {lr}
|
|
sub sp, #0x14
|
|
ldr r1, [r0, #0x20]
|
|
mov r3, #0
|
|
str r1, [sp]
|
|
mov r1, #2
|
|
lsl r1, r1, #8
|
|
str r1, [sp, #8]
|
|
mov r1, #8
|
|
str r1, [sp, #0xc]
|
|
str r3, [sp, #4]
|
|
mov r1, #0x19
|
|
add r2, sp, #0
|
|
strb r1, [r2, #0x10]
|
|
mov r1, #7
|
|
strb r1, [r2, #0x11]
|
|
strb r3, [r2, #0x13]
|
|
ldrb r3, [r2, #0x12]
|
|
mov r1, #0xf0
|
|
bic r3, r1
|
|
mov r1, #0x10
|
|
orr r1, r3
|
|
strb r1, [r2, #0x12]
|
|
ldr r1, _02232F98 ; =0x0000E88C
|
|
ldr r0, [r0, r1]
|
|
add r1, sp, #0
|
|
bl YesNoPrompt_InitFromTemplate
|
|
add sp, #0x14
|
|
pop {pc}
|
|
.balign 4, 0
|
|
_02232F98: .word 0x0000E88C
|
|
thumb_func_end ov74_02232F5C
|
|
|
|
thumb_func_start ov74_02232F9C
|
|
ov74_02232F9C: ; 0x02232F9C
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x18
|
|
add r5, r0, #0
|
|
bl ov74_02233F84
|
|
add r4, r0, #0
|
|
bl PmAgbCartridge_GetLanguage
|
|
add r3, r0, #0
|
|
add r0, r4, #0
|
|
add r1, sp, #8
|
|
mov r2, #8
|
|
bl ConvertRSStringToDPStringInternational
|
|
mov r0, #0x4c
|
|
bl MessageFormat_New
|
|
add r4, r0, #0
|
|
mov r0, #8
|
|
mov r1, #0x4c
|
|
bl String_New
|
|
add r1, sp, #8
|
|
add r6, r0, #0
|
|
bl CopyU16ArrayToString
|
|
mov r1, #1
|
|
str r1, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
add r2, r6, #0
|
|
mov r3, #0
|
|
bl BufferString
|
|
add r0, r5, #0
|
|
bl ov74_02232B18
|
|
ldr r0, [r5]
|
|
mov r2, #0x18
|
|
lsl r1, r0, #2
|
|
ldr r0, _02233020 ; =ov74_0223C980
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x46
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
add r0, #0xc
|
|
sub r1, #0x34
|
|
str r4, [r5, r0]
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
bl ov74_02231A1C
|
|
add r0, r6, #0
|
|
bl String_Delete
|
|
add r0, r4, #0
|
|
bl MessageFormat_Delete
|
|
add r0, r5, #0
|
|
bl ov74_02232F5C
|
|
add sp, #0x18
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02233020: .word ov74_0223C980
|
|
thumb_func_end ov74_02232F9C
|
|
|
|
thumb_func_start ov74_02233024
|
|
ov74_02233024: ; 0x02233024
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02233054 ; =0x00012604
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02233038
|
|
blx r0
|
|
ldr r0, _02233054 ; =0x00012604
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_02233038:
|
|
bl GF_RunVramTransferTasks
|
|
bl OamManager_ApplyAndResetBuffers
|
|
ldr r0, [r4, #0x20]
|
|
bl DoScheduledBgGpuUpdates
|
|
ldr r3, _02233058 ; =0x027E0000
|
|
ldr r1, _0223305C ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02233054: .word 0x00012604
|
|
_02233058: .word 0x027E0000
|
|
_0223305C: .word 0x00003FF8
|
|
thumb_func_end ov74_02233024
|
|
|
|
thumb_func_start ov74_02233060
|
|
ov74_02233060: ; 0x02233060
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
str r0, [sp]
|
|
ldr r0, [r0, #0x10]
|
|
bl Save_MigratedPokemon_Get
|
|
mov r6, #0
|
|
str r0, [sp, #8]
|
|
str r6, [sp, #4]
|
|
add r7, r6, #0
|
|
_02233074:
|
|
mov r4, #0
|
|
add r5, r4, #0
|
|
_02233078:
|
|
ldr r1, [sp]
|
|
ldr r0, _022330CC ; =0x0000E880
|
|
mov r2, #0
|
|
ldr r0, [r1, r0]
|
|
mov r1, #5
|
|
add r0, r0, #4
|
|
add r0, r0, r7
|
|
add r0, r0, r5
|
|
bl AGB_GetBoxMonData
|
|
cmp r0, #0
|
|
beq _02233092
|
|
add r6, r6, #1
|
|
_02233092:
|
|
add r4, r4, #1
|
|
add r5, #0x50
|
|
cmp r4, #0x1e
|
|
blt _02233078
|
|
mov r0, #0x96
|
|
lsl r0, r0, #4
|
|
add r7, r7, r0
|
|
ldr r0, [sp, #4]
|
|
add r0, r0, #1
|
|
str r0, [sp, #4]
|
|
cmp r0, #0xe
|
|
blt _02233074
|
|
cmp r6, #6
|
|
bge _022330B4
|
|
add sp, #0xc
|
|
mov r0, #5
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022330B4:
|
|
ldr r0, [sp, #8]
|
|
bl sub_0202EC98
|
|
cmp r0, #0
|
|
beq _022330C4
|
|
add sp, #0xc
|
|
mov r0, #6
|
|
pop {r4, r5, r6, r7, pc}
|
|
_022330C4:
|
|
mov r0, #0
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_022330CC: .word 0x0000E880
|
|
thumb_func_end ov74_02233060
|
|
|
|
thumb_func_start ov74_022330D0
|
|
ov74_022330D0: ; 0x022330D0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
beq _0223310C
|
|
bl ov74_02232B18
|
|
mov r0, #1
|
|
bl TextFlags_SetCanTouchSpeedUpPrint
|
|
ldr r0, _0223312C ; =ov74_0223C9B8
|
|
lsl r1, r4, #2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x46
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
sub r1, #0x34
|
|
mov r2, #1
|
|
add r0, #0x10
|
|
str r2, [r5, r0]
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
mov r2, #0x18
|
|
bl ov74_02231A1C
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
b _02233126
|
|
_0223310C:
|
|
ldr r0, _02233130 ; =0x00000474
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
bne _02233126
|
|
mov r0, #0
|
|
bl TextFlags_SetCanTouchSpeedUpPrint
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02233126:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_0223312C: .word ov74_0223C9B8
|
|
_02233130: .word 0x00000474
|
|
thumb_func_end ov74_022330D0
|
|
|
|
thumb_func_start ov74_02233134
|
|
ov74_02233134: ; 0x02233134
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
beq _02233170
|
|
bl ov74_02232B18
|
|
mov r0, #1
|
|
bl TextFlags_SetCanTouchSpeedUpPrint
|
|
ldr r0, _02233194 ; =ov74_0223C9B8
|
|
lsl r1, r4, #2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x46
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
sub r1, #0x34
|
|
mov r2, #1
|
|
add r0, #0x10
|
|
str r2, [r5, r0]
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
mov r2, #0x18
|
|
bl ov74_02231A1C
|
|
mov r0, #0
|
|
str r0, [r5, #4]
|
|
b _02233190
|
|
_02233170:
|
|
ldr r0, _02233198 ; =0x00000474
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
bne _02233190
|
|
add r0, r5, #0
|
|
bl ov74_02232F5C
|
|
mov r0, #0
|
|
bl TextFlags_SetCanTouchSpeedUpPrint
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02233190:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02233194: .word ov74_0223C9B8
|
|
_02233198: .word 0x00000474
|
|
thumb_func_end ov74_02233134
|
|
|
|
thumb_func_start ov74_0223319C
|
|
ov74_0223319C: ; 0x0223319C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
mov r1, #0
|
|
ldr r2, [r5, #8]
|
|
mvn r1, r1
|
|
cmp r2, r1
|
|
beq _022331DE
|
|
bl ov74_02232B18
|
|
mov r0, #1
|
|
bl TextFlags_SetCanTouchSpeedUpPrint
|
|
mov r1, #0x46
|
|
ldr r0, [r5, #8]
|
|
lsl r1, r1, #4
|
|
str r0, [r5, r1]
|
|
add r0, r1, #0
|
|
add r0, #0x10
|
|
sub r1, #0x34
|
|
str r4, [r5, r0]
|
|
add r0, r5, #0
|
|
add r1, r5, r1
|
|
mov r2, #0x18
|
|
bl ov74_02231A1C
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
str r0, [r5, #8]
|
|
ldr r0, _02233220 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
b _0223321C
|
|
_022331DE:
|
|
cmp r4, #0
|
|
beq _022331FC
|
|
ldr r0, _02233224 ; =0x00000474
|
|
ldr r0, [r5, r0]
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl TextPrinterCheckActive
|
|
cmp r0, #0
|
|
bne _0223321C
|
|
mov r0, #0
|
|
bl TextFlags_SetCanTouchSpeedUpPrint
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_022331FC:
|
|
ldr r0, _02233228 ; =gSystem + 0x40
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
bne _0223320C
|
|
ldr r0, _0223322C ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
beq _0223321C
|
|
_0223320C:
|
|
mov r0, #0
|
|
bl TextFlags_SetCanTouchSpeedUpPrint
|
|
ldr r0, _02233220 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_0223321C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02233220: .word SEQ_SE_DP_SELECT
|
|
_02233224: .word 0x00000474
|
|
_02233228: .word gSystem + 0x40
|
|
_0223322C: .word gSystem
|
|
thumb_func_end ov74_0223319C
|
|
|
|
thumb_func_start ov74_02233230
|
|
ov74_02233230: ; 0x02233230
|
|
push {r3, r4, r5, lr}
|
|
mov r2, #0xe
|
|
add r5, r0, #0
|
|
mov r0, #3
|
|
mov r1, #0x4c
|
|
lsl r2, r2, #0xe
|
|
bl CreateHeap
|
|
ldr r1, _022332D8 ; =0x00012610
|
|
add r0, r5, #0
|
|
mov r2, #0x4c
|
|
bl OverlayManager_CreateAndGetData
|
|
ldr r2, _022332D8 ; =0x00012610
|
|
mov r1, #0
|
|
add r4, r0, #0
|
|
bl memset
|
|
mov r0, #0x4c
|
|
bl BgConfig_Alloc
|
|
str r0, [r4, #0x20]
|
|
mov r0, #0x4c
|
|
bl YesNoPrompt_Create
|
|
ldr r1, _022332DC ; =0x0000E88C
|
|
str r0, [r4, r1]
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_0200FBF4
|
|
add r0, r5, #0
|
|
bl OverlayManager_GetArgs
|
|
ldr r0, [r0, #8]
|
|
str r0, [r4, #0x10]
|
|
bl Save_PlayerData_GetProfileAddr
|
|
str r0, [r4, #0x14]
|
|
ldr r0, [r4, #0x10]
|
|
bl Save_PlayerData_GetOptionsAddr
|
|
str r0, [r4, #0x18]
|
|
bl Options_GetFrame
|
|
str r0, [r4, #0x1c]
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
mov r1, #0x4c
|
|
bl String_New
|
|
ldr r1, _022332E0 ; =0x00012608
|
|
str r0, [r4, r1]
|
|
mov r0, #6
|
|
lsl r0, r0, #6
|
|
mov r1, #0x4c
|
|
bl String_New
|
|
ldr r1, _022332E4 ; =0x0001260C
|
|
mov r2, #1
|
|
str r0, [r4, r1]
|
|
ldr r1, _022332E8 ; =0x0000047E
|
|
mov r0, #9
|
|
bl sub_02004EC4
|
|
bl OS_IsTickAvailable
|
|
cmp r0, #0
|
|
bne _022332C6
|
|
bl OS_InitTick
|
|
_022332C6:
|
|
bl ov74_02236074
|
|
ldr r0, _022332EC ; =0x0000E89C
|
|
add r1, r4, r0
|
|
ldr r0, _022332F0 ; =ov74_0223D338
|
|
str r1, [r0]
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_022332D8: .word 0x00012610
|
|
_022332DC: .word 0x0000E88C
|
|
_022332E0: .word 0x00012608
|
|
_022332E4: .word 0x0001260C
|
|
_022332E8: .word 0x0000047E
|
|
_022332EC: .word 0x0000E89C
|
|
_022332F0: .word ov74_0223D338
|
|
thumb_func_end ov74_02233230
|
|
|
|
thumb_func_start ov74_022332F4
|
|
ov74_022332F4: ; 0x022332F4
|
|
push {r4, r5, r6, lr}
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
bl CTRDG_IsExisting
|
|
bl CTRDG_IsPulledOut
|
|
cmp r0, #1
|
|
beq _02233312
|
|
ldr r0, _02233618 ; =_02111864
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _02233328
|
|
_02233312:
|
|
ldr r0, _0223361C ; =0x0000E890
|
|
ldr r0, [r4, r0]
|
|
sub r0, r0, #3
|
|
cmp r0, #1
|
|
bhi _02233322
|
|
ldr r0, [r4, #0x10]
|
|
bl Save_Cancel
|
|
_02233322:
|
|
mov r0, #0x4c
|
|
bl ShowGBACartRemovedError
|
|
_02233328:
|
|
ldr r0, [r4, #0xc]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0xc]
|
|
ldr r0, [r5]
|
|
cmp r0, #0x18
|
|
bhi _02233424
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02233340: ; jump table
|
|
.short _02233372 - _02233340 - 2 ; case 0
|
|
.short _022333BA - _02233340 - 2 ; case 1
|
|
.short _02233400 - _02233340 - 2 ; case 2
|
|
.short _02233414 - _02233340 - 2 ; case 3
|
|
.short _0223344E - _02233340 - 2 ; case 4
|
|
.short _02233466 - _02233340 - 2 ; case 5
|
|
.short _022334BC - _02233340 - 2 ; case 6
|
|
.short _022334CE - _02233340 - 2 ; case 7
|
|
.short _022334EC - _02233340 - 2 ; case 8
|
|
.short _022334FE - _02233340 - 2 ; case 9
|
|
.short _0223355C - _02233340 - 2 ; case 10
|
|
.short _02233574 - _02233340 - 2 ; case 11
|
|
.short _02233588 - _02233340 - 2 ; case 12
|
|
.short _022335C8 - _02233340 - 2 ; case 13
|
|
.short _022336F6 - _02233340 - 2 ; case 14
|
|
.short _02233710 - _02233340 - 2 ; case 15
|
|
.short _0223372C - _02233340 - 2 ; case 16
|
|
.short _02233746 - _02233340 - 2 ; case 17
|
|
.short _0223377C - _02233340 - 2 ; case 18
|
|
.short _022337A2 - _02233340 - 2 ; case 19
|
|
.short _0223380C - _02233340 - 2 ; case 20
|
|
.short _02233818 - _02233340 - 2 ; case 21
|
|
.short _0223385A - _02233340 - 2 ; case 22
|
|
.short _0223387E - _02233340 - 2 ; case 23
|
|
.short _0223388C - _02233340 - 2 ; case 24
|
|
_02233372:
|
|
bl PmAgbCartridgeUnlinkSpec
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl PmAgbCartridgeGetOffsets
|
|
ldr r1, _02233620 ; =0x000004A8
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _022333AE
|
|
bl ov74_02233CE4
|
|
ldr r1, _02233624 ; =0x000004AC
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
cmp r0, #0
|
|
bne _022333AA
|
|
bl ov74_02233F4C
|
|
ldr r1, _02233628 ; =0x0000E880
|
|
str r0, [r4, r1]
|
|
ldr r0, [r4, r1]
|
|
ldrb r2, [r0]
|
|
add r0, r1, #4
|
|
str r2, [r4, r0]
|
|
b _022333AE
|
|
_022333AA:
|
|
mov r0, #1
|
|
str r0, [r4, #4]
|
|
_022333AE:
|
|
add r0, r4, #0
|
|
bl ov74_02231790
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _02233896
|
|
_022333BA:
|
|
add r0, r4, #0
|
|
bl ov74_02232A48
|
|
bl ov74_02231BC0
|
|
add r0, r4, #0
|
|
bl ov74_02231BF0
|
|
add r0, r4, #0
|
|
bl ov74_02231CFC
|
|
add r0, r4, #0
|
|
bl ov74_022322D8
|
|
ldr r0, _0223362C ; =ov74_02233024
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #0x10
|
|
mov r1, #0
|
|
bl GfGfx_EngineATogglePlanes
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #1
|
|
bne _022333FA
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0xb
|
|
add r3, r5, #0
|
|
bl ov74_02232910
|
|
b _02233896
|
|
_022333FA:
|
|
mov r0, #2
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233400:
|
|
add r0, r4, #0
|
|
bl ov74_02232F9C
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #3
|
|
add r3, r5, #0
|
|
bl ov74_02232910
|
|
b _02233896
|
|
_02233414:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_HandleInput
|
|
cmp r0, #1
|
|
beq _02233426
|
|
cmp r0, #2
|
|
beq _02233438
|
|
_02233424:
|
|
b _02233896
|
|
_02233426:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
#ifdef HEARTGOLD
|
|
mov r0, #0x22
|
|
#else
|
|
mov r0, #0x23
|
|
#endif
|
|
str r0, [r4, #8]
|
|
mov r0, #4
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233438:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
add r3, r5, #0
|
|
bl ov74_02232940
|
|
b _02233896
|
|
_0223344E:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_0223319C
|
|
cmp r0, #0
|
|
beq _02233476
|
|
add r0, r4, #0
|
|
bl ov74_02232F5C
|
|
mov r0, #5
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233466:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_HandleInput
|
|
cmp r0, #1
|
|
beq _02233478
|
|
cmp r0, #2
|
|
beq _022334A6
|
|
_02233476:
|
|
b _02233896
|
|
_02233478:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
add r0, r4, #0
|
|
bl ov74_02233060
|
|
str r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _0223349E
|
|
sub r0, r0, #3
|
|
cmp r0, #1
|
|
bhi _02233498
|
|
mov r0, #8
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233498:
|
|
mov r0, #0xb
|
|
str r0, [r5]
|
|
b _02233896
|
|
_0223349E:
|
|
mov r0, #6
|
|
str r0, [r4, #8]
|
|
str r0, [r5]
|
|
b _02233896
|
|
_022334A6:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
add r3, r5, #0
|
|
bl ov74_02232940
|
|
b _02233896
|
|
_022334BC:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl ov74_0223319C
|
|
cmp r0, #0
|
|
beq _0223350E
|
|
mov r0, #7
|
|
str r0, [r5]
|
|
b _02233896
|
|
_022334CE:
|
|
ldr r0, _02233634 ; =gSystem + 0x40
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
bne _022334DE
|
|
ldr r0, _02233638 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
beq _0223350E
|
|
_022334DE:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0xc
|
|
add r3, r5, #0
|
|
bl ov74_02232910
|
|
b _02233896
|
|
_022334EC:
|
|
ldr r1, [r4, #4]
|
|
add r0, r4, #0
|
|
bl ov74_02233134
|
|
cmp r0, #0
|
|
beq _0223350E
|
|
mov r0, #9
|
|
str r0, [r5]
|
|
b _02233896
|
|
_022334FE:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_HandleInput
|
|
cmp r0, #1
|
|
beq _02233510
|
|
cmp r0, #2
|
|
beq _02233546
|
|
_0223350E:
|
|
b _02233896
|
|
_02233510:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
mov r1, #0x47
|
|
lsl r1, r1, #4
|
|
mov r2, #0
|
|
add r0, r1, #0
|
|
str r2, [r4, r1]
|
|
sub r1, #0x44
|
|
mov r3, #0x28
|
|
sub r0, #0x10
|
|
str r3, [r4, r0]
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
bl ov74_02231A1C
|
|
ldr r1, _0223363C ; =0x00000498
|
|
add r0, r4, r1
|
|
sub r1, #0xc6
|
|
bl WaitingIcon_New
|
|
ldr r1, _02233640 ; =0x0000E898
|
|
str r0, [r4, r1]
|
|
mov r0, #0xa
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233546:
|
|
ldr r0, _02233630 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
add r3, r5, #0
|
|
bl ov74_02232940
|
|
b _02233896
|
|
_0223355C:
|
|
add r0, r4, #0
|
|
bl ov74_02231930
|
|
ldr r0, _02233640 ; =0x0000E898
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200F450
|
|
mov r0, #7
|
|
str r0, [r4, #4]
|
|
mov r0, #0xb
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233574:
|
|
ldr r1, [r4, #4]
|
|
add r0, r4, #0
|
|
bl ov74_022330D0
|
|
cmp r0, #0
|
|
bne _02233582
|
|
b _02233896
|
|
_02233582:
|
|
mov r0, #0x16
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233588:
|
|
ldr r0, _0223363C ; =0x00000498
|
|
add r0, r4, r0
|
|
bl ov74_02232DA4
|
|
add r0, r4, #0
|
|
bl ov74_02232AC8
|
|
add r0, r4, #0
|
|
bl ov74_02232154
|
|
add r0, r4, #0
|
|
bl ov74_02231FF4
|
|
ldr r0, _0223362C ; =ov74_02233024
|
|
add r1, r4, #0
|
|
bl Main_SetVBlankIntrCB
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02232758
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0xd
|
|
add r3, r5, #0
|
|
bl ov74_02232910
|
|
b _02233896
|
|
_022335C8:
|
|
mov r0, #0x31
|
|
lsl r0, r0, #4
|
|
add r0, r4, r0
|
|
bl TouchscreenHitbox_FindRectAtTouchNew
|
|
add r6, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _022336A2
|
|
cmp r6, #0x1e
|
|
bge _02233698
|
|
add r0, r4, #0
|
|
add r1, r6, #0
|
|
bl ov74_022324A0
|
|
cmp r0, #1
|
|
bne _02233652
|
|
ldr r2, _02233628 ; =0x0000E880
|
|
add r0, r4, #0
|
|
ldr r1, [r4, r2]
|
|
add r2, r2, #4
|
|
ldr r3, [r4, r2]
|
|
mov r2, #0x96
|
|
lsl r2, r2, #4
|
|
add r1, r1, #4
|
|
mul r2, r3
|
|
add r2, r1, r2
|
|
mov r1, #0x50
|
|
mul r1, r6
|
|
add r1, r2, r1
|
|
bl ov74_02232758
|
|
mov r0, #0x41
|
|
lsl r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #6
|
|
bne _022336A2
|
|
ldr r0, _02233644 ; =0x0000E888
|
|
b _02233648
|
|
.balign 4, 0
|
|
_02233618: .word _02111864
|
|
_0223361C: .word 0x0000E890
|
|
_02233620: .word 0x000004A8
|
|
_02233624: .word 0x000004AC
|
|
_02233628: .word 0x0000E880
|
|
_0223362C: .word ov74_02233024
|
|
_02233630: .word 0x0000E88C
|
|
_02233634: .word gSystem + 0x40
|
|
_02233638: .word gSystem
|
|
_0223363C: .word 0x00000498
|
|
_02233640: .word 0x0000E898
|
|
_02233644: .word 0x0000E888
|
|
_02233648:
|
|
mov r1, #0x2d
|
|
str r1, [r4, r0]
|
|
mov r0, #0xf
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233652:
|
|
cmp r0, #2
|
|
bne _02233660
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_02232758
|
|
b _02233896
|
|
_02233660:
|
|
cmp r0, #4
|
|
bne _0223366E
|
|
mov r0, #8
|
|
str r0, [r4, #8]
|
|
mov r0, #0xe
|
|
str r0, [r5]
|
|
b _02233896
|
|
_0223366E:
|
|
cmp r0, #5
|
|
bne _0223367C
|
|
mov r0, #9
|
|
str r0, [r4, #8]
|
|
mov r0, #0xe
|
|
str r0, [r5]
|
|
b _02233896
|
|
_0223367C:
|
|
cmp r0, #6
|
|
bne _0223368A
|
|
mov r0, #0x26
|
|
str r0, [r4, #8]
|
|
mov r0, #0xe
|
|
str r0, [r5]
|
|
b _02233896
|
|
_0223368A:
|
|
cmp r0, #7
|
|
bne _022336A2
|
|
mov r0, #0x26
|
|
str r0, [r4, #8]
|
|
mov r0, #0xe
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233698:
|
|
beq _022336E2
|
|
cmp r6, #0x1f
|
|
beq _022336A4
|
|
cmp r6, #0x20
|
|
beq _022336C2
|
|
_022336A2:
|
|
b _02233896
|
|
_022336A4:
|
|
ldr r0, _022338A4 ; =0x0000E884
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
bne _022336B0
|
|
mov r1, #0xd
|
|
b _022336B2
|
|
_022336B0:
|
|
sub r1, r1, #1
|
|
_022336B2:
|
|
str r1, [r4, r0]
|
|
add r0, r4, #0
|
|
bl ov74_02231FF4
|
|
ldr r0, _022338A8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
b _02233896
|
|
_022336C2:
|
|
ldr r0, _022338A4 ; =0x0000E884
|
|
ldr r1, [r4, r0]
|
|
add r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0xe
|
|
bne _022336D4
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_022336D4:
|
|
add r0, r4, #0
|
|
bl ov74_02231FF4
|
|
ldr r0, _022338A8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
b _02233896
|
|
_022336E2:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
add r3, r5, #0
|
|
bl ov74_02232940
|
|
ldr r0, _022338A8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
b _02233896
|
|
_022336F6:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl ov74_0223319C
|
|
cmp r0, #0
|
|
beq _02233756
|
|
ldr r0, _022338AC ; =0x00000498
|
|
add r0, r4, r0
|
|
bl ov74_02232DA4
|
|
mov r0, #0xd
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233710:
|
|
ldr r0, _022338B0 ; =0x0000E888
|
|
ldr r1, [r4, r0]
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02233756
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x10
|
|
add r3, r5, #0
|
|
bl ov74_02232910
|
|
b _02233896
|
|
_0223372C:
|
|
add r0, r4, #0
|
|
bl ov74_02232BD4
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
mov r2, #0x11
|
|
add r3, r5, #0
|
|
bl ov74_02232910
|
|
add r0, r4, #0
|
|
bl ov74_02232F5C
|
|
b _02233896
|
|
_02233746:
|
|
ldr r0, _022338B4 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_HandleInput
|
|
cmp r0, #1
|
|
beq _02233758
|
|
cmp r0, #2
|
|
beq _02233766
|
|
_02233756:
|
|
b _02233896
|
|
_02233758:
|
|
ldr r0, _022338B4 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
mov r0, #0x12
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233766:
|
|
ldr r0, _022338B4 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x14
|
|
add r3, r5, #0
|
|
bl ov74_02232910
|
|
b _02233896
|
|
_0223377C:
|
|
mov r1, #0x46
|
|
mov r0, #0xb
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
sub r1, #0x34
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
bl ov74_02231A1C
|
|
add r0, r4, #0
|
|
bl ov74_02232F5C
|
|
ldr r0, _022338A8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
mov r0, #0x13
|
|
str r0, [r5]
|
|
b _02233896
|
|
_022337A2:
|
|
ldr r0, _022338B4 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_HandleInput
|
|
cmp r0, #1
|
|
beq _022337B4
|
|
cmp r0, #2
|
|
beq _022337F6
|
|
b _02233896
|
|
_022337B4:
|
|
ldr r0, [r4]
|
|
mov r2, #0
|
|
lsl r1, r0, #2
|
|
ldr r0, _022338B8 ; =ov74_0223C968
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0x46
|
|
lsl r1, r1, #4
|
|
str r0, [r4, r1]
|
|
sub r1, #0x34
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
bl ov74_02231A1C
|
|
ldr r0, _022338B4 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
ldr r0, _022338BC ; =0x0000E890
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
ldr r1, _022338AC ; =0x00000498
|
|
add r0, r4, r1
|
|
sub r1, #0xc6
|
|
bl WaitingIcon_New
|
|
ldr r1, _022338C0 ; =0x0000E898
|
|
str r0, [r4, r1]
|
|
mov r0, #0x15
|
|
str r0, [r5]
|
|
mov r0, #4
|
|
bl sub_0201A728
|
|
b _02233896
|
|
_022337F6:
|
|
ldr r0, _022338B4 ; =0x0000E88C
|
|
ldr r0, [r4, r0]
|
|
bl YesNoPrompt_Reset
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x14
|
|
add r3, r5, #0
|
|
bl ov74_02232910
|
|
b _02233896
|
|
_0223380C:
|
|
add r0, r4, #0
|
|
bl ov74_02232DC4
|
|
mov r0, #0xc
|
|
str r0, [r5]
|
|
b _02233896
|
|
_02233818:
|
|
add r0, r4, #0
|
|
bl ov74_022317D8
|
|
add r6, r0, #0
|
|
cmp r6, #0xa
|
|
beq _02233896
|
|
ldr r0, _022338C0 ; =0x0000E898
|
|
ldr r0, [r4, r0]
|
|
bl sub_0200F450
|
|
ldr r0, _022338C4 ; =SEQ_SE_DP_SAVE
|
|
bl PlaySE
|
|
cmp r6, #0xb
|
|
bne _0223383A
|
|
#ifdef HEARTGOLD
|
|
mov r1, #0x1d
|
|
#else
|
|
mov r1, #0x1e
|
|
#endif
|
|
b _0223383C
|
|
_0223383A:
|
|
mov r1, #0x24
|
|
_0223383C:
|
|
mov r0, #0x46
|
|
lsl r0, r0, #4
|
|
str r1, [r4, r0]
|
|
ldr r1, _022338C8 ; =0x0000042C
|
|
add r0, r4, #0
|
|
add r1, r4, r1
|
|
mov r2, #0
|
|
bl ov74_02231A1C
|
|
mov r0, #0x16
|
|
str r0, [r5]
|
|
mov r0, #4
|
|
bl sub_0201A738
|
|
b _02233896
|
|
_0223385A:
|
|
ldr r0, _022338CC ; =gSystem + 0x40
|
|
ldrh r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
bne _0223386A
|
|
ldr r0, _022338D0 ; =gSystem
|
|
ldr r0, [r0, #0x48]
|
|
cmp r0, #0
|
|
beq _02233896
|
|
_0223386A:
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
mov r2, #0x18
|
|
add r3, r5, #0
|
|
bl ov74_02232940
|
|
ldr r0, _022338A8 ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
b _02233896
|
|
_0223387E:
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _02233896
|
|
ldr r0, [r4, #0x24]
|
|
str r0, [r5]
|
|
b _02233896
|
|
_0223388C:
|
|
add r0, r4, #0
|
|
bl ov74_02232E3C
|
|
mov r0, #1
|
|
pop {r4, r5, r6, pc}
|
|
_02233896:
|
|
ldr r0, [r4, #0x28]
|
|
cmp r0, #0
|
|
beq _022338A0
|
|
bl SpriteList_RenderAndAnimateSprites
|
|
_022338A0:
|
|
mov r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_022338A4: .word 0x0000E884
|
|
_022338A8: .word SEQ_SE_DP_SELECT
|
|
_022338AC: .word 0x00000498
|
|
_022338B0: .word 0x0000E888
|
|
_022338B4: .word 0x0000E88C
|
|
_022338B8: .word ov74_0223C968
|
|
_022338BC: .word 0x0000E890
|
|
_022338C0: .word 0x0000E898
|
|
_022338C4: .word SEQ_SE_DP_SAVE
|
|
_022338C8: .word 0x0000042C
|
|
_022338CC: .word gSystem + 0x40
|
|
_022338D0: .word gSystem
|
|
thumb_func_end ov74_022332F4
|
|
|
|
thumb_func_start ov74_022338D4
|
|
ov74_022338D4: ; 0x022338D4
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, _02233914 ; =0x00012608
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
ldr r0, _02233918 ; =0x0001260C
|
|
ldr r0, [r4, r0]
|
|
bl String_Delete
|
|
ldr r0, [r4, #0x20]
|
|
bl FreeToHeap
|
|
ldr r0, _0223391C ; =FS_OVERLAY_ID(intro_title)
|
|
ldr r1, _02233920 ; =gApplication_TitleScreen
|
|
bl RegisterMainOverlay
|
|
add r0, r5, #0
|
|
bl OverlayManager_FreeData
|
|
mov r0, #0x4c
|
|
bl DestroyHeap
|
|
mov r0, #0
|
|
bl ov74_02236034
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02233914: .word 0x00012608
|
|
_02233918: .word 0x0001260C
|
|
_0223391C: .word FS_OVERLAY_ID(intro_title)
|
|
_02233920: .word gApplication_TitleScreen
|
|
thumb_func_end ov74_022338D4
|
|
|
|
thumb_func_start PmAgbCartridgeHasFlash
|
|
PmAgbCartridgeHasFlash: ; 0x02233924
|
|
push {r3, lr}
|
|
mov r0, #1
|
|
bl CTRDG_IdentifyAgbBackup
|
|
cmp r0, #0
|
|
bne _02233934
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02233934:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
thumb_func_end PmAgbCartridgeHasFlash
|
|
|
|
thumb_func_start PmAgbCartridgeGetOffsets
|
|
PmAgbCartridgeGetOffsets: ; 0x02233938
|
|
push {r3, lr}
|
|
ldr r1, _02233994 ; =ov74_0223D33C
|
|
str r0, [r1, #8]
|
|
ldr r0, _02233998 ; =sPmAgbCartridgeSpec
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
beq _0223394A
|
|
mov r0, #0xc
|
|
pop {r3, pc}
|
|
_0223394A:
|
|
ldr r0, _0223399C ; =sPmAgbRomCodeMappings
|
|
mov r1, #0x1e
|
|
bl IdentifyPmAgbCartridge
|
|
cmp r0, #0
|
|
bne _02233992
|
|
ldr r0, _02233998 ; =sPmAgbCartridgeSpec
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0
|
|
bne _0223397A
|
|
mov r0, #0x89
|
|
ldr r1, _022339A0 ; =sPmAgbRomHeader + 0x68
|
|
lsl r0, r0, #4
|
|
str r0, [r1, #0x20]
|
|
mov r0, #0xeb
|
|
lsl r0, r0, #6
|
|
str r0, [r1, #0x24]
|
|
ldr r2, _022339A4 ; =0x00001220
|
|
ldr r0, _02233994 ; =ov74_0223D33C
|
|
str r2, [r0, #0x68]
|
|
mov r0, #9
|
|
str r0, [r1, #0x30]
|
|
b _02233984
|
|
_0223397A:
|
|
ldr r0, _022339A8 ; =0x08000100
|
|
ldr r1, _022339AC ; =sPmAgbRomHeader
|
|
mov r2, #0xfc
|
|
bl CTRDG_CpuCopy32
|
|
_02233984:
|
|
bl PmAgbCartridgeHasFlash
|
|
cmp r0, #0
|
|
bne _02233990
|
|
mov r0, #3
|
|
pop {r3, pc}
|
|
_02233990:
|
|
mov r0, #0
|
|
_02233992:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02233994: .word ov74_0223D33C
|
|
_02233998: .word sPmAgbCartridgeSpec
|
|
_0223399C: .word sPmAgbRomCodeMappings
|
|
_022339A0: .word sPmAgbRomHeader + 0x68
|
|
_022339A4: .word 0x00001220
|
|
_022339A8: .word 0x08000100
|
|
_022339AC: .word sPmAgbRomHeader
|
|
thumb_func_end PmAgbCartridgeGetOffsets
|
|
|
|
thumb_func_start PmAgbCartridgeUnlinkSpec
|
|
PmAgbCartridgeUnlinkSpec: ; 0x022339B0
|
|
ldr r0, _022339B8 ; =sPmAgbCartridgeSpec
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
bx lr
|
|
.balign 4, 0
|
|
_022339B8: .word sPmAgbCartridgeSpec
|
|
thumb_func_end PmAgbCartridgeUnlinkSpec
|
|
|
|
thumb_func_start PmAgbCartridge_GetVersionInternal
|
|
PmAgbCartridge_GetVersionInternal: ; 0x022339BC
|
|
ldr r0, _022339C4 ; =sPmAgbCartridgeSpec
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #5]
|
|
bx lr
|
|
.balign 4, 0
|
|
_022339C4: .word sPmAgbCartridgeSpec
|
|
thumb_func_end PmAgbCartridge_GetVersionInternal
|
|
|
|
thumb_func_start PmAgbCartridge_GetLanguage
|
|
PmAgbCartridge_GetLanguage: ; 0x022339C8
|
|
ldr r0, _022339D0 ; =sPmAgbCartridgeSpec
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #6]
|
|
bx lr
|
|
.balign 4, 0
|
|
_022339D0: .word sPmAgbCartridgeSpec
|
|
thumb_func_end PmAgbCartridge_GetLanguage
|
|
|
|
thumb_func_start IdentifyPmAgbCartridge
|
|
IdentifyPmAgbCartridge: ; 0x022339D4
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0xc0
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
ldr r0, _02233A80 ; =sPmAgbCartridgeSpec
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
bl CTRDG_IsAgbCartridge
|
|
cmp r0, #0
|
|
bne _022339F0
|
|
add sp, #0xc0
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_022339F0:
|
|
bl CTRDG_GetAgbGameCode
|
|
mov r2, #0
|
|
cmp r4, #0
|
|
ble _02233A14
|
|
add r3, r5, #0
|
|
_022339FC:
|
|
ldr r1, [r3]
|
|
cmp r0, r1
|
|
bne _02233A0C
|
|
lsl r0, r2, #3
|
|
add r1, r5, r0
|
|
ldr r0, _02233A80 ; =sPmAgbCartridgeSpec
|
|
str r1, [r0]
|
|
b _02233A14
|
|
_02233A0C:
|
|
add r2, r2, #1
|
|
add r3, #8
|
|
cmp r2, r4
|
|
blt _022339FC
|
|
_02233A14:
|
|
ldr r0, _02233A80 ; =sPmAgbCartridgeSpec
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _02233A22
|
|
add sp, #0xc0
|
|
mov r0, #2
|
|
pop {r3, r4, r5, pc}
|
|
_02233A22:
|
|
mov r0, #1
|
|
bl CTRDG_Enable
|
|
add r4, sp, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0x1a
|
|
add r1, r4, #0
|
|
mov r2, #0xc0
|
|
bl CTRDG_CpuCopy32
|
|
ldr r3, _02233A84 ; =sAgbCartNintendoLogo
|
|
mov r2, #0
|
|
_02233A3A:
|
|
add r0, r4, r2
|
|
ldrb r1, [r3]
|
|
ldrb r0, [r0, #4]
|
|
cmp r1, r0
|
|
beq _02233A4A
|
|
add sp, #0xc0
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_02233A4A:
|
|
add r2, r2, #1
|
|
add r3, r3, #1
|
|
cmp r2, #0x9c
|
|
blo _02233A3A
|
|
mov r2, #0
|
|
mov r1, #0xa0
|
|
_02233A56:
|
|
ldrb r0, [r4, r1]
|
|
add r1, r1, #1
|
|
add r0, r2, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r2, r0, #0x18
|
|
cmp r1, #0xbc
|
|
ble _02233A56
|
|
add r2, #0x19
|
|
neg r0, r2
|
|
lsl r0, r0, #0x18
|
|
add r4, #0xbd
|
|
lsr r1, r0, #0x18
|
|
ldrb r0, [r4]
|
|
cmp r0, r1
|
|
beq _02233A7A
|
|
add sp, #0xc0
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_02233A7A:
|
|
mov r0, #0
|
|
add sp, #0xc0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02233A80: .word sPmAgbCartridgeSpec
|
|
_02233A84: .word sAgbCartNintendoLogo
|
|
thumb_func_end IdentifyPmAgbCartridge
|
|
|
|
thumb_func_start ov74_02233A88
|
|
ov74_02233A88: ; 0x02233A88
|
|
push {r3, r4}
|
|
mov r2, #0
|
|
lsr r4, r1, #2
|
|
add r3, r2, #0
|
|
cmp r4, #0
|
|
ble _02233AA4
|
|
_02233A94:
|
|
ldr r1, [r0]
|
|
add r0, r0, #4
|
|
add r2, r2, r1
|
|
add r1, r3, #1
|
|
lsl r1, r1, #0x10
|
|
lsr r3, r1, #0x10
|
|
cmp r3, r4
|
|
blt _02233A94
|
|
_02233AA4:
|
|
lsr r0, r2, #0x10
|
|
lsl r0, r0, #0x10
|
|
lsr r1, r0, #0x10
|
|
lsl r0, r2, #0x10
|
|
lsr r0, r0, #0x10
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov74_02233A88
|
|
|
|
thumb_func_start ov74_02233AB8
|
|
ov74_02233AB8: ; 0x02233AB8
|
|
push {r3, lr}
|
|
lsl r0, r0, #0x10
|
|
mov r3, #1
|
|
add r2, r1, #0
|
|
lsr r0, r0, #0x10
|
|
mov r1, #0
|
|
lsl r3, r3, #0xc
|
|
bl CTRDG_ReadAgbFlash
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02233AB8
|
|
|
|
thumb_func_start ov74_02233ACC
|
|
ov74_02233ACC: ; 0x02233ACC
|
|
cmp r0, #0
|
|
bne _02233ADA
|
|
ldr r0, _02233B00 ; =sPmAgbRomHeader + 0x68
|
|
ldr r0, [r0, #0x20]
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bx lr
|
|
_02233ADA:
|
|
cmp r0, #4
|
|
bne _02233AEE
|
|
ldr r0, _02233B00 ; =sPmAgbRomHeader + 0x68
|
|
ldr r1, [r0, #0x24]
|
|
mov r0, #0xba
|
|
lsl r0, r0, #6
|
|
sub r0, r1, r0
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bx lr
|
|
_02233AEE:
|
|
cmp r0, #0xd
|
|
bne _02233AF8
|
|
mov r0, #0x7d
|
|
lsl r0, r0, #4
|
|
bx lr
|
|
_02233AF8:
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #6
|
|
bx lr
|
|
nop
|
|
_02233B00: .word sPmAgbRomHeader + 0x68
|
|
thumb_func_end ov74_02233ACC
|
|
|
|
thumb_func_start ov74_02233B04
|
|
ov74_02233B04: ; 0x02233B04
|
|
cmp r0, #0
|
|
bne _02233B14
|
|
ldr r0, _02233B54 ; =ov74_0223D33C
|
|
ldr r1, [r0, #8]
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
bx lr
|
|
_02233B14:
|
|
cmp r0, #1
|
|
blt _02233B32
|
|
cmp r0, #4
|
|
bgt _02233B32
|
|
ldr r1, _02233B54 ; =ov74_0223D33C
|
|
ldr r2, [r1, #8]
|
|
mov r1, #2
|
|
lsl r1, r1, #0xc
|
|
add r2, r2, r1
|
|
sub r1, r0, #1
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #6
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
bx lr
|
|
_02233B32:
|
|
cmp r0, #5
|
|
blt _02233B50
|
|
cmp r0, #0xe
|
|
bge _02233B50
|
|
ldr r1, _02233B54 ; =ov74_0223D33C
|
|
ldr r2, [r1, #8]
|
|
mov r1, #6
|
|
lsl r1, r1, #0xc
|
|
add r2, r2, r1
|
|
sub r1, r0, #5
|
|
mov r0, #0x3e
|
|
lsl r0, r0, #6
|
|
mul r0, r1
|
|
add r0, r2, r0
|
|
bx lr
|
|
_02233B50:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
_02233B54: .word ov74_0223D33C
|
|
thumb_func_end ov74_02233B04
|
|
|
|
thumb_func_start ov74_02233B58
|
|
ov74_02233B58: ; 0x02233B58
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
mov r6, #0
|
|
add r5, r1, #0
|
|
str r6, [sp, #4]
|
|
add r1, r2, #0
|
|
str r6, [r1]
|
|
ldr r1, _02233BEC ; =ov74_0223D33C
|
|
add r7, r0, #0
|
|
str r6, [r1, #4]
|
|
mov r1, #0xe
|
|
str r2, [sp]
|
|
add r4, r6, #0
|
|
mul r7, r1
|
|
_02233B74:
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
bl _s32_div_f
|
|
add r0, r1, r7
|
|
add r1, r5, #0
|
|
bl ov74_02233AB8
|
|
mov r1, #1
|
|
add r0, r5, #0
|
|
lsl r1, r1, #0xc
|
|
bl DC_FlushRange
|
|
ldr r0, _02233BF0 ; =0x00000FF8
|
|
ldr r1, [r5, r0]
|
|
ldr r0, _02233BF4 ; =0x08012025
|
|
cmp r1, r0
|
|
bne _02233BC6
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, _02233BF8 ; =0x00000FF4
|
|
ldrh r0, [r5, r0]
|
|
bl ov74_02233ACC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov74_02233A88
|
|
ldr r1, _02233BFC ; =0x00000FF6
|
|
ldrh r1, [r5, r1]
|
|
cmp r1, r0
|
|
bne _02233BC6
|
|
ldr r0, _02233C00 ; =0x00000FFC
|
|
ldr r1, [r5, r0]
|
|
ldr r0, [sp]
|
|
str r1, [r0]
|
|
ldr r0, _02233BF8 ; =0x00000FF4
|
|
ldrh r1, [r5, r0]
|
|
mov r0, #1
|
|
lsl r0, r1
|
|
orr r6, r0
|
|
_02233BC6:
|
|
add r4, r4, #1
|
|
cmp r4, #0xe
|
|
blt _02233B74
|
|
ldr r0, [sp, #4]
|
|
cmp r0, #0
|
|
beq _02233BE4
|
|
ldr r0, _02233C04 ; =0x00003FFF
|
|
cmp r6, r0
|
|
bne _02233BDE
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233BDE:
|
|
add sp, #8
|
|
mov r0, #0xff
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233BE4:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02233BEC: .word ov74_0223D33C
|
|
_02233BF0: .word 0x00000FF8
|
|
_02233BF4: .word 0x08012025
|
|
_02233BF8: .word 0x00000FF4
|
|
_02233BFC: .word 0x00000FF6
|
|
_02233C00: .word 0x00000FFC
|
|
_02233C04: .word 0x00003FFF
|
|
thumb_func_end ov74_02233B58
|
|
|
|
thumb_func_start ov74_02233C08
|
|
ov74_02233C08: ; 0x02233C08
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r7, r0, #0
|
|
add r5, r1, #0
|
|
add r4, r2, #0
|
|
mov r0, #0
|
|
add r1, r7, #0
|
|
add r2, sp, #4
|
|
bl ov74_02233B58
|
|
add r6, r0, #0
|
|
mov r0, #1
|
|
add r1, r7, #0
|
|
add r2, sp, #0
|
|
bl ov74_02233B58
|
|
cmp r6, #1
|
|
bne _02233C80
|
|
cmp r0, #1
|
|
bne _02233C80
|
|
mov r1, #0
|
|
ldr r0, [sp, #4]
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
bne _02233C40
|
|
ldr r3, [sp]
|
|
cmp r3, #0
|
|
beq _02233C4E
|
|
_02233C40:
|
|
cmp r0, #0
|
|
bne _02233C66
|
|
mov r1, #0
|
|
ldr r3, [sp]
|
|
mvn r1, r1
|
|
cmp r3, r1
|
|
bne _02233C66
|
|
_02233C4E:
|
|
add r2, r0, #1
|
|
add r1, r3, #1
|
|
cmp r2, r1
|
|
bhs _02233C5E
|
|
str r3, [r4]
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _02233C7A
|
|
_02233C5E:
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
b _02233C7A
|
|
_02233C66:
|
|
ldr r1, [sp]
|
|
cmp r0, r1
|
|
bhs _02233C74
|
|
str r1, [r4]
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
b _02233C7A
|
|
_02233C74:
|
|
str r0, [r4]
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
_02233C7A:
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233C80:
|
|
cmp r6, #1
|
|
bne _02233CA4
|
|
cmp r0, #1
|
|
beq _02233CA4
|
|
ldr r1, [sp, #4]
|
|
cmp r0, #0xff
|
|
str r1, [r4]
|
|
bne _02233C9A
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
add sp, #8
|
|
mov r0, #0xff
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233C9A:
|
|
mov r0, #0
|
|
str r0, [r5]
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233CA4:
|
|
cmp r0, #1
|
|
bne _02233CC6
|
|
cmp r6, #1
|
|
beq _02233CC6
|
|
ldr r0, [sp]
|
|
cmp r6, #0xff
|
|
str r0, [r4]
|
|
bne _02233CBE
|
|
mov r0, #1
|
|
str r0, [r5]
|
|
add sp, #8
|
|
mov r0, #0xff
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233CBE:
|
|
mov r0, #1
|
|
add sp, #8
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233CC6:
|
|
cmp r6, #0
|
|
bne _02233CD8
|
|
cmp r0, #0
|
|
bne _02233CD8
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
add sp, #8
|
|
str r0, [r5]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233CD8:
|
|
mov r0, #0
|
|
str r0, [r4]
|
|
str r0, [r5]
|
|
mov r0, #2
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_02233C08
|
|
|
|
thumb_func_start ov74_02233CE4
|
|
ov74_02233CE4: ; 0x02233CE4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r0, _02233D98 ; =ov74_0223D33C
|
|
ldr r1, _02233D9C ; =ov74_0223D33C
|
|
ldr r0, [r0, #8]
|
|
ldr r2, _02233DA0 ; =ov74_0223D34C
|
|
bl ov74_02233C08
|
|
cmp r0, #1
|
|
beq _02233D0E
|
|
cmp r0, #0
|
|
beq _02233D06
|
|
cmp r0, #2
|
|
beq _02233D0A
|
|
cmp r0, #0xff
|
|
bne _02233D0E
|
|
mov r0, #5
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233D06:
|
|
mov r0, #7
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233D0A:
|
|
mov r0, #6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233D0E:
|
|
ldr r7, _02233D98 ; =ov74_0223D33C
|
|
ldr r0, [r7]
|
|
cmp r0, #1
|
|
bhi _02233D92
|
|
mov r6, #0
|
|
ldr r5, [r7, #8]
|
|
add r4, r6, #0
|
|
_02233D1C:
|
|
ldr r1, [r7]
|
|
mov r0, #0xe
|
|
mul r0, r1
|
|
add r0, r4, r0
|
|
add r1, r5, #0
|
|
bl ov74_02233AB8
|
|
ldr r0, _02233DA4 ; =0x00000FF8
|
|
ldr r1, [r5, r0]
|
|
ldr r0, _02233DA8 ; =0x08012025
|
|
cmp r1, r0
|
|
bne _02233D7E
|
|
ldr r0, _02233DAC ; =0x00000FF4
|
|
ldrh r0, [r5, r0]
|
|
bl ov74_02233ACC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov74_02233A88
|
|
ldr r1, _02233DB0 ; =0x00000FF6
|
|
ldrh r1, [r5, r1]
|
|
cmp r1, r0
|
|
bne _02233D7E
|
|
ldr r0, _02233DB4 ; =0x00000FFC
|
|
mov r1, #1
|
|
ldr r0, [r5, r0]
|
|
str r0, [r7, #0x10]
|
|
ldr r0, _02233DAC ; =0x00000FF4
|
|
ldrh r0, [r5, r0]
|
|
lsl r1, r0
|
|
orr r6, r1
|
|
bl ov74_02233ACC
|
|
str r0, [sp]
|
|
ldr r0, _02233DAC ; =0x00000FF4
|
|
ldrh r0, [r5, r0]
|
|
bl ov74_02233B04
|
|
add r1, r0, #0
|
|
ldr r2, [sp]
|
|
add r0, r5, #0
|
|
bl MIi_CpuCopy32
|
|
ldr r0, _02233DAC ; =0x00000FF4
|
|
ldrh r0, [r5, r0]
|
|
cmp r0, #0
|
|
bne _02233D7E
|
|
str r4, [r7, #0xc]
|
|
_02233D7E:
|
|
add r4, r4, #1
|
|
cmp r4, #0xe
|
|
blt _02233D1C
|
|
ldr r0, _02233DB8 ; =0x00003FFF
|
|
cmp r6, r0
|
|
bne _02233D8E
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233D8E:
|
|
mov r0, #4
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02233D92:
|
|
mov r0, #6
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02233D98: .word ov74_0223D33C
|
|
_02233D9C: .word ov74_0223D33C
|
|
_02233DA0: .word ov74_0223D34C
|
|
_02233DA4: .word 0x00000FF8
|
|
_02233DA8: .word 0x08012025
|
|
_02233DAC: .word 0x00000FF4
|
|
_02233DB0: .word 0x00000FF6
|
|
_02233DB4: .word 0x00000FFC
|
|
_02233DB8: .word 0x00003FFF
|
|
thumb_func_end ov74_02233CE4
|
|
|
|
thumb_func_start ov74_02233DBC
|
|
ov74_02233DBC: ; 0x02233DBC
|
|
push {r4, r5, r6, lr}
|
|
add r6, r0, #0
|
|
ldr r0, _02233E38 ; =ov74_0223D33C
|
|
mov r2, #1
|
|
ldr r5, [r0, #8]
|
|
str r2, [r0, #0x14]
|
|
mov r0, #0
|
|
add r1, r5, #0
|
|
lsl r2, r2, #0xc
|
|
bl MIi_CpuClear32
|
|
add r0, r6, #0
|
|
bl ov74_02233ACC
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
bl ov74_02233B04
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl MIi_CpuCopy32
|
|
ldr r0, _02233E38 ; =ov74_0223D33C
|
|
ldr r1, [r0, #0x10]
|
|
ldr r0, _02233E3C ; =0x00000FFC
|
|
str r1, [r5, r0]
|
|
add r1, r0, #0
|
|
sub r1, #8
|
|
strh r6, [r5, r1]
|
|
ldr r1, _02233E40 ; =0x08012025
|
|
sub r0, r0, #4
|
|
str r1, [r5, r0]
|
|
add r0, r6, #0
|
|
bl ov74_02233ACC
|
|
add r1, r0, #0
|
|
add r0, r5, #0
|
|
bl ov74_02233A88
|
|
ldr r1, _02233E44 ; =0x00000FF6
|
|
strh r0, [r5, r1]
|
|
ldr r0, _02233E38 ; =ov74_0223D33C
|
|
mov r1, #0xe
|
|
ldr r0, [r0, #0xc]
|
|
add r0, r6, r0
|
|
add r0, r0, #1
|
|
bl _s32_div_f
|
|
ldr r0, _02233E48 ; =sPmAgbCartridgeSpec
|
|
ldr r3, _02233E4C ; =ov74_02233E50
|
|
ldr r2, [r0, #4]
|
|
mov r0, #0xe
|
|
mul r0, r2
|
|
add r0, r1, r0
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
add r1, r5, #0
|
|
mov r2, #4
|
|
bl CTRDG_WriteAndVerifyAgbFlashAsync
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02233E38: .word ov74_0223D33C
|
|
_02233E3C: .word 0x00000FFC
|
|
_02233E40: .word 0x08012025
|
|
_02233E44: .word 0x00000FF6
|
|
_02233E48: .word sPmAgbCartridgeSpec
|
|
_02233E4C: .word ov74_02233E50
|
|
thumb_func_end ov74_02233DBC
|
|
|
|
thumb_func_start ov74_02233E50
|
|
ov74_02233E50: ; 0x02233E50
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
bne _02233E7C
|
|
ldr r1, _02233E88 ; =ov74_0223D33C
|
|
ldr r0, [r1, #4]
|
|
add r0, r0, #1
|
|
str r0, [r1, #4]
|
|
cmp r0, #0xe
|
|
blt _02233E6A
|
|
mov r0, #0
|
|
str r0, [r1, #4]
|
|
str r0, [r1, #0x14]
|
|
bx lr
|
|
_02233E6A:
|
|
cmp r0, #0xd
|
|
bne _02233E76
|
|
mov r0, #2
|
|
str r0, [r1, #0x14]
|
|
mov r0, #0
|
|
bx lr
|
|
_02233E76:
|
|
mov r0, #3
|
|
str r0, [r1, #0x14]
|
|
b _02233E82
|
|
_02233E7C:
|
|
ldr r0, _02233E88 ; =ov74_0223D33C
|
|
mov r1, #4
|
|
str r1, [r0, #0x14]
|
|
_02233E82:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_02233E88: .word ov74_0223D33C
|
|
thumb_func_end ov74_02233E50
|
|
|
|
thumb_func_start ov74_02233E8C
|
|
ov74_02233E8C: ; 0x02233E8C
|
|
push {r3, lr}
|
|
ldr r1, _02233ECC ; =ov74_0223D33C
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
bne _02233EB2
|
|
ldr r1, [r1]
|
|
cmp r1, #1
|
|
bne _02233EA2
|
|
mov r2, #0
|
|
ldr r1, _02233ED0 ; =sPmAgbCartridgeSpec
|
|
b _02233EA6
|
|
_02233EA2:
|
|
ldr r1, _02233ED0 ; =sPmAgbCartridgeSpec
|
|
mov r2, #1
|
|
_02233EA6:
|
|
str r2, [r1, #4]
|
|
ldr r1, _02233ECC ; =ov74_0223D33C
|
|
ldr r2, [r1, #0x10]
|
|
add r2, r2, #1
|
|
str r2, [r1, #0x10]
|
|
b _02233EB6
|
|
_02233EB2:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02233EB6:
|
|
ldr r1, _02233ED0 ; =sPmAgbCartridgeSpec
|
|
ldr r1, [r1, #4]
|
|
cmp r1, #0
|
|
bge _02233EC2
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02233EC2:
|
|
bl ov74_02233DBC
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_02233ECC: .word ov74_0223D33C
|
|
_02233ED0: .word sPmAgbCartridgeSpec
|
|
thumb_func_end ov74_02233E8C
|
|
|
|
thumb_func_start ov74_02233ED4
|
|
ov74_02233ED4: ; 0x02233ED4
|
|
push {r3, lr}
|
|
ldr r1, _02233F10 ; =ov74_0223D33C
|
|
ldr r0, [r1, #0x14]
|
|
cmp r0, #4
|
|
bhi _02233F0C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02233EEA: ; jump table
|
|
.short _02233F0C - _02233EEA - 2 ; case 0
|
|
.short _02233F04 - _02233EEA - 2 ; case 1
|
|
.short _02233EF4 - _02233EEA - 2 ; case 2
|
|
.short _02233EFE - _02233EEA - 2 ; case 3
|
|
.short _02233F08 - _02233EEA - 2 ; case 4
|
|
_02233EF4:
|
|
ldr r0, [r1, #4]
|
|
bl ov74_02233DBC
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02233EFE:
|
|
ldr r0, [r1, #4]
|
|
bl ov74_02233DBC
|
|
_02233F04:
|
|
mov r0, #0xa
|
|
pop {r3, pc}
|
|
_02233F08:
|
|
mov r0, #8
|
|
pop {r3, pc}
|
|
_02233F0C:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02233F10: .word ov74_0223D33C
|
|
thumb_func_end ov74_02233ED4
|
|
|
|
thumb_func_start ov74_02233F14
|
|
ov74_02233F14: ; 0x02233F14
|
|
ldr r0, _02233F48 ; =ov74_0223D33C
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #4
|
|
bhi _02233F42
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02233F28: ; jump table
|
|
.short _02233F42 - _02233F28 - 2 ; case 0
|
|
.short _02233F3A - _02233F28 - 2 ; case 1
|
|
.short _02233F32 - _02233F28 - 2 ; case 2
|
|
.short _02233F36 - _02233F28 - 2 ; case 3
|
|
.short _02233F3E - _02233F28 - 2 ; case 4
|
|
_02233F32:
|
|
mov r0, #0xb
|
|
bx lr
|
|
_02233F36:
|
|
mov r0, #0xa
|
|
bx lr
|
|
_02233F3A:
|
|
mov r0, #9
|
|
bx lr
|
|
_02233F3E:
|
|
mov r0, #8
|
|
bx lr
|
|
_02233F42:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_02233F48: .word ov74_0223D33C
|
|
thumb_func_end ov74_02233F14
|
|
|
|
thumb_func_start ov74_02233F4C
|
|
ov74_02233F4C: ; 0x02233F4C
|
|
ldr r0, _02233F58 ; =ov74_0223D33C
|
|
ldr r1, [r0, #8]
|
|
mov r0, #6
|
|
lsl r0, r0, #0xc
|
|
add r0, r1, r0
|
|
bx lr
|
|
.balign 4, 0
|
|
_02233F58: .word ov74_0223D33C
|
|
thumb_func_end ov74_02233F4C
|
|
|
|
thumb_func_start ov74_02233F5C
|
|
ov74_02233F5C: ; 0x02233F5C
|
|
ldr r3, _02233F64 ; =ov74_02233B04
|
|
mov r0, #0
|
|
bx r3
|
|
nop
|
|
_02233F64: .word ov74_02233B04
|
|
thumb_func_end ov74_02233F5C
|
|
|
|
thumb_func_start ov74_02233F68
|
|
ov74_02233F68: ; 0x02233F68
|
|
push {r3, lr}
|
|
bl ov74_02233F5C
|
|
ldrb r2, [r0, #0xb]
|
|
ldrb r1, [r0, #0xa]
|
|
lsl r3, r2, #8
|
|
ldrb r2, [r0, #0xd]
|
|
ldrb r0, [r0, #0xc]
|
|
lsl r2, r2, #0x18
|
|
lsl r0, r0, #0x10
|
|
orr r0, r2
|
|
orr r0, r3
|
|
orr r0, r1
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02233F68
|
|
|
|
thumb_func_start ov74_02233F84
|
|
ov74_02233F84: ; 0x02233F84
|
|
ldr r3, _02233F88 ; =ov74_02233F5C
|
|
bx r3
|
|
.balign 4, 0
|
|
_02233F88: .word ov74_02233F5C
|
|
thumb_func_end ov74_02233F84
|
|
|
|
thumb_func_start ov74_02233F8C
|
|
ov74_02233F8C: ; 0x02233F8C
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #0x18
|
|
add r5, r2, #0
|
|
mov r6, #0
|
|
bl _u32_div_f
|
|
cmp r1, #0x17
|
|
bhi _02233FE2
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02233FAC: ; jump table
|
|
.short _02233FDC - _02233FAC - 2 ; case 0
|
|
.short _0223400E - _02233FAC - 2 ; case 1
|
|
.short _0223403E - _02233FAC - 2 ; case 2
|
|
.short _0223406E - _02233FAC - 2 ; case 3
|
|
.short _0223409E - _02233FAC - 2 ; case 4
|
|
.short _022340CE - _02233FAC - 2 ; case 5
|
|
.short _022340FE - _02233FAC - 2 ; case 6
|
|
.short _02234130 - _02233FAC - 2 ; case 7
|
|
.short _02234160 - _02233FAC - 2 ; case 8
|
|
.short _02234190 - _02233FAC - 2 ; case 9
|
|
.short _022341C0 - _02233FAC - 2 ; case 10
|
|
.short _022341F0 - _02233FAC - 2 ; case 11
|
|
.short _02234220 - _02233FAC - 2 ; case 12
|
|
.short _02234252 - _02233FAC - 2 ; case 13
|
|
.short _02234282 - _02233FAC - 2 ; case 14
|
|
.short _022342B2 - _02233FAC - 2 ; case 15
|
|
.short _022342E2 - _02233FAC - 2 ; case 16
|
|
.short _02234312 - _02233FAC - 2 ; case 17
|
|
.short _02234342 - _02233FAC - 2 ; case 18
|
|
.short _02234374 - _02233FAC - 2 ; case 19
|
|
.short _022343A4 - _02233FAC - 2 ; case 20
|
|
.short _022343D4 - _02233FAC - 2 ; case 21
|
|
.short _02234404 - _02233FAC - 2 ; case 22
|
|
.short _02234434 - _02233FAC - 2 ; case 23
|
|
_02233FDC:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bls _02233FE4
|
|
_02233FE2:
|
|
b _02234462
|
|
_02233FE4:
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02233FF0: ; jump table
|
|
.short _02233FF8 - _02233FF0 - 2 ; case 0
|
|
.short _02233FFC - _02233FF0 - 2 ; case 1
|
|
.short _02234002 - _02233FF0 - 2 ; case 2
|
|
.short _02234008 - _02233FF0 - 2 ; case 3
|
|
_02233FF8:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_02233FFC:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234002:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234008:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_0223400E:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234104
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234020: ; jump table
|
|
.short _02234028 - _02234020 - 2 ; case 0
|
|
.short _0223402C - _02234020 - 2 ; case 1
|
|
.short _02234032 - _02234020 - 2 ; case 2
|
|
.short _02234038 - _02234020 - 2 ; case 3
|
|
_02234028:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_0223402C:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234032:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234038:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_0223403E:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234104
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234050: ; jump table
|
|
.short _02234058 - _02234050 - 2 ; case 0
|
|
.short _0223405C - _02234050 - 2 ; case 1
|
|
.short _02234062 - _02234050 - 2 ; case 2
|
|
.short _02234068 - _02234050 - 2 ; case 3
|
|
_02234058:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_0223405C:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234062:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234068:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_0223406E:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234104
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234080: ; jump table
|
|
.short _02234088 - _02234080 - 2 ; case 0
|
|
.short _0223408C - _02234080 - 2 ; case 1
|
|
.short _02234092 - _02234080 - 2 ; case 2
|
|
.short _02234098 - _02234080 - 2 ; case 3
|
|
_02234088:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_0223408C:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234092:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234098:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_0223409E:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234104
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022340B0: ; jump table
|
|
.short _022340B8 - _022340B0 - 2 ; case 0
|
|
.short _022340BC - _022340B0 - 2 ; case 1
|
|
.short _022340C2 - _022340B0 - 2 ; case 2
|
|
.short _022340C8 - _022340B0 - 2 ; case 3
|
|
_022340B8:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_022340BC:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_022340C2:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_022340C8:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_022340CE:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234104
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022340E0: ; jump table
|
|
.short _022340E8 - _022340E0 - 2 ; case 0
|
|
.short _022340EC - _022340E0 - 2 ; case 1
|
|
.short _022340F2 - _022340E0 - 2 ; case 2
|
|
.short _022340F8 - _022340E0 - 2 ; case 3
|
|
_022340E8:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_022340EC:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_022340F2:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_022340F8:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_022340FE:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bls _02234106
|
|
_02234104:
|
|
b _02234462
|
|
_02234106:
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234112: ; jump table
|
|
.short _0223411A - _02234112 - 2 ; case 0
|
|
.short _02234120 - _02234112 - 2 ; case 1
|
|
.short _02234124 - _02234112 - 2 ; case 2
|
|
.short _0223412A - _02234112 - 2 ; case 3
|
|
_0223411A:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234120:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_02234124:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_0223412A:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234130:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234226
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234142: ; jump table
|
|
.short _0223414A - _02234142 - 2 ; case 0
|
|
.short _02234150 - _02234142 - 2 ; case 1
|
|
.short _02234154 - _02234142 - 2 ; case 2
|
|
.short _0223415A - _02234142 - 2 ; case 3
|
|
_0223414A:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234150:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_02234154:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_0223415A:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234160:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234226
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234172: ; jump table
|
|
.short _0223417A - _02234172 - 2 ; case 0
|
|
.short _02234180 - _02234172 - 2 ; case 1
|
|
.short _02234184 - _02234172 - 2 ; case 2
|
|
.short _0223418A - _02234172 - 2 ; case 3
|
|
_0223417A:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234180:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_02234184:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_0223418A:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234190:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234226
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022341A2: ; jump table
|
|
.short _022341AA - _022341A2 - 2 ; case 0
|
|
.short _022341B0 - _022341A2 - 2 ; case 1
|
|
.short _022341B4 - _022341A2 - 2 ; case 2
|
|
.short _022341BA - _022341A2 - 2 ; case 3
|
|
_022341AA:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_022341B0:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_022341B4:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_022341BA:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_022341C0:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234226
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022341D2: ; jump table
|
|
.short _022341DA - _022341D2 - 2 ; case 0
|
|
.short _022341E0 - _022341D2 - 2 ; case 1
|
|
.short _022341E4 - _022341D2 - 2 ; case 2
|
|
.short _022341EA - _022341D2 - 2 ; case 3
|
|
_022341DA:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_022341E0:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_022341E4:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_022341EA:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_022341F0:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234226
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234202: ; jump table
|
|
.short _0223420A - _02234202 - 2 ; case 0
|
|
.short _02234210 - _02234202 - 2 ; case 1
|
|
.short _02234214 - _02234202 - 2 ; case 2
|
|
.short _0223421A - _02234202 - 2 ; case 3
|
|
_0223420A:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234210:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_02234214:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_0223421A:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234220:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bls _02234228
|
|
_02234226:
|
|
b _02234462
|
|
_02234228:
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234234: ; jump table
|
|
.short _0223423C - _02234234 - 2 ; case 0
|
|
.short _02234242 - _02234234 - 2 ; case 1
|
|
.short _02234248 - _02234234 - 2 ; case 2
|
|
.short _0223424C - _02234234 - 2 ; case 3
|
|
_0223423C:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234242:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234248:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_0223424C:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234252:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234348
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234264: ; jump table
|
|
.short _0223426C - _02234264 - 2 ; case 0
|
|
.short _02234272 - _02234264 - 2 ; case 1
|
|
.short _02234278 - _02234264 - 2 ; case 2
|
|
.short _0223427C - _02234264 - 2 ; case 3
|
|
_0223426C:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234272:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234278:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_0223427C:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234282:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234348
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234294: ; jump table
|
|
.short _0223429C - _02234294 - 2 ; case 0
|
|
.short _022342A2 - _02234294 - 2 ; case 1
|
|
.short _022342A8 - _02234294 - 2 ; case 2
|
|
.short _022342AC - _02234294 - 2 ; case 3
|
|
_0223429C:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_022342A2:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_022342A8:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_022342AC:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_022342B2:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234348
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022342C4: ; jump table
|
|
.short _022342CC - _022342C4 - 2 ; case 0
|
|
.short _022342D2 - _022342C4 - 2 ; case 1
|
|
.short _022342D8 - _022342C4 - 2 ; case 2
|
|
.short _022342DC - _022342C4 - 2 ; case 3
|
|
_022342CC:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_022342D2:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_022342D8:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_022342DC:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_022342E2:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234348
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022342F4: ; jump table
|
|
.short _022342FC - _022342F4 - 2 ; case 0
|
|
.short _02234302 - _022342F4 - 2 ; case 1
|
|
.short _02234308 - _022342F4 - 2 ; case 2
|
|
.short _0223430C - _022342F4 - 2 ; case 3
|
|
_022342FC:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234302:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234308:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_0223430C:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234312:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234348
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234324: ; jump table
|
|
.short _0223432C - _02234324 - 2 ; case 0
|
|
.short _02234332 - _02234324 - 2 ; case 1
|
|
.short _02234338 - _02234324 - 2 ; case 2
|
|
.short _0223433C - _02234324 - 2 ; case 3
|
|
_0223432C:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234332:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234338:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_0223433C:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234342:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bls _0223434A
|
|
_02234348:
|
|
b _02234462
|
|
_0223434A:
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234356: ; jump table
|
|
.short _0223435E - _02234356 - 2 ; case 0
|
|
.short _02234364 - _02234356 - 2 ; case 1
|
|
.short _0223436A - _02234356 - 2 ; case 2
|
|
.short _02234370 - _02234356 - 2 ; case 3
|
|
_0223435E:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234364:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_0223436A:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234370:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_02234374:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234462
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234386: ; jump table
|
|
.short _0223438E - _02234386 - 2 ; case 0
|
|
.short _02234394 - _02234386 - 2 ; case 1
|
|
.short _0223439A - _02234386 - 2 ; case 2
|
|
.short _022343A0 - _02234386 - 2 ; case 3
|
|
_0223438E:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234394:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_0223439A:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_022343A0:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_022343A4:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234462
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022343B6: ; jump table
|
|
.short _022343BE - _022343B6 - 2 ; case 0
|
|
.short _022343C4 - _022343B6 - 2 ; case 1
|
|
.short _022343CA - _022343B6 - 2 ; case 2
|
|
.short _022343D0 - _022343B6 - 2 ; case 3
|
|
_022343BE:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_022343C4:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_022343CA:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_022343D0:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_022343D4:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234462
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022343E6: ; jump table
|
|
.short _022343EE - _022343E6 - 2 ; case 0
|
|
.short _022343F4 - _022343E6 - 2 ; case 1
|
|
.short _022343FA - _022343E6 - 2 ; case 2
|
|
.short _02234400 - _022343E6 - 2 ; case 3
|
|
_022343EE:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_022343F4:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_022343FA:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234400:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_02234404:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234462
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234416: ; jump table
|
|
.short _0223441E - _02234416 - 2 ; case 0
|
|
.short _02234424 - _02234416 - 2 ; case 1
|
|
.short _0223442A - _02234416 - 2 ; case 2
|
|
.short _02234430 - _02234416 - 2 ; case 3
|
|
_0223441E:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_02234424:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_0223442A:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234430:
|
|
add r6, r4, #0
|
|
b _02234462
|
|
_02234434:
|
|
add r4, #0x20
|
|
cmp r5, #3
|
|
bhi _02234462
|
|
add r0, r5, r5
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234446: ; jump table
|
|
.short _0223444E - _02234446 - 2 ; case 0
|
|
.short _02234454 - _02234446 - 2 ; case 1
|
|
.short _0223445A - _02234446 - 2 ; case 2
|
|
.short _02234460 - _02234446 - 2 ; case 3
|
|
_0223444E:
|
|
add r6, r4, #0
|
|
add r6, #0x24
|
|
b _02234462
|
|
_02234454:
|
|
add r6, r4, #0
|
|
add r6, #0x18
|
|
b _02234462
|
|
_0223445A:
|
|
add r6, r4, #0
|
|
add r6, #0xc
|
|
b _02234462
|
|
_02234460:
|
|
add r6, r4, #0
|
|
_02234462:
|
|
add r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02233F8C
|
|
|
|
thumb_func_start ov74_02234468
|
|
ov74_02234468: ; 0x02234468
|
|
push {r3, r4}
|
|
add r4, r0, #0
|
|
mov r3, #0
|
|
add r4, #0x20
|
|
_02234470:
|
|
ldr r2, [r4]
|
|
ldr r1, [r0, #4]
|
|
add r3, r3, #1
|
|
eor r2, r1
|
|
str r2, [r4]
|
|
ldr r1, [r0]
|
|
eor r1, r2
|
|
stmia r4!, {r1}
|
|
cmp r3, #0xc
|
|
blo _02234470
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov74_02234468
|
|
|
|
thumb_func_start ov74_02234488
|
|
ov74_02234488: ; 0x02234488
|
|
push {r3, r4}
|
|
add r4, r0, #0
|
|
mov r3, #0
|
|
add r4, #0x20
|
|
_02234490:
|
|
ldr r2, [r4]
|
|
ldr r1, [r0]
|
|
add r3, r3, #1
|
|
eor r2, r1
|
|
str r2, [r4]
|
|
ldr r1, [r0, #4]
|
|
eor r1, r2
|
|
stmia r4!, {r1}
|
|
cmp r3, #0xc
|
|
blo _02234490
|
|
pop {r3, r4}
|
|
bx lr
|
|
thumb_func_end ov74_02234488
|
|
|
|
thumb_func_start ov74_022344A8
|
|
ov74_022344A8: ; 0x022344A8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r1, r0, #0
|
|
mov r4, #0
|
|
ldr r1, [r1]
|
|
str r0, [sp]
|
|
add r2, r4, #0
|
|
bl ov74_02233F8C
|
|
add r5, r0, #0
|
|
ldr r0, [sp]
|
|
mov r2, #1
|
|
add r1, r0, #0
|
|
ldr r1, [r1]
|
|
bl ov74_02233F8C
|
|
add r6, r0, #0
|
|
ldr r0, [sp]
|
|
mov r2, #2
|
|
add r1, r0, #0
|
|
ldr r1, [r1]
|
|
bl ov74_02233F8C
|
|
add r7, r0, #0
|
|
ldr r0, [sp]
|
|
mov r2, #3
|
|
add r1, r0, #0
|
|
ldr r1, [r1]
|
|
bl ov74_02233F8C
|
|
add r1, r4, #0
|
|
_022344E4:
|
|
ldrh r2, [r5]
|
|
add r1, r1, #1
|
|
add r5, r5, #2
|
|
add r2, r4, r2
|
|
lsl r2, r2, #0x10
|
|
lsr r4, r2, #0x10
|
|
cmp r1, #6
|
|
blt _022344E4
|
|
mov r2, #0
|
|
_022344F6:
|
|
ldrh r1, [r6]
|
|
add r2, r2, #1
|
|
add r6, r6, #2
|
|
add r1, r4, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r4, r1, #0x10
|
|
cmp r2, #6
|
|
blt _022344F6
|
|
mov r2, #0
|
|
_02234508:
|
|
ldrh r1, [r7]
|
|
add r2, r2, #1
|
|
add r7, r7, #2
|
|
add r1, r4, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r4, r1, #0x10
|
|
cmp r2, #6
|
|
blt _02234508
|
|
mov r2, #0
|
|
_0223451A:
|
|
ldrh r1, [r0]
|
|
add r2, r2, #1
|
|
add r0, r0, #2
|
|
add r1, r4, r1
|
|
lsl r1, r1, #0x10
|
|
lsr r4, r1, #0x10
|
|
cmp r2, #6
|
|
blt _0223451A
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022344A8
|
|
|
|
thumb_func_start AGB_GetBoxMonData
|
|
AGB_GetBoxMonData: ; 0x02234530
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
mov r4, #0
|
|
add r6, r0, #0
|
|
str r1, [sp]
|
|
add r7, r2, #0
|
|
add r5, r4, #0
|
|
str r4, [sp, #0xc]
|
|
str r4, [sp, #8]
|
|
str r4, [sp, #4]
|
|
cmp r1, #0xa
|
|
ble _022345A6
|
|
ldr r1, [r6]
|
|
add r2, r4, #0
|
|
bl ov74_02233F8C
|
|
str r0, [sp, #0xc]
|
|
ldr r1, [r6]
|
|
add r0, r6, #0
|
|
mov r2, #1
|
|
bl ov74_02233F8C
|
|
str r0, [sp, #8]
|
|
ldr r1, [r6]
|
|
add r0, r6, #0
|
|
mov r2, #2
|
|
bl ov74_02233F8C
|
|
str r0, [sp, #4]
|
|
ldr r1, [r6]
|
|
add r0, r6, #0
|
|
mov r2, #3
|
|
bl ov74_02233F8C
|
|
add r5, r0, #0
|
|
add r0, r6, #0
|
|
bl ov74_02234468
|
|
add r0, r6, #0
|
|
bl ov74_022344A8
|
|
ldrh r1, [r6, #0x1c]
|
|
cmp r0, r1
|
|
beq _022345A6
|
|
ldrb r0, [r6, #0x13]
|
|
mov r1, #1
|
|
bic r0, r1
|
|
mov r1, #1
|
|
orr r0, r1
|
|
strb r0, [r6, #0x13]
|
|
ldrb r1, [r6, #0x13]
|
|
mov r0, #4
|
|
orr r0, r1
|
|
strb r0, [r6, #0x13]
|
|
mov r0, #1
|
|
ldr r1, [r5, #4]
|
|
lsl r0, r0, #0x1e
|
|
orr r0, r1
|
|
str r0, [r5, #4]
|
|
_022345A6:
|
|
ldr r0, [sp]
|
|
cmp r0, #0x50
|
|
bls _022345AE
|
|
b _0223489C
|
|
_022345AE:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022345BA: ; jump table
|
|
.short _0223465C - _022345BA - 2 ; case 0
|
|
.short _02234660 - _022345BA - 2 ; case 1
|
|
.short _02234664 - _022345BA - 2 ; case 2
|
|
.short _02234684 - _022345BA - 2 ; case 3
|
|
.short _02234688 - _022345BA - 2 ; case 4
|
|
.short _02234690 - _022345BA - 2 ; case 5
|
|
.short _02234698 - _022345BA - 2 ; case 6
|
|
.short _022346A0 - _022345BA - 2 ; case 7
|
|
.short _022346B4 - _022345BA - 2 ; case 8
|
|
.short _022346B8 - _022345BA - 2 ; case 9
|
|
.short _022346BC - _022345BA - 2 ; case 10
|
|
.short _022346C0 - _022345BA - 2 ; case 11
|
|
.short _022346D4 - _022345BA - 2 ; case 12
|
|
.short _022346EC - _022345BA - 2 ; case 13
|
|
.short _022346EC - _022345BA - 2 ; case 14
|
|
.short _022346EC - _022345BA - 2 ; case 15
|
|
.short _022346EC - _022345BA - 2 ; case 16
|
|
.short _022346F8 - _022345BA - 2 ; case 17
|
|
.short _022346F8 - _022345BA - 2 ; case 18
|
|
.short _022346F8 - _022345BA - 2 ; case 19
|
|
.short _022346F8 - _022345BA - 2 ; case 20
|
|
.short _022346E0 - _022345BA - 2 ; case 21
|
|
.short _02234728 - _022345BA - 2 ; case 22
|
|
.short _0223472E - _022345BA - 2 ; case 23
|
|
.short _02234734 - _022345BA - 2 ; case 24
|
|
.short _022346DA - _022345BA - 2 ; case 25
|
|
.short _02234704 - _022345BA - 2 ; case 26
|
|
.short _0223470A - _022345BA - 2 ; case 27
|
|
.short _02234710 - _022345BA - 2 ; case 28
|
|
.short _02234716 - _022345BA - 2 ; case 29
|
|
.short _0223471C - _022345BA - 2 ; case 30
|
|
.short _02234722 - _022345BA - 2 ; case 31
|
|
.short _022346E6 - _022345BA - 2 ; case 32
|
|
.short _0223473A - _022345BA - 2 ; case 33
|
|
.short _0223474C - _022345BA - 2 ; case 34
|
|
.short _02234754 - _022345BA - 2 ; case 35
|
|
.short _0223475C - _022345BA - 2 ; case 36
|
|
.short _02234764 - _022345BA - 2 ; case 37
|
|
.short _0223476C - _022345BA - 2 ; case 38
|
|
.short _0223477A - _022345BA - 2 ; case 39
|
|
.short _02234782 - _022345BA - 2 ; case 40
|
|
.short _0223478A - _022345BA - 2 ; case 41
|
|
.short _02234792 - _022345BA - 2 ; case 42
|
|
.short _0223479A - _022345BA - 2 ; case 43
|
|
.short _022347A2 - _022345BA - 2 ; case 44
|
|
.short _022347AA - _022345BA - 2 ; case 45
|
|
.short _022347B2 - _022345BA - 2 ; case 46
|
|
.short _02234740 - _022345BA - 2 ; case 47
|
|
.short _02234746 - _022345BA - 2 ; case 48
|
|
.short _02234774 - _022345BA - 2 ; case 49
|
|
.short _022347B8 - _022345BA - 2 ; case 50
|
|
.short _022347C0 - _022345BA - 2 ; case 51
|
|
.short _022347C8 - _022345BA - 2 ; case 52
|
|
.short _022347D0 - _022345BA - 2 ; case 53
|
|
.short _022347D8 - _022345BA - 2 ; case 54
|
|
.short _0223489C - _022345BA - 2 ; case 55
|
|
.short _0223489C - _022345BA - 2 ; case 56
|
|
.short _0223489C - _022345BA - 2 ; case 57
|
|
.short _0223489C - _022345BA - 2 ; case 58
|
|
.short _0223489C - _022345BA - 2 ; case 59
|
|
.short _0223489C - _022345BA - 2 ; case 60
|
|
.short _0223489C - _022345BA - 2 ; case 61
|
|
.short _0223489C - _022345BA - 2 ; case 62
|
|
.short _0223489C - _022345BA - 2 ; case 63
|
|
.short _0223489C - _022345BA - 2 ; case 64
|
|
.short _0223484E - _022345BA - 2 ; case 65
|
|
.short _0223486C - _022345BA - 2 ; case 66
|
|
.short _022347E0 - _022345BA - 2 ; case 67
|
|
.short _022347E8 - _022345BA - 2 ; case 68
|
|
.short _022347F0 - _022345BA - 2 ; case 69
|
|
.short _022347F8 - _022345BA - 2 ; case 70
|
|
.short _02234800 - _022345BA - 2 ; case 71
|
|
.short _02234808 - _022345BA - 2 ; case 72
|
|
.short _02234810 - _022345BA - 2 ; case 73
|
|
.short _02234818 - _022345BA - 2 ; case 74
|
|
.short _02234820 - _022345BA - 2 ; case 75
|
|
.short _02234828 - _022345BA - 2 ; case 76
|
|
.short _02234830 - _022345BA - 2 ; case 77
|
|
.short _02234838 - _022345BA - 2 ; case 78
|
|
.short _02234840 - _022345BA - 2 ; case 79
|
|
.short _02234848 - _022345BA - 2 ; case 80
|
|
_0223465C:
|
|
ldr r4, [r6]
|
|
b _0223489C
|
|
_02234660:
|
|
ldr r4, [r6, #4]
|
|
b _0223489C
|
|
_02234664:
|
|
ldrb r0, [r6, #0x13]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _02234670
|
|
mov r4, #0
|
|
b _0223467E
|
|
_02234670:
|
|
mov r4, #0
|
|
_02234672:
|
|
add r0, r6, r4
|
|
ldrb r0, [r0, #8]
|
|
strb r0, [r7, r4]
|
|
add r4, r4, #1
|
|
cmp r4, #0xa
|
|
blo _02234672
|
|
_0223467E:
|
|
mov r0, #0xff
|
|
strb r0, [r7, r4]
|
|
b _0223489C
|
|
_02234684:
|
|
ldrb r4, [r6, #0x12]
|
|
b _0223489C
|
|
_02234688:
|
|
ldrb r0, [r6, #0x13]
|
|
lsl r0, r0, #0x1f
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234690:
|
|
ldrb r0, [r6, #0x13]
|
|
lsl r0, r0, #0x1e
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234698:
|
|
ldrb r0, [r6, #0x13]
|
|
lsl r0, r0, #0x1d
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_022346A0:
|
|
mov r4, #0
|
|
_022346A2:
|
|
add r0, r6, r4
|
|
ldrb r0, [r0, #0x14]
|
|
strb r0, [r7, r4]
|
|
add r4, r4, #1
|
|
cmp r4, #7
|
|
blo _022346A2
|
|
mov r0, #0xff
|
|
strb r0, [r7, r4]
|
|
b _0223489C
|
|
_022346B4:
|
|
ldrb r4, [r6, #0x1b]
|
|
b _0223489C
|
|
_022346B8:
|
|
ldrh r4, [r6, #0x1c]
|
|
b _0223489C
|
|
_022346BC:
|
|
ldrh r4, [r6, #0x1e]
|
|
b _0223489C
|
|
_022346C0:
|
|
ldrb r0, [r6, #0x13]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _022346CE
|
|
mov r4, #0x67
|
|
lsl r4, r4, #2
|
|
b _0223489C
|
|
_022346CE:
|
|
ldr r0, [sp, #0xc]
|
|
ldrh r4, [r0]
|
|
b _0223489C
|
|
_022346D4:
|
|
ldr r0, [sp, #0xc]
|
|
ldrh r4, [r0, #2]
|
|
b _0223489C
|
|
_022346DA:
|
|
ldr r0, [sp, #0xc]
|
|
ldr r4, [r0, #4]
|
|
b _0223489C
|
|
_022346E0:
|
|
ldr r0, [sp, #0xc]
|
|
ldrb r4, [r0, #8]
|
|
b _0223489C
|
|
_022346E6:
|
|
ldr r0, [sp, #0xc]
|
|
ldrb r4, [r0, #9]
|
|
b _0223489C
|
|
_022346EC:
|
|
ldr r0, [sp]
|
|
sub r0, #0xd
|
|
lsl r1, r0, #1
|
|
ldr r0, [sp, #8]
|
|
ldrh r4, [r0, r1]
|
|
b _0223489C
|
|
_022346F8:
|
|
ldr r1, [sp]
|
|
ldr r0, [sp, #8]
|
|
sub r1, #0x11
|
|
add r0, r0, r1
|
|
ldrb r4, [r0, #8]
|
|
b _0223489C
|
|
_02234704:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0]
|
|
b _0223489C
|
|
_0223470A:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #1]
|
|
b _0223489C
|
|
_02234710:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #2]
|
|
b _0223489C
|
|
_02234716:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #3]
|
|
b _0223489C
|
|
_0223471C:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #4]
|
|
b _0223489C
|
|
_02234722:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #5]
|
|
b _0223489C
|
|
_02234728:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #6]
|
|
b _0223489C
|
|
_0223472E:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #7]
|
|
b _0223489C
|
|
_02234734:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #8]
|
|
b _0223489C
|
|
_0223473A:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #9]
|
|
b _0223489C
|
|
_02234740:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #0xa]
|
|
b _0223489C
|
|
_02234746:
|
|
ldr r0, [sp, #4]
|
|
ldrb r4, [r0, #0xb]
|
|
b _0223489C
|
|
_0223474C:
|
|
ldr r0, [r5]
|
|
lsl r0, r0, #0x18
|
|
lsr r4, r0, #0x18
|
|
b _0223489C
|
|
_02234754:
|
|
ldr r0, [r5]
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x18
|
|
b _0223489C
|
|
_0223475C:
|
|
ldr r0, [r5]
|
|
lsl r0, r0, #9
|
|
lsr r4, r0, #0x19
|
|
b _0223489C
|
|
_02234764:
|
|
ldr r0, [r5]
|
|
lsl r0, r0, #5
|
|
lsr r4, r0, #0x1c
|
|
b _0223489C
|
|
_0223476C:
|
|
ldr r0, [r5]
|
|
lsl r0, r0, #1
|
|
lsr r4, r0, #0x1c
|
|
b _0223489C
|
|
_02234774:
|
|
ldr r0, [r5]
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_0223477A:
|
|
ldr r0, [r5, #4]
|
|
lsl r0, r0, #0x1b
|
|
lsr r4, r0, #0x1b
|
|
b _0223489C
|
|
_02234782:
|
|
ldr r0, [r5, #4]
|
|
lsl r0, r0, #0x16
|
|
lsr r4, r0, #0x1b
|
|
b _0223489C
|
|
_0223478A:
|
|
ldr r0, [r5, #4]
|
|
lsl r0, r0, #0x11
|
|
lsr r4, r0, #0x1b
|
|
b _0223489C
|
|
_02234792:
|
|
ldr r0, [r5, #4]
|
|
lsl r0, r0, #0xc
|
|
lsr r4, r0, #0x1b
|
|
b _0223489C
|
|
_0223479A:
|
|
ldr r0, [r5, #4]
|
|
lsl r0, r0, #7
|
|
lsr r4, r0, #0x1b
|
|
b _0223489C
|
|
_022347A2:
|
|
ldr r0, [r5, #4]
|
|
lsl r0, r0, #2
|
|
lsr r4, r0, #0x1b
|
|
b _0223489C
|
|
_022347AA:
|
|
ldr r0, [r5, #4]
|
|
lsl r0, r0, #1
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_022347B2:
|
|
ldr r0, [r5, #4]
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_022347B8:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x1d
|
|
lsr r4, r0, #0x1d
|
|
b _0223489C
|
|
_022347C0:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x1a
|
|
lsr r4, r0, #0x1d
|
|
b _0223489C
|
|
_022347C8:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x17
|
|
lsr r4, r0, #0x1d
|
|
b _0223489C
|
|
_022347D0:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x14
|
|
lsr r4, r0, #0x1d
|
|
b _0223489C
|
|
_022347D8:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x11
|
|
lsr r4, r0, #0x1d
|
|
b _0223489C
|
|
_022347E0:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0x10
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_022347E8:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0xf
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_022347F0:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0xe
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_022347F8:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0xd
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234800:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0xc
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234808:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0xb
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234810:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #0xa
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234818:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #9
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234820:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #8
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234828:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #7
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234830:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #6
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234838:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #5
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_02234840:
|
|
ldr r0, [r5, #8]
|
|
lsl r0, r0, #1
|
|
lsr r4, r0, #0x1c
|
|
b _0223489C
|
|
_02234848:
|
|
ldr r0, [r5, #8]
|
|
lsr r4, r0, #0x1f
|
|
b _0223489C
|
|
_0223484E:
|
|
ldr r0, [sp, #0xc]
|
|
ldrh r4, [r0]
|
|
cmp r4, #0
|
|
beq _0223489C
|
|
ldr r0, [r5, #4]
|
|
lsl r0, r0, #1
|
|
lsr r0, r0, #0x1f
|
|
bne _02234866
|
|
ldrb r0, [r6, #0x13]
|
|
lsl r0, r0, #0x1f
|
|
lsr r0, r0, #0x1f
|
|
beq _0223489C
|
|
_02234866:
|
|
mov r4, #0x67
|
|
lsl r4, r4, #2
|
|
b _0223489C
|
|
_0223486C:
|
|
ldr r4, [r5, #4]
|
|
lsl r0, r4, #2
|
|
lsr r0, r0, #0x1b
|
|
lsl r5, r0, #0x19
|
|
lsl r0, r4, #7
|
|
lsr r0, r0, #0x1b
|
|
lsl r3, r0, #0x14
|
|
lsl r0, r4, #0xc
|
|
lsr r0, r0, #0x1b
|
|
lsl r2, r0, #0xf
|
|
lsl r0, r4, #0x11
|
|
lsr r0, r0, #0x1b
|
|
lsl r1, r0, #0xa
|
|
lsl r0, r4, #0x1b
|
|
lsl r4, r4, #0x16
|
|
lsr r4, r4, #0x1b
|
|
lsr r0, r0, #0x1b
|
|
lsl r4, r4, #5
|
|
orr r0, r4
|
|
orr r0, r1
|
|
orr r0, r2
|
|
orr r0, r3
|
|
add r4, r5, #0
|
|
orr r4, r0
|
|
_0223489C:
|
|
ldr r0, [sp]
|
|
cmp r0, #0xa
|
|
ble _022348A8
|
|
add r0, r6, #0
|
|
bl ov74_02234488
|
|
_022348A8:
|
|
add r0, r4, #0
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
thumb_func_end AGB_GetBoxMonData
|
|
|
|
thumb_func_start ov74_022348B0
|
|
ov74_022348B0: ; 0x022348B0
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r6, r1, #0
|
|
add r4, r0, #0
|
|
add r5, r2, #0
|
|
mov r7, #0
|
|
cmp r6, #0xa
|
|
ble _02234924
|
|
ldr r1, [r4]
|
|
add r2, r7, #0
|
|
bl ov74_02233F8C
|
|
add r7, r0, #0
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
mov r2, #1
|
|
bl ov74_02233F8C
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
mov r2, #2
|
|
bl ov74_02233F8C
|
|
ldr r1, [r4]
|
|
add r0, r4, #0
|
|
mov r2, #3
|
|
bl ov74_02233F8C
|
|
str r0, [sp]
|
|
add r0, r4, #0
|
|
bl ov74_02234468
|
|
add r0, r4, #0
|
|
bl ov74_022344A8
|
|
ldrh r1, [r4, #0x1c]
|
|
cmp r0, r1
|
|
beq _02234924
|
|
ldrb r1, [r4, #0x13]
|
|
mov r0, #1
|
|
bic r1, r0
|
|
mov r0, #1
|
|
orr r0, r1
|
|
strb r0, [r4, #0x13]
|
|
ldrb r1, [r4, #0x13]
|
|
mov r0, #4
|
|
orr r0, r1
|
|
strb r0, [r4, #0x13]
|
|
ldr r0, [sp]
|
|
ldr r1, [r0, #4]
|
|
mov r0, #1
|
|
lsl r0, r0, #0x1e
|
|
orr r1, r0
|
|
ldr r0, [sp]
|
|
str r1, [r0, #4]
|
|
add r0, r4, #0
|
|
bl ov74_02234488
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02234924:
|
|
cmp r6, #0xb
|
|
bhi _022349C8
|
|
add r0, r6, r6
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02234934: ; jump table
|
|
.short _022349C8 - _02234934 - 2 ; case 0
|
|
.short _022349C8 - _02234934 - 2 ; case 1
|
|
.short _0223494C - _02234934 - 2 ; case 2
|
|
.short _0223495C - _02234934 - 2 ; case 3
|
|
.short _02234962 - _02234934 - 2 ; case 4
|
|
.short _02234974 - _02234934 - 2 ; case 5
|
|
.short _02234986 - _02234934 - 2 ; case 6
|
|
.short _02234998 - _02234934 - 2 ; case 7
|
|
.short _022349C8 - _02234934 - 2 ; case 8
|
|
.short _022349C8 - _02234934 - 2 ; case 9
|
|
.short _022349C8 - _02234934 - 2 ; case 10
|
|
.short _022349A8 - _02234934 - 2 ; case 11
|
|
_0223494C:
|
|
mov r2, #0
|
|
_0223494E:
|
|
ldrb r1, [r5, r2]
|
|
add r0, r4, r2
|
|
add r2, r2, #1
|
|
strb r1, [r0, #8]
|
|
cmp r2, #0xa
|
|
blt _0223494E
|
|
b _022349C8
|
|
_0223495C:
|
|
ldrb r0, [r5]
|
|
strb r0, [r4, #0x12]
|
|
b _022349C8
|
|
_02234962:
|
|
ldrb r0, [r4, #0x13]
|
|
ldrb r2, [r5]
|
|
mov r1, #1
|
|
bic r0, r1
|
|
mov r1, #1
|
|
and r1, r2
|
|
orr r0, r1
|
|
strb r0, [r4, #0x13]
|
|
b _022349C8
|
|
_02234974:
|
|
ldrb r0, [r4, #0x13]
|
|
mov r1, #2
|
|
bic r0, r1
|
|
ldrb r1, [r5]
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1e
|
|
orr r0, r1
|
|
strb r0, [r4, #0x13]
|
|
b _022349C8
|
|
_02234986:
|
|
ldrb r0, [r4, #0x13]
|
|
mov r1, #4
|
|
bic r0, r1
|
|
ldrb r1, [r5]
|
|
lsl r1, r1, #0x1f
|
|
lsr r1, r1, #0x1d
|
|
orr r0, r1
|
|
strb r0, [r4, #0x13]
|
|
b _022349C8
|
|
_02234998:
|
|
mov r2, #0
|
|
_0223499A:
|
|
ldrb r1, [r5, r2]
|
|
add r0, r4, r2
|
|
add r2, r2, #1
|
|
strb r1, [r0, #0x14]
|
|
cmp r2, #7
|
|
blt _0223499A
|
|
b _022349C8
|
|
_022349A8:
|
|
ldrb r0, [r5, #1]
|
|
ldrb r1, [r5]
|
|
lsl r0, r0, #8
|
|
add r0, r1, r0
|
|
strh r0, [r7]
|
|
ldrh r0, [r7]
|
|
ldrb r1, [r4, #0x13]
|
|
cmp r0, #0
|
|
beq _022349C2
|
|
mov r0, #2
|
|
orr r0, r1
|
|
strb r0, [r4, #0x13]
|
|
b _022349C8
|
|
_022349C2:
|
|
mov r0, #2
|
|
bic r1, r0
|
|
strb r1, [r4, #0x13]
|
|
_022349C8:
|
|
cmp r6, #0xa
|
|
ble _022349DA
|
|
add r0, r4, #0
|
|
bl ov74_022344A8
|
|
strh r0, [r4, #0x1c]
|
|
add r0, r4, #0
|
|
bl ov74_02234488
|
|
_022349DA:
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
thumb_func_end ov74_022348B0
|
|
|
|
thumb_func_start TranslateAgbSpecies
|
|
TranslateAgbSpecies: ; 0x022349DC
|
|
ldr r1, _02234A00 ; =0x00000115
|
|
cmp r0, r1
|
|
blt _022349FC
|
|
ldr r3, _02234A04 ; =ov74_0223CC5C
|
|
mov r2, #0
|
|
_022349E6:
|
|
ldrh r1, [r3]
|
|
cmp r0, r1
|
|
bne _022349F4
|
|
ldr r0, _02234A08 ; =ov74_0223CC5E
|
|
lsl r1, r2, #2
|
|
ldrh r0, [r0, r1]
|
|
bx lr
|
|
_022349F4:
|
|
add r2, r2, #1
|
|
add r3, r3, #4
|
|
cmp r2, #0x90
|
|
blo _022349E6
|
|
_022349FC:
|
|
bx lr
|
|
nop
|
|
_02234A00: .word 0x00000115
|
|
_02234A04: .word ov74_0223CC5C
|
|
_02234A08: .word ov74_0223CC5E
|
|
thumb_func_end TranslateAgbSpecies
|
|
|
|
thumb_func_start ov74_02234A0C
|
|
ov74_02234A0C: ; 0x02234A0C
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
bl TranslateAgbSpecies
|
|
add r4, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #0x19
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r1, r0, #0
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl CalcLevelBySpeciesAndExp
|
|
pop {r3, r4, r5, pc}
|
|
thumb_func_end ov74_02234A0C
|
|
|
|
thumb_func_start AGB_GetBoxMonAbility
|
|
AGB_GetBoxMonAbility: ; 0x02234A34
|
|
push {r4, r5, r6, lr}
|
|
add r4, r0, #0
|
|
add r0, r1, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
lsl r0, r0, #0x10
|
|
lsr r5, r0, #0x10
|
|
add r0, r4, #0
|
|
mov r1, #0x2e
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
mov r1, #0x19
|
|
bl GetMonBaseStat
|
|
cmp r0, #0
|
|
beq _02234A8E
|
|
ldr r2, _02234A98 ; =ov74_0223CBA0
|
|
mov r4, #0
|
|
_02234A62:
|
|
ldrh r1, [r2]
|
|
cmp r5, r1
|
|
bne _02234A72
|
|
add r0, r5, #0
|
|
mov r1, #0x18
|
|
bl GetMonBaseStat
|
|
b _02234A7A
|
|
_02234A72:
|
|
add r4, r4, #1
|
|
add r2, r2, #2
|
|
cmp r4, #0x5e
|
|
blo _02234A62
|
|
_02234A7A:
|
|
cmp r4, #0x5e
|
|
bne _02234A96
|
|
mov r1, #1
|
|
tst r1, r6
|
|
bne _02234A96
|
|
add r0, r5, #0
|
|
mov r1, #0x18
|
|
bl GetMonBaseStat
|
|
pop {r4, r5, r6, pc}
|
|
_02234A8E:
|
|
add r0, r5, #0
|
|
mov r1, #0x18
|
|
bl GetMonBaseStat
|
|
_02234A96:
|
|
pop {r4, r5, r6, pc}
|
|
.balign 4, 0
|
|
_02234A98: .word ov74_0223CBA0
|
|
thumb_func_end AGB_GetBoxMonAbility
|
|
|
|
thumb_func_start MigrateBoxMon
|
|
MigrateBoxMon: ; 0x02234A9C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x30
|
|
add r4, r1, #0
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl ZeroBoxMonData
|
|
add r0, r4, #0
|
|
bl AcquireBoxMonLock
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
add r0, r6, #0
|
|
add r2, r1, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0xb
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
bl TranslateAgbSpecies
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0xc
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
cmp r0, #0
|
|
beq _02234AFE
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl UpConvertItemId_Gen3to4
|
|
str r0, [sp, #8]
|
|
_02234AFE:
|
|
add r0, r4, #0
|
|
mov r1, #6
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #1
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #7
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x19
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #8
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
mov r0, #0x46
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #9
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
add r1, r4, #0
|
|
bl AGB_GetBoxMonAbility
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0xa
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #8
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0xb
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #4]
|
|
add r0, r4, #0
|
|
mov r1, #0xc
|
|
add r2, sp, #4
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x1a
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0xd
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x1b
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0xe
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x1c
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0xf
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x1d
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x10
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x1e
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x11
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x1f
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x12
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x16
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x13
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x17
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x14
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x18
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x15
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x21
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x16
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x2f
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x17
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x30
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x18
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
mov r5, #0
|
|
add r7, r5, #0
|
|
_02234C8E:
|
|
add r1, r5, #0
|
|
add r0, r6, #0
|
|
add r1, #0xd
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, #0x36
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x15
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
mov r1, #3
|
|
lsl r1, r7
|
|
str r0, [sp, #8]
|
|
and r0, r1
|
|
lsr r0, r7
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, #0x3e
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r1, r5, #0
|
|
add r0, r4, #0
|
|
add r1, #0x42
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, #0x3a
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r5, r5, #1
|
|
add r7, r7, #2
|
|
cmp r5, #4
|
|
blt _02234C8E
|
|
add r0, r6, #0
|
|
mov r1, #0x27
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x46
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x28
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x47
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x29
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x48
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x2a
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x49
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x2b
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x4a
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x2c
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x4b
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x2d
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x4c
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x32
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r7, r0, #0
|
|
cmp r7, #4
|
|
bgt _02234DB2
|
|
mov r5, #0
|
|
cmp r7, #0
|
|
ble _02234DB2
|
|
_02234D9C:
|
|
mov r0, #1
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, #0x4e
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r5, r5, #1
|
|
cmp r5, r7
|
|
blt _02234D9C
|
|
_02234DB2:
|
|
add r0, r6, #0
|
|
mov r1, #0x33
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r7, r0, #0
|
|
cmp r7, #4
|
|
bgt _02234DDE
|
|
mov r5, #0
|
|
cmp r7, #0
|
|
ble _02234DDE
|
|
_02234DC8:
|
|
mov r0, #1
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, #0x52
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r5, r5, #1
|
|
cmp r5, r7
|
|
blt _02234DC8
|
|
_02234DDE:
|
|
add r0, r6, #0
|
|
mov r1, #0x34
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r7, r0, #0
|
|
cmp r7, #4
|
|
bgt _02234E0A
|
|
mov r5, #0
|
|
cmp r7, #0
|
|
ble _02234E0A
|
|
_02234DF4:
|
|
mov r0, #1
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, #0x56
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r5, r5, #1
|
|
cmp r5, r7
|
|
blt _02234DF4
|
|
_02234E0A:
|
|
add r0, r6, #0
|
|
mov r1, #0x35
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r7, r0, #0
|
|
cmp r7, #4
|
|
bgt _02234E36
|
|
mov r5, #0
|
|
cmp r7, #0
|
|
ble _02234E36
|
|
_02234E20:
|
|
mov r0, #1
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, #0x5a
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r5, r5, #1
|
|
cmp r5, r7
|
|
blt _02234E20
|
|
_02234E36:
|
|
add r0, r6, #0
|
|
mov r1, #0x36
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
add r7, r0, #0
|
|
cmp r7, #4
|
|
bgt _02234E62
|
|
mov r5, #0
|
|
cmp r7, #0
|
|
ble _02234E62
|
|
_02234E4C:
|
|
mov r0, #1
|
|
add r1, r5, #0
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
add r1, #0x5e
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r5, r5, #1
|
|
cmp r5, r7
|
|
blt _02234E4C
|
|
_02234E62:
|
|
add r0, r6, #0
|
|
mov r1, #0x43
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x62
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x44
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x63
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x45
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x64
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x46
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x65
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x47
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x66
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x48
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x67
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x49
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x68
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x4a
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x69
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x4b
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x6a
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x4c
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x6b
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x4d
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x6c
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x4e
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x6d
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x50
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x6e
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r4, #0
|
|
bl GetBoxMonGender
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x6f
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
cmp r0, #0xc9
|
|
bne _02234FDE
|
|
mov r1, #0
|
|
add r0, r6, #0
|
|
add r2, r1, #0
|
|
bl AGB_GetBoxMonData
|
|
add r3, r0, #0
|
|
mov r7, #3
|
|
lsl r0, r7, #8
|
|
and r0, r3
|
|
lsr r1, r0, #6
|
|
lsl r0, r7, #0x18
|
|
and r0, r3
|
|
lsr r5, r0, #0x12
|
|
lsl r0, r7, #0x10
|
|
and r0, r3
|
|
lsr r0, r0, #0xc
|
|
add r2, r3, #0
|
|
orr r0, r5
|
|
orr r0, r1
|
|
and r2, r7
|
|
str r3, [sp, #8]
|
|
orr r0, r2
|
|
mov r1, #0x1c
|
|
bl _u32_div_f
|
|
str r1, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x70
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
_02234FDE:
|
|
add r0, r4, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetBoxMonData
|
|
ldr r1, _02235120 ; =0x00000182
|
|
cmp r0, r1
|
|
bne _0223502E
|
|
ldr r0, _02235124 ; =gSystem + 0x60
|
|
ldrb r0, [r0, #0xa]
|
|
cmp r0, #5
|
|
bhi _0223500E
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02235002: ; jump table
|
|
.short _0223500E - _02235002 - 2 ; case 0
|
|
.short _0223500E - _02235002 - 2 ; case 1
|
|
.short _0223500E - _02235002 - 2 ; case 2
|
|
.short _02235020 - _02235002 - 2 ; case 3
|
|
.short _02235014 - _02235002 - 2 ; case 4
|
|
.short _0223501A - _02235002 - 2 ; case 5
|
|
_0223500E:
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
b _02235024
|
|
_02235014:
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
b _02235024
|
|
_0223501A:
|
|
mov r0, #2
|
|
str r0, [sp, #8]
|
|
b _02235024
|
|
_02235020:
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
_02235024:
|
|
add r0, r4, #0
|
|
mov r1, #0x70
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
_0223502E:
|
|
add r0, r6, #0
|
|
mov r1, #2
|
|
add r2, sp, #0x24
|
|
bl AGB_GetBoxMonData
|
|
ldr r3, [sp, #4]
|
|
add r0, sp, #0x24
|
|
add r1, sp, #0xc
|
|
mov r2, #0xc
|
|
bl ConvertRSStringToDPStringInternational
|
|
add r0, r4, #0
|
|
mov r1, #0x76
|
|
add r2, sp, #0xc
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #3
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
ldr r1, _02235128 ; =gGameLanguage
|
|
ldrb r1, [r1]
|
|
cmp r1, r0
|
|
beq _0223506E
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x4d
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
_0223506E:
|
|
add r0, r6, #0
|
|
mov r1, #0x25
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x7a
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #7
|
|
add r2, sp, #0x24
|
|
bl AGB_GetBoxMonData
|
|
ldr r3, [sp, #4]
|
|
add r0, sp, #0x24
|
|
add r1, sp, #0xc
|
|
mov r2, #8
|
|
bl ConvertRSStringToDPStringInternational
|
|
add r0, r4, #0
|
|
mov r1, #0x90
|
|
add r2, sp, #0xc
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x23
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x99
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x22
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x9a
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x26
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x9b
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x24
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x9c
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
add r0, r6, #0
|
|
mov r1, #0x31
|
|
mov r2, #0
|
|
bl AGB_GetBoxMonData
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
mov r1, #0x9d
|
|
add r2, sp, #8
|
|
bl SetBoxMonData
|
|
ldr r1, [sp]
|
|
add r0, r4, #0
|
|
bl ReleaseBoxMonLock
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02235120: .word 0x00000182
|
|
_02235124: .word gSystem + 0x60
|
|
_02235128: .word gGameLanguage
|
|
thumb_func_end MigrateBoxMon
|
|
|
|
thumb_func_start ov74_0223512C
|
|
ov74_0223512C: ; 0x0223512C
|
|
ldr r1, _02235134 ; =ov74_0223D450
|
|
str r0, [r1]
|
|
bx lr
|
|
nop
|
|
_02235134: .word ov74_0223D450
|
|
thumb_func_end ov74_0223512C
|
|
|
|
thumb_func_start ov74_02235138
|
|
ov74_02235138: ; 0x02235138
|
|
add r1, r0, #0
|
|
ldr r0, _02235144 ; =ov74_0223D450
|
|
ldr r3, _02235148 ; =AllocFromHeap
|
|
ldr r0, [r0]
|
|
bx r3
|
|
nop
|
|
_02235144: .word ov74_0223D450
|
|
_02235148: .word AllocFromHeap
|
|
thumb_func_end ov74_02235138
|
|
|
|
thumb_func_start ov74_0223514C
|
|
ov74_0223514C: ; 0x0223514C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x1fc
|
|
sub sp, #0x1fc
|
|
sub sp, #0x130
|
|
bl CTRDG_GetAgbGameCode
|
|
lsr r1, r0, #0x18
|
|
lsl r1, r1, #0x18
|
|
lsr r2, r1, #0x18
|
|
lsr r1, r0, #0x10
|
|
lsl r3, r0, #0x18
|
|
lsr r0, r0, #8
|
|
lsl r0, r0, #0x18
|
|
lsl r1, r1, #0x18
|
|
lsr r0, r0, #8
|
|
lsr r1, r1, #0x10
|
|
orr r0, r3
|
|
orr r0, r1
|
|
add r6, r2, #0
|
|
orr r6, r0
|
|
ldr r0, _022351E0 ; =ov74_0223CE9C
|
|
mov r4, #0
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bls _022351D6
|
|
ldr r5, _022351E4 ; =ov74_0223CE9C
|
|
add r7, sp, #0x80
|
|
_02235182:
|
|
ldr r0, [r5]
|
|
cmp r6, r0
|
|
bne _022351CC
|
|
mov r0, #1
|
|
bl CTRDG_Enable
|
|
mov r0, #0x81
|
|
ldr r2, _022351E8 ; =0x000004A8
|
|
lsl r0, r0, #0x14
|
|
add r1, r7, #0
|
|
bl CTRDG_CpuCopy8
|
|
ldr r0, _022351EC ; =0x08020000
|
|
add r1, sp, #0
|
|
mov r2, #0x80
|
|
bl CTRDG_CpuCopy8
|
|
mov r0, #0
|
|
bl CTRDG_Enable
|
|
ldr r0, _022351F0 ; =ov74_02235138
|
|
ldr r1, _022351F4 ; =FreeToHeap
|
|
bl CRYPTO_SetAllocator
|
|
ldr r1, _022351E8 ; =0x000004A8
|
|
ldr r3, _022351F8 ; =_0223B690
|
|
add r0, r7, #0
|
|
add r2, sp, #0
|
|
bl CRYPTO_VerifySignature
|
|
cmp r0, #0
|
|
beq _022351CC
|
|
add sp, #0x1fc
|
|
add sp, #0x1fc
|
|
add sp, #0x130
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_022351CC:
|
|
add r5, r5, #4
|
|
ldr r0, [r5]
|
|
add r4, r4, #1
|
|
cmp r4, r0
|
|
blo _02235182
|
|
_022351D6:
|
|
mov r0, #0
|
|
add sp, #0x1fc
|
|
add sp, #0x1fc
|
|
add sp, #0x130
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022351E0: .word ov74_0223CE9C
|
|
_022351E4: .word ov74_0223CE9C
|
|
_022351E8: .word 0x000004A8
|
|
_022351EC: .word 0x08020000
|
|
_022351F0: .word ov74_02235138
|
|
_022351F4: .word FreeToHeap
|
|
_022351F8: .word _0223B690
|
|
thumb_func_end ov74_0223514C
|
|
|
|
thumb_func_start ov74_022351FC
|
|
ov74_022351FC: ; 0x022351FC
|
|
push {r3, lr}
|
|
bl CTRDG_Init
|
|
bl CTRDG_IsAgbCartridge
|
|
cmp r0, #0
|
|
bne _0223520E
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0223520E:
|
|
bl CTRDG_GetAgbMakerCode
|
|
ldr r1, _0223522C ; =0x00003130
|
|
cmp r0, r1
|
|
beq _0223521C
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0223521C:
|
|
bl ov74_0223514C
|
|
cmp r0, #0
|
|
beq _02235228
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02235228:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0223522C: .word 0x00003130
|
|
thumb_func_end ov74_022351FC
|
|
|
|
thumb_func_start ov74_02235230
|
|
ov74_02235230: ; 0x02235230
|
|
push {r3, lr}
|
|
bl ov74_022351FC
|
|
cmp r0, #0
|
|
bne _0223523E
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0223523E:
|
|
mov r0, #1
|
|
bl CTRDG_Enable
|
|
mov r0, #0x81
|
|
lsl r0, r0, #0x14
|
|
add r1, sp, #0
|
|
bl CTRDG_Read32
|
|
mov r0, #0
|
|
bl CTRDG_Enable
|
|
ldr r0, [sp]
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02235230
|
|
|
|
thumb_func_start ov74_02235258
|
|
ov74_02235258: ; 0x02235258
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
add r4, r1, #0
|
|
bl ov74_022351FC
|
|
cmp r0, #0
|
|
bne _0223526A
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0223526A:
|
|
cmp r4, #0
|
|
bne _02235274
|
|
bl ov74_02235230
|
|
add r4, r0, #0
|
|
_02235274:
|
|
mov r0, #1
|
|
bl CTRDG_Enable
|
|
ldr r0, _0223529C ; =0x08100100
|
|
add r1, r5, #0
|
|
add r2, r4, #0
|
|
bl CTRDG_CpuCopy16
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
bl CTRDG_Enable
|
|
bl CTRDG_IsExisting
|
|
cmp r0, #0
|
|
bne _02235298
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_02235298:
|
|
add r0, r4, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_0223529C: .word 0x08100100
|
|
thumb_func_end ov74_02235258
|
|
|
|
thumb_func_start ov74_022352A0
|
|
ov74_022352A0: ; 0x022352A0
|
|
push {r3, r4, r5, r6}
|
|
add r4, r0, #0
|
|
mov r0, #0
|
|
ldr r6, _022352C8 ; =ov74_0223D454
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
add r3, r0, #0
|
|
mov r5, #0x75
|
|
_022352B0:
|
|
stmia r6!, {r0, r1, r2, r3}
|
|
stmia r6!, {r0, r1, r2, r3}
|
|
sub r5, r5, #1
|
|
bne _022352B0
|
|
stmia r6!, {r0, r1}
|
|
ldr r0, _022352CC ; =ov74_0223D454
|
|
mov r1, #1
|
|
str r1, [r0, #4]
|
|
str r4, [r0, #8]
|
|
pop {r3, r4, r5, r6}
|
|
bx lr
|
|
nop
|
|
_022352C8: .word ov74_0223D454
|
|
_022352CC: .word ov74_0223D454
|
|
thumb_func_end ov74_022352A0
|
|
|
|
thumb_func_start ov74_022352D0
|
|
ov74_022352D0: ; 0x022352D0
|
|
push {r4, r5, r6, lr}
|
|
add r5, r0, #0
|
|
add r4, r2, #0
|
|
add r6, r1, #0
|
|
mov r0, #3
|
|
add r2, r3, #0
|
|
bl CreateHeap
|
|
add r0, r5, #0
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl OverlayManager_CreateAndGetData
|
|
mov r1, #0
|
|
add r2, r4, #0
|
|
add r5, r0, #0
|
|
bl memset
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl sub_0200FBF4
|
|
mov r0, #1
|
|
mov r1, #0
|
|
bl sub_0200FBF4
|
|
add r0, r5, #0
|
|
pop {r4, r5, r6, pc}
|
|
thumb_func_end ov74_022352D0
|
|
|
|
thumb_func_start ov74_02235308
|
|
ov74_02235308: ; 0x02235308
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x1c
|
|
ldr r5, _0223538C ; =_0223B720
|
|
add r6, r3, #0
|
|
add r7, r0, #0
|
|
add r4, r1, #0
|
|
ldmia r5!, {r0, r1}
|
|
add r3, sp, #0
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r5!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, [r5]
|
|
cmp r2, #4
|
|
str r0, [r3]
|
|
add r0, sp, #0
|
|
strb r2, [r0, #0x10]
|
|
bhi _02235362
|
|
add r0, r2, r2
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_0223533A: ; jump table
|
|
.short _02235362 - _0223533A - 2 ; case 0
|
|
.short _02235344 - _0223533A - 2 ; case 1
|
|
.short _0223534C - _0223533A - 2 ; case 2
|
|
.short _02235354 - _0223533A - 2 ; case 3
|
|
.short _0223535C - _0223533A - 2 ; case 4
|
|
_02235344:
|
|
mov r0, #2
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #8]
|
|
b _02235362
|
|
_0223534C:
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
b _02235362
|
|
_02235354:
|
|
mov r0, #1
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
b _02235362
|
|
_0223535C:
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #8]
|
|
_02235362:
|
|
lsr r1, r6, #0xb
|
|
add r0, sp, #0
|
|
strb r1, [r0, #0x12]
|
|
ldr r1, [sp, #0x30]
|
|
add r2, sp, #0
|
|
lsr r1, r1, #0xe
|
|
strb r1, [r0, #0x13]
|
|
lsl r1, r4, #0x18
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
mov r3, #0
|
|
bl InitBgFromTemplate
|
|
lsl r1, r4, #0x18
|
|
add r0, r7, #0
|
|
lsr r1, r1, #0x18
|
|
bl BgClearTilemapBufferAndCommit
|
|
add sp, #0x1c
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
_0223538C: .word _0223B720
|
|
thumb_func_end ov74_02235308
|
|
|
|
thumb_func_start ov74_02235390
|
|
ov74_02235390: ; 0x02235390
|
|
ldr r1, _02235398 ; =ov74_0223D454
|
|
str r0, [r1, #0x10]
|
|
bx lr
|
|
nop
|
|
_02235398: .word ov74_0223D454
|
|
thumb_func_end ov74_02235390
|
|
|
|
thumb_func_start ov74_0223539C
|
|
ov74_0223539C: ; 0x0223539C
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
str r0, [sp, #0xc]
|
|
ldr r0, _022353F0 ; =ov74_0223D454
|
|
add r5, r1, #0
|
|
ldr r0, [r0, #0x10]
|
|
add r4, r2, #0
|
|
add r6, r3, #0
|
|
ldr r7, _022353F4 ; =ov74_0223D454
|
|
cmp r0, #0
|
|
bne _022353CC
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
add r3, r0, #0
|
|
bl BeginNormalPaletteFade
|
|
b _022353E4
|
|
_022353CC:
|
|
mov r0, #6
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
ldr r0, [r7, #8]
|
|
ldr r1, [sp, #0xc]
|
|
str r0, [sp, #8]
|
|
ldr r3, _022353F8 ; =0x00007FFF
|
|
mov r0, #0
|
|
add r2, r1, #0
|
|
bl BeginNormalPaletteFade
|
|
_022353E4:
|
|
cmp r4, #0
|
|
beq _022353EA
|
|
str r6, [r4]
|
|
_022353EA:
|
|
str r5, [r7, #0xc]
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022353F0: .word ov74_0223D454
|
|
_022353F4: .word ov74_0223D454
|
|
_022353F8: .word 0x00007FFF
|
|
thumb_func_end ov74_0223539C
|
|
|
|
thumb_func_start ov74_022353FC
|
|
ov74_022353FC: ; 0x022353FC
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r5, _02235410 ; =ov74_0223D454
|
|
bl IsPaletteFadeFinished
|
|
cmp r0, #0
|
|
beq _0223540E
|
|
ldr r0, [r5, #0xc]
|
|
str r0, [r4]
|
|
_0223540E:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02235410: .word ov74_0223D454
|
|
thumb_func_end ov74_022353FC
|
|
|
|
thumb_func_start ov74_02235414
|
|
ov74_02235414: ; 0x02235414
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
mov r1, #0
|
|
mov r2, #0x54
|
|
add r5, r0, #0
|
|
add r7, r3, #0
|
|
bl memset
|
|
mov r0, #1
|
|
str r0, [r5, #4]
|
|
str r0, [r5, #8]
|
|
sub r0, r0, #2
|
|
str r0, [r5, #0x4c]
|
|
str r4, [r5, #0x10]
|
|
str r6, [r5, #0x30]
|
|
ldr r0, [sp, #0x18]
|
|
str r7, [r5, #0x34]
|
|
str r0, [r5, #0x38]
|
|
ldr r0, [sp, #0x1c]
|
|
mov r2, #0
|
|
str r0, [r5, #0x3c]
|
|
str r2, [r5, #0x2c]
|
|
ldr r0, _02235460 ; =0x0001020F
|
|
str r2, [r5, #0x40]
|
|
str r0, [r5, #0x44]
|
|
add r0, r5, #0
|
|
mov r1, #0xf
|
|
add r0, #0x48
|
|
strb r1, [r0]
|
|
str r2, [r5]
|
|
str r2, [r5, #0x24]
|
|
str r2, [r5, #0x20]
|
|
str r2, [r5, #0x14]
|
|
mov r0, #0xff
|
|
str r0, [r5, #0x50]
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02235460: .word 0x0001020F
|
|
thumb_func_end ov74_02235414
|
|
|
|
thumb_func_start ov74_02235464
|
|
ov74_02235464: ; 0x02235464
|
|
str r1, [r0, #0x18]
|
|
str r2, [r0, #0x1c]
|
|
str r3, [r0, #0x28]
|
|
bx lr
|
|
thumb_func_end ov74_02235464
|
|
|
|
thumb_func_start ov74_0223546C
|
|
ov74_0223546C: ; 0x0223546C
|
|
str r1, [r0]
|
|
str r2, [r0, #0x40]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_0223546C
|
|
|
|
thumb_func_start ov74_02235474
|
|
ov74_02235474: ; 0x02235474
|
|
str r1, [r0, #0x20]
|
|
str r2, [r0, #0x24]
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02235474
|
|
|
|
thumb_func_start ov74_0223547C
|
|
ov74_0223547C: ; 0x0223547C
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
ldr r4, _02235564 ; =ov74_0223D454
|
|
cmp r1, r0
|
|
beq _0223555A
|
|
ldr r0, [r5, #0x4c]
|
|
cmp r0, r1
|
|
beq _0223555A
|
|
str r1, [r5, #0x4c]
|
|
ldr r0, [r5, #8]
|
|
cmp r0, #1
|
|
bne _022354A6
|
|
add r1, r5, #0
|
|
add r1, #0x48
|
|
ldrb r1, [r1]
|
|
ldr r0, [r5, #0x10]
|
|
bl FillWindowPixelBuffer
|
|
_022354A6:
|
|
mov r0, #0
|
|
ldr r1, [r5, #0x4c]
|
|
mvn r0, r0
|
|
cmp r1, r0
|
|
beq _0223555A
|
|
ldr r2, [r5, #0x34]
|
|
ldr r3, [r4, #8]
|
|
mov r0, #1
|
|
mov r1, #0x1b
|
|
bl NewMsgDataFromNarc
|
|
ldr r6, [r5, #0x14]
|
|
str r0, [sp, #0x10]
|
|
cmp r6, #0
|
|
bne _022354CC
|
|
ldr r0, [r4, #8]
|
|
bl MessageFormat_New
|
|
add r6, r0, #0
|
|
_022354CC:
|
|
ldr r1, [sp, #0x10]
|
|
ldr r2, [r5, #0x4c]
|
|
ldr r3, [r4, #8]
|
|
add r0, r6, #0
|
|
bl ReadMsgData_ExpandPlaceholders
|
|
add r4, r0, #0
|
|
ldr r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _02235500
|
|
ldr r0, [r5, #0x24]
|
|
add r2, r4, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x50]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x44]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5, #0x40]
|
|
ldr r3, [r5, #0x20]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r7, r0, #0
|
|
b _02235542
|
|
_02235500:
|
|
ldr r0, [r5, #0x40]
|
|
mov r1, #2
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
bl GetFontAttribute
|
|
add r2, r0, #0
|
|
ldr r0, [r5, #0x40]
|
|
add r1, r4, #0
|
|
bl FontID_String_GetWidth
|
|
add r7, r0, #0
|
|
ldr r0, [r5, #0x10]
|
|
bl GetWindowWidth
|
|
lsl r0, r0, #3
|
|
sub r3, r0, r7
|
|
ldr r0, [r5, #0x24]
|
|
add r2, r4, #0
|
|
str r0, [sp]
|
|
ldr r0, [r5, #0x50]
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #0x44]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
ldr r0, [r5, #0x10]
|
|
ldr r1, [r5, #0x40]
|
|
bl AddTextPrinterParameterizedWithColor
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
str r0, [r5, #0xc]
|
|
_02235542:
|
|
add r0, r4, #0
|
|
bl String_Delete
|
|
ldr r0, [r5, #0x14]
|
|
cmp r0, #0
|
|
bne _02235554
|
|
add r0, r6, #0
|
|
bl MessageFormat_Delete
|
|
_02235554:
|
|
ldr r0, [sp, #0x10]
|
|
bl DestroyMsgData
|
|
_0223555A:
|
|
mov r0, #0xff
|
|
str r0, [r5, #0x50]
|
|
add r0, r7, #0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02235564: .word ov74_0223D454
|
|
thumb_func_end ov74_0223547C
|
|
|
|
thumb_func_start ov74_02235568
|
|
ov74_02235568: ; 0x02235568
|
|
push {r3, r4, r5, r6, lr}
|
|
sub sp, #0x14
|
|
add r4, r1, #0
|
|
ldr r1, [r4, #0x10]
|
|
add r6, r2, #0
|
|
ldr r2, [r1]
|
|
add r5, r3, #0
|
|
cmp r2, #0
|
|
bne _022355BA
|
|
lsl r2, r5, #0x18
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp]
|
|
ldr r2, [r4, #0x18]
|
|
lsl r3, r6, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #4]
|
|
ldr r2, [r4, #0x1c]
|
|
lsr r3, r3, #0x18
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #8]
|
|
ldr r2, [r4, #0x30]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
str r2, [sp, #0xc]
|
|
ldr r2, [r4, #0x28]
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
str r2, [sp, #0x10]
|
|
ldr r2, [r4, #0x2c]
|
|
lsl r2, r2, #0x18
|
|
lsr r2, r2, #0x18
|
|
bl AddWindowParameterized
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
bl ov74_0223547C
|
|
add r5, r0, #0
|
|
b _022355E8
|
|
_022355BA:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r6, r0
|
|
beq _022355CC
|
|
add r0, r1, #0
|
|
lsl r1, r6, #0x18
|
|
lsr r1, r1, #0x18
|
|
bl SetWindowX
|
|
_022355CC:
|
|
mov r0, #0
|
|
mvn r0, r0
|
|
cmp r5, r0
|
|
beq _022355DE
|
|
lsl r1, r5, #0x18
|
|
ldr r0, [r4, #0x10]
|
|
lsr r1, r1, #0x18
|
|
bl SetWindowY
|
|
_022355DE:
|
|
ldr r1, [sp, #0x28]
|
|
add r0, r4, #0
|
|
bl ov74_0223547C
|
|
add r5, r0, #0
|
|
_022355E8:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #1
|
|
bne _0223562E
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _022355FC
|
|
cmp r0, #1
|
|
beq _02235612
|
|
cmp r0, #2
|
|
b _02235628
|
|
_022355FC:
|
|
ldr r2, [r4, #0x38]
|
|
ldr r3, [r4, #0x3c]
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl DrawFrameAndWindow1
|
|
b _0223562E
|
|
_02235612:
|
|
ldr r2, [r4, #0x38]
|
|
ldr r3, [r4, #0x3c]
|
|
lsl r2, r2, #0x10
|
|
lsl r3, r3, #0x18
|
|
ldr r0, [r4, #0x10]
|
|
mov r1, #0
|
|
lsr r2, r2, #0x10
|
|
lsr r3, r3, #0x18
|
|
bl DrawFrameAndWindow2
|
|
b _0223562E
|
|
_02235628:
|
|
ldr r0, [r4, #0x10]
|
|
bl CopyWindowToVram
|
|
_0223562E:
|
|
add r0, r5, #0
|
|
add sp, #0x14
|
|
pop {r3, r4, r5, r6, pc}
|
|
thumb_func_end ov74_02235568
|
|
|
|
thumb_func_start ov74_02235634
|
|
ov74_02235634: ; 0x02235634
|
|
ldr r1, [r0, #0x18]
|
|
ldr r0, [r0, #0x1c]
|
|
mul r0, r1
|
|
bx lr
|
|
thumb_func_end ov74_02235634
|
|
|
|
thumb_func_start ov74_0223563C
|
|
ov74_0223563C: ; 0x0223563C
|
|
push {r4, lr}
|
|
sub sp, #0x10
|
|
ldr r4, _02235674 ; =_0223B710
|
|
add r3, sp, #0
|
|
add r2, r3, #0
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldmia r4!, {r0, r1}
|
|
stmia r3!, {r0, r1}
|
|
ldr r0, _02235678 ; =ov74_0223D454
|
|
mov r1, #0x10
|
|
ldr r0, [r0, #8]
|
|
str r0, [sp, #0xc]
|
|
add r0, r2, #0
|
|
add r2, r1, #0
|
|
bl ObjCharTransfer_InitEx
|
|
ldr r1, _02235678 ; =ov74_0223D454
|
|
mov r0, #0x1e
|
|
ldr r1, [r1, #8]
|
|
bl ObjPlttTransfer_Init
|
|
bl ObjCharTransfer_ClearBuffers
|
|
bl ObjPlttTransfer_Reset
|
|
add sp, #0x10
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02235674: .word _0223B710
|
|
_02235678: .word ov74_0223D454
|
|
thumb_func_end ov74_0223563C
|
|
|
|
thumb_func_start ov74_0223567C
|
|
ov74_0223567C: ; 0x0223567C
|
|
ldr r0, _0223568C ; =ov74_0223D454
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _02235688
|
|
mov r0, #1
|
|
bx lr
|
|
_02235688:
|
|
mov r0, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
_0223568C: .word ov74_0223D454
|
|
thumb_func_end ov74_0223567C
|
|
|
|
thumb_func_start ov74_02235690
|
|
ov74_02235690: ; 0x02235690
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
ldr r6, _022356F8 ; =ov74_0223D454
|
|
bl NNS_G2dInitOamManagerModule
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r1, #0x7e
|
|
str r1, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r3, #0x20
|
|
ldr r2, _022356FC ; =ov74_0223D454
|
|
str r3, [sp, #0xc]
|
|
ldr r2, [r2, #8]
|
|
str r2, [sp, #0x10]
|
|
add r2, r0, #0
|
|
bl OamManager_Create
|
|
ldr r2, _022356FC ; =ov74_0223D454
|
|
ldr r1, _02235700 ; =ov74_0223D48C
|
|
ldr r2, [r2, #8]
|
|
mov r0, #0x80
|
|
bl G2dRenderer_Init
|
|
ldr r1, _022356FC ; =ov74_0223D454
|
|
mov r2, #1
|
|
str r0, [r1, #0x34]
|
|
ldr r0, _02235700 ; =ov74_0223D48C
|
|
mov r1, #0
|
|
lsl r2, r2, #0x14
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
mov r1, #3
|
|
mov r7, #0x16
|
|
ldr r0, _02235704 ; =ov74_0223D654
|
|
lsl r1, r1, #0x12
|
|
str r1, [r0, #0x10]
|
|
mov r4, #0
|
|
add r5, r6, #0
|
|
lsl r7, r7, #4
|
|
_022356E0:
|
|
ldr r2, [r6, #8]
|
|
mov r0, #0x20
|
|
add r1, r4, #0
|
|
bl Create2DGfxResObjMan
|
|
str r0, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _022356E0
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022356F8: .word ov74_0223D454
|
|
_022356FC: .word ov74_0223D454
|
|
_02235700: .word ov74_0223D48C
|
|
_02235704: .word ov74_0223D654
|
|
thumb_func_end ov74_02235690
|
|
|
|
thumb_func_start ov74_02235708
|
|
ov74_02235708: ; 0x02235708
|
|
push {r4, lr}
|
|
ldr r0, _02235720 ; =ov74_0223D454
|
|
ldr r4, _02235724 ; =ov74_0223D454
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
bne _02235718
|
|
bl GF_AssertFail
|
|
_02235718:
|
|
add r4, #0x34
|
|
add r0, r4, #0
|
|
pop {r4, pc}
|
|
nop
|
|
_02235720: .word ov74_0223D454
|
|
_02235724: .word ov74_0223D454
|
|
thumb_func_end ov74_02235708
|
|
|
|
thumb_func_start ov74_02235728
|
|
ov74_02235728: ; 0x02235728
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x38
|
|
ldr r4, [sp, #0x54]
|
|
add r6, r0, #0
|
|
mov ip, r1
|
|
str r2, [sp, #0x2c]
|
|
str r3, [sp, #0x30]
|
|
ldr r5, _02235894 ; =ov74_0223D454
|
|
cmp r4, #0
|
|
bne _02235740
|
|
mov r7, #1
|
|
b _02235742
|
|
_02235740:
|
|
mov r7, #2
|
|
_02235742:
|
|
mov r0, #1
|
|
str r0, [sp, #0x34]
|
|
cmp r6, #0x12
|
|
bne _0223574E
|
|
mov r0, #0
|
|
str r0, [sp, #0x34]
|
|
_0223574E:
|
|
mov r1, #0
|
|
mvn r1, r1
|
|
mov r0, ip
|
|
cmp r0, r1
|
|
beq _0223577C
|
|
str r4, [sp]
|
|
str r7, [sp, #4]
|
|
ldr r0, [r5, #8]
|
|
ldr r3, [sp, #0x34]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x16
|
|
lsl r0, r0, #4
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
mov r2, ip
|
|
bl AddCharResObjFromNarc
|
|
mov r1, #0x18
|
|
mul r1, r4
|
|
add r2, r5, r1
|
|
mov r1, #0x5e
|
|
lsl r1, r1, #2
|
|
str r0, [r2, r1]
|
|
_0223577C:
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x2c]
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _022357AE
|
|
str r4, [sp]
|
|
str r7, [sp, #4]
|
|
mov r0, #3
|
|
str r0, [sp, #8]
|
|
ldr r0, [r5, #8]
|
|
ldr r2, [sp, #0x2c]
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x59
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
mov r3, #0
|
|
bl AddPlttResObjFromNarc
|
|
mov r1, #0x18
|
|
mul r1, r4
|
|
add r2, r5, r1
|
|
mov r1, #0x5f
|
|
lsl r1, r1, #2
|
|
str r0, [r2, r1]
|
|
_022357AE:
|
|
mov r1, #0
|
|
ldr r0, [sp, #0x30]
|
|
mvn r1, r1
|
|
cmp r0, r1
|
|
beq _022357DE
|
|
str r4, [sp]
|
|
mov r0, #2
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #8]
|
|
ldr r2, [sp, #0x30]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x5a
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
ldr r3, [sp, #0x34]
|
|
add r1, r6, #0
|
|
bl AddCellOrAnimResObjFromNarc
|
|
mov r1, #0x18
|
|
add r2, r4, #0
|
|
mul r2, r1
|
|
add r2, r5, r2
|
|
lsl r1, r1, #4
|
|
str r0, [r2, r1]
|
|
_022357DE:
|
|
mov r0, #0
|
|
ldr r2, [sp, #0x50]
|
|
mvn r0, r0
|
|
cmp r2, r0
|
|
beq _0223580C
|
|
str r4, [sp]
|
|
mov r0, #3
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, #8]
|
|
ldr r3, [sp, #0x34]
|
|
str r0, [sp, #8]
|
|
mov r0, #0x5b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
add r1, r6, #0
|
|
bl AddCellOrAnimResObjFromNarc
|
|
mov r1, #0x18
|
|
mul r1, r4
|
|
add r2, r5, r1
|
|
mov r1, #0x61
|
|
lsl r1, r1, #2
|
|
str r0, [r2, r1]
|
|
_0223580C:
|
|
mov r0, #0x18
|
|
add r6, r4, #0
|
|
mul r6, r0
|
|
mov r0, #0x5e
|
|
add r1, r5, r6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0200ACF0
|
|
mov r0, #0x5f
|
|
add r1, r5, r6
|
|
lsl r0, r0, #2
|
|
ldr r0, [r1, r0]
|
|
bl sub_0200B00C
|
|
mov r0, #0
|
|
mov r2, #0x16
|
|
str r4, [sp]
|
|
mvn r0, r0
|
|
str r0, [sp, #4]
|
|
str r0, [sp, #8]
|
|
mov r0, #0
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
lsl r2, r2, #4
|
|
ldr r1, [r5, r2]
|
|
add r3, r4, #0
|
|
str r1, [sp, #0x14]
|
|
add r1, r2, #4
|
|
ldr r1, [r5, r1]
|
|
str r1, [sp, #0x18]
|
|
add r1, r2, #0
|
|
add r1, #8
|
|
ldr r1, [r5, r1]
|
|
str r1, [sp, #0x1c]
|
|
add r1, r2, #0
|
|
add r1, #0xc
|
|
ldr r1, [r5, r1]
|
|
add r2, #0x48
|
|
str r1, [sp, #0x20]
|
|
str r0, [sp, #0x24]
|
|
str r0, [sp, #0x28]
|
|
mov r0, #0x24
|
|
add r1, r5, r2
|
|
mul r0, r4
|
|
add r0, r1, r0
|
|
add r1, r4, #0
|
|
add r2, r4, #0
|
|
bl CreateSpriteResourcesHeader
|
|
cmp r4, #0
|
|
bne _0223587E
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineATogglePlanes
|
|
b _02235886
|
|
_0223587E:
|
|
mov r0, #0x10
|
|
mov r1, #1
|
|
bl GfGfx_EngineBTogglePlanes
|
|
_02235886:
|
|
ldr r0, _02235898 ; =ov74_02235A74
|
|
mov r1, #0
|
|
bl Main_SetVBlankIntrCB
|
|
add sp, #0x38
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02235894: .word ov74_0223D454
|
|
_02235898: .word ov74_02235A74
|
|
thumb_func_end ov74_02235728
|
|
|
|
thumb_func_start ov74_0223589C
|
|
ov74_0223589C: ; 0x0223589C
|
|
push {r4, lr}
|
|
add r2, r0, #0
|
|
add r4, r1, #0
|
|
add r1, r2, #0
|
|
ldr r0, _022358B4 ; =ov74_0223D48C
|
|
add r2, r4, #0
|
|
bl G2dRenderer_SetSubSurfaceCoords
|
|
ldr r0, _022358B8 ; =ov74_0223D654
|
|
str r4, [r0, #0x10]
|
|
pop {r4, pc}
|
|
nop
|
|
_022358B4: .word ov74_0223D48C
|
|
_022358B8: .word ov74_0223D654
|
|
thumb_func_end ov74_0223589C
|
|
|
|
thumb_func_start ov74_022358BC
|
|
ov74_022358BC: ; 0x022358BC
|
|
ldr r3, _022358C4 ; =ov74_022358C8
|
|
mov r0, #0
|
|
bx r3
|
|
nop
|
|
_022358C4: .word ov74_022358C8
|
|
thumb_func_end ov74_022358BC
|
|
|
|
thumb_func_start ov74_022358C8
|
|
ov74_022358C8: ; 0x022358C8
|
|
push {r3, r4, r5, lr}
|
|
add r5, r0, #0
|
|
ldr r0, _02235928 ; =ov74_0223D654
|
|
ldr r4, _0223592C ; =ov74_0223D454
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _0223591C
|
|
mov r0, #0x83
|
|
lsl r0, r0, #2
|
|
ldr r1, [r4, r0]
|
|
cmp r1, #0
|
|
bne _02235918
|
|
sub r0, r0, #4
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_GetVisibleFlag
|
|
cmp r0, #0
|
|
bne _022358FC
|
|
cmp r5, #0
|
|
bne _022358FC
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
_022358FC:
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_GetMatrixPtr
|
|
mov r1, #6
|
|
ldr r2, [r0, #4]
|
|
lsl r1, r1, #0x12
|
|
cmp r2, r1
|
|
bge _0223591C
|
|
lsr r1, r1, #7
|
|
add r1, r2, r1
|
|
str r1, [r0, #4]
|
|
b _0223591C
|
|
_02235918:
|
|
sub r1, r1, #1
|
|
str r1, [r4, r0]
|
|
_0223591C:
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
beq _02235926
|
|
bl SpriteList_RenderAndAnimateSprites
|
|
_02235926:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02235928: .word ov74_0223D654
|
|
_0223592C: .word ov74_0223D454
|
|
thumb_func_end ov74_022358C8
|
|
|
|
thumb_func_start ov74_02235930
|
|
ov74_02235930: ; 0x02235930
|
|
push {r3, r4, r5, lr}
|
|
sub sp, #0x30
|
|
add r4, r1, #0
|
|
ldr r1, _022359B8 ; =ov74_0223D454
|
|
bne _02235992
|
|
ldr r4, [r1, #0x34]
|
|
lsl r2, r2, #0xc
|
|
str r4, [sp]
|
|
mov r4, #0x6a
|
|
lsl r4, r4, #2
|
|
add r5, r1, r4
|
|
mov r4, #0x24
|
|
mul r4, r0
|
|
add r4, r5, r4
|
|
str r4, [sp, #4]
|
|
mov r4, #1
|
|
lsl r4, r4, #0xc
|
|
mov r5, #0
|
|
str r5, [sp, #0x10]
|
|
str r4, [sp, #0x14]
|
|
str r4, [sp, #0x18]
|
|
str r4, [sp, #0x1c]
|
|
add r4, sp, #0
|
|
strh r5, [r4, #0x20]
|
|
str r2, [sp, #8]
|
|
lsl r2, r3, #0xc
|
|
str r2, [sp, #0xc]
|
|
mov r2, #0xa
|
|
str r2, [sp, #0x24]
|
|
cmp r0, #0
|
|
bne _02235972
|
|
mov r2, #1
|
|
b _02235974
|
|
_02235972:
|
|
mov r2, #2
|
|
_02235974:
|
|
ldr r0, [r1, #8]
|
|
str r2, [sp, #0x28]
|
|
str r0, [sp, #0x2c]
|
|
cmp r2, #2
|
|
bne _0223598A
|
|
mov r0, #0x21
|
|
lsl r0, r0, #4
|
|
ldr r2, [sp, #0xc]
|
|
ldr r0, [r1, r0]
|
|
add r0, r2, r0
|
|
str r0, [sp, #0xc]
|
|
_0223598A:
|
|
add r0, sp, #0
|
|
bl Sprite_CreateAffine
|
|
add r4, r0, #0
|
|
_02235992:
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl Sprite_SetAnimActiveFlag
|
|
add r0, r4, #0
|
|
mov r1, #0
|
|
bl Sprite_SetPriority
|
|
ldr r1, [sp, #0x40]
|
|
add r0, r4, #0
|
|
bl Sprite_SetAnimCtrlSeq
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
bl Sprite_SetVisibleFlag
|
|
add r0, r4, #0
|
|
add sp, #0x30
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_022359B8: .word ov74_0223D454
|
|
thumb_func_end ov74_02235930
|
|
|
|
thumb_func_start ov74_022359BC
|
|
ov74_022359BC: ; 0x022359BC
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r0, _02235A5C ; =ov74_0223D654
|
|
ldr r4, _02235A60 ; =ov74_0223D454
|
|
ldr r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _022359DA
|
|
mov r0, #0x82
|
|
lsl r0, r0, #2
|
|
ldr r0, [r4, r0]
|
|
bl Sprite_Delete
|
|
mov r0, #0x82
|
|
mov r1, #0
|
|
lsl r0, r0, #2
|
|
str r1, [r4, r0]
|
|
_022359DA:
|
|
mov r1, #0x51
|
|
ldr r0, _02235A64 ; =ov74_0223D488
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _022359EA
|
|
bl sub_0200AEB0
|
|
_022359EA:
|
|
mov r1, #0x57
|
|
ldr r0, _02235A64 ; =ov74_0223D488
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _022359FA
|
|
bl sub_0200AEB0
|
|
_022359FA:
|
|
mov r1, #0x52
|
|
ldr r0, _02235A64 ; =ov74_0223D488
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _02235A0A
|
|
bl sub_0200B0A8
|
|
_02235A0A:
|
|
mov r1, #0x16
|
|
ldr r0, _02235A64 ; =ov74_0223D488
|
|
lsl r1, r1, #4
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0
|
|
beq _02235A1A
|
|
bl sub_0200B0A8
|
|
_02235A1A:
|
|
mov r4, #0
|
|
mov r7, #0x4b
|
|
ldr r5, _02235A64 ; =ov74_0223D488
|
|
add r6, r4, #0
|
|
lsl r7, r7, #2
|
|
_02235A24:
|
|
mov r0, #0x4b
|
|
lsl r0, r0, #2
|
|
ldr r0, [r5, r0]
|
|
bl Destroy2DGfxResObjMan
|
|
str r6, [r5, r7]
|
|
add r4, r4, #1
|
|
add r5, r5, #4
|
|
cmp r4, #6
|
|
blt _02235A24
|
|
ldr r0, _02235A64 ; =ov74_0223D488
|
|
ldr r0, [r0]
|
|
bl SpriteList_Delete
|
|
ldr r0, _02235A64 ; =ov74_0223D488
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
bl OamManager_Free
|
|
bl ObjCharTransfer_Destroy
|
|
bl ObjPlttTransfer_Destroy
|
|
mov r0, #0
|
|
add r1, r0, #0
|
|
bl Main_SetVBlankIntrCB
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02235A5C: .word ov74_0223D654
|
|
_02235A60: .word ov74_0223D454
|
|
_02235A64: .word ov74_0223D488
|
|
thumb_func_end ov74_022359BC
|
|
|
|
thumb_func_start ov74_02235A68
|
|
ov74_02235A68: ; 0x02235A68
|
|
mov r1, #1
|
|
sub r0, #0xa
|
|
lsl r1, r0
|
|
add r0, r1, #0
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02235A68
|
|
|
|
thumb_func_start ov74_02235A74
|
|
ov74_02235A74: ; 0x02235A74
|
|
push {r4, lr}
|
|
ldr r0, _02235AB0 ; =ov74_0223E2D4
|
|
ldr r4, _02235AB4 ; =ov74_0223D454
|
|
ldr r0, [r0, #0x24]
|
|
cmp r0, #0
|
|
beq _02235A8E
|
|
ldr r1, _02235AB8 ; =0x00000EA4
|
|
add r0, r4, #0
|
|
ldr r1, [r4, r1]
|
|
blx r1
|
|
ldr r0, _02235AB8 ; =0x00000EA4
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
_02235A8E:
|
|
bl GF_RunVramTransferTasks
|
|
bl OamManager_ApplyAndResetBuffers
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
beq _02235AA0
|
|
bl DoScheduledBgGpuUpdates
|
|
_02235AA0:
|
|
ldr r3, _02235ABC ; =0x027E0000
|
|
ldr r1, _02235AC0 ; =0x00003FF8
|
|
mov r0, #1
|
|
ldr r2, [r3, r1]
|
|
orr r0, r2
|
|
str r0, [r3, r1]
|
|
pop {r4, pc}
|
|
nop
|
|
_02235AB0: .word ov74_0223E2D4
|
|
_02235AB4: .word ov74_0223D454
|
|
_02235AB8: .word 0x00000EA4
|
|
_02235ABC: .word 0x027E0000
|
|
_02235AC0: .word 0x00003FF8
|
|
thumb_func_end ov74_02235A74
|
|
|
|
thumb_func_start ov74_02235AC4
|
|
ov74_02235AC4: ; 0x02235AC4
|
|
push {r4}
|
|
sub sp, #0x24
|
|
ldr r4, _02235B10 ; =_0223B73C
|
|
add r3, sp, #0
|
|
mov r2, #0x22
|
|
_02235ACE:
|
|
ldrb r1, [r4]
|
|
add r4, r4, #1
|
|
strb r1, [r3]
|
|
add r3, r3, #1
|
|
sub r2, r2, #1
|
|
bne _02235ACE
|
|
add r1, sp, #0
|
|
ldrb r2, [r1]
|
|
mov r3, #0
|
|
sub r1, r3, #1
|
|
cmp r2, r1
|
|
beq _02235B08
|
|
add r4, sp, #0
|
|
sub r1, r3, #1
|
|
_02235AEA:
|
|
ldrb r2, [r4]
|
|
cmp r0, r2
|
|
bne _02235AFE
|
|
add r0, sp, #0
|
|
lsl r1, r3, #1
|
|
add r0, #1
|
|
add sp, #0x24
|
|
ldrb r0, [r0, r1]
|
|
pop {r4}
|
|
bx lr
|
|
_02235AFE:
|
|
add r4, r4, #2
|
|
ldrb r2, [r4]
|
|
add r3, r3, #1
|
|
cmp r2, r1
|
|
bne _02235AEA
|
|
_02235B08:
|
|
mov r0, #0
|
|
add sp, #0x24
|
|
pop {r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
_02235B10: .word _0223B73C
|
|
thumb_func_end ov74_02235AC4
|
|
|
|
thumb_func_start ov74_02235B14
|
|
ov74_02235B14: ; 0x02235B14
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x28
|
|
add r6, r1, #0
|
|
str r0, [sp, #0x20]
|
|
add r0, r6, #0
|
|
add r5, r2, #0
|
|
add r7, r3, #0
|
|
ldr r4, [sp, #0x44]
|
|
bl GetMonGender
|
|
str r0, [sp, #0x24]
|
|
add r0, r6, #0
|
|
bl MonIsShiny
|
|
lsl r0, r0, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp]
|
|
lsl r0, r7, #0x18
|
|
ldr r2, [sp, #0x24]
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
lsl r1, r5, #0x10
|
|
lsl r2, r2, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r4, #0
|
|
lsr r1, r1, #0x10
|
|
lsr r2, r2, #0x18
|
|
mov r3, #2
|
|
bl GetMonSpriteCharAndPlttNarcIdsEx
|
|
mov r1, #0
|
|
add r0, r6, #0
|
|
add r2, r1, #0
|
|
bl GetMonData
|
|
mov r3, #0
|
|
str r3, [sp]
|
|
mov r1, #0xa
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
ldr r1, [sp, #0x40]
|
|
ldr r2, _02235BCC ; =ov74_0223D454
|
|
str r1, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
str r3, [sp, #0x14]
|
|
mov r0, #2
|
|
str r0, [sp, #0x18]
|
|
str r5, [sp, #0x1c]
|
|
ldrh r0, [r4]
|
|
ldrh r1, [r4, #2]
|
|
ldr r2, [r2, #8]
|
|
bl sub_02014494
|
|
mov r1, #0x32
|
|
ldr r0, [sp, #0x40]
|
|
lsl r1, r1, #6
|
|
bl DC_FlushRange
|
|
ldr r0, [sp, #0x20]
|
|
bl Sprite_GetImageProxy
|
|
mov r1, #2
|
|
bl NNS_G2dGetImageLocation
|
|
mov r2, #0x32
|
|
add r1, r0, #0
|
|
lsl r2, r2, #6
|
|
ldr r0, [sp, #0x40]
|
|
add r1, r1, r2
|
|
bl GXS_LoadOBJ
|
|
ldr r0, [sp, #0x20]
|
|
bl Sprite_GetPaletteProxy
|
|
mov r1, #2
|
|
bl NNS_G2dGetImagePaletteLocation
|
|
add r3, r0, #0
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
ldr r0, _02235BCC ; =ov74_0223D454
|
|
mov r2, #5
|
|
ldr r0, [r0, #8]
|
|
add r3, #0x60
|
|
str r0, [sp, #4]
|
|
ldrh r0, [r4]
|
|
ldrh r1, [r4, #4]
|
|
bl GfGfxLoader_GXLoadPal
|
|
add sp, #0x28
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02235BCC: .word ov74_0223D454
|
|
thumb_func_end ov74_02235B14
|
|
|
|
thumb_func_start ov74_02235BD0
|
|
ov74_02235BD0: ; 0x02235BD0
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
mov r0, #0x25
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x27
|
|
mov r2, #0x24
|
|
mov r3, #0x26
|
|
bl ov74_02235728
|
|
mov r1, #1
|
|
mov r0, #0
|
|
lsl r1, r1, #0x14
|
|
bl ov74_0223589C
|
|
mov r3, #0
|
|
mov r1, #0x82
|
|
str r3, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r4, r1]
|
|
mov r0, #1
|
|
mov r2, #0x80
|
|
bl ov74_02235930
|
|
mov r1, #0x82
|
|
lsl r1, r1, #2
|
|
str r0, [r4, r1]
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
thumb_func_end ov74_02235BD0
|
|
|
|
thumb_func_start ov74_02235C10
|
|
ov74_02235C10: ; 0x02235C10
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
mov r0, #0xc
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
add r4, r1, #0
|
|
add r6, r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x34
|
|
mov r1, #0xa
|
|
mov r2, #0
|
|
mov r3, #0xb
|
|
bl ov74_02235728
|
|
mov r1, #1
|
|
mov r0, #0
|
|
lsl r1, r1, #0x14
|
|
bl ov74_0223589C
|
|
mov r0, #1
|
|
mov r1, #0x82
|
|
str r0, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
mov r2, #0x80
|
|
mov r3, #0
|
|
bl ov74_02235930
|
|
mov r2, #0x82
|
|
lsl r2, r2, #2
|
|
add r6, #8
|
|
str r0, [r5, r2]
|
|
cmp r4, #7
|
|
bgt _02235C68
|
|
cmp r4, #1
|
|
blt _02235CDA
|
|
beq _02235C6C
|
|
cmp r4, #2
|
|
beq _02235CA2
|
|
cmp r4, #7
|
|
beq _02235CC0
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_02235C68:
|
|
cmp r4, #0xd
|
|
bne _02235CDA
|
|
_02235C6C:
|
|
add r0, r6, #0
|
|
mov r1, #5
|
|
mov r2, #0
|
|
bl GetMonData
|
|
add r4, r0, #0
|
|
add r0, r6, #0
|
|
mov r1, #0x70
|
|
mov r2, #0
|
|
bl GetMonData
|
|
mov r1, #0x85
|
|
lsl r1, r1, #2
|
|
add r3, r0, #0
|
|
add r0, r5, r1
|
|
str r0, [sp]
|
|
ldr r0, _02235CE0 ; =0x00000E94
|
|
sub r1, #0xc
|
|
add r0, r5, r0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r1]
|
|
add r1, r6, #0
|
|
add r2, r4, #0
|
|
bl ov74_02235B14
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_02235CA2:
|
|
add r0, r2, #0
|
|
add r0, #0xc
|
|
add r0, r5, r0
|
|
str r0, [sp]
|
|
ldr r0, _02235CE0 ; =0x00000E94
|
|
add r1, r6, #0
|
|
add r0, r5, r0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r2]
|
|
sub r2, #0x1a
|
|
mov r3, #0
|
|
bl ov74_02235B14
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
_02235CC0:
|
|
add r0, r2, #0
|
|
add r0, #0xc
|
|
add r0, r5, r0
|
|
str r0, [sp]
|
|
ldr r0, _02235CE0 ; =0x00000E94
|
|
add r1, r6, #0
|
|
add r0, r5, r0
|
|
str r0, [sp, #4]
|
|
ldr r0, [r5, r2]
|
|
sub r2, #0x1a
|
|
mov r3, #1
|
|
bl ov74_02235B14
|
|
_02235CDA:
|
|
add sp, #8
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02235CE0: .word 0x00000E94
|
|
thumb_func_end ov74_02235C10
|
|
|
|
thumb_func_start ov74_02235CE4
|
|
ov74_02235CE4: ; 0x02235CE4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
add r5, r0, #0
|
|
cmp r1, #0xf
|
|
bhi _02235D36
|
|
add r0, r1, r1
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02235CFA: ; jump table
|
|
.short _02235D36 - _02235CFA - 2 ; case 0
|
|
.short _02235D36 - _02235CFA - 2 ; case 1
|
|
.short _02235D36 - _02235CFA - 2 ; case 2
|
|
.short _02235D1A - _02235CFA - 2 ; case 3
|
|
.short _02235D36 - _02235CFA - 2 ; case 4
|
|
.short _02235D36 - _02235CFA - 2 ; case 5
|
|
.short _02235D36 - _02235CFA - 2 ; case 6
|
|
.short _02235D36 - _02235CFA - 2 ; case 7
|
|
.short _02235D1E - _02235CFA - 2 ; case 8
|
|
.short _02235D22 - _02235CFA - 2 ; case 9
|
|
.short _02235D28 - _02235CFA - 2 ; case 10
|
|
.short _02235D36 - _02235CFA - 2 ; case 11
|
|
.short _02235D2C - _02235CFA - 2 ; case 12
|
|
.short _02235D36 - _02235CFA - 2 ; case 13
|
|
.short _02235D30 - _02235CFA - 2 ; case 14
|
|
.short _02235D34 - _02235CFA - 2 ; case 15
|
|
_02235D1A:
|
|
ldr r4, [r2, #4]
|
|
b _02235D36
|
|
_02235D1E:
|
|
ldr r4, _02235D90 ; =0x000001C6
|
|
b _02235D36
|
|
_02235D22:
|
|
mov r4, #0x71
|
|
lsl r4, r4, #2
|
|
b _02235D36
|
|
_02235D28:
|
|
ldr r4, _02235D94 ; =0x000001C7
|
|
b _02235D36
|
|
_02235D2C:
|
|
ldr r4, _02235D98 ; =0x000001D3
|
|
b _02235D36
|
|
_02235D30:
|
|
ldr r4, _02235D9C ; =0x000001BA
|
|
b _02235D36
|
|
_02235D34:
|
|
ldr r4, _02235DA0 ; =0x000001F5
|
|
_02235D36:
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #1
|
|
bl GetItemIndexMapping
|
|
add r7, r0, #0
|
|
lsl r0, r4, #0x10
|
|
lsr r0, r0, #0x10
|
|
mov r1, #2
|
|
bl GetItemIndexMapping
|
|
add r4, r0, #0
|
|
bl GetItemIconCell
|
|
add r6, r0, #0
|
|
bl GetItemIconAnim
|
|
str r0, [sp]
|
|
mov r0, #1
|
|
str r0, [sp, #4]
|
|
mov r0, #0x12
|
|
add r1, r7, #0
|
|
add r2, r4, #0
|
|
add r3, r6, #0
|
|
bl ov74_02235728
|
|
mov r1, #1
|
|
mov r0, #0
|
|
lsl r1, r1, #0x14
|
|
bl ov74_0223589C
|
|
mov r3, #0
|
|
mov r1, #0x82
|
|
str r3, [sp]
|
|
lsl r1, r1, #2
|
|
ldr r1, [r5, r1]
|
|
mov r0, #1
|
|
mov r2, #0x80
|
|
bl ov74_02235930
|
|
mov r1, #0x82
|
|
lsl r1, r1, #2
|
|
str r0, [r5, r1]
|
|
add sp, #8
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02235D90: .word 0x000001C6
|
|
_02235D94: .word 0x000001C7
|
|
_02235D98: .word 0x000001D3
|
|
_02235D9C: .word 0x000001BA
|
|
_02235DA0: .word 0x000001F5
|
|
thumb_func_end ov74_02235CE4
|
|
|
|
thumb_func_start ov74_02235DA4
|
|
ov74_02235DA4: ; 0x02235DA4
|
|
push {r3, lr}
|
|
sub sp, #8
|
|
mov r1, #0xc0
|
|
str r1, [sp]
|
|
ldr r0, [r0, #8]
|
|
mov r2, #4
|
|
add r3, r2, #0
|
|
str r0, [sp, #4]
|
|
mov r0, #0x71
|
|
mov r1, #0x21
|
|
add r3, #0xfc
|
|
bl GfGfxLoader_GXLoadPal
|
|
add sp, #8
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02235DA4
|
|
|
|
thumb_func_start ov74_02235DC4
|
|
ov74_02235DC4: ; 0x02235DC4
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x18
|
|
add r6, r1, #0
|
|
ldrh r4, [r6]
|
|
add r5, r0, #0
|
|
add r0, r4, #0
|
|
bl ov74_02235AC4
|
|
add r7, r0, #0
|
|
mov r0, #0
|
|
str r0, [sp]
|
|
mov r0, #5
|
|
lsl r0, r0, #0xa
|
|
str r0, [sp, #4]
|
|
mov r0, #1
|
|
str r0, [sp, #8]
|
|
ldr r0, _02235EC0 ; =ov74_0223D454
|
|
mov r1, #0x22
|
|
ldr r0, [r0, #8]
|
|
add r2, r5, #0
|
|
str r0, [sp, #0xc]
|
|
mov r0, #0x71
|
|
mov r3, #5
|
|
bl GfGfxLoader_LoadCharData
|
|
mov r2, #1
|
|
ldr r3, _02235EC0 ; =ov74_0223D454
|
|
str r2, [sp]
|
|
ldr r3, [r3, #8]
|
|
mov r0, #0x71
|
|
mov r1, #0x23
|
|
bl GfGfxLoader_LoadFromNarc
|
|
add r1, sp, #0x14
|
|
str r0, [sp, #0x10]
|
|
bl NNS_G2dGetUnpackedScreenData
|
|
ldr r2, [sp, #0x14]
|
|
mov r3, #6
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
add r2, #0xc
|
|
lsl r3, r3, #8
|
|
bl BG_LoadScreenTilemapData
|
|
ldr r0, [sp, #0x10]
|
|
bl FreeToHeap
|
|
mov r0, #0x20
|
|
str r0, [sp]
|
|
mov r0, #0x18
|
|
mov r2, #0
|
|
add r7, #8
|
|
str r0, [sp, #4]
|
|
lsl r0, r7, #0x18
|
|
lsr r0, r0, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
add r3, r2, #0
|
|
bl BgTilemapRectChangePalette
|
|
add r0, r5, #0
|
|
mov r1, #5
|
|
bl ScheduleBgTilemapBufferTransfer
|
|
ldr r1, _02235EC4 ; =ov74_02235DA4
|
|
ldr r0, _02235EC8 ; =ov74_0223E2D4
|
|
cmp r4, #0xf
|
|
str r1, [r0, #0x24]
|
|
ldr r0, _02235EC0 ; =ov74_0223D454
|
|
str r5, [r0]
|
|
bhi _02235EAE
|
|
add r0, r4, r4
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02235E62: ; jump table
|
|
.short _02235EAE - _02235E62 - 2 ; case 0
|
|
.short _02235E98 - _02235E62 - 2 ; case 1
|
|
.short _02235E98 - _02235E62 - 2 ; case 2
|
|
.short _02235EA4 - _02235E62 - 2 ; case 3
|
|
.short _02235E82 - _02235E62 - 2 ; case 4
|
|
.short _02235E82 - _02235E62 - 2 ; case 5
|
|
.short _02235E82 - _02235E62 - 2 ; case 6
|
|
.short _02235E8E - _02235E62 - 2 ; case 7
|
|
.short _02235EA4 - _02235E62 - 2 ; case 8
|
|
.short _02235EA4 - _02235E62 - 2 ; case 9
|
|
.short _02235EA4 - _02235E62 - 2 ; case 10
|
|
.short _02235E82 - _02235E62 - 2 ; case 11
|
|
.short _02235EA4 - _02235E62 - 2 ; case 12
|
|
.short _02235E98 - _02235E62 - 2 ; case 13
|
|
.short _02235EA4 - _02235E62 - 2 ; case 14
|
|
.short _02235EA4 - _02235E62 - 2 ; case 15
|
|
_02235E82:
|
|
ldr r0, _02235ECC ; =ov74_0223D454
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl ov74_02235BD0
|
|
b _02235EAE
|
|
_02235E8E:
|
|
mov r1, #0x83
|
|
ldr r0, _02235ECC ; =ov74_0223D454
|
|
mov r2, #0x78
|
|
lsl r1, r1, #2
|
|
str r2, [r0, r1]
|
|
_02235E98:
|
|
ldr r0, _02235ECC ; =ov74_0223D454
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl ov74_02235C10
|
|
b _02235EAE
|
|
_02235EA4:
|
|
ldr r0, _02235ECC ; =ov74_0223D454
|
|
add r1, r4, #0
|
|
add r2, r6, #0
|
|
bl ov74_02235CE4
|
|
_02235EAE:
|
|
mov r1, #0x82
|
|
ldr r0, _02235ECC ; =ov74_0223D454
|
|
lsl r1, r1, #2
|
|
ldr r0, [r0, r1]
|
|
mov r1, #0
|
|
bl Sprite_SetVisibleFlag
|
|
add sp, #0x18
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02235EC0: .word ov74_0223D454
|
|
_02235EC4: .word ov74_02235DA4
|
|
_02235EC8: .word ov74_0223E2D4
|
|
_02235ECC: .word ov74_0223D454
|
|
thumb_func_end ov74_02235DC4
|
|
|
|
thumb_func_start ov74_02235ED0
|
|
ov74_02235ED0: ; 0x02235ED0
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r1, #0
|
|
mov r1, #2
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
lsl r1, r1, #8
|
|
str r2, [sp]
|
|
bl AllocFromHeap
|
|
ldr r1, _02235F50 ; =0x0000A001
|
|
add r4, r0, #0
|
|
bl MATHi_CRC16InitTableRev
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0x50
|
|
bl MATH_CalcCRC16
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add r0, sp, #4
|
|
bl OS_GetMacAddress
|
|
add r0, sp, #4
|
|
ldrh r1, [r0, #2]
|
|
mov r2, #0
|
|
add r3, sp, #4
|
|
strh r1, [r0, #6]
|
|
ldr r1, _02235F54 ; =0x0000D679
|
|
strh r6, [r0, #2]
|
|
_02235F12:
|
|
ldrh r0, [r3]
|
|
add r2, r2, #1
|
|
eor r0, r1
|
|
strh r0, [r3]
|
|
ldrh r1, [r3]
|
|
add r3, r3, #2
|
|
cmp r2, #4
|
|
blt _02235F12
|
|
mov r1, #0x41
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
add r1, sp, #4
|
|
mov r2, #8
|
|
add r4, r0, #0
|
|
bl CRYPTO_RC4Init
|
|
add r5, #0x50
|
|
mov r2, #0xd6
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
lsl r2, r2, #2
|
|
add r3, r7, #0
|
|
bl CRYPTO_RC4Encrypt
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02235F50: .word 0x0000A001
|
|
_02235F54: .word 0x0000D679
|
|
thumb_func_end ov74_02235ED0
|
|
|
|
thumb_func_start ov74_02235F58
|
|
ov74_02235F58: ; 0x02235F58
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0xc
|
|
add r7, r1, #0
|
|
mov r1, #2
|
|
add r5, r0, #0
|
|
add r0, r2, #0
|
|
lsl r1, r1, #8
|
|
str r2, [sp]
|
|
bl AllocFromHeap
|
|
ldr r1, _02235FF0 ; =0x0000A001
|
|
add r4, r0, #0
|
|
bl MATHi_CRC16InitTableRev
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
mov r2, #0x50
|
|
bl MATH_CalcCRC16
|
|
add r6, r0, #0
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
mov r0, #0
|
|
bl sub_02035754
|
|
ldrb r2, [r0, #4]
|
|
add r1, sp, #4
|
|
mov r3, #0
|
|
strb r2, [r1]
|
|
ldrb r2, [r0, #5]
|
|
strb r2, [r1, #1]
|
|
ldrb r2, [r0, #6]
|
|
strb r2, [r1, #2]
|
|
ldrb r2, [r0, #7]
|
|
strb r2, [r1, #3]
|
|
ldrb r2, [r0, #8]
|
|
strb r2, [r1, #4]
|
|
ldrb r0, [r0, #9]
|
|
strb r0, [r1, #5]
|
|
add r0, sp, #4
|
|
ldrh r2, [r0, #2]
|
|
strh r2, [r0, #6]
|
|
ldr r2, _02235FF4 ; =0x0000D679
|
|
strh r6, [r0, #2]
|
|
_02235FB2:
|
|
ldrh r0, [r1]
|
|
add r3, r3, #1
|
|
eor r0, r2
|
|
strh r0, [r1]
|
|
ldrh r2, [r1]
|
|
add r1, r1, #2
|
|
cmp r3, #4
|
|
blt _02235FB2
|
|
mov r1, #0x41
|
|
ldr r0, [sp]
|
|
lsl r1, r1, #2
|
|
bl AllocFromHeap
|
|
add r1, sp, #4
|
|
mov r2, #8
|
|
add r4, r0, #0
|
|
bl CRYPTO_RC4Init
|
|
add r5, #0x50
|
|
mov r2, #0xd6
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
lsl r2, r2, #2
|
|
add r3, r7, #0
|
|
bl CRYPTO_RC4Encrypt
|
|
add r0, r4, #0
|
|
bl FreeToHeap
|
|
add sp, #0xc
|
|
pop {r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02235FF0: .word 0x0000A001
|
|
_02235FF4: .word 0x0000D679
|
|
thumb_func_end ov74_02235F58
|
|
|
|
thumb_func_start ov74_02235FF8
|
|
ov74_02235FF8: ; 0x02235FF8
|
|
push {r3, lr}
|
|
cmp r2, #0
|
|
beq _02236002
|
|
cmp r2, #1
|
|
pop {r3, pc}
|
|
_02236002:
|
|
ldr r0, _0223600C ; =SEQ_SE_DP_SELECT
|
|
bl PlaySE
|
|
pop {r3, pc}
|
|
nop
|
|
_0223600C: .word SEQ_SE_DP_SELECT
|
|
thumb_func_end ov74_02235FF8
|
|
|
|
thumb_func_start ov74_02236010
|
|
ov74_02236010: ; 0x02236010
|
|
push {r3, lr}
|
|
ldr r0, _02236030 ; =0x027FFFA8
|
|
ldrh r1, [r0]
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
and r0, r1
|
|
asr r0, r0, #0xf
|
|
bne _0223602C
|
|
bl CTRDG_IsAgbCartridge
|
|
cmp r0, #0
|
|
bne _0223602C
|
|
bl CTRDG_TerminateForPulledOut
|
|
_0223602C:
|
|
pop {r3, pc}
|
|
nop
|
|
_02236030: .word 0x027FFFA8
|
|
thumb_func_end ov74_02236010
|
|
|
|
thumb_func_start ov74_02236034
|
|
ov74_02236034: ; 0x02236034
|
|
push {r3, lr}
|
|
cmp r0, #1
|
|
bne _0223605C
|
|
ldr r1, _02236068 ; =0x04000208
|
|
ldrh r0, [r1]
|
|
mov r0, #0
|
|
strh r0, [r1]
|
|
lsr r0, r1, #0xd
|
|
ldr r1, _0223606C ; =ov74_02236010
|
|
bl OS_SetIrqFunction
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
bl OS_EnableIrqMask
|
|
ldr r1, _02236068 ; =0x04000208
|
|
ldrh r0, [r1]
|
|
mov r0, #1
|
|
strh r0, [r1]
|
|
pop {r3, pc}
|
|
_0223605C:
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
bl OS_DisableIrqMask
|
|
pop {r3, pc}
|
|
nop
|
|
_02236068: .word 0x04000208
|
|
_0223606C: .word ov74_02236010
|
|
thumb_func_end ov74_02236034
|
|
|
|
thumb_func_start ov74_02236070
|
|
ov74_02236070: ; 0x02236070
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02236070
|
|
|
|
thumb_func_start ov74_02236074
|
|
ov74_02236074: ; 0x02236074
|
|
push {r3, lr}
|
|
ldr r1, _02236098 ; =0x04000208
|
|
ldrh r0, [r1]
|
|
mov r0, #0
|
|
strh r0, [r1]
|
|
lsr r0, r1, #0xd
|
|
ldr r1, _0223609C ; =ov74_02236070
|
|
bl OS_SetIrqFunction
|
|
mov r0, #2
|
|
lsl r0, r0, #0xc
|
|
bl OS_EnableIrqMask
|
|
ldr r1, _02236098 ; =0x04000208
|
|
ldrh r0, [r1]
|
|
mov r0, #1
|
|
strh r0, [r1]
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02236098: .word 0x04000208
|
|
_0223609C: .word ov74_02236070
|
|
thumb_func_end ov74_02236074
|
|
|
|
thumb_func_start ov74_022360A0
|
|
ov74_022360A0: ; 0x022360A0
|
|
ldr r1, _022360AC ; =ov74_0223D454
|
|
str r0, [r1, #0x18]
|
|
mov r0, #0
|
|
str r0, [r1, #0x14]
|
|
bx lr
|
|
nop
|
|
_022360AC: .word ov74_0223D454
|
|
thumb_func_end ov74_022360A0
|
|
|
|
thumb_func_start ov74_022360B0
|
|
ov74_022360B0: ; 0x022360B0
|
|
push {r3, r4, r5, lr}
|
|
ldr r0, _02236120 ; =ov74_0223D454
|
|
ldr r4, _02236124 ; =ov74_0223D454
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #4
|
|
bhi _0223611C
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_022360C8: ; jump table
|
|
.short _022360D2 - _022360C8 - 2 ; case 0
|
|
.short _022360E8 - _022360C8 - 2 ; case 1
|
|
.short _0223611C - _022360C8 - 2 ; case 2
|
|
.short _0223611C - _022360C8 - 2 ; case 3
|
|
.short _0223611C - _022360C8 - 2 ; case 4
|
|
_022360D2:
|
|
mov r0, #4
|
|
bl sub_0201A728
|
|
ldr r0, [r4, #0x18]
|
|
mov r1, #2
|
|
bl Save_PrepareForAsyncWrite
|
|
ldr r0, [r4, #0x14]
|
|
add r0, r0, #1
|
|
str r0, [r4, #0x14]
|
|
b _0223611C
|
|
_022360E8:
|
|
ldr r0, [r4, #0x18]
|
|
bl Save_WriteFileAsync
|
|
add r5, r0, #0
|
|
cmp r5, #3
|
|
bne _022360FA
|
|
mov r0, #3
|
|
str r0, [r4, #0x14]
|
|
b _0223610C
|
|
_022360FA:
|
|
cmp r5, #2
|
|
bne _02236104
|
|
mov r0, #2
|
|
str r0, [r4, #0x14]
|
|
b _0223610C
|
|
_02236104:
|
|
cmp r5, #1
|
|
bne _0223610C
|
|
mov r0, #4
|
|
str r0, [r4, #0x14]
|
|
_0223610C:
|
|
sub r0, r5, #2
|
|
cmp r0, #1
|
|
bhi _02236118
|
|
mov r0, #4
|
|
bl sub_0201A738
|
|
_02236118:
|
|
add r0, r5, #0
|
|
pop {r3, r4, r5, pc}
|
|
_0223611C:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02236120: .word ov74_0223D454
|
|
_02236124: .word ov74_0223D454
|
|
thumb_func_end ov74_022360B0
|
|
|
|
thumb_func_start ov74_02236128
|
|
ov74_02236128: ; 0x02236128
|
|
ldr r0, _02236138 ; =ov74_0223D454
|
|
ldr r1, _0223613C ; =ov74_0223D454
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #4
|
|
bne _02236136
|
|
mov r0, #1
|
|
str r0, [r1, #0x14]
|
|
_02236136:
|
|
bx lr
|
|
.balign 4, 0
|
|
_02236138: .word ov74_0223D454
|
|
_0223613C: .word ov74_0223D454
|
|
thumb_func_end ov74_02236128
|
|
|
|
thumb_func_start ov74_02236140
|
|
ov74_02236140: ; 0x02236140
|
|
push {r3, lr}
|
|
ldr r0, _02236158 ; =ov74_0223D454
|
|
ldr r0, [r0, #0x18]
|
|
bl Save_Cancel
|
|
ldr r0, _02236158 ; =ov74_0223D454
|
|
mov r1, #3
|
|
str r1, [r0, #0x14]
|
|
mov r0, #4
|
|
bl sub_0201A738
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02236158: .word ov74_0223D454
|
|
thumb_func_end ov74_02236140
|
|
|
|
thumb_func_start ov74_0223615C
|
|
ov74_0223615C: ; 0x0223615C
|
|
ldr r0, _02236164 ; =ov74_0223D454
|
|
ldr r0, [r0, #0x14]
|
|
bx lr
|
|
nop
|
|
_02236164: .word ov74_0223D454
|
|
thumb_func_end ov74_0223615C
|
|
|
|
thumb_func_start ov74_02236168
|
|
ov74_02236168: ; 0x02236168
|
|
push {r4, lr}
|
|
ldr r1, _022361A4 ; =ov74_0223E2FC
|
|
add r4, r0, #0
|
|
ldr r2, [r1, #4]
|
|
cmp r2, #0
|
|
beq _02236184
|
|
ldr r3, [r1]
|
|
ldr r1, _022361A8 ; =0x00001150
|
|
ldr r0, _022361AC ; =ov74_0223D00C
|
|
ldr r1, [r3, r1]
|
|
lsl r3, r1, #2
|
|
ldr r1, _022361B0 ; =ov74_0223CFE4
|
|
ldr r1, [r1, r3]
|
|
blx r2
|
|
_02236184:
|
|
ldr r3, _022361A4 ; =ov74_0223E2FC
|
|
ldr r1, _022361A8 ; =0x00001150
|
|
ldr r0, [r3]
|
|
str r4, [r0, r1]
|
|
ldr r2, [r3, #4]
|
|
cmp r2, #0
|
|
beq _022361A0
|
|
ldr r3, [r3]
|
|
ldr r0, _022361B4 ; =ov74_0223D014
|
|
ldr r1, [r3, r1]
|
|
lsl r3, r1, #2
|
|
ldr r1, _022361B0 ; =ov74_0223CFE4
|
|
ldr r1, [r1, r3]
|
|
blx r2
|
|
_022361A0:
|
|
pop {r4, pc}
|
|
nop
|
|
_022361A4: .word ov74_0223E2FC
|
|
_022361A8: .word 0x00001150
|
|
_022361AC: .word ov74_0223D00C
|
|
_022361B0: .word ov74_0223CFE4
|
|
_022361B4: .word ov74_0223D014
|
|
thumb_func_end ov74_02236168
|
|
|
|
thumb_func_start ov74_022361B8
|
|
ov74_022361B8: ; 0x022361B8
|
|
ldr r1, _022361CC ; =ov74_0223E2FC
|
|
ldr r3, [r1]
|
|
ldr r1, _022361D0 ; =0x00001150
|
|
ldr r2, [r3, r1]
|
|
sub r2, #9
|
|
cmp r2, #1
|
|
bls _022361CA
|
|
add r1, r1, #4
|
|
str r0, [r3, r1]
|
|
_022361CA:
|
|
bx lr
|
|
.balign 4, 0
|
|
_022361CC: .word ov74_0223E2FC
|
|
_022361D0: .word 0x00001150
|
|
thumb_func_end ov74_022361B8
|
|
|
|
thumb_func_start ov74_022361D4
|
|
ov74_022361D4: ; 0x022361D4
|
|
push {r4, lr}
|
|
ldr r0, _02236240 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _02236244 ; =0x00001150
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #4
|
|
bne _022361E6
|
|
bl OS_Terminate
|
|
_022361E6:
|
|
mov r0, #2
|
|
bl ov74_02236168
|
|
ldr r3, _02236240 ; =ov74_0223E2FC
|
|
ldr r0, _02236248 ; =0x0000FFFF
|
|
ldr r2, [r3]
|
|
ldr r1, _0223624C ; =0x00000FCC
|
|
strh r0, [r2, r1]
|
|
sub r2, r1, #2
|
|
ldr r4, [r3]
|
|
sub r1, r1, #4
|
|
strh r0, [r4, r2]
|
|
ldr r2, [r3]
|
|
strh r0, [r2, r1]
|
|
bl ov74_02236258
|
|
cmp r0, #0
|
|
bne _02236224
|
|
mov r0, #9
|
|
bl ov74_02236168
|
|
ldr r0, _02236240 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _02236250 ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _02236220
|
|
mov r0, #4
|
|
blx r1
|
|
_02236220:
|
|
mov r0, #0
|
|
pop {r4, pc}
|
|
_02236224:
|
|
ldr r1, _02236240 ; =ov74_0223E2FC
|
|
ldr r0, _02236254 ; =0x00001158
|
|
ldr r2, [r1]
|
|
mov r3, #2
|
|
strh r3, [r2, r0]
|
|
ldr r1, [r1]
|
|
add r0, #0x24
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _0223623C
|
|
mov r0, #0
|
|
blx r1
|
|
_0223623C:
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02236240: .word ov74_0223E2FC
|
|
_02236244: .word 0x00001150
|
|
_02236248: .word 0x0000FFFF
|
|
_0223624C: .word 0x00000FCC
|
|
_02236250: .word 0x0000117C
|
|
_02236254: .word 0x00001158
|
|
thumb_func_end ov74_022361D4
|
|
|
|
thumb_func_start ov74_02236258
|
|
ov74_02236258: ; 0x02236258
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
ldr r0, _02236330 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _02236334 ; =0x00001150
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #2
|
|
beq _0223626C
|
|
bl OS_Terminate
|
|
mov r0, #0
|
|
_0223626C:
|
|
bl WM_GetAllowedChannel
|
|
add r4, r0, #0
|
|
mov r0, #2
|
|
lsl r0, r0, #0xe
|
|
cmp r4, r0
|
|
bne _02236284
|
|
mov r0, #3
|
|
bl ov74_022361B8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02236284:
|
|
cmp r4, #0
|
|
bne _02236292
|
|
mov r0, #0x16
|
|
bl ov74_022361B8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_02236292:
|
|
ldr r0, _02236330 ; =ov74_0223E2FC
|
|
ldr r2, [r0]
|
|
ldr r0, _02236338 ; =0x00001176
|
|
ldrh r1, [r2, r0]
|
|
cmp r1, #0x10
|
|
blo _022362D4
|
|
sub r1, #0x10
|
|
mov r5, #0
|
|
mov r7, #0xd
|
|
mov r6, #1
|
|
b _022362BA
|
|
_022362A8:
|
|
add r0, r1, #1
|
|
add r1, r7, #0
|
|
bl _s32_div_f
|
|
add r0, r6, #0
|
|
lsl r0, r1
|
|
tst r0, r4
|
|
bne _022362BE
|
|
add r5, r5, #1
|
|
_022362BA:
|
|
cmp r5, #0xd
|
|
blt _022362A8
|
|
_022362BE:
|
|
ldr r2, _02236330 ; =ov74_0223E2FC
|
|
add r4, r1, #0
|
|
ldr r3, [r2]
|
|
ldr r0, _02236338 ; =0x00001176
|
|
add r4, #0x10
|
|
strh r4, [r3, r0]
|
|
add r3, r1, #1
|
|
ldr r1, [r2]
|
|
ldr r0, _0223633C ; =0x00000FC4
|
|
strh r3, [r1, r0]
|
|
b _022362D8
|
|
_022362D4:
|
|
ldr r0, _0223633C ; =0x00000FC4
|
|
strh r1, [r2, r0]
|
|
_022362D8:
|
|
ldr r2, _02236330 ; =ov74_0223E2FC
|
|
ldr r0, _02236340 ; =0x00000FC6
|
|
ldr r1, [r2]
|
|
mov r3, #0xdc
|
|
strh r3, [r1, r0]
|
|
add r1, r0, #0
|
|
ldr r3, [r2]
|
|
sub r1, #0xc6
|
|
add r1, r3, r1
|
|
sub r0, r0, #6
|
|
str r1, [r3, r0]
|
|
ldr r1, [r2]
|
|
ldr r0, _02236344 ; =0x00001158
|
|
ldrh r0, [r1, r0]
|
|
cmp r0, #3
|
|
bne _0223630E
|
|
mov r5, #0
|
|
ldr r0, _02236348 ; =0x00001170
|
|
ldr r1, _0223634C ; =0x00000FC8
|
|
b _0223630A
|
|
_02236300:
|
|
ldr r3, [r2]
|
|
add r4, r3, r5
|
|
ldrb r3, [r4, r0]
|
|
add r5, r5, #1
|
|
strb r3, [r4, r1]
|
|
_0223630A:
|
|
cmp r5, #6
|
|
blt _02236300
|
|
_0223630E:
|
|
ldr r1, _02236330 ; =ov74_0223E2FC
|
|
ldr r0, _02236350 ; =ov74_02236354
|
|
ldr r2, [r1]
|
|
mov r1, #0x3f
|
|
lsl r1, r1, #6
|
|
add r1, r2, r1
|
|
bl WM_StartScan
|
|
cmp r0, #2
|
|
beq _0223632A
|
|
bl ov74_022361B8
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0223632A:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
nop
|
|
_02236330: .word ov74_0223E2FC
|
|
_02236334: .word 0x00001150
|
|
_02236338: .word 0x00001176
|
|
_0223633C: .word 0x00000FC4
|
|
_02236340: .word 0x00000FC6
|
|
_02236344: .word 0x00001158
|
|
_02236348: .word 0x00001170
|
|
_0223634C: .word 0x00000FC8
|
|
_02236350: .word ov74_02236354
|
|
thumb_func_end ov74_02236258
|
|
|
|
thumb_func_start ov74_02236354
|
|
ov74_02236354: ; 0x02236354
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
beq _0223637A
|
|
bl ov74_022361B8
|
|
mov r0, #9
|
|
bl ov74_02236168
|
|
ldr r0, _02236468 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _0223646C ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _02236466
|
|
mov r0, #4
|
|
blx r1
|
|
pop {r3, r4, r5, pc}
|
|
_0223637A:
|
|
ldr r0, _02236468 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _02236470 ; =0x00001150
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #2
|
|
beq _022363A6
|
|
bl ov74_0223648C
|
|
cmp r0, #0
|
|
bne _02236466
|
|
mov r0, #9
|
|
bl ov74_02236168
|
|
ldr r0, _02236468 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _0223646C ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _02236466
|
|
mov r0, #4
|
|
blx r1
|
|
pop {r3, r4, r5, pc}
|
|
_022363A6:
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #3
|
|
beq _02236466
|
|
cmp r0, #4
|
|
beq _02236448
|
|
cmp r0, #5
|
|
bne _02236448
|
|
mov r0, #0xf
|
|
lsl r0, r0, #8
|
|
add r0, r1, r0
|
|
mov r1, #0xc0
|
|
bl DC_InvalidateRange
|
|
ldrh r0, [r4, #0x36]
|
|
cmp r0, #8
|
|
blo _022363CE
|
|
ldr r1, [r4, #0x3c]
|
|
ldr r0, _02236474 ; =0x00400318
|
|
cmp r1, r0
|
|
beq _022363E0
|
|
_022363CE:
|
|
ldr r0, _02236468 ; =ov74_0223E2FC
|
|
ldr r3, [r0, #4]
|
|
cmp r3, #0
|
|
beq _02236448
|
|
ldr r0, _02236478 ; =ov74_0223D018
|
|
ldr r1, [r4, #0x3c]
|
|
ldr r2, _02236474 ; =0x00400318
|
|
blx r3
|
|
b _02236448
|
|
_022363E0:
|
|
ldr r1, _02236468 ; =ov74_0223E2FC
|
|
ldrh r3, [r4, #0x12]
|
|
ldr r2, [r1]
|
|
ldr r0, _0223647C ; =0x0000116C
|
|
str r3, [r2, r0]
|
|
ldr r1, [r1]
|
|
sub r0, #0x14
|
|
ldrh r0, [r1, r0]
|
|
cmp r0, #2
|
|
bne _0223642C
|
|
add r0, r4, #0
|
|
add r0, #0x48
|
|
bl ov74_022366E8
|
|
ldr r2, _02236468 ; =ov74_0223E2FC
|
|
ldr r1, _02236480 ; =0x00001170
|
|
mov r0, #0
|
|
_02236402:
|
|
add r3, r4, r0
|
|
ldrb r5, [r3, #0xa]
|
|
ldr r3, [r2]
|
|
add r3, r3, r0
|
|
add r0, r0, #1
|
|
strb r5, [r3, r1]
|
|
cmp r0, #6
|
|
blt _02236402
|
|
ldr r1, _02236468 ; =ov74_0223E2FC
|
|
ldr r0, _02236484 ; =0x00001176
|
|
ldr r3, [r1]
|
|
ldrh r2, [r3, r0]
|
|
sub r2, #0xf
|
|
strh r2, [r3, r0]
|
|
ldr r1, [r1]
|
|
add r0, r0, #6
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _0223642C
|
|
mov r0, #1
|
|
blx r1
|
|
_0223642C:
|
|
add r4, #0x48
|
|
add r0, r4, #0
|
|
bl ov74_02236768
|
|
cmp r0, #0
|
|
beq _02236448
|
|
ldr r0, _02236468 ; =ov74_0223E2FC
|
|
mov r2, #4
|
|
ldr r1, [r0]
|
|
ldr r0, _02236488 ; =0x00001158
|
|
strh r2, [r1, r0]
|
|
bl ov74_022365FC
|
|
pop {r3, r4, r5, pc}
|
|
_02236448:
|
|
bl ov74_02236258
|
|
cmp r0, #0
|
|
bne _02236466
|
|
mov r0, #9
|
|
bl ov74_02236168
|
|
ldr r0, _02236468 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _0223646C ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _02236466
|
|
mov r0, #4
|
|
blx r1
|
|
_02236466:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02236468: .word ov74_0223E2FC
|
|
_0223646C: .word 0x0000117C
|
|
_02236470: .word 0x00001150
|
|
_02236474: .word 0x00400318
|
|
_02236478: .word ov74_0223D018
|
|
_0223647C: .word 0x0000116C
|
|
_02236480: .word 0x00001170
|
|
_02236484: .word 0x00001176
|
|
_02236488: .word 0x00001158
|
|
thumb_func_end ov74_02236354
|
|
|
|
thumb_func_start ov74_0223648C
|
|
ov74_0223648C: ; 0x0223648C
|
|
push {r3, lr}
|
|
ldr r0, _022364A4 ; =ov74_022364A8
|
|
bl WM_EndScan
|
|
cmp r0, #2
|
|
beq _022364A0
|
|
bl ov74_022361B8
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_022364A0:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_022364A4: .word ov74_022364A8
|
|
thumb_func_end ov74_0223648C
|
|
|
|
thumb_func_start ov74_022364A8
|
|
ov74_022364A8: ; 0x022364A8
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
beq _022364B6
|
|
bl ov74_022361B8
|
|
pop {r3, pc}
|
|
_022364B6:
|
|
mov r0, #1
|
|
bl ov74_02236168
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022364A8
|
|
|
|
thumb_func_start ov74_022364C0
|
|
ov74_022364C0: ; 0x022364C0
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
beq _022364D0
|
|
mov r0, #0xa
|
|
bl ov74_02236168
|
|
pop {r3, pc}
|
|
_022364D0:
|
|
mov r0, #0
|
|
bl ov74_02236168
|
|
ldr r0, _022364E8 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _022364EC ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _022364E6
|
|
mov r0, #3
|
|
blx r1
|
|
_022364E6:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_022364E8: .word ov74_0223E2FC
|
|
_022364EC: .word 0x0000117C
|
|
thumb_func_end ov74_022364C0
|
|
|
|
thumb_func_start ov74_022364F0
|
|
ov74_022364F0: ; 0x022364F0
|
|
push {r3, lr}
|
|
ldr r0, _0223650C ; =ov74_0223E2FC
|
|
mov r2, #0
|
|
ldr r1, [r0]
|
|
ldr r0, _02236510 ; =0x00001154
|
|
str r2, [r1, r0]
|
|
bl ov74_0223653C
|
|
cmp r0, #0
|
|
beq _02236508
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
_02236508:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_0223650C: .word ov74_0223E2FC
|
|
_02236510: .word 0x00001154
|
|
thumb_func_end ov74_022364F0
|
|
|
|
thumb_func_start ov74_02236514
|
|
ov74_02236514: ; 0x02236514
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #8
|
|
bne _02236532
|
|
mov r0, #9
|
|
bl ov74_02236168
|
|
ldr r0, _02236534 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _02236538 ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _02236532
|
|
mov r0, #4
|
|
blx r1
|
|
_02236532:
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_02236534: .word ov74_0223E2FC
|
|
_02236538: .word 0x0000117C
|
|
thumb_func_end ov74_02236514
|
|
|
|
thumb_func_start ov74_0223653C
|
|
ov74_0223653C: ; 0x0223653C
|
|
push {r3, lr}
|
|
mov r0, #3
|
|
bl ov74_02236168
|
|
ldr r0, _02236568 ; =ov74_0223E2FC
|
|
ldr r1, _0223656C ; =ov74_02236570
|
|
ldr r0, [r0]
|
|
mov r2, #2
|
|
bl WM_Initialize
|
|
cmp r0, #2
|
|
beq _02236562
|
|
bl ov74_022361B8
|
|
mov r0, #0xa
|
|
bl ov74_02236168
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_02236562:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_02236568: .word ov74_0223E2FC
|
|
_0223656C: .word ov74_02236570
|
|
thumb_func_end ov74_0223653C
|
|
|
|
thumb_func_start ov74_02236570
|
|
ov74_02236570: ; 0x02236570
|
|
push {r3, lr}
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #0
|
|
beq _02236584
|
|
bl ov74_022361B8
|
|
mov r0, #0xa
|
|
bl ov74_02236168
|
|
pop {r3, pc}
|
|
_02236584:
|
|
ldr r0, _022365A8 ; =ov74_02236514
|
|
bl WM_SetIndCallback
|
|
cmp r0, #0
|
|
beq _0223659A
|
|
bl ov74_022361B8
|
|
mov r0, #0xa
|
|
bl ov74_02236168
|
|
pop {r3, pc}
|
|
_0223659A:
|
|
mov r0, #1
|
|
bl ov74_02236168
|
|
bl ov74_022361D4
|
|
pop {r3, pc}
|
|
nop
|
|
_022365A8: .word ov74_02236514
|
|
thumb_func_end ov74_02236570
|
|
|
|
thumb_func_start ov74_022365AC
|
|
ov74_022365AC: ; 0x022365AC
|
|
push {r3, lr}
|
|
ldr r0, _022365EC ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _022365F0 ; =0x00001150
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #1
|
|
beq _022365BE
|
|
bl OS_Terminate
|
|
_022365BE:
|
|
mov r0, #3
|
|
bl ov74_02236168
|
|
ldr r0, _022365F4 ; =ov74_022364C0
|
|
bl WM_End
|
|
cmp r0, #2
|
|
beq _022365E8
|
|
mov r0, #9
|
|
bl ov74_02236168
|
|
ldr r0, _022365EC ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _022365F8 ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _022365E4
|
|
mov r0, #4
|
|
blx r1
|
|
_022365E4:
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_022365E8:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
.balign 4, 0
|
|
_022365EC: .word ov74_0223E2FC
|
|
_022365F0: .word 0x00001150
|
|
_022365F4: .word ov74_022364C0
|
|
_022365F8: .word 0x0000117C
|
|
thumb_func_end ov74_022365AC
|
|
|
|
thumb_func_start ov74_022365FC
|
|
ov74_022365FC: ; 0x022365FC
|
|
push {r3, lr}
|
|
ldr r0, _02236618 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _0223661C ; =0x00001150
|
|
ldr r0, [r1, r0]
|
|
cmp r0, #1
|
|
bne _02236610
|
|
bl ov74_022365AC
|
|
pop {r3, pc}
|
|
_02236610:
|
|
bl ov74_02236620
|
|
pop {r3, pc}
|
|
nop
|
|
_02236618: .word ov74_0223E2FC
|
|
_0223661C: .word 0x00001150
|
|
thumb_func_end ov74_022365FC
|
|
|
|
thumb_func_start ov74_02236620
|
|
ov74_02236620: ; 0x02236620
|
|
push {r3, lr}
|
|
mov r0, #3
|
|
bl ov74_02236168
|
|
ldr r0, _02236640 ; =ov74_02236644
|
|
bl WM_Reset
|
|
cmp r0, #2
|
|
beq _0223663A
|
|
bl ov74_022361B8
|
|
mov r0, #0
|
|
pop {r3, pc}
|
|
_0223663A:
|
|
mov r0, #1
|
|
pop {r3, pc}
|
|
nop
|
|
_02236640: .word ov74_02236644
|
|
thumb_func_end ov74_02236620
|
|
|
|
thumb_func_start ov74_02236644
|
|
ov74_02236644: ; 0x02236644
|
|
push {r4, lr}
|
|
add r4, r0, #0
|
|
ldrh r0, [r4, #2]
|
|
cmp r0, #0
|
|
beq _0223666C
|
|
mov r0, #9
|
|
bl ov74_02236168
|
|
ldrh r0, [r4, #2]
|
|
bl ov74_022361B8
|
|
ldr r0, _02236678 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _0223667C ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _02236676
|
|
mov r0, #4
|
|
blx r1
|
|
pop {r4, pc}
|
|
_0223666C:
|
|
mov r0, #1
|
|
bl ov74_02236168
|
|
bl ov74_022365AC
|
|
_02236676:
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02236678: .word ov74_0223E2FC
|
|
_0223667C: .word 0x0000117C
|
|
thumb_func_end ov74_02236644
|
|
|
|
thumb_func_start ov74_02236680
|
|
ov74_02236680: ; 0x02236680
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
add r7, r0, #0
|
|
add r2, #0x1f
|
|
mov r0, #0x1f
|
|
bic r2, r0
|
|
ldr r4, _022366DC ; =ov74_0223E2FC
|
|
ldr r3, _022366E0 ; =0x00001150
|
|
str r2, [r4]
|
|
mov r0, #0
|
|
str r0, [r2, r3]
|
|
add r2, r3, #0
|
|
ldr r5, [r4]
|
|
mov r6, #1
|
|
add r2, #8
|
|
strh r6, [r5, r2]
|
|
add r2, r3, #0
|
|
ldr r5, [r4]
|
|
add r2, #0x28
|
|
str r7, [r5, r2]
|
|
add r2, r3, #0
|
|
ldr r5, [r4]
|
|
add r2, #0xc
|
|
strh r0, [r5, r2]
|
|
add r2, r3, #0
|
|
ldr r5, [r4]
|
|
add r2, #0xe
|
|
strh r0, [r5, r2]
|
|
add r2, r3, #0
|
|
ldr r5, [r4]
|
|
add r2, #0x2c
|
|
str r1, [r5, r2]
|
|
add r2, r3, #0
|
|
ldr r5, [r4]
|
|
mov r1, #0x10
|
|
add r2, #0x26
|
|
strh r1, [r5, r2]
|
|
ldr r5, [r4]
|
|
ldr r2, _022366E4 ; =0x00001048
|
|
sub r1, #0x11
|
|
str r0, [r5, r2]
|
|
ldr r0, [r4]
|
|
add r3, #0x1c
|
|
str r1, [r0, r3]
|
|
bl ov74_022364F0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_022366DC: .word ov74_0223E2FC
|
|
_022366E0: .word 0x00001150
|
|
_022366E4: .word 0x00001048
|
|
thumb_func_end ov74_02236680
|
|
|
|
thumb_func_start ov74_022366E8
|
|
ov74_022366E8: ; 0x022366E8
|
|
push {r4, r5, r6, lr}
|
|
ldr r3, _02236758 ; =ov74_0223E2FC
|
|
ldr r1, _0223675C ; =0x00001048
|
|
ldr r2, [r3]
|
|
mov r4, #0
|
|
str r4, [r2, r1]
|
|
ldr r1, [r3]
|
|
ldr r2, _02236760 ; =0x00001158
|
|
mov r4, #3
|
|
strh r4, [r1, r2]
|
|
ldrh r5, [r0]
|
|
ldr r4, [r3]
|
|
add r1, r2, #2
|
|
strh r5, [r4, r1]
|
|
ldr r4, [r0, #4]
|
|
add r0, r2, #0
|
|
ldr r1, [r3]
|
|
add r0, #8
|
|
str r4, [r1, r0]
|
|
ldr r4, [r3]
|
|
add r2, #8
|
|
ldr r0, [r4, r2]
|
|
mov r1, #0x68
|
|
sub r0, r0, #1
|
|
bl _u32_div_f
|
|
ldr r2, _02236764 ; =0x0000115C
|
|
add r0, r0, #1
|
|
strh r0, [r4, r2]
|
|
ldr r4, _02236758 ; =ov74_0223E2FC
|
|
mov r0, #0
|
|
ldr r3, [r4]
|
|
add r1, r2, #2
|
|
strh r0, [r3, r1]
|
|
add r1, r2, #0
|
|
ldr r3, [r4]
|
|
add r1, #8
|
|
str r0, [r3, r1]
|
|
ldr r1, [r4]
|
|
ldrh r2, [r1, r2]
|
|
cmp r2, #0
|
|
ble _02236754
|
|
mov r2, #0x46
|
|
lsl r2, r2, #6
|
|
add r3, r2, #0
|
|
add r6, r0, #0
|
|
sub r3, #0x24
|
|
_02236746:
|
|
add r1, r1, r0
|
|
strb r6, [r1, r2]
|
|
ldr r1, [r4]
|
|
add r0, r0, #1
|
|
ldrh r5, [r1, r3]
|
|
cmp r0, r5
|
|
blt _02236746
|
|
_02236754:
|
|
pop {r4, r5, r6, pc}
|
|
nop
|
|
_02236758: .word ov74_0223E2FC
|
|
_0223675C: .word 0x00001048
|
|
_02236760: .word 0x00001158
|
|
_02236764: .word 0x0000115C
|
|
thumb_func_end ov74_022366E8
|
|
|
|
thumb_func_start ov74_02236768
|
|
ov74_02236768: ; 0x02236768
|
|
push {r3, r4, r5, lr}
|
|
add r4, r0, #0
|
|
ldr r0, _02236884 ; =ov74_0223E2FC
|
|
ldrh r1, [r4]
|
|
ldr r3, [r0]
|
|
ldr r0, _02236888 ; =0x0000115A
|
|
ldrh r2, [r3, r0]
|
|
cmp r2, r1
|
|
bne _02236784
|
|
add r0, r0, #6
|
|
ldr r1, [r3, r0]
|
|
ldr r0, [r4, #4]
|
|
cmp r1, r0
|
|
beq _022367B0
|
|
_02236784:
|
|
ldr r0, _02236884 ; =ov74_0223E2FC
|
|
ldr r3, [r0]
|
|
ldr r0, _0223688C ; =0x00001164
|
|
ldr r2, [r3, r0]
|
|
add r1, r2, #1
|
|
str r1, [r3, r0]
|
|
cmp r2, #0x10
|
|
blo _022367AC
|
|
add r0, r4, #0
|
|
bl ov74_022366E8
|
|
ldr r0, _02236884 ; =ov74_0223E2FC
|
|
ldr r1, [r0]
|
|
ldr r0, _02236890 ; =0x0000117C
|
|
ldr r1, [r1, r0]
|
|
cmp r1, #0
|
|
beq _022367B0
|
|
mov r0, #5
|
|
blx r1
|
|
b _022367B0
|
|
_022367AC:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
_022367B0:
|
|
ldrh r3, [r4, #2]
|
|
ldr r0, _02236894 ; =0x0000FFFF
|
|
cmp r3, r0
|
|
bne _022367D8
|
|
ldr r1, _02236884 ; =ov74_0223E2FC
|
|
add r4, #8
|
|
ldr r2, [r1]
|
|
mov r1, #0xfe
|
|
lsl r1, r1, #4
|
|
add r1, r2, r1
|
|
add r0, r4, #0
|
|
mov r2, #0x68
|
|
bl MIi_CpuCopy32
|
|
ldr r0, _02236884 ; =ov74_0223E2FC
|
|
mov r2, #1
|
|
ldr r1, [r0]
|
|
ldr r0, _02236898 ; =0x00001048
|
|
str r2, [r1, r0]
|
|
b _02236880
|
|
_022367D8:
|
|
ldr r1, _02236884 ; =ov74_0223E2FC
|
|
ldr r0, _0223689C ; =0x00001168
|
|
ldr r2, [r1]
|
|
str r3, [r2, r0]
|
|
ldr r3, [r1]
|
|
add r1, r0, #0
|
|
sub r1, #0xc
|
|
ldrh r2, [r4, #2]
|
|
ldrh r1, [r3, r1]
|
|
cmp r2, r1
|
|
blo _02236800
|
|
add r0, #0x14
|
|
ldr r1, [r3, r0]
|
|
cmp r1, #0
|
|
beq _022367FA
|
|
mov r0, #4
|
|
blx r1
|
|
_022367FA:
|
|
mov r0, #9
|
|
bl ov74_02236168
|
|
_02236800:
|
|
ldr r0, _02236884 ; =ov74_0223E2FC
|
|
mov r2, #0x46
|
|
ldr r1, [r0]
|
|
lsl r2, r2, #6
|
|
ldrh r3, [r4, #2]
|
|
add r5, r1, r2
|
|
ldrb r1, [r5, r3]
|
|
cmp r1, #0
|
|
bne _02236880
|
|
mov r1, #1
|
|
strb r1, [r5, r3]
|
|
ldr r5, [r0]
|
|
add r0, r2, #0
|
|
sub r0, #0x24
|
|
ldrh r0, [r5, r0]
|
|
ldrh r1, [r4, #2]
|
|
sub r0, r0, #1
|
|
cmp r1, r0
|
|
bne _02236844
|
|
add r3, r1, #0
|
|
add r1, r2, #0
|
|
sub r1, #8
|
|
sub r2, #0x20
|
|
mov r0, #0x68
|
|
ldr r1, [r5, r1]
|
|
mul r3, r0
|
|
ldr r2, [r5, r2]
|
|
add r4, #8
|
|
add r0, r4, #0
|
|
add r1, r1, r3
|
|
sub r2, r2, r3
|
|
bl MIi_CpuCopy32
|
|
b _02236858
|
|
_02236844:
|
|
add r4, #8
|
|
sub r2, #8
|
|
add r0, r4, #0
|
|
ldr r4, [r5, r2]
|
|
mov r2, #0x68
|
|
add r3, r1, #0
|
|
mul r3, r2
|
|
add r1, r4, r3
|
|
bl MIi_CpuCopy32
|
|
_02236858:
|
|
ldr r1, _02236884 ; =ov74_0223E2FC
|
|
ldr r0, _022368A0 ; =0x0000115E
|
|
ldr r3, [r1]
|
|
ldrh r2, [r3, r0]
|
|
add r2, r2, #1
|
|
strh r2, [r3, r0]
|
|
ldr r3, [r1]
|
|
sub r1, r0, #2
|
|
ldrh r2, [r3, r0]
|
|
ldrh r1, [r3, r1]
|
|
cmp r2, r1
|
|
bne _02236880
|
|
add r0, #0x1e
|
|
ldr r1, [r3, r0]
|
|
cmp r1, #0
|
|
beq _0223687C
|
|
mov r0, #2
|
|
blx r1
|
|
_0223687C:
|
|
mov r0, #1
|
|
pop {r3, r4, r5, pc}
|
|
_02236880:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02236884: .word ov74_0223E2FC
|
|
_02236888: .word 0x0000115A
|
|
_0223688C: .word 0x00001164
|
|
_02236890: .word 0x0000117C
|
|
_02236894: .word 0x0000FFFF
|
|
_02236898: .word 0x00001048
|
|
_0223689C: .word 0x00001168
|
|
_022368A0: .word 0x0000115E
|
|
thumb_func_end ov74_02236768
|
|
|
|
thumb_func_start ov74_022368A4
|
|
ov74_022368A4: ; 0x022368A4
|
|
push {r3, r4}
|
|
mov r2, #0
|
|
add r3, r2, #0
|
|
lsr r1, r1, #1
|
|
beq _022368CC
|
|
_022368AE:
|
|
lsl r4, r3, #1
|
|
ldrh r4, [r0, r4]
|
|
add r3, r3, #1
|
|
lsl r3, r3, #0x10
|
|
add r2, r2, r4
|
|
lsl r2, r2, #0x10
|
|
lsr r2, r2, #0x10
|
|
lsl r4, r2, #1
|
|
asr r2, r2, #0xf
|
|
orr r2, r4
|
|
lsl r2, r2, #0x10
|
|
lsr r3, r3, #0x10
|
|
lsr r2, r2, #0x10
|
|
cmp r3, r1
|
|
blo _022368AE
|
|
_022368CC:
|
|
add r0, r2, #0
|
|
pop {r3, r4}
|
|
bx lr
|
|
.balign 4, 0
|
|
thumb_func_end ov74_022368A4
|
|
|
|
thumb_func_start ov74_022368D4
|
|
ov74_022368D4: ; 0x022368D4
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
ldr r0, _02236968 ; =ov74_0223E2FC
|
|
add r1, sp, #0
|
|
ldr r4, [r0]
|
|
ldr r0, _0223696C ; =0x00001170
|
|
add r3, r4, r0
|
|
ldrh r2, [r3]
|
|
sub r0, #0x16
|
|
strh r2, [r1]
|
|
ldrh r2, [r3, #2]
|
|
strh r2, [r1, #6]
|
|
ldrh r2, [r3, #4]
|
|
add r3, sp, #0
|
|
strh r2, [r1, #4]
|
|
ldrh r0, [r4, r0]
|
|
ldr r2, _02236970 ; =0x00003FA2
|
|
strh r0, [r1, #2]
|
|
mov r1, #0
|
|
_022368FA:
|
|
ldrh r0, [r3]
|
|
add r1, r1, #1
|
|
eor r0, r2
|
|
strh r0, [r3]
|
|
ldrh r2, [r3]
|
|
add r3, r3, #2
|
|
cmp r1, #4
|
|
blt _022368FA
|
|
ldr r0, _02236968 ; =ov74_0223E2FC
|
|
mov r2, #8
|
|
ldr r1, [r0]
|
|
ldr r0, _02236974 ; =0x0000104C
|
|
add r0, r1, r0
|
|
add r1, sp, #0
|
|
bl CRYPTO_RC4Init
|
|
ldr r0, _02236968 ; =ov74_0223E2FC
|
|
ldr r2, _02236978 ; =0x00001178
|
|
ldr r3, [r0]
|
|
ldr r0, _02236974 ; =0x0000104C
|
|
ldr r1, [r3, r2]
|
|
sub r2, #0x18
|
|
ldr r2, [r3, r2]
|
|
add r0, r3, r0
|
|
add r3, r1, #0
|
|
bl CRYPTO_RC4Encrypt
|
|
ldr r1, _02236968 ; =ov74_0223E2FC
|
|
ldr r2, _02236974 ; =0x0000104C
|
|
ldr r1, [r1]
|
|
mov r0, #0
|
|
add r1, r1, r2
|
|
lsr r2, r2, #4
|
|
bl MIi_CpuClear32
|
|
ldr r0, _02236968 ; =ov74_0223E2FC
|
|
ldr r1, _02236978 ; =0x00001178
|
|
ldr r2, [r0]
|
|
ldr r0, [r2, r1]
|
|
sub r1, #0x18
|
|
ldr r1, [r2, r1]
|
|
bl ov74_022368A4
|
|
ldr r1, _02236968 ; =ov74_0223E2FC
|
|
ldr r2, [r1]
|
|
ldr r1, _0223697C ; =0x0000115A
|
|
ldrh r1, [r2, r1]
|
|
cmp r1, r0
|
|
bne _02236962
|
|
add sp, #8
|
|
mov r0, #1
|
|
pop {r4, pc}
|
|
_02236962:
|
|
mov r0, #0
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02236968: .word ov74_0223E2FC
|
|
_0223696C: .word 0x00001170
|
|
_02236970: .word 0x00003FA2
|
|
_02236974: .word 0x0000104C
|
|
_02236978: .word 0x00001178
|
|
_0223697C: .word 0x0000115A
|
|
thumb_func_end ov74_022368D4
|
|
|
|
thumb_func_start ov74_02236980
|
|
ov74_02236980: ; 0x02236980
|
|
ldr r0, _02236984 ; =0x000016A0
|
|
bx lr
|
|
.balign 4, 0
|
|
_02236984: .word 0x000016A0
|
|
thumb_func_end ov74_02236980
|
|
|
|
thumb_func_start ov74_02236988
|
|
ov74_02236988: ; 0x02236988
|
|
ldr r0, _022369A0 ; =ov74_0223E2FC
|
|
ldr r2, [r0]
|
|
ldr r0, _022369A4 ; =0x00001048
|
|
ldr r1, [r2, r0]
|
|
cmp r1, #0
|
|
beq _0223699A
|
|
sub r0, #0x68
|
|
add r0, r2, r0
|
|
bx lr
|
|
_0223699A:
|
|
mov r0, #0
|
|
bx lr
|
|
nop
|
|
_022369A0: .word ov74_0223E2FC
|
|
_022369A4: .word 0x00001048
|
|
thumb_func_end ov74_02236988
|
|
|
|
thumb_func_start ov74_022369A8
|
|
ov74_022369A8: ; 0x022369A8
|
|
push {r3, lr}
|
|
add r1, #0x24
|
|
mov r0, #0x1f
|
|
bic r1, r0
|
|
add r1, #0x20
|
|
mov r0, #0x54
|
|
bl AllocFromHeap
|
|
add r2, r0, #0
|
|
add r2, #0x20
|
|
mov r1, #0x1f
|
|
bic r2, r1
|
|
sub r1, r2, #4
|
|
str r0, [r1]
|
|
add r0, r2, #0
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_022369A8
|
|
|
|
thumb_func_start ov74_022369C8
|
|
ov74_022369C8: ; 0x022369C8
|
|
push {r3, lr}
|
|
cmp r1, #0
|
|
beq _022369D6
|
|
sub r0, r1, #4
|
|
ldr r0, [r0]
|
|
bl FreeToHeap
|
|
_022369D6:
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_022369C8
|
|
|
|
thumb_func_start ov74_022369D8
|
|
ov74_022369D8: ; 0x022369D8
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
add r4, r0, #0
|
|
add r0, sp, #0
|
|
add r1, sp, #4
|
|
bl ov00_021EC11C
|
|
ldr r0, [sp]
|
|
ldr r1, [sp, #4]
|
|
neg r0, r0
|
|
bl ov00_021E6A70
|
|
ldr r2, _02236A20 ; =0x0000266C
|
|
str r0, [r4, r2]
|
|
ldr r0, [sp]
|
|
neg r1, r0
|
|
add r0, r2, #4
|
|
str r1, [r4, r0]
|
|
add r0, r2, #0
|
|
ldr r1, [sp, #4]
|
|
add r0, #8
|
|
str r1, [r4, r0]
|
|
sub r0, r2, #4
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
ldr r0, _02236A24 ; =ov74_0223E304
|
|
add r2, #0x10
|
|
str r1, [r0, #0x10]
|
|
mov r1, #0
|
|
add r0, r4, #0
|
|
str r1, [r4, r2]
|
|
bl ov74_02229E60
|
|
ldr r0, _02236A28 ; =0x0000100F
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.balign 4, 0
|
|
_02236A20: .word 0x0000266C
|
|
_02236A24: .word ov74_0223E304
|
|
_02236A28: .word 0x0000100F
|
|
thumb_func_end ov74_022369D8
|
|
|
|
thumb_func_start ov74_02236A2C
|
|
ov74_02236A2C: ; 0x02236A2C
|
|
push {lr}
|
|
sub sp, #0x3c
|
|
bl ov00_021EC724
|
|
cmp r0, #4
|
|
beq _02236A40
|
|
cmp r0, #7
|
|
beq _02236A4C
|
|
cmp r0, #8
|
|
b _02236A4C
|
|
_02236A40:
|
|
add r0, sp, #0
|
|
bl ov00_021EC9E0
|
|
add sp, #0x3c
|
|
mov r0, #1
|
|
pop {pc}
|
|
_02236A4C:
|
|
mov r0, #0
|
|
add sp, #0x3c
|
|
pop {pc}
|
|
.balign 4, 0
|
|
thumb_func_end ov74_02236A2C
|
|
|
|
thumb_func_start ov74_02236A54
|
|
ov74_02236A54: ; 0x02236A54
|
|
push {r3, r4}
|
|
ldr r3, _02236A6C ; =ov74_0223E304
|
|
mov r4, #0
|
|
str r4, [r3]
|
|
str r4, [r3, #0xc]
|
|
ldr r3, _02236A70 ; =0x00001650
|
|
str r2, [r0, r3]
|
|
ldr r0, _02236A74 ; =0x00001012
|
|
str r0, [r1]
|
|
pop {r3, r4}
|
|
bx lr
|
|
nop
|
|
_02236A6C: .word ov74_0223E304
|
|
_02236A70: .word 0x00001650
|
|
_02236A74: .word 0x00001012
|
|
thumb_func_end ov74_02236A54
|
|
|
|
thumb_func_start ov74_02236A78
|
|
ov74_02236A78: ; 0x02236A78
|
|
push {r3, r4, r5, lr}
|
|
add r4, r2, #0
|
|
ldr r2, _02236A9C ; =ov74_0223E304
|
|
mov r5, #0
|
|
str r5, [r2, #4]
|
|
str r1, [r2, #8]
|
|
ldr r1, _02236AA0 ; =0x00001650
|
|
str r3, [r0, r1]
|
|
ldr r0, _02236AA4 ; =0x00001013
|
|
str r0, [r4]
|
|
ldr r0, _02236AA8 ; =ov74_02236ABC
|
|
bl ov00_021ED308
|
|
cmp r0, #0
|
|
bne _02236A9A
|
|
ldr r0, [sp, #0x10]
|
|
str r0, [r4]
|
|
_02236A9A:
|
|
pop {r3, r4, r5, pc}
|
|
.balign 4, 0
|
|
_02236A9C: .word ov74_0223E304
|
|
_02236AA0: .word 0x00001650
|
|
_02236AA4: .word 0x00001013
|
|
_02236AA8: .word ov74_02236ABC
|
|
thumb_func_end ov74_02236A78
|
|
|
|
thumb_func_start ov74_02236AAC
|
|
ov74_02236AAC: ; 0x02236AAC
|
|
ldr r0, _02236AB8 ; =ov74_0223E304
|
|
mov r2, #1
|
|
str r2, [r0]
|
|
str r1, [r0, #0xc]
|
|
bx lr
|
|
nop
|
|
_02236AB8: .word ov74_0223E304
|
|
thumb_func_end ov74_02236AAC
|
|
|
|
thumb_func_start ov74_02236ABC
|
|
ov74_02236ABC: ; 0x02236ABC
|
|
ldr r0, _02236AC4 ; =ov74_0223E304
|
|
mov r1, #1
|
|
str r1, [r0, #4]
|
|
bx lr
|
|
.balign 4, 0
|
|
_02236AC4: .word ov74_0223E304
|
|
thumb_func_end ov74_02236ABC
|
|
|
|
thumb_func_start ov74_02236AC8
|
|
ov74_02236AC8: ; 0x02236AC8
|
|
push {r3, lr}
|
|
bl sub_0203A914
|
|
bl sub_020394F4
|
|
bl UnloadOVY38
|
|
bl UnloadDwcOverlay
|
|
bl sub_02034DE0
|
|
pop {r3, pc}
|
|
thumb_func_end ov74_02236AC8
|
|
|
|
thumb_func_start ov74_02236AE0
|
|
ov74_02236AE0: ; 0x02236AE0
|
|
push {r3, r4, r5, lr}
|
|
add r5, r1, #0
|
|
bl OverlayManager_GetData
|
|
add r4, r0, #0
|
|
ldr r0, _02236DE8 ; =0x0000267C
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _02236B00
|
|
blx r0
|
|
cmp r0, #1
|
|
bne _02236B00
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
_02236B00:
|
|
mov r3, #1
|
|
ldr r0, [r5]
|
|
lsl r3, r3, #0xc
|
|
sub r0, r0, r3
|
|
cmp r0, #0x13
|
|
bls _02236B0E
|
|
b _02236F0A
|
|
_02236B0E:
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02236B1A: ; jump table
|
|
.short _02236B42 - _02236B1A - 2 ; case 0
|
|
.short _02236B5A - _02236B1A - 2 ; case 1
|
|
.short _02236B76 - _02236B1A - 2 ; case 2
|
|
.short _02236B9E - _02236B1A - 2 ; case 3
|
|
.short _02236BE8 - _02236B1A - 2 ; case 4
|
|
.short _02236C00 - _02236B1A - 2 ; case 5
|
|
.short _02236C46 - _02236B1A - 2 ; case 6
|
|
.short _02236C6A - _02236B1A - 2 ; case 7
|
|
.short _02236CA0 - _02236B1A - 2 ; case 8
|
|
.short _02236CC2 - _02236B1A - 2 ; case 9
|
|
.short _02236CFE - _02236B1A - 2 ; case 10
|
|
.short _02236D24 - _02236B1A - 2 ; case 11
|
|
.short _02236DAA - _02236B1A - 2 ; case 12
|
|
.short _02236DC8 - _02236B1A - 2 ; case 13
|
|
.short _02236F0A - _02236B1A - 2 ; case 14
|
|
.short _02236DE2 - _02236B1A - 2 ; case 15
|
|
.short _02236E94 - _02236B1A - 2 ; case 16
|
|
.short _02236E8A - _02236B1A - 2 ; case 17
|
|
.short _02236EB0 - _02236B1A - 2 ; case 18
|
|
.short _02236EE6 - _02236B1A - 2 ; case 19
|
|
_02236B42:
|
|
bl sub_02034D8C
|
|
bl LoadDwcOverlay
|
|
bl LoadOVY38
|
|
mov r0, #3
|
|
bl sub_02039FD8
|
|
ldr r0, _02236DEC ; =0x00001001
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236B5A:
|
|
bl sub_02034DB8
|
|
cmp r0, #0
|
|
beq _02236C3E
|
|
ldr r0, _02236DF0 ; =ov74_022369A8
|
|
ldr r1, _02236DF4 ; =ov74_022369C8
|
|
bl ov00_021EC294
|
|
ldr r0, [r4, #4]
|
|
bl sub_020394A0
|
|
ldr r0, _02236DF8 ; =0x00001002
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236B76:
|
|
ldr r0, _02236DFC ; =0x000015E8
|
|
mov r1, #2
|
|
add r0, r4, r0
|
|
mov r2, #1
|
|
mov r3, #0x14
|
|
bl ov00_021EC3F0
|
|
mov r0, #2
|
|
bl ov00_021EC454
|
|
bl ov00_021EC4A4
|
|
bl sub_0203A880
|
|
ldr r0, _02236E00 ; =0x00001003
|
|
mov r1, #0
|
|
str r0, [r5]
|
|
ldr r0, _02236E04 ; =0x00002678
|
|
str r1, [r4, r0]
|
|
b _02236F0A
|
|
_02236B9E:
|
|
bl ov00_021EC60C
|
|
bl ov00_021EC5B4
|
|
cmp r0, #0
|
|
beq _02236BD6
|
|
add r0, r4, #0
|
|
bl ov74_02236A2C
|
|
cmp r0, #1
|
|
bne _02236BCE
|
|
ldr r0, _02236E04 ; =0x00002678
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _02236BC8
|
|
ldr r0, _02236E08 ; =ov74_0223E304
|
|
mov r1, #3
|
|
str r1, [r0, #8]
|
|
ldr r0, _02236E0C ; =0x0000100D
|
|
str r0, [r5]
|
|
b _02236BD6
|
|
_02236BC8:
|
|
ldr r0, _02236E10 ; =0x00001004
|
|
str r0, [r5]
|
|
b _02236BD6
|
|
_02236BCE:
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
_02236BD6:
|
|
ldr r0, _02236E14 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02236C3E
|
|
ldr r0, _02236E04 ; =0x00002678
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
b _02236F0A
|
|
_02236BE8:
|
|
bl ov00_021ECD04
|
|
cmp r0, #0
|
|
bne _02236BFA
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236BFA:
|
|
ldr r0, _02236E18 ; =0x00001005
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236C00:
|
|
bl ov00_021ECDC8
|
|
cmp r0, #3
|
|
bne _02236C14
|
|
ldr r0, _02236E1C ; =0x00001006
|
|
ldr r1, _02236E20 ; =ov00_021ECB40
|
|
str r0, [r5]
|
|
ldr r0, _02236DE8 ; =0x0000267C
|
|
str r1, [r4, r0]
|
|
b _02236C34
|
|
_02236C14:
|
|
cmp r0, #4
|
|
bne _02236C26
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
bl ov00_021EC8D8
|
|
b _02236C34
|
|
_02236C26:
|
|
cmp r0, #5
|
|
bne _02236C34
|
|
ldr r0, _02236E08 ; =ov74_0223E304
|
|
mov r1, #3
|
|
str r1, [r0, #8]
|
|
ldr r0, _02236E0C ; =0x0000100D
|
|
str r0, [r5]
|
|
_02236C34:
|
|
ldr r0, _02236E14 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
bne _02236C40
|
|
_02236C3E:
|
|
b _02236F0A
|
|
_02236C40:
|
|
bl ov00_021ECEC0
|
|
b _02236F0A
|
|
_02236C46:
|
|
ldr r0, _02236E24 ; =ov74_02236AAC
|
|
ldr r1, _02236E28 ; =ov74_0223D038
|
|
ldr r2, _02236E2C ; =ov74_0223D040
|
|
bl ov00_021ED1F0
|
|
cmp r0, #0
|
|
bne _02236C5E
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236C5E:
|
|
ldr r2, _02236E30 ; =0x00001007
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov74_02236A54
|
|
b _02236F0A
|
|
_02236C6A:
|
|
ldr r0, _02236E04 ; =0x00002678
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
bne _02236C82
|
|
add r3, #0xc
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r2, r5, #0
|
|
str r3, [sp]
|
|
bl ov74_02236A78
|
|
b _02236F0A
|
|
_02236C82:
|
|
ldr r0, _02236E34 ; =ov74_0223D054
|
|
add r1, r0, #0
|
|
add r2, r0, #0
|
|
bl ov00_021ED354
|
|
cmp r0, #0
|
|
bne _02236C9A
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236C9A:
|
|
ldr r0, _02236E38 ; =0x00001008
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236CA0:
|
|
ldr r0, _02236E3C ; =0x00001654
|
|
add r0, r4, r0
|
|
bl ov00_021ED388
|
|
cmp r0, #0
|
|
bne _02236CB6
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236CB6:
|
|
ldr r2, _02236E40 ; =0x00001009
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov74_02236A54
|
|
b _02236F0A
|
|
_02236CC2:
|
|
ldr r0, _02236E3C ; =0x00001654
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #1
|
|
beq _02236CDA
|
|
add r3, #0xd
|
|
add r0, r4, #0
|
|
mov r1, #2
|
|
add r2, r5, #0
|
|
str r3, [sp]
|
|
bl ov74_02236A78
|
|
b _02236F0A
|
|
_02236CDA:
|
|
ldr r0, _02236E44 ; =ov74_0223E318
|
|
mov r1, #0
|
|
mov r2, #0xa
|
|
bl ov00_021ED3AC
|
|
cmp r0, #0
|
|
bne _02236CF2
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236CF2:
|
|
ldr r2, _02236E48 ; =0x0000100A
|
|
add r0, r4, #0
|
|
add r1, r5, #0
|
|
bl ov74_02236A54
|
|
b _02236F0A
|
|
_02236CFE:
|
|
ldr r1, _02236E4C ; =0x00001658
|
|
ldr r0, _02236E44 ; =ov74_0223E318
|
|
add r1, r4, r1
|
|
add r2, r3, #0
|
|
bl ov00_021ED3F4
|
|
cmp r0, #0
|
|
bne _02236D18
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236D18:
|
|
ldr r0, _02236E50 ; =0x0000100B
|
|
mov r1, #0
|
|
str r0, [r5]
|
|
ldr r0, _02236E54 ; =0x00002664
|
|
str r1, [r4, r0]
|
|
b _02236F0A
|
|
_02236D24:
|
|
ldr r0, _02236E08 ; =ov74_0223E304
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
bne _02236D72
|
|
ldr r0, _02236E14 ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02236D46
|
|
add r3, #0xc
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r2, r5, #0
|
|
str r3, [sp]
|
|
bl ov74_02236A78
|
|
b _02236F0A
|
|
_02236D46:
|
|
ldr r1, _02236E58 ; =0x0000265C
|
|
add r0, r4, r1
|
|
add r1, r1, #4
|
|
add r1, r4, r1
|
|
bl ov00_021ED444
|
|
cmp r0, #1
|
|
bne _02236DD0
|
|
ldr r1, _02236E58 ; =0x0000265C
|
|
mov r0, #0x64
|
|
ldr r2, [r4, r1]
|
|
add r1, r1, #4
|
|
ldr r1, [r4, r1]
|
|
mul r0, r2
|
|
bl _u32_div_f
|
|
ldr r1, _02236E54 ; =0x00002664
|
|
ldr r2, [r4, r1]
|
|
cmp r2, r0
|
|
beq _02236DD0
|
|
str r0, [r4, r1]
|
|
b _02236F0A
|
|
_02236D72:
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
beq _02236D82
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236D82:
|
|
ldr r0, _02236E04 ; =0x00002678
|
|
ldr r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _02236D9A
|
|
add r3, #0xd
|
|
add r0, r4, #0
|
|
mov r1, #1
|
|
add r2, r5, #0
|
|
str r3, [sp]
|
|
bl ov74_02236A78
|
|
b _02236F0A
|
|
_02236D9A:
|
|
add r3, #0xd
|
|
add r0, r4, #0
|
|
mov r1, #3
|
|
add r2, r5, #0
|
|
str r3, [sp]
|
|
bl ov74_02236A78
|
|
b _02236F0A
|
|
_02236DAA:
|
|
bl ov00_021ED428
|
|
cmp r0, #0
|
|
bne _02236DB8
|
|
ldr r0, _02236E0C ; =0x0000100D
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236DB8:
|
|
ldr r0, _02236DE8 ; =0x0000267C
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
bl ov74_02236AC8
|
|
ldr r0, _02236E08 ; =ov74_0223E304
|
|
ldr r0, [r0, #8]
|
|
pop {r3, r4, r5, pc}
|
|
_02236DC8:
|
|
bl ov00_021EC938
|
|
cmp r0, #1
|
|
beq _02236DD2
|
|
_02236DD0:
|
|
b _02236F0A
|
|
_02236DD2:
|
|
ldr r0, _02236DE8 ; =0x0000267C
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
bl ov74_02236AC8
|
|
ldr r0, _02236E08 ; =ov74_0223E304
|
|
ldr r0, [r0, #8]
|
|
pop {r3, r4, r5, pc}
|
|
_02236DE2:
|
|
ldr r0, _02236E08 ; =ov74_0223E304
|
|
b _02236E5C
|
|
nop
|
|
_02236DE8: .word 0x0000267C
|
|
_02236DEC: .word 0x00001001
|
|
_02236DF0: .word ov74_022369A8
|
|
_02236DF4: .word ov74_022369C8
|
|
_02236DF8: .word 0x00001002
|
|
_02236DFC: .word 0x000015E8
|
|
_02236E00: .word 0x00001003
|
|
_02236E04: .word 0x00002678
|
|
_02236E08: .word ov74_0223E304
|
|
_02236E0C: .word 0x0000100D
|
|
_02236E10: .word 0x00001004
|
|
_02236E14: .word gSystem
|
|
_02236E18: .word 0x00001005
|
|
_02236E1C: .word 0x00001006
|
|
_02236E20: .word ov00_021ECB40
|
|
_02236E24: .word ov74_02236AAC
|
|
_02236E28: .word ov74_0223D038
|
|
_02236E2C: .word ov74_0223D040
|
|
_02236E30: .word 0x00001007
|
|
_02236E34: .word ov74_0223D054
|
|
_02236E38: .word 0x00001008
|
|
_02236E3C: .word 0x00001654
|
|
_02236E40: .word 0x00001009
|
|
_02236E44: .word ov74_0223E318
|
|
_02236E48: .word 0x0000100A
|
|
_02236E4C: .word 0x00001658
|
|
_02236E50: .word 0x0000100B
|
|
_02236E54: .word 0x00002664
|
|
_02236E58: .word 0x0000265C
|
|
_02236E5C:
|
|
ldr r0, [r0, #0x10]
|
|
cmp r0, #1
|
|
bne _02236F0A
|
|
add r0, r4, #0
|
|
bl ov74_0222ACD8
|
|
ldr r0, _02236F10 ; =0x00002674
|
|
ldr r0, [r4, r0]
|
|
sub r0, r0, #5
|
|
cmp r0, #1
|
|
bhi _02236E84
|
|
ldr r3, _02236F14 ; =0x00001010
|
|
add r0, r4, #0
|
|
str r3, [sp]
|
|
mov r1, #3
|
|
add r2, r5, #0
|
|
add r3, r3, #1
|
|
bl ov74_02236A78
|
|
b _02236F0A
|
|
_02236E84:
|
|
ldr r0, _02236F18 ; =0x00001011
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236E8A:
|
|
bl ov00_021EC8D8
|
|
ldr r0, _02236F14 ; =0x00001010
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236E94:
|
|
ldr r0, _02236F1C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #1
|
|
tst r0, r1
|
|
beq _02236F0A
|
|
ldr r0, _02236F20 ; =0x0000267C
|
|
mov r1, #0
|
|
str r1, [r4, r0]
|
|
bl ov00_021EC210
|
|
bl ov74_02236AC8
|
|
mov r0, #4
|
|
pop {r3, r4, r5, pc}
|
|
_02236EB0:
|
|
ldr r0, _02236F24 ; =ov74_0223E304
|
|
ldr r1, [r0]
|
|
cmp r1, #1
|
|
bne _02236ED4
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
ldr r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
beq _02236ECC
|
|
add r0, r4, #0
|
|
bl ov74_022369D8
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236ECC:
|
|
ldr r0, _02236F28 ; =0x00001650
|
|
ldr r0, [r4, r0]
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236ED4:
|
|
ldr r0, _02236F1C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02236F0A
|
|
ldr r0, _02236F2C ; =0x00002678
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
b _02236F0A
|
|
_02236EE6:
|
|
ldr r0, _02236F24 ; =ov74_0223E304
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #1
|
|
bne _02236EFA
|
|
mov r1, #0
|
|
str r1, [r0, #4]
|
|
ldr r0, _02236F28 ; =0x00001650
|
|
ldr r0, [r4, r0]
|
|
str r0, [r5]
|
|
b _02236F0A
|
|
_02236EFA:
|
|
ldr r0, _02236F1C ; =gSystem
|
|
ldr r1, [r0, #0x48]
|
|
mov r0, #2
|
|
tst r0, r1
|
|
beq _02236F0A
|
|
ldr r0, _02236F2C ; =0x00002678
|
|
mov r1, #1
|
|
str r1, [r4, r0]
|
|
_02236F0A:
|
|
mov r0, #0
|
|
pop {r3, r4, r5, pc}
|
|
nop
|
|
_02236F10: .word 0x00002674
|
|
_02236F14: .word 0x00001010
|
|
_02236F18: .word 0x00001011
|
|
_02236F1C: .word gSystem
|
|
_02236F20: .word 0x0000267C
|
|
_02236F24: .word ov74_0223E304
|
|
_02236F28: .word 0x00001650
|
|
_02236F2C: .word 0x00002678
|
|
thumb_func_end ov74_02236AE0
|
|
|
|
thumb_func_start ov74_02236F30
|
|
ov74_02236F30: ; 0x02236F30
|
|
cmp r0, #1
|
|
bne _02236F38
|
|
mov r0, #1
|
|
b _02236F3A
|
|
_02236F38:
|
|
ldr r0, _02236F40 ; =0x000001DE
|
|
_02236F3A:
|
|
lsl r0, r0, #0x10
|
|
lsr r0, r0, #0x10
|
|
bx lr
|
|
.balign 4, 0
|
|
_02236F40: .word 0x000001DE
|
|
thumb_func_end ov74_02236F30
|
|
|
|
thumb_func_start ov74_02236F44
|
|
ov74_02236F44: ; 0x02236F44
|
|
cmp r0, #7
|
|
bhi _02236F64
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02236F54: ; jump table
|
|
.short _02236F64 - _02236F54 - 2 ; case 0
|
|
.short _02236F64 - _02236F54 - 2 ; case 1
|
|
.short _02236F68 - _02236F54 - 2 ; case 2
|
|
.short _02236F6E - _02236F54 - 2 ; case 3
|
|
.short _02236F68 - _02236F54 - 2 ; case 4
|
|
.short _02236F72 - _02236F54 - 2 ; case 5
|
|
.short _02236F64 - _02236F54 - 2 ; case 6
|
|
.short _02236F68 - _02236F54 - 2 ; case 7
|
|
_02236F64:
|
|
mov r0, #0xea
|
|
bx lr
|
|
_02236F68:
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
bx lr
|
|
_02236F6E:
|
|
ldr r0, _02236F78 ; =0x000001B7
|
|
bx lr
|
|
_02236F72:
|
|
ldr r0, _02236F7C ; =0x000001B6
|
|
bx lr
|
|
nop
|
|
_02236F78: .word 0x000001B7
|
|
_02236F7C: .word 0x000001B6
|
|
thumb_func_end ov74_02236F44
|
|
|
|
thumb_func_start ov74_02236F80
|
|
ov74_02236F80: ; 0x02236F80
|
|
cmp r0, #7
|
|
bhi _02236FA0
|
|
add r0, r0, r0
|
|
add r0, pc
|
|
ldrh r0, [r0, #6]
|
|
lsl r0, r0, #0x10
|
|
asr r0, r0, #0x10
|
|
add pc, r0
|
|
_02236F90: ; jump table
|
|
.short _02236FA0 - _02236F90 - 2 ; case 0
|
|
.short _02236FA0 - _02236F90 - 2 ; case 1
|
|
.short _02236FA4 - _02236F90 - 2 ; case 2
|
|
.short _02236FA8 - _02236F90 - 2 ; case 3
|
|
.short _02236FA4 - _02236F90 - 2 ; case 4
|
|
.short _02236FAE - _02236F90 - 2 ; case 5
|
|
.short _02236FA0 - _02236F90 - 2 ; case 6
|
|
.short _02236FA4 - _02236F90 - 2 ; case 7
|
|
_02236FA0:
|
|
mov r0, #0xeb
|
|
bx lr
|
|
_02236FA4:
|
|
ldr r0, _02236FB4 ; =0x000001B5
|
|
bx lr
|
|
_02236FA8:
|
|
mov r0, #0x6e
|
|
lsl r0, r0, #2
|
|
bx lr
|
|
_02236FAE:
|
|
mov r0, #0x6d
|
|
lsl r0, r0, #2
|
|
bx lr
|
|
.balign 4, 0
|
|
_02236FB4: .word 0x000001B5
|
|
thumb_func_end ov74_02236F80
|
|
|
|
thumb_func_start ConvertRSStringToDPStringInternational
|
|
ConvertRSStringToDPStringInternational: ; 0x02236FB8
|
|
push {r3, r4, r5, r6, r7, lr}
|
|
sub sp, #0x10
|
|
add r5, r3, #0
|
|
str r0, [sp]
|
|
str r1, [sp, #4]
|
|
str r2, [sp, #8]
|
|
cmp r5, #1
|
|
beq _02236FCC
|
|
mov r2, #1
|
|
b _02236FCE
|
|
_02236FCC:
|
|
mov r2, #0
|
|
_02236FCE:
|
|
ldr r0, [sp, #8]
|
|
mov r6, #0
|
|
sub r0, r0, #1
|
|
str r0, [sp, #0xc]
|
|
beq _02237056
|
|
ldr r1, _02237064 ; =_0223B760
|
|
lsl r0, r2, #1
|
|
ldr r4, [sp, #4]
|
|
add r7, r1, r0
|
|
_02236FE0:
|
|
ldr r0, [sp]
|
|
ldrb r0, [r0, r6]
|
|
cmp r0, #0xff
|
|
beq _02237056
|
|
cmp r0, #0xf7
|
|
blo _0223701A
|
|
ldr r0, [sp, #8]
|
|
sub r3, r0, #1
|
|
cmp r3, #0xa
|
|
blo _02236FF6
|
|
mov r3, #0xa
|
|
_02236FF6:
|
|
mov r1, #0
|
|
cmp r3, #0
|
|
ble _0223700C
|
|
mov r0, #0x6b
|
|
ldr r2, [sp, #4]
|
|
lsl r0, r0, #2
|
|
_02237002:
|
|
add r1, r1, #1
|
|
strh r0, [r2]
|
|
add r2, r2, #2
|
|
cmp r1, r3
|
|
blt _02237002
|
|
_0223700C:
|
|
ldr r0, [sp, #4]
|
|
ldr r2, _02237068 ; =0x0000FFFF
|
|
lsl r1, r1, #1
|
|
strh r2, [r0, r1]
|
|
add sp, #0x10
|
|
mov r0, #0
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
_0223701A:
|
|
lsl r0, r0, #2
|
|
ldrh r0, [r7, r0]
|
|
cmp r0, #1
|
|
beq _0223702C
|
|
cmp r0, #0xea
|
|
beq _02237036
|
|
cmp r0, #0xeb
|
|
beq _02237040
|
|
b _0223704A
|
|
_0223702C:
|
|
add r0, r5, #0
|
|
bl ov74_02236F30
|
|
strh r0, [r4]
|
|
b _0223704C
|
|
_02237036:
|
|
add r0, r5, #0
|
|
bl ov74_02236F44
|
|
strh r0, [r4]
|
|
b _0223704C
|
|
_02237040:
|
|
add r0, r5, #0
|
|
bl ov74_02236F80
|
|
strh r0, [r4]
|
|
b _0223704C
|
|
_0223704A:
|
|
strh r0, [r4]
|
|
_0223704C:
|
|
ldr r0, [sp, #0xc]
|
|
add r6, r6, #1
|
|
add r4, r4, #2
|
|
cmp r6, r0
|
|
blo _02236FE0
|
|
_02237056:
|
|
ldr r2, _02237068 ; =0x0000FFFF
|
|
ldr r0, [sp, #4]
|
|
lsl r1, r6, #1
|
|
strh r2, [r0, r1]
|
|
mov r0, #1
|
|
add sp, #0x10
|
|
pop {r3, r4, r5, r6, r7, pc}
|
|
.balign 4, 0
|
|
_02237064: .word _0223B760
|
|
_02237068: .word 0x0000FFFF
|
|
thumb_func_end ConvertRSStringToDPStringInternational
|
|
|
|
.rodata
|
|
|
|
_0223B2C0:
|
|
.byte 0x06, 0x22, 0xDE, 0xFA, 0x9E, 0xBA, 0xDE, 0xFA, 0xFF, 0x00, 0x00, 0x00
|
|
_0223B2CC:
|
|
.byte 0x70, 0x88, 0x20, 0xE0
|
|
.byte 0x98, 0xB0, 0x20, 0xE0, 0xFF, 0x00, 0x00, 0x00
|
|
_0223B2D8:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B2E8:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
|
|
.public gApp_MainMenu
|
|
gApp_MainMenu:
|
|
.word ov74_MainMenu_AppInit, ov74_MainMenu_AppExec, ov74_MainMenu_AppExit, 0xFFFFFFFF
|
|
gApp_MainMenu_SelectOption_ConnectToRanger:
|
|
.word ov74_02229200, ov74_02229294, ov74_02229450, 0xFFFFFFFF
|
|
_0223B330:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B340:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
_0223B368:
|
|
.word ov74_02229DA0
|
|
.word ov74_02229DCC
|
|
.word ov74_02229DD4
|
|
.word ov74_02229DE0
|
|
.word sub_020342C0
|
|
.word 0
|
|
gApp_MainMenu_SelectOption_MysteryGift:
|
|
.word ov74_0222AE6C, ov74_0222C2EC, ov74_0222CD94, 0xFFFFFFFF
|
|
_0223B390:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B3A0:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B3BC:
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x1E, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00, 0x5A, 0x00, 0x00, 0x00
|
|
.byte 0x78, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00
|
|
.byte 0x96, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00
|
|
.byte 0xB4, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, 0xB4, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00
|
|
.byte 0xD2, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00, 0xD2, 0x00, 0x00, 0x00
|
|
_0223B410:
|
|
.word ov74_0222DDFC, ov74_0222E1F4, ov74_0222EB44, 0xFFFFFFFF
|
|
_0223B420:
|
|
.word ov74_0222F598, ov74_0222F7D4, ov74_0222FB8C, 0xFFFFFFFF
|
|
_0223B430:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B440:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1F, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B45C:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B478:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1E, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_0223B494:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B4B0:
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
gApp_MainMenu_SelectOption_MigrateFromAgb:
|
|
.word ov74_02233230, ov74_022332F4, ov74_022338D4, 0xFFFFFFFF
|
|
_0223B4E8:
|
|
.byte 0x14, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00
|
|
_0223B4F8:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B508:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
_0223B524:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1D, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B540:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x1E, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B55C:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x1F, 0x02
|
|
.byte 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B578:
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00
|
|
sPmAgbRomCodeMappings:
|
|
; Ruby
|
|
.balign 4, 0
|
|
.ascii "AXVJ"
|
|
.byte 0x00, 0x00
|
|
.short LANGUAGE_JAPANESE
|
|
.balign 4, 0
|
|
.ascii "AXVE"
|
|
.byte 0x00, 0x00
|
|
.short LANGUAGE_ENGLISH
|
|
.balign 4, 0
|
|
.ascii "AXVF"
|
|
.byte 0x00, 0x00
|
|
.short LANGUAGE_FRENCH
|
|
.balign 4, 0
|
|
.ascii "AXVD"
|
|
.byte 0x00, 0x00
|
|
.short LANGUAGE_GERMAN
|
|
.balign 4, 0
|
|
.ascii "AXVS"
|
|
.byte 0x00, 0x00
|
|
.short LANGUAGE_SPANISH
|
|
.balign 4, 0
|
|
.ascii "AXVI"
|
|
.byte 0x00, 0x00
|
|
.short LANGUAGE_ITALIAN
|
|
|
|
; Sapphire
|
|
.balign 4, 0
|
|
.ascii "AXPJ"
|
|
.byte 0x00, 0x01
|
|
.short LANGUAGE_JAPANESE
|
|
.balign 4, 0
|
|
.ascii "AXPE"
|
|
.byte 0x00, 0x01
|
|
.short LANGUAGE_ENGLISH
|
|
.balign 4, 0
|
|
.ascii "AXPF"
|
|
.byte 0x00, 0x01
|
|
.short LANGUAGE_FRENCH
|
|
.balign 4, 0
|
|
.ascii "AXPD"
|
|
.byte 0x00, 0x01
|
|
.short LANGUAGE_GERMAN
|
|
.balign 4, 0
|
|
.ascii "AXPS"
|
|
.byte 0x00, 0x01
|
|
.short LANGUAGE_SPANISH
|
|
.balign 4, 0
|
|
.ascii "AXPI"
|
|
.byte 0x00, 0x01
|
|
.short LANGUAGE_ITALIAN
|
|
|
|
; FireRed
|
|
.balign 4, 0
|
|
.ascii "BPRJ"
|
|
.byte 0x01, 0x03
|
|
.short LANGUAGE_JAPANESE
|
|
.balign 4, 0
|
|
.ascii "BPRE"
|
|
.byte 0x01, 0x03
|
|
.short LANGUAGE_ENGLISH
|
|
.balign 4, 0
|
|
.ascii "BPRF"
|
|
.byte 0x01, 0x03
|
|
.short LANGUAGE_FRENCH
|
|
.balign 4, 0
|
|
.ascii "BPRD"
|
|
.byte 0x01, 0x03
|
|
.short LANGUAGE_GERMAN
|
|
.balign 4, 0
|
|
.ascii "BPRS"
|
|
.byte 0x01, 0x03
|
|
.short LANGUAGE_SPANISH
|
|
.balign 4, 0
|
|
.ascii "BPRI"
|
|
.byte 0x01, 0x03
|
|
.short LANGUAGE_ITALIAN
|
|
|
|
; LeafGreen
|
|
.balign 4, 0
|
|
.ascii "BPGJ"
|
|
.byte 0x01, 0x02
|
|
.short LANGUAGE_JAPANESE
|
|
.balign 4, 0
|
|
.ascii "BPGE"
|
|
.byte 0x01, 0x02
|
|
.short LANGUAGE_ENGLISH
|
|
.balign 4, 0
|
|
.ascii "BPGF"
|
|
.byte 0x01, 0x02
|
|
.short LANGUAGE_FRENCH
|
|
.balign 4, 0
|
|
.ascii "BPGD"
|
|
.byte 0x01, 0x02
|
|
.short LANGUAGE_GERMAN
|
|
.balign 4, 0
|
|
.ascii "BPGS"
|
|
.byte 0x01, 0x02
|
|
.short LANGUAGE_SPANISH
|
|
.balign 4, 0
|
|
.ascii "BPGI"
|
|
.byte 0x01, 0x02
|
|
.short LANGUAGE_ITALIAN
|
|
|
|
; Emerald
|
|
.balign 4, 0
|
|
.ascii "BPEJ"
|
|
.byte 0x02, 0x04
|
|
.short LANGUAGE_JAPANESE
|
|
.balign 4, 0
|
|
.ascii "BPEE"
|
|
.byte 0x02, 0x04
|
|
.short LANGUAGE_ENGLISH
|
|
.balign 4, 0
|
|
.ascii "BPEF"
|
|
.byte 0x02, 0x04
|
|
.short LANGUAGE_FRENCH
|
|
.balign 4, 0
|
|
.ascii "BPED"
|
|
.byte 0x02, 0x04
|
|
.short LANGUAGE_GERMAN
|
|
.balign 4, 0
|
|
.ascii "BPES"
|
|
.byte 0x02, 0x04
|
|
.short LANGUAGE_SPANISH
|
|
.balign 4, 0
|
|
.ascii "BPEI"
|
|
.byte 0x02, 0x04
|
|
.short LANGUAGE_ITALIAN
|
|
.balign 4, 0
|
|
_0223B690:
|
|
.byte 0xC8, 0x7E, 0x66, 0x71, 0x46, 0x0B, 0xE6, 0x6F, 0x17, 0x8A, 0x5C, 0x7D, 0xEA, 0xE1, 0x93, 0xFD
|
|
.byte 0xEE, 0xFA, 0x99, 0x84, 0xFE, 0x35, 0x02, 0xB9, 0x7F, 0x4F, 0xF1, 0x19, 0x74, 0xA2, 0x0F, 0x65
|
|
.byte 0x8A, 0x9C, 0x44, 0x81, 0x0C, 0x1F, 0x94, 0xE4, 0xC0, 0xB6, 0xD7, 0x20, 0xEE, 0x11, 0x9A, 0x8D
|
|
.byte 0x27, 0x33, 0x9B, 0x7B, 0x02, 0xE9, 0x33, 0x11, 0xDC, 0xCF, 0x72, 0xD9, 0xA8, 0x78, 0x12, 0x8C
|
|
.byte 0x3B, 0x60, 0xD5, 0x24, 0xB8, 0xD9, 0xFC, 0x8D, 0x15, 0xBA, 0x0B, 0x90, 0xA3, 0xBD, 0x3A, 0xE4
|
|
.byte 0x01, 0x18, 0xBA, 0xF9, 0x65, 0xA5, 0x15, 0x37, 0xDC, 0x7A, 0x48, 0x5C, 0x3A, 0x55, 0x35, 0x43
|
|
.byte 0xE2, 0xC6, 0x66, 0xBA, 0x21, 0xEA, 0x67, 0x2E, 0xA8, 0x29, 0x03, 0xD7, 0x1F, 0x0F, 0xC6, 0xDE
|
|
.byte 0x1B, 0xE2, 0xA1, 0xCA, 0x21, 0x51, 0xFE, 0xB9, 0x68, 0x17, 0x3C, 0xEB, 0x04, 0x54, 0xE0, 0xBD
|
|
_0223B710:
|
|
.byte 0x28, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B720:
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
_0223B73C:
|
|
.byte 0x00, 0x00, 0x01, 0x01
|
|
.byte 0x02, 0x01, 0x03, 0x02, 0x04, 0x03, 0x05, 0x02, 0x06, 0x02, 0x07, 0x00, 0x08, 0x05, 0x09, 0x05
|
|
.byte 0x0A, 0x05, 0x0B, 0x04, 0x0C, 0x05, 0x0D, 0x05, 0x0E, 0x02, 0x0F, 0x02, 0xFF, 0x00, 0x00, 0x00
|
|
_0223B760:
|
|
.byte 0x01, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x05, 0x00, 0x05, 0x00, 0x07, 0x00, 0x07, 0x00
|
|
.byte 0x09, 0x00, 0x09, 0x00, 0x0B, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x0E, 0x00, 0x0E, 0x00
|
|
.byte 0x10, 0x00, 0x10, 0x00, 0x12, 0x00, 0x12, 0x00, 0x14, 0x00, 0x14, 0x00, 0x16, 0x00, 0x16, 0x00
|
|
.byte 0x18, 0x00, 0x18, 0x00, 0x1A, 0x00, 0x1A, 0x00, 0x1C, 0x00, 0x1C, 0x00, 0x1E, 0x00, 0x1E, 0x00
|
|
.byte 0x20, 0x00, 0x20, 0x00, 0x22, 0x00, 0x22, 0x00, 0x25, 0x00, 0x25, 0x00, 0x27, 0x00, 0x27, 0x00
|
|
.byte 0x29, 0x00, 0x29, 0x00, 0x2B, 0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2D, 0x00
|
|
.byte 0x2E, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x33, 0x00, 0x33, 0x00
|
|
.byte 0x36, 0x00, 0x36, 0x00, 0x39, 0x00, 0x39, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3F, 0x00, 0x3F, 0x00
|
|
.byte 0x40, 0x00, 0x40, 0x00, 0x41, 0x00, 0x41, 0x00, 0x42, 0x00, 0x42, 0x00, 0x43, 0x00, 0x43, 0x00
|
|
.byte 0x45, 0x00, 0x45, 0x00, 0x47, 0x00, 0x47, 0x00, 0x49, 0x00, 0x49, 0x00, 0x4A, 0x00, 0x4A, 0x00
|
|
.byte 0x4B, 0x00, 0x4B, 0x00, 0x4C, 0x00, 0x4C, 0x00, 0x4D, 0x00, 0x4D, 0x00, 0x4E, 0x00, 0x4E, 0x00
|
|
.byte 0x4F, 0x00, 0x4F, 0x00, 0x50, 0x00, 0x50, 0x00, 0x51, 0x00, 0x51, 0x00, 0x02, 0x00, 0x02, 0x00
|
|
.byte 0x04, 0x00, 0x04, 0x00, 0x06, 0x00, 0x06, 0x00, 0x08, 0x00, 0x08, 0x00, 0x0A, 0x00, 0x0A, 0x00
|
|
.byte 0x44, 0x00, 0x44, 0x00, 0x46, 0x00, 0x46, 0x00, 0x48, 0x00, 0x48, 0x00, 0x0D, 0x00, 0x0D, 0x00
|
|
.byte 0x0F, 0x00, 0x0F, 0x00, 0x11, 0x00, 0x11, 0x00, 0x13, 0x00, 0x13, 0x00, 0x15, 0x00, 0x15, 0x00
|
|
.byte 0x17, 0x00, 0x17, 0x00, 0x19, 0x00, 0x19, 0x00, 0x1B, 0x00, 0x1B, 0x00, 0x1D, 0x00, 0x1D, 0x00
|
|
.byte 0x1F, 0x00, 0x1F, 0x00, 0x21, 0x00, 0x21, 0x00, 0x23, 0x00, 0x23, 0x00, 0x26, 0x00, 0x26, 0x00
|
|
.byte 0x28, 0x00, 0x28, 0x00, 0x2A, 0x00, 0x2A, 0x00, 0x31, 0x00, 0x31, 0x00, 0x34, 0x00, 0x34, 0x00
|
|
.byte 0x37, 0x00, 0x37, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3D, 0x00, 0x3D, 0x00, 0x32, 0x00, 0x32, 0x00
|
|
.byte 0x35, 0x00, 0x35, 0x00, 0x38, 0x00, 0x38, 0x00, 0x3B, 0x00, 0x3B, 0x00, 0x3E, 0x00, 0x3E, 0x00
|
|
.byte 0x24, 0x00, 0x24, 0x00, 0x53, 0x00, 0x53, 0x00, 0x55, 0x00, 0x55, 0x00, 0x57, 0x00, 0x57, 0x00
|
|
.byte 0x59, 0x00, 0x59, 0x00, 0x5B, 0x00, 0x5B, 0x00, 0x5C, 0x00, 0x5C, 0x00, 0x5E, 0x00, 0x5E, 0x00
|
|
.byte 0x60, 0x00, 0x60, 0x00, 0x62, 0x00, 0x62, 0x00, 0x64, 0x00, 0x64, 0x00, 0x66, 0x00, 0x66, 0x00
|
|
.byte 0x68, 0x00, 0x68, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x6E, 0x00, 0x6E, 0x00
|
|
.byte 0x70, 0x00, 0x70, 0x00, 0x72, 0x00, 0x72, 0x00, 0x75, 0x00, 0x75, 0x00, 0x77, 0x00, 0x77, 0x00
|
|
.byte 0x79, 0x00, 0x79, 0x00, 0x7B, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7D, 0x00
|
|
.byte 0x7E, 0x00, 0x7E, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x80, 0x00, 0x80, 0x00, 0x83, 0x00, 0x83, 0x00
|
|
.byte 0x86, 0x00, 0x86, 0x00, 0x89, 0x00, 0x89, 0x00, 0x8C, 0x00, 0x8C, 0x00, 0x8F, 0x00, 0x8F, 0x00
|
|
.byte 0x90, 0x00, 0x90, 0x00, 0x91, 0x00, 0x91, 0x00, 0x92, 0x00, 0x92, 0x00, 0x93, 0x00, 0x93, 0x00
|
|
.byte 0x95, 0x00, 0x95, 0x00, 0x97, 0x00, 0x97, 0x00, 0x99, 0x00, 0x99, 0x00, 0x9A, 0x00, 0x9A, 0x00
|
|
.byte 0x9B, 0x00, 0x9B, 0x00, 0x9C, 0x00, 0x9C, 0x00, 0x9D, 0x00, 0x9D, 0x00, 0x9E, 0x00, 0x9E, 0x00
|
|
.byte 0x9F, 0x00, 0x9F, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0xA1, 0x00, 0xA1, 0x00, 0x52, 0x00, 0x52, 0x00
|
|
.byte 0x54, 0x00, 0x54, 0x00, 0x56, 0x00, 0x56, 0x00, 0x58, 0x00, 0x58, 0x00, 0x5A, 0x00, 0x5A, 0x00
|
|
.byte 0x94, 0x00, 0x94, 0x00, 0x96, 0x00, 0x96, 0x00, 0x98, 0x00, 0x98, 0x00, 0x5D, 0x00, 0x5D, 0x00
|
|
.byte 0x5F, 0x00, 0x5F, 0x00, 0x61, 0x00, 0x61, 0x00, 0x63, 0x00, 0x63, 0x00, 0x65, 0x00, 0x65, 0x00
|
|
.byte 0x67, 0x00, 0x67, 0x00, 0x69, 0x00, 0x69, 0x00, 0x6B, 0x00, 0x6B, 0x00, 0x6D, 0x00, 0x6D, 0x00
|
|
.byte 0x6F, 0x00, 0x6F, 0x00, 0x71, 0x00, 0x71, 0x00, 0x73, 0x00, 0x73, 0x00, 0x76, 0x00, 0x76, 0x00
|
|
.byte 0x78, 0x00, 0x78, 0x00, 0x7A, 0x00, 0x7A, 0x00, 0x81, 0x00, 0x81, 0x00, 0x84, 0x00, 0x84, 0x00
|
|
.byte 0x87, 0x00, 0x87, 0x00, 0x8A, 0x00, 0x8A, 0x00, 0x8D, 0x00, 0x8D, 0x00, 0x82, 0x00, 0x82, 0x00
|
|
.byte 0x85, 0x00, 0x85, 0x00, 0x88, 0x00, 0x88, 0x00, 0x8B, 0x00, 0x8B, 0x00, 0x8E, 0x00, 0x8E, 0x00
|
|
.byte 0x74, 0x00, 0x74, 0x00, 0xA2, 0x00, 0x21, 0x01, 0xA3, 0x00, 0x22, 0x01, 0xA4, 0x00, 0x23, 0x01
|
|
.byte 0xA5, 0x00, 0x24, 0x01, 0xA6, 0x00, 0x25, 0x01, 0xA7, 0x00, 0x26, 0x01, 0xA8, 0x00, 0x27, 0x01
|
|
.byte 0xA9, 0x00, 0x28, 0x01, 0xAA, 0x00, 0x29, 0x01, 0xAB, 0x00, 0x2A, 0x01, 0xE1, 0x00, 0xAB, 0x01
|
|
.byte 0xE2, 0x00, 0xAC, 0x01, 0xE4, 0x00, 0xAE, 0x01, 0xF1, 0x00, 0xBE, 0x01, 0xE6, 0x00, 0xB0, 0x01
|
|
.byte 0xE5, 0x00, 0xAF, 0x01, 0xEA, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEB, 0x00, 0xE8, 0x00, 0xB2, 0x01
|
|
.byte 0xE9, 0x00, 0xB3, 0x01, 0xEE, 0x00, 0xBB, 0x01, 0xEF, 0x00, 0xBC, 0x01, 0x12, 0x01, 0x12, 0x01
|
|
.byte 0xE3, 0x00, 0xAD, 0x01, 0xF2, 0x00, 0x76, 0x01, 0xE7, 0x00, 0xB1, 0x01, 0xAC, 0x00, 0x2B, 0x01
|
|
.byte 0xAD, 0x00, 0x2C, 0x01, 0xAE, 0x00, 0x2D, 0x01, 0xAF, 0x00, 0x2E, 0x01, 0xB0, 0x00, 0x2F, 0x01
|
|
.byte 0xB1, 0x00, 0x30, 0x01, 0xB2, 0x00, 0x31, 0x01, 0xB3, 0x00, 0x32, 0x01, 0xB4, 0x00, 0x33, 0x01
|
|
.byte 0xB5, 0x00, 0x34, 0x01, 0xB6, 0x00, 0x35, 0x01, 0xB7, 0x00, 0x36, 0x01, 0xB8, 0x00, 0x37, 0x01
|
|
.byte 0xB9, 0x00, 0x38, 0x01, 0xBA, 0x00, 0x39, 0x01, 0xBB, 0x00, 0x3A, 0x01, 0xBC, 0x00, 0x3B, 0x01
|
|
.byte 0xBD, 0x00, 0x3C, 0x01, 0xBE, 0x00, 0x3D, 0x01, 0xBF, 0x00, 0x3E, 0x01, 0xC0, 0x00, 0x3F, 0x01
|
|
.byte 0xC1, 0x00, 0x40, 0x01, 0xC2, 0x00, 0x41, 0x01, 0xC3, 0x00, 0x42, 0x01, 0xC4, 0x00, 0x43, 0x01
|
|
.byte 0xC5, 0x00, 0x44, 0x01, 0xC6, 0x00, 0x45, 0x01, 0xC7, 0x00, 0x46, 0x01, 0xC8, 0x00, 0x47, 0x01
|
|
.byte 0xC9, 0x00, 0x48, 0x01, 0xCA, 0x00, 0x49, 0x01, 0xCB, 0x00, 0x4A, 0x01, 0xCC, 0x00, 0x4B, 0x01
|
|
.byte 0xCD, 0x00, 0x4C, 0x01, 0xCE, 0x00, 0x4D, 0x01, 0xCF, 0x00, 0x4E, 0x01, 0xD0, 0x00, 0x4F, 0x01
|
|
.byte 0xD1, 0x00, 0x50, 0x01, 0xD2, 0x00, 0x51, 0x01, 0xD3, 0x00, 0x52, 0x01, 0xD4, 0x00, 0x53, 0x01
|
|
.byte 0xD5, 0x00, 0x54, 0x01, 0xD6, 0x00, 0x55, 0x01, 0xD7, 0x00, 0x56, 0x01, 0xD8, 0x00, 0x57, 0x01
|
|
.byte 0xD9, 0x00, 0x58, 0x01, 0xDA, 0x00, 0x59, 0x01, 0xDB, 0x00, 0x5A, 0x01, 0xDC, 0x00, 0x5B, 0x01
|
|
.byte 0xDD, 0x00, 0x5C, 0x01, 0xDE, 0x00, 0x5D, 0x01, 0xDF, 0x00, 0x5E, 0x01, 0x1F, 0x01, 0x1F, 0x01
|
|
.byte 0xF6, 0x00, 0xC4, 0x01, 0x63, 0x01, 0x63, 0x01, 0x75, 0x01, 0x75, 0x01, 0x7B, 0x01, 0x7B, 0x01
|
|
.byte 0x83, 0x01, 0x83, 0x01, 0x95, 0x01, 0x95, 0x01, 0x9B, 0x01, 0x9B, 0x01
|
|
|
|
.data
|
|
|
|
_0223BBC0:
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223BBC4: ; 0x0223BBC4
|
|
.word msg_0442_00013
|
|
.word msg_0442_00014
|
|
.word msg_0442_00016
|
|
.word msg_0442_00015
|
|
|
|
ov74_0223BBD4: ; 0x0223BBD4
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00
|
|
.byte 0x0E, 0x00, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223BBF0: ; 0x0223BBF0
|
|
.byte 0x81, 0x53, 0x83, 0x53, 0x85, 0x53, 0x87, 0x53, 0x89, 0x53, 0x8B, 0x53, 0x8D, 0x53, 0x8F, 0x53
|
|
.byte 0x91, 0x53, 0x93, 0x53, 0x95, 0x53, 0x97, 0x53, 0x99, 0x53, 0x9B, 0x53, 0x9D, 0x53, 0x9F, 0x53
|
|
.byte 0x9D, 0x53, 0x9B, 0x53, 0x99, 0x53, 0x97, 0x53, 0x95, 0x53, 0x93, 0x53, 0x91, 0x53, 0x8F, 0x53
|
|
.byte 0x8D, 0x53, 0x8B, 0x53, 0x89, 0x53, 0x87, 0x53, 0x85, 0x53, 0x83, 0x53, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223BC30: ; 0x0223BC30
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223BC44: ; 0x0223BC44
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223BC58: ; 0x0223BC58
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223BC6C: ; 0x0223BC6C
|
|
.byte 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223BC80: ; 0x0223BC80
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x05, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223BCBC: ; 0x0223BCBC
|
|
; internal code, button height, button text, print function
|
|
.word 1, 10, msg_0442_00000, ov74_MainMenu_PrintContinueButton
|
|
.word 2, 4, msg_0442_00001, 0 ; New Game
|
|
.word 3, 4, msg_0442_00009, ov74_MainMenu_PrintConnectToPokewalkerButton
|
|
.word 4, 4, msg_0442_00002, ov74_MainMenu_PrintMysteryGiftButton
|
|
.word 5, 4, msg_0442_00003, ov74_MainMenu_PrintConnectToRangerButton
|
|
.word 6, 4, msg_0442_00000, ov74_MainMenu_PrintMigrateFromAgbButton ; 4, 5, 6, 7, or 8 depending on crtdg
|
|
.word 7, 4, msg_0442_00011, ov74_MainMenu_PrintConnectToWiiButton
|
|
.word 8, 4, msg_0442_00012, ov74_MainMenu_PrintNintendoWFCSetupButton
|
|
.word 9, 4, msg_0442_00010, ov74_MainMenu_PrintWiiMessageSettingsButton
|
|
|
|
ov74_0223BD4C: ; 0x0223BD4C
|
|
.asciz "data/eoo.dat"
|
|
.balign 4, 0
|
|
|
|
ov74_0223BD5C: ; 0x0223BD5C
|
|
.word 0x00150116 ; bitfield
|
|
.word ov74_0223D090
|
|
.word ov74_0223D080
|
|
|
|
ov74_0223BD68: ; 0x0223BD68
|
|
.byte 0x00, 0x00, 0xFF, 0xFF, 0x21, 0x00, 0xE1, 0x00
|
|
.byte 0x23, 0x00, 0xC0, 0x01, 0x25, 0x00, 0xD2, 0x01, 0x27, 0x00, 0xEA, 0x00, 0x28, 0x00, 0xEB, 0x00
|
|
.byte 0x29, 0x00, 0xBF, 0x01, 0x2A, 0x00, 0xBD, 0x01, 0x2B, 0x00, 0xAD, 0x01, 0x2C, 0x00, 0xBE, 0x01
|
|
.byte 0x2E, 0x00, 0xB1, 0x01, 0x30, 0x00, 0xA2, 0x00, 0x31, 0x00, 0xA3, 0x00, 0x32, 0x00, 0xA4, 0x00
|
|
.byte 0x33, 0x00, 0xA5, 0x00, 0x34, 0x00, 0xA6, 0x00, 0x35, 0x00, 0xA7, 0x00, 0x36, 0x00, 0xA8, 0x00
|
|
.byte 0x37, 0x00, 0xA9, 0x00, 0x38, 0x00, 0xAA, 0x00, 0x39, 0x00, 0xAB, 0x00, 0x3A, 0x00, 0xC4, 0x01
|
|
.byte 0x3B, 0x00, 0xC5, 0x01, 0x3C, 0x00, 0xEC, 0x00, 0x3E, 0x00, 0xED, 0x00, 0x3F, 0x00, 0xAC, 0x01
|
|
.byte 0x41, 0x00, 0xAC, 0x00, 0x42, 0x00, 0xAD, 0x00, 0x43, 0x00, 0xAE, 0x00, 0x44, 0x00, 0xAF, 0x00
|
|
.byte 0x45, 0x00, 0xB0, 0x00, 0x46, 0x00, 0xB1, 0x00, 0x47, 0x00, 0xB2, 0x00, 0x48, 0x00, 0xB3, 0x00
|
|
.byte 0x49, 0x00, 0xB4, 0x00, 0x4A, 0x00, 0xB5, 0x00, 0x4B, 0x00, 0xB6, 0x00, 0x4C, 0x00, 0xB7, 0x00
|
|
.byte 0x4D, 0x00, 0xB8, 0x00, 0x4E, 0x00, 0xB9, 0x00, 0x4F, 0x00, 0xBA, 0x00, 0x50, 0x00, 0xBB, 0x00
|
|
.byte 0x51, 0x00, 0xBC, 0x00, 0x52, 0x00, 0xBD, 0x00, 0x53, 0x00, 0xBE, 0x00, 0x54, 0x00, 0xBF, 0x00
|
|
.byte 0x55, 0x00, 0xC0, 0x00, 0x56, 0x00, 0xC1, 0x00, 0x57, 0x00, 0xC2, 0x00, 0x58, 0x00, 0xC3, 0x00
|
|
.byte 0x59, 0x00, 0xC4, 0x00, 0x5A, 0x00, 0xC5, 0x00, 0x61, 0x00, 0xC6, 0x00, 0x62, 0x00, 0xC7, 0x00
|
|
.byte 0x63, 0x00, 0xC8, 0x00, 0x64, 0x00, 0xC9, 0x00, 0x65, 0x00, 0xCA, 0x00, 0x66, 0x00, 0xCB, 0x00
|
|
.byte 0x67, 0x00, 0xCC, 0x00, 0x68, 0x00, 0xCD, 0x00, 0x69, 0x00, 0xCE, 0x00, 0x6A, 0x00, 0xCF, 0x00
|
|
.byte 0x6B, 0x00, 0xD0, 0x00, 0x6C, 0x00, 0xD1, 0x00, 0x6D, 0x00, 0xD2, 0x00, 0x6E, 0x00, 0xD3, 0x00
|
|
.byte 0x6F, 0x00, 0xD4, 0x00, 0x70, 0x00, 0xD5, 0x00, 0x71, 0x00, 0xD6, 0x00, 0x72, 0x00, 0xD7, 0x00
|
|
.byte 0x73, 0x00, 0xD8, 0x00, 0x74, 0x00, 0xD9, 0x00, 0x75, 0x00, 0xDA, 0x00, 0x76, 0x00, 0xDB, 0x00
|
|
.byte 0x77, 0x00, 0xDC, 0x00, 0x78, 0x00, 0xDD, 0x00, 0x79, 0x00, 0xDE, 0x00, 0x7A, 0x00, 0xDF, 0x00
|
|
.byte 0x81, 0x00, 0x02, 0x00, 0x82, 0x00, 0x03, 0x00, 0x83, 0x00, 0x04, 0x00, 0x84, 0x00, 0x05, 0x00
|
|
.byte 0x85, 0x00, 0x06, 0x00, 0x86, 0x00, 0x07, 0x00, 0x87, 0x00, 0x08, 0x00, 0x88, 0x00, 0x09, 0x00
|
|
.byte 0x89, 0x00, 0x0A, 0x00, 0x8A, 0x00, 0x0B, 0x00, 0x8B, 0x00, 0x0C, 0x00, 0x8C, 0x00, 0x0D, 0x00
|
|
.byte 0x8D, 0x00, 0x0E, 0x00, 0x8E, 0x00, 0x0F, 0x00, 0x8F, 0x00, 0x10, 0x00, 0x90, 0x00, 0x11, 0x00
|
|
.byte 0x91, 0x00, 0x12, 0x00, 0x92, 0x00, 0x13, 0x00, 0x93, 0x00, 0x14, 0x00, 0x94, 0x00, 0x15, 0x00
|
|
.byte 0x95, 0x00, 0x16, 0x00, 0x96, 0x00, 0x17, 0x00, 0x97, 0x00, 0x18, 0x00, 0x98, 0x00, 0x19, 0x00
|
|
.byte 0x99, 0x00, 0x1A, 0x00, 0x9A, 0x00, 0x1B, 0x00, 0x9B, 0x00, 0x1C, 0x00, 0x9C, 0x00, 0x1D, 0x00
|
|
.byte 0x9D, 0x00, 0x1E, 0x00, 0x9E, 0x00, 0x1F, 0x00, 0x9F, 0x00, 0x20, 0x00, 0xA0, 0x00, 0x21, 0x00
|
|
.byte 0xA1, 0x00, 0x22, 0x00, 0xA2, 0x00, 0x23, 0x00, 0xA3, 0x00, 0x24, 0x00, 0xA4, 0x00, 0x25, 0x00
|
|
.byte 0xA5, 0x00, 0x26, 0x00, 0xA6, 0x00, 0x27, 0x00, 0xA7, 0x00, 0x28, 0x00, 0xA8, 0x00, 0x29, 0x00
|
|
.byte 0xA9, 0x00, 0x2A, 0x00, 0xAA, 0x00, 0x2B, 0x00, 0xAB, 0x00, 0x2C, 0x00, 0xAC, 0x00, 0x2D, 0x00
|
|
.byte 0xAD, 0x00, 0x2E, 0x00, 0xAE, 0x00, 0x2F, 0x00, 0xAF, 0x00, 0x30, 0x00, 0xB0, 0x00, 0x31, 0x00
|
|
.byte 0xB1, 0x00, 0x32, 0x00, 0xB2, 0x00, 0x33, 0x00, 0xB3, 0x00, 0x34, 0x00, 0xB4, 0x00, 0x35, 0x00
|
|
.byte 0xB5, 0x00, 0x36, 0x00, 0xB6, 0x00, 0x37, 0x00, 0xB7, 0x00, 0x38, 0x00, 0xB8, 0x00, 0x39, 0x00
|
|
.byte 0xB9, 0x00, 0x3A, 0x00, 0xBA, 0x00, 0x3B, 0x00, 0xBB, 0x00, 0x3C, 0x00, 0xBC, 0x00, 0x3D, 0x00
|
|
.byte 0xBD, 0x00, 0x3E, 0x00, 0xBE, 0x00, 0x3F, 0x00, 0xBF, 0x00, 0x40, 0x00, 0xC0, 0x00, 0x41, 0x00
|
|
.byte 0xC1, 0x00, 0x42, 0x00, 0xC2, 0x00, 0x43, 0x00, 0xC3, 0x00, 0x44, 0x00, 0xC4, 0x00, 0x45, 0x00
|
|
.byte 0xC5, 0x00, 0x46, 0x00, 0xC6, 0x00, 0x47, 0x00, 0xC7, 0x00, 0x48, 0x00, 0xC8, 0x00, 0x49, 0x00
|
|
.byte 0xC9, 0x00, 0x4A, 0x00, 0xCA, 0x00, 0x4B, 0x00, 0xCB, 0x00, 0x4C, 0x00, 0xCC, 0x00, 0x4D, 0x00
|
|
.byte 0xCD, 0x00, 0x4E, 0x00, 0xCF, 0x00, 0x4F, 0x00, 0xD2, 0x00, 0x50, 0x00, 0xD3, 0x00, 0x51, 0x00
|
|
.byte 0xE1, 0x00, 0x52, 0x00, 0xE2, 0x00, 0x53, 0x00, 0xE3, 0x00, 0x54, 0x00, 0xE4, 0x00, 0x55, 0x00
|
|
.byte 0xE5, 0x00, 0x56, 0x00, 0xE6, 0x00, 0x57, 0x00, 0xE7, 0x00, 0x58, 0x00, 0xE8, 0x00, 0x59, 0x00
|
|
.byte 0xE9, 0x00, 0x5A, 0x00, 0xEA, 0x00, 0x5B, 0x00, 0xEB, 0x00, 0x5C, 0x00, 0xEC, 0x00, 0x5D, 0x00
|
|
.byte 0xED, 0x00, 0x5E, 0x00, 0xEE, 0x00, 0x5F, 0x00, 0xEF, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x61, 0x00
|
|
.byte 0xF1, 0x00, 0x62, 0x00, 0xF2, 0x00, 0x63, 0x00, 0xF3, 0x00, 0x64, 0x00, 0xF4, 0x00, 0x65, 0x00
|
|
.byte 0xF5, 0x00, 0x66, 0x00, 0xF6, 0x00, 0x67, 0x00, 0xF7, 0x00, 0x68, 0x00, 0xF8, 0x00, 0x69, 0x00
|
|
.byte 0xF9, 0x00, 0x6A, 0x00, 0xFA, 0x00, 0x6B, 0x00, 0xFB, 0x00, 0x6C, 0x00, 0xFC, 0x00, 0x6D, 0x00
|
|
.byte 0xFD, 0x00, 0x6E, 0x00, 0xFE, 0x00, 0x6F, 0x00, 0xFF, 0x00, 0x70, 0x00, 0x00, 0x01, 0x71, 0x00
|
|
.byte 0x01, 0x01, 0x72, 0x00, 0x02, 0x01, 0x73, 0x00, 0x03, 0x01, 0x74, 0x00, 0x04, 0x01, 0x75, 0x00
|
|
.byte 0x05, 0x01, 0x76, 0x00, 0x06, 0x01, 0x77, 0x00, 0x07, 0x01, 0x78, 0x00, 0x08, 0x01, 0x79, 0x00
|
|
.byte 0x09, 0x01, 0x7A, 0x00, 0x0A, 0x01, 0x7B, 0x00, 0x0B, 0x01, 0x7C, 0x00, 0x0C, 0x01, 0x7D, 0x00
|
|
.byte 0x0D, 0x01, 0x7E, 0x00, 0x0E, 0x01, 0x7F, 0x00, 0x0F, 0x01, 0x80, 0x00, 0x10, 0x01, 0x81, 0x00
|
|
.byte 0x11, 0x01, 0x82, 0x00, 0x12, 0x01, 0x83, 0x00, 0x13, 0x01, 0x84, 0x00, 0x14, 0x01, 0x85, 0x00
|
|
.byte 0x15, 0x01, 0x86, 0x00, 0x16, 0x01, 0x87, 0x00, 0x17, 0x01, 0x88, 0x00, 0x18, 0x01, 0x89, 0x00
|
|
.byte 0x19, 0x01, 0x8A, 0x00, 0x1A, 0x01, 0x8B, 0x00, 0x1B, 0x01, 0x8C, 0x00, 0x1C, 0x01, 0x8D, 0x00
|
|
.byte 0x1D, 0x01, 0x8E, 0x00, 0x1E, 0x01, 0x8F, 0x00, 0x1F, 0x01, 0x90, 0x00, 0x20, 0x01, 0x91, 0x00
|
|
.byte 0x21, 0x01, 0x92, 0x00, 0x22, 0x01, 0x93, 0x00, 0x23, 0x01, 0x94, 0x00, 0x24, 0x01, 0x95, 0x00
|
|
.byte 0x25, 0x01, 0x96, 0x00, 0x26, 0x01, 0x97, 0x00, 0x27, 0x01, 0x98, 0x00, 0x28, 0x01, 0x99, 0x00
|
|
.byte 0x29, 0x01, 0x9A, 0x00, 0x2A, 0x01, 0x9B, 0x00, 0x2B, 0x01, 0x9C, 0x00, 0x2C, 0x01, 0x9D, 0x00
|
|
.byte 0x2D, 0x01, 0x9E, 0x00, 0x2F, 0x01, 0x9F, 0x00, 0x32, 0x01, 0xA0, 0x00, 0x33, 0x01, 0xA1, 0x00
|
|
.byte 0x40, 0x01, 0xEA, 0x00, 0x41, 0x01, 0xEB, 0x00, 0x42, 0x01, 0xE8, 0x00, 0x43, 0x01, 0xE9, 0x00
|
|
.byte 0x46, 0x01, 0xE6, 0x00, 0x47, 0x01, 0xE5, 0x00, 0x48, 0x01, 0xEE, 0x00, 0x49, 0x01, 0xEF, 0x00
|
|
.byte 0x4A, 0x01, 0xE4, 0x00, 0x4B, 0x01, 0x12, 0x01, 0x4D, 0x01, 0x1C, 0x01, 0x4E, 0x01, 0x1E, 0x01
|
|
.byte 0x4F, 0x01, 0x1D, 0x01, 0x50, 0x01, 0x1B, 0x01, 0x7C, 0x01, 0x9F, 0x01, 0x7D, 0x01, 0xA0, 0x01
|
|
.byte 0x80, 0x01, 0x5F, 0x01, 0x81, 0x01, 0x60, 0x01, 0x82, 0x01, 0x61, 0x01, 0x84, 0x01, 0x63, 0x01
|
|
.byte 0x87, 0x01, 0x66, 0x01, 0x89, 0x01, 0x68, 0x01, 0x8A, 0x01, 0x69, 0x01, 0x8B, 0x01, 0x6A, 0x01
|
|
.byte 0x8C, 0x01, 0x6B, 0x01, 0x8D, 0x01, 0x6C, 0x01, 0x8E, 0x01, 0x6D, 0x01, 0x8F, 0x01, 0x6E, 0x01
|
|
.byte 0x93, 0x01, 0x72, 0x01, 0x94, 0x01, 0x73, 0x01, 0x96, 0x01, 0x75, 0x01, 0x9A, 0x01, 0x79, 0x01
|
|
.byte 0x9B, 0x01, 0x7A, 0x01, 0x9C, 0x01, 0x7B, 0x01, 0x9F, 0x01, 0x7E, 0x01, 0xA0, 0x01, 0x7F, 0x01
|
|
.byte 0xA1, 0x01, 0x80, 0x01, 0xA2, 0x01, 0x81, 0x01, 0xA4, 0x01, 0x83, 0x01, 0xA7, 0x01, 0x86, 0x01
|
|
.byte 0xA9, 0x01, 0x88, 0x01, 0xAA, 0x01, 0x89, 0x01, 0xAB, 0x01, 0x8A, 0x01, 0xAC, 0x01, 0x8B, 0x01
|
|
.byte 0xAD, 0x01, 0x8C, 0x01, 0xAE, 0x01, 0x8D, 0x01, 0xAF, 0x01, 0x8E, 0x01, 0xB3, 0x01, 0x92, 0x01
|
|
.byte 0xB4, 0x01, 0x93, 0x01, 0xB6, 0x01, 0x95, 0x01, 0xBA, 0x01, 0x99, 0x01, 0xBB, 0x01, 0x9A, 0x01
|
|
.byte 0xBC, 0x01, 0x9B, 0x01
|
|
|
|
ov74_0223C1F4: ; 0x0223C1F4
|
|
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 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
|
|
|
|
ov74_0223C220: ; 0x0223C220
|
|
.word 0x00000012, ov74_0222A560
|
|
.word 0x00000013, ov74_0222A2A4
|
|
|
|
ov74_0223C230: ; 0x0223C230
|
|
.word 0x00000012, ov74_0222A4CC
|
|
.word 0x00000013, ov74_0222A2A4
|
|
|
|
ov74_0223C240: ; 0x0223C240
|
|
.word 0x00000012, ov74_0222A504
|
|
.word 0x00000013, ov74_0222A538
|
|
|
|
ov74_0223C250: ; 0x0223C250
|
|
.word 0x00000012, ov74_02229F90
|
|
.word 0x00000013, ov74_0222A2A4
|
|
|
|
ov74_0223C260: ; 0x0223C260
|
|
.word 0x00000012, ov74_02229FF4
|
|
.word 0x00000013, ov74_0222A494
|
|
|
|
ov74_0223C270: ; 0x0223C270
|
|
.word 0
|
|
.word ov74_02235FF8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x03, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.word msg_0247_00012, ov74_0222A5CC
|
|
.word msg_0247_00013, ov74_0222A650
|
|
|
|
ov74_0223C2A0: ; 0x0223C2A0
|
|
.word msg_0247_00021, ov74_0222A688
|
|
.word msg_0247_00014, ov74_0222A6C0
|
|
|
|
ov74_0223C2B0: ; 0x0223C2B0
|
|
.word msg_0247_00015, ov74_0222A2E0
|
|
.word msg_0247_00020, ov74_0222A3CC
|
|
.word msg_0247_00016, ov74_0222A35C
|
|
.word msg_0247_00017, ov74_0222A5AC
|
|
|
|
ov74_0223C2D0: ; 0x0223C2D0
|
|
.word msg_0247_00065, ov74_0222D358
|
|
.word msg_0247_00066, ov74_0222D414
|
|
|
|
ov74_0223C2E0: ; 0x0223C2E0
|
|
.word msg_0247_00065, 16
|
|
.word msg_0247_00066, ov74_0222D414
|
|
|
|
ov74_0223C2F0: ; 0x0223C2F0
|
|
.word msg_0247_00065, 15
|
|
.word msg_0247_00066, ov74_0222D414
|
|
.word msg_0247_00043, 6
|
|
.word msg_0247_00044, ov74_0222D2D4
|
|
.word msg_0247_00045, ov74_0222D308
|
|
.word msg_0247_00046, 11
|
|
|
|
ov74_0223C320: ; 0x0223C320
|
|
.word 0
|
|
.word ov74_02235FF8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223C340: ; 0x0223C340
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x25, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x29, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222D4E4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222D494
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x32, 0x00, 0x00, 0x00
|
|
.word ov74_0222D55C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222D5C4
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x2A, 0x00, 0x00, 0x00
|
|
.word ov74_0222D614
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222D690
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222D774
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222D78C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x35, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x38, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x3A, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0E, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x3B, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x39, 0x00, 0x00, 0x00
|
|
.word ov74_0222D7D0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x3C, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0E, 0x00, 0x00, 0x00
|
|
.byte 0x3D, 0x00, 0x00, 0x00
|
|
.word ov74_0222D490
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223C6D0: ; 0x0223C6D0
|
|
.byte 0x2B, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223C6E0: ; 0x0223C6E0
|
|
.word 0
|
|
.word ov74_02235FF8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x10, 0x2F, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223C700: ; 0x0223C700
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x25, 0x00, 0x00, 0x00
|
|
.word ov74_0222EE08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x29, 0x00, 0x00, 0x00
|
|
.word ov74_0222EE08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222EE58
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0F, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222EE0C
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x32, 0x00, 0x00, 0x00
|
|
.word ov74_0222EEB0
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x0A, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222EF18
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
|
.byte 0x2A, 0x00, 0x00, 0x00
|
|
.word ov74_0222EF64
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0F, 0x00, 0x00, 0x00
|
|
.byte 0x25, 0x00, 0x00, 0x00
|
|
.word ov74_0222EE08
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.word ov74_0222EF68
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00
|
|
.byte 0x04, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x05, 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
|
|
|
|
ov74_0223C920: ; 0x0223C920
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x01, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00
|
|
.byte 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 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, 0x40, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223C960: ; 0x0223C960
|
|
.byte 0x00, 0x02, 0x01, 0x03, 0x04, 0x05, 0x00, 0x00
|
|
|
|
ov74_0223C968: ; 0x0223C968
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
#ifdef HEARTGOLD
|
|
.byte 0x14, 0x00, 0x00, 0x00
|
|
.byte 0x12, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x00
|
|
#else
|
|
.byte 0x15, 0x00, 0x00, 0x00
|
|
.byte 0x13, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, 0x1B, 0x00, 0x00, 0x00
|
|
#endif
|
|
|
|
ov74_0223C980: ; 0x0223C980
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00
|
|
.byte 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223C998: ; 0x0223C998
|
|
.byte 0x0F, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00
|
|
.byte 0x39, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223C9A8: ; 0x0223C9A8
|
|
.byte 0x94, 0x00, 0x00, 0x00, 0xF9, 0x00, 0x00, 0x00
|
|
.byte 0x7F, 0x00, 0x00, 0x00, 0x23, 0x01, 0x00, 0x00
|
|
|
|
ov74_0223C9B8: ; 0x0223C9B8
|
|
.byte 0x00, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00
|
|
.byte 0x1F, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00
|
|
.byte 0x07, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00
|
|
|
|
ov74_0223C9D8: ; 0x0223C9D8
|
|
.byte 0x05, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00
|
|
.byte 0x37, 0x00, 0x38, 0x00, 0x39, 0x00, 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00
|
|
.byte 0x48, 0x00, 0x52, 0x00, 0x57, 0x00, 0x58, 0x00, 0x59, 0x00, 0x5A, 0x00, 0x5B, 0x00, 0x5C, 0x00
|
|
.byte 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x69, 0x00, 0x70, 0x00, 0x71, 0x00, 0x72, 0x00
|
|
.byte 0x73, 0x00, 0x74, 0x00, 0x75, 0x00, 0x76, 0x00, 0x77, 0x00, 0x78, 0x00, 0x79, 0x00, 0x7A, 0x00
|
|
.byte 0x7B, 0x00, 0x7C, 0x00, 0x7D, 0x00, 0x7E, 0x00, 0x7F, 0x00, 0x80, 0x00, 0x81, 0x00, 0x82, 0x00
|
|
.byte 0x83, 0x00, 0x84, 0x00, 0xB0, 0x00, 0xB1, 0x00, 0xB2, 0x00, 0xE2, 0x00, 0xE3, 0x00, 0xE4, 0x00
|
|
.byte 0xE5, 0x00, 0xE6, 0x00, 0xE7, 0x00, 0xE8, 0x00, 0xE9, 0x00, 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00
|
|
.byte 0xED, 0x00, 0xEE, 0x00, 0xEF, 0x00, 0xF0, 0x00, 0xF1, 0x00, 0xF2, 0x00, 0xF3, 0x00, 0xF4, 0x00
|
|
.byte 0xF5, 0x00, 0xF6, 0x00, 0xF7, 0x00, 0xF8, 0x00, 0xF9, 0x00, 0xFA, 0x00, 0xFB, 0x00, 0xFC, 0x00
|
|
.byte 0xFD, 0x00, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x09, 0x01
|
|
.byte 0x0A, 0x01, 0x0B, 0x01, 0x0C, 0x01, 0x0D, 0x01, 0x0E, 0x01, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01
|
|
.byte 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01, 0x19, 0x01
|
|
.byte 0x1A, 0x01, 0x1B, 0x01, 0x1C, 0x01, 0x1D, 0x01, 0x1E, 0x01, 0x1F, 0x01, 0x20, 0x01, 0x53, 0x01
|
|
.byte 0x54, 0x01, 0x55, 0x01, 0x56, 0x01, 0x57, 0x01, 0x58, 0x01, 0x59, 0x01, 0x5A, 0x01, 0x5B, 0x01
|
|
.byte 0x5C, 0x01, 0x5D, 0x01, 0x5E, 0x01, 0x5F, 0x01, 0x60, 0x01, 0x61, 0x01, 0x62, 0x01, 0x63, 0x01
|
|
.byte 0x64, 0x01, 0x65, 0x01, 0x66, 0x01, 0x67, 0x01, 0x68, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x6B, 0x01
|
|
.byte 0x6C, 0x01, 0x6D, 0x01, 0x6E, 0x01, 0x6F, 0x01, 0x70, 0x01, 0x71, 0x01, 0x72, 0x01, 0x73, 0x01
|
|
.byte 0x74, 0x01, 0x75, 0x01, 0x76, 0x01, 0x77, 0x01, 0x78, 0x01, 0x00, 0x00
|
|
|
|
sPmAgbCartridgeSpec: ; 0x0223CAFC
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0xFF, 0xFF, 0xFF, 0xFF
|
|
|
|
sAgbCartNintendoLogo: ; 0x0223CB04
|
|
.byte 0x24, 0xFF, 0xAE, 0x51, 0x69, 0x9A, 0xA2, 0x21, 0x3D, 0x84, 0x82, 0x0A
|
|
.byte 0x84, 0xE4, 0x09, 0xAD, 0x11, 0x24, 0x8B, 0x98, 0xC0, 0x81, 0x7F, 0x21, 0xA3, 0x52, 0xBE, 0x19
|
|
.byte 0x93, 0x09, 0xCE, 0x20, 0x10, 0x46, 0x4A, 0x4A, 0xF8, 0x27, 0x31, 0xEC, 0x58, 0xC7, 0xE8, 0x33
|
|
.byte 0x82, 0xE3, 0xCE, 0xBF, 0x85, 0xF4, 0xDF, 0x94, 0xCE, 0x4B, 0x09, 0xC1, 0x94, 0x56, 0x8A, 0xC0
|
|
.byte 0x13, 0x72, 0xA7, 0xFC, 0x9F, 0x84, 0x4D, 0x73, 0xA3, 0xCA, 0x9A, 0x61, 0x58, 0x97, 0xA3, 0x27
|
|
.byte 0xFC, 0x03, 0x98, 0x76, 0x23, 0x1D, 0xC7, 0x61, 0x03, 0x04, 0xAE, 0x56, 0xBF, 0x38, 0x84, 0x00
|
|
.byte 0x40, 0xA7, 0x0E, 0xFD, 0xFF, 0x52, 0xFE, 0x03, 0x6F, 0x95, 0x30, 0xF1, 0x97, 0xFB, 0xC0, 0x85
|
|
.byte 0x60, 0xD6, 0x80, 0x25, 0xA9, 0x63, 0xBE, 0x03, 0x01, 0x4E, 0x38, 0xE2, 0xF9, 0xA2, 0x34, 0xFF
|
|
.byte 0xBB, 0x3E, 0x03, 0x44, 0x78, 0x00, 0x90, 0xCB, 0x88, 0x11, 0x3A, 0x94, 0x65, 0xC0, 0x7C, 0x63
|
|
.byte 0x87, 0xF0, 0x3C, 0xAF, 0xD6, 0x25, 0xE4, 0x8B, 0x38, 0x0A, 0xAC, 0x72, 0x21, 0xD4, 0xF8, 0x07
|
|
|
|
ov74_0223CBA0: ; 0x0223CBA0
|
|
.byte 0x10, 0x00, 0x11, 0x00, 0x12, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00
|
|
.byte 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00, 0x34, 0x00
|
|
.byte 0x35, 0x00, 0x38, 0x00, 0x39, 0x00, 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x56, 0x00, 0x57, 0x00
|
|
.byte 0x5A, 0x00, 0x5B, 0x00, 0x60, 0x00, 0x61, 0x00, 0x6A, 0x00, 0x6B, 0x00, 0x72, 0x00, 0x73, 0x00
|
|
.byte 0x74, 0x00, 0x75, 0x00, 0x7A, 0x00, 0x7B, 0x00, 0x7C, 0x00, 0x7F, 0x00, 0x80, 0x00, 0x85, 0x00
|
|
.byte 0x86, 0x00, 0x87, 0x00, 0x88, 0x00, 0x89, 0x00, 0xAD, 0x00, 0xBB, 0x00, 0xBC, 0x00, 0xBD, 0x00
|
|
.byte 0xBF, 0x00, 0xC0, 0x00, 0xC4, 0x00, 0xC5, 0x00, 0xC6, 0x00, 0xD2, 0x00, 0xD4, 0x00, 0xD5, 0x00
|
|
.byte 0xD8, 0x00, 0xD9, 0x00, 0xDC, 0x00, 0xDD, 0x00, 0xDF, 0x00, 0xE0, 0x00, 0xE6, 0x00, 0xE9, 0x00
|
|
.byte 0xEA, 0x00, 0xEB, 0x00, 0xEC, 0x00, 0xED, 0x00, 0xEE, 0x00, 0xF1, 0x00, 0x05, 0x01, 0x06, 0x01
|
|
.byte 0x07, 0x01, 0x08, 0x01, 0x1D, 0x01, 0x1E, 0x01, 0x2C, 0x01, 0x2D, 0x01, 0x2E, 0x01, 0x3A, 0x01
|
|
.byte 0x42, 0x01, 0x43, 0x01, 0x47, 0x01, 0x53, 0x01, 0x54, 0x01, 0x61, 0x01, 0x62, 0x01, 0x65, 0x01
|
|
.byte 0x67, 0x01, 0x69, 0x01, 0x6A, 0x01, 0x6B, 0x01, 0x6C, 0x01, 0x6D, 0x01
|
|
|
|
ov74_0223CC5C: ; 0x0223CC5C
|
|
.byte 0x15, 0x01
|
|
|
|
ov74_0223CC5E: ; 0x0223CC5E
|
|
.byte 0xFC, 0x00
|
|
.byte 0x16, 0x01, 0xFD, 0x00, 0x17, 0x01, 0xFE, 0x00, 0x18, 0x01, 0xFF, 0x00, 0x19, 0x01, 0x00, 0x01
|
|
.byte 0x1A, 0x01, 0x01, 0x01, 0x1B, 0x01, 0x02, 0x01, 0x1C, 0x01, 0x03, 0x01, 0x1D, 0x01, 0x04, 0x01
|
|
.byte 0x1E, 0x01, 0x05, 0x01, 0x1F, 0x01, 0x06, 0x01, 0x20, 0x01, 0x07, 0x01, 0x21, 0x01, 0x08, 0x01
|
|
.byte 0x22, 0x01, 0x09, 0x01, 0x23, 0x01, 0x0A, 0x01, 0x24, 0x01, 0x0B, 0x01, 0x25, 0x01, 0x0C, 0x01
|
|
.byte 0x26, 0x01, 0x0D, 0x01, 0x27, 0x01, 0x0E, 0x01, 0x28, 0x01, 0x0F, 0x01, 0x29, 0x01, 0x10, 0x01
|
|
.byte 0x2A, 0x01, 0x11, 0x01, 0x2B, 0x01, 0x12, 0x01, 0x2C, 0x01, 0x13, 0x01, 0x2D, 0x01, 0x22, 0x01
|
|
.byte 0x2E, 0x01, 0x23, 0x01, 0x2F, 0x01, 0x24, 0x01, 0x30, 0x01, 0x14, 0x01, 0x31, 0x01, 0x15, 0x01
|
|
.byte 0x32, 0x01, 0x1D, 0x01, 0x33, 0x01, 0x1E, 0x01, 0x34, 0x01, 0x47, 0x01, 0x35, 0x01, 0x16, 0x01
|
|
.byte 0x36, 0x01, 0x17, 0x01, 0x37, 0x01, 0x1B, 0x01, 0x38, 0x01, 0x1C, 0x01, 0x39, 0x01, 0x40, 0x01
|
|
.byte 0x3A, 0x01, 0x41, 0x01, 0x3B, 0x01, 0x2C, 0x01, 0x3C, 0x01, 0x2D, 0x01, 0x3D, 0x01, 0x60, 0x01
|
|
.byte 0x3E, 0x01, 0x57, 0x01, 0x3F, 0x01, 0x58, 0x01, 0x40, 0x01, 0x2B, 0x01, 0x41, 0x01, 0x44, 0x01
|
|
.byte 0x42, 0x01, 0x2E, 0x01, 0x43, 0x01, 0x53, 0x01, 0x44, 0x01, 0x54, 0x01, 0x45, 0x01, 0x72, 0x01
|
|
.byte 0x46, 0x01, 0x55, 0x01, 0x47, 0x01, 0x56, 0x01, 0x48, 0x01, 0x5D, 0x01, 0x49, 0x01, 0x5E, 0x01
|
|
.byte 0x4A, 0x01, 0x3E, 0x01, 0x4B, 0x01, 0x3F, 0x01, 0x4C, 0x01, 0x48, 0x01, 0x4D, 0x01, 0x49, 0x01
|
|
.byte 0x4E, 0x01, 0x4A, 0x01, 0x4F, 0x01, 0x28, 0x01, 0x50, 0x01, 0x29, 0x01, 0x51, 0x01, 0x35, 0x01
|
|
.byte 0x52, 0x01, 0x36, 0x01, 0x53, 0x01, 0x42, 0x01, 0x54, 0x01, 0x43, 0x01, 0x55, 0x01, 0x6B, 0x01
|
|
.byte 0x56, 0x01, 0x6C, 0x01, 0x57, 0x01, 0x6D, 0x01, 0x58, 0x01, 0x4B, 0x01, 0x59, 0x01, 0x4C, 0x01
|
|
.byte 0x5A, 0x01, 0x69, 0x01, 0x5B, 0x01, 0x6A, 0x01, 0x5C, 0x01, 0x51, 0x01, 0x5D, 0x01, 0x52, 0x01
|
|
.byte 0x5E, 0x01, 0x2A, 0x01, 0x5F, 0x01, 0x45, 0x01, 0x60, 0x01, 0x46, 0x01, 0x61, 0x01, 0x37, 0x01
|
|
.byte 0x62, 0x01, 0x38, 0x01, 0x63, 0x01, 0x2F, 0x01, 0x64, 0x01, 0x33, 0x01, 0x65, 0x01, 0x34, 0x01
|
|
.byte 0x66, 0x01, 0x4D, 0x01, 0x67, 0x01, 0x4E, 0x01, 0x68, 0x01, 0x68, 0x01, 0x69, 0x01, 0x63, 0x01
|
|
.byte 0x6A, 0x01, 0x64, 0x01, 0x6B, 0x01, 0x3B, 0x01, 0x6C, 0x01, 0x1F, 0x01, 0x6D, 0x01, 0x20, 0x01
|
|
.byte 0x6E, 0x01, 0x21, 0x01, 0x6F, 0x01, 0x3C, 0x01, 0x70, 0x01, 0x3D, 0x01, 0x71, 0x01, 0x65, 0x01
|
|
.byte 0x72, 0x01, 0x25, 0x01, 0x73, 0x01, 0x26, 0x01, 0x74, 0x01, 0x27, 0x01, 0x75, 0x01, 0x6E, 0x01
|
|
.byte 0x76, 0x01, 0x6F, 0x01, 0x77, 0x01, 0x70, 0x01, 0x78, 0x01, 0x67, 0x01, 0x79, 0x01, 0x61, 0x01
|
|
.byte 0x7A, 0x01, 0x62, 0x01, 0x7B, 0x01, 0x50, 0x01, 0x7C, 0x01, 0x4F, 0x01, 0x7D, 0x01, 0x71, 0x01
|
|
.byte 0x7E, 0x01, 0x30, 0x01, 0x7F, 0x01, 0x31, 0x01, 0x80, 0x01, 0x32, 0x01, 0x81, 0x01, 0x5F, 0x01
|
|
.byte 0x82, 0x01, 0x39, 0x01, 0x83, 0x01, 0x3A, 0x01, 0x84, 0x01, 0x59, 0x01, 0x85, 0x01, 0x5A, 0x01
|
|
.byte 0x86, 0x01, 0x5B, 0x01, 0x87, 0x01, 0x5C, 0x01, 0x88, 0x01, 0x18, 0x01, 0x89, 0x01, 0x19, 0x01
|
|
.byte 0x8A, 0x01, 0x1A, 0x01, 0x8B, 0x01, 0x73, 0x01, 0x8C, 0x01, 0x74, 0x01, 0x8D, 0x01, 0x75, 0x01
|
|
.byte 0x8E, 0x01, 0x76, 0x01, 0x8F, 0x01, 0x77, 0x01, 0x90, 0x01, 0x78, 0x01, 0x91, 0x01, 0x79, 0x01
|
|
.byte 0x92, 0x01, 0x7A, 0x01, 0x93, 0x01, 0x7B, 0x01, 0x94, 0x01, 0x7E, 0x01, 0x95, 0x01, 0x7F, 0x01
|
|
.byte 0x96, 0x01, 0x80, 0x01, 0x97, 0x01, 0x7C, 0x01, 0x98, 0x01, 0x7D, 0x01, 0x99, 0x01, 0x81, 0x01
|
|
.byte 0x9A, 0x01, 0x82, 0x01, 0x9B, 0x01, 0x66, 0x01, 0x9C, 0x01, 0x9C, 0x01, 0x9D, 0x01, 0x9D, 0x01
|
|
.byte 0x9E, 0x01, 0x9E, 0x01, 0x9F, 0x01, 0x9F, 0x01, 0xA0, 0x01, 0xA0, 0x01, 0xA1, 0x01, 0xA1, 0x01
|
|
.byte 0xA2, 0x01, 0xA2, 0x01, 0xA3, 0x01, 0xA3, 0x01, 0xA4, 0x01, 0xA4, 0x01
|
|
|
|
ov74_0223CE9C: ; 0x0223CE9C
|
|
.ascii "EB5B"
|
|
.ascii "EC5B"
|
|
.ascii "ED5B"
|
|
.ascii "EE5B"
|
|
.ascii "EF5B"
|
|
.ascii "EG5B"
|
|
.ascii "EH5B"
|
|
.ascii "EI5B"
|
|
.ascii "EJ5B"
|
|
.ascii "EK5B"
|
|
.ascii "EL5B"
|
|
.ascii "EM5B"
|
|
.ascii "EP5B"
|
|
.ascii "EQ5B"
|
|
.ascii "ER5B"
|
|
.ascii "ES5B"
|
|
.ascii "ET5B"
|
|
.ascii "EU5B"
|
|
.ascii "EV5B"
|
|
.ascii "EW5B"
|
|
.ascii "\x00\x00\x00\x00"
|
|
ov74_0223CEF0:
|
|
.asciz "mywh_SYSSTATE_IDLE"
|
|
.balign 4, 0
|
|
ov74_0223CF04:
|
|
.asciz "mywh_SYSSTATE_BUSY"
|
|
.balign 4, 0
|
|
ov74_0223CF18:
|
|
.asciz "mywh_SYSSTATE_STOP"
|
|
.balign 4, 0
|
|
ov74_0223CF2C:
|
|
.asciz "mywh_SYSSTATE_ERROR"
|
|
.balign 4, 0
|
|
ov74_0223CF40:
|
|
.asciz "mywh_SYSSTATE_SCANNING"
|
|
.balign 4, 0
|
|
ov74_0223CF58:
|
|
.asciz "mywh_SYSSTATE_CONNECTED"
|
|
.balign 4, 0
|
|
ov74_0223CF70:
|
|
.asciz "mywh_SYSSTATE_KEYSHARING"
|
|
.balign 4, 0
|
|
ov74_0223CF8C:
|
|
.asciz "mywh_SYSSTATE_DATASHARING"
|
|
.balign 4, 0
|
|
ov74_0223CFA8:
|
|
.asciz "mywh_SYSSTATE_CONNECT_FAIL"
|
|
.balign 4, 0
|
|
ov74_0223CFC4:
|
|
.asciz "mywh_SYSSTATE_MEASURECHANNEL"
|
|
.balign 4, 0
|
|
|
|
ov74_0223CFE4: ; 0x0223CFE4
|
|
.word ov74_0223CF18
|
|
.word ov74_0223CEF0
|
|
.word ov74_0223CF40
|
|
.word ov74_0223CF04
|
|
.word ov74_0223CF58
|
|
.word ov74_0223CF8C
|
|
.word ov74_0223CF70
|
|
.word ov74_0223CFC4
|
|
.word ov74_0223CFA8
|
|
.word ov74_0223CF2C
|
|
|
|
ov74_0223D00C: ; 0x0223D00C
|
|
.asciz "%s -> "
|
|
.balign 4, 0
|
|
|
|
ov74_0223D014: ; 0x0223D014
|
|
.asciz "%s\n"
|
|
.balign 4, 0
|
|
|
|
ov74_0223D018: ; 0x0223D018
|
|
.asciz "not my parent ggid (%d != %d)\n"
|
|
.balign 4, 0
|
|
|
|
ov74_0223D038: ; 0x0223D038
|
|
.asciz "IPGE"
|
|
.balign 4, 0
|
|
|
|
ov74_0223D040: ; 0x0223D040
|
|
.asciz "K5WfPEw9T3cvqzHa"
|
|
.balign 4, 0
|
|
|
|
ov74_0223D054: ; 0x0223D054
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
|
|
.bss
|
|
|
|
ov74_0223D080:
|
|
.space 0x10
|
|
|
|
ov74_0223D090: ; 0x0223D090
|
|
.space 0x14
|
|
|
|
ov74_0223D0A4: ; 0x0223D0A4
|
|
.space 0x4
|
|
|
|
ov74_0223D0A8: ; 0x0223D0A8
|
|
.space 0x14
|
|
|
|
ov74_0223D0BC: ; 0x0223D0BC
|
|
.space 0x4
|
|
|
|
ov74_0223D0C0: ; 0x0223D0C0
|
|
.space 0x4
|
|
|
|
ov74_0223D0C4: ; 0x0223D0C4
|
|
.space 0x274
|
|
|
|
ov74_0223D338: ; 0x0223D338
|
|
.space 0x4
|
|
|
|
ov74_0223D33C: ; 0x0223D33C
|
|
.space 0x10
|
|
|
|
ov74_0223D34C: ; 0x0223D34C
|
|
.space 0x8
|
|
|
|
sPmAgbRomHeader: ; 0x0223D354
|
|
.space 0xFC
|
|
|
|
ov74_0223D450: ; 0x0223D450
|
|
.space 0x4
|
|
|
|
ov74_0223D454: ; 0x0223D454
|
|
.space 0x34
|
|
|
|
ov74_0223D488: ; 0x0223D488
|
|
.space 0x4
|
|
|
|
ov74_0223D48C: ; 0x0223D48C
|
|
.space 0x1C8
|
|
|
|
ov74_0223D654: ; 0x0223D654
|
|
.space 0xC80
|
|
|
|
ov74_0223E2D4: ; 0x0223E2D4
|
|
.space 0x28
|
|
|
|
ov74_0223E2FC: ; 0x0223E2FC
|
|
.space 0x8
|
|
|
|
ov74_0223E304: ; 0x0223E304
|
|
.space 0x14
|
|
|
|
ov74_0223E318: ; 0x0223E318
|
|
.space 0x6e0
|