mirror of
https://github.com/zeldaret/ph
synced 2026-05-28 00:15:57 -04:00
2229 lines
50 KiB
ArmAsm
2229 lines
50 KiB
ArmAsm
.include "macros/function.inc"
|
|
.include "ov00/Player/LinkStateInteract.inc"
|
|
|
|
.text
|
|
|
|
.global _ZN17LinkStateInteract8vfunc_00Ev
|
|
thumb_func_start _ZN17LinkStateInteract8vfunc_00Ev
|
|
_ZN17LinkStateInteract8vfunc_00Ev: ; 0x020aa32c
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end _ZN17LinkStateInteract8vfunc_00Ev
|
|
|
|
.global _ZN17LinkStateInteract5GetIdEv
|
|
arm_func_start _ZN17LinkStateInteract5GetIdEv
|
|
_ZN17LinkStateInteract5GetIdEv: ; 0x020aa330
|
|
mov r0, #2
|
|
bx lr
|
|
arm_func_end _ZN17LinkStateInteract5GetIdEv
|
|
|
|
.global _ZN17LinkStateInteract20CreateDebugHierarchyEv
|
|
arm_func_start _ZN17LinkStateInteract20CreateDebugHierarchyEv
|
|
_ZN17LinkStateInteract20CreateDebugHierarchyEv: ; 0x020aa338
|
|
ldr r1, [r0, #4]
|
|
cmp r1, #7
|
|
cmpne r1, #8
|
|
cmpne r1, #9
|
|
bne _020aa354
|
|
ldr r0, [r0, #0x10]
|
|
bx lr
|
|
_020aa354:
|
|
mvn r0, #0
|
|
bx lr
|
|
arm_func_end _ZN17LinkStateInteract20CreateDebugHierarchyEv
|
|
|
|
.global _ZN17LinkStateInteract14GetGrabActorIdEv
|
|
thumb_func_start _ZN17LinkStateInteract14GetGrabActorIdEv
|
|
_ZN17LinkStateInteract14GetGrabActorIdEv: ; 0x020aa35c
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #0x14
|
|
add r5, r0, #0
|
|
ldr r6, _020aa4f0 ; =data_ov00_020e59b8
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
ldr r3, [r0]
|
|
ldr r1, _020aa4f4 ; =0x4c475242
|
|
ldr r2, _020aa4f8 ; =data_ov00_020e5940
|
|
ldr r3, [r3, #0x3c]
|
|
add r4, r0, #0
|
|
blx r3
|
|
ldr r0, _020aa4f8 ; =data_ov00_020e5940
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r1, [sp, #8]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
ldr r4, [r0]
|
|
ldr r3, _020aa4f4 ; =0x4c475242
|
|
ldr r4, [r4, #0x34]
|
|
mov r1, #1
|
|
add r2, r6, #0
|
|
blx r4
|
|
ldr r0, _020aa4fc ; =data_ov00_020e5908
|
|
ldr r7, _020aa500 ; =data_ov00_020e59cc
|
|
ldr r1, [r0, #0x40]
|
|
lsr r0, r1, #0x1f
|
|
add r0, r1, r0
|
|
asr r4, r0, #1
|
|
add r0, r5, #0
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
ldr r3, [r0]
|
|
ldr r1, _020aa4f4 ; =0x4c475242
|
|
ldr r2, _020aa504 ; =data_ov00_020e5944
|
|
ldr r3, [r3, #0x3c]
|
|
add r6, r0, #0
|
|
blx r3
|
|
ldr r0, _020aa504 ; =data_ov00_020e5944
|
|
ldr r3, _020aa4f4 ; =0x4c475242
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
add r0, r6, #0
|
|
ldr r4, [r0]
|
|
mov r1, #1
|
|
ldr r4, [r4, #0x34]
|
|
add r2, r7, #0
|
|
blx r4
|
|
ldr r0, _020aa4fc ; =data_ov00_020e5908
|
|
ldr r7, _020aa508 ; =data_ov00_020e59e4
|
|
ldr r4, [r0, #0x40]
|
|
add r0, r5, #0
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
ldr r3, [r0]
|
|
ldr r1, _020aa4f4 ; =0x4c475242
|
|
ldr r2, _020aa50c ; =data_ov00_020e5948
|
|
ldr r3, [r3, #0x3c]
|
|
add r6, r0, #0
|
|
blx r3
|
|
ldr r0, _020aa50c ; =data_ov00_020e5948
|
|
ldr r3, _020aa4f4 ; =0x4c475242
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
lsr r0, r4, #0x1f
|
|
add r0, r4, r0
|
|
asr r0, r0, #1
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
add r0, r6, #0
|
|
ldr r4, [r0]
|
|
mov r1, #1
|
|
ldr r4, [r4, #0x34]
|
|
add r2, r7, #0
|
|
blx r4
|
|
ldr r1, _020aa4fc ; =data_ov00_020e5908
|
|
add r0, r5, #0
|
|
ldr r1, [r1, #0x54]
|
|
blx _ZN13LinkStateBase26PlayerControlData_vfunc_14Ei
|
|
add r6, r0, #0
|
|
add r0, r5, #0
|
|
ldr r7, _020aa510 ; =data_ov00_020e59fc
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
ldr r3, [r0]
|
|
ldr r1, _020aa4f4 ; =0x4c475242
|
|
ldr r2, _020aa514 ; =data_ov00_020e5960
|
|
ldr r3, [r3, #0x3c]
|
|
add r4, r0, #0
|
|
blx r3
|
|
ldr r0, _020aa514 ; =data_ov00_020e5960
|
|
mov r1, #0
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #3
|
|
str r1, [sp, #8]
|
|
lsl r0, r0, #0xc
|
|
str r0, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
add r0, r4, #0
|
|
ldr r4, [r0]
|
|
ldr r3, _020aa4f4 ; =0x4c475242
|
|
ldr r4, [r4, #0x34]
|
|
mov r1, #1
|
|
add r2, r7, #0
|
|
blx r4
|
|
add r0, r5, #0
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
ldr r3, [r0]
|
|
ldr r1, _020aa4f4 ; =0x4c475242
|
|
ldr r2, _020aa518 ; =data_ov00_020e5964
|
|
ldr r3, [r3, #0x3c]
|
|
add r7, r0, #0
|
|
blx r3
|
|
lsr r0, r6, #0x1f
|
|
add r0, r6, r0
|
|
asr r4, r0, #1
|
|
ldr r0, _020aa518 ; =data_ov00_020e5964
|
|
ldr r2, _020aa51c ; =data_ov00_020e5a0c
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
mov r0, #0
|
|
str r0, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
add r0, r7, #0
|
|
ldr r7, [r0]
|
|
ldr r3, _020aa4f4 ; =0x4c475242
|
|
ldr r7, [r7, #0x34]
|
|
mov r1, #1
|
|
blx r7
|
|
add r0, r5, #0
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
ldr r3, [r0]
|
|
ldr r1, _020aa4f4 ; =0x4c475242
|
|
ldr r2, _020aa520 ; =data_ov00_020e5968
|
|
ldr r3, [r3, #0x3c]
|
|
add r7, r0, #0
|
|
blx r3
|
|
ldr r0, _020aa520 ; =data_ov00_020e5968
|
|
ldr r2, _020aa524 ; =data_ov00_020e5a20
|
|
str r0, [sp]
|
|
mov r0, #8
|
|
str r0, [sp, #4]
|
|
str r4, [sp, #8]
|
|
str r6, [sp, #0xc]
|
|
mov r0, #0
|
|
str r0, [sp, #0x10]
|
|
add r0, r7, #0
|
|
ldr r4, [r0]
|
|
ldr r3, _020aa4f4 ; =0x4c475242
|
|
ldr r4, [r4, #0x34]
|
|
mov r1, #1
|
|
blx r4
|
|
add r0, r5, #0
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
ldr r0, _020aa4fc ; =data_ov00_020e5908
|
|
ldr r6, _020aa528 ; =data_ov00_020e5a34
|
|
ldr r0, [r0, #0x20]
|
|
lsl r4, r0, #1
|
|
add r0, r5, #0
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
ldr r1, _020aa52c ; =data_ov00_020e5928
|
|
ldr r3, _020aa530 ; =0x4c505348
|
|
str r1, [sp]
|
|
mov r1, #6
|
|
str r1, [sp, #4]
|
|
mov r1, #0
|
|
str r1, [sp, #8]
|
|
str r4, [sp, #0xc]
|
|
str r1, [sp, #0x10]
|
|
ldr r4, [r0]
|
|
add r2, r6, #0
|
|
ldr r4, [r4, #0x34]
|
|
blx r4
|
|
add r0, r5, #0
|
|
blx _ZN13LinkStateBase18GetDebugHierarchy0Ev
|
|
add sp, #0x14
|
|
pop {r4, r5, r6, r7, pc}
|
|
nop
|
|
thumb_func_end _ZN17LinkStateInteract14GetGrabActorIdEv
|
|
_020aa4f0: .word data_ov00_020e59b8
|
|
_020aa4f4: .word 0x4c475242
|
|
_020aa4f8: .word data_ov00_020e5940
|
|
_020aa4fc: .word data_ov00_020e5908
|
|
_020aa500: .word data_ov00_020e59cc
|
|
_020aa504: .word data_ov00_020e5944
|
|
_020aa508: .word data_ov00_020e59e4
|
|
_020aa50c: .word data_ov00_020e5948
|
|
_020aa510: .word data_ov00_020e59fc
|
|
_020aa514: .word data_ov00_020e5960
|
|
_020aa518: .word data_ov00_020e5964
|
|
_020aa51c: .word data_ov00_020e5a0c
|
|
_020aa520: .word data_ov00_020e5968
|
|
_020aa524: .word data_ov00_020e5a20
|
|
_020aa528: .word data_ov00_020e5a34
|
|
_020aa52c: .word data_ov00_020e5928
|
|
_020aa530: .word 0x4c505348
|
|
|
|
.global _ZN17LinkStateInteract12OnStateEnterEv
|
|
arm_func_start _ZN17LinkStateInteract12OnStateEnterEv
|
|
_ZN17LinkStateInteract12OnStateEnterEv: ; 0x020aa534
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
sub sp, sp, #8
|
|
mov r4, r0
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #6
|
|
beq _020aa558
|
|
bl _ZN13LinkStateBase18func_ov00_020a82acEv
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase18EquipItem_vfunc_28Ev
|
|
_020aa558:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #9
|
|
addls pc, pc, r0, lsl #2
|
|
b _020aa76c
|
|
_020aa568: ; jump table
|
|
b _020aa590 ; case 0
|
|
b _020aa5a0 ; case 1
|
|
b _020aa5c0 ; case 2
|
|
b _020aa5d4 ; case 3
|
|
b _020aa5d4 ; case 4
|
|
b _020aa634 ; case 5
|
|
b _020aa75c ; case 6
|
|
b _020aa684 ; case 7
|
|
b _020aa704 ; case 8
|
|
b _020aa730 ; case 9
|
|
_020aa590:
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl _ZN13LinkStateBase15ChangeLinkStateEi
|
|
b _020aa778
|
|
_020aa5a0:
|
|
ldr r0, _020aa78c ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
bl _ZN13PlayerControl9SetUnk_80Ev
|
|
ldr r1, _020aa790 ; =data_ov00_020e592c
|
|
mov r0, r4
|
|
mov r2, #1
|
|
bl _ZN13LinkStateBase18func_ov00_020a8a4cEii
|
|
b _020aa778
|
|
_020aa5c0:
|
|
ldr r1, _020aa794 ; =data_ov00_020e593c
|
|
mov r0, r4
|
|
mov r2, #1
|
|
bl _ZN13LinkStateBase18func_ov00_020a8a4cEii
|
|
b _020aa778
|
|
_020aa5d4:
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
mov r0, r4
|
|
beq _020aa62c
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r2, r0
|
|
ldr r0, _020aa798 ; =data_ov00_020eec9c
|
|
ldr r1, _020aa79c ; =0x00000125
|
|
bl func_ov00_020d7b20
|
|
ldr r0, [r4, #0x18]
|
|
ldr r1, [r4, #0x20]
|
|
bl func_01ffa0f4
|
|
mov r5, r0
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
strh r5, [r0]
|
|
ldr r1, _020aa7a0 ; =data_ov00_020e595c
|
|
mov r0, r4
|
|
mov r2, #1
|
|
bl _ZN13LinkStateBase18func_ov00_020a89bcEii
|
|
b _020aa778
|
|
_020aa62c:
|
|
bl _ZN13LinkStateBase18func_ov00_020a8994Ev
|
|
b _020aa778
|
|
_020aa634:
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
beq _020aa674
|
|
ldr r0, [r4, #0x18]
|
|
ldr r1, [r4, #0x20]
|
|
bl func_01ffa0f4
|
|
mov r5, r0
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
strh r5, [r0]
|
|
ldr r1, _020aa7a4 ; =data_ov00_020e594c
|
|
mov r0, r4
|
|
mov r2, #1
|
|
bl _ZN13LinkStateBase18func_ov00_020a8a4cEii
|
|
b _020aa778
|
|
_020aa674:
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl _ZN13LinkStateBase15ChangeLinkStateEi
|
|
b _020aa778
|
|
_020aa684:
|
|
ldr r0, _020aa78c ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
bl _ZN13PlayerControl9SetUnk_80Ev
|
|
ldr r0, _020aa7a8 ; =data_027e0fe4
|
|
add r1, r4, #0x10
|
|
ldr r0, [r0]
|
|
bl _ZN12ActorManager8GetActorEP8ActorRef
|
|
cmp r0, #0
|
|
mov r0, r4
|
|
beq _020aa6bc
|
|
bl _ZN13LinkStateBase24Get_PlayerLinkBase_Unk44Ev
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
b _020aa6c4
|
|
_020aa6bc:
|
|
mov r1, #0
|
|
bl _ZN13LinkStateBase15ChangeLinkStateEi
|
|
_020aa6c4:
|
|
mov r2, #0
|
|
str r2, [sp]
|
|
mov r3, r2
|
|
add r0, r4, #0x24
|
|
mov r1, #1
|
|
str r2, [sp, #4]
|
|
bl func_020350b4
|
|
mov r1, #0
|
|
mov r2, r1
|
|
mov r3, r1
|
|
add r0, r4, #0x24
|
|
str r1, [sp]
|
|
bl func_020351b8
|
|
mov r0, #0
|
|
strb r0, [r4, #0xb2]
|
|
b _020aa778
|
|
_020aa704:
|
|
ldrb r0, [r4, #0xb0]
|
|
cmp r0, #0
|
|
beq _020aa720
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase24Get_PlayerLinkBase_Unk44Ev
|
|
mov r1, #1
|
|
str r1, [r0]
|
|
_020aa720:
|
|
ldr r0, _020aa7ac ; =data_ov00_020e5908
|
|
ldr r0, [r0, #0x20]
|
|
str r0, [r4, #0xc]
|
|
b _020aa778
|
|
_020aa730:
|
|
ldrb r0, [r4, #0xb1]
|
|
cmp r0, #0
|
|
beq _020aa74c
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase24Get_PlayerLinkBase_Unk44Ev
|
|
mvn r1, #0
|
|
str r1, [r0]
|
|
_020aa74c:
|
|
ldr r0, _020aa7ac ; =data_ov00_020e5908
|
|
ldr r0, [r0, #0x20]
|
|
str r0, [r4, #0xc]
|
|
b _020aa778
|
|
_020aa75c:
|
|
ldr r0, _020aa78c ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
bl _ZN13PlayerControl9SetUnk_80Ev
|
|
b _020aa778
|
|
_020aa76c:
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl _ZN13LinkStateBase15ChangeLinkStateEi
|
|
_020aa778:
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #7
|
|
strne r0, [r4, #0xac]
|
|
add sp, sp, #8
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract12OnStateEnterEv
|
|
_020aa78c: .word data_027e0fb8
|
|
_020aa790: .word data_ov00_020e592c
|
|
_020aa794: .word data_ov00_020e593c
|
|
_020aa798: .word data_ov00_020eec9c
|
|
_020aa79c: .word 0x00000125
|
|
_020aa7a0: .word data_ov00_020e595c
|
|
_020aa7a4: .word data_ov00_020e594c
|
|
_020aa7a8: .word data_027e0fe4
|
|
_020aa7ac: .word data_ov00_020e5908
|
|
|
|
.global _ZN17LinkStateInteract12OnStateLeaveEi
|
|
arm_func_start _ZN17LinkStateInteract12OnStateLeaveEi
|
|
_ZN17LinkStateInteract12OnStateLeaveEi: ; 0x020aa7b0
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl _ZN13LinkStateBase12OnStateLeaveEi
|
|
ldr r0, _020aa814 ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, #0x80]
|
|
cmp r1, #0
|
|
beq _020aa7d4
|
|
bl _ZN13PlayerControl13StopFollowingEv
|
|
_020aa7d4:
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
ldr r1, [r4, #4]
|
|
cmp r1, #1
|
|
ldmneia sp!, {r4, pc}
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldrb r0, [r0, #0x11b]
|
|
cmp r0, #0
|
|
ldmneia sp!, {r4, pc}
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase15GetGrabActorRefEv
|
|
mvn r1, #0
|
|
str r1, [r0]
|
|
str r1, [r0, #4]
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract12OnStateLeaveEi
|
|
_020aa814: .word data_027e0fb8
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020aa818Ev
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020aa818Ev
|
|
_ZN17LinkStateInteract18func_ov00_020aa818Ev: ; 0x020aa818
|
|
stmdb sp!, {r4, lr}
|
|
ldr r0, _020aa840 ; =gItemManager
|
|
ldr r4, [r0]
|
|
mov r0, r4
|
|
bl _ZNK11ItemManager16GetEquippedFairyEv
|
|
mov r1, r0
|
|
mov r0, r4
|
|
bl _ZNK11ItemManager8GetFairyEi
|
|
bl func_ov00_020ba458
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020aa818Ev
|
|
_020aa840: .word gItemManager
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020aa844EP5Actor
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020aa844EP5Actor
|
|
_ZN17LinkStateInteract18func_ov00_020aa844EP5Actor: ; 0x020aa844
|
|
stmdb sp!, {r4, r5, r6, r7, r8, r9, lr}
|
|
sub sp, sp, #0x2c
|
|
mov r4, r1
|
|
mov r5, r0
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r1, r0
|
|
add r2, sp, #0x20
|
|
add r0, r4, #0x48
|
|
bl func_01ff9bf8
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
ldrh r6, [r0]
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
ldrh r1, [r0]
|
|
mov r0, r6, asr #0x4
|
|
mov r2, r0, lsl #0x2
|
|
mov r0, r1, asr #0x4
|
|
mov r0, r0, lsl #0x1
|
|
add r0, r0, #1
|
|
ldr r3, _020aabd0 ; =data_02050f54
|
|
mov r1, r0, lsl #0x1
|
|
ldrsh r1, [r3, r1]
|
|
ldrsh r9, [r3, r2]
|
|
ldr r6, [sp, #0x20]
|
|
str r1, [sp]
|
|
mov r1, r1, asr #0x1f
|
|
str r1, [sp, #4]
|
|
ldr r1, [sp]
|
|
mov r0, r4
|
|
rsb r1, r1, #0
|
|
str r1, [sp, #8]
|
|
ldr r2, [sp, #8]
|
|
mov r1, r1, asr #0x1f
|
|
smull r3, r2, r6, r2
|
|
adds r4, r3, #0x800
|
|
adc r3, r2, #0
|
|
mov r2, r4, lsr #0xc
|
|
str r1, [sp, #0xc]
|
|
ldr r7, [sp, #0x28]
|
|
orr r2, r2, r3, lsl #20
|
|
smull r4, r3, r7, r9
|
|
adds r4, r4, #0x800
|
|
adc r3, r3, #0
|
|
mov r4, r4, lsr #0xc
|
|
orr r4, r4, r3, lsl #20
|
|
add r1, sp, #0x10
|
|
mov r8, r9, asr #0x1f
|
|
add r4, r2, r4
|
|
bl _ZN5Actor9GetHitboxEP8Cylinder
|
|
smull r1, r0, r6, r9
|
|
adds r1, r1, #0x800
|
|
adc r0, r0, #0
|
|
mov r2, r1, lsr #0xc
|
|
orr r2, r2, r0, lsl #20
|
|
ldr r0, [sp]
|
|
smull r1, r0, r7, r0
|
|
adds r1, r1, #0x800
|
|
adc r0, r0, #0
|
|
mov r1, r1, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
add r2, r2, r1
|
|
ldr r1, [sp, #0x1c]
|
|
mov r0, r5
|
|
add r1, r1, #0x66
|
|
add r1, r1, #0x600
|
|
sub r7, r2, r1
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
mov r1, #0
|
|
str r1, [r0]
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
mov r1, #0
|
|
cmp r4, #0
|
|
str r1, [r0, #8]
|
|
ble _020aaa04
|
|
ldr r6, _020aabd4 ; =0x00000155
|
|
mov r0, r5
|
|
cmp r4, r6
|
|
movle r6, r4
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
ldr r1, [sp, #8]
|
|
mov r2, r6, asr #0x1f
|
|
umull ip, r3, r6, r1
|
|
ldr r1, [sp, #0xc]
|
|
mla r3, r6, r1, r3
|
|
ldr r1, [sp, #8]
|
|
adds r6, ip, #0x800
|
|
mla r3, r2, r1, r3
|
|
adc r2, r3, #0
|
|
mov r3, r6, lsr #0xc
|
|
ldr r1, _020aabd4 ; =0x00000155
|
|
ldr r6, [r0]
|
|
orr r3, r3, r2, lsl #20
|
|
add r2, r6, r3
|
|
str r2, [r0]
|
|
cmp r4, r1
|
|
movgt r4, r1
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
umull r3, r2, r4, r9
|
|
mla r2, r4, r8, r2
|
|
mov r1, r4, asr #0x1f
|
|
mla r2, r1, r9, r2
|
|
adds r3, r3, #0x800
|
|
adc r1, r2, #0
|
|
mov r2, r3, lsr #0xc
|
|
ldr r3, [r0, #8]
|
|
orr r2, r2, r1, lsl #20
|
|
add r1, r3, r2
|
|
str r1, [r0, #8]
|
|
b _020aaa98
|
|
_020aaa04:
|
|
cmp r4, #0
|
|
bge _020aaa98
|
|
mvn r6, #0x154
|
|
cmp r4, r6
|
|
mov r0, r5
|
|
movge r6, r4
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
ldr r1, [sp, #8]
|
|
mov r2, r6, asr #0x1f
|
|
umull ip, r3, r6, r1
|
|
ldr r1, [sp, #0xc]
|
|
mla r3, r6, r1, r3
|
|
ldr r1, [sp, #8]
|
|
adds r6, ip, #0x800
|
|
mla r3, r2, r1, r3
|
|
adc r2, r3, #0
|
|
mov r3, r6, lsr #0xc
|
|
mvn r1, #0x154
|
|
cmp r4, r1
|
|
ldr r6, [r0]
|
|
orr r3, r3, r2, lsl #20
|
|
add r2, r6, r3
|
|
str r2, [r0]
|
|
movlt r4, r1
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
umull r3, r2, r4, r9
|
|
mla r2, r4, r8, r2
|
|
mov r1, r4, asr #0x1f
|
|
mla r2, r1, r9, r2
|
|
adds r3, r3, #0x800
|
|
adc r1, r2, #0
|
|
mov r2, r3, lsr #0xc
|
|
ldr r3, [r0, #8]
|
|
orr r2, r2, r1, lsl #20
|
|
add r1, r3, r2
|
|
str r1, [r0, #8]
|
|
_020aaa98:
|
|
cmp r7, #0
|
|
ble _020aab34
|
|
ldr r4, _020aabd4 ; =0x00000155
|
|
mov r0, r5
|
|
cmp r7, r4
|
|
movle r4, r7
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
umull r3, r2, r4, r9
|
|
adds r3, r3, #0x800
|
|
mla r2, r4, r8, r2
|
|
mov r1, r4, asr #0x1f
|
|
mla r2, r1, r9, r2
|
|
adc r2, r2, #0
|
|
mov r3, r3, lsr #0xc
|
|
ldr r1, _020aabd4 ; =0x00000155
|
|
ldr r4, [r0]
|
|
orr r3, r3, r2, lsl #20
|
|
add r2, r4, r3
|
|
str r2, [r0]
|
|
cmp r7, r1
|
|
mov r0, r5
|
|
movgt r7, r1
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
ldr r1, [sp]
|
|
mov r2, r7, asr #0x1f
|
|
umull r4, r3, r7, r1
|
|
ldr r1, [sp, #4]
|
|
adds r4, r4, #0x800
|
|
mla r3, r7, r1, r3
|
|
ldr r1, [sp]
|
|
add sp, sp, #0x2c
|
|
mla r3, r2, r1, r3
|
|
adc r1, r3, #0
|
|
mov r2, r4, lsr #0xc
|
|
ldr r3, [r0, #8]
|
|
orr r2, r2, r1, lsl #20
|
|
add r1, r3, r2
|
|
str r1, [r0, #8]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
_020aab34:
|
|
addge sp, sp, #0x2c
|
|
ldmgeia sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
mvn r4, #0x154
|
|
cmp r7, r4
|
|
movge r4, r7
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
umull r3, r2, r4, r9
|
|
adds r3, r3, #0x800
|
|
mla r2, r4, r8, r2
|
|
mov r1, r4, asr #0x1f
|
|
mla r2, r1, r9, r2
|
|
adc r2, r2, #0
|
|
mov r3, r3, lsr #0xc
|
|
mvn r1, #0x154
|
|
cmp r7, r1
|
|
ldr r4, [r0]
|
|
orr r3, r3, r2, lsl #20
|
|
add r2, r4, r3
|
|
str r2, [r0]
|
|
mov r0, r5
|
|
movlt r7, r1
|
|
bl _ZN13LinkStateBase12GetPlayerVelEv
|
|
ldr r1, [sp]
|
|
mov r2, r7, asr #0x1f
|
|
umull r4, r3, r7, r1
|
|
ldr r1, [sp, #4]
|
|
adds r4, r4, #0x800
|
|
mla r3, r7, r1, r3
|
|
ldr r1, [sp]
|
|
mla r3, r2, r1, r3
|
|
adc r1, r3, #0
|
|
mov r2, r4, lsr #0xc
|
|
ldr r3, [r0, #8]
|
|
orr r2, r2, r1, lsl #20
|
|
add r1, r3, r2
|
|
str r1, [r0, #8]
|
|
add sp, sp, #0x2c
|
|
ldmia sp!, {r4, r5, r6, r7, r8, r9, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020aa844EP5Actor
|
|
_020aabd0: .word data_02050f54
|
|
_020aabd4: .word 0x00000155
|
|
|
|
.global _ZN17LinkStateInteract8vfunc_20Ei
|
|
arm_func_start _ZN17LinkStateInteract8vfunc_20Ei
|
|
_ZN17LinkStateInteract8vfunc_20Ei: ; 0x020aabd8
|
|
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
|
sub sp, sp, #0xc8
|
|
mov r6, r1
|
|
mov r1, #2
|
|
mov r4, r0
|
|
bl _ZN13LinkStateBase29HasFlags_PlayerLinkBase_Unk48Et
|
|
cmp r0, #0
|
|
bne _020aac08
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase18func_ov00_020a8b80Ev
|
|
cmp r0, #0
|
|
bne _020aac14
|
|
_020aac08:
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020aac14:
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
movs r5, r0
|
|
beq _020aadbc
|
|
cmp r6, #0
|
|
bne _020aadbc
|
|
ldr r0, _020ab3bc ; =gItemManager
|
|
mov r6, #0
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
sub r0, r0, #9
|
|
cmp r0, #1
|
|
bhi _020aacf4
|
|
ldr r1, _020ab3c0 ; =data_027e0d0c
|
|
mov r0, r4
|
|
ldr r2, [r1]
|
|
str r2, [r4, #0x18]
|
|
ldr r2, [r1, #4]
|
|
str r2, [r4, #0x1c]
|
|
ldr r1, [r1, #8]
|
|
str r1, [r4, #0x20]
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
ldrh r1, [r0]
|
|
ldr r2, _020ab3c4 ; =data_02050f54
|
|
ldr r0, _020ab3c8 ; =0x000004cd
|
|
mov r1, r1, asr #0x4
|
|
mov r3, r1, lsl #0x1
|
|
mov r1, r3, lsl #0x1
|
|
ldrsh ip, [r2, r1]
|
|
add r1, r3, #1
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r2, [r2, r1]
|
|
mov r1, r6
|
|
umull r7, lr, ip, r0
|
|
mla lr, ip, r1, lr
|
|
umull r6, r3, r2, r0
|
|
mla r3, r2, r1, r3
|
|
mov ip, ip, asr #0x1f
|
|
mov r1, r2, asr #0x1f
|
|
adds r8, r7, #0x800
|
|
mla lr, ip, r0, lr
|
|
mla r3, r1, r0, r3
|
|
adc r7, lr, #0
|
|
mov r8, r8, lsr #0xc
|
|
adds r6, r6, #0x800
|
|
mov r1, r6, lsr #0xc
|
|
ldr r0, [r4, #0x18]
|
|
orr r8, r8, r7, lsl #20
|
|
add r0, r0, r8
|
|
str r0, [r4, #0x18]
|
|
adc r0, r3, #0
|
|
ldr r2, [r4, #0x20]
|
|
orr r1, r1, r0, lsl #20
|
|
add r0, r2, r1
|
|
str r0, [r4, #0x20]
|
|
mov r6, #1
|
|
_020aacf4:
|
|
mov r0, r5
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x2c]
|
|
blx r1
|
|
mvn r1, #0
|
|
cmp r0, r1
|
|
movne r5, #1
|
|
moveq r5, #0
|
|
cmp r5, #0
|
|
bne _020aad64
|
|
cmp r6, #0
|
|
bne _020aad3c
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
add r1, r4, #0x18
|
|
ldr r0, [r0]
|
|
bl _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p
|
|
cmp r0, #0
|
|
beq _020aad64
|
|
_020aad3c:
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
mov r0, #5
|
|
strb r1, [r2, #0x79]
|
|
strb r1, [r2, #0x7b]
|
|
str r0, [r4, #4]
|
|
add sp, sp, #0xc8
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020aad64:
|
|
cmp r6, #0
|
|
bne _020aad88
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
mov r2, r5
|
|
ldr r0, [r0]
|
|
add r1, r4, #0x18
|
|
bl _ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb
|
|
cmp r0, #0
|
|
beq _020aadb0
|
|
_020aad88:
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
mov r0, #3
|
|
strb r1, [r2, #0x79]
|
|
strb r1, [r2, #0x7b]
|
|
str r0, [r4, #4]
|
|
add sp, sp, #0xc8
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020aadb0:
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020aadbc:
|
|
ldr r1, _020ab3cc ; =data_027e0fb8
|
|
ldr r0, _020ab3d0 ; =data_027e0fe4
|
|
ldr r3, [r1]
|
|
ldr r0, [r0]
|
|
ldr r2, [r3, #0x84]
|
|
add r1, sp, #0x14
|
|
str r2, [sp, #0x14]
|
|
ldr r2, [r3, #0x88]
|
|
str r2, [sp, #0x18]
|
|
bl _ZN12ActorManager8GetActorEP8ActorRef
|
|
movs r6, r0
|
|
bne _020aae38
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase18func_ov00_020a8d40Ev
|
|
ldr r2, _020ab3cc ; =data_027e0fb8
|
|
ldr r1, [r0, #0xe0]
|
|
ldr r0, [r2]
|
|
bl _ZN13PlayerControl18func_ov00_020b0ad0EP5Actor
|
|
cmp r0, #0
|
|
beq _020aae2c
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase18func_ov00_020a8d40Ev
|
|
ldr r6, [r0, #0xe0]
|
|
ldr r0, [r6, #8]
|
|
str r0, [sp, #0x14]
|
|
ldr r0, [r6, #0xc]
|
|
str r0, [sp, #0x18]
|
|
b _020aae54
|
|
_020aae2c:
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020aae38:
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #0x80]
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc8
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020aae54:
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
cmp r5, #0
|
|
movne r2, #1
|
|
ldr r1, [r6, #0x12c]
|
|
ldr r0, [r0]
|
|
moveq r2, #0
|
|
bl _ZN13PlayerControl18func_ov00_020afe88Eib
|
|
cmp r0, #0
|
|
bne _020aae90
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
bl _ZN13PlayerControl13StopFollowingEv
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020aae90:
|
|
ldr r0, [r6, #0x12c]
|
|
cmp r0, #2
|
|
bne _020aaf78
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
bne _020aaf78
|
|
add r3, sp, #0x5c
|
|
add r1, r6, #0x60
|
|
add r2, r6, #0x48
|
|
mov r0, #0x6000
|
|
bl func_01ff9e64
|
|
mov r0, #0
|
|
ldr r1, _020ab3d4 ; =0x0000ffff
|
|
strh r0, [sp, #0x94]
|
|
strb r0, [sp, #0xb6]
|
|
strb r0, [sp, #0xb7]
|
|
strb r0, [sp, #0xb8]
|
|
strb r0, [sp, #0xb9]
|
|
strb r0, [sp, #0xc0]
|
|
strb r0, [sp, #0xc1]
|
|
strb r0, [sp, #0xc2]
|
|
strb r0, [sp, #0xc3]
|
|
strb r0, [sp, #0xc4]
|
|
strb r0, [sp, #0xc5]
|
|
strh r1, [sp, #0x8c]
|
|
strh r1, [sp, #0x8e]
|
|
strh r1, [sp, #0x90]
|
|
strh r1, [sp, #0x92]
|
|
ldr r1, [r6, #0x48]
|
|
add r2, r6, #0x8c
|
|
str r1, [sp, #0x28]
|
|
ldr r1, [r6, #0x4c]
|
|
ldr r5, _020ab3d8 ; =data_027e0e60
|
|
str r1, [sp, #0x2c]
|
|
ldr r3, [r6, #0x50]
|
|
add r1, sp, #0x68
|
|
str r3, [sp, #0x30]
|
|
str r2, [sp]
|
|
ldr r3, [r6, #8]
|
|
add r2, sp, #0x5c
|
|
str r3, [sp, #4]
|
|
ldrh ip, [r6, #0x9c]
|
|
add r3, sp, #0x28
|
|
str ip, [sp, #8]
|
|
str r0, [sp, #0xc]
|
|
str r0, [sp, #0x10]
|
|
ldr r0, [r5]
|
|
bl func_01ffbe78
|
|
cmp r0, #0
|
|
beq _020aaf88
|
|
ldr r2, [sp, #0x68]
|
|
ldr r1, [sp, #0x6c]
|
|
ldr r0, [sp, #0x70]
|
|
str r2, [sp, #0x5c]
|
|
str r1, [sp, #0x60]
|
|
str r0, [sp, #0x64]
|
|
b _020aaf88
|
|
_020aaf78:
|
|
add r1, sp, #0x5c
|
|
mov r0, r4
|
|
mov r2, r6
|
|
bl _ZN17LinkStateInteract18func_ov00_020ab7bcEP5Vec3pP5Actor
|
|
_020aaf88:
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r1, r0
|
|
add r0, sp, #0x5c
|
|
add r2, sp, #0x50
|
|
bl func_01ff9bf8
|
|
add r1, sp, #0x40
|
|
mov r0, r6
|
|
bl _ZN5Actor9GetHitboxEP8Cylinder
|
|
ldr r0, [r6, #0x12c]
|
|
cmp r0, #6
|
|
addls pc, pc, r0, lsl #2
|
|
b _020ab3b0
|
|
_020aafbc: ; jump table
|
|
b _020ab3b0 ; case 0
|
|
b _020aafd8 ; case 1
|
|
b _020ab000 ; case 2
|
|
b _020ab1e4 ; case 3
|
|
b _020ab2b0 ; case 4
|
|
b _020ab32c ; case 5
|
|
b _020ab398 ; case 6
|
|
_020aafd8:
|
|
add r0, sp, #0x50
|
|
bl func_01ff9cec
|
|
cmp r0, #0x800
|
|
bge _020aaff4
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
bl _ZN13PlayerControl9SetUnk_80Ev
|
|
_020aaff4:
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab000:
|
|
bl _ZN10PlayerBase13GetEquipSwordEv
|
|
ldr r2, [r0]
|
|
mov r1, #1
|
|
ldr r2, [r2, #0x14]
|
|
blx r2
|
|
cmp r0, #0
|
|
addeq sp, sp, #0xc8
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
bne _020ab170
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase19GetCurrentCharacterEv
|
|
cmp r0, #1
|
|
bne _020ab060
|
|
bl _ZN17LinkStateInteract16GetLinkStateRollEv
|
|
add r2, sp, #0x50
|
|
mov r1, r6
|
|
bl func_ov23_02171410
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab060:
|
|
add r0, sp, #0x50
|
|
bl func_01ff9cec
|
|
ldr r1, [sp, #0x4c]
|
|
mov r5, r0
|
|
add r0, r1, #0x3800
|
|
cmp r5, r0
|
|
bge _020ab1d8
|
|
ldr r0, [sp, #0x50]
|
|
ldr r1, [sp, #0x58]
|
|
bl func_01ffa0f4
|
|
ldr r1, _020ab3dc ; =0x00001ccd
|
|
mov r0, r0, lsl #0x10
|
|
cmp r5, r1
|
|
mov r6, r0, asr #0x10
|
|
bge _020ab0fc
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
ldrsh r0, [r0]
|
|
add r2, sp, #0x5c
|
|
sub r0, r6, r0
|
|
mov r0, r0, lsl #0x10
|
|
mov r1, r0, asr #0x10
|
|
cmp r1, #0x4000
|
|
ble _020ab0d0
|
|
mov r0, r4
|
|
mov r1, #1
|
|
bl _ZN13LinkStateBase18func_ov00_020a81b8Eii
|
|
b _020ab160
|
|
_020ab0d0:
|
|
mov r0, #0x4000
|
|
rsb r0, r0, #0
|
|
cmp r1, r0
|
|
mov r0, r4
|
|
blt _020ab0f0
|
|
mov r1, #0
|
|
bl _ZN13LinkStateBase18func_ov00_020a81b8Eii
|
|
b _020ab160
|
|
_020ab0f0:
|
|
mov r1, #2
|
|
bl _ZN13LinkStateBase18func_ov00_020a81b8Eii
|
|
b _020ab160
|
|
_020ab0fc:
|
|
rsb r0, r1, #0x4800
|
|
cmp r5, r0
|
|
bge _020ab134
|
|
ldr r1, [sp, #0x54]
|
|
ldr r0, _020ab3e0 ; =0x00001333
|
|
cmp r1, #0
|
|
rsblt r1, r1, #0
|
|
cmp r1, r0
|
|
bge _020ab134
|
|
add r2, sp, #0x5c
|
|
mov r0, r4
|
|
mov r1, #3
|
|
bl _ZN13LinkStateBase18func_ov00_020a81b8Eii
|
|
b _020ab160
|
|
_020ab134:
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase18func_ov00_020a8d40Ev
|
|
ldrsh r0, [r0, #0x5a]
|
|
cmp r0, #0
|
|
addne sp, sp, #0xc8
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, r7, r8, pc}
|
|
add r2, sp, #0x5c
|
|
mov r0, r4
|
|
mov r1, #4
|
|
bl _ZN13LinkStateBase18func_ov00_020a81b8Eii
|
|
_020ab160:
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
strh r6, [r0]
|
|
b _020ab1d8
|
|
_020ab170:
|
|
add r0, sp, #0x50
|
|
bl func_01ff9cec
|
|
cmp r0, #0x4000
|
|
bge _020ab1d8
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r1, r0
|
|
add r0, r6, #0x48
|
|
add r2, r4, #0x18
|
|
bl func_01ff9bf8
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
mov r1, #0
|
|
ldr r2, [r0]
|
|
strb r1, [r2, #0x79]
|
|
strb r1, [r2, #0x7b]
|
|
ldr r0, [r0]
|
|
bl _ZN13PlayerControl9SetUnk_80Ev
|
|
mov r0, #3
|
|
str r0, [r4, #4]
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, #1
|
|
str r1, [r4, #0x10]
|
|
ldr r1, [sp, #0x18]
|
|
add sp, sp, #0xc8
|
|
str r1, [r4, #0x14]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab1d8:
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab1e4:
|
|
add r0, sp, #0x50
|
|
bl func_01ff9cec
|
|
cmp r0, #0x400
|
|
bge _020ab2a4
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r1, r0
|
|
add r0, sp, #0x40
|
|
add r2, sp, #0x34
|
|
bl func_01ff9bf8
|
|
ldr r0, [sp, #0x34]
|
|
cmp r0, #0
|
|
ldreq r0, [sp, #0x3c]
|
|
cmpeq r0, #0
|
|
beq _020ab278
|
|
ldr r0, [sp, #0x34]
|
|
ldr r1, [sp, #0x3c]
|
|
bl func_01ffa0f4
|
|
mov r6, r0, lsl #0x10
|
|
mov r0, r6, asr #0x10
|
|
bl func_0202bbbc
|
|
bl func_0202bba8
|
|
mov r5, r0
|
|
rsb r0, r5, r6, asr #16
|
|
mov r0, r0, lsl #0x10
|
|
movs r1, r0, asr #0x10
|
|
rsbmi r0, r1, #0
|
|
movmi r0, r0, lsl #0x10
|
|
movmi r1, r0, asr #0x10
|
|
ldr r0, _020ab3e4 ; =0x000018e4
|
|
cmp r1, r0
|
|
addgt sp, sp, #0xc8
|
|
movgt r0, #0
|
|
ldmgtia sp!, {r4, r5, r6, r7, r8, pc}
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
strh r5, [r0]
|
|
_020ab278:
|
|
mov r0, #7
|
|
str r0, [r4, #4]
|
|
mov r0, #0
|
|
str r0, [r4, #0xc]
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, #1
|
|
str r1, [r4, #0x10]
|
|
ldr r1, [sp, #0x18]
|
|
add sp, sp, #0xc8
|
|
str r1, [r4, #0x14]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab2a4:
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab2b0:
|
|
add r0, sp, #0x50
|
|
bl func_01ff9cec
|
|
ldr r1, [sp, #0x4c]
|
|
add r1, r1, #0xc00
|
|
cmp r0, r1
|
|
bge _020ab320
|
|
mov r0, r4
|
|
bl func_ov05_0211139c
|
|
cmp r0, #0
|
|
bne _020ab320
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase15GetGrabActorRefEv
|
|
ldr r1, [r6, #8]
|
|
mov r2, #1
|
|
str r1, [r0]
|
|
ldr r3, [r6, #0xc]
|
|
add r1, r6, #0x48
|
|
str r3, [r0, #4]
|
|
mov r0, r4
|
|
str r2, [r4, #4]
|
|
bl _ZN13LinkStateBase6LookAtEP5Vec3p
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, #1
|
|
str r1, [r4, #0x10]
|
|
ldr r1, [sp, #0x18]
|
|
add sp, sp, #0xc8
|
|
str r1, [r4, #0x14]
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab320:
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab32c:
|
|
mov r0, r6
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x3c]
|
|
blx r1
|
|
cmp r0, #0
|
|
beq _020ab38c
|
|
mov r0, r4
|
|
bl func_ov05_021113b4
|
|
cmp r0, #0
|
|
beq _020ab38c
|
|
mov r0, r6
|
|
mov r1, #1
|
|
bl _ZN5Actor10SetUnk_11cEc
|
|
mov r0, #6
|
|
str r0, [r4, #4]
|
|
ldr r1, [sp, #0x14]
|
|
mov r0, r4
|
|
str r1, [r4, #0x10]
|
|
ldr r1, [sp, #0x18]
|
|
str r1, [r4, #0x14]
|
|
bl _ZN13LinkStateBase18EquipItem_vfunc_28Ev
|
|
add sp, sp, #0xc8
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab38c:
|
|
add sp, sp, #0xc8
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab398:
|
|
ldr r0, _020ab3cc ; =data_027e0fb8
|
|
ldr r0, [r0]
|
|
bl _ZN13PlayerControl13StopFollowingEv
|
|
add sp, sp, #0xc8
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
_020ab3b0:
|
|
mov r0, #0
|
|
add sp, sp, #0xc8
|
|
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract8vfunc_20Ei
|
|
_020ab3bc: .word gItemManager
|
|
_020ab3c0: .word data_027e0d0c
|
|
_020ab3c4: .word data_02050f54
|
|
_020ab3c8: .word 0x000004cd
|
|
_020ab3cc: .word data_027e0fb8
|
|
_020ab3d0: .word data_027e0fe4
|
|
_020ab3d4: .word 0x0000ffff
|
|
_020ab3d8: .word data_027e0e60
|
|
_020ab3dc: .word 0x00001ccd
|
|
_020ab3e0: .word 0x00001333
|
|
_020ab3e4: .word 0x000018e4
|
|
|
|
.global _ZN17LinkStateInteract16GetLinkStateRollEv
|
|
arm_func_start _ZN17LinkStateInteract16GetLinkStateRollEv
|
|
_ZN17LinkStateInteract16GetLinkStateRollEv: ; 0x020ab3e8
|
|
ldr ip, _020ab3f4 ; =func_01fffcd8
|
|
mov r0, #4
|
|
bx ip
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract16GetLinkStateRollEv
|
|
_020ab3f4: .word func_01fffcd8
|
|
|
|
.global _ZN17LinkStateInteract8vfunc_24Ei
|
|
arm_func_start _ZN17LinkStateInteract8vfunc_24Ei
|
|
_ZN17LinkStateInteract8vfunc_24Ei: ; 0x020ab3f8
|
|
stmdb sp!, {r3, lr}
|
|
cmp r1, #5
|
|
addls pc, pc, r1, lsl #2
|
|
b _020ab47c
|
|
_020ab408: ; jump table
|
|
b _020ab47c ; case 0
|
|
b _020ab484 ; case 1
|
|
b _020ab484 ; case 2
|
|
b _020ab484 ; case 3
|
|
b _020ab420 ; case 4
|
|
b _020ab434 ; case 5
|
|
_020ab420:
|
|
ldr r2, [r0, #4]
|
|
cmp r2, #6
|
|
bne _020ab484
|
|
bl _ZN13LinkStateBase8vfunc_24Ei
|
|
ldmia sp!, {r3, pc}
|
|
_020ab434:
|
|
ldr r2, [r0, #4]
|
|
cmp r2, #9
|
|
addls pc, pc, r2, lsl #2
|
|
b _020ab474
|
|
_020ab444: ; jump table
|
|
b _020ab474 ; case 0
|
|
b _020ab474 ; case 1
|
|
b _020ab474 ; case 2
|
|
b _020ab46c ; case 3
|
|
b _020ab46c ; case 4
|
|
b _020ab474 ; case 5
|
|
b _020ab474 ; case 6
|
|
b _020ab474 ; case 7
|
|
b _020ab46c ; case 8
|
|
b _020ab46c ; case 9
|
|
_020ab46c:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_020ab474:
|
|
bl _ZN13LinkStateBase8vfunc_24Ei
|
|
ldmia sp!, {r3, pc}
|
|
_020ab47c:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
_020ab484:
|
|
ldr r2, [r0, #4]
|
|
cmp r2, #1
|
|
cmpne r2, #7
|
|
bne _020ab49c
|
|
bl _ZN13LinkStateBase8vfunc_24Ei
|
|
ldmia sp!, {r3, pc}
|
|
_020ab49c:
|
|
mov r0, #0
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN17LinkStateInteract8vfunc_24Ei
|
|
|
|
.global _ZN17LinkStateInteract8vfunc_34EP5Vec3p
|
|
arm_func_start _ZN17LinkStateInteract8vfunc_34EP5Vec3p
|
|
_ZN17LinkStateInteract8vfunc_34EP5Vec3p: ; 0x020ab4a4
|
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr}
|
|
mov r6, r0
|
|
mov r4, r1
|
|
bl _ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev
|
|
cmp r0, #0x1e
|
|
bne _020ab5f4
|
|
mov r0, r6
|
|
bl _ZN13LinkStateBase18func_ov00_020a8d50Ev
|
|
cmp r0, #0x2000
|
|
movlt r5, #0
|
|
blt _020ab4ec
|
|
cmp r0, #0x7000
|
|
movge r5, #0x1000
|
|
bge _020ab4ec
|
|
sub r0, r0, #0x2000
|
|
mov r1, #0x5000
|
|
bl Divide
|
|
mov r5, r0
|
|
_020ab4ec:
|
|
mov r0, r6
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
mov r1, r5, asr #0x1f
|
|
mov r2, r1, lsl #0xe
|
|
mov r1, #0x800
|
|
adds r3, r1, r5, lsl #14
|
|
orr r2, r2, r5, lsr #18
|
|
adc r1, r2, #0
|
|
mov r2, r3, lsr #0xc
|
|
orr r2, r2, r1, lsl #20
|
|
mov r1, r2, lsl #0x10
|
|
mov r1, r1, lsr #0x10
|
|
mov r1, r1, asr #0x4
|
|
mov r5, r1, lsl #0x1
|
|
add r1, r5, #1
|
|
ldr ip, _020ab60c ; =data_02050f54
|
|
mov r1, r1, lsl #0x1
|
|
ldrsh r3, [ip, r1]
|
|
ldr r6, _020ab610 ; =0x00000b33
|
|
ldrh r0, [r0]
|
|
umull r1, lr, r3, r6
|
|
mov r7, #0
|
|
mov r0, r0, asr #0x4
|
|
mov r8, r0, lsl #0x1
|
|
mov r2, r8, lsl #0x1
|
|
mov r0, r5, lsl #0x1
|
|
ldrsh r9, [ip, r0]
|
|
adds r5, r1, #0x800
|
|
add r8, r8, #1
|
|
umull r1, r0, r9, r6
|
|
mov r5, r5, lsr #0xc
|
|
ldrsh r2, [ip, r2]
|
|
mov r8, r8, lsl #0x1
|
|
ldrsh ip, [ip, r8]
|
|
mla lr, r3, r7, lr
|
|
mov r3, r3, asr #0x1f
|
|
mla lr, r3, r6, lr
|
|
adc r3, lr, #0
|
|
orr r5, r5, r3, lsl #20
|
|
mla r0, r9, r7, r0
|
|
mov r3, r9, asr #0x1f
|
|
mla r0, r3, r6, r0
|
|
smull r7, r6, r2, r5
|
|
smull r3, r2, ip, r5
|
|
adds r7, r7, #0x800
|
|
adc r5, r6, #0
|
|
mov r6, r7, lsr #0xc
|
|
orr r6, r6, r5, lsl #20
|
|
adds r1, r1, #0x800
|
|
adc r0, r0, #0
|
|
mov r5, r1, lsr #0xc
|
|
orr r5, r5, r0, lsl #20
|
|
adds r1, r3, #0x800
|
|
adc r0, r2, #0
|
|
mov r1, r1, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
ldr r0, [r4]
|
|
add r0, r0, r6
|
|
str r0, [r4]
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, r5
|
|
str r0, [r4, #4]
|
|
ldr r0, [r4, #8]
|
|
add r0, r0, r1
|
|
str r0, [r4, #8]
|
|
b _020ab604
|
|
_020ab5f4:
|
|
ldr r0, [r4, #4]
|
|
add r0, r0, #0x33
|
|
add r0, r0, #0xb00
|
|
str r0, [r4, #4]
|
|
_020ab604:
|
|
mov r0, #1
|
|
ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract8vfunc_34EP5Vec3p
|
|
_020ab60c: .word data_02050f54
|
|
_020ab610: .word 0x00000b33
|
|
|
|
.global _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p
|
|
arm_func_start _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p
|
|
_ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p: ; 0x020ab614
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0xc
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
movs ip, r0
|
|
addeq sp, sp, #0xc
|
|
ldmeqia sp!, {r4, r5, pc}
|
|
ldr r0, _020ab67c ; =data_027e0d0c
|
|
add r3, sp, #0
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
mov r0, ip
|
|
ldr r2, [r0]
|
|
cmp r4, #0
|
|
moveq r4, r3
|
|
ldr r2, [r2, #0x5c]
|
|
mov r1, r4
|
|
blx r2
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase15GetGrabActorRefEv
|
|
mvn r1, #0
|
|
str r1, [r0]
|
|
str r1, [r0, #4]
|
|
add sp, sp, #0xc
|
|
ldmia sp!, {r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p
|
|
_020ab67c: .word data_027e0d0c
|
|
|
|
.global _ZN17LinkStateInteract15SetBombVelocityEP5Vec3p
|
|
arm_func_start _ZN17LinkStateInteract15SetBombVelocityEP5Vec3p
|
|
_ZN17LinkStateInteract15SetBombVelocityEP5Vec3p: ; 0x020ab680
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
ldr r1, [r0, #4]
|
|
ldr r0, _020ab6c0 ; =0x424f4d42
|
|
cmp r1, r0
|
|
ldrne r0, _020ab6c4 ; =0x4b4f4b4f
|
|
cmpne r1, r0
|
|
ldmneia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract15SetBombVelocityEP5Vec3p
|
|
_020ab6c0: .word 0x424f4d42
|
|
_020ab6c4: .word 0x4b4f4b4f
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020ab6c8Ev
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020ab6c8Ev
|
|
_ZN17LinkStateInteract18func_ov00_020ab6c8Ev: ; 0x020ab6c8
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r4, pc}
|
|
ldr r2, [r0, #4]
|
|
ldr r1, _020ab758 ; =0x4b4f4b4f
|
|
cmp r2, r1
|
|
bhi _020ab714
|
|
bhs _020ab740
|
|
ldr r1, _020ab75c ; =0x424f4d42
|
|
cmp r2, r1
|
|
bhi _020ab704
|
|
beq _020ab740
|
|
b _020ab748
|
|
_020ab704:
|
|
ldr r1, _020ab760 ; =0x4452554d
|
|
cmp r2, r1
|
|
beq _020ab740
|
|
b _020ab748
|
|
_020ab714:
|
|
ldr r1, _020ab764 ; =0x54415255
|
|
cmp r2, r1
|
|
bhi _020ab734
|
|
bhs _020ab740
|
|
ldr r1, _020ab768 ; =0x53544e45
|
|
cmp r2, r1
|
|
beq _020ab740
|
|
b _020ab748
|
|
_020ab734:
|
|
ldr r1, _020ab76c ; =0x54535542
|
|
cmp r2, r1
|
|
bne _020ab748
|
|
_020ab740:
|
|
bl _ZN5Actor4KillEv
|
|
ldmia sp!, {r4, pc}
|
|
_020ab748:
|
|
mov r0, r4
|
|
mov r1, #0
|
|
bl _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p
|
|
ldmia sp!, {r4, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020ab6c8Ev
|
|
_020ab758: .word 0x4b4f4b4f
|
|
_020ab75c: .word 0x424f4d42
|
|
_020ab760: .word 0x4452554d
|
|
_020ab764: .word 0x54415255
|
|
_020ab768: .word 0x53544e45
|
|
_020ab76c: .word 0x54535542
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020ab770EP5Vec3p
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020ab770EP5Vec3p
|
|
_ZN17LinkStateInteract18func_ov00_020ab770EP5Vec3p: ; 0x020ab770
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
ldr r2, _020ab7b8 ; =data_027e0fb8
|
|
mov r6, r0
|
|
ldr r0, [r2]
|
|
mov r5, r1
|
|
bl _ZN13PlayerControl14GetFollowActorEv
|
|
movs r4, r0
|
|
beq _020ab7a8
|
|
mov r0, r6
|
|
mov r1, r5
|
|
mov r2, r4
|
|
bl _ZN17LinkStateInteract18func_ov00_020ab7bcEP5Vec3pP5Actor
|
|
cmp r0, #0
|
|
bne _020ab7b0
|
|
_020ab7a8:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_020ab7b0:
|
|
ldr r0, [r4, #0x12c]
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020ab770EP5Vec3p
|
|
_020ab7b8: .word data_027e0fb8
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020ab7bcEP5Vec3pP5Actor
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020ab7bcEP5Vec3pP5Actor
|
|
_ZN17LinkStateInteract18func_ov00_020ab7bcEP5Vec3pP5Actor: ; 0x020ab7bc
|
|
stmdb sp!, {r4, r5, lr}
|
|
sub sp, sp, #0x1c
|
|
ldr r3, [r2, #0x48]
|
|
mov r5, r1
|
|
str r3, [r5]
|
|
ldr r1, [r2, #0x4c]
|
|
mov r4, r0
|
|
str r1, [r5, #4]
|
|
ldr r0, [r2, #0x50]
|
|
str r0, [r5, #8]
|
|
ldr r0, [r2, #0x12c]
|
|
cmp r0, #2
|
|
beq _020ab7fc
|
|
cmp r0, #3
|
|
beq _020ab818
|
|
b _020ab8c0
|
|
_020ab7fc:
|
|
bl _ZN10PlayerBase13GetEquipSwordEv
|
|
ldr r2, [r0]
|
|
mov r1, #1
|
|
ldr r2, [r2, #0x14]
|
|
blx r2
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, pc}
|
|
_020ab818:
|
|
add r1, sp, #0
|
|
mov r0, r2
|
|
bl _ZN5Actor9GetHitboxEP8Cylinder
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
add r2, sp, #0x10
|
|
mov r1, r5
|
|
bl func_01ff9bf8
|
|
ldr r1, [sp, #0xc]
|
|
ldr r0, [sp, #0x10]
|
|
add r2, r1, #0x66
|
|
ldr r1, [sp, #0x18]
|
|
add r4, r2, #0x600
|
|
bl func_01ffa0f4
|
|
mov r0, r0, lsl #0x10
|
|
mov r0, r0, asr #0x10
|
|
bl func_0202bbbc
|
|
cmp r0, #3
|
|
addls pc, pc, r0, lsl #2
|
|
b _020ab8b4
|
|
_020ab868: ; jump table
|
|
b _020ab878 ; case 0
|
|
b _020ab888 ; case 1
|
|
b _020ab898 ; case 2
|
|
b _020ab8a8 ; case 3
|
|
_020ab878:
|
|
ldr r0, [r5]
|
|
add r0, r0, r4
|
|
str r0, [r5]
|
|
b _020ab8b4
|
|
_020ab888:
|
|
ldr r0, [r5]
|
|
sub r0, r0, r4
|
|
str r0, [r5]
|
|
b _020ab8b4
|
|
_020ab898:
|
|
ldr r0, [r5, #8]
|
|
add r0, r0, r4
|
|
str r0, [r5, #8]
|
|
b _020ab8b4
|
|
_020ab8a8:
|
|
ldr r0, [r5, #8]
|
|
sub r0, r0, r4
|
|
str r0, [r5, #8]
|
|
_020ab8b4:
|
|
add sp, sp, #0x1c
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, pc}
|
|
_020ab8c0:
|
|
mov r0, #1
|
|
add sp, sp, #0x1c
|
|
ldmia sp!, {r4, r5, pc}
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020ab7bcEP5Vec3pP5Actor
|
|
|
|
.global _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p
|
|
arm_func_start _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p
|
|
_ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p: ; 0x020ab8cc
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r1, r0
|
|
mov r0, r4
|
|
add r2, r5, #0x18
|
|
bl func_01ff9bf8
|
|
add r0, r5, #0x18
|
|
mov r2, r0
|
|
mov r1, #0x1000
|
|
bl func_0202da8c
|
|
mov r0, #5
|
|
str r0, [r5, #4]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p
|
|
|
|
.global _ZN17LinkStateInteract14SetThrowOffsetEP5Vec3p
|
|
arm_func_start _ZN17LinkStateInteract14SetThrowOffsetEP5Vec3p
|
|
_ZN17LinkStateInteract14SetThrowOffsetEP5Vec3p: ; 0x020ab908
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r1, r0
|
|
mov r0, r4
|
|
add r2, r5, #0x18
|
|
bl func_01ff9bf8
|
|
mov r0, #3
|
|
str r0, [r5, #4]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN17LinkStateInteract14SetThrowOffsetEP5Vec3p
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020ab934EP5Vec3p
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020ab934EP5Vec3p
|
|
_ZN17LinkStateInteract18func_ov00_020ab934EP5Vec3p: ; 0x020ab934
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r1, r0
|
|
mov r0, r4
|
|
add r2, r5, #0x18
|
|
bl func_01ff9bf8
|
|
mov r2, #3
|
|
mov r0, r5
|
|
mov r1, #2
|
|
str r2, [r5, #4]
|
|
bl _ZN13LinkStateBase15ChangeLinkStateEi
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020ab934EP5Vec3p
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020ab97cEP5Vec3p
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020ab97cEP5Vec3p
|
|
_ZN17LinkStateInteract18func_ov00_020ab97cEP5Vec3p: ; 0x020ab97c
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r1, r0
|
|
mov r0, r4
|
|
add r2, r5, #0x18
|
|
bl func_01ff9bf8
|
|
mov r0, #4
|
|
str r0, [r5, #4]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020ab97cEP5Vec3p
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020ab9b8Ejb
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020ab9b8Ejb
|
|
_ZN17LinkStateInteract18func_ov00_020ab9b8Ejb: ; 0x020ab9b8
|
|
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
|
sub sp, sp, #0x18
|
|
mov r7, r0
|
|
mov r6, r1
|
|
mov r5, r2
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
movs r4, r0
|
|
addeq sp, sp, #0x18
|
|
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
|
|
cmp r5, #0
|
|
mov r5, #1
|
|
beq _020aba70
|
|
mov r0, r7
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
add r3, sp, #0xc
|
|
ldmia r0, {r0, r1, r2}
|
|
stmia r3, {r0, r1, r2}
|
|
mov r0, r7
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
add r2, sp, #0xc
|
|
add r1, r7, #0x18
|
|
bl func_01ff9bc4
|
|
ldr r1, [r4, #4]
|
|
ldr r0, _020abb64 ; =0x424b4559
|
|
cmp r1, r0
|
|
beq _020aba30
|
|
ldr r0, _020abb68 ; =0x464f5243
|
|
cmp r1, r0
|
|
beq _020aba54
|
|
b _020aba70
|
|
_020aba30:
|
|
add r1, sp, #0xc
|
|
mov r0, r4
|
|
bl func_ov17_0215dff0
|
|
cmp r0, #0
|
|
beq _020aba70
|
|
mov r0, r7
|
|
mov r5, #0
|
|
bl _ZN17LinkStateInteract18func_ov00_020aa818Ev
|
|
b _020aba70
|
|
_020aba54:
|
|
add r1, sp, #0xc
|
|
mov r0, r4
|
|
bl func_ov17_0215e338
|
|
cmp r0, #0
|
|
beq _020aba70
|
|
mov r0, r7
|
|
bl _ZN17LinkStateInteract18func_ov00_020aa818Ev
|
|
_020aba70:
|
|
cmp r5, #0
|
|
beq _020abb30
|
|
mov r1, #0
|
|
mov r0, r7
|
|
str r1, [sp]
|
|
str r1, [sp, #4]
|
|
str r1, [sp, #8]
|
|
bl _ZN13LinkStateBase14GetPlayerAngleEv
|
|
ldrh r5, [r0]
|
|
ldr r2, _020abb6c ; =0x0000028f
|
|
mov r3, #0
|
|
umull r1, r0, r6, r2
|
|
mla r0, r6, r3, r0
|
|
mov r3, r6, asr #0x1f
|
|
mov r5, r5, asr #0x4
|
|
mov ip, r5, lsl #0x1
|
|
mla r0, r3, r2, r0
|
|
adds r1, r1, #0x800
|
|
add r5, ip, #1
|
|
ldr r6, _020abb70 ; =data_02050f54
|
|
mov r3, ip, lsl #0x1
|
|
mov r2, r5, lsl #0x1
|
|
ldrsh r3, [r6, r3]
|
|
adc r0, r0, #0
|
|
mov r1, r1, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
smull r0, r5, r3, r1
|
|
adds r3, r0, #0x800
|
|
ldrsh r2, [r6, r2]
|
|
mov r3, r3, lsr #0xc
|
|
smull r1, r0, r2, r1
|
|
adc r2, r5, #0
|
|
adds r1, r1, #0x800
|
|
orr r3, r3, r2, lsl #20
|
|
ldr r5, [sp]
|
|
adc r0, r0, #0
|
|
mov r1, r1, lsr #0xc
|
|
orr r1, r1, r0, lsl #20
|
|
ldr r2, [sp, #8]
|
|
add r3, r5, r3
|
|
add r1, r2, r1
|
|
str r1, [sp, #8]
|
|
mov r0, r4
|
|
str r3, [sp]
|
|
ldr r2, [r0]
|
|
add r1, sp, #0
|
|
ldr r2, [r2, #0x5c]
|
|
blx r2
|
|
_020abb30:
|
|
mov r0, r7
|
|
bl _ZN13LinkStateBase15GetGrabActorRefEv
|
|
mvn r1, #0
|
|
str r1, [r0]
|
|
str r1, [r0, #4]
|
|
mov r0, r7
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r2, r0
|
|
ldr r0, _020abb74 ; =data_ov00_020eec9c
|
|
mov r1, #0xcc
|
|
bl func_ov00_020d7a84
|
|
add sp, sp, #0x18
|
|
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020ab9b8Ejb
|
|
_020abb64: .word 0x424b4559
|
|
_020abb68: .word 0x464f5243
|
|
_020abb6c: .word 0x0000028f
|
|
_020abb70: .word data_02050f54
|
|
_020abb74: .word data_ov00_020eec9c
|
|
|
|
.global _ZN17LinkStateInteract4GrabEP8ActorRef
|
|
arm_func_start _ZN17LinkStateInteract4GrabEP8ActorRef
|
|
_ZN17LinkStateInteract4GrabEP8ActorRef: ; 0x020abb78
|
|
stmdb sp!, {r3, lr}
|
|
ldr r3, [r1]
|
|
mov r2, #6
|
|
str r3, [r0, #0x10]
|
|
ldr r3, [r1, #4]
|
|
mov r1, #2
|
|
str r3, [r0, #0x14]
|
|
bl _ZN13LinkStateBase18ChangeLinkSubStateEii
|
|
mov r0, #1
|
|
ldmia sp!, {r3, pc}
|
|
arm_func_end _ZN17LinkStateInteract4GrabEP8ActorRef
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020abba0EP8ActorRef
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020abba0EP8ActorRef
|
|
_ZN17LinkStateInteract18func_ov00_020abba0EP8ActorRef: ; 0x020abba0
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN17LinkStateInteract18func_ov00_020abc40Ev
|
|
cmp r0, #0
|
|
beq _020abbc8
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl _ZN17LinkStateInteract4GrabEP8ActorRef
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_020abbc8:
|
|
ldr r0, [r4]
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5, #0x14]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020abba0EP8ActorRef
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020abbdcEP8ActorRef
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020abbdcEP8ActorRef
|
|
_ZN17LinkStateInteract18func_ov00_020abbdcEP8ActorRef: ; 0x020abbdc
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN17LinkStateInteract18func_ov00_020abc40Ev
|
|
cmp r0, #0
|
|
beq _020abc04
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl _ZN17LinkStateInteract4GrabEP8ActorRef
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
_020abc04:
|
|
ldr r0, [r4]
|
|
str r0, [r5, #0x10]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5, #0x14]
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020abbdcEP8ActorRef
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020abc18EP8ActorRef
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020abc18EP8ActorRef
|
|
_ZN17LinkStateInteract18func_ov00_020abc18EP8ActorRef: ; 0x020abc18
|
|
stmdb sp!, {r3, r4, r5, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN17LinkStateInteract18func_ov00_020abc40Ev
|
|
cmp r0, #0
|
|
ldmeqia sp!, {r3, r4, r5, pc}
|
|
mov r0, r5
|
|
mov r1, r4
|
|
bl _ZN17LinkStateInteract4GrabEP8ActorRef
|
|
ldmia sp!, {r3, r4, r5, pc}
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020abc18EP8ActorRef
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020abc40Ev
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020abc40Ev
|
|
_ZN17LinkStateInteract18func_ov00_020abc40Ev: ; 0x020abc40
|
|
stmdb sp!, {r4, lr}
|
|
mov r4, r0
|
|
bl _ZN13LinkStateBase10GetStateIdEv
|
|
cmp r0, #2
|
|
ldreq r0, [r4, #4]
|
|
cmpeq r0, #6
|
|
beq _020abc70
|
|
mov r0, r4
|
|
bl _ZN13LinkStateBase10GetStateIdEv
|
|
cmp r0, #6
|
|
movne r0, #1
|
|
ldmneia sp!, {r4, pc}
|
|
_020abc70:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, pc}
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020abc40Ev
|
|
|
|
.global _ZN17LinkStateInteract18func_ov00_020abc78EP8ActorRef
|
|
arm_func_start _ZN17LinkStateInteract18func_ov00_020abc78EP8ActorRef
|
|
_ZN17LinkStateInteract18func_ov00_020abc78EP8ActorRef: ; 0x020abc78
|
|
stmdb sp!, {r4, r5, r6, lr}
|
|
mov r5, r0
|
|
mov r4, r1
|
|
bl _ZN13LinkStateBase18func_ov00_020a8b80Ev
|
|
cmp r0, #0
|
|
moveq r0, #0
|
|
ldmeqia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
cmp r0, #0
|
|
movne r0, #0
|
|
ldmneia sp!, {r4, r5, r6, pc}
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase10GetStateIdEv
|
|
cmp r0, #0
|
|
beq _020abce0
|
|
cmp r0, #1
|
|
bne _020abcd8
|
|
ldr r0, _020abd6c ; =data_027e0fb8
|
|
mov r1, #0
|
|
ldr r0, [r0]
|
|
strb r1, [r0, #0x79]
|
|
strb r1, [r0, #0x7b]
|
|
b _020abce0
|
|
_020abcd8:
|
|
mov r0, #0
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
_020abce0:
|
|
ldr r0, _020abd70 ; =data_027e0fe4
|
|
mov r1, r4
|
|
ldr r0, [r0]
|
|
bl _ZN12ActorManager8GetActorEP8ActorRef
|
|
mov r6, r0
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase15GetGrabActorRefEv
|
|
ldr r2, [r4]
|
|
add r1, r6, #0x48
|
|
str r2, [r0]
|
|
ldr r2, [r4, #4]
|
|
str r2, [r0, #4]
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase6LookAtEP5Vec3p
|
|
ldr r1, [r4]
|
|
mov r0, r5
|
|
str r1, [r5, #0x10]
|
|
ldr r1, [r4, #4]
|
|
str r1, [r5, #0x14]
|
|
bl _ZN13LinkStateBase12GetPlayerPosEv
|
|
mov r2, r0
|
|
ldr r0, _020abd74 ; =data_ov00_020eec9c
|
|
mov r1, #0xcb
|
|
bl func_ov00_020d7a84
|
|
mov r0, r5
|
|
bl _ZN13LinkStateBase12GetGrabActorEv
|
|
ldr r1, [r0]
|
|
ldr r1, [r1, #0x58]
|
|
blx r1
|
|
mov r0, r5
|
|
mov r1, #2
|
|
mov r2, r1
|
|
bl _ZN13LinkStateBase18ChangeLinkSubStateEii
|
|
mov r0, #1
|
|
ldmia sp!, {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
arm_func_end _ZN17LinkStateInteract18func_ov00_020abc78EP8ActorRef
|
|
_020abd6c: .word data_027e0fb8
|
|
_020abd70: .word data_027e0fe4
|
|
_020abd74: .word data_ov00_020eec9c
|
|
|
|
.rodata
|
|
.global data_ov00_020dc528
|
|
data_ov00_020dc528: ; 0x020dc528
|
|
.ascii "zdf_link_ice"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020dc538
|
|
data_ov00_020dc538: ; 0x020dc538
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020dc53c
|
|
data_ov00_020dc53c: ; 0x020dc53c
|
|
.ascii "zdf_link_ice"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020dc54c
|
|
data_ov00_020dc54c: ; 0x020dc54c
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020dc550
|
|
data_ov00_020dc550: ; 0x020dc550
|
|
.byte 0xec, 0x01, 0x00, 0x00
|
|
.global data_ov00_020dc554
|
|
data_ov00_020dc554: ; 0x020dc554
|
|
.byte 0x3c, 0x00, 0x00, 0x00
|
|
.global data_ov00_020dc558
|
|
data_ov00_020dc558: ; 0x020dc558
|
|
.byte 0xae, 0x13, 0x00, 0x00
|
|
.global data_ov00_020dc55c
|
|
data_ov00_020dc55c: ; 0x020dc55c
|
|
.byte 0x0f, 0x00, 0x00, 0x00
|
|
.global data_ov00_020dc560
|
|
|
|
.data
|
|
.global data_ov00_020e58e8
|
|
data_ov00_020e58e8: ; 0x020e58e8
|
|
.ascii "brg"
|
|
.byte 0x00
|
|
.global data_ov00_020e58ec
|
|
data_ov00_020e58ec: ; 0x020e58ec
|
|
.ascii "fnl"
|
|
.byte 0x00
|
|
.global data_ov00_020e58f0
|
|
data_ov00_020e58f0: ; 0x020e58f0
|
|
.ascii "pdl"
|
|
.byte 0x00
|
|
.global data_ov00_020e58f4
|
|
data_ov00_020e58f4: ; 0x020e58f4
|
|
.ascii "dco"
|
|
.byte 0x00
|
|
.global data_ov00_020e58f8
|
|
data_ov00_020e58f8: ; 0x020e58f8
|
|
.ascii "can"
|
|
.byte 0x00
|
|
.global data_ov00_020e58fc
|
|
data_ov00_020e58fc: ; 0x020e58fc
|
|
.ascii "hul"
|
|
.byte 0x00
|
|
.global data_ov00_020e5900
|
|
data_ov00_020e5900: ; 0x020e5900
|
|
.ascii "bow"
|
|
.byte 0x00
|
|
.global data_ov00_020e5904
|
|
data_ov00_020e5904: ; 0x020e5904
|
|
.ascii "anc"
|
|
.byte 0x00
|
|
.global data_ov00_020e5908
|
|
data_ov00_020e5908: ; 0x020e5908
|
|
.word data_ov00_020e5904
|
|
.global data_ov00_020e590c
|
|
data_ov00_020e590c: ; 0x020e590c
|
|
.word data_ov00_020e5900
|
|
.global data_ov00_020e5910
|
|
data_ov00_020e5910: ; 0x020e5910
|
|
.word data_ov00_020e58fc
|
|
.global data_ov00_020e5914
|
|
data_ov00_020e5914: ; 0x020e5914
|
|
.word data_ov00_020e58f8
|
|
.global data_ov00_020e5918
|
|
data_ov00_020e5918: ; 0x020e5918
|
|
.word data_ov00_020e58f4
|
|
.global data_ov00_020e591c
|
|
data_ov00_020e591c: ; 0x020e591c
|
|
.word data_ov00_020e58f0
|
|
.global data_ov00_020e5920
|
|
data_ov00_020e5920: ; 0x020e5920
|
|
.word data_ov00_020e58ec
|
|
.global data_ov00_020e5924
|
|
data_ov00_020e5924: ; 0x020e5924
|
|
.word data_ov00_020e58e8
|
|
.global data_ov00_020e5928
|
|
data_ov00_020e5928: ; 0x020e5928
|
|
.byte 0x02, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e592c
|
|
data_ov00_020e592c: ; 0x020e592c
|
|
.byte 0x1d, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e5930
|
|
data_ov00_020e5930: ; 0x020e5930
|
|
.byte 0x66, 0x16, 0x00, 0x00
|
|
.global data_ov00_020e5934
|
|
data_ov00_020e5934: ; 0x020e5934
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e5938
|
|
data_ov00_020e5938: ; 0x020e5938
|
|
.byte 0x00, 0x50, 0x00, 0x00
|
|
.global data_ov00_020e593c
|
|
data_ov00_020e593c: ; 0x020e593c
|
|
.byte 0x1e, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e5940
|
|
data_ov00_020e5940: ; 0x020e5940
|
|
.byte 0x99, 0x19, 0x00, 0x00
|
|
.global data_ov00_020e5944
|
|
data_ov00_020e5944: ; 0x020e5944
|
|
.byte 0x00, 0x20, 0x00, 0x00
|
|
.global data_ov00_020e5948
|
|
data_ov00_020e5948: ; 0x020e5948
|
|
.byte 0x00, 0xa0, 0x00, 0x00
|
|
.global data_ov00_020e594c
|
|
data_ov00_020e594c: ; 0x020e594c
|
|
.byte 0x1e, 0x00
|
|
.global data_ov00_020e594e
|
|
data_ov00_020e594e: ; 0x020e594e
|
|
.byte 0x00, 0x00
|
|
.global data_ov00_020e5950
|
|
data_ov00_020e5950: ; 0x020e5950
|
|
.byte 0x00, 0xe8
|
|
.global data_ov00_020e5952
|
|
data_ov00_020e5952: ; 0x020e5952
|
|
.byte 0xff, 0xff
|
|
.global data_ov00_020e5954
|
|
data_ov00_020e5954: ; 0x020e5954
|
|
.byte 0x00, 0xa0
|
|
.global data_ov00_020e5956
|
|
data_ov00_020e5956: ; 0x020e5956
|
|
.byte 0x00, 0x00
|
|
.global data_ov00_020e5958
|
|
data_ov00_020e5958: ; 0x020e5958
|
|
.byte 0x00, 0x00
|
|
.global data_ov00_020e595a
|
|
data_ov00_020e595a: ; 0x020e595a
|
|
.byte 0x00, 0x00
|
|
.global data_ov00_020e595c
|
|
data_ov00_020e595c: ; 0x020e595c
|
|
.byte 0x22, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e5960
|
|
data_ov00_020e5960: ; 0x020e5960
|
|
.byte 0x00, 0x10, 0x00, 0x00
|
|
.global data_ov00_020e5964
|
|
data_ov00_020e5964: ; 0x020e5964
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e5968
|
|
data_ov00_020e5968: ; 0x020e5968
|
|
.byte 0x00, 0xf0, 0x00, 0x00
|
|
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global _ZTV17LinkStateInteract
|
|
_ZTV17LinkStateInteract: ; 0x020e5974
|
|
.word _ZN17LinkStateInteract8vfunc_00Ev
|
|
.word func_ov04_0210ab88 ; data_ov07_0210ab88
|
|
.word func_ov04_0210ab9c ; data_ov07_0210ab9c
|
|
.word _ZN17LinkStateInteract5GetIdEv - 1
|
|
.word _ZN17LinkStateInteract14GetGrabActorIdEv
|
|
.word _ZN17LinkStateInteract12OnStateEnterEv - 1
|
|
.word _ZN17LinkStateInteract12OnStateLeaveEi - 1
|
|
.word func_ov05_0210a648 ; data_ov07_0210a648
|
|
.word _ZN17LinkStateInteract8vfunc_20Ei - 1
|
|
.word _ZN17LinkStateInteract8vfunc_24Ei - 1
|
|
.word _ZN13LinkStateBase8vfunc_28Ev
|
|
.word func_ov05_0210b3bc ; data_ov07_0210b3bc
|
|
.word func_ov05_0210f708
|
|
.word _ZN17LinkStateInteract8vfunc_34EP5Vec3p - 1
|
|
.word func_ov05_0210f70c
|
|
.word func_ov05_0210f714
|
|
.word func_ov05_0210f71c
|
|
.global data_ov00_020e59b8
|
|
data_ov00_020e59b8: ; 0x020e59b8
|
|
.ascii "�����グ�Đ����x"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e59cc
|
|
data_ov00_020e59cc: ; 0x020e59cc
|
|
.ascii "�����グ�J�n�t���[��"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e59e4
|
|
data_ov00_020e59e4: ; 0x020e59e4
|
|
.ascii "�����グ�I���t���[��"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e59fc
|
|
data_ov00_020e59fc: ; 0x020e59fc
|
|
.ascii "���������x"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e5a0c
|
|
data_ov00_020e5a0c: ; 0x020e5a0c
|
|
.ascii "�����J�n�t���[��"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e5a20
|
|
data_ov00_020e5a20: ; 0x020e5a20
|
|
.ascii "�����I���t���[��"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|
|
.global data_ov00_020e5a34
|
|
data_ov00_020e5a34: ; 0x020e5a34
|
|
.ascii "���~����"
|
|
.byte 0x00, 0x00, 0x00, 0x00
|