Split overlay 01, 5

This commit is contained in:
PikalaxALT 2022-03-22 14:36:54 -04:00
parent d503e554fe
commit 589b34f2ba
13 changed files with 6279 additions and 6180 deletions

View File

@ -415,7 +415,7 @@ sub_0205C500: ; 0x0205C500
bl sub_0205C6D0
add r0, r5, #0
add r1, r4, #0
bl sub_0205C6E4
bl PlayerAvatar_SetState
add r0, r5, #0
add r1, r6, #0
bl sub_0205C720
@ -676,8 +676,8 @@ PlayerAvatar_GetMapObjectConst: ; 0x0205C6E0
bx lr
thumb_func_end PlayerAvatar_GetMapObjectConst
thumb_func_start sub_0205C6E4
sub_0205C6E4: ; 0x0205C6E4
thumb_func_start PlayerAvatar_SetState
PlayerAvatar_SetState: ; 0x0205C6E4
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
@ -691,7 +691,7 @@ _0205C6F2:
bl sub_0205C800
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end sub_0205C6E4
thumb_func_end PlayerAvatar_SetState
thumb_func_start PlayerAvatar_GetState
PlayerAvatar_GetState: ; 0x0205C700

View File

@ -3129,6 +3129,125 @@ _021F126A:
_021F1278: .word ov01_02209B64
thumb_func_end ov01_021F1250
thumb_func_start ov01_021F127C
ov01_021F127C: ; 0x021F127C
ldr r3, _021F1288 ; =sub_0200E33C
mov r2, #1
add r1, r0, #0
ldr r0, _021F128C ; =ov01_021F1290
lsl r2, r2, #0xa
bx r3
.balign 4, 0
_021F1288: .word sub_0200E33C
_021F128C: .word ov01_021F1290
thumb_func_end ov01_021F127C
thumb_func_start ov01_021F1290
ov01_021F1290: ; 0x021F1290
push {r4, lr}
add r4, r1, #0
ldr r0, [r4, #8]
cmp r0, #2
blo _021F12A4
ldr r0, [r4]
bl sub_02014C08
mov r0, #0
str r0, [r4, #8]
_021F12A4:
ldr r0, [r4]
bl sub_02014C40
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov01_021F1290
thumb_func_start ov01_021F12B4
ov01_021F12B4: ; 0x021F12B4
push {r4, lr}
add r4, r0, #0
add r0, r1, #0
bl sub_02014AD8
str r0, [r4]
mov r0, #0
str r0, [r4, #8]
add r0, r4, #0
bl ov01_021F127C
str r0, [r4, #4]
pop {r4, pc}
.balign 4, 0
thumb_func_end ov01_021F12B4
thumb_func_start ov01_021F12D0
ov01_021F12D0: ; 0x021F12D0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #4]
bl sub_0200E390
ldr r0, [r4]
bl sub_02014B9C
ldr r0, [r4]
bl sub_02014BD8
pop {r4, pc}
thumb_func_end ov01_021F12D0
thumb_func_start ov01_021F12E8
ov01_021F12E8: ; 0x021F12E8
push {r4, r5, lr}
sub sp, #0x14
ldr r4, [sp, #0x20]
add r5, sp, #0x10
str r4, [sp]
mov r4, #0x14
ldrsh r4, [r5, r4]
str r4, [sp, #4]
ldr r4, [sp, #0x28]
str r4, [sp, #8]
ldr r4, [sp, #0x2c]
str r4, [sp, #0xc]
ldr r4, [sp, #0x30]
str r4, [sp, #0x10]
ldr r0, [r0]
bl sub_02014B08
add sp, #0x14
pop {r4, r5, pc}
.balign 4, 0
thumb_func_end ov01_021F12E8
thumb_func_start ov01_021F1310
ov01_021F1310: ; 0x021F1310
push {r3, r4, r5, r6, r7, lr}
ldr r0, [r0]
add r7, r1, #0
bl sub_02014BF8
add r5, r0, #0
mov r6, #0
_021F131E:
ldr r0, [r5]
add r1, r7, #0
lsl r0, r0, #0x10
asr r4, r0, #0x10
add r0, r6, #0
bl _u32_div_f
mov r1, #1
tst r0, r1
bne _021F1336
lsl r0, r4, #0x10
b _021F133A
_021F1336:
neg r0, r4
lsl r0, r0, #0x10
_021F133A:
lsr r0, r0, #0x10
str r0, [r5]
add r6, r6, #1
add r5, r5, #4
cmp r6, #0xc0
blt _021F131E
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov01_021F1310
.rodata
ov01_022067D0:

1179
asm/overlay_01_021F1348.s Normal file

File diff suppressed because it is too large Load Diff

2954
asm/overlay_01_021F1AFC.s Normal file

File diff suppressed because it is too large Load Diff

324
asm/overlay_01_021F3114.s Normal file
View File

@ -0,0 +1,324 @@
#include "constants/sndseq.h"
#include "constants/moves.h"
#include "constants/std_script.h"
#include "constants/species.h"
#include "constants/sprites.h"
#include "constants/maps.h"
#include "constants/mmodel.h"
#include "constants/items.h"
#include "msgdata/msg/msg_0096_D31R0201.h"
#include "msgdata/msg/msg_0066_D23R0102.h"
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov01_021F3114
ov01_021F3114: ; 0x021F3114
push {r4, r5, r6, lr}
add r6, r1, #0
add r5, r0, #0
add r0, r6, #0
bl PlayerAvatar_GetMapObject
bl sub_0205F504
lsl r0, r0, #0x18
lsr r4, r0, #0x18
add r0, r4, #0
bl sub_0205B9DC
cmp r0, #1
bne _021F3136
mov r2, #3
b _021F3164
_021F3136:
add r0, r4, #0
bl sub_0205B9E8
cmp r0, #1
bne _021F3144
mov r2, #2
b _021F3164
_021F3144:
add r0, r4, #0
bl sub_0205B9F4
cmp r0, #1
bne _021F3152
mov r2, #0
b _021F3164
_021F3152:
add r0, r4, #0
bl sub_0205BA00
cmp r0, #1
bne _021F3160
mov r2, #1
b _021F3164
_021F3160:
mov r0, #0
pop {r4, r5, r6, pc}
_021F3164:
add r0, r5, #0
add r1, r6, #0
bl ov01_021F3170
mov r0, #1
pop {r4, r5, r6, pc}
thumb_func_end ov01_021F3114
thumb_func_start ov01_021F3170
ov01_021F3170: ; 0x021F3170
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
mov r0, #0x18
add r6, r1, #0
add r7, r2, #0
bl ov01_021F3348
add r4, r0, #0
str r5, [r4, #0xc]
str r6, [r4, #0x10]
ldr r0, _021F3198 ; =SEQ_SE_DP_F209
str r7, [r4]
bl PlaySE
ldr r1, _021F319C ; =ov01_021F31CC
add r0, r5, #0
add r2, r4, #0
bl FieldSys_CreateTask
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F3198: .word SEQ_SE_DP_F209
_021F319C: .word ov01_021F31CC
thumb_func_end ov01_021F3170
thumb_func_start ov01_021F31A0
ov01_021F31A0: ; 0x021F31A0
cmp r0, #3
bhi _021F31C8
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F31B0: ; jump table
.short _021F31B8 - _021F31B0 - 2 ; case 0
.short _021F31C0 - _021F31B0 - 2 ; case 1
.short _021F31BC - _021F31B0 - 2 ; case 2
.short _021F31C4 - _021F31B0 - 2 ; case 3
_021F31B8:
mov r0, #2
bx lr
_021F31BC:
mov r0, #1
bx lr
_021F31C0:
mov r0, #3
bx lr
_021F31C4:
mov r0, #0
bx lr
_021F31C8:
mov r0, #0
bx lr
thumb_func_end ov01_021F31A0
thumb_func_start ov01_021F31CC
ov01_021F31CC: ; 0x021F31CC
push {r4, r5, r6, lr}
bl TaskManager_GetEnv
add r4, r0, #0
ldr r0, [r4, #0x10]
bl PlayerAvatar_GetMapObject
add r6, r0, #0
bl sub_0205F504
lsl r0, r0, #0x18
lsr r5, r0, #0x18
ldr r0, [r4, #8]
cmp r0, #0
beq _021F31F4
cmp r0, #1
beq _021F3206
cmp r0, #2
beq _021F3236
b _021F3340
_021F31F4:
mov r1, #1
add r0, r6, #0
lsl r1, r1, #8
bl MapObject_SetBits
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
b _021F3340
_021F3206:
ldr r0, [r4, #0x10]
bl sub_0205DFC8
cmp r0, #0
bne _021F3212
b _021F3340
_021F3212:
ldr r0, [r4]
mov r1, #0xc
bl sub_0206234C
add r1, r0, #0
ldr r0, [r4, #0x10]
bl sub_0205DFD4
ldr r0, [r4, #0x10]
ldr r1, [r4]
bl PlayerAvatar_SetFacingDirection
ldr r0, [r4, #8]
add r0, r0, #1
str r0, [r4, #8]
mov r0, #7
str r0, [r4, #4]
b _021F3340
_021F3236:
ldr r0, [r4, #4]
cmp r0, #2
beq _021F3244
cmp r0, #4
beq _021F3244
cmp r0, #6
bne _021F3254
_021F3244:
ldr r0, [r4]
bl ov01_021F31A0
str r0, [r4]
ldr r0, [r4, #0x10]
ldr r1, [r4]
bl PlayerAvatar_SetFacingDirection
_021F3254:
ldr r0, [r4, #4]
sub r0, r0, #1
str r0, [r4, #4]
bne _021F3340
add r0, r5, #0
bl sub_0205B9DC
cmp r0, #1
bne _021F3274
mov r0, #3
str r0, [r4]
ldr r0, [r4, #0xc]
add r1, r5, #0
bl ov04_02256BE4
b _021F3300
_021F3274:
add r0, r5, #0
bl sub_0205B9E8
cmp r0, #1
bne _021F328C
mov r0, #2
str r0, [r4]
ldr r0, [r4, #0xc]
add r1, r5, #0
bl ov04_02256BE4
b _021F3300
_021F328C:
add r0, r5, #0
bl sub_0205B9F4
cmp r0, #1
bne _021F32A4
mov r0, #0
str r0, [r4]
ldr r0, [r4, #0xc]
add r1, r5, #0
bl ov04_02256BE4
b _021F3300
_021F32A4:
add r0, r5, #0
bl sub_0205BA00
cmp r0, #1
bne _021F32BC
mov r0, #1
str r0, [r4]
ldr r0, [r4, #0xc]
add r1, r5, #0
bl ov04_02256BE4
b _021F3300
_021F32BC:
add r0, r5, #0
bl sub_0205BA0C
cmp r0, #1
ldr r0, [r4]
bne _021F32FA
bl ov01_021F31A0
str r0, [r4]
add r0, r6, #0
mov r1, #0x80
bl MapObject_ClearBits
mov r1, #1
add r0, r6, #0
lsl r1, r1, #8
bl MapObject_ClearBits
ldr r0, [r4, #0x10]
ldr r1, [r4]
bl PlayerAvatar_SetFacingDirection
add r0, r4, #0
bl ov01_021F336C
ldr r0, _021F3344 ; =SEQ_SE_DP_F209
mov r1, #0
bl StopSE
mov r0, #1
pop {r4, r5, r6, pc}
_021F32FA:
bl ov01_021F31A0
str r0, [r4]
_021F3300:
ldr r0, [r4, #0x10]
ldr r2, [r4]
add r1, r6, #0
bl sub_0205DA34
cmp r0, #0
bne _021F3314
mov r0, #1
str r0, [r4, #8]
b _021F3340
_021F3314:
add r0, r6, #0
mov r1, #0x80
bl MapObject_ClearBits
mov r1, #1
add r0, r6, #0
lsl r1, r1, #8
bl MapObject_ClearBits
ldr r0, [r4, #0x10]
ldr r1, [r4]
bl PlayerAvatar_SetFacingDirection
add r0, r4, #0
bl ov01_021F336C
ldr r0, _021F3344 ; =SEQ_SE_DP_F209
mov r1, #0
bl StopSE
mov r0, #1
pop {r4, r5, r6, pc}
_021F3340:
mov r0, #0
pop {r4, r5, r6, pc}
.balign 4, 0
_021F3344: .word SEQ_SE_DP_F209
thumb_func_end ov01_021F31CC
thumb_func_start ov01_021F3348
ov01_021F3348: ; 0x021F3348
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #4
add r1, r5, #0
bl AllocFromHeapAtEnd
add r4, r0, #0
bne _021F335C
bl GF_AssertFail
_021F335C:
add r0, r4, #0
mov r1, #0
add r2, r5, #0
bl memset
add r0, r4, #0
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov01_021F3348
thumb_func_start ov01_021F336C
ov01_021F336C: ; 0x021F336C
ldr r3, _021F3374 ; =FreeToHeapExplicit
add r1, r0, #0
mov r0, #4
bx r3
.balign 4, 0
_021F3374: .word FreeToHeapExplicit
thumb_func_end ov01_021F336C

330
asm/overlay_01_021F3378.s Normal file
View File

@ -0,0 +1,330 @@
#include "constants/sndseq.h"
#include "constants/moves.h"
#include "constants/std_script.h"
#include "constants/species.h"
#include "constants/sprites.h"
#include "constants/maps.h"
#include "constants/mmodel.h"
#include "constants/items.h"
#include "msgdata/msg/msg_0096_D31R0201.h"
#include "msgdata/msg/msg_0066_D23R0102.h"
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov01_021F3378
ov01_021F3378: ; 0x021F3378
add r1, r0, #0
ldr r0, [r1, #0x10]
cmp r0, #3
bhi _021F33AA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_021F338C: ; jump table
.short _021F3394 - _021F338C - 2 ; case 0
.short _021F33A0 - _021F338C - 2 ; case 1
.short _021F339A - _021F338C - 2 ; case 2
.short _021F33A6 - _021F338C - 2 ; case 3
_021F3394:
mov r0, #2
str r0, [r1, #0x10]
b _021F33AA
_021F339A:
mov r0, #1
str r0, [r1, #0x10]
b _021F33AA
_021F33A0:
mov r0, #3
str r0, [r1, #0x10]
b _021F33AA
_021F33A6:
mov r0, #0
str r0, [r1, #0x10]
_021F33AA:
ldr r0, [r1]
ldr r3, _021F33B4 ; =PlayerAvatar_SetFacingDirection
ldr r0, [r0, #0x40]
ldr r1, [r1, #0x10]
bx r3
.balign 4, 0
_021F33B4: .word PlayerAvatar_SetFacingDirection
thumb_func_end ov01_021F3378
thumb_func_start ov01_021F33B8
ov01_021F33B8: ; 0x021F33B8
push {r4, r5, r6, r7, lr}
sub sp, #0x24
add r5, r1, #0
add r7, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0x40]
bl PlayerAvatar_GetMapObject
add r6, r0, #0
ldr r0, [r5, #8]
cmp r0, #0
beq _021F33D8
cmp r0, #1
beq _021F33E2
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_021F33D8:
mov r0, #1
str r0, [r5, #8]
ldr r0, _021F3480 ; =SEQ_SE_DP_TELE2
bl PlaySE
_021F33E2:
ldr r0, [r5, #0xc]
lsr r2, r0, #0x1f
lsl r1, r0, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
beq _021F33F8
add r0, r5, #0
bl ov01_021F3378
_021F33F8:
add r0, r6, #0
add r1, sp, #0x18
bl sub_0205F990
ldr r4, [r5, #0xc]
add r0, r4, #0
bl _dflt
str r0, [sp, #0x14]
lsl r0, r4, #0xb
str r1, [sp, #0x10]
bl _dflt
add r2, r0, #0
add r3, r1, #0
ldr r0, _021F3484 ; =0x9999999A
ldr r1, _021F3488 ; =0x40C19999
bl _dadd
add r2, r0, #0
add r3, r1, #0
ldr r0, [sp, #0x14]
ldr r1, [sp, #0x10]
bl _dmul
bl _dfix
str r0, [sp, #0x1c]
add r0, r6, #0
add r1, sp, #0x18
bl sub_0205F9A0
ldr r0, [r5, #0xc]
add r0, r0, #1
str r0, [r5, #0xc]
cmp r0, #0x14
bne _021F345E
mov r0, #6
str r0, [sp]
mov r1, #0
mov r0, #1
str r0, [sp, #4]
mov r0, #4
str r0, [sp, #8]
mov r0, #2
add r2, r1, #0
add r3, r1, #0
bl BeginNormalPaletteFade
add sp, #0x24
pop {r4, r5, r6, r7, pc}
_021F345E:
ble _021F347A
bl IsPaletteFadeActive
cmp r0, #0
beq _021F347A
ldr r0, [r5, #4]
mov r1, #1
str r1, [r0]
add r0, r5, #0
bl FreeToHeap
add r0, r7, #0
bl sub_0200E390
_021F347A:
add sp, #0x24
pop {r4, r5, r6, r7, pc}
nop
_021F3480: .word SEQ_SE_DP_TELE2
_021F3484: .word 0x9999999A
_021F3488: .word 0x40C19999
thumb_func_end ov01_021F33B8
thumb_func_start ov01_021F348C
ov01_021F348C: ; 0x021F348C
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x20
add r5, r1, #0
add r6, r0, #0
ldr r0, [r5]
ldr r0, [r0, #0x40]
bl PlayerAvatar_GetMapObject
ldr r1, [r5, #8]
add r4, r0, #0
cmp r1, #0
beq _021F34B0
cmp r1, #1
beq _021F3508
cmp r1, #2
beq _021F3590
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
_021F34B0:
bl MapObject_UnpauseMovement
add r0, r4, #0
add r1, sp, #0x14
bl sub_0205F990
ldr r1, [r5, #0xc]
mov r0, #0x14
sub r6, r0, r1
add r0, r6, #0
bl _dflt
str r0, [sp, #0xc]
lsl r0, r6, #0xb
add r7, r1, #0
bl _dflt
add r2, r0, #0
add r3, r1, #0
ldr r0, _021F35B8 ; =0x9999999A
ldr r1, _021F35BC ; =0x40C19999
bl _dadd
add r2, r0, #0
add r3, r1, #0
ldr r0, [sp, #0xc]
add r1, r7, #0
bl _dmul
bl _dfix
str r0, [sp, #0x18]
add r0, r4, #0
add r1, sp, #0x14
bl sub_0205F9A0
add r0, r4, #0
bl ov01_021F92A0
ldr r0, _021F35C0 ; =SEQ_SE_DP_TELE2
bl PlaySE
mov r0, #1
str r0, [r5, #8]
_021F3508:
ldr r0, [r5, #0xc]
lsr r2, r0, #0x1f
lsl r1, r0, #0x1f
sub r1, r1, r2
mov r0, #0x1f
ror r1, r0
add r0, r2, r1
beq _021F351E
add r0, r5, #0
bl ov01_021F3378
_021F351E:
add r0, r4, #0
add r1, sp, #0x14
bl sub_0205F990
ldr r1, [r5, #0xc]
mov r0, #0x14
sub r6, r0, r1
add r0, r6, #0
bl _dflt
str r0, [sp, #0x10]
lsl r0, r6, #0xb
add r7, r1, #0
bl _dflt
add r2, r0, #0
add r3, r1, #0
ldr r0, _021F35B8 ; =0x9999999A
ldr r1, _021F35BC ; =0x40C19999
bl _dadd
add r2, r0, #0
add r3, r1, #0
ldr r0, [sp, #0x10]
add r1, r7, #0
bl _dmul
bl _dfix
str r0, [sp, #0x18]
add r0, r4, #0
add r1, sp, #0x14
bl sub_0205F9A0
ldr r0, [r5, #0xc]
add r0, r0, #1
str r0, [r5, #0xc]
cmp r0, #2
bne _021F3582
mov r0, #6
str r0, [sp]
mov r0, #1
str r0, [sp, #4]
mov r1, #4
str r1, [sp, #8]
add r1, r0, #0
add r2, r0, #0
mov r3, #0
bl BeginNormalPaletteFade
_021F3582:
ldr r0, [r5, #0xc]
cmp r0, #0x14
ble _021F35B4
mov r0, #2
add sp, #0x20
str r0, [r5, #8]
pop {r3, r4, r5, r6, r7, pc}
_021F3590:
bl IsPaletteFadeActive
cmp r0, #0
beq _021F35B4
ldr r0, [r5]
mov r1, #1
ldr r0, [r0, #0x40]
bl PlayerAvatar_SetFacingDirection
ldr r0, [r5, #4]
mov r1, #1
str r1, [r0]
add r0, r5, #0
bl FreeToHeap
add r0, r6, #0
bl sub_0200E390
_021F35B4:
add sp, #0x20
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_021F35B8: .word 0x9999999A
_021F35BC: .word 0x40C19999
_021F35C0: .word SEQ_SE_DP_TELE2
thumb_func_end ov01_021F348C
thumb_func_start ov01_021F35C4
ov01_021F35C4: ; 0x021F35C4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r6, r1, #0
mov r0, #4
mov r1, #0x14
add r7, r2, #0
bl AllocFromHeapAtEnd
add r4, r0, #0
mov r1, #0
mov r2, #0x14
bl MI_CpuFill8
str r5, [r4]
str r7, [r4, #4]
ldr r0, [r5, #0x40]
bl PlayerAvatar_GetFacingDirection
str r0, [r4, #0x10]
cmp r6, #0
beq _021F35FA
ldr r0, _021F3608 ; =ov01_021F33B8
add r1, r4, #0
mov r2, #0x64
bl sub_0200E320
pop {r3, r4, r5, r6, r7, pc}
_021F35FA:
ldr r0, _021F360C ; =ov01_021F348C
add r1, r4, #0
mov r2, #0x64
bl sub_0200E320
pop {r3, r4, r5, r6, r7, pc}
nop
_021F3608: .word ov01_021F33B8
_021F360C: .word ov01_021F348C
thumb_func_end ov01_021F35C4

1031
asm/overlay_01_021F3610.s Normal file

File diff suppressed because it is too large Load Diff

326
asm/overlay_01_021F3D38.s Normal file
View File

@ -0,0 +1,326 @@
#include "constants/sndseq.h"
#include "constants/moves.h"
#include "constants/std_script.h"
#include "constants/species.h"
#include "constants/sprites.h"
#include "constants/maps.h"
#include "constants/mmodel.h"
#include "constants/items.h"
#include "msgdata/msg/msg_0096_D31R0201.h"
#include "msgdata/msg/msg_0066_D23R0102.h"
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov01_021F3D38
ov01_021F3D38: ; 0x021F3D38
push {r3, lr}
mov r1, #0x14
bl AllocFromHeap
add r3, r0, #0
mov r2, #0x14
mov r1, #0
_021F3D46:
strb r1, [r3]
add r3, r3, #1
sub r2, r2, #1
bne _021F3D46
pop {r3, pc}
thumb_func_end ov01_021F3D38
thumb_func_start ov01_021F3D50
ov01_021F3D50: ; 0x021F3D50
push {r4, lr}
add r4, r0, #0
ldrb r1, [r4, #0x13]
lsl r1, r1, #0x18
lsr r1, r1, #0x1f
beq _021F3D60
bl RemoveWindow
_021F3D60:
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
thumb_func_end ov01_021F3D50
thumb_func_start ov01_021F3D68
ov01_021F3D68: ; 0x021F3D68
strb r1, [r0, #0x12]
strh r2, [r0, #0x10]
bx lr
.balign 4, 0
thumb_func_end ov01_021F3D68
thumb_func_start ov01_021F3D70
ov01_021F3D70: ; 0x021F3D70
ldrb r3, [r0, #0x13]
mov r2, #0x7f
bic r3, r2
mov r2, #0x7f
and r1, r2
orr r1, r3
strb r1, [r0, #0x13]
bx lr
thumb_func_end ov01_021F3D70
thumb_func_start ov01_021F3D80
ov01_021F3D80: ; 0x021F3D80
bx lr
.balign 4, 0
thumb_func_end ov01_021F3D80
thumb_func_start ov01_021F3D84
ov01_021F3D84: ; 0x021F3D84
ldrb r0, [r0, #0x12]
bx lr
thumb_func_end ov01_021F3D84
thumb_func_start ov01_021F3D88
ov01_021F3D88: ; 0x021F3D88
ldrb r0, [r0, #0x13]
lsl r0, r0, #0x19
lsr r0, r0, #0x19
bne _021F3D94
mov r0, #1
bx lr
_021F3D94:
mov r0, #0
bx lr
thumb_func_end ov01_021F3D88
thumb_func_start ov01_021F3D98
ov01_021F3D98: ; 0x021F3D98
push {r4, lr}
ldr r4, [r0, #0x68]
ldrb r1, [r4, #0x13]
lsl r1, r1, #0x19
lsr r1, r1, #0x19
cmp r1, #4
bhi _021F3DFA
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_021F3DB2: ; jump table
.short _021F3DFA - _021F3DB2 - 2 ; case 0
.short _021F3DBC - _021F3DB2 - 2 ; case 1
.short _021F3DCA - _021F3DB2 - 2 ; case 2
.short _021F3DDC - _021F3DB2 - 2 ; case 3
.short _021F3DEE - _021F3DB2 - 2 ; case 4
_021F3DBC:
bl ov01_021F3E10
ldrb r1, [r4, #0x13]
mov r0, #0x7f
bic r1, r0
strb r1, [r4, #0x13]
pop {r4, pc}
_021F3DCA:
bl ov01_021F3EE0
cmp r0, #1
bne _021F3DFA
ldrb r1, [r4, #0x13]
mov r0, #0x7f
bic r1, r0
strb r1, [r4, #0x13]
pop {r4, pc}
_021F3DDC:
bl ov01_021F3EA0
cmp r0, #1
bne _021F3DFA
ldrb r1, [r4, #0x13]
mov r0, #0x7f
bic r1, r0
strb r1, [r4, #0x13]
pop {r4, pc}
_021F3DEE:
bl ov01_021F3E4C
ldrb r1, [r4, #0x13]
mov r0, #0x7f
bic r1, r0
strb r1, [r4, #0x13]
_021F3DFA:
pop {r4, pc}
thumb_func_end ov01_021F3D98
thumb_func_start ov01_021F3DFC
ov01_021F3DFC: ; 0x021F3DFC
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #0x68]
bl ov01_021F3D70
add r0, r4, #0
bl ov01_021F3D98
pop {r4, pc}
.balign 4, 0
thumb_func_end ov01_021F3DFC
thumb_func_start ov01_021F3E10
ov01_021F3E10: ; 0x021F3E10
push {r4, lr}
mov r1, #3
add r4, r0, #0
add r3, r1, #0
ldr r0, [r4, #8]
add r2, r1, #0
sub r3, #0x33
bl BgSetPosTextAndCommit
ldr r1, [r4, #0x68]
ldrb r0, [r1, #0x13]
lsl r0, r0, #0x18
lsr r0, r0, #0x1f
bne _021F3E40
ldrb r2, [r1, #0x12]
ldr r0, [r4, #8]
mov r3, #3
bl sub_0205B63C
ldr r2, [r4, #0x68]
mov r0, #0x80
ldrb r1, [r2, #0x13]
orr r0, r1
strb r0, [r2, #0x13]
_021F3E40:
ldr r0, [r4, #0x68]
ldrb r1, [r0, #0x12]
ldrh r2, [r0, #0x10]
bl sub_0205B6A0
pop {r4, pc}
thumb_func_end ov01_021F3E10
thumb_func_start ov01_021F3E4C
ov01_021F3E4C: ; 0x021F3E4C
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
ldr r0, [r4, #0x68]
ldrb r1, [r0, #0x13]
lsl r1, r1, #0x18
lsr r1, r1, #0x1f
beq _021F3E9A
bl RemoveWindow
mov r0, #0x12
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #6
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
mov r2, #0
ldr r0, [r4, #8]
mov r1, #3
add r3, r2, #0
bl FillBgTilemapRect
ldr r0, [r4, #8]
mov r1, #3
bl BgCommitTilemapBufferToVram
mov r1, #3
ldr r0, [r4, #8]
add r2, r1, #0
mov r3, #0
bl BgSetPosTextAndCommit
ldr r2, [r4, #0x68]
mov r0, #0x80
ldrb r1, [r2, #0x13]
bic r1, r0
strb r1, [r2, #0x13]
_021F3E9A:
add sp, #0x10
pop {r4, pc}
.balign 4, 0
thumb_func_end ov01_021F3E4C
thumb_func_start ov01_021F3EA0
ov01_021F3EA0: ; 0x021F3EA0
push {r4, lr}
add r4, r0, #0
ldr r0, [r4, #8]
mov r1, #3
bl Bg_GetYpos
cmp r0, #0
bne _021F3EB4
mov r0, #1
pop {r4, pc}
_021F3EB4:
mov r1, #0x2f
mvn r1, r1
cmp r0, r1
ble _021F3EC0
cmp r0, #0
blt _021F3ECE
_021F3EC0:
mov r1, #3
add r3, r1, #0
ldr r0, [r4, #8]
add r2, r1, #0
sub r3, #0x33
bl BgSetPosTextAndCommit
_021F3ECE:
ldr r0, [r4, #8]
mov r1, #3
mov r2, #4
mov r3, #0x10
bl BgSetPosTextAndCommit
mov r0, #0
pop {r4, pc}
.balign 4, 0
thumb_func_end ov01_021F3EA0
thumb_func_start ov01_021F3EE0
ov01_021F3EE0: ; 0x021F3EE0
push {r4, lr}
sub sp, #0x10
add r4, r0, #0
ldr r0, [r4, #8]
mov r1, #3
bl Bg_GetYpos
mov r1, #0x2f
mvn r1, r1
cmp r0, r1
bne _021F3F2C
mov r0, #0x12
str r0, [sp]
mov r0, #0x20
str r0, [sp, #4]
mov r0, #6
str r0, [sp, #8]
mov r0, #0x10
str r0, [sp, #0xc]
mov r2, #0
ldr r0, [r4, #8]
mov r1, #3
add r3, r2, #0
bl FillBgTilemapRect
ldr r0, [r4, #8]
mov r1, #3
bl BgCommitTilemapBufferToVram
mov r1, #3
ldr r0, [r4, #8]
add r2, r1, #0
mov r3, #0
bl BgSetPosTextAndCommit
add sp, #0x10
mov r0, #1
pop {r4, pc}
_021F3F2C:
ble _021F3F32
cmp r0, #0
blt _021F3F3E
_021F3F32:
mov r1, #3
ldr r0, [r4, #8]
add r2, r1, #0
mov r3, #0
bl BgSetPosTextAndCommit
_021F3F3E:
ldr r0, [r4, #8]
mov r1, #3
mov r2, #5
mov r3, #0x10
bl BgSetPosTextAndCommit
mov r0, #0
add sp, #0x10
pop {r4, pc}
thumb_func_end ov01_021F3EE0

File diff suppressed because it is too large Load Diff

View File

@ -28725,7 +28725,7 @@ FS_EXTERN_OVERLAY(OV_101)
.public sub_0205C6CC
.public sub_0205C6D4
.public PlayerAvatar_GetMapObject
.public sub_0205C6E4
.public PlayerAvatar_SetState
.public PlayerAvatar_GetState
.public sub_0205C710
.public sub_0205C718

View File

@ -26,7 +26,7 @@ FIELD_PLAYER_AVATAR *sub_0205C390(MapObjectMan *man, int x, int y, int direction
FIELD_PLAYER_AVATAR *sub_0205C408(MapObjectMan *man, struct FlypointsPlayerSub *a1, int gender);
void sub_0205C4CC(FIELD_PLAYER_AVATAR *avatar);
void sub_0205C4C4(FIELD_PLAYER_AVATAR *avatar);
void sub_0205C6E4(FIELD_PLAYER_AVATAR *avatar, int a1);
void PlayerAvatar_SetState(FIELD_PLAYER_AVATAR *avatar, int a1);
int sub_0205C724(FIELD_PLAYER_AVATAR *avatar);
LocalMapObject *PlayerAvatar_GetMapObject(FIELD_PLAYER_AVATAR *avatar);
BOOL sub_0205CABC(FIELD_PLAYER_AVATAR *avatar);

View File

@ -439,7 +439,13 @@ Overlay field
Object asm/scrcmd_message.o
Object asm/overlay_01_021EF7A0.o
Object asm/overlay_01_021EFB38.o
Object asm/overlay_01_021F127C.o
Object asm/overlay_01_021F1348.o
Object asm/overlay_01_021F1AFC.o
Object asm/overlay_01_021F3114.o
Object asm/overlay_01_021F3378.o
Object asm/overlay_01_021F3610.o
Object asm/overlay_01_021F3D38.o
Object asm/overlay_01_021F3F50.o
}
Overlay OVY_2
{

View File

@ -642,7 +642,7 @@ static BOOL sub_02053950(TaskManager *taskManager) {
env->unk0++;
break;
case 1:
sub_0205C6E4(fsys->playerAvatar, 0);
PlayerAvatar_SetState(fsys->playerAvatar, 0);
sub_020537A8(taskManager, &env->location);
env->unk0++;
break;
@ -751,7 +751,7 @@ static BOOL sub_02053B3C(TaskManager *taskManager) {
env->unk0++;
break;
case 1:
sub_0205C6E4(fsys->playerAvatar, 0);
PlayerAvatar_SetState(fsys->playerAvatar, 0);
sub_020537A8(taskManager, &env->location);
env->unk0++;
break;