.include "macros/function.inc" .include "ov00/Player/include/LinkStateBase.inc" .text .global _ZN13LinkStateBase8vfunc_00Ev thumb_func_start _ZN13LinkStateBase8vfunc_00Ev _ZN13LinkStateBase8vfunc_00Ev: ; 0x020a7fa4 bx lr .align 2, 0 thumb_func_end _ZN13LinkStateBase8vfunc_00Ev .global _ZN13LinkStateBase12OnStateEnterEv arm_func_start _ZN13LinkStateBase12OnStateEnterEv _ZN13LinkStateBase12OnStateEnterEv: ; 0x020a7fa8 bx lr arm_func_end _ZN13LinkStateBase12OnStateEnterEv .global _ZN13LinkStateBase12OnStateLeaveEi arm_func_start _ZN13LinkStateBase12OnStateLeaveEi _ZN13LinkStateBase12OnStateLeaveEi: ; 0x020a7fac bx lr arm_func_end _ZN13LinkStateBase12OnStateLeaveEi .global _ZN13LinkStateBase8vfunc_20Ei arm_func_start _ZN13LinkStateBase8vfunc_20Ei _ZN13LinkStateBase8vfunc_20Ei: ; 0x020a7fb0 mov r0, #0 bx lr arm_func_end _ZN13LinkStateBase8vfunc_20Ei .global _ZN13LinkStateBase8vfunc_24Ei arm_func_start _ZN13LinkStateBase8vfunc_24Ei _ZN13LinkStateBase8vfunc_24Ei: ; 0x020a7fb8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, #0 mov r6, r0 mov r5, r1 mov r7, r4 bl _ZN13LinkStateBase18func_ov00_020a8b80Ev cmp r0, #0 beq _020a7fec mov r0, r6 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev ldrsh r0, [r0, #0xc8] cmp r0, #0 movlt r7, #1 _020a7fec: cmp r7, #0 beq _020a8004 ldr r0, [r6, #8] ldrsh r0, [r0, #0x5a] cmp r0, #0 movle r4, #1 _020a8004: cmp r5, #7 addls pc, pc, r5, lsl #2 b _020a80f0 _020a8010: ; jump table b _020a80f0 ; case 0 b _020a80f0 ; case 1 b _020a80f0 ; case 2 b _020a8030 ; case 3 b _020a8084 ; case 4 b _020a8050 ; case 5 b _020a8030 ; case 6 b _020a8030 ; case 7 _020a8030: cmp r4, #0 beq _020a8048 bl func_ov00_020aeeac cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _020a8048: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020a8050: cmp r4, #0 beq _020a807c mov r0, r6 mov r1, #0x3f bl _ZN13LinkStateBase29HasFlags_PlayerLinkBase_Unk48Et cmp r0, #0 bne _020a807c bl func_ov00_020aeeac cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _020a807c: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020a8084: ldr r0, _020a80f8 ; =data_027e0f74 ldr r0, [r0] bl func_ov00_02097bbc cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} ldr r0, _020a80fc ; =data_027e0c68 ldrb r0, [r0, #4] cmp r0, #0 bne _020a80c8 ldr r0, _020a8100 ; =data_027e0f64 ldr r0, [r0] ldr r0, [r0, #4] ldr r0, [r0, #0x15c] cmp r0, #4 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} _020a80c8: cmp r4, #0 beq _020a80e8 ldr r0, _020a8104 ; =data_027e0fb8 ldr r0, [r0] bl func_ov00_020af4a4 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, pc} _020a80e8: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020a80f0: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase8vfunc_24Ei _020a80f8: .word data_027e0f74 _020a80fc: .word data_027e0c68 _020a8100: .word data_027e0f64 _020a8104: .word data_027e0fb8 .global _ZN13LinkStateBase8vfunc_28Ev arm_func_start _ZN13LinkStateBase8vfunc_28Ev _ZN13LinkStateBase8vfunc_28Ev: ; 0x020a8108 mov r0, #1 bx lr arm_func_end _ZN13LinkStateBase8vfunc_28Ev .global _ZN13LinkStateBase8vfunc_34EP5Vec3p arm_func_start _ZN13LinkStateBase8vfunc_34EP5Vec3p _ZN13LinkStateBase8vfunc_34EP5Vec3p: ; 0x020a8110 mov r0, #0 bx lr arm_func_end _ZN13LinkStateBase8vfunc_34EP5Vec3p .global _ZN13LinkStateBase17GiveControlToLinkEv arm_func_start _ZN13LinkStateBase17GiveControlToLinkEv _ZN13LinkStateBase17GiveControlToLinkEv: ; 0x020a8118 ldr ip, _020a8124 ; =func_ov23_02178354 ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase17GiveControlToLinkEv _020a8124: .word func_ov23_02178354 .global _ZN13LinkStateBase18SetPlayerCharacterEi arm_func_start _ZN13LinkStateBase18SetPlayerCharacterEi _ZN13LinkStateBase18SetPlayerCharacterEi: ; 0x020a8128 ldr ip, _020a8134 ; =func_ov00_020bd364 ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18SetPlayerCharacterEi _020a8134: .word func_ov00_020bd364 .global _ZN13LinkStateBase15ChangeLinkStateEi arm_func_start _ZN13LinkStateBase15ChangeLinkStateEi _ZN13LinkStateBase15ChangeLinkStateEi: ; 0x020a8138 ldr ip, _020a8144 ; =func_ov00_020bb544 ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase15ChangeLinkStateEi _020a8144: .word func_ov00_020bb544 .global _ZN13LinkStateBase18ChangeLinkSubStateEii arm_func_start _ZN13LinkStateBase18ChangeLinkSubStateEii _ZN13LinkStateBase18ChangeLinkSubStateEii: ; 0x020a8148 ldr ip, _020a8154 ; =func_ov00_020bb594 ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18ChangeLinkSubStateEii _020a8154: .word func_ov00_020bb594 .global _ZN13LinkStateBase18EquipItem_vfunc_28Ev arm_func_start _ZN13LinkStateBase18EquipItem_vfunc_28Ev _ZN13LinkStateBase18EquipItem_vfunc_28Ev: ; 0x020a8158 stmdb sp!, {r4, r5, r6, lr} mov r6, #0 ldr r4, _020a819c ; =gItemManager mov r5, r6 _020a8168: ldr r0, [r4] mov r1, r6 bl _ZN11ItemManager12GetEquipItemEi cmp r0, #0 beq _020a818c ldr r2, [r0] mov r1, r5 ldr r2, [r2, #0x28] blx r2 _020a818c: add r6, r6, #1 cmp r6, #0xb blt _020a8168 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18EquipItem_vfunc_28Ev _020a819c: .word gItemManager .global _ZN13LinkStateBase22UpdateSwordShieldInUseEv arm_func_start _ZN13LinkStateBase22UpdateSwordShieldInUseEv _ZN13LinkStateBase22UpdateSwordShieldInUseEv: ; 0x020a81a0 ldr r0, _020a81b0 ; =gItemManager ldr ip, _020a81b4 ; =_ZN11ItemManager22UpdateSwordShieldInUseEv ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase22UpdateSwordShieldInUseEv _020a81b0: .word gItemManager _020a81b4: .word _ZN11ItemManager22UpdateSwordShieldInUseEv .global _ZN13LinkStateBase18func_ov00_020a81b8Eii arm_func_start _ZN13LinkStateBase18func_ov00_020a81b8Eii _ZN13LinkStateBase18func_ov00_020a81b8Eii: ; 0x020a81b8 stmdb sp!, {r3, r4, r5, lr} mov r5, r1 mov r4, r2 bl _ZN13LinkStateBase16GetLinkItemStateEv mov r2, r5 mov r3, r4 mov r1, #0 bl func_ov05_02106980 ldmia sp!, {r3, r4, r5, pc} arm_func_end _ZN13LinkStateBase18func_ov00_020a81b8Eii .global _ZN13LinkStateBase16GetLinkItemStateEv arm_func_start _ZN13LinkStateBase16GetLinkItemStateEv _ZN13LinkStateBase16GetLinkItemStateEv: ; 0x020a81dc ldr ip, _020a81e8 ; =func_01fffcd8 mov r0, #1 bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase16GetLinkItemStateEv _020a81e8: .word func_01fffcd8 .global _ZN13LinkStateBase6LookAtEP5Vec3p arm_func_start _ZN13LinkStateBase6LookAtEP5Vec3p _ZN13LinkStateBase6LookAtEP5Vec3p: ; 0x020a81ec ldr ip, _020a81f8 ; =_ZN10PlayerBase6LookAtEP5Vec3p ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase6LookAtEP5Vec3p _020a81f8: .word _ZN10PlayerBase6LookAtEP5Vec3p .global _ZN13LinkStateBase18func_ov00_020a81fcEv arm_func_start _ZN13LinkStateBase18func_ov00_020a81fcEv _ZN13LinkStateBase18func_ov00_020a81fcEv: ; 0x020a81fc ldr ip, _020a8208 ; =func_ov00_020bb810 ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a81fcEv _020a8208: .word func_ov00_020bb810 .global _ZN13LinkStateBase9AddHealthEs arm_func_start _ZN13LinkStateBase9AddHealthEs _ZN13LinkStateBase9AddHealthEs: ; 0x020a820c stmdb sp!, {r3, lr} ldr r0, [r0, #8] ldr r2, [r0] ldr r2, [r2, #0x40] blx r2 ldmia sp!, {r3, pc} arm_func_end _ZN13LinkStateBase9AddHealthEs .global _ZN13LinkStateBase18func_ov00_020a8224Ei arm_func_start _ZN13LinkStateBase18func_ov00_020a8224Ei _ZN13LinkStateBase18func_ov00_020a8224Ei: ; 0x020a8224 ldr ip, _020a8234 ; =func_ov00_020bbbd0 ldr r0, [r0, #8] mov r2, #1 bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8224Ei _020a8234: .word func_ov00_020bbbd0 .global _ZN13LinkStateBase6TurnToEsii arm_func_start _ZN13LinkStateBase6TurnToEsii _ZN13LinkStateBase6TurnToEsii: ; 0x020a8238 stmdb sp!, {r4, lr} ldr r0, _020a8274 ; =data_027e0fac mov r4, r2 mov r2, r3 bl func_0202b154 ldr r0, _020a8274 ; =data_027e0fac ldr r1, _020a8278 ; =data_027e0fcc ldrsh r3, [r0] ldr r0, [r1] mov r2, #0x1000 sub r1, r4, r3 mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020b4558 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase6TurnToEsii _020a8274: .word data_027e0fac _020a8278: .word data_027e0fcc .global _ZN13LinkStateBase18func_ov00_020a827cEij arm_func_start _ZN13LinkStateBase18func_ov00_020a827cEij _ZN13LinkStateBase18func_ov00_020a827cEij: ; 0x020a827c ldr r0, _020a828c ; =data_027e0fcc ldr ip, _020a8290 ; =func_ov00_020b4558 ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a827cEij _020a828c: .word data_027e0fcc _020a8290: .word func_ov00_020b4558 .global _ZN13LinkStateBase18func_ov00_020a8294Eij arm_func_start _ZN13LinkStateBase18func_ov00_020a8294Eij _ZN13LinkStateBase18func_ov00_020a8294Eij: ; 0x020a8294 ldr r0, _020a82a4 ; =data_027e0fcc ldr ip, _020a82a8 ; =func_ov00_020b44d4 ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8294Eij _020a82a4: .word data_027e0fcc _020a82a8: .word func_ov00_020b44d4 .global _ZN13LinkStateBase18func_ov00_020a82acEv arm_func_start _ZN13LinkStateBase18func_ov00_020a82acEv _ZN13LinkStateBase18func_ov00_020a82acEv: ; 0x020a82ac stmdb sp!, {r3, lr} ldr r0, [r0, #8] mov r1, #0 bl func_ov00_020bb5f0 bl func_ov00_020b45e0 ldmia sp!, {r3, pc} arm_func_end _ZN13LinkStateBase18func_ov00_020a82acEv .global _ZN13LinkStateBase12ApplyImpulseEii arm_func_start _ZN13LinkStateBase12ApplyImpulseEii _ZN13LinkStateBase12ApplyImpulseEii: ; 0x020a82c4 stmdb sp!, {r4, r5, r6, lr} mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 ldr r3, _020a8358 ; =data_027e0d0c ldr lr, _020a835c ; =data_02050f54 mov r1, r4, lsl #0x1 ldrsh ip, [lr, r1] add r1, r4, #1 mov r1, r1, lsl #0x1 smull r5, r4, ip, r2 adds r5, r5, #0x800 ldrsh ip, [lr, r1] ldr r1, [r0, #8] ldr r6, [r3] smull lr, r2, ip, r2 str r6, [r1, #0x20] ldr r6, [r3, #4] adc r4, r4, #0 adds ip, lr, #0x800 str r6, [r1, #0x24] ldr lr, [r3, #8] mov r3, r5, lsr #0xc str lr, [r1, #0x28] ldr r5, [r0, #8] orr r3, r3, r4, lsl #20 ldr r1, [r5, #0x20] adc r0, r2, #0 add r1, r1, r3 str r1, [r5, #0x20] mov r1, ip, lsr #0xc ldr r2, [r5, #0x28] orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [r5, #0x28] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase12ApplyImpulseEii _020a8358: .word data_027e0d0c _020a835c: .word data_02050f54 .global _ZN13LinkStateBase18func_ov00_020a8360Ei arm_func_start _ZN13LinkStateBase18func_ov00_020a8360Ei _ZN13LinkStateBase18func_ov00_020a8360Ei: ; 0x020a8360 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 mov r5, r0 add r0, sp, #0 mov r4, r1 bl func_ov00_020c1500 add r2, sp, #0 mov r0, r5 mov r1, r4 bl _ZN13LinkStateBase18func_ov00_020a8390EiPv add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} arm_func_end _ZN13LinkStateBase18func_ov00_020a8360Ei .global _ZN13LinkStateBase18func_ov00_020a8390EiPv arm_func_start _ZN13LinkStateBase18func_ov00_020a8390EiPv _ZN13LinkStateBase18func_ov00_020a8390EiPv: ; 0x020a8390 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x38 mov r7, r0 add r0, sp, #0xc mov r6, r1 mov r5, r2 bl func_ov00_020c1500 mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] str r1, [sp, #0x2c] bl func_ov00_020c3348 ldrh r1, [r5] ldrh r0, [r5, #2] mov r3, #0 sub r2, r3, #1 strh r1, [sp, #0xc] strh r0, [sp, #0xe] ldrh ip, [r5, #4] ldrh r4, [r5, #6] ldr r1, _020a84b4 ; =data_027e0fe8 mov r0, r7 strh r4, [sp, #0x12] strh ip, [sp, #0x10] ldr r4, [r1] ldrb ip, [r5, #8] ldrb r1, [r5, #9] strb ip, [sp, #0x14] strb r1, [sp, #0x15] ldrb ip, [r5, #0xa] ldrb r1, [r5, #0xb] strb ip, [sp, #0x16] strb r1, [sp, #0x17] ldrsb r1, [r5, #0xc] strb r1, [sp, #0x18] ldrb r1, [r5, #0xd] strb r1, [sp, #0x19] ldrb r1, [r5, #0xe] strb r1, [sp, #0x1a] ldrsb r1, [r5, #0xf] strb r1, [sp, #0x1b] ldr r1, [r5, #0x10] str r1, [sp, #0x1c] str r3, [sp, #0x28] str r2, [sp, #4] str r2, [sp, #8] bl _ZN13LinkStateBase12GetPlayerPosEv mov r2, r0 mov r0, r4 add r4, sp, #4 mov r1, r6 add r3, sp, #0xc str r4, [sp] bl func_ov00_020c4048 ldr r0, _020a84b8 ; =data_027e0fe4 mov r1, r4 ldr r0, [r0] bl func_ov00_020c3674 movs r4, r0 beq _020a84a8 mov r0, r7 bl _ZN13LinkStateBase15GetGrabActorRefEv ldr r1, [r4, #8] str r1, [r0] ldr r1, [r4, #0xc] str r1, [r0, #4] mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0x58] blx r1 _020a84a8: mov r0, r4 add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8390EiPv _020a84b4: .word data_027e0fe8 _020a84b8: .word data_027e0fe4 .global _ZN13LinkStateBase18func_ov00_020a84bcEi arm_func_start _ZN13LinkStateBase18func_ov00_020a84bcEi _ZN13LinkStateBase18func_ov00_020a84bcEi: ; 0x020a84bc stmdb sp!, {r3, r4, r5, lr} ldr r0, [r0, #8] movs r5, r1 strb r5, [r0, #0x11] movne r0, #0x1f moveq r0, #0 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 bl _ZN10PlayerBase13GetEquipSwordEv strh r4, [r0, #0x5c] bl _ZN10PlayerBase14GetEquipShieldEv ldr r1, _020a8504 ; =data_027e0e58 strh r4, [r0, #0xe] ldr r0, [r1] mov r2, r5 mov r1, #1 bl func_ov00_0207c5d4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a84bcEi _020a8504: .word data_027e0e58 .global _ZN13LinkStateBase18func_ov00_020a8508Ev arm_func_start _ZN13LinkStateBase18func_ov00_020a8508Ev _ZN13LinkStateBase18func_ov00_020a8508Ev: ; 0x020a8508 stmdb sp!, {r3, r4, r5, lr} ldr r2, _020a8538 ; =data_027e0fcc mov r5, r1 ldr r4, [r2] bl _ZN13LinkStateBase12GetPlayerPosEv mov r2, r0 mov r0, r4 ldr r3, [r0] mov r1, r5 ldr r3, [r3, #0x70] blx r3 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8508Ev _020a8538: .word data_027e0fcc .global _ZN13LinkStateBase18func_ov00_020a853cEP5Vec3p arm_func_start _ZN13LinkStateBase18func_ov00_020a853cEP5Vec3p _ZN13LinkStateBase18func_ov00_020a853cEP5Vec3p: ; 0x020a853c stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc ldr r2, _020a85a8 ; =data_027e0d38 mov r4, r0 ldr r0, [r2] mov r5, r1 add r0, r0, #0xc bl func_ov00_020a5e9c cmp r0, #0x2e bne _020a8578 mov r0, r4 mov r1, r5 bl func_ov23_02177ba0 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _020a8578: ldr r4, [r4, #8] mov r0, r4 bl func_ov00_020bc46c mov r2, r0 add r1, sp, #0 mov r0, r4 bl func_ov00_020bc90c add r1, sp, #0 mov r0, r5 bl func_ov00_020b1a4c add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a853cEP5Vec3p _020a85a8: .word data_027e0d38 .global _ZN13LinkStateBase8TeleportEP5Vec3psibb arm_func_start _ZN13LinkStateBase8TeleportEP5Vec3psibb _ZN13LinkStateBase8TeleportEP5Vec3psibb: ; 0x020a85ac stmdb sp!, {r3, lr} sub sp, sp, #8 mov r2, #0 str r2, [sp] mov r3, #1 str r3, [sp, #4] ldr r0, [r0, #8] mov r3, r2 ldr ip, [r0] ldr ip, [ip, #0x34] blx ip add sp, sp, #8 ldmia sp!, {r3, pc} arm_func_end _ZN13LinkStateBase8TeleportEP5Vec3psibb .global _ZN13LinkStateBase19PlayerBase_vfunc_38EP5Vec3p arm_func_start _ZN13LinkStateBase19PlayerBase_vfunc_38EP5Vec3p _ZN13LinkStateBase19PlayerBase_vfunc_38EP5Vec3p: ; 0x020a85e0 stmdb sp!, {r3, lr} ldr r0, [r0, #8] mov r2, #0 ldr r3, [r0] ldr r3, [r3, #0x38] blx r3 ldmia sp!, {r3, pc} arm_func_end _ZN13LinkStateBase19PlayerBase_vfunc_38EP5Vec3p .global _ZN13LinkStateBase23PlayerLinkBase_vfunc_74Ev arm_func_start _ZN13LinkStateBase23PlayerLinkBase_vfunc_74Ev _ZN13LinkStateBase23PlayerLinkBase_vfunc_74Ev: ; 0x020a85fc stmdb sp!, {r3, lr} ldr r0, [r0, #8] ldr r1, [r0] ldr r1, [r1, #0x74] blx r1 ldmia sp!, {r3, pc} arm_func_end _ZN13LinkStateBase23PlayerLinkBase_vfunc_74Ev .global _ZN13LinkStateBase23PlayerLinkBase_vfunc_88Ev arm_func_start _ZN13LinkStateBase23PlayerLinkBase_vfunc_88Ev _ZN13LinkStateBase23PlayerLinkBase_vfunc_88Ev: ; 0x020a8614 stmdb sp!, {r3, lr} ldr r0, [r0, #8] ldr r2, [r0] ldr r2, [r2, #0x88] blx r2 ldmia sp!, {r3, pc} arm_func_end _ZN13LinkStateBase23PlayerLinkBase_vfunc_88Ev .global _ZN13LinkStateBase24Get_PlayerLinkBase_Unk48Ev arm_func_start _ZN13LinkStateBase24Get_PlayerLinkBase_Unk48Ev _ZN13LinkStateBase24Get_PlayerLinkBase_Unk48Ev: ; 0x020a862c ldr r0, [r0, #8] ldrh r0, [r0, #0x48] bx lr arm_func_end _ZN13LinkStateBase24Get_PlayerLinkBase_Unk48Ev .global _ZN13LinkStateBase18func_ov00_020a8638Ei arm_func_start _ZN13LinkStateBase18func_ov00_020a8638Ei _ZN13LinkStateBase18func_ov00_020a8638Ei: ; 0x020a8638 stmdb sp!, {lr} sub sp, sp, #0xc mvn r2, #0 str r2, [sp, #4] str r2, [sp, #8] mov r3, #0 str r3, [sp] ldr r0, [r0, #8] add r2, sp, #4 bl func_ov00_020bd3b0 add sp, sp, #0xc ldmia sp!, {pc} arm_func_end _ZN13LinkStateBase18func_ov00_020a8638Ei .global _ZN13LinkStateBase26Clear_PlayerLinkBase_Unk48Et arm_func_start _ZN13LinkStateBase26Clear_PlayerLinkBase_Unk48Et _ZN13LinkStateBase26Clear_PlayerLinkBase_Unk48Et: ; 0x020a8668 ldr r2, [r0, #8] mvn r0, r1 ldrh r1, [r2, #0x48] and r0, r1, r0 strh r0, [r2, #0x48] bx lr arm_func_end _ZN13LinkStateBase26Clear_PlayerLinkBase_Unk48Et .global _ZN13LinkStateBase18func_ov00_020a8680Eisb arm_func_start _ZN13LinkStateBase18func_ov00_020a8680Eisb _ZN13LinkStateBase18func_ov00_020a8680Eisb: ; 0x020a8680 stmdb sp!, {r4, lr} ldr ip, _020a86d8 ; =data_027e0fd4 mov r4, r3 ldr r0, [ip] str r1, [r0, #0x98] ldr r1, [ip] strh r2, [r1, #0xa0] bl func_ov00_020b6e70 cmp r0, #0 beq _020a86bc ldr r0, _020a86d8 ; =data_027e0fd4 mvn r1, #0 ldr r0, [r0] strh r1, [r0, #0xa2] ldmia sp!, {r4, pc} _020a86bc: ldr r0, _020a86d8 ; =data_027e0fd4 cmp r4, #0 moveq r1, #1 ldr r0, [r0] movne r1, #0 strh r1, [r0, #0xa2] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8680Eisb _020a86d8: .word data_027e0fd4 .global _ZN13LinkStateBase33PlayerLinkBase_func_ov00_020bccc8Ev arm_func_start _ZN13LinkStateBase33PlayerLinkBase_func_ov00_020bccc8Ev _ZN13LinkStateBase33PlayerLinkBase_func_ov00_020bccc8Ev: ; 0x020a86dc ldr ip, _020a86e8 ; =func_ov00_020bccc8 ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase33PlayerLinkBase_func_ov00_020bccc8Ev _020a86e8: .word func_ov00_020bccc8 .global _ZN13LinkStateBase23PlayerLinkBase_vfunc_58Ev arm_func_start _ZN13LinkStateBase23PlayerLinkBase_vfunc_58Ev _ZN13LinkStateBase23PlayerLinkBase_vfunc_58Ev: ; 0x020a86ec stmdb sp!, {r3, lr} ldr r0, [r0, #8] ldr r3, [r0] ldr r3, [r3, #0x58] blx r3 ldmia sp!, {r3, pc} arm_func_end _ZN13LinkStateBase23PlayerLinkBase_vfunc_58Ev .global _ZN13LinkStateBase18func_ov00_020a8704EPs arm_func_start _ZN13LinkStateBase18func_ov00_020a8704EPs _ZN13LinkStateBase18func_ov00_020a8704EPs: ; 0x020a8704 stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r4, r1 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r5, r0 mov r0, r6 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev ldrsh r0, [r0, #0x5c] cmp r0, #0 ble _020a876c ldr r0, [r5, #0x64] cmp r0, #0 ldreq r0, [r5, #0x6c] cmpeq r0, #0 beq _020a876c ldr r0, [r5, #0x64] ldr r1, [r5, #0x6c] bl func_01ffa0f4 mov r5, r0, lsl #0x10 mov r0, r6 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrsh r1, [r0] mov r0, #1 sub r1, r1, r5, asr #16 strh r1, [r4] ldmia sp!, {r4, r5, r6, pc} _020a876c: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} arm_func_end _ZN13LinkStateBase18func_ov00_020a8704EPs .global _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi arm_func_start _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi: ; 0x020a8774 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r5, r1 mov r6, r0 mov r4, r2 bl _ZN13LinkStateBase12GetPlayerPosEv mov r1, r0 add r2, sp, #0 mov r0, r5 bl func_01ff9bf8 mov r0, r6 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r1, r4, lsl #0x10 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 ldr r0, [r0, #0x2c] mov r2, r1, lsl #0x1 rsb lr, r0, #0 ldr r3, _020a8840 ; =data_02050f54 add r1, r2, #1 mov r0, r2, lsl #0x1 ldrsh r2, [r3, r0] mov r0, r1, lsl #0x1 ldrsh r0, [r3, r0] smull ip, r3, r2, lr smull r2, r1, r0, lr adds ip, ip, #0x800 adc r0, r3, #0 mov r3, ip, lsr #0xc adds r2, r2, #0x800 orr r3, r3, r0, lsl #20 adc r0, r1, #0 mov r1, r2, lsr #0xc orr r1, r1, r0, lsl #20 ldr r0, [sp] ldr r2, [sp, #8] add r0, r0, r3 add r1, r2, r1 str r0, [sp] str r1, [sp, #8] bl func_01ffa0f4 mov r0, r0, lsl #0x10 rsb r0, r4, r0, asr #16 mov r0, r0, lsl #0x10 movs r0, r0, asr #0x10 rsbmi r0, r0, #0 cmp r0, #0x4000 movlt r0, #1 movge r0, #0 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi _020a8840: .word data_02050f54 .global _ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb arm_func_start _ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb _ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb: ; 0x020a8844 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 ldr r4, _020a8948 ; =data_027e0fb8 mov r6, r0 ldr r0, [r4] mov r5, r2 ldrb r0, [r0, #0x7d] mov r4, r3 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _020a894c ; =data_027e0618 ldrb r0, [r0, #0x101] cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, pc} ldr r2, [r1] ldr r0, _020a8950 ; =data_027e0f64 str r2, [sp, #0xc] ldr r2, [r1, #4] ldr r0, [r0] str r2, [sp, #0x10] ldr r1, [r1, #8] str r1, [sp, #0x14] bl func_ov00_0208b180 mov ip, #0 add r1, sp, #0xc add r2, sp, #8 add r3, sp, #4 str ip, [sp] bl func_01ffe468 cmp r0, #0 moveq r0, #1 movne r0, #0 cmp r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, r5, r6, pc} cmp r5, #0 beq _020a8904 mov r0, r6 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrsh r2, [r0] cmp r5, #1 moveq r3, #1 ldr r0, [sp, #8] ldr r1, [sp, #4] movne r3, #0 bl func_ov00_020b1498 _020a8904: cmp r4, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, r5, r6, pc} mov r0, r6 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrsh r2, [r0] cmp r4, #1 moveq r3, #1 sub r2, r2, #0x8000 mov r2, r2, lsl #0x10 ldr r0, [sp, #8] ldr r1, [sp, #4] movne r3, #0 mov r2, r2, asr #0x10 bl func_ov00_020b1498 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb _020a8948: .word data_027e0fb8 _020a894c: .word data_027e0618 _020a8950: .word data_027e0f64 .global _ZN13LinkStateBase18func_ov00_020a8954EbPi arm_func_start _ZN13LinkStateBase18func_ov00_020a8954EbPi _ZN13LinkStateBase18func_ov00_020a8954EbPi: ; 0x020a8954 stmdb sp!, {r4, lr} cmp r1, #0 ldrne r1, _020a898c ; =data_ov00_020e5650 mov r4, r2 movne r2, #0x29 ldreq r1, _020a898c ; =data_ov00_020e5650 moveq r2, #0x27 str r2, [r1, #0x24] ldr r1, _020a8990 ; =data_ov00_020e5674 mov r2, #1 bl _ZN13LinkStateBase18func_ov00_020a8a4cEii mov r0, #0 str r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8954EbPi _020a898c: .word data_ov00_020e5650 _020a8990: .word data_ov00_020e5674 .global _ZN13LinkStateBase18func_ov00_020a8994Ev arm_func_start _ZN13LinkStateBase18func_ov00_020a8994Ev _ZN13LinkStateBase18func_ov00_020a8994Ev: ; 0x020a8994 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev ldrsh r2, [r0, #0x5a] ldr r1, _020a89b8 ; =data_ov00_020dc510 mov r0, r4 ldr r1, [r1, r2, lsl #2] bl _ZN13LinkStateBase15ChangeLinkStateEi ldmia sp!, {r4, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8994Ev _020a89b8: .word data_ov00_020dc510 .global _ZN13LinkStateBase18func_ov00_020a89bcEii arm_func_start _ZN13LinkStateBase18func_ov00_020a89bcEii _ZN13LinkStateBase18func_ov00_020a89bcEii: ; 0x020a89bc stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, r1 mov r4, r2 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev ldrsh r0, [r0, #0x5a] cmp r0, #1 cmpne r0, #2 mov r0, r6 bne _020a89f8 mov r1, r5 mov r3, r4 mov r2, #1 bl func_ov05_0211097c ldmia sp!, {r4, r5, r6, pc} _020a89f8: mov r1, r5 mov r2, r4 bl _ZN13LinkStateBase18func_ov00_020a8a4cEii ldmia sp!, {r4, r5, r6, pc} arm_func_end _ZN13LinkStateBase18func_ov00_020a89bcEii .global _ZN13LinkStateBase18func_ov00_020a8a08Ei arm_func_start _ZN13LinkStateBase18func_ov00_020a8a08Ei _ZN13LinkStateBase18func_ov00_020a8a08Ei: ; 0x020a8a08 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev ldrsh r0, [r0, #0x5a] cmp r0, #1 cmpne r0, #2 mov r0, r5 bne _020a8a40 mov r1, r4 mov r2, #0 mov r3, #1 bl func_ov05_0211097c ldmia sp!, {r3, r4, r5, pc} _020a8a40: mov r1, r4 bl _ZN13LinkStateBase18func_ov00_020a8a90Ei ldmia sp!, {r3, r4, r5, pc} arm_func_end _ZN13LinkStateBase18func_ov00_020a8a08Ei .global _ZN13LinkStateBase18func_ov00_020a8a4cEii arm_func_start _ZN13LinkStateBase18func_ov00_020a8a4cEii _ZN13LinkStateBase18func_ov00_020a8a4cEii: ; 0x020a8a4c stmdb sp!, {r4, lr} ldr r0, _020a8a8c ; =data_027e0fcc mov r3, r2 ldr r4, [r0] mov r2, #1 mov r0, r4 bl func_ov00_020b45f8 ldr r1, [r4, #0x118] cmp r1, #0 movne r0, #0 strneh r0, [r1, #0xe] ldr r1, [r4, #0x138] cmp r1, #0 movne r0, #0 strneh r0, [r1, #0xe] ldmia sp!, {r4, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8a4cEii _020a8a8c: .word data_027e0fcc .global _ZN13LinkStateBase18func_ov00_020a8a90Ei arm_func_start _ZN13LinkStateBase18func_ov00_020a8a90Ei _ZN13LinkStateBase18func_ov00_020a8a90Ei: ; 0x020a8a90 ldr r0, _020a8aa8 ; =data_027e0fcc ldr ip, _020a8aac ; =func_ov00_020b45f8 mov r2, #0 ldr r0, [r0] mov r3, #1 bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8a90Ei _020a8aa8: .word data_027e0fcc _020a8aac: .word func_ov00_020b45f8 .global _ZN13LinkStateBase18func_ov00_020a8ab0Ei arm_func_start _ZN13LinkStateBase18func_ov00_020a8ab0Ei _ZN13LinkStateBase18func_ov00_020a8ab0Ei: ; 0x020a8ab0 ldr r0, _020a8ac8 ; =data_027e0fcc mov r2, #1 ldr ip, _020a8acc ; =func_ov00_020b464c ldr r0, [r0] mov r3, r2 bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8ab0Ei _020a8ac8: .word data_027e0fcc _020a8acc: .word func_ov00_020b464c .global _ZN13LinkStateBase18func_ov00_020a8ad0Ei arm_func_start _ZN13LinkStateBase18func_ov00_020a8ad0Ei _ZN13LinkStateBase18func_ov00_020a8ad0Ei: ; 0x020a8ad0 stmdb sp!, {r4, lr} ldr r0, _020a8b00 ; =data_027e0fcc mov r4, r1 ldr r0, [r0] ldr r0, [r0, #0x118] bl func_ov00_020c0e24 ldr r0, _020a8b00 ; =data_027e0fcc mov r1, r4 ldr r0, [r0] ldr r0, [r0, #0x138] bl func_ov00_020c0e24 ldmia sp!, {r4, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8ad0Ei _020a8b00: .word data_027e0fcc .global _ZN13LinkStateBase18func_ov00_020a8b04Eib arm_func_start _ZN13LinkStateBase18func_ov00_020a8b04Eib _ZN13LinkStateBase18func_ov00_020a8b04Eib: ; 0x020a8b04 stmdb sp!, {r3, lr} ldr r0, _020a8b38 ; =data_027e0fcc cmp r2, #0 ldr r0, [r0] beq _020a8b28 ldr r0, [r0, #0x118] add r0, r0, #0xc bl func_0202e310 ldmia sp!, {r3, pc} _020a8b28: ldr r0, [r0, #0x138] add r0, r0, #0xc bl func_0202e310 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8b04Eib _020a8b38: .word data_027e0fcc .global _ZN13LinkStateBase18func_ov00_020a8b3cEi arm_func_start _ZN13LinkStateBase18func_ov00_020a8b3cEi _ZN13LinkStateBase18func_ov00_020a8b3cEi: ; 0x020a8b3c stmdb sp!, {r3, r4, r5, lr} ldr r0, _020a8b7c ; =data_027e0fcc cmp r1, #0 ldr r0, [r0] mov r4, #0 ldrne r5, [r0, #0x118] ldreq r5, [r0, #0x138] add r0, r5, #0xc bl func_0202e58c cmp r0, #0 beq _020a8b74 ldrh r0, [r5, #0xe] tst r0, #5 moveq r4, #1 _020a8b74: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8b3cEi _020a8b7c: .word data_027e0fcc .global _ZN13LinkStateBase18func_ov00_020a8b80Ev arm_func_start _ZN13LinkStateBase18func_ov00_020a8b80Ev _ZN13LinkStateBase18func_ov00_020a8b80Ev: ; 0x020a8b80 ldr r0, _020a8b9c ; =data_027e0fd4 ldr r0, [r0] ldrsh r0, [r0, #0xc6] cmp r0, #0 movge r0, #1 movlt r0, #0 bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8b80Ev _020a8b9c: .word data_027e0fd4 .global _ZN13LinkStateBase29HasFlags_PlayerLinkBase_Unk48Et arm_func_start _ZN13LinkStateBase29HasFlags_PlayerLinkBase_Unk48Et _ZN13LinkStateBase29HasFlags_PlayerLinkBase_Unk48Et: ; 0x020a8ba0 ldr r0, [r0, #8] ldrh r0, [r0, #0x48] tst r0, r1 movne r0, #1 moveq r0, #0 bx lr arm_func_end _ZN13LinkStateBase29HasFlags_PlayerLinkBase_Unk48Et .global _ZN13LinkStateBase24Get_PlayerLinkBase_Unk5eEv arm_func_start _ZN13LinkStateBase24Get_PlayerLinkBase_Unk5eEv _ZN13LinkStateBase24Get_PlayerLinkBase_Unk5eEv: ; 0x020a8bb8 ldr r0, [r0, #8] ldrb r0, [r0, #0x5e] bx lr arm_func_end _ZN13LinkStateBase24Get_PlayerLinkBase_Unk5eEv .global _ZN13LinkStateBase28Get_PlayerControlData_Unk004Ev arm_func_start _ZN13LinkStateBase28Get_PlayerControlData_Unk004Ev _ZN13LinkStateBase28Get_PlayerControlData_Unk004Ev: ; 0x020a8bc4 ldr r0, _020a8bd4 ; =data_027e0fcc ldr r0, [r0] add r0, r0, #4 bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase28Get_PlayerControlData_Unk004Ev _020a8bd4: .word data_027e0fcc .global _ZN13LinkStateBase19GetCurrentCharacterEv arm_func_start _ZN13LinkStateBase19GetCurrentCharacterEv _ZN13LinkStateBase19GetCurrentCharacterEv: ; 0x020a8bd8 ldr ip, _020a8be4 ; =func_ov00_020bc46c ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase19GetCurrentCharacterEv _020a8be4: .word func_ov00_020bc46c .global _ZN13LinkStateBase20GetPlayerControlDataEv arm_func_start _ZN13LinkStateBase20GetPlayerControlDataEv _ZN13LinkStateBase20GetPlayerControlDataEv: ; 0x020a8be8 ldr r0, _020a8bf4 ; =data_027e0fcc ldr r0, [r0] bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase20GetPlayerControlDataEv _020a8bf4: .word data_027e0fcc .global _ZN13LinkStateBase10GetStateIdEv arm_func_start _ZN13LinkStateBase10GetStateIdEv _ZN13LinkStateBase10GetStateIdEv: ; 0x020a8bf8 ldr ip, _020a8c04 ; =func_ov00_020bc500 ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase10GetStateIdEv _020a8c04: .word func_ov00_020bc500 .global _ZN13LinkStateBase9GetHealthEv arm_func_start _ZN13LinkStateBase9GetHealthEv _ZN13LinkStateBase9GetHealthEv: ; 0x020a8c08 ldr r0, [r0, #8] ldrsh r0, [r0, #0xa] bx lr arm_func_end _ZN13LinkStateBase9GetHealthEv .global _ZN13LinkStateBase25GetCurrentCharacterHealthEv arm_func_start _ZN13LinkStateBase25GetCurrentCharacterHealthEv _ZN13LinkStateBase25GetCurrentCharacterHealthEv: ; 0x020a8c14 stmdb sp!, {r4, lr} ldr r4, [r0, #8] mov r0, r4 bl func_ov00_020bc46c mov r1, r0 mov r0, r4 bl func_ov00_020bc48c ldmia sp!, {r4, pc} arm_func_end _ZN13LinkStateBase25GetCurrentCharacterHealthEv .global _ZN13LinkStateBase18func_ov00_020a8c34Ev arm_func_start _ZN13LinkStateBase18func_ov00_020a8c34Ev _ZN13LinkStateBase18func_ov00_020a8c34Ev: ; 0x020a8c34 ldr r0, _020a8c44 ; =data_027e0fd4 ldr ip, _020a8c48 ; =func_ov00_020b5268 ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8c34Ev _020a8c44: .word data_027e0fd4 _020a8c48: .word func_ov00_020b5268 .global _ZN13LinkStateBase12GetPlayerPosEv arm_func_start _ZN13LinkStateBase12GetPlayerPosEv _ZN13LinkStateBase12GetPlayerPosEv: ; 0x020a8c4c ldr r0, _020a8c54 ; =data_027e0f94 bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase12GetPlayerPosEv _020a8c54: .word data_027e0f94 .global _ZN13LinkStateBase12GetPlayerVelEv arm_func_start _ZN13LinkStateBase12GetPlayerVelEv _ZN13LinkStateBase12GetPlayerVelEv: ; 0x020a8c58 ldr r0, _020a8c60 ; =data_027e0fa0 bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase12GetPlayerVelEv _020a8c60: .word data_027e0fa0 .global _ZN13LinkStateBase18func_ov00_020a8c64Ev arm_func_start _ZN13LinkStateBase18func_ov00_020a8c64Ev _ZN13LinkStateBase18func_ov00_020a8c64Ev: ; 0x020a8c64 ldr r0, _020a8c74 ; =data_027e0fd4 ldr r0, [r0] add r0, r0, #0x90 bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8c64Ev _020a8c74: .word data_027e0fd4 .global _ZN13LinkStateBase14GetPlayerAngleEv arm_func_start _ZN13LinkStateBase14GetPlayerAngleEv _ZN13LinkStateBase14GetPlayerAngleEv: ; 0x020a8c78 ldr r0, _020a8c80 ; =data_027e0fac bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase14GetPlayerAngleEv _020a8c80: .word data_027e0fac .global _ZN13LinkStateBase15GetPlayer_Unk18Ev arm_func_start _ZN13LinkStateBase15GetPlayer_Unk18Ev _ZN13LinkStateBase15GetPlayer_Unk18Ev: ; 0x020a8c84 ldr r0, _020a8c8c ; =data_027e0fb0 bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase15GetPlayer_Unk18Ev _020a8c8c: .word data_027e0fb0 .global _ZN13LinkStateBase27Get_PlayerControlData_Unk32Ev arm_func_start _ZN13LinkStateBase27Get_PlayerControlData_Unk32Ev _ZN13LinkStateBase27Get_PlayerControlData_Unk32Ev: ; 0x020a8c90 ldr r0, _020a8ca0 ; =data_027e0fcc ldr r0, [r0] ldrsh r0, [r0, #0x32] bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase27Get_PlayerControlData_Unk32Ev _020a8ca0: .word data_027e0fcc .global _ZN13LinkStateBase12GetGrabActorEv arm_func_start _ZN13LinkStateBase12GetGrabActorEv _ZN13LinkStateBase12GetGrabActorEv: ; 0x020a8ca4 ldr r1, _020a8cbc ; =data_027e0fe4 ldr r2, [r0, #8] ldr r0, [r1] ldr ip, _020a8cc0 ; =func_ov00_020c3674 add r1, r2, #0x3c bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase12GetGrabActorEv _020a8cbc: .word data_027e0fe4 _020a8cc0: .word func_ov00_020c3674 .global _ZN13LinkStateBase15GetGrabActorRefEv arm_func_start _ZN13LinkStateBase15GetGrabActorRefEv _ZN13LinkStateBase15GetGrabActorRefEv: ; 0x020a8cc4 ldr r0, [r0, #8] add r0, r0, #0x3c bx lr arm_func_end _ZN13LinkStateBase15GetGrabActorRefEv .global _ZN13LinkStateBase4GrabEv arm_func_start _ZN13LinkStateBase4GrabEv _ZN13LinkStateBase4GrabEv: ; 0x020a8cd0 ldr ip, _020a8cdc ; =func_ov00_020bc71c ldr r0, [r0, #8] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase4GrabEv _020a8cdc: .word func_ov00_020bc71c .global _ZN13LinkStateBase24Get_PlayerLinkBase_Unk44Ev arm_func_start _ZN13LinkStateBase24Get_PlayerLinkBase_Unk44Ev _ZN13LinkStateBase24Get_PlayerLinkBase_Unk44Ev: ; 0x020a8ce0 ldr r0, [r0, #8] add r0, r0, #0x44 bx lr arm_func_end _ZN13LinkStateBase24Get_PlayerLinkBase_Unk44Ev .global _ZN13LinkStateBase16IsEquipBeingUsedEi arm_func_start _ZN13LinkStateBase16IsEquipBeingUsedEi _ZN13LinkStateBase16IsEquipBeingUsedEi: ; 0x020a8cec stmdb sp!, {r3, lr} ldr r0, _020a8d24 ; =gItemManager ldr r0, [r0] bl _ZN11ItemManager12GetEquipItemEi cmp r0, #0 beq _020a8d1c ldr r1, [r0] ldr r1, [r1, #0x24] blx r1 cmp r0, #0 movne r0, #1 ldmneia sp!, {r3, pc} _020a8d1c: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase16IsEquipBeingUsedEi _020a8d24: .word gItemManager .global _ZN13LinkStateBase12GetEquipItemEi arm_func_start _ZN13LinkStateBase12GetEquipItemEi _ZN13LinkStateBase12GetEquipItemEi: ; 0x020a8d28 ldr r0, _020a8d38 ; =gItemManager ldr ip, _020a8d3c ; =_ZN11ItemManager12GetEquipItemEi ldr r0, [r0] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase12GetEquipItemEi _020a8d38: .word gItemManager _020a8d3c: .word _ZN11ItemManager12GetEquipItemEi .global _ZN13LinkStateBase18func_ov00_020a8d40Ev arm_func_start _ZN13LinkStateBase18func_ov00_020a8d40Ev _ZN13LinkStateBase18func_ov00_020a8d40Ev: ; 0x020a8d40 ldr r0, _020a8d4c ; =data_027e0fd4 ldr r0, [r0] bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8d40Ev _020a8d4c: .word data_027e0fd4 .global _ZN13LinkStateBase18func_ov00_020a8d50Ev arm_func_start _ZN13LinkStateBase18func_ov00_020a8d50Ev _ZN13LinkStateBase18func_ov00_020a8d50Ev: ; 0x020a8d50 ldr r0, _020a8d64 ; =data_027e0fcc ldr ip, _020a8d68 ; =func_ov00_020c0d68 ldr r0, [r0] ldr r0, [r0, #0x138] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8d50Ev _020a8d64: .word data_027e0fcc _020a8d68: .word func_ov00_020c0d68 .global _ZN13LinkStateBase18func_ov00_020a8d6cEv arm_func_start _ZN13LinkStateBase18func_ov00_020a8d6cEv _ZN13LinkStateBase18func_ov00_020a8d6cEv: ; 0x020a8d6c ldr r0, _020a8d80 ; =data_027e0fcc ldr ip, _020a8d84 ; =func_ov00_020c0d68 ldr r0, [r0] ldr r0, [r0, #0x118] bx ip .align 2, 0 arm_func_end _ZN13LinkStateBase18func_ov00_020a8d6cEv _020a8d80: .word data_027e0fcc _020a8d84: .word func_ov00_020c0d68 .global _ZN13LinkStateBase26PlayerControlData_vfunc_14Ei arm_func_start _ZN13LinkStateBase26PlayerControlData_vfunc_14Ei _ZN13LinkStateBase26PlayerControlData_vfunc_14Ei: ; 0x020a8d88 stmdb sp!, {r3, lr} ldr r0, _020a8db4 ; =data_027e0fcc ldr r0, [r0] ldr r2, [r0] ldr r2, [r2, #0x14] blx r2 cmp r0, #0 ldrneh r0, [r0, #4] movne r0, r0, lsl #0xc moveq r0, #0x1000 ldmia sp!, {r3, pc} .align 2, 0 arm_func_end _ZN13LinkStateBase26PlayerControlData_vfunc_14Ei _020a8db4: .word data_027e0fcc .global _ZN13LinkStateBase28Get_PlayerControlData_Unk100Ev arm_func_start _ZN13LinkStateBase28Get_PlayerControlData_Unk100Ev _ZN13LinkStateBase28Get_PlayerControlData_Unk100Ev: ; 0x020a8db8 ldr r0, _020a8dc8 ; =data_027e0fcc ldr r0, [r0] ldr r0, [r0, #0x100] bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase28Get_PlayerControlData_Unk100Ev _020a8dc8: .word data_027e0fcc .global _ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev arm_func_start _ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev _ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev: ; 0x020a8dcc ldr r0, _020a8ddc ; =data_027e0fcc ldr r0, [r0] ldr r0, [r0, #0x120] bx lr .align 2, 0 arm_func_end _ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev _020a8ddc: .word data_027e0fcc .global _ZN13LinkStateBase24Get_PlayerLinkBase_Unk38Ev arm_func_start _ZN13LinkStateBase24Get_PlayerLinkBase_Unk38Ev _ZN13LinkStateBase24Get_PlayerLinkBase_Unk38Ev: ; 0x020a8de0 ldr r0, [r0, #8] add r0, r0, #0x38 bx lr arm_func_end _ZN13LinkStateBase24Get_PlayerLinkBase_Unk38Ev .global _ZN13LinkStateBase18GetDebugHierarchy0Ev arm_func_start _ZN13LinkStateBase18GetDebugHierarchy0Ev _ZN13LinkStateBase18GetDebugHierarchy0Ev: ; 0x020a8dec ldr r0, [r0, #8] ldr r0, [r0, #0x64] bx lr arm_func_end _ZN13LinkStateBase18GetDebugHierarchy0Ev .global _ZN13LinkStateBase18GetDebugHierarchy1Ev arm_func_start _ZN13LinkStateBase18GetDebugHierarchy1Ev _ZN13LinkStateBase18GetDebugHierarchy1Ev: ; 0x020a8df8 ldr r0, [r0, #8] ldr r0, [r0, #0x68] bx lr arm_func_end _ZN13LinkStateBase18GetDebugHierarchy1Ev .rodata .global data_ov00_020dc510 data_ov00_020dc510: ; 0x020dc510 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020dc514 data_ov00_020dc514: ; 0x020dc514 .byte 0x03, 0x00, 0x00, 0x00 .global data_ov00_020dc518 data_ov00_020dc518: ; 0x020dc518 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020dc51c data_ov00_020dc51c: ; 0x020dc51c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020dc520 data_ov00_020dc520: ; 0x020dc520 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020dc524 data_ov00_020dc524: ; 0x020dc524 .byte 0x00, 0x00, 0x00, 0x00 .data .global data_ov00_020e5630 data_ov00_020e5630: ; 0x020e5630 .ascii "brg" .byte 0x00 .global data_ov00_020e5634 data_ov00_020e5634: ; 0x020e5634 .ascii "fnl" .byte 0x00 .global data_ov00_020e5638 data_ov00_020e5638: ; 0x020e5638 .ascii "pdl" .byte 0x00 .global data_ov00_020e563c data_ov00_020e563c: ; 0x020e563c .ascii "dco" .byte 0x00 .global data_ov00_020e5640 data_ov00_020e5640: ; 0x020e5640 .ascii "can" .byte 0x00 .global data_ov00_020e5644 data_ov00_020e5644: ; 0x020e5644 .ascii "hul" .byte 0x00 .global data_ov00_020e5648 data_ov00_020e5648: ; 0x020e5648 .ascii "bow" .byte 0x00 .global data_ov00_020e564c data_ov00_020e564c: ; 0x020e564c .ascii "anc" .byte 0x00 .global data_ov00_020e5650 data_ov00_020e5650: ; 0x020e5650 .word data_ov00_020e564c .global data_ov00_020e5654 data_ov00_020e5654: ; 0x020e5654 .word data_ov00_020e5648 .global data_ov00_020e5658 data_ov00_020e5658: ; 0x020e5658 .word data_ov00_020e5644 .global data_ov00_020e565c data_ov00_020e565c: ; 0x020e565c .word data_ov00_020e5640 .global data_ov00_020e5660 data_ov00_020e5660: ; 0x020e5660 .word data_ov00_020e563c .global data_ov00_020e5664 data_ov00_020e5664: ; 0x020e5664 .word data_ov00_020e5638 .global data_ov00_020e5668 data_ov00_020e5668: ; 0x020e5668 .word data_ov00_020e5634 .global data_ov00_020e566c data_ov00_020e566c: ; 0x020e566c .word data_ov00_020e5630 .global data_ov00_020e5670 data_ov00_020e5670: ; 0x020e5670 .byte 0x29, 0x00, 0x00, 0x00 .global data_ov00_020e5674 data_ov00_020e5674: ; 0x020e5674 .byte 0x27, 0x00, 0x00, 0x00 .global data_ov00_020e5678 data_ov00_020e5678: ; 0x020e5678 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov00_020e567c data_ov00_020e567c: ; 0x020e567c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5680 data_ov00_020e5680: ; 0x020e5680 .byte 0x00, 0x50, 0x00, 0x00 .global data_ov00_020e5684 data_ov00_020e5684: ; 0x020e5684 .byte 0x01, 0x00, 0x00, 0x00 .global data_ov00_020e5688 data_ov00_020e5688: ; 0x020e5688 .byte 0x33, 0x13, 0x00, 0x00 .global data_ov00_020e568c data_ov00_020e568c: ; 0x020e568c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e5690 data_ov00_020e5690: ; 0x020e5690 .byte 0x00, 0xc0, 0x03, 0x00 .global data_ov00_020e5694 data_ov00_020e5694: ; 0x020e5694 .byte 0x1f, 0x00, 0x00, 0x00 .global data_ov00_020e5698 data_ov00_020e5698: ; 0x020e5698 .byte 0x00, 0x10, 0x00, 0x00 .global data_ov00_020e569c data_ov00_020e569c: ; 0x020e569c .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e56a0 data_ov00_020e56a0: ; 0x020e56a0 .byte 0x00, 0xc0, 0x03, 0x00 .global data_ov00_020e56a4 data_ov00_020e56a4: ; 0x020e56a4 .byte 0x00, 0x00, 0x00, 0x00 .global data_ov00_020e56a8 data_ov00_020e56a8: ; 0x020e56a8 .byte 0x00, 0x00, 0x00, 0x00 .global _ZTV13LinkStateBase _ZTV13LinkStateBase: ; 0x020e56ac .word _ZN13LinkStateBase8vfunc_00Ev .word func_ov04_0210ade4 .word func_ov04_0210ade8 .byte 0x00, 0x00, 0x00, 0x00 .word func_ov04_0210adf8 .word _ZN13LinkStateBase12OnStateEnterEv - 1 .word _ZN13LinkStateBase12OnStateLeaveEi - 1 .word func_ov05_0210f700 .word _ZN13LinkStateBase8vfunc_20Ei - 1 .word _ZN13LinkStateBase8vfunc_24Ei - 1 .word _ZN13LinkStateBase8vfunc_28Ev - 1 .word func_ov05_0210f704 .word func_ov05_0210f708 .word _ZN13LinkStateBase8vfunc_34EP5Vec3p - 1 .word func_ov05_0210f70c .word func_ov05_0210f714 .word func_ov05_0210f71c