pokeheartgold/asm/overlay_28.s

2836 lines
50 KiB
ArmAsm
Raw Permalink Normal View History

.include "asm/macros.inc"
2023-01-27 22:42:00 +00:00
.include "overlay_28.inc"
.include "global.inc"
.text
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225D520
2021-06-27 18:48:56 +00:00
ov28_0225D520: ; 0x0225D520
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r7, r1, #0
mov r0, #3
2021-06-18 12:29:26 +00:00
str r2, [sp]
2021-06-27 18:48:56 +00:00
mov r1, #8
lsl r2, r0, #0xf
2021-06-18 12:29:26 +00:00
str r3, [sp, #4]
bl CreateHeap
2021-06-27 18:48:56 +00:00
ldr r0, _0225D5E4 ; =0x04001050
mov r1, #0
2021-06-18 12:29:26 +00:00
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r1, #0xd
ldr r0, _0225D5E8 ; =ov28_0225DC2C
lsl r1, r1, #6
mov r2, #0xa
mov r3, #8
bl CreateSysTaskAndEnvironment
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2023-12-28 19:58:14 +00:00
bl SysTask_GetData
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-18 12:29:26 +00:00
str r5, [r4, #0x10]
ldr r0, [sp]
str r7, [r4, #0x14]
str r0, [r4, #0x18]
ldr r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
str r0, [r4, #0x1c]
2021-06-27 18:48:56 +00:00
mov r0, #0xcf
2021-06-18 12:29:26 +00:00
str r6, [r4, #0x20]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
2021-06-18 12:29:26 +00:00
str r1, [r4, r0]
ldr r0, [r4, #0x18]
2021-06-28 21:21:08 +00:00
bl ov01_021E7F54
2021-06-27 18:48:56 +00:00
mov r1, #0xcd
lsl r1, r1, #2
2021-06-18 12:29:26 +00:00
str r0, [r4, r1]
ldr r0, [r4, r1]
cmp r0, #1
bne _0225D5A6
ldr r0, [r4, #0x18]
add r1, sp, #8
2023-08-20 17:52:40 +00:00
bl FieldSystem_GetFacingObject
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #8]
2024-09-28 11:50:52 +00:00
bl MapObject_GetScriptID
bl ov01_021F6BD0
2021-06-18 12:29:26 +00:00
cmp r0, #1
beq _0225D59E
ldr r0, [sp, #8]
2024-04-19 17:29:36 +00:00
bl MapObject_GetSpriteID
bl ov01_021F6BB0
2021-06-18 12:29:26 +00:00
cmp r0, #1
bne _0225D5A6
_0225D59E:
2021-06-27 18:48:56 +00:00
mov r0, #0xcd
mov r1, #0
lsl r0, r0, #2
2021-06-18 12:29:26 +00:00
str r1, [r4, r0]
_0225D5A6:
2021-06-27 18:48:56 +00:00
mov r0, #0xfd
mov r1, #8
2023-06-04 17:22:55 +00:00
bl NARC_New
2021-06-27 18:48:56 +00:00
add r7, r0, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D628
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D650
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r7, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D6FC
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D764
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D7E0
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r7, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D898
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2023-06-04 17:27:11 +00:00
bl NARC_Delete
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-18 12:29:26 +00:00
add sp, #0xc
pop {r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_0225D5E4: .word 0x04001050
_0225D5E8: .word ov28_0225DC2C
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D520
thumb_func_start ov28_0225D5EC
2021-06-27 18:48:56 +00:00
ov28_0225D5EC: ; 0x0225D5EC
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r1, #0
add r0, r5, #0
2023-12-28 19:58:14 +00:00
bl SysTask_GetData
2021-06-27 18:48:56 +00:00
add r4, r0, #0
bl DowsingMchn_FreeHiddenItemLocs
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D8D0
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D878
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D7C4
ldr r0, [r4, #0x10]
bl ov28_0225D6E0
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl DestroySysTaskAndEnvironment
2021-06-27 18:48:56 +00:00
mov r0, #8
bl DestroyHeap
2021-06-24 22:23:33 +00:00
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D5EC
thumb_func_start ov28_0225D624
2021-06-27 18:48:56 +00:00
ov28_0225D624: ; 0x0225D624
mov r0, #1
2021-06-24 22:23:33 +00:00
bx lr
thumb_func_end ov28_0225D624
thumb_func_start ov28_0225D628
2021-06-27 18:48:56 +00:00
ov28_0225D628: ; 0x0225D628
2021-06-18 12:29:26 +00:00
push {r3, lr}
2021-06-27 18:48:56 +00:00
mov r0, #0x80
bl GX_SetBankForSubBG
2021-06-27 18:48:56 +00:00
mov r0, #1
lsl r0, r0, #8
bl GX_SetBankForSubOBJ
2021-06-27 18:48:56 +00:00
ldr r2, _0225D648 ; =0x04001000
ldr r0, _0225D64C ; =0xFFCFFFEF
2021-06-18 12:29:26 +00:00
ldr r1, [r2]
2021-06-27 18:48:56 +00:00
and r1, r0
mov r0, #0x10
orr r0, r1
2021-06-18 12:29:26 +00:00
str r0, [r2]
pop {r3, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225D648: .word 0x04001000
_0225D64C: .word 0xFFCFFFEF
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D628
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225D650
2021-06-27 18:48:56 +00:00
ov28_0225D650: ; 0x0225D650
2021-06-18 12:29:26 +00:00
push {r4, r5, lr}
sub sp, #0x54
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #0
2021-09-18 22:02:59 +00:00
bl GXS_SetGraphicsMode
ldr r5, _0225D6D4 ; =ov28_0225EAC0
2021-06-18 12:29:26 +00:00
add r3, sp, #0x38
2021-06-27 18:48:56 +00:00
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}
2021-06-18 12:29:26 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #4
2021-06-18 12:29:26 +00:00
str r0, [r3]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r3, #0
2021-09-16 00:11:18 +00:00
bl InitBgFromTemplate
2021-06-27 18:48:56 +00:00
mov r0, #4
mov r1, #0x20
mov r2, #0
mov r3, #8
2021-09-16 00:11:18 +00:00
bl BG_ClearCharDataRange
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #4
2021-09-18 16:36:50 +00:00
bl BgClearTilemapBufferAndCommit
ldr r5, _0225D6D8 ; =ov28_0225EADC
2021-06-18 12:29:26 +00:00
add r3, sp, #0x1c
2021-06-27 18:48:56 +00:00
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}
2021-06-18 12:29:26 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-18 12:29:26 +00:00
str r0, [r3]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r3, #0
2021-09-16 00:11:18 +00:00
bl InitBgFromTemplate
ldr r5, _0225D6DC ; =ov28_0225EAF8
2021-06-18 12:29:26 +00:00
add r3, sp, #0
2021-06-27 18:48:56 +00:00
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}
2021-06-18 12:29:26 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-06-18 12:29:26 +00:00
str r0, [r3]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r3, #0
2021-09-16 00:11:18 +00:00
bl InitBgFromTemplate
2021-06-18 12:29:26 +00:00
add sp, #0x54
pop {r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_0225D6D4: .word ov28_0225EAC0
_0225D6D8: .word ov28_0225EADC
_0225D6DC: .word ov28_0225EAF8
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D650
thumb_func_start ov28_0225D6E0
2021-06-27 18:48:56 +00:00
ov28_0225D6E0: ; 0x0225D6E0
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r1, #6
2021-09-16 00:11:18 +00:00
bl FreeBgTilemapBuffer
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #5
2021-09-16 00:11:18 +00:00
bl FreeBgTilemapBuffer
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #4
2021-09-16 00:11:18 +00:00
bl FreeBgTilemapBuffer
2021-06-24 22:23:33 +00:00
pop {r4, pc}
thumb_func_end ov28_0225D6E0
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225D6FC
2021-06-27 18:48:56 +00:00
ov28_0225D6FC: ; 0x0225D6FC
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-18 12:29:26 +00:00
ldr r2, [r5, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #2
mov r3, #5
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadCharDataFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-18 12:29:26 +00:00
str r1, [sp]
str r1, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r3, #5
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadScrnDataFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-18 12:29:26 +00:00
str r1, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
ldr r2, [r5, #0x10]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r3, #6
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_LoadScrnDataFromOpenNarc
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-18 12:29:26 +00:00
str r3, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #3
mov r2, #4
2022-01-27 21:18:13 +00:00
bl GfGfxLoader_GXLoadPalFromOpenNarc
2021-06-18 12:29:26 +00:00
add sp, #0x10
pop {r3, r4, r5, pc}
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D6FC
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225D764
2021-06-27 18:48:56 +00:00
ov28_0225D764: ; 0x0225D764
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0
mov r1, #0x1b
mov r2, #0xc4
mov r3, #8
2021-08-13 18:03:14 +00:00
bl NewMsgDataFromNarc
2021-06-27 18:48:56 +00:00
mov r1, #0x11
add r4, r0, #0
2021-08-14 00:11:40 +00:00
bl NewString_ReadMsgData
2021-06-27 18:48:56 +00:00
mov r1, #0x69
lsl r1, r1, #2
2021-06-18 12:29:26 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x12
2021-08-14 00:11:40 +00:00
bl NewString_ReadMsgData
2021-06-27 18:48:56 +00:00
mov r1, #0x1a
lsl r1, r1, #4
2021-06-18 12:29:26 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x16
2021-08-14 00:11:40 +00:00
bl NewString_ReadMsgData
2021-06-27 18:48:56 +00:00
mov r1, #0x6a
lsl r1, r1, #2
2021-06-18 12:29:26 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x17
2021-08-14 00:11:40 +00:00
bl NewString_ReadMsgData
2021-06-27 18:48:56 +00:00
mov r1, #0x6b
lsl r1, r1, #2
2021-06-18 12:29:26 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0x15
2021-08-14 00:11:40 +00:00
bl NewString_ReadMsgData
2021-06-27 18:48:56 +00:00
mov r1, #0x1b
lsl r1, r1, #4
2021-06-18 12:29:26 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-08-13 18:03:14 +00:00
bl DestroyMsgData
2021-06-18 12:29:26 +00:00
pop {r3, r4, r5, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D764
thumb_func_start ov28_0225D7C4
2021-06-27 18:48:56 +00:00
ov28_0225D7C4: ; 0x0225D7C4
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
mov r6, #0x1a
add r5, r0, #0
mov r4, #0
lsl r6, r6, #4
2021-06-24 22:23:33 +00:00
_0225D7CE:
ldr r0, [r5, r6]
2023-06-04 17:27:11 +00:00
bl String_Delete
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-24 22:23:33 +00:00
cmp r4, #5
blo _0225D7CE
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D7C4
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225D7E0
2021-06-27 18:48:56 +00:00
ov28_0225D7E0: ; 0x0225D7E0
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0x14
2021-06-27 18:48:56 +00:00
add r7, r0, #0
mov r0, #4
mov r1, #8
2022-03-10 15:29:01 +00:00
bl FontID_Alloc
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
mov r0, #0x6d
lsl r0, r0, #2
ldr r6, _0225D86C ; =ov28_0225EB52
2021-06-27 18:48:56 +00:00
add r4, r7, r0
add r5, r7, #0
2021-06-18 12:29:26 +00:00
_0225D7FC:
ldr r0, [r7, #0x10]
2021-06-27 18:48:56 +00:00
add r1, r4, #0
add r2, r6, #0
2021-08-13 18:03:14 +00:00
bl AddWindow
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0
2021-08-13 14:06:39 +00:00
bl FillWindowPixelBuffer
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0xff
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
ldr r0, _0225D870 ; =0x000F0100
mov r2, #0x1a
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #4
2021-06-18 12:29:26 +00:00
ldr r2, [r5, r2]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #4
mov r3, #0
bl AddTextPrinterParameterizedWithColor
2021-06-27 18:48:56 +00:00
add r0, r4, #0
bl CopyWindowPixelsToVram_TextMode
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x10]
2021-06-27 18:48:56 +00:00
add r6, #8
add r0, r0, #1
add r4, #0x10
add r5, r5, #4
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x10]
cmp r0, #5
blo _0225D7FC
2021-06-27 18:48:56 +00:00
mov r0, #0x6d
lsl r0, r0, #2
add r2, r7, r0
mov r0, #0xcd
lsl r0, r0, #2
2021-06-18 12:29:26 +00:00
ldr r1, [r7, r0]
ldr r0, _0225D874 ; =ov28_0225EB7C
2021-06-18 12:29:26 +00:00
ldrb r0, [r0, r1]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #4
add r0, r2, r0
bl ScheduleWindowCopyToVram
2021-06-27 18:48:56 +00:00
mov r0, #0x7d
lsl r0, r0, #2
add r0, r7, r0
bl ScheduleWindowCopyToVram
2021-06-18 12:29:26 +00:00
add sp, #0x14
pop {r4, r5, r6, r7, pc}
nop
_0225D86C: .word ov28_0225EB52
2021-06-27 18:48:56 +00:00
_0225D870: .word 0x000F0100
_0225D874: .word ov28_0225EB7C
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D7E0
thumb_func_start ov28_0225D878
2021-06-27 18:48:56 +00:00
ov28_0225D878: ; 0x0225D878
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x6d
lsl r1, r1, #2
mov r4, #0
add r5, r0, r1
2021-06-24 22:23:33 +00:00
_0225D882:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-08-13 18:03:14 +00:00
bl RemoveWindow
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, #0x10
2021-06-24 22:23:33 +00:00
cmp r4, #5
blo _0225D882
2021-06-27 18:48:56 +00:00
mov r0, #4
2022-03-10 15:29:01 +00:00
bl FontID_Release
2021-06-24 22:23:33 +00:00
pop {r3, r4, r5, pc}
thumb_func_end ov28_0225D878
thumb_func_start ov28_0225D898
2021-06-27 18:48:56 +00:00
ov28_0225D898: ; 0x0225D898
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r4, r1, #0
mov r0, #8
add r1, r5, #0
add r1, #0x28
add r2, r0, #0
bl G2dRenderer_Init
2021-06-18 12:29:26 +00:00
str r0, [r5, #0x24]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r2, #1
add r0, #0x28
mov r1, #0
lsl r2, r2, #0x14
bl G2dRenderer_SetSubSurfaceCoords
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D8EC
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DA74
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DB8C
2021-06-18 12:29:26 +00:00
pop {r3, r4, r5, pc}
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D898
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225D8D0
2021-06-27 18:48:56 +00:00
ov28_0225D8D0: ; 0x0225D8D0
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DBFC
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DB54
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225D910
ldr r0, [r4, #0x24]
2023-09-03 20:57:28 +00:00
bl SpriteList_Delete
2021-06-24 22:23:33 +00:00
pop {r4, pc}
thumb_func_end ov28_0225D8D0
thumb_func_start ov28_0225D8EC
2021-06-27 18:48:56 +00:00
ov28_0225D8EC: ; 0x0225D8EC
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
mov r6, #0x15
add r5, r0, #0
mov r4, #0
mov r7, #2
lsl r6, r6, #4
2021-06-18 12:29:26 +00:00
_0225D8F8:
2021-06-27 18:48:56 +00:00
add r0, r7, #0
add r1, r4, #0
mov r2, #8
bl Create2DGfxResObjMan
2021-06-18 12:29:26 +00:00
str r0, [r5, r6]
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-18 12:29:26 +00:00
cmp r4, #4
blo _0225D8F8
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D8EC
thumb_func_start ov28_0225D910
2021-06-27 18:48:56 +00:00
ov28_0225D910: ; 0x0225D910
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
mov r6, #0x15
add r5, r0, #0
mov r4, #0
lsl r6, r6, #4
2021-06-24 22:23:33 +00:00
_0225D91A:
ldr r0, [r5, r6]
bl Destroy2DGfxResObjMan
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-24 22:23:33 +00:00
cmp r4, #4
blo _0225D91A
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D910
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225D92C
2021-06-27 18:48:56 +00:00
ov28_0225D92C: ; 0x0225D92C
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r6, r2, #0
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #2
add r4, r1, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
add r2, r3, #0
2021-06-18 12:29:26 +00:00
ldr r0, [r4]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
mov r3, #1
bl AddCharResObjFromOpenNarc
2021-06-18 12:29:26 +00:00
str r0, [r5]
2021-06-27 19:11:25 +00:00
bl sub_0200ADA4
2021-06-18 12:29:26 +00:00
ldr r0, [r5]
2021-06-27 19:11:25 +00:00
bl sub_0200A740
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x34]
ldr r2, [sp, #0x20]
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
ldr r0, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
ldr r0, [r4, #4]
2021-06-27 18:48:56 +00:00
mov r3, #0
bl AddPlttResObjFromOpenNarc
2021-06-18 12:29:26 +00:00
str r0, [r5, #4]
2021-06-27 19:11:25 +00:00
bl sub_0200B00C
2021-06-18 12:29:26 +00:00
ldr r0, [r5, #4]
2021-06-27 19:11:25 +00:00
bl sub_0200A740
2021-06-18 12:29:26 +00:00
ldr r0, [sp, #0x38]
ldr r2, [sp, #0x24]
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
ldr r0, [r4, #8]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
mov r3, #1
bl AddCellOrAnimResObjFromOpenNarc
2021-06-18 12:29:26 +00:00
str r0, [r5, #8]
ldr r0, [sp, #0x3c]
ldr r2, [sp, #0x28]
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #3
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #8
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
ldr r0, [r4, #0xc]
2021-06-27 18:48:56 +00:00
add r1, r6, #0
mov r3, #1
bl AddCellOrAnimResObjFromOpenNarc
2021-06-18 12:29:26 +00:00
str r0, [r5, #0xc]
add sp, #0x10
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D92C
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225D9BC
2021-06-27 18:48:56 +00:00
ov28_0225D9BC: ; 0x0225D9BC
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-18 12:29:26 +00:00
ldr r0, [r5]
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r7, r2, #0
add r6, r3, #0
bl GF2DGfxResObj_GetResID
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x2c]
ldr r0, [r5, #4]
bl GF2DGfxResObj_GetResID
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x30]
ldr r0, [r5, #8]
bl GF2DGfxResObj_GetResID
2021-06-18 12:29:26 +00:00
str r0, [sp, #0x34]
ldr r0, [r5, #0xc]
bl GF2DGfxResObj_GetResID
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0
mvn r0, r0
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
str r6, [sp, #0x10]
ldr r1, [r4]
ldr r2, [sp, #0x30]
str r1, [sp, #0x14]
ldr r1, [r4, #4]
ldr r3, [sp, #0x34]
str r1, [sp, #0x18]
ldr r1, [r4, #8]
str r1, [sp, #0x1c]
ldr r1, [r4, #0xc]
str r1, [sp, #0x20]
str r0, [sp, #0x24]
str r0, [sp, #0x28]
ldr r1, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
bl CreateSpriteResourcesHeader
2021-06-18 12:29:26 +00:00
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225D9BC
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225DA1C
2021-06-27 18:48:56 +00:00
ov28_0225DA1C: ; 0x0225DA1C
2021-06-18 12:29:26 +00:00
push {r4, r5, r6, lr}
sub sp, #0x30
2021-06-27 18:48:56 +00:00
add r5, r3, #0
2021-06-18 12:29:26 +00:00
ldr r3, [r0, #0x24]
2021-06-27 18:48:56 +00:00
lsl r6, r1, #2
2021-06-18 12:29:26 +00:00
str r3, [sp]
str r2, [sp, #4]
ldrb r2, [r5]
2021-06-27 18:48:56 +00:00
lsl r2, r2, #0xc
2021-06-18 12:29:26 +00:00
str r2, [sp, #8]
ldrb r2, [r5, #1]
2021-06-27 18:48:56 +00:00
lsl r3, r2, #0xc
mov r2, #1
lsl r2, r2, #0x14
add r3, r3, r2
lsr r2, r2, #8
2021-06-18 12:29:26 +00:00
str r3, [sp, #0xc]
2021-06-27 18:48:56 +00:00
mov r3, #0
2021-06-18 12:29:26 +00:00
str r3, [sp, #0x10]
str r2, [sp, #0x14]
str r2, [sp, #0x18]
str r2, [sp, #0x1c]
add r2, sp, #0
strh r3, [r2, #0x20]
ldrb r2, [r5, #2]
str r2, [sp, #0x24]
2021-06-27 18:48:56 +00:00
mov r2, #2
2021-06-18 12:29:26 +00:00
str r2, [sp, #0x28]
2021-06-27 18:48:56 +00:00
mov r2, #8
2021-06-18 12:29:26 +00:00
str r2, [sp, #0x2c]
2021-06-27 18:48:56 +00:00
mov r2, #6
lsl r2, r2, #6
add r4, r0, r2
2021-06-18 12:29:26 +00:00
add r0, sp, #0
2024-09-06 15:58:35 +00:00
bl Sprite_CreateAffine
2021-06-18 12:29:26 +00:00
str r0, [r4, r6]
ldrb r1, [r5, #3]
ldr r0, [r4, r6]
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-18 12:29:26 +00:00
add sp, #0x30
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DA1C
2021-06-18 12:29:26 +00:00
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225DA74
2021-06-27 18:48:56 +00:00
ov28_0225DA74: ; 0x0225DA74
2021-06-18 12:29:26 +00:00
push {r4, r5, lr}
sub sp, #0x44
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0xe
mov r1, #8
2023-06-04 17:22:55 +00:00
bl NARC_New
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #7
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #0x44
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #0x45
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #4
ldr r1, _0225DB40 ; =0x000001F2
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
str r1, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
sub r0, #0x92
sub r1, #0xa2
add r0, r5, r0
add r1, r5, r1
add r2, r4, #0
mov r3, #0x46
2021-06-24 22:23:33 +00:00
bl ov28_0225D92C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2023-06-04 17:27:11 +00:00
bl NARC_Delete
2021-06-27 18:48:56 +00:00
mov r1, #0x16
lsl r1, r1, #4
add r0, r5, r1
sub r1, #0x10
add r1, r5, r1
2021-06-18 12:29:26 +00:00
add r2, sp, #0x20
2021-06-27 18:48:56 +00:00
mov r3, #1
2021-06-24 22:23:33 +00:00
bl ov28_0225D9BC
ldr r3, _0225DB44 ; =ov28_0225EA9A
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #0
2021-06-18 12:29:26 +00:00
add r2, sp, #0x20
2021-06-24 22:23:33 +00:00
bl ov28_0225DA1C
ldr r3, _0225DB48 ; =ov28_0225EA9E
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #1
2021-06-18 12:29:26 +00:00
add r2, sp, #0x20
2021-06-24 22:23:33 +00:00
bl ov28_0225DA1C
ldr r3, _0225DB4C ; =ov28_0225EAA2
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #2
2021-06-18 12:29:26 +00:00
add r2, sp, #0x20
2021-06-24 22:23:33 +00:00
bl ov28_0225DA1C
ldr r3, _0225DB50 ; =ov28_0225EAA6
2021-06-27 18:48:56 +00:00
add r0, r5, #0
mov r1, #3
2021-06-18 12:29:26 +00:00
add r2, sp, #0x20
2021-06-24 22:23:33 +00:00
bl ov28_0225DA1C
2021-06-18 12:29:26 +00:00
ldr r0, [r5, #0x18]
2023-08-20 17:52:40 +00:00
bl FieldSystem_GetPlayerAvatar
bl PlayerAvatar_CheckRunningShoesLock
2021-06-18 12:29:26 +00:00
cmp r0, #0
bne _0225DB22
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #3
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-27 18:48:56 +00:00
mov r0, #0x62
lsl r0, r0, #2
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #0xb
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-18 12:29:26 +00:00
add sp, #0x44
pop {r4, r5, pc}
_0225DB22:
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #4
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-27 18:48:56 +00:00
mov r0, #0x62
lsl r0, r0, #2
2021-06-18 12:29:26 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #7
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-18 12:29:26 +00:00
add sp, #0x44
pop {r4, r5, pc}
nop
2021-06-27 18:48:56 +00:00
_0225DB40: .word 0x000001F2
_0225DB44: .word ov28_0225EA9A
_0225DB48: .word ov28_0225EA9E
_0225DB4C: .word ov28_0225EAA2
_0225DB50: .word ov28_0225EAA6
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DA74
thumb_func_start ov28_0225DB54
2021-06-27 18:48:56 +00:00
ov28_0225DB54: ; 0x0225DB54
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #6
lsl r0, r0, #6
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2023-01-10 08:17:26 +00:00
bl Sprite_Delete
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2023-01-10 08:17:26 +00:00
bl Sprite_Delete
2021-06-27 18:48:56 +00:00
mov r0, #0x62
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2023-01-10 08:17:26 +00:00
bl Sprite_Delete
2021-06-27 18:48:56 +00:00
mov r0, #0x16
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200AEB0
2021-06-27 18:48:56 +00:00
mov r0, #0x59
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200B0A8
2021-06-24 22:23:33 +00:00
pop {r4, pc}
thumb_func_end ov28_0225DB54
thumb_func_start ov28_0225DB8C
2021-06-27 18:48:56 +00:00
ov28_0225DB8C: ; 0x0225DB8C
2021-06-18 12:29:26 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x48
2021-06-27 18:48:56 +00:00
add r5, r0, #0
add r2, r1, #0
2021-06-18 12:29:26 +00:00
add r1, sp, #0x20
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-18 12:29:26 +00:00
strb r0, [r1]
strb r0, [r1, #1]
strb r0, [r1, #2]
strb r0, [r1, #3]
2021-06-27 18:48:56 +00:00
mov r0, #7
2021-06-18 12:29:26 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #5
2021-06-18 12:29:26 +00:00
str r0, [sp, #4]
2021-06-27 18:48:56 +00:00
mov r0, #6
2021-06-18 12:29:26 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #9
ldr r1, _0225DBF8 ; =0x000001F3
2021-06-18 12:29:26 +00:00
str r0, [sp, #0xc]
str r1, [sp, #0x10]
str r1, [sp, #0x14]
str r1, [sp, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
2021-06-18 12:29:26 +00:00
str r1, [sp, #0x1c]
2021-06-27 18:48:56 +00:00
sub r0, #0x83
sub r1, #0xa3
add r0, r5, r0
add r1, r5, r1
mov r3, #4
2021-06-24 22:23:33 +00:00
bl ov28_0225D92C
2021-06-27 18:48:56 +00:00
mov r1, #0x17
lsl r1, r1, #4
add r0, r5, r1
sub r1, #0x20
add r1, r5, r1
2021-06-18 12:29:26 +00:00
add r2, sp, #0x24
2021-06-27 18:48:56 +00:00
mov r3, #2
2021-06-24 22:23:33 +00:00
bl ov28_0225D9BC
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-18 12:29:26 +00:00
add r6, sp, #0x24
add r7, sp, #0x20
_0225DBE2:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r4, #4
add r2, r6, #0
add r3, r7, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DA1C
2021-06-27 18:48:56 +00:00
add r4, r4, #1
2021-06-18 12:29:26 +00:00
cmp r4, #4
blo _0225DBE2
add sp, #0x48
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225DBF8: .word 0x000001F3
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DB8C
thumb_func_start ov28_0225DBFC
2021-06-27 18:48:56 +00:00
ov28_0225DBFC: ; 0x0225DBFC
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r7, r0, #0
mov r6, #0x19
mov r4, #0
add r5, r7, #0
lsl r6, r6, #4
2021-06-24 22:23:33 +00:00
_0225DC08:
ldr r0, [r5, r6]
2023-01-10 08:17:26 +00:00
bl Sprite_Delete
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-24 22:23:33 +00:00
cmp r4, #4
blo _0225DC08
2021-06-27 18:48:56 +00:00
mov r0, #0x17
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r0, [r7, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200AEB0
2021-06-27 18:48:56 +00:00
mov r0, #0x5d
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r7, r0]
2021-06-27 19:11:25 +00:00
bl sub_0200B0A8
2021-06-24 22:23:33 +00:00
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov28_0225DBFC
thumb_func_start ov28_0225DC2C
2021-06-27 18:48:56 +00:00
ov28_0225DC2C: ; 0x0225DC2C
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
2021-06-24 22:23:33 +00:00
ldr r0, [r4, #0x18]
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r1, #0xd2
2021-06-24 22:23:33 +00:00
ldrb r1, [r1]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x18
lsr r1, r1, #0x1f
2021-06-24 22:23:33 +00:00
beq _0225DC56
2021-06-27 19:11:25 +00:00
bl sub_0203E13C
2021-06-24 22:23:33 +00:00
cmp r0, #0
beq _0225DC56
ldr r2, [r4, #0x18]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
add r0, #0xd2
2021-06-24 22:23:33 +00:00
ldrb r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #0x80
add r2, #0xd2
bic r1, r0
2021-06-24 22:23:33 +00:00
strb r1, [r2]
_0225DC56:
2021-06-27 18:48:56 +00:00
mov r0, #0xcf
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
cmp r0, #0
bne _0225DC76
ldr r0, _0225DD1C ; =ov28_0225EA88
2023-12-25 04:36:40 +00:00
bl TouchscreenHitbox_FindHitboxAtTouchNew
2021-06-27 18:48:56 +00:00
mov r1, #0
mvn r1, r1
2021-06-24 22:23:33 +00:00
cmp r0, r1
beq _0225DC76
2021-06-27 18:48:56 +00:00
mov r0, #0xcf
mov r1, #1
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
str r1, [r4, r0]
_0225DC76:
ldr r0, [r4, #0x18]
2023-08-20 17:52:40 +00:00
bl FieldSystem_TaskIsRunning
2021-06-24 22:23:33 +00:00
cmp r0, #1
beq _0225DC98
ldr r0, _0225DD1C ; =ov28_0225EA88
2023-12-25 04:36:40 +00:00
bl TouchscreenHitbox_FindHitboxAtTouchHeld
2021-06-27 18:48:56 +00:00
mov r1, #0
mvn r1, r1
2021-06-24 22:23:33 +00:00
cmp r0, r1
beq _0225DC98
2021-06-27 18:48:56 +00:00
mov r0, #0xcf
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
cmp r0, #0
bne _0225DCD0
_0225DC98:
2021-06-27 18:48:56 +00:00
mov r1, #0
add r0, r4, #0
mvn r1, r1
2021-06-24 22:23:33 +00:00
bl ov28_0225E31C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E578
2021-06-27 18:48:56 +00:00
mov r2, #0x93
lsl r2, r2, #2
2021-06-24 22:23:33 +00:00
ldrh r1, [r4, r2]
2021-06-27 18:48:56 +00:00
ldr r0, _0225DD20 ; =0xFFFF7FFF
and r0, r1
2021-06-24 22:23:33 +00:00
strh r0, [r4, r2]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
mov r1, #0
add r0, #0xec
2021-06-24 22:23:33 +00:00
strh r1, [r4, r0]
2021-06-27 18:48:56 +00:00
add r0, r2, #0
add r0, #0xee
2021-06-24 22:23:33 +00:00
strh r1, [r4, r0]
2021-06-27 18:48:56 +00:00
add r2, #0xf0
ldr r0, _0225DD24 ; =0x0000093D
2021-06-24 22:23:33 +00:00
str r1, [r4, r2]
bl StopSE
2021-06-24 22:23:33 +00:00
b _0225DCF6
_0225DCD0:
cmp r0, #1
bne _0225DCF6
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E7D4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E1A4
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #1
2021-06-24 22:23:33 +00:00
bl ov28_0225E31C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
mov r1, #1
2021-06-24 22:23:33 +00:00
bl ov28_0225E578
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E730
_0225DCF6:
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E3BC
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E43C
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E900
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E938
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E9E0
ldr r0, [r4, #0x24]
2024-09-06 15:58:35 +00:00
bl SpriteList_RenderAndAnimateSprites
2021-06-24 22:23:33 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_0225DD1C: .word ov28_0225EA88
2021-06-27 18:48:56 +00:00
_0225DD20: .word 0xFFFF7FFF
_0225DD24: .word 0x0000093D
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DC2C
thumb_func_start DowsingMchn_GetHiddenItemLocs
DowsingMchn_GetHiddenItemLocs: ; 0x0225DD28
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [r4, #0x18]
2021-06-27 18:48:56 +00:00
mov r1, #8
2021-12-23 02:23:44 +00:00
bl AllocAndFetchNearbyHiddenItems
2021-06-27 18:48:56 +00:00
mov r1, #0x81
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
str r0, [r4, r1]
pop {r4, pc}
thumb_func_end DowsingMchn_GetHiddenItemLocs
2021-06-24 22:23:33 +00:00
thumb_func_start DowsingMchn_FreeHiddenItemLocs
DowsingMchn_FreeHiddenItemLocs: ; 0x0225DD3C
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
mov r0, #0x81
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
cmp r0, #0
beq _0225DD56
2021-08-12 19:28:01 +00:00
bl FreeToHeap
2021-06-27 18:48:56 +00:00
mov r0, #0x81
mov r1, #0
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
str r1, [r4, r0]
_0225DD56:
pop {r4, pc}
thumb_func_end DowsingMchn_FreeHiddenItemLocs
2021-06-24 22:23:33 +00:00
thumb_func_start ov28_0225DD58
2021-06-27 18:48:56 +00:00
ov28_0225DD58: ; 0x0225DD58
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, r7, lr}
sub sp, #0xc
2021-06-27 18:48:56 +00:00
add r5, r0, #0
bl DowsingMchn_GetHiddenItemLocs
2021-06-27 18:48:56 +00:00
mov r0, #0x83
mov r4, #0
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
str r4, [r5, r0]
_0225DD6A:
2021-06-27 18:48:56 +00:00
mov r0, #0x81
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r6, r0, r4
2021-06-24 22:23:33 +00:00
ldrb r0, [r6, #4]
cmp r0, #0xff
beq _0225DDF6
2021-06-27 18:48:56 +00:00
mov r0, #0x83
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
cmp r0, #0
bne _0225DDBA
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-24 22:23:33 +00:00
ldrsh r0, [r6, r0]
str r0, [sp, #4]
bl abs
2021-06-27 18:48:56 +00:00
add r7, r0, #0
mov r0, #2
2021-06-24 22:23:33 +00:00
ldrsh r0, [r6, r0]
bl abs
2021-06-27 18:48:56 +00:00
add r0, r7, r0
lsl r0, r0, #0x10
lsr r7, r0, #0x10
mov r0, #0x82
2021-06-24 22:23:33 +00:00
ldr r1, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
strh r1, [r5, r0]
2021-06-27 18:48:56 +00:00
sub r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r1, r0, r4
mov r0, #2
2021-06-24 22:23:33 +00:00
ldrsh r1, [r1, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225DE00 ; =0x0000020A
2021-06-24 22:23:33 +00:00
strh r1, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #1
add r0, r0, #2
2021-06-24 22:23:33 +00:00
str r1, [r5, r0]
b _0225DDF2
_0225DDBA:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-24 22:23:33 +00:00
ldrsh r0, [r6, r0]
str r0, [sp]
bl abs
2021-06-24 22:23:33 +00:00
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #2
2021-06-24 22:23:33 +00:00
ldrsh r0, [r6, r0]
bl abs
2021-06-24 22:23:33 +00:00
ldr r1, [sp, #8]
2021-06-27 18:48:56 +00:00
add r0, r1, r0
lsl r0, r0, #0x10
lsr r0, r0, #0x10
2021-06-24 22:23:33 +00:00
cmp r7, r0
bls _0225DDF2
2021-06-27 18:48:56 +00:00
add r7, r0, #0
mov r0, #0x82
2021-06-24 22:23:33 +00:00
ldr r1, [sp]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
strh r1, [r5, r0]
2021-06-27 18:48:56 +00:00
sub r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r1, r0, r4
mov r0, #2
2021-06-24 22:23:33 +00:00
ldrsh r1, [r1, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225DE00 ; =0x0000020A
2021-06-24 22:23:33 +00:00
strh r1, [r5, r0]
_0225DDF2:
2021-06-27 18:48:56 +00:00
add r4, r4, #6
2021-06-24 22:23:33 +00:00
b _0225DD6A
_0225DDF6:
2021-06-27 18:48:56 +00:00
add r0, r5, #0
bl DowsingMchn_FreeHiddenItemLocs
2021-06-24 22:23:33 +00:00
add sp, #0xc
pop {r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225DE00: .word 0x0000020A
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DD58
thumb_func_start ov28_0225DE04
2021-06-27 18:48:56 +00:00
ov28_0225DE04: ; 0x0225DE04
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r4, r1, #0
add r5, r0, #0
lsl r0, r4, #0x10
lsr r0, r0, #0x10
2022-01-11 19:36:20 +00:00
bl GF_CosDeg
2021-06-27 18:48:56 +00:00
mov r2, #0x11
asr r1, r0, #0x1f
lsl r2, r2, #0xe
mov r3, #0
2021-08-11 14:29:41 +00:00
bl _ll_mul
2021-06-27 18:48:56 +00:00
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
mov r0, #0x15
lsl r0, r0, #0xe
add r0, r1, r0
2021-06-24 22:23:33 +00:00
str r0, [r5]
2021-06-27 18:48:56 +00:00
lsl r0, r4, #0x10
lsr r0, r0, #0x10
2022-01-11 19:36:20 +00:00
bl GF_SinDeg
2021-06-27 18:48:56 +00:00
mov r2, #0x11
asr r1, r0, #0x1f
lsl r2, r2, #0xe
mov r3, #0
2021-08-11 14:29:41 +00:00
bl _ll_mul
2021-06-27 18:48:56 +00:00
mov r2, #2
mov r3, #0
lsl r2, r2, #0xa
add r2, r0, r2
adc r1, r3
lsl r0, r1, #0x14
lsr r1, r2, #0xc
orr r1, r0
mov r0, #0x59
lsl r0, r0, #0xe
add r0, r1, r0
2021-06-24 22:23:33 +00:00
str r0, [r5, #4]
pop {r3, r4, r5, pc}
thumb_func_end ov28_0225DE04
thumb_func_start ov28_0225DE64
2021-06-27 18:48:56 +00:00
ov28_0225DE64: ; 0x0225DE64
add r2, r0, #0
sub r1, #0x64
2021-08-19 18:13:23 +00:00
ldr r3, _0225DE74 ; =FX_Atan2Idx
2021-06-27 18:48:56 +00:00
sub r2, #0x54
lsl r0, r1, #0xc
lsl r1, r2, #0xc
2021-06-24 22:23:33 +00:00
bx r3
nop
2021-08-19 18:13:23 +00:00
_0225DE74: .word FX_Atan2Idx
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DE64
thumb_func_start ov28_0225DE78
2021-06-27 18:48:56 +00:00
ov28_0225DE78: ; 0x0225DE78
2021-08-19 18:13:23 +00:00
ldr r3, _0225DE84 ; =FX_Atan2Idx
2021-06-27 18:48:56 +00:00
add r2, r0, #0
lsl r0, r1, #0xc
lsl r1, r2, #0xc
2021-06-24 22:23:33 +00:00
bx r3
nop
2021-08-19 18:13:23 +00:00
_0225DE84: .word FX_Atan2Idx
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DE78
thumb_func_start ov28_0225DE88
2021-06-27 18:48:56 +00:00
ov28_0225DE88: ; 0x0225DE88
lsl r0, r0, #0x10
lsr r1, r0, #0x10
mov r0, #0x5a
lsl r0, r0, #2
mul r0, r1
lsr r0, r0, #0x10
2021-06-24 22:23:33 +00:00
bx lr
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DE88
thumb_func_start ov28_0225DE98
2021-06-27 18:48:56 +00:00
ov28_0225DE98: ; 0x0225DE98
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldr r1, [r4]
ldr r2, [r4, #4]
2021-06-27 18:48:56 +00:00
lsl r0, r1, #2
add r0, r1, r0
add r0, r2, r0
mov r1, #6
bl _u32_div_f
2021-06-24 22:23:33 +00:00
str r0, [r4, #8]
pop {r4, pc}
thumb_func_end ov28_0225DE98
thumb_func_start ov28_0225DEB0
2021-06-27 18:48:56 +00:00
ov28_0225DEB0: ; 0x0225DEB0
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x85
add r4, r0, #0
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r1]
2021-06-27 18:48:56 +00:00
add r1, r1, #4
2021-06-24 22:23:33 +00:00
ldr r1, [r4, r1]
bl ov28_0225DE64
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
mov r1, #0x22
lsl r1, r1, #4
add r2, r1, #0
sub r2, #0xf4
add r3, r0, r2
add r2, r1, #0
2021-06-24 22:23:33 +00:00
str r0, [r4, r1]
2021-06-27 18:48:56 +00:00
add r2, #0xc
2021-06-24 22:23:33 +00:00
str r3, [r4, r2]
2021-06-27 18:48:56 +00:00
add r3, r0, #0
add r2, r1, #0
add r3, #0x78
add r2, #0x18
2021-06-24 22:23:33 +00:00
str r3, [r4, r2]
2021-06-27 18:48:56 +00:00
add r2, r1, #0
add r0, #0xd8
add r2, #0x24
2021-06-24 22:23:33 +00:00
str r0, [r4, r2]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
add r0, #0x2c
2021-06-24 22:23:33 +00:00
ldrh r2, [r4, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225DF00 ; =0xFFFF8000
add r1, #0x2c
and r2, r0
mov r0, #6
orr r0, r2
2021-06-24 22:23:33 +00:00
strh r0, [r4, r1]
pop {r4, pc}
nop
2021-06-27 18:48:56 +00:00
_0225DF00: .word 0xFFFF8000
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DEB0
thumb_func_start ov28_0225DF04
2021-06-27 18:48:56 +00:00
ov28_0225DF04: ; 0x0225DF04
2021-06-24 22:23:33 +00:00
ldr r2, [r0]
ldr r3, [r0, #4]
2021-06-27 18:48:56 +00:00
lsl r1, r2, #1
add r1, r2, r1
add r1, r3, r1
lsr r1, r1, #2
2021-06-24 22:23:33 +00:00
str r1, [r0, #8]
bx lr
thumb_func_end ov28_0225DF04
thumb_func_start ov28_0225DF14
2021-06-27 18:48:56 +00:00
ov28_0225DF14: ; 0x0225DF14
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x85
add r5, r0, #0
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, r1, #4
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
bl ov28_0225DE64
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
mov r1, #0x82
lsl r1, r1, #2
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, r1, #2
2021-06-24 22:23:33 +00:00
ldrsh r1, [r5, r1]
bl ov28_0225DE78
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
lsl r1, r4, #1
add r1, r4, r1
add r1, r0, r1
lsr r2, r1, #2
mov r1, #0x22
add r3, r4, #0
lsl r1, r1, #4
add r6, r0, #0
add r3, #0x1e
2021-06-24 22:23:33 +00:00
str r2, [r5, r1]
2021-06-27 18:48:56 +00:00
lsl r2, r3, #1
add r6, #0x78
add r2, r3, r2
add r2, r6, r2
add r6, r0, #0
lsr r3, r2, #2
add r2, r1, #0
add r2, #0xc
2021-06-24 22:23:33 +00:00
str r3, [r5, r2]
2021-06-27 18:48:56 +00:00
add r3, r4, #0
sub r3, #0x24
lsl r2, r3, #1
sub r6, #0x87
add r2, r3, r2
add r2, r6, r2
lsr r3, r2, #2
add r2, r1, #0
add r2, #0x18
add r4, #0x5a
2021-06-24 22:23:33 +00:00
str r3, [r5, r2]
2021-06-27 18:48:56 +00:00
lsl r2, r4, #1
add r0, #0x5a
add r2, r4, r2
add r0, r0, r2
lsr r2, r0, #2
add r0, r1, #0
add r0, #0x24
2021-06-24 22:23:33 +00:00
str r2, [r5, r0]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
add r0, #0x2c
2021-06-24 22:23:33 +00:00
ldrh r2, [r5, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225DFA0 ; =0xFFFF8000
add r1, #0x2c
and r2, r0
mov r0, #4
orr r0, r2
2021-06-24 22:23:33 +00:00
strh r0, [r5, r1]
pop {r4, r5, r6, pc}
nop
2021-06-27 18:48:56 +00:00
_0225DFA0: .word 0xFFFF8000
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DF14
thumb_func_start ov28_0225DFA4
2021-06-27 18:48:56 +00:00
ov28_0225DFA4: ; 0x0225DFA4
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [r4]
ldr r1, [r4, #4]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #1
add r0, r1, r0
mov r1, #3
bl _u32_div_f
2021-06-24 22:23:33 +00:00
str r0, [r4, #8]
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DFA4
thumb_func_start ov28_0225DFBC
2021-06-27 18:48:56 +00:00
ov28_0225DFBC: ; 0x0225DFBC
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x85
add r5, r0, #0
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, r1, #4
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
bl ov28_0225DE64
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
mov r1, #0x82
lsl r1, r1, #2
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, r1, #2
2021-06-24 22:23:33 +00:00
ldrsh r1, [r5, r1]
bl ov28_0225DE78
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
add r6, r0, #0
lsl r0, r4, #1
add r0, r6, r0
mov r1, #3
bl _u32_div_f
2021-06-27 18:48:56 +00:00
mov r1, #0x22
lsl r1, r1, #4
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r6, #0
add r0, #0x1e
add r1, #0x87
lsl r0, r0, #1
add r0, r1, r0
mov r1, #3
bl _u32_div_f
2021-06-27 18:48:56 +00:00
mov r1, #0x8b
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r4, #0
add r1, r6, #0
sub r0, #0x24
sub r1, #0x78
lsl r0, r0, #1
add r0, r1, r0
mov r1, #3
bl _u32_div_f
2021-06-27 18:48:56 +00:00
mov r1, #0x8e
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r4, #0x5a
add r6, #0x3c
lsl r0, r4, #1
add r0, r6, r0
mov r1, #3
bl _u32_div_f
2021-06-27 18:48:56 +00:00
mov r1, #0x91
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
add r0, #8
2021-06-24 22:23:33 +00:00
ldrh r2, [r5, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225E050 ; =0xFFFF8000
add r1, #8
and r2, r0
mov r0, #3
orr r0, r2
2021-06-24 22:23:33 +00:00
strh r0, [r5, r1]
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225E050: .word 0xFFFF8000
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225DFBC
thumb_func_start ov28_0225E054
2021-06-27 18:48:56 +00:00
ov28_0225E054: ; 0x0225E054
2021-06-24 22:23:33 +00:00
ldr r2, [r0, #4]
ldr r1, [r0]
2021-06-27 18:48:56 +00:00
add r1, r2, r1
lsr r1, r1, #1
2021-06-24 22:23:33 +00:00
str r1, [r0, #8]
bx lr
thumb_func_end ov28_0225E054
thumb_func_start ov28_0225E060
2021-06-27 18:48:56 +00:00
ov28_0225E060: ; 0x0225E060
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x85
add r5, r0, #0
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, r1, #4
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
bl ov28_0225DE64
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
mov r1, #0x82
lsl r1, r1, #2
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r1, r1, #2
2021-06-24 22:23:33 +00:00
ldrsh r1, [r5, r1]
bl ov28_0225DE78
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
add r6, r0, #0
add r0, r4, r6
mov r1, #3
bl _u32_div_f
2021-06-27 18:48:56 +00:00
mov r1, #0x22
lsl r1, r1, #4
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
add r0, #0x3c
add r0, r0, r4
lsr r2, r0, #1
add r0, r1, #0
add r0, #0xc
2021-06-24 22:23:33 +00:00
str r2, [r5, r0]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
sub r0, #0x48
add r0, r0, r4
lsr r2, r0, #1
add r0, r1, #0
add r0, #0x18
add r4, #0x5a
add r6, #0x2d
2021-06-24 22:23:33 +00:00
str r2, [r5, r0]
2021-06-27 18:48:56 +00:00
add r0, r4, r6
lsr r2, r0, #1
add r0, r1, #0
add r0, #0x24
2021-06-24 22:23:33 +00:00
str r2, [r5, r0]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
add r0, #0x2c
2021-06-24 22:23:33 +00:00
ldrh r2, [r5, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225E0D8 ; =0xFFFF8000
add r1, #0x2c
and r2, r0
mov r0, #2
orr r0, r2
2021-06-24 22:23:33 +00:00
strh r0, [r5, r1]
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225E0D8: .word 0xFFFF8000
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E060
thumb_func_start ov28_0225E0DC
2021-06-27 18:48:56 +00:00
ov28_0225E0DC: ; 0x0225E0DC
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [r4, #4]
ldr r1, [r4]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #1
add r0, r1, r0
mov r1, #3
bl _u32_div_f
2021-06-24 22:23:33 +00:00
str r0, [r4, #8]
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E0DC
thumb_func_start ov28_0225E0F4
2021-06-27 18:48:56 +00:00
ov28_0225E0F4: ; 0x0225E0F4
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
mov r1, #0x82
add r5, r0, #0
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r1]
2021-06-27 18:48:56 +00:00
lsl r6, r0, #3
add r0, r1, #2
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r6, #0x54
lsl r4, r0, #3
add r0, r1, #0
add r0, #0xc
add r1, #0x10
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r4, #0x64
sub r0, r6, r0
sub r1, r4, r1
2021-06-24 22:23:33 +00:00
bl ov28_0225DE78
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
mov r1, #0x22
lsl r1, r1, #4
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
sub r0, #0xc
add r2, r6, #0
sub r1, #8
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r2, #0xa
sub r0, r2, r0
add r2, r4, #0
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r2, #0xc
sub r1, r2, r1
2021-06-24 22:23:33 +00:00
bl ov28_0225DE78
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
mov r1, #0x8b
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
sub r0, #0x18
add r2, r6, #0
sub r1, #0x14
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
sub r2, #0xc
sub r0, r2, r0
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
sub r2, r4, #4
sub r1, r2, r1
2021-06-24 22:23:33 +00:00
bl ov28_0225DE78
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
mov r1, #0x8e
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
sub r0, #0x24
sub r1, #0x20
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
sub r6, #8
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
sub r4, #8
sub r0, r6, r0
sub r1, r4, r1
2021-06-24 22:23:33 +00:00
bl ov28_0225DE78
bl ov28_0225DE88
2021-06-27 18:48:56 +00:00
mov r1, #0x91
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
str r0, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r1, #0
add r0, #8
2021-06-24 22:23:33 +00:00
ldrh r2, [r5, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225E1A0 ; =0xFFFF8000
add r1, #8
and r2, r0
mov r0, #3
orr r0, r2
2021-06-24 22:23:33 +00:00
strh r0, [r5, r1]
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225E1A0: .word 0xFFFF8000
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E0F4
thumb_func_start ov28_0225E1A4
2021-06-27 18:48:56 +00:00
ov28_0225E1A4: ; 0x0225E1A4
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DD58
2021-06-27 18:48:56 +00:00
mov r0, #0x83
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r1, [r6, r0]
cmp r1, #0
bne _0225E1C8
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DEB0
2021-06-27 18:48:56 +00:00
mov r0, #0x21
mov r1, #0
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
str r1, [r6, r0]
b _0225E236
_0225E1C8:
2021-06-27 18:48:56 +00:00
sub r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrsh r0, [r6, r0]
bl abs
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
asr r4, r0, #0x10
ldr r0, _0225E310 ; =0x0000020A
2021-06-24 22:23:33 +00:00
ldrsh r0, [r6, r0]
bl abs
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-24 22:23:33 +00:00
cmp r4, #8
bgt _0225E1F8
cmp r0, #8
bgt _0225E1F8
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E0F4
2021-06-27 18:48:56 +00:00
mov r0, #0x21
mov r1, #4
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
str r1, [r6, r0]
b _0225E236
_0225E1F8:
cmp r4, #0xc
bgt _0225E210
cmp r0, #0xc
bgt _0225E210
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E060
2021-06-27 18:48:56 +00:00
mov r0, #0x21
mov r1, #3
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
str r1, [r6, r0]
b _0225E236
_0225E210:
cmp r4, #0x11
bgt _0225E228
cmp r0, #0x11
bgt _0225E228
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DFBC
2021-06-27 18:48:56 +00:00
mov r0, #0x21
mov r1, #2
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
str r1, [r6, r0]
b _0225E236
_0225E228:
2021-06-27 18:48:56 +00:00
add r0, r6, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DF14
2021-06-27 18:48:56 +00:00
mov r0, #0x21
mov r1, #1
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
str r1, [r6, r0]
_0225E236:
2021-06-27 18:48:56 +00:00
mov r1, #0x93
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldrh r0, [r6, r1]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x10
lsr r0, r0, #0x1f
2021-06-24 22:23:33 +00:00
bne _0225E27E
2021-06-27 18:48:56 +00:00
mov r2, #0x22
lsl r2, r2, #4
mov r0, #0
add r1, r6, #0
sub r3, r2, #4
add r4, r2, #0
add r5, r2, #4
2021-06-24 22:23:33 +00:00
_0225E250:
ldr r7, [r1, r2]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-24 22:23:33 +00:00
str r7, [r1, r3]
ldr r7, [r1, r4]
str r7, [r1, r5]
2021-06-27 18:48:56 +00:00
add r1, #0xc
2021-06-24 22:23:33 +00:00
cmp r0, #4
blo _0225E250
2021-06-27 18:48:56 +00:00
mov r1, #0x93
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldrh r2, [r6, r1]
2021-06-27 18:48:56 +00:00
mov r0, #2
lsl r0, r0, #0xe
orr r0, r2
2021-06-24 22:23:33 +00:00
strh r0, [r6, r1]
ldrh r2, [r6, r1]
2021-06-27 18:48:56 +00:00
ldr r0, _0225E314 ; =0xFFFF8000
2021-06-24 22:23:33 +00:00
add sp, #8
2021-06-27 18:48:56 +00:00
and r2, r0
mov r0, #1
orr r0, r2
2021-06-24 22:23:33 +00:00
strh r0, [r6, r1]
pop {r3, r4, r5, r6, r7, pc}
_0225E27E:
2021-06-27 18:48:56 +00:00
mov r0, #0
sub r1, #0x30
2021-06-24 22:23:33 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r6, r1
add r4, r6, #0
2021-06-24 22:23:33 +00:00
str r0, [sp, #4]
_0225E28A:
2021-06-27 18:48:56 +00:00
mov r0, #0x22
lsl r0, r0, #4
mov r1, #0x5a
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #2
bl _u32_div_f
2021-06-27 18:48:56 +00:00
mov r0, #0x22
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
str r1, [r4, r0]
2021-06-27 18:48:56 +00:00
sub r0, r0, #4
mov r1, #0x5a
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #2
bl _u32_div_f
2021-06-27 18:48:56 +00:00
mov r0, #0x87
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
str r1, [r4, r0]
ldr r5, [r4, r0]
2021-06-27 18:48:56 +00:00
add r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r7, [r4, r0]
2021-06-27 18:48:56 +00:00
sub r0, r7, r5
bl abs
2021-06-24 22:23:33 +00:00
cmp r0, #0xb4
blt _0225E2EA
cmp r7, r5
bls _0225E2D6
2021-06-27 18:48:56 +00:00
mov r0, #0x87
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r1, [r4, r0]
2021-06-27 18:48:56 +00:00
sub r0, #0xb4
add r1, r1, r0
mov r0, #0x87
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
str r1, [r4, r0]
b _0225E2EA
_0225E2D6:
cmp r7, r5
bhs _0225E2EA
2021-06-27 18:48:56 +00:00
mov r0, #0x22
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r1, [r4, r0]
2021-06-27 18:48:56 +00:00
sub r0, #0xb8
add r1, r1, r0
mov r0, #0x22
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
str r1, [r4, r0]
_0225E2EA:
2021-06-27 18:48:56 +00:00
mov r1, #0x21
lsl r1, r1, #4
2021-06-24 22:23:33 +00:00
ldr r1, [r6, r1]
ldr r0, [sp, #4]
2021-06-27 18:48:56 +00:00
lsl r2, r1, #2
ldr r1, _0225E318 ; =ov28_0225EAAC
2021-06-24 22:23:33 +00:00
ldr r1, [r1, r2]
2021-06-27 21:10:38 +00:00
blx r1
2021-06-24 22:23:33 +00:00
ldr r0, [sp, #4]
2021-06-27 18:48:56 +00:00
add r4, #0xc
add r0, #0xc
2021-06-24 22:23:33 +00:00
str r0, [sp, #4]
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
add r0, r0, #1
2021-06-24 22:23:33 +00:00
str r0, [sp]
cmp r0, #4
blo _0225E28A
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225E310: .word 0x0000020A
_0225E314: .word 0xFFFF8000
_0225E318: .word ov28_0225EAAC
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E1A4
thumb_func_start ov28_0225E31C
2021-06-27 18:48:56 +00:00
ov28_0225E31C: ; 0x0225E31C
2021-06-24 22:23:33 +00:00
push {r3, r4}
cmp r1, #0
blt _0225E356
2021-06-27 18:48:56 +00:00
mov r2, #0x21
lsl r2, r2, #4
2021-06-24 22:23:33 +00:00
ldr r4, [r0, r2]
ldr r3, _0225E368 ; =ov28_0225EB84
2021-06-24 22:23:33 +00:00
ldrb r3, [r3, r4]
2021-06-27 18:48:56 +00:00
mul r3, r1
add r1, r2, #0
add r1, #0x3e
2021-06-24 22:23:33 +00:00
ldrsh r1, [r0, r1]
2021-06-27 18:48:56 +00:00
add r3, r1, r3
add r1, r2, #0
add r1, #0x3e
2021-06-24 22:23:33 +00:00
strh r3, [r0, r1]
ldr r1, [r0, r2]
2021-06-27 18:48:56 +00:00
lsl r3, r1, #1
ldr r1, _0225E36C ; =ov28_0225EA90
2021-06-24 22:23:33 +00:00
ldrb r3, [r1, r3]
2021-06-27 18:48:56 +00:00
add r1, r2, #0
add r1, #0x3e
2021-06-24 22:23:33 +00:00
ldrsh r1, [r0, r1]
cmp r1, r3
ble _0225E362
2021-06-27 18:48:56 +00:00
add r2, #0x3e
2021-06-24 22:23:33 +00:00
strh r3, [r0, r2]
pop {r3, r4}
bx lr
_0225E356:
2021-06-27 18:48:56 +00:00
ldr r1, _0225E370 ; =0x0000024E
2021-06-24 22:23:33 +00:00
ldrsh r2, [r0, r1]
cmp r2, #0
ble _0225E362
2021-06-27 18:48:56 +00:00
sub r2, r2, #1
2021-06-24 22:23:33 +00:00
strh r2, [r0, r1]
_0225E362:
pop {r3, r4}
bx lr
nop
_0225E368: .word ov28_0225EB84
_0225E36C: .word ov28_0225EA90
2021-06-27 18:48:56 +00:00
_0225E370: .word 0x0000024E
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E31C
thumb_func_start ov28_0225E374
2021-06-27 18:48:56 +00:00
ov28_0225E374: ; 0x0225E374
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0x21
lsl r0, r0, #4
add r4, r1, #0
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r0]
2021-06-27 18:48:56 +00:00
add r6, r2, #0
lsl r2, r1, #1
ldr r1, _0225E3B4 ; =ov28_0225EA90
2021-06-24 22:23:33 +00:00
ldrb r2, [r1, r2]
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r1, #0x3e
2021-06-24 22:23:33 +00:00
ldrsh r1, [r5, r1]
cmp r1, r2
ble _0225E396
2021-06-27 18:48:56 +00:00
add r0, #0x3e
2021-06-24 22:23:33 +00:00
strh r2, [r5, r0]
_0225E396:
2021-06-27 18:48:56 +00:00
ldr r0, _0225E3B8 ; =0x0000024E
mov r1, #0xa
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r0]
2021-08-11 14:29:41 +00:00
bl _s32_div_f
2021-06-27 18:48:56 +00:00
mov r1, #1
and r0, r1
2021-06-24 22:23:33 +00:00
strh r0, [r4]
2021-06-27 18:48:56 +00:00
ldr r0, _0225E3B8 ; =0x0000024E
mov r1, #0x14
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r0]
2021-08-11 14:29:41 +00:00
bl _s32_div_f
2021-06-24 22:23:33 +00:00
strh r0, [r6]
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_0225E3B4: .word ov28_0225EA90
2021-06-27 18:48:56 +00:00
_0225E3B8: .word 0x0000024E
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E374
thumb_func_start ov28_0225E3BC
2021-06-27 18:48:56 +00:00
ov28_0225E3BC: ; 0x0225E3BC
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
ldr r1, _0225E420 ; =0x0000024E
add r5, r0, #0
2021-06-24 22:23:33 +00:00
ldrsh r1, [r5, r1]
cmp r1, #0
bne _0225E3E2
2021-06-27 18:48:56 +00:00
mov r4, #0
mov r6, #0x19
add r7, r4, #0
lsl r6, r6, #4
2021-06-24 22:23:33 +00:00
_0225E3D0:
ldr r0, [r5, r6]
2021-06-27 18:48:56 +00:00
add r1, r7, #0
2024-09-05 22:44:24 +00:00
bl Sprite_SetVisibleFlag
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-24 22:23:33 +00:00
cmp r4, #4
blo _0225E3D0
pop {r3, r4, r5, r6, r7, pc}
_0225E3E2:
add r1, sp, #0
2021-06-27 18:48:56 +00:00
add r1, #2
2021-06-24 22:23:33 +00:00
add r2, sp, #0
bl ov28_0225E374
2021-06-27 18:48:56 +00:00
mov r7, #0x19
mov r4, #0
2021-06-24 22:23:33 +00:00
add r6, sp, #0
2021-06-27 18:48:56 +00:00
lsl r7, r7, #4
2021-06-24 22:23:33 +00:00
_0225E3F4:
2021-06-27 18:48:56 +00:00
mov r0, #0x19
2021-06-24 22:23:33 +00:00
ldrh r1, [r6]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2024-09-06 15:58:35 +00:00
bl Sprite_SetPalIndexRespectVramOffset
2021-06-27 18:48:56 +00:00
mov r0, #0x19
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrh r1, [r6, #2]
ldr r0, [r5, r0]
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r7]
2021-06-27 18:48:56 +00:00
mov r1, #1
2024-09-05 22:44:24 +00:00
bl Sprite_SetVisibleFlag
2021-06-27 18:48:56 +00:00
add r4, r4, #1
add r5, r5, #4
2021-06-24 22:23:33 +00:00
cmp r4, #4
blo _0225E3F4
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225E420: .word 0x0000024E
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E3BC
thumb_func_start ov28_0225E424
2021-06-27 18:48:56 +00:00
ov28_0225E424: ; 0x0225E424
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
lsl r0, r1, #0x10
lsr r0, r0, #0x10
2022-01-11 19:36:20 +00:00
bl GF_DegreeToSinCosIdx
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r0, r4, #0
mov r2, #2
2024-09-05 22:44:24 +00:00
bl Sprite_SetRotationAndAffineType
2021-06-24 22:23:33 +00:00
pop {r4, pc}
thumb_func_end ov28_0225E424
thumb_func_start ov28_0225E43C
2021-06-27 18:48:56 +00:00
ov28_0225E43C: ; 0x0225E43C
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x10
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0x93
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldrh r1, [r5, r0]
2021-06-27 18:48:56 +00:00
lsl r2, r1, #0x11
lsr r4, r2, #0x11
2021-06-24 22:23:33 +00:00
beq _0225E50E
2021-06-27 18:48:56 +00:00
ldr r2, _0225E514 ; =0xFFFF8000
lsr r3, r2, #0x10
add r3, r4, r3
lsl r3, r3, #0x10
and r1, r2
lsr r3, r3, #0x10
lsr r2, r2, #0x11
and r2, r3
orr r1, r2
2021-06-24 22:23:33 +00:00
strh r1, [r5, r0]
ldrh r1, [r5, r0]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x11
lsr r1, r1, #0x11
2021-06-24 22:23:33 +00:00
bne _0225E4B0
2021-06-27 18:48:56 +00:00
mov r6, #0
add r4, r5, #0
2021-06-24 22:23:33 +00:00
add r7, sp, #4
_0225E470:
2021-06-27 18:48:56 +00:00
mov r0, #0x22
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r0]
2021-06-27 18:48:56 +00:00
sub r0, r0, #4
2021-06-24 22:23:33 +00:00
str r1, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #0x87
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225DE04
2021-06-27 18:48:56 +00:00
mov r0, #0x19
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2021-06-27 18:48:56 +00:00
add r1, r7, #0
2023-09-04 01:42:26 +00:00
bl Sprite_SetMatrix
2021-06-27 18:48:56 +00:00
mov r0, #0x19
mov r1, #0x87
lsl r0, r0, #4
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
ldr r1, [r5, r1]
bl ov28_0225E424
2021-06-27 18:48:56 +00:00
add r6, r6, #1
add r5, #0xc
add r4, r4, #4
2021-06-24 22:23:33 +00:00
cmp r6, #4
blo _0225E470
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
_0225E4B0:
2021-06-27 18:48:56 +00:00
mov r1, #0
sub r0, #0x30
2021-06-24 22:23:33 +00:00
str r1, [sp]
2021-06-27 18:48:56 +00:00
add r4, r5, #0
add r6, r5, #0
add r7, r5, r0
2021-06-24 22:23:33 +00:00
_0225E4BC:
2021-06-27 18:48:56 +00:00
mov r0, #0x89
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r1, [r4, r0]
2021-06-27 18:48:56 +00:00
sub r0, #8
2021-06-24 22:23:33 +00:00
str r1, [r4, r0]
2021-06-27 18:48:56 +00:00
mov r1, #0x87
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r1, [r4, r1]
add r0, sp, #4
bl ov28_0225DE04
2021-06-27 18:48:56 +00:00
mov r0, #0x19
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldr r0, [r6, r0]
add r1, sp, #4
2023-09-04 01:42:26 +00:00
bl Sprite_SetMatrix
2021-06-27 18:48:56 +00:00
mov r0, #0x19
mov r1, #0x87
lsl r0, r0, #4
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r6, r0]
ldr r1, [r4, r1]
bl ov28_0225E424
2021-06-27 18:48:56 +00:00
mov r1, #0x21
lsl r1, r1, #4
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r7, #0
lsl r2, r1, #2
ldr r1, _0225E518 ; =ov28_0225EAAC
2021-06-24 22:23:33 +00:00
ldr r1, [r1, r2]
2021-06-27 21:10:38 +00:00
blx r1
2021-06-24 22:23:33 +00:00
ldr r0, [sp]
2021-06-27 18:48:56 +00:00
add r4, #0xc
add r0, r0, #1
add r6, r6, #4
add r7, #0xc
2021-06-24 22:23:33 +00:00
str r0, [sp]
cmp r0, #4
blo _0225E4BC
_0225E50E:
add sp, #0x10
pop {r3, r4, r5, r6, r7, pc}
nop
2021-06-27 18:48:56 +00:00
_0225E514: .word 0xFFFF8000
_0225E518: .word ov28_0225EAAC
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E43C
thumb_func_start ov28_0225E51C
2021-06-27 18:48:56 +00:00
ov28_0225E51C: ; 0x0225E51C
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
mov r0, #0x21
lsl r0, r0, #4
add r4, r2, #0
2021-06-24 22:23:33 +00:00
ldr r2, [r5, r0]
cmp r2, #4
bne _0225E566
2021-06-27 18:48:56 +00:00
sub r0, #8
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r0, r0, #7
sub r0, r0, r1
bl abs
2021-06-27 18:48:56 +00:00
add r6, r0, #0
ldr r0, _0225E570 ; =0x0000020A
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r0, r0, #7
sub r0, r0, r4
bl abs
2021-06-27 18:48:56 +00:00
add r1, r6, r0
mov r0, #0x10
sub r1, r0, r1
2021-06-24 22:23:33 +00:00
cmp r1, #5
bge _0225E554
2021-06-27 18:48:56 +00:00
mov r1, #5
2021-06-24 22:23:33 +00:00
b _0225E55A
_0225E554:
cmp r1, #0x10
ble _0225E55A
2021-06-27 18:48:56 +00:00
add r1, r0, #0
2021-06-24 22:23:33 +00:00
_0225E55A:
2021-06-27 18:48:56 +00:00
mov r0, #0xa
mul r0, r1
sub r0, r0, #1
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-24 22:23:33 +00:00
pop {r4, r5, r6, pc}
_0225E566:
ldr r0, _0225E574 ; =ov28_0225EA91
2021-06-27 18:48:56 +00:00
lsl r1, r2, #1
2021-06-24 22:23:33 +00:00
ldrb r0, [r0, r1]
pop {r4, r5, r6, pc}
nop
2021-06-27 18:48:56 +00:00
_0225E570: .word 0x0000020A
_0225E574: .word ov28_0225EA91
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E51C
thumb_func_start ov28_0225E578
2021-06-27 18:48:56 +00:00
ov28_0225E578: ; 0x0225E578
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x40
2021-06-27 18:48:56 +00:00
add r6, r0, #0
2021-06-24 22:23:33 +00:00
str r1, [sp, #0x10]
cmp r1, #1
bne _0225E5A2
2021-06-27 18:48:56 +00:00
mov r1, #0x85
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r6, r1]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #3
sub r0, r0, #3
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r0, r1, #4
2021-06-24 22:23:33 +00:00
ldr r0, [r6, r0]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #3
sub r0, r0, #5
lsl r0, r0, #0x10
asr r0, r0, #0x10
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x24]
_0225E5A2:
ldr r0, _0225E724 ; =ov28_0225EB14
2021-06-27 18:48:56 +00:00
mov r7, #0
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x34]
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r4, r6, #0
sub r0, r0, #3
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x2c]
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
add r0, r0, #3
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x28]
ldr r0, [sp, #0x24]
2021-06-27 18:48:56 +00:00
sub r0, r0, #3
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x20]
ldr r0, [sp, #0x24]
2021-06-27 18:48:56 +00:00
add r0, r0, #3
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x1c]
_0225E5C2:
ldr r0, [sp, #0x24]
2021-06-27 18:48:56 +00:00
mov r5, #0
sub r0, r0, r7
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x18]
2021-06-27 18:48:56 +00:00
lsl r0, r7, #0x10
lsr r0, r0, #0x10
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r0, r7, #5
lsl r0, r0, #0x18
lsr r0, r0, #0x18
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x3c]
_0225E5D8:
2021-06-27 18:48:56 +00:00
mov r0, #1
add r1, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
lsl r1, r5
2021-06-24 22:23:33 +00:00
ldrh r0, [r0]
tst r0, r1
beq _0225E5E8
b _0225E6F6
_0225E5E8:
ldr r0, [sp, #0x10]
cmp r0, #1
bne _0225E67E
ldr r0, [sp, #0x2c]
cmp r5, r0
blt _0225E658
ldr r0, [sp, #0x28]
cmp r5, r0
bgt _0225E658
ldr r0, [sp, #0x20]
cmp r7, r0
blt _0225E658
ldr r0, [sp, #0x1c]
cmp r7, r0
bgt _0225E658
ldr r0, [sp, #0x30]
2021-06-27 18:48:56 +00:00
sub r0, r0, r5
bl abs
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x38]
ldr r0, [sp, #0x18]
bl abs
2021-06-24 22:23:33 +00:00
ldr r1, [sp, #0x38]
2021-06-27 18:48:56 +00:00
add r0, r1, r0
2021-06-24 22:23:33 +00:00
cmp r0, #4
bgt _0225E658
2021-06-27 18:48:56 +00:00
lsl r1, r5, #0x10
2021-06-24 22:23:33 +00:00
ldr r2, [sp, #0x14]
2021-06-27 18:48:56 +00:00
add r0, r6, #0
lsr r1, r1, #0x10
2021-06-24 22:23:33 +00:00
bl ov28_0225E51C
2021-06-27 18:48:56 +00:00
add r2, r0, #0
mov r0, #0x25
add r3, r4, r5
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrb r0, [r3, r0]
cmp r0, r2
bhs _0225E650
2021-06-27 18:48:56 +00:00
mov r0, #0x25
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrb r1, [r3, r0]
2021-06-27 18:48:56 +00:00
add r1, #0xa
2021-06-24 22:23:33 +00:00
strb r1, [r3, r0]
ldrb r0, [r3, r0]
cmp r0, r2
bls _0225E6A2
2021-06-27 18:48:56 +00:00
mov r0, #0x25
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
strb r2, [r3, r0]
b _0225E6A2
_0225E650:
2021-06-27 18:48:56 +00:00
mov r0, #0x25
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
strb r2, [r3, r0]
b _0225E6A2
_0225E658:
2021-06-27 18:48:56 +00:00
mov r0, #0x25
add r3, r4, r5
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrb r0, [r3, r0]
cmp r0, #2
blo _0225E674
2021-06-27 18:48:56 +00:00
mov r0, #0x25
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrb r0, [r3, r0]
2021-06-27 18:48:56 +00:00
sub r1, r0, #2
mov r0, #0x25
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
strb r1, [r3, r0]
b _0225E6A2
_0225E674:
2021-06-27 18:48:56 +00:00
mov r0, #0x25
mov r1, #0
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
strb r1, [r3, r0]
b _0225E6A2
_0225E67E:
2021-06-27 18:48:56 +00:00
mov r0, #0x25
add r3, r4, r5
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrb r0, [r3, r0]
cmp r0, #2
blo _0225E69A
2021-06-27 18:48:56 +00:00
mov r0, #0x25
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrb r0, [r3, r0]
2021-06-27 18:48:56 +00:00
sub r1, r0, #2
mov r0, #0x25
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
strb r1, [r3, r0]
b _0225E6A2
_0225E69A:
2021-06-27 18:48:56 +00:00
mov r0, #0x25
mov r1, #0
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
strb r1, [r3, r0]
_0225E6A2:
2021-06-27 18:48:56 +00:00
mov r0, #0x25
lsl r0, r0, #4
2021-06-24 22:23:33 +00:00
ldrb r0, [r3, r0]
cmp r0, #0
bne _0225E6CC
ldr r0, [sp, #0x3c]
2021-06-27 18:48:56 +00:00
add r3, r5, #3
2021-06-24 22:23:33 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-24 22:23:33 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x11
2021-06-24 22:23:33 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r3, r3, #0x18
2021-06-24 22:23:33 +00:00
ldr r0, [r6, #0x10]
2021-06-27 18:48:56 +00:00
ldr r2, _0225E728 ; =0x00001001
mov r1, #6
lsr r3, r3, #0x18
bl FillBgTilemapRect
2021-06-24 22:23:33 +00:00
b _0225E6F6
_0225E6CC:
2021-06-27 18:48:56 +00:00
mov r1, #0xa
2021-08-11 14:29:41 +00:00
bl _s32_div_f
2021-06-27 18:48:56 +00:00
add r2, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [sp, #0x3c]
2021-06-27 18:48:56 +00:00
lsl r3, r2, #1
2021-06-24 22:23:33 +00:00
str r0, [sp]
2021-06-27 18:48:56 +00:00
mov r0, #1
ldr r2, _0225E72C ; =ov28_0225EB32
2021-06-24 22:23:33 +00:00
str r0, [sp, #4]
str r0, [sp, #8]
2021-06-27 18:48:56 +00:00
mov r0, #0x11
2021-06-24 22:23:33 +00:00
ldrh r2, [r2, r3]
2021-06-27 18:48:56 +00:00
add r3, r5, #3
2021-06-24 22:23:33 +00:00
str r0, [sp, #0xc]
2021-06-27 18:48:56 +00:00
lsl r3, r3, #0x18
2021-06-24 22:23:33 +00:00
ldr r0, [r6, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #6
lsr r3, r3, #0x18
bl FillBgTilemapRect
2021-06-24 22:23:33 +00:00
_0225E6F6:
2021-06-27 18:48:56 +00:00
add r0, r5, #1
lsl r0, r0, #0x10
asr r5, r0, #0x10
2021-06-24 22:23:33 +00:00
cmp r5, #0xf
bge _0225E702
b _0225E5D8
_0225E702:
ldr r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
add r4, #0xf
add r0, r0, #2
2021-06-24 22:23:33 +00:00
str r0, [sp, #0x34]
2021-06-27 18:48:56 +00:00
add r0, r7, #1
lsl r0, r0, #0x10
asr r7, r0, #0x10
2021-06-24 22:23:33 +00:00
cmp r7, #0xf
bge _0225E716
b _0225E5C2
_0225E716:
ldr r0, [r6, #0x10]
2021-06-27 18:48:56 +00:00
mov r1, #6
2021-08-14 18:09:09 +00:00
bl ScheduleBgTilemapBufferTransfer
2021-06-24 22:23:33 +00:00
add sp, #0x40
pop {r3, r4, r5, r6, r7, pc}
nop
_0225E724: .word ov28_0225EB14
2021-06-27 18:48:56 +00:00
_0225E728: .word 0x00001001
_0225E72C: .word ov28_0225EB32
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E578
thumb_func_start ov28_0225E730
2021-06-27 18:48:56 +00:00
ov28_0225E730: ; 0x0225E730
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, r6, r7, lr}
add r1, sp, #0
2021-06-27 18:48:56 +00:00
add r1, #2
2021-06-24 22:23:33 +00:00
add r2, sp, #0
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E374
add r0, sp, #0
ldrh r1, [r0, #2]
ldrh r0, [r0]
2021-06-27 18:48:56 +00:00
mov r2, #0x21
lsl r2, r2, #4
lsl r0, r0, #1
add r0, r1, r0
lsl r1, r0, #6
mov r0, #0xf
lsl r0, r0, #6
sub r0, r1, r0
lsl r0, r0, #0x10
asr r4, r0, #0x10
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r2]
cmp r0, #4
bne _0225E798
2021-06-27 18:48:56 +00:00
add r1, r2, #0
add r1, #8
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
2021-06-27 18:48:56 +00:00
add r0, r2, #4
lsr r1, r1, #3
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
sub r2, #8
sub r6, r1, #5
2021-06-24 22:23:33 +00:00
ldrsh r1, [r5, r2]
2021-06-27 18:48:56 +00:00
lsr r0, r0, #3
sub r0, r0, #3
add r1, r1, #7
sub r0, r1, r0
bl abs
2021-06-27 18:48:56 +00:00
add r7, r0, #0
ldr r0, _0225E7C8 ; =0x0000020A
2021-06-24 22:23:33 +00:00
ldrsh r0, [r5, r0]
2021-06-27 18:48:56 +00:00
add r0, r0, #7
sub r0, r0, r6
bl abs
2021-06-27 18:48:56 +00:00
add r1, r7, r0
mov r0, #0x10
sub r0, r0, r1
lsl r0, r0, #6
add r0, r4, r0
lsl r0, r0, #0x10
asr r4, r0, #0x10
2021-06-24 22:23:33 +00:00
_0225E798:
2021-06-27 18:48:56 +00:00
mov r0, #0xce
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldrh r0, [r5, r0]
cmp r0, #0
bne _0225E7AA
2021-06-27 18:48:56 +00:00
ldr r0, _0225E7CC ; =0x0000093D
add r1, r4, #0
2022-04-05 12:29:06 +00:00
bl PlaySE_SetPitch
2021-06-24 22:23:33 +00:00
_0225E7AA:
2021-06-27 18:48:56 +00:00
mov r0, #0xce
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldrh r1, [r5, r0]
cmp r1, #0xa
bne _0225E7B8
2021-06-27 18:48:56 +00:00
mov r1, #0
2021-06-24 22:23:33 +00:00
b _0225E7BA
_0225E7B8:
2021-06-27 18:48:56 +00:00
add r1, r1, #1
2021-06-24 22:23:33 +00:00
_0225E7BA:
strh r1, [r5, r0]
2021-06-27 18:48:56 +00:00
ldr r0, _0225E7D0 ; =0x0000033A
2021-06-24 22:23:33 +00:00
ldrsh r1, [r5, r0]
cmp r1, r4
beq _0225E7C6
strh r4, [r5, r0]
_0225E7C6:
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225E7C8: .word 0x0000020A
_0225E7CC: .word 0x0000093D
_0225E7D0: .word 0x0000033A
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E730
thumb_func_start ov28_0225E7D4
2021-06-27 18:48:56 +00:00
ov28_0225E7D4: ; 0x0225E7D4
2021-06-24 22:23:33 +00:00
push {r4, lr}
sub sp, #8
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
add r0, sp, #4
add r1, sp, #0
2023-12-25 04:36:40 +00:00
bl System_GetTouchHeldCoords
2021-06-27 18:48:56 +00:00
mov r1, #0x85
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [sp, #4]
ldr r2, [r4, r1]
cmp r2, r0
bne _0225E7F8
2021-06-27 18:48:56 +00:00
add r1, r1, #4
2021-06-24 22:23:33 +00:00
ldr r2, [r4, r1]
ldr r1, [sp]
cmp r2, r1
beq _0225E80A
_0225E7F8:
2021-06-27 18:48:56 +00:00
mov r1, #0x85
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
str r0, [r4, r1]
ldr r2, [sp]
2021-06-27 18:48:56 +00:00
add r0, r1, #4
2021-06-24 22:23:33 +00:00
str r2, [r4, r0]
add sp, #8
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-24 22:23:33 +00:00
pop {r4, pc}
_0225E80A:
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-24 22:23:33 +00:00
add sp, #8
pop {r4, pc}
thumb_func_end ov28_0225E7D4
thumb_func_start ov28_0225E810
2021-06-27 18:48:56 +00:00
ov28_0225E810: ; 0x0225E810
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [r5, #0x18]
2021-06-27 18:48:56 +00:00
add r1, r0, #0
add r1, #0xd2
2021-06-24 22:23:33 +00:00
ldrb r1, [r1]
2021-06-27 18:48:56 +00:00
lsl r1, r1, #0x19
lsr r1, r1, #0x1f
2021-06-24 22:23:33 +00:00
cmp r1, #1
bne _0225E828
2021-06-27 18:48:56 +00:00
mov r4, #4
2021-06-24 22:23:33 +00:00
b _0225E890
_0225E828:
2021-06-27 19:11:25 +00:00
bl sub_0203E13C
2021-06-24 22:23:33 +00:00
cmp r0, #0
ldr r0, [r5, #0x18]
bne _0225E860
2023-08-20 17:52:40 +00:00
bl FieldSystem_GetPlayerAvatar
2022-01-26 01:30:14 +00:00
bl PlayerAvatar_GetMapObject
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2024-04-19 17:29:36 +00:00
bl MapObject_GetSpriteID
2021-06-27 18:48:56 +00:00
sub r0, #0xbc
2021-06-24 22:23:33 +00:00
cmp r0, #1
bhi _0225E858
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-27 19:11:25 +00:00
bl sub_0205F330
2021-06-24 22:23:33 +00:00
cmp r0, #1
bne _0225E854
2021-06-27 18:48:56 +00:00
mov r4, #3
2021-06-24 22:23:33 +00:00
b _0225E890
_0225E854:
2021-06-27 18:48:56 +00:00
mov r4, #4
2021-06-24 22:23:33 +00:00
b _0225E890
_0225E858:
2021-06-27 18:48:56 +00:00
mov r0, #0xcd
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r4, [r5, r0]
b _0225E890
_0225E860:
2021-06-28 21:21:08 +00:00
bl ov01_021E7F54
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
cmp r4, #1
bne _0225E890
ldr r0, [r5, #0x18]
add r1, sp, #0
2023-08-20 17:52:40 +00:00
bl FieldSystem_GetFacingObject
2021-06-24 22:23:33 +00:00
ldr r0, [sp]
2024-09-28 11:50:52 +00:00
bl MapObject_GetScriptID
bl ov01_021F6BD0
2021-06-24 22:23:33 +00:00
cmp r0, #1
beq _0225E88E
ldr r0, [sp]
2024-04-19 17:29:36 +00:00
bl MapObject_GetSpriteID
bl ov01_021F6BB0
2021-06-24 22:23:33 +00:00
cmp r0, #1
bne _0225E890
_0225E88E:
2021-06-27 18:48:56 +00:00
mov r4, #0
2021-06-24 22:23:33 +00:00
_0225E890:
2021-06-27 18:48:56 +00:00
mov r1, #0xcd
lsl r1, r1, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r1]
cmp r4, r0
beq _0225E8B0
2021-06-27 18:48:56 +00:00
mov r0, #0x6d
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
str r4, [r5, r1]
2021-06-27 18:48:56 +00:00
add r2, r5, r0
2021-06-24 22:23:33 +00:00
ldr r1, [r5, r1]
ldr r0, _0225E8B4 ; =ov28_0225EB7C
2021-06-24 22:23:33 +00:00
ldrb r0, [r0, r1]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #4
add r0, r2, r0
bl ScheduleWindowCopyToVram
2021-06-24 22:23:33 +00:00
_0225E8B0:
pop {r3, r4, r5, pc}
nop
_0225E8B4: .word ov28_0225EB7C
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E810
thumb_func_start ov28_0225E8B8
2021-06-27 18:48:56 +00:00
ov28_0225E8B8: ; 0x0225E8B8
2021-06-24 22:23:33 +00:00
push {r3, r4, r5, r6, r7, lr}
2021-06-27 18:48:56 +00:00
add r5, r1, #0
2021-06-24 22:23:33 +00:00
str r2, [sp]
2021-06-27 18:48:56 +00:00
add r6, r3, #0
2023-12-25 04:36:40 +00:00
bl TouchscreenHitbox_TouchHeldIsIn
2021-06-27 18:48:56 +00:00
add r4, r0, #0
add r0, r5, #0
2024-09-05 22:44:24 +00:00
bl Sprite_GetAnimationNumber
2021-06-27 18:48:56 +00:00
add r7, r0, #0
2021-06-24 22:23:33 +00:00
cmp r4, #1
bne _0225E8E6
bl System_GetTouchNew
2021-06-24 22:23:33 +00:00
cmp r0, #0
beq _0225E8E6
2021-06-27 18:48:56 +00:00
add r0, r5, #0
add r1, r6, #0
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-24 22:23:33 +00:00
pop {r3, r4, r5, r6, r7, pc}
_0225E8E6:
cmp r4, #1
bne _0225E8F2
cmp r7, r6
bne _0225E8F2
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-24 22:23:33 +00:00
pop {r3, r4, r5, r6, r7, pc}
_0225E8F2:
ldr r1, [sp]
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-24 22:23:33 +00:00
pop {r3, r4, r5, r6, r7, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E8B8
thumb_func_start ov28_0225E900
2021-06-27 18:48:56 +00:00
ov28_0225E900: ; 0x0225E900
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [r4, #0x18]
2021-06-27 19:11:25 +00:00
bl sub_0203DF8C
2021-06-24 22:23:33 +00:00
cmp r0, #1
bne _0225E914
2021-06-27 18:48:56 +00:00
add r0, r4, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225E810
_0225E914:
2021-06-27 18:48:56 +00:00
mov r1, #6
lsl r1, r1, #6
ldr r0, _0225E930 ; =_0225EA7C
2021-06-24 22:23:33 +00:00
ldr r1, [r4, r1]
2021-06-27 18:48:56 +00:00
mov r2, #5
mov r3, #6
2021-06-24 22:23:33 +00:00
bl ov28_0225E8B8
cmp r0, #0
beq _0225E92E
2022-02-01 20:44:20 +00:00
ldr r0, _0225E934 ; =gSystem
2021-06-27 18:48:56 +00:00
mov r1, #1
2021-06-24 22:23:33 +00:00
str r1, [r0, #0x5c]
_0225E92E:
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-27 18:48:56 +00:00
_0225E930: .word _0225EA7C
2022-02-01 20:44:20 +00:00
_0225E934: .word gSystem
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E900
thumb_func_start ov28_0225E938
2021-06-27 18:48:56 +00:00
ov28_0225E938: ; 0x0225E938
2021-06-24 22:23:33 +00:00
push {r4, r5, r6, lr}
2021-06-27 18:48:56 +00:00
add r5, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [r5, #0x18]
ldr r0, [r0, #0x40]
2022-03-21 20:03:52 +00:00
bl PlayerAvatar_GetState
2021-06-24 22:23:33 +00:00
cmp r0, #1
beq _0225E952
2021-06-27 18:48:56 +00:00
add r0, r5, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225EA58
cmp r0, #1
bne _0225E96C
_0225E952:
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #0
2024-09-05 22:44:24 +00:00
bl Sprite_SetVisibleFlag
2021-06-27 18:48:56 +00:00
mov r0, #0x62
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #0
2024-09-05 22:44:24 +00:00
bl Sprite_SetVisibleFlag
2021-06-24 22:23:33 +00:00
pop {r4, r5, r6, pc}
_0225E96C:
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #1
2024-09-05 22:44:24 +00:00
bl Sprite_SetVisibleFlag
2021-06-27 18:48:56 +00:00
mov r0, #0x62
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #1
2024-09-05 22:44:24 +00:00
bl Sprite_SetVisibleFlag
ldr r0, _0225E9DC ; =ov28_0225EA84
2023-12-25 04:36:40 +00:00
bl TouchscreenHitbox_TouchNewIsIn
2021-06-24 22:23:33 +00:00
cmp r0, #1
bne _0225E9DA
ldr r0, [r5, #0x18]
2023-08-20 17:52:40 +00:00
bl FieldSystem_GetPlayerAvatar
2021-06-27 18:48:56 +00:00
add r6, r0, #0
bl PlayerAvatar_CheckRunningShoesLock
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
bne _0225E9B8
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #4
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-27 18:48:56 +00:00
mov r0, #0x62
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #7
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-24 22:23:33 +00:00
b _0225E9D0
_0225E9B8:
2021-06-27 18:48:56 +00:00
mov r0, #0x61
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #3
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-27 18:48:56 +00:00
mov r0, #0x62
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r5, r0]
2021-06-27 18:48:56 +00:00
mov r1, #0xb
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-24 22:23:33 +00:00
_0225E9D0:
2021-06-27 18:48:56 +00:00
mov r1, #1
add r0, r6, #0
eor r1, r4
bl PlayerAvatar_SetRunningShoesLock
2021-06-24 22:23:33 +00:00
_0225E9DA:
pop {r4, r5, r6, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
_0225E9DC: .word ov28_0225EA84
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E938
thumb_func_start ov28_0225E9E0
2021-06-27 18:48:56 +00:00
ov28_0225E9E0: ; 0x0225E9E0
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
bl ov28_0225EA58
cmp r0, #1
bne _0225EA10
2021-06-27 18:48:56 +00:00
mov r0, #0x7d
lsl r0, r0, #2
add r0, r4, r0
bl ClearWindowTilemapAndScheduleTransfer
2021-06-27 18:48:56 +00:00
mov r0, #0x63
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2021-06-27 18:48:56 +00:00
mov r1, #8
2024-09-05 22:44:24 +00:00
bl Sprite_SetAnimCtrlSeq
2021-06-27 18:48:56 +00:00
mov r0, #0x63
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2021-06-27 18:48:56 +00:00
mov r1, #0
2024-09-05 22:44:24 +00:00
bl Sprite_SetVisibleFlag
2021-06-24 22:23:33 +00:00
pop {r4, pc}
_0225EA10:
2021-06-27 18:48:56 +00:00
mov r0, #0x7d
lsl r0, r0, #2
add r0, r4, r0
bl ScheduleWindowCopyToVram
2021-06-27 18:48:56 +00:00
mov r0, #0x63
lsl r0, r0, #2
2021-06-24 22:23:33 +00:00
ldr r0, [r4, r0]
2021-06-27 18:48:56 +00:00
mov r1, #1
2024-09-05 22:44:24 +00:00
bl Sprite_SetVisibleFlag
2021-06-27 18:48:56 +00:00
mov r1, #0x63
lsl r1, r1, #2
ldr r0, _0225EA54 ; =ov28_0225EA80
2021-06-24 22:23:33 +00:00
ldr r1, [r4, r1]
2021-06-27 18:48:56 +00:00
mov r2, #8
mov r3, #9
2021-06-24 22:23:33 +00:00
bl ov28_0225E8B8
cmp r0, #0
beq _0225EA50
ldr r0, [r4, #0x18]
2021-06-27 18:48:56 +00:00
mov r1, #0xb
add r0, #0xd0
2021-06-24 22:23:33 +00:00
strh r1, [r0]
2021-06-27 18:48:56 +00:00
mov r0, #0x43
2021-06-24 22:23:33 +00:00
ldr r1, [r4, #0x18]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #2
add r0, r1, r0
mov r1, #1
2024-10-18 01:59:08 +00:00
bl MenuInputStateMgr_SetState
2021-06-24 22:23:33 +00:00
_0225EA50:
pop {r4, pc}
nop
_0225EA54: .word ov28_0225EA80
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225E9E0
thumb_func_start ov28_0225EA58
2021-06-27 18:48:56 +00:00
ov28_0225EA58: ; 0x0225EA58
2021-06-24 22:23:33 +00:00
push {r4, lr}
2021-06-27 18:48:56 +00:00
add r4, r0, #0
2021-06-24 22:23:33 +00:00
ldr r0, [r4, #0x18]
2023-08-20 17:52:40 +00:00
bl FieldSystem_TaskIsRunning
2021-06-24 22:23:33 +00:00
cmp r0, #1
bne _0225EA76
ldr r0, [r4, #0x18]
2021-06-27 18:48:56 +00:00
add r0, #0xd2
2021-06-24 22:23:33 +00:00
ldrb r0, [r0]
2021-06-27 18:48:56 +00:00
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
2021-06-24 22:23:33 +00:00
bne _0225EA76
2021-06-27 18:48:56 +00:00
mov r0, #1
2021-06-24 22:23:33 +00:00
pop {r4, pc}
_0225EA76:
2021-06-27 18:48:56 +00:00
mov r0, #0
2021-06-24 22:23:33 +00:00
pop {r4, pc}
2021-08-08 01:30:37 +00:00
.balign 4, 0
2021-06-24 22:23:33 +00:00
thumb_func_end ov28_0225EA58
2021-08-07 14:11:50 +00:00
.rodata
2021-06-24 22:23:33 +00:00
_0225EA7C:
.byte 0x90, 0xBC, 0x9D, 0xFF
ov28_0225EA80: ; 0x0225EA80
.byte 0x08, 0x27, 0xC0, 0xFF
ov28_0225EA84: ; 0x0225EA84
.byte 0x56, 0x86, 0xB2, 0xFC
ov28_0225EA88: ; 0x0225EA88
.byte 0xFE, 0x54, 0x64, 0x48, 0xFF, 0x00, 0x00, 0x00
ov28_0225EA90: ; 0x0225EA90
.byte 0x31
ov28_0225EA91: ; 0x0225EA91
.byte 0x1D, 0x4F, 0x27, 0x6D, 0x31, 0x81, 0x31, 0x9F, 0x9F
ov28_0225EA9A: ; 0x0225EA9A
.byte 0xA8, 0x90, 0x00, 0x05
ov28_0225EA9E: ; 0x0225EA9E
.byte 0xB8, 0x56
.byte 0x01, 0x03
ov28_0225EAA2: ; 0x0225EAA2
.byte 0xD2, 0x5E, 0x00, 0x07
ov28_0225EAA6: ; 0x0225EAA6
.byte 0xC8, 0x08, 0x00, 0x08, 0x00, 0x00
ov28_0225EAAC: ; 0x0225EAAC
2021-12-04 21:07:10 +00:00
.word ov28_0225DE98
.word ov28_0225DF04
.word ov28_0225DFA4
.word ov28_0225E054
.word ov28_0225E0DC
ov28_0225EAC0: ; 0x0225EAC0
2021-06-24 22:23:33 +00:00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov28_0225EADC: ; 0x0225EADC
.byte 0x00, 0x00, 0x00, 0x00
2021-06-24 22:23:33 +00:00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0E, 0x00
.byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov28_0225EAF8: ; 0x0225EAF8
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2021-06-24 22:23:33 +00:00
.byte 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0D, 0x00, 0x00, 0x02, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
ov28_0225EB14: ; 0x0225EB14
.byte 0x1F, 0x7C, 0x07, 0x70, 0x03, 0x60, 0x01, 0x40, 0x01, 0x40, 0x00, 0x00
2021-06-24 22:23:33 +00:00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x40, 0x01, 0x40, 0x03, 0x60, 0x07, 0x70
.byte 0x1F, 0x7C
ov28_0225EB32: ; 0x0225EB32
.byte 0x6D, 0x30, 0x6E, 0x20, 0x6F, 0x20, 0x70, 0x20, 0x71, 0x20, 0x72, 0x20, 0x73, 0x20
2021-06-24 22:23:33 +00:00
.byte 0x74, 0x20, 0x75, 0x20, 0x76, 0x20, 0x77, 0x20, 0x78, 0x20, 0x79, 0x20, 0x7A, 0x20, 0x7B, 0x20
.byte 0x7C, 0x20
ov28_0225EB52: ; 0x0225EB52
.byte 0x04, 0x18, 0x14, 0x08, 0x02, 0x04, 0x11, 0x00, 0x04, 0x18, 0x14, 0x08, 0x02, 0x04
2021-06-24 22:23:33 +00:00
.byte 0x01, 0x00, 0x04, 0x18, 0x14, 0x08, 0x02, 0x04, 0x21, 0x00, 0x04, 0x18, 0x14, 0x08, 0x02, 0x04
.byte 0x31, 0x00, 0x04, 0x1A, 0x02, 0x06, 0x02, 0x04, 0x41, 0x00, 0x00, 0x00
ov28_0225EB7C: ; 0x0225EB7C
.byte 0x00, 0x01, 0x00, 0x02
.byte 0x03, 0x00, 0x00, 0x00
ov28_0225EB84: ; 0x0225EB84
.byte 0x01, 0x02, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00
2021-06-27 18:48:56 +00:00
; 0x0225EBA0