through sub_801A3D0

This commit is contained in:
PikalaxALT
2019-04-01 14:09:56 -04:00
parent 1fe5208560
commit ce89cf6f75
3 changed files with 151 additions and 452 deletions

View File

@@ -5,457 +5,6 @@
.text
thumb_func_start sub_801A064
sub_801A064: @ 801A064
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x8
adds r7, r0, 0
mov r8, r1
mov r6, sp
adds r6, 0x2
mov r0, sp
adds r1, r6, 0
bl PlayerGetDestCoords
add r4, sp, 0x4
mov r5, sp
adds r5, 0x6
adds r0, r4, 0
adds r1, r5, 0
bl player_get_pos_including_state_based_drift
lsls r0, r7, 2
adds r0, r7
subs r0, 0x38
lsls r0, 24
lsrs r0, 24
bl sub_8097C8C
mov r10, r6
mov r9, r4
adds r6, r5, 0
cmp r0, 0x1
bne _0801A0F0
mov r0, sp
movs r1, 0
ldrsh r2, [r0, r1]
mov r0, r10
movs r1, 0
ldrsh r3, [r0, r1]
adds r0, r7, 0
movs r1, 0
bl sub_80199E0
cmp r0, 0x1
beq _0801A15C
movs r0, 0
ldrsh r2, [r4, r0]
movs r1, 0
ldrsh r3, [r6, r1]
adds r0, r7, 0
movs r1, 0
bl sub_80199E0
cmp r0, 0x1
beq _0801A15C
mov r2, r8
ldrb r0, [r2, 0xB]
lsls r0, 31
lsrs r0, 31
ldrb r1, [r2, 0x2]
bl sub_8019978
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r7, 0
movs r1, 0
mov r3, r8
bl sub_8019FA4
_0801A0F0:
movs r5, 0x1
mov r4, r8
adds r4, 0x4
_0801A0F6:
ldrb r0, [r4]
cmp r0, 0
bne _0801A106
adds r0, r7, 0
adds r1, r5, 0
bl sub_801A02C
b _0801A154
_0801A106:
mov r0, sp
movs r1, 0
ldrsh r2, [r0, r1]
mov r0, r10
movs r1, 0
ldrsh r3, [r0, r1]
adds r0, r7, 0
adds r1, r5, 0
bl sub_80199E0
cmp r0, 0
bne _0801A154
mov r0, r9
movs r1, 0
ldrsh r2, [r0, r1]
movs r0, 0
ldrsh r3, [r6, r0]
adds r0, r7, 0
adds r1, r5, 0
bl sub_80199E0
cmp r0, 0
bne _0801A154
ldrb r2, [r4]
lsrs r0, r2, 3
movs r1, 0x1
ands r0, r1
movs r1, 0x7
ands r1, r2
bl sub_8019978
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r7, 0
adds r1, r5, 0
mov r3, r8
bl sub_8019FA4
_0801A154:
adds r4, 0x1
adds r5, 0x1
cmp r5, 0x4
ble _0801A0F6
_0801A15C:
add sp, 0x8
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_801A064
thumb_func_start sub_801A16C
sub_801A16C: @ 801A16C
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
ldrb r0, [r4, 0xA]
lsls r0, 25
lsrs r0, 25
subs r0, 0x40
cmp r0, 0x14
bhi _0801A20E
lsls r0, 2
ldr r1, =_0801A18C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0801A18C:
.4byte _0801A1E0
.4byte _0801A200
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A200
.4byte _0801A200
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A200
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A20E
.4byte _0801A200
.4byte _0801A200
.4byte _0801A200
.4byte _0801A1E0
_0801A1E0:
ldrb r1, [r4, 0xB]
lsls r1, 31
lsrs r1, 31
ldrb r2, [r4, 0x2]
adds r0, r5, 0
bl sub_8019CF0
movs r4, 0
_0801A1F0:
adds r0, r5, 0
adds r1, r4, 0
bl sub_801A02C
adds r4, 0x1
cmp r4, 0x4
bls _0801A1F0
b _0801A20E
_0801A200:
adds r0, r5, 0
bl sub_8019D20
adds r0, r5, 0
adds r1, r4, 0
bl sub_801A064
_0801A20E:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_801A16C
thumb_func_start sub_801A214
sub_801A214: @ 801A214
push {r4,r5,lr}
adds r5, r0, 0
bl sub_8019D20
movs r4, 0
_0801A21E:
adds r0, r5, 0
adds r1, r4, 0
bl sub_801A02C
adds r4, 0x1
cmp r4, 0x4
ble _0801A21E
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_801A214
thumb_func_start sub_801A234
sub_801A234: @ 801A234
push {r4,r5,lr}
ldr r2, =gUnknown_02022C68
movs r1, 0
str r1, [r2]
movs r5, 0
ldr r4, [r0]
_0801A240:
ldrb r0, [r4, 0x1A]
movs r1, 0x3
ands r1, r0
cmp r1, 0x1
bne _0801A258
adds r0, r5, 0
adds r1, r4, 0
bl sub_801A16C
b _0801A264
.pool
_0801A258:
cmp r1, 0x2
bne _0801A264
adds r0, r5, 0
adds r1, r4, 0
bl sub_801A214
_0801A264:
adds r4, 0x20
adds r5, 0x1
cmp r5, 0x7
ble _0801A240
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_801A234
thumb_func_start sub_801A274
sub_801A274: @ 801A274
ldr r1, =gUnknown_02022C68
movs r0, 0x96
lsls r0, 1
str r0, [r1]
bx lr
.pool
thumb_func_end sub_801A274
thumb_func_start sub_801A284
sub_801A284: @ 801A284
push {lr}
adds r2, r0, 0
ldr r0, =gUnknown_02022C68
ldr r1, [r0]
adds r1, 0x1
str r1, [r0]
movs r0, 0x96
lsls r0, 1
cmp r1, r0
bls _0801A29E
adds r0, r2, 0
bl sub_801A234
_0801A29E:
pop {r0}
bx r0
.pool
thumb_func_end sub_801A284
thumb_func_start sub_801A2A8
sub_801A2A8: @ 801A2A8
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x18
adds r5, r0, 0
str r1, [sp, 0x4]
str r2, [sp, 0x8]
bl is_walking_or_running
cmp r0, 0
bne _0801A2F0
b _0801A396
_0801A2C4:
ldr r4, =gUnknown_082F076A
bl GetPlayerFacingDirection
lsls r0, 24
lsrs r0, 24
adds r0, r4
ldrb r2, [r0]
adds r0, r6, 0
ldr r1, [sp, 0xC]
bl sub_801A3B0
ldr r0, [sp, 0x4]
strh r6, [r0]
mov r1, sp
ldrh r2, [r1, 0xC]
ldr r1, [sp, 0x8]
strh r2, [r1]
movs r0, 0x1
b _0801A398
.pool
_0801A2F0:
mov r4, sp
adds r4, 0x2
mov r0, sp
adds r1, r4, 0
bl GetXYCoordsOneStepInFrontOfPlayer
movs r0, 0
str r0, [sp, 0xC]
ldr r0, =gUnknown_082F0740
adds r7, r5, 0
movs r1, 0
mov r10, r1
adds r2, r0, 0x2
str r2, [sp, 0x10]
str r0, [sp, 0x14]
_0801A30E:
movs r6, 0
ldr r4, [sp, 0x14]
movs r0, 0
ldrsh r4, [r4, r0]
mov r9, r4
ldr r1, [sp, 0x10]
mov r8, r1
ldr r5, =gUnknown_082F0760
_0801A31E:
mov r2, r10
adds r3, r2, r6
mov r0, sp
movs r4, 0
ldrsh r1, [r0, r4]
movs r0, 0
ldrsb r0, [r5, r0]
add r0, r9
adds r0, 0x7
cmp r1, r0
bne _0801A372
mov r1, sp
movs r2, 0x2
ldrsh r0, [r1, r2]
mov r4, r8
movs r2, 0
ldrsh r1, [r4, r2]
movs r2, 0x1
ldrsb r2, [r5, r2]
adds r1, r2
adds r1, 0x7
cmp r0, r1
bne _0801A372
adds r0, r3, 0
subs r0, 0x38
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
bl sub_8097C8C
cmp r0, 0
bne _0801A372
adds r0, r4, 0
bl sub_8097D9C
cmp r0, 0
bne _0801A372
ldrb r1, [r7, 0x1A]
movs r0, 0x3
ands r0, r1
cmp r0, 0x1
beq _0801A2C4
_0801A372:
adds r5, 0x2
adds r6, 0x1
cmp r6, 0x4
ble _0801A31E
adds r7, 0x20
movs r4, 0x5
add r10, r4
ldr r0, [sp, 0x10]
adds r0, 0x4
str r0, [sp, 0x10]
ldr r1, [sp, 0x14]
adds r1, 0x4
str r1, [sp, 0x14]
ldr r2, [sp, 0xC]
adds r2, 0x1
str r2, [sp, 0xC]
cmp r2, 0x7
ble _0801A30E
_0801A396:
movs r0, 0
_0801A398:
add sp, 0x18
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end sub_801A2A8
thumb_func_start sub_801A3B0
sub_801A3B0: @ 801A3B0
push {r4,lr}
adds r4, r0, 0
adds r3, r1, 0
lsls r1, r2, 24
lsrs r1, 24
lsls r0, r3, 2
adds r0, r3
subs r0, 0x38
adds r0, r4
lsls r0, 24
lsrs r0, 24
bl sub_8097B78
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_801A3B0
thumb_func_start sub_801A3D0
sub_801A3D0: @ 801A3D0
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
lsls r3, r4, 5
adds r3, r2
adds r2, r3, 0
bl sub_8019F64
adds r2, r0, 0
lsls r2, 24
lsrs r2, 24
adds r0, r5, 0
adds r1, r4, 0
bl sub_801A3B0
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_801A3D0
thumb_func_start sub_801A3F4
sub_801A3F4: @ 801A3F4
push {lr}