diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 428364a3..4a4ae9b8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -122,7 +122,7 @@ Non-matching functions must be written as follows: ```cpp #include "global.hpp" -NONMATCH void MyFunction() { +void NONMATCH(MyFunction)() { #ifndef NONMATCHING #include "../asm/path/to/asm.inc" #else diff --git a/asm/dtcm.s b/asm/dtcm.s index 92fc93a3..a5a53533 100644 --- a/asm/dtcm.s +++ b/asm/dtcm.s @@ -3260,15 +3260,9 @@ data_027e0d09: .global data_027e0d0a data_027e0d0a: .space 0x2 - .global data_027e0d0c -data_027e0d0c: - .space 0x4 - .global data_027e0d10 -data_027e0d10: - .space 0x4 - .global data_027e0d14 -data_027e0d14: - .space 0x4 + .global gVec3p_ZERO +gVec3p_ZERO: + .space 0xc .global data_027e0d18 data_027e0d18: .space 0x4 @@ -3968,38 +3962,27 @@ data_027e0f88: .global data_027e0f8c data_027e0f8c: .space 0x4 - .global data_027e0f90 -data_027e0f90: - .space 0x4 - .global data_027e0f94 -data_027e0f94: - .space 0x4 - .global data_027e0f98 -data_027e0f98: - .space 0x4 - .global data_027e0f9c -data_027e0f9c: - .space 0x4 - .global data_027e0fa0 -data_027e0fa0: - .space 0x4 - .global data_027e0fa4 -data_027e0fa4: - .space 0x4 - .global data_027e0fa8 -data_027e0fa8: - .space 0x4 - .global data_027e0fac -data_027e0fac: + .global gPlayer +gPlayer: .space 0x4 + .global gPlayerPos +gPlayerPos: + .space 0xc + .global gPlayerVel +gPlayerVel: + .space 0xc + .global gPlayerAngle +gPlayerAngle: + .space 0x2 + .space 0x2 .global data_027e0fb0 data_027e0fb0: .space 0x4 .global gItemManager gItemManager: .space 0x4 - .global data_027e0fb8 -data_027e0fb8: + .global gPlayerControl +gPlayerControl: .space 0x4 .global gHealthManager gHealthManager: @@ -4010,8 +3993,8 @@ data_027e0fc0: .global data_027e0fc4 data_027e0fc4: .space 0x4 - .global data_027e0fc8 -data_027e0fc8: + .global gPlayerLink +gPlayerLink: .space 0x4 .global data_027e0fcc data_027e0fcc: @@ -4031,8 +4014,8 @@ data_027e0fdc: .global data_027e0fe0 data_027e0fe0: .space 0x4 - .global data_027e0fe4 -data_027e0fe4: + .global gActorManager +gActorManager: .space 0x4 .global data_027e0fe8 data_027e0fe8: diff --git a/asm/itcm.inc b/asm/itcm.inc index 29c77a1d..92e4865d 100644 --- a/asm/itcm.inc +++ b/asm/itcm.inc @@ -1,5 +1,5 @@ #pragma once -.extern data_02050f54 +.extern gSinCosTable .extern data_02054f54 .extern data_02055058 .extern data_0205ada4 @@ -57,7 +57,7 @@ .extern _ZN10MapManager18func_ov00_020839d4Ev .extern _ZN10MapManager18func_ov00_020839f8Ev .extern _ZN10MapManager16MapData_vfunc_68Ev -.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i .extern _ZN10MapManager16MapData_vfunc_78Ev .extern _ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ .extern _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ diff --git a/asm/itcm.s b/asm/itcm.s index 9ed2867a..eed34c27 100644 --- a/asm/itcm.s +++ b/asm/itcm.s @@ -2097,9 +2097,9 @@ _01ff9bbc: .word 0x04000280 _01ff9bc0: .word 0x040002a8 arm_func_end func_01ff9b88 - .global func_01ff9bc4 - arm_func_start func_01ff9bc4 -func_01ff9bc4: ; 0x01ff9bc4 + .global Vec3p_Add + arm_func_start Vec3p_Add +Vec3p_Add: ; 0x01ff9bc4 ldr ip, [r0] ldr r3, [r1] add r3, ip, r3 @@ -2113,11 +2113,11 @@ func_01ff9bc4: ; 0x01ff9bc4 add r0, r3, r0 str r0, [r2, #8] bx lr - arm_func_end func_01ff9bc4 + arm_func_end Vec3p_Add - .global func_01ff9bf8 - arm_func_start func_01ff9bf8 -func_01ff9bf8: ; 0x01ff9bf8 + .global Vec3p_Sub + arm_func_start Vec3p_Sub +Vec3p_Sub: ; 0x01ff9bf8 ldr ip, [r0] ldr r3, [r1] sub r3, ip, r3 @@ -2131,11 +2131,11 @@ func_01ff9bf8: ; 0x01ff9bf8 sub r0, r3, r0 str r0, [r2, #8] bx lr - arm_func_end func_01ff9bf8 + arm_func_end Vec3p_Sub - .global func_01ff9c2c - arm_func_start func_01ff9c2c -func_01ff9c2c: ; 0x01ff9c2c + .global Vec3p_Dot + arm_func_start Vec3p_Dot +Vec3p_Dot: ; 0x01ff9c2c stmdb sp!, {r4, lr} ldr r3, [r0, #4] ldr r2, [r1, #4] @@ -2151,11 +2151,11 @@ func_01ff9c2c: ; 0x01ff9c2c mov r0, r0, lsr #0xc orr r0, r0, r1, lsl #20 ldmia sp!, {r4, pc} - arm_func_end func_01ff9c2c + arm_func_end Vec3p_Dot - .global func_01ff9c68 - arm_func_start func_01ff9c68 -func_01ff9c68: ; 0x01ff9c68 + .global Vec3p_Cross + arm_func_start Vec3p_Cross +Vec3p_Cross: ; 0x01ff9c68 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldmia r0, {r5, lr} ldr r6, [r1, #8] @@ -2189,11 +2189,11 @@ func_01ff9c68: ; 0x01ff9c68 orr r1, r1, r0, lsl #20 str r1, [r2, #8] ldmia sp!, {r4, r5, r6, r7, r8, pc} - arm_func_end func_01ff9c68 + arm_func_end Vec3p_Cross - .global func_01ff9cec - arm_func_start func_01ff9cec -func_01ff9cec: ; 0x01ff9cec + .global Vec3p_Length + arm_func_start Vec3p_Length +Vec3p_Length: ; 0x01ff9cec ldr r1, [r0, #4] ldr r2, [r0] smull ip, r3, r1, r1 @@ -2220,11 +2220,11 @@ _01ff9d24: .align 2, 0 _01ff9d44: .word 0x040002b0 _01ff9d48: .word 0x040002b4 - arm_func_end func_01ff9cec + arm_func_end Vec3p_Length - .global func_01ff9d4c - arm_func_start func_01ff9d4c -func_01ff9d4c: ; 0x01ff9d4c + .global Vec3p_Normalize + arm_func_start Vec3p_Normalize +Vec3p_Normalize: ; 0x01ff9d4c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} ldr r2, [r0, #4] ldr r3, [r0] @@ -2298,11 +2298,11 @@ _01ff9dc0: _01ff9e58: .word 0x04000280 _01ff9e5c: .word 0x040002b4 _01ff9e60: .word 0x040002a0 - arm_func_end func_01ff9d4c + arm_func_end Vec3p_Normalize - .global func_01ff9e64 - arm_func_start func_01ff9e64 -func_01ff9e64: ; 0x01ff9e64 + .global Vec3p_Axpy + arm_func_start Vec3p_Axpy +Vec3p_Axpy: ; 0x01ff9e64 stmdb sp!, {r4, lr} ldr r4, [r1] ldr lr, [r2] @@ -2326,11 +2326,11 @@ func_01ff9e64: ; 0x01ff9e64 add r0, ip, r0 str r0, [r3, #8] ldmia sp!, {r4, pc} - arm_func_end func_01ff9e64 + arm_func_end Vec3p_Axpy - .global func_01ff9ec0 - arm_func_start func_01ff9ec0 -func_01ff9ec0: ; 0x01ff9ec0 + .global Vec3p_Distance + arm_func_start Vec3p_Distance +Vec3p_Distance: ; 0x01ff9ec0 stmdb sp!, {r4, lr} ldr r3, [r0, #4] ldr r2, [r1, #4] @@ -2364,7 +2364,7 @@ _01ff9f14: .align 2, 0 _01ff9f34: .word 0x040002b0 _01ff9f38: .word 0x040002b4 - arm_func_end func_01ff9ec0 + arm_func_end Vec3p_Distance .global func_01ff9f3c arm_func_start func_01ff9f3c @@ -2498,9 +2498,9 @@ _01ffa0ec: .word 0xffffda4d _01ffa0f0: .word data_02054f54 arm_func_end func_01ff9f3c - .global func_01ffa0f4 - arm_func_start func_01ffa0f4 -func_01ffa0f4: ; 0x01ffa0f4 + .global Atan2 + arm_func_start Atan2 +Atan2: ; 0x01ffa0f4 stmdb sp!, {r4, lr} cmp r0, #0 ble _01ffa188 @@ -2624,7 +2624,7 @@ _01ffa274: ldmia sp!, {r4, pc} .align 2, 0 _01ffa298: .word data_02055058 - arm_func_end func_01ffa0f4 + arm_func_end Atan2 .global func_01ffa29c arm_func_start func_01ffa29c @@ -4364,7 +4364,7 @@ func_01ffb7ec: ; 0x01ffb7ec sub sp, sp, #0x30 ldrh r4, [sp, #0x58] mov r10, r0 - ldr lr, _01ffbbc8 ; =data_02050f54 + ldr lr, _01ffbbc8 ; =gSinCosTable mov r0, r4, asr #0x4 mov ip, r0, lsl #0x1 add r0, ip, #1 @@ -4436,7 +4436,7 @@ _01ffb848: _01ffb90c: add r0, sp, #0x24 add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot movs r1, r0 beq _01ffb980 ldr r0, [r7] @@ -4447,7 +4447,7 @@ _01ffb90c: _01ffb934: add r0, sp, #0x18 add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot movs r1, r0 beq _01ffb980 ldr r0, [r7, #4] @@ -4458,7 +4458,7 @@ _01ffb934: _01ffb95c: add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot movs r1, r0 beq _01ffb980 ldr r0, [r7, #8] @@ -4478,11 +4478,11 @@ _01ffb980: mov r6, r0 add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot mov r11, r0 add r0, sp, #0x18 add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot smull r3, r2, r0, r6 adds r3, r3, #0x800 smull r1, r0, r11, r6 @@ -4508,11 +4508,11 @@ _01ffb9fc: mov r6, r0 add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot mov r11, r0 add r0, sp, #0x24 add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot smull r3, r2, r0, r6 adds r3, r3, #0x800 smull r1, r0, r11, r6 @@ -4539,11 +4539,11 @@ _01ffba74: mov r6, r0 add r0, sp, #0x18 add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot mov r11, r0 add r0, sp, #0x24 add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot smull r3, r2, r0, r6 adds r3, r3, #0x800 smull r1, r0, r11, r6 @@ -4591,7 +4591,7 @@ _01ffbafc: beq _01ffbb74 add r0, sp, #0x24 add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, [r7] add r0, r1, r0 str r0, [r5] @@ -4601,7 +4601,7 @@ _01ffbb74: beq _01ffbb98 add r0, sp, #0x18 add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, [r7, #4] add r0, r1, r0 str r0, [r5, #4] @@ -4612,14 +4612,14 @@ _01ffbb98: ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, [r7, #8] add r0, r1, r0 str r0, [r5, #8] add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_01ffbbc8: .word data_02050f54 +_01ffbbc8: .word gSinCosTable arm_func_end func_01ffb7ec .global func_01ffbbcc @@ -4841,11 +4841,11 @@ func_01ffbe78: ; 0x01ffbe78 mov r0, lr mov r2, lr mov r1, r4 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x20 mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r4, #0xc] ldr r1, [sp, #0x4c] str r2, [sp] @@ -4874,7 +4874,7 @@ func_01ffbe78: ; 0x01ffbe78 ldr r3, [r5, #8] mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x14] mov r0, #1 str r1, [r5] @@ -4906,10 +4906,10 @@ func_01ffbf5c: ; 0x01ffbf5c add r2, sp, #0x30 mov r0, r9 mov r1, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x30 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot smull r2, r1, r8, r8 adds r2, r2, #0x800 adc r1, r1, #0 @@ -5204,7 +5204,7 @@ _01ffc398: ldr r0, [sp, #0x18] mov r1, r3 add r2, sp, #0x248 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r5 ldr r3, [r0] mov r1, r7 @@ -5778,7 +5778,7 @@ _01ffcab4: add r0, sp, #0x194 add r1, sp, #0x188 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add cmp r11, #0 mov r7, #0 beq _01ffcd18 @@ -6149,7 +6149,7 @@ func_01ffd1e0: ; 0x01ffd1e0 ldr r8, [sp, #0x348] ldr r7, [sp, #0x34c] ldr r11, [sp, #0x354] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x350] tst r0, #4 mvn r0, #0 @@ -6205,7 +6205,7 @@ func_01ffd1e0: ; 0x01ffd1e0 mov r0, r4 mov r1, r3 add r2, sp, #0x2b0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x14] bl _ZN10MapManager17Get_MapData_Unk28Ev str r0, [sp, #0x30] @@ -6348,7 +6348,7 @@ _01ffd4e4: ldr r0, [sp, #0x18] mov r1, r9 add r2, sp, #0x278 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r5 ldr r3, [r0] mov r1, r7 @@ -6469,7 +6469,7 @@ _01ffd678: mov r0, r4 mov r1, r3 add r2, sp, #0x2b0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x24] mov r5, #0 cmp r0, #0 @@ -6853,7 +6853,7 @@ _01ffdac4: add r0, sp, #0x1f4 add r1, sp, #0x1e8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 cmp r11, #0 str r0, [sp, #0x20] @@ -6914,11 +6914,11 @@ _01ffdd50: add r0, sp, #0x2c8 add r1, sp, #0x1dc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x2c8 add r1, sp, #0x2bc add r2, sp, #0x2b0 - bl func_01ff9bf8 + bl Vec3p_Sub _01ffde00: add r6, r6, #1 cmp r6, r7 @@ -6937,7 +6937,7 @@ _01ffde0c: mov r0, r4 mov r1, r3 add r2, sp, #0x2b0 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r7, #0 mov r5, #0 ble _01ffdfa8 @@ -7092,7 +7092,7 @@ _01ffdfa8: mov r1, r7 mov r2, r9 str r4, [sp, #0x31c] - bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i ldr r1, [sp, #0x1d4] add r0, r0, r8 cmp r1, r0 @@ -7113,7 +7113,7 @@ _01ffdfa8: add r0, sp, #0x1c4 add r1, sp, #0x1b8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x40] add r3, sp, #0x7c strh r0, [sp, #0x78] @@ -7207,7 +7207,7 @@ func_01ffe1cc: ; 0x01ffe1cc add r2, sp, #0x60 mov r0, r4 mov r1, r10 - bl func_01ff9bf8 + bl Vec3p_Sub add r4, sp, #0x48 ldmia r10, {r0, r1, r2} stmia r4, {r0, r1, r2} @@ -7481,13 +7481,13 @@ func_01ffe61c: ; 0x01ffe61c mov r1, r2 mov r7, r0 mov r5, r3 - bl func_01ff9c2c + bl Vec3p_Dot movs r4, r0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} mov r0, r7 mov r1, r6 - bl func_01ff9c2c + bl Vec3p_Dot ldr r2, [r7, #0xc] mov r1, r4 sub r0, r2, r0 @@ -7506,7 +7506,7 @@ func_01ffe668: ; 0x01ffe668 add r0, r10, #8 mov r9, r1 str r2, [sp] - bl func_01ff9c2c + bl Vec3p_Dot ldr r2, [r10, #0x14] ldr r1, [r9, #0xc] sub r0, r0, r2 @@ -7529,7 +7529,7 @@ _01ffe6b0: _01ffe6c8: mov r1, r9 add r0, r4, r8, lsl #4 - bl func_01ff9c2c + bl Vec3p_Dot add r1, r10, r8, lsl #4 ldr r2, [r1, #0x24] ldr r1, [r9, #0xc] @@ -7597,7 +7597,7 @@ _01ffe750: mla r0, r3, r1, r7 mla r1, r2, r1, r7 add r2, sp, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r6, lsl #0x1 ldr r2, [r10, #0x48] ldrh r1, [r10, r0] @@ -7606,16 +7606,16 @@ _01ffe750: mla r0, r1, r0, r2 add r2, sp, #8 mov r1, r9 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x14 add r1, sp, #8 - bl func_01ff9c2c + bl Vec3p_Dot mov r6, r0 cmp r6, #0 ble _01ffe868 add r0, sp, #0x14 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot cmp r6, r0 bgt _01ffe868 smull r1, r0, r5, r5 @@ -7649,7 +7649,7 @@ _01ffe874: ldr r3, [r3, #8] mov r1, r9 mla r0, r2, r0, r3 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r8 movge r0, #0 blt _01ffe8c8 @@ -7738,7 +7738,7 @@ _01ffe954: _01ffe9d4: mov r0, r6 mov r1, r4 - bl func_01ff9c2c + bl Vec3p_Dot add r1, r7, r5, lsl #4 ldr r1, [r1, #0x24] sub r0, r0, r1 @@ -7774,7 +7774,7 @@ func_01ffea18: ; 0x01ffea18 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r1, r6 add r0, r7, #8 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, [r7, #0x14] subs r0, r0, r1 addmi sp, sp, #0x18 @@ -7782,7 +7782,7 @@ func_01ffea18: ; 0x01ffea18 ldmmiia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r1, r5 add r0, r7, #8 - bl func_01ff9c2c + bl Vec3p_Dot mov r1, r0 ldr r0, [r6, #0xc] rsb r1, r1, #0 @@ -7830,7 +7830,7 @@ _01ffeab4: str r0, [sp, #0x14] add r1, sp, #0xc add r0, r7, #8 - bl func_01ff9c2c + bl Vec3p_Dot ldr r2, [r7, #0x14] ldr r1, [r6, #0xc] sub r0, r0, r2 @@ -7844,7 +7844,7 @@ _01ffeab4: _01ffeb5c: mov r0, r10 mov r1, r8 - bl func_01ff9c2c + bl Vec3p_Dot add r1, r7, r9, lsl #4 ldr r2, [r1, #0x24] ldr r1, [r6, #0xc] @@ -7863,10 +7863,10 @@ _01ffeb5c: mov r0, r3 mov r1, r5 mov r2, r3 - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0 add r0, r7, #8 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, [r7, #0x14] ldr r2, [r6, #0xc] sub r0, r0, r1 @@ -7903,9 +7903,9 @@ func_01ffebe0: ; 0x01ffebe0 ldmia sp!, {r3, r4, pc} arm_func_end func_01ffebe0 - .global func_01ffec34 - arm_func_start func_01ffec34 -func_01ffec34: ; 0x01ffec34 + .global _ZN8Cylinder8OverlapsEPS_ + arm_func_start _ZN8Cylinder8OverlapsEPS_ +_ZN8Cylinder8OverlapsEPS_: ; 0x01ffec34 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 @@ -7923,7 +7923,7 @@ func_01ffec34: ; 0x01ffec34 movle ip, #1 mov r0, ip ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_01ffec34 + arm_func_end _ZN8Cylinder8OverlapsEPS_ .global func_01ffec78 arm_func_start func_01ffec78 @@ -7975,14 +7975,14 @@ _01ffecac: str r4, [sp, #0x14] str r4, [sp, #0x18] str r4, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x20 add r1, sp, #8 mov r2, r0 str r4, [sp, #8] str r4, [sp, #0xc] str r4, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #4 add r1, r10, #0x44 add r2, sp, #0x2c @@ -8598,7 +8598,7 @@ func_01fff510: ; 0x01fff510 mov r0, r5 mov r1, r3 add r2, sp, #0xc4 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x160 ldrh r0, [r0, #0x14] str r0, [sp, #8] @@ -9007,7 +9007,7 @@ func_01fffb4c: ; 0x01fffb4c moveq r0, #0 ldmeqia sp!, {r3, pc} mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_01fffb4c @@ -9081,15 +9081,15 @@ func_01fffc44: ; 0x01fffc44 add r2, sp, #0xc mov r5, r1 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0 mov r0, r4 mov r1, r5 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc add r1, sp, #0 mov r2, r6 - bl func_01ff9c68 + bl Vec3p_Cross mov r0, r6 bl func_01fffb4c add sp, sp, #0x18 @@ -9104,13 +9104,13 @@ func_01fffc94: ; 0x01fffc94 add r2, sp, #0 mov r6, r0 mov r5, r1 - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 mov r0, r6 mov r1, r5 - bl func_01ff9c2c + bl Vec3p_Dot mov r1, r0 mov r0, r4 bl func_01ff9f3c @@ -9129,9 +9129,9 @@ func_01fffcd8: ; 0x01fffcd8 _01fffce8: .word data_027e0fdc arm_func_end func_01fffcd8 - .global func_01fffcec - arm_func_start func_01fffcec -func_01fffcec: ; 0x01fffcec + .global _ZN11ItemManager21GetEquipItemUncheckedEi + arm_func_start _ZN11ItemManager21GetEquipItemUncheckedEi +_ZN11ItemManager21GetEquipItemUncheckedEi: ; 0x01fffcec ldr r1, _01fffd00 ; =gItemManager ldr r1, [r1] ldr r1, [r1, #0xac] @@ -9139,11 +9139,11 @@ func_01fffcec: ; 0x01fffcec bx lr .align 2, 0 _01fffd00: .word gItemManager - arm_func_end func_01fffcec + arm_func_end _ZN11ItemManager21GetEquipItemUncheckedEi - .global func_01fffd04 - arm_func_start func_01fffd04 -func_01fffd04: ; 0x01fffd04 + .global _ZN5Actor13func_01fffd04Ei + arm_func_start _ZN5Actor13func_01fffd04Ei +_ZN5Actor13func_01fffd04Ei: ; 0x01fffd04 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x60 mov r6, r0 @@ -9237,13 +9237,13 @@ _01fffdf4: add r2, sp, #0x38 add r0, r6, #0xb8 add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x3c] add r0, r6, #0x148 add r1, sp, #0x38 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0xb8] str r0, [r6, #0x48] ldr r0, [r6, #0xbc] @@ -9277,7 +9277,7 @@ _01fffef8: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _01ffff04: .word gMapManager - arm_func_end func_01fffd04 + arm_func_end _ZN5Actor13func_01fffd04Ei .global func_01ffff08 arm_func_start func_01ffff08 diff --git a/asm/main/main_02000000.inc b/asm/main/main_02000000.inc index f9d8e1ce..46b6f4de 100644 --- a/asm/main/main_02000000.inc +++ b/asm/main/main_02000000.inc @@ -1,5 +1,13 @@ #pragma once +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Cross +.extern Vec3p_Distance +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager18func_ov00_02082614Eii .extern _ZN10MapManager18func_ov00_020838e8EjPi .extern _ZN10MapManager18func_ov00_02084740Ev @@ -103,7 +111,6 @@ .extern data_027e0cbc .extern data_027e0ce0 .extern data_027e0d04 -.extern data_027e0d0c .extern data_027e0d18 .extern data_027e0d28 .extern data_027e0d38 @@ -120,10 +127,7 @@ .extern data_027e0f80 .extern data_027e0f84 .extern data_027e0f8c -.extern data_027e0f94 -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0ffc .extern data_027e103c .extern data_027e1054 @@ -274,15 +278,7 @@ .extern func_01ff9b24 .extern func_01ff9b4c .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9ec0 .extern func_01ff9f3c -.extern func_01ffa0f4 .extern func_01ffa29c .extern func_01ffa2dc .extern func_01ffa34c @@ -473,11 +469,15 @@ .extern func_ov16_021200fc .extern func_ov16_02120130 .extern func_ov18_02169634 +.extern gActorManager .extern gAdventureFlags .extern gHeap .extern gItemManager .extern gMapManager .extern gOverlayManager +.extern gPlayerLink +.extern gPlayerPos +.extern gVec3p_ZERO .extern gpBuildDate .extern strcat .extern strcpy diff --git a/asm/main/main_02000000.s b/asm/main/main_02000000.s index 998e4a6f..27c7d142 100644 --- a/asm/main/main_02000000.s +++ b/asm/main/main_02000000.s @@ -7576,18 +7576,18 @@ func_02005dcc: ; 0x02005dcc mov r8, r3 str r2, [sp, #0x20] ldr r7, [sp, #0x40] - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0x18 add r2, sp, #0xc mov r0, r4 - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x18 add r1, sp, #0xc add r2, sp, #0 - bl func_01ff9c68 + bl Vec3p_Cross cmp r8, #0 beq _02005eac ldr r1, _02005f54 ; =0x04000440 @@ -7615,15 +7615,15 @@ func_02005dcc: ; 0x02005dcc _02005eac: add r1, sp, #0xc mov r0, r9 - bl func_01ff9c2c + bl Vec3p_Dot rsb r4, r0, #0 add r1, sp, #0 mov r0, r9 - bl func_01ff9c2c + bl Vec3p_Dot rsb r5, r0, #0 add r1, sp, #0x18 mov r0, r9 - bl func_01ff9c2c + bl Vec3p_Dot cmp r8, #0 strne r4, [r6] rsb r0, r0, #0 @@ -22561,7 +22561,7 @@ func_020104b8: ; 0x020104b8 add r2, r2, r2, lsr #31 mov r2, r2, asr #0x1 str r2, [r6, #0x30] - bl func_01ff9ec0 + bl Vec3p_Distance add r0, r0, r0, lsr #31 mov r0, r0, asr #0x1 str r0, [r6, #0x60] @@ -22579,7 +22579,7 @@ func_020104b8: ; 0x020104b8 ldr r2, [r5, #8] sub r2, r3, r2 str r2, [sp, #8] - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [sp] strh r0, [r6, #0x50] ldr r0, [sp, #4] @@ -22712,7 +22712,7 @@ func_02010714: ; 0x02010714 b _020107cc _02010740: ldrh r1, [r0] - ldr r3, _020107e4 ; =data_02050f54 + ldr r3, _020107e4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -22725,7 +22725,7 @@ _02010740: b _020107cc _02010770: ldrh r1, [r0] - ldr r3, _020107e4 ; =data_02050f54 + ldr r3, _020107e4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -22738,7 +22738,7 @@ _02010770: b _020107cc _020107a0: ldrh r1, [r0] - ldr r3, _020107e4 ; =data_02050f54 + ldr r3, _020107e4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -22756,7 +22756,7 @@ _020107cc: add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_020107e4: .word data_02050f54 +_020107e4: .word gSinCosTable arm_func_end func_02010714 .global func_020107e8 @@ -23147,7 +23147,7 @@ func_02010d64: ; 0x02010d64 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r4, r0, #1 - ldr r3, _02010e28 ; =data_02050f54 + ldr r3, _02010e28 ; =gSinCosTable mov r0, r0, lsl #0x1 mov r4, r4, lsl #0x1 ldrsh r0, [r3, r0] @@ -23193,7 +23193,7 @@ func_02010d64: ; 0x02010d64 str r0, [r1, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02010e28: .word data_02050f54 +_02010e28: .word gSinCosTable arm_func_end func_02010d64 .global func_02010e2c @@ -23371,7 +23371,7 @@ _02011094: add r1, r1, #0x10000 mov r2, r0, lsl #0x1 str r1, [sp, #4] - ldr r0, _02011d10 ; =data_02050f54 + ldr r0, _02011d10 ; =gSinCosTable mov r1, r2, lsl #0x1 ldrsh r1, [r0, r1] ldr r3, [r9, #0x5c] @@ -23536,7 +23536,7 @@ _02011304: add r0, sp, #0xc0 add r1, r8, #8 str r2, [sp, #0xc0] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 bgt _0201136c ldr r0, [r8, #8] @@ -23595,7 +23595,7 @@ _020113e8: add r0, sp, #0xb4 add r1, r8, #8 str r2, [sp, #0xb4] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 bge _02011450 ldr r0, [r8, #8] @@ -24054,7 +24054,7 @@ _020119d0: str r0, [sp, #0x38] add r0, sp, #0x30 add r1, sp, #0x3c - bl func_01ff9d4c + bl Vec3p_Normalize b _02011b54 _02011b20: ldr r0, [r8, #8] @@ -24070,7 +24070,7 @@ _02011b20: _02011b48: add r0, r8, #8 add r1, sp, #0x3c - bl func_01ff9d4c + bl Vec3p_Normalize _02011b54: ldr r0, [sp, #0x3c] ldr r3, [sp, #0xc] @@ -24184,7 +24184,7 @@ _02011d00: .word data_027e0370 _02011d04: .word 0x5eedf715 _02011d08: .word 0x1b0cb173 _02011d0c: .word 0x00000fff -_02011d10: .word data_02050f54 +_02011d10: .word gSinCosTable _02011d14: .word 0xaaaaaaab _02011d18: ldrh r0, [r7, #0x26] @@ -25734,7 +25734,7 @@ _02012e08: str r3, [sp, #0x38] bl func_01ff9158 ldrh r0, [r8, #0x20] - ldr r2, _020130fc ; =data_02050f54 + ldr r2, _020130fc ; =gSinCosTable mov r3, #0 mov r0, r0, asr #0x4 mov r8, r0, lsl #0x1 @@ -25812,7 +25812,7 @@ _02012f30: str r3, [sp, #0x38] bl func_01ff9158 ldrh r0, [r8, #0x20] - ldr r1, _020130fc ; =data_02050f54 + ldr r1, _020130fc ; =gSinCosTable mov lr, #0 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 @@ -25903,7 +25903,7 @@ _02013084: .align 2, 0 _020130f4: .word 0x040004a4 _020130f8: .word 0x00007fff -_020130fc: .word data_02050f54 +_020130fc: .word gSinCosTable _02013100: .word 0x04000454 _02013104: .word 0x04000480 arm_func_end func_02012c88 @@ -26027,7 +26027,7 @@ _02013270: str r3, [sp, #0x38] bl func_01ff9158 ldrh r0, [r6, #0x20] - ldr r2, _02013564 ; =data_02050f54 + ldr r2, _02013564 ; =gSinCosTable mov r3, #0 mov r0, r0, asr #0x4 mov r8, r0, lsl #0x1 @@ -26107,7 +26107,7 @@ _0201338c: str r3, [sp, #0x38] bl func_01ff9158 ldrh r0, [r6, #0x20] - ldr r1, _02013564 ; =data_02050f54 + ldr r1, _02013564 ; =gSinCosTable mov r3, #0 mov r0, r0, asr #0x4 mov r8, r0, lsl #0x1 @@ -26199,7 +26199,7 @@ _020134e8: .align 2, 0 _0201355c: .word 0x040004a4 _02013560: .word 0x00007fff -_02013564: .word data_02050f54 +_02013564: .word gSinCosTable _02013568: .word 0x04000454 _0201356c: .word 0x04000480 arm_func_end func_02013108 @@ -26335,7 +26335,7 @@ _020136d8: beq _02013760 add r1, sp, #0x60 add r0, r6, #0x14 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 _02013760: cmp r0, #0 @@ -26353,7 +26353,7 @@ _02013770: beq _020137a0 add r1, sp, #0x60 add r0, r6, #8 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 _020137a0: cmp r0, #0 @@ -26378,7 +26378,7 @@ _020137d0: ldr r3, [r8, #0x20] mov r2, r0 str r3, [sp, #0x5c] - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [sp, #0x60] cmp r0, #0 ldreq r0, [sp, #0x64] @@ -26389,7 +26389,7 @@ _020137d0: ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} add r0, sp, #0x60 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0x30 mov r0, r8 bl func_020079d8 @@ -26407,7 +26407,7 @@ _020137d0: stmia r3, {r0, r1, r2} mov r0, r3 mov r1, r3 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [r8, #0x20] ldr r1, [sp, #0x80] rsb r0, r0, #0 @@ -26536,7 +26536,7 @@ _020139d4: ldr r3, [r8, #0x20] mov r2, r9 str r3, [sp, #0x5c] - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [sp, #0x60] cmp r0, #0 ldreq r0, [sp, #0x64] @@ -26547,7 +26547,7 @@ _020139d4: ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} add r0, sp, #0x60 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0x30 mov r0, r8 bl func_020079d8 @@ -26565,7 +26565,7 @@ _020139d4: stmia r3, {r0, r1, r2} mov r0, r3 mov r1, r3 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [r8, #0x20] ldr r1, [sp, #0x80] rsb r0, r0, #0 @@ -26835,7 +26835,7 @@ _02013e5c: beq _02013ee8 add r1, sp, #0x60 add r0, r6, #0x14 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 _02013ee8: cmp r0, #0 @@ -26853,7 +26853,7 @@ _02013ef8: beq _02013f28 add r1, sp, #0x60 add r0, r6, #8 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 _02013f28: cmp r0, #0 @@ -26878,7 +26878,7 @@ _02013f58: ldr r3, [r8, #0x20] mov r2, r0 str r3, [sp, #0x5c] - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [sp, #0x60] cmp r0, #0 ldreq r0, [sp, #0x64] @@ -26889,7 +26889,7 @@ _02013f58: ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} add r0, sp, #0x60 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0x30 mov r0, r8 bl func_020079d8 @@ -26907,7 +26907,7 @@ _02013f58: stmia r3, {r0, r1, r2} mov r0, r3 mov r1, r3 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [r8, #0x20] ldr r1, [sp, #0x80] rsb r0, r0, #0 @@ -27036,7 +27036,7 @@ _0201415c: ldr r3, [r8, #0x20] mov r2, r9 str r3, [sp, #0x5c] - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [sp, #0x60] cmp r0, #0 ldreq r0, [sp, #0x64] @@ -27047,7 +27047,7 @@ _0201415c: ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} add r0, sp, #0x60 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0x30 mov r0, r8 bl func_020079d8 @@ -27065,7 +27065,7 @@ _0201415c: stmia r3, {r0, r1, r2} mov r0, r3 mov r1, r3 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [r8, #0x20] ldr r1, [sp, #0x80] rsb r0, r0, #0 @@ -27233,7 +27233,7 @@ func_02014474: ; 0x02014474 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldrh r2, [r5, #0x20] ldrsh r0, [r5, #0x22] - ldr r1, _020147dc ; =data_02050f54 + ldr r1, _020147dc ; =gSinCosTable mov r2, r2, asr #0x4 str r0, [sp, #0x30] ldr r0, [r6, #0x40] @@ -27431,7 +27431,7 @@ _02014748: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020147d8: .word 0x040004a4 -_020147dc: .word data_02050f54 +_020147dc: .word gSinCosTable _020147e0: .word data_020572f0 _020147e4: .word 0x00007fff _020147e8: .word 0x04000454 @@ -27471,7 +27471,7 @@ func_020147f4: ; 0x020147f4 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldrh r2, [r5, #0x20] ldrsh r0, [r5, #0x22] - ldr r1, _02014b5c ; =data_02050f54 + ldr r1, _02014b5c ; =gSinCosTable mov r2, r2, asr #0x4 str r0, [sp, #0x30] ldr r0, [r6, #0x40] @@ -27669,7 +27669,7 @@ _02014ac8: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02014b58: .word 0x040004a4 -_02014b5c: .word data_02050f54 +_02014b5c: .word gSinCosTable _02014b60: .word data_020572f0 _02014b64: .word 0x00007fff _02014b68: .word 0x04000454 @@ -27710,7 +27710,7 @@ func_02014b74: ; 0x02014b74 ldr r0, [r6, #0x40] ldrh r2, [r5, #0x20] ldr r0, [r0, #0x20] - ldr r1, _02015058 ; =data_02050f54 + ldr r1, _02015058 ; =gSinCosTable ldr r0, [r0] mov r2, r2, asr #0x4 mov r3, r2, lsl #0x1 @@ -27744,7 +27744,7 @@ func_02014b74: ; 0x02014b74 beq _02014c7c add r1, sp, #0x54 add r0, r5, #0x14 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 _02014c7c: cmp r0, #0 @@ -27762,7 +27762,7 @@ _02014c8c: beq _02014cbc add r1, sp, #0x54 add r0, r5, #8 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 _02014cbc: cmp r0, #0 @@ -27785,7 +27785,7 @@ _02014cec: str r3, [sp, #0x30] str r2, [sp, #0x34] str r3, [sp, #0x38] - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, _02015060 ; =0x00000ccd cmp r0, r1 bgt _02014d24 @@ -27802,11 +27802,11 @@ _02014d38: add r0, sp, #0x54 add r1, sp, #0x30 add r2, sp, #0x48 - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0x54 add r1, sp, #0x48 add r2, sp, #0x3c - bl func_01ff9c68 + bl Vec3p_Cross ldr r1, [sp, #0x48] ldr r2, [sp, #0x4c] ldr r7, [sp, #0x50] @@ -28008,7 +28008,7 @@ _02014fc4: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02015054: .word 0x040004a4 -_02015058: .word data_02050f54 +_02015058: .word gSinCosTable _0201505c: .word data_020572f0 _02015060: .word 0x00000ccd _02015064: .word 0x00007fff @@ -28050,7 +28050,7 @@ func_02015074: ; 0x02015074 ldr r0, [r6, #0x40] ldrh r2, [r5, #0x20] ldr r0, [r0, #0x20] - ldr r1, _0201555c ; =data_02050f54 + ldr r1, _0201555c ; =gSinCosTable ldr r0, [r0, #0x14] mov r2, r2, asr #0x4 ldrh r0, [r0] @@ -28085,7 +28085,7 @@ func_02015074: ; 0x02015074 beq _02015180 add r1, sp, #0x54 add r0, r5, #0x14 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 _02015180: cmp r0, #0 @@ -28103,7 +28103,7 @@ _02015190: beq _020151c0 add r1, sp, #0x54 add r0, r5, #8 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #1 _020151c0: cmp r0, #0 @@ -28126,7 +28126,7 @@ _020151f0: str r3, [sp, #0x30] str r2, [sp, #0x34] str r3, [sp, #0x38] - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, _02015564 ; =0x00000ccd cmp r0, r1 bgt _02015228 @@ -28143,11 +28143,11 @@ _0201523c: add r0, sp, #0x54 add r1, sp, #0x30 add r2, sp, #0x48 - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0x54 add r1, sp, #0x48 add r2, sp, #0x3c - bl func_01ff9c68 + bl Vec3p_Cross ldr r1, [sp, #0x48] ldr r2, [sp, #0x4c] ldr r7, [sp, #0x50] @@ -28349,7 +28349,7 @@ _020154c8: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02015558: .word 0x040004a4 -_0201555c: .word data_02050f54 +_0201555c: .word gSinCosTable _02015560: .word data_020572f0 _02015564: .word 0x00000ccd _02015568: .word 0x00007fff @@ -28366,7 +28366,7 @@ func_02015578: ; 0x02015578 ldr r2, _02015614 ; =0x5eedf715 ldr r4, [ip] ldr r3, _02015618 ; =0x1b0cb173 - ldr r1, _0201561c ; =data_02050f54 + ldr r1, _0201561c ; =gSinCosTable mla r5, r4, r2, r3 mla r2, r5, r2, r3 mov r3, r5, lsr #0x10 @@ -28403,7 +28403,7 @@ func_02015578: ; 0x02015578 _02015610: .word data_027e0370 _02015614: .word 0x5eedf715 _02015618: .word 0x1b0cb173 -_0201561c: .word data_02050f54 +_0201561c: .word gSinCosTable arm_func_end func_02015578 .global func_02015620 @@ -28414,7 +28414,7 @@ func_02015620: ; 0x02015620 ldr r1, _02015680 ; =0x5eedf715 ldr ip, [r3] ldr r2, _02015684 ; =0x1b0cb173 - ldr lr, _02015688 ; =data_02050f54 + ldr lr, _02015688 ; =gSinCosTable mla r4, ip, r1, r2 mov r1, r4, lsr #0x10 mov r1, r1, lsl #0x10 @@ -28436,7 +28436,7 @@ func_02015620: ; 0x02015620 _0201567c: .word data_027e0370 _02015680: .word 0x5eedf715 _02015684: .word 0x1b0cb173 -_02015688: .word data_02050f54 +_02015688: .word gSinCosTable arm_func_end func_02015620 .global func_0201568c @@ -32623,7 +32623,7 @@ _02018118: add r0, r10, #0x28 add r1, r10, #0x34 add r2, r10, #0x40 - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [r10, #0x28] cmp r0, #0 ldreq r0, [r10, #0x2c] @@ -32639,7 +32639,7 @@ _02018118: _02018168: add r0, r10, #0x28 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize _02018174: ldr r0, [r10, #0x40] cmp r0, #0 @@ -32656,12 +32656,12 @@ _02018174: _020181a4: add r0, r10, #0x40 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize _020181b0: add r0, r10, #0x40 add r1, r10, #0x28 add r2, r10, #0x34 - bl func_01ff9c68 + bl Vec3p_Cross mov r0, #1 add sp, sp, #0x70 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -35001,13 +35001,13 @@ _02019d8c: str r3, [r5] str r2, [r5, #4] str r1, [r5, #8] - bl func_01ff9cec + bl Vec3p_Length str r0, [r6] add r0, sp, #0x98 - bl func_01ff9cec + bl Vec3p_Length str r0, [r6, #4] add r0, sp, #0xa8 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02019f00 ; =data_027e037c str r0, [r6, #8] ldr r0, [r1, #0xfc] @@ -35214,13 +35214,13 @@ _0201a098: str r3, [r11] str r2, [r11, #4] str r1, [r11, #8] - bl func_01ff9cec + bl Vec3p_Length str r0, [r6] add r0, sp, #0x98 - bl func_01ff9cec + bl Vec3p_Length str r0, [r6, #4] add r0, sp, #0xa8 - bl func_01ff9cec + bl Vec3p_Length ldr r1, [sp, #0x9c] str r0, [r6, #8] cmp r1, #0 @@ -35229,7 +35229,7 @@ _0201a098: beq _0201a10c add r0, sp, #0x98 add r1, r7, #0xc - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [r7, #0x14] ldr r0, [r7, #0x10] rsb r1, r1, #0 @@ -35239,7 +35239,7 @@ _0201a098: _0201a10c: add r0, sp, #0xa8 add r1, r7, #0x18 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [r7, #0x1c] ldr r0, [r7, #0x20] rsb r1, r1, #0 @@ -38048,10 +38048,10 @@ _0201c728: mov r0, r5 mov r1, r5 str r2, [r5, #0x14] - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r5, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize cmp r10, #0 bne _0201c87c ldr r0, [r5, #0x18] @@ -38071,7 +38071,7 @@ _0201c728: add r0, r5, #0x18 mov r1, r0 str r2, [r5, #0x20] - bl func_01ff9d4c + bl Vec3p_Normalize add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _0201c87c: @@ -38145,10 +38145,10 @@ _0201c8e8: ldr r2, [sp, #0x14] add r2, r3, r2 str r2, [r5, #0x14] - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r5, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize cmp r8, #0 bne _0201c9e4 ldr r2, [r5, #0x18] @@ -38165,7 +38165,7 @@ _0201c8e8: ldr r2, [sp, #0x20] add r2, r3, r2 str r2, [r5, #0x20] - bl func_01ff9d4c + bl Vec3p_Normalize add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _0201c9e4: @@ -38386,10 +38386,10 @@ _0201cc28: mov r0, r10 mov r1, r10 str r2, [r10, #0x14] - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r10, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize cmp r5, #0 bne _0201cd90 ldr r2, [sp, #0x3c] @@ -38415,7 +38415,7 @@ _0201cc28: add r0, r10, #0x18 mov r1, r0 str r2, [r10, #0x20] - bl func_01ff9d4c + bl Vec3p_Normalize add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0201cd90: @@ -57208,7 +57208,7 @@ func_0202aeb0: ; 0x0202aeb0 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 - ldr r2, _0202af48 ; =data_02050f54 + ldr r2, _0202af48 ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r0, [r2, r0] ldmib r1, {r6, ip} @@ -57241,7 +57241,7 @@ func_0202aeb0: ; 0x0202aeb0 str r0, [r1, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0202af48: .word data_02050f54 +_0202af48: .word gSinCosTable arm_func_end func_0202aeb0 .global func_0202af4c @@ -57253,7 +57253,7 @@ func_0202af4c: ; 0x0202af4c mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 - ldr r2, _0202afec ; =data_02050f54 + ldr r2, _0202afec ; =gSinCosTable mov r4, r3, lsl #0x1 mov r0, r0, lsl #0x1 ldr r3, [r1] @@ -57288,7 +57288,7 @@ func_0202af4c: ; 0x0202af4c str r0, [r1, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0202afec: .word data_02050f54 +_0202afec: .word gSinCosTable arm_func_end func_0202af4c .global func_0202aff0 @@ -57329,7 +57329,7 @@ func_0202b03c: ; 0x0202b03c mov r4, #0 ble _0202b0e8 ldr r1, [sp, #0x28] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r6 bgt _0202b0e8 cmp r5, #0x168000 @@ -57338,10 +57338,10 @@ func_0202b03c: ; 0x0202b03c ldr r0, [sp, #0x28] add r2, sp, #0 mov r1, r8 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 sub r0, r7, r0, asr #16 mov r0, r0, lsl #0x10 @@ -57462,7 +57462,7 @@ func_0202b1d4: ; 0x0202b1d4 mov r4, r3 mov r0, r6 mov r1, r7 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r4, #0 movne r0, #0 strne r0, [sp, #4] @@ -57477,7 +57477,7 @@ func_0202b1d4: ; 0x0202b1d4 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} add r0, sp, #0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r2, [sp] ldr r1, [sp, #4] smull ip, r3, r2, r5 @@ -57720,9 +57720,9 @@ _0202b54c: add r2, sp, #4 mov r0, r6 mov r1, r7 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #4 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 cmp r1, #0 addle sp, sp, #0x10 @@ -57803,7 +57803,7 @@ func_0202b66c: ; 0x0202b66c mov r3, r3, asr #0x4 mov r6, r3, lsl #0x1 add r4, r6, #1 - ldr r3, _0202b730 ; =data_02050f54 + ldr r3, _0202b730 ; =gSinCosTable mov r4, r4, lsl #0x1 ldrsh r5, [r3, r4] ldrh ip, [sp, #0x18] @@ -57847,7 +57847,7 @@ func_0202b66c: ; 0x0202b66c str r0, [r1, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0202b730: .word data_02050f54 +_0202b730: .word gSinCosTable arm_func_end func_0202b66c .global func_0202b734 @@ -57888,13 +57888,13 @@ func_0202b734: ; 0x0202b734 bl func_01ff9ac4 mov r0, r5 mov r1, r7 - bl func_01ffa0f4 + bl Atan2 ldr r1, [sp, #0x20] strh r0, [r1] bl func_01ff9af8 mov r1, r0 mov r0, r6 - bl func_01ffa0f4 + bl Atan2 strh r0, [r9] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} arm_func_end func_0202b734 @@ -57936,9 +57936,9 @@ func_0202b7e4: ; 0x0202b7e4 ldmia sp!, {r3, pc} arm_func_end func_0202b7e4 - .global func_0202b864 - arm_func_start func_0202b864 -func_0202b864: ; 0x0202b864 + .global _ZN12TouchControl13func_0202b864EP5Vec3pic + arm_func_start _ZN12TouchControl13func_0202b864EP5Vec3pic +_ZN12TouchControl13func_0202b864EP5Vec3pic: ; 0x0202b864 stmdb sp!, {r3, lr} ldr r3, _0202b890 ; =data_027e0d78 ldrh ip, [r3, #0x34] @@ -57952,11 +57952,11 @@ func_0202b864: ; 0x0202b864 ldmia sp!, {r3, pc} .align 2, 0 _0202b890: .word data_027e0d78 - arm_func_end func_0202b864 + arm_func_end _ZN12TouchControl13func_0202b864EP5Vec3pic - .global func_0202b894 - arm_func_start func_0202b894 -func_0202b894: ; 0x0202b894 + .global _ZN12TouchControl13func_0202b894EP5Vec3pic + arm_func_start _ZN12TouchControl13func_0202b894EP5Vec3pic +_ZN12TouchControl13func_0202b894EP5Vec3pic: ; 0x0202b894 stmdb sp!, {r3, lr} ldr r3, _0202b8e0 ; =data_027e0d78 ldrb ip, [r3, #0xc] @@ -57979,17 +57979,17 @@ _0202b8bc: ldmia sp!, {r3, pc} .align 2, 0 _0202b8e0: .word data_027e0d78 - arm_func_end func_0202b894 + arm_func_end _ZN12TouchControl13func_0202b894EP5Vec3pic .global func_0202b8e4 arm_func_start func_0202b8e4 func_0202b8e4: ; 0x0202b8e4 - ldr ip, _0202b8f4 ; =func_0202b894 + ldr ip, _0202b8f4 ; =_ZN12TouchControl13func_0202b894EP5Vec3pic mov r2, r1 ldr r1, [r0, #0xc] bx ip .align 2, 0 -_0202b8f4: .word func_0202b894 +_0202b8f4: .word _ZN12TouchControl13func_0202b894EP5Vec3pic arm_func_end func_0202b8e4 .global func_0202b8f8 @@ -58047,11 +58047,11 @@ func_0202b8f8: ; 0x0202b8f8 mov r0, r9 add r1, sp, #0x50 add r2, sp, #0x38 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r9 add r1, sp, #0x44 add r2, sp, #0x2c - bl func_01ff9bc4 + bl Vec3p_Add mvn r0, #0 ldr r1, [sp, #0x38] str r0, [sp, #0x10] @@ -58359,7 +58359,7 @@ _0202bd0c: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0202bf30 ; =data_02050f54 + ldr r2, _0202bf30 ; =gSinCosTable mov r3, r1, lsl #0x1 mov r1, r0, lsl #0x1 ldrsh r0, [r2, r3] @@ -58475,7 +58475,7 @@ _0202bf20: .word data_027e0d44 _0202bf24: .word 0x040004ac _0202bf28: .word 0x04000444 _0202bf2c: .word data_027e0f64 -_0202bf30: .word data_02050f54 +_0202bf30: .word gSinCosTable _0202bf34: .word 0x0400046c _0202bf38: .word data_020561dc _0202bf3c: .word 0x04000500 @@ -58528,7 +58528,7 @@ func_0202bfc0: ; 0x0202bfc0 mov r0, #0x4000 cmp r1, #0 ldmleia sp!, {r4, pc} - ldr r0, _0202c09c ; =data_027e0d0c + ldr r0, _0202c09c ; =gVec3p_ZERO ldr r1, [r4] ldr r2, [r0, #8] ldr r0, [r0] @@ -58547,7 +58547,7 @@ func_0202bfc0: ; 0x0202bfc0 orr r1, r1, r0, lsl #20 add r0, r3, r1 bl func_01ff9958 - ldr r1, _0202c09c ; =data_027e0d0c + ldr r1, _0202c09c ; =gVec3p_ZERO ldr r3, [r4, #4] ldr r2, [r1, #4] mov r1, r0 @@ -58578,7 +58578,7 @@ func_0202bfc0: ; 0x0202bfc0 movlt r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_0202c09c: .word data_027e0d0c +_0202c09c: .word gVec3p_ZERO _0202c0a0: .word 0x60db9391 _0202c0a4: .word 0x000028be arm_func_end func_0202bfc0 @@ -61264,7 +61264,7 @@ func_0202d95c: ; 0x0202d95c cmpeq r0, #0 bne _0202da20 ldr r3, _0202da84 ; =data_027e0764 - ldr lr, _0202da88 ; =data_02050f54 + ldr lr, _0202da88 ; =gSinCosTable ldr r1, [r3] ldmib r3, {r0, r2} umull ip, r6, r2, r1 @@ -61305,7 +61305,7 @@ func_0202d95c: ; 0x0202d95c _0202da20: mov r0, r5 mov r1, r5 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [r5] smull r2, r1, r0, r4 adds r2, r2, #0x800 @@ -61330,7 +61330,7 @@ _0202da20: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0202da84: .word data_027e0764 -_0202da88: .word data_02050f54 +_0202da88: .word gSinCosTable arm_func_end func_0202d95c .global func_0202da8c @@ -61340,7 +61340,7 @@ func_0202da8c: ; 0x0202da8c mov r5, r0 mov r6, r1 mov r4, r2 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 cmp r1, r6 ble _0202db10 @@ -61388,7 +61388,7 @@ func_0202db30: ; 0x0202db30 mov r7, r1 mov r6, r2 mov r4, r3 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 cmp r1, r6 ble _0202dbb4 @@ -63029,7 +63029,7 @@ _0202edb8: mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 mov r2, r1, asr #0x4 - ldr r1, _0202eeac ; =data_02050f54 + ldr r1, _0202eeac ; =gSinCosTable mov r2, r2, lsl #0x2 ldrsh r2, [r1, r2] mov r1, #0xc0 @@ -63086,7 +63086,7 @@ _0202ee7c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0202eea8: .word 0x00000222 -_0202eeac: .word data_02050f54 +_0202eeac: .word gSinCosTable _0202eeb0: .word data_027e0d3c _0202eeb4: .word data_027e0c38 _0202eeb8: .word 0x2aaaaaab @@ -67791,7 +67791,7 @@ func_02031ad8: ; 0x02031ad8 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02031bc8 ; =data_02050f54 + ldr r2, _02031bc8 ; =gSinCosTable mov r0, r0, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r0, [r2, r0] @@ -67816,7 +67816,7 @@ _02031ba8: add sp, sp, #0x10 bx lr .align 2, 0 -_02031bc8: .word data_02050f54 +_02031bc8: .word gSinCosTable arm_func_end func_02031ad8 .global func_02031bcc @@ -74923,13 +74923,13 @@ _02036b24: cmp r3, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} - ldr r0, _02036bac ; =data_027e0fe4 + ldr r0, _02036bac ; =gActorManager ldr r2, _02036bb0 ; =data_0205691c ldr r1, [r0] ldr r2, [r2, r3, lsl #2] add r0, sp, #4 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02036bac ; =data_027e0fe4 + ldr r0, _02036bac ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -74952,7 +74952,7 @@ _02036b24: _02036ba0: .word data_027e0c54 _02036ba4: .word data_027e077c _02036ba8: .word data_02056be4 -_02036bac: .word data_027e0fe4 +_02036bac: .word gActorManager _02036bb0: .word data_0205691c _02036bb4: .word data_02056918 _02036bb8: .word data_027e0ffc @@ -75932,7 +75932,7 @@ func_02037628: ; 0x02037628 streq r2, [r0, #4] streq r2, [r0, #8] beq _0203767c - ldr r1, _020376b4 ; =data_027e0f94 + ldr r1, _020376b4 ; =gPlayerPos ldr r2, [r1] str r2, [r0] ldr r2, [r1, #4] @@ -75956,7 +75956,7 @@ _020376a8: bx lr .align 2, 0 _020376b0: .word data_027e0d38 -_020376b4: .word data_027e0f94 +_020376b4: .word gPlayerPos _020376b8: .word data_027e077c _020376bc: .word data_02056be4 arm_func_end func_02037628 @@ -76484,7 +76484,7 @@ _02037d64: mov r0, r0, asr #0x18 ldmia sp!, {r4, r5, r6, pc} _02037d90: - ldr r0, _02037f54 ; =data_027e0fe4 + ldr r0, _02037f54 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -76605,7 +76605,7 @@ _02037f44: .word data_027e0764 _02037f48: .word gAdventureFlags _02037f4c: .word data_027e0cb4 _02037f50: .word gItemManager -_02037f54: .word data_027e0fe4 +_02037f54: .word gActorManager arm_func_end func_02037b88 .global func_02037f58 @@ -76771,7 +76771,7 @@ _0203816c: ldrsh r0, [r5, #0x1e] cmp r0, #0 bne _020381b0 - ldr r0, _0203857c ; =data_027e0fc8 + ldr r0, _0203857c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bce48 cmp r0, #0 @@ -76781,7 +76781,7 @@ _0203816c: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _020381b0: - ldr r0, _0203857c ; =data_027e0fc8 + ldr r0, _0203857c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcec8 cmp r0, #0 @@ -77053,7 +77053,7 @@ _02038568: .align 2, 0 _02038574: .word data_027e103c _02038578: .word gAdventureFlags -_0203857c: .word data_027e0fc8 +_0203857c: .word gPlayerLink _02038580: .word 0x00007fff _02038584: .word data_027e0cb4 _02038588: .word data_ov12_02137c64 @@ -77190,7 +77190,7 @@ func_020386d8: ; 0x020386d8 mov r4, r0 bl func_02037750 ldr r0, _02038710 ; =data_02057d3c - ldr r1, _02038714 ; =data_027e0d0c + ldr r1, _02038714 ; =gVec3p_ZERO str r0, [r4] mvn r2, #0 add r0, r4, #0x24 @@ -77200,7 +77200,7 @@ func_020386d8: ; 0x020386d8 ldmia sp!, {r4, pc} .align 2, 0 _02038710: .word data_02057d3c -_02038714: .word data_027e0d0c +_02038714: .word gVec3p_ZERO arm_func_end func_020386d8 .global func_02038718 @@ -77212,7 +77212,7 @@ func_02038718: ; 0x02038718 mov r4, r0 bl func_02037750 ldr r0, _02038750 ; =data_02057d3c - ldr r1, _02038754 ; =data_027e0d0c + ldr r1, _02038754 ; =gVec3p_ZERO str r0, [r4] mvn r2, #0 add r0, r4, #0x24 @@ -77222,7 +77222,7 @@ func_02038718: ; 0x02038718 ldmia sp!, {r4, pc} .align 2, 0 _02038750: .word data_02057d3c -_02038754: .word data_027e0d0c +_02038754: .word gVec3p_ZERO arm_func_end func_02038718 .global func_02038758 @@ -85544,8 +85544,8 @@ _02050f50: .word data_02075ebc arm_func_end func_02050f40 .rodata - .global data_02050f54 -data_02050f54: ; 0x02050f54 + .global gSinCosTable +gSinCosTable: ; 0x02050f54 .byte 0x00, 0x00 .global data_02050f56 data_02050f56: ; 0x02050f56 diff --git a/asm/main/main_0203e8a0.s b/asm/main/main_0203e8a0.s index e90e9770..224d807b 100644 --- a/asm/main/main_0203e8a0.s +++ b/asm/main/main_0203e8a0.s @@ -8710,13 +8710,13 @@ func_02042f68: ; 0x02042f68 bx lr arm_func_end func_02042f68 - .global func_02042f74 - arm_func_start func_02042f74 -func_02042f74: ; 0x02042f74 + .global abs + arm_func_start abs +abs: ; 0x02042f74 cmp r0, #0 rsblt r0, r0, #0 bx lr - arm_func_end func_02042f74 + arm_func_end abs .global func_02042f80 arm_func_start func_02042f80 diff --git a/asm/ov00/Actor/Actor.inc b/asm/ov00/Actor/Actor.inc index be979665..894bb543 100644 --- a/asm/ov00/Actor/Actor.inc +++ b/asm/ov00/Actor/Actor.inc @@ -1,76 +1,75 @@ #pragma once +.extern Atan2 +.extern Vec3p_Add +.extern Vec3p_Distance +.extern Vec3p_Length +.extern Vec3p_Sub +.extern _ZN10EquipSword12GetEquipRopeEv .extern _ZN10MapManager18func_ov00_02083570Eii -.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i .extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN10MapManager18func_ov00_02084c5cEii +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder +.extern _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi .extern _ZN10PlayerBase18EquipItem_vfunc_2cEv -.extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j -.extern _ZN12ActorManager18func_ov00_020c398cEv -.extern _ZN12ActorManager18func_ov00_020c399cEv -.extern _ZN12ActorManager18func_ov00_020c39acEjPjb +.extern _ZN12ActorManager18func_ov00_020c398cEj +.extern _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder +.extern _ZN12ActorManager18func_ov00_020c39acEjPKjb .extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN12TouchControl13func_0202b864EP5Vec3pic +.extern _ZN12TouchControl13func_0202b894EP5Vec3pic .extern _ZN13PlayerControl13StopFollowingEv .extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN14EquipBoomerang8GetActorEv +.extern _ZN14PlayerLinkBase14GetGrabActorIdEv +.extern _ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv +.extern _ZN14PlayerLinkBase20GongoronCollidesWithEP8Cylinder +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii +.extern _ZN5Actor13func_01fffd04Ei +.extern _ZN8Cylinder8OverlapsEPS_ +.extern _ZN9EquipRope18func_ov14_0213d420Ev +.extern _ZN9EquipRope18func_ov14_0213d440Ei +.extern _ZN9EquipRope18func_ov14_0213d480Ei +.extern _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p +.extern _ZN9EquipRope18func_ov14_0213d91cEi +.extern _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder +.extern _ZN9EquipRope18func_ov14_0213ddd4EP5Actor +.extern _ZN9EquipRope18func_ov14_0213defcEP5Actor .extern _ZN9SysObjectdlEPv .extern _ZNK11ItemManager19GetActiveFairyLevelEi -.extern data_02050f54 +.extern abs .extern data_02056be4 .extern data_02063e4c .extern data_027e077c .extern data_027e0c54 -.extern data_027e0d0c .extern data_027e0d3c -.extern gMapManager -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 -.extern data_027e0fe4 .extern data_027e103c .extern data_ov00_020e9c88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffbe34 -.extern func_01ffec34 -.extern func_01fffcec -.extern func_01fffd04 -.extern func_0202b864 -.extern func_0202b894 .extern func_0202d95c .extern func_020313c8 -.extern func_02042f74 .extern func_ov00_02079470 -.extern func_ov00_0207a188 .extern func_ov00_0207a1c8 .extern func_ov00_0207b89c .extern func_ov00_02087ef0 -.extern func_ov00_020bc46c -.extern func_ov00_020bc7f8 -.extern func_ov00_020bc854 -.extern func_ov00_020bcc2c -.extern func_ov00_020bd304 -.extern func_ov00_020bff70 -.extern func_ov00_020c1500 +.extern _ZN14PlayerLinkBase18func_ov00_020bd304Ev .extern func_ov00_020c5924 .extern func_ov00_020c8398 .extern func_ov05_02103f4c -.extern func_ov14_0213d15c -.extern func_ov14_0213d420 -.extern func_ov14_0213d440 -.extern func_ov14_0213d480 -.extern func_ov14_0213d81c -.extern func_ov14_0213d91c -.extern func_ov14_0213dadc -.extern func_ov14_0213ddd4 -.extern func_ov14_0213defc +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable +.extern gVec3p_ZERO diff --git a/asm/ov00/Actor/Actor.s b/asm/ov00/Actor/Actor.s index dc835a5a..aaa4a694 100644 --- a/asm/ov00/Actor/Actor.s +++ b/asm/ov00/Actor/Actor.s @@ -3,6 +3,34 @@ .text + .global _ZN19Actor_UnkStruct_020C1Ev + arm_func_start _ZN19Actor_UnkStruct_020C1Ev +_ZN19Actor_UnkStruct_020C1Ev: ; 0x020c1500 + mvn r2, #0 + mov r3, #0 + strb r2, [r0, #0xc] + strb r3, [r0, #0xd] + mov r1, #1 + strb r1, [r0, #0xe] + str r2, [r0, #0x10] + mov ip, r3 +_020c1520: + mov r1, r3, lsl #0x1 + add r3, r3, #1 + strh ip, [r0, r1] + cmp r3, #4 + blt _020c1520 + mov r1, #0 +_020c1538: + add r2, r0, ip + strb r1, [r2, #8] + add ip, ip, #1 + strb r1, [r2, #0xa] + cmp ip, #2 + blt _020c1538 + bx lr + arm_func_end _ZN19Actor_UnkStruct_020C1Ev + .global _ZN5ActorC2Ev arm_func_start _ZN5ActorC2Ev _ZN5ActorC2Ev: ; 0x020c1554 @@ -21,7 +49,7 @@ _ZN5ActorC2Ev: ; 0x020c1554 strb r1, [r4, #0x11] add r0, r4, #0x20 strh r1, [r4, #0x12] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r3, #0 str r3, [r4, #0x34] str r3, [r4, #0x38] @@ -55,7 +83,7 @@ _ZN5ActorC2Ev: ; 0x020c1554 str r2, [sp] add r0, r4, #0xa4 mov r3, r1 - blx func_ov00_0207a188 + bl _ZN19Actor_UnkStruct_0a4C1Eiiii ldr r0, _020c1714 ; =0x0000ffff mov lr, #0 strh r0, [r4, #0xdc] @@ -247,9 +275,9 @@ _ZN5Actor8vfunc_18Ej: ; 0x020c17bc _020c17d0: .word func_ov00_0207a1c8 arm_func_end _ZN5Actor8vfunc_18Ej - .global _ZN5Actor8vfunc_1cEt - arm_func_start _ZN5Actor8vfunc_1cEt -_ZN5Actor8vfunc_1cEt: ; 0x020c17d4 + .global _ZN5Actor8vfunc_1cEPt + arm_func_start _ZN5Actor8vfunc_1cEPt +_ZN5Actor8vfunc_1cEPt: ; 0x020c17d4 stmdb sp!, {r4, lr} sub sp, sp, #0x38 mov ip, r0 @@ -300,7 +328,7 @@ _020c181c: _020c1888: .word 0x0000ffff _020c188c: .word data_027e0d3c _020c1890: .word data_02063e4c - arm_func_end _ZN5Actor8vfunc_1cEt + arm_func_end _ZN5Actor8vfunc_1cEPt .global _ZN5Actor8vfunc_20Ei arm_func_start _ZN5Actor8vfunc_20Ei @@ -465,14 +493,14 @@ _ZN5Actor18func_ov00_020c195cEv: ; 0x020c195c cmp r1, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} - ldr r2, _020c1988 ; =data_027e0fc8 + ldr r2, _020c1988 ; =gPlayerLink add r1, r0, #0x48 ldr r0, [r2] - bl func_ov00_020bc854 + bl _ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_020c1988: .word data_027e0fc8 +_020c1988: .word gPlayerLink arm_func_end _ZN5Actor18func_ov00_020c195cEv .global _ZN5Actor18func_ov00_020c198cEv @@ -497,7 +525,7 @@ _ZN5Actor18func_ov00_020c198cEv: ; 0x020c198c bl func_ov05_02103f4c cmp r0, #0 bne _020c19ec - ldr r0, _020c1a28 ; =data_027e0f90 + ldr r0, _020c1a28 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -506,11 +534,11 @@ _020c19ec: mov r0, #0 ldmia sp!, {r3, pc} _020c19f4: - ldr r0, _020c1a2c ; =data_027e0fc8 + ldr r0, _020c1a2c ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _020c1a14 - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} @@ -521,13 +549,13 @@ _020c1a14: _020c1a1c: .word data_027e077c _020c1a20: .word data_02056be4 _020c1a24: .word data_027e103c -_020c1a28: .word data_027e0f90 -_020c1a2c: .word data_027e0fc8 +_020c1a28: .word gPlayer +_020c1a2c: .word gPlayerLink arm_func_end _ZN5Actor18func_ov00_020c198cEv - .global _ZN20KillPickupItemActors6FilterEP5Actor - arm_func_start _ZN20KillPickupItemActors6FilterEP5Actor -_ZN20KillPickupItemActors6FilterEP5Actor: ; 0x020c1a30 + .global _ZN17KillPickupsFilter6FilterEP5Actor + arm_func_start _ZN17KillPickupsFilter6FilterEP5Actor +_ZN17KillPickupsFilter6FilterEP5Actor: ; 0x020c1a30 stmdb sp!, {r3, lr} ldr ip, [r1, #4] ldr r3, _020c1af8 ; =0x464c414c @@ -595,7 +623,7 @@ _020c1b08: .word 0x424f4d42 _020c1b0c: .word 0x464c544d _020c1b10: .word 0x48415254 _020c1b14: .word 0x52555059 - arm_func_end _ZN20KillPickupItemActors6FilterEP5Actor + arm_func_end _ZN17KillPickupsFilter6FilterEP5Actor .global _ZN5Actor20KillPickupItemActorsEv arm_func_start _ZN5Actor20KillPickupItemActorsEv @@ -611,18 +639,18 @@ _020c1b2c: add r2, r2, #8 cmp r2, r0 blo _020c1b2c - ldr r0, _020c1b64 ; =data_027e0fe4 - ldr r3, _020c1b68 ; =_ZTV20KillPickupItemActors + ldr r0, _020c1b64 ; =gActorManager + ldr r3, _020c1b68 ; =_ZTV17KillPickupsFilter ldr r0, [r0] add r1, sp, #0 mov r2, #0 str r3, [sp] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList add sp, sp, #0xa4 ldmia sp!, {pc} .align 2, 0 -_020c1b64: .word data_027e0fe4 -_020c1b68: .word _ZTV20KillPickupItemActors +_020c1b64: .word gActorManager +_020c1b68: .word _ZTV17KillPickupsFilter arm_func_end _ZN5Actor20KillPickupItemActorsEv .global _ZN5Actor15TrySetTransformEP9Transform @@ -691,9 +719,9 @@ _020c1c18: .word gMapManager _020c1c1c: .word _ZN10MapManager18func_ov00_02084be0Eii arm_func_end _ZN5Actor18func_Ov00_020c1bfcEi - .global _ZN5Actor18func_ov00_020c1c20Eiii - arm_func_start _ZN5Actor18func_ov00_020c1c20Eiii -_ZN5Actor18func_ov00_020c1c20Eiii: ; 0x020c1c20 + .global _ZN5Actor18func_ov00_020c1c20Eii + arm_func_start _ZN5Actor18func_ov00_020c1c20Eii +_ZN5Actor18func_ov00_020c1c20Eii: ; 0x020c1c20 stmdb sp!, {r3, lr} add ip, r0, r1 ldr r0, _020c1c44 ; =gMapManager @@ -705,14 +733,14 @@ _ZN5Actor18func_ov00_020c1c20Eiii: ; 0x020c1c20 ldmia sp!, {r3, pc} .align 2, 0 _020c1c44: .word gMapManager - arm_func_end _ZN5Actor18func_ov00_020c1c20Eiii + arm_func_end _ZN5Actor18func_ov00_020c1c20Eii - .global _ZN5Actor8vfunc_48Ei - arm_func_start _ZN5Actor8vfunc_48Ei -_ZN5Actor8vfunc_48Ei: ; 0x020c1c48 + .global _ZN5Actor8vfunc_48EP9Knockback + arm_func_start _ZN5Actor8vfunc_48EP9Knockback +_ZN5Actor8vfunc_48EP9Knockback: ; 0x020c1c48 mov r0, #1 bx lr - arm_func_end _ZN5Actor8vfunc_48Ei + arm_func_end _ZN5Actor8vfunc_48EP9Knockback .global _ZN5Actor8vfunc_4cEPi arm_func_start _ZN5Actor8vfunc_4cEPi @@ -742,7 +770,7 @@ _020c1c88: _ZN5Actor10IsNearLinkEv: ; 0x020c1c94 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _020c1cf4 ; =data_027e0f94 + ldr r1, _020c1cf4 ; =gPlayerPos mov r4, r0 add r3, sp, #0 ldmia r1, {r0, r1, r2} @@ -750,7 +778,7 @@ _ZN5Actor10IsNearLinkEv: ; 0x020c1c94 ldr r1, [sp] ldr r0, [r4, #0x48] sub r0, r1, r0 - bl func_02042f74 + bl abs cmp r0, #0xa000 addgt sp, sp, #0xc movgt r0, #0 @@ -758,14 +786,14 @@ _ZN5Actor10IsNearLinkEv: ; 0x020c1c94 ldr r1, [sp, #8] ldr r0, [r4, #0x50] sub r0, r1, r0 - bl func_02042f74 + bl abs cmp r0, #0xa000 movle r0, #1 movgt r0, #0 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_020c1cf4: .word data_027e0f94 +_020c1cf4: .word gPlayerPos arm_func_end _ZN5Actor10IsNearLinkEv .global _ZN5Actor18func_ov00_020c1cf8Ev @@ -809,7 +837,7 @@ _ZN5Actor18func_ov00_020c1d58Ev: ; 0x020c1d58 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} - ldr r0, _020c1d9c ; =data_027e0f90 + ldr r0, _020c1d9c ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #4] @@ -820,7 +848,7 @@ _ZN5Actor18func_ov00_020c1d58Ev: ; 0x020c1d58 ldmia sp!, {r3, pc} .align 2, 0 _020c1d98: .word gAdventureFlags -_020c1d9c: .word data_027e0f90 +_020c1d9c: .word gPlayer arm_func_end _ZN5Actor18func_ov00_020c1d58Ev .global _ZN5Actor18func_ov00_020c1da0EiP5Vec3p @@ -846,12 +874,12 @@ _ZN5Actor18func_ov00_020c1da0EiP5Vec3p: ; 0x020c1da0 str r0, [sp, #8] b _020c1dfc _020c1dec: - ldr r0, _020c1e24 ; =data_027e0f94 + ldr r0, _020c1e24 ; =gPlayerPos add r2, sp, #0 add r1, r6, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub _020c1dfc: - ldr r0, _020c1e28 ; =data_027e0f90 + ldr r0, _020c1e28 ; =gPlayer ldrb r1, [r6, #0x124] ldr r0, [r0] add r2, sp, #0 @@ -862,8 +890,8 @@ _020c1dfc: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020c1e24: .word data_027e0f94 -_020c1e28: .word data_027e0f90 +_020c1e24: .word gPlayerPos +_020c1e28: .word gPlayer arm_func_end _ZN5Actor18func_ov00_020c1da0EiP5Vec3p .global _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p @@ -894,23 +922,23 @@ _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p: ; 0x020c1e2c str r0, [sp, #0x18] b _020c1e9c _020c1e8c: - ldr r0, _020c1ef0 ; =data_027e0f94 + ldr r0, _020c1ef0 ; =gPlayerPos add r2, sp, #0x10 add r1, r5, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub _020c1e9c: add r1, sp, #0 mov r0, r5 bl _ZN5Actor9GetHitboxEP8Cylinder - ldr r0, _020c1ef4 ; =data_027e0f90 + ldr r0, _020c1ef4 ; =gPlayer add r1, sp, #0 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 addeq sp, sp, #0x1c moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} - ldr r0, _020c1ef4 ; =data_027e0f90 + ldr r0, _020c1ef4 ; =gPlayer ldrb r1, [r5, #0x124] ldr r0, [r0] add r2, sp, #0x10 @@ -921,8 +949,8 @@ _020c1e9c: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020c1ef0: .word data_027e0f94 -_020c1ef4: .word data_027e0f90 +_020c1ef0: .word gPlayerPos +_020c1ef4: .word gPlayer arm_func_end _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .global _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii @@ -936,14 +964,14 @@ _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii: ; 0x020c1ef8 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _020c1f58 ; =data_027e0f90 + ldr r0, _020c1f58 ; =gPlayer mov r1, r6 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _020c1f58 ; =data_027e0f90 + ldr r0, _020c1f58 ; =gPlayer ldr r3, [sp, #0x10] ldr r0, [r0] mov r1, r4 @@ -953,12 +981,12 @@ _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii: ; 0x020c1ef8 blx ip ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020c1f58: .word data_027e0f90 +_020c1f58: .word gPlayer arm_func_end _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii - .global _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii - arm_func_start _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii -_ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii: ; 0x020c1f5c + .global _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi + arm_func_start _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi +_ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi: ; 0x020c1f5c stmdb sp!, {r4, r5, r6, lr} mov r6, r1 mov r5, r2 @@ -967,7 +995,7 @@ _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii: ; 0x020c1f5c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _020c1fc4 ; =data_027e0f90 + ldr r0, _020c1fc4 ; =gPlayer mov r1, r6 ldr r0, [r0] mov r2, r5 @@ -976,7 +1004,7 @@ _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii: ; 0x020c1f5c cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _020c1fc4 ; =data_027e0f90 + ldr r0, _020c1fc4 ; =gPlayer ldrb r1, [sp, #0x14] ldr r0, [r0] ldr r2, [sp, #0x10] @@ -986,8 +1014,8 @@ _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii: ; 0x020c1f5c blx ip ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020c1fc4: .word data_027e0f90 - arm_func_end _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +_020c1fc4: .word gPlayer + arm_func_end _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .global _ZN5Actor18func_ov00_020c1fc8Ej arm_func_start _ZN5Actor18func_ov00_020c1fc8Ej @@ -1007,16 +1035,16 @@ _ZN5Actor18func_ov00_020c1fc8Ej: ; 0x020c1fc8 mov r5, #0 cmp r0, #0 blt _020c2218 - ldr r1, _020c2228 ; =data_027e0f94 + ldr r1, _020c2228 ; =gPlayerPos add r2, sp, #0x60 add r0, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 and r1, r6, #2 bl _ZN5Actor18CollidesWithPlayerEj cmp r0, #0 beq _020c208c - ldr r0, _020c222c ; =data_027e0f90 + ldr r0, _020c222c ; =gPlayer mov r2, r5 ldr r0, [r0] mov r1, #0xb @@ -1081,7 +1109,7 @@ _020c2110: bl _ZN5Actor18CollidesWithPlayerEj cmp r0, #0 beq _020c218c - ldr r0, _020c222c ; =data_027e0f90 + ldr r0, _020c222c ; =gPlayer mov r2, r5 ldr r0, [r0] mov r1, #0xb @@ -1113,7 +1141,7 @@ _020c218c: bl _ZN5Actor18CollidesWithPlayerEj cmp r0, #0 beq _020c2218 - ldr r0, _020c2234 ; =data_027e0fc8 + ldr r0, _020c2234 ; =gPlayerLink mov r2, r5 ldr r0, [r0] mov r1, #0xb @@ -1149,10 +1177,10 @@ _020c2218: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020c2224: .word gAdventureFlags -_020c2228: .word data_027e0f94 -_020c222c: .word data_027e0f90 +_020c2228: .word gPlayerPos +_020c222c: .word gPlayer _020c2230: .word gItemManager -_020c2234: .word data_027e0fc8 +_020c2234: .word gPlayerLink arm_func_end _ZN5Actor18func_ov00_020c1fc8Ej .global _ZN5Actor18CollidesWithShieldEP8Cylinder @@ -1161,25 +1189,25 @@ _ZN5Actor18CollidesWithShieldEP8Cylinder: ; 0x020c2238 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r1 - ldr r1, _020c22ac ; =data_027e0f94 + ldr r1, _020c22ac ; =gPlayerPos add r2, sp, #0 add r0, r0, #0x48 - bl func_01ff9bf8 - ldr r1, _020c22b0 ; =data_027e0fac + bl Vec3p_Sub + ldr r1, _020c22b0 ; =gPlayerAngle ldr r0, [sp] ldrsh r4, [r1] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsbs r0, r4, r0, asr #16 rsbmi r0, r0, #0 cmp r0, #0x4000 bgt _020c22a0 - ldr r0, _020c22b4 ; =data_027e0f90 + ldr r0, _020c22b4 ; =gPlayer mov r1, r5 ldr r0, [r0] mov r2, #1 - bl _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi + bl _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi cmp r0, #0 addne sp, sp, #0xc movne r0, #1 @@ -1189,9 +1217,9 @@ _020c22a0: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_020c22ac: .word data_027e0f94 -_020c22b0: .word data_027e0fac -_020c22b4: .word data_027e0f90 +_020c22ac: .word gPlayerPos +_020c22b0: .word gPlayerAngle +_020c22b4: .word gPlayer arm_func_end _ZN5Actor18CollidesWithShieldEP8Cylinder .global _ZN5Actor18CollidesWithPlayerEj @@ -1209,10 +1237,10 @@ _ZN5Actor18CollidesWithPlayerEj: ; 0x020c22b8 bl _ZN5Actor9GetHitboxEP8Cylinder tst r4, #1 beq _020c2308 - ldr r0, _020c23bc ; =data_027e0f90 + ldr r0, _020c23bc ; =gPlayer add r1, sp, #0 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 addne sp, sp, #0x10 movne r0, #1 @@ -1220,11 +1248,11 @@ _ZN5Actor18CollidesWithPlayerEj: ; 0x020c22b8 _020c2308: tst r4, #2 beq _020c2334 - ldr r0, _020c23bc ; =data_027e0f90 + ldr r0, _020c23bc ; =gPlayer add r1, sp, #0 ldr r0, [r0] mov r2, #0 - bl _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi + bl _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi cmp r0, #0 addne sp, sp, #0x10 movne r0, #1 @@ -1241,12 +1269,12 @@ _020c2334: ldmneia sp!, {r3, r4, r5, pc} _020c2358: tst r4, #8 - ldrne r0, _020c23c0 ; =data_027e0fc8 + ldrne r0, _020c23c0 ; =gPlayerLink ldrne r0, [r0] cmpne r0, #0 beq _020c2384 add r1, sp, #0 - bl func_ov00_020bcc2c + bl _ZN14PlayerLinkBase20GongoronCollidesWithEP8Cylinder cmp r0, #0 addne sp, sp, #0x10 movne r0, #1 @@ -1254,11 +1282,11 @@ _020c2358: _020c2384: tst r4, #0x10 beq _020c23b0 - ldr r0, _020c23bc ; =data_027e0f90 + ldr r0, _020c23bc ; =gPlayer add r1, sp, #0 ldr r0, [r0] mov r2, #8 - bl _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi + bl _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi cmp r0, #0 addne sp, sp, #0x10 movne r0, #1 @@ -1268,8 +1296,8 @@ _020c23b0: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020c23bc: .word data_027e0f90 -_020c23c0: .word data_027e0fc8 +_020c23bc: .word gPlayer +_020c23c0: .word gPlayerLink arm_func_end _ZN5Actor18CollidesWithPlayerEj .global _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ @@ -1291,12 +1319,12 @@ _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder: ; 0x020c23d4 mov r6, r0 str r1, [r6] ldr r1, [r4, #0x44] - ldr r0, _020c2438 ; =data_027e0fe4 + ldr r0, _020c2438 ; =gActorManager str r1, [r6, #4] ldr r0, [r0] ldr r1, [r4, #0xc] mov r5, r2 - bl _ZN12ActorManager18func_ov00_020c398cEv + bl _ZN12ActorManager18func_ov00_020c398cEj cmp r0, #0 mvneq r0, #0 streq r0, [r6] @@ -1304,19 +1332,19 @@ _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder: ; 0x020c23d4 mvn r0, #0 str r0, [r4, #0x40] str r0, [r4, #0x44] - ldr r0, _020c2438 ; =data_027e0fe4 + ldr r0, _020c2438 ; =gActorManager ldr r1, [r4, #0xc] ldr r0, [r0] mov r2, r5 - bl _ZN12ActorManager18func_ov00_020c399cEv + bl _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020c2438: .word data_027e0fe4 +_020c2438: .word gActorManager arm_func_end _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder - .global _ZN5Actor18func_ov00_020c243cEiPi - arm_func_start _ZN5Actor18func_ov00_020c243cEiPi -_ZN5Actor18func_ov00_020c243cEiPi: ; 0x020c243c + .global _ZN5Actor18func_ov00_020c243cEPjPPS_ + arm_func_start _ZN5Actor18func_ov00_020c243cEPjPPS_ +_ZN5Actor18func_ov00_020c243cEPjPPS_: ; 0x020c243c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 movs r6, r2 @@ -1335,12 +1363,12 @@ _ZN5Actor18func_ov00_020c243cEiPi: ; 0x020c243c mov r4, #0 cmp r0, #0 blt _020c26e4 - ldr r0, _020c26f4 ; =data_027e0fe4 + ldr r0, _020c26f4 ; =gActorManager ldr r1, [r7, #0xc] ldr r0, [r0] mov r2, r5 mov r3, r4 - bl _ZN12ActorManager18func_ov00_020c39acEjPjb + bl _ZN12ActorManager18func_ov00_020c39acEjPKjb movs r5, r0 beq _020c26e4 mov r0, #0xb @@ -1356,7 +1384,7 @@ _ZN5Actor18func_ov00_020c243cEiPi: ; 0x020c243c bne _020c2508 ldrh r0, [r5, #0x78] mov r1, #0 - ldr r3, _020c2700 ; =data_02050f54 + ldr r3, _020c2700 ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -1372,7 +1400,7 @@ _020c2508: add r2, sp, #4 add r0, r7, #0x48 add r1, r5, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub _020c2518: ldrb r0, [r5, #0x125] ldr r1, _020c2704 ; =0x43424c53 @@ -1514,10 +1542,10 @@ _020c26e4: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020c26f0: .word gAdventureFlags -_020c26f4: .word data_027e0fe4 +_020c26f4: .word gActorManager _020c26f8: .word 0x41525257 _020c26fc: .word 0x5342454d -_020c2700: .word data_02050f54 +_020c2700: .word gSinCosTable _020c2704: .word 0x43424c53 _020c2708: .word 0x424c5354 _020c270c: .word 0x42494752 @@ -1534,11 +1562,11 @@ _020c2734: .word 0x54534248 _020c2738: .word 0x54415255 _020c273c: .word 0x54535542 _020c2740: .word 0x564c5230 - arm_func_end _ZN5Actor18func_ov00_020c243cEiPi + arm_func_end _ZN5Actor18func_ov00_020c243cEPjPPS_ - .global _ZN5Actor12CollidesWithEPKS_ - arm_func_start _ZN5Actor12CollidesWithEPKS_ -_ZN5Actor12CollidesWithEPKS_: ; 0x020c2744 + .global _ZN5Actor12CollidesWithEPS_ + arm_func_start _ZN5Actor12CollidesWithEPS_ +_ZN5Actor12CollidesWithEPS_: ; 0x020c2744 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 mov r5, r1 @@ -1558,14 +1586,14 @@ _ZN5Actor12CollidesWithEPKS_: ; 0x020c2744 bl _ZN5Actor9GetHitboxEP8Cylinder add r0, sp, #0x10 add r1, sp, #0 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 movne r4, #1 _020c279c: mov r0, r4 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} - arm_func_end _ZN5Actor12CollidesWithEPKS_ + arm_func_end _ZN5Actor12CollidesWithEPS_ .global _ZN5Actor18func_ov00_020c27a8Ei arm_func_start _ZN5Actor18func_ov00_020c27a8Ei @@ -1610,7 +1638,7 @@ _ZN5Actor16CollidesWithLinkEv: ; 0x020c27e4 .global _ZN5Actor16IsFollowedByLinkEv arm_func_start _ZN5Actor16IsFollowedByLinkEv _ZN5Actor16IsFollowedByLinkEv: ; 0x020c281c - ldr r1, _020c283c ; =data_027e0fb8 + ldr r1, _020c283c ; =gPlayerControl ldr r2, [r0, #8] ldr r0, [r1] ldr r0, [r0, #0x84] @@ -1619,7 +1647,7 @@ _ZN5Actor16IsFollowedByLinkEv: ; 0x020c281c movne r0, #0 bx lr .align 2, 0 -_020c283c: .word data_027e0fb8 +_020c283c: .word gPlayerControl arm_func_end _ZN5Actor16IsFollowedByLinkEv .global _ZN5Actor14StopLinkFollowEv @@ -1629,28 +1657,28 @@ _ZN5Actor14StopLinkFollowEv: ; 0x020c2840 bl _ZN5Actor16IsFollowedByLinkEv cmp r0, #0 ldmeqia sp!, {r3, pc} - ldr r0, _020c2860 ; =data_027e0fb8 + ldr r0, _020c2860 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv ldmia sp!, {r3, pc} .align 2, 0 -_020c2860: .word data_027e0fb8 +_020c2860: .word gPlayerControl arm_func_end _ZN5Actor14StopLinkFollowEv .global _ZN5Actor9IsGrabbedEv arm_func_start _ZN5Actor9IsGrabbedEv _ZN5Actor9IsGrabbedEv: ; 0x020c2864 stmdb sp!, {r4, lr} - ldr r1, _020c2888 ; =data_027e0fc8 + ldr r1, _020c2888 ; =gPlayerLink ldr r4, [r0, #8] ldr r0, [r1] - bl func_ov00_020bc7f8 + bl _ZN14PlayerLinkBase14GetGrabActorIdEv cmp r4, r0 moveq r0, #1 movne r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_020c2888: .word data_027e0fc8 +_020c2888: .word gPlayerLink arm_func_end _ZN5Actor9IsGrabbedEv .global _ZN5Actor12XzDistanceToEP5Vec3p @@ -1671,7 +1699,7 @@ _ZN5Actor12XzDistanceToEP5Vec3p: ; 0x020c288c str r2, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance add sp, sp, #0x18 ldmia sp!, {r3, pc} arm_func_end _ZN5Actor12XzDistanceToEP5Vec3p @@ -1679,13 +1707,13 @@ _ZN5Actor12XzDistanceToEP5Vec3p: ; 0x020c288c .global _ZN5Actor14DistanceToLinkEv arm_func_start _ZN5Actor14DistanceToLinkEv _ZN5Actor14DistanceToLinkEv: ; 0x020c28d4 - ldr ip, _020c28e4 ; =func_01ff9ec0 - ldr r1, _020c28e8 ; =data_027e0f94 + ldr ip, _020c28e4 ; =Vec3p_Distance + ldr r1, _020c28e8 ; =gPlayerPos add r0, r0, #0x48 bx ip .align 2, 0 -_020c28e4: .word func_01ff9ec0 -_020c28e8: .word data_027e0f94 +_020c28e4: .word Vec3p_Distance +_020c28e8: .word gPlayerPos arm_func_end _ZN5Actor14DistanceToLinkEv .global _ZN5Actor16XzDistanceToLinkEv @@ -1695,7 +1723,7 @@ _ZN5Actor16XzDistanceToLinkEv: ; 0x020c28ec sub sp, sp, #0x18 ldr lr, [r0, #0x50] ldr ip, [r0, #0x48] - ldr r0, _020c2934 ; =data_027e0f94 + ldr r0, _020c2934 ; =gPlayerPos add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -1706,11 +1734,11 @@ _ZN5Actor16XzDistanceToLinkEv: ; 0x020c28ec str r2, [sp, #0x10] str lr, [sp, #0x14] str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 -_020c2934: .word data_027e0f94 +_020c2934: .word gPlayerPos arm_func_end _ZN5Actor16XzDistanceToLinkEv .global _ZN5Actor10GetAngleToEP5Vec3p @@ -1726,7 +1754,7 @@ _ZN5Actor10GetAngleToEP5Vec3p: ; 0x020c2938 subs r0, r3, r2 cmpeq r1, #0 beq _020c296c - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 _020c296c: @@ -1738,11 +1766,11 @@ _020c296c: arm_func_start _ZN5Actor14GetAngleToLinkEv _ZN5Actor14GetAngleToLinkEv: ; 0x020c2974 ldr ip, _020c2980 ; =_ZN5Actor10GetAngleToEP5Vec3p - ldr r1, _020c2984 ; =data_027e0f94 + ldr r1, _020c2984 ; =gPlayerPos bx ip .align 2, 0 _020c2980: .word _ZN5Actor10GetAngleToEP5Vec3p -_020c2984: .word data_027e0f94 +_020c2984: .word gPlayerPos arm_func_end _ZN5Actor14GetAngleToLinkEv .global _ZN5Actor18func_ov00_020c2988EP5Vec3piS1_ @@ -1786,7 +1814,7 @@ _ZN5Actor18func_ov00_020c29ecEi: ; 0x020c29ec stmdb sp!, {r4, lr} add r0, r0, #0x148 mov r4, r1 - bl func_01ff9cec + bl Vec3p_Length cmp r0, r4 movgt r0, #1 movle r0, #0 @@ -1798,7 +1826,7 @@ _ZN5Actor18func_ov00_020c29ecEi: ; 0x020c29ec _ZN5Actor9GetHitboxEP8Cylinder: ; 0x020c2a0c stmdb sp!, {r3, r4, r5, lr} ldr r2, [r0, #0x88] - ldr r3, _020c2afc ; =data_02050f54 + ldr r3, _020c2afc ; =gSinCosTable str r2, [r1, #0xc] ldrh r4, [r0, #0x78] ldr r2, [r0, #0x48] @@ -1857,7 +1885,7 @@ _ZN5Actor9GetHitboxEP8Cylinder: ; 0x020c2a0c str r0, [r1, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020c2afc: .word data_02050f54 +_020c2afc: .word gSinCosTable arm_func_end _ZN5Actor9GetHitboxEP8Cylinder .global _ZN5Actor10GetUnk_08cEP8Cylinder @@ -1865,7 +1893,7 @@ _020c2afc: .word data_02050f54 _ZN5Actor10GetUnk_08cEP8Cylinder: ; 0x020c2b00 stmdb sp!, {r3, r4, r5, lr} ldr r2, [r0, #0x98] - ldr r3, _020c2bf0 ; =data_02050f54 + ldr r3, _020c2bf0 ; =gSinCosTable str r2, [r1, #0xc] ldrh r4, [r0, #0x78] ldr r2, [r0, #0x48] @@ -1924,7 +1952,7 @@ _ZN5Actor10GetUnk_08cEP8Cylinder: ; 0x020c2b00 str r0, [r1, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020c2bf0: .word data_02050f54 +_020c2bf0: .word gSinCosTable arm_func_end _ZN5Actor10GetUnk_08cEP8Cylinder .global _ZN5Actor20IncreaseActiveFramesEv @@ -1943,7 +1971,7 @@ _ZN5Actor20IncreaseActiveFramesEv: ; 0x020c2bf4 _ZN5Actor18func_ov00_020c2c0cEv: ; 0x020c2c0c stmdb sp!, {r3, lr} sub sp, sp, #8 - ldr r1, _020c2c68 ; =data_ov00_020dd370 + ldr r1, _020c2c68 ; =sUnkTable ldr r2, [r1, #0x7c] ldr r1, [r1, #0x78] str r2, [sp, #4] @@ -1952,11 +1980,11 @@ _ZN5Actor18func_ov00_020c2c0cEv: ; 0x020c2c0c add r2, sp, #0 cmp r1, #0 blt _020c2c5c - ldr r3, _020c2c6c ; =data_027e0fe4 + ldr r3, _020c2c6c ; =gActorManager ldr r1, [r0, #0xc] ldr r0, [r3] mov r3, #0 - bl _ZN12ActorManager18func_ov00_020c39acEjPjb + bl _ZN12ActorManager18func_ov00_020c39acEjPKjb cmp r0, #0 addne sp, sp, #8 movne r0, #1 @@ -1966,8 +1994,8 @@ _020c2c5c: add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 -_020c2c68: .word data_ov00_020dd370 -_020c2c6c: .word data_027e0fe4 +_020c2c68: .word sUnkTable +_020c2c6c: .word gActorManager arm_func_end _ZN5Actor18func_ov00_020c2c0cEv .global _ZN5Actor18func_ov00_020c2c70Ev @@ -1977,15 +2005,15 @@ _ZN5Actor18func_ov00_020c2c70Ev: ; 0x020c2c70 sub sp, sp, #0x18 mov r5, r0 bl _ZN5Actor17GetEquipBoomerangEv - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv movs r4, r0 beq _020c2cbc add r2, sp, #0xc add r0, r4, #0x48 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x1000 ble _020c2d00 add r0, sp, #0xc @@ -1993,9 +2021,9 @@ _ZN5Actor18func_ov00_020c2c70Ev: ; 0x020c2c70 bl func_0202d95c b _020c2d00 _020c2cbc: - ldr r0, _020c2d3c ; =data_027e0fc8 + ldr r0, _020c2d3c ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _020c2cf0 add r1, sp, #0 @@ -2004,18 +2032,18 @@ _020c2cbc: add r0, sp, #0 add r2, sp, #0xc add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub b _020c2d00 _020c2cf0: - ldr r0, _020c2d40 ; =data_027e0f94 + ldr r0, _020c2d40 ; =gPlayerPos add r2, sp, #0xc add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub _020c2d00: add r0, r5, #0x48 add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0xc] cmp r4, #0 str r0, [r5, #0x60] @@ -2028,18 +2056,18 @@ _020c2d00: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020c2d3c: .word data_027e0fc8 -_020c2d40: .word data_027e0f94 +_020c2d3c: .word gPlayerLink +_020c2d40: .word gPlayerPos arm_func_end _ZN5Actor18func_ov00_020c2c70Ev .global _ZN5Actor17GetEquipBoomerangEv arm_func_start _ZN5Actor17GetEquipBoomerangEv _ZN5Actor17GetEquipBoomerangEv: ; 0x020c2d44 - ldr ip, _020c2d50 ; =func_01fffcec + ldr ip, _020c2d50 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #2 bx ip .align 2, 0 -_020c2d50: .word func_01fffcec +_020c2d50: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end _ZN5Actor17GetEquipBoomerangEv .global _ZN5Actor18func_ov00_020c2d54Ev @@ -2047,7 +2075,7 @@ _020c2d50: .word func_01fffcec _ZN5Actor18func_ov00_020c2d54Ev: ; 0x020c2d54 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 - ldr r1, _020c2ddc ; =data_ov00_020dd370 + ldr r1, _020c2ddc ; =sUnkTable mov r4, r0 ldr r0, [r1, #0x84] ldr r1, [r1, #0x80] @@ -2057,16 +2085,16 @@ _ZN5Actor18func_ov00_020c2d54Ev: ; 0x020c2d54 add r2, sp, #0 cmp r0, #0 blt _020c2dd0 - ldr r0, _020c2de0 ; =data_027e0fe4 + ldr r0, _020c2de0 ; =gActorManager ldr r1, [r4, #0xc] ldr r0, [r0] mov r3, #0 - bl _ZN12ActorManager18func_ov00_020c39acEjPjb + bl _ZN12ActorManager18func_ov00_020c39acEjPKjb movs r5, r0 beq _020c2dd0 - bl func_ov00_020bff70 + bl _ZN10EquipSword12GetEquipRopeEv ldr r1, [r4, #8] - bl func_ov14_0213d480 + bl _ZN9EquipRope18func_ov14_0213d480Ei cmp r0, #0 bge _020c2dd0 ldr r1, [r4, #8] @@ -2081,8 +2109,8 @@ _020c2dd0: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020c2ddc: .word data_ov00_020dd370 -_020c2de0: .word data_027e0fe4 +_020c2ddc: .word sUnkTable +_020c2de0: .word gActorManager arm_func_end _ZN5Actor18func_ov00_020c2d54Ev .global _ZN5Actor18func_ov00_020c2de4Ev @@ -2091,16 +2119,16 @@ _ZN5Actor18func_ov00_020c2de4Ev: ; 0x020c2de4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc mov r5, r0 - bl func_ov00_020bff70 - bl func_ov14_0213d420 + bl _ZN10EquipSword12GetEquipRopeEv + bl _ZN9EquipRope18func_ov14_0213d420Ev movs r4, r0 add r2, sp, #0 beq _020c2e30 add r0, r4, #0x48 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x1000 ble _020c2e3c add r0, sp, #0 @@ -2108,14 +2136,14 @@ _ZN5Actor18func_ov00_020c2de4Ev: ; 0x020c2de4 bl func_0202d95c b _020c2e3c _020c2e30: - ldr r0, _020c2e78 ; =data_027e0f94 + ldr r0, _020c2e78 ; =gPlayerPos add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub _020c2e3c: add r0, r5, #0x48 add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp] cmp r4, #0 str r0, [r5, #0x60] @@ -2128,7 +2156,7 @@ _020c2e3c: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_020c2e78: .word data_027e0f94 +_020c2e78: .word gPlayerPos arm_func_end _ZN5Actor18func_ov00_020c2de4Ev .global _ZN5Actor18func_ov00_020c2e7cEv @@ -2137,13 +2165,13 @@ _ZN5Actor18func_ov00_020c2e7cEv: ; 0x020c2e7c stmdb sp!, {r4, r5, r6, lr} mov r6, r0 mov r5, #0 - bl func_ov00_020bff70 + bl _ZN10EquipSword12GetEquipRopeEv ldrb r1, [r6, #0x11d] mov r4, r0 cmp r1, #0 bne _020c2eb4 mov r1, r6 - bl func_ov14_0213ddd4 + bl _ZN9EquipRope18func_ov14_0213ddd4EP5Actor cmp r0, #0 ldrgesh r1, [r4, #0x70] cmpge r1, r0 @@ -2158,9 +2186,9 @@ _020c2eb4: _ZN5Actor18func_ov00_020c2ebcEv: ; 0x020c2ebc stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov00_020bff70 + bl _ZN10EquipSword12GetEquipRopeEv mov r1, r4 - bl func_ov14_0213defc + bl _ZN9EquipRope18func_ov14_0213defcEP5Actor ldmia sp!, {r4, pc} arm_func_end _ZN5Actor18func_ov00_020c2ebcEv @@ -2170,14 +2198,14 @@ _ZN5Actor18func_ov00_020c2ed4Ev: ; 0x020c2ed4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x1c mov r4, r0 - bl func_ov00_020bff70 + bl _ZN10EquipSword12GetEquipRopeEv ldr r1, [r4, #8] mov r5, r0 - bl func_ov14_0213d440 + bl _ZN9EquipRope18func_ov14_0213d440Ei movs r6, r0 bmi _020c2fb0 mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -2186,7 +2214,7 @@ _ZN5Actor18func_ov00_020c2ed4Ev: ; 0x020c2ed4 add r2, sp, #0x10 mov r0, r5 mov r1, r6 - bl func_ov14_0213d81c + bl _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p cmp r0, #0 beq _020c2fa4 ldr r1, [sp, #0x10] @@ -2198,10 +2226,10 @@ _ZN5Actor18func_ov00_020c2ed4Ev: ; 0x020c2ed4 ldr r3, [sp, #0x18] mov r2, r0 str r3, [r4, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #1 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 bne _020c2f8c add r1, sp, #0 @@ -2210,13 +2238,13 @@ _ZN5Actor18func_ov00_020c2ed4Ev: ; 0x020c2ed4 add r2, sp, #0 mov r0, r5 mov r1, r6 - bl func_ov14_0213dadc + bl _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} _020c2f8c: mov r0, r5 mov r1, r6 - bl func_ov14_0213d91c + bl _ZN9EquipRope18func_ov14_0213d91cEi add sp, sp, #0x1c mov r0, #0 ldmia sp!, {r3, r4, r5, r6, pc} @@ -2227,7 +2255,7 @@ _020c2fa4: _020c2fb0: ldr r1, [r4, #8] mov r0, r5 - bl func_ov14_0213d480 + bl _ZN9EquipRope18func_ov14_0213d480Ei cmp r0, #0 addge sp, sp, #0x1c movge r0, #1 @@ -2236,7 +2264,7 @@ _020c2fcc: ldrb r0, [r5, #0x6a] cmp r0, #0 beq _020c2ff4 - ldr r0, _020c3000 ; =data_027e0d0c + ldr r0, _020c3000 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] @@ -2248,7 +2276,7 @@ _020c2ff4: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020c3000: .word data_027e0d0c +_020c3000: .word gVec3p_ZERO arm_func_end _ZN5Actor18func_ov00_020c2ed4Ev .global _ZN5Actor15IsHitboxTouchedEb @@ -2273,11 +2301,11 @@ _ZN5Actor15IsHitboxTouchedEb: ; 0x020c3004 mov r2, #8 mov r1, ip beq _020c305c - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic mov r1, r0 b _020c3064 _020c305c: - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic mov r1, r0 _020c3064: mov r0, r1 @@ -2323,7 +2351,7 @@ _ZN5Actor18func_ov00_020c3094Ev: ; 0x020c3094 ldr ip, [r5, #0x5c] mov r3, r4 str ip, [sp, #8] - bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i ldr r1, [r5, #0x4c] cmp r1, r0 movle r4, #1 @@ -2423,25 +2451,25 @@ _ZN5Actor18func_ov00_020c31c0Ei: ; 0x020c31c0 stmdb sp!, {r3, lr} mov ip, r0 ldr r0, _020c31e0 ; =data_ov00_020e9c88 - ldr r3, _020c31e4 ; =_ZN5Actor14vfunc_ac_ThunkEv + ldr r3, _020c31e4 ; =_Z14vfunc_ac_ThunkP5Actor add r2, ip, #0x48 str ip, [sp] bl func_ov00_0207b89c ldmia sp!, {r3, pc} .align 2, 0 _020c31e0: .word data_ov00_020e9c88 -_020c31e4: .word _ZN5Actor14vfunc_ac_ThunkEv +_020c31e4: .word _Z14vfunc_ac_ThunkP5Actor arm_func_end _ZN5Actor18func_ov00_020c31c0Ei - .global _ZN5Actor14vfunc_ac_ThunkEv - arm_func_start _ZN5Actor14vfunc_ac_ThunkEv -_ZN5Actor14vfunc_ac_ThunkEv: ; 0x020c31e8 + .global _Z14vfunc_ac_ThunkP5Actor + arm_func_start _Z14vfunc_ac_ThunkP5Actor +_Z14vfunc_ac_ThunkP5Actor: ; 0x020c31e8 stmdb sp!, {r3, lr} ldr r1, [r0] ldr r1, [r1, #0xac] blx r1 ldmia sp!, {r3, pc} - arm_func_end _ZN5Actor14vfunc_ac_ThunkEv + arm_func_end _Z14vfunc_ac_ThunkP5Actor .global _ZN5Actor8vfunc_acEv arm_func_start _ZN5Actor8vfunc_acEv @@ -2452,7 +2480,7 @@ _ZN5Actor8vfunc_acEv: ; 0x020c31fc .global _ZN5Actor18func_ov00_020c3200Ei arm_func_start _ZN5Actor18func_ov00_020c3200Ei _ZN5Actor18func_ov00_020c3200Ei: ; 0x020c3200 - ldr ip, _020c3228 ; =data_ov00_020dd370 + ldr ip, _020c3228 ; =sUnkTable mov r2, r1, lsl #0x2 ldrsh r3, [ip, r2] add r2, r0, #0x100 @@ -2463,7 +2491,7 @@ _ZN5Actor18func_ov00_020c3200Ei: ; 0x020c3200 strb r1, [r0, #0x124] bx lr .align 2, 0 -_020c3228: .word data_ov00_020dd370 +_020c3228: .word sUnkTable arm_func_end _ZN5Actor18func_ov00_020c3200Ei .global _ZN5Actor8vfunc_b0Ev @@ -2476,13 +2504,13 @@ _ZN5Actor8vfunc_b0Ev: ; 0x020c322c arm_func_start _ZN5Actor10GetLinkPosEP5Vec3p _ZN5Actor10GetLinkPosEP5Vec3p: ; 0x020c3230 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _020c3288 ; =data_027e0fc8 + ldr r2, _020c3288 ; =gPlayerLink mov r5, r0 ldr r0, [r2] mov r4, r1 cmp r0, #0 beq _020c3268 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 beq _020c3268 mov r0, r5 @@ -2490,7 +2518,7 @@ _ZN5Actor10GetLinkPosEP5Vec3p: ; 0x020c3230 bl _ZN5Actor15GetLinkDummyPosEP5Vec3p ldmia sp!, {r3, r4, r5, pc} _020c3268: - ldr r0, _020c328c ; =data_027e0f94 + ldr r0, _020c328c ; =gPlayerPos ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -2499,8 +2527,8 @@ _020c3268: str r0, [r4, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020c3288: .word data_027e0fc8 -_020c328c: .word data_027e0f94 +_020c3288: .word gPlayerLink +_020c328c: .word gPlayerPos arm_func_end _ZN5Actor10GetLinkPosEP5Vec3p .global _ZN5Actor15GetLinkDummyPosEP5Vec3p @@ -2508,13 +2536,13 @@ _020c328c: .word data_027e0f94 _ZN5Actor15GetLinkDummyPosEP5Vec3p: ; 0x020c3290 stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r0, _020c331c ; =data_027e0fe4 + ldr r0, _020c331c ; =gActorManager mov r4, r1 ldr r1, [r0] ldr r2, _020c3320 ; =0x504c444d add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _020c331c ; =data_027e0fe4 + ldr r0, _020c331c ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2533,7 +2561,7 @@ _ZN5Actor15GetLinkDummyPosEP5Vec3p: ; 0x020c3290 str r0, [r4, #8] ldmia sp!, {r4, pc} _020c32f8: - ldr r0, _020c3324 ; =data_027e0f94 + ldr r0, _020c3324 ; =gPlayerPos ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -2543,9 +2571,9 @@ _020c32f8: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_020c331c: .word data_027e0fe4 +_020c331c: .word gActorManager _020c3320: .word 0x504c444d -_020c3324: .word data_027e0f94 +_020c3324: .word gPlayerPos arm_func_end _ZN5Actor15GetLinkDummyPosEP5Vec3p .global _ZN19Actor_UnkStruct_09cC2Ev @@ -2562,185 +2590,67 @@ _ZN19Actor_UnkStruct_09cC2Ev: ; 0x020c3328 arm_func_end _ZN19Actor_UnkStruct_09cC2Ev .rodata - .global data_ov00_020dd370 -data_ov00_020dd370: ; 0x020dd370 + .global sUnkTable +sUnkTable: ; 0x020dd370 .byte 0xff, 0x00 - .global data_ov00_020dd372 -data_ov00_020dd372: ; 0x020dd372 .byte 0x02, 0x00 - .global data_ov00_020dd374 -data_ov00_020dd374: ; 0x020dd374 .byte 0xff, 0x00 - .global data_ov00_020dd376 -data_ov00_020dd376: ; 0x020dd376 .byte 0x02, 0x00 - .global data_ov00_020dd378 -data_ov00_020dd378: ; 0x020dd378 .byte 0xff, 0x00 - .global data_ov00_020dd37a -data_ov00_020dd37a: ; 0x020dd37a .byte 0x02, 0x00 - .global data_ov00_020dd37c -data_ov00_020dd37c: ; 0x020dd37c .byte 0xff, 0x00 - .global data_ov00_020dd37e -data_ov00_020dd37e: ; 0x020dd37e .byte 0x02, 0x00 - .global data_ov00_020dd380 -data_ov00_020dd380: ; 0x020dd380 .byte 0xff, 0x00 - .global data_ov00_020dd382 -data_ov00_020dd382: ; 0x020dd382 .byte 0x02, 0x00 - .global data_ov00_020dd384 -data_ov00_020dd384: ; 0x020dd384 .byte 0x06, 0x00 - .global data_ov00_020dd386 -data_ov00_020dd386: ; 0x020dd386 .byte 0x02, 0x00 - .global data_ov00_020dd388 -data_ov00_020dd388: ; 0x020dd388 .byte 0x04, 0x00 - .global data_ov00_020dd38a -data_ov00_020dd38a: ; 0x020dd38a .byte 0x02, 0x00 - .global data_ov00_020dd38c -data_ov00_020dd38c: ; 0x020dd38c .byte 0x04, 0x00 - .global data_ov00_020dd38e -data_ov00_020dd38e: ; 0x020dd38e .byte 0x02, 0x00 - .global data_ov00_020dd390 -data_ov00_020dd390: ; 0x020dd390 .byte 0x04, 0x00 - .global data_ov00_020dd392 -data_ov00_020dd392: ; 0x020dd392 .byte 0x02, 0x00 - .global data_ov00_020dd394 -data_ov00_020dd394: ; 0x020dd394 .byte 0x01, 0x00 - .global data_ov00_020dd396 -data_ov00_020dd396: ; 0x020dd396 .byte 0x02, 0x00 - .global data_ov00_020dd398 -data_ov00_020dd398: ; 0x020dd398 .byte 0x0c, 0x00 - .global data_ov00_020dd39a -data_ov00_020dd39a: ; 0x020dd39a .byte 0x02, 0x00 - .global data_ov00_020dd39c -data_ov00_020dd39c: ; 0x020dd39c .byte 0x04, 0x00 - .global data_ov00_020dd39e -data_ov00_020dd39e: ; 0x020dd39e .byte 0x02, 0x00 - .global data_ov00_020dd3a0 -data_ov00_020dd3a0: ; 0x020dd3a0 .byte 0x04, 0x00 - .global data_ov00_020dd3a2 -data_ov00_020dd3a2: ; 0x020dd3a2 .byte 0x02, 0x00 - .global data_ov00_020dd3a4 -data_ov00_020dd3a4: ; 0x020dd3a4 .byte 0x08, 0x00 - .global data_ov00_020dd3a6 -data_ov00_020dd3a6: ; 0x020dd3a6 .byte 0x02, 0x00 - .global data_ov00_020dd3a8 -data_ov00_020dd3a8: ; 0x020dd3a8 .byte 0x0c, 0x00 - .global data_ov00_020dd3aa -data_ov00_020dd3aa: ; 0x020dd3aa .byte 0x02, 0x00 - .global data_ov00_020dd3ac -data_ov00_020dd3ac: ; 0x020dd3ac .byte 0x02, 0x00 - .global data_ov00_020dd3ae -data_ov00_020dd3ae: ; 0x020dd3ae .byte 0x02, 0x00 - .global data_ov00_020dd3b0 -data_ov00_020dd3b0: ; 0x020dd3b0 .byte 0x02, 0x00 - .global data_ov00_020dd3b2 -data_ov00_020dd3b2: ; 0x020dd3b2 .byte 0x02, 0x00 - .global data_ov00_020dd3b4 -data_ov00_020dd3b4: ; 0x020dd3b4 .byte 0x14, 0x00 - .global data_ov00_020dd3b6 -data_ov00_020dd3b6: ; 0x020dd3b6 .byte 0x02, 0x00 - .global data_ov00_020dd3b8 -data_ov00_020dd3b8: ; 0x020dd3b8 .byte 0x14, 0x00 - .global data_ov00_020dd3ba -data_ov00_020dd3ba: ; 0x020dd3ba .byte 0x02, 0x00 - .global data_ov00_020dd3bc -data_ov00_020dd3bc: ; 0x020dd3bc .byte 0x01, 0x00 - .global data_ov00_020dd3be -data_ov00_020dd3be: ; 0x020dd3be .byte 0x02, 0x00 - .global data_ov00_020dd3c0 -data_ov00_020dd3c0: ; 0x020dd3c0 .byte 0x04, 0x00 - .global data_ov00_020dd3c2 -data_ov00_020dd3c2: ; 0x020dd3c2 .byte 0x02, 0x00 - .global data_ov00_020dd3c4 -data_ov00_020dd3c4: ; 0x020dd3c4 .byte 0x04, 0x00 - .global data_ov00_020dd3c6 -data_ov00_020dd3c6: ; 0x020dd3c6 .byte 0x02, 0x00 - .global data_ov00_020dd3c8 -data_ov00_020dd3c8: ; 0x020dd3c8 .byte 0x04, 0x00 - .global data_ov00_020dd3ca -data_ov00_020dd3ca: ; 0x020dd3ca .byte 0x02, 0x00 - .global data_ov00_020dd3cc -data_ov00_020dd3cc: ; 0x020dd3cc .byte 0x08, 0x00 - .global data_ov00_020dd3ce -data_ov00_020dd3ce: ; 0x020dd3ce .byte 0x02, 0x00 - .global data_ov00_020dd3d0 -data_ov00_020dd3d0: ; 0x020dd3d0 .byte 0x04, 0x00 - .global data_ov00_020dd3d2 -data_ov00_020dd3d2: ; 0x020dd3d2 .byte 0x02, 0x00 - .global data_ov00_020dd3d4 -data_ov00_020dd3d4: ; 0x020dd3d4 .byte 0xff, 0x00 - .global data_ov00_020dd3d6 -data_ov00_020dd3d6: ; 0x020dd3d6 .byte 0x02, 0x00 - .global data_ov00_020dd3d8 -data_ov00_020dd3d8: ; 0x020dd3d8 .byte 0x14, 0x00 - .global data_ov00_020dd3da -data_ov00_020dd3da: ; 0x020dd3da .byte 0x02, 0x00 - .global data_ov00_020dd3dc -data_ov00_020dd3dc: ; 0x020dd3dc .byte 0x06, 0x00 - .global data_ov00_020dd3de -data_ov00_020dd3de: ; 0x020dd3de .byte 0x02, 0x00 - .global data_ov00_020dd3e0 -data_ov00_020dd3e0: ; 0x020dd3e0 .byte 0x06, 0x00 - .global data_ov00_020dd3e2 -data_ov00_020dd3e2: ; 0x020dd3e2 .byte 0x02, 0x00 - .global data_ov00_020dd3e4 -data_ov00_020dd3e4: ; 0x020dd3e4 .byte 0x02, 0x00 - .global data_ov00_020dd3e6 -data_ov00_020dd3e6: ; 0x020dd3e6 .byte 0x02, 0x00 .global data_ov00_020dd3e8 data_ov00_020dd3e8: ; 0x020dd3e8 @@ -2788,169 +2698,67 @@ data_ov00_020e71b8: ; 0x020e71b8 data_ov00_020e71bc: ; 0x020e71bc .ascii "anc" .byte 0x00 - .global data_ov00_020e71c0 -data_ov00_020e71c0: ; 0x020e71c0 + .global sShipTypes +sShipTypes: ; 0x020e71c0 .word data_ov00_020e71bc - .global data_ov00_020e71c4 -data_ov00_020e71c4: ; 0x020e71c4 .word data_ov00_020e71b8 - .global data_ov00_020e71c8 -data_ov00_020e71c8: ; 0x020e71c8 .word data_ov00_020e71b4 - .global data_ov00_020e71cc -data_ov00_020e71cc: ; 0x020e71cc .word data_ov00_020e71b0 - .global data_ov00_020e71d0 -data_ov00_020e71d0: ; 0x020e71d0 .word data_ov00_020e71ac - .global data_ov00_020e71d4 -data_ov00_020e71d4: ; 0x020e71d4 .word data_ov00_020e71a8 - .global data_ov00_020e71d8 -data_ov00_020e71d8: ; 0x020e71d8 .word data_ov00_020e71a4 - .global data_ov00_020e71dc -data_ov00_020e71dc: ; 0x020e71dc .word data_ov00_020e71a0 .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 - .global _ZTV20KillPickupItemActors -_ZTV20KillPickupItemActors: ; 0x020e71e8 - .word _ZN20KillPickupItemActors6FilterEP5Actor + .global _ZTV17KillPickupsFilter +_ZTV17KillPickupsFilter: ; 0x020e71e8 + .word _ZN17KillPickupsFilter6FilterEP5Actor .byte 0x00, 0x00, 0x00, 0x00 .byte 0x00, 0x00, 0x00, 0x00 .global _ZTV5Actor _ZTV5Actor: ; 0x020e71f4 .word _ZN5ActorD1Ev - .global data_ov00_020e71f8 -data_ov00_020e71f8: ; 0x020e71f8 .word _ZN5ActorD0Ev - .global data_ov00_020e71fc -data_ov00_020e71fc: ; 0x020e71fc .word _ZN5Actor8vfunc_08Ev - .global data_ov00_020e7200 -data_ov00_020e7200: ; 0x020e7200 .word _ZN5Actor8vfunc_0cEv - .global data_ov00_020e7204 -data_ov00_020e7204: ; 0x020e7204 .word _ZN5Actor8vfunc_10Ej - .global data_ov00_020e7208 -data_ov00_020e7208: ; 0x020e7208 .word _ZN5Actor8vfunc_14Ej - .global data_ov00_020e720c -data_ov00_020e720c: ; 0x020e720c .word _ZN5Actor8vfunc_18Ej - .global data_ov00_020e7210 -data_ov00_020e7210: ; 0x020e7210 - .word _ZN5Actor8vfunc_1cEt - .global data_ov00_020e7214 -data_ov00_020e7214: ; 0x020e7214 + .word _ZN5Actor8vfunc_1cEPt .word _ZN5Actor8vfunc_20Ei - .global data_ov00_020e7218 -data_ov00_020e7218: ; 0x020e7218 .word _ZN5Actor8vfunc_24Ev - .global data_ov00_020e721c -data_ov00_020e721c: ; 0x020e721c .word _ZN5Actor8vfunc_28Ev - .global data_ov00_020e7220 -data_ov00_020e7220: ; 0x020e7220 .word _ZN5Actor8vfunc_2cEv - .global data_ov00_020e7224 -data_ov00_020e7224: ; 0x020e7224 .word _ZN5Actor8vfunc_30Ev - .global data_ov00_020e7228 -data_ov00_020e7228: ; 0x020e7228 .word _ZN5Actor12GetOffsetPosEP5Vec3p - .global data_ov00_020e722c -data_ov00_020e722c: ; 0x020e722c .word _ZN5Actor8vfunc_38Ev - .global data_ov00_020e7230 -data_ov00_020e7230: ; 0x020e7230 .word _ZN5Actor16CollidesWithLinkEv - .global data_ov00_020e7234 -data_ov00_020e7234: ; 0x020e7234 .word _ZN5Actor15IsHitboxTouchedEb - .global data_ov00_020e7238 -data_ov00_020e7238: ; 0x020e7238 - .word _ZN5Actor12CollidesWithEPKS_ - .global data_ov00_020e723c -data_ov00_020e723c: ; 0x020e723c - .word _ZN5Actor8vfunc_48Ei - .global data_ov00_020e7240 -data_ov00_020e7240: ; 0x020e7240 + .word _ZN5Actor12CollidesWithEPS_ + .word _ZN5Actor8vfunc_48EP9Knockback .word _ZN5Actor8vfunc_4cEPi - .global data_ov00_020e7244 -data_ov00_020e7244: ; 0x020e7244 .word _ZN5Actor6GetPosEv - .global data_ov00_020e7248 -data_ov00_020e7248: ; 0x020e7248 .word _ZN5Actor8vfunc_54Ev - .global data_ov00_020e724c -data_ov00_020e724c: ; 0x020e724c .word _ZN5Actor10SetUnk_11bEv - .global data_ov00_020e7250 -data_ov00_020e7250: ; 0x020e7250 .word _ZN5Actor11SetVelocityEP5Vec3p - .global data_ov00_020e7254 -data_ov00_020e7254: ; 0x020e7254 .word _ZN5Actor8vfunc_60Ev - .global data_ov00_020e7258 -data_ov00_020e7258: ; 0x020e7258 .word _ZN5Actor8vfunc_64Ev - .global data_ov00_020e725c -data_ov00_020e725c: ; 0x020e725c .word _ZN5Actor8vfunc_68Ev - .global data_ov00_020e7260 -data_ov00_020e7260: ; 0x020e7260 .word _ZN5Actor8vfunc_6cEv - .global data_ov00_020e7264 -data_ov00_020e7264: ; 0x020e7264 .word _ZN5Actor8vfunc_70Ev - .global data_ov00_020e7268 -data_ov00_020e7268: ; 0x020e7268 .word _ZN5Actor8vfunc_74Ev - .global data_ov00_020e726c -data_ov00_020e726c: ; 0x020e726c .word _ZN5Actor8vfunc_78Ev - .global data_ov00_020e7270 -data_ov00_020e7270: ; 0x020e7270 .word _ZN5Actor8vfunc_7cEv - .global data_ov00_020e7274 -data_ov00_020e7274: ; 0x020e7274 .word _ZN5Actor8vfunc_80Ev - .global data_ov00_020e7278 -data_ov00_020e7278: ; 0x020e7278 .word _ZN5Actor8vfunc_84Ev - .global data_ov00_020e727c -data_ov00_020e727c: ; 0x020e727c .word _ZN5Actor8vfunc_88Ev - .global data_ov00_020e7280 -data_ov00_020e7280: ; 0x020e7280 .word _ZN5Actor8vfunc_8cEv - .global data_ov00_020e7284 -data_ov00_020e7284: ; 0x020e7284 .word _ZN5Actor8vfunc_90Ev - .global data_ov00_020e7288 -data_ov00_020e7288: ; 0x020e7288 .word _ZN5Actor8vfunc_94Ev - .global data_ov00_020e728c -data_ov00_020e728c: ; 0x020e728c .word _ZN5Actor8vfunc_98Ev - .global data_ov00_020e7290 -data_ov00_020e7290: ; 0x020e7290 .word _ZN5Actor8vfunc_9cEv - .global data_ov00_020e7294 -data_ov00_020e7294: ; 0x020e7294 .word _ZN5Actor15TrySetTransformEP9Transform - .global data_ov00_020e7298 -data_ov00_020e7298: ; 0x020e7298 .word _ZN5Actor12SetTransformEP9Transform - .global data_ov00_020e729c -data_ov00_020e729c: ; 0x020e729c .word _ZN5Actor8vfunc_a8Ev - .global data_ov00_020e72a0 -data_ov00_020e72a0: ; 0x020e72a0 .word _ZN5Actor8vfunc_acEv - .global data_ov00_020e72a4 -data_ov00_020e72a4: ; 0x020e72a4 .word _ZN5Actor8vfunc_b0Ev diff --git a/asm/ov00/Actor/ActorManager.inc b/asm/ov00/Actor/ActorManager.inc index 68a7a1cd..34194983 100644 --- a/asm/ov00/Actor/ActorManager.inc +++ b/asm/ov00/Actor/ActorManager.inc @@ -8,7 +8,7 @@ .extern data_027e077c .extern gMapManager .extern data_027e103c -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_ov00_0208e72c .extern func_ov00_0208e7a4 .extern func_ov00_0208f318 diff --git a/asm/ov00/Actor/ActorManager.s b/asm/ov00/Actor/ActorManager.s index 49d58c94..eeb3471b 100644 --- a/asm/ov00/Actor/ActorManager.s +++ b/asm/ov00/Actor/ActorManager.s @@ -312,9 +312,9 @@ _020c37e0: ldmia sp!, {r3, r4, r5, pc} arm_func_end _ZN11FilterActor6FilterEP5Actor - .global _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList - arm_func_start _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList -_ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList: ; 0x020c37ec + .global _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList + arm_func_start _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList +_ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList: ; 0x020c37ec stmdb sp!, {r4, r5, r6, r7, r8, lr} movs r7, r2 mov r4, #0 @@ -361,7 +361,7 @@ _020c3880: _020c388c: mov r0, r4 ldmia sp!, {r4, r5, r6, r7, r8, pc} - arm_func_end _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + arm_func_end _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .global _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j arm_func_start _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j @@ -423,7 +423,7 @@ _020c3930: bne _020c397c mov r1, r7 add r0, r2, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r4 bge _020c397c ldr r1, [r5] @@ -439,29 +439,29 @@ _020c397c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} arm_func_end _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - .global _ZN12ActorManager18func_ov00_020c398cEv - arm_func_start _ZN12ActorManager18func_ov00_020c398cEv -_ZN12ActorManager18func_ov00_020c398cEv: ; 0x020c398c + .global _ZN12ActorManager18func_ov00_020c398cEj + arm_func_start _ZN12ActorManager18func_ov00_020c398cEj +_ZN12ActorManager18func_ov00_020c398cEj: ; 0x020c398c ldr ip, _020c3998 ; =func_ov00_020c3f08 ldr r0, [r0, #0x14] bx ip .align 2, 0 _020c3998: .word func_ov00_020c3f08 - arm_func_end _ZN12ActorManager18func_ov00_020c398cEv + arm_func_end _ZN12ActorManager18func_ov00_020c398cEj - .global _ZN12ActorManager18func_ov00_020c399cEv - arm_func_start _ZN12ActorManager18func_ov00_020c399cEv -_ZN12ActorManager18func_ov00_020c399cEv: ; 0x020c399c + .global _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder + arm_func_start _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder +_ZN12ActorManager18func_ov00_020c399cEjP8Cylinder: ; 0x020c399c ldr ip, _020c39a8 ; =func_ov00_020c3f3c ldr r0, [r0, #0x14] bx ip .align 2, 0 _020c39a8: .word func_ov00_020c3f3c - arm_func_end _ZN12ActorManager18func_ov00_020c399cEv + arm_func_end _ZN12ActorManager18func_ov00_020c399cEjP8Cylinder - .global _ZN12ActorManager18func_ov00_020c39acEjPjb - arm_func_start _ZN12ActorManager18func_ov00_020c39acEjPjb -_ZN12ActorManager18func_ov00_020c39acEjPjb: ; 0x020c39ac + .global _ZN12ActorManager18func_ov00_020c39acEjPKjb + arm_func_start _ZN12ActorManager18func_ov00_020c39acEjPKjb +_ZN12ActorManager18func_ov00_020c39acEjPKjb: ; 0x020c39ac stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x10 movs r8, r2 @@ -563,7 +563,7 @@ _020c3b20: mov r0, r4 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - arm_func_end _ZN12ActorManager18func_ov00_020c39acEjPjb + arm_func_end _ZN12ActorManager18func_ov00_020c39acEjPKjb .global _ZN12ActorManager18func_ov00_020c3b2cEPi arm_func_start _ZN12ActorManager18func_ov00_020c3b2cEPi diff --git a/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc b/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc index 7381d9e3..c03241aa 100644 --- a/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc +++ b/asm/ov00/Item/ItemManager_func_ov00_020ad790.inc @@ -46,12 +46,12 @@ _020ad800: cmp r0, #1 bhi _020ad874 _020ad840: - lda r0, data_027e0fc8 + lda r0, gPlayerLink ldr r0, [r0] cmp r0, #0 beq _020ad860 mov r1, r5 - bl func_ov00_020bbd80 + bl _ZN14PlayerLinkBase18func_ov00_020bbd80Ei cmp r0, #0 beq _020ad874 _020ad860: diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc index 744b5b7b..768462b1 100644 --- a/asm/ov00/Map/MapManager.inc +++ b/asm/ov00/Map/MapManager.inc @@ -51,20 +51,20 @@ .extern data_027e0f70 .extern data_027e0f78 .extern data_027e0f7c -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fe4 +.extern gPlayer +.extern gPlayerPos +.extern gActorManager .extern data_027e0fe8 .extern data_027e103c .extern data_ov00_020e24a4 .extern data_ov00_020eec68 .extern data_ov15_02190458 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance .extern func_01ffbe78 .extern func_01ffe61c .extern func_01fffb4c @@ -153,7 +153,7 @@ .extern func_ov00_0209d6e8 .extern func_ov00_0209d71c .extern func_ov00_020a5e9c -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020cfcec diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s index c495f74c..9c4fcf8f 100644 --- a/asm/ov00/Map/MapManager.s +++ b/asm/ov00/Map/MapManager.s @@ -388,7 +388,7 @@ _ZN10MapManager18func_ov00_02082538Ev: ; 0x02082538 addeq sp, sp, #0xc addeq r0, r0, #0x1a0 ldmeqia sp!, {r3, r4, pc} - ldr r1, _02082590 ; =data_027e0f94 + ldr r1, _02082590 ; =gPlayerPos add r0, sp, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -399,7 +399,7 @@ _ZN10MapManager18func_ov00_02082538Ev: ; 0x02082538 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02082590: .word data_027e0f94 +_02082590: .word gPlayerPos arm_func_end _ZN10MapManager18func_ov00_02082538Ev .global _ZN10MapManager18func_ov00_02082594Ev @@ -956,7 +956,7 @@ _02082bac: ldr r0, _02082ce8 ; =data_027e0f64 ldr r0, [r0] bl func_ov00_0208b13c - ldr r1, _02082cec ; =data_027e0fe4 + ldr r1, _02082cec ; =gActorManager mov r0, r6 ldr r4, [r1] bl _ZN10MapManager18func_ov00_02082d08Ev @@ -999,7 +999,7 @@ _02082bac: mov r3, #0 strb ip, [r6, #0x1d] blx func_ov04_021024c4 - ldr r0, _02082cec ; =data_027e0fe4 + ldr r0, _02082cec ; =gActorManager ldrb r1, [r5, #0x12] ldr r0, [r0] blx func_ov04_02105578 @@ -1012,7 +1012,7 @@ _02082c90: ldr r0, [r0] bl _ZN14AdventureFlags18func_ov00_020976c8Ev ldrb r1, [r5, #0x13] - ldr r0, _02082d00 ; =data_027e0f90 + ldr r0, _02082d00 ; =gPlayer mov r2, #0 strb r1, [r6, #0xc] ldr r0, [r0] @@ -1033,12 +1033,12 @@ _02082cd8: _02082ce0: .word data_027e0d38 _02082ce4: .word gAdventureFlags _02082ce8: .word data_027e0f64 -_02082cec: .word data_027e0fe4 +_02082cec: .word gActorManager _02082cf0: .word data_027e0f68 _02082cf4: .word data_027e0f6c _02082cf8: .word data_027e0f78 _02082cfc: .word data_027e103c -_02082d00: .word data_027e0f90 +_02082d00: .word gPlayer _02082d04: .word data_027e0c68 arm_func_end _ZN10MapManager18func_ov00_02082b3cEi @@ -1324,7 +1324,7 @@ _ZN10MapManager18func_ov00_0208306cEv: ; 0x0208306c add r0, r3, #2 cmp ip, r0 bne _02083138 - ldr r1, _02083154 ; =data_027e0f94 + ldr r1, _02083154 ; =gPlayerPos add r0, sp, #4 ldr r2, [r1, #4] ldr r3, [r1] @@ -1370,7 +1370,7 @@ _02083138: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02083154: .word data_027e0f94 +_02083154: .word gPlayerPos _02083158: .word data_027e0d38 arm_func_end _ZN10MapManager18func_ov00_0208306cEv @@ -1392,7 +1392,7 @@ _ZN10MapManager18func_ov00_0208315cEPiS0_: ; 0x0208315c add r1, r3, #2 cmp ip, r1 bne _02083220 - ldr r1, _0208323c ; =data_027e0f94 + ldr r1, _0208323c ; =gPlayerPos ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0x10] @@ -1436,7 +1436,7 @@ _02083220: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0208323c: .word data_027e0f94 +_0208323c: .word gPlayerPos _02083240: .word data_027e0d38 arm_func_end _ZN10MapManager18func_ov00_0208315cEPiS0_ @@ -1962,7 +1962,7 @@ _ZN10MapManager18func_ov00_020836dcEii: ; 0x020836dc mov r4, r1 cmpne r2, #1 bne _02083718 - ldr r0, _02083768 ; =data_027e0f94 + ldr r0, _02083768 ; =gPlayerPos ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp] @@ -1971,7 +1971,7 @@ _ZN10MapManager18func_ov00_020836dcEii: ; 0x020836dc str r0, [sp, #8] b _02083750 _02083718: - ldr r0, _0208376c ; =data_027e0fe4 + ldr r0, _0208376c ; =gActorManager mov r1, r2 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -1993,8 +1993,8 @@ _02083750: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02083768: .word data_027e0f94 -_0208376c: .word data_027e0fe4 +_02083768: .word gPlayerPos +_0208376c: .word gActorManager arm_func_end _ZN10MapManager18func_ov00_020836dcEii .global _ZN10MapManager18func_ov00_02083770Eji @@ -2050,7 +2050,7 @@ _ZN10MapManager18func_ov00_02083790Ei: ; 0x02083790 ldr r0, [r0] mov r2, #0x10 bl func_ov00_02079898 - ldr r0, _0208383c ; =data_027e0fe4 + ldr r0, _0208383c ; =gActorManager mov r1, r4 ldr r0, [r0] mov r2, #1 @@ -2065,7 +2065,7 @@ _0208381c: _02083830: .word data_027e0f64 _02083834: .word data_027e0d38 _02083838: .word data_027e0d3c -_0208383c: .word data_027e0fe4 +_0208383c: .word gActorManager arm_func_end _ZN10MapManager18func_ov00_02083790Ei .global _ZN10MapManager18func_ov00_02083840Ei @@ -2093,7 +2093,7 @@ _ZN10MapManager18func_ov00_02083840Ei: ; 0x02083840 mov r1, #0x10 ldr r0, [r0] bl func_ov00_020798bc - ldr r0, _020838c4 ; =data_027e0fe4 + ldr r0, _020838c4 ; =gActorManager mov r1, r4 ldr r0, [r0] mov r2, #0 @@ -2106,7 +2106,7 @@ _020838ac: .align 2, 0 _020838bc: .word data_027e0f64 _020838c0: .word data_027e0d3c -_020838c4: .word data_027e0fe4 +_020838c4: .word gActorManager arm_func_end _ZN10MapManager18func_ov00_02083840Ei .global _ZN10MapManager18func_ov00_020838c8Ei @@ -2352,7 +2352,7 @@ _02083ab4: ldr r3, [r5, #8] add r2, sp, #0xc str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r6, #4] ldr r1, [sp, #0x14] bl _ZN7MapBase15GetClampedTileYEi @@ -2679,9 +2679,9 @@ _ZN10MapManager16MapData_vfunc_68Ev: ; 0x02083ee0 ldmia sp!, {r3, pc} arm_func_end _ZN10MapManager16MapData_vfunc_68Ev - .global _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ - arm_func_start _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ -_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_: ; 0x02083ef8 + .global _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i + arm_func_start _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i +_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i: ; 0x02083ef8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc add ip, sp, #0 @@ -2701,7 +2701,7 @@ _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_: ; 0x02083ef8 blx ip add sp, sp, #0xc ldmia sp!, {r3, r4, pc} - arm_func_end _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + arm_func_end _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i .global _ZN10MapManager18func_ov00_02083f44EP5Vec3p arm_func_start _ZN10MapManager18func_ov00_02083f44EP5Vec3p @@ -2717,7 +2717,7 @@ _ZN10MapManager18func_ov00_02083f44EP5Vec3p: ; 0x02083f44 str lr, [sp] str ip, [sp, #4] str r4, [sp, #8] - bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -2802,11 +2802,11 @@ _ZN10MapManager18func_ov00_02084024EiP4AABB: ; 0x02084024 mov r0, r5 mov r2, r5 str r4, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0xc mov r2, r0 add r1, sp, #0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end _ZN10MapManager18func_ov00_02084024EiP4AABB @@ -3075,7 +3075,7 @@ _ZN10MapManager18func_ov00_0208433cEP5Vec3pi: ; 0x0208433c add r0, sp, #0x10 add r1, sp, #4 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r5, #4] add r0, sp, #0 add r2, sp, #0x10 @@ -3103,7 +3103,7 @@ _ZN10MapManager18func_ov00_0208439cEv: ; 0x0208439c add r1, sp, #0 mov r0, r4 mov r2, r4 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 mov r1, r4 mov r2, #1 @@ -3349,7 +3349,7 @@ _ZN10MapManager18func_ov00_02084700Ev: ; 0x02084700 ldreq r2, [r0, #0xc4] cmp r2, #0x1b bne _02084734 - ldr r0, _0208473c ; =data_027e0fe4 + ldr r0, _0208473c ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 @@ -3358,7 +3358,7 @@ _02084734: mov r0, r2 bx lr .align 2, 0 -_0208473c: .word data_027e0fe4 +_0208473c: .word gActorManager arm_func_end _ZN10MapManager18func_ov00_02084700Ev .global _ZN10MapManager18func_ov00_02084740Ev @@ -3374,7 +3374,7 @@ _ZN10MapManager18func_ov00_02084740Ev: ; 0x02084740 bl func_ov00_02078b40 cmp r0, #2 beq _020847a8 - ldr r0, _020847d8 ; =data_027e0f94 + ldr r0, _020847d8 ; =gPlayerPos add r1, sp, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -3405,7 +3405,7 @@ _020847b4: ldmia sp!, {r4, r5, pc} .align 2, 0 _020847d4: .word data_027e0d38 -_020847d8: .word data_027e0f94 +_020847d8: .word gPlayerPos _020847dc: .word data_ov00_020d88f0 arm_func_end _ZN10MapManager18func_ov00_02084740Ev @@ -3654,7 +3654,7 @@ _ZN10MapManager8SpawnNPCEP5Vec3pii: ; 0x02084a5c mov r6, r1 mov r5, r2 mov r4, r3 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -3681,7 +3681,7 @@ _02084ac0: .word 0x45564943 arm_func_start _ZN10MapManager18func_ov00_02084ac4Ej _ZN10MapManager18func_ov00_02084ac4Ej: ; 0x02084ac4 stmdb sp!, {r3, lr} - ldr r0, _02084b00 ; =data_027e0fe4 + ldr r0, _02084b00 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -3696,7 +3696,7 @@ _ZN10MapManager18func_ov00_02084ac4Ej: ; 0x02084ac4 moveq r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_02084b00: .word data_027e0fe4 +_02084b00: .word gActorManager _02084b04: .word 0x45564943 arm_func_end _ZN10MapManager18func_ov00_02084ac4Ej @@ -3988,7 +3988,7 @@ _02084de4: add r1, sp, #0x2c mov r0, r3 mov r2, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, _02084ea8 ; =data_ov00_020e2510 add r1, sp, #0x2c add r2, sp, #0x14 @@ -4008,7 +4008,7 @@ _02084de4: mov r3, r4 str r0, [r4, #8] ldr r0, [sp, #4] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [sp, #4] cmp r0, #0 addge sp, sp, #0x38 @@ -4024,7 +4024,7 @@ _02084de4: mov r2, r4 mov r3, r4 str ip, [r4, #8] - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #1 add sp, sp, #0x38 ldmia sp!, {r4, pc} @@ -4495,7 +4495,7 @@ _020854fc: beq _0208555c mov r1, r10 add r0, r5, #0x18 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, [r9] mov r4, r0 cmp r4, r1 @@ -4788,7 +4788,7 @@ _020858f8: bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p ldrb r3, [sp, #0x18] ldrb r2, [sp, #0x19] - ldr r1, _02085a30 ; =data_027e0f94 + ldr r1, _02085a30 ; =gPlayerPos add r0, r3, #1 sub r7, r3, #1 str r0, [sp, #4] @@ -4858,7 +4858,7 @@ _02085a20: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02085a2c: .word data_027e0f64 -_02085a30: .word data_027e0f94 +_02085a30: .word gPlayerPos arm_func_end _ZN10MapManager18func_ov00_020858b0Ev .global _ZN10MapManager18func_ov00_02085a34Eii @@ -5063,7 +5063,7 @@ _ZN10MapManager18func_ov00_02085c60Eiiii: ; 0x02085c60 mov r1, r4 mov r0, r3 mov r2, r3 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0xc000 mov r2, #0 umull r5, r3, r11, r1 @@ -5075,12 +5075,12 @@ _ZN10MapManager18func_ov00_02085c60Eiiii: ; 0x02085c60 mov r5, r2, lsr #0xc add r0, sp, #0x58 orr r5, r5, r1, lsl #20 - bl func_01ff9cec + bl Vec3p_Length cmp r0, r5 ble _02085d9c add r0, sp, #0x58 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x58 mov r1, r5 bl func_01fffbec @@ -5093,7 +5093,7 @@ _ZN10MapManager18func_ov00_02085c60Eiiii: ; 0x02085c60 str r1, [sp, #0x90] add r1, sp, #0x58 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x8c] ldr r1, [sp, #0x88] str r0, [sp, #0x74] @@ -5110,7 +5110,7 @@ _02085d9c: str ip, [sp, #0x58] str r5, [sp, #0x5c] str r3, [sp, #0x60] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, r4, lsl #0xb mov r0, #0x800 adds r2, r0, r11, lsl #11 @@ -5119,12 +5119,12 @@ _02085d9c: adc r1, r1, #0 mov r5, r2, lsr #0xc orr r5, r5, r1, lsl #20 - bl func_01ff9cec + bl Vec3p_Length cmp r0, r11 blt _02085e30 add r0, sp, #0x58 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x58 mov r1, r5 bl func_01fffbec @@ -5137,7 +5137,7 @@ _02085d9c: str r2, [sp, #0x78] add r1, sp, #0x58 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02085e30: mov r4, #0 mov r0, r11, lsl #0x1 @@ -5173,14 +5173,14 @@ _02085e48: str r2, [sp, #0x34] ldr r2, [r9, #0x14] str r2, [sp, #0x38] - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x30 mov r1, r11 bl func_01fffbec add r0, sp, #0x3c add r1, sp, #0x30 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x3c] ldr r2, _02086040 ; =0x0000ffff str r1, [r9] @@ -5332,7 +5332,7 @@ _ZN10MapManager18func_ov00_02086044Eiii: ; 0x02086044 mov r0, r4 mov r1, r3 add r2, sp, #0x80 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r9] mov r0, r10 bl _ZN10MapManager18func_ov00_020839d4Ev @@ -5372,7 +5372,7 @@ _02086164: ldr r0, [sp] mov r1, r9 add r2, sp, #0x5c - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r9] add r0, sp, #0x68 str r1, [sp, #0x28] @@ -5468,14 +5468,14 @@ _020862d0: stmia r3, {r0, r1, r2} mov r0, r8 mov r1, r3 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r2, [sp, #0x158] add r1, sp, #0x140 add r2, r2, r6 sub r6, r2, r0 mov r0, r8 mov r2, r1 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x140 bl func_01fffb4c cmp r0, #0 @@ -5492,7 +5492,7 @@ _02086340: add r1, sp, #0x140 mov r0, r8 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x14c add r3, sp, #0x128 ldmia r0, {r0, r1, r2} @@ -5500,7 +5500,7 @@ _02086340: add r2, sp, #0x134 mov r0, r7 mov r1, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x134 bl func_01fffb4c ldr r1, [sp, #0x134] @@ -5538,7 +5538,7 @@ _020863a8: beq _02086464 add r0, sp, #0x108 mov r1, r8 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, [sp, #0x120] cmp r0, r1 bgt _02086464 @@ -5563,14 +5563,14 @@ _020863a8: _02086464: add r1, sp, #0x108 mov r0, r8 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r2, [sp, #0x120] add r1, sp, #0x108 add r2, r2, r6 sub r6, r2, r0 mov r0, r8 mov r2, r1 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x108 bl func_01fffb4c cmp r0, #0 @@ -5587,7 +5587,7 @@ _020864b0: add r1, sp, #0x108 mov r0, r8 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x114 add r3, sp, #0xf0 ldmia r0, {r0, r1, r2} @@ -5597,7 +5597,7 @@ _020864b0: str r0, [sp, #0xf4] mov r0, r7 mov r1, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xfc bl func_01fffb4c ldr r1, [sp, #0xfc] @@ -5627,7 +5627,7 @@ _02086520: str r2, [sp, #0xc8] mov r0, r8 mov r2, r1 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc0 add r3, sp, #0xb4 ldmia r0, {r0, r1, r2} @@ -5990,7 +5990,7 @@ _ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_: ; 0x02086a84 ldr r6, [sp, #0xa4] ldr r5, [sp, #0xac] ldr r4, [sp, #0xb0] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r9 ldr r1, [r0] ldr r1, [r1, #8] @@ -6016,7 +6016,7 @@ _02086ae0: stmia r3, {r0, r1, r2} mov r0, r8 mov r1, r3 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r3, [sp, #0x74] ldr r2, [sp, #0xa0] add r1, sp, #0x68 @@ -6024,7 +6024,7 @@ _02086ae0: sub r6, r2, r0 add r2, sp, #0x5c mov r0, r8 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x5c bl func_01fffb4c cmp r0, #0 @@ -6041,7 +6041,7 @@ _02086b5c: add r1, sp, #0x5c mov r0, r8 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add b _02086b98 _02086b7c: add r0, sp, #0x78 @@ -6050,7 +6050,7 @@ _02086b7c: add r1, sp, #0x78 mov r0, r7 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add _02086b98: add r0, sp, #0x68 add r3, sp, #0x44 @@ -6059,7 +6059,7 @@ _02086b98: add r2, sp, #0x50 mov r0, r7 mov r1, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x50 bl func_01fffb4c ldr r1, [sp, #0x50] @@ -6088,7 +6088,7 @@ _02086be4: add r1, sp, #0x78 mov r0, r7 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x30 add r3, sp, #0x24 ldmia r0, {r0, r1, r2} @@ -6098,7 +6098,7 @@ _02086be4: str r2, [sp, #0x28] mov r0, r7 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 bl func_01fffb4c add sp, sp, #0x84 @@ -6119,11 +6119,11 @@ _02086c64: add r1, sp, #0x78 mov r2, r5 mov r0, r7 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r7 add r1, sp, #0 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 bl func_01fffb4c add sp, sp, #0x84 diff --git a/asm/ov00/Player/LinkStateBase.inc b/asm/ov00/Player/LinkStateBase.inc index ac8a0a58..a9a96d6d 100644 --- a/asm/ov00/Player/LinkStateBase.inc +++ b/asm/ov00/Player/LinkStateBase.inc @@ -6,25 +6,25 @@ .extern _ZN11ItemManager22UpdateSwordShieldInUseEv .extern _ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv .extern _ZN13PlayerControl18func_ov00_020af4a4Ev -.extern data_02050f54 +.extern gSinCosTable .extern data_027e0618 .extern data_027e0c68 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0e58 .extern data_027e0f64 .extern gAdventureFlags -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerAngle .extern data_027e0fb0 -.extern data_027e0fb8 +.extern gPlayerControl .extern data_027e0fcc .extern data_027e0fd4 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 -.extern func_01ff9bf8 -.extern func_01ffa0f4 +.extern Vec3p_Sub +.extern Atan2 .extern func_01ffe468 .extern func_01fffcd8 .extern func_0202b154 @@ -48,7 +48,7 @@ .extern func_ov00_020bb5f0 .extern func_ov00_020bb810 .extern func_ov00_020bbbd0 -.extern func_ov00_020bc46c +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern func_ov00_020bc48c .extern func_ov00_020bc500 .extern func_ov00_020bc71c @@ -58,7 +58,7 @@ .extern func_ov00_020bd3b0 .extern func_ov00_020c0d68 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern _ZN12ActorManager8GetActorEP8ActorRef .extern func_ov00_020c4048 diff --git a/asm/ov00/Player/LinkStateBase.s b/asm/ov00/Player/LinkStateBase.s index 57efdac1..fda130f5 100644 --- a/asm/ov00/Player/LinkStateBase.s +++ b/asm/ov00/Player/LinkStateBase.s @@ -111,7 +111,7 @@ _020a8084: _020a80c8: cmp r4, #0 beq _020a80e8 - ldr r0, _020a8104 ; =data_027e0fb8 + ldr r0, _020a8104 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020af4a4Ev cmp r0, #0 @@ -127,7 +127,7 @@ _020a80f0: _020a80f8: .word gAdventureFlags _020a80fc: .word data_027e0c68 _020a8100: .word data_027e0f64 -_020a8104: .word data_027e0fb8 +_020a8104: .word gPlayerControl arm_func_end _ZN13LinkStateBase8vfunc_24Ei .global _ZN13LinkStateBase8vfunc_28Ev @@ -292,11 +292,11 @@ _020a8234: .word func_ov00_020bbbd0 arm_func_start _ZN13LinkStateBase6TurnToEsii _ZN13LinkStateBase6TurnToEsii: ; 0x020a8238 stmdb sp!, {r4, lr} - ldr r0, _020a8274 ; =data_027e0fac + ldr r0, _020a8274 ; =gPlayerAngle mov r4, r2 mov r2, r3 bl func_0202b154 - ldr r0, _020a8274 ; =data_027e0fac + ldr r0, _020a8274 ; =gPlayerAngle ldr r1, _020a8278 ; =data_027e0fcc ldrsh r3, [r0] ldr r0, [r1] @@ -307,7 +307,7 @@ _ZN13LinkStateBase6TurnToEsii: ; 0x020a8238 bl func_ov00_020b4558 ldmia sp!, {r4, pc} .align 2, 0 -_020a8274: .word data_027e0fac +_020a8274: .word gPlayerAngle _020a8278: .word data_027e0fcc arm_func_end _ZN13LinkStateBase6TurnToEsii @@ -354,8 +354,8 @@ _ZN13LinkStateBase12ApplyImpulseEii: ; 0x020a82c4 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 + ldr r3, _020a8358 ; =gVec3p_ZERO + ldr lr, _020a835c ; =gSinCosTable mov r1, r4, lsl #0x1 ldrsh ip, [lr, r1] add r1, r4, #1 @@ -387,8 +387,8 @@ _ZN13LinkStateBase12ApplyImpulseEii: ; 0x020a82c4 str r0, [r5, #0x28] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020a8358: .word data_027e0d0c -_020a835c: .word data_02050f54 +_020a8358: .word gVec3p_ZERO +_020a835c: .word gSinCosTable arm_func_end _ZN13LinkStateBase12ApplyImpulseEii .global _ZN13LinkStateBase18func_ov00_020a8360Ei @@ -399,7 +399,7 @@ _ZN13LinkStateBase18func_ov00_020a8360Ei: ; 0x020a8360 mov r5, r0 add r0, sp, #0 mov r4, r1 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev add r2, sp, #0 mov r0, r5 mov r1, r4 @@ -417,7 +417,7 @@ _ZN13LinkStateBase18func_ov00_020a8390EiPv: ; 0x020a8390 add r0, sp, #0xc mov r6, r1 mov r5, r2 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -465,7 +465,7 @@ _ZN13LinkStateBase18func_ov00_020a8390EiPv: ; 0x020a8390 add r3, sp, #0xc str r4, [sp] bl func_ov00_020c4048 - ldr r0, _020a84b8 ; =data_027e0fe4 + ldr r0, _020a84b8 ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -487,7 +487,7 @@ _020a84a8: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020a84b4: .word data_027e0fe8 -_020a84b8: .word data_027e0fe4 +_020a84b8: .word gActorManager arm_func_end _ZN13LinkStateBase18func_ov00_020a8390EiPv .global _ZN13LinkStateBase18func_ov00_020a84bcEi @@ -555,7 +555,7 @@ _ZN13LinkStateBase18func_ov00_020a853cEP5Vec3p: ; 0x020a853c _020a8578: ldr r4, [r4, #8] mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r2, r0 add r1, sp, #0 mov r0, r4 @@ -728,7 +728,7 @@ _ZN13LinkStateBase18func_ov00_020a8704EPs: ; 0x020a8704 beq _020a876c ldr r0, [r5, #0x64] ldr r1, [r5, #0x6c] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 mov r0, r6 bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -754,7 +754,7 @@ _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi: ; 0x020a8774 mov r1, r0 add r2, sp, #0 mov r0, r5 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r6 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r1, r4, lsl #0x10 @@ -763,7 +763,7 @@ _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi: ; 0x020a8774 ldr r0, [r0, #0x2c] mov r2, r1, lsl #0x1 rsb lr, r0, #0 - ldr r3, _020a8840 ; =data_02050f54 + ldr r3, _020a8840 ; =gSinCosTable add r1, r2, #1 mov r0, r2, lsl #0x1 ldrsh r2, [r3, r0] @@ -785,7 +785,7 @@ _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi: ; 0x020a8774 add r1, r2, r1 str r0, [sp] str r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r4, r0, asr #16 mov r0, r0, lsl #0x10 @@ -797,7 +797,7 @@ _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi: ; 0x020a8774 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020a8840: .word data_02050f54 +_020a8840: .word gSinCosTable arm_func_end _ZN13LinkStateBase18func_ov00_020a8774EP5Vec3pi .global _ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb @@ -805,7 +805,7 @@ _020a8840: .word data_02050f54 _ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb: ; 0x020a8844 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 - ldr r4, _020a8948 ; =data_027e0fb8 + ldr r4, _020a8948 ; =gPlayerControl mov r6, r0 ldr r0, [r4] mov r5, r2 @@ -870,7 +870,7 @@ _020a8904: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020a8948: .word data_027e0fb8 +_020a8948: .word gPlayerControl _020a894c: .word data_027e0618 _020a8950: .word data_027e0f64 arm_func_end _ZN13LinkStateBase18func_ov00_020a8844EP5Vec3pbb @@ -1123,11 +1123,11 @@ _020a8bd4: .word data_027e0fcc .global _ZN13LinkStateBase19GetCurrentCharacterEv arm_func_start _ZN13LinkStateBase19GetCurrentCharacterEv _ZN13LinkStateBase19GetCurrentCharacterEv: ; 0x020a8bd8 - ldr ip, _020a8be4 ; =func_ov00_020bc46c + ldr ip, _020a8be4 ; =_ZN14PlayerLinkBase19GetCurrentCharacterEv ldr r0, [r0, #8] bx ip .align 2, 0 -_020a8be4: .word func_ov00_020bc46c +_020a8be4: .word _ZN14PlayerLinkBase19GetCurrentCharacterEv arm_func_end _ZN13LinkStateBase19GetCurrentCharacterEv .global _ZN13LinkStateBase20GetPlayerControlDataEv @@ -1164,7 +1164,7 @@ _ZN13LinkStateBase25GetCurrentCharacterHealthEv: ; 0x020a8c14 stmdb sp!, {r4, lr} ldr r4, [r0, #8] mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r1, r0 mov r0, r4 bl func_ov00_020bc48c @@ -1186,19 +1186,19 @@ _020a8c48: .word func_ov00_020b5268 .global _ZN13LinkStateBase12GetPlayerPosEv arm_func_start _ZN13LinkStateBase12GetPlayerPosEv _ZN13LinkStateBase12GetPlayerPosEv: ; 0x020a8c4c - ldr r0, _020a8c54 ; =data_027e0f94 + ldr r0, _020a8c54 ; =gPlayerPos bx lr .align 2, 0 -_020a8c54: .word data_027e0f94 +_020a8c54: .word gPlayerPos arm_func_end _ZN13LinkStateBase12GetPlayerPosEv .global _ZN13LinkStateBase12GetPlayerVelEv arm_func_start _ZN13LinkStateBase12GetPlayerVelEv _ZN13LinkStateBase12GetPlayerVelEv: ; 0x020a8c58 - ldr r0, _020a8c60 ; =data_027e0fa0 + ldr r0, _020a8c60 ; =gPlayerVel bx lr .align 2, 0 -_020a8c60: .word data_027e0fa0 +_020a8c60: .word gPlayerVel arm_func_end _ZN13LinkStateBase12GetPlayerVelEv .global _ZN13LinkStateBase18func_ov00_020a8c64Ev @@ -1215,10 +1215,10 @@ _020a8c74: .word data_027e0fd4 .global _ZN13LinkStateBase14GetPlayerAngleEv arm_func_start _ZN13LinkStateBase14GetPlayerAngleEv _ZN13LinkStateBase14GetPlayerAngleEv: ; 0x020a8c78 - ldr r0, _020a8c80 ; =data_027e0fac + ldr r0, _020a8c80 ; =gPlayerAngle bx lr .align 2, 0 -_020a8c80: .word data_027e0fac +_020a8c80: .word gPlayerAngle arm_func_end _ZN13LinkStateBase14GetPlayerAngleEv .global _ZN13LinkStateBase15GetPlayer_Unk18Ev @@ -1244,14 +1244,14 @@ _020a8ca0: .word data_027e0fcc .global _ZN13LinkStateBase12GetGrabActorEv arm_func_start _ZN13LinkStateBase12GetGrabActorEv _ZN13LinkStateBase12GetGrabActorEv: ; 0x020a8ca4 - ldr r1, _020a8cbc ; =data_027e0fe4 + ldr r1, _020a8cbc ; =gActorManager ldr r2, [r0, #8] ldr r0, [r1] ldr ip, _020a8cc0 ; =_ZN12ActorManager8GetActorEP8ActorRef add r1, r2, #0x3c bx ip .align 2, 0 -_020a8cbc: .word data_027e0fe4 +_020a8cbc: .word gActorManager _020a8cc0: .word _ZN12ActorManager8GetActorEP8ActorRef arm_func_end _ZN13LinkStateBase12GetGrabActorEv diff --git a/asm/ov00/Player/LinkStateDamage.inc b/asm/ov00/Player/LinkStateDamage.inc index af8e46c7..ea53c577 100644 --- a/asm/ov00/Player/LinkStateDamage.inc +++ b/asm/ov00/Player/LinkStateDamage.inc @@ -42,8 +42,8 @@ .extern data_ov00_020e9c88 .extern data_ov00_020eec68 .extern data_ov00_020eec9c -.extern func_01ff9bc4 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Atan2 .extern func_02019534 .extern func_0201e388 .extern func_0202d95c diff --git a/asm/ov00/Player/LinkStateDamage.s b/asm/ov00/Player/LinkStateDamage.s index 45791979..d4f7b6e6 100644 --- a/asm/ov00/Player/LinkStateDamage.s +++ b/asm/ov00/Player/LinkStateDamage.s @@ -428,7 +428,7 @@ _020ac400: bl _ZN13LinkStateBase12GetPlayerPosEv add r1, r5, #0x34 add r2, sp, #8 - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #8 str r1, [sp] mov r0, #1 @@ -861,7 +861,7 @@ _ZN15LinkStateDamage18func_ov00_020aca50Ev: ; 0x020aca50 bl _ZN13LinkStateBase12GetPlayerPosEv add r2, sp, #0 add r1, r4, #0x1c - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x3c ldr r2, [r0] add r1, sp, #0 @@ -965,7 +965,7 @@ _020acbb0: str r0, [sp] str r2, [sp, #4] str r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r7, r0, lsl #0x10 mov r0, r6 mov r4, r7, asr #0x10 @@ -1049,7 +1049,7 @@ _020acce4: str r1, [r0, #8] ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r4, r0 mov r0, r6 bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -1141,7 +1141,7 @@ _020ace44: mov r2, r0 add r1, sp, #0 mov r0, r4 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 @@ -1173,7 +1173,7 @@ _ZN15LinkStateDamage18func_ov00_020ace90EP5Vec3pi: ; 0x020ace90 str r1, [r0, #8] ldr r0, [r6] ldr r1, [r6, #8] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r6, r1, asr #0x10 diff --git a/asm/ov00/Player/LinkStateFollow.inc b/asm/ov00/Player/LinkStateFollow.inc index c5775e7b..c20ad0f6 100644 --- a/asm/ov00/Player/LinkStateFollow.inc +++ b/asm/ov00/Player/LinkStateFollow.inc @@ -11,9 +11,9 @@ .extern _ZN13PlayerControl13StopFollowingEv .extern _ZN13PlayerControl18func_ov00_020af01cEPc .extern gMapManager -.extern data_027e0fb8 -.extern func_01ff9bf8 -.extern func_01ff9cec +.extern gPlayerControl +.extern Vec3p_Sub +.extern Vec3p_Length .extern func_01fffcd8 .extern func_0202b308 .extern func_0202d95c diff --git a/asm/ov00/Player/LinkStateFollow.s b/asm/ov00/Player/LinkStateFollow.s index bf598b3c..d0955a14 100644 --- a/asm/ov00/Player/LinkStateFollow.s +++ b/asm/ov00/Player/LinkStateFollow.s @@ -42,11 +42,11 @@ _ZN15LinkStateFollow16MoveTowardTargetEv: ; 0x020a8f80 mov r1, r0 add r2, sp, #0 add r0, r4, #0x18 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0 str r1, [sp, #4] - bl func_01ff9cec + bl Vec3p_Length ldr r1, _020a9024 ; =0x00000155 cmp r0, r1 addlt sp, sp, #0xc @@ -71,7 +71,7 @@ _ZN15LinkStateFollow12OnStateLeaveEi: ; 0x020a9028 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 bl _ZN13LinkStateBase12OnStateLeaveEi - ldr r0, _020a90a8 ; =data_027e0fb8 + ldr r0, _020a90a8 ; =gPlayerControl ldr r0, [r0] ldrb r1, [r0, #0x80] cmp r1, #0 @@ -102,7 +102,7 @@ _020a904c: bl func_ov14_0214bd08 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020a90a8: .word data_027e0fb8 +_020a90a8: .word gPlayerControl _020a90ac: .word gMapManager arm_func_end _ZN15LinkStateFollow12OnStateLeaveEi @@ -189,7 +189,7 @@ _ZN15LinkStateFollow8vfunc_34EP5Vec3p: ; 0x020a915c arm_func_start _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p: ; 0x020a9180 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _020a9208 ; =data_027e0fb8 + ldr r2, _020a9208 ; =gPlayerControl mov r4, r1 ldr r3, [r2] ldr r5, [r3, #0xa0] @@ -224,7 +224,7 @@ _020a91f0: moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020a9208: .word data_027e0fb8 +_020a9208: .word gPlayerControl _020a920c: .word gMapManager arm_func_end _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p diff --git a/asm/ov00/Player/LinkStateInteract.inc b/asm/ov00/Player/LinkStateInteract.inc index 01e57bcd..241e3697 100644 --- a/asm/ov00/Player/LinkStateInteract.inc +++ b/asm/ov00/Player/LinkStateInteract.inc @@ -41,17 +41,17 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZNK11ItemManager16GetEquippedFairyEv .extern _ZNK11ItemManager8GetFairyEi -.extern data_02050f54 -.extern data_027e0d0c +.extern gSinCosTable +.extern gVec3p_ZERO .extern gMapManager -.extern data_027e0fb8 -.extern data_027e0fe4 +.extern gPlayerControl +.extern gActorManager .extern data_ov00_020eec9c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9e64 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Axpy +.extern Atan2 .extern func_01ffbe78 .extern func_01fffcd8 .extern func_0202bba8 diff --git a/asm/ov00/Player/LinkStateInteract.s b/asm/ov00/Player/LinkStateInteract.s index 93aeb639..1300ee06 100644 --- a/asm/ov00/Player/LinkStateInteract.s +++ b/asm/ov00/Player/LinkStateInteract.s @@ -280,7 +280,7 @@ _020aa590: bl _ZN13LinkStateBase15ChangeLinkStateEi b _020aa778 _020aa5a0: - ldr r0, _020aa78c ; =data_027e0fb8 + ldr r0, _020aa78c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev ldr r1, _020aa790 ; =data_ov00_020e592c @@ -307,7 +307,7 @@ _020aa5d4: bl func_ov00_020d7b20 ldr r0, [r4, #0x18] ldr r1, [r4, #0x20] - bl func_01ffa0f4 + bl Atan2 mov r5, r0 mov r0, r4 bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -327,7 +327,7 @@ _020aa634: beq _020aa674 ldr r0, [r4, #0x18] ldr r1, [r4, #0x20] - bl func_01ffa0f4 + bl Atan2 mov r5, r0 mov r0, r4 bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -343,10 +343,10 @@ _020aa674: bl _ZN13LinkStateBase15ChangeLinkStateEi b _020aa778 _020aa684: - ldr r0, _020aa78c ; =data_027e0fb8 + ldr r0, _020aa78c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev - ldr r0, _020aa7a8 ; =data_027e0fe4 + ldr r0, _020aa7a8 ; =gActorManager add r1, r4, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -404,7 +404,7 @@ _020aa74c: str r0, [r4, #0xc] b _020aa778 _020aa75c: - ldr r0, _020aa78c ; =data_027e0fb8 + ldr r0, _020aa78c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev b _020aa778 @@ -419,14 +419,14 @@ _020aa778: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020aa78c: .word data_027e0fb8 +_020aa78c: .word gPlayerControl _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 +_020aa7a8: .word gActorManager _020aa7ac: .word data_ov00_020e5908 arm_func_end _ZN17LinkStateInteract12OnStateEnterEv @@ -436,7 +436,7 @@ _ZN17LinkStateInteract12OnStateLeaveEi: ; 0x020aa7b0 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN13LinkStateBase12OnStateLeaveEi - ldr r0, _020aa814 ; =data_027e0fb8 + ldr r0, _020aa814 ; =gPlayerControl ldr r0, [r0] ldrb r1, [r0, #0x80] cmp r1, #0 @@ -460,7 +460,7 @@ _020aa7d4: str r1, [r0, #4] ldmia sp!, {r4, pc} .align 2, 0 -_020aa814: .word data_027e0fb8 +_020aa814: .word gPlayerControl arm_func_end _ZN17LinkStateInteract12OnStateLeaveEi .global _ZN17LinkStateInteract18func_ov00_020aa818Ev @@ -491,7 +491,7 @@ _ZN17LinkStateInteract18func_ov00_020aa844EP5Actor: ; 0x020aa844 mov r1, r0 add r2, sp, #0x20 add r0, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r5 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r6, [r0] @@ -503,7 +503,7 @@ _ZN17LinkStateInteract18func_ov00_020aa844EP5Actor: ; 0x020aa844 mov r0, r1, asr #0x4 mov r0, r0, lsl #0x1 add r0, r0, #1 - ldr r3, _020aabd0 ; =data_02050f54 + ldr r3, _020aabd0 ; =gSinCosTable mov r1, r0, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r9, [r3, r2] @@ -714,7 +714,7 @@ _020aab34: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_020aabd0: .word data_02050f54 +_020aabd0: .word gSinCosTable _020aabd4: .word 0x00000155 arm_func_end _ZN17LinkStateInteract18func_ov00_020aa844EP5Actor @@ -751,7 +751,7 @@ _020aac14: sub r0, r0, #9 cmp r0, #1 bhi _020aacf4 - ldr r1, _020ab3c0 ; =data_027e0d0c + ldr r1, _020ab3c0 ; =gVec3p_ZERO mov r0, r4 ldr r2, [r1] str r2, [r4, #0x18] @@ -761,7 +761,7 @@ _020aac14: str r1, [r4, #0x20] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r1, [r0] - ldr r2, _020ab3c4 ; =data_02050f54 + ldr r2, _020ab3c4 ; =gSinCosTable ldr r0, _020ab3c8 ; =0x000004cd mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -807,14 +807,14 @@ _020aacf4: bne _020aad64 cmp r6, #0 bne _020aad3c - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl add r1, r4, #0x18 ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p cmp r0, #0 beq _020aad64 _020aad3c: - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl mov r1, #0 ldr r2, [r0] mov r0, #5 @@ -827,7 +827,7 @@ _020aad3c: _020aad64: cmp r6, #0 bne _020aad88 - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl mov r2, r5 ldr r0, [r0] add r1, r4, #0x18 @@ -835,7 +835,7 @@ _020aad64: cmp r0, #0 beq _020aadb0 _020aad88: - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl mov r1, #0 ldr r2, [r0] mov r0, #3 @@ -850,8 +850,8 @@ _020aadb0: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020aadbc: - ldr r1, _020ab3cc ; =data_027e0fb8 - ldr r0, _020ab3d0 ; =data_027e0fe4 + ldr r1, _020ab3cc ; =gPlayerControl + ldr r0, _020ab3d0 ; =gActorManager ldr r3, [r1] ldr r0, [r0] ldr r2, [r3, #0x84] @@ -864,7 +864,7 @@ _020aadbc: bne _020aae38 mov r0, r4 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev - ldr r2, _020ab3cc ; =data_027e0fb8 + ldr r2, _020ab3cc ; =gPlayerControl ldr r1, [r0, #0xe0] ldr r0, [r2] bl _ZN13PlayerControl18func_ov00_020b0ad0EP5Actor @@ -883,7 +883,7 @@ _020aae2c: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020aae38: - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x80] cmp r0, #0 @@ -891,7 +891,7 @@ _020aae38: movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, pc} _020aae54: - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl cmp r5, #0 movne r2, #1 ldr r1, [r6, #0x12c] @@ -900,7 +900,7 @@ _020aae54: bl _ZN13PlayerControl18func_ov00_020afe88Eib cmp r0, #0 bne _020aae90 - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv add sp, sp, #0xc8 @@ -918,7 +918,7 @@ _020aae90: add r1, r6, #0x60 add r2, r6, #0x48 mov r0, #0x6000 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0 ldr r1, _020ab3d4 ; =0x0000ffff strh r0, [sp, #0x94] @@ -976,7 +976,7 @@ _020aaf88: mov r1, r0 add r0, sp, #0x5c add r2, sp, #0x50 - bl func_01ff9bf8 + bl Vec3p_Sub add r1, sp, #0x40 mov r0, r6 bl _ZN5Actor9GetHitboxEP8Cylinder @@ -994,10 +994,10 @@ _020aafbc: ; jump table b _020ab398 ; case 6 _020aafd8: add r0, sp, #0x50 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x800 bge _020aaff4 - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev _020aaff4: @@ -1031,7 +1031,7 @@ _020ab000: ldmia sp!, {r4, r5, r6, r7, r8, pc} _020ab060: add r0, sp, #0x50 - bl func_01ff9cec + bl Vec3p_Length ldr r1, [sp, #0x4c] mov r5, r0 add r0, r1, #0x3800 @@ -1039,7 +1039,7 @@ _020ab060: bge _020ab1d8 ldr r0, [sp, #0x50] ldr r1, [sp, #0x58] - bl func_01ffa0f4 + bl Atan2 ldr r1, _020ab3dc ; =0x00001ccd mov r0, r0, lsl #0x10 cmp r5, r1 @@ -1105,7 +1105,7 @@ _020ab160: b _020ab1d8 _020ab170: add r0, sp, #0x50 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x4000 bge _020ab1d8 mov r0, r4 @@ -1113,8 +1113,8 @@ _020ab170: mov r1, r0 add r0, r6, #0x48 add r2, r4, #0x18 - bl func_01ff9bf8 - ldr r0, _020ab3cc ; =data_027e0fb8 + bl Vec3p_Sub + ldr r0, _020ab3cc ; =gPlayerControl mov r1, #0 ldr r2, [r0] strb r1, [r2, #0x79] @@ -1136,7 +1136,7 @@ _020ab1d8: ldmia sp!, {r4, r5, r6, r7, r8, pc} _020ab1e4: add r0, sp, #0x50 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x400 bge _020ab2a4 mov r0, r4 @@ -1144,7 +1144,7 @@ _020ab1e4: mov r1, r0 add r0, sp, #0x40 add r2, sp, #0x34 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x34] cmp r0, #0 ldreq r0, [sp, #0x3c] @@ -1152,7 +1152,7 @@ _020ab1e4: beq _020ab278 ldr r0, [sp, #0x34] ldr r1, [sp, #0x3c] - bl func_01ffa0f4 + bl Atan2 mov r6, r0, lsl #0x10 mov r0, r6, asr #0x10 bl func_0202bbbc @@ -1190,7 +1190,7 @@ _020ab2a4: ldmia sp!, {r4, r5, r6, r7, r8, pc} _020ab2b0: add r0, sp, #0x50 - bl func_01ff9cec + bl Vec3p_Length ldr r1, [sp, #0x4c] add r1, r1, #0xc00 cmp r0, r1 @@ -1251,7 +1251,7 @@ _020ab38c: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} _020ab398: - ldr r0, _020ab3cc ; =data_027e0fb8 + ldr r0, _020ab3cc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv add sp, sp, #0xc8 @@ -1263,11 +1263,11 @@ _020ab3b0: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020ab3bc: .word gItemManager -_020ab3c0: .word data_027e0d0c -_020ab3c4: .word data_02050f54 +_020ab3c0: .word gVec3p_ZERO +_020ab3c4: .word gSinCosTable _020ab3c8: .word 0x000004cd -_020ab3cc: .word data_027e0fb8 -_020ab3d0: .word data_027e0fe4 +_020ab3cc: .word gPlayerControl +_020ab3d0: .word gActorManager _020ab3d4: .word 0x0000ffff _020ab3d8: .word gMapManager _020ab3dc: .word 0x00001ccd @@ -1379,7 +1379,7 @@ _020ab4ec: mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 add r1, r5, #1 - ldr ip, _020ab60c ; =data_02050f54 + ldr ip, _020ab60c ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r3, [ip, r1] ldr r6, _020ab610 ; =0x00000b33 @@ -1439,7 +1439,7 @@ _020ab604: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_020ab60c: .word data_02050f54 +_020ab60c: .word gSinCosTable _020ab610: .word 0x00000b33 arm_func_end _ZN17LinkStateInteract8vfunc_34EP5Vec3p @@ -1454,7 +1454,7 @@ _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p: ; 0x020ab614 movs ip, r0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} - ldr r0, _020ab67c ; =data_027e0d0c + ldr r0, _020ab67c ; =gVec3p_ZERO add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -1473,7 +1473,7 @@ _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p: ; 0x020ab614 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_020ab67c: .word data_027e0d0c +_020ab67c: .word gVec3p_ZERO arm_func_end _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p .global _ZN17LinkStateInteract15SetBombVelocityEP5Vec3p @@ -1557,7 +1557,7 @@ _020ab76c: .word 0x54535542 arm_func_start _ZN17LinkStateInteract18func_ov00_020ab770EP5Vec3p _ZN17LinkStateInteract18func_ov00_020ab770EP5Vec3p: ; 0x020ab770 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _020ab7b8 ; =data_027e0fb8 + ldr r2, _020ab7b8 ; =gPlayerControl mov r6, r0 ldr r0, [r2] mov r5, r1 @@ -1577,7 +1577,7 @@ _020ab7b0: ldr r0, [r4, #0x12c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020ab7b8: .word data_027e0fb8 +_020ab7b8: .word gPlayerControl arm_func_end _ZN17LinkStateInteract18func_ov00_020ab770EP5Vec3p .global _ZN17LinkStateInteract18func_ov00_020ab7bcEP5Vec3pP5Actor @@ -1615,13 +1615,13 @@ _020ab818: bl _ZN13LinkStateBase12GetPlayerPosEv add r2, sp, #0x10 mov r1, r5 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0xc] ldr r0, [sp, #0x10] add r2, r1, #0x66 ldr r1, [sp, #0x18] add r4, r2, #0x600 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl func_0202bbbc @@ -1672,7 +1672,7 @@ _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p: ; 0x020ab8cc mov r1, r0 mov r0, r4 add r2, r5, #0x18 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r5, #0x18 mov r2, r0 mov r1, #0x1000 @@ -1692,7 +1692,7 @@ _ZN17LinkStateInteract14SetThrowOffsetEP5Vec3p: ; 0x020ab908 mov r1, r0 mov r0, r4 add r2, r5, #0x18 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #3 str r0, [r5, #4] ldmia sp!, {r3, r4, r5, pc} @@ -1712,7 +1712,7 @@ _ZN17LinkStateInteract18func_ov00_020ab934EP5Vec3p: ; 0x020ab934 mov r1, r0 mov r0, r4 add r2, r5, #0x18 - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #3 mov r0, r5 mov r1, #2 @@ -1735,7 +1735,7 @@ _ZN17LinkStateInteract18func_ov00_020ab97cEP5Vec3p: ; 0x020ab97c mov r1, r0 mov r0, r4 add r2, r5, #0x18 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #4 str r0, [r5, #4] ldmia sp!, {r3, r4, r5, pc} @@ -1765,7 +1765,7 @@ _ZN17LinkStateInteract18func_ov00_020ab9b8Ejb: ; 0x020ab9b8 bl _ZN13LinkStateBase12GetPlayerPosEv add r2, sp, #0xc add r1, r7, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #4] ldr r0, _020abb64 ; =0x424b4559 cmp r1, r0 @@ -1812,7 +1812,7 @@ _020aba70: mla r0, r3, r2, r0 adds r1, r1, #0x800 add r5, ip, #1 - ldr r6, _020abb70 ; =data_02050f54 + ldr r6, _020abb70 ; =gSinCosTable mov r3, ip, lsl #0x1 mov r2, r5, lsl #0x1 ldrsh r3, [r6, r3] @@ -1859,7 +1859,7 @@ _020abb30: _020abb64: .word 0x424b4559 _020abb68: .word 0x464f5243 _020abb6c: .word 0x0000028f -_020abb70: .word data_02050f54 +_020abb70: .word gSinCosTable _020abb74: .word data_ov00_020eec9c arm_func_end _ZN17LinkStateInteract18func_ov00_020ab9b8Ejb @@ -1976,7 +1976,7 @@ _ZN17LinkStateInteract18func_ov00_020abc78EP8ActorRef: ; 0x020abc78 beq _020abce0 cmp r0, #1 bne _020abcd8 - ldr r0, _020abd6c ; =data_027e0fb8 + ldr r0, _020abd6c ; =gPlayerControl mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x79] @@ -1986,7 +1986,7 @@ _020abcd8: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} _020abce0: - ldr r0, _020abd70 ; =data_027e0fe4 + ldr r0, _020abd70 ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2022,8 +2022,8 @@ _020abce0: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020abd6c: .word data_027e0fb8 -_020abd70: .word data_027e0fe4 +_020abd6c: .word gPlayerControl +_020abd70: .word gActorManager _020abd74: .word data_ov00_020eec9c arm_func_end _ZN17LinkStateInteract18func_ov00_020abc78EP8ActorRef diff --git a/asm/ov00/Player/LinkStateItem.inc b/asm/ov00/Player/LinkStateItem.inc index 9b667992..a60d73a5 100644 --- a/asm/ov00/Player/LinkStateItem.inc +++ b/asm/ov00/Player/LinkStateItem.inc @@ -5,11 +5,11 @@ .extern _ZN13LinkStateBase8vfunc_34EP5Vec3p .extern _ZN13PlayerControl13StopFollowingEv .extern gAdventureFlags -.extern data_027e0fb8 +.extern gPlayerControl .extern data_027e103c .extern data_027e1098 .extern func_01fffcd8 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN14AdventureFlags18func_ov00_02097b9cEv .extern func_ov00_020b7e6c .extern func_ov00_020cf01c diff --git a/asm/ov00/Player/LinkStateItem.s b/asm/ov00/Player/LinkStateItem.s index c0ee3e4f..fa39c3a9 100644 --- a/asm/ov00/Player/LinkStateItem.s +++ b/asm/ov00/Player/LinkStateItem.s @@ -145,7 +145,7 @@ _020abf0c: cmp r6, r4 bne _020abf0c _020abf20: - ldr r0, _020abf4c ; =data_027e0fb8 + ldr r0, _020abf4c ; =gPlayerControl ldr r0, [r0] ldrb r1, [r0, #0x80] cmp r1, #0 @@ -158,17 +158,17 @@ _020abf38: .align 2, 0 _020abf44: .word data_027e103c _020abf48: .word data_027e1098 -_020abf4c: .word data_027e0fb8 +_020abf4c: .word gPlayerControl arm_func_end _ZN13LinkStateItem12OnStateLeaveEi .global _ZN13LinkStateItem15GetEquipBombchuEv arm_func_start _ZN13LinkStateItem15GetEquipBombchuEv _ZN13LinkStateItem15GetEquipBombchuEv: ; 0x020abf50 - ldr ip, _020abf5c ; =func_01fffcec + ldr ip, _020abf5c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #7 bx ip .align 2, 0 -_020abf5c: .word func_01fffcec +_020abf5c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end _ZN13LinkStateItem15GetEquipBombchuEv .global _ZN13LinkStateItem16GetLinkStateMoveEv diff --git a/asm/ov00/Player/LinkStateRoll.inc b/asm/ov00/Player/LinkStateRoll.inc index 45e2b8f3..a43c441d 100644 --- a/asm/ov00/Player/LinkStateRoll.inc +++ b/asm/ov00/Player/LinkStateRoll.inc @@ -24,10 +24,10 @@ .extern _ZN13PlayerControl18_ZN13PlayerControl18func_ov00_020aeeacEvEv .extern _ZN13PlayerControl18func_ov00_020b034cEv .extern _ZN13PlayerControl18func_ov00_020b12d0EPs -.extern data_02050f54 +.extern gSinCosTable .extern data_027e0618 .extern data_027e0e58 -.extern data_027e0fb8 +.extern gPlayerControl .extern data_ov00_020eec9c .extern func_ov00_0207c39c .extern func_ov00_0207c444 diff --git a/asm/ov00/Player/LinkStateRoll.s b/asm/ov00/Player/LinkStateRoll.s index 8aeda569..81c2e805 100644 --- a/asm/ov00/Player/LinkStateRoll.s +++ b/asm/ov00/Player/LinkStateRoll.s @@ -69,7 +69,7 @@ _020ae7e8: mov r1, r5, asr #0x4 mov r2, r1, lsl #0x1 mov r6, r2, lsl #0x1 - ldr r5, _020aeb10 ; =data_02050f54 + ldr r5, _020aeb10 ; =gSinCosTable add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh lr, [r5, r2] @@ -115,7 +115,7 @@ _020ae7e8: ldr r1, _020aeb14 ; =0x0000019a str r1, [r0, #4] _020ae8f0: - ldr r0, _020aeb18 ; =data_027e0fb8 + ldr r0, _020aeb18 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv ldr r1, _020aeb1c ; =data_ov00_020e6078 @@ -262,9 +262,9 @@ _020aeb08: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_020aeb10: .word data_02050f54 +_020aeb10: .word gSinCosTable _020aeb14: .word 0x0000019a -_020aeb18: .word data_027e0fb8 +_020aeb18: .word gPlayerControl _020aeb1c: .word data_ov00_020e6078 _020aeb20: .word data_ov00_020eec9c _020aeb24: .word data_ov00_020e6088 @@ -360,7 +360,7 @@ _ZN13LinkStateRoll8vfunc_20Ei: ; 0x020aec10 bl _ZN13LinkStateBase18func_ov00_020a8b80Ev cmp r0, #0 beq _020aecc8 - ldr r1, _020aed84 ; =data_027e0fb8 + ldr r1, _020aed84 ; =gPlayerControl mov r0, r5 ldr r6, [r1] bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -419,12 +419,12 @@ _020aed08: ldr r0, _020aed8c ; =0x0000099a cmp r1, r0 blt _020aed70 - ldr r0, _020aed84 ; =data_027e0fb8 + ldr r0, _020aed84 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv cmp r0, #0 ble _020aed70 - ldr r0, _020aed84 ; =data_027e0fb8 + ldr r0, _020aed84 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv mov r2, #0 @@ -444,7 +444,7 @@ _020aed7c: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020aed84: .word data_027e0fb8 +_020aed84: .word gPlayerControl _020aed88: .word data_027e0618 _020aed8c: .word 0x0000099a arm_func_end _ZN13LinkStateRoll8vfunc_20Ei diff --git a/asm/ov00/Player/PlayerBase.inc b/asm/ov00/Player/PlayerBase.inc index 73867f5f..7d72dd6b 100644 --- a/asm/ov00/Player/PlayerBase.inc +++ b/asm/ov00/Player/PlayerBase.inc @@ -1,6 +1,6 @@ #pragma once .extern _ZN11ItemManager18EquipItem_vfunc_2cEi -.extern _ZN11ItemManager18EquipItem_vfunc_3cEP5Vec4pi +.extern _ZN11ItemManager17EquipCollidesWithEP8Cylinderi .extern _ZN13PlayerControl9UpdateAimEv .extern _ZNK11ItemManager16GetEquippedFairyEv .extern _ZNK11ItemManager8GetFairyEi @@ -9,16 +9,16 @@ .extern gMapManager .extern data_027e0f64 .extern gAdventureFlags -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerAngle .extern data_027e0fb0 -.extern data_027e0fb8 -.extern data_027e0fe4 -.extern func_01ff9bf8 -.extern func_01ffa0f4 -.extern func_01ffec34 -.extern func_01fffcec +.extern gPlayerControl +.extern gActorManager +.extern Vec3p_Sub +.extern Atan2 +.extern _ZN8Cylinder8OverlapsEPS_ +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_ov00_0207c5d4 .extern _ZN10MapManager18func_ov00_02082af4Ev .extern _ZN10MapManager14GetEntrancePosEP5Vec3pi diff --git a/asm/ov00/Player/PlayerBase.s b/asm/ov00/Player/PlayerBase.s index 3c0580a3..8b2bd72f 100644 --- a/asm/ov00/Player/PlayerBase.s +++ b/asm/ov00/Player/PlayerBase.s @@ -71,21 +71,21 @@ _020a7b88: .word data_027e0e58 .global _ZN10PlayerBase13GetEquipSwordEv arm_func_start _ZN10PlayerBase13GetEquipSwordEv _ZN10PlayerBase13GetEquipSwordEv: ; 0x020a7b8c - ldr ip, _020a7b98 ; =func_01fffcec + ldr ip, _020a7b98 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_020a7b98: .word func_01fffcec +_020a7b98: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end _ZN10PlayerBase13GetEquipSwordEv .global _ZN10PlayerBase14GetEquipShieldEv arm_func_start _ZN10PlayerBase14GetEquipShieldEv _ZN10PlayerBase14GetEquipShieldEv: ; 0x020a7b9c - ldr ip, _020a7ba8 ; =func_01fffcec + ldr ip, _020a7ba8 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_020a7ba8: .word func_01fffcec +_020a7ba8: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end _ZN10PlayerBase14GetEquipShieldEv .global _ZN10PlayerBase6LookAtEP5Vec3p @@ -94,9 +94,9 @@ _ZN10PlayerBase6LookAtEP5Vec3p: ; 0x020a7bac stmdb sp!, {lr} sub sp, sp, #0xc mov r0, r1 - ldr r1, _020a7bf8 ; =data_027e0f94 + ldr r1, _020a7bf8 ; =gPlayerPos add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] cmp r0, #0 ldreq r0, [sp, #8] @@ -105,14 +105,14 @@ _ZN10PlayerBase6LookAtEP5Vec3p: ; 0x020a7bac ldmeqia sp!, {pc} ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 - ldr r1, _020a7bfc ; =data_027e0fac + bl Atan2 + ldr r1, _020a7bfc ; =gPlayerAngle strh r0, [r1] add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_020a7bf8: .word data_027e0f94 -_020a7bfc: .word data_027e0fac +_020a7bf8: .word gPlayerPos +_020a7bfc: .word gPlayerAngle arm_func_end _ZN10PlayerBase6LookAtEP5Vec3p .global _ZN10PlayerBase18func_ov00_020a7c00Ei @@ -128,9 +128,9 @@ _ZN10PlayerBase18func_ov00_020a7c00Ei: ; 0x020a7c00 _020a7c18: .word data_027e0c54 arm_func_end _ZN10PlayerBase18func_ov00_020a7c00Ei - .global _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder - arm_func_start _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder -_ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder: ; 0x020a7c1c + .global _ZN10PlayerBase12CollidesWithEP8Cylinder + arm_func_start _ZN10PlayerBase12CollidesWithEP8Cylinder +_ZN10PlayerBase12CollidesWithEP8Cylinder: ; 0x020a7c1c stmdb sp!, {r4, lr} sub sp, sp, #0x10 ldr r2, [r0] @@ -145,10 +145,10 @@ _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder: ; 0x020a7c1c ldmltia sp!, {r4, pc} add r1, sp, #0 mov r0, r4 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ add sp, sp, #0x10 ldmia sp!, {r4, pc} - arm_func_end _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + arm_func_end _ZN10PlayerBase12CollidesWithEP8Cylinder .global _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i arm_func_start _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i @@ -188,17 +188,17 @@ _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i: ; 0x020a7c60 ldmia sp!, {r4, r5, r6, pc} arm_func_end _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i - .global _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi - arm_func_start _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi -_ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi: ; 0x020a7ce4 + .global _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi + arm_func_start _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi +_ZN10PlayerBase17EquipCollidesWithEP8Cylinderi: ; 0x020a7ce4 ldr r0, _020a7cf4 ; =gItemManager - ldr ip, _020a7cf8 ; =_ZN11ItemManager18EquipItem_vfunc_3cEP5Vec4pi + ldr ip, _020a7cf8 ; =_ZN11ItemManager17EquipCollidesWithEP8Cylinderi ldr r0, [r0] bx ip .align 2, 0 _020a7cf4: .word gItemManager -_020a7cf8: .word _ZN11ItemManager18EquipItem_vfunc_3cEP5Vec4pi - arm_func_end _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi +_020a7cf8: .word _ZN11ItemManager17EquipCollidesWithEP8Cylinderi + arm_func_end _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi .global _ZN10PlayerBase18EquipItem_vfunc_2cEv arm_func_start _ZN10PlayerBase18EquipItem_vfunc_2cEv @@ -324,7 +324,7 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 sub sp, sp, #0xc mov r5, r1 ldr r0, [r5] - ldr r3, _020a7f64 ; =data_027e0f94 + ldr r3, _020a7f64 ; =gPlayerPos mov r4, r2 str r0, [r3] ldr r1, [r5, #4] @@ -343,11 +343,11 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 str r3, [sp, #8] bl _ZN10MapManager16MapData_vfunc_68Ev ldr ip, [r5, #4] - ldr r2, _020a7f6c ; =data_027e0fac + ldr r2, _020a7f6c ; =gPlayerAngle cmp ip, r0 movle ip, r0 - ldr r3, _020a7f64 ; =data_027e0f94 - ldr r1, _020a7f70 ; =data_027e0fa0 + ldr r3, _020a7f64 ; =gPlayerPos + ldr r1, _020a7f70 ; =gPlayerVel mov r5, #0 ldr r0, _020a7f74 ; =data_027e0fb0 str r5, [r1] @@ -355,11 +355,11 @@ _ZN10PlayerBase18TeleportToEntranceEib: ; 0x020a7e70 str ip, [r3, #4] strh r4, [r2] str r5, [r1, #4] - ldr r0, _020a7f78 ; =data_027e0fb8 + ldr r0, _020a7f78 ; =gPlayerControl str r5, [r1, #8] ldr r0, [r0] blx _ZN13PlayerControl9UpdateAimEv - ldr r0, _020a7f7c ; =data_027e0fe4 + ldr r0, _020a7f7c ; =gActorManager ldrb r1, [sp, #0x18] ldr r0, [r0] bl _ZN12ActorManager14Actor_vfunc_10Ej @@ -384,13 +384,13 @@ _020a7f58: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_020a7f64: .word data_027e0f94 +_020a7f64: .word gPlayerPos _020a7f68: .word gMapManager -_020a7f6c: .word data_027e0fac -_020a7f70: .word data_027e0fa0 +_020a7f6c: .word gPlayerAngle +_020a7f70: .word gPlayerVel _020a7f74: .word data_027e0fb0 -_020a7f78: .word data_027e0fb8 -_020a7f7c: .word data_027e0fe4 +_020a7f78: .word gPlayerControl +_020a7f7c: .word gActorManager _020a7f80: .word gAdventureFlags _020a7f84: .word data_027e0f64 arm_func_end _ZN10PlayerBase18TeleportToEntranceEib diff --git a/asm/ov00/Player/PlayerControl.inc b/asm/ov00/Player/PlayerControl.inc index 31b1b43a..83e4946a 100644 --- a/asm/ov00/Player/PlayerControl.inc +++ b/asm/ov00/Player/PlayerControl.inc @@ -18,22 +18,22 @@ .extern _ZNK11ItemManager16GetEquippedFairyEv .extern _ZNK11ItemManager8GetFairyEi .extern _ZNK11ItemManager9HasPotionEj -.extern data_02050f54 +.extern gSinCosTable .extern data_02056be4 .extern data_027e05f8 .extern data_027e077c .extern data_027e0c68 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0e2c .extern gMapManager .extern data_027e0f64 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerAngle +.extern gPlayerLink .extern data_027e0fcc -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0ffc .extern data_027e103c .extern data_ov00_020eec60 @@ -41,12 +41,12 @@ .extern func_01ff991c .extern func_01ff992c .extern func_01ff9958 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffe468 .extern func_02002c14 .extern func_0202b2e8 @@ -61,7 +61,7 @@ .extern func_ov00_020ba204 .extern func_ov00_020baca8 .extern func_ov00_020bad18 -.extern func_ov00_020bc46c +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern func_ov00_020cebcc .extern func_ov00_020ced64 .extern func_ov00_020ced7c diff --git a/asm/ov00/Player/PlayerControl.s b/asm/ov00/Player/PlayerControl.s index b6448a54..e62df5d7 100644 --- a/asm/ov00/Player/PlayerControl.s +++ b/asm/ov00/Player/PlayerControl.s @@ -118,7 +118,7 @@ _ZN13PlayerControl9UpdateAimEv: ; 0x020aef68 add r1, r4, #0 add r1, #0x81 strb r0, [r1] - ldr r1, _020aeff0 ; =data_027e0d0c + ldr r1, _020aeff0 ; =gVec3p_ZERO add r0, r4, #0 ldr r2, [r1] add r0, #0xb0 @@ -149,7 +149,7 @@ _020aefde: str r1, [r4] pop {r4, pc} nop -_020aeff0: .word data_027e0d0c +_020aeff0: .word gVec3p_ZERO _020aeff4: .word data_027e0d38 _020aeff8: .word data_027e103c thumb_func_end _ZN13PlayerControl9UpdateAimEv @@ -157,14 +157,14 @@ _020aeff8: .word data_027e103c .global _ZN13PlayerControl14GetFollowActorEv arm_func_start _ZN13PlayerControl14GetFollowActorEv _ZN13PlayerControl14GetFollowActorEv: ; 0x020aeffc - ldr r1, _020af014 ; =data_027e0fe4 + ldr r1, _020af014 ; =gActorManager mov r2, r0 ldr r0, [r1] ldr ip, _020af018 ; =_ZN12ActorManager8GetActorEP8ActorRef add r1, r2, #0x84 bx ip .align 2, 0 -_020af014: .word data_027e0fe4 +_020af014: .word gActorManager _020af018: .word _ZN12ActorManager8GetActorEP8ActorRef arm_func_end _ZN13PlayerControl14GetFollowActorEv @@ -332,7 +332,7 @@ _020af1f8: bl _ZNK11ItemManager8GetFairyEi cmp r0, #0 beq _020af268 - ldr r1, _020af294 ; =data_027e0f94 + ldr r1, _020af294 ; =gPlayerPos ldr r2, [r0, #0x50] ldr r1, [r1, #4] ldr r0, [r0, #0x48] @@ -353,7 +353,7 @@ _020af284: .word data_027e0d38 _020af288: .word gItemManager _020af28c: .word data_027e05f8 _020af290: .word data_027e103c -_020af294: .word data_027e0f94 +_020af294: .word gPlayerPos arm_func_end _ZN13PlayerControl18func_ov00_020af06cEv .global _ZN13PlayerControl20UpdateUsingEquipItemEv @@ -634,7 +634,7 @@ _020af5c4: ldreqb r0, [r4, #0x81] cmpeq r0, #0 beq _020af620 - ldr r1, _020af6cc ; =data_027e0fac + ldr r1, _020af6cc ; =gPlayerAngle ldr r0, _020af6d0 ; =data_027e0ffc ldrsh r2, [r1] ldr r1, _020af6d4 ; =0x0000010a @@ -691,7 +691,7 @@ _020af694: .align 2, 0 _020af6c4: .word gAdventureFlags _020af6c8: .word data_027e0c68 -_020af6cc: .word data_027e0fac +_020af6cc: .word gPlayerAngle _020af6d0: .word data_027e0ffc _020af6d4: .word 0x0000010a _020af6d8: .word gMapManager @@ -712,8 +712,8 @@ _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii: ; 0x020af6e4 ldmeqia sp!, {r3, r4, r5, r6, pc} cmp r5, #0 ble _020af72c - ldr r0, _020af770 ; =data_027e0f94 - bl func_01ff9ec0 + ldr r0, _020af770 ; =gPlayerPos + bl Vec3p_Distance cmp r0, r5 addge sp, sp, #4 ldmgeia sp!, {r3, r4, r5, r6, pc} @@ -739,7 +739,7 @@ _020af72c: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020af770: .word data_027e0f94 +_020af770: .word gPlayerPos _020af774: .word gMapManager arm_func_end _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii @@ -815,7 +815,7 @@ _020af810: movne r4, #1 cmpne r0, #0 beq _020af8b0 - ldr r0, _020afac0 ; =data_027e0f90 + ldr r0, _020afac0 ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #8] @@ -829,12 +829,12 @@ _020af810: bl _ZN11ItemManager12GetEquipItemEi mov r5, r0 _020af8b0: - ldr r0, _020afac8 ; =data_027e0fc8 + ldr r0, _020afac8 ; =gPlayerLink mov r8, #0 ldr r1, [r0] cmp r1, #0 beq _020af8dc - ldr r0, _020afacc ; =data_027e0fe4 + ldr r0, _020afacc ; =gActorManager add r1, r1, #0x3c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -844,7 +844,7 @@ _020af8dc: cmp r4, #0 mov r4, #0 beq _020afa68 - ldr r0, _020afacc ; =data_027e0fe4 + ldr r0, _020afacc ; =gActorManager add r1, r9, #0x8c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -887,7 +887,7 @@ _020af97c: add r1, sp, #8 ldr r0, [r0] bl _ZN10MapManager18func_ov00_02085108EPi - ldr r2, _020afad4 ; =data_027e0f94 + ldr r2, _020afad4 ; =gPlayerPos mov r1, r0 ldr r0, [r2, #4] cmp r5, #0 @@ -945,7 +945,7 @@ _020afa18: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _020afa68: - ldr r1, _020afacc ; =data_027e0fe4 + ldr r1, _020afacc ; =gActorManager add r0, sp, #0 ldr r1, [r1] mov r2, r4 @@ -969,12 +969,12 @@ _020afaa8: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _020afabc: .word gAdventureFlags -_020afac0: .word data_027e0f90 +_020afac0: .word gPlayer _020afac4: .word gItemManager -_020afac8: .word data_027e0fc8 -_020afacc: .word data_027e0fe4 +_020afac8: .word gPlayerLink +_020afacc: .word gActorManager _020afad0: .word gMapManager -_020afad4: .word data_027e0f94 +_020afad4: .word gPlayerPos arm_func_end _ZN13PlayerControl18func_ov00_020af778Ev .global _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p @@ -982,7 +982,7 @@ _020afad4: .word data_027e0f94 _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p: ; 0x020afad8 stmdb sp!, {lr} sub sp, sp, #0xc - ldr r2, _020afb60 ; =data_027e0f94 + ldr r2, _020afb60 ; =gPlayerPos ldr r3, [r1, #4] ldr r1, [r2, #4] cmp r3, r1 @@ -992,7 +992,7 @@ _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p: ; 0x020afad8 ldrb r0, [r0, #0x79] cmp r0, #0 beq _020afb54 - ldr r0, _020afb64 ; =data_027e0f90 + ldr r0, _020afb64 ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #8] @@ -1017,8 +1017,8 @@ _020afb54: add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_020afb60: .word data_027e0f94 -_020afb64: .word data_027e0f90 +_020afb60: .word gPlayerPos +_020afb64: .word gPlayer _020afb68: .word gMapManager arm_func_end _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p @@ -1029,7 +1029,7 @@ _ZN13PlayerControl18func_ov00_020afb6cEv: ; 0x020afb6c sub sp, sp, #0x20 mov r9, r0 bl _ZN13PlayerControl18func_ov00_020af778Ev - ldr r1, _020afe70 ; =data_027e0fe4 + ldr r1, _020afe70 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r9, #0x84 @@ -1053,9 +1053,9 @@ _020afbcc: cmp r5, #0 ldr r6, [r9, #0xa4] beq _020afce8 - ldr r0, _020afe78 ; =data_027e0f94 + ldr r0, _020afe78 ; =gPlayerPos add r1, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance mov r6, r0 add r1, sp, #0x10 mov r0, r5 @@ -1111,9 +1111,9 @@ _020afc84: _020afc9c: cmp r7, #0 beq _020afcf4 - ldr r0, _020afe7c ; =data_027e0fc8 + ldr r0, _020afe7c ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _020afcf4 add r1, sp, #0x10 @@ -1172,7 +1172,7 @@ _020afd5c: movne r6, r5 b _020afdc4 _020afd88: - ldr r1, _020afe78 ; =data_027e0f94 + ldr r1, _020afe78 ; =gPlayerPos ldr r0, _020afe84 ; =gMapManager ldr r1, [r1, #4] ldr r0, [r0] @@ -1190,9 +1190,9 @@ _020afd88: _020afdc4: cmp r5, #0 beq _020afe10 - ldr r0, _020afe7c ; =data_027e0fc8 + ldr r0, _020afe7c ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _020afe10 add r1, sp, #4 @@ -1208,9 +1208,9 @@ _020afdc4: add r1, sp, #4 bl func_ov00_020ced7c _020afe10: - ldr r0, _020afe78 ; =data_027e0f94 + ldr r0, _020afe78 ; =gPlayerPos add r1, sp, #4 - bl func_01ff9ec0 + bl Vec3p_Distance mov r6, r0 b _020afe2c _020afe24: @@ -1236,10 +1236,10 @@ _020afe64: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_020afe70: .word data_027e0fe4 +_020afe70: .word gActorManager _020afe74: .word gItemManager -_020afe78: .word data_027e0f94 -_020afe7c: .word data_027e0fc8 +_020afe78: .word gPlayerPos +_020afe7c: .word gPlayerLink _020afe80: .word data_027e0ffc _020afe84: .word gMapManager arm_func_end _ZN13PlayerControl18func_ov00_020afb6cEv @@ -1376,7 +1376,7 @@ _ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_: ; 0x020affec add r3, sp, #0x24 add r1, r7, #0x44 add r2, r7, #0x38 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0x18 mov r1, #0 str r1, [r0] @@ -1390,7 +1390,7 @@ _ZN13PlayerControl18func_ov00_020affecEP5Vec3piiS1_: ; 0x020affec ldr r2, [r4, #8] sub r1, r2, r1 str r1, [sp, #0x20] - bl func_01ff9cec + bl Vec3p_Length cmp r0, r5 bgt _020b008c ldr r0, [sp, #0x24] @@ -1411,7 +1411,7 @@ _020b008c: str r1, [sp, #0xc] ldr r1, [r7, #0x4c] str r1, [sp, #0x14] - bl func_01ff9cec + bl Vec3p_Length bl func_01ff991c mov r4, r0 ldr r1, [sp, #0xc] @@ -1430,7 +1430,7 @@ _020b008c: add r0, sp, #0x18 add r1, sp, #0xc str r3, [sp, #0xc] - bl func_01ff9c2c + bl Vec3p_Dot mov r3, r6 mov r7, r0 add r0, sp, #0xc @@ -1441,7 +1441,7 @@ _020b008c: mov r1, r6 add r2, sp, #0x24 str r4, [sp, #4] - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020b0134: @@ -1514,7 +1514,7 @@ _020b0218: .word gItemManager .global _ZN13PlayerControl6SetAimEv arm_func_start _ZN13PlayerControl6SetAimEv _ZN13PlayerControl6SetAimEv: ; 0x020b021c - ldr r1, _020b023c ; =data_027e0d0c + ldr r1, _020b023c ; =gVec3p_ZERO ldr r2, [r1] str r2, [r0, #0xb0] ldr r2, [r1, #4] @@ -1523,7 +1523,7 @@ _ZN13PlayerControl6SetAimEv: ; 0x020b021c str r1, [r0, #0xb8] bx lr .align 2, 0 -_020b023c: .word data_027e0d0c +_020b023c: .word gVec3p_ZERO arm_func_end _ZN13PlayerControl6SetAimEv .global _ZN13PlayerControl14UpdateAimWorldEP5Vec3p @@ -1532,7 +1532,7 @@ _ZN13PlayerControl14UpdateAimWorldEP5Vec3p: ; 0x020b0240 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 ldr r2, _020b031c ; =data_027e0d38 - ldr lr, _020b0320 ; =data_027e0f94 + ldr lr, _020b0320 ; =gPlayerPos ldr r3, [r2] add ip, sp, #4 mov r5, r0 @@ -1588,7 +1588,7 @@ _020b02f8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020b031c: .word data_027e0d38 -_020b0320: .word data_027e0f94 +_020b0320: .word gPlayerPos _020b0324: .word data_027e0f64 arm_func_end _ZN13PlayerControl14UpdateAimWorldEP5Vec3p @@ -1726,12 +1726,12 @@ _ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb: ; 0x020b049c mov r1, r4 mov r2, #0x400 bl func_ov00_020b7d4c - ldr r1, _020b05d8 ; =data_027e0f94 + ldr r1, _020b05d8 ; =gPlayerPos mov r0, r4 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x1400 movge r0, #1 ldmgeia sp!, {r3, r4, r5, r6, r7, pc} @@ -1739,10 +1739,10 @@ _ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb: ; 0x020b049c beq _020b05d0 cmp r0, #0x400 bge _020b05bc - ldr r1, _020b05dc ; =data_027e0d0c - ldr r0, _020b05e0 ; =data_027e0fac + ldr r1, _020b05dc ; =gVec3p_ZERO + ldr r0, _020b05e0 ; =gPlayerAngle ldr r2, [r1] - ldr ip, _020b05e4 ; =data_02050f54 + ldr ip, _020b05e4 ; =gSinCosTable str r2, [r4] ldr r3, [r1, #4] mov r2, #0 @@ -1792,10 +1792,10 @@ _020b05d0: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020b05d8: .word data_027e0f94 -_020b05dc: .word data_027e0d0c -_020b05e0: .word data_027e0fac -_020b05e4: .word data_02050f54 +_020b05d8: .word gPlayerPos +_020b05dc: .word gVec3p_ZERO +_020b05e0: .word gPlayerAngle +_020b05e4: .word gSinCosTable arm_func_end _ZN13PlayerControl18func_ov00_020b049cEP5Vec3pb .global _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p @@ -1816,24 +1816,24 @@ _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p: ; 0x020b05e8 bge _020b0758 mov r0, r4 ldr r2, _020b0764 ; =0x00000333 - ldr r4, _020b0768 ; =data_027e0f94 + ldr r4, _020b0768 ; =gPlayerPos add r1, sp, #4 bl func_ov00_020b7d4c mov r1, r4 ldr r2, [r1, #4] add r0, sp, #4 str r2, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1400 addgt sp, sp, #0x10 movgt r0, #0 ldmgtia sp!, {r4, r5, r6, pc} cmp r0, #0x400 bge _020b06e0 - ldr r1, _020b076c ; =data_027e0fac + ldr r1, _020b076c ; =gPlayerAngle ldr r0, [r4, #4] ldrh r2, [r1] - ldr r3, _020b0770 ; =data_02050f54 + ldr r3, _020b0770 ; =gSinCosTable mov r1, #0x800 mov r2, r2, asr #0x4 mov r6, r2, lsl #0x1 @@ -1890,7 +1890,7 @@ _020b06e0: add r0, sp, #4 mov r2, r5 str r3, [sp, #0xc] - bl func_01ff9bf8 + bl Vec3p_Sub add sp, sp, #0x10 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} @@ -1900,9 +1900,9 @@ _020b0758: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020b0764: .word 0x00000333 -_020b0768: .word data_027e0f94 -_020b076c: .word data_027e0fac -_020b0770: .word data_02050f54 +_020b0768: .word gPlayerPos +_020b076c: .word gPlayerAngle +_020b0770: .word gSinCosTable _020b0774: .word gMapManager arm_func_end _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p @@ -1943,7 +1943,7 @@ _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji: ; 0x020b0778 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r3, _020b0ab0 ; =data_02050f54 + ldr r3, _020b0ab0 ; =gSinCosTable mov r2, r1, lsl #0x1 mov r1, r0, lsl #0x1 ldrsh r2, [r3, r2] @@ -2130,7 +2130,7 @@ _020b0aa0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _020b0aac: .word data_027e0f64 -_020b0ab0: .word data_02050f54 +_020b0ab0: .word gSinCosTable arm_func_end _ZN13PlayerControl18func_ov00_020b0778EP5Vec3pji .global _ZN13PlayerControl16CheckNotTouchingEv @@ -2245,7 +2245,7 @@ _020b0bf8: str r2, [sp, #0x18] str r1, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0xa000 addlt sp, sp, #0x24 movlt r0, #0 @@ -2273,7 +2273,7 @@ _020b0c5c: ble _020b0cd8 ldr r0, [r7, #0x50] ldr r1, [r7, #0x54] - bl func_01ffa0f4 + bl Atan2 ldr r1, [sp, #0x38] ldrsh r2, [r6] cmp r1, #0 @@ -2292,7 +2292,7 @@ _020b0c5c: _020b0cd8: ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 ldrsh lr, [r6] add r1, sp, #0xc mov ip, #0 @@ -2320,7 +2320,7 @@ _020b0cd8: mov r4, r3, asr #0x10 mov r3, ip, lsl #0xc str r3, [sp, #4] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r7, #0x58] cmp r0, #0xa000 bgt _020b0d7c @@ -2419,7 +2419,7 @@ _ZN13PlayerControl18func_ov00_020b0e54EP5Vec3pS1_: ; 0x020b0e54 mov r2, #0x800 bl func_ov00_020b7d4c add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 cmp r5, #0x4000 ble _020b0ed0 @@ -2468,7 +2468,7 @@ _020b0f0c: bl func_ov00_020b7d4c b _020b0f6c _020b0f50: - ldr r0, _020b0f84 ; =data_027e0f94 + ldr r0, _020b0f84 ; =gPlayerPos ldr r1, [r0] str r1, [r5] ldr r1, [r0, #4] @@ -2484,7 +2484,7 @@ _020b0f78: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020b0f84: .word data_027e0f94 +_020b0f84: .word gPlayerPos arm_func_end _ZN13PlayerControl18func_ov00_020b0e54EP5Vec3pS1_ .global _ZN13PlayerControl18func_ov00_020b0f88EP5Vec3piS1_ @@ -2505,7 +2505,7 @@ _ZN13PlayerControl18func_ov00_020b0f88EP5Vec3piS1_: ; 0x020b0f88 mov r2, r6 bl func_ov00_020b7d4c add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 cmp r6, #0x4000 ble _020b0ffc @@ -2566,9 +2566,9 @@ _ZN13PlayerControl18func_ov00_020b1058EP5Vec3piS1_S1_: ; 0x020b1058 ldr r0, [sp, #0x30] cmp r0, #0 beq _020b1140 - ldr r1, _020b11d8 ; =data_027e0f94 + ldr r1, _020b11d8 ; =gPlayerPos add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr ip, [sp] ldr r3, [sp, #4] mov r2, ip, asr #0x1f @@ -2609,7 +2609,7 @@ _ZN13PlayerControl18func_ov00_020b1058EP5Vec3piS1_S1_: ; 0x020b1058 str r0, [sp, #0x14] _020b1140: add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 cmp r6, #0x4000 ble _020b117c @@ -2649,7 +2649,7 @@ _020b11cc: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020b11d8: .word data_027e0f94 +_020b11d8: .word gPlayerPos arm_func_end _ZN13PlayerControl18func_ov00_020b1058EP5Vec3piS1_S1_ .global _ZN13PlayerControl14IsUntouchedNowEv diff --git a/asm/ov00/ov00_020773c0.inc b/asm/ov00/ov00_020773c0.inc index e016ee5b..bc652e8a 100644 --- a/asm/ov00/ov00_020773c0.inc +++ b/asm/ov00/ov00_020773c0.inc @@ -1,5 +1,6 @@ #pragma once .extern Divide +.extern Vec3p_Add .extern WaitByLoop .extern _ZN10MapManager13GetCourseMaxXEv .extern _ZN10MapManager13GetCourseMaxZEv @@ -42,7 +43,6 @@ .extern data_ov00_020ec718 .extern data_ov00_020ec7dc .extern func_01ff9b4c -.extern func_01ff9bc4 .extern func_02000b60 .extern func_02002bac .extern func_02002bf4 diff --git a/asm/ov00/ov00_020773c0.s b/asm/ov00/ov00_020773c0.s index 4df79e2b..43f1e061 100644 --- a/asm/ov00/ov00_020773c0.s +++ b/asm/ov00/ov00_020773c0.s @@ -5628,9 +5628,9 @@ func_ov00_0207a13c: ; 0x0207a13c _0207a184: .word 0x00007fff arm_func_end func_ov00_0207a13c - .global func_ov00_0207a188 - thumb_func_start func_ov00_0207a188 -func_ov00_0207a188: ; 0x0207a188 + .global _ZN19Actor_UnkStruct_0a4C1Eiiii + thumb_func_start _ZN19Actor_UnkStruct_0a4C1Eiiii +_ZN19Actor_UnkStruct_0a4C1Eiiii: ; 0x0207a188 push {r3, r4} mov r4, #1 strb r4, [r0] @@ -5645,7 +5645,7 @@ func_ov00_0207a188: ; 0x0207a188 str r1, [r0, #0x10] pop {r3, r4} bx lr - thumb_func_end func_ov00_0207a188 + thumb_func_end _ZN19Actor_UnkStruct_0a4C1Eiiii .global func_ov00_0207a1a4 arm_func_start func_ov00_0207a1a4 @@ -5675,7 +5675,7 @@ func_ov00_0207a1c8: ; 0x0207a1c8 add r2, sp, #0 add r0, r5, #4 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add _0207a1f8: ldr r0, _0207a28c ; =data_027e0c54 mov r2, #1 diff --git a/asm/ov00/ov00_0207afa0.inc b/asm/ov00/ov00_0207afa0.inc index f9df5e62..1ed4353e 100644 --- a/asm/ov00/ov00_0207afa0.inc +++ b/asm/ov00/ov00_0207afa0.inc @@ -36,15 +36,15 @@ .extern data_027e0e5c .extern data_027e0f64 .extern data_027e0f7c -.extern data_027e0f94 -.extern data_027e0fac +.extern gPlayerPos +.extern gPlayerAngle .extern data_027e0fcc -.extern data_027e0fe4 +.extern gActorManager .extern data_027e103c .extern data_ov09_0211f5dc .extern func_01ff892c .extern func_01ff9b4c -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ffa8d4 .extern func_01ffe468 .extern func_02004730 diff --git a/asm/ov00/ov00_0207afa0.s b/asm/ov00/ov00_0207afa0.s index 05145ed9..4350be09 100644 --- a/asm/ov00/ov00_0207afa0.s +++ b/asm/ov00/ov00_0207afa0.s @@ -777,7 +777,7 @@ func_ov00_0207b5bc: ; 0x0207b5bc _0207b5fa: cmp r2, #0 beq _0207b6cc - ldr r1, _0207b800 ; =data_027e0fe4 + ldr r1, _0207b800 ; =gActorManager ldr r2, _0207b804 ; =0x414e4353 ldr r1, [r1] add r0, sp, #0 @@ -787,7 +787,7 @@ _0207b5fa: mvn r0, r0 cmp r1, r0 beq _0207b6cc - ldr r0, _0207b800 ; =data_027e0fe4 + ldr r0, _0207b800 ; =gActorManager add r1, sp, #0 ldr r0, [r0] blx _ZN12ActorManager8GetActorEP8ActorRef @@ -807,13 +807,13 @@ _0207b62c: add r1, r5, #0 add r1, #0x56 strb r0, [r1] - ldr r0, _0207b80c ; =data_027e0f94 + ldr r0, _0207b80c ; =gPlayerPos ldr r1, [r0] str r1, [r5, #0x5c] ldr r1, [r0, #4] str r1, [r5, #0x60] ldr r0, [r0, #8] - ldr r1, _0207b810 ; =data_027e0fac + ldr r1, _0207b810 ; =gPlayerAngle str r0, [r5, #0x64] mov r0, #0 ldrsh r1, [r1, r0] @@ -997,7 +997,7 @@ _0207b740: add r0, r5, #0 add r0, #0x9d strb r1, [r0] - ldr r1, _0207b80c ; =data_027e0f94 + ldr r1, _0207b80c ; =gPlayerPos add r0, r5, #0 ldr r2, [r1] add r0, #0xa0 @@ -1018,11 +1018,11 @@ _0207b7f0: add sp, #0x20 pop {r4, r5, r6, pc} nop -_0207b800: .word data_027e0fe4 +_0207b800: .word gActorManager _0207b804: .word 0x414e4353 _0207b808: .word gMapManager -_0207b80c: .word data_027e0f94 -_0207b810: .word data_027e0fac +_0207b80c: .word gPlayerPos +_0207b810: .word gPlayerAngle _0207b814: .word data_027e0f7c _0207b818: .word gItemManager _0207b81c: .word data_ov09_0211f5dc @@ -1086,7 +1086,7 @@ func_ov00_0207b89c: ; 0x0207b89c add r1, r3, r1, lsl #2 ldr r1, [r1, #4] add r1, r1, #0x260 - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [r5, #8] ldr r0, [r4, #0x180] add r0, r0, #1 @@ -2679,7 +2679,7 @@ _0207c800: .word data_ov00_020d88cc func_ov00_0207c804: ; 0x0207c804 push {r3, r4, r5, r6, lr} sub sp, #0x24 - ldr r3, _0207c8d0 ; =data_027e0f94 + ldr r3, _0207c8d0 ; =gPlayerPos add r6, r2, #0 add r5, r0, #0 add r4, r1, #0 @@ -2781,7 +2781,7 @@ _0207c8c8: add sp, #0x24 pop {r3, r4, r5, r6, pc} nop -_0207c8d0: .word data_027e0f94 +_0207c8d0: .word gPlayerPos _0207c8d4: .word data_027e0d38 _0207c8d8: .word 0x0000019a _0207c8dc: .word data_027e0fcc diff --git a/asm/ov00/ov00_02086cd0.inc b/asm/ov00/ov00_02086cd0.inc index 404c0a5f..f826b0a8 100644 --- a/asm/ov00/ov00_02086cd0.inc +++ b/asm/ov00/ov00_02086cd0.inc @@ -39,7 +39,7 @@ .extern _ZN11TriggerBase8vfunc_08Ev .extern _ZN11TriggerBase8vfunc_0cEv .extern _ZN11TriggerBase8vfunc_10Ev -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager18func_ov00_020c3b2cEPi .extern _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -51,28 +51,28 @@ .extern _ZN14AdventureFlags20Get_FlagsUnk_30_FlagEi .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_08Ev .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -105,7 +105,7 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02056be4 .extern data_02063e4c .extern data_027e071c @@ -124,13 +124,13 @@ .extern data_027e0f7c .extern data_027e0f80 .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerAngle +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e103c .extern data_027e10a4 @@ -163,14 +163,14 @@ .extern func_01ff9958 .extern func_01ff99f4 .extern func_01ff9a50 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Cross +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffa8d4 .extern func_01ffa9fc .extern func_01ffb7ec @@ -178,7 +178,7 @@ .extern func_01ffbf5c .extern func_01ffe468 .extern func_01ffebe0 -.extern func_01ffec34 +.extern _ZN8Cylinder8OverlapsEPS_ .extern func_01fff4c8 .extern func_01fffb4c .extern func_01fffb80 @@ -261,9 +261,9 @@ .extern func_ov00_020a6110 .extern func_ov00_020a61ac .extern func_ov00_020b3ea8 -.extern func_ov00_020bd304 +.extern _ZN14PlayerLinkBase18func_ov00_020bd304Ev .extern func_ov00_020bd618 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020d77e4 diff --git a/asm/ov00/ov00_02086cd0.s b/asm/ov00/ov00_02086cd0.s index 840176db..c3aaeb3c 100644 --- a/asm/ov00/ov00_02086cd0.s +++ b/asm/ov00/ov00_02086cd0.s @@ -19,7 +19,7 @@ func_ov00_02086cd4: ; 0x02086cd4 bl func_ov00_0209da68 ldr r0, [r4, #0x150] bl func_ov00_020a1774 - ldr r1, _02086da4 ; =data_027e0f94 + ldr r1, _02086da4 ; =gPlayerPos mov r0, r4 ldr r3, [r1, #4] ldr r2, [r1, #8] @@ -67,7 +67,7 @@ _02086d58: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02086da4: .word data_027e0f94 +_02086da4: .word gPlayerPos arm_func_end func_ov00_02086cd4 .global func_ov00_02086da8 @@ -206,7 +206,7 @@ func_ov00_02086ed4: ; 0x02086ed4 add r0, sp, #0x24 mov r1, r3 str ip, [sp, #0x1c] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0xa000 bge _02086fb0 ldr r0, _02087080 ; =data_027e0d38 @@ -324,7 +324,7 @@ func_ov00_020870d0: ; 0x020870d0 mov r0, #0x1000 bl Divide ldrh r1, [r9, #4] - ldr r2, _02087268 ; =data_02050f54 + ldr r2, _02087268 ; =gSinCosTable mov r7, r0 mov r0, r1, asr #0x4 mov r3, r0, lsl #0x1 @@ -421,7 +421,7 @@ _02087120: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02087268: .word data_02050f54 +_02087268: .word gSinCosTable arm_func_end func_ov00_020870d0 .global func_ov00_0208726c @@ -1521,7 +1521,7 @@ func_ov00_02088074: ; 0x02088074 _020880ac: mov r0, r6 mov r1, r4 - bl func_01ff9c2c + bl Vec3p_Dot add r1, r8, r5, lsl #4 ldr r2, [r1, #0x118] ldr r1, [r7, #0xc] @@ -1635,7 +1635,7 @@ _020881ec: func_ov00_020881f4: ; 0x020881f4 stmdb sp!, {r3} sub sp, sp, #0x24 - ldr r1, _02088240 ; =data_027e0f94 + ldr r1, _02088240 ; =gPlayerPos add r3, sp, #0x18 mov ip, r0 ldmia r1, {r0, r1, r2} @@ -1653,7 +1653,7 @@ func_ov00_020881f4: ; 0x020881f4 ldmia sp!, {r3} bx lr .align 2, 0 -_02088240: .word data_027e0f94 +_02088240: .word gPlayerPos arm_func_end func_ov00_020881f4 .global func_ov00_02088244 @@ -2704,11 +2704,11 @@ _020890ec: add r0, sp, #0x34 add r1, sp, #0xc add r2, sp, #0x24 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x40 add r1, sp, #0xc add r2, sp, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add b _0208912c _02089120: add sp, sp, #0x4c @@ -3154,7 +3154,7 @@ _0208970c: str r3, [sp, #0x48] str r2, [sp, #0x4c] str r8, [sp, #0x50] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0 bne _02089770 add sp, sp, #0x130 @@ -3503,7 +3503,7 @@ func_ov00_02089b94: ; 0x02089b94 add r2, r0, #0x200 ldrh r3, [r2, #0x26] mov r2, r1 - ldr r4, _02089c4c ; =data_02050f54 + ldr r4, _02089c4c ; =gSinCosTable mov r1, r3, asr #0x4 mov r3, r1, lsl #0x1 mov r5, r3, lsl #0x1 @@ -3541,11 +3541,11 @@ func_ov00_02089b94: ; 0x02089b94 str r6, [sp] str lr, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02089c4c: .word data_02050f54 +_02089c4c: .word gSinCosTable arm_func_end func_ov00_02089b94 .global func_ov00_02089c50 @@ -3558,7 +3558,7 @@ func_ov00_02089c50: ; 0x02089c50 mov r2, r2, asr #0x4 mov r3, r2, lsl #0x1 add r2, r3, #1 - ldr r4, _02089d08 ; =data_02050f54 + ldr r4, _02089d08 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r2, r2, lsl #0x1 ldrsh r8, [r4, r3] @@ -3594,11 +3594,11 @@ func_ov00_02089c50: ; 0x02089c50 str r6, [sp] str lr, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02089d08: .word data_02050f54 +_02089d08: .word gSinCosTable arm_func_end func_ov00_02089c50 .global func_ov00_02089d0c @@ -3993,11 +3993,11 @@ _0208a2cc: add r0, r4, #0x260 add r1, sp, #4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x26c add r1, sp, #4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 @@ -4219,7 +4219,7 @@ _0208a4d0: add r1, sp, #0x20 add r0, r6, #0x308 bl func_ov00_0208ed74 - ldr r0, _0208a848 ; =data_027e0f94 + ldr r0, _0208a848 ; =gPlayerPos ldrsh r2, [r6, #4] ldr r4, [sp, #0x1c] ldr r0, [r0, #4] @@ -4357,7 +4357,7 @@ _0208a77c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0208a844: .word gMapManager -_0208a848: .word data_027e0f94 +_0208a848: .word gPlayerPos arm_func_end func_ov00_0208a464 .global func_ov00_0208a84c @@ -4999,10 +4999,10 @@ _0208af04: add r1, sp, #0x20 mov r0, r3 mov r2, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [sp, #0x48] @@ -5789,7 +5789,7 @@ _0208b92c: .word data_ov00_020e9370 func_ov00_0208b930: ; 0x0208b930 stmdb sp!, {r3, lr} sub sp, sp, #0x18 - ldr r1, _0208b984 ; =data_027e0f94 + ldr r1, _0208b984 ; =gPlayerPos mov ip, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -5800,16 +5800,16 @@ func_ov00_0208b930: ; 0x0208b930 add r2, sp, #0xc add r1, ip, #0x18 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 -_0208b984: .word data_027e0f94 +_0208b984: .word gPlayerPos arm_func_end func_ov00_0208b930 .global func_ov00_0208b988 @@ -5817,7 +5817,7 @@ _0208b984: .word data_027e0f94 func_ov00_0208b988: ; 0x0208b988 stmdb sp!, {lr} sub sp, sp, #0xc - ldr r2, _0208b9c8 ; =data_027e0f94 + ldr r2, _0208b9c8 ; =gPlayerPos mov ip, r0 ldr r0, [r2, #4] ldr r3, [r2] @@ -5828,11 +5828,11 @@ func_ov00_0208b988: ; 0x0208b988 add r0, sp, #0 add r1, ip, #0x18 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_0208b9c8: .word data_027e0f94 +_0208b9c8: .word gPlayerPos arm_func_end func_ov00_0208b988 .global func_ov00_0208b9cc @@ -6020,7 +6020,7 @@ _0208bbb8: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0208bef4 ; =data_02050f54 + ldr r2, _0208bef4 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -6231,7 +6231,7 @@ _0208bee4: .word data_ov00_020ec9d4 _0208bee8: .word 0x040004c0 _0208beec: .word 0x001f0081 _0208bef0: .word data_027e0f64 -_0208bef4: .word data_02050f54 +_0208bef4: .word gSinCosTable _0208bef8: .word 0x0400046c _0208befc: .word 0x04000500 _0208bf00: .word 0x1ff00000 @@ -6393,7 +6393,7 @@ _0208c114: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0208c208 ; =data_02050f54 + ldr r2, _0208c208 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -6449,7 +6449,7 @@ _0208c114: ldmia sp!, {r4, r5, pc} .align 2, 0 _0208c204: .word 0x0000ffff -_0208c208: .word data_02050f54 +_0208c208: .word gSinCosTable _0208c20c: .word data_027e0d3c _0208c210: .word data_02063e4c arm_func_end func_ov00_0208c0dc @@ -6620,17 +6620,17 @@ func_ov00_0208c3a4: ; 0x0208c3a4 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} - ldr r0, _0208c460 ; =data_027e0f90 + ldr r0, _0208c460 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 movle r0, #0 ldmleia sp!, {r3, pc} - ldr r0, _0208c464 ; =data_027e0fc8 + ldr r0, _0208c464 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _0208c448 - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} @@ -6642,8 +6642,8 @@ _0208c450: .word gAdventureFlags _0208c454: .word data_027e0c68 _0208c458: .word data_027e077c _0208c45c: .word data_027e103c -_0208c460: .word data_027e0f90 -_0208c464: .word data_027e0fc8 +_0208c460: .word gPlayer +_0208c464: .word gPlayerLink arm_func_end func_ov00_0208c3a4 .global func_ov00_0208c468 @@ -6665,17 +6665,17 @@ func_ov00_0208c468: ; 0x0208c468 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} - ldr r0, _0208c4f0 ; =data_027e0f90 + ldr r0, _0208c4f0 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 movle r0, #0 ldmleia sp!, {r3, pc} - ldr r0, _0208c4f4 ; =data_027e0fc8 + ldr r0, _0208c4f4 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _0208c4e0 - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} @@ -6685,8 +6685,8 @@ _0208c4e0: .align 2, 0 _0208c4e8: .word data_027e077c _0208c4ec: .word data_027e103c -_0208c4f0: .word data_027e0f90 -_0208c4f4: .word data_027e0fc8 +_0208c4f0: .word gPlayer +_0208c4f4: .word gPlayerLink arm_func_end func_ov00_0208c468 .global func_ov00_0208c4f8 @@ -6727,7 +6727,7 @@ _0208c564: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -6844,7 +6844,7 @@ _0208c708: movs r1, r0 addmi sp, sp, #0x48 ldmmiia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0208c954 ; =data_027e0fe4 + ldr r0, _0208c954 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -6986,7 +6986,7 @@ _0208c944: .word data_027e0764 _0208c948: .word 0x00000335 _0208c94c: .word 0xfffffe66 _0208c950: .word data_027e0fe8 -_0208c954: .word data_027e0fe4 +_0208c954: .word gActorManager _0208c958: .word 0x4b4f4b4f _0208c95c: .word 0x0000019a _0208c960: .word 0x00002001 @@ -9128,7 +9128,7 @@ func_ov00_0208e420: ; 0x0208e420 add r0, r3, #1 str r1, [sp, #4] mov r1, r0, lsl #0x1 - ldr r2, _0208e4f0 ; =data_02050f54 + ldr r2, _0208e4f0 ; =gSinCosTable mov r3, r3, lsl #0x1 str ip, [sp, #8] add r0, r4, #0x8c @@ -9151,7 +9151,7 @@ func_ov00_0208e420: ; 0x0208e420 str r1, [sp, #8] add r1, r4, #0x4c str r1, [sp, #0xc] - ldr r2, _0208e4f0 ; =data_02050f54 + ldr r2, _0208e4f0 ; =gSinCosTable mov r1, r0, lsl #0x1 mov r3, r3, lsl #0x1 ldrsh r0, [r2, r3] @@ -9168,7 +9168,7 @@ func_ov00_0208e420: ; 0x0208e420 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0208e4f0: .word data_02050f54 +_0208e4f0: .word gSinCosTable arm_func_end func_ov00_0208e420 .global func_ov00_0208e4f4 @@ -9212,7 +9212,7 @@ func_ov00_0208e514: ; 0x0208e514 mov r0, #0xc mla r1, r2, r0, r1 add r0, r4, #8 - bl func_01ff9c2c + bl Vec3p_Dot str r0, [r4, #0x14] ldr r0, [r4, #0x48] ldrh r3, [r4, #2] @@ -9222,11 +9222,11 @@ func_ov00_0208e514: ; 0x0208e514 mla r0, r3, r1, ip mla r1, r2, r1, ip add r2, r4, #0x18 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, #0x18 add r1, r4, #8 mov r2, r0 - bl func_01ff9c68 + bl Vec3p_Cross add r0, r4, #0x18 bl func_01fffb4c ldr r1, [r4, #0x48] @@ -9235,7 +9235,7 @@ func_ov00_0208e514: ; 0x0208e514 mov r1, #0xc mla r1, r2, r1, r3 add r0, r4, #0x18 - bl func_01ff9c2c + bl Vec3p_Dot str r0, [r4, #0x24] ldr r0, [r4, #0x48] ldrh r2, [r4, #4] @@ -9245,11 +9245,11 @@ func_ov00_0208e514: ; 0x0208e514 mla r0, r2, r1, ip mla r1, r3, r1, ip add r2, r4, #0x28 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, #0x28 add r1, r4, #8 mov r2, r0 - bl func_01ff9c68 + bl Vec3p_Cross add r0, r4, #0x28 bl func_01fffb4c ldr r1, [r4, #0x48] @@ -9258,7 +9258,7 @@ func_ov00_0208e514: ; 0x0208e514 mov r1, #0xc mla r1, r2, r1, r3 add r0, r4, #0x28 - bl func_01ff9c2c + bl Vec3p_Dot str r0, [r4, #0x34] ldr r0, [r4, #0x48] ldrh r3, [r4] @@ -9268,11 +9268,11 @@ func_ov00_0208e514: ; 0x0208e514 mla r0, r3, r1, ip mla r1, r2, r1, ip add r2, r4, #0x38 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, #0x38 add r1, r4, #8 mov r2, r0 - bl func_01ff9c68 + bl Vec3p_Cross add r0, r4, #0x38 bl func_01fffb4c ldr r0, [r4, #0x48] @@ -9281,7 +9281,7 @@ func_ov00_0208e514: ; 0x0208e514 mov r0, #0xc mla r1, r2, r0, r1 add r0, r4, #0x38 - bl func_01ff9c2c + bl Vec3p_Dot str r0, [r4, #0x44] ldmia sp!, {r4, pc} arm_func_end func_ov00_0208e514 @@ -9450,11 +9450,11 @@ func_ov00_0208e82c: ; 0x0208e82c str r3, [sp, #0x18] str r3, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9bf8 + bl Vec3p_Sub add r1, sp, #0x18 add r2, sp, #0xc add r0, r5, #0xc - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0 mov r1, r4 bl func_ov00_0208e72c @@ -9488,7 +9488,7 @@ func_ov00_0208e87c: ; 0x0208e87c str r0, [sp, #0x44] add r1, sp, #0x3c mov r0, r5 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 ble _0208e984 ldr r2, [sp, #0x5c] @@ -9539,7 +9539,7 @@ _0208e984: str r3, [sp, #0x30] str r3, [sp, #0x34] str r2, [sp, #0x38] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 ble _0208ea4c ldr r2, [sp, #0x50] @@ -9591,7 +9591,7 @@ _0208ea4c: str r3, [sp, #0x24] str r2, [sp, #0x28] str r2, [sp, #0x2c] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 ble _0208eb14 ldr r2, [sp, #0x54] @@ -9641,7 +9641,7 @@ _0208eb14: str r3, [sp, #0x18] str r2, [sp, #0x1c] str r2, [sp, #0x20] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 ble _0208ebd8 ldr r2, [sp, #0x48] @@ -9691,7 +9691,7 @@ _0208ebd8: str r3, [sp, #0xc] str r2, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 ble _0208eca0 ldr r2, [sp, #0x58] @@ -9742,7 +9742,7 @@ _0208eca0: str r3, [sp] str r2, [sp, #4] str r3, [sp, #8] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 ble _0208ed68 ldr r2, [sp, #0x4c] @@ -9828,11 +9828,11 @@ func_ov00_0208edd8: ; 0x0208edd8 mov r5, r0 mov r2, r5 mov r4, r1 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r5, #0xc mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov00_0208edd8 @@ -9848,14 +9848,14 @@ func_ov00_0208ee00: ; 0x0208ee00 str r4, [sp, #0xc] str r4, [sp, #0x10] str r4, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r5, #0xc add r1, sp, #0 mov r2, r0 str r4, [sp] str r4, [sp, #4] str r4, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov00_0208ee00 @@ -9896,11 +9896,11 @@ func_ov00_0208ee90: ; 0x0208ee90 mov r4, r3 ldr r7, [sp, #0x38] ldr r6, [sp, #0x3c] - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0 mov r0, r4 mov r1, r8 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc ldr r3, [r9, #0xc] ldr r2, [r5, #0xc] @@ -9911,7 +9911,7 @@ func_ov00_0208ee90: ; 0x0208ee90 adc r2, r2, #0 mov r8, r3, lsr #0xc orr r8, r8, r2, lsl #20 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, r8 bgt _0208ef1c mov r0, #0 @@ -9923,7 +9923,7 @@ func_ov00_0208ee90: ; 0x0208ee90 _0208ef1c: add r0, sp, #0 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot mov r4, r0 cmp r4, #0 addle sp, sp, #0x18 @@ -9931,11 +9931,11 @@ _0208ef1c: ldmleia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot mov r5, r0, lsl #0x1 add r0, sp, #0xc mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot smull r1, r2, r5, r5 adds r3, r1, #0x800 sub r0, r0, r8 @@ -10008,14 +10008,14 @@ func_ov00_0208f030: ; 0x0208f030 mov r0, r5 mov r1, r7 add r4, r3, r4 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0x10 mov r0, r6 mov r1, r5 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x10 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot movs r6, r0 bne _0208f0b4 ldr r3, [r7, #0xc] @@ -10028,17 +10028,17 @@ func_ov00_0208f030: ; 0x0208f030 ldr r2, [r5, #8] str r2, [sp, #8] str r3, [sp, #0xc] - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0208f0b4: add r0, sp, #0x10 add r1, sp, #0x1c - bl func_01ff9c2c + bl Vec3p_Dot mov r5, r0 add r0, sp, #0x1c mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot smull r2, r1, r5, r5 adds r7, r2, #0x800 smull r2, r3, r4, r4 @@ -10109,14 +10109,14 @@ func_ov00_0208f1a0: ; 0x0208f1a0 mov r0, r6 mov r1, r7 add r5, r3, r4 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0x10 mov r0, r8 mov r1, r6 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x10 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot movs r4, r0 bne _0208f224 ldr r3, [r7, #0xc] @@ -10129,17 +10129,17 @@ func_ov00_0208f1a0: ; 0x0208f1a0 ldr r2, [r6, #8] str r2, [sp, #8] str r3, [sp, #0xc] - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, pc} _0208f224: add r0, sp, #0x10 add r1, sp, #0x1c - bl func_01ff9c2c + bl Vec3p_Dot mov r6, r0 add r0, sp, #0x1c mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot smull r1, r3, r6, r6 adds r6, r1, #0x800 smull r2, r1, r5, r5 @@ -10321,7 +10321,7 @@ func_ov00_0208f478: ; 0x0208f478 mov r0, r8 mov r1, r9 mov r6, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r5, [sp, #0x14] smull r3, r2, r0, r0 @@ -10361,15 +10361,15 @@ _0208f538: _0208f544: add r0, sp, #0x18 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot mov r4, r0 add r0, sp, #0xc add r1, sp, #0x18 - bl func_01ff9c2c + bl Vec3p_Dot mov r5, r0, lsl #0x1 add r0, sp, #0xc mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot sub r1, r0, r10 smull r2, r0, r5, r5 adds r3, r2, #0x800 @@ -10425,7 +10425,7 @@ _0208f628: mov r0, r3 mov r1, r7 mov r2, r3 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r7, #4] ldr r3, [r8, #4] smull r1, r0, r4, r0 @@ -10738,7 +10738,7 @@ func_ov00_0208fa0c: ; 0x0208fa0c sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _0208fa64 ; =data_02050f54 + ldr r3, _0208fa64 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -10757,7 +10757,7 @@ func_ov00_0208fa0c: ; 0x0208fa0c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0208fa64: .word data_02050f54 +_0208fa64: .word gSinCosTable arm_func_end func_ov00_0208fa0c .global func_ov00_0208fa68 @@ -10921,12 +10921,12 @@ func_ov00_0208fc10: ; 0x0208fc10 _0208fc38: mov r1, #0 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii b _0208fc74 _0208fc48: mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldr r0, [r4, #0x158] cmp r0, #0 moveq r0, #0 @@ -11157,7 +11157,7 @@ _0208ff48: ldr r0, _0209030c ; =data_ov00_020eec9c mov r1, #0xb bl func_ov00_020d77e4 - ldr r1, _02090310 ; =data_027e0f94 + ldr r1, _02090310 ; =gPlayerPos add r0, sp, #0x30 ldr r3, [r1, #4] ldr r4, [r1] @@ -11169,7 +11169,7 @@ _0208ff48: str r4, [sp, #0x68] str r1, [sp, #0x6c] str r2, [sp, #0x70] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] @@ -11187,7 +11187,7 @@ _0208ffb4: ldr r0, [r0, #0x170] cmp r0, r4 beq _02090004 - ldr r0, _02090314 ; =data_027e0fe4 + ldr r0, _02090314 ; =gActorManager ldr r1, [sp, #8] ldr r0, [r0] add r1, r1, r6, lsl #3 @@ -11265,7 +11265,7 @@ _02090004: sub r3, r8, #5 mov r3, r3, lsl #0xc str r3, [sp, #0x5c] - bl func_01ff9bc4 + bl Vec3p_Add cmp r5, #0xa bge _020902d4 ldr r1, _02090320 ; =gMapManager @@ -11275,7 +11275,7 @@ _02090004: bl _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p add r0, sp, #0x74 add r1, sp, #0x5c - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x2000 blt _02090144 ldr r0, _02090320 ; =gMapManager @@ -11365,7 +11365,7 @@ _02090250: add r5, r5, #1 b _020902f8 _0209025c: - ldr r1, _02090314 ; =data_027e0fe4 + ldr r1, _02090314 ; =gActorManager ldr r2, _02090324 ; =0x5053424c ldr r1, [r1] add r0, sp, #0x1c @@ -11374,7 +11374,7 @@ _0209025c: ldr r0, [sp, #0x1c] cmp r0, r4 beq _020902d4 - ldr r0, _02090314 ; =data_027e0fe4 + ldr r0, _02090314 ; =gActorManager add r1, sp, #0x1c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11390,7 +11390,7 @@ _0209025c: add r0, sp, #0x24 str r3, [sp, #0x2c] str r2, [sp, #0x28] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1800 sublt r6, r6, #1 addlt r5, r5, #1 @@ -11413,8 +11413,8 @@ _020902f8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0209030c: .word data_ov00_020eec9c -_02090310: .word data_027e0f94 -_02090314: .word data_027e0fe4 +_02090310: .word gPlayerPos +_02090314: .word gActorManager _02090318: .word 0x534e414b _0209031c: .word data_027e0764 _02090320: .word gMapManager @@ -11522,7 +11522,7 @@ _0209042c: ldrh r1, [r4, #0x20] cmp r1, #0 beq _02090460 - ldr r0, _02090488 ; =data_027e0fe4 + ldr r0, _02090488 ; =gActorManager mov r2, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -11533,7 +11533,7 @@ _0209042c: bl func_ov00_0209048c ldmia sp!, {r4, pc} _02090460: - ldr r0, _02090488 ; =data_027e0fe4 + ldr r0, _02090488 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -11544,7 +11544,7 @@ _02090460: bl func_ov00_0209048c ldmia sp!, {r4, pc} .align 2, 0 -_02090488: .word data_027e0fe4 +_02090488: .word gActorManager arm_func_end func_ov00_02090404 .global func_ov00_0209048c @@ -11559,7 +11559,7 @@ func_ov00_0209048c: ; 0x0209048c bne _020904bc mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, #0 strb r0, [r4, #0x118] _020904bc: @@ -11734,9 +11734,9 @@ _02090688: beq _020906cc b _020906fc _020906a8: - ldr r1, _0209076c ; =data_027e0f94 + ldr r1, _0209076c ; =gPlayerPos add r0, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 bgt _020906fc mov r0, r4 @@ -11747,9 +11747,9 @@ _020906cc: ldr r0, [r4, #0x1c4] cmp r0, #0x5a000 blt _020906fc - ldr r1, _0209076c ; =data_027e0f94 + ldr r1, _0209076c ; =gPlayerPos add r0, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 ble _020906fc mov r0, r4 @@ -11788,7 +11788,7 @@ _02090760: bl func_0203516c ldmia sp!, {r4, pc} .align 2, 0 -_0209076c: .word data_027e0f94 +_0209076c: .word gPlayerPos _02090770: .word gAdventureFlags arm_func_end func_ov00_02090648 @@ -11924,7 +11924,7 @@ func_ov00_020908d0: ; 0x020908d0 func_ov00_020908f8: ; 0x020908f8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r2, _02090974 ; =data_027e0f94 + ldr r2, _02090974 ; =gPlayerPos mov r4, r1 ldr r3, [r2] ldr r1, [r2, #4] @@ -11955,7 +11955,7 @@ _0209094c: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02090974: .word data_027e0f94 +_02090974: .word gPlayerPos arm_func_end func_ov00_020908f8 .global func_ov00_02090978 @@ -12737,7 +12737,7 @@ func_ov00_02090f74: ; 0x02090f74 str r3, [sp, #0x18] ldr r3, [ip, #0x268] str r3, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r4, #4] add r1, sp, #8 bl func_ov00_02087df8 @@ -12900,7 +12900,7 @@ _02091168: .word func_ov00_020908f8 func_ov00_0209116c: ; 0x0209116c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r2, _020911c8 ; =data_027e0f94 + ldr r2, _020911c8 ; =gPlayerPos add r1, sp, #0 ldr ip, [r2] ldr r3, [r2, #4] @@ -12922,7 +12922,7 @@ func_ov00_0209116c: ; 0x0209116c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_020911c8: .word data_027e0f94 +_020911c8: .word gPlayerPos arm_func_end func_ov00_0209116c .global func_ov00_020911cc @@ -13370,8 +13370,8 @@ _020917b4: .word 0x0000ffff func_ov00_020917b8: ; 0x020917b8 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x18c - ldr r1, _02091d3c ; =data_027e0f94 - ldr r2, _02091d40 ; =data_027e0fac + ldr r1, _02091d3c ; =gPlayerPos + ldr r2, _02091d40 ; =gPlayerAngle ldr r4, [r1] ldr r3, [r1, #4] str r4, [sp, #0x50] @@ -13446,7 +13446,7 @@ _02091890: mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_02090ac8 - ldr r0, _02091d3c ; =data_027e0f94 + ldr r0, _02091d3c ; =gPlayerPos strh r4, [r5, #0x14] ldr r1, [r0, #4] ldr r2, [r0] @@ -13478,7 +13478,7 @@ _0209190c: mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_02090ac8 - ldr r0, _02091d3c ; =data_027e0f94 + ldr r0, _02091d3c ; =gPlayerPos strh r4, [r5, #0x14] ldr r1, [r0, #4] ldr r2, [r0] @@ -13746,8 +13746,8 @@ _02091d34: add sp, sp, #0x18c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02091d3c: .word data_027e0f94 -_02091d40: .word data_027e0fac +_02091d3c: .word gPlayerPos +_02091d40: .word gPlayerAngle _02091d44: .word data_027e10a4 _02091d48: .word data_027e0d38 _02091d4c: .word gMapManager @@ -13958,7 +13958,7 @@ func_ov00_02091fe8: ; 0x02091fe8 str r3, [sp, #4] ldr r3, [r4, #0x274] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x2c] add r0, sp, #0 rsb r1, r1, #0 @@ -13989,7 +13989,7 @@ _02092098: add r0, sp, #0 add r1, sp, #0xc mov r2, r6 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x18] mov r1, #0 str r0, [r5] @@ -14202,12 +14202,12 @@ _02092368: add r2, sp, #0x38 add r0, r5, #0x40 add r1, r5, #0x4c - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r5, #4] ldr r0, [sp, #0x38] ldr r6, [r1, #0x15c] ldr r1, [sp, #0x40] - bl func_01ffa0f4 + bl Atan2 mov r4, r0, lsl #0x10 mov r0, r6 bl func_ov00_02087d84 @@ -14223,12 +14223,12 @@ _020923dc: add r2, sp, #0x2c add r0, r5, #8 add r1, r5, #0x4c - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r5, #4] ldr r0, [sp, #0x2c] ldr r6, [r1, #0x15c] ldr r1, [sp, #0x34] - bl func_01ffa0f4 + bl Atan2 mov r4, r0, lsl #0x10 mov r0, r6 bl func_ov00_02087d84 @@ -14252,12 +14252,12 @@ _0209242c: mov r0, r3 mov r2, r3 add r1, r5, #0x40 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r5, #4] ldr r0, [sp, #0x14] ldr r7, [r1, #0x15c] ldr r1, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r6, r0, lsl #0x10 mov r0, r7 bl func_ov00_02087d84 @@ -14283,7 +14283,7 @@ _0209242c: func_ov00_020924b8: ; 0x020924b8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x174 - ldr r1, _020931d8 ; =data_027e0f90 + ldr r1, _020931d8 ; =gPlayer mov r4, r0 ldr r0, [r1] ldr r1, [r0] @@ -14296,7 +14296,7 @@ func_ov00_020924b8: ; 0x020924b8 mov r0, r4 mov r2, #0 bl func_ov00_020933d4 - ldr r0, _020931dc ; =data_027e0fa0 + ldr r0, _020931dc ; =gPlayerVel add r1, sp, #0xf4 ldr r6, [r0] ldr r2, [r0, #4] @@ -14308,7 +14308,7 @@ func_ov00_020924b8: ; 0x020924b8 ldmia r1, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, [r4, #4] - ldr r3, _020931e0 ; =data_027e0fac + ldr r3, _020931e0 ; =gPlayerAngle ldr r0, [r0, #0x15c] mov r6, #0x1c000 cmp r0, #0x54 @@ -14317,11 +14317,11 @@ func_ov00_020924b8: ; 0x020924b8 ldrh r5, [r3] moveq r6, #0xa000 moveq r7, #0xd000 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x29 blt _02092684 add r0, sp, #0xe8 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _020931e4 ; =0x0000028f cmp r0, r1 bge _02092684 @@ -14340,12 +14340,12 @@ func_ov00_020924b8: ; 0x020924b8 add r0, sp, #0xe8 str r3, [sp, #0xe8] str r1, [sp, #0xf0] - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 add r0, r4, #0x28 - bl func_01ff9cec + bl Vec3p_Length add r0, r4, #0x1c - bl func_01ff9cec + bl Vec3p_Length cmp r0, r6 ble _02092634 ldr r2, [sp, #0xe8] @@ -14390,7 +14390,7 @@ _02092658: add r0, sp, #0x100 add r1, r4, #0x1c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0xe8] str r0, [r4, #0x28] ldr r0, [sp, #0xec] @@ -14402,7 +14402,7 @@ _02092684: add r0, sp, #0x100 add r1, r4, #0x1c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x1c] str r0, [r4, #0x28] ldr r0, [r4, #0x20] @@ -14521,12 +14521,12 @@ _02092824: mov r0, r3 mov r2, r3 add r1, r4, #0x40 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r4, #4] ldr r0, [sp, #0xc4] ldr r7, [r1, #0x15c] ldr r1, [sp, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 mov r0, r7 bl func_ov00_02087d84 @@ -14535,7 +14535,7 @@ _02092824: add r1, r1, r5, asr #16 mov r1, r1, lsl #0x10 mov r5, r1, asr #0x10 - bl func_01ff9cec + bl Vec3p_Length mov r7, r0 mov r0, r4 bl func_ov00_02090a7c @@ -14552,7 +14552,7 @@ _02092824: ldrsh r1, [sp, #0x14] mov r0, r4 bl func_ov00_02090c88 - ldr r0, _020931dc ; =data_027e0fa0 + ldr r0, _020931dc ; =gPlayerVel ldr r2, [r0] ldr r1, [r0, #4] ldr r0, [r0, #8] @@ -14604,12 +14604,12 @@ _0209295c: mov r0, r3 mov r2, r3 add r1, r4, #0x40 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r4, #4] ldr r0, [sp, #0xac] ldr r7, [r1, #0x15c] ldr r1, [sp, #0xb4] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 mov r0, r7 bl func_ov00_02087d84 @@ -14628,12 +14628,12 @@ _020929c8: add r2, sp, #0xa0 add r0, r4, #0x40 add r1, r4, #0x4c - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r4, #4] ldr r0, [sp, #0xa0] ldr r7, [r1, #0x15c] ldr r1, [sp, #0xa8] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 mov r0, r7 bl func_ov00_02087d84 @@ -14664,12 +14664,12 @@ _02092a50: add r0, sp, #0x100 add r2, sp, #0x94 add r1, r4, #0x4c - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r4, #4] ldr r0, [sp, #0x94] ldr r7, [r1, #0x15c] ldr r1, [sp, #0x9c] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 mov r0, r7 bl func_ov00_02087d84 @@ -14739,7 +14739,7 @@ _02092b4c: b _02092c74 _02092b68: bl func_ov00_02087d84 - ldr r1, _020931f8 ; =data_027e0f94 + ldr r1, _020931f8 ; =gPlayerPos ldr r0, [r0, #0x10] ldr r2, [r1, #4] ldr r3, [r1] @@ -14871,7 +14871,7 @@ _02092d00: mov r0, r3 mov r2, r3 add r1, sp, #0x7c - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x64 bl func_01fffb4c add r0, sp, #0x64 @@ -14880,13 +14880,13 @@ _02092d00: add r0, sp, #0x7c add r1, sp, #0x64 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x7c add r1, sp, #0x70 add r2, sp, #0x58 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x58 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 cmp r5, #0x5000 blt _02092df4 @@ -14907,7 +14907,7 @@ _02092d00: add r0, sp, #0x7c add r1, sp, #0x58 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02092df4: ldr r2, [sp, #0x7c] ldr r1, [sp, #0x80] @@ -14969,19 +14969,19 @@ _02092e60: mov r0, r3 mov r2, r3 add r1, sp, #0x40 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x34 mov r1, #0x800 bl func_01fffbec add r0, sp, #0x34 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 ldr r0, _020931fc ; =0x00001ccd cmp r5, r0 blt _02092f28 add r0, sp, #0x34 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, _02093200 ; =0xffffe333 add r1, r5, r0 rsb r0, r0, #0 @@ -14993,7 +14993,7 @@ _02092f28: add r0, r4, #0x34 add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0x3c str r0, [r4, #0x18] ldr r0, [r4, #0x34] @@ -15175,15 +15175,15 @@ _020931bc: add sp, sp, #0x174 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_020931d8: .word data_027e0f90 -_020931dc: .word data_027e0fa0 -_020931e0: .word data_027e0fac +_020931d8: .word gPlayer +_020931dc: .word gPlayerVel +_020931e0: .word gPlayerAngle _020931e4: .word 0x0000028f _020931e8: .word data_ov00_020e2fa8 _020931ec: .word 0x0000019a _020931f0: .word 0x00000ccd _020931f4: .word 0x00001388 -_020931f8: .word data_027e0f94 +_020931f8: .word gPlayerPos _020931fc: .word 0x00001ccd _02093200: .word 0xffffe333 _02093204: .word 0x000004cd @@ -15200,26 +15200,26 @@ func_ov00_0209320c: ; 0x0209320c mov r6, r1 mov r4, r0 mov r7, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0 mov r0, r5 mov r1, r6 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x38] add r0, sp, #0 bl func_01fffbec add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot mov r1, r6 bl Divide mov r5, r0 add r0, sp, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r3, [sp, #0x30] sub r2, r7, r6 smull lr, ip, r3, r2 @@ -15245,7 +15245,7 @@ func_ov00_0209320c: ; 0x0209320c mov r0, r4 mov r2, r4 add r1, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov00_0209320c @@ -15325,7 +15325,7 @@ func_ov00_020933b8: ; 0x020933b8 func_ov00_020933d4: ; 0x020933d4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r2, _02093500 ; =data_027e0f94 + ldr r2, _02093500 ; =gPlayerPos mov r4, r1 ldr r1, [r2] str r1, [r4] @@ -15406,7 +15406,7 @@ _020934c8: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02093500: .word data_027e0f94 +_02093500: .word gPlayerPos _02093504: .word gMapManager arm_func_end func_ov00_020933d4 @@ -15439,7 +15439,7 @@ func_ov00_02093508: ; 0x02093508 str r3, [sp, #4] ldr r3, [r4, #0x274] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, #0x200 ldrsh r1, [r0, #0x26] add r0, sp, #0 @@ -15459,7 +15459,7 @@ func_ov00_02093508: ; 0x02093508 mov r2, r7 add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x28] ldr r1, [sp, #0x98] sub r0, r0, r8, asr #16 @@ -15530,7 +15530,7 @@ _02093670: mov r7, r0, asr #0x10 b _0209369c _02093680: - ldr r0, _020936d4 ; =data_027e0fac + ldr r0, _020936d4 ; =gPlayerAngle ldrsh r7, [r0] b _0209369c _0209368c: @@ -15555,7 +15555,7 @@ _020936bc: bl func_ov00_020908f8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020936d4: .word data_027e0fac +_020936d4: .word gPlayerAngle arm_func_end func_ov00_02093634 .global func_ov00_020936d8 @@ -15590,7 +15590,7 @@ func_ov00_020936d8: ; 0x020936d8 ldr r1, [r0, #0x18] mov r0, r4 bl func_ov00_02090ad8 - ldr r1, _020937d4 ; =data_027e0f94 + ldr r1, _020937d4 ; =gPlayerPos mov r0, r4 ldr r3, [r1] ldr r2, [r1, #4] @@ -15625,7 +15625,7 @@ func_ov00_020936d8: ; 0x020936d8 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_020937d4: .word data_027e0f94 +_020937d4: .word gPlayerPos arm_func_end func_ov00_020936d8 .global func_ov00_020937d8 @@ -16195,7 +16195,7 @@ _02093e70: str r4, [sp, #0x34] str r3, [sp, #0x38] str r4, [sp, #0x3c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r3, r4 add r2, r3, #0x1800 add r0, sp, #0x58 @@ -16204,7 +16204,7 @@ _02093e70: mov r2, r0 str r3, [sp, #0x28] str r3, [sp, #0x30] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r1, r0, #7 @@ -16520,7 +16520,7 @@ _02094288: mov r2, #3 bl func_01ffa9fc ldrh r1, [r4, #0xc] - ldr r3, _020947f8 ; =data_02050f54 + ldr r3, _020947f8 ; =gSinCosTable add r0, sp, #0xa0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -16558,7 +16558,7 @@ _0209437c: mov r2, #3 bl func_01ffa9fc ldrh r1, [r4, #0xc] - ldr r3, _020947f8 ; =data_02050f54 + ldr r3, _020947f8 ; =gSinCosTable add r0, sp, #0x64 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -16840,7 +16840,7 @@ _020947e8: .word data_ov00_020ec9d6 _020947ec: .word data_ov00_020ec9d4 _020947f0: .word 0x00004210 _020947f4: .word 0xffffeccd -_020947f8: .word data_02050f54 +_020947f8: .word gSinCosTable _020947fc: .word 0x00002666 _02094800: .word data_027e0d44 _02094804: .word 0x001f0081 @@ -16980,11 +16980,11 @@ _020948c4: .word func_01ffebe0 .global func_ov00_020948c8 arm_func_start func_ov00_020948c8 func_ov00_020948c8: ; 0x020948c8 - ldr ip, _020948d4 ; =func_01ffec34 + ldr ip, _020948d4 ; =_ZN8Cylinder8OverlapsEPS_ add r0, r0, #0x14 bx ip .align 2, 0 -_020948d4: .word func_01ffec34 +_020948d4: .word _ZN8Cylinder8OverlapsEPS_ arm_func_end func_ov00_020948c8 .global func_ov00_020948d8 @@ -17395,15 +17395,15 @@ func_ov00_02094c10: ; 0x02094c10 add r1, sp, #0 add r2, sp, #0xc mov r0, r4 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r5, #0x14 add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x20 add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov00_02094c10 @@ -17970,7 +17970,7 @@ func_ov00_02095278: ; 0x02095278 add r0, sp, #0xc add r1, sp, #0 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [r6, #0xc] bl Divide @@ -18626,7 +18626,7 @@ _02095a2c: add r1, sp, #0x64 mov r2, r11 str r5, [sp, #0x6c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x1000 str r0, [sp, #0x58] mov r0, #0x5000 @@ -18635,7 +18635,7 @@ _02095a2c: add r1, sp, #0x58 mov r2, r0 str r5, [sp, #0x60] - bl func_01ff9bc4 + bl Vec3p_Add cmp r9, #0 beq _02095c74 cmp r6, #0x3000 @@ -18664,7 +18664,7 @@ _02095ac0: add r1, sp, #0x4c mov r2, r11 str r5, [sp, #0x54] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x40] mov r0, #0x5000 @@ -18673,7 +18673,7 @@ _02095ac0: add r1, sp, #0x40 mov r2, r0 str r5, [sp, #0x48] - bl func_01ff9bc4 + bl Vec3p_Add cmp r9, #0 beq _02095c74 cmp r6, #0x3000 @@ -18702,7 +18702,7 @@ _02095b54: add r1, sp, #0x34 mov r2, r11 str r4, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x5000 str r0, [sp, #0x2c] mov r0, #0x1000 @@ -18711,7 +18711,7 @@ _02095b54: add r1, sp, #0x28 mov r2, r0 str r4, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add cmp r9, #0 beq _02095c74 cmp r6, #0x3000 @@ -18740,7 +18740,7 @@ _02095be8: add r1, sp, #0x1c mov r2, r11 str r4, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x5000 str r0, [sp, #0x14] mov r0, #0 @@ -18749,7 +18749,7 @@ _02095be8: add r1, sp, #0x10 mov r2, r0 str r4, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add cmp r9, #0 beq _02095c74 cmp r6, #0x3000 @@ -19128,14 +19128,14 @@ _020960b0: mov r0, r5 mov r1, r6 mov r2, r5 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r4] mov r1, r11 bl _ZN10MapManager17GetMapData_Unk_dcEP5Vec3p mov r0, r5 mov r1, r11 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add mov r2, r7 mov r0, r10 mov r1, r5 @@ -19647,7 +19647,7 @@ _020967e0: cmp r0, #0 bge _02096974 add r0, sp, #0x2c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x2c str r1, [sp, #0x48] @@ -19711,14 +19711,14 @@ _020968f4: add lr, lr, #8 cmp lr, r0 blo _020968f4 - ldr r0, _020969f8 ; =data_027e0fe4 + ldr r0, _020969f8 ; =gActorManager add r1, sp, #0x20 ldr r0, [r0] add r2, sp, #0x58 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ble _02096974 - ldr r0, _020969f8 ; =data_027e0fe4 + ldr r0, _020969f8 ; =gActorManager ldr r1, [sp, #0x58] ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -19775,7 +19775,7 @@ _02096994: .align 2, 0 _020969f0: .word data_027e0fe8 _020969f4: .word data_ov00_020e30c8 -_020969f8: .word data_027e0fe4 +_020969f8: .word gActorManager arm_func_end func_ov00_020967ac .global func_ov00_020969fc @@ -24293,7 +24293,7 @@ data_ov00_020e2948: ; 0x020e2948 .word func_ov00_0208fbfc .global data_ov00_020e294c data_ov00_020e294c: ; 0x020e294c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e2950 data_ov00_020e2950: ; 0x020e2950 .word _ZN5Actor8vfunc_20Ei @@ -24323,10 +24323,10 @@ data_ov00_020e2970: ; 0x020e2970 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e2974 data_ov00_020e2974: ; 0x020e2974 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e2978 data_ov00_020e2978: ; 0x020e2978 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e297c data_ov00_020e297c: ; 0x020e297c .word _ZN5Actor8vfunc_4cEPi @@ -24434,7 +24434,7 @@ data_ov00_020e2a04: ; 0x020e2a04 .word _ZN5Actor8vfunc_18Ej .global data_ov00_020e2a08 data_ov00_020e2a08: ; 0x020e2a08 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e2a0c data_ov00_020e2a0c: ; 0x020e2a0c .word _ZN5Actor8vfunc_20Ei @@ -24464,10 +24464,10 @@ data_ov00_020e2a2c: ; 0x020e2a2c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e2a30 data_ov00_020e2a30: ; 0x020e2a30 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e2a34 data_ov00_020e2a34: ; 0x020e2a34 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e2a38 data_ov00_020e2a38: ; 0x020e2a38 .word _ZN5Actor8vfunc_4cEPi @@ -24605,10 +24605,10 @@ data_ov00_020e2ae8: ; 0x020e2ae8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e2aec data_ov00_020e2aec: ; 0x020e2aec - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e2af0 data_ov00_020e2af0: ; 0x020e2af0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e2af4 data_ov00_020e2af4: ; 0x020e2af4 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov00/ov00_020980f4.inc b/asm/ov00/ov00_020980f4.inc index 7d328428..64c77ad0 100644 --- a/asm/ov00/ov00_020980f4.inc +++ b/asm/ov00/ov00_020980f4.inc @@ -29,7 +29,7 @@ .extern _ZN14AdventureFlags6ExistsEv .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -42,14 +42,14 @@ .extern _ZN5Actor8vfunc_08Ev .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -78,7 +78,7 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02052f54 .extern data_02057840 .extern data_0205785c @@ -103,13 +103,13 @@ .extern data_027e0f84 .extern data_027e0f88 .extern data_027e0f8c -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerAngle +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fec .extern data_027e10a4 .extern data_ov00_020e2fa8 @@ -139,13 +139,13 @@ .extern func_01ff8230 .extern func_01ff98f0 .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffa8d4 .extern func_01ffbf5c .extern func_01ffe1cc diff --git a/asm/ov00/ov00_020980f4.s b/asm/ov00/ov00_020980f4.s index fe9fc301..a02d40bd 100644 --- a/asm/ov00/ov00_020980f4.s +++ b/asm/ov00/ov00_020980f4.s @@ -141,7 +141,7 @@ _0209828c: ldrb r0, [r4, #0x12] cmp r0, #0 beq _020982a8 - ldr r0, _020985ac ; =data_027e0f90 + ldr r0, _020985ac ; =gPlayer mov r1, #0 ldr r0, [r0] bl _ZN10PlayerBase12SetUpdatePosEb @@ -350,7 +350,7 @@ _02098574: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020985a8: .word data_027e0f64 -_020985ac: .word data_027e0f90 +_020985ac: .word gPlayer _020985b0: .word data_027e0c54 _020985b4: .word data_027e0db0 _020985b8: .word gMapManager @@ -704,7 +704,7 @@ func_ov00_020989a8: ; 0x020989a8 bne _02098a34 mov r0, #0 strb r0, [r4, #0x20] - ldr r0, _02098b24 ; =data_027e0fc8 + ldr r0, _02098b24 ; =gPlayerLink ldrsh r2, [r4, #0x24] ldr r0, [r0] add r1, r4, #0x30 @@ -718,7 +718,7 @@ _02098a04: mov r0, #0 strb r0, [r4, #0x20] str r0, [r4, #0x28] - ldr r0, _02098b24 ; =data_027e0fc8 + ldr r0, _02098b24 ; =gPlayerLink ldrsh r2, [r4, #0x24] ldr r0, [r0] add r1, r4, #0x30 @@ -742,7 +742,7 @@ _02098a34: cmp r2, #0 beq _02098a8c mov r1, #0 - ldr r0, _02098b28 ; =data_027e0f90 + ldr r0, _02098b28 ; =gPlayer strb r1, [r4, #0x21] ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -751,7 +751,7 @@ _02098a8c: cmp r0, #0 ldmeqia sp!, {r4, pc} mov r2, #0 - ldr r0, _02098b2c ; =data_027e0fe4 + ldr r0, _02098b2c ; =gActorManager strb r2, [r4, #0x22] ldr r1, [r0] ldr r0, _02098b30 ; =data_027e0f68 @@ -769,7 +769,7 @@ _02098abc: ldrb r0, [r4, #0x21] cmp r0, #0 beq _02098af0 - ldr r0, _02098b28 ; =data_027e0f90 + ldr r0, _02098b28 ; =gPlayer strb r1, [r4, #0x21] ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -778,7 +778,7 @@ _02098af0: cmp r0, #0 ldmeqia sp!, {r4, pc} mov r2, #0 - ldr r0, _02098b2c ; =data_027e0fe4 + ldr r0, _02098b2c ; =gActorManager strb r2, [r4, #0x22] ldr r1, [r0] ldr r0, _02098b30 ; =data_027e0f68 @@ -788,9 +788,9 @@ _02098af0: ldmia sp!, {r4, pc} .align 2, 0 _02098b20: .word data_027e071c -_02098b24: .word data_027e0fc8 -_02098b28: .word data_027e0f90 -_02098b2c: .word data_027e0fe4 +_02098b24: .word gPlayerLink +_02098b28: .word gPlayer +_02098b2c: .word gActorManager _02098b30: .word data_027e0f68 arm_func_end func_ov00_020989a8 @@ -1357,7 +1357,7 @@ _02099240: _02099244: cmp r1, #0 beq _0209925c - ldr r0, _020994b4 ; =data_027e0f90 + ldr r0, _020994b4 ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -1378,7 +1378,7 @@ _02099288: _0209928c: cmp r1, #0 beq _020992a4 - ldr r0, _020994b4 ; =data_027e0f90 + ldr r0, _020994b4 ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase12SetUpdatePosEb @@ -1399,7 +1399,7 @@ _020992d0: _020992d4: cmp r1, #0 beq _020992f8 - ldr r0, _020994b8 ; =data_027e0fe4 + ldr r0, _020994b8 ; =gActorManager mov r2, #1 ldr r1, [r0] ldr r0, _020994bc ; =data_027e0f68 @@ -1494,7 +1494,7 @@ _020993b4: ldr r1, [sp, #0xc] cmp r1, #1 bne _02099484 - ldr r1, _020994b8 ; =data_027e0fe4 + ldr r1, _020994b8 ; =gActorManager ldr r2, _020994d4 ; =0x414e4353 ldr r1, [r1] add r0, sp, #0 @@ -1503,7 +1503,7 @@ _020993b4: mvn r0, #0 cmp r1, r0 beq _020994a4 - ldr r0, _020994b8 ; =data_027e0fe4 + ldr r0, _020994b8 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1528,8 +1528,8 @@ _020994a4: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020994b4: .word data_027e0f90 -_020994b8: .word data_027e0fe4 +_020994b4: .word gPlayer +_020994b8: .word gActorManager _020994bc: .word data_027e0f68 _020994c0: .word data_027e0f64 _020994c4: .word data_027e0c68 @@ -4795,7 +4795,7 @@ func_ov00_0209be6c: ; 0x0209be6c mov r3, #0 mov r4, r0 bl func_ov00_020908f8 - ldr r1, _0209be9c ; =data_027e0fac + ldr r1, _0209be9c ; =gPlayerAngle mov r0, r4 ldrsh r1, [r1] sub r1, r1, #0x8000 @@ -4804,7 +4804,7 @@ func_ov00_0209be6c: ; 0x0209be6c bl func_ov00_02090ac8 ldmia sp!, {r4, pc} .align 2, 0 -_0209be9c: .word data_027e0fac +_0209be9c: .word gPlayerAngle arm_func_end func_ov00_0209be6c .global func_ov00_0209bea0 @@ -4812,8 +4812,8 @@ _0209be9c: .word data_027e0fac func_ov00_0209bea0: ; 0x0209bea0 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 - ldr r2, _0209bf44 ; =data_027e0f94 - ldr r1, _0209bf48 ; =data_027e0fa0 + ldr r2, _0209bf44 ; =gPlayerPos + ldr r1, _0209bf48 ; =gPlayerVel ldr r4, [r2] ldr r3, [r2, #4] str r4, [sp, #0xc] @@ -4829,11 +4829,11 @@ func_ov00_0209bea0: ; 0x0209bea0 mov r4, r0 str r3, [sp, #4] bl func_ov00_02090e10 - ldr r2, _0209bf4c ; =data_027e0fac + ldr r2, _0209bf4c ; =gPlayerAngle ldr r0, [sp] ldr r1, [sp, #8] ldrsh r5, [r2] - bl func_01ffa0f4 + bl Atan2 mov r0, r4 bl func_ov00_02090a7c ldr r1, [r0, #0x30] @@ -4852,9 +4852,9 @@ func_ov00_0209bea0: ; 0x0209bea0 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0209bf44: .word data_027e0f94 -_0209bf48: .word data_027e0fa0 -_0209bf4c: .word data_027e0fac +_0209bf44: .word gPlayerPos +_0209bf48: .word gPlayerVel +_0209bf4c: .word gPlayerAngle arm_func_end func_ov00_0209bea0 .global func_ov00_0209bf50 @@ -5444,7 +5444,7 @@ func_ov00_0209c648: ; 0x0209c648 mov r0, ip mov r1, r3 mov r2, ip - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0209c780 ; =data_027e0f78 ldr r1, [sp, #0x18] ldr r2, [r0] @@ -5458,7 +5458,7 @@ func_ov00_0209c648: ; 0x0209c648 ldmeqia sp!, {r4, r5, pc} add r0, sp, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [sp, #0xc] ldr r0, [sp, #0x10] rsb lr, r1, #0 @@ -5528,7 +5528,7 @@ func_ov00_0209c788: ; 0x0209c788 add r2, r0, #1 mov r1, r1, lsl #0x1 mov r3, r2, lsl #0x1 - ldr r4, _0209c8d8 ; =data_02050f54 + ldr r4, _0209c8d8 ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r3, [r4, r3] ldrsh r4, [r4, r2] @@ -5548,7 +5548,7 @@ func_ov00_0209c788: ; 0x0209c788 cmp r5, ip movlt r5, ip _0209c828: - ldr r4, _0209c8d8 ; =data_02050f54 + ldr r4, _0209c8d8 ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r4, [r4, r0] ldr r0, _0209c8dc ; =0x00000fff @@ -5563,7 +5563,7 @@ _0209c828: movlt r4, r0 _0209c85c: add r1, r1, #1 - ldr r0, _0209c8d8 ; =data_02050f54 + ldr r0, _0209c8d8 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh ip, [r0, r1] strh r4, [sp, #2] @@ -5595,7 +5595,7 @@ _0209c8b4: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0209c8d4: .word data_027e0d38 -_0209c8d8: .word data_02050f54 +_0209c8d8: .word gSinCosTable _0209c8dc: .word 0x00000fff _0209c8e0: .word data_027e0f88 arm_func_end func_ov00_0209c788 @@ -5621,7 +5621,7 @@ func_ov00_0209c8f4: ; 0x0209c8f4 blx r1 cmp r0, #2 bne _0209c93c - ldr r0, _0209c950 ; =data_027e0f94 + ldr r0, _0209c950 ; =gPlayerPos mov r1, #0 ldr r2, [r0] str r2, [r4, #0xf8] @@ -5638,7 +5638,7 @@ _0209c93c: bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p ldmia sp!, {r4, pc} .align 2, 0 -_0209c950: .word data_027e0f94 +_0209c950: .word gPlayerPos _0209c954: .word gMapManager arm_func_end func_ov00_0209c8f4 @@ -5858,10 +5858,10 @@ _0209cc2c: .word gMapManager .global func_ov00_0209cc30 arm_func_start func_ov00_0209cc30 func_ov00_0209cc30: ; 0x0209cc30 - ldr ip, _0209cc38 ; =func_01ff9cec + ldr ip, _0209cc38 ; =Vec3p_Length bx ip .align 2, 0 -_0209cc38: .word func_01ff9cec +_0209cc38: .word Vec3p_Length arm_func_end func_ov00_0209cc30 .global func_ov00_0209cc3c @@ -6085,7 +6085,7 @@ func_ov00_0209ce78: ; 0x0209ce78 mov r5, r1 addne sp, sp, #0x1c ldmneia sp!, {r4, r5, pc} - ldr r2, _0209cf5c ; =data_027e0f94 + ldr r2, _0209cf5c ; =gPlayerPos add r1, sp, #0x10 ldr ip, [r2] ldr r3, [r2, #4] @@ -6106,7 +6106,7 @@ func_ov00_0209ce78: ; 0x0209ce78 mov r0, r4 bl func_ov00_02090b68 _0209cee4: - ldr r1, _0209cf60 ; =data_027e0fac + ldr r1, _0209cf60 ; =gPlayerAngle mov r0, r4 ldrsh r1, [r1] sub r1, r1, #0x8000 @@ -6137,8 +6137,8 @@ _0209cee4: add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} .align 2, 0 -_0209cf5c: .word data_027e0f94 -_0209cf60: .word data_027e0fac +_0209cf5c: .word gPlayerPos +_0209cf60: .word gPlayerAngle arm_func_end func_ov00_0209ce78 .global func_ov00_0209cf64 @@ -6146,8 +6146,8 @@ _0209cf60: .word data_027e0fac func_ov00_0209cf64: ; 0x0209cf64 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 - ldr r2, _0209d098 ; =data_027e0f94 - ldr r1, _0209d09c ; =data_027e0fa0 + ldr r2, _0209d098 ; =gPlayerPos + ldr r1, _0209d09c ; =gPlayerVel ldr r4, [r2] ldr r3, [r2, #4] str r4, [sp, #0x3c] @@ -6165,7 +6165,7 @@ func_ov00_0209cf64: ; 0x0209cf64 bl func_ov00_02090e10 ldr r0, [sp, #0x30] ldr r1, [sp, #0x38] - bl func_01ffa0f4 + bl Atan2 add r1, sp, #0x3c mov r0, r4 bl func_ov00_02090c28 @@ -6222,8 +6222,8 @@ func_ov00_0209cf64: ; 0x0209cf64 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0209d098: .word data_027e0f94 -_0209d09c: .word data_027e0fa0 +_0209d098: .word gPlayerPos +_0209d09c: .word gPlayerVel _0209d0a0: .word data_ov00_020e2fa8 arm_func_end func_ov00_0209cf64 @@ -6324,7 +6324,7 @@ _0209d1b8: _0209d1cc: cmp r5, #1 bne _0209d1ec - ldr r0, _0209d284 ; =data_027e0fac + ldr r0, _0209d284 ; =gPlayerAngle ldrsh r0, [r0] sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 @@ -6336,7 +6336,7 @@ _0209d1ec: mov r8, r0, asr #0x10 b _0209d210 _0209d1fc: - ldr r0, _0209d284 ; =data_027e0fac + ldr r0, _0209d284 ; =gPlayerAngle ldrsh r0, [r0] sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 @@ -6374,7 +6374,7 @@ _0209d26c: bl func_ov00_020908f8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0209d284: .word data_027e0fac +_0209d284: .word gPlayerAngle arm_func_end func_ov00_0209d134 .global func_ov00_0209d288 @@ -6407,7 +6407,7 @@ _0209d2d0: .word data_027e0d38 func_ov00_0209d2d4: ; 0x0209d2d4 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _0209d404 ; =data_027e0f94 + ldr r1, _0209d404 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -6485,7 +6485,7 @@ _0209d3dc: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_0209d404: .word data_027e0f94 +_0209d404: .word gPlayerPos _0209d408: .word data_027e10a4 arm_func_end func_ov00_0209d2d4 @@ -7949,7 +7949,7 @@ func_ov00_0209e594: ; 0x0209e594 ldr r4, [r0, #0x5c] cmp r4, #0 ble _0209e664 - ldr r0, _0209e6f0 ; =data_027e0f94 + ldr r0, _0209e6f0 ; =gPlayerPos ldr r1, [r7, #0x18] ldr r3, [r0] ldr r2, [r0, #4] @@ -8028,7 +8028,7 @@ _0209e690: add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0209e6f0: .word data_027e0f94 +_0209e6f0: .word gPlayerPos _0209e6f4: .word data_027e0d38 arm_func_end func_ov00_0209e594 @@ -8061,7 +8061,7 @@ func_ov00_0209e6f8: ; 0x0209e6f8 ldr r4, [r0, #0x5c] cmp r4, #0 ble _0209e7fc - ldr r0, _0209e858 ; =data_027e0f94 + ldr r0, _0209e858 ; =gPlayerPos ldr r1, [r6, #0x18] ldr r3, [r0] ldr r2, [r0, #4] @@ -8127,7 +8127,7 @@ _0209e7fc: add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0209e858: .word data_027e0f94 +_0209e858: .word gPlayerPos _0209e85c: .word data_027e0d38 arm_func_end func_ov00_0209e6f8 @@ -11537,7 +11537,7 @@ _020a12f8: add r0, r4, #0x18 add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -11551,7 +11551,7 @@ func_ov00_020a132c: ; 0x020a132c sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _020a1384 ; =data_02050f54 + ldr r3, _020a1384 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11570,7 +11570,7 @@ func_ov00_020a132c: ; 0x020a132c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_020a1384: .word data_02050f54 +_020a1384: .word gSinCosTable arm_func_end func_ov00_020a132c .global func_ov00_020a1388 @@ -11697,7 +11697,7 @@ func_ov00_020a142c: ; 0x020a142c mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 add r3, r2, #1 - ldr r2, _020a1538 ; =data_02050f54 + ldr r2, _020a1538 ; =gSinCosTable mov r3, r3, lsl #0x1 ldrsh r2, [r2, r3] orr r1, r1, r0, lsl #20 @@ -11717,7 +11717,7 @@ _020a152c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020a1534: .word 0x02710000 -_020a1538: .word data_02050f54 +_020a1538: .word gSinCosTable arm_func_end func_ov00_020a142c .global func_ov00_020a153c @@ -12294,7 +12294,7 @@ func_ov00_020a1b54: ; 0x020a1b54 add r3, r1, #1 mov r2, r2, lsl #0x1 mov r5, r3, lsl #0x1 - ldr r4, _020a1c60 ; =data_02050f54 + ldr r4, _020a1c60 ; =gSinCosTable mov r3, r2, lsl #0x1 ldrsh ip, [r4, r5] ldrsh r4, [r4, r3] @@ -12314,7 +12314,7 @@ func_ov00_020a1b54: ; 0x020a1b54 cmp r5, lr movlt r5, lr _020a1bcc: - ldr r4, _020a1c60 ; =data_02050f54 + ldr r4, _020a1c60 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r4, [r4, r1] strh r5, [r0, #8] @@ -12329,7 +12329,7 @@ _020a1bcc: movlt r5, r1 _020a1c00: add r2, r2, #1 - ldr r1, _020a1c60 ; =data_02050f54 + ldr r1, _020a1c60 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r4, [r1, r2] strh r5, [r0, #0xa] @@ -12354,7 +12354,7 @@ _020a1c58: strh r3, [r0, #0xc] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020a1c60: .word data_02050f54 +_020a1c60: .word gSinCosTable _020a1c64: .word 0x00000fff arm_func_end func_ov00_020a1b54 @@ -12631,7 +12631,7 @@ func_ov00_020a1f24: ; 0x020a1f24 str r0, [r4, #0x2c] ldmia sp!, {r4, pc} _020a1f90: - ldr r0, _020a1fcc ; =data_027e0f94 + ldr r0, _020a1fcc ; =gPlayerPos ldr r1, [r0] str r1, [r4, #0x18] ldr r1, [r0, #4] @@ -12647,7 +12647,7 @@ _020a1f90: ldmia sp!, {r4, pc} .align 2, 0 _020a1fc8: .word gMapManager -_020a1fcc: .word data_027e0f94 +_020a1fcc: .word gPlayerPos arm_func_end func_ov00_020a1f24 .global func_ov00_020a1fd0 @@ -12660,7 +12660,7 @@ func_ov00_020a1fd0: ; 0x020a1fd0 ldr r3, [r7, #0x1c] ldr r2, [r7, #0x20] ldr r0, [r7, #0x18] - ldr r1, _020a2220 ; =data_027e0fac + ldr r1, _020a2220 ; =gPlayerAngle str r4, [sp, #4] str r2, [sp, #8] str r0, [sp] @@ -12804,7 +12804,7 @@ _020a21d0: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_020a2220: .word data_027e0fac +_020a2220: .word gPlayerAngle _020a2224: .word gMapManager arm_func_end func_ov00_020a1fd0 @@ -12883,10 +12883,10 @@ func_ov00_020a22d0: ; 0x020a22d0 mvn r1, #0 bl func_ov00_02090efc mvn r0, #0 - ldr r1, _020a239c ; =data_027e0f94 + ldr r1, _020a239c ; =gPlayerPos str r0, [r5, #0x1c] ldr r0, [r1] - ldr r3, _020a23a0 ; =data_027e0fac + ldr r3, _020a23a0 ; =gPlayerAngle str r0, [r5, #0x20] ldr r2, [r1, #4] mov r0, r5 @@ -12930,8 +12930,8 @@ _020a238c: bl func_ov00_02090f08 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020a239c: .word data_027e0f94 -_020a23a0: .word data_027e0fac +_020a239c: .word gPlayerPos +_020a23a0: .word gPlayerAngle arm_func_end func_ov00_020a22d0 .global func_ov00_020a23a4 @@ -12967,7 +12967,7 @@ _020a23d8: mov r0, r3 mov r2, r3 add r1, r9, #0x20 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r9, #0x20 add r3, sp, #0x10 ldmia r0, {r0, r1, r2} @@ -12975,7 +12975,7 @@ _020a23d8: ldr r0, [sp, #0xec] add r1, sp, #0x1c mov r2, r3 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] str r1, [sp, #0x40] @@ -12999,7 +12999,7 @@ _020a23d8: mov r6, r0 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - bl func_01ffa0f4 + bl Atan2 mov r10, r0, lsl #0x10 add r0, sp, #0x1c add r3, sp, #4 @@ -13014,7 +13014,7 @@ _020a23d8: rsb r1, r1, #0 str r0, [sp, #4] str r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r0, [sp, #0x104] @@ -17773,7 +17773,7 @@ func_ov00_020a6110: ; 0x020a6110 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 - ldr r2, _020a61a8 ; =data_02050f54 + ldr r2, _020a61a8 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] ldmib r0, {r6, ip} @@ -17806,7 +17806,7 @@ func_ov00_020a6110: ; 0x020a6110 str r1, [r0, #8] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020a61a8: .word data_02050f54 +_020a61a8: .word gSinCosTable arm_func_end func_ov00_020a6110 .global func_ov00_020a61ac @@ -17818,7 +17818,7 @@ func_ov00_020a61ac: ; 0x020a61ac mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 - ldr r2, _020a624c ; =data_02050f54 + ldr r2, _020a624c ; =gSinCosTable mov r4, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldr r3, [r0] @@ -17853,7 +17853,7 @@ func_ov00_020a61ac: ; 0x020a61ac str r1, [r0, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020a624c: .word data_02050f54 +_020a624c: .word gSinCosTable arm_func_end func_ov00_020a61ac .global func_ov00_020a6250 @@ -17865,7 +17865,7 @@ func_ov00_020a6250: ; 0x020a6250 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 - ldr r2, _020a62e8 ; =data_02050f54 + ldr r2, _020a62e8 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] ldmia r0, {r6, ip} @@ -17898,7 +17898,7 @@ func_ov00_020a6250: ; 0x020a6250 str r1, [r0, #4] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020a62e8: .word data_02050f54 +_020a62e8: .word gSinCosTable arm_func_end func_ov00_020a6250 .global func_ov00_020a62ec @@ -18440,7 +18440,7 @@ func_ov00_020a6908: ; 0x020a6908 func_ov00_020a6924: ; 0x020a6924 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xf0 - ldr r2, _020a6de4 ; =data_027e0f94 + ldr r2, _020a6de4 ; =gPlayerPos mov r10, r0 ldr r3, [r2] ldr r0, [r2, #4] @@ -18475,7 +18475,7 @@ _020a6970: str r2, [sp, #0x10] str r4, [sp, #0x14] str r3, [sp, #0x18] - bl func_01ff9ec0 + bl Vec3p_Distance mov r4, r0 cmp r4, #0x1800 bgt _020a6ad0 @@ -18493,7 +18493,7 @@ _020a6970: str r3, [sp, #8] ldr r3, [r5, #0x298] str r3, [sp, #0xc] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 mov r0, r6 sub r1, r2, #0x4000 @@ -18518,7 +18518,7 @@ _020a6a50: add r0, sp, #0x7c add r1, sp, #0x64 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r10, #0x1c] ldr r1, [sp, #0x80] ldr r0, _020a6dec ; =0x00001ccd @@ -18562,10 +18562,10 @@ _020a6ae0: add r1, sp, #0x7c mov r0, r3 mov r2, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x58] ldr r1, [sp, #0x60] - bl func_01ffa0f4 + bl Atan2 mov r2, r0, lsl #0x10 add r1, sp, #0x7c mov r0, r10 @@ -18611,11 +18611,11 @@ _020a6b9c: add r1, sp, #0x7c mov r0, r3 mov r2, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x40] ldr r1, [sp, #0x48] - bl func_01ffa0f4 - ldr r1, _020a6de4 ; =data_027e0f94 + bl Atan2 + ldr r1, _020a6de4 ; =gPlayerPos mov r0, r0, lsl #0x10 ldr r2, [r1] mov r4, r0, asr #0x10 @@ -18631,9 +18631,9 @@ _020a6b9c: mov r0, r3 mov r2, r3 add r1, sp, #0x34 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x28 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 mov r0, r10 bl func_ov00_02090a7c @@ -18746,7 +18746,7 @@ _020a6d70: add r0, sp, #0x34 add r1, sp, #0x28 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x34] str r0, [r10, #0x18] ldr r0, [sp, #0x38] @@ -18756,7 +18756,7 @@ _020a6d70: add sp, sp, #0xf0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_020a6de4: .word data_027e0f94 +_020a6de4: .word gPlayerPos _020a6de8: .word data_027e10a4 _020a6dec: .word 0x00001ccd _020a6df0: .word 0x00000333 @@ -24529,7 +24529,7 @@ data_ov00_020e4c68: ; 0x020e4c68 .word _ZN5Actor8vfunc_18Ej .global data_ov00_020e4c6c data_ov00_020e4c6c: ; 0x020e4c6c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e4c70 data_ov00_020e4c70: ; 0x020e4c70 .word _ZN5Actor8vfunc_20Ei @@ -24559,10 +24559,10 @@ data_ov00_020e4c90: ; 0x020e4c90 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e4c94 data_ov00_020e4c94: ; 0x020e4c94 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e4c98 data_ov00_020e4c98: ; 0x020e4c98 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e4c9c data_ov00_020e4c9c: ; 0x020e4c9c .word _ZN5Actor8vfunc_4cEPi @@ -24992,7 +24992,7 @@ data_ov00_020e4f10: ; 0x020e4f10 .word _ZN5Actor8vfunc_18Ej .global data_ov00_020e4f14 data_ov00_020e4f14: ; 0x020e4f14 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e4f18 data_ov00_020e4f18: ; 0x020e4f18 .word _ZN5Actor8vfunc_20Ei @@ -25022,10 +25022,10 @@ data_ov00_020e4f38: ; 0x020e4f38 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e4f3c data_ov00_020e4f3c: ; 0x020e4f3c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e4f40 data_ov00_020e4f40: ; 0x020e4f40 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e4f44 data_ov00_020e4f44: ; 0x020e4f44 .word _ZN5Actor8vfunc_4cEPi @@ -25686,7 +25686,7 @@ data_ov00_020e5314: ; 0x020e5314 .word _ZN5Actor8vfunc_18Ej .global data_ov00_020e5318 data_ov00_020e5318: ; 0x020e5318 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e531c data_ov00_020e531c: ; 0x020e531c .word _ZN5Actor8vfunc_20Ei @@ -25716,10 +25716,10 @@ data_ov00_020e533c: ; 0x020e533c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e5340 data_ov00_020e5340: ; 0x020e5340 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e5344 data_ov00_020e5344: ; 0x020e5344 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e5348 data_ov00_020e5348: ; 0x020e5348 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov00/ov00_020a8e04.inc b/asm/ov00/ov00_020a8e04.inc index 19eb4320..e6add1ac 100644 --- a/asm/ov00/ov00_020a8e04.inc +++ b/asm/ov00/ov00_020a8e04.inc @@ -1,6 +1,6 @@ #pragma once .extern _ZN9SysObjectdlEPv -.extern data_02050f54 +.extern gSinCosTable .extern data_027e016c .extern data_027e0194 .extern data_027e037c diff --git a/asm/ov00/ov00_020a8e04.s b/asm/ov00/ov00_020a8e04.s index fafeea50..d35234ca 100644 --- a/asm/ov00/ov00_020a8e04.s +++ b/asm/ov00/ov00_020a8e04.s @@ -858,7 +858,7 @@ _020a9c94: bne _020a9d48 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _020a9dbc ; =data_02050f54 + ldr r1, _020a9dbc ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r0] @@ -873,7 +873,7 @@ _020a9c94: mov r0, r8, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _020a9dbc ; =data_02050f54 + ldr r1, _020a9dbc ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r0] @@ -890,7 +890,7 @@ _020a9c94: _020a9d48: mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _020a9dbc ; =data_02050f54 + ldr r2, _020a9dbc ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -904,7 +904,7 @@ _020a9d48: mov r0, r8, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _020a9dbc ; =data_02050f54 + ldr r2, _020a9dbc ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -918,7 +918,7 @@ _020a9d48: add sp, sp, #0x94 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_020a9dbc: .word data_02050f54 +_020a9dbc: .word gSinCosTable arm_func_end func_ov00_020a9c14 .global func_ov00_020a9dc0 diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index df048cff..f2ad9071 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -1,5 +1,13 @@ #pragma once +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_54Ev .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager16MapData_vfunc_78Ev @@ -26,10 +34,10 @@ .extern _ZN10MapManager18func_ov00_02084164Ev .extern _ZN10MapManager18func_ov00_020853fcEv .extern _ZN10PlayerBase10SetVisibleEb +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder .extern _ZN10PlayerBase13GetEquipSwordEv .extern _ZN10PlayerBase14GetEquipShieldEv .extern _ZN10PlayerBase18TeleportToEntranceEib -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN10PlayerBase8TeleportEP5Vec3psibb .extern _ZN10PlayerBase8vfunc_04Ev .extern _ZN10PlayerBase9AddHealthEs @@ -37,9 +45,10 @@ .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager13UnequipPotionEv +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN11ItemManager4SaveEP15SaveItemManager .extern _ZN11ItemManager8GiveAmmoEit -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -93,12 +102,13 @@ .extern _ZN17LinkStateInteract20CreateDebugHierarchyEv .extern _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p .extern _ZN17LinkStateInteract4GrabEP8ActorRef +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN4Item18func_ov00_020ad068Ei .extern _ZN5Actor10GetLinkPosEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -107,21 +117,21 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor20IncreaseActiveFramesEv .extern _ZN5Actor4KillEv .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -150,6 +160,7 @@ .extern _ZN7MapBase18func_ov00_0207e96cEv .extern _ZN9ActorTypeC1EjPFP5ActorvEPFivE .extern _ZN9ActorTypeD1Ev +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager16GetEquippedFairyEv @@ -159,7 +170,6 @@ .extern _ZNK11ItemManager7HasItemEi .extern _ZNK11ItemManager8GetFairyEi .extern __register_global_object -.extern data_02050f54 .extern data_02051f54 .extern data_02052f54 .extern data_02053f54 @@ -178,7 +188,6 @@ .extern data_027e0c54 .extern data_027e0c68 .extern data_027e0ce0 -.extern data_027e0d0c .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d44 @@ -188,21 +197,13 @@ .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f78 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac -.extern data_027e0fb8 -.extern gHealthManager .extern data_027e0fc4 -.extern data_027e0fc8 .extern data_027e0fcc .extern data_027e0fd0 .extern data_027e0fd4 .extern data_027e0fd8 .extern data_027e0fdc .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -228,21 +229,12 @@ .extern func_01ff8690 .extern func_01ff9158 .extern func_01ff992c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffa9fc .extern func_01ffb7ec .extern func_01ffbf5c .extern func_01ffe468 .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec .extern func_02002c14 .extern func_020059ec .extern func_020078d8 @@ -442,7 +434,6 @@ .extern func_ov12_02134378 .extern func_ov12_021343bc .extern func_ov14_021238f0 -.extern func_ov14_0213d420 .extern func_ov14_0213dfbc .extern func_ov14_0213e144 .extern func_ov14_021474ac @@ -457,8 +448,18 @@ .extern func_ov59_0219af14 .extern func_ov59_0219afc4 .extern func_ov59_0219b020 +.extern gActorManager .extern gAdventureFlags +.extern gHealthManager .extern gItemManager .extern gMapManager .extern gOverlayManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gPlayerVel +.extern gSinCosTable +.extern gVec3p_ZERO .extern strcat diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index 7832204c..906c1972 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -24,7 +24,7 @@ func_ov00_020b1498: ; 0x020b1498 str r0, [sp] mov r0, #9 ldr r1, _020b1520 ; =data_ov00_020dc6ec - ldr r3, _020b1524 ; =data_02050f54 + ldr r3, _020b1524 ; =gSinCosTable add r1, r1, lr, lsl #1 ldrb r1, [r4, r1] ldrsh r4, [r3, ip] @@ -42,7 +42,7 @@ func_ov00_020b1498: ; 0x020b1498 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020b1520: .word data_ov00_020dc6ec -_020b1524: .word data_02050f54 +_020b1524: .word gSinCosTable arm_func_end func_ov00_020b1498 .global func_ov00_020b1528 @@ -243,7 +243,7 @@ _020b16e0: bl func_ov00_0208b988 add r0, r5, #8 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize _020b1738: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} @@ -314,7 +314,7 @@ func_ov00_020b17ec: ; 0x020b17ec sub sp, sp, #0x6c ldrh r1, [sp, #0x88] mov r4, r0 - ldr r2, _020b18d4 ; =data_02050f54 + ldr r2, _020b18d4 ; =gSinCosTable mov r0, r1, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -325,7 +325,7 @@ func_ov00_020b17ec: ; 0x020b17ec add r0, sp, #0x48 blx func_01ff81f8 ldrh r1, [sp, #0x8c] - ldr r3, _020b18d4 ; =data_02050f54 + ldr r3, _020b18d4 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -340,7 +340,7 @@ func_ov00_020b17ec: ; 0x020b17ec mov r2, r0 bl func_01ff8690 ldrh r1, [sp, #0x90] - ldr r3, _020b18d4 ; =data_02050f54 + ldr r3, _020b18d4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -368,7 +368,7 @@ func_ov00_020b17ec: ; 0x020b17ec add sp, sp, #0x10 bx lr .align 2, 0 -_020b18d4: .word data_02050f54 +_020b18d4: .word gSinCosTable arm_func_end func_ov00_020b17ec .global func_ov00_020b18d8 @@ -380,10 +380,10 @@ func_ov00_020b18d8: ; 0x020b18d8 mov r0, r1 add r1, sp, #0 mov r5, r2 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0 mov r0, r4 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 addge sp, sp, #0xc ldmgeia sp!, {r4, r5, pc} @@ -397,7 +397,7 @@ func_ov00_020b18d8: ; 0x020b18d8 mov r2, r4 mov r3, r4 orr r0, r0, ip, lsl #20 - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_end func_ov00_020b18d8 @@ -1097,7 +1097,7 @@ _020b2144: bl _ZN13LinkStateBase26Clear_PlayerLinkBase_Unk48Et mov r0, r4 bl _ZN13LinkStateBase12GetPlayerVelEv - ldr r1, _020b2478 ; =data_027e0d0c + ldr r1, _020b2478 ; =gVec3p_ZERO ldr r2, [r1] str r2, [r0] ldr r2, [r1, #4] @@ -1155,7 +1155,7 @@ _020b2200: str r1, [r4, #0x48] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r1, [r0] - ldr r5, _020b247c ; =data_02050f54 + ldr r5, _020b247c ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1316,8 +1316,8 @@ _020b246c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020b2474: .word data_ov00_020ee698 -_020b2478: .word data_027e0d0c -_020b247c: .word data_02050f54 +_020b2478: .word gVec3p_ZERO +_020b247c: .word gSinCosTable _020b2480: .word 0x00000ccd _020b2484: .word 0x000004cd _020b2488: .word data_ov00_020eec68 @@ -1656,7 +1656,7 @@ _020b28f4: mov r0, r4 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r1, [r0] - ldr r5, _020b2ba0 ; =data_02050f54 + ldr r5, _020b2ba0 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1728,7 +1728,7 @@ _020b29d0: str r1, [r4, #0x48] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r1, [r0] - ldr r5, _020b2ba0 ; =data_02050f54 + ldr r5, _020b2ba0 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1776,7 +1776,7 @@ _020b2a8c: str r1, [r4, #0x48] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r1, [r0] - ldr r5, _020b2ba0 ; =data_02050f54 + ldr r5, _020b2ba0 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1833,7 +1833,7 @@ _020b2b90: .word gMapManager _020b2b94: .word data_027e0d38 _020b2b98: .word data_02052f54 _020b2b9c: .word data_02051f54 -_020b2ba0: .word data_02050f54 +_020b2ba0: .word gSinCosTable arm_func_end func_ov00_020b2598 .global func_ov00_020b2ba4 @@ -2008,7 +2008,7 @@ _020b2db8: mov r1, r0 add r2, sp, #8 mov r0, r5 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 mov r0, r4 str r1, [sp, #0xc] @@ -2027,7 +2027,7 @@ _020b2db8: beq _020b2e68 ldr r0, [sp, #8] ldr r1, [sp, #0x10] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r6, r1, asr #0x10 @@ -2045,7 +2045,7 @@ _020b2db8: bl func_ov05_02110228 _020b2e68: add r0, sp, #8 - bl func_01ff9cec + bl Vec3p_Length cmp r0, r5 movle r0, #1 movgt r0, #0 @@ -2474,7 +2474,7 @@ _020b33a4: ldr r2, [r0, #4] ldr r1, [r0, #8] ldr r0, [r0] - ldr r3, _020b35cc ; =data_02050f54 + ldr r3, _020b35cc ; =gSinCosTable str r0, [r5, #0x40] str r2, [r5, #0x44] str r1, [r5, #0x48] @@ -2527,7 +2527,7 @@ _020b3470: ldr r2, [r0, #4] ldr r1, [r0, #8] ldr r0, [r0] - ldr r3, _020b35cc ; =data_02050f54 + ldr r3, _020b35cc ; =gSinCosTable str r0, [r5, #0x40] str r2, [r5, #0x44] str r1, [r5, #0x48] @@ -2614,7 +2614,7 @@ _020b35c0: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020b35cc: .word data_02050f54 +_020b35cc: .word gSinCosTable _020b35d0: .word 0x00000ccd _020b35d4: .word 0x000009c3 arm_func_end func_ov00_020b3278 @@ -2675,7 +2675,7 @@ _020b3690: b _020b38c4 _020b369c: ldrh r1, [r5, #0x10] - ldr r4, _020b38d0 ; =data_02050f54 + ldr r4, _020b38d0 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2707,7 +2707,7 @@ _020b369c: b _020b38c4 _020b3718: ldrh r1, [r5, #0x10] - ldr r3, _020b38d0 ; =data_02050f54 + ldr r3, _020b38d0 ; =gSinCosTable ldr r0, _020b38d4 ; =0x00000ccd mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2743,7 +2743,7 @@ _020b3718: _020b37a0: ldrh r1, [r5, #0x10] ldr r0, _020b38d8 ; =data_ov00_020e6194 - ldr r2, _020b38d0 ; =data_02050f54 + ldr r2, _020b38d0 ; =gSinCosTable mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 mov r1, r3, lsl #0x1 @@ -2787,7 +2787,7 @@ _020b3818: b _020b38c4 _020b384c: ldrh r1, [r5, #0x10] - ldr r4, _020b38d0 ; =data_02050f54 + ldr r4, _020b38d0 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2821,7 +2821,7 @@ _020b38c4: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020b38d0: .word data_02050f54 +_020b38d0: .word gSinCosTable _020b38d4: .word 0x00000ccd _020b38d8: .word data_ov00_020e6194 arm_func_end func_ov00_020b35d8 @@ -2943,7 +2943,7 @@ _020b3a64: mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 - ldr r3, _020b3d50 ; =data_02050f54 + ldr r3, _020b3d50 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r7, [r3, r1] ldr r1, _020b3d54 ; =0xffffee66 @@ -2990,7 +2990,7 @@ _020b3b14: mov r1, r1, lsl #0x1 mvn ip, #0 add r2, r1, #1 - ldr r7, _020b3d50 ; =data_02050f54 + ldr r7, _020b3d50 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r7, r1] mov r5, ip, lsl #0xc @@ -3029,7 +3029,7 @@ _020b3bb0: mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 - ldr r3, _020b3d50 ; =data_02050f54 + ldr r3, _020b3d50 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh ip, [r3, r1] ldr r1, _020b3d60 ; =0xffffe4cd @@ -3070,7 +3070,7 @@ _020b3c44: mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _020b3d50 ; =data_02050f54 + ldr r3, _020b3d50 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r3, r2] mov r1, r1, lsl #0x1 @@ -3130,7 +3130,7 @@ _020b3ce4: .align 2, 0 _020b3d48: .word data_027e0d38 _020b3d4c: .word gAdventureFlags -_020b3d50: .word data_02050f54 +_020b3d50: .word gSinCosTable _020b3d54: .word 0xffffee66 _020b3d58: .word data_027e0618 _020b3d5c: .word data_ov00_020eec9c @@ -3167,7 +3167,7 @@ _020b3dbc: mov r0, #0 bx lr _020b3dc4: - ldr r0, _020b3de0 ; =data_027e0fb8 + ldr r0, _020b3de0 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x7d] cmp r0, #0 @@ -3175,7 +3175,7 @@ _020b3dc4: movne r0, #0 bx lr .align 2, 0 -_020b3de0: .word data_027e0fb8 +_020b3de0: .word gPlayerControl arm_func_end func_ov00_020b3d6c .global func_ov00_020b3de4 @@ -3472,7 +3472,7 @@ func_ov00_020b413c: ; 0x020b413c mov ip, r1, lsl #0x1 add r1, ip, #1 mov r5, r0 - ldr r3, _020b419c ; =data_02050f54 + ldr r3, _020b419c ; =gSinCosTable mov ip, ip, lsl #0x1 mov r0, r1, lsl #0x1 mov r4, r2 @@ -3489,7 +3489,7 @@ func_ov00_020b413c: ; 0x020b413c add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_020b419c: .word data_02050f54 +_020b419c: .word gSinCosTable arm_func_end func_ov00_020b413c .global func_ov00_020b41a0 @@ -4229,7 +4229,7 @@ func_ov00_020b4944: ; 0x020b4944 add r2, r4, #1 mov r5, r0 mov r0, r4, lsl #0x1 - ldr ip, _020b49fc ; =data_02050f54 + ldr ip, _020b49fc ; =gSinCosTable mov r2, r2, lsl #0x1 mov r4, r1 ldrsh r1, [ip, r0] @@ -4247,7 +4247,7 @@ func_ov00_020b4944: ; 0x020b4944 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _020b49fc ; =data_02050f54 + ldr r2, _020b49fc ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -4268,7 +4268,7 @@ _020b49dc: add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020b49fc: .word data_02050f54 +_020b49fc: .word gSinCosTable arm_func_end func_ov00_020b4944 .global func_ov00_020b4a00 @@ -4454,7 +4454,7 @@ func_ov00_020b4b90: ; 0x020b4b90 add r0, r4, #0 add r0, #0xe0 str r2, [r0] - ldr r1, _020b4c04 ; =data_027e0d0c + ldr r1, _020b4c04 ; =gVec3p_ZERO add r0, r4, #0 bl func_ov00_020b4c4c add r0, r4, #0 @@ -4462,7 +4462,7 @@ func_ov00_020b4b90: ; 0x020b4b90 nop _020b4bfc: .word data_ov00_020e64c8 _020b4c00: .word 0xffffb000 -_020b4c04: .word data_027e0d0c +_020b4c04: .word gVec3p_ZERO thumb_func_end func_ov00_020b4b90 .global func_ov00_020b4c08 @@ -4502,7 +4502,7 @@ func_ov00_020b4c2c: ; 0x020b4c2c mov r1, r0 ldr r0, [r1, #0x120] ldr r1, [r1, #0x128] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r3, pc} @@ -5250,7 +5250,7 @@ func_ov00_020b5514: ; 0x020b5514 cmp r0, #0 beq _020b5630 _020b5540: - ldr r0, _020b5c80 ; =data_027e0fb8 + ldr r0, _020b5c80 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv cmp r0, #0 @@ -5264,15 +5264,15 @@ _020b5540: ldr r2, [r5, #8] str r2, [sp, #0x6c] str r1, [sp, #0x68] - bl func_01ff9cec - ldr r1, _020b5c80 ; =data_027e0fb8 + bl Vec3p_Length + ldr r1, _020b5c80 ; =gPlayerControl mov r7, r0 ldr r0, [r1] bl _ZN13PlayerControl13GetTouchAngleEv mov r8, r0 ldr r0, [sp, #0x64] ldr r1, [sp, #0x6c] - bl func_01ffa0f4 + bl Atan2 strh r0, [sp, #2] ldr r2, _020b5c84 ; =0x0000071c mov r1, r8 @@ -5282,7 +5282,7 @@ _020b5540: str r0, [r5] str r0, [r5, #8] ldrh r1, [sp, #2] - ldr r3, _020b5c88 ; =data_02050f54 + ldr r3, _020b5c88 ; =gSinCosTable ldr r0, [r5] mov r1, r1, asr #0x4 mov r8, r1, lsl #0x1 @@ -5317,7 +5317,7 @@ _020b5630: blt _020b572c mov r1, r8 add r0, r6, #0xe4 - bl func_01ff9c2c + bl Vec3p_Dot rsbs r7, r0, #0 beq _020b5708 ldr r0, [r6, #0xe8] @@ -5327,7 +5327,7 @@ _020b5630: mov r2, r8 mov r3, r8 add r1, r6, #0xe4 - bl func_01ff9e64 + bl Vec3p_Axpy _020b5670: ldr r0, [r6, #0x108] cmp r0, #0 @@ -5338,7 +5338,7 @@ _020b5670: mov r2, r8 mov r3, r8 add r1, r6, #0x108 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r2, [r8] mov r0, #0x800 mov r1, r2, asr #0x1f @@ -5376,7 +5376,7 @@ _020b5708: mov r2, r5 mov r3, r5 add r0, r7, r0, asr #12 - bl func_01ff9e64 + bl Vec3p_Axpy _020b572c: ldrsh r0, [r6, #0x5a] cmp r0, #4 @@ -5390,14 +5390,14 @@ _020b572c: ldr r2, [r5, #8] str r2, [sp, #0x60] str r1, [sp, #0x5c] - bl func_01ff9cec + bl Vec3p_Length mov r7, r0 bl func_ov23_02177e7c cmp r7, r0, lsl #1 ble _020b57a0 add r0, sp, #0x58 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize bl func_ov23_02177e7c mov r1, r0 add r0, sp, #0x58 @@ -5483,10 +5483,10 @@ _020b5884: bne _020b5a04 add r0, sp, #0x4c mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0x4c mov r0, r5 - bl func_01ff9c2c + bl Vec3p_Dot ldr r3, [sp, #0x4c] ldr r2, [sp, #0x50] smull r4, r7, r3, r0 @@ -5511,11 +5511,11 @@ _020b5884: mov r0, r5 str r7, [sp, #0x40] str r3, [sp, #0x48] - bl func_01ff9bf8 - ldr r0, _020b5c94 ; =data_027e0fc8 + bl Vec3p_Sub + ldr r0, _020b5c94 ; =gPlayerLink ldr r4, [r0] mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv add r1, r4, #0x2c add r2, r1, r0, lsl #1 ldrb r4, [r1, r0, lsl #1] @@ -5549,13 +5549,13 @@ _020b5884: add r0, sp, #0x28 add r1, r6, #0x20 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 add r0, sp, #0x34 add r1, sp, #0x28 str r2, [sp, #0x38] str r2, [sp, #0x2c] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 bge _020b5a04 ldr r0, [sp, #0x40] @@ -5622,7 +5622,7 @@ _020b5a40: ble _020b5b1c mov r0, r5 add r1, r6, #0x120 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, [r6, #0x120] smull r2, r1, r0, r1 adds r2, r2, #0x800 @@ -5645,7 +5645,7 @@ _020b5b1c: mov r0, r4 mov r3, r5 add r1, r6, #0x120 - bl func_01ff9e64 + bl Vec3p_Axpy mov r7, #0 _020b5b40: cmp r7, #0 @@ -5657,7 +5657,7 @@ _020b5b40: beq _020b5c18 ldr r0, [r5] ldr r1, [r5, #8] - bl func_01ffa0f4 + bl Atan2 strh r0, [r6, #0x5e] b _020b5c18 _020b5b70: @@ -5669,7 +5669,7 @@ _020b5b70: strh r0, [r6, #0xa4] b _020b5c18 _020b5b8c: - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev movs r4, r0 moveq r0, #0 streqh r0, [r6, #0x5a] @@ -5735,12 +5735,12 @@ _020b5c68: add sp, sp, #0x70 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_020b5c80: .word data_027e0fb8 +_020b5c80: .word gPlayerControl _020b5c84: .word 0x0000071c -_020b5c88: .word data_02050f54 +_020b5c88: .word gSinCosTable _020b5c8c: .word gAdventureFlags _020b5c90: .word 0x00000ccd -_020b5c94: .word data_027e0fc8 +_020b5c94: .word gPlayerLink _020b5c98: .word gMapManager _020b5c9c: .word data_027e0f78 _020b5ca0: .word gItemManager @@ -5843,7 +5843,7 @@ _020b5e00: add r1, r7, #0x20 add r0, sp, #0x10c mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r3, _020b6ac4 ; =0x0000ffff add r1, sp, #0x114 strh r3, [r1, #0xf4] @@ -5909,7 +5909,7 @@ _020b5e88: b _020b5f34 _020b5f00: ldr r1, [r7, #0x30] - ldr r0, _020b6acc ; =data_027e0d0c + ldr r0, _020b6acc ; =gVec3p_ZERO str r1, [r7, #0x20] ldr r1, [r7, #0x34] str r1, [r7, #0x24] @@ -6058,7 +6058,7 @@ _020b6110: ldr r3, [r7, #0x28] add r1, r7, #0x30 str r3, [sp, #0xdc] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0xd8] ldrsh r0, [r7, #0x60] @@ -6070,7 +6070,7 @@ _020b6110: sub r8, r1, r0 _020b6168: add r0, sp, #0xd4 - bl func_01ff9cec + bl Vec3p_Length mov r11, r0 bl func_ov23_02177e7c add r1, r0, r0, lsl #2 @@ -6080,7 +6080,7 @@ _020b6168: ble _020b61d4 add r0, sp, #0xd4 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize bl func_ov23_02177e7c add r1, r0, r0, lsl #2 mov r0, r1, asr #0x1 @@ -6138,7 +6138,7 @@ _020b61e0: mov r1, r10 mov r2, r8 str r3, [sp, #0xd0] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 mvn r1, #0 str r0, [sp, #0x20] @@ -6401,17 +6401,17 @@ _020b6650: _020b6658: add r1, sp, #0x1fc mov r0, r6 - bl func_01ff9c2c + bl Vec3p_Dot mov r9, r0 add r0, sp, #0x1fc - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 rsb r0, r9, #0 bl Divide add r1, sp, #0x1fc mov r2, r6 mov r3, r6 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r5] cmp r0, #0 ldreq r0, [r5, #4] @@ -6430,7 +6430,7 @@ _020b6658: mov r0, r6 orr r5, r5, r1, lsl #20 add r1, r7, #0xac - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r5 blt _020b6808 _020b66e0: @@ -6705,7 +6705,7 @@ _020b6aa0: _020b6ac0: .word data_027e0ff8 _020b6ac4: .word 0x0000ffff _020b6ac8: .word gMapManager -_020b6acc: .word data_027e0d0c +_020b6acc: .word gVec3p_ZERO _020b6ad0: .word data_ov00_020e64a8 _020b6ad4: .word data_027e0d38 _020b6ad8: .word 0x0000063d @@ -6728,14 +6728,14 @@ func_ov00_020b6af0: ; 0x020b6af0 cmp r1, #0 beq _020b6b84 bl _ZN10MapManager18func_ov00_0208412cEv - ldr r1, _020b6b98 ; =data_027e0fe4 + ldr r1, _020b6b98 ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _020b6b9c ; =0x574c4354 add r0, sp, #0 ldr r6, _020b6ba0 ; =0xfffff666 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _020b6b98 ; =data_027e0fe4 + ldr r0, _020b6b98 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6763,7 +6763,7 @@ _020b6b84: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020b6b94: .word gMapManager -_020b6b98: .word data_027e0fe4 +_020b6b98: .word gActorManager _020b6b9c: .word 0x574c4354 _020b6ba0: .word 0xfffff666 arm_func_end func_ov00_020b6af0 @@ -6781,10 +6781,10 @@ func_ov00_020b6ba4: ; 0x020b6ba4 beq _020b6bdc add r0, r4, #0x18 add r1, r6, #0xf0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r4, #0x18 add r1, r6, #0xe4 - bl func_01ff9d4c + bl Vec3p_Normalize _020b6bdc: ldrb r0, [r4, #0x58] cmp r0, #0 @@ -6805,7 +6805,7 @@ _020b6bdc: add r0, r4, #0xc add r1, r6, #0x44 ldr r7, [r6, #0xd8] - bl func_01ff9c2c + bl Vec3p_Dot rsb r0, r0, #0 cmp r0, r7 movle r0, r7 @@ -6830,7 +6830,7 @@ _020b6c3c: bne _020b6de0 add r1, sp, #0x50 add r0, r4, #0xc - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [r5, #4] cmp r0, #0 addgt sp, sp, #0xbc @@ -6846,11 +6846,11 @@ _020b6c3c: add r0, sp, #0x44 add r2, sp, #0x38 add r1, r6, #0x20 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x44 add r2, sp, #0x2c add r1, r6, #0x30 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 ldr r4, _020b6e68 ; =0x0000ffff ldr r3, [sp, #0x38] @@ -7078,7 +7078,7 @@ _020b7000: str r0, [sp, #0x28] ldrh r1, [r4, #0xa0] mov r0, #0x800 - ldr r3, _020b7330 ; =data_02050f54 + ldr r3, _020b7330 ; =gSinCosTable mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 @@ -7105,7 +7105,7 @@ _020b7000: add r2, r6, #4 str ip, [sp, #0x20] str lr, [sp, #0x28] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, _020b7334 ; =gMapManager ldr r6, [sp, #0x14] ldr r3, [sp, #0x18] @@ -7136,7 +7136,7 @@ _020b7000: _020b70fc: add r0, sp, #0x80 add r1, sp, #0x20 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, [r4, #0xd4] rsb r2, r0, #0 cmp r2, r1 @@ -7266,7 +7266,7 @@ _020b71f0: ldr r2, [r2, #0x48] str r2, [sp, #0x74] ldr r5, [r4, #0xd8] - bl func_01ff9c2c + bl Vec3p_Dot rsb r6, r0, #0 cmp r6, r5 movle r6, r5 @@ -7284,7 +7284,7 @@ _020b7318: _020b7324: .word data_027e0f6c _020b7328: .word _ZN7MapBase18func_ov00_0207e968Ev _020b732c: .word _ZN7MapBase18func_ov00_0207e96cEv -_020b7330: .word data_02050f54 +_020b7330: .word gSinCosTable _020b7334: .word gMapManager _020b7338: .word 0x00000e66 arm_func_end func_ov00_020b6ea0 @@ -7427,7 +7427,7 @@ _020b74f4: bl func_ov00_0208b73c cmp r0, #0 beq _020b7528 - ldr r0, _020b774c ; =data_027e0fa0 + ldr r0, _020b774c ; =gPlayerVel ldr r0, [r0, #4] cmp r0, #0 bgt _020b7528 @@ -7510,7 +7510,7 @@ _020b75b0: add r0, sp, #0x14 add r1, r6, #0x20 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, _020b7750 ; =gMapManager ldrb r2, [r6, #0xc4] ldrb r1, [r6, #0xc5] @@ -7524,7 +7524,7 @@ _020b75b0: add r0, sp, #8 add r1, r6, #0x20 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r6, #0x44] cmp r0, #0 ldreq r0, [r6, #0x48] @@ -7534,11 +7534,11 @@ _020b75b0: beq _020b7714 ldr r0, [r6, #0x44] ldr r1, [r6, #0x4c] - bl func_01ffa0f4 + bl Atan2 mov r7, r0, lsl #0x10 ldr r0, [sp, #0x14] ldr r1, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, r7, asr #16 @@ -7546,7 +7546,7 @@ _020b75b0: ldr r0, [sp, #8] ldr r1, [sp, #0x10] mov r4, r2, asr #0x10 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, r7, asr #16 @@ -7579,7 +7579,7 @@ _020b7714: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020b774c: .word data_027e0fa0 +_020b774c: .word gPlayerVel _020b7750: .word gMapManager arm_func_end func_ov00_020b73b0 @@ -7605,7 +7605,7 @@ func_ov00_020b7754: ; 0x020b7754 strgeh r0, [r7, #0xc6] b _020b7814 _020b779c: - ldr r0, _020b783c ; =data_027e0fe4 + ldr r0, _020b783c ; =gActorManager mov r1, r5 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -7649,7 +7649,7 @@ _020b7814: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020b7838: .word data_027e0f6c -_020b783c: .word data_027e0fe4 +_020b783c: .word gActorManager _020b7840: .word 0x464c4e4b _020b7844: .word 0x54534e4d arm_func_end func_ov00_020b7754 @@ -7752,7 +7752,7 @@ func_ov00_020b7924: ; 0x020b7924 ldr r2, [r4, #0x10] mov r3, r1, lsl #0x10 mov r2, r2, lsl #0x10 - ldr r1, _020b7d40 ; =data_027e0f90 + ldr r1, _020b7d40 ; =gPlayer mov r5, r0 ldr r0, [r1] add r1, sp, #0x2c @@ -7857,7 +7857,7 @@ _020b7ab0: str r0, [sp, #0x10] add r1, r4, #0x44 str r1, [sp, #0x14] - ldr r0, _020b7d44 ; =data_027e0f94 + ldr r0, _020b7d44 ; =gPlayerPos mov r1, r7 ldr r2, [r0, #4] mov r0, r8 @@ -7927,7 +7927,7 @@ _020b7bc0: str r1, [r4, #0x4c] _020b7be0: add r0, sp, #0x20 - bl func_01ff9cec + bl Vec3p_Length str r0, [r4, #0x58] cmp r0, #0 ble _020b7c20 @@ -7938,7 +7938,7 @@ _020b7be0: ldrsh r5, [r0, #0x26] ldr r0, [sp, #0x20] ldr r1, [sp, #0x28] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 add r0, r5, r0, asr #16 strh r0, [r4, #0x6a] @@ -7991,11 +7991,11 @@ _020b7c9c: beq _020b7d0c mov r0, r1, lsl #0xc mov r1, r2, lsl #0xc - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 ldr r0, [r4, #0x50] ldr r1, [r4, #0x54] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 rsb r0, r0, r5, asr #16 @@ -8020,8 +8020,8 @@ _020b7d24: .align 2, 0 _020b7d38: .word data_027e0d84 _020b7d3c: .word data_027e0f64 -_020b7d40: .word data_027e0f90 -_020b7d44: .word data_027e0f94 +_020b7d40: .word gPlayer +_020b7d44: .word gPlayerPos _020b7d48: .word data_027e077c arm_func_end func_ov00_020b7924 @@ -8034,7 +8034,7 @@ func_ov00_020b7d4c: ; 0x020b7d4c mov r0, r2 add r1, ip, #0x44 add r2, ip, #0x38 - bl func_01ff9e64 + bl Vec3p_Axpy ldmia sp!, {r3, pc} arm_func_end func_ov00_020b7d4c @@ -8225,7 +8225,7 @@ func_ov00_020b7f28: ; 0x020b7f28 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _020b7fc8 ; =data_02050f54 + ldr r2, _020b7fc8 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -8243,7 +8243,7 @@ _020b7fb4: ldmia sp!, {r4, pc} .align 2, 0 _020b7fc4: .word data_027e03c8 -_020b7fc8: .word data_02050f54 +_020b7fc8: .word gSinCosTable arm_func_end func_ov00_020b7f28 .global func_ov00_020b7fcc @@ -8820,11 +8820,11 @@ _020b8528: .word data_027e0618 .global func_ov00_020b852c arm_func_start func_ov00_020b852c func_ov00_020b852c: ; 0x020b852c - ldr ip, _020b8538 ; =func_01fffcec + ldr ip, _020b8538 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #8 bx ip .align 2, 0 -_020b8538: .word func_01fffcec +_020b8538: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov00_020b852c .global func_ov00_020b853c @@ -8998,7 +8998,7 @@ func_ov00_020b86a4: ; 0x020b86a4 ldr r0, _020b86e4 ; =0x00000333 add r2, r2, #4 add r3, r3, #4 - bl func_01ff9e64 + bl Vec3p_Axpy _020b86dc: mov r0, #0 ldmia sp!, {r3, pc} @@ -9237,7 +9237,7 @@ func_ov00_020b88c4: ; 0x020b88c4 movne r0, #1 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _020b8908: - ldr r0, _020b8b7c ; =data_027e0f90 + ldr r0, _020b8b7c ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -9412,7 +9412,7 @@ _020b8b70: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _020b8b78: .word data_027e0618 -_020b8b7c: .word data_027e0f90 +_020b8b7c: .word gPlayer _020b8b80: .word data_027e0f64 _020b8b84: .word gAdventureFlags _020b8b88: .word gItemManager @@ -9502,7 +9502,7 @@ func_ov00_020b8c50: ; 0x020b8c50 add r0, sp, #0 add r1, r4, #0x48 add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov00_020b8c50 @@ -9546,7 +9546,7 @@ func_ov00_020b8c98: ; 0x020b8c98 add r0, sp, #4 add r1, r4, #0x48 add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov00_020b8c98 @@ -9583,7 +9583,7 @@ _020b8d78: add r1, r4, #0x48 ldreq r7, _020b9154 ; =0x00000333 moveq r6, #0x6a - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #8] ldr ip, [sp, #0xc] smull r3, r0, r1, r5 @@ -9614,7 +9614,7 @@ _020b8d78: bl func_0202b4e4 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 cmp r6, #0 mov r5, r0, asr #0x10 @@ -9642,7 +9642,7 @@ _020b8d78: _020b8e80: ldr r0, [sp, #8] ldr r1, [sp, #0x10] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 @@ -9657,11 +9657,11 @@ _020b8e80: mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 - ldr r2, _020b915c ; =data_02050f54 + ldr r2, _020b915c ; =gSinCosTable b _020b8ef0 _020b8ecc: ldr r0, _020b9160 ; =0xffffeaab - ldr r2, _020b915c ; =data_02050f54 + ldr r2, _020b915c ; =gSinCosTable add r0, r5, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -9692,7 +9692,7 @@ _020b8ef0: add r0, r2, r1 str r0, [r4, #0x68] add r0, r4, #0x60 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _020b9164 ; =0x000004cd cmp r0, r1 addle sp, sp, #0x14 @@ -9721,7 +9721,7 @@ _020b8f7c: _020b8fa8: ldr r2, [r4, #0x138] ldr r0, _020b9168 ; =0x00001555 - ldr r1, _020b915c ; =data_02050f54 + ldr r1, _020b915c ; =gSinCosTable mul r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -9769,7 +9769,7 @@ _020b9018: _020b9060: ldr r2, [r4, #0x138] ldr r0, _020b9174 ; =0x00000aab - ldr r1, _020b915c ; =data_02050f54 + ldr r1, _020b915c ; =gSinCosTable mul r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -9837,7 +9837,7 @@ _020b9138: _020b9150: .word 0x0000019a _020b9154: .word 0x00000333 _020b9158: .word data_027e0764 -_020b915c: .word data_02050f54 +_020b915c: .word gSinCosTable _020b9160: .word 0xffffeaab _020b9164: .word 0x000004cd _020b9168: .word 0x00001555 @@ -10059,7 +10059,7 @@ _020b9408: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020b9444: - ldr r0, _020b9748 ; =data_027e0fc8 + ldr r0, _020b9748 ; =gPlayerLink ldr r2, [r7, #0x160] ldr r1, [r7, #0x50] ldr r0, [r0] @@ -10080,14 +10080,14 @@ _020b9444: mov r5, r2, asr #0x1 mov r4, r3, asr #0x1 beq _020b95ec - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _020b95ec ldrb r0, [r7, #0x28f] mov r2, #0 cmp r0, #0 beq _020b94e8 - ldr r0, _020b974c ; =data_027e0f94 + ldr r0, _020b974c ; =gPlayerPos str r2, [sp] ldr r1, [r0] str r1, [r7, #0x158] @@ -10101,7 +10101,7 @@ _020b9444: str r0, [r7, #0x15c] b _020b95ec _020b94e8: - ldr r0, _020b9750 ; =data_027e0fe4 + ldr r0, _020b9750 ; =gActorManager ldr ip, _020b9754 ; =data_ov00_020e67d8 ldr r0, [r0] mov r3, #0x3000 @@ -10112,7 +10112,7 @@ _020b94e8: str r4, [sp, #0x34] str r5, [sp, #0x38] str r6, [sp, #0x3c] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ble _020b956c ldr r2, [sp, #0x30] @@ -10229,7 +10229,7 @@ _020b9698: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020b96cc: - ldr r0, _020b9748 ; =data_027e0fc8 + ldr r0, _020b9748 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcf2c cmp r0, #0 @@ -10263,9 +10263,9 @@ _020b9738: .align 2, 0 _020b9740: .word gAdventureFlags _020b9744: .word data_027e0c68 -_020b9748: .word data_027e0fc8 -_020b974c: .word data_027e0f94 -_020b9750: .word data_027e0fe4 +_020b9748: .word gPlayerLink +_020b974c: .word gPlayerPos +_020b9750: .word gActorManager _020b9754: .word data_ov00_020e67d8 _020b9758: .word gMapManager arm_func_end func_ov00_020b9330 @@ -10381,7 +10381,7 @@ _020b98b0: _020b98bc: ldr r2, [r4, #0x138] ldr r0, _020b9958 ; =0x00000aab - ldr r1, _020b995c ; =data_02050f54 + ldr r1, _020b995c ; =gSinCosTable mul r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -10424,7 +10424,7 @@ _020b994c: ldmia sp!, {r4, pc} .align 2, 0 _020b9958: .word 0x00000aab -_020b995c: .word data_02050f54 +_020b995c: .word gSinCosTable _020b9960: .word 0x00000b33 arm_func_end func_ov00_020b97e0 @@ -10482,7 +10482,7 @@ _020b99c8: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r4 @@ -10510,7 +10510,7 @@ _020b99c8: add r1, r1, #0x300 add r0, r4, #0x60 str r1, [sp, #4] - bl func_01ff9cec + bl Vec3p_Length add r1, r4, #0x200 ldrsh r3, [r1, #0x20] mov r1, #0x3000 @@ -10719,7 +10719,7 @@ _020b9d58: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xd8] @@ -10820,13 +10820,13 @@ _020b9ee8: add lr, lr, ip, lsr #31 smull r0, r1, r2, lr sub lr, ip, r0 - ldr r0, _020b9fd4 ; =data_027e0fc8 + ldr r0, _020b9fd4 ; =gPlayerLink strh lr, [r3, #0x20] ldr r0, [r0] bl func_ov00_020bcefc cmp r0, #0 bne _020b9f38 - ldr r0, _020b9fd8 ; =data_027e0fe4 + ldr r0, _020b9fd8 ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x18] cmp r0, #0 @@ -10876,8 +10876,8 @@ _020b9fbc: ldmia sp!, {r4, pc} .align 2, 0 _020b9fd0: .word 0x55555556 -_020b9fd4: .word data_027e0fc8 -_020b9fd8: .word data_027e0fe4 +_020b9fd4: .word gPlayerLink +_020b9fd8: .word gActorManager arm_func_end func_ov00_020b9ccc .global func_ov00_020b9fdc @@ -10968,7 +10968,7 @@ func_ov00_020ba0d4: ; 0x020ba0d4 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020ba160 ; =data_027e0fc8 + ldr r0, _020ba160 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcefc cmp r0, #0 @@ -10995,7 +10995,7 @@ func_ov00_020ba0d4: ; 0x020ba0d4 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020ba160: .word data_027e0fc8 +_020ba160: .word gPlayerLink _020ba164: .word data_ov00_020e9c88 _020ba168: .word func_ov00_020b9fdc _020ba16c: .word data_ov00_020e9370 @@ -11060,7 +11060,7 @@ func_ov00_020ba204: ; 0x020ba204 add r3, sp, #0x40 mov r1, r4 mov r2, r5 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, _020ba340 ; =data_ov00_020e67b8 add lr, sp, #0x30 str r0, [sp, #0x2c] @@ -11208,7 +11208,7 @@ _020ba410: .word gItemManager func_ov00_020ba414: ; 0x020ba414 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 - ldr r2, _020ba454 ; =data_027e0f90 + ldr r2, _020ba454 ; =gPlayer mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -11219,11 +11219,11 @@ func_ov00_020ba414: ; 0x020ba414 add r1, sp, #0 mov r0, r4 add r2, r5, #0x158 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020ba454: .word data_027e0f90 +_020ba454: .word gPlayer arm_func_end func_ov00_020ba414 .global func_ov00_020ba458 @@ -11274,7 +11274,7 @@ func_ov00_020ba4e4: ; 0x020ba4e4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _020ba534 ; =data_ov00_020dc83c - ldr r3, _020ba538 ; =data_027e0fac + ldr r3, _020ba538 ; =gPlayerAngle mov r4, r0 add ip, sp, #0 ldmia r1, {r0, r1, r2} @@ -11293,7 +11293,7 @@ func_ov00_020ba4e4: ; 0x020ba4e4 ldmia sp!, {r3, r4, pc} .align 2, 0 _020ba534: .word data_ov00_020dc83c -_020ba538: .word data_027e0fac +_020ba538: .word gPlayerAngle arm_func_end func_ov00_020ba4e4 .global func_ov00_020ba53c @@ -11302,7 +11302,7 @@ func_ov00_020ba53c: ; 0x020ba53c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc ldr r1, _020ba5a8 ; =data_ov00_020dc848 - ldr r3, _020ba5ac ; =data_027e0fac + ldr r3, _020ba5ac ; =gPlayerAngle mov r4, r0 add ip, sp, #0 ldmia r1, {r0, r1, r2} @@ -11331,7 +11331,7 @@ _020ba58c: ldmia sp!, {r3, r4, pc} .align 2, 0 _020ba5a8: .word data_ov00_020dc848 -_020ba5ac: .word data_027e0fac +_020ba5ac: .word gPlayerAngle arm_func_end func_ov00_020ba53c .global func_ov00_020ba5b0 @@ -11548,7 +11548,7 @@ _020ba870: .word gItemManager func_ov00_020ba874: ; 0x020ba874 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x24 - ldr r4, _020bac50 ; =data_027e0fc8 + ldr r4, _020bac50 ; =gPlayerLink mov r6, r0 ldr r8, [r4] mov r7, r1 @@ -11607,7 +11607,7 @@ _020ba914: ldr r0, _020bac5c ; =data_ov00_020eec9c bl func_ov00_020d77e4 _020ba958: - ldr r0, _020bac60 ; =data_027e0f94 + ldr r0, _020bac60 ; =gPlayerPos add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -11626,7 +11626,7 @@ _020ba958: ldr r1, _020bac68 ; =data_027e0f64 ldr r0, _020bac6c ; =gMapManager ldr r1, [r1] - ldr r2, _020bac70 ; =data_02050f54 + ldr r2, _020bac70 ; =gSinCosTable ldr r1, [r1, #4] mov r7, #0x800 add r1, r1, #0x200 @@ -11680,7 +11680,7 @@ _020ba958: mov r0, r4, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, asr #0x4 - ldr r0, _020bac70 ; =data_02050f54 + ldr r0, _020bac70 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r2, [r0, r1] mov r0, #0x800 @@ -11698,7 +11698,7 @@ _020ba958: _020baab8: ldrsh r0, [r6, #0x78] ldr r3, [sp, #0x1c] - ldr r2, _020bac70 ; =data_02050f54 + ldr r2, _020bac70 ; =gSinCosTable add r0, r0, #0x2000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -11747,7 +11747,7 @@ _020baab8: cmp r0, #0 beq _020babcc ldrsh r0, [r6, #0x78] - ldr r2, _020bac70 ; =data_02050f54 + ldr r2, _020bac70 ; =gSinCosTable mov r1, #0x800 add r0, r0, #0x2000 mov r0, r0, lsl #0x10 @@ -11802,15 +11802,15 @@ _020bac10: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_020bac50: .word data_027e0fc8 +_020bac50: .word gPlayerLink _020bac54: .word gAdventureFlags _020bac58: .word data_027e0c68 _020bac5c: .word data_ov00_020eec9c -_020bac60: .word data_027e0f94 +_020bac60: .word gPlayerPos _020bac64: .word data_027e0d38 _020bac68: .word data_027e0f64 _020bac6c: .word gMapManager -_020bac70: .word data_02050f54 +_020bac70: .word gSinCosTable arm_func_end func_ov00_020ba874 .global func_ov00_020bac74 @@ -11843,9 +11843,9 @@ func_ov00_020baca8: ; 0x020baca8 ldreqb r0, [r6, #0x291] cmpeq r0, #0 ldmneia sp!, {r4, r5, r6, pc} - ldr r0, _020bad14 ; =data_027e0fc8 + ldr r0, _020bad14 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 ldmneia sp!, {r4, r5, r6, pc} ldr r1, [r5] @@ -11862,7 +11862,7 @@ func_ov00_020baca8: ; 0x020baca8 blx r2 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020bad14: .word data_027e0fc8 +_020bad14: .word gPlayerLink arm_func_end func_ov00_020baca8 .global func_ov00_020bad18 @@ -12236,9 +12236,9 @@ func_ov00_020bb164: ; 0x020bb164 add r2, sp, #0 add r0, r4, #0x48 add r1, r5, #0xc - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length ldr r1, [r5, #8] cmp r0, r1 addge sp, sp, #0xc @@ -12610,10 +12610,10 @@ func_ov00_020bb46c: ; 0x020bb46c mov r5, r0 ldr r3, [r2] mov r4, r1 - ldr r0, _020bb4d4 ; =data_027e0f94 + ldr r0, _020bb4d4 ; =gPlayerPos mov r2, r4 add r1, r3, #0x34 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _020bb4d0 ; =data_027e0fcc mov r0, r5 ldr r1, [r1] @@ -12632,7 +12632,7 @@ func_ov00_020bb46c: ; 0x020bb46c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020bb4d0: .word data_027e0fcc -_020bb4d4: .word data_027e0f94 +_020bb4d4: .word gPlayerPos _020bb4d8: .word data_027e0fd0 arm_func_end func_ov00_020bb46c @@ -12761,20 +12761,20 @@ func_ov00_020bb604: ; 0x020bb604 add r2, sp, #0 mov r0, r6 str r3, [sp, #0x10] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #4] add r0, sp, #0 str r1, [r5] mov r1, #0 str r1, [sp, #4] - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0 addle sp, sp, #0x1c str r0, [r4] ldmleia sp!, {r3, r4, r5, r6, pc} ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 ldr r1, [sp, #0x30] strh r0, [r1] add sp, sp, #0x1c @@ -12836,7 +12836,7 @@ func_ov00_020bb6d4: ; 0x020bb6d4 ldr r0, [r4, #0x50] cmp r1, r0 bge _020bb7f4 - ldr r0, _020bb804 ; =data_027e0fac + ldr r0, _020bb804 ; =gPlayerAngle ldrsh r1, [sp, #4] ldrsh r0, [r0] sub r1, r1, r0 @@ -12865,7 +12865,7 @@ func_ov00_020bb6d4: ; 0x020bb6d4 orr r0, r0, r1, lsl #20 ldr r1, [sp, #8] str r0, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 rsb r0, r0, #0 mov r1, r0, lsl #0x10 ldr r2, _020bb80c ; =data_027e0fcc @@ -12886,7 +12886,7 @@ _020bb7f4: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020bb800: .word data_027e0fd0 -_020bb804: .word data_027e0fac +_020bb804: .word gPlayerAngle _020bb808: .word 0x000031c7 _020bb80c: .word data_027e0fcc arm_func_end func_ov00_020bb6d4 @@ -12906,7 +12906,7 @@ func_ov00_020bb810: ; 0x020bb810 cmp r0, #0 addlt sp, sp, #0x10 ldmltia sp!, {r4, pc} - ldr r0, _020bb8bc ; =data_027e0fac + ldr r0, _020bb8bc ; =gPlayerAngle ldrsh ip, [sp, #4] ldrsh r3, [r0] ldr r1, _020bb8c0 ; =data_027e0fcc @@ -12927,7 +12927,7 @@ func_ov00_020bb810: ; 0x020bb810 orr r0, r0, r1, lsl #20 ldr r1, [sp, #8] str r0, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 rsb r0, r0, #0 mov r1, r0, lsl #0x10 ldr r2, _020bb8c0 ; =data_027e0fcc @@ -12938,7 +12938,7 @@ func_ov00_020bb810: ; 0x020bb810 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_020bb8bc: .word data_027e0fac +_020bb8bc: .word gPlayerAngle _020bb8c0: .word data_027e0fcc arm_func_end func_ov00_020bb810 @@ -12958,7 +12958,7 @@ func_ov00_020bb8c4: ; 0x020bb8c4 ldmltia sp!, {r3, pc} ldr r0, _020bb940 ; =data_027e0fcc ldrsh ip, [sp, #4] - ldr r3, _020bb944 ; =data_027e0fac + ldr r3, _020bb944 ; =gPlayerAngle ldr r0, [r0] mov r1, #0 mov r2, #0x1000 @@ -12966,7 +12966,7 @@ func_ov00_020bb8c4: ; 0x020bb8c4 bl func_ov00_020b4558 ldr r0, [sp, #0xc] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 rsb r0, r0, #0 mov r1, r0, lsl #0x10 ldr r2, _020bb940 ; =data_027e0fcc @@ -12978,7 +12978,7 @@ func_ov00_020bb8c4: ; 0x020bb8c4 ldmia sp!, {r3, pc} .align 2, 0 _020bb940: .word data_027e0fcc -_020bb944: .word data_027e0fac +_020bb944: .word gPlayerAngle arm_func_end func_ov00_020bb8c4 .global func_ov00_020bb948 @@ -12988,15 +12988,15 @@ func_ov00_020bb948: ; 0x020bb948 sub sp, sp, #0xc mov r4, r1 mov r5, r0 - ldr r1, _020bb9a0 ; =data_027e0f94 + ldr r1, _020bb9a0 ; =gPlayerPos add r2, sp, #0 mov r0, r4 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 - ldr r0, _020bb9a4 ; =data_027e0fac + ldr r0, _020bb9a4 ; =gPlayerAngle ldr r2, _020bb9a8 ; =0x0000071c mov r1, r1, asr #0x10 bl func_0202b154 @@ -13007,8 +13007,8 @@ func_ov00_020bb948: ; 0x020bb948 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_020bb9a0: .word data_027e0f94 -_020bb9a4: .word data_027e0fac +_020bb9a0: .word gPlayerPos +_020bb9a4: .word gPlayerAngle _020bb9a8: .word 0x0000071c _020bb9ac: .word 0x000004cd arm_func_end func_ov00_020bb948 @@ -13276,7 +13276,7 @@ _020bbc00: movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv rsb r1, r6, #0 mov r2, r1, lsl #0x10 mov r1, r0 @@ -13389,9 +13389,9 @@ func_ov00_020bbd60: ; 0x020bbd60 _020bbd7c: .word data_027e0fd4 arm_func_end func_ov00_020bbd60 - .global func_ov00_020bbd80 - arm_func_start func_ov00_020bbd80 -func_ov00_020bbd80: ; 0x020bbd80 + .global _ZN14PlayerLinkBase18func_ov00_020bbd80Ei + arm_func_start _ZN14PlayerLinkBase18func_ov00_020bbd80Ei +_ZN14PlayerLinkBase18func_ov00_020bbd80Ei: ; 0x020bbd80 stmdb sp!, {r3, r4, r5, lr} ldr r2, _020bbe80 ; =gOverlayManager ldr r3, _020bbe84 ; =0x00000005 @@ -13409,14 +13409,14 @@ func_ov00_020bbd80: ; 0x020bbd80 cmp r0, #0 bgt _020bbdd0 mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 beq _020bbdd8 _020bbdd0: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _020bbdd8: - ldr r0, _020bbe8c ; =data_027e0fe4 + ldr r0, _020bbe8c ; =gActorManager add r1, r5, #0x3c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -13465,9 +13465,9 @@ _020bbe78: _020bbe80: .word gOverlayManager _020bbe84: .word 0x00000005 _020bbe88: .word data_027e0fd4 -_020bbe8c: .word data_027e0fe4 +_020bbe8c: .word gActorManager _020bbe90: .word 0x424f4d42 - arm_func_end func_ov00_020bbd80 + arm_func_end _ZN14PlayerLinkBase18func_ov00_020bbd80Ei .global func_ov00_020bbe94 arm_func_start func_ov00_020bbe94 @@ -13539,7 +13539,7 @@ _020bbf48: mov r0, r6 cmp r4, #0xa moveq r4, #1 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r1, r0 mov r0, r6 bl func_ov00_020bc48c @@ -13553,7 +13553,7 @@ _020bbf48: cmp r0, #0 bne _020bbff4 ldr r0, _020bc078 ; =data_027e0fcc - ldr r2, _020bc07c ; =data_027e0f94 + ldr r2, _020bc07c ; =gPlayerPos ldr r0, [r0] mov r1, #1 ldr r3, [r0] @@ -13572,7 +13572,7 @@ _020bbfd4: moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, pc} _020bbff4: - ldr r0, _020bc080 ; =data_027e0fa0 + ldr r0, _020bc080 ; =gPlayerVel add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -13601,7 +13601,7 @@ _020bc028: add r1, sp, #0 bl _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p _020bc060: - ldr r0, _020bc084 ; =data_027e0fb8 + ldr r0, _020bc084 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv mov r0, #1 @@ -13609,9 +13609,9 @@ _020bc060: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _020bc078: .word data_027e0fcc -_020bc07c: .word data_027e0f94 -_020bc080: .word data_027e0fa0 -_020bc084: .word data_027e0fb8 +_020bc07c: .word gPlayerPos +_020bc080: .word gPlayerVel +_020bc084: .word gPlayerControl arm_func_end func_ov00_020bbed4 .global func_ov00_020bc088 @@ -13675,7 +13675,7 @@ _020bc114: addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _020bc1bc ; =data_027e0fa0 + ldr r0, _020bc1bc ; =gPlayerVel add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -13700,7 +13700,7 @@ _020bc114: bl func_020385b8 add r1, sp, #0xc bl _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p - ldr r0, _020bc1c4 ; =data_027e0fb8 + ldr r0, _020bc1c4 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv mov r0, #1 @@ -13708,9 +13708,9 @@ _020bc114: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020bc1b8: .word gAdventureFlags -_020bc1bc: .word data_027e0fa0 +_020bc1bc: .word gPlayerVel _020bc1c0: .word data_ov00_020dc858 -_020bc1c4: .word data_027e0fb8 +_020bc1c4: .word gPlayerControl arm_func_end func_ov00_020bc0a8 .global func_ov00_020bc1c8 @@ -13725,16 +13725,16 @@ func_ov00_020bc1c8: ; 0x020bc1c8 mov r2, r5 mov r3, r4 bl func_ov05_02107b74 - ldr r1, _020bc208 ; =data_027e0fa0 + ldr r1, _020bc208 ; =gPlayerVel mov r2, #0 str r2, [r1] - ldr r0, _020bc20c ; =data_027e0fac + ldr r0, _020bc20c ; =gPlayerAngle str r2, [r1, #8] strh r2, [r0] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020bc208: .word data_027e0fa0 -_020bc20c: .word data_027e0fac +_020bc208: .word gPlayerVel +_020bc20c: .word gPlayerAngle arm_func_end func_ov00_020bc1c8 .global func_ov00_020bc210 @@ -13753,7 +13753,7 @@ func_ov00_020bc210: ; 0x020bc210 func_ov00_020bc228: ; 0x020bc228 stmdb sp!, {r3, lr} ldr r3, [r1] - ldr r0, _020bc274 ; =data_027e0fa0 + ldr r0, _020bc274 ; =gPlayerVel cmp r2, #0 str r3, [r0] ldr r2, [r1, #4] @@ -13763,16 +13763,16 @@ func_ov00_020bc228: ; 0x020bc228 ldmeqia sp!, {r3, pc} ldr r0, [r1] ldr r1, [r1, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 - ldr r0, _020bc278 ; =data_027e0fac + ldr r0, _020bc278 ; =gPlayerAngle sub r1, r1, #0x8000 strh r1, [r0] ldmia sp!, {r3, pc} .align 2, 0 -_020bc274: .word data_027e0fa0 -_020bc278: .word data_027e0fac +_020bc274: .word gPlayerVel +_020bc278: .word gPlayerAngle arm_func_end func_ov00_020bc228 .global func_ov00_020bc27c @@ -13793,7 +13793,7 @@ func_ov00_020bc280: ; 0x020bc280 bic r0, r0, #4 strh r0, [r5, #0x48] bl func_ov00_020bc088 - ldr r1, _020bc2d0 ; =data_027e0d0c + ldr r1, _020bc2d0 ; =gVec3p_ZERO mov r2, r4 bl _ZN15LinkStateDamage18func_ov00_020ace90EP5Vec3pi mov r0, r5 @@ -13806,7 +13806,7 @@ _020bc2c0: strneh r0, [r5, #0x48] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020bc2d0: .word data_027e0d0c +_020bc2d0: .word gVec3p_ZERO arm_func_end func_ov00_020bc280 .global func_ov00_020bc2d4 @@ -13844,7 +13844,7 @@ func_ov00_020bc320: ; 0x020bc320 mov r7, r0 mov r0, r1 mov r6, r2 - ldr r1, _020bc394 ; =data_027e0f94 + ldr r1, _020bc394 ; =gPlayerPos mov r2, #0 mov r5, r3 bl func_ov00_020b1d70 @@ -13872,7 +13872,7 @@ _020bc384: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020bc394: .word data_027e0f94 +_020bc394: .word gPlayerPos arm_func_end func_ov00_020bc320 .global func_ov00_020bc398 @@ -13883,7 +13883,7 @@ func_ov00_020bc398: ; 0x020bc398 mov r4, r0 mov r0, r1 mov r5, r2 - ldr r1, _020bc460 ; =data_027e0f94 + ldr r1, _020bc460 ; =gPlayerPos mov r2, #0 bl func_ov00_020b1d70 cmp r5, #0 @@ -13920,7 +13920,7 @@ _020bc40c: str ip, [sp, #4] str r3, [sp, #8] bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p - ldr r1, _020bc468 ; =data_027e0fac + ldr r1, _020bc468 ; =gPlayerAngle ldr r3, [sp, #0x10] ldrsh r2, [r1] add r3, r3, r0 @@ -13931,14 +13931,14 @@ _020bc40c: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020bc460: .word data_027e0f94 +_020bc460: .word gPlayerPos _020bc464: .word gMapManager -_020bc468: .word data_027e0fac +_020bc468: .word gPlayerAngle arm_func_end func_ov00_020bc398 - .global func_ov00_020bc46c - arm_func_start func_ov00_020bc46c -func_ov00_020bc46c: ; 0x020bc46c + .global _ZN14PlayerLinkBase19GetCurrentCharacterEv + arm_func_start _ZN14PlayerLinkBase19GetCurrentCharacterEv +_ZN14PlayerLinkBase19GetCurrentCharacterEv: ; 0x020bc46c stmdb sp!, {r3, lr} ldr r0, _020bc488 ; =data_027e0fcc ldr r0, [r0] @@ -13948,7 +13948,7 @@ func_ov00_020bc46c: ; 0x020bc46c ldmia sp!, {r3, pc} .align 2, 0 _020bc488: .word data_027e0fcc - arm_func_end func_ov00_020bc46c + arm_func_end _ZN14PlayerLinkBase19GetCurrentCharacterEv .global func_ov00_020bc48c arm_func_start func_ov00_020bc48c @@ -13973,7 +13973,7 @@ func_ov00_020bc494: ; 0x020bc494 func_ov00_020bc4ac: ; 0x020bc4ac stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r1, r0 mov r0, r4 bl func_ov00_020bc48c @@ -14019,7 +14019,7 @@ func_ov00_020bc520: ; 0x020bc520 bl func_ov00_020bb9c8 cmp r0, #0 beq _020bc6b4 - ldr r1, _020bc6c0 ; =data_027e0f94 + ldr r1, _020bc6c0 ; =gPlayerPos mov r0, r7 ldr r2, [r1, #4] ldr r3, [r1] @@ -14033,19 +14033,19 @@ func_ov00_020bc520: ; 0x020bc520 add r1, sp, #0xc add r2, sp, #0 mov r0, r5 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 cmp r5, r4 addge sp, sp, #0x18 movge r0, #0 ldmgeia sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, _020bc6c4 ; =data_027e0fac + ldr r1, _020bc6c4 ; =gPlayerAngle ldr r0, [sp] ldrsh r6, [r1] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r6, r0, asr #16 mov r0, r0, lsl #0x10 @@ -14099,7 +14099,7 @@ _020bc600: mov r0, r0, lsl #0x4 sub r0, r6, r0, lsr #16 mov r1, r0, asr #0x4 - ldr r0, _020bc6d0 ; =data_02050f54 + ldr r0, _020bc6d0 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r0, [r0, r1] smull r1, r0, r5, r0 @@ -14119,11 +14119,11 @@ _020bc6b4: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020bc6c0: .word data_027e0f94 -_020bc6c4: .word data_027e0fac +_020bc6c0: .word gPlayerPos +_020bc6c4: .word gPlayerAngle _020bc6c8: .word 0x66666667 _020bc6cc: .word 0x0b60b60b -_020bc6d0: .word data_02050f54 +_020bc6d0: .word gSinCosTable arm_func_end func_ov00_020bc520 .global func_ov00_020bc6d4 @@ -14155,7 +14155,7 @@ _020bc718: .word data_027e0fd0 arm_func_start func_ov00_020bc71c func_ov00_020bc71c: ; 0x020bc71c stmdb sp!, {r3, lr} - ldr r1, _020bc7c4 ; =data_027e0fe4 + ldr r1, _020bc7c4 ; =gActorManager mov r2, r0 ldr r0, [r1] add r1, r2, #0x3c @@ -14203,7 +14203,7 @@ _020bc7bc: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 -_020bc7c4: .word data_027e0fe4 +_020bc7c4: .word gActorManager _020bc7c8: .word 0x43525953 _020bc7cc: .word 0x424b4559 _020bc7d0: .word 0x42545246 @@ -14223,14 +14223,14 @@ func_ov00_020bc7e0: ; 0x020bc7e0 ldmia sp!, {r4, pc} arm_func_end func_ov00_020bc7e0 - .global func_ov00_020bc7f8 - arm_func_start func_ov00_020bc7f8 -func_ov00_020bc7f8: ; 0x020bc7f8 + .global _ZN14PlayerLinkBase14GetGrabActorIdEv + arm_func_start _ZN14PlayerLinkBase14GetGrabActorIdEv +_ZN14PlayerLinkBase14GetGrabActorIdEv: ; 0x020bc7f8 stmdb sp!, {r3, lr} bl func_020385b8 bl _ZN17LinkStateInteract20CreateDebugHierarchyEv ldmia sp!, {r3, pc} - arm_func_end func_ov00_020bc7f8 + arm_func_end _ZN14PlayerLinkBase14GetGrabActorIdEv .global func_ov00_020bc808 arm_func_start func_ov00_020bc808 @@ -14262,17 +14262,17 @@ func_ov00_020bc84c: ; 0x020bc84c bx lr arm_func_end func_ov00_020bc84c - .global func_ov00_020bc854 - arm_func_start func_ov00_020bc854 -func_ov00_020bc854: ; 0x020bc854 + .global _ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p + arm_func_start _ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p +_ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p: ; 0x020bc854 stmdb sp!, {r4, lr} ldr r0, _020bc8ac ; =data_027e0fcc mov r4, r1 ldr r1, [r0] - ldr r0, _020bc8b0 ; =data_027e0f94 + ldr r0, _020bc8b0 ; =gPlayerPos mov r2, r4 add r1, r1, #0x34 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _020bc8b4 ; =data_027e0fd0 mov r1, r4 ldr r0, [r0] @@ -14289,9 +14289,9 @@ func_ov00_020bc854: ; 0x020bc854 ldmia sp!, {r4, pc} .align 2, 0 _020bc8ac: .word data_027e0fcc -_020bc8b0: .word data_027e0f94 +_020bc8b0: .word gPlayerPos _020bc8b4: .word data_027e0fd0 - arm_func_end func_ov00_020bc854 + arm_func_end _ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p .global func_ov00_020bc8b8 arm_func_start func_ov00_020bc8b8 @@ -14386,7 +14386,7 @@ func_ov00_020bc960: ; 0x020bc960 blx r2 cmp r0, #0 beq _020bca38 - ldr r0, _020bca48 ; =data_027e0fe4 + ldr r0, _020bca48 ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -14410,7 +14410,7 @@ _020bca38: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _020bca44: .word gAdventureFlags -_020bca48: .word data_027e0fe4 +_020bca48: .word gActorManager arm_func_end func_ov00_020bc960 .global func_ov00_020bca4c @@ -14506,7 +14506,7 @@ func_ov00_020bcad8: ; 0x020bcad8 b _020bcb98 _020bcb44: mov r0, r7 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r2, r0 mov r0, r7 mov r1, r6 @@ -14533,20 +14533,20 @@ _020bcb98: ldr r2, [r0] ldr r0, [r1] ldr r2, [r2, #0xc] - ldr r1, _020bcc20 ; =data_027e0f94 + ldr r1, _020bcc20 ; =gPlayerPos blx func_ov00_020b4c4c ldr r0, _020bcc1c ; =data_027e0fd4 ldr r0, [r0] blx func_ov00_020b4d00 ldr r0, _020bcc18 ; =data_027e0fcc - ldr r1, _020bcc20 ; =data_027e0f94 + ldr r1, _020bcc20 ; =gPlayerPos ldr r0, [r0] ldr r2, [r0] ldr r2, [r2, #0x5c] blx r2 cmp r4, #0xfd beq _020bcbfc - ldr r0, _020bcc20 ; =data_027e0f94 + ldr r0, _020bcc20 ; =gPlayerPos ldr r1, [r0] str r1, [r7, #0x14] ldr r1, [r0, #4] @@ -14565,7 +14565,7 @@ _020bcc08: _020bcc14: .word data_027e0d38 _020bcc18: .word data_027e0fcc _020bcc1c: .word data_027e0fd4 -_020bcc20: .word data_027e0f94 +_020bcc20: .word gPlayerPos arm_func_end func_ov00_020bcad8 .global func_ov00_020bcc24 @@ -14577,9 +14577,9 @@ func_ov00_020bcc24: ; 0x020bcc24 _020bcc28: .word func_ov00_020bcdb8 thumb_func_end func_ov00_020bcc24 - .global func_ov00_020bcc2c - arm_func_start func_ov00_020bcc2c -func_ov00_020bcc2c: ; 0x020bcc2c + .global _ZN14PlayerLinkBase20GongoronCollidesWithEP8Cylinder + arm_func_start _ZN14PlayerLinkBase20GongoronCollidesWithEP8Cylinder +_ZN14PlayerLinkBase20GongoronCollidesWithEP8Cylinder: ; 0x020bcc2c stmdb sp!, {r3, lr} ldr r2, _020bcc68 ; =data_027e0fd8 ldr r2, [r2] @@ -14591,7 +14591,7 @@ func_ov00_020bcc2c: ; 0x020bcc2c ldrsh r2, [r2, #0x5a] cmp r2, #4 bne _020bcc60 - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder ldmia sp!, {r3, pc} _020bcc60: mov r0, #0 @@ -14599,7 +14599,7 @@ _020bcc60: .align 2, 0 _020bcc68: .word data_027e0fd8 _020bcc6c: .word data_027e0fd4 - arm_func_end func_ov00_020bcc2c + arm_func_end _ZN14PlayerLinkBase20GongoronCollidesWithEP8Cylinder .global func_ov00_020bcc70 arm_func_start func_ov00_020bcc70 @@ -14617,7 +14617,7 @@ func_ov00_020bcc78: ; 0x020bcc78 ldr r1, [r1, #4] cmp r1, #0 beq _020bccb8 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _020bccb8 ldr r0, _020bccc4 ; =data_027e0fd4 @@ -14728,7 +14728,7 @@ _020bcde8: .word gAdventureFlags func_ov00_020bcdec: ; 0x020bcdec stmdb sp!, {r4, lr} ldr r3, [r1] - ldr ip, _020bce38 ; =data_027e0f94 + ldr ip, _020bce38 ; =gPlayerPos ldr r0, _020bce3c ; =data_027e0fcc str r3, [ip] ldr lr, [r1, #4] @@ -14742,14 +14742,14 @@ func_ov00_020bcdec: ; 0x020bcdec ldr r2, [r1, #0xc] mov r1, ip blx func_ov00_020b4c4c - ldr r0, _020bce44 ; =data_027e0fac + ldr r0, _020bce44 ; =gPlayerAngle strh r4, [r0] ldmia sp!, {r4, pc} .align 2, 0 -_020bce38: .word data_027e0f94 +_020bce38: .word gPlayerPos _020bce3c: .word data_027e0fcc _020bce40: .word data_027e0fd4 -_020bce44: .word data_027e0fac +_020bce44: .word gPlayerAngle arm_func_end func_ov00_020bcdec .global func_ov00_020bce48 @@ -14758,7 +14758,7 @@ func_ov00_020bce48: ; 0x020bce48 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} @@ -14974,9 +14974,9 @@ func_ov00_020bd0bc: ; 0x020bd0bc sub sp, sp, #0xc mov r0, r1 mov r4, r2 - ldr r1, _020bd250 ; =data_027e0f94 + ldr r1, _020bd250 ; =gPlayerPos add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r4, #0 beq _020bd138 ldr r3, [sp] @@ -15049,7 +15049,7 @@ _020bd138: str r1, [sp, #4] _020bd1ec: ldr r1, [sp] - ldr r0, _020bd25c ; =data_027e0fa0 + ldr r0, _020bd25c ; =gPlayerVel ldr r2, [sp, #4] str r1, [r0] ldr r1, [sp, #8] @@ -15061,7 +15061,7 @@ _020bd1ec: strb r4, [r0, #0x28] cmp r4, #0 bne _020bd234 - ldr r0, _020bd260 ; =data_027e0fb8 + ldr r0, _020bd260 ; =gPlayerControl mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x79] @@ -15075,11 +15075,11 @@ _020bd234: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_020bd250: .word data_027e0f94 +_020bd250: .word gPlayerPos _020bd254: .word 0x0000099a _020bd258: .word data_027e0fcc -_020bd25c: .word data_027e0fa0 -_020bd260: .word data_027e0fb8 +_020bd25c: .word gPlayerVel +_020bd260: .word gPlayerControl _020bd264: .word data_027e0fd4 arm_func_end func_ov00_020bd0bc @@ -15137,15 +15137,15 @@ _020bd2fc: ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov00_020bd2bc - .global func_ov00_020bd304 - arm_func_start func_ov00_020bd304 -func_ov00_020bd304: ; 0x020bd304 + .global _ZN14PlayerLinkBase18func_ov00_020bd304Ev + arm_func_start _ZN14PlayerLinkBase18func_ov00_020bd304Ev +_ZN14PlayerLinkBase18func_ov00_020bd304Ev: ; 0x020bd304 ldrb r0, [r0, #0x5f] cmp r0, #0 moveq r0, #1 movne r0, #0 bx lr - arm_func_end func_ov00_020bd304 + arm_func_end _ZN14PlayerLinkBase18func_ov00_020bd304Ev .global func_ov00_020bd318 arm_func_start func_ov00_020bd318 @@ -15190,7 +15190,7 @@ func_ov00_020bd364: ; 0x020bd364 ldr r0, [r0] str r1, [r2] ldr r2, [r1, #0xc] - ldr r1, _020bd3ac ; =data_027e0f94 + ldr r1, _020bd3ac ; =gPlayerPos blx func_ov00_020b4c4c bl _ZN10PlayerBase14GetEquipShieldEv mov r1, #0 @@ -15200,7 +15200,7 @@ func_ov00_020bd364: ; 0x020bd364 _020bd3a0: .word data_027e0fd8 _020bd3a4: .word data_027e0fd4 _020bd3a8: .word data_027e0fcc -_020bd3ac: .word data_027e0f94 +_020bd3ac: .word gPlayerPos arm_func_end func_ov00_020bd364 .global func_ov00_020bd3b0 @@ -15277,21 +15277,21 @@ _020bd484: bl func_ov00_020bb544 _020bd4b8: bl func_020385b8 - ldr r1, _020bd4d4 ; =data_027e0fa0 + ldr r1, _020bd4d4 ; =gPlayerVel bl _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p mov r0, #1 add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020bd4d0: .word data_027e103c -_020bd4d4: .word data_027e0fa0 +_020bd4d4: .word gPlayerVel arm_func_end func_ov00_020bd3b0 .global func_ov00_020bd4d8 arm_func_start func_ov00_020bd4d8 func_ov00_020bd4d8: ; 0x020bd4d8 ldr r2, [r1] - ldr r0, _020bd4f8 ; =data_027e0f94 + ldr r0, _020bd4f8 ; =gPlayerPos str r2, [r0] ldr r2, [r1, #4] str r2, [r0, #4] @@ -15299,18 +15299,18 @@ func_ov00_020bd4d8: ; 0x020bd4d8 str r1, [r0, #8] bx lr .align 2, 0 -_020bd4f8: .word data_027e0f94 +_020bd4f8: .word gPlayerPos arm_func_end func_ov00_020bd4d8 .global func_ov00_020bd4fc arm_func_start func_ov00_020bd4fc func_ov00_020bd4fc: ; 0x020bd4fc ldrsh r1, [r1] - ldr r0, _020bd50c ; =data_027e0fac + ldr r0, _020bd50c ; =gPlayerAngle strh r1, [r0] bx lr .align 2, 0 -_020bd50c: .word data_027e0fac +_020bd50c: .word gPlayerAngle arm_func_end func_ov00_020bd4fc .global func_ov00_020bd510 @@ -15336,7 +15336,7 @@ func_ov00_020bd510: ; 0x020bd510 mvn lr, #0 mov r3, #0 str r3, [sp, #0xc] - ldr r0, _020bd5e8 ; =data_027e0f94 + ldr r0, _020bd5e8 ; =gPlayerPos add ip, sp, #4 add r2, sp, #0xc mov r1, r5 @@ -15350,7 +15350,7 @@ func_ov00_020bd510: ; 0x020bd510 addeq sp, sp, #0x20 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _020bd5ec ; =data_027e0fe4 + ldr r0, _020bd5ec ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -15371,8 +15371,8 @@ func_ov00_020bd510: ; 0x020bd510 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020bd5e4: .word gItemManager -_020bd5e8: .word data_027e0f94 -_020bd5ec: .word data_027e0fe4 +_020bd5e8: .word gPlayerPos +_020bd5ec: .word gActorManager arm_func_end func_ov00_020bd510 .global func_ov00_020bd5f0 @@ -15910,12 +15910,12 @@ _020bdb70: ldr r0, [sp, #0x30] mov r2, r2, asr #0x4 mov r8, r2, lsl #0x1 - ldr r2, _020bde44 ; =data_02050f54 + ldr r2, _020bde44 ; =gSinCosTable mov r3, r8, lsl #0x1 add r2, r2, r8, lsl #1 ldrsh lr, [r2, #2] ldr r8, [sp, #0x10] - ldr r2, _020bde44 ; =data_02050f54 + ldr r2, _020bde44 ; =gSinCosTable umull r9, r8, lr, r8 mla r8, lr, r10, r8 ldrsh r3, [r2, r3] @@ -16092,7 +16092,7 @@ _020bde34: .word 0x001f20c0 _020bde38: .word data_027e0f64 _020bde3c: .word 0x2aaaaaab _020bde40: .word 0x04000444 -_020bde44: .word data_02050f54 +_020bde44: .word gSinCosTable _020bde48: .word 0x000fffe0 _020bde4c: .word 0x0400048c _020bde50: .word 0x04000504 @@ -16189,7 +16189,7 @@ _020bdf28: ldr r1, [sp, #4] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 ldr r2, [r4, #8] ldr r1, [r4] add r1, r2, r1, lsl #4 @@ -16281,7 +16281,7 @@ _020be08c: ldr r1, [sp, #0x14] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 ldr r1, [r9, #8] add r1, r1, r8, lsl #4 strh r0, [r1, #0xc] @@ -16317,7 +16317,7 @@ _020be158: ldr r1, [sp, #0x14] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldr r1, [r9, #8] mov r2, r0, asr #0x10 @@ -16388,7 +16388,7 @@ func_ov00_020be1fc: ; 0x020be1fc arm_func_start func_ov00_020be218 func_ov00_020be218: ; 0x020be218 mov ip, #0 - ldr r1, _020be290 ; =data_027e0d0c + ldr r1, _020be290 ; =gVec3p_ZERO str ip, [r0, #0x6c] ldr r2, [r1] sub r3, ip, #1 @@ -16418,7 +16418,7 @@ func_ov00_020be218: ; 0x020be218 mov r0, #1 bx lr .align 2, 0 -_020be290: .word data_027e0d0c +_020be290: .word gVec3p_ZERO arm_func_end func_ov00_020be218 .global func_ov00_020be294 @@ -16442,7 +16442,7 @@ _020be2cc: mov r0, #1 b _020be338 _020be2d4: - ldr r0, _020be400 ; =data_027e0fc8 + ldr r0, _020be400 ; =gPlayerLink mvn r1, #0 ldr r0, [r0] ldr r2, [r0, #0x3c] @@ -16456,7 +16456,7 @@ _020be2fc: mov r0, #0 b _020be338 _020be304: - ldr r0, _020be400 ; =data_027e0fc8 + ldr r0, _020be400 ; =gPlayerLink mvn r1, #0 ldr r0, [r0] ldr r2, [r0, #0x3c] @@ -16499,7 +16499,7 @@ _020be37c: cmp r0, #0 ldmeqia sp!, {r3, r4, r5, pc} _020be39c: - ldr r0, _020be400 ; =data_027e0fc8 + ldr r0, _020be400 ; =gPlayerLink ldr r4, [r0] cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} @@ -16521,12 +16521,12 @@ _020be3e4: mov r1, #1 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r5 bl _ZN5Actor4KillEv ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020be400: .word data_027e0fc8 +_020be400: .word gPlayerLink _020be404: .word gMapManager _020be408: .word gAdventureFlags arm_func_end func_ov00_020be294 @@ -17001,10 +17001,10 @@ func_ov00_020be988: ; 0x020be988 .global func_ov00_020be990 arm_func_start func_ov00_020be990 func_ov00_020be990: ; 0x020be990 - ldr r0, _020be998 ; =data_027e0f94 + ldr r0, _020be998 ; =gPlayerPos bx lr .align 2, 0 -_020be998: .word data_027e0f94 +_020be998: .word gPlayerPos arm_func_end func_ov00_020be990 .global func_ov00_020be99c @@ -17012,7 +17012,7 @@ _020be998: .word data_027e0f94 func_ov00_020be99c: ; 0x020be99c stmdb sp!, {r4, lr} sub sp, sp, #0x10 - ldr r0, _020be9e0 ; =data_027e0f90 + ldr r0, _020be9e0 ; =gPlayer mov r4, r1 ldr r0, [r0] add r1, sp, #0 @@ -17028,7 +17028,7 @@ func_ov00_020be99c: ; 0x020be99c add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_020be9e0: .word data_027e0f90 +_020be9e0: .word gPlayer arm_func_end func_ov00_020be99c .global func_ov00_020be9e4 @@ -17053,7 +17053,7 @@ func_ov00_020be9e4: ; 0x020be9e4 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r2, r0, #1 - ldr r0, _020beb28 ; =data_02050f54 + ldr r0, _020beb28 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh ip, [r0, r2] ldr r0, _020beb2c ; =0x00000266 @@ -17116,7 +17116,7 @@ func_ov00_020be9e4: ; 0x020be9e4 .align 2, 0 _020beb20: .word 0x00000aab _020beb24: .word data_027e0f64 -_020beb28: .word data_02050f54 +_020beb28: .word gSinCosTable _020beb2c: .word 0x00000266 arm_func_end func_ov00_020be9e4 @@ -17503,7 +17503,7 @@ _020bef98: strb r0, [r5, #6] b _020befd4 _020befa4: - ldr r0, _020befdc ; =data_027e0fc8 + ldr r0, _020befdc ; =gPlayerLink ldr r4, [r0] mov r0, r4 bl func_ov00_020bbd40 @@ -17520,7 +17520,7 @@ _020befd4: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020befdc: .word data_027e0fc8 +_020befdc: .word gPlayerLink arm_func_end func_ov00_020bef18 .global func_ov00_020befe0 @@ -17705,7 +17705,7 @@ func_ov00_020bf1c0: ; 0x020bf1c0 mov r2, #1 str r2, [sp] ldr r0, _020bf268 ; =data_027e0e58 - ldr r3, _020bf26c ; =data_027e0d0c + ldr r3, _020bf26c ; =gVec3p_ZERO ldr r0, [r0] add r1, r4, #0x30 rsb r2, r2, #0x15c @@ -17713,7 +17713,7 @@ func_ov00_020bf1c0: ; 0x020bf1c0 mov r1, #1 str r1, [sp] ldr r0, _020bf268 ; =data_027e0e58 - ldr r3, _020bf26c ; =data_027e0d0c + ldr r3, _020bf26c ; =gVec3p_ZERO ldr r0, [r0] add r1, r4, #0x34 mov r2, #0x15c @@ -17742,7 +17742,7 @@ _020bf258: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020bf268: .word data_027e0e58 -_020bf26c: .word data_027e0d0c +_020bf26c: .word gVec3p_ZERO arm_func_end func_ov00_020bf1c0 .global func_ov00_020bf270 @@ -17840,7 +17840,7 @@ _020bf374: add r0, sp, #0x1c add r1, sp, #0x10 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #1 str r0, [sp] ldr r0, _020bf4d4 ; =data_027e0e58 @@ -17862,7 +17862,7 @@ _020bf374: bl func_0202af4c add r0, sp, #4 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r3, [sp, #8] ldr r2, [sp, #0xc] ldr r0, [sp, #4] @@ -18262,18 +18262,18 @@ _020bf9a0: add r0, sp, #0xcc add r1, sp, #0xd8 add r2, sp, #0xb4 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 bl func_ov00_020bf4f4 cmp r0, #0 beq _020bfa1c ldr r0, [sp, #0xb4] ldr r1, [sp, #0xbc] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 ldr r0, [sp, #0x100] ldr r1, [sp, #0x108] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 subs r0, r0, r5, asr #16 @@ -18308,7 +18308,7 @@ _020bfa24: add r1, sp, #0x9c add r0, sp, #0xa8 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x2c] cmp r0, #0 beq _020bfb20 @@ -18361,7 +18361,7 @@ _020bfb20: ldrsh r0, [r4, #0x54] cmp r0, #0 ble _020bfc80 - ldr r0, _020bff48 ; =data_027e0fe4 + ldr r0, _020bff48 ; =gActorManager add r1, r4, #0x38 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -18373,7 +18373,7 @@ _020bfb20: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x94] - ldr r5, _020bff4c ; =data_02050f54 + ldr r5, _020bff4c ; =gSinCosTable add r0, r0, #0x800 str r0, [sp, #0x94] ldrh r0, [r4, #4] @@ -18409,7 +18409,7 @@ _020bfb20: add r1, r8, r2 add r0, sp, #0x64 str r1, [sp, #0x98] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x80] str r0, [sp, #0x84] @@ -18461,7 +18461,7 @@ _020bfc80: str r2, [sp, #0x4c] str r1, [sp, #0x50] str r0, [sp, #0x54] - bl func_ov00_020bff70 + bl _ZN10EquipSword12GetEquipRopeEv ldrsh r2, [r4, #4] add r1, sp, #0x48 add r3, sp, #0x58 @@ -18476,7 +18476,7 @@ _020bfc80: cmp r1, r0 bgt _020bfd10 _020bfcfc: - bl func_ov00_020bff70 + bl _ZN10EquipSword12GetEquipRopeEv add r1, sp, #0x48 add r2, sp, #0x58 mov r3, #0 @@ -18639,8 +18639,8 @@ _020bff38: .word gItemManager _020bff3c: .word gMapManager _020bff40: .word 0x0000099a _020bff44: .word data_ov00_020dd268 -_020bff48: .word data_027e0fe4 -_020bff4c: .word data_02050f54 +_020bff48: .word gActorManager +_020bff4c: .word gSinCosTable _020bff50: .word 0x00000666 _020bff54: .word data_027e0fe8 _020bff58: .word 0x5342454d @@ -18651,15 +18651,15 @@ _020bff68: .word 0x00000b33 _020bff6c: .word data_027e0d38 arm_func_end func_ov00_020bf538 - .global func_ov00_020bff70 - arm_func_start func_ov00_020bff70 -func_ov00_020bff70: ; 0x020bff70 - ldr ip, _020bff7c ; =func_01fffcec + .global _ZN10EquipSword12GetEquipRopeEv + arm_func_start _ZN10EquipSword12GetEquipRopeEv +_ZN10EquipSword12GetEquipRopeEv: ; 0x020bff70 + ldr ip, _020bff7c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_020bff7c: .word func_01fffcec - arm_func_end func_ov00_020bff70 +_020bff7c: .word _ZN11ItemManager21GetEquipItemUncheckedEi + arm_func_end _ZN10EquipSword12GetEquipRopeEv .global func_ov00_020bff80 arm_func_start func_ov00_020bff80 @@ -18896,7 +18896,7 @@ func_ov00_020c024c: ; 0x020c024c mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr ip, _020c0314 ; =data_02050f54 + ldr ip, _020c0314 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [ip, r2] @@ -18923,7 +18923,7 @@ func_ov00_020c024c: ; 0x020c024c _020c0308: .word data_ov00_020dd2a0 _020c030c: .word data_ov00_020dd29c _020c0310: .word data_ov00_020dd28c -_020c0314: .word data_02050f54 +_020c0314: .word gSinCosTable arm_func_end func_ov00_020c024c .global func_ov00_020c0318 @@ -18966,7 +18966,7 @@ _020c035c: add r2, r2, #1 ldrh ip, [r0, #4] ldr r0, [r3, r1] - ldr r5, _020c0544 ; =data_02050f54 + ldr r5, _020c0544 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r5, r2] mov r1, ip, asr #0x4 @@ -19036,7 +19036,7 @@ _020c0484: add r1, r3, #0x66 _020c04a8: ldrh r2, [r0, #4] - ldr ip, _020c0544 ; =data_02050f54 + ldr ip, _020c0544 ; =gSinCosTable add r1, r1, #0x200 mov r2, r2, asr #0x4 mov r5, r2, lsl #0x1 @@ -19076,7 +19076,7 @@ _020c0524: .align 2, 0 _020c053c: .word data_ov00_020dd2a0 _020c0540: .word data_ov00_020dd28c -_020c0544: .word data_02050f54 +_020c0544: .word gSinCosTable _020c0548: .word 0x00000b33 _020c054c: .word 0x5b6f58d9 arm_func_end func_ov00_020c0318 @@ -19107,7 +19107,7 @@ func_ov00_020c0550: ; 0x020c0550 mov r1, r3, lsl #0x10 mov r1, r1, lsr #0x10 mov r3, r1, asr #0x4 - ldr r1, _020c05e8 ; =data_02050f54 + ldr r1, _020c05e8 ; =gSinCosTable mov r3, r3, lsl #0x2 ldrsh r1, [r1, r3] ldr r0, [r2, r0] @@ -19123,7 +19123,7 @@ func_ov00_020c0550: ; 0x020c0550 .align 2, 0 _020c05e0: .word data_ov00_020dd2a0 _020c05e4: .word data_ov00_020dd28c -_020c05e8: .word data_02050f54 +_020c05e8: .word gSinCosTable arm_func_end func_ov00_020c0550 .global func_ov00_020c05ec @@ -19230,7 +19230,7 @@ func_ov00_020c06d8: ; 0x020c06d8 arm_func_start func_ov00_020c06e0 func_ov00_020c06e0: ; 0x020c06e0 stmdb sp!, {r3, lr} - ldr r1, _020c0708 ; =data_027e0fb8 + ldr r1, _020c0708 ; =gPlayerControl ldr r1, [r1] ldrb r1, [r1, #0x79] cmp r1, #0 @@ -19240,7 +19240,7 @@ func_ov00_020c06e0: ; 0x020c06e0 bl func_ov00_020be8e4 ldmia sp!, {r3, pc} .align 2, 0 -_020c0708: .word data_027e0fb8 +_020c0708: .word gPlayerControl arm_func_end func_ov00_020c06e0 .global func_ov00_020c070c @@ -19460,7 +19460,7 @@ _020c09c0: cmp r0, #0 beq _020c0a60 ldrh r1, [r4, #4] - ldr r2, _020c0a80 ; =data_02050f54 + ldr r2, _020c0a80 ; =gSinCosTable ldr r0, _020c0a84 ; =0x00000333 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -19506,7 +19506,7 @@ _020c0a70: .word gItemManager _020c0a74: .word data_02053f54 _020c0a78: .word data_ov00_020dd364 _020c0a7c: .word data_027e03c8 -_020c0a80: .word data_02050f54 +_020c0a80: .word gSinCosTable _020c0a84: .word 0x00000333 arm_func_end func_ov00_020c086c @@ -19525,7 +19525,7 @@ func_ov00_020c0a88: ; 0x020c0a88 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldrh r0, [r5, #4] - ldr r2, _020c0b5c ; =data_02050f54 + ldr r2, _020c0b5c ; =gSinCosTable ldr r3, _020c0b60 ; =0x0000019a mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -19567,7 +19567,7 @@ func_ov00_020c0a88: ; 0x020c0a88 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020c0b5c: .word data_02050f54 +_020c0b5c: .word gSinCosTable _020c0b60: .word 0x0000019a arm_func_end func_ov00_020c0a88 @@ -20393,34 +20393,6 @@ _020c14f0: ldmia sp!, {r4, r5, r6, r7, r8, pc} arm_func_end func_ov00_020c1450 - .global func_ov00_020c1500 - arm_func_start func_ov00_020c1500 -func_ov00_020c1500: ; 0x020c1500 - mvn r2, #0 - mov r3, #0 - strb r2, [r0, #0xc] - strb r3, [r0, #0xd] - mov r1, #1 - strb r1, [r0, #0xe] - str r2, [r0, #0x10] - mov ip, r3 -_020c1520: - mov r1, r3, lsl #0x1 - add r3, r3, #1 - strh ip, [r0, r1] - cmp r3, #4 - blt _020c1520 - mov r1, #0 -_020c1538: - add r2, r0, ip - strb r1, [r2, #8] - add ip, ip, #1 - strb r1, [r2, #0xa] - cmp ip, #2 - blt _020c1538 - bx lr - arm_func_end func_ov00_020c1500 - .rodata .global data_ov00_020dc6d4 data_ov00_020dc6d4: ; 0x020dc6d4 @@ -21545,23 +21517,23 @@ _020e128c: .word data_ov00_020ee178 func_ov00_020e1290: ; 0x020e1290 stmdb sp!, {r3} sub sp, sp, #0xc - ldr r0, _020e12cc ; =data_027e0d0c + ldr r0, _020e12cc ; =gVec3p_ZERO add ip, sp, #0 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} - ldr r3, _020e12d0 ; =data_027e0f94 + ldr r3, _020e12d0 ; =gPlayerPos ldmia ip, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r3, _020e12d4 ; =data_027e0fa0 + ldr r3, _020e12d4 ; =gPlayerVel ldmia ip, {r0, r1, r2} stmia r3, {r0, r1, r2} add sp, sp, #0xc ldmia sp!, {r3} bx lr .align 2, 0 -_020e12cc: .word data_027e0d0c -_020e12d0: .word data_027e0f94 -_020e12d4: .word data_027e0fa0 +_020e12cc: .word gVec3p_ZERO +_020e12d0: .word gPlayerPos +_020e12d4: .word gPlayerVel arm_func_end func_ov00_020e1290 .global func_ov00_020e12d8 @@ -23058,7 +23030,7 @@ data_ov00_020e6578: ; 0x020e6578 .word func_ov00_020b9ccc .global data_ov00_020e657c data_ov00_020e657c: ; 0x020e657c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e6580 data_ov00_020e6580: ; 0x020e6580 .word func_ov00_020b8418 @@ -23088,10 +23060,10 @@ data_ov00_020e65a0: ; 0x020e65a0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e65a4 data_ov00_020e65a4: ; 0x020e65a4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e65a8 data_ov00_020e65a8: ; 0x020e65a8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e65ac data_ov00_020e65ac: ; 0x020e65ac .word _ZN5Actor8vfunc_4cEPi @@ -23271,7 +23243,7 @@ data_ov00_020e6694: ; 0x020e6694 .word func_ov00_020b9ccc .global data_ov00_020e6698 data_ov00_020e6698: ; 0x020e6698 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e669c data_ov00_020e669c: ; 0x020e669c .word func_ov00_020ba0d4 @@ -23301,10 +23273,10 @@ data_ov00_020e66bc: ; 0x020e66bc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e66c0 data_ov00_020e66c0: ; 0x020e66c0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e66c4 data_ov00_020e66c4: ; 0x020e66c4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e66c8 data_ov00_020e66c8: ; 0x020e66c8 .word _ZN5Actor8vfunc_4cEPi @@ -23549,7 +23521,7 @@ data_ov00_020e67fc: ; 0x020e67fc .word func_ov00_020b9ccc .global data_ov00_020e6800 data_ov00_020e6800: ; 0x020e6800 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e6804 data_ov00_020e6804: ; 0x020e6804 .word func_ov00_020ba0d4 @@ -23579,10 +23551,10 @@ data_ov00_020e6824: ; 0x020e6824 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e6828 data_ov00_020e6828: ; 0x020e6828 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e682c data_ov00_020e682c: ; 0x020e682c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e6830 data_ov00_020e6830: ; 0x020e6830 .word _ZN5Actor8vfunc_4cEPi @@ -24180,7 +24152,7 @@ data_ov00_020e6d5c: ; 0x020e6d5c .word func_ov00_020be40c .global data_ov00_020e6d60 data_ov00_020e6d60: ; 0x020e6d60 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e6d64 data_ov00_020e6d64: ; 0x020e6d64 .word _ZN5Actor8vfunc_20Ei @@ -24210,10 +24182,10 @@ data_ov00_020e6d84: ; 0x020e6d84 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e6d88 data_ov00_020e6d88: ; 0x020e6d88 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e6d8c data_ov00_020e6d8c: ; 0x020e6d8c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e6d90 data_ov00_020e6d90: ; 0x020e6d90 .word _ZN5Actor8vfunc_4cEPi @@ -24812,7 +24784,7 @@ data_ov00_020e70b8: ; 0x020e70b8 .word func_ov00_020b9ccc .global data_ov00_020e70bc data_ov00_020e70bc: ; 0x020e70bc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e70c0 data_ov00_020e70c0: ; 0x020e70c0 .word func_ov00_020ba0d4 @@ -24842,10 +24814,10 @@ data_ov00_020e70e0: ; 0x020e70e0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e70e4 data_ov00_020e70e4: ; 0x020e70e4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e70e8 data_ov00_020e70e8: ; 0x020e70e8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e70ec data_ov00_020e70ec: ; 0x020e70ec .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov00/ov00_020c3e54.inc b/asm/ov00/ov00_020c3e54.inc index c84f3e83..cea9b04d 100644 --- a/asm/ov00/ov00_020c3e54.inc +++ b/asm/ov00/ov00_020c3e54.inc @@ -1,6 +1,15 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Cross +.extern Vec3p_Distance +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager16MapData_vfunc_78Ev .extern _ZN10MapManager17GetMapData_Unk_48Ev @@ -25,7 +34,7 @@ .extern _ZN10PlayerBase14GetEquipShieldEv .extern _ZN11ItemManager15SetEquippedItemEi .extern _ZN11ItemManager18func_ov00_020ad790Ei -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags18func_Ov00_02097810Ei @@ -40,17 +49,19 @@ .extern _ZN17LinkStateInteract18func_ov00_020abba0EP8ActorRef .extern _ZN17LinkStateInteract18func_ov00_020abbdcEP8ActorRef .extern _ZN17LinkStateInteract18func_ov00_020abc18EP8ActorRef +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10GetUnk_08cEP8Cylinder .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12KillInBoundsEv .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor14GetAngleToLinkEv .extern _ZN5Actor14ResetWallTouchEv .extern _ZN5Actor15IsHitboxTouchedEb @@ -60,10 +71,10 @@ .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c195cEv .extern _ZN5Actor18func_ov00_020c198cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c29ecEi .extern _ZN5Actor18func_ov00_020c3118Es .extern _ZN5Actor18func_ov00_020c313cEj @@ -75,14 +86,14 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -115,7 +126,7 @@ .extern _ZNK11ItemManager7HasItemEi .extern _ZNK11ItemManager8GetFairyEi .extern __register_global_object -.extern data_02050f54 +.extern abs .extern data_020561f4 .extern data_02056be4 .extern data_02057840 @@ -130,7 +141,6 @@ .extern data_027e0cbc .extern data_027e0ce0 .extern data_027e0d04 -.extern data_027e0d0c .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d44 @@ -144,14 +154,8 @@ .extern data_027e0f70 .extern data_027e0f78 .extern data_027e0f88 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fd4 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -327,23 +331,13 @@ .extern func_01ff9958 .extern func_01ff998c .extern func_01ff9b4c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 .extern func_01ff9f3c -.extern func_01ffa0f4 .extern func_01ffa8d4 .extern func_01ffbe34 .extern func_01ffbe78 .extern func_01ffe1cc .extern func_01ffe468 .extern func_01fffb4c -.extern func_01fffd04 .extern func_020029fc .extern func_02002bac .extern func_02002bb8 @@ -499,7 +493,6 @@ .extern func_0203e284 .extern func_0203efd8 .extern func_0203f378 -.extern func_02042f74 .extern func_0204b068 .extern func_0204b0a4 .extern func_0204f558 @@ -593,7 +586,6 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov01_020f8658 .extern func_ov03_020f13b0 @@ -666,11 +658,19 @@ .extern func_ov26_0216ecb8 .extern func_ov26_021767ec .extern func_ov29_0216d918 +.extern gActorManager .extern gAdventureFlags .extern gHealthManager .extern gItemManager .extern gMapManager .extern gOverlayManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable +.extern gVec3p_ZERO .extern strcat .extern strcpy .extern strncpy diff --git a/asm/ov00/ov00_020c3e54.s b/asm/ov00/ov00_020c3e54.s index d52cef5b..f0173107 100644 --- a/asm/ov00/ov00_020c3e54.s +++ b/asm/ov00/ov00_020c3e54.s @@ -209,7 +209,7 @@ _020c4040: arm_func_start func_ov00_020c4048 func_ov00_020c4048: ; 0x020c4048 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - ldr r4, _020c42cc ; =data_027e0fe4 + ldr r4, _020c42cc ; =gActorManager mov r11, r1 ldr r7, [r4] mov r10, r2 @@ -375,7 +375,7 @@ _020c42c4: mov r0, r4 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_020c42cc: .word data_027e0fe4 +_020c42cc: .word gActorManager _020c42d0: .word 0x0000ffff _020c42d4: .word gMapManager arm_func_end func_ov00_020c4048 @@ -947,7 +947,7 @@ _020c49fc: beq _020c4a78 add r0, sp, #0x20 add r1, r6, #8 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, [r6, #0x18] cmp r0, r1 addgt sp, sp, #0x2c @@ -956,10 +956,10 @@ _020c49fc: add r0, sp, #0x20 add r2, sp, #0x14 add r1, r6, #8 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x14] ldr r1, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r6, #0x14] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -1057,7 +1057,7 @@ _020c4b70: ldr r1, [sp, #4] add r0, r0, r8 add r0, r0, #4 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r4 bge _020c4bc0 mov r4, r0 @@ -1441,7 +1441,7 @@ _020c5090: mov r1, r9 add r0, r0, r7 add r0, r0, #4 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r6 movlt r6, r0 movlt r11, r5 @@ -1728,18 +1728,18 @@ func_ov00_020c53b0: ; 0x020c53b0 stmdb sp!, {lr} sub sp, sp, #0xc mov r1, r0 - ldr r0, _020c53e4 ; =data_027e0f94 + ldr r0, _020c53e4 ; =gPlayerPos add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_020c53e4: .word data_027e0f94 +_020c53e4: .word gPlayerPos arm_func_end func_ov00_020c53b0 .global func_ov00_020c53e8 @@ -1750,7 +1750,7 @@ func_ov00_020c53e8: ; 0x020c53e8 mov r4, r1 cmp r2, #0 bne _020c5420 - ldr r1, _020c545c ; =data_027e0f94 + ldr r1, _020c545c ; =gPlayerPos mov r0, #1 ldr r2, [r1] str r2, [r4] @@ -1760,7 +1760,7 @@ func_ov00_020c53e8: ; 0x020c53e8 str r1, [r4, #8] ldmia sp!, {r4, pc} _020c5420: - ldr r2, _020c5460 ; =data_027e0fe4 + ldr r2, _020c5460 ; =gActorManager mov r1, r0 ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1776,8 +1776,8 @@ _020c5420: str r1, [r4, #8] ldmia sp!, {r4, pc} .align 2, 0 -_020c545c: .word data_027e0f94 -_020c5460: .word data_027e0fe4 +_020c545c: .word gPlayerPos +_020c5460: .word gActorManager arm_func_end func_ov00_020c53e8 .global func_ov00_020c5464 @@ -1817,7 +1817,7 @@ func_ov00_020c54a0: ; 0x020c54a0 mov r1, r7 mov r5, r3 orr r4, r4, ip, lsl #20 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x20] mov r0, r7 bl func_ov00_020c5464 @@ -1844,7 +1844,7 @@ func_ov00_020c54a0: ; 0x020c54a0 ldmgtia sp!, {r4, r5, r6, r7, pc} ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r6, r0, asr #16 mov r0, r0, lsl #0x10 @@ -1972,7 +1972,7 @@ func_ov00_020c566c: ; 0x020c566c func_ov00_020c56d8: ; 0x020c56d8 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 - ldr ip, _020c576c ; =data_027e0f90 + ldr ip, _020c576c ; =gPlayer mov r4, r0 ldr r0, [ip] mov r7, r1 @@ -1985,7 +1985,7 @@ func_ov00_020c56d8: ; 0x020c56d8 addeq sp, sp, #0x10 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, _020c5770 ; =data_027e0f94 + ldr r0, _020c5770 ; =gPlayerPos add ip, sp, #4 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} @@ -2008,8 +2008,8 @@ func_ov00_020c56d8: ; 0x020c56d8 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020c576c: .word data_027e0f90 -_020c5770: .word data_027e0f94 +_020c576c: .word gPlayer +_020c5770: .word gPlayerPos arm_func_end func_ov00_020c56d8 .global func_ov00_020c5774 @@ -2017,7 +2017,7 @@ _020c5770: .word data_027e0f94 func_ov00_020c5774: ; 0x020c5774 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r2, _020c57f4 ; =data_027e0f90 + ldr r2, _020c57f4 ; =gPlayer mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -2028,7 +2028,7 @@ func_ov00_020c5774: ; 0x020c5774 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r4, r5, pc} - ldr r0, _020c57f8 ; =data_027e0f94 + ldr r0, _020c57f8 ; =gPlayerPos add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -2048,8 +2048,8 @@ func_ov00_020c5774: ; 0x020c5774 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_020c57f4: .word data_027e0f90 -_020c57f8: .word data_027e0f94 +_020c57f4: .word gPlayer +_020c57f8: .word gPlayerPos arm_func_end func_ov00_020c5774 .global func_ov00_020c57fc @@ -2151,7 +2151,7 @@ func_ov00_020c5924: ; 0x020c5924 str r4, [sp, #4] str r4, [sp, #8] ldr r4, [sp, #0x50] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -2332,7 +2332,7 @@ func_ov00_020c5b34: ; 0x020c5b34 str r3, [sp, #4] ldr r3, [ip, #0x274] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r6, #0xc] add r0, sp, #0 add r1, r4, r1, lsl #1 @@ -2342,7 +2342,7 @@ func_ov00_020c5b34: ; 0x020c5b34 mov r2, r5 add r0, sp, #0 add r1, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0x10] sub r0, r0, r4, asr #16 str r0, [r6, #0x10] @@ -2605,7 +2605,7 @@ func_ov00_020c5ec0: ; 0x020c5ec0 mov ip, r1, lsl #0x1 add r1, ip, #1 mov r5, r0 - ldr r3, _020c5f18 ; =data_02050f54 + ldr r3, _020c5f18 ; =gSinCosTable mov ip, ip, lsl #0x1 mov r0, r1, lsl #0x1 mov r4, r2 @@ -2620,7 +2620,7 @@ func_ov00_020c5ec0: ; 0x020c5ec0 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_020c5f18: .word data_02050f54 +_020c5f18: .word gSinCosTable arm_func_end func_ov00_020c5ec0 .global func_ov00_020c5f1c @@ -2689,7 +2689,7 @@ func_ov00_020c5fc0: ; 0x020c5fc0 ldr r0, [r5, #0x1c] mov r4, r1 ldrh r2, [r0, #0x78] - ldr r3, _020c6020 ; =data_02050f54 + ldr r3, _020c6020 ; =gSinCosTable add r0, sp, #0 mov r1, r2, asr #0x4 mov r2, r1, lsl #0x1 @@ -2708,7 +2708,7 @@ func_ov00_020c5fc0: ; 0x020c5fc0 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_020c6020: .word data_02050f54 +_020c6020: .word gSinCosTable arm_func_end func_ov00_020c5fc0 .global func_ov00_020c6024 @@ -2824,7 +2824,7 @@ func_ov00_020c6164: ; 0x020c6164 mov r1, r4 add r2, sp, #0 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] cmp r0, #0 ldreq r0, [sp, #8] @@ -2847,7 +2847,7 @@ _020c61b4: _020c61d0: ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 ldr r3, [sp, #8] ldr lr, [sp] smull r1, r2, r3, r3 @@ -2871,7 +2871,7 @@ _020c61d0: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _020c62ec ; =data_02050f54 + ldr r1, _020c62ec ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r1, r2] mov r0, r0, lsl #0x1 @@ -2897,7 +2897,7 @@ _020c6288: mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _020c62ec ; =data_02050f54 + ldr r3, _020c62ec ; =gSinCosTable mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] @@ -2918,7 +2918,7 @@ _020c6288: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020c62ec: .word data_02050f54 +_020c62ec: .word gSinCosTable arm_func_end func_ov00_020c6164 .global func_ov00_020c62f0 @@ -2934,7 +2934,7 @@ func_ov00_020c62f0: ; 0x020c62f0 mov r7, r3 ldr r6, [sp, #0x2c] ldr r4, [sp, #0x30] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] cmp r0, #0 ldreq r0, [sp, #8] @@ -2958,7 +2958,7 @@ _020c6348: _020c6368: ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 mov r0, r7 @@ -2997,14 +2997,14 @@ _020c6368: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _020c64d4 ; =data_02050f54 + ldr r2, _020c64d4 ; =gSinCosTable b _020c642c _020c6414: mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 - ldr r2, _020c64d4 ; =data_02050f54 + ldr r2, _020c64d4 ; =gSinCosTable add r0, r1, #1 _020c642c: mov r1, r1, lsl #0x1 @@ -3031,7 +3031,7 @@ _020c6474: mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _020c64d4 ; =data_02050f54 + ldr r3, _020c64d4 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] @@ -3051,7 +3051,7 @@ _020c6474: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_020c64d4: .word data_02050f54 +_020c64d4: .word gSinCosTable arm_func_end func_ov00_020c62f0 .global func_ov00_020c64d8 @@ -3099,7 +3099,7 @@ func_ov00_020c6538: ; 0x020c6538 add r2, sp, #0 mov r1, r4 mov r5, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp] cmp r1, #0 ldreq r0, [sp, #8] @@ -3136,7 +3136,7 @@ _020c65a4: mov r4, r0 ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -3146,7 +3146,7 @@ _020c65a4: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _020c66b8 ; =data_02050f54 + ldr r1, _020c66b8 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r1, r2] mov r0, r0, lsl #0x1 @@ -3170,7 +3170,7 @@ _020c665c: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _020c66b8 ; =data_02050f54 + ldr r1, _020c66b8 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r1, r2] mov r0, r0, lsl #0x1 @@ -3191,7 +3191,7 @@ _020c665c: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020c66b8: .word data_02050f54 +_020c66b8: .word gSinCosTable arm_func_end func_ov00_020c6538 .global func_ov00_020c66bc @@ -3526,7 +3526,7 @@ _020c6a60: mov r1, r11 sub r0, r2, r0 str r0, [sp, #4] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 ldr r3, [r8, #4] @@ -3535,7 +3535,7 @@ _020c6a60: ldr r1, [r10, #0xc] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 mov r8, r0, lsl #0x10 ldr r3, [r9, #4] ldr r0, [r10, #4] @@ -3543,7 +3543,7 @@ _020c6a60: ldr r1, [r10, #0xc] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 ldr r1, [sp, #4] cmp r1, #0 cmpeq r11, #0 @@ -3860,14 +3860,14 @@ func_ov00_020c6e8c: ; 0x020c6e8c ldr r1, [sp] ldr r0, [r4] sub r0, r1, r0 - bl func_02042f74 + bl abs ldr r1, _020c6f04 ; =0x0000019a cmp r0, r1 bgt _020c6ef8 ldr r1, [sp, #8] ldr r0, [r4, #8] sub r0, r1, r0 - bl func_02042f74 + bl abs ldr r1, _020c6f04 ; =0x0000019a cmp r0, r1 addle sp, sp, #0xc @@ -4249,7 +4249,7 @@ func_ov00_020c73b8: ; 0x020c73b8 str r4, [sp, #4] str r4, [sp, #8] ldr r4, [sp, #0x50] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x28] str r0, [sp, #0x2c] @@ -4265,7 +4265,7 @@ func_ov00_020c73b8: ; 0x020c73b8 mov r2, r6 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _020c7480 ; =data_027e0fe4 + ldr r0, _020c7480 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4290,7 +4290,7 @@ _020c744c: .align 2, 0 _020c7478: .word data_027e0fe8 _020c747c: .word 0x45465756 -_020c7480: .word data_027e0fe4 +_020c7480: .word gActorManager arm_func_end func_ov00_020c73b8 .global func_ov00_020c7484 @@ -4372,7 +4372,7 @@ func_ov00_020c7528: ; 0x020c7528 mov r4, r3 str ip, [sp, #4] str ip, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -4387,7 +4387,7 @@ func_ov00_020c7528: ; 0x020c7528 mov r2, r6 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _020c75f0 ; =data_027e0fe4 + ldr r0, _020c75f0 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4414,7 +4414,7 @@ _020c75b4: .align 2, 0 _020c75e8: .word data_027e0fe8 _020c75ec: .word 0x45465250 -_020c75f0: .word data_027e0fe4 +_020c75f0: .word gActorManager arm_func_end func_ov00_020c7528 .global func_ov00_020c75f4 @@ -4447,7 +4447,7 @@ func_ov00_020c761c: ; 0x020c761c func_ov00_020c7630: ; 0x020c7630 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x38 - ldr r4, _020c7728 ; =data_027e0fe4 + ldr r4, _020c7728 ; =gActorManager mov r6, r0 ldr r0, [r4] mov r7, r1 @@ -4461,7 +4461,7 @@ func_ov00_020c7630: ; 0x020c7630 add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -4476,7 +4476,7 @@ func_ov00_020c7630: ; 0x020c7630 add r3, sp, #0xc mov r2, r5 bl func_ov00_020c4048 - ldr r0, _020c7728 ; =data_027e0fe4 + ldr r0, _020c7728 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4510,7 +4510,7 @@ _020c76f8: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020c7728: .word data_027e0fe4 +_020c7728: .word gActorManager _020c772c: .word data_027e0fe8 _020c7730: .word 0x4546524c arm_func_end func_ov00_020c7630 @@ -5047,7 +5047,7 @@ func_ov00_020c7edc: ; 0x020c7edc mov r4, r2 str r3, [sp, #4] str r3, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -5061,7 +5061,7 @@ func_ov00_020c7edc: ; 0x020c7edc mov r2, r6 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _020c7f94 ; =data_027e0fe4 + ldr r0, _020c7f94 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5086,7 +5086,7 @@ _020c7f60: .align 2, 0 _020c7f8c: .word data_027e0fe8 _020c7f90: .word 0x4546574c -_020c7f94: .word data_027e0fe4 +_020c7f94: .word gActorManager arm_func_end func_ov00_020c7edc .global func_ov00_020c7f98 @@ -6185,10 +6185,10 @@ _020c8d94: add r0, r0, #4 add r1, r6, #4 add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r6, #2] mov r0, r0, lsl #0x10 sub r0, r1, r0, asr #16 @@ -6785,7 +6785,7 @@ _020c958c: bhi _020c95c0 add r0, r4, #4 add r1, r9, #4 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r7, r0 movlt r7, r0 movlt r6, r5 @@ -6834,7 +6834,7 @@ _020c9630: bhi _020c9664 add r0, r4, #4 add r1, r9, #4 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r7, r0 movgt r7, r0 movgt r6, r5 @@ -8175,7 +8175,7 @@ func_ov00_020ca600: ; 0x020ca600 ldrh r0, [r0, #0xa] tst r0, #0x10 bne _020ca644 - ldr r0, _020ca64c ; =data_027e0fe4 + ldr r0, _020ca64c ; =gActorManager mov r1, r2 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -8192,7 +8192,7 @@ _020ca644: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_020ca64c: .word data_027e0fe4 +_020ca64c: .word gActorManager _020ca650: .word 0x43525053 arm_func_end func_ov00_020ca600 @@ -8316,7 +8316,7 @@ func_ov00_020ca7e8: ; 0x020ca7e8 mov r4, r0 cmp r1, #0 ldmeqia sp!, {r4, pc} - ldr r0, _020ca82c ; =data_027e0fe4 + ldr r0, _020ca82c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8330,7 +8330,7 @@ func_ov00_020ca7e8: ; 0x020ca7e8 bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} .align 2, 0 -_020ca82c: .word data_027e0fe4 +_020ca82c: .word gActorManager _020ca830: .word 0x454e4745 arm_func_end func_ov00_020ca7e8 @@ -9226,10 +9226,10 @@ _020cb2a4: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r4, #0x110] cmp r0, #0 ldreqb r0, [r4, #0x112] @@ -9272,7 +9272,7 @@ func_ov00_020cb314: ; 0x020cb314 add r1, ip, #0x60 mov r2, r0 str r3, [ip, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r3, pc} arm_func_end func_ov00_020cb314 @@ -9371,7 +9371,7 @@ _020cb47c: bl _ZN5Actor9GetHitboxEP8Cylinder ldr r0, [r6] ldr r1, [r6, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -9380,7 +9380,7 @@ _020cb47c: mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r3, [sp, #0xc] - ldr r2, _020cb53c ; =data_02050f54 + ldr r2, _020cb53c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -9412,7 +9412,7 @@ _020cb47c: _020cb530: .word data_027e0ffc _020cb534: .word 0x00000191 _020cb538: .word data_027e0e5c -_020cb53c: .word data_02050f54 +_020cb53c: .word gSinCosTable arm_func_end func_ov00_020cb348 .global func_ov00_020cb540 @@ -9468,7 +9468,7 @@ func_ov00_020cb58c: ; 0x020cb58c mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _020cb604 _020cb5fc: @@ -10584,7 +10584,7 @@ func_ov00_020cc3fc: ; 0x020cc3fc add r0, r4, #0x48 add r1, r4, #0x1ec mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r4, pc} .align 2, 0 _020cc434: .word data_027e0ff4 @@ -10619,7 +10619,7 @@ func_ov00_020cc45c: ; 0x020cc45c ldr r0, [r4, #0x210] add r1, r4, #0x1f8 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy ldmia sp!, {r4, pc} arm_func_end func_ov00_020cc45c @@ -10727,10 +10727,10 @@ _020cc5e4: add r0, r4, #0x48 add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov00_020cc524 @@ -10806,7 +10806,7 @@ func_ov00_020cc6e0: ; 0x020cc6e0 mov r4, r0 add r0, sp, #4 mov r5, r1 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -11099,12 +11099,12 @@ _020cca4c: .word func_ov00_020c56d8 arm_func_start func_ov00_020cca50 func_ov00_020cca50: ; 0x020cca50 ldr ip, _020cca60 ; =func_ov00_020c5464 - ldr r1, _020cca64 ; =data_027e0f94 + ldr r1, _020cca64 ; =gPlayerPos add r0, r0, #0x48 bx ip .align 2, 0 _020cca60: .word func_ov00_020c5464 -_020cca64: .word data_027e0f94 +_020cca64: .word gPlayerPos arm_func_end func_ov00_020cca50 .global func_ov00_020cca68 @@ -11156,11 +11156,11 @@ _020ccb00: .word gMapManager arm_func_start func_ov00_020ccb04 func_ov00_020ccb04: ; 0x020ccb04 ldr ip, _020ccb10 ; =func_ov00_020cca68 - ldr r1, _020ccb14 ; =data_027e0f94 + ldr r1, _020ccb14 ; =gPlayerPos bx ip .align 2, 0 _020ccb10: .word func_ov00_020cca68 -_020ccb14: .word data_027e0f94 +_020ccb14: .word gPlayerPos arm_func_end func_ov00_020ccb04 .global func_ov00_020ccb18 @@ -11537,7 +11537,7 @@ func_ov00_020ccf7c: ; 0x020ccf7c cmp r0, #0 mov r4, #0 ble _020cd004 - ldr r9, _020cd00c ; =data_027e0fe4 + ldr r9, _020cd00c ; =gActorManager mov r5, r4 _020ccfa4: ldr r1, [r8, #0x10] @@ -11570,7 +11570,7 @@ _020cd004: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_020cd00c: .word data_027e0fe4 +_020cd00c: .word gActorManager arm_func_end func_ov00_020ccf7c .global func_ov00_020cd010 @@ -11709,7 +11709,7 @@ func_ov00_020cd174: ; 0x020cd174 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r6, r0 - ldr r0, _020cd274 ; =data_027e0f94 + ldr r0, _020cd274 ; =gPlayerPos add r4, sp, #0xc str r1, [r6] mov r5, r2 @@ -11720,10 +11720,10 @@ func_ov00_020cd174: ; 0x020cd174 add r2, sp, #0 add r0, r0, #0x48 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 cmp r5, #0 mov r0, r0, asr #0x10 @@ -11751,7 +11751,7 @@ _020cd204: mov r1, r0, lsl #0x1 add r0, r1, #1 mov r3, r1, lsl #0x1 - ldr r2, _020cd278 ; =data_02050f54 + ldr r2, _020cd278 ; =gSinCosTable mov r0, r0, lsl #0x1 str r5, [r6, #0x10] ldrsh r5, [r2, r0] @@ -11764,7 +11764,7 @@ _020cd204: str lr, [sp] str ip, [sp, #4] str r5, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [sp] str r0, [r6, #4] ldr r0, [sp, #4] @@ -11774,8 +11774,8 @@ _020cd204: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020cd274: .word data_027e0f94 -_020cd278: .word data_02050f54 +_020cd274: .word gPlayerPos +_020cd278: .word gSinCosTable arm_func_end func_ov00_020cd174 .global func_ov00_020cd27c @@ -11797,7 +11797,7 @@ func_ov00_020cd27c: ; 0x020cd27c add r2, sp, #0 add r0, r4, #4 add r1, r1, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #4] add r0, sp, #0 @@ -11876,7 +11876,7 @@ func_ov00_020cd37c: ; 0x020cd37c func_ov00_020cd384: ; 0x020cd384 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 - ldr ip, _020cd4e0 ; =data_027e0f94 + ldr ip, _020cd4e0 ; =gPlayerPos add r6, sp, #0xc mov r5, r0 mov r4, r1 @@ -11895,10 +11895,10 @@ func_ov00_020cd384: ; 0x020cd384 add r1, sp, #0xc add r0, r0, #0x48 add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 cmp r6, #0 @@ -11925,7 +11925,7 @@ _020cd430: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _020cd4e4 ; =data_02050f54 + ldr r1, _020cd4e4 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 @@ -11938,12 +11938,12 @@ _020cd430: str r6, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r5] add r0, sp, #0 add r1, r1, #0x48 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r3, #0 mov r1, r4 @@ -11965,8 +11965,8 @@ _020cd430: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020cd4e0: .word data_027e0f94 -_020cd4e4: .word data_02050f54 +_020cd4e0: .word gPlayerPos +_020cd4e4: .word gSinCosTable arm_func_end func_ov00_020cd384 .global func_ov00_020cd4e8 @@ -12003,7 +12003,7 @@ func_ov00_020cd52c: ; 0x020cd52c ldr ip, _020cd624 ; =data_027e0764 str r0, [r4, #0x18] ldr r1, [r2, #4] - ldr r0, _020cd628 ; =data_02050f54 + ldr r0, _020cd628 ; =gSinCosTable str r1, [r4, #0x1c] ldr r1, [r2, #8] mov lr, #0 @@ -12043,7 +12043,7 @@ func_ov00_020cd52c: ; 0x020cd52c mov r0, r0, lsl #0x1 add r2, r4, #0x18 add r3, r4, #0x24 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0x1e strh r0, [r4, #0x34] ldr r1, [r4] @@ -12059,7 +12059,7 @@ func_ov00_020cd52c: ; 0x020cd52c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _020cd624: .word data_027e0764 -_020cd628: .word data_02050f54 +_020cd628: .word gSinCosTable arm_func_end func_ov00_020cd52c .global func_ov00_020cd62c @@ -12110,17 +12110,17 @@ _020cd690: add r1, sp, #0x18 add r2, r2, #0x48 add r3, r4, #0x18 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r4] bl _ZN5Actor14ResetWallTouchEv ldr r1, [r4] add r0, r4, #0x18 add r1, r1, #0x48 add r2, sp, #0xc - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 ldr r1, _020cd8d8 ; =data_027e0764 mov r0, r0, lsl #0x10 ldr r6, [r1] @@ -12146,7 +12146,7 @@ _020cd690: str r1, [sp, #0x10] mla r7, r6, r5, r7 ldr r5, _020cd8e0 ; =0xfffff1c7 - ldr lr, _020cd8e4 ; =data_02050f54 + ldr lr, _020cd8e4 ; =gSinCosTable add r5, r7, r5 add r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 @@ -12167,7 +12167,7 @@ _020cd690: add r2, r4, #0x18 add r3, r4, #0x24 mov r0, r0, lsl #0x1 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0x1e add sp, sp, #0x24 strh r0, [r4, #0x34] @@ -12183,10 +12183,10 @@ _020cd7d4: add r2, sp, #0 add r0, r4, #0x18 add r1, r1, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 ldr r11, _020cd8d8 ; =data_027e0764 mov r0, r0, lsl #0x10 ldr r6, [r11, #8] @@ -12220,12 +12220,12 @@ _020cd7d4: mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r7, r0, lsl #0x1 - ldr r0, _020cd8e4 ; =data_02050f54 + ldr r0, _020cd8e4 ; =gSinCosTable mov r5, r7, lsl #0x1 ldrsh r6, [r0, r5] add r0, r7, #1 mov r5, r0, lsl #0x1 - ldr r0, _020cd8e4 ; =data_02050f54 + ldr r0, _020cd8e4 ; =gSinCosTable str r6, [sp] ldrsh r0, [r0, r5] add r2, r4, #0x18 @@ -12233,7 +12233,7 @@ _020cd7d4: str r0, [sp, #8] ldr r0, [r4, #0x30] mov r0, r0, lsl #0x1 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0x1e strh r0, [r4, #0x34] add sp, sp, #0x24 @@ -12242,7 +12242,7 @@ _020cd7d4: _020cd8d8: .word data_027e0764 _020cd8dc: .word 0x00001c73 _020cd8e0: .word 0xfffff1c7 -_020cd8e4: .word data_02050f54 +_020cd8e4: .word gSinCosTable arm_func_end func_ov00_020cd62c .global func_ov00_020cd8e8 @@ -12251,7 +12251,7 @@ func_ov00_020cd8e8: ; 0x020cd8e8 stmdb sp!, {r3, r4, r5, r6, r7, lr} str r1, [r0] ldrh r4, [r1, #0x78] - ldr r5, _020cd964 ; =data_02050f54 + ldr r5, _020cd964 ; =gSinCosTable ldr ip, [sp, #0x18] mov r4, r4, asr #0x4 mov r6, r4, lsl #0x1 @@ -12280,7 +12280,7 @@ func_ov00_020cd8e8: ; 0x020cd8e8 str ip, [r0, #4] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_020cd964: .word data_02050f54 +_020cd964: .word gSinCosTable arm_func_end func_ov00_020cd8e8 .global func_ov00_020cd968 @@ -12343,7 +12343,7 @@ func_ov00_020cda0c: ; 0x020cda0c add r0, sp, #0x20 add r2, sp, #0 add r1, r1, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r5, [sp, #0x30] ldr r0, [sp] mov r1, r5 @@ -12366,7 +12366,7 @@ func_ov00_020cda0c: ; 0x020cda0c str r0, [r2, #0x64] ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 ldr r1, [r4] strh r0, [r1, #0x78] add sp, sp, #0xc @@ -12395,7 +12395,7 @@ func_ov00_020cdab0: ; 0x020cdab0 add r0, r2, #0x48 add r1, r2, #0x60 add r2, r2, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r4] ldr r0, [r2, #0x64] cmp r0, #0 @@ -12405,7 +12405,7 @@ func_ov00_020cdab0: ; 0x020cdab0 mov r1, #0 strh r0, [r2, #0x9c] ldr r0, [r4] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r0, [r4] strh r5, [r0, #0x9c] ldmia sp!, {r3, r4, r5, pc} @@ -12483,7 +12483,7 @@ _020cdbbc: mov r6, r2, lsl #0x1 add r2, r6, #1 str r1, [ip] - ldr r5, _020cdca8 ; =data_02050f54 + ldr r5, _020cdca8 ; =gSinCosTable mov r6, r6, lsl #0x1 ldrsh r7, [r5, r6] mov r2, r2, lsl #0x1 @@ -12516,7 +12516,7 @@ _020cdbbc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _020cdca4: .word data_027e0764 -_020cdca8: .word data_02050f54 +_020cdca8: .word gSinCosTable arm_func_end func_ov00_020cdb34 .global func_ov00_020cdcac @@ -12551,7 +12551,7 @@ func_ov00_020cdcf8: ; 0x020cdcf8 stmdb sp!, {r4, lr} mov r4, r0 ldrh r2, [r4, #4] - ldr ip, _020cddf4 ; =data_02050f54 + ldr ip, _020cddf4 ; =gSinCosTable ldr r0, [r4] mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -12595,7 +12595,7 @@ func_ov00_020cdcf8: ; 0x020cdcf8 ldmgtia sp!, {r4, pc} ldr r0, [r1, #0xc4] ldr r1, [r1, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl func_0202bc10 @@ -12612,7 +12612,7 @@ func_ov00_020cdcf8: ; 0x020cdcf8 strh r1, [r4, #6] ldmia sp!, {r4, pc} .align 2, 0 -_020cddf4: .word data_02050f54 +_020cddf4: .word gSinCosTable arm_func_end func_ov00_020cdcf8 .global func_ov00_020cddf8 @@ -12632,7 +12632,7 @@ func_ov00_020cde0c: ; 0x020cde0c sub sp, sp, #0x4c mov r5, r0 ldrh r3, [r5, #4] - ldr r6, _020cdfc4 ; =data_02050f54 + ldr r6, _020cdfc4 ; =gSinCosTable ldr r0, [r5] mov r3, r3, asr #0x4 mov r3, r3, lsl #0x1 @@ -12684,7 +12684,7 @@ _020cdec8: bl _ZN5Actor9GetHitboxEP8Cylinder ldrsh r0, [r5, #4] mov lr, r6 - ldr r1, _020cdfc4 ; =data_02050f54 + ldr r1, _020cdfc4 ; =gSinCosTable add r0, r0, #0x2000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -12704,7 +12704,7 @@ _020cdec8: str r6, [sp, #0x24] str lr, [sp, #0x28] str ip, [sp, #0x2c] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0x30] ldr ip, [sp, #0x34] ldr r4, [sp, #0x38] @@ -12740,7 +12740,7 @@ _020cdec8: add sp, sp, #0x4c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020cdfc4: .word data_02050f54 +_020cdfc4: .word gSinCosTable _020cdfc8: .word gMapManager arm_func_end func_ov00_020cde0c @@ -12829,7 +12829,7 @@ _020ce0d8: strh r0, [r3, #0x78] _020ce0e8: ldr r0, [r4] - ldr lr, _020ce188 ; =data_02050f54 + ldr lr, _020ce188 ; =gSinCosTable ldrh r2, [r0, #0x78] mov ip, #0 mov r2, r2, asr #0x4 @@ -12869,7 +12869,7 @@ _020ce0e8: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _020ce184: .word data_027e0764 -_020ce188: .word data_02050f54 +_020ce188: .word gSinCosTable arm_func_end func_ov00_020ce030 .global func_ov00_020ce18c @@ -12884,7 +12884,7 @@ func_ov00_020ce18c: ; 0x020ce18c cmpeq r1, #0 bne _020ce230 ldr r3, _020ce27c ; =data_027e0764 - ldr ip, _020ce280 ; =data_02050f54 + ldr ip, _020ce280 ; =gSinCosTable ldr r1, [r3] ldmib r3, {r0, r2} umull r5, lr, r2, r1 @@ -12918,7 +12918,7 @@ func_ov00_020ce18c: ; 0x020ce18c ldmia sp!, {r3, r4, r5, pc} _020ce230: ldr r1, [r2, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -12926,7 +12926,7 @@ _020ce230: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _020ce280 ; =data_02050f54 + ldr r2, _020ce280 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] mov r0, r0, lsl #0x1 @@ -12938,7 +12938,7 @@ _020ce230: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020ce27c: .word data_027e0764 -_020ce280: .word data_02050f54 +_020ce280: .word gSinCosTable arm_func_end func_ov00_020ce18c .global func_ov00_020ce284 @@ -13079,22 +13079,22 @@ func_ov00_020ce440: ; 0x020ce440 mov r0, r5 mov r1, r6 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x10 add r1, sp, #0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0 mov r1, r7 - bl func_01ff9c2c + bl Vec3p_Dot rsb r1, r0, #0 str r1, [sp, #0xc] add r0, sp, #0 mov r1, r6 - bl func_01ff9c2c + bl Vec3p_Dot mov r7, r0 add r0, sp, #0 mov r1, r5 - bl func_01ff9c2c + bl Vec3p_Dot ldr r2, [sp, #0xc] sub r1, r7, r0 add r0, r0, r2 @@ -13412,7 +13412,7 @@ _020ce818: mov r4, #0 bgt _020ce84c ldr r1, _020ce8d0 ; =0x00000468 - ldr r2, _020ce8d4 ; =data_027e0f94 + ldr r2, _020ce8d4 ; =gPlayerPos mov r0, r7 sub r3, r4, #2 str r4, [sp] @@ -13422,7 +13422,7 @@ _020ce84c: cmp r0, #6 bgt _020ce870 ldr r1, _020ce8d8 ; =0x00000469 - ldr r2, _020ce8d4 ; =data_027e0f94 + ldr r2, _020ce8d4 ; =gPlayerPos mov r0, r7 sub r3, r4, #2 str r4, [sp] @@ -13430,7 +13430,7 @@ _020ce84c: b _020ce888 _020ce870: ldr r1, _020ce8dc ; =0x0000046a - ldr r2, _020ce8d4 ; =data_027e0f94 + ldr r2, _020ce8d4 ; =gPlayerPos mov r0, r7 sub r3, r4, #2 str r4, [sp] @@ -13457,7 +13457,7 @@ _020ce8c4: .word data_027e0618 _020ce8c8: .word data_ov00_020eec9c _020ce8cc: .word data_ov00_020eec68 _020ce8d0: .word 0x00000468 -_020ce8d4: .word data_027e0f94 +_020ce8d4: .word gPlayerPos _020ce8d8: .word 0x00000469 _020ce8dc: .word 0x0000046a _020ce8e0: .word 0x00000391 @@ -13536,7 +13536,7 @@ func_ov00_020ce970: ; 0x020ce970 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 - ldr r0, _020cea38 ; =data_02050f54 + ldr r0, _020cea38 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r0, [r0, r1] smull r1, r0, r2, r0 @@ -13568,14 +13568,14 @@ _020cea24: ldmia sp!, {r4, r5, pc} .align 2, 0 _020cea34: .word data_027e0f64 -_020cea38: .word data_02050f54 +_020cea38: .word gSinCosTable arm_func_end func_ov00_020ce970 .global func_ov00_020cea3c arm_func_start func_ov00_020cea3c func_ov00_020cea3c: ; 0x020cea3c mov r1, r0, asr #0x4 - ldr r0, _020cea7c ; =data_02050f54 + ldr r0, _020cea7c ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r0, [r0, r1] mov r0, r0, lsl #0x5 @@ -13592,7 +13592,7 @@ _020cea70: mov r0, r0, asr #0x18 bx lr .align 2, 0 -_020cea7c: .word data_02050f54 +_020cea7c: .word gSinCosTable arm_func_end func_ov00_020cea3c .global func_ov00_020cea80 @@ -13607,10 +13607,10 @@ func_ov00_020cea80: ; 0x020cea80 bl func_ov00_020ce914 add r0, sp, #0 mov r1, r5 - bl func_01ff9ec0 + bl Vec3p_Distance add r0, sp, #0 mov r1, r5 - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, r0 mov r0, r6 mov r2, r4 @@ -13924,7 +13924,7 @@ func_ov00_020cee58: ; 0x020cee58 _020cee80: mov r0, r7 mov r1, r9 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r6 bgt _020ceec4 cmp r5, #0 @@ -14526,7 +14526,7 @@ func_ov00_020cf42c: ; 0x020cf42c arm_func_start func_ov00_020cf444 func_ov00_020cf444: ; 0x020cf444 stmdb sp!, {r3, lr} - ldr r0, _020cf480 ; =data_027e0fb8 + ldr r0, _020cf480 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -14542,7 +14542,7 @@ _020cf478: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 -_020cf480: .word data_027e0fb8 +_020cf480: .word gPlayerControl _020cf484: .word gItemManager arm_func_end func_ov00_020cf444 @@ -15881,7 +15881,7 @@ func_ov00_020d03f8: ; 0x020d03f8 mov r2, r2, asr #0x10 mov r2, r2, lsl #0x1 add r3, r2, #1 - ldr r2, _020d045c ; =data_02050f54 + ldr r2, _020d045c ; =gSinCosTable mov r3, r3, lsl #0x1 ldrsh r2, [r2, r3] sub r1, r1, r0 @@ -15897,7 +15897,7 @@ func_ov00_020d03f8: ; 0x020d03f8 add r0, r0, r1 bx lr .align 2, 0 -_020d045c: .word data_02050f54 +_020d045c: .word gSinCosTable arm_func_end func_ov00_020d03f8 .global func_ov00_020d0460 @@ -16599,7 +16599,7 @@ _020d0cd8: str r0, [sp, #0xc] _020d0d04: ldrh r2, [sp, #0x7c] - ldr r3, _020d1048 ; =data_02050f54 + ldr r3, _020d1048 ; =gSinCosTable add r0, r4, r4, lsr #31 mov r2, r2, asr #0x4 mov r5, r2, lsl #0x1 @@ -16808,7 +16808,7 @@ _020d1038: .word data_027e0d44 _020d103c: .word 0x040004a8 _020d1040: .word 0x040004ac _020d1044: .word data_ov00_020df27c -_020d1048: .word data_02050f54 +_020d1048: .word gSinCosTable _020d104c: .word 0x04000500 _020d1050: .word 0x04000488 arm_func_end func_ov00_020d0b7c @@ -17563,7 +17563,7 @@ _020d1868: func_ov00_020d1870: ; 0x020d1870 stmdb sp!, {lr} sub sp, sp, #0xc - ldr r2, _020d18ac ; =data_027e0fe4 + ldr r2, _020d18ac ; =gActorManager str r0, [sp, #4] ldr ip, _020d18b0 ; =data_ov00_020e8b14 ldr r0, [r2] @@ -17573,11 +17573,11 @@ func_ov00_020d1870: ; 0x020d1870 mov r2, #0 str ip, [sp] strb r3, [sp, #0xa] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_020d18ac: .word data_027e0fe4 +_020d18ac: .word gActorManager _020d18b0: .word data_ov00_020e8b14 arm_func_end func_ov00_020d1870 @@ -17586,7 +17586,7 @@ _020d18b0: .word data_ov00_020e8b14 func_ov00_020d18b4: ; 0x020d18b4 stmdb sp!, {lr} sub sp, sp, #0xc - ldr r1, _020d18ec ; =data_027e0fe4 + ldr r1, _020d18ec ; =gActorManager mov r2, #0 str r0, [sp, #4] ldr r3, _020d18f0 ; =data_ov00_020e8b14 @@ -17595,11 +17595,11 @@ func_ov00_020d18b4: ; 0x020d18b4 str r3, [sp] strh r2, [sp, #8] strb r2, [sp, #0xa] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_020d18ec: .word data_027e0fe4 +_020d18ec: .word gActorManager _020d18f0: .word data_ov00_020e8b14 arm_func_end func_ov00_020d18b4 @@ -17718,7 +17718,7 @@ func_ov00_020d1a30: ; 0x020d1a30 arm_func_start func_ov00_020d1a50 func_ov00_020d1a50: ; 0x020d1a50 stmdb sp!, {r4, lr} - ldr r1, _020d1aec ; =data_027e0fe4 + ldr r1, _020d1aec ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x20 @@ -17758,7 +17758,7 @@ _020d1ad4: bl func_02037918 ldmia sp!, {r4, pc} .align 2, 0 -_020d1aec: .word data_027e0fe4 +_020d1aec: .word gActorManager arm_func_end func_ov00_020d1a50 .global func_ov00_020d1af0 @@ -17767,7 +17767,7 @@ func_ov00_020d1af0: ; 0x020d1af0 stmdb sp!, {r0, r1, r2, r3} stmdb sp!, {r4, r5, lr} sub sp, sp, #0x44 - ldr r1, _020d1d8c ; =data_027e0fe4 + ldr r1, _020d1d8c ; =gActorManager ldrb r2, [r0, #0x55] add r3, r0, #0x20 ldr r0, [r1] @@ -17944,7 +17944,7 @@ _020d1d7c: add sp, sp, #0x10 bx lr .align 2, 0 -_020d1d8c: .word data_027e0fe4 +_020d1d8c: .word gActorManager _020d1d90: .word 0x00040001 _020d1d94: .word 0x000300ff arm_func_end func_ov00_020d1af0 @@ -17961,7 +17961,7 @@ _020d1da0: .word gItemManager arm_func_start func_ov00_020d1da4 func_ov00_020d1da4: ; 0x020d1da4 stmdb sp!, {r4, lr} - ldr r1, _020d1dd0 ; =data_027e0fe4 + ldr r1, _020d1dd0 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x20 @@ -17972,7 +17972,7 @@ func_ov00_020d1da4: ; 0x020d1da4 bl func_ov00_020d29d4 ldmia sp!, {r4, pc} .align 2, 0 -_020d1dd0: .word data_027e0fe4 +_020d1dd0: .word gActorManager arm_func_end func_ov00_020d1da4 .global func_ov00_020d1dd4 @@ -18011,13 +18011,13 @@ _020d1e24: ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _020d1e4c: ldrb r1, [r9, #0x55] - ldr r0, _020d2050 ; =data_027e0fe4 + ldr r0, _020d2050 ; =gActorManager add r2, r9, #0x20 add r7, r2, r1, lsl #3 ldr r0, [r0] mov r1, r7 bl _ZN12ActorManager8GetActorEP8ActorRef - ldr r1, _020d2050 ; =data_027e0fe4 + ldr r1, _020d2050 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r9, #0x20 @@ -18096,7 +18096,7 @@ _020d1f74: mov r1, r8 str r3, [sp, #0x28] bl func_020385d0 - ldr r1, _020d205c ; =data_027e0fc8 + ldr r1, _020d205c ; =gPlayerLink str r0, [r9, #0x40] ldr r0, [r1] cmp r0, #0 @@ -18145,10 +18145,10 @@ _020d1ff8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _020d204c: .word data_027e0f64 -_020d2050: .word data_027e0fe4 +_020d2050: .word gActorManager _020d2054: .word data_027e0c68 _020d2058: .word data_ov00_020e8ae8 -_020d205c: .word data_027e0fc8 +_020d205c: .word gPlayerLink _020d2060: .word 0x434d5347 _020d2064: .word 0x4d534741 arm_func_end func_ov00_020d1dd4 @@ -18211,7 +18211,7 @@ func_ov00_020d20e8: ; 0x020d20e8 ldreqb r0, [r0, #4] cmpeq r0, #0 bne _020d2180 - ldr r0, _020d27c0 ; =data_027e0fe4 + ldr r0, _020d27c0 ; =gActorManager add r1, r7, #0x20 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -18356,7 +18356,7 @@ _020d2308: moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020d2330: - ldr r0, _020d27c0 ; =data_027e0fe4 + ldr r0, _020d27c0 ; =gActorManager ldrb r1, [r7, #0x55] add r2, r7, #0x20 ldr r0, [r0] @@ -18372,7 +18372,7 @@ _020d2330: moveq r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020d236c: - ldr r0, _020d27c0 ; =data_027e0fe4 + ldr r0, _020d27c0 ; =gActorManager ldrh r2, [r6, #4] add r1, r7, #0x20 ldr r0, [r0] @@ -18394,7 +18394,7 @@ _020d23b0: mov r0, #0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020d23bc: - ldr r0, _020d27c0 ; =data_027e0fe4 + ldr r0, _020d27c0 ; =gActorManager ldrh r1, [r6, #4] add r2, r7, #0x20 ldrh r3, [r6, #6] @@ -18436,7 +18436,7 @@ _020d2420: ldrsh r3, [r0, r1] _020d2450: ldrh r1, [r6, #4] - ldr r0, _020d27d4 ; =data_027e0fc8 + ldr r0, _020d27d4 ; =gPlayerLink ldr r0, [r0] and r1, r1, #0xff bl func_ov00_020bc320 @@ -18449,7 +18449,7 @@ _020d2478: ldrh r0, [r6, #6] ldrh r1, [r6, #4] tst r0, #0xff - ldr r0, _020d27d4 ; =data_027e0fc8 + ldr r0, _020d27d4 ; =gPlayerLink movne r2, #1 ldr r0, [r0] moveq r2, #0 @@ -18466,7 +18466,7 @@ _020d24a8: and r4, r1, #0xff ldr r1, [r2, r3, lsl #3] cmp r0, #0 - ldr r0, _020d27c0 ; =data_027e0fe4 + ldr r0, _020d27c0 ; =gActorManager str r1, [sp] add r2, r2, r3, lsl #3 ldr r2, [r2, #4] @@ -18619,7 +18619,7 @@ _020d26e0: mov r0, #2 ldmia sp!, {r3, r4, r5, r6, r7, pc} _020d26ec: - ldr r0, _020d27d4 ; =data_027e0fc8 + ldr r0, _020d27d4 ; =gPlayerLink ldr r1, [r6, #4] ldr r0, [r0] bl func_ov00_020bc2d4 @@ -18677,12 +18677,12 @@ _020d27a8: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _020d27bc: .word data_027e0c68 -_020d27c0: .word data_027e0fe4 +_020d27c0: .word gActorManager _020d27c4: .word data_ov00_020e8ae8 _020d27c8: .word gAdventureFlags _020d27cc: .word data_ov00_020df28c _020d27d0: .word data_ov00_020df28c -_020d27d4: .word data_027e0fc8 +_020d27d4: .word gPlayerLink _020d27d8: .word gItemManager _020d27dc: .word data_027e0f64 _020d27e0: .word data_ov00_020df294 @@ -18695,7 +18695,7 @@ _020d27ec: .word 0x00007fff arm_func_start func_ov00_020d27f0 func_ov00_020d27f0: ; 0x020d27f0 stmdb sp!, {r4, lr} - ldr r1, _020d281c ; =data_027e0fe4 + ldr r1, _020d281c ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x20 @@ -18706,14 +18706,14 @@ func_ov00_020d27f0: ; 0x020d27f0 bl func_ov00_020d29d4 ldmia sp!, {r4, pc} .align 2, 0 -_020d281c: .word data_027e0fe4 +_020d281c: .word gActorManager arm_func_end func_ov00_020d27f0 .global func_ov00_020d2820 arm_func_start func_ov00_020d2820 func_ov00_020d2820: ; 0x020d2820 stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r2, _020d28b0 ; =data_027e0fe4 + ldr r2, _020d28b0 ; =gActorManager mov r4, r0 ldr r0, [r2] mov r5, r1 @@ -18725,7 +18725,7 @@ func_ov00_020d2820: ; 0x020d2820 blx r2 cmp r0, #0 beq _020d28a8 - ldr r6, _020d28b0 ; =data_027e0fe4 + ldr r6, _020d28b0 ; =gActorManager add r8, r4, #0x28 mov r7, #1 mvn r5, #0 @@ -18752,7 +18752,7 @@ _020d28a8: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_020d28b0: .word data_027e0fe4 +_020d28b0: .word gActorManager arm_func_end func_ov00_020d2820 .global func_ov00_020d28b4 @@ -18762,7 +18762,7 @@ func_ov00_020d28b4: ; 0x020d28b4 sub sp, sp, #0x28 mov r8, r0 strb r1, [r8, #0x55] - ldr r0, _020d29cc ; =data_027e0fe4 + ldr r0, _020d29cc ; =gActorManager add r2, r8, #0x20 and r1, r1, #0xff add r6, r2, r1, lsl #3 @@ -18774,7 +18774,7 @@ func_ov00_020d28b4: ; 0x020d28b4 ldr r2, [r2, #0x34] mov r4, r0 blx r2 - ldr r10, _020d29cc ; =data_027e0fe4 + ldr r10, _020d29cc ; =gActorManager add r7, r8, #0x20 mov r5, #0 mvn r9, #0 @@ -18832,7 +18832,7 @@ _020d29c0: add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_020d29cc: .word data_027e0fe4 +_020d29cc: .word gActorManager _020d29d0: .word data_027e0f64 arm_func_end func_ov00_020d28b4 @@ -18973,7 +18973,7 @@ _020d2ba8: mov r0, r4 mov r1, #0 bl _ZN5Actor10SetUnk_11cEc - ldr r7, _020d2c14 ; =data_027e0fe4 + ldr r7, _020d2c14 ; =gActorManager add r5, r6, #0x28 mov r4, #1 mvn r8, #0 @@ -19000,7 +19000,7 @@ _020d2bfc: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_020d2c14: .word data_027e0fe4 +_020d2c14: .word gActorManager arm_func_end func_ov00_020d2b78 .global func_ov00_020d2c18 @@ -19391,7 +19391,7 @@ func_ov00_020d30b0: ; 0x020d30b0 add r0, sp, #0 mov r5, r1 bl func_02037628 - ldr r0, _020d3128 ; =data_027e0fe4 + ldr r0, _020d3128 ; =gActorManager add r1, r4, #0x20 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -19417,7 +19417,7 @@ _020d30f8: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020d3128: .word data_027e0fe4 +_020d3128: .word gActorManager _020d312c: .word data_027e0c68 arm_func_end func_ov00_020d30b0 @@ -19632,7 +19632,7 @@ _020d3360: .word func_ov00_020d3988 func_ov00_020d3364: ; 0x020d3364 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0xb0 - ldr r1, _020d34c4 ; =data_027e0fc8 + ldr r1, _020d34c4 ; =gPlayerLink mov r4, r0 ldr r0, [r1] ldrh r5, [r4, #0x22] @@ -19724,7 +19724,7 @@ _020d34b8: add sp, sp, #0xb0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020d34c4: .word data_027e0fc8 +_020d34c4: .word gPlayerLink _020d34c8: .word data_027e0d38 _020d34cc: .word data_027e10a4 _020d34d0: .word gAdventureFlags @@ -19867,7 +19867,7 @@ func_ov00_020d3638: ; 0x020d3638 tst r0, #4 addeq sp, sp, #0xc ldmeqia sp!, {pc} - ldr r0, _020d3690 ; =data_027e0fe4 + ldr r0, _020d3690 ; =gActorManager ldrb r2, [r1, #0x55] add r1, r1, #0x20 ldr r0, [r0] @@ -19877,15 +19877,15 @@ func_ov00_020d3638: ; 0x020d3638 add r1, sp, #0 ldr r2, [r2, #0x34] blx r2 - ldr r0, _020d3694 ; =data_027e0fc8 + ldr r0, _020d3694 ; =gPlayerLink add r1, sp, #0 ldr r0, [r0] bl func_ov00_020bb68c add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_020d3690: .word data_027e0fe4 -_020d3694: .word data_027e0fc8 +_020d3690: .word gActorManager +_020d3694: .word gPlayerLink arm_func_end func_ov00_020d3638 .global func_ov00_020d3698 @@ -19896,7 +19896,7 @@ func_ov00_020d3698: ; 0x020d3698 ldr r0, [r4] tst r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _020d36d4 ; =data_027e0fe4 + ldr r0, _020d36d4 ; =gActorManager add r1, r1, #0x20 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -19907,14 +19907,14 @@ func_ov00_020d3698: ; 0x020d3698 strne r0, [r4] ldmia sp!, {r4, pc} .align 2, 0 -_020d36d4: .word data_027e0fe4 +_020d36d4: .word gActorManager arm_func_end func_ov00_020d3698 .global func_ov00_020d36d8 arm_func_start func_ov00_020d36d8 func_ov00_020d36d8: ; 0x020d36d8 stmdb sp!, {r4, r5, r6, lr} - ldr r3, _020d37c8 ; =data_027e0fe4 + ldr r3, _020d37c8 ; =gActorManager mov r5, r0 mov r6, r1 ldr r0, [r3] @@ -19943,9 +19943,9 @@ _020d372c: cmp r1, #0 movne r0, #0 ldmneia sp!, {r4, r5, r6, pc} - ldr r1, _020d37cc ; =data_027e0f94 + ldr r1, _020d37cc ; =gPlayerPos add r0, r0, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, [r5] tst r1, #4 movne r2, #1 @@ -19978,8 +19978,8 @@ _020d37c0: mvn r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_020d37c8: .word data_027e0fe4 -_020d37cc: .word data_027e0f94 +_020d37c8: .word gActorManager +_020d37cc: .word gPlayerPos _020d37d0: .word data_ov00_020df2e0 _020d37d4: .word data_ov00_020df2ec arm_func_end func_ov00_020d36d8 @@ -20170,7 +20170,7 @@ func_ov00_020d3974: ; 0x020d3974 arm_func_start func_ov00_020d3988 func_ov00_020d3988: ; 0x020d3988 mov ip, #0 - ldr r1, _020d3a00 ; =data_027e0d0c + ldr r1, _020d3a00 ; =gVec3p_ZERO str ip, [r0, #0x6c] ldr r2, [r1] sub r3, ip, #1 @@ -20200,7 +20200,7 @@ func_ov00_020d3988: ; 0x020d3988 mov r0, #1 bx lr .align 2, 0 -_020d3a00: .word data_027e0d0c +_020d3a00: .word gVec3p_ZERO arm_func_end func_ov00_020d3988 .global func_ov00_020d3a04 @@ -20234,7 +20234,7 @@ _020d3a4c: cmp r0, #0 beq _020d3afc _020d3a6c: - ldr r0, _020d3b0c ; =data_027e0f90 + ldr r0, _020d3b0c ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -20277,7 +20277,7 @@ _020d3afc: .align 2, 0 _020d3b04: .word gMapManager _020d3b08: .word gAdventureFlags -_020d3b0c: .word data_027e0f90 +_020d3b0c: .word gPlayer _020d3b10: .word data_027e077c _020d3b14: .word data_027e0d38 _020d3b18: .word data_027e10a4 @@ -20420,7 +20420,7 @@ func_ov00_020d3ca8: ; 0x020d3ca8 stmdb sp!, {r3, lr} mov r1, #1 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, #1 ldmia sp!, {r3, pc} arm_func_end func_ov00_020d3ca8 @@ -20462,7 +20462,7 @@ _020d3d1c: add r2, r2, #8 cmp r2, r0 blo _020d3d1c - ldr r0, _020d3e20 ; =data_027e0fe4 + ldr r0, _020d3e20 ; =gActorManager add ip, sp, #0x10 ldr r0, [r0] mov r5, #0x20 @@ -20472,12 +20472,12 @@ _020d3d1c: str ip, [sp, #4] str r5, [sp, #8] str r3, [sp, #0xc] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mov r6, r0 cmp r6, #0 mov r7, #0 ble _020d3e10 - ldr r5, _020d3e20 ; =data_027e0fe4 + ldr r5, _020d3e20 ; =gActorManager mov r8, r7 _020d3d74: ldr r1, [sp, #4] @@ -20530,7 +20530,7 @@ _020d3e10: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _020d3e1c: .word data_ov00_020e8df0 -_020d3e20: .word data_027e0fe4 +_020d3e20: .word gActorManager _020d3e24: .word 0x4d534741 _020d3e28: .word 0x434d5347 _020d3e2c: .word 0x4e434d41 @@ -20899,7 +20899,7 @@ _020d423c: .word gItemManager arm_func_start func_ov00_020d4240 func_ov00_020d4240: ; 0x020d4240 stmdb sp!, {r4, lr} - ldr r1, _020d4280 ; =data_027e0fc8 + ldr r1, _020d4280 ; =gPlayerLink mov r4, r0 ldr r0, [r1] cmp r0, #0 @@ -20916,7 +20916,7 @@ _020d4274: bl func_ov00_020d3c80 ldmia sp!, {r4, pc} .align 2, 0 -_020d4280: .word data_027e0fc8 +_020d4280: .word gPlayerLink _020d4284: .word gAdventureFlags arm_func_end func_ov00_020d4240 @@ -20926,7 +20926,7 @@ func_ov00_020d4288: ; 0x020d4288 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov00_020d3ca8 - ldr r0, _020d42e0 ; =data_027e0fc8 + ldr r0, _020d42e0 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _020d42d8 @@ -20949,7 +20949,7 @@ _020d42d8: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_020d42e0: .word data_027e0fc8 +_020d42e0: .word gPlayerLink arm_func_end func_ov00_020d4288 .global func_ov00_020d42e4 @@ -21440,12 +21440,12 @@ func_ov00_020d4880: ; 0x020d4880 add r0, r5, #0x158 add r1, r5, #0x164 add r6, r3, #0x800 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r5, #0x170] add r1, sp, #0 add r2, r5, #0x164 add r3, r5, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r5, #0x4c] cmp r4, #0 add r0, r0, r6, asr #12 @@ -21503,8 +21503,8 @@ _020d4998: beq _020d4a44 cmp r0, #0 beq _020d4a84 - ldr r0, _020d4aa4 ; =data_027e0fac - ldr r1, _020d4aa8 ; =data_027e0f94 + ldr r0, _020d4aa4 ; =gPlayerAngle + ldr r1, _020d4aa8 ; =gPlayerPos ldrsh r2, [r0] mov r0, r5 strh r2, [r5, #0x78] @@ -21516,7 +21516,7 @@ _020d4998: add r1, r1, #0x29 str r1, [r5, #0x90] bl _ZN5Actor18func_ov00_020c195cEv - ldr r1, _020d4aac ; =data_027e0fc8 + ldr r1, _020d4aac ; =gPlayerLink ldr r0, _020d4ab0 ; =data_027e0fd4 ldr r6, [r1] ldr r1, [r0] @@ -21568,9 +21568,9 @@ _020d4a8c: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_020d4aa4: .word data_027e0fac -_020d4aa8: .word data_027e0f94 -_020d4aac: .word data_027e0fc8 +_020d4aa4: .word gPlayerAngle +_020d4aa8: .word gPlayerPos +_020d4aac: .word gPlayerLink _020d4ab0: .word data_027e0fd4 _020d4ab4: .word 0x0000019a arm_func_end func_ov00_020d4964 @@ -21593,7 +21593,7 @@ func_ov00_020d4ac4: ; 0x020d4ac4 cmp r2, #0 beq _020d4af0 bl _ZN5Actor18func_ov00_020c195cEv - ldr r0, _020d4b4c ; =data_027e0fac + ldr r0, _020d4b4c ; =gPlayerAngle ldrsh r0, [r0] strh r0, [r5, #0x78] b _020d4b38 @@ -21624,7 +21624,7 @@ _020d4b38: bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020d4b4c: .word data_027e0fac +_020d4b4c: .word gPlayerAngle _020d4b50: .word 0x0000019a arm_func_end func_ov00_020d4ac4 @@ -21656,9 +21656,9 @@ func_ov00_020d4b54: ; 0x020d4b54 str r4, [sp, #0x50] ldr r3, [r10, #0x5c] str r3, [sp, #0x54] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x40 - bl func_01ff9cec + bl Vec3p_Length add r1, sp, #0x4c mov r9, r0 add r11, sp, #4 @@ -21691,7 +21691,7 @@ _020d4c28: mov r1, r6 mov r2, r11 mov r3, r11 - bl func_01ff9e64 + bl Vec3p_Axpy sub r9, r9, r8 b _020d4c64 _020d4c4c: @@ -21699,7 +21699,7 @@ _020d4c4c: mov r1, r6 mov r2, r11 mov r3, r11 - bl func_01ff9e64 + bl Vec3p_Axpy mov r9, #0 _020d4c64: ldr r1, [sp, #0x28] @@ -21717,7 +21717,7 @@ _020d4c64: ldr r2, [sp, #0x3c] str r2, [r10, #0x5c] str r5, [r4, #0x18] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r1, [r4, #0x18] mov r7, r0 sub r0, r1, #1 @@ -21896,10 +21896,10 @@ func_ov00_020d4ee0: ; 0x020d4ee0 mov r4, r1 mov r5, r0 mov r0, r4 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x29 ble _020d4f3c - ldr r0, _020d4f7c ; =data_027e0f94 + ldr r0, _020d4f7c ; =gPlayerPos ldr r2, [r5, #0x4c] ldr r1, [r0] str r1, [r5, #0x48] @@ -21916,7 +21916,7 @@ func_ov00_020d4ee0: ; 0x020d4ee0 str r0, [r5, #0x5c] b _020d4f60 _020d4f3c: - ldr r0, _020d4f7c ; =data_027e0f94 + ldr r0, _020d4f7c ; =gPlayerPos ldr r1, [r0] str r1, [r5, #0x54] ldr r1, [r0, #4] @@ -21934,7 +21934,7 @@ _020d4f60: moveq r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020d4f7c: .word data_027e0f94 +_020d4f7c: .word gPlayerPos arm_func_end func_ov00_020d4ee0 .global func_ov00_020d4f80 @@ -21948,7 +21948,7 @@ func_ov00_020d4f80: ; 0x020d4f80 addne sp, sp, #0x38 ldmneia sp!, {r3, r4, r5, pc} add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r5 ldr r1, [r0] ldr r4, [r5, #4] @@ -21987,7 +21987,7 @@ func_ov00_020d4ff8: ; 0x020d4ff8 moveq r6, #1 add r0, sp, #0x24 movne r6, #0 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r4 ldr r1, [r0] ldr r5, [r4, #4] @@ -22021,7 +22021,7 @@ func_ov00_020d507c: ; 0x020d507c bl _ZN5Actor16IsFollowedByLinkEv cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _020d50f0 ; =data_027e0f94 + ldr r0, _020d50f0 ; =gPlayerPos ldr r1, [r4, #0x4c] ldr r0, [r0, #4] sub ip, r1, r0 @@ -22045,7 +22045,7 @@ func_ov00_020d507c: ; 0x020d507c str r0, [r4, #0x88] ldmia sp!, {r4, pc} .align 2, 0 -_020d50f0: .word data_027e0f94 +_020d50f0: .word gPlayerPos _020d50f4: .word 0x000004cd arm_func_end func_ov00_020d507c @@ -31274,7 +31274,7 @@ data_ov00_020e8478: ; 0x020e8478 .word func_ov00_020c9bd4 .global data_ov00_020e847c data_ov00_020e847c: ; 0x020e847c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e8480 data_ov00_020e8480: ; 0x020e8480 .word func_ov00_020c9be8 @@ -31304,10 +31304,10 @@ data_ov00_020e84a0: ; 0x020e84a0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e84a4 data_ov00_020e84a4: ; 0x020e84a4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e84a8 data_ov00_020e84a8: ; 0x020e84a8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e84ac data_ov00_020e84ac: ; 0x020e84ac .word _ZN5Actor8vfunc_4cEPi @@ -31512,7 +31512,7 @@ data_ov00_020e85f0: ; 0x020e85f0 .word func_ov00_020ca148 .global data_ov00_020e85f4 data_ov00_020e85f4: ; 0x020e85f4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e85f8 data_ov00_020e85f8: ; 0x020e85f8 .word func_ov00_020ca15c @@ -31542,10 +31542,10 @@ data_ov00_020e8618: ; 0x020e8618 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e861c data_ov00_020e861c: ; 0x020e861c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e8620 data_ov00_020e8620: ; 0x020e8620 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e8624 data_ov00_020e8624: ; 0x020e8624 .word _ZN5Actor8vfunc_4cEPi @@ -31734,7 +31734,7 @@ data_ov00_020e8718: ; 0x020e8718 .word _ZN5Actor8vfunc_18Ej .global data_ov00_020e871c data_ov00_020e871c: ; 0x020e871c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e8720 data_ov00_020e8720: ; 0x020e8720 .word _ZN5Actor8vfunc_20Ei @@ -31764,10 +31764,10 @@ data_ov00_020e8740: ; 0x020e8740 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e8744 data_ov00_020e8744: ; 0x020e8744 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e8748 data_ov00_020e8748: ; 0x020e8748 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e874c data_ov00_020e874c: ; 0x020e874c .word _ZN5Actor8vfunc_4cEPi @@ -31875,7 +31875,7 @@ data_ov00_020e87d4: ; 0x020e87d4 .word func_ov00_020cad30 .global data_ov00_020e87d8 data_ov00_020e87d8: ; 0x020e87d8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e87dc data_ov00_020e87dc: ; 0x020e87dc .word func_ov00_020cb1c0 @@ -31905,7 +31905,7 @@ data_ov00_020e87fc: ; 0x020e87fc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e8800 data_ov00_020e8800: ; 0x020e8800 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e8804 data_ov00_020e8804: ; 0x020e8804 .word func_ov00_020caeb4 @@ -32627,7 +32627,7 @@ data_ov00_020e8bb8: ; 0x020e8bb8 .word func_ov00_020d3b44 .global data_ov00_020e8bbc data_ov00_020e8bbc: ; 0x020e8bbc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e8bc0 data_ov00_020e8bc0: ; 0x020e8bc0 .word _ZN5Actor8vfunc_20Ei @@ -32657,10 +32657,10 @@ data_ov00_020e8be0: ; 0x020e8be0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e8be4 data_ov00_020e8be4: ; 0x020e8be4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e8be8 data_ov00_020e8be8: ; 0x020e8be8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e8bec data_ov00_020e8bec: ; 0x020e8bec .word _ZN5Actor8vfunc_4cEPi @@ -32834,7 +32834,7 @@ data_ov00_020e8ccc: ; 0x020e8ccc .word func_ov00_020d3b44 .global data_ov00_020e8cd0 data_ov00_020e8cd0: ; 0x020e8cd0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e8cd4 data_ov00_020e8cd4: ; 0x020e8cd4 .word _ZN5Actor8vfunc_20Ei @@ -32864,10 +32864,10 @@ data_ov00_020e8cf4: ; 0x020e8cf4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e8cf8 data_ov00_020e8cf8: ; 0x020e8cf8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e8cfc data_ov00_020e8cfc: ; 0x020e8cfc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e8d00 data_ov00_020e8d00: ; 0x020e8d00 .word _ZN5Actor8vfunc_4cEPi @@ -33080,7 +33080,7 @@ data_ov00_020e8e14: ; 0x020e8e14 .word func_ov00_020d3b44 .global data_ov00_020e8e18 data_ov00_020e8e18: ; 0x020e8e18 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e8e1c data_ov00_020e8e1c: ; 0x020e8e1c .word _ZN5Actor8vfunc_20Ei @@ -33110,10 +33110,10 @@ data_ov00_020e8e3c: ; 0x020e8e3c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e8e40 data_ov00_020e8e40: ; 0x020e8e40 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e8e44 data_ov00_020e8e44: ; 0x020e8e44 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e8e48 data_ov00_020e8e48: ; 0x020e8e48 .word _ZN5Actor8vfunc_4cEPi @@ -33435,7 +33435,7 @@ data_ov00_020e8fd8: ; 0x020e8fd8 .word func_ov00_020d40d8 .global data_ov00_020e8fdc data_ov00_020e8fdc: ; 0x020e8fdc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e8fe0 data_ov00_020e8fe0: ; 0x020e8fe0 .word _ZN5Actor8vfunc_20Ei @@ -33465,10 +33465,10 @@ data_ov00_020e9000: ; 0x020e9000 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e9004 data_ov00_020e9004: ; 0x020e9004 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e9008 data_ov00_020e9008: ; 0x020e9008 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e900c data_ov00_020e900c: ; 0x020e900c .word _ZN5Actor8vfunc_4cEPi @@ -33710,10 +33710,10 @@ data_ov00_020e913c: ; 0x020e913c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e9140 data_ov00_020e9140: ; 0x020e9140 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e9144 data_ov00_020e9144: ; 0x020e9144 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e9148 data_ov00_020e9148: ; 0x020e9148 .word _ZN5Actor8vfunc_4cEPi @@ -33853,7 +33853,7 @@ data_ov00_020e9200: ; 0x020e9200 .word func_ov00_020d58ac .global data_ov00_020e9204 data_ov00_020e9204: ; 0x020e9204 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov00_020e9208 data_ov00_020e9208: ; 0x020e9208 .word func_ov00_020d58c0 @@ -33883,10 +33883,10 @@ data_ov00_020e9228: ; 0x020e9228 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov00_020e922c data_ov00_020e922c: ; 0x020e922c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov00_020e9230 data_ov00_020e9230: ; 0x020e9230 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov00_020e9234 data_ov00_020e9234: ; 0x020e9234 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov00/ov00_020d59f0.inc b/asm/ov00/ov00_020d59f0.inc index 8d9d15e0..74ceb089 100644 --- a/asm/ov00/ov00_020d59f0.inc +++ b/asm/ov00/ov00_020d59f0.inc @@ -100,7 +100,7 @@ func_ov00_020d5a68: ; 0x020d5a68 mov r2, r4, asr #0x4 add r0, r1, #0x800 mov r0, r0, asr #0x10 - ldr r1, _020d5c4c ; =data_02050f54 + ldr r1, _020d5c4c ; =gSinCosTable mov r2, r2, lsl #0x2 mov r0, r0, lsl #0x2 ldrsh r6, [r1, r2] @@ -110,7 +110,7 @@ func_ov00_020d5a68: ; 0x020d5a68 mul r1, r7, r4 add r1, r1, #0x800 mov r1, r1, asr #0x10 - ldr r2, _020d5c4c ; =data_02050f54 + ldr r2, _020d5c4c ; =gSinCosTable mov r3, r1, lsl #0x2 mov r1, r6 mov r4, r0 @@ -160,7 +160,7 @@ _020d5bac: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 arm_func_end func_ov00_020d5a68 -_020d5c4c: .word data_02050f54 +_020d5c4c: .word gSinCosTable .global func_ov00_020d5c50 arm_func_start func_ov00_020d5c50 @@ -441,7 +441,7 @@ _020d5ff8: beq _020d6108 add r0, sp, #0xc mov r1, r4 - bl func_01ff9c2c + bl Vec3p_Dot add r0, r0, #0x1000 mov r0, r0, lsl #0x1 bl func_01ff9958 @@ -449,7 +449,7 @@ _020d5ff8: add r0, sp, #0xc add r1, sp, #0x18 add r2, sp, #0 - bl func_01ff9c68 + bl Vec3p_Cross cmp r4, #0 rsblt r0, r4, #0 movge r0, r4 diff --git a/asm/ov02.inc b/asm/ov02.inc index afd888d4..caaa810e 100644 --- a/asm/ov02.inc +++ b/asm/ov02.inc @@ -17,7 +17,7 @@ .extern _ZNK11ItemManager21HasTreasurePriceShownEj .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02057200 .extern data_020691a0 .extern data_027e037c @@ -29,7 +29,7 @@ .extern data_027e077c .extern data_027e0c68 .extern data_027e0cbc -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d44 .extern data_027e0d78 .extern data_027e0f88 @@ -54,7 +54,7 @@ .extern func_01ff8690 .extern func_01ff9b4c .extern func_01ff9b88 -.extern func_01ff9bc4 +.extern Vec3p_Add .extern func_01ffa9fc .extern func_01ffbe34 .extern func_02002c14 diff --git a/asm/ov02.s b/asm/ov02.s index 2c6d5bfd..0bfa0684 100644 --- a/asm/ov02.s +++ b/asm/ov02.s @@ -5249,7 +5249,7 @@ func_ov02_020f30f8: ; 0x020f30f8 strh r2, [r4, #0x16] ldrsh r1, [r4, #0x16] ldrsh ip, [r4, #0x14] - ldr r0, _020f31ec ; =data_02050f54 + ldr r0, _020f31ec ; =gSinCosTable add r1, r1, r1, lsr #31 mov r2, r1, lsl #0xf add r1, ip, ip, lsr #31 @@ -5300,7 +5300,7 @@ func_ov02_020f30f8: ; 0x020f30f8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020f31e8: .word data_ov09_0211f530 -_020f31ec: .word data_02050f54 +_020f31ec: .word gSinCosTable arm_func_end func_ov02_020f30f8 .global func_ov02_020f31f0 @@ -5342,7 +5342,7 @@ func_ov02_020f3228: ; 0x020f3228 add r0, r4, #4 bl func_ov00_020d5cd8 ldr r0, [r4] - ldr r2, _020f3264 ; =data_027e0d0c + ldr r2, _020f3264 ; =gVec3p_ZERO ldr ip, [r0] add r1, sp, #0 ldr ip, [ip, #0xc] @@ -5351,7 +5351,7 @@ func_ov02_020f3228: ; 0x020f3228 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_020f3264: .word data_027e0d0c +_020f3264: .word gVec3p_ZERO arm_func_end func_ov02_020f3228 .global func_ov02_020f3268 @@ -5538,11 +5538,11 @@ _020f34a8: add r0, r5, #0x158 add r1, r5, #0x14c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x188 add r1, r5, #0x17c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _020f34c8: mov r0, r5 ldr r1, [r0] @@ -5574,7 +5574,7 @@ func_ov02_020f34e8: ; 0x020f34e8 ldr r1, _020f35d4 ; =data_027e0384 str r2, [sp, #8] str r1, [sp, #0xc] - ldr r2, _020f35d8 ; =data_02050f54 + ldr r2, _020f35d8 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r0, lsl #0x1 ldrsh r0, [r2, r3] @@ -5619,7 +5619,7 @@ func_ov02_020f34e8: ; 0x020f34e8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _020f35d4: .word data_027e0384 -_020f35d8: .word data_02050f54 +_020f35d8: .word gSinCosTable _020f35dc: .word data_027e037c _020f35e0: .word data_027e03c8 arm_func_end func_ov02_020f34e8 @@ -8950,7 +8950,7 @@ func_ov02_020f6324: ; 0x020f6324 addlt sp, sp, #0x54 ldmltia sp!, {r3, r4, pc} ldrh r1, [r4, #0x20] - ldr r3, _020f6428 ; =data_02050f54 + ldr r3, _020f6428 ; =gSinCosTable add r0, sp, #0x30 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8961,7 +8961,7 @@ func_ov02_020f6324: ; 0x020f6324 ldrsh r2, [r3, r2] blx func_01ff8230 ldrh r1, [r4, #0x1c] - ldr r3, _020f6428 ; =data_02050f54 + ldr r3, _020f6428 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8977,7 +8977,7 @@ func_ov02_020f6324: ; 0x020f6324 bl func_01ff8690 ldrh r2, [r4, #0x22] ldrh r1, [r4, #0x1e] - ldr r3, _020f6428 ; =data_02050f54 + ldr r3, _020f6428 ; =gSinCosTable add r0, sp, #0xc add r1, r2, r1 mov r1, r1, lsl #0x10 @@ -9008,7 +9008,7 @@ func_ov02_020f6324: ; 0x020f6324 add sp, sp, #0x54 ldmia sp!, {r3, r4, pc} .align 2, 0 -_020f6428: .word data_02050f54 +_020f6428: .word gSinCosTable arm_func_end func_ov02_020f6324 .global func_ov02_020f642c diff --git a/asm/ov03.inc b/asm/ov03.inc index 79cbd34f..2ee5dcc4 100644 --- a/asm/ov03.inc +++ b/asm/ov03.inc @@ -1,6 +1,25 @@ #pragma once +.extern Atan2 .extern Divide .extern FastDivide +.extern _ZN10MapManager13GetCourseMaxXEv +.extern _ZN10MapManager13GetCourseMaxZEv +.extern _ZN10MapManager13GetCourseMinXEv +.extern _ZN10MapManager13GetCourseMinZEv +.extern _ZN10MapManager18func_ov00_02082614Eii +.extern _ZN10MapManager18func_ov00_02082accEv +.extern _ZN10MapManager18func_ov00_02082d08Ev +.extern _ZN10MapManager18func_ov00_02082d40Ev +.extern _ZN10MapManager18func_ov00_02082d74Ei +.extern _ZN10MapManager18func_ov00_0208306cEv +.extern _ZN10MapManager18func_ov00_0208315cEPiS0_ +.extern _ZN10MapManager18func_ov00_02083588Ev +.extern _ZN10MapManager18func_ov00_020835a4Ev +.extern _ZN10MapManager18func_ov00_020835b4Ev +.extern _ZN10MapManager18func_ov00_020835c4Eii +.extern _ZN10MapManager18func_ov00_020835f4Ei +.extern _ZN10MapManager18func_ov00_020836ccEjP4AABBj +.extern _ZN10MapManager18func_ov00_020849c0Ev .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager18func_ov00_020ad790Ei .extern _ZN14AdventureFlags18func_Ov00_02097810Ei @@ -13,7 +32,7 @@ .extern _ZN14OverlayManager6UnloadEj .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -22,13 +41,13 @@ .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -52,14 +71,15 @@ .extern _ZN5Actor8vfunc_b0Ev .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN9ActorTypeC1EjPFP5ActorvEPFivE +.extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj +.extern _ZNK11ItemManager10GetNumKeysEv .extern _ZNK11ItemManager15GetEquippedItemEv .extern _ZNK11ItemManager16GetEquippedFairyEv -.extern _ZNK11ItemManager10GetNumKeysEv .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 .extern data_02056be4 .extern data_02057b18 .extern data_020683f4 @@ -93,15 +113,10 @@ .extern data_027e0e28 .extern data_027e0e2c .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f7c .extern data_027e0f84 .extern data_027e0f88 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fe0 .extern data_027e103c .extern data_027e1044 @@ -128,7 +143,6 @@ .extern func_01ff9b24 .extern func_01ff9b4c .extern func_01ff9b88 -.extern func_01ffa0f4 .extern func_01ffa8d4 .extern func_01ffb7ec .extern func_01ffbe34 @@ -221,8 +235,6 @@ .extern func_0203d77c .extern func_0203d7b8 .extern func_0203d7e0 -.extern _ZN9ActorTypeC1EjPFP5ActorvEPFivE -.extern _ZN9ActorTypeD1Ev .extern func_0203eadc .extern func_0203eba8 .extern func_0203ebc8 @@ -266,24 +278,6 @@ .extern func_ov00_0207c0ac .extern func_ov00_0207c0cc .extern func_ov00_0207c5b0 -.extern _ZN10MapManager18func_ov00_02082614Eii -.extern _ZN10MapManager18func_ov00_02082accEv -.extern _ZN10MapManager18func_ov00_02082d08Ev -.extern _ZN10MapManager18func_ov00_02082d40Ev -.extern _ZN10MapManager18func_ov00_02082d74Ei -.extern _ZN10MapManager18func_ov00_0208306cEv -.extern _ZN10MapManager18func_ov00_0208315cEPiS0_ -.extern _ZN10MapManager13GetCourseMinXEv -.extern _ZN10MapManager13GetCourseMinZEv -.extern _ZN10MapManager13GetCourseMaxXEv -.extern _ZN10MapManager13GetCourseMaxZEv -.extern _ZN10MapManager18func_ov00_02083588Ev -.extern _ZN10MapManager18func_ov00_020835a4Ev -.extern _ZN10MapManager18func_ov00_020835b4Ev -.extern _ZN10MapManager18func_ov00_020835c4Eii -.extern _ZN10MapManager18func_ov00_020835f4Ei -.extern _ZN10MapManager18func_ov00_020836ccEjP4AABBj -.extern _ZN10MapManager18func_ov00_020849c0Ev .extern func_ov00_0208b180 .extern func_ov00_0208b694 .extern func_ov00_0208b698 @@ -500,7 +494,13 @@ .extern func_ov52_02196198 .extern gAdventureFlags .extern gItemManager +.extern gMapManager .extern gOverlayManager +.extern gPlayer +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable .extern strcat .extern strcmp .extern strcpy diff --git a/asm/ov03.s b/asm/ov03.s index 4ef6cdd3..8865f58e 100644 --- a/asm/ov03.s +++ b/asm/ov03.s @@ -1055,7 +1055,7 @@ _020ef474: add r2, r7, #0 ldrsh r2, [r6, r2] sub r1, r1, r2 - blx func_01ffa0f4 + blx Atan2 str r0, [sp, #0x5c] b _020ef524 _020ef4b8: @@ -1114,7 +1114,7 @@ _020ef50e: ldrsh r2, [r5, r1] ldr r1, [sp, #0xc] sub r1, r2, r1 - blx func_01ffa0f4 + blx Atan2 str r0, [sp, #0x5c] _020ef524: ldr r0, [sp, #0x40] @@ -1180,7 +1180,7 @@ _020ef58e: ldrsh r2, [r5, r1] ldr r1, [sp, #4] sub r1, r2, r1 - blx func_01ffa0f4 + blx Atan2 str r0, [sp, #0x5c] b _020ef5e4 _020ef5a6: @@ -1209,7 +1209,7 @@ _020ef5a6: ldrsh r2, [r5, r2] sub r1, r3, r1 sub r0, r0, r2 - blx func_01ffa0f4 + blx Atan2 str r0, [sp, #0x5c] b _020ef5e4 _020ef5e0: @@ -2205,7 +2205,7 @@ _020efcc6: lsl r0, r0, #0xc sub r1, r1, r2 lsl r1, r1, #0xc - blx func_01ffa0f4 + blx Atan2 str r0, [sp, #0x1c] b _020efdee _020efce6: @@ -2264,7 +2264,7 @@ _020efd1a: lsl r0, r0, #0xc sub r1, r2, r1 lsl r1, r1, #0xc - blx func_01ffa0f4 + blx Atan2 ldr r1, [sp, #0x1c] sub r0, r1, r0 lsl r0, r0, #0x10 @@ -2285,7 +2285,7 @@ _020efd5c: lsl r0, r0, #0xc sub r1, r2, r1 lsl r1, r1, #0xc - blx func_01ffa0f4 + blx Atan2 str r0, [sp, #0x1c] lsl r0, r5, #1 strh r6, [r7, r0] @@ -2297,7 +2297,7 @@ _020efd82: _020efd88: lsl r0, r2, #0xc lsl r1, r1, #0xc - blx func_01ffa0f4 + blx Atan2 ldr r1, [sp, #0x1c] sub r1, r1, r0 lsl r1, r1, #0x10 @@ -3876,7 +3876,7 @@ _020f0c38: mov r1, #1 str r1, [sp] ldr r0, _020f0e30 ; =data_027e0d3c - ldr r1, _020f0e34 ; =data_027e0f94 + ldr r1, _020f0e34 ; =gPlayerPos ldr r0, [r0] add r2, sp, #0x20 add r3, sp, #0x1c @@ -4008,7 +4008,7 @@ _020f0e20: .align 2, 0 _020f0e2c: .word data_027e0c54 _020f0e30: .word data_027e0d3c -_020f0e34: .word data_027e0f94 +_020f0e34: .word gPlayerPos _020f0e38: .word 0x00001ccd _020f0e3c: .word gMapManager _020f0e40: .word 0x00002ccd @@ -4460,7 +4460,7 @@ _020f128c: ldr r0, [r0] cmp r0, #0x3b beq _020f1350 - ldr r0, _020f13a8 ; =data_027e0fc8 + ldr r0, _020f13a8 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _020f1330 @@ -4502,7 +4502,7 @@ _020f1398: .word data_027e103c _020f139c: .word gAdventureFlags _020f13a0: .word data_027e0c68 _020f13a4: .word data_027e0e28 -_020f13a8: .word data_027e0fc8 +_020f13a8: .word gPlayerLink _020f13ac: .word data_ov09_0211f5b4 arm_func_end func_ov03_020f125c @@ -5688,7 +5688,7 @@ func_ov03_020f2294: ; 0x020f2294 bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 beq _020f22d0 - ldr r0, _020f2318 ; =data_027e0f90 + ldr r0, _020f2318 ; =gPlayer ldr r0, [r0] ldrb r0, [r0, #0x11] cmp r0, #0 @@ -5713,7 +5713,7 @@ _020f22d0: ldmia sp!, {r4, pc} .align 2, 0 _020f2314: .word gAdventureFlags -_020f2318: .word data_027e0f90 +_020f2318: .word gPlayer _020f231c: .word data_027e103c _020f2320: .word 0x0000019f arm_func_end func_ov03_020f2294 @@ -5731,7 +5731,7 @@ func_ov03_020f2324: ; 0x020f2324 bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 beq _020f2360 - ldr r0, _020f23a8 ; =data_027e0f90 + ldr r0, _020f23a8 ; =gPlayer ldr r0, [r0] ldrb r0, [r0, #0x11] cmp r0, #0 @@ -5756,7 +5756,7 @@ _020f2360: ldmia sp!, {r4, pc} .align 2, 0 _020f23a4: .word gAdventureFlags -_020f23a8: .word data_027e0f90 +_020f23a8: .word gPlayer _020f23ac: .word data_027e103c _020f23b0: .word 0x0000019f arm_func_end func_ov03_020f2324 @@ -6078,7 +6078,7 @@ func_ov03_020f2774: ; 0x020f2774 bl func_ov00_02078b40 cmp r0, #2 beq _020f27d0 - ldr r0, _020f27e4 ; =data_027e0fb8 + ldr r0, _020f27e4 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -6091,7 +6091,7 @@ _020f27d0: .align 2, 0 _020f27dc: .word data_027e103c _020f27e0: .word data_027e0d38 -_020f27e4: .word data_027e0fb8 +_020f27e4: .word gPlayerControl arm_func_end func_ov03_020f2774 .global func_ov03_020f27e8 @@ -6149,7 +6149,7 @@ func_ov03_020f2848: ; 0x020f2848 bl func_ov03_020f3f94 cmp r0, #0 bne _020f28b8 - ldr r0, _020f28fc ; =data_027e0fc8 + ldr r0, _020f28fc ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _020f28d4 @@ -6177,7 +6177,7 @@ _020f28d4: _020f28f0: .word data_027e077c _020f28f4: .word data_027e103c _020f28f8: .word data_ov09_0211f5b4 -_020f28fc: .word data_027e0fc8 +_020f28fc: .word gPlayerLink _020f2900: .word data_ov00_020eec9c arm_func_end func_ov03_020f2848 @@ -9127,7 +9127,7 @@ _020f42b2: ldr r0, _020f4304 ; =0x00000005 cmp r1, r0 bne _020f42c8 - ldr r0, _020f4308 ; =data_027e0fc8 + ldr r0, _020f4308 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _020f42c8 @@ -9159,7 +9159,7 @@ _020f42f8: .word data_027e103c _020f42fc: .word data_027e0cbc _020f4300: .word gOverlayManager _020f4304: .word 0x00000005 -_020f4308: .word data_027e0fc8 +_020f4308: .word gPlayerLink thumb_func_end func_ov03_020f4268 .global func_ov03_020f430c @@ -9739,7 +9739,7 @@ func_ov03_020f4718: ; 0x020f4718 add r4, r1, #0 cmp r0, #0 bne _020f474c - ldr r0, _020f4758 ; =data_027e0f90 + ldr r0, _020f4758 ; =gPlayer mov r1, #5 ldr r0, [r0] ldr r2, [r0] @@ -9764,7 +9764,7 @@ _020f474c: mov r0, #0 pop {r3, r4, r5, pc} .align 2, 0 -_020f4758: .word data_027e0f90 +_020f4758: .word gPlayer _020f475c: .word data_ov00_020eec9c thumb_func_end func_ov03_020f4718 @@ -11816,7 +11816,7 @@ _020f5990: .word data_027e0d38 .global func_ov03_020f5994 arm_func_start func_ov03_020f5994 func_ov03_020f5994: ; 0x020f5994 - ldr r1, _020f59cc ; =data_027e0f90 + ldr r1, _020f59cc ; =gPlayer ldr ip, _020f59d0 ; =func_ov03_020f59d4 ldr r2, [r1] ldrb r1, [r2, #0x12] @@ -11831,7 +11831,7 @@ func_ov03_020f5994: ; 0x020f5994 str r1, [r0, #8] bx ip .align 2, 0 -_020f59cc: .word data_027e0f90 +_020f59cc: .word gPlayer _020f59d0: .word func_ov03_020f59d4 - 1 arm_func_end func_ov03_020f5994 @@ -12678,7 +12678,7 @@ _020f63b0: thumb_func_start func_ov03_020f63d4 func_ov03_020f63d4: ; 0x020f63d4 push {r4, lr} - ldr r1, _020f6410 ; =data_027e0f90 + ldr r1, _020f6410 ; =gPlayer add r4, r0, #0 ldr r2, [r1] mov r1, #0xa @@ -12705,7 +12705,7 @@ func_ov03_020f63d4: ; 0x020f63d4 strb r2, [r4, r1] pop {r4, pc} .align 2, 0 -_020f6410: .word data_027e0f90 +_020f6410: .word gPlayer _020f6414: .word gItemManager thumb_func_end func_ov03_020f63d4 @@ -12922,7 +12922,7 @@ func_ov03_020f6714: ; 0x020f6714 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov03_020f7020 - ldr r0, _020f676c ; =data_027e0f90 + ldr r0, _020f676c ; =gPlayer ldr r1, [r0] ldrb r0, [r1, #0x12] cmp r0, #0 @@ -12944,7 +12944,7 @@ _020f6750: bl func_ov03_020f6a88 ldmia sp!, {r4, pc} .align 2, 0 -_020f676c: .word data_027e0f90 +_020f676c: .word gPlayer arm_func_end func_ov03_020f6714 .global func_ov03_020f6770 @@ -13287,7 +13287,7 @@ _020f6bc8: mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x2 - ldr r1, _020f6d2c ; =data_02050f54 + ldr r1, _020f6d2c ; =gSinCosTable mov r2, #0x800 ldrsh r1, [r1, r3] mov r0, #0x1000 @@ -13360,21 +13360,21 @@ _020f6cfc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _020f6d28: .word data_027e0d38 -_020f6d2c: .word data_02050f54 +_020f6d2c: .word gSinCosTable _020f6d30: .word gAdventureFlags arm_func_end func_ov03_020f6b18 .global func_ov03_020f6d34 arm_func_start func_ov03_020f6d34 func_ov03_020f6d34: ; 0x020f6d34 - ldr r1, _020f6d4c ; =data_027e0f90 + ldr r1, _020f6d4c ; =gPlayer ldr ip, _020f6d50 ; =func_ov03_020f57b8 ldr r1, [r1] add r0, r0, #0x2c ldrsh r1, [r1, #0xa] bx ip .align 2, 0 -_020f6d4c: .word data_027e0f90 +_020f6d4c: .word gPlayer _020f6d50: .word func_ov03_020f57b8 arm_func_end func_ov03_020f6d34 @@ -13467,7 +13467,7 @@ func_ov03_020f6e10: ; 0x020f6e10 ldr r0, _020f6ef0 ; =data_027e0c38 ldr r0, [r0, #0x10] cmp r0, #0 - ldr r0, _020f6ef4 ; =data_027e0f90 + ldr r0, _020f6ef4 ; =gPlayer moveq r5, #0 ldr r0, [r0] movne r5, #0xab @@ -13496,7 +13496,7 @@ _020f6ee4: .word data_027e0db0 _020f6ee8: .word data_027e0d38 _020f6eec: .word data_027e0cbc _020f6ef0: .word data_027e0c38 -_020f6ef4: .word data_027e0f90 +_020f6ef4: .word gPlayer arm_func_end func_ov03_020f6e10 .global func_ov03_020f6ef8 @@ -13520,7 +13520,7 @@ func_ov03_020f6ef8: ; 0x020f6ef8 bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 beq _020f6f58 - ldr r0, _020f7000 ; =data_027e0f90 + ldr r0, _020f7000 ; =gPlayer ldr r0, [r0] ldrb r0, [r0, #0x11] cmp r0, #0 @@ -13538,7 +13538,7 @@ _020f6f58: ldr r0, [r0, #0x10] ldr r5, [r1] cmp r0, #0 - ldr r0, _020f7000 ; =data_027e0f90 + ldr r0, _020f7000 ; =gPlayer moveq r6, #0 ldr r0, [r0] movne r6, #0xab @@ -13570,7 +13570,7 @@ _020f6f58: _020f6ff4: .word data_027e077c _020f6ff8: .word data_027e0db0 _020f6ffc: .word gAdventureFlags -_020f7000: .word data_027e0f90 +_020f7000: .word gPlayer _020f7004: .word data_027e0cbc _020f7008: .word data_027e0c38 _020f700c: .word gItemManager @@ -13615,7 +13615,7 @@ _020f7068: bl _ZN11ItemManager18func_ov00_020ad790Ei cmp r0, #0 beq _020f70ac - ldr r0, _020f70c0 ; =data_027e0fb8 + ldr r0, _020f70c0 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -13633,7 +13633,7 @@ _020f70ac: .align 2, 0 _020f70b8: .word data_027e103c _020f70bc: .word gItemManager -_020f70c0: .word data_027e0fb8 +_020f70c0: .word gPlayerControl _020f70c4: .word data_027e05f8 arm_func_end func_ov03_020f7020 @@ -17348,7 +17348,7 @@ func_ov03_020f9e50: ; 0x020f9e50 ldr r0, _020f9ec8 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] - ldr r1, _020f9ecc ; =data_027e0f94 + ldr r1, _020f9ecc ; =gPlayerPos add r3, r2, #0 blx func_ov00_02079470 mov r3, #0 @@ -17399,7 +17399,7 @@ _020f9ebc: pop {r3, r4, r5, r6, r7, pc} nop _020f9ec8: .word data_027e0d3c -_020f9ecc: .word data_027e0f94 +_020f9ecc: .word gPlayerPos _020f9ed0: .word data_ov03_021007cc _020f9ed4: .word 0x0000024d thumb_func_end func_ov03_020f9e50 @@ -20577,7 +20577,7 @@ func_ov03_020fbd7c: ; 0x020fbd7c bl func_ov00_0208b9e4 cmp r0, #0 beq _020fbdec - ldr r0, _020fbdfc ; =data_027e0fc8 + ldr r0, _020fbdfc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 @@ -20592,7 +20592,7 @@ _020fbdec: bl func_ov14_0212559c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_020fbdfc: .word data_027e0fc8 +_020fbdfc: .word gPlayerLink arm_func_end func_ov03_020fbd7c .global func_ov03_020fbe00 @@ -44952,7 +44952,7 @@ data_ov03_02100894: ; 0x02100894 .word func_ov03_020fbb34 - 1 .global data_ov03_02100898 data_ov03_02100898: ; 0x02100898 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov03_0210089c data_ov03_0210089c: ; 0x0210089c .word func_ov03_020fbca8 - 1 @@ -44982,10 +44982,10 @@ data_ov03_021008bc: ; 0x021008bc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov03_021008c0 data_ov03_021008c0: ; 0x021008c0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov03_021008c4 data_ov03_021008c4: ; 0x021008c4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov03_021008c8 data_ov03_021008c8: ; 0x021008c8 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov04.inc b/asm/ov04.inc index 4b0d0081..cbb77873 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -1,4 +1,8 @@ #pragma once +.extern Atan2 +.extern Vec3p_Add +.extern Vec3p_Distance +.extern Vec3p_Sub .extern _ZN10MapManager10DestroyMapEv .extern _ZN10MapManager14GetEntrancePosEP5Vec3pi .extern _ZN10MapManager16MapData_vfunc_44Ev @@ -29,7 +33,7 @@ .extern _ZN11ItemManager6CreateEv .extern _ZN11ItemManager7DestroyEv .extern _ZN12ActorManager11DeleteActorEjb -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -55,6 +59,8 @@ .extern _ZN14AdventureFlags4LoadEv .extern _ZN14OverlayManager4LoadEjj .extern _ZN14OverlayManager6UnloadEj +.extern _ZN19Actor_UnkStruct_020C1Ev +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev .extern _ZN6Course11FindMapDataEj @@ -89,6 +95,7 @@ .extern _ZTV15LinkStateDamage .extern _ZTV15LinkStateFollow .extern _ZTV17LinkStateInteract +.extern _ZTV7MapBase .extern data_02056924 .extern data_02057200 .extern data_0205750c @@ -116,7 +123,6 @@ .extern data_027e0cbc .extern data_027e0ce0 .extern data_027e0d04 -.extern data_027e0d0c .extern data_027e0d28 .extern data_027e0d38 .extern data_027e0d3c @@ -133,20 +139,13 @@ .extern data_027e0f70 .extern data_027e0f78 .extern data_027e0f7c -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern gHealthManager .extern data_027e0fc0 .extern data_027e0fc4 -.extern data_027e0fc8 .extern data_027e0fcc .extern data_027e0fd0 .extern data_027e0fd4 .extern data_027e0fd8 .extern data_027e0fdc -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -177,7 +176,6 @@ .extern data_ov00_020dc7cc .extern data_ov00_020dc7d0 .extern data_ov00_020e233c -.extern _ZTV7MapBase .extern data_ov00_020e2508 .extern data_ov00_020e250c .extern data_ov00_020e2544 @@ -272,10 +270,6 @@ .extern data_ov40_0218827c .extern data_ov40_0218a0e0 .extern func_01ff892c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffa8d4 .extern func_01ffec78 .extern func_02002bf4 @@ -433,7 +427,6 @@ .extern func_ov00_02079e68 .extern func_ov00_02079efc .extern func_ov00_02079f3c -.extern func_ov00_0207a188 .extern func_ov00_0207afa0 .extern func_ov00_0207afc4 .extern func_ov00_0207aff8 @@ -576,7 +569,6 @@ .extern func_ov00_020c0c70 .extern func_ov00_020c0c9c .extern func_ov00_020c0e5c -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c3388 .extern func_ov00_020c33b0 @@ -710,11 +702,19 @@ .extern func_ov40_02186948 .extern func_ov40_02186c8c .extern func_ov40_02187ba0 +.extern gActorManager .extern gAdventureFlags +.extern gHealthManager .extern gItemManager .extern gMapManager .extern gOverlayManager +.extern gPlayer +.extern gPlayerAngle .extern gPlayerAnimHandler +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gVec3p_ZERO .extern strcat .extern strcpy .extern strlen diff --git a/asm/ov04.s b/asm/ov04.s index 716a692b..84ead6fa 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -874,11 +874,11 @@ func_ov04_02101188: ; 0x02101188 add r0, r5, #0 add r0, #0x31 strb r1, [r0] - ldr r1, _0210137c ; =data_027e0fac + ldr r1, _0210137c ; =gPlayerAngle mov r0, #0 ldrsh r0, [r1, r0] strh r0, [r5, #0x36] - ldr r0, _02101380 ; =data_027e0f94 + ldr r0, _02101380 ; =gPlayerPos ldr r1, [r0] str r1, [r5, #0x38] ldr r1, [r0, #4] @@ -1084,8 +1084,8 @@ _02101370: .align 2, 0 _02101374: .word 0x027ffc3c _02101378: .word data_027e0d38 -_0210137c: .word data_027e0fac -_02101380: .word data_027e0f94 +_0210137c: .word gPlayerAngle +_02101380: .word gPlayerPos _02101384: .word data_027e0618 _02101388: .word gMapManager _0210138c: .word data_027e077c @@ -2211,7 +2211,7 @@ _02101bda: add r0, r5, #0 add r1, r7, #0 add r2, r5, #0 - blx func_01ff9bc4 + blx Vec3p_Add add r4, r4, #1 add r5, #0xc cmp r4, r6 @@ -3252,7 +3252,7 @@ _02102382: ldr r0, _021024ac ; =data_0205785c str r2, [sp, #0x7c] str r0, [sp, #0x70] - ldr r0, _021024b4 ; =data_027e0fe4 + ldr r0, _021024b4 ; =gActorManager add r1, sp, #0x70 strb r2, [r1, #0x10] ldr r0, [r0] @@ -3295,7 +3295,7 @@ _02102382: blx r2 ldr r0, [sp, #0xc] bl func_0202d5dc - ldr r0, _021024b4 ; =data_027e0fe4 + ldr r0, _021024b4 ; =gActorManager ldr r0, [r0] bl func_ov04_021056b8 mov r2, #1 @@ -3324,7 +3324,7 @@ _02102382: add r3, r2, #0 blx func_ov00_020872e8 _02102478: - ldr r0, _021024b4 ; =data_027e0fe4 + ldr r0, _021024b4 ; =gActorManager add r1, sp, #0x118 ldrb r1, [r1, #0x12] ldr r0, [r0] @@ -3346,7 +3346,7 @@ _021024a4: .word data_ov00_020e250c _021024a8: .word data_02057878 _021024ac: .word data_0205785c _021024b0: .word data_027e0f68 -_021024b4: .word data_027e0fe4 +_021024b4: .word gActorManager _021024b8: .word data_027e0fec _021024bc: .word data_027e0f64 _021024c0: .word data_027e0f7c @@ -3391,14 +3391,14 @@ func_ov04_021024c4: ; 0x021024c4 add r0, r5, #0 add r1, sp, #0x10 blx _ZN10MapManager14GetEntrancePosEP5Vec3pi - ldr r0, _021025bc ; =data_027e0f90 + ldr r0, _021025bc ; =gPlayer ldrb r1, [r4, #0x13] ldr r0, [r0] mov r2, #0 ldr r3, [r0] ldr r3, [r3, #0x38] blx r3 - ldr r0, _021025c0 ; =data_027e0fe4 + ldr r0, _021025c0 ; =gActorManager ldr r0, [r0] bl func_ov04_0210554c ldr r0, _021025c4 ; =data_027e0d38 @@ -3438,7 +3438,7 @@ _02102578: ldr r0, [sp, #0x20] cmp r0, #1 bne _021025a8 - ldr r1, _021025c0 ; =data_027e0fe4 + ldr r1, _021025c0 ; =gActorManager ldr r2, _021025d4 ; =0x414e4353 ldr r1, [r1] add r0, sp, #8 @@ -3448,7 +3448,7 @@ _02102578: mvn r0, r0 cmp r1, r0 beq _021025ac - ldr r0, _021025c0 ; =data_027e0fe4 + ldr r0, _021025c0 ; =gActorManager add r1, sp, #8 ldr r0, [r0] blx _ZN12ActorManager8GetActorEP8ActorRef @@ -3467,8 +3467,8 @@ _021025ae: nop _021025b4: .word data_027e0ff0 _021025b8: .word data_027e0f6c -_021025bc: .word data_027e0f90 -_021025c0: .word data_027e0fe4 +_021025bc: .word gPlayer +_021025c0: .word gActorManager _021025c4: .word data_027e0d38 _021025c8: .word data_027e0f70 _021025cc: .word data_027e0f68 @@ -7833,7 +7833,7 @@ _021048c6: _021048cc: ldr r0, _021049e4 ; =data_027e0c68 bl func_ov04_021069c4 - ldr r0, _021049e8 ; =data_027e0fe4 + ldr r0, _021049e8 ; =gActorManager ldr r0, [r0] bl func_ov04_0210532c bl func_ov04_021026a0 @@ -7877,7 +7877,7 @@ _02104920: ldr r0, _02104a04 ; =data_027e0f68 ldr r0, [r0] bl func_ov04_02102aa0 - ldr r0, _02104a08 ; =data_027e0f90 + ldr r0, _02104a08 ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x1c] @@ -7931,7 +7931,7 @@ _021049d8: .word data_027e103c _021049dc: .word data_027e1094 _021049e0: .word data_027e1060 _021049e4: .word data_027e0c68 -_021049e8: .word data_027e0fe4 +_021049e8: .word gActorManager _021049ec: .word data_027e0db0 _021049f0: .word data_027e0f64 _021049f4: .word data_ov09_0211f5b4 @@ -7939,7 +7939,7 @@ _021049f8: .word data_027e1048 _021049fc: .word data_027e0f78 _02104a00: .word gMapManager _02104a04: .word data_027e0f68 -_02104a08: .word data_027e0f90 +_02104a08: .word gPlayer _02104a0c: .word data_027e0fc0 _02104a10: .word data_ov00_020ee734 thumb_func_end func_ov04_021046dc @@ -7982,7 +7982,7 @@ _02104a3c: bl func_ov04_0210453c bl func_ov04_0210bd28 bl func_ov04_0210b1f0 - ldr r0, _02104aec ; =data_027e0fe4 + ldr r0, _02104aec ; =gActorManager ldr r0, [r0] bl func_ov04_021053dc bl func_ov04_02101fe8 @@ -8023,7 +8023,7 @@ _02104adc: .word data_027e0f68 _02104ae0: .word gMapManager _02104ae4: .word data_027e0f64 _02104ae8: .word gAdventureFlags -_02104aec: .word data_027e0fe4 +_02104aec: .word gActorManager _02104af0: .word data_027e0c68 _02104af4: .word data_027e103c _02104af8: .word data_02068e64 @@ -8916,7 +8916,7 @@ _021051dc: .word data_ov04_0210f836 thumb_func_start func_ov04_021051e0 func_ov04_021051e0: ; 0x021051e0 push {r3, lr} - ldr r0, _02105204 ; =data_027e0fe4 + ldr r0, _02105204 ; =gActorManager ldr r0, [r0] cmp r0, #0 bne _02105202 @@ -8929,12 +8929,12 @@ func_ov04_021051e0: ; 0x021051e0 beq _021051fe bl func_ov04_02105230 _021051fe: - ldr r1, _02105204 ; =data_027e0fe4 + ldr r1, _02105204 ; =gActorManager str r0, [r1] _02105202: pop {r3, pc} .align 2, 0 -_02105204: .word data_027e0fe4 +_02105204: .word gActorManager _02105208: .word data_027e0ce0 thumb_func_end func_ov04_021051e0 @@ -8942,7 +8942,7 @@ _02105208: .word data_027e0ce0 thumb_func_start func_ov04_0210520c func_ov04_0210520c: ; 0x0210520c push {r4, lr} - ldr r0, _0210522c ; =data_027e0fe4 + ldr r0, _0210522c ; =gActorManager ldr r4, [r0] cmp r4, #0 beq _0210522a @@ -8952,13 +8952,13 @@ func_ov04_0210520c: ; 0x0210520c add r0, r4, #0 blx _ZN9SysObjectdlEPv _02105224: - ldr r0, _0210522c ; =data_027e0fe4 + ldr r0, _0210522c ; =gActorManager mov r1, #0 str r1, [r0] _0210522a: pop {r4, pc} .align 2, 0 -_0210522c: .word data_027e0fe4 +_0210522c: .word gActorManager thumb_func_end func_ov04_0210520c .global func_ov04_02105230 @@ -10630,7 +10630,7 @@ func_ov04_02105e50: ; 0x02105e50 str r2, [r0, #0x10] str r2, [r0, #0x14] str r2, [r0, #0x18] - ldr r1, _02105ebc ; =data_027e0d0c + ldr r1, _02105ebc ; =gVec3p_ZERO str r2, [r0, #0x1c] ldr r2, [r1] str r2, [r0, #0x20] @@ -10642,7 +10642,7 @@ func_ov04_02105e50: ; 0x02105e50 str r3, [r0, #0x30] bx lr .align 2, 0 -_02105ebc: .word data_027e0d0c +_02105ebc: .word gVec3p_ZERO arm_func_end func_ov04_02105e50 .global func_ov04_02105ec0 @@ -11352,10 +11352,10 @@ _021063a4: add r0, r0, #4 add r1, r1, #4 add r2, sp, #0x1c - blx func_01ff9bf8 + blx Vec3p_Sub ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - blx func_01ffa0f4 + blx Atan2 strh r0, [r4] add r7, r7, #1 add r5, r5, #4 @@ -11864,7 +11864,7 @@ _02106742: add r1, sp, #0x38 str r0, [sp, #0x40] add r0, sp, #0x44 - blx func_01ff9ec0 + blx Vec3p_Distance mov r1, #1 lsl r1, r1, #0xc cmp r0, r1 @@ -13986,7 +13986,7 @@ _0210775c: cmp r0, #2 beq _021077ee add r0, sp, #4 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x20] @@ -13998,11 +13998,11 @@ _0210775c: ldr r0, _021077f8 ; =data_027e0fe8 ldr r1, _021077fc ; =0x4e415649 ldr r0, [r0] - ldr r2, _02107800 ; =data_027e0d0c + ldr r2, _02107800 ; =gVec3p_ZERO add r3, sp, #4 blx func_ov00_020c4048 add r1, r0, #0 - ldr r0, _02107804 ; =data_027e0fe4 + ldr r0, _02107804 ; =gActorManager ldr r0, [r0] blx _ZN12ActorManager13FindActorByIdEj str r0, [r4, #0x14] @@ -14011,11 +14011,11 @@ _0210775c: ldr r0, _021077f8 ; =data_027e0fe8 ldr r1, _02107808 ; =0x46434e56 ldr r0, [r0] - ldr r2, _02107800 ; =data_027e0d0c + ldr r2, _02107800 ; =gVec3p_ZERO add r3, sp, #4 blx func_ov00_020c4048 add r1, r0, #0 - ldr r0, _02107804 ; =data_027e0fe4 + ldr r0, _02107804 ; =gActorManager ldr r0, [r0] blx _ZN12ActorManager13FindActorByIdEj str r0, [r4, #0x18] @@ -14024,11 +14024,11 @@ _0210775c: ldr r0, _021077f8 ; =data_027e0fe8 ldr r1, _0210780c ; =0x57534e56 ldr r0, [r0] - ldr r2, _02107800 ; =data_027e0d0c + ldr r2, _02107800 ; =gVec3p_ZERO add r3, sp, #4 blx func_ov00_020c4048 add r1, r0, #0 - ldr r0, _02107804 ; =data_027e0fe4 + ldr r0, _02107804 ; =gActorManager ldr r0, [r0] blx _ZN12ActorManager13FindActorByIdEj str r0, [r4, #0x1c] @@ -14039,8 +14039,8 @@ _021077ee: _021077f4: .word data_027e0d38 _021077f8: .word data_027e0fe8 _021077fc: .word 0x4e415649 -_02107800: .word data_027e0d0c -_02107804: .word data_027e0fe4 +_02107800: .word gVec3p_ZERO +_02107804: .word gActorManager _02107808: .word 0x46434e56 _0210780c: .word 0x57534e56 thumb_func_end func_ov04_02107750 @@ -14275,7 +14275,7 @@ func_ov04_021079dc: ; 0x021079dc push {r4, lr} add r4, r0, #0 mov r2, #0 - ldr r0, _02107a74 ; =data_027e0d0c + ldr r0, _02107a74 ; =gVec3p_ZERO str r2, [r4, #0x6c] ldr r1, [r0] str r1, [r4, #0x7c] @@ -14348,7 +14348,7 @@ _02107a4a: mov r0, #1 pop {r4, pc} .align 2, 0 -_02107a74: .word data_027e0d0c +_02107a74: .word gVec3p_ZERO _02107a78: .word 0x00000666 _02107a7c: .word data_027e0d38 thumb_func_end func_ov04_021079dc @@ -14960,7 +14960,7 @@ func_ov04_02107e9c: ; 0x02107e9c ldr r0, [r0] bl _ZN11ItemManager4LoadEPK15SaveItemManager _02107ef6: - ldr r0, _02107f34 ; =data_027e0fb8 + ldr r0, _02107f34 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020aef30Ev ldr r0, _02107f2c ; =gItemManager @@ -14981,7 +14981,7 @@ _02107f24: .word data_ov00_020e9e98 _02107f28: .word data_ov00_020e9e94 _02107f2c: .word gItemManager _02107f30: .word data_ov00_020e9e18 -_02107f34: .word data_027e0fb8 +_02107f34: .word gPlayerControl thumb_func_end func_ov04_02107e9c .global func_ov04_02107f38 @@ -15071,7 +15071,7 @@ _02107fda: ldr r0, _02108000 ; =gItemManager ldr r0, [r0] bl func_ov04_02107314 - ldr r0, _02108004 ; =data_027e0fb8 + ldr r0, _02108004 ; =gPlayerControl ldr r0, [r0] bl func_ov04_0210b184 pop {r3, r4, r5, pc} @@ -15082,7 +15082,7 @@ _02107ff4: .word data_ov09_0211f530 _02107ff8: .word data_027e0d38 _02107ffc: .word data_027e0f7c _02108000: .word gItemManager -_02108004: .word data_027e0fb8 +_02108004: .word gPlayerControl thumb_func_end func_ov04_02107f48 .global func_ov04_02108008 @@ -15090,7 +15090,7 @@ _02108004: .word data_027e0fb8 func_ov04_02108008: ; 0x02108008 push {r3, lr} bl func_ov04_0210b1f0 - ldr r0, _0210804c ; =data_027e0fb8 + ldr r0, _0210804c ; =gPlayerControl ldr r0, [r0] bl func_ov04_0210b1d0 ldr r0, _02108050 ; =gItemManager @@ -15115,7 +15115,7 @@ _02108034: _02108048: pop {r3, pc} nop -_0210804c: .word data_027e0fb8 +_0210804c: .word gPlayerControl _02108050: .word gItemManager _02108054: .word data_027e0618 _02108058: .word data_ov09_0211f530 @@ -15448,7 +15448,7 @@ func_ov04_021082bc: ; 0x021082bc bl func_ov04_0210add4 ldr r0, _021083d0 ; =_ZTV15LinkStateDamage add r2, r5, #0 - ldr r3, _021083d4 ; =data_027e0d0c + ldr r3, _021083d4 ; =gVec3p_ZERO str r0, [r5] ldmia r3!, {r0, r1} add r2, #0xc @@ -15575,7 +15575,7 @@ _021083c8: pop {r3, r4, r5, r6, pc} nop _021083d0: .word _ZTV15LinkStateDamage -_021083d4: .word data_027e0d0c +_021083d4: .word gVec3p_ZERO _021083d8: .word func_ov00_020b7d74 _021083dc: .word func_ov04_021079d4 _021083e0: .word data_027e0d38 @@ -17339,7 +17339,7 @@ _021091ca: add r0, r2, r0 str r0, [sp, #0x80] add r0, sp, #0x48 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r1, #0 add r2, sp, #0x5c add r3, sp, #0x48 @@ -17381,7 +17381,7 @@ _02109222: _02109224: strb r1, [r0, #0xe] add r0, sp, #0x1c - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x38] @@ -18197,9 +18197,9 @@ _02109820: lsl r1, r1, #4 add r1, r6, r1 add r2, r0, #0 - blx func_01ff9bc4 + blx Vec3p_Add add r0, sp, #0x3c - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r1, #0 add r2, sp, #0x50 add r3, sp, #0x3c @@ -18241,7 +18241,7 @@ _021098b4: _021098b6: strb r1, [r0, #0xe] add r0, sp, #0x10 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x2c] @@ -19432,7 +19432,7 @@ _0210a16c: ldr r0, _0210a474 ; =data_ov04_021104a0 str r0, [r5] _0210a186: - ldr r0, _0210a478 ; =data_027e0fc8 + ldr r0, _0210a478 ; =gPlayerLink str r5, [r4, #0x6c] str r4, [r0] ldr r0, _0210a47c ; =data_027e0fcc @@ -19804,7 +19804,7 @@ _0210a468: .word data_02057878 _0210a46c: .word data_ov04_02110934 _0210a470: .word data_0205785c _0210a474: .word data_ov04_021104a0 -_0210a478: .word data_027e0fc8 +_0210a478: .word gPlayerLink _0210a47c: .word data_027e0fcc _0210a480: .word data_027e0fd0 _0210a484: .word data_027e0fd4 @@ -20144,7 +20144,7 @@ _0210a7c4: str r0, [r1] ldr r1, _0210a7ec ; =data_027e0fdc str r0, [r1] - ldr r1, _0210a800 ; =data_027e0fc8 + ldr r1, _0210a800 ; =gPlayerLink str r0, [r1] add r0, r6, #0 bl func_ov04_0210b2b0 @@ -20157,7 +20157,7 @@ _0210a7f0: .word data_027e0fd8 _0210a7f4: .word data_027e0fd4 _0210a7f8: .word data_027e0fcc _0210a7fc: .word data_027e0fd0 -_0210a800: .word data_027e0fc8 +_0210a800: .word gPlayerLink thumb_func_end func_ov04_0210a734 .global func_ov04_0210a804 @@ -20253,7 +20253,7 @@ _0210a894: str r0, [r1] ldr r1, _0210a8c4 ; =data_027e0fdc str r0, [r1] - ldr r1, _0210a8d8 ; =data_027e0fc8 + ldr r1, _0210a8d8 ; =gPlayerLink str r0, [r1] add r0, r6, #0 bl func_ov04_0210b2b0 @@ -20268,7 +20268,7 @@ _0210a8c8: .word data_027e0fd8 _0210a8cc: .word data_027e0fd4 _0210a8d0: .word data_027e0fcc _0210a8d4: .word data_027e0fd0 -_0210a8d8: .word data_027e0fc8 +_0210a8d8: .word gPlayerLink thumb_func_end func_ov04_0210a804 .global func_ov04_0210a8dc @@ -20364,7 +20364,7 @@ _0210a96c: str r0, [r1] ldr r1, _0210a994 ; =data_027e0fdc str r0, [r1] - ldr r1, _0210a9a8 ; =data_027e0fc8 + ldr r1, _0210a9a8 ; =gPlayerLink str r0, [r1] add r0, r6, #0 bl func_ov04_0210b2b0 @@ -20377,7 +20377,7 @@ _0210a998: .word data_027e0fd8 _0210a99c: .word data_027e0fd4 _0210a9a0: .word data_027e0fcc _0210a9a4: .word data_027e0fd0 -_0210a9a8: .word data_027e0fc8 +_0210a9a8: .word gPlayerLink thumb_func_end func_ov04_0210a8dc .global func_ov04_0210a9ac @@ -20545,7 +20545,7 @@ _0210aad6: mov r1, #0 add r0, #0x5d strb r1, [r0] - ldr r0, _0210ab1c ; =data_027e0f94 + ldr r0, _0210ab1c ; =gPlayerPos ldr r1, [r0] str r1, [r5, #0x14] ldr r1, [r0, #4] @@ -20559,7 +20559,7 @@ _0210ab0c: .word data_027e0fdc _0210ab10: .word data_027e0fd4 _0210ab14: .word data_027e0fd8 _0210ab18: .word data_027e0fcc -_0210ab1c: .word data_027e0f94 +_0210ab1c: .word gPlayerPos thumb_func_end func_ov04_0210a9ac .global func_ov04_0210ab20 @@ -21305,13 +21305,13 @@ func_ov04_0210afdc: ; 0x0210afdc add r0, r4, #0 add r0, #0xac add r5, r4, #0 - ldr r6, _0210b0f0 ; =data_027e0d0c + ldr r6, _0210b0f0 ; =gVec3p_ZERO strh r3, [r0] ldmia r6!, {r0, r1} add r5, #0xb0 stmia r5!, {r0, r1} ldr r0, [r6] - ldr r6, _0210b0f0 ; =data_027e0d0c + ldr r6, _0210b0f0 ; =gVec3p_ZERO str r0, [r5] add r5, r4, #0 ldmia r6!, {r0, r1} @@ -21357,7 +21357,7 @@ _0210b0da: add r0, r4, #0 pop {r4, r5, r6, pc} .align 2, 0 -_0210b0f0: .word data_027e0d0c +_0210b0f0: .word gVec3p_ZERO _0210b0f4: .word data_027e0ce0 thumb_func_end func_ov04_0210afdc @@ -21415,19 +21415,19 @@ func_ov04_0210b13c: ; 0x0210b13c beq _0210b152 bl func_ov04_0210afdc _0210b152: - ldr r1, _0210b15c ; =data_027e0fb8 + ldr r1, _0210b15c ; =gPlayerControl str r0, [r1] pop {r3, pc} .align 2, 0 _0210b158: .word data_027e0ce0 -_0210b15c: .word data_027e0fb8 +_0210b15c: .word gPlayerControl thumb_func_end func_ov04_0210b13c .global func_ov04_0210b160 thumb_func_start func_ov04_0210b160 func_ov04_0210b160: ; 0x0210b160 push {r4, lr} - ldr r0, _0210b180 ; =data_027e0fb8 + ldr r0, _0210b180 ; =gPlayerControl ldr r4, [r0] cmp r4, #0 beq _0210b176 @@ -21436,12 +21436,12 @@ func_ov04_0210b160: ; 0x0210b160 add r0, r4, #0 blx _ZN9SysObjectdlEPv _0210b176: - ldr r0, _0210b180 ; =data_027e0fb8 + ldr r0, _0210b180 ; =gPlayerControl mov r1, #0 str r1, [r0] pop {r4, pc} nop -_0210b180: .word data_027e0fb8 +_0210b180: .word gPlayerControl thumb_func_end func_ov04_0210b160 .global func_ov04_0210b184 @@ -21452,7 +21452,7 @@ func_ov04_0210b184: ; 0x0210b184 mov r1, #0 add r0, #0x79 strb r1, [r0] - ldr r0, _0210b1c0 ; =data_027e0fb8 + ldr r0, _0210b1c0 ; =gPlayerControl mov r1, #1 ldr r0, [r0] add r0, #0x78 @@ -21477,7 +21477,7 @@ _0210b1b6: _0210b1bc: pop {r4, pc} nop -_0210b1c0: .word data_027e0fb8 +_0210b1c0: .word gPlayerControl _0210b1c4: .word gOverlayManager _0210b1c8: .word 0x0000001d _0210b1cc: .word data_027e0ce0 @@ -21510,7 +21510,7 @@ _0210b1ee: thumb_func_start func_ov04_0210b1f0 func_ov04_0210b1f0: ; 0x0210b1f0 push {r3, lr} - ldr r0, _0210b20c ; =data_027e0f90 + ldr r0, _0210b20c ; =gPlayer ldr r0, [r0] cmp r0, #0 beq _0210b208 @@ -21519,13 +21519,13 @@ func_ov04_0210b1f0: ; 0x0210b1f0 ldr r1, [r1, #0x54] blx r1 _0210b202: - ldr r0, _0210b20c ; =data_027e0f90 + ldr r0, _0210b20c ; =gPlayer mov r1, #0 str r1, [r0] _0210b208: pop {r3, pc} nop -_0210b20c: .word data_027e0f90 +_0210b20c: .word gPlayer thumb_func_end func_ov04_0210b1f0 .global func_ov04_0210b210 @@ -21846,7 +21846,7 @@ func_ov04_0210b3f0: ; 0x0210b3f0 add r0, r5, r0 add r3, r1, #0 str r2, [sp] - bl func_ov00_0207a188 + bl _ZN19Actor_UnkStruct_0a4C1Eiiii ldr r0, _0210b520 ; =func_ov04_0210b3d4 ldr r3, _0210b524 ; =func_ov04_0210b634 str r0, [sp] @@ -23392,7 +23392,7 @@ _0210bffc: mov r0, #0 strb r0, [r4, #4] _0210c000: - ldr r1, _0210c0f4 ; =data_027e0fe4 + ldr r1, _0210c0f4 ; =gActorManager ldr r2, _0210c0f8 ; =0x524d5447 ldr r1, [r1] add r0, sp, #0x10 @@ -23407,7 +23407,7 @@ _0210c000: strb r0, [r4, #7] mov r0, #0 strb r0, [r4, #4] - ldr r0, _0210c0f4 ; =data_027e0fe4 + ldr r0, _0210c0f4 ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] blx _ZN12ActorManager8GetActorEP8ActorRef @@ -23443,7 +23443,7 @@ _0210c054: mov r0, #4 str r0, [r4, #0x34] _0210c062: - ldr r1, _0210c0f4 ; =data_027e0fe4 + ldr r1, _0210c0f4 ; =gActorManager ldr r2, _0210c104 ; =0x524d4654 ldr r1, [r1] add r0, sp, #8 @@ -23484,15 +23484,15 @@ _0210c092: str r0, [sp, #0x1c] mov r0, #9 str r0, [sp, #0x20] - ldr r0, _0210c0f4 ; =data_027e0fe4 + ldr r0, _0210c0f4 ; =gActorManager ldr r0, [r0] - blx _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + blx _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ble _0210c0c2 mov r0, #0 strb r0, [r4, #4] _0210c0c2: - ldr r1, _0210c0f4 ; =data_027e0fe4 + ldr r1, _0210c0f4 ; =gActorManager ldr r2, _0210c114 ; =0x574c4354 ldr r1, [r1] add r0, sp, #0 @@ -23515,7 +23515,7 @@ _0210c0dc: pop {r3, r4, r5, pc} .align 2, 0 _0210c0f0: .word data_027e0d38 -_0210c0f4: .word data_027e0fe4 +_0210c0f4: .word gActorManager _0210c0f8: .word 0x524d5447 _0210c0fc: .word 0x000001b6 _0210c100: .word 0x000001b7 @@ -23955,7 +23955,7 @@ func_ov04_0210c3fc: ; 0x0210c3fc ldr r0, [r0] add r2, sp, #0x18 bl func_ov04_02104ffc - ldr r0, _0210c514 ; =data_027e0f90 + ldr r0, _0210c514 ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x20] @@ -23996,7 +23996,7 @@ _0210c504: .word data_027e0fec _0210c508: .word data_027e0c68 _0210c50c: .word data_027e0cbc _0210c510: .word data_027e103c -_0210c514: .word data_027e0f90 +_0210c514: .word gPlayer _0210c518: .word data_027e0618 _0210c51c: .word data_ov09_0211f5b4 _0210c520: .word data_ov09_0211f530 @@ -24818,7 +24818,7 @@ func_ov04_0210cb38: ; 0x0210cb38 cmp r0, #4 bne _0210cb7a add r0, sp, #0x80 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x9c] @@ -24850,7 +24850,7 @@ _0210cb7a: cmp r0, #4 bne _0210cbc2 add r0, sp, #0x48 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x64] @@ -24879,7 +24879,7 @@ _0210cbc2: cmp r0, #2 bne _0210cc04 add r0, sp, #0x10 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x2c] diff --git a/asm/ov05.inc b/asm/ov05.inc index 901ca129..1b22c397 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -30,7 +30,7 @@ .extern _ZN11ItemManager18PlayItemFanfareSfxEi .extern _ZN11ItemManager8GiveItemEi .extern _ZN12ActorManager11DeleteActorEjb -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase10GetStateIdEv @@ -160,7 +160,7 @@ .extern _ZNK11ItemManager19GetFanfareItemScaleEP5Vec3p .extern _ZNK11ItemManager7HasItemEi .extern _ZNK11ItemManager8GetFairyEi -.extern data_02050f54 +.extern gSinCosTable .extern data_02056be4 .extern data_02057200 .extern data_020691a0 @@ -179,7 +179,7 @@ .extern data_027e0c68 .extern data_027e0cbc .extern data_027e0d04 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d44 @@ -198,18 +198,18 @@ .extern data_027e0f78 .extern data_027e0f7c .extern data_027e0f88 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac +.extern gPlayer +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerAngle .extern data_027e0fb0 -.extern data_027e0fb8 +.extern gPlayerControl .extern data_027e0fc0 -.extern data_027e0fc8 +.extern gPlayerLink .extern data_027e0fcc .extern data_027e0fd0 .extern data_027e0fd4 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0ff4 .extern data_027e0ff8 .extern data_027e0ffc @@ -262,12 +262,12 @@ .extern func_01ff9a80 .extern func_01ff9b24 .extern func_01ff9b4c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffa8d4 .extern func_01ffa9fc .extern func_01ffbe34 @@ -275,7 +275,7 @@ .extern func_01ffe468 .extern func_01ffec78 .extern func_01fffcd8 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_02002c14 .extern func_02005934 .extern func_02005bfc @@ -428,7 +428,7 @@ .extern func_ov00_020b804c .extern func_ov00_020b8600 .extern func_ov00_020bbb64 -.extern func_ov00_020bc46c +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern func_ov00_020bc500 .extern func_ov00_020bc71c .extern func_ov00_020bc8b8 @@ -442,7 +442,7 @@ .extern func_ov00_020c06b0 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3eb0 .extern func_ov00_020ce2f0 .extern func_ov00_020ce8e4 @@ -512,7 +512,7 @@ .extern func_ov09_0211cac0 .extern func_ov12_02134208 .extern func_ov14_02127df4 -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213d63c .extern func_ov14_0213ec64 .extern func_ov14_0214a3dc diff --git a/asm/ov05.s b/asm/ov05.s index a63a286d..75e42af1 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -1164,7 +1164,7 @@ func_ov05_0210199c: ; 0x0210199c ldr r1, _02101aa8 ; =data_027e0384 str r2, [sp, #8] str r1, [sp, #0xc] - ldr r2, _02101aac ; =data_02050f54 + ldr r2, _02101aac ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r0, lsl #0x1 ldrsh r0, [r2, r3] @@ -1216,7 +1216,7 @@ func_ov05_0210199c: ; 0x0210199c ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02101aa8: .word data_027e0384 -_02101aac: .word data_02050f54 +_02101aac: .word gSinCosTable _02101ab0: .word data_027e037c _02101ab4: .word data_027e03c8 arm_func_end func_ov05_0210199c @@ -1351,7 +1351,7 @@ _02101c04: cmp r0, #3 bne _02101c90 _02101c44: - ldr r0, _021021e0 ; =data_027e0f94 + ldr r0, _021021e0 ; =gPlayerPos mov r1, #1 ldr r3, [r0] ldr r2, [r0, #4] @@ -1371,7 +1371,7 @@ _02101c44: bl func_ov00_02089318 b _02101cd4 _02101c90: - ldr r0, _021021e0 ; =data_027e0f94 + ldr r0, _021021e0 ; =gPlayerPos mov r1, #1 ldr r3, [r0] ldr r2, [r0, #4] @@ -1461,7 +1461,7 @@ _02101db0: ; jump table b _02101dd4 ; case 7 b _02101e24 ; case 8 _02101dd4: - ldr r0, _021021e0 ; =data_027e0f94 + ldr r0, _021021e0 ; =gPlayerPos add r1, sp, #0x34 ldr r3, [r0] ldr r2, [r0, #4] @@ -1730,7 +1730,7 @@ _02102140: _021021d4: .word data_027e0f64 _021021d8: .word data_027e0d38 _021021dc: .word gMapManager -_021021e0: .word data_027e0f94 +_021021e0: .word gPlayerPos _021021e4: .word data_027e0ffc _021021e8: .word data_ov00_020eec9c _021021ec: .word data_ov00_020eec68 @@ -1992,7 +1992,7 @@ _02102544: _02102598: mov r2, #0 _0210259c: - ldr r0, _021026d4 ; =data_027e0f90 + ldr r0, _021026d4 ; =gPlayer mov r1, r8 ldr r0, [r0] ldr r3, [r0] @@ -2015,7 +2015,7 @@ _0210259c: bl func_ov05_0210112c cmp r9, #2 beq _02102608 - ldr r0, _021026e4 ; =data_027e0fe4 + ldr r0, _021026e4 ; =gActorManager mov r1, r8 ldr r0, [r0] bl func_ov05_02105140 @@ -2077,11 +2077,11 @@ _021026c4: .word data_027e0ff8 _021026c8: .word data_027e071c _021026cc: .word data_027e0e2c _021026d0: .word data_027e0d04 -_021026d4: .word data_027e0f90 +_021026d4: .word gPlayer _021026d8: .word data_027e0f64 _021026dc: .word data_027e0f78 _021026e0: .word gMapManager -_021026e4: .word data_027e0fe4 +_021026e4: .word gActorManager _021026e8: .word data_027e0f6c _021026ec: .word data_ov12_0213deb0 _021026f0: .word data_ov15_02190458 @@ -2148,7 +2148,7 @@ _02102798: ldrneb r0, [r5, #1] cmpne r0, #0 bne _021027d8 - ldr r0, _0210281c ; =data_027e0f90 + ldr r0, _0210281c ; =gPlayer mov r1, r4 ldr r0, [r0] ldr r2, [r0] @@ -2160,7 +2160,7 @@ _021027d8: cmpne r0, #0 addne sp, sp, #4 ldmneia sp!, {r3, r4, r5, r6, pc} - ldr r0, _02102820 ; =data_027e0fe4 + ldr r0, _02102820 ; =gActorManager mov r1, r4 ldr r0, [r0] bl func_ov05_02105304 @@ -2173,8 +2173,8 @@ _021027d8: .align 2, 0 _02102814: .word data_027e103c _02102818: .word data_027e0c54 -_0210281c: .word data_027e0f90 -_02102820: .word data_027e0fe4 +_0210281c: .word gPlayer +_02102820: .word gActorManager _02102824: .word gMapManager arm_func_end func_ov05_0210274c @@ -2271,7 +2271,7 @@ _0210294c: ldr r0, [r0] bl func_ov05_021011fc _02102978: - ldr r0, _02102a60 ; =data_027e0f90 + ldr r0, _02102a60 ; =gPlayer mov r1, r8 ldr r0, [r0] ldr r2, [r0] @@ -2281,7 +2281,7 @@ _02102978: ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} cmp r9, #2 beq _021029b0 - ldr r0, _02102a64 ; =data_027e0fe4 + ldr r0, _02102a64 ; =gActorManager mov r1, r8 ldr r0, [r0] bl func_ov05_0210535c @@ -2333,8 +2333,8 @@ _02102a50: .word data_027e0de8 _02102a54: .word data_027e0f88 _02102a58: .word data_027e0f64 _02102a5c: .word gMapManager -_02102a60: .word data_027e0f90 -_02102a64: .word data_027e0fe4 +_02102a60: .word gPlayer +_02102a64: .word gActorManager _02102a68: .word data_027e0618 _02102a6c: .word data_027e1048 _02102a70: .word data_027e077c @@ -3584,24 +3584,24 @@ func_ov05_02103ad4: ; 0x02103ad4 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 - ldr r0, _02103af0 ; =data_02050f54 + ldr r0, _02103af0 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r0, [r0, r1] bx lr .align 2, 0 -_02103af0: .word data_02050f54 +_02103af0: .word gSinCosTable arm_func_end func_ov05_02103ad4 .global func_ov05_02103af4 arm_func_start func_ov05_02103af4 func_ov05_02103af4: ; 0x02103af4 mov r1, r0, asr #0x4 - ldr r0, _02103b08 ; =data_02050f54 + ldr r0, _02103b08 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r0, [r0, r1] bx lr .align 2, 0 -_02103b08: .word data_02050f54 +_02103b08: .word gSinCosTable arm_func_end func_ov05_02103af4 .global func_ov05_02103b0c @@ -4954,7 +4954,7 @@ _02104b08: .word data_02056be4 arm_func_start func_ov05_02104b0c func_ov05_02104b0c: ; 0x02104b0c stmdb sp!, {r3, lr} - ldr r0, _02104b2c ; =data_027e0fc8 + ldr r0, _02104b2c ; =gPlayerLink ldr r0, [r0] cmp r0, #0 moveq r0, #0 @@ -4962,7 +4962,7 @@ func_ov05_02104b0c: ; 0x02104b0c bl func_ov05_0210eba4 ldmia sp!, {r3, pc} .align 2, 0 -_02104b2c: .word data_027e0fc8 +_02104b2c: .word gPlayerLink arm_func_end func_ov05_02104b0c .global func_ov05_02104b30 @@ -4980,7 +4980,7 @@ func_ov05_02104b30: ; 0x02104b30 ldrb r0, [r2, r1] tst r0, #4 ldmneia sp!, {r4, pc} - ldr r0, _02104bc4 ; =data_027e0fc8 + ldr r0, _02104bc4 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 ldmeqia sp!, {r4, pc} @@ -5008,7 +5008,7 @@ _02104bb0: .align 2, 0 _02104bbc: .word data_027e077c _02104bc0: .word data_02056be4 -_02104bc4: .word data_027e0fc8 +_02104bc4: .word gPlayerLink arm_func_end func_ov05_02104b30 .global func_ov05_02104bc8 @@ -5017,7 +5017,7 @@ func_ov05_02104bc8: ; 0x02104bc8 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr r2, _02104c9c ; =data_027e0f64 - ldr r1, _02104ca0 ; =data_027e0f94 + ldr r1, _02104ca0 ; =gPlayerPos ldr r2, [r2] mov r4, r0 ldr r0, [r2, #4] @@ -5076,7 +5076,7 @@ _02104c8c: ldmia sp!, {r4, pc} .align 2, 0 _02104c9c: .word data_027e0f64 -_02104ca0: .word data_027e0f94 +_02104ca0: .word gPlayerPos arm_func_end func_ov05_02104bc8 .global func_ov05_02104ca4 @@ -5085,7 +5085,7 @@ func_ov05_02104ca4: ; 0x02104ca4 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr r2, _02104d68 ; =data_027e0f64 - ldr r1, _02104d6c ; =data_027e0f94 + ldr r1, _02104d6c ; =gPlayerPos ldr r2, [r2] mov r4, r0 ldr r0, [r2, #4] @@ -5101,7 +5101,7 @@ func_ov05_02104ca4: ; 0x02104ca4 add r3, sp, #4 str ip, [sp] bl func_01ffe468 - ldr r0, _02104d70 ; =data_027e0fc8 + ldr r0, _02104d70 ; =gPlayerLink ldr r1, [r0] cmp r1, #0 beq _02104d2c @@ -5135,8 +5135,8 @@ _02104d48: ldmia sp!, {r4, pc} .align 2, 0 _02104d68: .word data_027e0f64 -_02104d6c: .word data_027e0f94 -_02104d70: .word data_027e0fc8 +_02104d6c: .word gPlayerPos +_02104d70: .word gPlayerLink arm_func_end func_ov05_02104ca4 .global func_ov05_02104d74 @@ -5144,7 +5144,7 @@ _02104d70: .word data_027e0fc8 func_ov05_02104d74: ; 0x02104d74 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _02104e3c ; =data_027e0fc8 + ldr r1, _02104e3c ; =gPlayerLink mov r4, r0 ldr r0, [r1] cmp r0, #0 @@ -5157,7 +5157,7 @@ func_ov05_02104d74: ; 0x02104d74 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} ldr r0, _02104e44 ; =data_027e0f64 - ldr r1, _02104e48 ; =data_027e0f94 + ldr r1, _02104e48 ; =gPlayerPos ldr r0, [r0] ldr r3, [r1] ldr r0, [r0, #4] @@ -5194,10 +5194,10 @@ _02104e0c: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02104e3c: .word data_027e0fc8 +_02104e3c: .word gPlayerLink _02104e40: .word gAdventureFlags _02104e44: .word data_027e0f64 -_02104e48: .word data_027e0f94 +_02104e48: .word gPlayerPos _02104e4c: .word data_027e0de4 _02104e50: .word func_ov05_02104e58 _02104e54: .word func_ov05_02104f28 @@ -5209,7 +5209,7 @@ func_ov05_02104e58: ; 0x02104e58 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x38 ldr r2, _02104f20 ; =data_027e0f64 - ldr r1, _02104f24 ; =data_027e0f94 + ldr r1, _02104f24 ; =gPlayerPos ldr r2, [r2] mov r4, r0 ldr r0, [r2, #4] @@ -5258,7 +5258,7 @@ func_ov05_02104e58: ; 0x02104e58 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02104f20: .word data_027e0f64 -_02104f24: .word data_027e0f94 +_02104f24: .word gPlayerPos arm_func_end func_ov05_02104e58 .global func_ov05_02104f28 @@ -5267,7 +5267,7 @@ func_ov05_02104f28: ; 0x02104f28 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x68 ldr r2, _02105130 ; =data_027e0f64 - ldr r1, _02105134 ; =data_027e0f94 + ldr r1, _02105134 ; =gPlayerPos ldr r2, [r2] mov r8, r0 ldr r0, [r2, #4] @@ -5325,7 +5325,7 @@ func_ov05_02104f28: ; 0x02104f28 str r1, [sp, #8] add r0, r8, #0x200 ldrh r3, [r0, #0x48] - ldr r2, _0210513c ; =data_02050f54 + ldr r2, _0210513c ; =gSinCosTable mov r4, #0xc000 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 @@ -5397,9 +5397,9 @@ _021050cc: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _02105130: .word data_027e0f64 -_02105134: .word data_027e0f94 +_02105134: .word gPlayerPos _02105138: .word data_ov00_020e9360 -_0210513c: .word data_02050f54 +_0210513c: .word gSinCosTable arm_func_end func_ov05_02104f28 .global func_ov05_02105140 @@ -5752,11 +5752,11 @@ _021055cc: .word data_ov05_0211264c .global func_ov05_021055d0 arm_func_start func_ov05_021055d0 func_ov05_021055d0: ; 0x021055d0 - ldr ip, _021055dc ; =func_01fffcec + ldr ip, _021055dc ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_021055dc: .word func_01fffcec +_021055dc: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov05_021055d0 .global func_ov05_021055e0 @@ -5771,7 +5771,7 @@ func_ov05_021055e0: ; 0x021055e0 ldrneb r1, [r0, #0x24] cmpne r1, #0 beq _0210563c - ldr r1, _02105668 ; =data_027e0fb8 + ldr r1, _02105668 ; =gPlayerControl ldr r1, [r1] ldrb r1, [r1, #0x79] cmp r1, #0 @@ -5799,7 +5799,7 @@ _0210565c: blx r1 ldmia sp!, {r3, pc} .align 2, 0 -_02105668: .word data_027e0fb8 +_02105668: .word gPlayerControl _0210566c: .word data_027e077c arm_func_end func_ov05_021055e0 @@ -5875,7 +5875,7 @@ _02105764: mov r0, #0 ldmia sp!, {r3, r4, pc} _02105770: - ldr r1, _021057b0 ; =data_027e0fb8 + ldr r1, _021057b0 ; =gPlayerControl ldr r1, [r1] ldrb r1, [r1, #0x79] cmp r1, #0 @@ -5893,17 +5893,17 @@ _0210579c: .align 2, 0 _021057a8: .word data_027e0618 _021057ac: .word data_027e0f64 -_021057b0: .word data_027e0fb8 +_021057b0: .word gPlayerControl arm_func_end func_ov05_02105670 .global func_ov05_021057b4 arm_func_start func_ov05_021057b4 func_ov05_021057b4: ; 0x021057b4 - ldr ip, _021057c0 ; =func_01fffcec + ldr ip, _021057c0 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #7 bx ip .align 2, 0 -_021057c0: .word func_01fffcec +_021057c0: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov05_021057b4 .global func_ov05_021057c4 @@ -5962,7 +5962,7 @@ func_ov05_02105850: ; 0x02105850 mov r0, r6 bl _ZN13LinkStateBase22UpdateSwordShieldInUseEv mov r1, #0 - ldr r0, _02105bf0 ; =data_027e0fb8 + ldr r0, _02105bf0 ; =gPlayerControl strb r1, [r6, #0x25] ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev @@ -6039,12 +6039,12 @@ _02105968: ldr r0, [r6, #0x58] cmp r0, #3 beq _02105b6c - ldr r0, _02105bf0 ; =data_027e0fb8 + ldr r0, _02105bf0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14GetFollowActorEv cmp r0, #0 beq _021059e0 - ldr r0, _02105bf0 ; =data_027e0fb8 + ldr r0, _02105bf0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14GetFollowActorEv mov r5, r0 @@ -6052,7 +6052,7 @@ _02105968: bl _ZN13LinkStateBase12GetPlayerPosEv mov r1, r0 add r0, r6, #0x38 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02105c08 ; =data_ov05_021124f0 ldr r2, [r5, #0x88] ldr r1, [r1, #0x24] @@ -6102,7 +6102,7 @@ _02105a38: mov r1, r5, asr #0x4 mov r2, r1, lsl #0x1 mov r7, r2, lsl #0x1 - ldr r5, _02105c10 ; =data_02050f54 + ldr r5, _02105c10 ; =gSinCosTable add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh lr, [r5, r7] @@ -6202,7 +6202,7 @@ _02105be0: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02105bf0: .word data_027e0fb8 +_02105bf0: .word gPlayerControl _02105bf4: .word data_ov00_020eec9c _02105bf8: .word 0x00000111 _02105bfc: .word 0x00000112 @@ -6210,7 +6210,7 @@ _02105c00: .word 0x00000113 _02105c04: .word 0x00000666 _02105c08: .word data_ov05_021124f0 _02105c0c: .word gMapManager -_02105c10: .word data_02050f54 +_02105c10: .word gSinCosTable _02105c14: .word 0x00000266 _02105c18: .word 0x00000115 _02105c1c: .word 0x00000116 @@ -6281,7 +6281,7 @@ _02105ce4: mov r1, r6, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _02105d80 ; =data_02050f54 + ldr r3, _02105d80 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r3, r2] mov r1, r1, lsl #0x1 @@ -6313,17 +6313,17 @@ _02105ce4: .align 2, 0 _02105d78: .word data_ov05_021124f0 _02105d7c: .word data_ov05_021125ac -_02105d80: .word data_02050f54 +_02105d80: .word gSinCosTable arm_func_end func_ov05_02105c28 .global func_ov05_02105d84 arm_func_start func_ov05_02105d84 func_ov05_02105d84: ; 0x02105d84 - ldr ip, _02105d90 ; =func_01fffcec + ldr ip, _02105d90 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02105d90: .word func_01fffcec +_02105d90: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov05_02105d84 .global func_ov05_02105d94 @@ -6478,7 +6478,7 @@ _02105f4c: cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, _021065f0 ; =data_027e0fb8 + ldr r0, _021065f0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv ldr r1, _021065f4 ; =0x00000ccd @@ -6555,7 +6555,7 @@ _02106074: mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _02106604 ; =data_02050f54 + ldr r3, _02106604 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] @@ -6838,7 +6838,7 @@ _021064e0: str r1, [r0] b _021065a8 _021064f4: - ldr r0, _021065f0 ; =data_027e0fb8 + ldr r0, _021065f0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv mov r7, r0 @@ -6851,7 +6851,7 @@ _021064f4: rsb r0, r2, #0x800 cmp r7, r0 ble _0210653c - ldr r0, _021065f0 ; =data_027e0fb8 + ldr r0, _021065f0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13GetTouchAngleEv mov r1, r0 @@ -6906,12 +6906,12 @@ _021065a8: .align 2, 0 _021065e8: .word gItemManager _021065ec: .word data_ov05_0211252c -_021065f0: .word data_027e0fb8 +_021065f0: .word gPlayerControl _021065f4: .word 0x00000ccd _021065f8: .word data_ov05_0211257c _021065fc: .word data_ov05_0211258c _02106600: .word 0x00000266 -_02106604: .word data_02050f54 +_02106604: .word gSinCosTable _02106608: .word data_ov05_021124f0 _0210660c: .word data_ov05_021125fc _02106610: .word data_ov05_0211255c @@ -7032,7 +7032,7 @@ func_ov05_02106740: ; 0x02106740 cmp r0, #0 addne sp, sp, #0xc ldmneia sp!, {r4, r5, r6, r7, pc} - ldr r1, _0210688c ; =data_027e0fb8 + ldr r1, _0210688c ; =gPlayerControl mov r0, r6 ldr r7, [r1] bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -7100,7 +7100,7 @@ _02106874: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0210688c: .word data_027e0fb8 +_0210688c: .word gPlayerControl _02106890: .word gItemManager arm_func_end func_ov05_02106740 @@ -7243,7 +7243,7 @@ func_ov05_02106a50: ; 0x02106a50 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _02106bb8 ; =data_027e0fb8 + ldr r0, _02106bb8 ; =gPlayerControl ldr r0, [r0] ldrb r1, [r0, #0x80] cmp r1, #0 @@ -7333,14 +7333,14 @@ _02106bb0: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02106bb8: .word data_027e0fb8 +_02106bb8: .word gPlayerControl arm_func_end func_ov05_02106a50 .global func_ov05_02106bbc arm_func_start func_ov05_02106bbc func_ov05_02106bbc: ; 0x02106bbc stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02106c6c ; =data_027e0fb8 + ldr r2, _02106c6c ; =gPlayerControl mov r5, r0 ldr r2, [r2] mov r4, r1 @@ -7357,7 +7357,7 @@ func_ov05_02106bbc: ; 0x02106bbc blx r1 cmp r0, #0 beq _02106c64 - ldr r0, _02106c6c ; =data_027e0fb8 + ldr r0, _02106c6c ; =gPlayerControl add r1, sp, #0 ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020af01cEPc @@ -7385,7 +7385,7 @@ _02106c64: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02106c6c: .word data_027e0fb8 +_02106c6c: .word gPlayerControl _02106c70: .word gMapManager arm_func_end func_ov05_02106bbc @@ -7545,7 +7545,7 @@ _02106e0c: ldr r1, [r1, #4] cmp r0, r1 blt _02106ee0 - ldr r0, _021071dc ; =data_027e0fb8 + ldr r0, _021071dc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv ldr r1, _021071e0 ; =0x00000ccd @@ -7748,7 +7748,7 @@ _02107148: mov r3, #1 bl func_ov00_0207c1b0 _02107188: - ldr r1, _021071dc ; =data_027e0fb8 + ldr r1, _021071dc ; =gPlayerControl mov r0, r7 ldr r4, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv @@ -7771,7 +7771,7 @@ _021071cc: .word data_027e0618 _021071d0: .word data_ov00_020dc6e4 _021071d4: .word 0x00000b33 _021071d8: .word data_ov05_021126ac -_021071dc: .word data_027e0fb8 +_021071dc: .word gPlayerControl _021071e0: .word 0x00000ccd _021071e4: .word data_027e0e58 _021071e8: .word gMapManager @@ -7803,7 +7803,7 @@ func_ov05_02107208: ; 0x02107208 func_ov05_02107214: ; 0x02107214 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x1c - ldr r1, _021073ac ; =data_027e0fb8 + ldr r1, _021073ac ; =gPlayerControl mov r4, r0 ldr r0, [r1] mov r1, #1 @@ -7875,7 +7875,7 @@ _02107310: bl _ZN13LinkStateBase12GetPlayerPosEv add r2, sp, #0 add r1, r5, #0x34 - bl func_01ff9bc4 + bl Vec3p_Add add r2, r4, #0x2c add r1, r4, #0x40 cmp r2, r1 @@ -7910,7 +7910,7 @@ _02107398: add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} .align 2, 0 -_021073ac: .word data_027e0fb8 +_021073ac: .word gPlayerControl _021073b0: .word data_ov00_020e6088 _021073b4: .word data_ov00_020eec9c arm_func_end func_ov05_02107214 @@ -7919,7 +7919,7 @@ _021073b4: .word data_ov00_020eec9c arm_func_start func_ov05_021073b8 func_ov05_021073b8: ; 0x021073b8 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _0210759c ; =data_027e0fb8 + ldr r1, _0210759c ; =gPlayerControl mov r5, r0 ldr r0, [r1] bl _ZN13PlayerControl18func_ov00_020b034cEv @@ -7928,7 +7928,7 @@ func_ov05_021073b8: ; 0x021073b8 ble _02107430 mov r0, r5 bl _ZN13LinkStateBase28Get_PlayerControlData_Unk004Ev - ldr r1, _0210759c ; =data_027e0fb8 + ldr r1, _0210759c ; =gPlayerControl ldr r6, [r0] ldr r0, [r1] bl _ZN13PlayerControl13GetTouchAngleEv @@ -7997,14 +7997,14 @@ _021074c8: mov r1, r6 mov r2, r6 bl _ZN13LinkStateBase6TurnToEsii - ldr r0, _0210759c ; =data_027e0fb8 + ldr r0, _0210759c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13GetTouchAngleEv sub r0, r0, r6 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, asr #0x4 - ldr r0, _021075b0 ; =data_02050f54 + ldr r0, _021075b0 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r0, [r0, r1] mov r3, #0 @@ -8044,12 +8044,12 @@ _0210758c: bl func_ov00_020d7cd4 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0210759c: .word data_027e0fb8 +_0210759c: .word gPlayerControl _021075a0: .word 0x0000030a _021075a4: .word 0x00000614 _021075a8: .word data_ov00_020eec9c _021075ac: .word 0x00002aab -_021075b0: .word data_02050f54 +_021075b0: .word gSinCosTable _021075b4: .word data_ov05_021126ac _021075b8: .word data_ov05_021126d4 arm_func_end func_ov05_021073b8 @@ -8126,7 +8126,7 @@ _02107664: movle r4, #0 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r0, [r0] - ldr r2, _0210785c ; =data_02050f54 + ldr r2, _0210785c ; =gSinCosTable add r1, sp, #0xc mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -8185,11 +8185,11 @@ _02107664: orr r1, r1, r0, lsl #20 add r0, r2, r1 str r0, [sp, #0x14] - ldr r0, _02107864 ; =data_027e0fe4 + ldr r0, _02107864 ; =gActorManager mov r2, #0 ldr r0, [r0] add r1, sp, #8 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ble _021077e8 bl func_ov05_02107870 @@ -8230,9 +8230,9 @@ _021077e8: _02107850: .word data_027e0e58 _02107854: .word 0x0000011f _02107858: .word data_ov05_0211274c -_0210785c: .word data_02050f54 +_0210785c: .word gSinCosTable _02107860: .word data_ov05_021126ac -_02107864: .word data_027e0fe4 +_02107864: .word gActorManager _02107868: .word 0x00000614 _0210786c: .word 0x00001666 arm_func_end func_ov05_021075bc @@ -8251,7 +8251,7 @@ _0210787c: .word func_01fffcd8 arm_func_start func_ov05_02107880 func_ov05_02107880: ; 0x02107880 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _0210794c ; =data_027e0fb8 + ldr r1, _0210794c ; =gPlayerControl mov r5, r0 ldr r0, [r1] mov r1, #1 @@ -8305,7 +8305,7 @@ _02107934: bl _ZN13LinkStateBase15ChangeLinkStateEi ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0210794c: .word data_027e0fb8 +_0210794c: .word gPlayerControl _02107950: .word data_ov00_020eec9c arm_func_end func_ov05_02107880 @@ -8348,7 +8348,7 @@ _021079d0: ldrsh r0, [r4, #0x10] cmp r0, #0 ble _02107a08 - ldr r0, _02107b64 ; =data_027e0fb8 + ldr r0, _02107b64 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14IsTouchingFastEv cmp r0, #0 @@ -8438,7 +8438,7 @@ _02107b1c: strh r1, [r0, #0xa4] mov r0, r4 bl _ZN13LinkStateBase12GetPlayerVelEv - ldr r1, _02107b70 ; =data_027e0d0c + ldr r1, _02107b70 ; =gVec3p_ZERO ldr r2, [r1] str r2, [r0] ldr r2, [r1, #4] @@ -8450,10 +8450,10 @@ _02107b1c: .align 2, 0 _02107b5c: .word data_ov05_021126ac _02107b60: .word data_ov05_021126b4 -_02107b64: .word data_027e0fb8 +_02107b64: .word gPlayerControl _02107b68: .word gMapManager _02107b6c: .word data_ov05_021122e0 -_02107b70: .word data_027e0d0c +_02107b70: .word gVec3p_ZERO arm_func_end func_ov05_02107954 .global func_ov05_02107b74 @@ -8492,7 +8492,7 @@ func_ov05_02107bd4: ; 0x02107bd4 mov r10, r0 ldr r4, _02107c80 ; =0x47454c4c ldr r11, _02107c84 ; =0x57544352 - ldr r6, _02107c88 ; =data_027e0fe4 + ldr r6, _02107c88 ; =gActorManager add r9, r10, #0x44 mov r8, #0 mvn r5, #0 @@ -8538,7 +8538,7 @@ _02107c68: .align 2, 0 _02107c80: .word 0x47454c4c _02107c84: .word 0x57544352 -_02107c88: .word data_027e0fe4 +_02107c88: .word gActorManager arm_func_end func_ov05_02107bd4 .global func_ov05_02107c8c @@ -8787,7 +8787,7 @@ func_ov05_02107fc0: ; 0x02107fc0 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r6, #0 ldr r11, _02108088 ; =0x47454c4c - ldr r4, _0210808c ; =data_027e0fe4 + ldr r4, _0210808c ; =gActorManager mov r9, r6 add r8, r10, #0x44 mvn r5, #0 @@ -8836,7 +8836,7 @@ _02108060: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02108088: .word 0x47454c4c -_0210808c: .word data_027e0fe4 +_0210808c: .word gActorManager _02108090: .word 0x57544352 arm_func_end func_ov05_02107fc0 @@ -8854,7 +8854,7 @@ func_ov05_02108094: ; 0x02108094 bl _ZN13LinkStateBase29HasFlags_PlayerLinkBase_Unk48Et cmp r0, #0 beq _021080ec - ldr r0, _02108184 ; =data_027e0fb8 + ldr r0, _02108184 ; =gPlayerControl mov r1, #1 ldr r0, [r0] bl _ZN13PlayerControl14CheckTouchFastEj @@ -8909,7 +8909,7 @@ _0210817c: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02108184: .word data_027e0fb8 +_02108184: .word gPlayerControl arm_func_end func_ov05_02108094 .global func_ov05_02108188 @@ -8952,7 +8952,7 @@ func_ov05_021081cc: ; 0x021081cc ldmneia sp!, {r3, r4, r5, pc} add r0, r5, #4 add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r2, [r5, #0x10] ldr r1, [r4, #0x88] add r1, r2, r1 @@ -9215,7 +9215,7 @@ func_ov05_021084f4: ; 0x021084f4 str r3, [sp, #0x10] ldr r3, [r9, #0x10] str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r8, #8] mov r0, r4 str r1, [sp] @@ -9225,7 +9225,7 @@ func_ov05_021084f4: ; 0x021084f4 ldr r3, [r8, #0x10] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x78] ldr r0, [sp, #0x64] subs r2, r1, r0 @@ -9250,7 +9250,7 @@ func_ov05_021084f4: ; 0x021084f4 str r3, [sp, #0x48] str r5, [sp, #0x4c] str r2, [sp, #0x50] - bl func_01ff9ec0 + bl Vec3p_Distance ldr r2, [sp, #0x80] ldr r1, [sp, #0x6c] mov r4, r0 @@ -9332,7 +9332,7 @@ _0210870c: add r0, sp, #0x54 add r1, sp, #0x48 add r2, sp, #0x3c - bl func_01ff9bf8 + bl Vec3p_Sub cmp r6, #0 cmpgt r4, r6 movgt r4, r6 @@ -9342,7 +9342,7 @@ _0210870c: add r0, r5, #0x2c add r1, sp, #0x3c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x88 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _02108760: @@ -9354,7 +9354,7 @@ _02108760: add r0, sp, #0x48 add r1, sp, #0x54 add r2, sp, #0x30 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r5, #0 cmpgt r4, r5 movgt r4, r5 @@ -9364,7 +9364,7 @@ _02108760: add r0, r6, #0x2c add r1, sp, #0x30 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x88 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _021087b4: @@ -9375,7 +9375,7 @@ _021087b4: add r0, sp, #0x54 add r1, sp, #0x48 add r2, sp, #0x24 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, r4, lsr #31 mov r1, r0, asr #0x1 cmp r9, #0 @@ -9386,7 +9386,7 @@ _021087b4: add r0, r5, #0x2c add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02108800: cmp r7, #0 ldrne r5, [r8, #0x38] @@ -9396,7 +9396,7 @@ _02108800: add r0, sp, #0x48 add r1, sp, #0x54 add r2, sp, #0x18 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, r4, lsr #31 mov r1, r0, asr #0x1 cmp r5, #0 @@ -9407,7 +9407,7 @@ _02108800: add r0, r6, #0x2c add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02108850: add sp, sp, #0x88 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} @@ -9570,7 +9570,7 @@ func_ov05_021089f4: ; 0x021089f4 bl _ZN17LinkStateInteract18func_ov00_020ab6c8Ev mov r0, r4 bl _ZN13LinkStateBase18func_ov00_020a82acEv - ldr r0, _02108ce0 ; =data_027e0fb8 + ldr r0, _02108ce0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev ldr r0, [r4, #0x74] @@ -9766,7 +9766,7 @@ _02108c88: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02108ce0: .word data_027e0fb8 +_02108ce0: .word gPlayerControl _02108ce4: .word data_027e103c _02108ce8: .word 0x00002a30 _02108cec: .word 0x00008ca0 @@ -9960,7 +9960,7 @@ func_ov05_02108f38: ; 0x02108f38 ldr r0, _02108f90 ; =0x0000010b cmp r1, r0 ldmgeia sp!, {r4, pc} - ldr r0, _02108f94 ; =data_027e0fb8 + ldr r0, _02108f94 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl17IsNotUntouchedNowEv cmp r0, #0 @@ -9970,7 +9970,7 @@ _02108f88: ldmia sp!, {r4, pc} .align 2, 0 _02108f90: .word 0x0000010b -_02108f94: .word data_027e0fb8 +_02108f94: .word gPlayerControl arm_func_end func_ov05_02108f38 .global func_ov05_02108f98 @@ -10629,7 +10629,7 @@ _02109868: b _021098bc _02109874: add r0, sp, #0 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev sub r0, r4, #0x21 and r3, r0, #0xff ldr r1, _021099c8 ; =0x43525953 @@ -10779,7 +10779,7 @@ _02109a68: bl _ZN13LinkStateBase6TurnToEsii mov r0, r5 bl _ZN13LinkStateBase12GetPlayerVelEv - ldr r2, _02109cbc ; =data_027e0d0c + ldr r2, _02109cbc ; =gVec3p_ZERO mov r1, #0 ldr r3, [r2] str r3, [r0] @@ -10930,7 +10930,7 @@ _02109cac: .align 2, 0 _02109cb4: .word gItemManager _02109cb8: .word 0x00000e39 -_02109cbc: .word data_027e0d0c +_02109cbc: .word gVec3p_ZERO _02109cc0: .word 0x00780335 _02109cc4: .word data_027e0c68 _02109cc8: .word 0x00780003 @@ -11347,7 +11347,7 @@ _0210a208: add r0, r2, r0 str r0, [sp, #0x6c] ldr r0, [r3, #0x28] - ldr r3, _0210a4c0 ; =data_02050f54 + ldr r3, _0210a4c0 ; =gSinCosTable add r0, r1, r0 str r0, [sp, #0x70] ldrh r1, [r5, #0x78] @@ -11455,7 +11455,7 @@ _0210a360: str r1, [sp, #0x40] ldr r1, _0210a4cc ; =data_ov05_021122f0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 bl _ZN13LinkStateBase14GetPlayerAngleEv mov r1, r0 @@ -11474,7 +11474,7 @@ _0210a408: add r0, sp, #0x38 ldr r1, _0210a4d0 ; =data_ov05_021122fc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrsh r1, [r0] @@ -11515,7 +11515,7 @@ _0210a4ac: _0210a4b4: .word gItemManager _0210a4b8: .word data_ov05_02112308 _0210a4bc: .word data_ov05_02112770 -_0210a4c0: .word data_02050f54 +_0210a4c0: .word gSinCosTable _0210a4c4: .word data_ov00_020e9c88 _0210a4c8: .word func_ov05_0210a4d4 _0210a4cc: .word data_ov05_021122f0 @@ -11552,7 +11552,7 @@ func_ov05_0210a4e0: ; 0x0210a4e0 add r0, r2, r0 str r0, [sp, #0x34] ldr r0, [r3, #0x28] - ldr r3, _0210a604 ; =data_02050f54 + ldr r3, _0210a604 ; =gSinCosTable add r0, r1, r0 str r0, [sp, #0x38] ldrh r1, [r4, #0x78] @@ -11609,7 +11609,7 @@ _0210a5e4: ldmia sp!, {r4, r5, pc} .align 2, 0 _0210a600: .word data_ov05_02112770 -_0210a604: .word data_02050f54 +_0210a604: .word gSinCosTable _0210a608: .word gItemManager _0210a60c: .word data_ov00_020e9360 arm_func_end func_ov05_0210a4e0 @@ -11761,7 +11761,7 @@ _0210a798: cmp r0, #0x2000 ldmltia sp!, {r4, pc} add r0, r4, #0x18 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 cmp r1, #0x5000 ldr r0, [r4, #4] @@ -11789,7 +11789,7 @@ func_ov05_0210a7d4: ; 0x0210a7d4 bl _ZN13LinkStateBase12GetPlayerPosEv add r2, sp, #0x2c add r1, r6, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r6 bl _ZN13LinkStateBase12GetGrabActorEv movs r4, r0 @@ -11841,7 +11841,7 @@ _0210a830: blt _0210a904 mov r0, r4 ldr r2, [r0] - ldr r1, _0210aae8 ; =data_027e0d0c + ldr r1, _0210aae8 ; =gVec3p_ZERO ldr r2, [r2, #0x5c] blx r2 cmp r0, #0 @@ -11949,7 +11949,7 @@ _0210aa64: str r0, [r4, #0x50] mov r0, r4 ldr r2, [r0] - ldr r1, _0210aae8 ; =data_027e0d0c + ldr r1, _0210aae8 ; =gVec3p_ZERO ldr r2, [r2, #0x5c] blx r2 cmp r0, #0 @@ -11982,7 +11982,7 @@ _0210aad8: .word gMapManager _0210aadc: .word 0x424f4d42 _0210aae0: .word gItemManager _0210aae4: .word 0x43525953 -_0210aae8: .word data_027e0d0c +_0210aae8: .word gVec3p_ZERO _0210aaec: .word 0x424d5459 _0210aaf0: .word 0x0000ffff _0210aaf4: .word data_ov05_0211291c @@ -12016,7 +12016,7 @@ func_ov05_0210ab1c: ; 0x0210ab1c mov r6, r0 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r2, #1 - ldr r1, _0210ad68 ; =data_027e0fe4 + ldr r1, _0210ad68 ; =gActorManager strb r2, [r0, #0xba] ldr r0, [r1] add r1, r6, #0x10 @@ -12118,10 +12118,10 @@ _0210ac7c: mov r1, r0 add r0, sp, #0x18 add r2, sp, #0xc - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r6 mov r4, r1, asr #0x10 @@ -12142,10 +12142,10 @@ _0210ad00: mov r1, r0 add r0, sp, #0x18 add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r6 mov r4, r1, asr #0x10 @@ -12166,7 +12166,7 @@ _0210ad54: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0210ad68: .word data_027e0fe4 +_0210ad68: .word gActorManager _0210ad6c: .word data_027e0d38 _0210ad70: .word gAdventureFlags _0210ad74: .word gItemManager @@ -12184,7 +12184,7 @@ func_ov05_0210ad88: ; 0x0210ad88 mov r5, r0 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r2, #0 - ldr r1, _0210b280 ; =data_027e0fe4 + ldr r1, _0210b280 ; =gActorManager strb r2, [r0, #0xbc] ldr r0, [r1] add r1, r5, #0x10 @@ -12263,7 +12263,7 @@ _0210ae98: mov r0, r5 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r0, [r0] - ldr r3, _0210b288 ; =data_02050f54 + ldr r3, _0210b288 ; =gSinCosTable mov r1, #0x800 mov r0, r0, asr #0x4 mov r7, r0, lsl #0x1 @@ -12338,7 +12338,7 @@ _0210ae98: sub ip, r0, #0x1800 add r0, r1, #1 mov r2, r1, lsl #0x1 - ldr r1, _0210b288 ; =data_02050f54 + ldr r1, _0210b288 ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r7, [r1, r2] ldrsh r6, [r1, r0] @@ -12424,7 +12424,7 @@ _0210ae98: mov r2, r4 strb r3, [r5, #0xb1] bl func_ov05_0210b4f4 - ldr r1, _0210b294 ; =data_027e0fb8 + ldr r1, _0210b294 ; =gPlayerControl mov r0, r5 ldr r6, [r1] bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -12509,12 +12509,12 @@ _0210b264: add sp, sp, #0x100 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0210b280: .word data_027e0fe4 +_0210b280: .word gActorManager _0210b284: .word gAdventureFlags -_0210b288: .word data_02050f54 +_0210b288: .word gSinCosTable _0210b28c: .word 0x0000ffff _0210b290: .word gMapManager -_0210b294: .word data_027e0fb8 +_0210b294: .word gPlayerControl _0210b298: .word data_ov05_021128a4 _0210b29c: .word data_ov05_021128b4 _0210b2a0: .word data_ov05_02112894 @@ -12531,7 +12531,7 @@ func_ov05_0210b2a4: ; 0x0210b2a4 mov r0, r5 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r2, #0 - ldr r1, _0210b3b0 ; =data_027e0fe4 + ldr r1, _0210b3b0 ; =gActorManager strb r2, [r0, #0xbc] ldr r0, [r1] add r1, r5, #0x10 @@ -12546,7 +12546,7 @@ func_ov05_0210b2a4: ; 0x0210b2a4 bl _ZN13LinkStateBase15ChangeLinkStateEi ldmia sp!, {r3, r4, r5, pc} _0210b2fc: - ldr r0, _0210b3b4 ; =data_027e0fb8 + ldr r0, _0210b3b4 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl16CheckNotTouchingEv cmp r0, #0 @@ -12597,8 +12597,8 @@ _0210b3a0: bl _ZN17LinkStateInteract18func_ov00_020aa844EP5Actor ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0210b3b0: .word data_027e0fe4 -_0210b3b4: .word data_027e0fb8 +_0210b3b0: .word gActorManager +_0210b3b4: .word gPlayerControl _0210b3b8: .word gAdventureFlags arm_func_end func_ov05_0210b2a4 @@ -12665,7 +12665,7 @@ _0210b474: moveq r4, #1 movne r4, #2 _0210b484: - ldr r0, _0210b4f0 ; =data_027e0fe4 + ldr r0, _0210b4f0 ; =gActorManager add r1, r6, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -12693,7 +12693,7 @@ _0210b484: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0210b4f0: .word data_027e0fe4 +_0210b4f0: .word gActorManager arm_func_end func_ov05_0210b3bc .global func_ov05_0210b4f4 @@ -12782,7 +12782,7 @@ _0210b5f4: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} _0210b608: - ldr r0, _0210b95c ; =data_027e0fb8 + ldr r0, _0210b95c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev mov r0, r5 @@ -12804,7 +12804,7 @@ _0210b634: bl _ZN13LinkStateBase14GetPlayerAngleEv mov r2, #0x8000 rsb r2, r2, #0 - ldr r1, _0210b95c ; =data_027e0fb8 + ldr r1, _0210b95c ; =gPlayerControl strh r2, [r0] ldr r0, [r1] bl _ZN13PlayerControl9SetUnk_80Ev @@ -12815,7 +12815,7 @@ _0210b634: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} _0210b684: - ldr r0, _0210b95c ; =data_027e0fb8 + ldr r0, _0210b95c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev ldr r1, _0210b968 ; =gMapManager @@ -12896,7 +12896,7 @@ _0210b79c: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} _0210b7b0: - ldr r0, _0210b95c ; =data_027e0fb8 + ldr r0, _0210b95c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev bl func_020385b8 @@ -12943,7 +12943,7 @@ _0210b7dc: cmp r1, #1 addlt sp, sp, #0x14 ldmltia sp!, {r3, r4, r5, r6, pc} - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -13008,7 +13008,7 @@ _0210b954: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0210b95c: .word data_027e0fb8 +_0210b95c: .word gPlayerControl _0210b960: .word data_ov05_02112984 _0210b964: .word data_ov05_021129f4 _0210b968: .word gMapManager @@ -13017,11 +13017,11 @@ _0210b968: .word gMapManager .global func_ov05_0210b96c arm_func_start func_ov05_0210b96c func_ov05_0210b96c: ; 0x0210b96c - ldr ip, _0210b978 ; =func_01fffcec + ldr ip, _0210b978 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_0210b978: .word func_01fffcec +_0210b978: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov05_0210b96c .global func_ov05_0210b97c @@ -13061,7 +13061,7 @@ func_ov05_0210b9c4: ; 0x0210b9c4 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} ldr r0, [r4, #0x24] - ldr r1, _0210ba8c ; =data_027e0fe4 + ldr r1, _0210ba8c ; =gActorManager str r0, [sp] ldr r2, [r4, #0x28] ldr r0, _0210ba90 ; =gMapManager @@ -13104,7 +13104,7 @@ _0210ba7c: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0210ba8c: .word data_027e0fe4 +_0210ba8c: .word gActorManager _0210ba90: .word gMapManager _0210ba94: .word data_ov00_020eec9c arm_func_end func_ov05_0210b9c4 @@ -13154,7 +13154,7 @@ _0210bb10: cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} - ldr r0, _0210bb4c ; =data_027e0fb8 + ldr r0, _0210bb4c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev mov r0, r4 @@ -13164,7 +13164,7 @@ _0210bb10: ldmia sp!, {r3, r4, pc} .align 2, 0 _0210bb48: .word gMapManager -_0210bb4c: .word data_027e0fb8 +_0210bb4c: .word gPlayerControl arm_func_end func_ov05_0210babc .global func_ov05_0210bb50 @@ -13231,7 +13231,7 @@ _0210bc18: mov r0, r5 mov r2, r4 bl func_ov05_0210ca80 - ldr r1, _0210bd60 ; =data_027e0fb8 + ldr r1, _0210bd60 ; =gPlayerControl mov r0, r5 ldr r6, [r1] bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -13291,9 +13291,9 @@ _0210bce0: mov r1, r0 add r0, sp, #0x14 add r2, sp, #8 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #8 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _0210bd6c ; =0x00000155 cmp r0, r1 blt _0210bd48 @@ -13315,7 +13315,7 @@ _0210bd48: .align 2, 0 _0210bd58: .word gMapManager _0210bd5c: .word gAdventureFlags -_0210bd60: .word data_027e0fb8 +_0210bd60: .word gPlayerControl _0210bd64: .word data_ov05_021129d4 _0210bd68: .word data_ov05_021129c4 _0210bd6c: .word 0x00000155 @@ -13357,7 +13357,7 @@ _0210bdd8: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _0210bdec: - ldr r0, _0210bf44 ; =data_027e0fb8 + ldr r0, _0210bf44 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl16CheckNotTouchingEv cmp r0, #0 @@ -13430,9 +13430,9 @@ _0210beb8: mov r1, r0 add r0, sp, #4 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #4 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _0210bf4c ; =0x00000155 cmp r0, r1 addlt sp, sp, #0x10 @@ -13451,7 +13451,7 @@ _0210beb8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0210bf40: .word gMapManager -_0210bf44: .word data_027e0fb8 +_0210bf44: .word gPlayerControl _0210bf48: .word gAdventureFlags _0210bf4c: .word 0x00000155 arm_func_end func_ov05_0210bd70 @@ -13521,13 +13521,13 @@ _0210c004: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0210c040: - ldr r0, _0210c200 ; =data_027e0fb8 + ldr r0, _0210c200 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv cmp r0, #0xcd addle sp, sp, #0x14 ldmleia sp!, {r4, r5, r6, r7, r8, r9, pc} - ldr r1, _0210c200 ; =data_027e0fb8 + ldr r1, _0210c200 ; =gPlayerControl mov r0, r4 ldr r6, [r1] bl _ZN13LinkStateBase14GetPlayerAngleEv @@ -13536,7 +13536,7 @@ _0210c040: bl _ZN13PlayerControl13GetTouchAngleEv strh r0, [r5] bl func_ov05_0210b96c - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -13544,7 +13544,7 @@ _0210c040: ldrneb r0, [r4, #0x15] cmpne r0, #0 beq _0210c19c - ldr r0, _0210c200 ; =data_027e0fb8 + ldr r0, _0210c200 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13GetTouchAngleEv ldrsh r1, [r4, #0x16] @@ -13570,7 +13570,7 @@ _0210c040: mov r1, r5, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 - ldr r3, _0210c204 ; =data_02050f54 + ldr r3, _0210c204 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r6, [r3, r1] ldr r1, _0210c208 ; =0x0000019a @@ -13609,7 +13609,7 @@ _0210c040: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0210c19c: - ldr r0, _0210c200 ; =data_027e0fb8 + ldr r0, _0210c200 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b13c4Ev cmp r0, #0 @@ -13635,8 +13635,8 @@ _0210c19c: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0210c200: .word data_027e0fb8 -_0210c204: .word data_02050f54 +_0210c200: .word gPlayerControl +_0210c204: .word gSinCosTable _0210c208: .word 0x0000019a arm_func_end func_ov05_0210bf50 @@ -13653,7 +13653,7 @@ func_ov05_0210c20c: ; 0x0210c20c bl _ZN13LinkStateBase19GetCurrentCharacterEv cmp r0, #1 bne _0210c2b4 - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl mov r2, #0 ldr r0, [r0] add r1, sp, #8 @@ -13677,7 +13677,7 @@ func_ov05_0210c20c: ; 0x0210c20c mov r1, r0 add r0, sp, #0x6c add r2, sp, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub bl func_ov05_02106634 add r1, sp, #8 add r2, sp, #0x60 @@ -13747,7 +13747,7 @@ _0210c38c: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0210c398: - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl ldr r0, [r0] ldr r5, [r0, #0xa0] cmp r5, #0 @@ -13766,7 +13766,7 @@ _0210c398: bl _ZN13LinkStateBase12GetPlayerPosEv mov r1, r0 add r0, sp, #0x54 - bl func_01ff9ec0 + bl Vec3p_Distance b _0210c3f8 _0210c3ec: add sp, sp, #0x78 @@ -13782,7 +13782,7 @@ _0210c3f8: mov r0, r7 bl _ZN13LinkStateBase12GetGrabActorEv cmp r0, #0 - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl movne r2, #1 ldr r0, [r0] moveq r2, #0 @@ -13790,7 +13790,7 @@ _0210c3f8: bl _ZN13PlayerControl18func_ov00_020afeecEib cmp r0, #0 bne _0210c454 - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv add sp, sp, #0x78 @@ -13827,7 +13827,7 @@ _0210c4b4: mov r0, r7 add r1, r7, #0x24 bl _ZN13LinkStateBase6LookAtEP5Vec3p - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv add sp, sp, #0x78 @@ -13837,7 +13837,7 @@ _0210c4d8: mov r0, r7 add r1, r7, #0x24 bl _ZN13LinkStateBase6LookAtEP5Vec3p - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv ldr r1, [r7, #0x24] @@ -13992,7 +13992,7 @@ _0210c680: mov r0, r7 add r1, r7, #0x24 bl _ZN13LinkStateBase6LookAtEP5Vec3p - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev add sp, sp, #0x78 @@ -14009,7 +14009,7 @@ _0210c738: mov r0, r7 add r1, r7, #0x24 bl _ZN13LinkStateBase6LookAtEP5Vec3p - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev mov r0, r7 @@ -14030,7 +14030,7 @@ _0210c788: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0210c7a8: - ldr r0, _0210c94c ; =data_027e0fb8 + ldr r0, _0210c94c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev bl func_020385b8 @@ -14125,7 +14125,7 @@ _0210c88c: sub r1, r2, r1 str r1, [sp, #0x48] bl _ZN13LinkStateBase12GetPlayerPosEv - ldr r1, _0210c94c ; =data_027e0fb8 + ldr r1, _0210c94c ; =gPlayerControl ldr r2, [r0, #8] ldr r3, [r7, #0x2c] ldr r0, [r1] @@ -14141,7 +14141,7 @@ _0210c93c: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0210c948: .word data_027e0618 -_0210c94c: .word data_027e0fb8 +_0210c94c: .word gPlayerControl _0210c950: .word gMapManager _0210c954: .word data_ov00_020eec9c _0210c958: .word data_ov05_02112324 @@ -14273,7 +14273,7 @@ _0210cacc: str r1, [r4, #4] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r1, [r0] - ldr r5, _0210cb7c ; =data_02050f54 + ldr r5, _0210cb7c ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -14305,7 +14305,7 @@ _0210cacc: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0210cb7c: .word data_02050f54 +_0210cb7c: .word gSinCosTable arm_func_end func_ov05_0210ca80 .global func_ov05_0210cb80 @@ -14854,7 +14854,7 @@ _0210d2bc: str r0, [r8, #0x24] str r0, [r8, #0x28] _0210d2cc: - ldr r0, _0210d320 ; =data_027e0fc8 + ldr r0, _0210d320 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 addeq sp, sp, #0xc @@ -14877,7 +14877,7 @@ _0210d310: .word data_027e077c _0210d314: .word data_027e103c _0210d318: .word data_027e0c38 _0210d31c: .word data_ov00_020ee6f8 -_0210d320: .word data_027e0fc8 +_0210d320: .word gPlayerLink arm_func_end func_ov05_0210d0e4 .global func_ov05_0210d324 @@ -15064,7 +15064,7 @@ _0210d4e8: mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 - ldr r1, _0210d6d8 ; =data_02050f54 + ldr r1, _0210d6d8 ; =gSinCosTable mov r2, r3, lsl #0x1 ldrsh r2, [r1, r2] add r1, r1, r3, lsl #1 @@ -15079,7 +15079,7 @@ _0210d4e8: movlt r0, r2 add r1, sp, #0x14 mov r2, r6 - bl func_01ff9e64 + bl Vec3p_Axpy b _0210d684 _0210d5e8: cmp r10, r9 @@ -15120,7 +15120,7 @@ _0210d5e8: add r1, sp, #8 mov r2, r6 mov r3, r6 - bl func_01ff9e64 + bl Vec3p_Axpy _0210d684: add r7, r7, #0x14 add r0, r4, #1 @@ -15146,7 +15146,7 @@ _0210d6c4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0210d6d4: .word data_027e0764 -_0210d6d8: .word data_02050f54 +_0210d6d8: .word gSinCosTable arm_func_end func_ov05_0210d474 .global func_ov05_0210d6dc @@ -15526,7 +15526,7 @@ _0210db90: ldrb r0, [r6, #0x92] cmp r0, #0 bne _0210dbd4 - ldr r0, _0210df70 ; =data_027e0fc8 + ldr r0, _0210df70 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _0210dbd4 @@ -15621,7 +15621,7 @@ _0210dcf4: add r0, r6, #0x12 bl func_ov00_020d054c _0210dcfc: - ldr r0, _0210df70 ; =data_027e0fc8 + ldr r0, _0210df70 ; =gPlayerLink mov r4, #0 ldr r0, [r0] cmp r0, #0 @@ -15724,11 +15724,11 @@ _0210de50: _0210de70: bl func_ov00_020d0594 _0210de74: - ldr r0, _0210df70 ; =data_027e0fc8 + ldr r0, _0210df70 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _0210de9c - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 beq _0210de9c add r0, r6, #0x24 @@ -15799,7 +15799,7 @@ _0210df60: .word data_027e077c _0210df64: .word data_027e103c _0210df68: .word gAdventureFlags _0210df6c: .word data_027e0c68 -_0210df70: .word data_027e0fc8 +_0210df70: .word gPlayerLink _0210df74: .word data_027e0db0 _0210df78: .word data_027e0d78 arm_func_end func_ov05_0210da7c @@ -15815,7 +15815,7 @@ func_ov05_0210df7c: ; 0x0210df7c bl func_ov05_0210e014 cmp r0, #0 beq _0210dfc0 - ldr r0, _0210e008 ; =data_027e0fc8 + ldr r0, _0210e008 ; =gPlayerLink mov r1, #6 ldr r0, [r0] ldr r2, [r0] @@ -15844,7 +15844,7 @@ _0210dfc0: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0210e008: .word data_027e0fc8 +_0210e008: .word gPlayerLink _0210e00c: .word data_027e077c _0210e010: .word data_027e0c68 arm_func_end func_ov05_0210df7c @@ -15852,11 +15852,11 @@ _0210e010: .word data_027e0c68 .global func_ov05_0210e014 arm_func_start func_ov05_0210e014 func_ov05_0210e014: ; 0x0210e014 - ldr r0, _0210e020 ; =data_027e0fc8 + ldr r0, _0210e020 ; =gPlayerLink ldr r0, [r0] bx lr .align 2, 0 -_0210e020: .word data_027e0fc8 +_0210e020: .word gPlayerLink arm_func_end func_ov05_0210e014 .global func_ov05_0210e024 @@ -16234,14 +16234,14 @@ func_ov05_0210e4e4: ; 0x0210e4e4 movs r5, r1 mov r6, r0 bne _0210e52c - ldr r0, _0210e878 ; =data_027e0fb8 + ldr r0, _0210e878 ; =gPlayerControl mov r1, r2 ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020af538Ev - ldr r1, _0210e878 ; =data_027e0fb8 + ldr r1, _0210e878 ; =gPlayerControl mov r0, r6 ldr r4, [r1] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 moveq r1, #1 movne r1, #0 @@ -16269,7 +16269,7 @@ _0210e52c: bl func_ov00_020bc71c mov r7, r0 mov r0, r6 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 moveq r2, #1 movne r2, #0 @@ -16277,7 +16277,7 @@ _0210e52c: mov r1, r7 bl func_ov00_020b5360 ldr r1, _0210e87c ; =data_027e0fcc - ldr r2, _0210e888 ; =data_027e0fa0 + ldr r2, _0210e888 ; =gPlayerVel ldr r3, [r1] ldr r1, _0210e884 ; =data_027e0fd4 ldr r3, [r3, #8] @@ -16309,7 +16309,7 @@ _0210e52c: ldr r1, [r0] ldr r1, [r1, #0x68] blx r1 - ldr r0, _0210e878 ; =data_027e0fb8 + ldr r0, _0210e878 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x7d] cmp r0, #0 @@ -16331,13 +16331,13 @@ _0210e644: ldr r4, _0210e884 ; =data_027e0fd4 ldr r2, _0210e87c ; =data_027e0fcc ldr r3, [r4] - ldr r1, _0210e890 ; =data_027e0f94 + ldr r1, _0210e890 ; =gPlayerPos strb r0, [r3, #0xb8] ldr r3, [r6, #0x20] ldr r0, [r2] str r3, [sp, #0xc] ldr r3, [r6, #0x24] - ldr r2, _0210e888 ; =data_027e0fa0 + ldr r2, _0210e888 ; =gPlayerVel str r3, [sp, #0x10] ldr ip, [r6, #0x28] add r3, sp, #0xc @@ -16399,7 +16399,7 @@ _0210e760: bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0210e7b8 - ldr r0, _0210e878 ; =data_027e0fb8 + ldr r0, _0210e878 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x7d] cmp r0, #0 @@ -16420,12 +16420,12 @@ _0210e7b8: ldr r0, [r0] bl func_ov00_020b50f8 ldr ip, _0210e87c ; =data_027e0fcc - ldr r2, _0210e8a0 ; =data_027e0fac + ldr r2, _0210e8a0 ; =gPlayerAngle ldr r1, [ip] ldr r3, _0210e884 ; =data_027e0fd4 strb r0, [r1, #0x149] ldr r0, [ip] - ldr r1, _0210e890 ; =data_027e0f94 + ldr r1, _0210e890 ; =gPlayerPos strb r4, [r0, #0x14a] ldr r0, [ip] ldrsh r2, [r2] @@ -16450,7 +16450,7 @@ _0210e7b8: bl func_ov29_02178fd0 _0210e838: ldr r0, _0210e87c ; =data_027e0fcc - ldr r2, _0210e890 ; =data_027e0f94 + ldr r2, _0210e890 ; =gPlayerPos ldr r0, [r0] mov r1, r5 ldr r3, [r0] @@ -16466,17 +16466,17 @@ _0210e838: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0210e878: .word data_027e0fb8 +_0210e878: .word gPlayerControl _0210e87c: .word data_027e0fcc _0210e880: .word data_027e0d38 _0210e884: .word data_027e0fd4 -_0210e888: .word data_027e0fa0 +_0210e888: .word gPlayerVel _0210e88c: .word data_027e0fd0 -_0210e890: .word data_027e0f94 +_0210e890: .word gPlayerPos _0210e894: .word gMapManager _0210e898: .word gAdventureFlags _0210e89c: .word 0x66666667 -_0210e8a0: .word data_027e0fac +_0210e8a0: .word gPlayerAngle _0210e8a4: .word data_ov00_020eec9c arm_func_end func_ov05_0210e4e4 @@ -16524,7 +16524,7 @@ _0210e918: bl func_ov00_020b1eb8 cmp r0, #0 beq _0210ea1c - ldr r0, _0210ea90 ; =data_027e0fac + ldr r0, _0210ea90 ; =gPlayerAngle ldrsh r0, [r0] bl func_0202bbbc cmp r0, #3 @@ -16536,7 +16536,7 @@ _0210e94c: ; jump table b _0210e9bc ; case 2 b _0210e9ec ; case 3 _0210e95c: - ldr r0, _0210ea94 ; =data_027e0f94 + ldr r0, _0210ea94 ; =gPlayerPos ldr r1, [r5, #0x14] ldr r2, [r0] cmp r2, r1 @@ -16549,7 +16549,7 @@ _0210e95c: str r0, [r5, #0x1c] b _0210ea38 _0210e98c: - ldr r0, _0210ea94 ; =data_027e0f94 + ldr r0, _0210ea94 ; =gPlayerPos ldr r1, [r5, #0x14] ldr r2, [r0] cmp r2, r1 @@ -16562,7 +16562,7 @@ _0210e98c: str r0, [r5, #0x1c] b _0210ea38 _0210e9bc: - ldr r0, _0210ea94 ; =data_027e0f94 + ldr r0, _0210ea94 ; =gPlayerPos ldr r1, [r5, #0x1c] ldr r2, [r0, #8] cmp r2, r1 @@ -16575,7 +16575,7 @@ _0210e9bc: str r0, [r5, #0x1c] b _0210ea38 _0210e9ec: - ldr r0, _0210ea94 ; =data_027e0f94 + ldr r0, _0210ea94 ; =gPlayerPos ldr r1, [r5, #0x1c] ldr r2, [r0, #8] cmp r2, r1 @@ -16588,7 +16588,7 @@ _0210e9ec: str r0, [r5, #0x1c] b _0210ea38 _0210ea1c: - ldr r0, _0210ea94 ; =data_027e0f94 + ldr r0, _0210ea94 ; =gPlayerPos ldr r1, [r0] str r1, [r5, #0x14] ldr r1, [r0, #4] @@ -16597,7 +16597,7 @@ _0210ea1c: str r0, [r5, #0x1c] _0210ea38: ldr r0, _0210ea98 ; =data_027e0fcc - ldr r3, _0210ea90 ; =data_027e0fac + ldr r3, _0210ea90 ; =gPlayerAngle ldr r2, [r0] mov r1, r4 ldrb ip, [r2, #0x14e] @@ -16619,8 +16619,8 @@ _0210ea38: .align 2, 0 _0210ea88: .word data_027e0d38 _0210ea8c: .word gMapManager -_0210ea90: .word data_027e0fac -_0210ea94: .word data_027e0f94 +_0210ea90: .word gPlayerAngle +_0210ea94: .word gPlayerPos _0210ea98: .word data_027e0fcc _0210ea9c: .word data_027e0fd0 arm_func_end func_ov05_0210e8b4 @@ -16640,7 +16640,7 @@ func_ov05_0210eaa0: ; 0x0210eaa0 cmp r0, #0 beq _0210eb64 ldr r0, _0210eb90 ; =data_027e0fcc - ldr r1, _0210eb94 ; =data_027e0fac + ldr r1, _0210eb94 ; =gPlayerAngle ldr r0, [r0] ldrsh r2, [r1] ldr r3, [r0] @@ -16655,9 +16655,9 @@ func_ov05_0210eaa0: ; 0x0210eaa0 cmp r1, #0 beq _0210eb64 ldr r1, _0210eb98 ; =data_027e0fb0 - ldr r3, _0210eb94 ; =data_027e0fac + ldr r3, _0210eb94 ; =gPlayerAngle ldrsh ip, [r1] - ldr r2, _0210eb9c ; =data_027e0f94 + ldr r2, _0210eb9c ; =gPlayerPos mov r1, r4 str ip, [sp] ldr ip, [r0] @@ -16691,9 +16691,9 @@ _0210eb64: ldmia sp!, {r4, r5, pc} .align 2, 0 _0210eb90: .word data_027e0fcc -_0210eb94: .word data_027e0fac +_0210eb94: .word gPlayerAngle _0210eb98: .word data_027e0fb0 -_0210eb9c: .word data_027e0f94 +_0210eb9c: .word gPlayerPos _0210eba0: .word data_027e0fd0 arm_func_end func_ov05_0210eaa0 @@ -16797,7 +16797,7 @@ _0210ecd0: cmp r0, #0x24000 addlt sp, sp, #0x20 ldmltia sp!, {r4, r5, r6, pc} - ldr r0, _0210f688 ; =data_027e0fb8 + ldr r0, _0210f688 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv ldr r1, _0210f68c ; =0x00000ccd @@ -16895,7 +16895,7 @@ _0210ee40: bl _ZN13LinkStateBase12GetPlayerPosEv add r2, sp, #0x14 add r1, r4, #0x34 - bl func_01ff9bc4 + bl Vec3p_Add add r2, r6, #0x34 add r1, r6, #0x3c cmp r2, r1 @@ -16942,7 +16942,7 @@ _0210eedc: mov r2, r4 str r2, [r0, #0x1c] str r2, [r0, #0x20] - ldr r1, _0210f688 ; =data_027e0fb8 + ldr r1, _0210f688 ; =gPlayerControl str r2, [r0, #0x24] ldr r0, [r1] bl _ZN13PlayerControl14IsTouchingFastEv @@ -16970,11 +16970,11 @@ _0210ef34: bl _ZN13LinkStateBase15ChangeLinkStateEi b _0210f030 _0210ef74: - ldr r0, _0210f688 ; =data_027e0fb8 + ldr r0, _0210f688 ; =gPlayerControl ldr r1, [r0] ldrsh r0, [r1, #0x72] ldrsh r1, [r1, #0x74] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -16983,7 +16983,7 @@ _0210ef74: mov r2, r0, lsl #0x1 add r1, r2, #1 ldr r0, _0210f69c ; =data_ov00_020dc550 - ldr r3, _0210f6a0 ; =data_02050f54 + ldr r3, _0210f6a0 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] @@ -17421,7 +17421,7 @@ _0210f5d8: mov r0, r6 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev mov r2, #1 - ldr r1, _0210f688 ; =data_027e0fb8 + ldr r1, _0210f688 ; =gPlayerControl strb r2, [r0, #0xbe] ldr r0, [r1] bl _ZN13PlayerControl20UpdateUsingEquipItemEv @@ -17457,13 +17457,13 @@ _0210f680: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0210f688: .word data_027e0fb8 +_0210f688: .word gPlayerControl _0210f68c: .word 0x00000ccd _0210f690: .word data_ov00_020dc558 _0210f694: .word 0x000002aa _0210f698: .word data_ov00_020e5adc _0210f69c: .word data_ov00_020dc550 -_0210f6a0: .word data_02050f54 +_0210f6a0: .word gSinCosTable _0210f6a4: .word data_ov00_020dc554 _0210f6a8: .word 0x88888889 _0210f6ac: .word data_027e0c54 @@ -17534,7 +17534,7 @@ func_ov05_0210f714: ; 0x0210f714 .global func_ov05_0210f71c arm_func_start func_ov05_0210f71c func_ov05_0210f71c: ; 0x0210f71c - ldr r0, _0210f750 ; =data_027e0fb8 + ldr r0, _0210f750 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x7d] cmp r0, #0 @@ -17548,7 +17548,7 @@ func_ov05_0210f71c: ; 0x0210f71c moveq r0, #0 bx lr .align 2, 0 -_0210f750: .word data_027e0fb8 +_0210f750: .word gPlayerControl _0210f754: .word data_027e077c arm_func_end func_ov05_0210f71c @@ -17557,7 +17557,7 @@ _0210f754: .word data_027e077c func_ov05_0210f758: ; 0x0210f758 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r2, _0210f7b0 ; =data_027e0f94 + ldr r2, _0210f7b0 ; =gPlayerPos ldr r1, _0210f7b4 ; =data_027e0fd4 mov r4, r0 ldr r2, [r2, #4] @@ -17570,7 +17570,7 @@ func_ov05_0210f758: ; 0x0210f758 ldmeqia sp!, {r3, r4, pc} ldr r4, [r4, #8] mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r2, r0 add r1, sp, #0 mov r0, r4 @@ -17578,7 +17578,7 @@ func_ov05_0210f758: ; 0x0210f758 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0210f7b0: .word data_027e0f94 +_0210f7b0: .word gPlayerPos _0210f7b4: .word data_027e0fd4 arm_func_end func_ov05_0210f758 @@ -17597,15 +17597,15 @@ func_ov05_0210f7b8: ; 0x0210f7b8 ldmeqia sp!, {r4, pc} ldr r4, [r4, #8] mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r2, r0 - ldr r1, _0210f804 ; =data_027e0f94 + ldr r1, _0210f804 ; =gPlayerPos mov r0, r4 bl func_ov00_020bc8b8 ldmia sp!, {r4, pc} .align 2, 0 _0210f800: .word func_ov00_020b1940 -_0210f804: .word data_027e0f94 +_0210f804: .word gPlayerPos arm_func_end func_ov05_0210f7b8 .global func_ov05_0210f808 @@ -17635,17 +17635,17 @@ func_ov05_0210f808: ; 0x0210f808 mov r1, r0 add r2, sp, #0x2c mov r0, r6 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x2c] ldr r1, [sp, #0x34] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 b _0210f89c _0210f884: cmp r9, #0 ble _0210f89c - ldr r0, _021101d8 ; =data_027e0fb8 + ldr r0, _021101d8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13GetTouchAngleEv mov r5, r0 @@ -17699,7 +17699,7 @@ _0210f8dc: mov r1, r0 ldr r0, [r1, #0x114] ldr r1, [r1, #0x11c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 @@ -17710,7 +17710,7 @@ _0210f8dc: mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 - ldr r0, _021101dc ; =data_02050f54 + ldr r0, _021101dc ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r0, r1] ldr r0, _021101e0 ; =data_ov05_02112acc @@ -17767,7 +17767,7 @@ _0210fa38: bne _0210fc44 cmp r6, #0 beq _0210fa80 - ldr r0, _021101d8 ; =data_027e0fb8 + ldr r0, _021101d8 ; =gPlayerControl mov r1, r6 ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020afad8EP5Vec3p @@ -17842,7 +17842,7 @@ _0210fa80: beq _0210fbf0 ldr r0, [sp, #0x40] ldr r1, [sp, #0x48] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 sub r1, r5, r0, asr #16 mov r1, r1, lsl #0x10 @@ -17886,7 +17886,7 @@ _0210fc04: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0210fc30: - ldr r0, _021101d8 ; =data_027e0fb8 + ldr r0, _021101d8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv mov r9, #0 @@ -17896,7 +17896,7 @@ _0210fc44: bl _ZN13LinkStateBase18func_ov00_020a8b80Ev cmp r0, #0 beq _0210fc74 - ldr r0, _021101d8 ; =data_027e0fb8 + ldr r0, _021101d8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b129cEv mov r3, r0 @@ -17931,7 +17931,7 @@ _0210fc74: bl _ZN13LinkStateBase18func_ov00_020a8294Eij ldr r0, [sp, #0x20] ldr r1, [sp, #0x28] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 @@ -18003,7 +18003,7 @@ _0210fdcc: mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, asr #0x4 - ldr r0, _021101dc ; =data_02050f54 + ldr r0, _021101dc ; =gSinCosTable add r0, r0, r1, lsl #2 ldrsh r1, [r0, #2] mov r0, r1, asr #0x1f @@ -18188,7 +18188,7 @@ _0211008c: mov r0, r10 bl _ZN13LinkStateBase18func_ov00_020a8d40Ev add r0, r0, #0x44 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0xcd ble _021100cc ldr r1, _02110210 ; =data_ov05_02112b14 @@ -18252,7 +18252,7 @@ _0211016c: bl _ZN13LinkStateBase19GetCurrentCharacterEv cmp r0, #0 bne _021101a8 - ldr r1, _021101d8 ; =data_027e0fb8 + ldr r1, _021101d8 ; =gPlayerControl mov r0, r10 ldr r5, [r1] bl _ZN13LinkStateBase12GetPlayerPosEv @@ -18275,8 +18275,8 @@ _021101cc: add sp, sp, #0x84 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_021101d8: .word data_027e0fb8 -_021101dc: .word data_02050f54 +_021101d8: .word gPlayerControl +_021101dc: .word gSinCosTable _021101e0: .word data_ov05_02112acc _021101e4: .word 0x00000ccd _021101e8: .word func_ov05_02110220 @@ -18726,7 +18726,7 @@ func_ov05_021107fc: ; 0x021107fc ldrb r1, [r0, #0x5e] cmp r1, #0 ldmeqia sp!, {r4, pc} - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -19087,7 +19087,7 @@ _02110c50: strh r1, [sp, #0x16] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r2, [r0] - ldr r1, _02110e00 ; =data_02050f54 + ldr r1, _02110e00 ; =gSinCosTable mov r0, r5 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 @@ -19096,7 +19096,7 @@ _02110c50: strh r1, [sp, #0x12] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r2, [r0] - ldr r1, _02110e00 ; =data_02050f54 + ldr r1, _02110e00 ; =gSinCosTable mov r0, r5 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -19136,7 +19136,7 @@ _02110d30: strh r1, [sp, #0x10] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r2, [r0] - ldr r1, _02110e00 ; =data_02050f54 + ldr r1, _02110e00 ; =gSinCosTable mov r0, r5 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 @@ -19145,7 +19145,7 @@ _02110d30: strh r1, [sp, #0xc] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r2, [r0] - ldr r1, _02110e00 ; =data_02050f54 + ldr r1, _02110e00 ; =gSinCosTable mov r0, r5 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -19172,7 +19172,7 @@ _02110df0: .word data_027e0fd4 _02110df4: .word 0x00000253 _02110df8: .word 0x000001e7 _02110dfc: .word data_ov05_021123a0 -_02110e00: .word data_02050f54 +_02110e00: .word gSinCosTable _02110e04: .word func_ov05_0210f6e4 _02110e08: .word data_027e0e58 arm_func_end func_ov05_02110be8 @@ -19212,7 +19212,7 @@ func_ov05_02110e28: ; 0x02110e28 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _02110f40 ; =data_02050f54 + ldr r3, _02110f40 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r3, r2] mov r1, r1, lsl #0x1 @@ -19265,7 +19265,7 @@ _02110ef4: bl _ZN13LinkStateBase18func_ov00_020a8ab0Ei ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02110f40: .word data_02050f54 +_02110f40: .word gSinCosTable _02110f44: .word data_ov00_020eec9c _02110f48: .word data_ov05_02112b24 _02110f4c: .word data_ov00_020e5694 @@ -19541,7 +19541,7 @@ func_ov05_021112ec: ; 0x021112ec bl _ZN13LinkStateBase19GetCurrentCharacterEv cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02111354 ; =data_027e0fac + ldr r0, _02111354 ; =gPlayerAngle ldrsh r4, [r0] bl func_ov05_02105d84 strh r4, [r0, #4] @@ -19554,7 +19554,7 @@ func_ov05_021112ec: ; 0x021112ec strb r0, [r4, #9] ldmia sp!, {r4, pc} .align 2, 0 -_02111354: .word data_027e0fac +_02111354: .word gPlayerAngle arm_func_end func_ov05_021112ec .global func_ov05_02111358 @@ -19743,7 +19743,7 @@ _02111594: ldr r0, [r0] cmp r0, #6 beq _021116a4 - ldr r0, _02111a68 ; =data_027e0fb8 + ldr r0, _02111a68 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b0418Ev mov r7, r0 @@ -19833,7 +19833,7 @@ _021116a4: add r0, sp, #0x40 sub r1, r2, r1 str r1, [sp, #0x48] - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02111a74 ; =0x00000333 cmp r0, r1 ble _02111734 @@ -19847,12 +19847,12 @@ _021116a4: mov r4, r0 b _02111960 _02111734: - ldr r0, _02111a68 ; =data_027e0fb8 + ldr r0, _02111a68 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv b _02111960 _02111744: - ldr r0, _02111a68 ; =data_027e0fb8 + ldr r0, _02111a68 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv cmp r6, #0 @@ -19888,12 +19888,12 @@ _02111744: str r1, [sp, #0x38] bl _ZN13LinkStateBase14GetPlayerAngleEv ldrsh r2, [r0] - ldr r0, _02111a7c ; =data_027e0fe4 + ldr r0, _02111a7c ; =gActorManager add r1, sp, #0x24 strh r2, [sp, #0x3c] ldr r0, [r0] mov r2, #0 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ble _02111868 ldr r0, [sp, #0x2c] @@ -20065,12 +20065,12 @@ _02111a3c: _02111a5c: .word gAdventureFlags _02111a60: .word data_027e0d38 _02111a64: .word data_027e0618 -_02111a68: .word data_027e0fb8 +_02111a68: .word gPlayerControl _02111a6c: .word data_ov05_02112be4 _02111a70: .word data_ov00_020e56f0 _02111a74: .word 0x00000333 _02111a78: .word data_ov05_02112c04 -_02111a7c: .word data_027e0fe4 +_02111a7c: .word gActorManager _02111a80: .word 0x4b4f4b4f _02111a84: .word 0x000004cd _02111a88: .word data_027e0ffc @@ -20083,13 +20083,13 @@ _02111a94: .word data_ov05_021123ac arm_func_start func_ov05_02111a98 func_ov05_02111a98: ; 0x02111a98 stmdb sp!, {r4, lr} - ldr r1, _02111af4 ; =data_027e0fb8 + ldr r1, _02111af4 ; =gPlayerControl mov r4, r0 ldr r0, [r1] bl _ZN13PlayerControl14GetFollowActorEv cmp r0, #0 bne _02111aec - ldr r0, _02111af4 ; =data_027e0fb8 + ldr r0, _02111af4 ; =gPlayerControl ldr r0, [r0] ldr r0, [r0, #0xa0] cmp r0, #0 @@ -20107,7 +20107,7 @@ _02111aec: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02111af4: .word data_027e0fb8 +_02111af4: .word gPlayerControl arm_func_end func_ov05_02111a98 .global func_ov05_02111af8 @@ -20131,11 +20131,11 @@ func_ov05_02111af8: ; 0x02111af8 add r2, sp, #0 add r0, r4, #0x48 add r1, r5, #0xc - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r6, [r5, #0x18] ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r6, r0, asr #16 mov r0, r0, lsl #0x10 @@ -20143,7 +20143,7 @@ func_ov05_02111af8: ; 0x02111af8 movs r6, r0, asr #0x3 rsbmi r6, r6, #0 add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r1, r6, asr #0x1f mov r2, r1, lsl #0xe mov r1, #0x800 diff --git a/asm/ov08.inc b/asm/ov08.inc index dde7625f..31e77a49 100644 --- a/asm/ov08.inc +++ b/asm/ov08.inc @@ -77,7 +77,7 @@ .extern func_ov00_0207c170 .extern func_ov00_020a1a3c .extern func_ov00_020a1b54 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020d69d4 .extern func_ov00_020d69e4 .extern func_ov01_020efdac diff --git a/asm/ov08.s b/asm/ov08.s index f04aa51b..f6ff98a2 100644 --- a/asm/ov08.s +++ b/asm/ov08.s @@ -1055,7 +1055,7 @@ func_ov08_0211396c: ; 0x0211396c stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov08_0211396c diff --git a/asm/ov09.inc b/asm/ov09.inc index 261c1337..78e9bf80 100644 --- a/asm/ov09.inc +++ b/asm/ov09.inc @@ -19,7 +19,7 @@ .extern _ZNK11ItemManager16GetTreasureCountEj .extern _ZNK11ItemManager19GetEquippedShipPartEj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02057200 .extern data_0205785c .extern data_02057878 @@ -39,7 +39,7 @@ .extern data_027e0c68 .extern data_027e0ce0 .extern data_027e0d04 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d54 @@ -51,8 +51,8 @@ .extern data_027e0e58 .extern gMapManager .extern data_027e0f64 -.extern data_027e0f90 -.extern data_027e0fe4 +.extern gPlayer +.extern gActorManager .extern data_027e0ffc .extern data_027e103c .extern data_027e1040 @@ -101,8 +101,8 @@ .extern func_01ff9a18 .extern func_01ff9a50 .extern func_01ff9b4c -.extern func_01ff9bc4 -.extern func_01ff9bf8 +.extern Vec3p_Add +.extern Vec3p_Sub .extern func_01ffa8d4 .extern func_01ffa9fc .extern func_01ffbe34 @@ -272,7 +272,7 @@ .extern func_ov00_020c0d68 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020cef40 .extern func_ov00_020cf270 .extern func_ov00_020cf330 diff --git a/asm/ov09.s b/asm/ov09.s index caaa71e8..d81c217a 100644 --- a/asm/ov09.s +++ b/asm/ov09.s @@ -3200,7 +3200,7 @@ func_ov09_02114554: ; 0x02114554 push {r4, r5, r6, r7, lr} sub sp, #0x1ec add r5, r0, #0 - ldr r0, _021146a8 ; =data_027e0fe4 + ldr r0, _021146a8 ; =gActorManager str r1, [sp, #4] ldr r0, [r0] blx _ZN12ActorManager14Actor_vfunc_28Ev @@ -3351,7 +3351,7 @@ _02114688: add sp, #0x1ec pop {r4, r5, r6, r7, pc} .align 2, 0 -_021146a8: .word data_027e0fe4 +_021146a8: .word gActorManager _021146ac: .word gMapManager _021146b0: .word data_027e0d38 _021146b4: .word data_ov00_020e9f10 @@ -3374,7 +3374,7 @@ func_ov09_021146d0: ; 0x021146d0 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov09_021146d0 @@ -4550,7 +4550,7 @@ _0211505c: ldr r0, _021150a0 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] - ldr r3, _021150a4 ; =data_027e0d0c + ldr r3, _021150a4 ; =gVec3p_ZERO add r1, r4, #0x10 bl func_ov00_0207c1f8 ldr r1, [r4, #0x10] @@ -4566,7 +4566,7 @@ _0211505c: _02115098: .word data_027e0d38 _0211509c: .word 0x00000219 _021150a0: .word data_027e0e58 -_021150a4: .word data_027e0d0c +_021150a4: .word gVec3p_ZERO arm_func_end func_ov09_0211500c .global func_ov09_021150a8 @@ -4777,7 +4777,7 @@ func_ov09_0211530c: ; 0x0211530c bl func_ov00_020a9624 ldrh r1, [r9, #0x94] mov r4, r0 - ldr r3, _02115404 ; =data_02050f54 + ldr r3, _02115404 ; =gSinCosTable mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 @@ -4810,7 +4810,7 @@ func_ov09_0211530c: ; 0x0211530c ldr r3, [r5, #0x54] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r9, #0xc] add r0, sp, #0xc bl func_01fffbec @@ -4821,11 +4821,11 @@ func_ov09_0211530c: ; 0x0211530c mov r1, r6 mov r2, r8 add r0, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02115404: .word data_02050f54 +_02115404: .word gSinCosTable arm_func_end func_ov09_0211530c .global func_ov09_02115408 @@ -4856,7 +4856,7 @@ func_ov09_02115408: ; 0x02115408 mov r1, r4 mov r2, r6 add r0, sp, #0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end func_ov09_02115408 @@ -4889,7 +4889,7 @@ func_ov09_02115478: ; 0x02115478 mov r1, r4 mov r2, r6 add r0, sp, #0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end func_ov09_02115478 @@ -5068,7 +5068,7 @@ _021156e8: bl func_ov09_02115e38 add r0, r6, #0x5c add r11, r6, #0x1ac - ldr r7, _02115a9c ; =data_02050f54 + ldr r7, _02115a9c ; =gSinCosTable str r0, [sp, #0xc] mov r4, #0 add r8, sp, #0xac @@ -5291,7 +5291,7 @@ _02115a44: add sp, sp, #0xdc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02115a9c: .word data_02050f54 +_02115a9c: .word gSinCosTable _02115aa0: .word data_ov09_0211e870 arm_func_end func_ov09_021156a4 @@ -5353,7 +5353,7 @@ func_ov09_02115b10: ; 0x02115b10 add r0, r2, #0x400 mov r1, r4 add r2, r2, #0x400 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov09_02115b10 @@ -5598,7 +5598,7 @@ func_ov09_02115e38: ; 0x02115e38 add r0, r5, #0x68 mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov09_02115e38 @@ -14694,7 +14694,7 @@ _0211b164: bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0211b34c - ldr r0, _0211b378 ; =data_027e0f90 + ldr r0, _0211b378 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -14837,7 +14837,7 @@ _0211b368: .word gAdventureFlags _0211b36c: .word data_027e0db0 _0211b370: .word data_027e0d38 _0211b374: .word data_ov00_020eec9c -_0211b378: .word data_027e0f90 +_0211b378: .word gPlayer _0211b37c: .word data_027e077c _0211b380: .word 0x00000c71 _0211b384: .word data_027e103c @@ -15706,7 +15706,7 @@ func_ov09_0211bd14: ; 0x0211bd14 bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0211bd40 - ldr r0, _0211bd54 ; =data_027e0f90 + ldr r0, _0211bd54 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -15719,7 +15719,7 @@ _0211bd48: ldmia sp!, {r3, pc} .align 2, 0 _0211bd50: .word gAdventureFlags -_0211bd54: .word data_027e0f90 +_0211bd54: .word gPlayer arm_func_end func_ov09_0211bd14 .global func_ov09_0211bd58 @@ -17932,7 +17932,7 @@ func_ov09_0211cd40: ; 0x0211cd40 bl func_01ffa8d4 ldrh r0, [r4, #0x58] mov r5, #0x190000 - ldr r2, _0211ce60 ; =data_02050f54 + ldr r2, _0211ce60 ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 str r5, [sp] @@ -17999,7 +17999,7 @@ func_ov09_0211cd40: ; 0x0211cd40 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0211ce60: .word data_02050f54 +_0211ce60: .word gSinCosTable _0211ce64: .word 0x00001555 _0211ce68: .word data_027e037c _0211ce6c: .word data_027e03c8 @@ -18213,7 +18213,7 @@ func_ov09_0211d00c: ; 0x0211d00c add r4, r1, #0 add r5, r0, #0 ldrh r0, [r4, #0x14] - ldr r3, _0211d08c ; =data_02050f54 + ldr r3, _0211d08c ; =gSinCosTable asr r0, r0, #4 lsl r2, r0, #1 lsl r1, r2, #1 @@ -18224,7 +18224,7 @@ func_ov09_0211d00c: ; 0x0211d00c add r0, sp, #0x24 bl func_01ff8230 ldrh r0, [r4, #0x10] - ldr r3, _0211d08c ; =data_02050f54 + ldr r3, _0211d08c ; =gSinCosTable asr r0, r0, #4 lsl r2, r0, #1 lsl r1, r2, #1 @@ -18240,7 +18240,7 @@ func_ov09_0211d00c: ; 0x0211d00c blx func_01ff8690 ldrh r1, [r4, #0x16] ldrh r0, [r4, #0x12] - ldr r3, _0211d08c ; =data_02050f54 + ldr r3, _0211d08c ; =gSinCosTable add r0, r1, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 @@ -18269,7 +18269,7 @@ _0211d07c: add sp, #0x48 pop {r3, r4, r5, pc} .align 2, 0 -_0211d08c: .word data_02050f54 +_0211d08c: .word gSinCosTable thumb_func_end func_ov09_0211d00c .global func_ov09_0211d090 @@ -18415,7 +18415,7 @@ func_ov09_0211d180: ; 0x0211d180 add r0, sp, #0x78 add r2, sp, #0x84 mov r1, r4 - bl func_01ff9bc4 + bl Vec3p_Add mov r3, r5 movs r0, #0x10 beq _0211d27c @@ -18476,7 +18476,7 @@ _0211d2ec: str r3, [sp, #0x10] ldr r3, [r5, #0x4c] str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x6c mov r1, r8 bl func_01fffbec @@ -18489,7 +18489,7 @@ _0211d2ec: ldr r3, [r5, #0x4c] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x6c] ldr r0, [sp, #0x70] rsb r1, r1, #0 @@ -18582,7 +18582,7 @@ _0211d420: add r0, sp, #0x30 add r1, sp, #0x54 add r2, sp, #0x3c - bl func_01ff9bc4 + bl Vec3p_Add mvn r0, #0x384 str r0, [sp, #0x30] mov r0, #0 @@ -18597,7 +18597,7 @@ _0211d420: add r0, sp, #0x30 add r1, sp, #0x54 add r2, sp, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 ldr r1, _0211d660 ; =0xfffff4a4 str r0, [sp, #0x18] @@ -18744,7 +18744,7 @@ _0211d69c: moveq r5, #1 str r0, [sp] ldr r2, [r4, #0xc] - ldr r1, _0211d78c ; =data_027e0d0c + ldr r1, _0211d78c ; =gVec3p_ZERO str r2, [sp, #4] str r1, [sp, #8] movne r5, #2 @@ -18755,7 +18755,7 @@ _0211d69c: ldmia r4, {r2, r3} bl func_ov00_0207c358 ldr r0, [r4, #0x18] - ldr r1, _0211d78c ; =data_027e0d0c + ldr r1, _0211d78c ; =gVec3p_ZERO str r0, [sp] ldr r2, [r4, #0x1c] ldr r0, _0211d790 ; =data_027e0e58 @@ -18773,7 +18773,7 @@ _0211d69c: _0211d780: .word data_027e0d38 _0211d784: .word data_ov09_0211e3d8 _0211d788: .word data_ov09_0211e444 -_0211d78c: .word data_027e0d0c +_0211d78c: .word gVec3p_ZERO _0211d790: .word data_027e0e58 arm_func_end func_ov09_0211d668 diff --git a/asm/ov10.inc b/asm/ov10.inc index 832c1a8c..a0935d59 100644 --- a/asm/ov10.inc +++ b/asm/ov10.inc @@ -185,7 +185,7 @@ .extern func_ov00_0207c118 .extern func_ov00_0207c170 .extern func_ov00_0207c190 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020cfed0 .extern func_ov00_020d00c4 .extern func_ov00_020d03c4 diff --git a/asm/ov10.s b/asm/ov10.s index bd8d2aae..eff0f523 100644 --- a/asm/ov10.s +++ b/asm/ov10.s @@ -7742,7 +7742,7 @@ func_ov10_021179f8: ; 0x021179f8 stmdb sp!, {r4, lr} mov r4, r0 add r0, r4, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r4 ldmia sp!, {r4, pc} arm_func_end func_ov10_021179f8 diff --git a/asm/ov12.inc b/asm/ov12.inc index 1a29adc5..b627b1d8 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -1,7 +1,15 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide .extern PlaySoundEffect +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager17GetMapData_Unk_48Ev .extern _ZN10MapManager17Get_MapData_Unk28Ev @@ -17,18 +25,19 @@ .extern _ZN10MapManager18func_ov00_02083c24Ei .extern _ZN10MapManager18func_ov00_02083c50Ei .extern _ZN10MapManager18func_ov00_02083e34Ecci -.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ +.extern _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i .extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern _ZN10MapManager18func_ov00_020840a0Ecci +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder .extern _ZN10PlayerBase18func_ov00_020a7c00Ei -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder .extern _ZN10PlayerBase9AddHealthEs .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager15Shield_vfunc_38Ei .extern _ZN11ItemManager18EquipItem_vfunc_38Ei .extern _ZN11ItemManager19GetDungeonItemModelEj +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN11ItemManager22UpdateSwordShieldInUseEv -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase19PlayerBase_vfunc_38EP5Vec3p @@ -39,22 +48,25 @@ .extern _ZN14AdventureFlags18func_ov00_02097bbcEv .extern _ZN14AdventureFlags18func_ov00_02097bccEv .extern _ZN14OverlayManager15LoadIfNotLoadedEjj +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern _ZN17LinkStateInteract20SetGrabActorVelocityEP5Vec3p +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor15IsHitboxTouchedEb .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor18CollidesWithPlayerEj .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c2988EP5Vec3piS1_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor4KillEv @@ -62,14 +74,14 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -114,6 +126,7 @@ .extern _ZN7MapBase8vfunc_b4Ev .extern _ZN7MapBase8vfunc_b8Ev .extern _ZN7MapBaseD1Ev +.extern _ZN8Cylinder8OverlapsEPS_ .extern _ZN9ActorTypeC1EjPFP5ActorvEPFivE .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv @@ -121,7 +134,6 @@ .extern _ZNK11ItemManager18func_ov00_020ad594Ei .extern _ZNK11ItemManager8GetFairyEi .extern __register_global_object -.extern data_02050f54 .extern data_02056be4 .extern data_02057200 .extern data_02068e9c @@ -139,7 +151,6 @@ .extern data_027e0c68 .extern data_027e0cbc .extern data_027e0ce0 -.extern data_027e0d0c .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d44 @@ -152,18 +163,12 @@ .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac .extern data_027e0fc0 .extern data_027e0fc4 -.extern data_027e0fc8 .extern data_027e0fcc .extern data_027e0fd4 .extern data_027e0fd8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -196,24 +201,13 @@ .extern func_01ff9958 .extern func_01ff9b4c .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffa9fc .extern func_01ffbe34 .extern func_01ffbe78 .extern func_01ffbf5c -.extern func_01ffec34 .extern func_01fffb4c .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 .extern func_02002bac .extern func_02003a9c .extern func_02003b04 @@ -505,7 +499,6 @@ .extern func_ov00_020bbed4 .extern func_ov00_020bc0a8 .extern func_ov00_020bc27c -.extern func_ov00_020bc46c .extern func_ov00_020bc48c .extern func_ov00_020bc500 .extern func_ov00_020bc6d4 @@ -535,7 +528,6 @@ .extern func_ov00_020c0ecc .extern func_ov00_020c1424 .extern func_ov00_020c1450 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -756,9 +748,17 @@ .extern func_ov61_02179ce4 .extern func_ov61_02179ee4 .extern func_ov61_02179f88 +.extern gActorManager .extern gAdventureFlags .extern gItemManager .extern gMapManager .extern gOverlayManager +.extern gPlayer +.extern gPlayerAngle .extern gPlayerAnimHandler +.extern gPlayerLink +.extern gPlayerPos +.extern gPlayerVel +.extern gSinCosTable +.extern gVec3p_ZERO .extern strncpy diff --git a/asm/ov12.s b/asm/ov12.s index 7931490b..14977351 100644 --- a/asm/ov12.s +++ b/asm/ov12.s @@ -1553,7 +1553,7 @@ func_ov12_02113f9c: ; 0x02113f9c add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02114060 ; =data_027e0ff8 add r2, sp, #0 ldr r0, [r0] @@ -1595,7 +1595,7 @@ _02114044: add r1, sp, #0 mov r3, r2 mov r0, #0x800 - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 @@ -1855,7 +1855,7 @@ _02114398: str r1, [sp, #0x18] str r1, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei movs r4, r0 ldrneb r0, [r6, #0x110] cmpne r0, #0 @@ -1869,11 +1869,11 @@ _02114398: ldr r3, [r6, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0 str r1, [sp, #4] - bl func_01ff9cec + bl Vec3p_Length ldr r2, [r6, #0x76c] add r1, r6, #0x36c add r3, r2, r0 @@ -2022,7 +2022,7 @@ _021145fc: str r1, [sp, #0x18] str r1, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 ldrneb r0, [r8, #0x110] cmpne r0, #0 @@ -2036,11 +2036,11 @@ _021145fc: ldr r3, [r8, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0 str r1, [sp, #4] - bl func_01ff9cec + bl Vec3p_Length ldr r2, [r8, #0x76c] add r1, r8, #0x36c add r3, r2, r0 @@ -2147,7 +2147,7 @@ _021147d4: bl func_ov12_02113f9c mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -2189,11 +2189,11 @@ _02114854: add r1, sp, #0 mov r3, r2 mov r0, #0x800 - bl func_01ff9e64 + bl Vec3p_Axpy _02114890: mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 @@ -2208,7 +2208,7 @@ func_ov12_021148a8: ; 0x021148a8 mov r10, r0 ldr r0, _02114a90 ; =0x00005555 mov r6, #0 - ldr r11, _02114a94 ; =data_027e0f94 + ldr r11, _02114a94 ; =gPlayerPos mov r7, r6 add r5, sp, #4 rsb r4, r0, #0x8000 @@ -2245,7 +2245,7 @@ _02114924: beq _02114a78 cmp r7, #1 bne _02114964 - ldr r0, _02114a9c ; =data_027e0f90 + ldr r0, _02114a9c ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #4] @@ -2261,7 +2261,7 @@ _02114964: _02114974: mov r0, r5 add r1, r10, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1c00 ble _021149a0 ldr r0, _02114aa0 ; =0x0000019a @@ -2336,9 +2336,9 @@ _02114a78: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02114a90: .word 0x00005555 -_02114a94: .word data_027e0f94 +_02114a94: .word gPlayerPos _02114a98: .word data_ov12_02137c64 -_02114a9c: .word data_027e0f90 +_02114a9c: .word gPlayer _02114aa0: .word 0x0000019a arm_func_end func_ov12_021148a8 @@ -2477,7 +2477,7 @@ func_ov12_02114bf8: ; 0x02114bf8 mov r6, r0 ldrh r0, [r6, #0x78] mov r4, #0 - ldr r2, _02114f0c ; =data_02050f54 + ldr r2, _02114f0c ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -2604,11 +2604,11 @@ _02114dc8: add r0, sp, #0x3c add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x30 add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r5, #0 bl func_ov12_02114b18 cmp r0, #0 @@ -2623,7 +2623,7 @@ _02114dc8: mov r0, r6 mov r3, #0x800 str r5, [sp, #8] - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi mov r2, r5 movs r5, r0 strb r2, [r6, #0x77c] @@ -2638,7 +2638,7 @@ _02114e5c: add r0, sp, #0x30 add r1, sp, #0x3c add r2, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [sp, #0xc] ldr r1, [sp, #0x10] ldr r0, [sp, #0x14] @@ -2679,7 +2679,7 @@ _02114f00: add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02114f0c: .word data_02050f54 +_02114f0c: .word gSinCosTable _02114f10: .word data_ov12_02137c64 _02114f14: .word data_ov12_02134538 _02114f18: .word data_ov12_0213453c @@ -2794,11 +2794,11 @@ _0211508c: add r0, sp, #0x34 add r1, sp, #0x1c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x28 add r1, sp, #0x10 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bl func_ov12_0212e264 movs r5, r0 @@ -2853,7 +2853,7 @@ func_ov12_0211514c: ; 0x0211514c _02115174: ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r5, #0x78] mov r0, r0, lsl #0x10 sub r0, r1, r0, asr #16 @@ -3020,11 +3020,11 @@ _021153cc: .word 0x00000192 .global func_ov12_021153d0 arm_func_start func_ov12_021153d0 func_ov12_021153d0: ; 0x021153d0 - ldr ip, _021153dc ; =func_01fffcec + ldr ip, _021153dc ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_021153dc: .word func_01fffcec +_021153dc: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov12_021153d0 .global func_ov12_021153e0 @@ -3061,7 +3061,7 @@ _02115420: bl _ZN5Actor9GetHitboxEP8Cylinder add r0, sp, #0x10 add r1, sp, #0 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _02115470 mov r0, r4 @@ -3823,7 +3823,7 @@ _02115f08: cmp r0, #0 bne _02115f48 bl func_ov12_0211934c - ldr r2, _02116170 ; =data_027e0fe4 + ldr r2, _02116170 ; =gActorManager add r1, r0, #0x3c ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3899,7 +3899,7 @@ _02116014: add r0, sp, #0x34 bl func_01ffbe34 ldrh r4, [r4, #0x78] - ldr r3, _02116188 ; =data_02050f54 + ldr r3, _02116188 ; =gSinCosTable add r0, sp, #0x24 mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 @@ -3917,12 +3917,12 @@ _02116014: mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r1, r3, #1 - ldr r2, _02116188 ; =data_02050f54 + ldr r2, _02116188 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh lr, [r2, r3] ldrsh r4, [r2, r1] - ldr r0, _0211618c ; =data_027e0d0c + ldr r0, _0211618c ; =gVec3p_ZERO mov r1, lr, asr #0x1f mov r5, r1, lsl #0xf mov r1, r4, asr #0x1f @@ -3977,14 +3977,14 @@ _02116014: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0211616c: .word data_027e0618 -_02116170: .word data_027e0fe4 +_02116170: .word gActorManager _02116174: .word 0x42545246 _02116178: .word data_027e0d3c _0211617c: .word data_ov12_02137c68 _02116180: .word data_ov00_020ee698 _02116184: .word data_ov12_02137d20 -_02116188: .word data_02050f54 -_0211618c: .word data_027e0d0c +_02116188: .word gSinCosTable +_0211618c: .word gVec3p_ZERO _02116190: .word data_027e0c38 arm_func_end func_ov12_02115ed0 @@ -4027,10 +4027,10 @@ _02116208: .word data_ov00_020e9370 .global func_ov12_0211620c arm_func_start func_ov12_0211620c func_ov12_0211620c: ; 0x0211620c - ldr r0, _02116214 ; =data_027e0f94 + ldr r0, _02116214 ; =gPlayerPos bx lr .align 2, 0 -_02116214: .word data_027e0f94 +_02116214: .word gPlayerPos arm_func_end func_ov12_0211620c .global func_ov12_02116218 @@ -4438,14 +4438,14 @@ func_ov12_021166e0: ; 0x021166e0 add r2, sp, #0x54 mov r0, ip mov r1, lr - bl func_01ff9bc4 + bl Vec3p_Add b _02116788 _02116774: ldr r0, _021168b0 ; =0x00001ccd add r3, sp, #0x54 mov r1, ip mov r2, lr - bl func_01ff9e64 + bl Vec3p_Axpy _02116788: add r0, sp, #0x6c add r1, sp, #0x78 @@ -4990,14 +4990,14 @@ _02116e4c: blx r1 add r2, sp, #0x48 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0x3c add r0, r4, #0x760 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x48 add r1, sp, #0x3c - bl func_01ff9c2c + bl Vec3p_Dot mov r5, r0 mov r0, r4 add r1, r4, #0x760 @@ -5089,17 +5089,17 @@ _02116f38: str r5, [sp, #0x28] str lr, [sp, #0x2c] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x18 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x18 mov r1, #0x1400 bl func_01fffbec add r0, sp, #0xc add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, _0211702c ; =0x00000385 add r0, r4, #0x48 add r1, sp, #0xc @@ -5724,7 +5724,7 @@ func_ov12_0211776c: ; 0x0211776c str r1, [sp, #4] cmp r2, r0 beq _021177c8 - ldr r0, _021177d4 ; =data_027e0fe4 + ldr r0, _021177d4 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5735,7 +5735,7 @@ _021177c8: add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 -_021177d4: .word data_027e0fe4 +_021177d4: .word gActorManager arm_func_end func_ov12_0211776c .global func_ov12_021177d8 @@ -6725,7 +6725,7 @@ func_ov12_02118428: ; 0x02118428 mov r0, r3 mov r1, r5 add r2, sp, #0x8c - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x8c add r3, sp, #0x80 ldmia r0, {r0, r1, r2} @@ -6749,7 +6749,7 @@ func_ov12_02118428: ; 0x02118428 bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0xa8] add r0, sp, #0x8c - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x3000 ble _0211857c ldr r4, [sp, #0x80] @@ -6764,12 +6764,12 @@ func_ov12_02118428: ; 0x02118428 mov r0, r5 add r1, sp, #0x8c add r2, sp, #0x98 - bl func_01ff9bc4 + bl Vec3p_Add _0211857c: ldr r1, [r8, #0x98] add r0, sp, #0x8c mov r9, r1, asr #0x1 - bl func_01ff9cec + bl Vec3p_Length mov r10, r0 add r0, sp, #0xa4 add r4, sp, #0x20 @@ -6806,7 +6806,7 @@ _021185d8: mov r2, r7 mov r3, r7 sub r10, r10, r9 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, _0211880c ; =0x0000ffff strh r6, [sp, #0xf4] strh r0, [sp, #0xec] @@ -6854,7 +6854,7 @@ _021185d8: add r0, sp, #0x38 mov r1, r7 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0xc8] ldr r0, [sp, #0xcc] str r1, [sp, #0x68] @@ -6876,7 +6876,7 @@ _021185d8: beq _02118740 mov r0, r4 add r1, sp, #0x80 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, _02118810 ; =0xfffff0f7 cmp r0, r1 movlt r10, #0 @@ -7895,7 +7895,7 @@ _021192dc: arm_func_start func_ov12_021192f4 func_ov12_021192f4: ; 0x021192f4 stmdb sp!, {r3, lr} - ldr r0, _02119334 ; =data_027e0f90 + ldr r0, _02119334 ; =gPlayer ldr r0, [r0] cmp r0, #0 ldmneia sp!, {r3, pc} @@ -7908,11 +7908,11 @@ func_ov12_021192f4: ; 0x021192f4 beq _02119328 bl func_ov12_021193b0 _02119328: - ldr r1, _02119334 ; =data_027e0f90 + ldr r1, _02119334 ; =gPlayer str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 -_02119334: .word data_027e0f90 +_02119334: .word gPlayer _02119338: .word data_027e0ce0 arm_func_end func_ov12_021192f4 @@ -7938,24 +7938,24 @@ func_ov12_02119348: ; 0x02119348 .global func_ov12_0211934c arm_func_start func_ov12_0211934c func_ov12_0211934c: ; 0x0211934c - ldr r0, _02119358 ; =data_027e0fc8 + ldr r0, _02119358 ; =gPlayerLink ldr r0, [r0] bx lr .align 2, 0 -_02119358: .word data_027e0fc8 +_02119358: .word gPlayerLink arm_func_end func_ov12_0211934c .global func_ov12_0211935c arm_func_start func_ov12_0211935c func_ov12_0211935c: ; 0x0211935c - ldr r1, _02119374 ; =data_027e0fc8 + ldr r1, _02119374 ; =gPlayerLink mov r2, r0 ldr r0, [r1] ldr ip, _02119378 ; =func_ov12_0211a748 ldr r1, [r2] bx ip .align 2, 0 -_02119374: .word data_027e0fc8 +_02119374: .word gPlayerLink _02119378: .word func_ov12_0211a748 arm_func_end func_ov12_0211935c @@ -8493,14 +8493,14 @@ func_ov12_02119a28: ; 0x02119a28 bl func_ov12_02120108 cmp r0, #0 bne _02119aa0 - ldr r0, _02119db8 ; =data_027e0fe4 + ldr r0, _02119db8 ; =gActorManager add r1, r6, #0x3c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02119aa0 - ldr r2, _02119dbc ; =data_027e0f94 - ldr r1, _02119dc0 ; =data_027e0d0c + ldr r2, _02119dbc ; =gPlayerPos + ldr r1, _02119dc0 ; =gVec3p_ZERO ldr r3, [r2] str r3, [r0, #0x48] ldr r3, [r2, #4] @@ -8577,10 +8577,10 @@ _02119b7c: ldrb r0, [r0, #0x716] cmp r0, #0 beq _02119c24 - ldr r1, _02119dbc ; =data_027e0f94 + ldr r1, _02119dbc ; =gPlayerPos mov r0, r6 bl func_ov12_0211986c - ldr r0, _02119dd0 ; =data_027e0fac + ldr r0, _02119dd0 ; =gPlayerAngle ldrb r1, [r6, #0x11c] ldrsh r2, [r0] mov r0, r6 @@ -8661,7 +8661,7 @@ _02119c78: ldr r0, [r0] bl func_ov00_020b8610 ldr r0, _02119dd4 ; =data_027e0fcc - ldr r2, _02119dbc ; =data_027e0f94 + ldr r2, _02119dbc ; =gPlayerPos ldr r0, [r0] mov r1, #1 bl func_ov00_020b4460 @@ -8689,7 +8689,7 @@ _02119d0c: ldr r0, _02119de0 ; =data_027e0e58 add r7, r6, #0x7c ldr r5, [r0] - ldr r4, _02119dbc ; =data_027e0f94 + ldr r4, _02119dbc ; =gPlayerPos mov r6, #0 _02119d3c: mov r0, r5 @@ -8720,20 +8720,20 @@ _02119d80: blo _02119d80 _02119d9c: ldr r0, _02119dd4 ; =data_027e0fcc - ldr r2, _02119dbc ; =data_027e0f94 + ldr r2, _02119dbc ; =gPlayerPos ldr r0, [r0] mov r1, #0 bl func_ov00_020b4460 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02119db4: .word data_ov12_02137c64 -_02119db8: .word data_027e0fe4 -_02119dbc: .word data_027e0f94 -_02119dc0: .word data_027e0d0c +_02119db8: .word gActorManager +_02119dbc: .word gPlayerPos +_02119dc0: .word gVec3p_ZERO _02119dc4: .word gItemManager _02119dc8: .word data_027e0fd4 _02119dcc: .word data_ov00_020eec9c -_02119dd0: .word data_027e0fac +_02119dd0: .word gPlayerAngle _02119dd4: .word data_027e0fcc _02119dd8: .word gAdventureFlags _02119ddc: .word data_027e0fc0 @@ -8756,11 +8756,11 @@ func_ov12_02119de4: ; 0x02119de4 bl func_ov05_0210e4e4 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _02119e14: - ldr r1, _0211a3c8 ; =data_027e0f94 + ldr r1, _0211a3c8 ; =gPlayerPos mov r0, r6 bl func_ov12_02119968 ldrb r2, [r6, #0x11c] - ldr r1, _0211a3cc ; =data_027e0fac + ldr r1, _0211a3cc ; =gPlayerAngle mov r0, r6 mov r2, r2, asr #0x3 mov r2, r2, lsl #0x1b @@ -8910,7 +8910,7 @@ _0211a028: cmp r0, #0x21 bne _0211a068 ldr r0, _0211a3e4 ; =data_ov00_020eec9c - ldr r2, _0211a3c8 ; =data_027e0f94 + ldr r2, _0211a3c8 ; =gPlayerPos mov r1, #0xd0 bl func_ov00_020d7a84 _0211a068: @@ -9056,13 +9056,13 @@ _0211a274: ldrb r0, [r6, #0x74] cmp r0, #0 beq _0211a2cc - ldr r1, _0211a3c8 ; =data_027e0f94 + ldr r1, _0211a3c8 ; =gPlayerPos mov r0, r6 bl func_ov12_021196d4 cmp r0, #0 beq _0211a2cc ldr r0, _0211a3f4 ; =data_027e0e58 - ldr r4, _0211a3c8 ; =data_027e0f94 + ldr r4, _0211a3c8 ; =gPlayerPos ldr r7, [r0] add r9, r6, #0x7c mov r8, #0 @@ -9094,13 +9094,13 @@ _0211a2f8: bl func_ov12_021197f0 cmp r0, #0 beq _0211a354 - ldr r1, _0211a3c8 ; =data_027e0f94 + ldr r1, _0211a3c8 ; =gPlayerPos mov r0, r6 bl func_ov12_021196d4 cmp r0, #0 beq _0211a354 ldr r0, _0211a3f4 ; =data_027e0e58 - ldr r4, _0211a3c8 ; =data_027e0f94 + ldr r4, _0211a3c8 ; =gPlayerPos ldr r7, [r0] add r9, r6, #0xdc mov r8, #0 @@ -9127,7 +9127,7 @@ _0211a364: bne _0211a364 _0211a378: ldr r0, _0211a3dc ; =data_027e0fcc - ldr r2, _0211a3c8 ; =data_027e0f94 + ldr r2, _0211a3c8 ; =gPlayerPos ldr r0, [r0] mov r1, r5 ldr r3, [r0] @@ -9147,8 +9147,8 @@ _0211a378: str r0, [r6, #0x124] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0211a3c8: .word data_027e0f94 -_0211a3cc: .word data_027e0fac +_0211a3c8: .word gPlayerPos +_0211a3cc: .word gPlayerAngle _0211a3d0: .word data_ov12_02137c64 _0211a3d4: .word gAdventureFlags _0211a3d8: .word 0x66666667 @@ -9194,12 +9194,12 @@ _0211a450: cmp r0, #0 beq _0211a48c bl func_ov12_0211934c - ldr r1, _0211a4a0 ; =data_027e0f94 + ldr r1, _0211a4a0 ; =gPlayerPos bl func_ov12_021196d4 cmp r0, #0 beq _0211a48c ldr r0, _0211a4a4 ; =data_027e0e58 - ldr r2, _0211a4a0 ; =data_027e0f94 + ldr r2, _0211a4a0 ; =gPlayerPos ldr r0, [r0] add r1, r6, #0xd0 bl func_ov00_0207c474 @@ -9212,7 +9212,7 @@ _0211a494: str r0, [r6, #0x78] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0211a4a0: .word data_027e0f94 +_0211a4a0: .word gPlayerPos _0211a4a4: .word data_027e0e58 arm_func_end func_ov12_0211a3f8 @@ -9264,7 +9264,7 @@ _0211a528: cmp r0, #0 ble _0211a638 bl func_ov12_0211934c - ldr r1, _0211a68c ; =data_027e0f94 + ldr r1, _0211a68c ; =gPlayerPos bl func_ov12_021196d4 cmp r0, #0 beq _0211a638 @@ -9356,7 +9356,7 @@ _0211a670: add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0211a68c: .word data_027e0f94 +_0211a68c: .word gPlayerPos _0211a690: .word data_027e0fcc _0211a694: .word data_027e0e58 arm_func_end func_ov12_0211a4e4 @@ -9396,7 +9396,7 @@ _0211a6f8: bl func_ov00_020bbed4 mov r5, r0 mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r1, r0 mov r0, r4 bl func_ov00_020bc48c @@ -9505,7 +9505,7 @@ _0211a834: ldr r4, [r4, #0x34] mov r3, r2 blx r4 - ldr r1, _0211a94c ; =data_027e0f94 + ldr r1, _0211a94c ; =gPlayerPos mov r0, r5 bl func_ov12_0211986c _0211a884: @@ -9527,7 +9527,7 @@ _0211a884: ldr r0, _0211a950 ; =data_027e0fcc mov r1, #0 ldr r3, [r0] - ldr r2, _0211a94c ; =data_027e0f94 + ldr r2, _0211a94c ; =gPlayerPos strb r1, [r3, #0x14e] ldr r0, [r0] bl func_ov00_020b4460 @@ -9560,7 +9560,7 @@ _0211a884: .align 2, 0 _0211a944: .word data_ov12_02137c64 _0211a948: .word gMapManager -_0211a94c: .word data_027e0f94 +_0211a94c: .word gPlayerPos _0211a950: .word data_027e0fcc _0211a954: .word data_027e0fd4 _0211a958: .word data_027e071c @@ -9667,15 +9667,15 @@ func_ov12_0211aa40: ; 0x0211aa40 .global func_ov12_0211aa4c arm_func_start func_ov12_0211aa4c func_ov12_0211aa4c: ; 0x0211aa4c - ldr r1, _0211aa60 ; =data_027e0fac + ldr r1, _0211aa60 ; =gPlayerAngle ldr ip, _0211aa64 ; =func_ov12_0212e324 - ldr r0, _0211aa68 ; =data_027e0f94 + ldr r0, _0211aa68 ; =gPlayerPos ldrsh r1, [r1] bx ip .align 2, 0 -_0211aa60: .word data_027e0fac +_0211aa60: .word gPlayerAngle _0211aa64: .word func_ov12_0212e324 -_0211aa68: .word data_027e0f94 +_0211aa68: .word gPlayerPos arm_func_end func_ov12_0211aa4c .global func_ov12_0211aa6c @@ -10502,7 +10502,7 @@ func_ov12_0211b4ec: ; 0x0211b4ec ldmeqia sp!, {r3, r4, r5, pc} _0211b528: bl func_ov12_0211934c - ldr r1, _0211b68c ; =data_027e0f94 + ldr r1, _0211b68c ; =gPlayerPos bl func_ov12_021196d4 cmp r0, #0 addeq sp, sp, #0x78 @@ -10596,7 +10596,7 @@ _0211b640: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0211b688: .word data_027e0618 -_0211b68c: .word data_027e0f94 +_0211b68c: .word gPlayerPos _0211b690: .word data_027e0d3c _0211b694: .word data_ov12_02137c64 arm_func_end func_ov12_0211b4ec @@ -10691,7 +10691,7 @@ _0211b7a4: bl func_ov00_020a9624 mov r4, r0 add r0, r7, #1 - ldr r3, _0211b8b8 ; =data_02050f54 + ldr r3, _0211b8b8 ; =gSinCosTable mov r2, r7, lsl #0x1 mov r1, r0, lsl #0x1 ldrsh r2, [r3, r2] @@ -10749,7 +10749,7 @@ _0211b894: bl func_ov00_020aa0f0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0211b8b8: .word data_02050f54 +_0211b8b8: .word gSinCosTable arm_func_end func_ov12_0211b698 .global func_ov12_0211b8bc @@ -10898,7 +10898,7 @@ func_ov12_0211ba94: ; 0x0211ba94 sub sp, sp, #0x24 mov r4, r2 bl func_ov12_0211934c - ldr r1, _0211bafc ; =data_027e0f94 + ldr r1, _0211bafc ; =gPlayerPos bl func_ov12_021196d4 cmp r0, #0 addeq sp, sp, #0x24 @@ -10921,7 +10921,7 @@ func_ov12_0211ba94: ; 0x0211ba94 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0211bafc: .word data_027e0f94 +_0211bafc: .word gPlayerPos _0211bb00: .word 0x0000059a _0211bb04: .word data_ov00_020e9370 arm_func_end func_ov12_0211ba94 @@ -24262,8 +24262,8 @@ _02126868: ldr r0, [r5, #0x2c] _02126888: ldrh r2, [r5, #0xd6] - ldr r1, _0212692c ; =data_02050f54 - ldr r3, _0212692c ; =data_02050f54 + ldr r1, _0212692c ; =gSinCosTable + ldr r3, _0212692c ; =gSinCosTable mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 add r2, r2, #1 @@ -24303,7 +24303,7 @@ _02126888: str r0, [r5, #0x3c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0212692c: .word data_02050f54 +_0212692c: .word gSinCosTable arm_func_end func_ov12_021267d0 .global func_ov12_02126930 @@ -27382,8 +27382,8 @@ _021291d8: ldmia sp!, {r4, r5, r6, pc} _021291dc: ldrh r2, [r5, #0xd6] - ldr r1, _02129280 ; =data_02050f54 - ldr r3, _02129280 ; =data_02050f54 + ldr r1, _02129280 ; =gSinCosTable + ldr r3, _02129280 ; =gSinCosTable mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 add r2, r2, #1 @@ -27423,7 +27423,7 @@ _021291dc: str r0, [r5, #0x3c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02129280: .word data_02050f54 +_02129280: .word gSinCosTable arm_func_end func_ov12_021290cc .global func_ov12_02129284 @@ -27846,25 +27846,25 @@ func_ov12_02129760: ; 0x02129760 add r2, sp, #0xc mov r7, r3 add r6, r5, r4 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0 mov r0, r8 mov r1, r7 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot movs r5, r0 addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot mov r4, r0 add r0, sp, #0xc mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot smull r2, r1, r4, r4 adds ip, r2, #0x800 smull r2, r3, r6, r6 @@ -27978,7 +27978,7 @@ func_ov12_021298d0: ; 0x021298d0 str r3, [sp, #0xd4] ldr r3, [r4, #0x68] str r3, [sp, #0xd8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r5, #0x88] ldr r0, [sp, #0xf4] str r1, [sp, #0xc0] @@ -28014,12 +28014,12 @@ func_ov12_021298d0: ; 0x021298d0 add r1, sp, #0xd0 add r2, sp, #0xe8 add r3, sp, #0x8c - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [sp, #4] add r1, sp, #0xdc mov r2, r7 add r3, sp, #0x98 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r5, #0x4c] ldr r0, [sp, #0x98] str r1, [sp, #0x9c] @@ -28053,14 +28053,14 @@ _02129a28: str r3, [sp, #0x78] ldr r3, [r4, #0x50] str r3, [sp, #0x7c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x6c] ldr r2, [r5, #0x88] ldr r1, [r4, #0x88] add r0, sp, #0x68 add r6, r2, r1 - bl func_01ff9cec + bl Vec3p_Length mov r8, r0 cmp r8, r6 bge _02129b78 @@ -28105,12 +28105,12 @@ _02129ad0: rsb r0, r0, #0 add r1, sp, #0x5c mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0x74 mov r0, r7 add r1, sp, #0x5c mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [sp, #0x80] str r0, [r5, #0x48] ldr r0, [sp, #0x84] @@ -28161,7 +28161,7 @@ _02129bcc: str r3, [sp, #0x48] ldr r3, [r4, #0x50] str r3, [sp, #0x4c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x38 str r1, [sp, #0x3c] @@ -28196,10 +28196,10 @@ _02129bcc: mov r0, r8 add r1, sp, #0x20 add r2, sp, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x38 add r1, sp, #0x14 - bl func_01ff9c2c + bl Vec3p_Dot mov r8, r0 cmp r8, #0 addle sp, sp, #0x100 @@ -28219,11 +28219,11 @@ _02129bcc: mov r9, r0 add r0, sp, #0xd0 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot mov r10, r0 add r0, sp, #0xdc mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, r10 movgt r0, #1 movle r0, #0 @@ -28260,12 +28260,12 @@ _02129d7c: add r1, sp, #8 mov r3, r2 rsb r0, r8, #0 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0xd0 add r1, sp, #8 mov r0, r9 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [sp, #0xdc] str r0, [r5, #0x60] ldr r0, [sp, #0xe0] @@ -28664,12 +28664,12 @@ _0212a28c: ldmneia sp!, {r3, r4, r5, pc} mov r0, r5 ldr r2, [r0] - ldr r1, _0212a2b8 ; =data_027e0d0c + ldr r1, _0212a2b8 ; =gVec3p_ZERO ldr r2, [r2, #0x5c] blx r2 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0212a2b8: .word data_027e0d0c +_0212a2b8: .word gVec3p_ZERO arm_func_end func_ov12_0212a258 .global func_ov12_0212a2bc @@ -28715,7 +28715,7 @@ func_ov12_0212a2cc: ; 0x0212a2cc str r1, [sp] str r1, [sp, #8] ldr r5, _0212a464 ; =0x00000666 - ldr r2, _0212a468 ; =data_027e0d0c + ldr r2, _0212a468 ; =gVec3p_ZERO str r5, [sp, #4] ldr r3, [r2] mov r0, #0x800 @@ -28791,7 +28791,7 @@ _0212a458: .word gItemManager _0212a45c: .word data_ov12_02134914 _0212a460: .word data_027e0fc4 _0212a464: .word 0x00000666 -_0212a468: .word data_027e0d0c +_0212a468: .word gVec3p_ZERO _0212a46c: .word data_ov12_0213dd0c arm_func_end func_ov12_0212a2cc @@ -28812,7 +28812,7 @@ func_ov12_0212a484: ; 0x0212a484 str r1, [r0, #0x130] cmp r1, #1 bxne lr - ldr r1, _0212a4b0 ; =data_027e0d0c + ldr r1, _0212a4b0 ; =gVec3p_ZERO ldr r2, [r1] str r2, [r0, #0x60] ldr r2, [r1, #4] @@ -28821,7 +28821,7 @@ func_ov12_0212a484: ; 0x0212a484 str r1, [r0, #0x68] bx lr .align 2, 0 -_0212a4b0: .word data_027e0d0c +_0212a4b0: .word gVec3p_ZERO arm_func_end func_ov12_0212a484 .global func_ov12_0212a4b4 @@ -29004,7 +29004,7 @@ _0212a6cc: add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _0212a740: ldr r1, [r6, #0x48] ldr r0, _0212a9ec ; =gMapManager @@ -29229,7 +29229,7 @@ _0212aa30: mov r1, r4 mov r2, r5 add r0, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] cmp r0, #0 ldreq r0, [sp, #8] @@ -29604,7 +29604,7 @@ _0212af10: cmp r0, #0 beq _0212af94 bl func_ov12_0211934c - ldr r1, _0212b074 ; =data_027e0f94 + ldr r1, _0212b074 ; =gPlayerPos bl func_ov12_021196d4 cmp r0, #0 addeq sp, sp, #0x38 @@ -29686,7 +29686,7 @@ _0212b04c: .align 2, 0 _0212b06c: .word data_027e0618 _0212b070: .word data_027e0d3c -_0212b074: .word data_027e0f94 +_0212b074: .word gPlayerPos arm_func_end func_ov12_0212aec8 .global func_ov12_0212b078 @@ -29804,7 +29804,7 @@ func_ov12_0212b188: ; 0x0212b188 bl func_0201987c ldrh r2, [r4, #0x20] ldr r1, _0212b260 ; =data_ov12_02134928 - ldr r3, _0212b264 ; =data_02050f54 + ldr r3, _0212b264 ; =gSinCosTable ldr r1, [r1, r2, lsl #2] add r0, sp, #0xc str r1, [sp, #0x30] @@ -29839,7 +29839,7 @@ func_ov12_0212b188: ; 0x0212b188 .align 2, 0 _0212b25c: .word data_ov00_020e9360 _0212b260: .word data_ov12_02134928 -_0212b264: .word data_02050f54 +_0212b264: .word gSinCosTable arm_func_end func_ov12_0212b188 .global func_ov12_0212b268 @@ -30749,11 +30749,11 @@ _0212bd7c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x29 blt _0212be6c add r0, sp, #0x10 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _0212bf0c ; =0x0000028f cmp r0, r1 bge _0212be6c @@ -30792,7 +30792,7 @@ _0212bd7c: add r0, sp, #0x28 add r1, r4, #0x1c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x10] str r0, [r4, #0x28] ldr r0, [sp, #0x14] @@ -30804,7 +30804,7 @@ _0212be6c: add r0, sp, #0x28 add r1, r4, #0x1c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x1c] str r0, [r4, #0x28] ldr r0, [r4, #0x20] @@ -30858,26 +30858,26 @@ func_ov12_0212bf14: ; 0x0212bf14 mov r6, r1 mov r4, r0 mov r7, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0 mov r0, r5 mov r1, r6 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x38] add r0, sp, #0 bl func_01fffbec add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 add r0, sp, #0xc add r1, sp, #0 - bl func_01ff9c2c + bl Vec3p_Dot mov r1, r6 bl Divide mov r5, r0 add r0, sp, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r3, [sp, #0x30] sub r2, r7, r6 smull lr, ip, r3, r2 @@ -30903,7 +30903,7 @@ func_ov12_0212bf14: ; 0x0212bf14 mov r0, r4 mov r2, r4 add r1, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} arm_func_end func_ov12_0212bf14 @@ -30919,10 +30919,10 @@ func_ov12_0212bff0: ; 0x0212bff0 mov r4, r3 cmp r1, #0 bne _0212c058 - ldr r2, _0212c1a8 ; =data_027e0f94 - ldr r1, _0212c1ac ; =data_027e0fa0 + ldr r2, _0212c1a8 ; =gPlayerPos + ldr r1, _0212c1ac ; =gPlayerVel ldr r3, [r2] - ldr r0, _0212c1b0 ; =data_027e0fac + ldr r0, _0212c1b0 ; =gPlayerAngle str r3, [r6] ldr r3, [r2, #4] str r3, [r6, #4] @@ -30938,15 +30938,15 @@ func_ov12_0212bff0: ; 0x0212bff0 strh r0, [r4] b _0212c10c _0212c058: - ldr r0, _0212c1b4 ; =data_027e0fe4 + ldr r0, _0212c1b4 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 bne _0212c0b4 - ldr r2, _0212c1a8 ; =data_027e0f94 - ldr r1, _0212c1ac ; =data_027e0fa0 + ldr r2, _0212c1a8 ; =gPlayerPos + ldr r1, _0212c1ac ; =gPlayerVel ldr r3, [r2] - ldr r0, _0212c1b0 ; =data_027e0fac + ldr r0, _0212c1b0 ; =gPlayerAngle str r3, [r6] ldr r3, [r2, #4] str r3, [r6, #4] @@ -30989,7 +30989,7 @@ _0212c10c: ldr r0, [r7, #4] ldr r2, [r6, #4] ldr r0, [r0, #0x240] - ldr r1, _0212c1bc ; =data_02050f54 + ldr r1, _0212c1bc ; =gSinCosTable add r0, r2, r0 str r0, [r6, #4] ldr r3, [r7, #4] @@ -31026,12 +31026,12 @@ _0212c10c: str r0, [r6, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0212c1a8: .word data_027e0f94 -_0212c1ac: .word data_027e0fa0 -_0212c1b0: .word data_027e0fac -_0212c1b4: .word data_027e0fe4 +_0212c1a8: .word gPlayerPos +_0212c1ac: .word gPlayerVel +_0212c1b0: .word gPlayerAngle +_0212c1b4: .word gActorManager _0212c1b8: .word data_027e0c68 -_0212c1bc: .word data_02050f54 +_0212c1bc: .word gSinCosTable arm_func_end func_ov12_0212bff0 .global func_ov12_0212c1c0 @@ -32244,7 +32244,7 @@ _0212cf94: ldr r1, [r5, #0x224] cmp r1, #3 bne _0212cffc - ldr r0, _0212d07c ; =data_027e0f94 + ldr r0, _0212d07c ; =gPlayerPos mov r4, #0 ldr r1, [r0] str r1, [r5, #0x48] @@ -32291,7 +32291,7 @@ _0212d06c: .word data_ov00_020eec9c _0212d070: .word data_ov12_02137c64 _0212d074: .word data_ov12_02137d28 _0212d078: .word data_ov12_0213dd0c -_0212d07c: .word data_027e0f94 +_0212d07c: .word gPlayerPos _0212d080: .word data_ov12_02137d20 _0212d084: .word data_ov12_021370e0 arm_func_end func_ov12_0212cf0c @@ -32304,7 +32304,7 @@ func_ov12_0212d088: ; 0x0212d088 ldr r1, [r4, #0x224] cmp r1, #3 bne _0212d0c8 - ldr r0, _0212d11c ; =data_027e0f94 + ldr r0, _0212d11c ; =gPlayerPos ldr r1, [r0] str r1, [r4, #0x48] ldr r1, [r0, #4] @@ -32339,7 +32339,7 @@ _0212d0f8: bl func_ov12_0212cc64 ldmia sp!, {r4, pc} .align 2, 0 -_0212d11c: .word data_027e0f94 +_0212d11c: .word gPlayerPos _0212d120: .word data_ov12_02137d20 arm_func_end func_ov12_0212d088 @@ -33782,7 +33782,7 @@ func_ov12_0212e274: ; 0x0212e274 stmdb sp!, {r3, lr} sub sp, sp, #0x38 add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -33798,10 +33798,10 @@ func_ov12_0212e274: ; 0x0212e274 ldr r0, _0212e2f4 ; =data_027e0fe8 ldr r1, _0212e2f8 ; =0x4254444c ldr r0, [r0] - ldr r2, _0212e2fc ; =data_027e0f94 + ldr r2, _0212e2fc ; =gPlayerPos add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _0212e300 ; =data_027e0fe4 + ldr r0, _0212e300 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -33814,8 +33814,8 @@ func_ov12_0212e274: ; 0x0212e274 .align 2, 0 _0212e2f4: .word data_027e0fe8 _0212e2f8: .word 0x4254444c -_0212e2fc: .word data_027e0f94 -_0212e300: .word data_027e0fe4 +_0212e2fc: .word gPlayerPos +_0212e300: .word gActorManager _0212e304: .word data_ov12_0213dd10 arm_func_end func_ov12_0212e274 @@ -34179,7 +34179,7 @@ _0212e7c4: .word 0xfffff777 func_ov12_0212e7c8: ; 0x0212e7c8 stmdb sp!, {r4, r5, r6, r7, r8, lr} ldr r1, _0212e958 ; =data_027e0fd4 - ldr r2, _0212e95c ; =data_027e0fac + ldr r2, _0212e95c ; =gPlayerAngle ldr r3, [r1] ldrsh r4, [r2] ldr r1, [r3, #0x44] @@ -34283,7 +34283,7 @@ _0212e930: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0212e958: .word data_027e0fd4 -_0212e95c: .word data_027e0fac +_0212e95c: .word gPlayerAngle _0212e960: .word data_027e0764 _0212e964: .word 0x0000071e arm_func_end func_ov12_0212e7c8 @@ -34604,11 +34604,11 @@ _0212ed88: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 mov r0, r5 strb r1, [r5, #0x165] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _0212ee30 ldr r2, [r5, #0xcc] @@ -34623,7 +34623,7 @@ _0212ed88: beq _0212ee30 mov r2, #1 strb r2, [r5, #0x165] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x100 strh r0, [r1, #0x68] ldrsh r2, [r5, #0x78] @@ -34665,7 +34665,7 @@ func_ov12_0212ee64: ; 0x0212ee64 ldr r0, [ip, #0x130] cmp r0, #0 ldmeqia sp!, {r3, pc} - ldr r0, _0212eeb4 ; =data_027e0f90 + ldr r0, _0212eeb4 ; =gPlayer ldr r0, [r0] ldrb r0, [r0, #0x10] cmp r0, #0 @@ -34681,7 +34681,7 @@ func_ov12_0212ee64: ; 0x0212ee64 blx ip ldmia sp!, {r3, pc} .align 2, 0 -_0212eeb4: .word data_027e0f90 +_0212eeb4: .word gPlayer _0212eeb8: .word data_027e0fcc arm_func_end func_ov12_0212ee64 @@ -34910,11 +34910,11 @@ _0212f1d4: .word data_027e0e58 .global func_ov12_0212f1d8 arm_func_start func_ov12_0212f1d8 func_ov12_0212f1d8: ; 0x0212f1d8 - ldr ip, _0212f1e4 ; =func_01fffcec + ldr ip, _0212f1e4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_0212f1e4: .word func_01fffcec +_0212f1e4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov12_0212f1d8 .global func_ov12_0212f1e8 @@ -35756,17 +35756,17 @@ _0212fc68: add r0, r4, #0x18 add r1, sp, #0x30 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x54 mov r1, #0x258 strh r1, [r4, #0x66] add r1, sp, #0x3c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x48 add r1, sp, #0x3c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -35805,7 +35805,7 @@ _0212fc68: ldrh r0, [r4, #0xc] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 - ldr r1, _0212fe94 ; =data_02050f54 + ldr r1, _0212fe94 ; =gSinCosTable mov r2, r0, lsl #0x1 add r0, r0, #1 ldrsh ip, [r1, r2] @@ -35875,7 +35875,7 @@ _0212fe78: ldmia sp!, {r4, pc} .align 2, 0 _0212fe90: .word 0xfffff666 -_0212fe94: .word data_02050f54 +_0212fe94: .word gSinCosTable _0212fe98: .word 0x000004cd _0212fe9c: .word gMapManager _0212fea0: .word 0x0000026e @@ -35921,7 +35921,7 @@ _0212fee4: mov r0, r3 mov r2, r3 add r1, r5, #0xcc - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0213002c ; =data_027e0e58 add r8, r5, #0xb4 ldr r6, [r0] @@ -36045,7 +36045,7 @@ func_ov12_021300c4: ; 0x021300c4 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _0213011c ; =data_02050f54 + ldr r3, _0213011c ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -36064,7 +36064,7 @@ func_ov12_021300c4: ; 0x021300c4 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0213011c: .word data_02050f54 +_0213011c: .word gSinCosTable arm_func_end func_ov12_021300c4 .global func_ov12_02130120 @@ -36117,7 +36117,7 @@ _021301b4: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _02130244 ; =data_02050f54 + ldr r1, _02130244 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh lr, [r1, r2] mov r0, r0, lsl #0x1 @@ -36151,7 +36151,7 @@ _021301b4: add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02130244: .word data_02050f54 +_02130244: .word gSinCosTable _02130248: .word data_027e0d3c arm_func_end func_ov12_02130120 @@ -36210,7 +36210,7 @@ func_ov12_0213024c: ; 0x0213024c add r0, sp, #0x80 add r1, sp, #0x74 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0x29 str r0, [sp] mov r0, #5 @@ -36648,7 +36648,7 @@ func_ov12_02130868: ; 0x02130868 str r1, [r2] str r1, [r2, #4] str r1, [r2, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -37609,7 +37609,7 @@ func_ov12_021314e8: ; 0x021314e8 str ip, [sp, #4] ldr ip, [r4, #0x5c] str ip, [sp, #8] - bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_ + bl _ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_i ldr r1, _021315b8 ; =data_ov12_02137680 str r0, [r4, #0x4c] ldr r2, [r1, #0x28] @@ -37659,7 +37659,7 @@ func_ov12_02131608: ; 0x02131608 bl func_ov12_0211cfe0 cmp r0, #0 movne r0, #1 - ldr r3, _021316c4 ; =data_027e0d0c + ldr r3, _021316c4 ; =gVec3p_ZERO strneb r0, [r4, #0x754] ldr r0, [r3] ldr r2, _021316c8 ; =data_027e0764 @@ -37700,7 +37700,7 @@ func_ov12_02131608: ; 0x02131608 str r0, [r4, #0x220] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_021316c4: .word data_027e0d0c +_021316c4: .word gVec3p_ZERO _021316c8: .word data_027e0764 _021316cc: .word data_ov12_02137680 arm_func_end func_ov12_02131608 @@ -37839,7 +37839,7 @@ _0213189c: _021318ac: sub r0, ip, #0x8000 mov r9, #0 - ldr r7, _02131a20 ; =data_02050f54 + ldr r7, _02131a20 ; =gSinCosTable ldr r6, _02131a24 ; =0x0000ffff strh r0, [sp, #0x1a] add r4, r10, #0x8c @@ -37934,7 +37934,7 @@ _02131a00: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02131a1c: .word data_027e0764 -_02131a20: .word data_02050f54 +_02131a20: .word gSinCosTable _02131a24: .word 0x0000ffff _02131a28: .word gMapManager _02131a2c: .word data_ov12_02137680 @@ -37960,7 +37960,7 @@ func_ov12_02131a30: ; 0x02131a30 mul r1, r0, r1 ldrh r0, [r4, #0x78] add r2, r1, #0x800 - ldr ip, _02131b1c ; =data_02050f54 + ldr ip, _02131b1c ; =gSinCosTable mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r1, [ip, r0] @@ -38005,7 +38005,7 @@ _02131b0c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02131b18: .word 0x00000aab -_02131b1c: .word data_02050f54 +_02131b1c: .word gSinCosTable arm_func_end func_ov12_02131a30 .global func_ov12_02131b20 @@ -38115,10 +38115,10 @@ _02131c18: bl func_ov12_02120108 cmp r0, #0 beq _02131c88 - ldr r0, _02131d74 ; =data_027e0f90 + ldr r0, _02131d74 ; =gPlayer add r1, sp, #0 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 bne _02131c88 ldr r0, [r4, #0x748] @@ -38188,7 +38188,7 @@ _02131d64: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02131d70: .word data_ov12_02137c64 -_02131d74: .word data_027e0f90 +_02131d74: .word gPlayer _02131d78: .word gMapManager arm_func_end func_ov12_02131bdc @@ -38258,7 +38258,7 @@ _02131e40: cmp r0, #0 bne _02131e8c bl func_ov12_0211934c - ldr r2, _02131f54 ; =data_027e0fe4 + ldr r2, _02131f54 ; =gActorManager add r1, r0, #0x3c ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -38324,7 +38324,7 @@ _02131ea0: .align 2, 0 _02131f4c: .word data_027e0618 _02131f50: .word data_ov12_02137c64 -_02131f54: .word data_027e0fe4 +_02131f54: .word gActorManager _02131f58: .word 0x42545246 _02131f5c: .word data_027e0d3c _02131f60: .word data_ov12_02137d1c @@ -38445,7 +38445,7 @@ _02132058: _0213207c: ldrh r2, [r4, #0x24] ldr r1, _021320e8 ; =data_ov12_02135474 - ldr r0, _021320ec ; =data_027e0fe4 + ldr r0, _021320ec ; =gActorManager ldr lr, [r1, r2, lsl #2] ldrh ip, [r4, #0x20] ldr r3, _021320f0 ; =data_ov12_02137818 @@ -38455,7 +38455,7 @@ _0213207c: str r3, [sp] str ip, [sp, #4] str lr, [sp, #8] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 addle sp, sp, #0xc ldmleia sp!, {r3, r4, pc} @@ -38473,7 +38473,7 @@ _021320dc: ldmia sp!, {r3, r4, pc} .align 2, 0 _021320e8: .word data_ov12_02135474 -_021320ec: .word data_027e0fe4 +_021320ec: .word gActorManager _021320f0: .word data_ov12_02137818 arm_func_end func_ov12_02132020 @@ -41151,7 +41151,7 @@ func_ov12_021343bc: ; 0x021343bc mov r0, #1 strb r0, [r4, #0xa4] ldr r0, [r4, #0x60] - ldr r2, _0213449c ; =data_02050f54 + ldr r2, _0213449c ; =gSinCosTable cmp r0, #0x14 moveq r0, #0x8000 rsbeq r0, r0, #0 @@ -41198,7 +41198,7 @@ func_ov12_021343bc: ; 0x021343bc add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0213449c: .word data_02050f54 +_0213449c: .word gSinCosTable _021344a0: .word data_ov00_020eec9c _021344a4: .word data_027e0e2c _021344a8: .word func_ov12_021342e8 @@ -45825,7 +45825,7 @@ data_ov12_02135bb4: ; 0x02135bb4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov12_02135bb8 data_ov12_02135bb8: ; 0x02135bb8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov12_02135bbc data_ov12_02135bbc: ; 0x02135bbc .word func_ov12_0211514c @@ -48550,10 +48550,10 @@ data_ov12_02136b2c: ; 0x02136b2c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov12_02136b30 data_ov12_02136b30: ; 0x02136b30 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov12_02136b34 data_ov12_02136b34: ; 0x02136b34 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov12_02136b38 data_ov12_02136b38: ; 0x02136b38 .word _ZN5Actor8vfunc_4cEPi @@ -49497,10 +49497,10 @@ data_ov12_021371b4: ; 0x021371b4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov12_021371b8 data_ov12_021371b8: ; 0x021371b8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov12_021371bc data_ov12_021371bc: ; 0x021371bc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov12_021371c0 data_ov12_021371c0: ; 0x021371c0 .word _ZN5Actor8vfunc_4cEPi @@ -49878,10 +49878,10 @@ data_ov12_0213743c: ; 0x0213743c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov12_02137440 data_ov12_02137440: ; 0x02137440 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov12_02137444 data_ov12_02137444: ; 0x02137444 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov12_02137448 data_ov12_02137448: ; 0x02137448 .word _ZN5Actor8vfunc_4cEPi @@ -50463,7 +50463,7 @@ data_ov12_02137718: ; 0x02137718 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov12_0213771c data_ov12_0213771c: ; 0x0213771c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov12_02137720 data_ov12_02137720: ; 0x02137720 .word func_ov00_020caeb4 @@ -50682,7 +50682,7 @@ data_ov12_0213783c: ; 0x0213783c .word func_ov00_020d3b44 .global data_ov12_02137840 data_ov12_02137840: ; 0x02137840 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov12_02137844 data_ov12_02137844: ; 0x02137844 .word _ZN5Actor8vfunc_20Ei @@ -50712,10 +50712,10 @@ data_ov12_02137864: ; 0x02137864 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov12_02137868 data_ov12_02137868: ; 0x02137868 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov12_0213786c data_ov12_0213786c: ; 0x0213786c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov12_02137870 data_ov12_02137870: ; 0x02137870 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov14/Actor/ActorRupee.inc b/asm/ov14/Actor/ActorRupee.inc index 3d481870..e4ad2b4d 100644 --- a/asm/ov14/Actor/ActorRupee.inc +++ b/asm/ov14/Actor/ActorRupee.inc @@ -1,13 +1,15 @@ #pragma once +.extern Vec3p_Add .extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12KillInBoundsEv .extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor15IsHitboxTouchedEb .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv @@ -22,13 +24,13 @@ .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_68Ev @@ -56,13 +58,9 @@ .extern _ZN9SysObjectnwEmPjj .extern __register_global_object .extern data_027e0764 -.extern gMapManager -.extern data_027e0fc8 .extern data_027e0fe0 .extern data_ov00_020e9370 .extern data_ov00_020eec9c -.extern func_01ff9bc4 -.extern func_01fffd04 .extern func_0202bc38 .extern func_ov00_0207a13c .extern func_ov00_0207a1c8 @@ -71,3 +69,5 @@ .extern func_ov00_020d7ad4 .extern func_ov05_02102c2c .extern gItemManager +.extern gMapManager +.extern gPlayerLink diff --git a/asm/ov14/Actor/ActorRupee.s b/asm/ov14/Actor/ActorRupee.s index 05691138..dad4c562 100644 --- a/asm/ov14/Actor/ActorRupee.s +++ b/asm/ov14/Actor/ActorRupee.s @@ -221,7 +221,7 @@ _ZN10ActorRupee4MoveEv: ; 0x0213b120 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #1 strb r0, [r4, #0x9f] ldr r0, [r4, #0x98] @@ -236,7 +236,7 @@ _ZN10ActorRupee4MoveEv: ; 0x0213b120 strh r0, [r4, #0x9c] mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 movne r0, #0 strne r0, [r4, #0x60] @@ -351,7 +351,7 @@ _ZN10ActorRupee6UpdateEb: ; 0x0213b254 bl _ZN10ActorRupee22GetRupeeCutsceneItemIdEv movs r1, r0 bmi _0213b2f8 - ldr r0, _0213b50c ; =data_027e0fc8 + ldr r0, _0213b50c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bce48 cmp r0, #0 @@ -454,7 +454,7 @@ _0213b42c: bl _ZN10ActorRupee18func_ov14_0213b204Ei b _0213b4fc _0213b438: - ldr r1, _0213b50c ; =data_027e0fc8 + ldr r1, _0213b50c ; =gPlayerLink mov r0, r5 ldr r4, [r1] bl _ZN10ActorRupee22GetRupeeCutsceneItemIdEv @@ -513,7 +513,7 @@ _0213b4fc: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0213b50c: .word data_027e0fc8 +_0213b50c: .word gPlayerLink _0213b510: .word gItemManager _0213b514: .word data_ov00_020eec9c _0213b518: .word gMapManager @@ -854,7 +854,7 @@ data_ov14_021589fc: ; 0x021589fc .word _ZN10ActorRupee8vfunc_18Ej .global data_ov14_02158a00 data_ov14_02158a00: ; 0x02158a00 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02158a04 data_ov14_02158a04: ; 0x02158a04 .word _ZN10ActorRupee8vfunc_20Ei @@ -884,10 +884,10 @@ data_ov14_02158a24: ; 0x02158a24 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158a28 data_ov14_02158a28: ; 0x02158a28 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158a2c data_ov14_02158a2c: ; 0x02158a2c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02158a30 data_ov14_02158a30: ; 0x02158a30 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc index bede5bb4..363d574d 100644 --- a/asm/ov14/ov14_0211f640.inc +++ b/asm/ov14/ov14_0211f640.inc @@ -1,6 +1,14 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_54Ev .extern _ZN10MapManager16MapData_vfunc_58Ev .extern _ZN10MapManager16MapData_vfunc_60Ev @@ -42,6 +50,7 @@ .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager12GetEquipItemEi .extern _ZN11ItemManager12GetItemModelEj +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN11ItemManager8GiveAmmoEit .extern _ZN11ItemManager8GiveKeysEj .extern _ZN12ActorManager13FindActorByIdEj @@ -61,15 +70,20 @@ .extern _ZN14AdventureFlags18func_ov00_02098074Eisiib .extern _ZN14AdventureFlags18func_ov00_0209809cEv .extern _ZN14AdventureFlags3GetEj +.extern _ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv +.extern _ZN19Actor_UnkStruct_020C1Ev +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern _ZN5Actor10GetUnk_08cEP8Cylinder .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_129Eb .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12KillInBoundsEv .extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor15IsHitboxTouchedEb .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv @@ -78,13 +92,13 @@ .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c1788Ev .extern _ZN5Actor18func_ov00_020c195cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c1fc8Ej .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c2c0cEv .extern _ZN5Actor18func_ov00_020c2c70Ev .extern _ZN5Actor18func_ov00_020c2d54Ev @@ -100,14 +114,14 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -142,7 +156,6 @@ .extern _ZNK11ItemManager18func_ov00_020ad560Ei .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 .extern data_02052f54 .extern data_02056be4 .extern data_02063e4c @@ -152,7 +165,6 @@ .extern data_027e080c .extern data_027e0c68 .extern data_027e0ce0 -.extern data_027e0d0c .extern data_027e0d18 .extern data_027e0d38 .extern data_027e0d3c @@ -165,15 +177,9 @@ .extern data_027e0f70 .extern data_027e0f78 .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fcc .extern data_027e0fd4 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -206,22 +212,12 @@ .extern func_01ff8aa0 .extern func_01ff9158 .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffa9fc .extern func_01ffbe34 .extern func_01ffbe78 .extern func_01ffbf5c .extern func_01fffb4c .extern func_01fffbec -.extern func_01fffcec -.extern func_01fffd04 .extern func_020020d0 .extern func_0200250c .extern func_02002540 @@ -283,7 +279,6 @@ .extern func_ov00_02079b78 .extern func_ov00_02079e68 .extern func_ov00_0207a13c -.extern func_ov00_0207a188 .extern func_ov00_0207a1a4 .extern func_ov00_0207a1c8 .extern func_ov00_0207c1b0 @@ -407,9 +402,7 @@ .extern func_ov00_020bba48 .extern func_ov00_020bbbb8 .extern func_ov00_020bbe94 -.extern func_ov00_020bc46c .extern func_ov00_020bc494 -.extern func_ov00_020bc854 .extern func_ov00_020bcdec .extern func_ov00_020bce48 .extern func_ov00_020bd618 @@ -426,7 +419,6 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -514,8 +506,16 @@ .extern func_ov57_0219a6b8 .extern func_ov57_0219a850 .extern func_ov58_0219ab28 +.extern gActorManager .extern gAdventureFlags .extern gItemManager .extern gMapManager .extern gOverlayManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable +.extern gVec3p_ZERO .extern strcmp diff --git a/asm/ov14/ov14_0211f640.s b/asm/ov14/ov14_0211f640.s index 0d84c235..20584426 100644 --- a/asm/ov14/ov14_0211f640.s +++ b/asm/ov14/ov14_0211f640.s @@ -180,7 +180,7 @@ _0211f7bc: blx func_0202ece0 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0211f7cc: - ldr r0, _0211f8cc ; =data_027e0fb8 + ldr r0, _0211f8cc ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -251,7 +251,7 @@ _0211f8b0: _0211f8c0: .word data_027e0d3c _0211f8c4: .word data_027e103c _0211f8c8: .word data_027e080c -_0211f8cc: .word data_027e0fb8 +_0211f8cc: .word gPlayerControl arm_func_end func_ov14_0211f734 .global func_ov14_0211f8d0 @@ -275,7 +275,7 @@ func_ov14_0211f8d0: ; 0x0211f8d0 cmp r1, #0 ble _0211f968 ldr r2, [r0, #0xc] - ldr r1, _0211f978 ; =data_027e0fe4 + ldr r1, _0211f978 ; =gActorManager str r2, [sp] ldr r2, [r0, #0x10] ldr r0, [r1] @@ -301,7 +301,7 @@ _0211f968: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0211f974: .word gItemManager -_0211f978: .word data_027e0fe4 +_0211f978: .word gActorManager _0211f97c: .word 0x424d5459 arm_func_end func_ov14_0211f8d0 @@ -414,7 +414,7 @@ _0211fae8: cmp r0, #0xc cmpne r0, #0xd bne _0211fb14 - ldr r0, _0211fc84 ; =data_027e0fb8 + ldr r0, _0211fc84 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -520,7 +520,7 @@ _0211fc48: _0211fc78: .word gOverlayManager _0211fc7c: .word 0x0000003a _0211fc80: .word data_027e077c -_0211fc84: .word data_027e0fb8 +_0211fc84: .word gPlayerControl _0211fc88: .word data_027e0d3c arm_func_end func_ov14_0211fab0 @@ -695,12 +695,12 @@ func_ov14_0211fda4: ; 0x0211fda4 add r0, r4, #0x188 mov r1, #0 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov ip, #0 add r0, r4, #0x100 strh ip, [r0, #0xac] strh ip, [r0, #0xb2] - ldr r1, _0211fea4 ; =data_027e0d0c + ldr r1, _0211fea4 ; =gVec3p_ZERO ldr r3, _0211fea8 ; =0x00000266 ldr r2, [r1] mov r0, r4 @@ -726,7 +726,7 @@ func_ov14_0211fda4: ; 0x0211fda4 .align 2, 0 _0211fe9c: .word data_ov14_021559e8 _0211fea0: .word gItemManager -_0211fea4: .word data_027e0d0c +_0211fea4: .word gVec3p_ZERO _0211fea8: .word 0x00000266 arm_func_end func_ov14_0211fda4 @@ -772,7 +772,7 @@ func_ov14_0211ff04: ; 0x0211ff04 mov r0, #0 str r0, [r4, #0x130] ldrh r0, [r4, #0x24] - ldr r2, _0212003c ; =data_02050f54 + ldr r2, _0212003c ; =gSinCosTable cmp r0, #1 moveq r0, #0x78 movne r0, #0x3c @@ -806,7 +806,7 @@ func_ov14_0211ff04: ; 0x0211ff04 orr r1, r1, r0, lsl #20 str r1, [r4, #0x68] add r0, r4, #0x60 - bl func_01ff9cec + bl Vec3p_Length mov r3, #0 str r0, [r4, #0x1a0] str r3, [r4, #0x19c] @@ -845,7 +845,7 @@ _0212002c: str r1, [r4, #0xa0] ldmia sp!, {r4, pc} .align 2, 0 -_0212003c: .word data_02050f54 +_0212003c: .word gSinCosTable _02120040: .word 0x00001266 _02120044: .word data_027e0fd4 _02120048: .word data_ov14_0215abec @@ -935,7 +935,7 @@ func_ov14_02120118: ; 0x02120118 _02120154: ldr r1, _0212017c ; =data_ov14_02153b54 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -959,11 +959,11 @@ func_ov14_02120180: ; 0x02120180 add r2, sp, #0x3c add r0, r4, #0x54 add r1, r4, #0x7c - bl func_01ff9bc4 + bl Vec3p_Add add r2, sp, #0x30 add r0, r4, #0x48 add r1, r4, #0x7c - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x60 str r0, [sp] mov r0, #1 @@ -973,7 +973,7 @@ func_ov14_02120180: ; 0x02120180 add r1, sp, #0x3c add r2, sp, #0x30 mov r0, r4 - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi cmp r0, #0 beq _02120248 mov r0, r4 @@ -1036,7 +1036,7 @@ _02120248: bl func_ov00_020ceacc ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] mov r0, #0 str r0, [r4, #0x19c] @@ -1052,11 +1052,11 @@ _021202ec: .word data_027e0ffc .global func_ov14_021202f0 arm_func_start func_ov14_021202f0 func_ov14_021202f0: ; 0x021202f0 - ldr ip, _021202fc ; =func_01fffcec + ldr ip, _021202fc ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_021202fc: .word func_01fffcec +_021202fc: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov14_021202f0 .global func_ov14_02120300 @@ -1087,7 +1087,7 @@ func_ov14_02120300: ; 0x02120300 mov r1, #4 bl func_ov14_02120dec _02120360: - ldr r0, _02120750 ; =data_027e0fb8 + ldr r0, _02120750 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 @@ -1128,7 +1128,7 @@ _021203e0: add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrb r0, [r6, #0x188] cmp r0, #0 ldreqb r0, [r6, #0x189] @@ -1139,7 +1139,7 @@ _021203e0: mov r1, #0 bic r2, r4, #4 strh r2, [r6, #0x9c] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 movne r0, #0 strneb r0, [r6, #0x118] @@ -1154,7 +1154,7 @@ _02120438: mov r1, #0 mov r0, r6 str r1, [r2, #0x34] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _0212052c ldr r1, _02120758 ; =data_ov14_0215abec @@ -1196,7 +1196,7 @@ _021204e4: _021204f0: ldr r0, [r6, #0xc4] ldr r1, [r6, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r6 mov r1, r1, asr #0x10 @@ -1229,7 +1229,7 @@ _02120560: beq _0212058c ldr r0, [r6, #0xc4] ldr r1, [r6, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r6 mov r1, r1, asr #0x10 @@ -1271,12 +1271,12 @@ _021205e8: add r1, r6, #0x60 mov r2, r0 strh r4, [r3, #0xac] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r6 bl _ZN5Actor12ApplyGravityEv b _02120720 _02120618: - ldr r0, _0212076c ; =data_027e0fe4 + ldr r0, _0212076c ; =gActorManager add r1, r6, #0x164 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1302,11 +1302,11 @@ _02120618: add r0, sp, #8 add r1, r4, #0x48 add r2, r6, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add b _02120710 _02120688: ldrh r1, [r6, #0x78] - ldr r2, _02120770 ; =data_02050f54 + ldr r2, _02120770 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 @@ -1360,15 +1360,15 @@ _02120728: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02120750: .word data_027e0fb8 +_02120750: .word gPlayerControl _02120754: .word data_ov14_0215abc0 _02120758: .word data_ov14_0215abec _0212075c: .word data_027e0ffc _02120760: .word 0x0000019a _02120764: .word 0x00001555 _02120768: .word 0xfffff1c7 -_0212076c: .word data_027e0fe4 -_02120770: .word data_02050f54 +_0212076c: .word gActorManager +_02120770: .word gSinCosTable arm_func_end func_ov14_02120300 .global func_ov14_02120774 @@ -1421,7 +1421,7 @@ func_ov14_021207b8: ; 0x021207b8 mov r1, #1 str r2, [r5, #0x168] bl func_ov14_02120dec - ldr r0, _0212098c ; =data_027e0fe4 + ldr r0, _0212098c ; =gActorManager add r1, r5, #0x164 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1453,18 +1453,18 @@ func_ov14_021207b8: ; 0x021207b8 add r1, sp, #0x18 mov r2, r0 add r9, r6, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot mov r7, r0 add r0, sp, #0 add r1, sp, #0xc - bl func_01ff9c2c + bl Vec3p_Dot mov r6, r0 add r0, sp, #0xc mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot smull r3, r2, r9, r9 smull r9, r1, r6, r6 adds ip, r9, #0x800 @@ -1491,7 +1491,7 @@ func_ov14_021207b8: ; 0x021207b8 add r2, r5, #0x48 add r1, r5, #0x60 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy b _02120930 _02120914: mov r1, r7 @@ -1500,12 +1500,12 @@ _02120914: add r2, r5, #0x48 add r1, r5, #0x60 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy _02120930: add r0, r5, #0x48 add r1, r8, #0x48 add r2, r5, #0x158 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r5, #0x1a4] add r0, r0, r4 str r0, [r5, #0x1a4] @@ -1516,7 +1516,7 @@ _0212094c: strh r2, [r1, #0xb2] bl func_ov14_02120da8 add r1, r5, #0x178 - ldr r0, _02120994 ; =data_027e0d0c + ldr r0, _02120994 ; =gVec3p_ZERO str r1, [r5, #0x184] ldr r1, [r0] str r1, [r5, #0x60] @@ -1527,9 +1527,9 @@ _0212094c: add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0212098c: .word data_027e0fe4 +_0212098c: .word gActorManager _02120990: .word 0x00001555 -_02120994: .word data_027e0d0c +_02120994: .word gVec3p_ZERO arm_func_end func_ov14_021207b8 .global func_ov14_02120998 @@ -1551,7 +1551,7 @@ func_ov14_02120998: ; 0x02120998 mov r1, #1 str r2, [r6, #0x168] bl func_ov14_02120dec - ldr r0, _02120a74 ; =data_027e0fe4 + ldr r0, _02120a74 ; =gActorManager add r1, r6, #0x164 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1572,7 +1572,7 @@ func_ov14_02120998: ; 0x02120998 add r1, r3, #0x48 add r2, r6, #0x158 str r4, [r6, #0x5c] - bl func_01ff9bf8 + bl Vec3p_Sub _02120a30: ldr r2, _02120a78 ; =0x00001555 add r1, r6, #0x100 @@ -1580,7 +1580,7 @@ _02120a30: strh r2, [r1, #0xb2] bl func_ov14_02120da8 add r1, r6, #0x178 - ldr r0, _02120a7c ; =data_027e0d0c + ldr r0, _02120a7c ; =gVec3p_ZERO str r1, [r6, #0x184] ldr r1, [r0] str r1, [r6, #0x60] @@ -1592,16 +1592,16 @@ _02120a30: add sp, sp, #0x10 bx lr .align 2, 0 -_02120a74: .word data_027e0fe4 +_02120a74: .word gActorManager _02120a78: .word 0x00001555 -_02120a7c: .word data_027e0d0c +_02120a7c: .word gVec3p_ZERO arm_func_end func_ov14_02120998 .global func_ov14_02120a80 arm_func_start func_ov14_02120a80 func_ov14_02120a80: ; 0x02120a80 ldrh r1, [r1, #0x78] - ldr ip, _02120ac0 ; =data_02050f54 + ldr ip, _02120ac0 ; =gSinCosTable mov r2, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -1617,7 +1617,7 @@ func_ov14_02120a80: ; 0x02120a80 strh r1, [r0, #0x54] bx lr .align 2, 0 -_02120ac0: .word data_02050f54 +_02120ac0: .word gSinCosTable arm_func_end func_ov14_02120a80 .global func_ov14_02120ac4 @@ -1652,7 +1652,7 @@ func_ov14_02120ac4: ; 0x02120ac4 bl func_ov00_020a61ac add r0, sp, #0x20 add r1, sp, #0x2c - bl func_01ff9c2c + bl Vec3p_Dot mov r3, #0x1800 rsb r3, r3, #0 mvn ip, #0 @@ -1667,7 +1667,7 @@ func_ov14_02120ac4: ; 0x02120ac4 orr r0, r0, r3, lsl #20 add r1, sp, #0x2c mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0x14 mov r1, #0x400 bl func_01fffbec @@ -1686,7 +1686,7 @@ func_ov14_02120ac4: ; 0x02120ac4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r5, #0x78] - ldr lr, _02120c80 ; =data_02050f54 + ldr lr, _02120c80 ; =gSinCosTable ldr r4, _02120c84 ; =0x000004cd mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -1736,7 +1736,7 @@ _02120c70: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02120c80: .word data_02050f54 +_02120c80: .word gSinCosTable _02120c84: .word 0x000004cd _02120c88: .word data_027e0ffc _02120c8c: .word 0x0000019b @@ -1753,10 +1753,10 @@ func_ov14_02120c98: ; 0x02120c98 mov r0, r1 add r2, sp, #0 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 mov r0, r1, lsl #0x10 @@ -1766,7 +1766,7 @@ func_ov14_02120c98: ; 0x02120c98 add r2, ip, #1 add r0, r1, #0x8000 mov r1, r0, lsl #0x10 - ldr r3, _02120d54 ; =data_02050f54 + ldr r3, _02120d54 ; =gSinCosTable mov ip, ip, lsl #0x1 ldrsh ip, [r3, ip] mov r0, r2, lsl #0x1 @@ -1795,7 +1795,7 @@ func_ov14_02120c98: ; 0x02120c98 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02120d54: .word data_02050f54 +_02120d54: .word gSinCosTable arm_func_end func_ov14_02120c98 .global func_ov14_02120d58 @@ -1827,7 +1827,7 @@ _02120da4: .word data_027e0f64 .global func_ov14_02120da8 arm_func_start func_ov14_02120da8 func_ov14_02120da8: ; 0x02120da8 - ldr r2, _02120de8 ; =data_027e0d0c + ldr r2, _02120de8 ; =gVec3p_ZERO add r1, r0, #0x100 ldr ip, [r2] mov r3, #0 @@ -1844,7 +1844,7 @@ func_ov14_02120da8: ; 0x02120da8 strb r3, [r0, #0x1b4] bx lr .align 2, 0 -_02120de8: .word data_027e0d0c +_02120de8: .word gVec3p_ZERO arm_func_end func_ov14_02120da8 .global func_ov14_02120dec @@ -1905,13 +1905,13 @@ _02120e80: mov r3, #0 bl func_ov00_020c070c _02120e94: - ldr r1, _02120ed0 ; =data_027e0f94 + ldr r1, _02120ed0 ; =gPlayerPos add r2, sp, #0 add r0, r4, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -1922,17 +1922,17 @@ _02120ec4: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02120ed0: .word data_027e0f94 +_02120ed0: .word gPlayerPos arm_func_end func_ov14_02120e54 .global func_ov14_02120ed4 arm_func_start func_ov14_02120ed4 func_ov14_02120ed4: ; 0x02120ed4 - ldr ip, _02120ee0 ; =func_01fffcec + ldr ip, _02120ee0 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02120ee0: .word func_01fffcec +_02120ee0: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov14_02120ed4 .global func_ov14_02120ee4 @@ -1954,7 +1954,7 @@ func_ov14_02120ee4: ; 0x02120ee4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r8, #0x78] - ldr r2, _021213ac ; =data_02050f54 + ldr r2, _021213ac ; =gSinCosTable add r0, sp, #0xa8 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -1974,7 +1974,7 @@ func_ov14_02120ee4: ; 0x02120ee4 beq _02121030 add r0, r8, #0x100 ldrsh r1, [r0, #0xb2] - ldr r2, _021213ac ; =data_02050f54 + ldr r2, _021213ac ; =gSinCosTable add r0, sp, #0x78 add r1, r3, r1 mov r1, r1, lsl #0x10 @@ -2230,7 +2230,7 @@ _02121354: add r2, sp, #0x60 add r0, r8, #0x48 add r1, r8, #0x8c - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _021213c0 ; =0x00000666 mov r0, r7, asr #0x1 str r1, [sp] @@ -2250,7 +2250,7 @@ _02121354: add sp, sp, #0xcc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_021213ac: .word data_02050f54 +_021213ac: .word gSinCosTable _021213b0: .word 0x00000333 _021213b4: .word 0x010700c0 _021213b8: .word 0x4210ffff @@ -2344,7 +2344,7 @@ func_ov14_021214b0: ; 0x021214b0 ldr r0, _02121534 ; =data_ov14_02155ac8 mov ip, #0xa00 str r0, [r4] - ldr r1, _02121538 ; =data_027e0d0c + ldr r1, _02121538 ; =gVec3p_ZERO str ip, [r4, #0x15c] ldr r0, [r1] mov r2, #0x2000 @@ -2373,7 +2373,7 @@ func_ov14_021214b0: ; 0x021214b0 ldmia sp!, {r4, pc} .align 2, 0 _02121534: .word data_ov14_02155ac8 -_02121538: .word data_027e0d0c +_02121538: .word gVec3p_ZERO arm_func_end func_ov14_021214b0 .global func_ov14_0212153c @@ -2597,7 +2597,7 @@ _02121838: ldrb r0, [r5, #0x158] cmp r0, #0 beq _02121868 - ldr r0, _021219d0 ; =data_027e0fb8 + ldr r0, _021219d0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 @@ -2700,7 +2700,7 @@ _021219b8: add sp, sp, #0xa4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_021219d0: .word data_027e0fb8 +_021219d0: .word gPlayerControl _021219d4: .word data_027e0f64 _021219d8: .word 0x0000ffff _021219dc: .word data_ov14_02155aa4 @@ -2736,7 +2736,7 @@ func_ov14_021219f8: ; 0x021219f8 ldrb r0, [r5, #0x158] cmp r0, #0 beq _02121a50 - ldr r0, _02121a84 ; =data_027e0fb8 + ldr r0, _02121a84 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 @@ -2759,7 +2759,7 @@ _02121a70: bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02121a84: .word data_027e0fb8 +_02121a84: .word gPlayerControl arm_func_end func_ov14_021219f8 .global func_ov14_02121a88 @@ -2901,7 +2901,7 @@ func_ov14_02121be4: ; 0x02121be4 mov r3, #0 ldr r7, _02121cd0 ; =0x0000059a str r3, [r4, #0x244] - ldr r0, _02121cd4 ; =data_027e0d0c + ldr r0, _02121cd4 ; =gVec3p_ZERO add r9, r4, #0x254 mov r8, #0x1000 add r6, r7, #0x1000 @@ -2940,7 +2940,7 @@ _02121cc4: .word data_ov14_02155cac _02121cc8: .word func_ov14_02121cd8 - 1 _02121ccc: .word func_ov14_02121d6c - 1 _02121cd0: .word 0x0000059a -_02121cd4: .word data_027e0d0c +_02121cd4: .word gVec3p_ZERO arm_func_end func_ov14_02121be4 .global func_ov14_02121cd8 @@ -3221,7 +3221,7 @@ _0212204c: str r3, [r5, #0x68] add r7, r5, #0x200 ldrh r0, [r7, #0x68] - ldr r9, _02122ac4 ; =data_02050f54 + ldr r9, _02122ac4 ; =gSinCosTable ldr r6, _02122ac8 ; =0x000004cd mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 @@ -3486,7 +3486,7 @@ _02122420: add r1, sp, #0x80 mov r2, r0 str r3, [sp, #0x84] - bl func_01ff9bc4 + bl Vec3p_Add b _02122510 _02122488: ldr r0, [sp, #0x80] @@ -3501,11 +3501,11 @@ _02122488: beq _02122510 ldr r0, [sp, #0x80] ldr r1, [sp, #0x88] - bl func_01ffa0f4 + bl Atan2 mov r6, r0, lsl #0x10 ldr r0, [r5, #0x60] ldr r1, [r5, #0x68] - bl func_01ffa0f4 + bl Atan2 ldr r1, [r5, #0x60] mov r0, r0, lsl #0x10 str r1, [sp, #0x74] @@ -3529,12 +3529,12 @@ _02122510: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x48 add r1, r5, #0x254 mov r2, r0 - bl func_01ff9bc4 - ldr r2, _02122ae8 ; =data_027e0d0c + bl Vec3p_Add + ldr r2, _02122ae8 ; =gVec3p_ZERO mov r0, r5 ldr r3, [r2] mov r1, #0x1a @@ -3566,7 +3566,7 @@ _021225a4: ldr r1, _02122aec ; =data_ov14_02153bdc mov r0, r5 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _021225cc mov r0, r5 @@ -3577,7 +3577,7 @@ _021225cc: ldr r1, _02122af0 ; =data_ov14_02153be8 add r2, sp, #8 mov r0, r5 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _02122650 ldr r1, [sp, #8] @@ -3589,10 +3589,10 @@ _021225cc: ldr r0, [sp, #8] add r1, r5, #0x48 add r0, r0, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x68] ldr r1, [sp, #0x70] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x200 strh r0, [r1, #0x68] ldrsh r2, [r1, #0x68] @@ -3640,7 +3640,7 @@ _021226a4: beq _0212276c add r0, r5, #0x60 add r1, r5, #0xc4 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 bge _02122820 mov r1, #0x1200 @@ -3657,7 +3657,7 @@ _021226a4: orr r0, r0, r1, lsl #20 add r1, r5, #0xc4 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r2, [r5, #0x60] mov r0, #0xc00 umull r6, r3, r2, r0 @@ -3785,7 +3785,7 @@ _021228d4: bl func_ov14_02122bb8 b _021229e0 _021228f0: - ldr r0, _02122afc ; =data_027e0f94 + ldr r0, _02122afc ; =gPlayerPos ldr r2, [r5, #0x4c] ldr r1, [r0, #4] mov r0, r5 @@ -3808,9 +3808,9 @@ _02122938: add r2, sp, #0x50 add r0, r5, #0x248 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x50 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02122b00 ; =0x00000666 cmp r0, r1 bge _02122974 @@ -3827,7 +3827,7 @@ _02122974: add r1, sp, #0x50 mov r3, r2 mov r0, #0x400 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r5, #0x60] ldr r3, _02122b04 ; =0x0000099a add r0, r5, #0x48 @@ -3847,7 +3847,7 @@ _02122974: add r3, r3, #0x800 mov r3, r3, asr #0xc str r3, [r5, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add _021229e0: cmp r4, #0 beq _02122a84 @@ -3863,13 +3863,13 @@ _021229e0: ldr r1, [r5, #0x244] add r3, sp, #0x44 add r2, r5, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r5, #0x244] ldr r0, [r5, #0x260] add r3, sp, #0x38 add r1, r1, #0xc add r2, r5, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, _02122b08 ; =data_027e0e58 add r2, sp, #0x44 ldr r0, [r0] @@ -3910,7 +3910,7 @@ _02122ab4: .word data_ov14_0215ac40 _02122ab8: .word 0x000014cd _02122abc: .word 0x0000059a _02122ac0: .word 0x00000333 -_02122ac4: .word data_02050f54 +_02122ac4: .word gSinCosTable _02122ac8: .word 0x000004cd _02122acc: .word gMapManager _02122ad0: .word 0x00000e66 @@ -3919,12 +3919,12 @@ _02122ad8: .word data_027e0764 _02122adc: .word 0x0000019a _02122ae0: .word data_ov14_02155b9c _02122ae4: .word data_027e0f78 -_02122ae8: .word data_027e0d0c +_02122ae8: .word gVec3p_ZERO _02122aec: .word data_ov14_02153bdc _02122af0: .word data_ov14_02153be8 _02122af4: .word 0xffffd555 _02122af8: .word 0xffffd99a -_02122afc: .word data_027e0f94 +_02122afc: .word gPlayerPos _02122b00: .word 0x00000666 _02122b04: .word 0x0000099a _02122b08: .word data_027e0e58 @@ -3951,7 +3951,7 @@ func_ov14_02122b20: ; 0x02122b20 mov r7, r1 cmp r0, #0 beq _02122b74 - ldr r0, _02122bb4 ; =data_027e0fc8 + ldr r0, _02122bb4 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -3984,7 +3984,7 @@ _02122b98: strb r0, [r4, #0x26a] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02122bb4: .word data_027e0fc8 +_02122bb4: .word gPlayerLink arm_func_end func_ov14_02122b20 .global func_ov14_02122bb8 @@ -4004,7 +4004,7 @@ func_ov14_02122bb8: ; 0x02122bb8 b _02122c84 _02122be8: add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -4056,13 +4056,13 @@ _02122c98: .word data_027e0e58 .global func_ov14_02122c9c arm_func_start func_ov14_02122c9c func_ov14_02122c9c: ; 0x02122c9c - ldr ip, _02122cb0 ; =func_01ff9bc4 + ldr ip, _02122cb0 ; =Vec3p_Add mov r2, r0 add r0, r2, #0x254 add r2, r2, #0x254 bx ip .align 2, 0 -_02122cb0: .word func_01ff9bc4 +_02122cb0: .word Vec3p_Add arm_func_end func_ov14_02122c9c .global func_ov14_02122cb4 @@ -4126,10 +4126,10 @@ func_ov14_02122d6c: ; 0x02122d6c mov r4, r1 mov r5, r0 mov r0, r4 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x29 ble _02122db4 - ldr r0, _02122e40 ; =data_027e0f94 + ldr r0, _02122e40 ; =gPlayerPos ldr r1, [r0] str r1, [r5, #0x48] ldr r0, [r0, #8] @@ -4141,7 +4141,7 @@ func_ov14_02122d6c: ; 0x02122d6c ldr r0, [r5, #0x50] b _02122dcc _02122db4: - ldr r0, _02122e40 ; =data_027e0f94 + ldr r0, _02122e40 ; =gPlayerPos ldr r1, [r0] str r1, [r5, #0x54] ldr r1, [r5, #0x4c] @@ -4178,7 +4178,7 @@ _02122dcc: str r2, [r5, #0x68] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02122e40: .word data_027e0f94 +_02122e40: .word gPlayerPos _02122e44: .word 0x00000ccd arm_func_end func_ov14_02122d6c @@ -4261,9 +4261,9 @@ func_ov14_02122ed4: ; 0x02122ed4 str r3, [sp, #0x40] ldr r3, [r10, #0x5c] str r3, [sp, #0x44] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x30 - bl func_01ff9cec + bl Vec3p_Length add r1, sp, #0x3c mov r9, r0 add r11, sp, #0 @@ -4294,7 +4294,7 @@ _02122f90: mov r1, r6 mov r2, r5 mov r3, r5 - bl func_01ff9e64 + bl Vec3p_Axpy sub r9, r9, r8 b _02122fcc _02122fb4: @@ -4302,7 +4302,7 @@ _02122fb4: mov r1, r6 mov r2, r5 mov r3, r5 - bl func_01ff9e64 + bl Vec3p_Axpy mov r9, r4 _02122fcc: ldr r1, [sp, #0x18] @@ -4319,7 +4319,7 @@ _02122fcc: str r2, [r10, #0x58] ldr r2, [sp, #0x2c] str r2, [r10, #0x5c] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei movs r7, r0 ldreqb r0, [r10, #0x111] cmpeq r0, #0 @@ -4505,11 +4505,11 @@ func_ov14_021231e0: ; 0x021231e0 .global func_ov14_0212321c arm_func_start func_ov14_0212321c func_ov14_0212321c: ; 0x0212321c - ldr ip, _02123228 ; =func_01fffcec + ldr ip, _02123228 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #2 bx ip .align 2, 0 -_02123228: .word func_01fffcec +_02123228: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov14_0212321c .global func_ov14_0212322c @@ -4572,8 +4572,8 @@ _021232b8: ldr r3, [r5, #0x50] mov r2, r0 str r3, [r5, #0x5c] - bl func_01ff9bc4 - ldr r0, _02123554 ; =data_027e0fc8 + bl Vec3p_Add + ldr r0, _02123554 ; =gPlayerLink add r1, r5, #0x48 ldr r0, [r0] bl func_ov00_020bb68c @@ -4623,9 +4623,9 @@ _02123394: mov r0, r5 mov r2, #0 bl func_ov14_021235bc - ldr r0, _02123554 ; =data_027e0fc8 + ldr r0, _02123554 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _02123440 ldr r2, [sp, #0x44] @@ -4643,15 +4643,15 @@ _02123394: ldr r3, [r5, #0x50] mov r2, r0 str r3, [sp, #0x18] - bl func_01ff9bf8 - ldr r0, _02123558 ; =data_027e0f90 + bl Vec3p_Sub + ldr r0, _02123558 ; =gPlayer add r1, sp, #0x28 ldr r0, [r0] ldr r2, [r0] ldr r2, [r2, #0x10] blx r2 add r0, sp, #0x38 - bl func_01ff9cec + bl Vec3p_Length ldr r1, [sp, #0x34] cmp r0, r1 bge _02123460 @@ -4672,7 +4672,7 @@ _02123460: ldrb r0, [r5, #0x168] cmp r0, #0 beq _02123484 - ldr r0, _0212355c ; =data_027e0fb8 + ldr r0, _0212355c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 @@ -4736,9 +4736,9 @@ _02123530: _02123548: .word data_027e0ffc _0212354c: .word 0x0000019e _02123550: .word gItemManager -_02123554: .word data_027e0fc8 -_02123558: .word data_027e0f90 -_0212355c: .word data_027e0fb8 +_02123554: .word gPlayerLink +_02123558: .word gPlayer +_0212355c: .word gPlayerControl _02123560: .word data_027e0f64 _02123564: .word data_027e0e58 arm_func_end func_ov14_02123254 @@ -4787,7 +4787,7 @@ func_ov14_021235bc: ; 0x021235bc mov r0, r1 add r2, sp, #0 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr ip, [r5, #0x60] cmp ip, #0 blt _02123610 @@ -4860,7 +4860,7 @@ _021236d4: cmp r4, #0 beq _02123718 add r0, r5, #0x60 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 add r0, sp, #0 add r1, r1, #0x200 @@ -4880,7 +4880,7 @@ _02123718: add r1, r5, #0x60 add r0, sp, #0 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_end func_ov14_021235bc @@ -4900,7 +4900,7 @@ func_ov14_0212373c: ; 0x0212373c addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] - ldr r3, _021237e4 ; =data_02050f54 + ldr r3, _021237e4 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4931,7 +4931,7 @@ func_ov14_0212373c: ; 0x0212373c add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_021237e4: .word data_02050f54 +_021237e4: .word gSinCosTable _021237e8: .word data_ov00_020e9370 arm_func_end func_ov14_0212373c @@ -4992,7 +4992,7 @@ func_ov14_02123858: ; 0x02123858 stmdb sp!, {r4, lr} ldr r1, _021238a0 ; =data_ov14_02155df8 mov r4, r0 - ldr r0, _021238a4 ; =data_027e0fc8 + ldr r0, _021238a4 ; =gPlayerLink str r1, [r4] ldr r0, [r0] cmp r0, #0 @@ -5010,7 +5010,7 @@ _02123880: ldmia sp!, {r4, pc} .align 2, 0 _021238a0: .word data_ov14_02155df8 -_021238a4: .word data_027e0fc8 +_021238a4: .word gPlayerLink arm_func_end func_ov14_02123858 .global func_ov14_021238a8 @@ -5019,7 +5019,7 @@ func_ov14_021238a8: ; 0x021238a8 stmdb sp!, {r4, lr} ldr r1, _021238e8 ; =data_ov14_02155df8 mov r4, r0 - ldr r0, _021238ec ; =data_027e0fc8 + ldr r0, _021238ec ; =gPlayerLink str r1, [r4] ldr r0, [r0] cmp r0, #0 @@ -5035,7 +5035,7 @@ _021238d0: ldmia sp!, {r4, pc} .align 2, 0 _021238e8: .word data_ov14_02155df8 -_021238ec: .word data_027e0fc8 +_021238ec: .word gPlayerLink arm_func_end func_ov14_021238a8 .global func_ov14_021238f0 @@ -5171,7 +5171,7 @@ _02123a80: add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 add r1, r6, #0x180 bl func_ov14_0213d404 @@ -5179,7 +5179,7 @@ _02123ab0: ldrb r0, [r6, #0x16a] cmp r0, #0 beq _02123ad4 - ldr r0, _02123ba0 ; =data_027e0fb8 + ldr r0, _02123ba0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 @@ -5240,7 +5240,7 @@ _02123b44: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02123b9c: .word 0x00000b33 -_02123ba0: .word data_027e0fb8 +_02123ba0: .word gPlayerControl _02123ba4: .word data_027e0f64 arm_func_end func_ov14_02123994 @@ -5331,7 +5331,7 @@ _02123cbc: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r4, r5, r6, pc} arm_func_end func_ov14_02123c54 @@ -5345,7 +5345,7 @@ func_ov14_02123cd0: ; 0x02123cd0 mov r0, r1 add r2, sp, #0 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r5, #0 beq _02123d9c ldr lr, [sp] @@ -5384,7 +5384,7 @@ func_ov14_02123cd0: ; 0x02123cd0 beq _02123e08 ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] add sp, sp, #0xc mov r0, #0 @@ -5409,7 +5409,7 @@ _02123d9c: beq _02123e08 ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 @@ -5792,11 +5792,11 @@ _02124298: .word func_ov00_020b7d74 .global func_ov14_0212429c arm_func_start func_ov14_0212429c func_ov14_0212429c: ; 0x0212429c - ldr ip, _021242a8 ; =func_01fffcec + ldr ip, _021242a8 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #7 bx ip .align 2, 0 -_021242a8: .word func_01fffcec +_021242a8: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov14_0212429c .global func_ov14_021242ac @@ -5998,7 +5998,7 @@ _0212453c: add r2, sp, #0xa4 add r0, r5, #0x158 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 ldr r1, _02124c58 ; =0x00000333 add r0, sp, #0xa4 @@ -6058,7 +6058,7 @@ _02124608: add r0, sp, #0x98 add r2, sp, #0x8c add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 ldr r1, _02124c58 ; =0x00000333 add r0, sp, #0x8c @@ -6122,10 +6122,10 @@ _02124724: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x60] ldr r1, [r5, #0x68] - bl func_01ffa0f4 + bl Atan2 strh r0, [r5, #0x78] add r0, r5, #0x100 ldrsh r1, [r0, #0x7c] @@ -6159,7 +6159,7 @@ _021247b0: ldr r1, _02124c5c ; =data_ov14_02153bfc mov r0, r5 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _021247d8 mov r0, r5 @@ -6175,7 +6175,7 @@ _021247d8: mov r2, #2 mov r0, r5 strh r2, [r5, #0x9c] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r0, _02124c60 ; =data_ov14_0215ac9c mov r1, #0 str r1, [r0, #0x34] @@ -6222,7 +6222,7 @@ _0212486c: b _02124944 _021248a8: mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02124930 ldr r1, [r5, #0xb8] @@ -6248,7 +6248,7 @@ _021248a8: bne _02124920 add r0, r5, #0x60 add r1, r5, #0xc4 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 bgt _02124944 _02124920: @@ -6372,7 +6372,7 @@ _02124ad0: cmp r2, r1 bne _02124a7c _02124adc: - ldr r0, _02124c6c ; =data_027e0fc8 + ldr r0, _02124c6c ; =gPlayerLink add r1, r5, #0x48 ldr r0, [r0] bl func_ov00_020bb68c @@ -6482,7 +6482,7 @@ _02124c5c: .word data_ov14_02153bfc _02124c60: .word data_ov14_0215ac9c _02124c64: .word gAdventureFlags _02124c68: .word data_027e0f64 -_02124c6c: .word data_027e0fc8 +_02124c6c: .word gPlayerLink arm_func_end func_ov14_021243e4 .global func_ov14_02124c70 @@ -6583,7 +6583,7 @@ func_ov14_02124d98: ; 0x02124d98 cmp r4, #2 bne _02124e34 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -6671,7 +6671,7 @@ _02124e80: ldmia sp!, {r4, pc} _02124ee0: ldrh r1, [r4, #0x78] - ldr r3, _02124f50 ; =data_02050f54 + ldr r3, _02124f50 ; =gSinCosTable add r0, sp, #0x38 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -6699,7 +6699,7 @@ _02124ee0: ldmia sp!, {r4, pc} .align 2, 0 _02124f4c: .word data_027e0d3c -_02124f50: .word data_02050f54 +_02124f50: .word gSinCosTable _02124f54: .word data_02063e4c arm_func_end func_ov14_02124e4c @@ -6720,7 +6720,7 @@ func_ov14_02124f58: ; 0x02124f58 add r0, r4, #0x100 ldrsh r1, [r0, #0x7c] ldrsh r2, [r4, #0x78] - ldr r3, _02124fe4 ; =data_02050f54 + ldr r3, _02124fe4 ; =gSinCosTable add r0, sp, #0 add r1, r2, r1 mov r1, r1, lsl #0x10 @@ -6742,7 +6742,7 @@ func_ov14_02124f58: ; 0x02124f58 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02124fe4: .word data_02050f54 +_02124fe4: .word gSinCosTable arm_func_end func_ov14_02124f58 .global func_ov14_02124fe8 @@ -7079,7 +7079,7 @@ _02125340: mov r2, r4 str r3, [sp, #0x20] str r3, [sp, #0x28] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x800 mov r1, #0x1000 str r1, [sp, #0x18] @@ -7088,7 +7088,7 @@ _02125340: add r0, sp, #0x44 add r1, sp, #0x14 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02125598 ; =gMapManager ldrb r3, [r5, #0x15] ldrb r2, [r5, #0x14] @@ -7714,7 +7714,7 @@ func_ov14_02125c24: ; 0x02125c24 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02125c90 ; =data_02050f54 + ldr r3, _02125c90 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7738,7 +7738,7 @@ func_ov14_02125c24: ; 0x02125c24 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02125c90: .word data_02050f54 +_02125c90: .word gSinCosTable _02125c94: .word data_ov14_02153c18 arm_func_end func_ov14_02125c24 @@ -7906,7 +7906,7 @@ func_ov14_02125e60: ; 0x02125e60 ldrh r1, [r4, #0x26] cmp r1, #0 beq _02125ea4 - ldr r0, _02125ec4 ; =data_027e0fe4 + ldr r0, _02125ec4 ; =gActorManager mov r2, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -7915,7 +7915,7 @@ func_ov14_02125e60: ; 0x02125e60 movne r0, #0 ldmia sp!, {r4, pc} _02125ea4: - ldr r0, _02125ec4 ; =data_027e0fe4 + ldr r0, _02125ec4 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -7924,7 +7924,7 @@ _02125ea4: movne r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02125ec4: .word data_027e0fe4 +_02125ec4: .word gActorManager arm_func_end func_ov14_02125e60 .global func_ov14_02125ec8 @@ -8249,7 +8249,7 @@ func_ov14_021261e4: ; 0x021261e4 ldrh r1, [r4, #0x26] cmp r1, #0 beq _02126228 - ldr r0, _02126248 ; =data_027e0fe4 + ldr r0, _02126248 ; =gActorManager mov r2, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -8258,7 +8258,7 @@ func_ov14_021261e4: ; 0x021261e4 movne r0, #0 ldmia sp!, {r4, pc} _02126228: - ldr r0, _02126248 ; =data_027e0fe4 + ldr r0, _02126248 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -8267,7 +8267,7 @@ _02126228: movne r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02126248: .word data_027e0fe4 +_02126248: .word gActorManager arm_func_end func_ov14_021261e4 .global func_ov14_0212624c @@ -8528,7 +8528,7 @@ func_ov14_021264b0: ; 0x021264b0 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02126528 ; =data_02050f54 + ldr r3, _02126528 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8555,7 +8555,7 @@ func_ov14_021264b0: ; 0x021264b0 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02126528: .word data_02050f54 +_02126528: .word gSinCosTable arm_func_end func_ov14_021264b0 .global func_ov14_0212652c @@ -8576,7 +8576,7 @@ func_ov14_0212652c: ; 0x0212652c str r1, [sp, #0x38] str r4, [sp, #0x48] ldrh r4, [r5, #0xc] - ldr r3, _021265e8 ; =data_02050f54 + ldr r3, _021265e8 ; =gSinCosTable add r0, sp, #4 mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 @@ -8593,7 +8593,7 @@ func_ov14_0212652c: ; 0x0212652c add r0, sp, #0x40 add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #4 str r0, [sp] ldr r0, _021265ec ; =data_027e0e58 @@ -8609,7 +8609,7 @@ func_ov14_0212652c: ; 0x0212652c ldmia sp!, {r4, r5, pc} .align 2, 0 _021265e4: .word 0x00000666 -_021265e8: .word data_02050f54 +_021265e8: .word gSinCosTable _021265ec: .word data_027e0e58 _021265f0: .word 0x00000272 arm_func_end func_ov14_0212652c @@ -8636,8 +8636,8 @@ func_ov14_02126600: ; 0x02126600 .global func_ov14_02126604 arm_func_start func_ov14_02126604 func_ov14_02126604: ; 0x02126604 - ldr r1, _02126624 ; =data_027e0fac - ldr r3, _02126628 ; =data_027e0fc8 + ldr r1, _02126624 ; =gPlayerAngle + ldr r3, _02126628 ; =gPlayerLink ldrsh r2, [r1] mov r1, r0 ldr ip, _0212662c ; =func_ov00_020bcdec @@ -8645,8 +8645,8 @@ func_ov14_02126604: ; 0x02126604 add r1, r1, #4 bx ip .align 2, 0 -_02126624: .word data_027e0fac -_02126628: .word data_027e0fc8 +_02126624: .word gPlayerAngle +_02126628: .word gPlayerLink _0212662c: .word func_ov00_020bcdec arm_func_end func_ov14_02126604 @@ -8864,7 +8864,7 @@ _02126898: str lr, [sp, #0x48] str ip, [sp, #0x4c] str r3, [sp, #0x50] - bl func_01ff9bf8 + bl Vec3p_Sub ldr lr, _02126ab0 ; =0x0000059a add r0, sp, #0x54 rsb ip, lr, #0x2c00 @@ -8874,7 +8874,7 @@ _02126898: str lr, [sp, #0x3c] str ip, [sp, #0x40] str r3, [sp, #0x44] - bl func_01ff9bc4 + bl Vec3p_Add mov r2, #1 strb r2, [r5, #0x83] ldrb r1, [r5, #0x15] @@ -8917,7 +8917,7 @@ _02126958: str lr, [sp, #0x30] str ip, [sp, #0x34] str r3, [sp, #0x38] - bl func_01ff9bf8 + bl Vec3p_Sub ldr ip, _02126ab8 ; =0x00002666 add r0, sp, #0x54 rsb r3, ip, #0x2c00 @@ -8927,7 +8927,7 @@ _02126958: str lr, [sp, #0x24] str ip, [sp, #0x28] str r3, [sp, #0x2c] - bl func_01ff9bc4 + bl Vec3p_Add ldrb r1, [r5, #0x14] ldr r0, _02126ab4 ; =gMapManager ldrb ip, [r5, #0x15] @@ -9976,7 +9976,7 @@ _0212786c: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0212796c ; =data_02050f54 + ldr r2, _0212796c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -10006,7 +10006,7 @@ _0212786c: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0212796c ; =data_02050f54 + ldr r2, _0212796c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -10034,7 +10034,7 @@ _0212786c: _02127960: .word data_027e0f64 _02127964: .word 0x45800000 _02127968: .word 0x46800000 -_0212796c: .word data_02050f54 +_0212796c: .word gSinCosTable arm_func_end func_ov14_021277f0 .global func_ov14_02127970 @@ -10194,7 +10194,7 @@ func_ov14_02127ae4: ; 0x02127ae4 add r1, sp, #0xc mov r0, r5 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add ldrsh r0, [r6, #0xc] add sp, sp, #0x18 strh r0, [r4] @@ -10216,7 +10216,7 @@ _02127b58: add r1, sp, #0 mov r0, r5 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add ldrsh r0, [r6, #0xc] sub r0, r0, #0x8000 strh r0, [r4] @@ -10625,7 +10625,7 @@ func_ov14_02127f84: ; 0x02127f84 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r2, r0, lsl #0x1 - ldr r3, _0212810c ; =data_02050f54 + ldr r3, _0212810c ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] @@ -10651,11 +10651,11 @@ func_ov14_02127f84: ; 0x02127f84 add r0, sp, #0x6c add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x6c add r1, sp, #0xc add r2, sp, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp] ldr r1, [sp, #0xc] rsb r0, r0, #0 @@ -10665,11 +10665,11 @@ func_ov14_02127f84: ; 0x02127f84 add r1, sp, #0 mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x60 add r1, sp, #0xc add r2, sp, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x9c] cmp r0, #0 beq _021280dc @@ -10690,7 +10690,7 @@ _021280dc: _02128100: .word 0xfffff004 _02128104: .word 0x45800000 _02128108: .word 0x46800000 -_0212810c: .word data_02050f54 +_0212810c: .word gSinCosTable _02128110: .word 0x00000547 arm_func_end func_ov14_02127f84 @@ -11182,7 +11182,7 @@ _021287ac: add r0, r0, #1 strh r0, [r7, #0x7a] ldrh r0, [r7, #0x7a] - ldr r4, _0212899c ; =data_02050f54 + ldr r4, _0212899c ; =gSinCosTable mov r3, #0 add r0, r0, r0, lsl #1 mov r0, r0, lsl #0xc @@ -11278,7 +11278,7 @@ _021288d0: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02128938: - ldr r0, _021289a0 ; =data_027e0f90 + ldr r0, _021289a0 ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -11306,8 +11306,8 @@ _0212898c: .word data_027e0ffc _02128990: .word 0x000001b2 _02128994: .word gAdventureFlags _02128998: .word 0x0b60b60b -_0212899c: .word data_02050f54 -_021289a0: .word data_027e0f90 +_0212899c: .word gSinCosTable +_021289a0: .word gPlayer arm_func_end func_ov14_02128328 .global func_ov14_021289a4 @@ -11344,7 +11344,7 @@ _021289c4: ; jump table b _02128cdc ; case 19 b _02128cdc ; case 20 _02128a18: - ldr r0, _02128d70 ; =data_027e0f90 + ldr r0, _02128d70 ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -11573,7 +11573,7 @@ _02128d64: add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02128d70: .word data_027e0f90 +_02128d70: .word gPlayer _02128d74: .word gAdventureFlags _02128d78: .word data_027e0ffc _02128d7c: .word data_027e0f64 @@ -11660,7 +11660,7 @@ func_ov14_02128e28: ; 0x02128e28 mov r1, r0, lsl #0x1 mov ip, r1, lsl #0x1 add r1, r1, #1 - ldr r3, _02129318 ; =data_02050f54 + ldr r3, _02129318 ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] @@ -11678,7 +11678,7 @@ func_ov14_02128e28: ; 0x02128e28 str r1, [sp, #0xe8] add r1, r5, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x90 ldr r3, [r0] add r1, sp, #0x130 @@ -11688,7 +11688,7 @@ func_ov14_02128e28: ; 0x02128e28 add r0, sp, #0xe8 add r1, r5, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp, #0xf4] str r0, [sp, #0xf8] @@ -11701,7 +11701,7 @@ func_ov14_02128e28: ; 0x02128e28 add r0, sp, #0xf4 add r1, sp, #0xe8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 add r1, sp, #0x130 add r2, sp, #0xf4 @@ -11727,7 +11727,7 @@ _02128f5c: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02129318 ; =data_02050f54 + ldr r2, _02129318 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -11742,7 +11742,7 @@ _02128f5c: str r4, [sp, #0x100] str r3, [sp, #0x104] str r3, [sp, #0x108] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x90 ldr r3, [r0] add r1, sp, #0x10c @@ -11761,7 +11761,7 @@ _02128f5c: add r0, sp, #0xe8 add r1, r5, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 mov r1, r4 str r1, [sp, #0xac] @@ -11770,7 +11770,7 @@ _02128f5c: add r0, sp, #0xe8 add r1, sp, #0xac mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 add r1, sp, #0x10c add r2, sp, #0xe8 @@ -11805,7 +11805,7 @@ _02128f5c: str lr, [sp, #0xa0] str ip, [sp, #0xa4] str r3, [sp, #0xa8] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0xb8 ldr r1, [r0] ldr r1, [r1, #8] @@ -11970,7 +11970,7 @@ _021292f4: .align 2, 0 _02129310: .word 0x45800000 _02129314: .word 0x46800000 -_02129318: .word data_02050f54 +_02129318: .word gSinCosTable _0212931c: .word 0xfffff148 _02129320: .word 0x00000eb8 _02129324: .word data_02052f54 @@ -12249,7 +12249,7 @@ func_ov14_02129674: ; 0x02129674 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r2, r0, lsl #0x1 - ldr r3, _021297fc ; =data_02050f54 + ldr r3, _021297fc ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] @@ -12275,11 +12275,11 @@ func_ov14_02129674: ; 0x02129674 add r0, sp, #0x6c add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x6c add r1, sp, #0xc add r2, sp, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp] ldr r1, [sp, #0xc] rsb r0, r0, #0 @@ -12289,11 +12289,11 @@ func_ov14_02129674: ; 0x02129674 add r1, sp, #0 mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x60 add r1, sp, #0xc add r2, sp, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x9c] cmp r0, #0 beq _021297cc @@ -12314,7 +12314,7 @@ _021297cc: _021297f0: .word 0xfffff004 _021297f4: .word 0x45800000 _021297f8: .word 0x46800000 -_021297fc: .word data_02050f54 +_021297fc: .word gSinCosTable _02129800: .word 0x00000547 arm_func_end func_ov14_02129674 @@ -12783,7 +12783,7 @@ _02129d80: str lr, [sp, #0x3c] str ip, [sp, #0x40] str r3, [sp, #0x44] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x48 ldr lr, _02129e64 ; =0x0000059a mov ip, #0x3000 @@ -12793,7 +12793,7 @@ _02129d80: str lr, [sp, #0x30] str ip, [sp, #0x34] str r3, [sp, #0x38] - bl func_01ff9bc4 + bl Vec3p_Add b _02129e24 _02129dd4: add r0, sp, #0x54 @@ -12805,7 +12805,7 @@ _02129dd4: str lr, [sp, #0x24] str ip, [sp, #0x28] str r3, [sp, #0x2c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x48 ldr r3, _02129e64 ; =0x0000059a mov lr, #0x1000 @@ -12815,7 +12815,7 @@ _02129dd4: str lr, [sp, #0x18] str ip, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add _02129e24: add r0, sp, #0x54 add ip, sp, #0 @@ -13047,7 +13047,7 @@ _0212a0f0: ldmia sp!, {r4, pc} _0212a0fc: ldr r2, [r4, #0x1c] - ldr r1, _0212a1e8 ; =data_027e0fb8 + ldr r1, _0212a1e8 ; =gPlayerControl add ip, r2, #0x800 ldr lr, [r4, #0x20] ldr r3, [r4, #0x18] @@ -13109,7 +13109,7 @@ _0212a1dc: add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 -_0212a1e8: .word data_027e0fb8 +_0212a1e8: .word gPlayerControl _0212a1ec: .word data_027e0e58 _0212a1f0: .word 0x0000025d _0212a1f4: .word 0x0000025e @@ -13222,7 +13222,7 @@ func_ov14_0212a2c0: ; 0x0212a2c0 str ip, [sp, #0xc] str r3, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add mov r3, #0 add r0, sp, #0x6c mov ip, #0x1000 @@ -13231,7 +13231,7 @@ func_ov14_0212a2c0: ; 0x0212a2c0 str ip, [sp] str r3, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldrb r0, [r4, #0x82] cmp r0, #0 ldr r0, [r4, #0x68] @@ -13261,7 +13261,7 @@ _0212a390: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0212a45c ; =data_02050f54 + ldr r2, _0212a45c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -13280,14 +13280,14 @@ _0212a390: add r0, sp, #0x78 add r1, sp, #0x18 add r2, sp, #0x60 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x18] add r0, sp, #0x6c rsb r3, r1, #0 add r1, sp, #0x18 add r2, sp, #0x54 str r3, [sp, #0x18] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x9c] cmp r0, #0 beq _0212a430 @@ -13307,7 +13307,7 @@ _0212a430: .align 2, 0 _0212a454: .word 0x45800000 _0212a458: .word 0x46800000 -_0212a45c: .word data_02050f54 +_0212a45c: .word gSinCosTable arm_func_end func_ov14_0212a2c0 .global func_ov14_0212a460 @@ -13330,10 +13330,10 @@ func_ov14_0212a460: ; 0x0212a460 add r0, sp, #0x20 add r1, sp, #0x2c add r2, sp, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x14 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #0x1000 ldr r2, [sp, #0x30] rsb r0, r0, #0 @@ -13356,16 +13356,16 @@ func_ov14_0212a460: ; 0x0212a460 mov r0, r7 add r1, sp, #0x14 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0x2c mov r0, r6 add r1, sp, #0x14 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0x20 add r1, sp, #0x2c add r2, sp, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #0x2c] ldr r1, [sp, #0x30] str r2, [sp, #4] @@ -13395,7 +13395,7 @@ func_ov14_0212a460: ; 0x0212a460 mov r3, r4 str r0, [r4, #8] ldr r0, [sp] - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #1 add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, pc} @@ -13469,7 +13469,7 @@ func_ov14_0212a5f8: ; 0x0212a5f8 add r0, r4, #0xd0 mov r1, #0 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii ldr r0, _0212a6e0 ; =data_027e0f68 ldr r3, [r4, #0x64] ldr r0, [r0] @@ -13552,7 +13552,7 @@ func_ov14_0212a758: ; 0x0212a758 add r1, sp, #0x44 str r3, [sp, #0x44] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #4] mov r3, #0 orr r0, r0, #4 @@ -13588,7 +13588,7 @@ func_ov14_0212a758: ; 0x0212a758 str ip, [sp, #0x2c] str r3, [sp, #0x30] str r5, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x50 ldr r3, _0212a918 ; =0x000002cd mov ip, #0x800 @@ -13598,7 +13598,7 @@ func_ov14_0212a758: ; 0x0212a758 str ip, [sp, #0x20] str r5, [sp, #0x24] str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov r5, #0 bic r1, r5, #0x1f orr r1, r1, #7 @@ -13781,7 +13781,7 @@ func_ov14_0212aaa8: ; 0x0212aaa8 ldr r0, [r4, #8] cmp r0, #0 bne _0212ab04 - ldr r0, _0212ab0c ; =data_027e0fe4 + ldr r0, _0212ab0c ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -13803,7 +13803,7 @@ _0212ab04: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0212ab0c: .word data_027e0fe4 +_0212ab0c: .word gActorManager _0212ab10: .word 0x424c5354 arm_func_end func_ov14_0212aaa8 @@ -13999,7 +13999,7 @@ func_ov14_0212acdc: ; 0x0212acdc str r3, [sp, #0x40] str r5, [sp, #0x50] str r5, [sp, #0x44] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x800 ldr r2, _0212ae98 ; =0x0000059a str r1, [sp, #0x24] @@ -14009,7 +14009,7 @@ func_ov14_0212acdc: ; 0x0212acdc str r2, [sp, #0x2c] add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0 bic r0, r6, #0x1f orr r0, r0, #7 @@ -14189,7 +14189,7 @@ func_ov14_0212b010: ; 0x0212b010 ldr r0, [r4, #8] cmp r0, #0 bne _0212b06c - ldr r0, _0212b074 ; =data_027e0fe4 + ldr r0, _0212b074 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -14211,7 +14211,7 @@ _0212b06c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0212b074: .word data_027e0fe4 +_0212b074: .word gActorManager _0212b078: .word 0x424c5354 arm_func_end func_ov14_0212b010 @@ -14442,7 +14442,7 @@ func_ov14_0212b31c: ; 0x0212b31c add r1, sp, #0x3c str r3, [sp, #0x3c] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x18] add r0, sp, #0x54 str r1, [sp, #0x54] @@ -14464,7 +14464,7 @@ func_ov14_0212b31c: ; 0x0212b31c str lr, [sp, #0x30] str ip, [sp, #0x34] str r3, [sp, #0x38] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r3, _0212b4bc ; =0x000002cd mov r1, #0x800 mov r2, #0x1000 @@ -14474,7 +14474,7 @@ func_ov14_0212b31c: ; 0x0212b31c add r1, sp, #0x24 mov r2, r0 str r3, [sp, #0x2c] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 ldrh r1, [r4, #0x24] bic r0, r0, #0x1f @@ -14664,7 +14664,7 @@ func_ov14_0212b658: ; 0x0212b658 ldr r0, [r4, #8] cmp r0, #0 bne _0212b6b4 - ldr r0, _0212b6bc ; =data_027e0fe4 + ldr r0, _0212b6bc ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -14686,7 +14686,7 @@ _0212b6b4: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0212b6bc: .word data_027e0fe4 +_0212b6bc: .word gActorManager _0212b6c0: .word 0x424c5354 arm_func_end func_ov14_0212b658 @@ -14833,7 +14833,7 @@ func_ov14_0212b81c: ; 0x0212b81c str r4, [sp, #0x3c] str r3, [sp, #0x40] str r4, [sp, #0x44] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r7 bl func_ov14_0212ba74 ldr r1, [r7, #0x18] @@ -14858,7 +14858,7 @@ func_ov14_0212b81c: ; 0x0212b81c str r6, [sp, #0x50] str r4, [sp, #0x30] str r3, [sp, #0x38] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 str r0, [sp, #0x24] str r0, [sp, #0x28] @@ -14867,7 +14867,7 @@ func_ov14_0212b81c: ; 0x0212b81c add r0, sp, #0x48 add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r4, #0 bic r0, r4, #0x1f orr r0, r0, #7 @@ -15173,7 +15173,7 @@ func_ov14_0212bc98: ; 0x0212bc98 _0212bcd4: cmp r1, #0xb blt _0212bd2c - ldr r0, _0212bd38 ; =data_027e0fe4 + ldr r0, _0212bd38 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -15198,7 +15198,7 @@ _0212bd2c: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0212bd38: .word data_027e0fe4 +_0212bd38: .word gActorManager _0212bd3c: .word 0x424c5354 arm_func_end func_ov14_0212bc98 @@ -15561,7 +15561,7 @@ _0212c184: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} _0212c1ac: - ldr r0, _0212c234 ; =data_027e0fe4 + ldr r0, _0212c234 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -15600,7 +15600,7 @@ _0212c228: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0212c234: .word data_027e0fe4 +_0212c234: .word gActorManager _0212c238: .word 0x424c5354 _0212c23c: .word 0x41525257 _0212c240: .word 0x424d524e @@ -16089,7 +16089,7 @@ func_ov14_0212c7c0: ; 0x0212c7c0 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x800 add r0, sp, #0x38 str r1, [sp, #8] @@ -16098,7 +16098,7 @@ func_ov14_0212c7c0: ; 0x0212c7c0 str r1, [sp, #0xc] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #8 @@ -16510,7 +16510,7 @@ func_ov14_0212cd08: ; 0x0212cd08 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _0212ce50 ; =0x00000666 add r0, sp, #0x38 str r1, [sp, #8] @@ -16519,7 +16519,7 @@ func_ov14_0212cd08: ; 0x0212cd08 str r1, [sp, #0xc] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 @@ -16765,7 +16765,7 @@ func_ov14_0212d040: ; 0x0212d040 blx r3 b _0212d1a4 _0212d0b4: - ldr r0, _0212d1b0 ; =data_027e0fe4 + ldr r0, _0212d1b0 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -16834,7 +16834,7 @@ _0212d1a4: add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_0212d1b0: .word data_027e0fe4 +_0212d1b0: .word gActorManager _0212d1b4: .word 0x424c5354 _0212d1b8: .word 0x41525257 _0212d1bc: .word 0x424d524e @@ -16853,7 +16853,7 @@ func_ov14_0212d1c4: ; 0x0212d1c4 func_ov14_0212d1cc: ; 0x0212d1cc stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 - ldr r2, _0212d20c ; =data_02050f54 + ldr r2, _0212d20c ; =gSinCosTable mov r4, r0 ldrsh r1, [r2] ldrsh r2, [r2, #2] @@ -16868,7 +16868,7 @@ func_ov14_0212d1cc: ; 0x0212d1cc add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0212d20c: .word data_02050f54 +_0212d20c: .word gSinCosTable arm_func_end func_ov14_0212d1cc .global func_ov14_0212d210 @@ -16934,7 +16934,7 @@ _0212d2b0: str r2, [r5, #0x78] ldr r0, [r4] ldr r1, [r4, #8] - bl func_01ffa0f4 + bl Atan2 strh r0, [r5, #0x62] mov r0, #0 strh r0, [r5, #0x5c] @@ -16955,7 +16955,7 @@ func_ov14_0212d2ec: ; 0x0212d2ec str r1, [r4, #0x74] add r1, r4, #0x70 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x68] ldr r0, _0212d37c ; =0xfffff333 cmp r1, r0 @@ -17036,7 +17036,7 @@ func_ov14_0212d384: ; 0x0212d384 mov r0, r0, lsl #0x1 add r1, r0, #1 mov r2, r1, lsl #0x1 - ldr r3, _0212d498 ; =data_02050f54 + ldr r3, _0212d498 ; =gSinCosTable mov r1, r0, lsl #0x1 ldr r0, [r4, #0xb4] ldrsh r2, [r3, r2] @@ -17044,7 +17044,7 @@ func_ov14_0212d384: ; 0x0212d384 add r0, r0, #0x28 blx func_01ff81f8 ldrh r1, [r5, #0x60] - ldr r3, _0212d498 ; =data_02050f54 + ldr r3, _0212d498 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -17063,7 +17063,7 @@ func_ov14_0212d384: ; 0x0212d384 ldmia sp!, {r4, r5, pc} .align 2, 0 _0212d494: .word data_ov14_02153cf8 -_0212d498: .word data_02050f54 +_0212d498: .word gSinCosTable arm_func_end func_ov14_0212d384 .global func_ov14_0212d49c @@ -17282,7 +17282,7 @@ func_ov14_0212d6b0: ; 0x0212d6b0 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _0212d7b0 ; =0x00000666 ldr r2, _0212d7b4 ; =0x00000ccd add r0, sp, #0x38 @@ -17291,7 +17291,7 @@ func_ov14_0212d6b0: ; 0x0212d6b0 str r1, [sp, #0x10] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -17770,7 +17770,7 @@ _0212dd08: str r1, [r4, #0x64] add r0, sp, #4 strb r1, [r4, #0x3c] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -17819,7 +17819,7 @@ func_ov14_0212dd94: ; 0x0212dd94 mov r2, r1 blx r3 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -17842,7 +17842,7 @@ func_ov14_0212dd94: ; 0x0212dd94 cmp r4, r0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} - ldr r0, _0212de70 ; =data_027e0fe4 + ldr r0, _0212de70 ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -17861,7 +17861,7 @@ func_ov14_0212dd94: ; 0x0212dd94 .align 2, 0 _0212de68: .word data_027e0fe8 _0212de6c: .word 0x424f4d42 -_0212de70: .word data_027e0fe4 +_0212de70: .word gActorManager arm_func_end func_ov14_0212dd94 .global func_ov14_0212de74 @@ -17901,7 +17901,7 @@ _0212dec4: mov r2, r1 blx r3 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -17961,7 +17961,7 @@ func_ov14_0212df64: ; 0x0212df64 beq _0212e0e4 b _0212dff0 _0212df8c: - ldr r1, _0212e0f0 ; =data_027e0f94 + ldr r1, _0212e0f0 ; =gPlayerPos add r0, r4, #0x38 ldr r3, [r1] ldr r2, [r1, #4] @@ -17988,7 +17988,7 @@ _0212dfcc: blx r3 b _0212e0e4 _0212dff0: - ldr r0, _0212e0f4 ; =data_027e0fe4 + ldr r0, _0212e0f4 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -18060,8 +18060,8 @@ _0212e0e4: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0212e0f0: .word data_027e0f94 -_0212e0f4: .word data_027e0fe4 +_0212e0f0: .word gPlayerPos +_0212e0f4: .word gActorManager _0212e0f8: .word 0x50534241 _0212e0fc: .word 0x424c5354 _0212e100: .word 0x41525257 @@ -18460,7 +18460,7 @@ func_ov14_0212e558: ; 0x0212e558 str ip, [sp, #0x28] str r3, [sp, #0x2c] str r3, [sp, #0x30] - bl func_01ff9bc4 + bl Vec3p_Add b _0212e608 _0212e5ec: add r0, r4, #0x18 @@ -18469,7 +18469,7 @@ _0212e5ec: str r3, [sp, #0x1c] str r3, [sp, #0x20] str r3, [sp, #0x24] - bl func_01ff9bc4 + bl Vec3p_Add _0212e608: ldr r0, [r4, #0x18] mov r1, #0 @@ -18772,11 +18772,11 @@ _0212e97c: ldr r0, [r0, #4] add r3, sp, #0x18 bl func_ov00_020888e8 - ldr r0, _0212eb3c ; =data_027e0f90 + ldr r0, _0212eb3c ; =gPlayer mov r1, #0 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb - ldr r0, _0212eb40 ; =data_027e0fe4 + ldr r0, _0212eb40 ; =gActorManager mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x18] @@ -18821,11 +18821,11 @@ _0212eacc: ldr r0, _0212eb24 ; =data_027e077c mov r1, #1 bl func_0202e740 - ldr r0, _0212eb3c ; =data_027e0f90 + ldr r0, _0212eb3c ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb - ldr r0, _0212eb40 ; =data_027e0fe4 + ldr r0, _0212eb40 ; =gActorManager mov r2, #1 ldr r1, [r0] ldr r0, _0212eb2c ; =data_027e0f64 @@ -18845,8 +18845,8 @@ _0212eb2c: .word data_027e0f64 _0212eb30: .word 0x00001555 _0212eb34: .word 0x000004cd _0212eb38: .word gAdventureFlags -_0212eb3c: .word data_027e0f90 -_0212eb40: .word data_027e0fe4 +_0212eb3c: .word gPlayer +_0212eb40: .word gActorManager _0212eb44: .word data_027e0c68 arm_func_end func_ov14_0212e8dc @@ -19200,7 +19200,7 @@ func_ov14_0212ee58: ; 0x0212ee58 mov r1, r0, lsl #0x1 mov r4, r1, lsl #0x1 add r1, r1, #1 - ldr r3, _0212f088 ; =data_02050f54 + ldr r3, _0212f088 ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r1, [r3, r4] ldrsh r2, [r3, r2] @@ -19263,7 +19263,7 @@ _0212f078: .word data_ov00_020ec9d6 _0212f07c: .word data_ov00_020ec9d4 _0212f080: .word data_027e0d44 _0212f084: .word 0x001e4081 -_0212f088: .word data_02050f54 +_0212f088: .word gSinCosTable arm_func_end func_ov14_0212ee58 .global func_ov14_0212f08c @@ -19279,14 +19279,14 @@ func_ov14_0212f08c: ; 0x0212f08c blx r3 mov r4, #0 str r4, [r5, #0x3c] - ldr r0, _0212f168 ; =data_027e0fe4 + ldr r0, _0212f168 ; =gActorManager strh r4, [r5, #0xe] ldr r1, [r0] ldr r2, _0212f16c ; =0x44475447 add r0, sp, #0 add r3, r5, #0x18 bl _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - ldr r0, _0212f168 ; =data_027e0fe4 + ldr r0, _0212f168 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -19303,7 +19303,7 @@ func_ov14_0212f08c: ; 0x0212f08c str r2, [sp, #0xc] ldr r2, [r6, #0x50] str r2, [sp, #0x10] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x800 bgt _0212f154 ldr r4, [r6, #0x158] @@ -19326,7 +19326,7 @@ _0212f154: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0212f168: .word data_027e0fe4 +_0212f168: .word gActorManager _0212f16c: .word 0x44475447 _0212f170: .word data_027e0d38 arm_func_end func_ov14_0212f08c @@ -19351,7 +19351,7 @@ func_ov14_0212f190: ; 0x0212f190 mov r6, r0 add r0, sp, #0x2c mov r5, r1 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x2c str r1, [sp, #0x48] @@ -19561,7 +19561,7 @@ _0212f458: str r5, [sp, #0x14] str r3, [sp, #0x18] str r2, [sp, #0x1c] - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, _0212f55c ; =0x48415254 cmp r4, r0 bne _0212f4cc @@ -19575,7 +19575,7 @@ _0212f458: add r0, sp, #0x20 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _0212f4cc: ldr r1, _0212f564 ; =0x0000019a add r0, sp, #0x14 @@ -19592,7 +19592,7 @@ _0212f4cc: add r3, sp, #0x2c mov r1, r4 bl func_ov00_020c4048 - ldr r2, _0212f570 ; =data_027e0fe4 + ldr r2, _0212f570 ; =gActorManager mov r1, r0 ldr r0, [r2] bl _ZN12ActorManager13FindActorByIdEj @@ -19619,7 +19619,7 @@ _0212f560: .word 0x00000666 _0212f564: .word 0x0000019a _0212f568: .word 0x00000333 _0212f56c: .word data_027e0fe8 -_0212f570: .word data_027e0fe4 +_0212f570: .word gActorManager arm_func_end func_ov14_0212f190 .global func_ov14_0212f574 @@ -19864,7 +19864,7 @@ _0212f84c: str r3, [sp, #0x18] str r8, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0x800 ldr r1, _0212fb18 ; =0x00001333 add r0, sp, #0x50 @@ -19873,7 +19873,7 @@ _0212f84c: str r2, [sp, #0x14] add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r6 add r6, sp, #0x38 ldmia r0, {r0, r1, r2} @@ -20854,7 +20854,7 @@ func_ov14_021305c4: ; 0x021305c4 mov r4, r0 cmp r1, #0 beq _02130610 - ldr r1, _02130644 ; =data_027e0f94 + ldr r1, _02130644 ; =gPlayerPos add r0, r4, #0x38 ldr r3, [r1] ldr r2, [r1, #4] @@ -20869,7 +20869,7 @@ func_ov14_021305c4: ; 0x021305c4 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} _02130610: - ldr r0, _02130648 ; =data_027e0f90 + ldr r0, _02130648 ; =gPlayer add r1, sp, #0 ldr r0, [r0] ldr r2, [r0] @@ -20883,8 +20883,8 @@ _02130610: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_02130644: .word data_027e0f94 -_02130648: .word data_027e0f90 +_02130644: .word gPlayerPos +_02130648: .word gPlayer arm_func_end func_ov14_021305c4 .global func_ov14_0213064c @@ -21116,7 +21116,7 @@ func_ov14_0213089c: ; 0x0213089c str r2, [sp, #0x1c] mov r0, ip mov r2, ip - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x800 ldr r1, _021309b8 ; =0x00001334 str r0, [sp, #8] @@ -21125,7 +21125,7 @@ func_ov14_0213089c: ; 0x0213089c str r1, [sp, #0xc] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #0x20000009 @@ -21649,7 +21649,7 @@ _02130ff8: mov r0, r5 mov r2, r5 str r3, [r6, #4] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -22401,7 +22401,7 @@ func_ov14_02131a24: ; 0x02131a24 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02131a7c ; =data_02050f54 + ldr r3, _02131a7c ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -22420,7 +22420,7 @@ func_ov14_02131a24: ; 0x02131a24 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02131a7c: .word data_02050f54 +_02131a7c: .word gSinCosTable arm_func_end func_ov14_02131a24 .global func_ov14_02131a80 @@ -22597,7 +22597,7 @@ func_ov14_02131c54: ; 0x02131c54 str ip, [sp, #0x2c] str r3, [sp, #0x30] str ip, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x800 add r0, sp, #0x38 str r1, [sp, #0x20] @@ -22605,7 +22605,7 @@ func_ov14_02131c54: ; 0x02131c54 str r1, [sp, #0x28] add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #9 @@ -22841,7 +22841,7 @@ func_ov14_02131fec: ; 0x02131fec ldmeqia sp!, {r3, pc} cmp r1, #0xb blt _02132044 - ldr r0, _0213204c ; =data_027e0fe4 + ldr r0, _0213204c ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -22861,7 +22861,7 @@ _02132044: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_0213204c: .word data_027e0fe4 +_0213204c: .word gActorManager _02132050: .word 0x50534241 _02132054: .word 0x57424c4b arm_func_end func_ov14_02131fec @@ -22913,7 +22913,7 @@ func_ov14_021320c8: ; 0x021320c8 mov r4, r0 add r0, r4, #0x70 bl func_ov14_0213215c - ldr r2, _02132110 ; =data_02050f54 + ldr r2, _02132110 ; =gSinCosTable add r0, sp, #0 ldrsh r1, [r2] ldrsh r2, [r2, #2] @@ -22927,7 +22927,7 @@ func_ov14_021320c8: ; 0x021320c8 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02132110: .word data_02050f54 +_02132110: .word gSinCosTable arm_func_end func_ov14_021320c8 .global func_ov14_02132114 @@ -23769,7 +23769,7 @@ func_ov14_02132c18: ; 0x02132c18 blx r1 b _02132cd4 _02132c38: - ldr r0, _02132cdc ; =data_027e0fe4 + ldr r0, _02132cdc ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -23817,7 +23817,7 @@ _02132cd4: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02132cdc: .word data_027e0fe4 +_02132cdc: .word gActorManager _02132ce0: .word 0x424c5354 _02132ce4: .word 0x41525257 _02132ce8: .word 0x424d524e @@ -24050,7 +24050,7 @@ func_ov14_02132f48: ; 0x02132f48 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x800 ldr r2, _02133044 ; =0x00001333 add r0, sp, #0x38 @@ -24059,7 +24059,7 @@ func_ov14_02132f48: ; 0x02132f48 str r1, [sp, #0x10] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x44 add lr, sp, #0x20 ldmia r0, {r0, r1, r2} @@ -24341,7 +24341,7 @@ _021333a8: .word data_027e0e58 arm_func_start func_ov14_021333ac func_ov14_021333ac: ; 0x021333ac stmdb sp!, {r4, lr} - ldr r2, _02133418 ; =data_027e0fe4 + ldr r2, _02133418 ; =gActorManager mov r4, r0 ldr r0, [r2] bl _ZN12ActorManager13FindActorByIdEj @@ -24370,7 +24370,7 @@ _02133410: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02133418: .word data_027e0fe4 +_02133418: .word gActorManager _0213341c: .word 0x424d524e arm_func_end func_ov14_021333ac @@ -24828,7 +24828,7 @@ func_ov14_021339bc: ; 0x021339bc str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0x800 ldr r1, _02133c50 ; =0x00002666 add r0, sp, #0x44 @@ -24837,7 +24837,7 @@ func_ov14_021339bc: ; 0x021339bc str r2, [sp, #0x10] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -25326,7 +25326,7 @@ func_ov14_0213411c: ; 0x0213411c stmdb sp!, {r3, lr} cmp r1, #0xb blt _02134160 - ldr r0, _02134168 ; =data_027e0fe4 + ldr r0, _02134168 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -25344,7 +25344,7 @@ _02134160: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_02134168: .word data_027e0fe4 +_02134168: .word gActorManager _0213416c: .word 0x5053424c _02134170: .word 0x57424c4b arm_func_end func_ov14_0213411c @@ -25690,7 +25690,7 @@ func_ov14_02134554: ; 0x02134554 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x800 add r0, sp, #0x38 str r1, [sp, #8] @@ -25699,7 +25699,7 @@ func_ov14_02134554: ; 0x02134554 str r1, [sp, #0xc] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -25862,7 +25862,7 @@ func_ov14_021347e0: ; 0x021347e0 ldr r0, [r4, #8] cmp r0, #0 bne _0213483c - ldr r0, _02134844 ; =data_027e0fe4 + ldr r0, _02134844 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -25884,7 +25884,7 @@ _0213483c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02134844: .word data_027e0fe4 +_02134844: .word gActorManager _02134848: .word 0x424c5354 arm_func_end func_ov14_021347e0 @@ -25964,7 +25964,7 @@ func_ov14_021348b0: ; 0x021348b0 str r2, [sp] add r0, r4, #0x5c mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -26159,7 +26159,7 @@ _02134b84: str r7, [sp, #0x18] str r6, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [r10, #0x60] str r0, [r10, #0x64] @@ -26213,7 +26213,7 @@ func_ov14_02134c14: ; 0x02134c14 addeq sp, sp, #0x48 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrh r1, [r10, #0xc] - ldr r3, _02134e04 ; =data_02050f54 + ldr r3, _02134e04 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -26334,7 +26334,7 @@ _02134d7c: add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02134e04: .word data_02050f54 +_02134e04: .word gSinCosTable _02134e08: .word data_ov14_02153e10 _02134e0c: .word 0x0000099a _02134e10: .word data_ov00_020e9370 @@ -26590,10 +26590,10 @@ _021350d4: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r5, #0x110] cmp r0, #0 ldreqb r0, [r5, #0x112] @@ -27655,11 +27655,11 @@ func_ov14_02135dd8: ; 0x02135dd8 str r3, [sp] str r3, [sp, #4] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc add r1, sp, #0 add r2, r4, #0xc - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} arm_func_end func_ov14_02135dd8 @@ -27730,12 +27730,12 @@ _02135ee0: .word 0x00000111 arm_func_start func_ov14_02135ee4 func_ov14_02135ee4: ; 0x02135ee4 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _02135f48 ; =data_027e0fac + ldr r2, _02135f48 ; =gPlayerAngle mov r6, r0 ldrsh r0, [r2] mov r5, r1 bl func_0202bbbc - ldr r1, _02135f4c ; =data_027e0fc8 + ldr r1, _02135f4c ; =gPlayerLink mov r4, r0 ldr r0, [r1] bl func_ov00_020bba14 @@ -27756,8 +27756,8 @@ _02135f20: str r0, [r6, #0x19c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02135f48: .word data_027e0fac -_02135f4c: .word data_027e0fc8 +_02135f48: .word gPlayerAngle +_02135f4c: .word gPlayerLink arm_func_end func_ov14_02135ee4 .global func_ov14_02135f50 @@ -27902,7 +27902,7 @@ _021360d8: ldr r0, [r0] add r1, r5, #0x1ac bl func_ov00_0207c2e8 - ldr r0, _02136188 ; =data_027e0fc8 + ldr r0, _02136188 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba00 strb r0, [r5, #0x1a4] @@ -27929,7 +27929,7 @@ _02136178: .word data_027e0ffc _0213617c: .word 0x000001a7 _02136180: .word 0x0000022b _02136184: .word data_027e0e58 -_02136188: .word data_027e0fc8 +_02136188: .word gPlayerLink arm_func_end func_ov14_02136078 .global func_ov14_0213618c @@ -27952,12 +27952,12 @@ _021361c0: bl _ZN5Actor9IsGrabbedEv cmp r0, #0 beq _02136244 - ldr r0, _0213634c ; =data_027e0fc8 + ldr r0, _0213634c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba00 cmp r0, #0 bne _021361f4 - ldr r0, _0213634c ; =data_027e0fc8 + ldr r0, _0213634c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba14 cmp r0, #0 @@ -28055,7 +28055,7 @@ _0213630c: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0213634c: .word data_027e0fc8 +_0213634c: .word gPlayerLink _02136350: .word gMapManager arm_func_end func_ov14_0213618c @@ -28088,10 +28088,10 @@ _021363a4: add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r6 mov r1, r4 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r1, [r6, #0x111] mov r4, r0 cmp r1, #0 @@ -28103,7 +28103,7 @@ _021363a4: bl _ZN5Actor9IsGrabbedEv cmp r0, #0 beq _02136400 - ldr r0, _0213644c ; =data_027e0fc8 + ldr r0, _0213644c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba48 _02136400: @@ -28129,7 +28129,7 @@ _02136438: bl func_ov00_0207a1c8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0213644c: .word data_027e0fc8 +_0213644c: .word gPlayerLink arm_func_end func_ov14_02136354 .global func_ov14_02136450 @@ -28228,7 +28228,7 @@ _0213657c: mla r3, r1, r11, r4 mov r2, r6 add r1, r3, r7 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r8] cmp r0, #0 beq _021365e8 @@ -28273,7 +28273,7 @@ func_ov14_02136618: ; 0x02136618 sub sp, sp, #0x38 mov r4, r0 add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev ldr r3, [r4, #0x3c] cmp r3, #0 addlt sp, sp, #0x38 @@ -28350,7 +28350,7 @@ func_ov14_021366e4: ; 0x021366e4 str ip, [sp, #0x24] str r3, [sp, #0x28] str ip, [sp, #0x2c] - bl func_01ff9bf8 + bl Vec3p_Sub mov ip, #0x800 add r0, sp, #0x48 mov r3, #0x1000 @@ -28359,7 +28359,7 @@ func_ov14_021366e4: ; 0x021366e4 str ip, [sp, #0x18] str r3, [sp, #0x1c] str ip, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _021368c4 ; =gMapManager add r0, sp, #8 ldr r1, [r1] @@ -28700,11 +28700,11 @@ _02136c04: add r0, sp, #0x34 add r1, r4, #0x1b8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x28 add r1, r4, #0x1b8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x34 add lr, sp, #0x10 ldmia r0, {r0, r1, r2} @@ -28723,7 +28723,7 @@ _02136c04: blx ip ldrh r2, [r4, #0x78] mov r0, #0 - ldr r1, _02136d04 ; =data_02050f54 + ldr r1, _02136d04 ; =gSinCosTable str r0, [sp, #8] mov r0, r2, asr #0x4 mov r3, r0, lsl #0x1 @@ -28759,7 +28759,7 @@ _02136c04: ldmia sp!, {r4, pc} .align 2, 0 _02136d00: .word 0xfffff666 -_02136d04: .word data_02050f54 +_02136d04: .word gSinCosTable _02136d08: .word 0x000004cd _02136d0c: .word gMapManager _02136d10: .word 0x0000026e @@ -28795,7 +28795,7 @@ func_ov14_02136d20: ; 0x02136d20 ldr r3, [r4, #0x50] add r1, r4, #0x1c4 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02136de4 ; =data_027e0e58 add r8, r4, #0x210 ldr r6, [r0] @@ -28984,11 +28984,11 @@ _02136fb8: str r5, [sp, #0x48] str r3, [sp, #0x4c] str r5, [sp, #0x50] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x48 add r1, r4, #0x1b8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x54 add r3, sp, #0x30 ldmia r0, {r0, r1, r2} @@ -29135,7 +29135,7 @@ _021371e0: ldr r3, [r4, #0x50] add r1, r4, #0x1c4 str r3, [sp, #0x2c] - bl func_01ff9bc4 + bl Vec3p_Add add r2, r4, #0x210 add r1, r4, #0x228 cmp r2, r1 @@ -29274,7 +29274,7 @@ func_ov14_021373d8: ; 0x021373d8 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] - ldr r3, _0213747c ; =data_02050f54 + ldr r3, _0213747c ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -29306,7 +29306,7 @@ func_ov14_021373d8: ; 0x021373d8 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0213747c: .word data_02050f54 +_0213747c: .word gSinCosTable _02137480: .word data_ov00_020e9370 arm_func_end func_ov14_021373d8 @@ -29317,7 +29317,7 @@ func_ov14_02137484: ; 0x02137484 sub sp, sp, #0x38 mov r4, r0 add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev ldr r3, [r4, #0x3c] cmp r3, #0 addlt sp, sp, #0x38 @@ -29397,7 +29397,7 @@ func_ov14_02137584: ; 0x02137584 moveq r5, #1 add r0, sp, #0x24 movne r5, #0 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev ldr r0, [r4, #0x3c] cmp r0, #0 addlt sp, sp, #0x38 @@ -29475,14 +29475,14 @@ func_ov14_02137650: ; 0x02137650 ldr r1, [r0] ldr r1, [r1, #0xb4] blx r1 - ldr r0, _02137758 ; =data_027e0fc8 + ldr r0, _02137758 ; =gPlayerLink ldr r1, [r4, #4] ldr r0, [r0] add r1, r1, #0x60 bl func_ov00_020bbbb8 b _02137744 _021376d4: - ldr r0, _0213775c ; =data_027e0fe4 + ldr r0, _0213775c ; =gActorManager mov r1, r5 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -29520,8 +29520,8 @@ _02137744: _0213774c: .word gAdventureFlags _02137750: .word data_027e0c68 _02137754: .word data_027e077c -_02137758: .word data_027e0fc8 -_0213775c: .word data_027e0fe4 +_02137758: .word gPlayerLink +_0213775c: .word gActorManager _02137760: .word 0x424f4d42 _02137764: .word 0x424b4559 _02137768: .word 0x43525953 @@ -29812,10 +29812,10 @@ _02137ae4: blx r1 ldmia sp!, {r3, r4, r5, pc} _02137af4: - ldr r0, _02137c00 ; =data_027e0fc8 + ldr r0, _02137c00 ; =gPlayerLink ldr r5, [r0] mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv add r2, r5, #0x2c ldrb r3, [r2, r0, lsl #1] ldrb r1, [r4, #0x170] @@ -29831,10 +29831,10 @@ _02137af4: strb r2, [sp, #1] cmpeq r1, r0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _02137c00 ; =data_027e0fc8 + ldr r0, _02137c00 ; =gPlayerLink ldr r5, [r0] mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv add r2, r5, #0x2c ldrb r1, [r2, r0, lsl #1] add r0, r2, r0, lsl #1 @@ -29885,7 +29885,7 @@ _02137bec: blx r1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02137c00: .word data_027e0fc8 +_02137c00: .word gPlayerLink arm_func_end func_ov14_02137a8c .global func_ov14_02137c04 @@ -30056,10 +30056,10 @@ _02137e34: str r0, [r4, #0x15c] cmp r0, #0xa blt _02137f9c - ldr r0, _02137fb8 ; =data_027e0fc8 + ldr r0, _02137fb8 ; =gPlayerLink ldr r5, [r0] mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv add r2, r5, #0x2c ldrb r3, [r2, r0, lsl #1] ldrb r1, [r4, #0x170] @@ -30075,10 +30075,10 @@ _02137e34: strb r2, [sp, #1] cmpeq r1, r0 beq _02137f48 - ldr r0, _02137fb8 ; =data_027e0fc8 + ldr r0, _02137fb8 ; =gPlayerLink ldr r5, [r0] mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv add r2, r5, #0x2c ldrb r1, [r2, r0, lsl #1] add r0, r2, r0, lsl #1 @@ -30152,7 +30152,7 @@ _02137f9c: strb r0, [r4, #0x158] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02137fb8: .word data_027e0fc8 +_02137fb8: .word gPlayerLink arm_func_end func_ov14_02137c20 .global func_ov14_02137fbc @@ -30201,11 +30201,11 @@ func_ov14_02137ff8: ; 0x02137ff8 arm_func_start func_ov14_02138000 func_ov14_02138000: ; 0x02138000 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _021380a4 ; =data_027e0fc8 + ldr r1, _021380a4 ; =gPlayerLink mov r4, r0 ldr r5, [r1] mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv add r2, r5, #0x2c ldrb r3, [r2, r0, lsl #1] ldrb r1, [r4, #0x170] @@ -30243,7 +30243,7 @@ _02138088: str r0, [r4, #0x17c] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021380a4: .word data_027e0fc8 +_021380a4: .word gPlayerLink arm_func_end func_ov14_02138000 .global func_ov14_021380a8 @@ -30296,7 +30296,7 @@ func_ov14_02138128: ; 0x02138128 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] - ldr r3, _02138198 ; =data_02050f54 + ldr r3, _02138198 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -30315,7 +30315,7 @@ func_ov14_02138128: ; 0x02138128 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02138198: .word data_02050f54 +_02138198: .word gSinCosTable arm_func_end func_ov14_02138128 .global func_ov14_0213819c @@ -30331,7 +30331,7 @@ func_ov14_0213819c: ; 0x0213819c addne sp, sp, #0x38 ldmneia sp!, {r4, pc} add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -30488,7 +30488,7 @@ func_ov14_02138380: ; 0x02138380 mov r1, #1 mov r4, r0 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldrh r0, [r4, #0x20] cmp r0, #0x4b blt _021383b0 @@ -30595,7 +30595,7 @@ _021384a4: cmp r3, #2 blo _021384a4 str r5, [r6, #0x158] - ldr r1, _021384f4 ; =data_027e0d0c + ldr r1, _021384f4 ; =gVec3p_ZERO str r4, [r6, #0x15c] ldr r0, [r1] mvn r2, #0 @@ -30609,7 +30609,7 @@ _021384a4: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _021384f0: .word data_ov14_021581f0 -_021384f4: .word data_027e0d0c +_021384f4: .word gVec3p_ZERO arm_func_end func_ov14_0213844c .global func_ov14_021384f8 @@ -30711,10 +30711,10 @@ _021385f0: add sp, sp, #0xb0 ldmia sp!, {r4, r5, r6, pc} _02138610: - ldr r0, _021389c8 ; =data_027e0fc8 + ldr r0, _021389c8 ; =gPlayerLink add r1, r5, #0x48 ldr r0, [r0] - bl func_ov00_020bc854 + bl _ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p mov r0, r5 bl func_ov14_02138d6c add sp, sp, #0xb0 @@ -30756,7 +30756,7 @@ _021386a0: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x28 mov r1, r5 bl _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ @@ -30970,7 +30970,7 @@ _021389c0: add sp, sp, #0xb0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021389c8: .word data_027e0fc8 +_021389c8: .word gPlayerLink _021389cc: .word data_ov00_020e242c _021389d0: .word gMapManager _021389d4: .word data_027e0f6c @@ -30984,10 +30984,10 @@ func_ov14_021389d8: ; 0x021389d8 ldr r2, [r4, #0x130] cmp r2, #1 bne _02138a08 - ldr r0, _02138a10 ; =data_027e0fc8 + ldr r0, _02138a10 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] - bl func_ov00_020bc854 + bl _ZN14PlayerLinkBase18func_ov00_020bc854EP5Vec3p mov r0, r4 bl func_ov14_02138d6c ldmia sp!, {r4, pc} @@ -30995,7 +30995,7 @@ _02138a08: bl _ZN5Actor8vfunc_18Ej ldmia sp!, {r4, pc} .align 2, 0 -_02138a10: .word data_027e0fc8 +_02138a10: .word gPlayerLink arm_func_end func_ov14_021389d8 .global func_ov14_02138a14 @@ -31206,7 +31206,7 @@ _02138c74: b _02138d08 _02138cb8: add r0, sp, #0x28 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x28 str r1, [sp, #0x44] @@ -31257,7 +31257,7 @@ _02138d68: .word data_027e0fe8 .global func_ov14_02138d6c arm_func_start func_ov14_02138d6c func_ov14_02138d6c: ; 0x02138d6c - ldr r1, _02138db8 ; =data_027e0f90 + ldr r1, _02138db8 ; =gPlayer ldr r1, [r1] ldrb r1, [r1, #0x11] cmp r1, #0 @@ -31278,7 +31278,7 @@ _02138dac: strb r1, [r0, #0x11a] bx lr .align 2, 0 -_02138db8: .word data_027e0f90 +_02138db8: .word gPlayer _02138dbc: .word data_027e0fcc arm_func_end func_ov14_02138d6c @@ -31511,7 +31511,7 @@ func_ov14_0213905c: ; 0x0213905c cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} - ldr r0, _021390e8 ; =data_027e0fc8 + ldr r0, _021390e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -31538,7 +31538,7 @@ func_ov14_0213905c: ; 0x0213905c add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_021390e8: .word data_027e0fc8 +_021390e8: .word gPlayerLink _021390ec: .word data_ov00_020e9370 arm_func_end func_ov14_0213905c @@ -31720,7 +31720,7 @@ func_ov14_021392ec: ; 0x021392ec cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} - ldr r0, _02139378 ; =data_027e0fc8 + ldr r0, _02139378 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -31747,7 +31747,7 @@ func_ov14_021392ec: ; 0x021392ec add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02139378: .word data_027e0fc8 +_02139378: .word gPlayerLink _0213937c: .word data_ov00_020e9370 arm_func_end func_ov14_021392ec @@ -32045,7 +32045,7 @@ func_ov14_02139708: ; 0x02139708 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} - ldr r0, _02139794 ; =data_027e0fc8 + ldr r0, _02139794 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -32072,7 +32072,7 @@ func_ov14_02139708: ; 0x02139708 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02139794: .word data_027e0fc8 +_02139794: .word gPlayerLink _02139798: .word data_ov00_020e9370 arm_func_end func_ov14_02139708 @@ -32267,7 +32267,7 @@ _021399c4: mov r0, #1 mov r1, #0 strb r0, [r4, #0x128] - ldr r2, _02139a4c ; =data_027e0d0c + ldr r2, _02139a4c ; =gVec3p_ZERO str r1, [r4, #0x6c] ldr r0, [r2] sub ip, r1, #1 @@ -32299,7 +32299,7 @@ _021399c4: ldmia sp!, {r4, pc} .align 2, 0 _02139a48: .word gAdventureFlags -_02139a4c: .word data_027e0d0c +_02139a4c: .word gVec3p_ZERO arm_func_end func_ov14_0213996c .global func_ov14_02139a50 @@ -32378,7 +32378,7 @@ _02139b24: add r1, sp, #0 str r2, [sp, #8] bl _ZN10MapManager18func_ov00_02083780Ei - ldr r2, _02139b80 ; =data_027e0fe4 + ldr r2, _02139b80 ; =gActorManager mov r1, r0 ldr r0, [r2] mov r2, #0 @@ -32392,7 +32392,7 @@ _02139b24: ldmia sp!, {r3, r4, pc} .align 2, 0 _02139b7c: .word gMapManager -_02139b80: .word data_027e0fe4 +_02139b80: .word gActorManager arm_func_end func_ov14_02139a7c .global func_ov14_02139b84 @@ -32402,7 +32402,7 @@ func_ov14_02139b84: ; 0x02139b84 sub sp, sp, #0x38 mov r5, r0 add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -32553,7 +32553,7 @@ _02139d4c: mvn r0, #0 cmp r1, r0 beq _02139dcc - ldr r0, _02139e20 ; =data_027e0fe4 + ldr r0, _02139e20 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -32594,7 +32594,7 @@ _02139e10: .word 0x42454530 _02139e14: .word 0x45475354 _02139e18: .word 0x53504452 _02139e1c: .word data_027e0fe8 -_02139e20: .word data_027e0fe4 +_02139e20: .word gActorManager arm_func_end func_ov14_02139b84 .global func_ov14_02139e24 @@ -32660,7 +32660,7 @@ func_ov14_02139eac: ; 0x02139eac mov r2, #0 mov r4, r0 strb r2, [r4, #0x119] - ldr r3, _02139f78 ; =data_027e0d0c + ldr r3, _02139f78 ; =gVec3p_ZERO str r2, [r4, #0x6c] ldr r1, [r3] sub lr, r2, #1 @@ -32710,7 +32710,7 @@ _02139f6c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02139f78: .word data_027e0d0c +_02139f78: .word gVec3p_ZERO arm_func_end func_ov14_02139eac .global func_ov14_02139f7c @@ -32872,7 +32872,7 @@ func_ov14_0213a160: ; 0x0213a160 mov r5, r0 add r0, sp, #0x18 mov r4, r1 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -32918,7 +32918,7 @@ _0213a1f0: cmp r0, #0 addlt sp, sp, #0x44 ldmltia sp!, {r4, r5, pc} - ldr r0, _0213a268 ; =data_027e0fe4 + ldr r0, _0213a268 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -32935,7 +32935,7 @@ _0213a1f0: .align 2, 0 _0213a260: .word data_027e0fe8 _0213a264: .word 0x4e4b4559 -_0213a268: .word data_027e0fe4 +_0213a268: .word gActorManager _0213a26c: .word data_027e0ffc arm_func_end func_ov14_0213a160 @@ -33158,7 +33158,7 @@ func_ov14_0213a4c8: ; 0x0213a4c8 ldreq r1, [r5, #0x130] cmpeq r1, #1 bne _0213a588 - ldr r0, _0213a80c ; =data_027e0f90 + ldr r0, _0213a80c ; =gPlayer add r1, sp, #4 ldr r0, [r0] ldr r2, [r0] @@ -33187,10 +33187,10 @@ func_ov14_0213a4c8: ; 0x0213a4c8 _0213a588: cmp r0, #0 beq _0213a5cc - ldr r0, _0213a810 ; =data_027e0fc8 + ldr r0, _0213a810 ; =gPlayerLink ldr r4, [r0] mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv mov r1, r0 mov r0, r4 mov r2, #4 @@ -33244,10 +33244,10 @@ _0213a640: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r0, [r5, #0x64] cmp r0, #0 bgt _0213a7fc @@ -33259,7 +33259,7 @@ _0213a68c: add r0, r5, #0x100 ldrsh r4, [r0, #0x58] ldrsh r2, [r0, #0x5a] - ldr r3, _0213a818 ; =data_02050f54 + ldr r3, _0213a818 ; =gSinCosTable mov r1, #0x800 add r2, r4, r2 strh r2, [r0, #0x58] @@ -33282,10 +33282,10 @@ _0213a68c: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r5, #0x111] cmp r0, #0 beq _0213a7fc @@ -33359,10 +33359,10 @@ _0213a7fc: add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0213a80c: .word data_027e0f90 -_0213a810: .word data_027e0fc8 +_0213a80c: .word gPlayer +_0213a810: .word gPlayerLink _0213a814: .word data_ov00_020eec9c -_0213a818: .word data_02050f54 +_0213a818: .word gSinCosTable _0213a81c: .word gMapManager arm_func_end func_ov14_0213a4c8 @@ -33580,10 +33580,10 @@ func_ov14_0213aa68: ; 0x0213aa68 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov14_0213aa68 @@ -33707,7 +33707,7 @@ _0213ac00: _0213ac24: mov r0, r5 ldr r2, [r0] - ldr r1, _0213acb4 ; =data_027e0fc8 + ldr r1, _0213acb4 ; =gPlayerLink ldr r2, [r2, #0xbc] ldr r6, [r1] blx r2 @@ -33745,7 +33745,7 @@ _0213ac98: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0213acb0: .word gMapManager -_0213acb4: .word data_027e0fc8 +_0213acb4: .word gPlayerLink arm_func_end func_ov14_0213aaec .global func_ov14_0213acb8 @@ -35955,7 +35955,7 @@ data_ov14_02155a00: ; 0x02155a00 .word func_ov14_02120780 - 1 .global data_ov14_02155a04 data_ov14_02155a04: ; 0x02155a04 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02155a08 data_ov14_02155a08: ; 0x02155a08 .word func_ov14_02120ee4 - 1 @@ -36123,7 +36123,7 @@ data_ov14_02155ae0: ; 0x02155ae0 .word func_ov14_021219f8 - 1 .global data_ov14_02155ae4 data_ov14_02155ae4: ; 0x02155ae4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02155ae8 data_ov14_02155ae8: ; 0x02155ae8 .word _ZN5Actor8vfunc_20Ei @@ -36153,10 +36153,10 @@ data_ov14_02155b08: ; 0x02155b08 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02155b0c data_ov14_02155b0c: ; 0x02155b0c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02155b10 data_ov14_02155b10: ; 0x02155b10 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02155b14 data_ov14_02155b14: ; 0x02155b14 .word _ZN5Actor8vfunc_4cEPi @@ -36353,7 +36353,7 @@ data_ov14_02155c08: ; 0x02155c08 .word func_ov14_02122b20 - 1 .global data_ov14_02155c0c data_ov14_02155c0c: ; 0x02155c0c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02155c10 data_ov14_02155c10: ; 0x02155c10 .word func_ov14_02122cb4 - 1 @@ -36383,10 +36383,10 @@ data_ov14_02155c30: ; 0x02155c30 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02155c34 data_ov14_02155c34: ; 0x02155c34 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02155c38 data_ov14_02155c38: ; 0x02155c38 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02155c3c data_ov14_02155c3c: ; 0x02155c3c .word _ZN5Actor8vfunc_4cEPi @@ -36562,7 +36562,7 @@ data_ov14_02155d14: ; 0x02155d14 .word func_ov14_02123568 - 1 .global data_ov14_02155d18 data_ov14_02155d18: ; 0x02155d18 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02155d1c data_ov14_02155d1c: ; 0x02155d1c .word func_ov14_0212373c - 1 @@ -36592,10 +36592,10 @@ data_ov14_02155d3c: ; 0x02155d3c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02155d40 data_ov14_02155d40: ; 0x02155d40 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02155d44 data_ov14_02155d44: ; 0x02155d44 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02155d48 data_ov14_02155d48: ; 0x02155d48 .word _ZN5Actor8vfunc_4cEPi @@ -36759,7 +36759,7 @@ data_ov14_02155e10: ; 0x02155e10 .word func_ov14_02123ba8 - 1 ; func_ov15_02123ba8 .global data_ov14_02155e14 data_ov14_02155e14: ; 0x02155e14 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02155e18 data_ov14_02155e18: ; 0x02155e18 .word func_ov14_02123f04 - 1 @@ -36789,10 +36789,10 @@ data_ov14_02155e38: ; 0x02155e38 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02155e3c data_ov14_02155e3c: ; 0x02155e3c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02155e40 data_ov14_02155e40: ; 0x02155e40 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02155e44 data_ov14_02155e44: ; 0x02155e44 .word _ZN5Actor8vfunc_4cEPi @@ -36986,10 +36986,10 @@ data_ov14_02155f34: ; 0x02155f34 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02155f38 data_ov14_02155f38: ; 0x02155f38 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02155f3c data_ov14_02155f3c: ; 0x02155f3c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02155f40 data_ov14_02155f40: ; 0x02155f40 .word _ZN5Actor8vfunc_4cEPi @@ -41958,7 +41958,7 @@ data_ov14_02157910: ; 0x02157910 .word _ZN5Actor8vfunc_18Ej .global data_ov14_02157914 data_ov14_02157914: ; 0x02157914 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02157918 data_ov14_02157918: ; 0x02157918 .word func_ov14_021353b8 - 1 @@ -41988,10 +41988,10 @@ data_ov14_02157938: ; 0x02157938 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_0215793c data_ov14_0215793c: ; 0x0215793c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02157940 data_ov14_02157940: ; 0x02157940 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02157944 data_ov14_02157944: ; 0x02157944 .word _ZN5Actor8vfunc_4cEPi @@ -42102,7 +42102,7 @@ data_ov14_021579d0: ; 0x021579d0 .word _ZN5Actor8vfunc_18Ej .global data_ov14_021579d4 data_ov14_021579d4: ; 0x021579d4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021579d8 data_ov14_021579d8: ; 0x021579d8 .word func_ov14_021353b8 - 1 @@ -42132,10 +42132,10 @@ data_ov14_021579f8: ; 0x021579f8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_021579fc data_ov14_021579fc: ; 0x021579fc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02157a00 data_ov14_02157a00: ; 0x02157a00 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02157a04 data_ov14_02157a04: ; 0x02157a04 .word _ZN5Actor8vfunc_4cEPi @@ -42246,7 +42246,7 @@ data_ov14_02157a90: ; 0x02157a90 .word _ZN5Actor8vfunc_18Ej .global data_ov14_02157a94 data_ov14_02157a94: ; 0x02157a94 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02157a98 data_ov14_02157a98: ; 0x02157a98 .word func_ov14_021353b8 - 1 @@ -42276,10 +42276,10 @@ data_ov14_02157ab8: ; 0x02157ab8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02157abc data_ov14_02157abc: ; 0x02157abc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02157ac0 data_ov14_02157ac0: ; 0x02157ac0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02157ac4 data_ov14_02157ac4: ; 0x02157ac4 .word _ZN5Actor8vfunc_4cEPi @@ -42390,7 +42390,7 @@ data_ov14_02157b50: ; 0x02157b50 .word _ZN5Actor8vfunc_18Ej .global data_ov14_02157b54 data_ov14_02157b54: ; 0x02157b54 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02157b58 data_ov14_02157b58: ; 0x02157b58 .word func_ov14_021353b8 - 1 @@ -42420,10 +42420,10 @@ data_ov14_02157b78: ; 0x02157b78 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02157b7c data_ov14_02157b7c: ; 0x02157b7c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02157b80 data_ov14_02157b80: ; 0x02157b80 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02157b84 data_ov14_02157b84: ; 0x02157b84 .word _ZN5Actor8vfunc_4cEPi @@ -42534,7 +42534,7 @@ data_ov14_02157c10: ; 0x02157c10 .word _ZN5Actor8vfunc_18Ej .global data_ov14_02157c14 data_ov14_02157c14: ; 0x02157c14 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02157c18 data_ov14_02157c18: ; 0x02157c18 .word func_ov14_021353b8 - 1 @@ -42564,10 +42564,10 @@ data_ov14_02157c38: ; 0x02157c38 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02157c3c data_ov14_02157c3c: ; 0x02157c3c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02157c40 data_ov14_02157c40: ; 0x02157c40 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02157c44 data_ov14_02157c44: ; 0x02157c44 .word _ZN5Actor8vfunc_4cEPi @@ -42678,7 +42678,7 @@ data_ov14_02157cd0: ; 0x02157cd0 .word _ZN5Actor8vfunc_18Ej .global data_ov14_02157cd4 data_ov14_02157cd4: ; 0x02157cd4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02157cd8 data_ov14_02157cd8: ; 0x02157cd8 .word func_ov14_021353b8 - 1 @@ -42708,10 +42708,10 @@ data_ov14_02157cf8: ; 0x02157cf8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02157cfc data_ov14_02157cfc: ; 0x02157cfc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02157d00 data_ov14_02157d00: ; 0x02157d00 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02157d04 data_ov14_02157d04: ; 0x02157d04 .word _ZN5Actor8vfunc_4cEPi @@ -42894,7 +42894,7 @@ data_ov14_02157df0: ; 0x02157df0 .word func_ov14_02136450 - 1 .global data_ov14_02157df4 data_ov14_02157df4: ; 0x02157df4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02157df8 data_ov14_02157df8: ; 0x02157df8 .word func_ov14_02136490 - 1 @@ -42924,10 +42924,10 @@ data_ov14_02157e18: ; 0x02157e18 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02157e1c data_ov14_02157e1c: ; 0x02157e1c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02157e20 data_ov14_02157e20: ; 0x02157e20 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02157e24 data_ov14_02157e24: ; 0x02157e24 .word _ZN5Actor8vfunc_4cEPi @@ -43113,7 +43113,7 @@ data_ov14_02157f04: ; 0x02157f04 .word func_ov14_02136450 - 1 .global data_ov14_02157f08 data_ov14_02157f08: ; 0x02157f08 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02157f0c data_ov14_02157f0c: ; 0x02157f0c .word func_ov14_021373d8 - 1 @@ -43143,10 +43143,10 @@ data_ov14_02157f2c: ; 0x02157f2c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02157f30 data_ov14_02157f30: ; 0x02157f30 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02157f34 data_ov14_02157f34: ; 0x02157f34 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02157f38 data_ov14_02157f38: ; 0x02157f38 .word _ZN5Actor8vfunc_4cEPi @@ -43296,7 +43296,7 @@ data_ov14_02157ff8: ; 0x02157ff8 .word _ZN5Actor8vfunc_18Ej .global data_ov14_02157ffc data_ov14_02157ffc: ; 0x02157ffc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02158000 data_ov14_02158000: ; 0x02158000 .word func_ov14_02138128 - 1 @@ -43326,10 +43326,10 @@ data_ov14_02158020: ; 0x02158020 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158024 data_ov14_02158024: ; 0x02158024 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158028 data_ov14_02158028: ; 0x02158028 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_0215802c data_ov14_0215802c: ; 0x0215802c .word _ZN5Actor8vfunc_4cEPi @@ -43559,7 +43559,7 @@ data_ov14_0215814c: ; 0x0215814c .word _ZN5Actor8vfunc_18Ej .global data_ov14_02158150 data_ov14_02158150: ; 0x02158150 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02158154 data_ov14_02158154: ; 0x02158154 .word _ZN5Actor8vfunc_20Ei @@ -43589,10 +43589,10 @@ data_ov14_02158174: ; 0x02158174 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158178 data_ov14_02158178: ; 0x02158178 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_0215817c data_ov14_0215817c: ; 0x0215817c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02158180 data_ov14_02158180: ; 0x02158180 .word _ZN5Actor8vfunc_4cEPi @@ -43700,7 +43700,7 @@ data_ov14_02158208: ; 0x02158208 .word func_ov14_021389d8 - 1 .global data_ov14_0215820c data_ov14_0215820c: ; 0x0215820c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02158210 data_ov14_02158210: ; 0x02158210 .word _ZN5Actor8vfunc_20Ei @@ -43730,10 +43730,10 @@ data_ov14_02158230: ; 0x02158230 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158234 data_ov14_02158234: ; 0x02158234 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158238 data_ov14_02158238: ; 0x02158238 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_0215823c data_ov14_0215823c: ; 0x0215823c .word _ZN5Actor8vfunc_4cEPi @@ -43850,7 +43850,7 @@ data_ov14_021582d0: ; 0x021582d0 .word func_ov14_021389d8 - 1 .global data_ov14_021582d4 data_ov14_021582d4: ; 0x021582d4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021582d8 data_ov14_021582d8: ; 0x021582d8 .word func_ov14_0213905c - 1 @@ -43880,10 +43880,10 @@ data_ov14_021582f8: ; 0x021582f8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_021582fc data_ov14_021582fc: ; 0x021582fc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158300 data_ov14_02158300: ; 0x02158300 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02158304 data_ov14_02158304: ; 0x02158304 .word _ZN5Actor8vfunc_4cEPi @@ -44000,7 +44000,7 @@ data_ov14_02158398: ; 0x02158398 .word func_ov14_021389d8 - 1 .global data_ov14_0215839c data_ov14_0215839c: ; 0x0215839c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021583a0 data_ov14_021583a0: ; 0x021583a0 .word func_ov14_021392ec - 1 @@ -44030,10 +44030,10 @@ data_ov14_021583c0: ; 0x021583c0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_021583c4 data_ov14_021583c4: ; 0x021583c4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_021583c8 data_ov14_021583c8: ; 0x021583c8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_021583cc data_ov14_021583cc: ; 0x021583cc .word _ZN5Actor8vfunc_4cEPi @@ -44150,7 +44150,7 @@ data_ov14_02158460: ; 0x02158460 .word func_ov14_021389d8 - 1 .global data_ov14_02158464 data_ov14_02158464: ; 0x02158464 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02158468 data_ov14_02158468: ; 0x02158468 .word func_ov14_02139708 - 1 @@ -44180,10 +44180,10 @@ data_ov14_02158488: ; 0x02158488 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_0215848c data_ov14_0215848c: ; 0x0215848c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158490 data_ov14_02158490: ; 0x02158490 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02158494 data_ov14_02158494: ; 0x02158494 .word _ZN5Actor8vfunc_4cEPi @@ -44300,7 +44300,7 @@ data_ov14_02158528: ; 0x02158528 .word func_ov14_021389d8 - 1 .global data_ov14_0215852c data_ov14_0215852c: ; 0x0215852c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02158530 data_ov14_02158530: ; 0x02158530 .word func_ov14_02139708 - 1 @@ -44330,10 +44330,10 @@ data_ov14_02158550: ; 0x02158550 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158554 data_ov14_02158554: ; 0x02158554 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158558 data_ov14_02158558: ; 0x02158558 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_0215855c data_ov14_0215855c: ; 0x0215855c .word _ZN5Actor8vfunc_4cEPi @@ -44450,7 +44450,7 @@ data_ov14_021585f0: ; 0x021585f0 .word _ZN5Actor8vfunc_18Ej .global data_ov14_021585f4 data_ov14_021585f4: ; 0x021585f4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021585f8 data_ov14_021585f8: ; 0x021585f8 .word _ZN5Actor8vfunc_20Ei @@ -44480,10 +44480,10 @@ data_ov14_02158618: ; 0x02158618 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_0215861c data_ov14_0215861c: ; 0x0215861c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158620 data_ov14_02158620: ; 0x02158620 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02158624 data_ov14_02158624: ; 0x02158624 .word _ZN5Actor8vfunc_4cEPi @@ -44591,7 +44591,7 @@ data_ov14_021586ac: ; 0x021586ac .word func_ov14_0213a14c - 1 .global data_ov14_021586b0 data_ov14_021586b0: ; 0x021586b0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021586b4 data_ov14_021586b4: ; 0x021586b4 .word _ZN5Actor8vfunc_20Ei @@ -44621,10 +44621,10 @@ data_ov14_021586d4: ; 0x021586d4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_021586d8 data_ov14_021586d8: ; 0x021586d8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_021586dc data_ov14_021586dc: ; 0x021586dc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_021586e0 data_ov14_021586e0: ; 0x021586e0 .word _ZN5Actor8vfunc_4cEPi @@ -44732,7 +44732,7 @@ data_ov14_02158768: ; 0x02158768 .word func_ov14_0213a858 - 1 .global data_ov14_0215876c data_ov14_0215876c: ; 0x0215876c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02158770 data_ov14_02158770: ; 0x02158770 .word func_ov14_0213a890 - 1 @@ -44762,10 +44762,10 @@ data_ov14_02158790: ; 0x02158790 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158794 data_ov14_02158794: ; 0x02158794 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158798 data_ov14_02158798: ; 0x02158798 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_0215879c data_ov14_0215879c: ; 0x0215879c .word _ZN5Actor8vfunc_4cEPi @@ -44873,7 +44873,7 @@ data_ov14_02158824: ; 0x02158824 .word _ZN5Actor8vfunc_18Ej .global data_ov14_02158828 data_ov14_02158828: ; 0x02158828 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_0215882c data_ov14_0215882c: ; 0x0215882c .word func_ov14_0213acb8 - 1 @@ -44903,10 +44903,10 @@ data_ov14_0215884c: ; 0x0215884c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158850 data_ov14_02158850: ; 0x02158850 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158854 data_ov14_02158854: ; 0x02158854 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02158858 data_ov14_02158858: ; 0x02158858 .word _ZN5Actor8vfunc_4cEPi @@ -45023,7 +45023,7 @@ data_ov14_021588ec: ; 0x021588ec .word _ZN5Actor8vfunc_18Ej .global data_ov14_021588f0 data_ov14_021588f0: ; 0x021588f0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021588f4 data_ov14_021588f4: ; 0x021588f4 .word func_ov14_0213acb8 - 1 @@ -45053,10 +45053,10 @@ data_ov14_02158914: ; 0x02158914 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158918 data_ov14_02158918: ; 0x02158918 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_0215891c data_ov14_0215891c: ; 0x0215891c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02158920 data_ov14_02158920: ; 0x02158920 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index c8fbd2eb..95f4ac82 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -50,7 +50,7 @@ .extern _ZN11ItemManager18PlayItemFanfareSfxEi .extern _ZN11ItemManager8GiveItemEi .extern _ZN11ItemManager9SetPotionEjh -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -76,7 +76,7 @@ .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -84,7 +84,7 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ .extern _ZN5Actor18func_ov00_020c3094Ev @@ -95,14 +95,14 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -138,7 +138,7 @@ .extern _ZNK11ItemManager9HasPotionEj .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02056be4 .extern data_02057200 .extern data_02063e4c @@ -155,7 +155,7 @@ .extern data_027e0c68 .extern data_027e0cbc .extern data_027e0ce0 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d28 .extern data_027e0d38 .extern data_027e0d3c @@ -166,19 +166,19 @@ .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fb8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerControl .extern data_027e0fc0 .extern data_027e0fc4 -.extern data_027e0fc8 +.extern gPlayerLink .extern data_027e0fcc .extern data_027e0fd0 .extern data_027e0fd4 .extern data_027e0fd8 .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -228,13 +228,13 @@ .extern func_01ff991c .extern func_01ff9958 .extern func_01ff9b4c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffa9fc .extern func_01ffbe34 .extern func_01ffbe78 @@ -243,8 +243,8 @@ .extern func_01fffb4c .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_020029fc .extern func_02002c14 .extern func_0200388c @@ -281,8 +281,8 @@ .extern func_0202aff0 .extern func_0202b154 .extern func_0202b2e8 -.extern func_0202b864 -.extern func_0202b894 +.extern _ZN12TouchControl13func_0202b864EP5Vec3pic +.extern _ZN12TouchControl13func_0202b894EP5Vec3pic .extern func_0202bbbc .extern func_0202d5b4 .extern func_0202d77c @@ -337,7 +337,7 @@ .extern func_ov00_0207977c .extern func_ov00_02079b34 .extern func_ov00_02079e68 -.extern func_ov00_0207a188 +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern func_ov00_0207a1a4 .extern func_ov00_0207a1c8 .extern func_ov00_0207b89c @@ -499,7 +499,7 @@ .extern func_ov00_020bbe94 .extern func_ov00_020bbed4 .extern func_ov00_020bc0a8 -.extern func_ov00_020bc46c +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern func_ov00_020bc4ac .extern func_ov00_020bc500 .extern func_ov00_020bc6d4 @@ -510,7 +510,7 @@ .extern func_ov00_020bcdb8 .extern func_ov00_020bcf50 .extern func_ov00_020bcfb8 -.extern func_ov00_020bd304 +.extern _ZN14PlayerLinkBase18func_ov00_020bd304Ev .extern func_ov00_020bd318 .extern func_ov00_020bd5f4 .extern func_ov00_020bd5fc @@ -546,7 +546,7 @@ .extern func_ov00_020c0d4c .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index a394abbb..e9b201aa 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -18,7 +18,7 @@ _0213b794: add r3, r3, #8 cmp r3, r0 blo _0213b794 - ldr r0, _0213b8fc ; =data_027e0fe4 + ldr r0, _0213b8fc ; =gActorManager mov r6, #0 ldr r5, _0213b900 ; =_ZTV11FilterActor add r3, sp, #0x40 @@ -41,7 +41,7 @@ _0213b794: str r6, [r3] str r6, [r3, #4] str r6, [r3, #8] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mov r6, r0 cmp r6, #0 mov r11, #0 @@ -62,7 +62,7 @@ _0213b840: ble _0213b8f0 mov r7, r5 _0213b850: - ldr r0, _0213b8fc ; =data_027e0fe4 + ldr r0, _0213b8fc ; =gActorManager ldr r1, [sp] ldr r0, [r0] add r1, r1, r7 @@ -108,7 +108,7 @@ _0213b8f0: add sp, sp, #0xd4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0213b8fc: .word data_027e0fe4 +_0213b8fc: .word gActorManager _0213b900: .word _ZTV11FilterActor arm_func_end func_ov14_0213b778 @@ -341,7 +341,7 @@ func_ov14_0213bba0: ; 0x0213bba0 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} - ldr r0, _0213bc2c ; =data_027e0fc8 + ldr r0, _0213bc2c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -368,7 +368,7 @@ func_ov14_0213bba0: ; 0x0213bba0 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_0213bc2c: .word data_027e0fc8 +_0213bc2c: .word gPlayerLink _0213bc30: .word data_ov00_020e9370 arm_func_end func_ov14_0213bba0 @@ -490,7 +490,7 @@ func_ov14_0213bd4c: ; 0x0213bd4c str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _0213be4c ; =0x00000666 ldr r2, _0213be50 ; =0x00000ccd add r0, sp, #0x38 @@ -499,7 +499,7 @@ func_ov14_0213bd4c: ; 0x0213bd4c str r1, [sp, #0x10] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -946,21 +946,21 @@ _0213c360: .word data_ov00_020eec9c .global func_ov14_0213c364 arm_func_start func_ov14_0213c364 func_ov14_0213c364: ; 0x0213c364 - ldr ip, _0213c370 ; =func_01fffcec + ldr ip, _0213c370 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #9 bx ip .align 2, 0 -_0213c370: .word func_01fffcec +_0213c370: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov14_0213c364 .global func_ov14_0213c374 arm_func_start func_ov14_0213c374 func_ov14_0213c374: ; 0x0213c374 - ldr ip, _0213c380 ; =func_01fffcec + ldr ip, _0213c380 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0xa bx ip .align 2, 0 -_0213c380: .word func_01fffcec +_0213c380: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov14_0213c374 .global func_ov14_0213c384 @@ -1308,7 +1308,7 @@ _0213c634: cmpeq r0, #0 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r0, _0213c8d4 ; =data_027e0fb8 + ldr r0, _0213c8d4 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -1456,7 +1456,7 @@ _0213c8c4: .word data_027e103c _0213c8c8: .word 0x000002ff _0213c8cc: .word data_027e077c _0213c8d0: .word data_027e0c68 -_0213c8d4: .word data_027e0fb8 +_0213c8d4: .word gPlayerControl _0213c8d8: .word 0x00020010 _0213c8dc: .word data_ov00_020eec9c _0213c8e0: .word gItemManager @@ -1954,7 +1954,7 @@ func_ov14_0213cf2c: ; 0x0213cf2c cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _0213cf84 ; =data_027e0fb8 + ldr r0, _0213cf84 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -1965,7 +1965,7 @@ func_ov14_0213cf2c: ; 0x0213cf2c ldmia sp!, {r4, pc} .align 2, 0 _0213cf80: .word data_027e103c -_0213cf84: .word data_027e0fb8 +_0213cf84: .word gPlayerControl arm_func_end func_ov14_0213cf2c .global func_ov14_0213cf88 @@ -2149,19 +2149,19 @@ func_ov14_0213d098: ; 0x0213d098 func_ov14_0213d0bc: ; 0x0213d0bc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 - ldr r2, _0213d150 ; =data_027e0fc8 + ldr r2, _0213d150 ; =gPlayerLink mov r5, r0 ldr r0, [r2] mov r4, r1 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _0213d11c - ldr r1, _0213d154 ; =data_027e0fe4 + ldr r1, _0213d154 ; =gActorManager ldr r2, _0213d158 ; =0x504c444d ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0213d154 ; =data_027e0fe4 + ldr r0, _0213d154 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2187,24 +2187,24 @@ _0213d138: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0213d150: .word data_027e0fc8 -_0213d154: .word data_027e0fe4 +_0213d150: .word gPlayerLink +_0213d154: .word gActorManager _0213d158: .word 0x504c444d arm_func_end func_ov14_0213d0bc - .global func_ov14_0213d15c - arm_func_start func_ov14_0213d15c -func_ov14_0213d15c: ; 0x0213d15c - ldr r1, _0213d174 ; =data_027e0fe4 + .global _ZN14EquipBoomerang8GetActorEv + arm_func_start _ZN14EquipBoomerang8GetActorEv +_ZN14EquipBoomerang8GetActorEv: ; 0x0213d15c + ldr r1, _0213d174 ; =gActorManager mov r2, r0 ldr r0, [r1] ldr ip, _0213d178 ; =_ZN12ActorManager8GetActorEP8ActorRef add r1, r2, #0x10 bx ip .align 2, 0 -_0213d174: .word data_027e0fe4 +_0213d174: .word gActorManager _0213d178: .word _ZN12ActorManager8GetActorEP8ActorRef - arm_func_end func_ov14_0213d15c + arm_func_end _ZN14EquipBoomerang8GetActorEv .global func_ov14_0213d17c arm_func_start func_ov14_0213d17c @@ -2492,7 +2492,7 @@ _0213d39c: .word func_ov14_0213d2e8 + 1 func_ov14_0213d3a0: ; 0x0213d3a0 push {r4, lr} add r4, r0, #0 - ldr r0, _0213d3c4 ; =data_027e0fc8 + ldr r0, _0213d3c4 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _0213d3c2 @@ -2509,7 +2509,7 @@ func_ov14_0213d3a0: ; 0x0213d3a0 _0213d3c2: pop {r4, pc} .align 2, 0 -_0213d3c4: .word data_027e0fc8 +_0213d3c4: .word gPlayerLink _0213d3c8: .word gItemManager thumb_func_end func_ov14_0213d3a0 @@ -2549,23 +2549,23 @@ func_ov14_0213d404: ; 0x0213d404 bx lr arm_func_end func_ov14_0213d404 - .global func_ov14_0213d420 - arm_func_start func_ov14_0213d420 -func_ov14_0213d420: ; 0x0213d420 - ldr r1, _0213d438 ; =data_027e0fe4 + .global _ZN9EquipRope18func_ov14_0213d420Ev + arm_func_start _ZN9EquipRope18func_ov14_0213d420Ev +_ZN9EquipRope18func_ov14_0213d420Ev: ; 0x0213d420 + ldr r1, _0213d438 ; =gActorManager mov r2, r0 ldr r0, [r1] ldr ip, _0213d43c ; =_ZN12ActorManager8GetActorEP8ActorRef add r1, r2, #0x10 bx ip .align 2, 0 -_0213d438: .word data_027e0fe4 +_0213d438: .word gActorManager _0213d43c: .word _ZN12ActorManager8GetActorEP8ActorRef - arm_func_end func_ov14_0213d420 + arm_func_end _ZN9EquipRope18func_ov14_0213d420Ev - .global func_ov14_0213d440 - arm_func_start func_ov14_0213d440 -func_ov14_0213d440: ; 0x0213d440 + .global _ZN9EquipRope18func_ov14_0213d440Ei + arm_func_start _ZN9EquipRope18func_ov14_0213d440Ei +_ZN9EquipRope18func_ov14_0213d440Ei: ; 0x0213d440 ldrsh r2, [r0, #0xa] cmp r2, #0 blt _0213d478 @@ -2584,11 +2584,11 @@ _0213d450: _0213d478: mvn r0, #0 bx lr - arm_func_end func_ov14_0213d440 + arm_func_end _ZN9EquipRope18func_ov14_0213d440Ei - .global func_ov14_0213d480 - arm_func_start func_ov14_0213d480 -func_ov14_0213d480: ; 0x0213d480 + .global _ZN9EquipRope18func_ov14_0213d480Ei + arm_func_start _ZN9EquipRope18func_ov14_0213d480Ei +_ZN9EquipRope18func_ov14_0213d480Ei: ; 0x0213d480 ldrb r2, [r0, #0x68] cmp r2, #0 beq _0213d4c0 @@ -2610,13 +2610,13 @@ _0213d4b0: _0213d4c0: mvn r0, #0 bx lr - arm_func_end func_ov14_0213d480 + arm_func_end _ZN9EquipRope18func_ov14_0213d480Ei .global func_ov14_0213d4c8 arm_func_start func_ov14_0213d4c8 func_ov14_0213d4c8: ; 0x0213d4c8 stmdb sp!, {r3, lr} - ldr r0, _0213d4e8 ; =data_027e0fc8 + ldr r0, _0213d4e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #1 @@ -2624,7 +2624,7 @@ func_ov14_0213d4c8: ; 0x0213d4c8 movne r0, #0 ldmia sp!, {r3, pc} .align 2, 0 -_0213d4e8: .word data_027e0fc8 +_0213d4e8: .word gPlayerLink arm_func_end func_ov14_0213d4c8 .global func_ov14_0213d4ec @@ -2749,7 +2749,7 @@ func_ov14_0213d63c: ; 0x0213d63c ldr r1, [r4, #8] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldmia sp!, {r4, pc} @@ -2810,7 +2810,7 @@ func_ov14_0213d6e0: ; 0x0213d6e0 arm_func_start func_ov14_0213d71c func_ov14_0213d71c: ; 0x0213d71c stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _0213d784 ; =data_027e0fe4 + ldr r3, _0213d784 ; =gActorManager mov r6, r0 mov r5, r2 mov r7, r1 @@ -2836,7 +2836,7 @@ func_ov14_0213d71c: ; 0x0213d71c mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0213d784: .word data_027e0fe4 +_0213d784: .word gActorManager arm_func_end func_ov14_0213d71c .global func_ov14_0213d788 @@ -2884,9 +2884,9 @@ _0213d810: ldmia sp!, {r4, r5, pc} arm_func_end func_ov14_0213d788 - .global func_ov14_0213d81c - arm_func_start func_ov14_0213d81c -func_ov14_0213d81c: ; 0x0213d81c + .global _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p + arm_func_start _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p +_ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p: ; 0x0213d81c stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x1c mov r5, r1 @@ -2924,7 +2924,7 @@ _0213d8a0: add r0, sp, #0 mov r1, r7 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub ldrsb r0, [r7, #0x19] ldr r1, [r6, #0x74] cmp r0, #0 @@ -2941,7 +2941,7 @@ _0213d8a0: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, pc} _0213d8ec: - ldr r0, _0213d918 ; =data_027e0d0c + ldr r0, _0213d918 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4] ldr r1, [r0, #4] @@ -2954,12 +2954,12 @@ _0213d908: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0213d914: .word 0x00000e66 -_0213d918: .word data_027e0d0c - arm_func_end func_ov14_0213d81c +_0213d918: .word gVec3p_ZERO + arm_func_end _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p - .global func_ov14_0213d91c - arm_func_start func_ov14_0213d91c -func_ov14_0213d91c: ; 0x0213d91c + .global _ZN9EquipRope18func_ov14_0213d91cEi + arm_func_start _ZN9EquipRope18func_ov14_0213d91cEi +_ZN9EquipRope18func_ov14_0213d91cEi: ; 0x0213d91c stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r2, #0x1c mul r5, r1, r2 @@ -2999,7 +2999,7 @@ _0213d990: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0213d9a8: .word gMapManager - arm_func_end func_ov14_0213d91c + arm_func_end _ZN9EquipRope18func_ov14_0213d91cEi .global func_ov14_0213d9ac arm_func_start func_ov14_0213d9ac @@ -3061,7 +3061,7 @@ _0213d9fc: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0213da84: - ldr r0, _0213dad8 ; =data_027e0fe4 + ldr r0, _0213dad8 ; =gActorManager mov r1, r9 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3085,18 +3085,18 @@ _0213dac0: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0213dad4: .word gMapManager -_0213dad8: .word data_027e0fe4 +_0213dad8: .word gActorManager arm_func_end func_ov14_0213d9ac - .global func_ov14_0213dadc - arm_func_start func_ov14_0213dadc -func_ov14_0213dadc: ; 0x0213dadc + .global _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder + arm_func_start _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder +_ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder: ; 0x0213dadc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc mov r6, r0 mov r5, r1 mov r4, r2 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 @@ -3113,7 +3113,7 @@ func_ov14_0213dadc: ; 0x0213dadc mov r0, #1 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov14_0213dadc + arm_func_end _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder .global func_ov14_0213db34 thumb_func_start func_ov14_0213db34 @@ -3134,7 +3134,7 @@ func_ov14_0213db34: ; 0x0213db34 _0213db4e: add r0, r5, #0 add r1, r4, #0 - blx func_ov14_0213d91c + blx _ZN9EquipRope18func_ov14_0213d91cEi add r4, r4, #1 cmp r4, #2 blt _0213db4e @@ -3147,7 +3147,7 @@ _0213db4e: func_ov14_0213db60: ; 0x0213db60 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 beq _0213db7c bl _ZN5Actor4KillEv @@ -3157,7 +3157,7 @@ _0213db7c: _0213db80: mov r0, r5 mov r1, r4 - bl func_ov14_0213d91c + bl _ZN9EquipRope18func_ov14_0213d91cEi add r4, r4, #1 cmp r4, #2 blt _0213db80 @@ -3188,9 +3188,9 @@ func_ov14_0213dba4: ; 0x0213dba4 add r2, sp, #0x2c mov r0, r3 mov r1, lr - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x2c - bl func_01ff9cec + bl Vec3p_Length mov r2, r0 mov r0, #0x1000000 mov r1, #0 @@ -3220,14 +3220,14 @@ func_ov14_0213dba4: ; 0x0213dba4 str r2, [sp, #0x34] mov r0, r4 add r2, sp, #0x20 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x20 add r1, sp, #0x2c - bl func_01ff9c2c + bl Vec3p_Dot add r1, sp, #0x2c add r2, sp, #0x44 add r3, sp, #0x14 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -3320,9 +3320,9 @@ _0213dda8: bx lr arm_func_end func_ov14_0213dda0 - .global func_ov14_0213ddd4 - arm_func_start func_ov14_0213ddd4 -func_ov14_0213ddd4: ; 0x0213ddd4 + .global _ZN9EquipRope18func_ov14_0213ddd4EP5Actor + arm_func_start _ZN9EquipRope18func_ov14_0213ddd4EP5Actor +_ZN9EquipRope18func_ov14_0213ddd4EP5Actor: ; 0x0213ddd4 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x2c mov r5, r0 @@ -3333,12 +3333,12 @@ func_ov14_0213ddd4: ; 0x0213ddd4 mvneq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [r4, #8] - bl func_ov14_0213d480 + bl _ZN9EquipRope18func_ov14_0213d480Ei cmp r0, #0 addge sp, sp, #0x2c ldmgeia sp!, {r3, r4, r5, r6, pc} mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -3391,18 +3391,18 @@ func_ov14_0213ddd4: ; 0x0213ddd4 ldmeqia sp!, {r3, r4, r5, r6, pc} ldr r1, [sp, #0xc] mov r0, r5 - bl func_ov14_0213d480 + bl _ZN9EquipRope18func_ov14_0213d480Ei add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, pc} _0213def0: mvn r0, #0 add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, pc} - arm_func_end func_ov14_0213ddd4 + arm_func_end _ZN9EquipRope18func_ov14_0213ddd4EP5Actor - .global func_ov14_0213defc - arm_func_start func_ov14_0213defc -func_ov14_0213defc: ; 0x0213defc + .global _ZN9EquipRope18func_ov14_0213defcEP5Actor + arm_func_start _ZN9EquipRope18func_ov14_0213defcEP5Actor +_ZN9EquipRope18func_ov14_0213defcEP5Actor: ; 0x0213defc stmdb sp!, {r3, r4, r5, lr} mov r2, #0 mov r3, r2 @@ -3455,7 +3455,7 @@ _0213df8c: _0213dfb4: mov r0, r2 ldmia sp!, {r3, r4, r5, pc} - arm_func_end func_ov14_0213defc + arm_func_end _ZN9EquipRope18func_ov14_0213defcEP5Actor .global func_ov14_0213dfbc arm_func_start func_ov14_0213dfbc @@ -3515,7 +3515,7 @@ func_ov14_0213dfbc: ; 0x0213dfbc cmp r0, #0 beq _0213e0b0 mov r0, r7 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, r6 @@ -3541,7 +3541,7 @@ _0213e0b0: mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r1, r0, lsl #0x1 - ldr r2, _0213e140 ; =data_02050f54 + ldr r2, _0213e140 ; =gSinCosTable add r0, r0, #1 ldrsh r1, [r2, r1] mov r0, r0, lsl #0x1 @@ -3561,7 +3561,7 @@ _0213e12c: .align 2, 0 _0213e138: .word 0x00000333 _0213e13c: .word 0x0000019a -_0213e140: .word data_02050f54 +_0213e140: .word gSinCosTable arm_func_end func_ov14_0213dfbc .global func_ov14_0213e144 @@ -3581,10 +3581,10 @@ func_ov14_0213e144: ; 0x0213e144 mov r6, r1 mov r4, r3 str ip, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub add r1, sp, #0xc mov r0, r5 - bl func_01ff9c2c + bl Vec3p_Dot add r0, r0, #0x9a ldr r1, [r6, #0xc] add r0, r0, #0x100 @@ -3603,9 +3603,9 @@ func_ov14_0213e144: ; 0x0213e144 mov r1, r5 mov r2, r3 rsb r0, r0, r4, asr #12 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r7 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev ldr r2, [sp] mov r1, #1 str r2, [r0, #0x174] @@ -3655,10 +3655,10 @@ func_ov14_0213e20c: ; 0x0213e20c add r2, sp, #0xc mov r0, r7 add r1, r1, r6 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r5, #0xc] mov r0, r0, lsl #0x10 sub r0, r1, r0, asr #16 @@ -3726,7 +3726,7 @@ _0213e36c: str r0, [sp] movne r9, #0 bne _0213e394 - ldr r0, _0213e538 ; =data_027e0fe4 + ldr r0, _0213e538 ; =gActorManager mov r1, r6 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3786,7 +3786,7 @@ _0213e42c: _0213e44c: ldr r0, [sp, #4] ldr r1, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r4 ldrsh r0, [r10, #0xa] bge _0213e484 @@ -3836,7 +3836,7 @@ _0213e4d8: b _0213e518 _0213e508: mov r0, r10 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev mov r1, r5 bl func_ov14_02123c54 _0213e518: @@ -3850,7 +3850,7 @@ _0213e52c: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0213e538: .word data_027e0fe4 +_0213e538: .word gActorManager _0213e53c: .word gMapManager _0213e540: .word data_027e0fd4 arm_func_end func_ov14_0213e328 @@ -3927,7 +3927,7 @@ _0213e62c: ldr r1, [sp, #0x40] sub r0, r0, r8 sub r1, r1, r9 - bl func_01ffa0f4 + bl Atan2 mov r2, r10, lsl #0x1 ldr r8, [sp, #0x4c] ldr r1, [sp, #0x44] @@ -3950,7 +3950,7 @@ _0213e670: ldmia r4, {r0, r1, r2} add r4, sp, #0x8c stmia r4, {r0, r1, r2} - ldr r5, _0213eaa4 ; =data_027e0d0c + ldr r5, _0213eaa4 ; =gVec3p_ZERO ldr r3, _0213eaa8 ; =data_027e0d44 add r4, sp, #0x80 ldmia r5, {r0, r1, r2} @@ -4022,11 +4022,11 @@ _0213e788: mov r7, r3 ldmia r0, {r0, r1, r2} stmia r7, {r0, r1, r2} - ldr r0, _0213eab4 ; =data_02050f54 + ldr r0, _0213eab4 ; =gSinCosTable mov r1, r8, lsl #0x1 add r0, r0, r8, lsl #1 ldrsh r8, [r0, #2] - ldr r0, _0213eab4 ; =data_02050f54 + ldr r0, _0213eab4 ; =gSinCosTable ldr lr, [sp, #0x74] ldrsh ip, [r0, r1] ldr r0, [sp, #0x7c] @@ -4081,7 +4081,7 @@ _0213e788: mov r0, r9, lsr #0xc mov r2, r3 orr r0, r0, r7, lsl #20 - bl func_01ff9e64 + bl Vec3p_Axpy mov r1, #0 mov r0, #0x11 mov r2, r1 @@ -4178,7 +4178,7 @@ _0213e788: bhs _0213ea5c add r1, r6, r5, lsl #2 ldr r1, [r1, #4] - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, #0x3c000 umull r7, r3, r0, r1 mov r1, #0 @@ -4214,11 +4214,11 @@ _0213ea6c: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0213eaa0: .word data_027e0f64 -_0213eaa4: .word data_027e0d0c +_0213eaa4: .word gVec3p_ZERO _0213eaa8: .word data_027e0d44 _0213eaac: .word 0x0000ffff _0213eab0: .word 0x001f20c0 -_0213eab4: .word data_02050f54 +_0213eab4: .word gSinCosTable arm_func_end func_ov14_0213e55c .global func_ov14_0213eab8 @@ -4365,7 +4365,7 @@ _0213eba0: .word data_ov14_02158f94 func_ov14_0213eba4: ; 0x0213eba4 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 - ldr r1, _0213ec34 ; =data_027e0fa0 + ldr r1, _0213ec34 ; =gPlayerVel mov r4, r0 ldr r3, [r1] ldr r2, [r1, #4] @@ -4393,7 +4393,7 @@ _0213ebe4: ldr r0, _0213ec38 ; =data_027e0f64 str r1, [sp, #4] ldr r0, [r0] - ldr r3, _0213ec3c ; =data_027e0d0c + ldr r3, _0213ec3c ; =gVec3p_ZERO ldr r0, [r0, #4] add r2, r4, #0x20 mov r1, #7 @@ -4401,9 +4401,9 @@ _0213ebe4: add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0213ec34: .word data_027e0fa0 +_0213ec34: .word gPlayerVel _0213ec38: .word data_027e0f64 -_0213ec3c: .word data_027e0d0c +_0213ec3c: .word gVec3p_ZERO arm_func_end func_ov14_0213eba4 .global func_ov14_0213ec40 @@ -4510,14 +4510,14 @@ _0213ed70: .word data_02063e4c .global func_ov14_0213ed74 arm_func_start func_ov14_0213ed74 func_ov14_0213ed74: ; 0x0213ed74 - ldr r1, _0213ed8c ; =data_027e0fe4 + ldr r1, _0213ed8c ; =gActorManager mov r2, r0 ldr r0, [r1] ldr ip, _0213ed90 ; =_ZN12ActorManager8GetActorEP8ActorRef add r1, r2, #0xc bx ip .align 2, 0 -_0213ed8c: .word data_027e0fe4 +_0213ed8c: .word gActorManager _0213ed90: .word _ZN12ActorManager8GetActorEP8ActorRef arm_func_end func_ov14_0213ed74 @@ -4667,7 +4667,7 @@ _0213eeb0: .word 0x00000333 thumb_func_start func_ov14_0213eeb4 func_ov14_0213eeb4: ; 0x0213eeb4 push {r3, lr} - ldr r0, _0213eed8 ; =data_027e0f90 + ldr r0, _0213eed8 ; =gPlayer ldr r0, [r0] cmp r0, #0 bne _0213eed6 @@ -4680,23 +4680,23 @@ func_ov14_0213eeb4: ; 0x0213eeb4 beq _0213eed2 bl func_ov14_0213ef2c _0213eed2: - ldr r1, _0213eed8 ; =data_027e0f90 + ldr r1, _0213eed8 ; =gPlayer str r0, [r1] _0213eed6: pop {r3, pc} .align 2, 0 -_0213eed8: .word data_027e0f90 +_0213eed8: .word gPlayer _0213eedc: .word data_027e0ce0 thumb_func_end func_ov14_0213eeb4 .global func_ov14_0213eee0 arm_func_start func_ov14_0213eee0 func_ov14_0213eee0: ; 0x0213eee0 - ldr r0, _0213eeec ; =data_027e0fc8 + ldr r0, _0213eeec ; =gPlayerLink ldr r0, [r0] bx lr .align 2, 0 -_0213eeec: .word data_027e0fc8 +_0213eeec: .word gPlayerLink arm_func_end func_ov14_0213eee0 .global func_ov14_0213eef0 @@ -4914,7 +4914,7 @@ _0213f0b4: .word data_027e0fd8 arm_func_start func_ov14_0213f0b8 func_ov14_0213f0b8: ; 0x0213f0b8 stmdb sp!, {r4, lr} - ldr r1, _0213f0fc ; =data_027e0fb8 + ldr r1, _0213f0fc ; =gPlayerControl mov r2, #0 ldr r1, [r1] mov r4, r0 @@ -4931,7 +4931,7 @@ func_ov14_0213f0b8: ; 0x0213f0b8 blx func_ov00_020bd5fc ldmia sp!, {r4, pc} .align 2, 0 -_0213f0fc: .word data_027e0fb8 +_0213f0fc: .word gPlayerControl _0213f100: .word data_ov00_020e5684 arm_func_end func_ov14_0213f0b8 @@ -4961,7 +4961,7 @@ func_ov14_0213f104: ; 0x0213f104 bl func_ov23_02178174 _0213f158: mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _0213f170 mov r0, r4 @@ -5007,7 +5007,7 @@ _0213f1bc: ldr r0, [r0] bl func_ov00_020b8610 ldr r0, _0213f320 ; =data_027e0fcc - ldr r2, _0213f32c ; =data_027e0f94 + ldr r2, _0213f32c ; =gPlayerPos ldr r0, [r0] mov r1, #1 bl func_ov00_020b4460 @@ -5018,13 +5018,13 @@ _0213f218: ldr r0, [r0] bl func_ov00_020b8610 ldr r0, _0213f320 ; =data_027e0fcc - ldr r2, _0213f32c ; =data_027e0f94 + ldr r2, _0213f32c ; =gPlayerPos ldr r0, [r0] mov r1, #0 bl func_ov00_020b4460 _0213f23c: mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _0213f2b0 ldr r0, _0213f330 ; =data_027e0d38 @@ -5047,7 +5047,7 @@ _0213f26c: b _0213f2a4 _0213f290: ldr r0, _0213f320 ; =data_027e0fcc - ldr r2, _0213f32c ; =data_027e0f94 + ldr r2, _0213f32c ; =gPlayerPos ldr r0, [r0] mov r1, #0 bl func_ov14_02141af0 @@ -5057,7 +5057,7 @@ _0213f2a4: b _0213f2c8 _0213f2b0: mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _0213f2c8 mov r0, r4 @@ -5092,7 +5092,7 @@ _0213f31c: .word data_027e0fd4 _0213f320: .word data_027e0fcc _0213f324: .word gAdventureFlags _0213f328: .word data_027e0fc0 -_0213f32c: .word data_027e0f94 +_0213f32c: .word gPlayerPos _0213f330: .word data_027e0d38 arm_func_end func_ov14_0213f104 @@ -5348,7 +5348,7 @@ func_ov14_0213f5a8: ; 0x0213f5a8 mov r5, r1 mov r6, r0 mov r4, r2 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r5, r0 movne r0, #1 strneb r0, [r6, #0x5d] @@ -5401,7 +5401,7 @@ _0213f644: cmp r0, #0 addlt sp, sp, #0xc ldmltia sp!, {pc} - ldr r0, _0213f710 ; =data_027e0fa0 + ldr r0, _0213f710 ; =gPlayerVel ldr r0, [r0, #4] cmp r0, #0 addgt sp, sp, #0xc @@ -5409,7 +5409,7 @@ _0213f644: bl func_ov14_0213f724 mov r2, #0 strb r2, [r0, #0x27] - ldr r1, _0213f714 ; =data_027e0fb8 + ldr r1, _0213f714 ; =gPlayerControl strb r2, [r0, #0x28] ldr r0, [r1] bl _ZN13PlayerControl20UpdateUsingEquipItemEv @@ -5429,7 +5429,7 @@ _0213f644: str r1, [sp] str r1, [sp, #4] ldr r0, _0213f718 ; =data_027e0e58 - ldr r2, _0213f71c ; =data_027e0f94 + ldr r2, _0213f71c ; =gPlayerPos ldr r0, [r0] mov r1, #0x1a8 bl func_ov00_0207c1b0 @@ -5441,17 +5441,17 @@ _0213f6e4: ldr r0, _0213f718 ; =data_027e0e58 ldr r1, _0213f720 ; =0x000001a7 ldr r0, [r0] - ldr r2, _0213f71c ; =data_027e0f94 + ldr r2, _0213f71c ; =gPlayerPos bl func_ov00_0207c1b0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 _0213f708: .word data_027e0fd4 _0213f70c: .word 0x000003ae -_0213f710: .word data_027e0fa0 -_0213f714: .word data_027e0fb8 +_0213f710: .word gPlayerVel +_0213f714: .word gPlayerControl _0213f718: .word data_027e0e58 -_0213f71c: .word data_027e0f94 +_0213f71c: .word gPlayerPos _0213f720: .word 0x000001a7 arm_func_end func_ov14_0213f600 @@ -5606,7 +5606,7 @@ _0213f8f0: bl func_ov00_020bc4ac ldr r0, _0213f95c ; =data_ov00_020eec9c ldr r1, _0213f970 ; =0x0000011e - ldr r2, _0213f974 ; =data_027e0f94 + ldr r2, _0213f974 ; =gPlayerPos bl func_ov00_020d7b20 _0213f930: mov r4, #1 @@ -5616,7 +5616,7 @@ _0213f938: str r0, [r5, #0x70] _0213f940: ldr r0, _0213f978 ; =data_027e0fcc - ldr r2, _0213f974 ; =data_027e0f94 + ldr r2, _0213f974 ; =gPlayerPos ldr r0, [r0] mov r1, r4 bl func_ov14_02141af0 @@ -5629,7 +5629,7 @@ _0213f964: .word gItemManager _0213f968: .word 0x88888889 _0213f96c: .word data_027e077c _0213f970: .word 0x0000011e -_0213f974: .word data_027e0f94 +_0213f974: .word gPlayerPos _0213f978: .word data_027e0fcc arm_func_end func_ov14_0213f740 @@ -5674,7 +5674,7 @@ _0213f9c4: bl func_ov00_020d77e4 _0213fa04: ldr r0, _0213fa24 ; =data_027e0fcc - ldr r2, _0213fa28 ; =data_027e0f94 + ldr r2, _0213fa28 ; =gPlayerPos ldr r0, [r0] mov r1, #0 bl func_ov14_02141af0 @@ -5683,7 +5683,7 @@ _0213fa04: _0213fa1c: .word data_027e0fd4 _0213fa20: .word data_ov00_020eec9c _0213fa24: .word data_027e0fcc -_0213fa28: .word data_027e0f94 +_0213fa28: .word gPlayerPos arm_func_end func_ov14_0213f97c .global func_ov14_0213fa2c @@ -6462,7 +6462,7 @@ _02140118: ldr r0, [r5, #0x498] cmp r0, #0x15 bne _02140264 - ldr r0, _021402b4 ; =data_027e0fc8 + ldr r0, _021402b4 ; =gPlayerLink ldr r0, [r0] ldrb r0, [r0, #0x5e] cmp r0, #0 @@ -6567,7 +6567,7 @@ _02140294: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _021402b0: .word data_027e0d38 -_021402b4: .word data_027e0fc8 +_021402b4: .word gPlayerLink _021402b8: .word gAdventureFlags _021402bc: .word data_027e0764 arm_func_end func_ov14_021400c0 @@ -7113,7 +7113,7 @@ _021409d0: bl func_ov00_020a5e9c cmp r0, #5 bne _02140a7c - ldr r0, _02141148 ; =data_027e0fe4 + ldr r0, _02141148 ; =gActorManager add r1, sp, #0x18 ldr r0, [r0] ldrb r0, [r0, #0x29] @@ -7437,7 +7437,7 @@ _02140eb4: bl func_ov00_020a5e9c cmp r0, #5 bne _02140f5c - ldr r0, _02141148 ; =data_027e0fe4 + ldr r0, _02141148 ; =gActorManager add r1, sp, #0x18 ldr r0, [r0] ldrb r0, [r0, #0x29] @@ -7591,7 +7591,7 @@ _02141138: .word gMapManager _0214113c: .word data_027e1054 _02141140: .word data_027e0d3c _02141144: .word data_02063e4c -_02141148: .word data_027e0fe4 +_02141148: .word gActorManager _0214114c: .word gAdventureFlags _02141150: .word 0x00000186 arm_func_end func_ov14_021407b8 @@ -7698,7 +7698,7 @@ _021412a8: ldr r0, _021415bc ; =gItemManager add r1, r2, #1 ldr r0, [r0] - ldr r3, _021415c0 ; =data_02050f54 + ldr r3, _021415c0 ; =gSinCosTable mov r5, r2, lsl #0x1 mov r2, r1, lsl #0x1 mov r1, #0x25 @@ -7900,7 +7900,7 @@ _0214159c: _021415b4: .word data_027e0c54 _021415b8: .word data_027e0d38 _021415bc: .word gItemManager -_021415c0: .word data_02050f54 +_021415c0: .word gSinCosTable _021415c4: .word 0x00007fff _021415c8: .word data_ov14_0215b250 _021415cc: .word func_ov14_0213fa38 @@ -7920,11 +7920,11 @@ _021415e0: .word func_01fffcd8 .global func_ov14_021415e4 arm_func_start func_ov14_021415e4 func_ov14_021415e4: ; 0x021415e4 - ldr ip, _021415f0 ; =func_01fffcec + ldr ip, _021415f0 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_021415f0: .word func_01fffcec +_021415f0: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov14_021415e4 .global func_ov14_021415f4 @@ -7944,7 +7944,7 @@ func_ov14_021415f4: ; 0x021415f4 mov r0, r5 add r1, r7, #0x1c add r2, r7, #0x190 - bl func_01ff9bc4 + bl Vec3p_Add ldrsh r1, [sp, #0x18] add r0, r7, #0x100 strh r1, [r0, #0x9c] @@ -8392,7 +8392,7 @@ func_ov14_02141b70: ; 0x02141b70 str r2, [sp] add r0, r4, #0x70 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -8641,7 +8641,7 @@ _02141f38: str r7, [sp, #0x40] str r6, [sp, #0x44] str r3, [sp, #0x48] - bl func_01ff9bc4 + bl Vec3p_Add b _02142004 _02141f6c: mov r0, r4, asr #0x1 @@ -8655,7 +8655,7 @@ _02141f6c: str r7, [sp, #0x34] str r6, [sp, #0x38] str r3, [sp, #0x3c] - bl func_01ff9bc4 + bl Vec3p_Add b _02142004 _02141fa0: mov r0, r4, asr #0x1 @@ -8669,7 +8669,7 @@ _02141fa0: str r7, [sp, #0x28] str r6, [sp, #0x2c] str r3, [sp, #0x30] - bl func_01ff9bc4 + bl Vec3p_Add b _02142004 _02141fd4: mov r0, r4, asr #0x1 @@ -8683,7 +8683,7 @@ _02141fd4: str r7, [sp, #0x1c] str r6, [sp, #0x20] str r3, [sp, #0x24] - bl func_01ff9bc4 + bl Vec3p_Add _02142004: mov r0, #0 str r0, [r9, #0x74] @@ -9354,7 +9354,7 @@ func_ov14_0214290c: ; 0x0214290c addeq sp, sp, #0x30 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrsh r1, [r10, #0xc] - ldr r3, _02142b58 ; =data_02050f54 + ldr r3, _02142b58 ; =gSinCosTable add r0, sp, #0xc add r1, r1, #0x4000 mov r1, r1, lsl #0x10 @@ -9501,7 +9501,7 @@ _02142b3c: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02142b58: .word data_02050f54 +_02142b58: .word gSinCosTable arm_func_end func_ov14_0214290c .global func_ov14_02142b5c @@ -9957,7 +9957,7 @@ func_ov14_02143018: ; 0x02143018 str r5, [sp, #0x1c] str lr, [sp, #0x20] str r5, [sp, #0x24] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, r5 ldr r2, _0214317c ; =0x00000ccd add r0, sp, #0x40 @@ -9966,7 +9966,7 @@ func_ov14_02143018: ; 0x02143018 str r1, [sp, #0x18] add r1, sp, #0x10 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -10096,7 +10096,7 @@ _02143260: blx r3 _02143290: ldr r0, [r4, #0x1c] - ldr r1, _02143380 ; =data_027e0fc8 + ldr r1, _02143380 ; =gPlayerLink add r0, r0, #0xcd add r3, r0, #0xc00 ldr r0, [r1] @@ -10161,7 +10161,7 @@ _02143354: ldmia sp!, {r3, r4, pc} .align 2, 0 _0214337c: .word data_027e0f64 -_02143380: .word data_027e0fc8 +_02143380: .word gPlayerLink _02143384: .word data_ov00_020eec9c arm_func_end func_ov14_02143180 @@ -10365,7 +10365,7 @@ func_ov14_02143588: ; 0x02143588 add r0, sp, #0x14 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02143644: mov r1, #0 str r1, [sp] @@ -10641,17 +10641,17 @@ func_ov14_0214392c: ; 0x0214392c cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, pc} - ldr r0, _021439d0 ; =data_027e0f90 + ldr r0, _021439d0 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 movle r0, #0 ldmleia sp!, {r3, pc} - ldr r0, _021439d4 ; =data_027e0fc8 + ldr r0, _021439d4 ; =gPlayerLink ldr r0, [r0] cmp r0, #0 beq _021439bc - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r3, pc} @@ -10662,8 +10662,8 @@ _021439bc: _021439c4: .word gAdventureFlags _021439c8: .word data_027e077c _021439cc: .word data_027e103c -_021439d0: .word data_027e0f90 -_021439d4: .word data_027e0fc8 +_021439d0: .word gPlayer +_021439d4: .word gPlayerLink arm_func_end func_ov14_0214392c .global func_ov14_021439d8 @@ -11595,7 +11595,7 @@ func_ov14_0214418c: ; 0x0214418c bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 bne _0214429c - ldr r0, _021442a8 ; =data_027e0f90 + ldr r0, _021442a8 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -11637,9 +11637,9 @@ func_ov14_0214418c: ; 0x0214418c cmp r0, #0 movne r0, r4 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021442bc ; =data_027e0fc8 + ldr r0, _021442bc ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _02144288 ldr r0, _021442c0 ; =data_ov00_020eec9c @@ -11657,12 +11657,12 @@ _0214429c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021442a4: .word gAdventureFlags -_021442a8: .word data_027e0f90 +_021442a8: .word gPlayer _021442ac: .word data_027e077c _021442b0: .word data_027e05f8 _021442b4: .word data_027e103c _021442b8: .word 0x000002ef -_021442bc: .word data_027e0fc8 +_021442bc: .word gPlayerLink _021442c0: .word data_ov00_020eec9c arm_func_end func_ov14_0214418c @@ -13050,12 +13050,12 @@ func_ov14_02145258: ; 0x02145258 add r0, sp, #0 add r1, r4, #0x1c4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02145298: add r0, r4, #0x48 add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov14_02145258 @@ -13665,13 +13665,13 @@ func_ov14_02145974: ; 0x02145974 str r0, [sp, #0x1c] add r0, sp, #0x28 beq _02145a34 - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic cmp r0, #0 bne _02145a1c ldr r1, [sp, #0x24] add r0, sp, #0x18 mov r2, #8 - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic cmp r0, #0 beq _02145a28 _02145a1c: @@ -13683,13 +13683,13 @@ _02145a28: mov r0, #0 ldmia sp!, {r4, pc} _02145a34: - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic cmp r0, #0 bne _02145a58 ldr r1, [sp, #0x24] add r0, sp, #0x18 mov r2, #8 - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic cmp r0, #0 beq _02145a64 _02145a58: @@ -14351,7 +14351,7 @@ func_ov14_02146294: ; 0x02146294 func_ov14_021462b0: ; 0x021462b0 stmdb sp!, {r4, r5, r6, lr} ldrh r1, [r0, #0x20] - ldr ip, _021463d0 ; =data_02050f54 + ldr ip, _021463d0 ; =gSinCosTable cmp r1, #2 ldreq r2, _021463d4 ; =0x0000059a mov r1, #0 @@ -14422,7 +14422,7 @@ func_ov14_021462b0: ; 0x021462b0 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021463d0: .word data_02050f54 +_021463d0: .word gSinCosTable _021463d4: .word 0x0000059a _021463d8: .word 0x00000333 _021463dc: .word 0x00000b33 @@ -14515,7 +14515,7 @@ _021464f8: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x14 mov r1, r5 bl _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ @@ -14566,7 +14566,7 @@ _021465d4: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _021465e4: mov r1, r4 add r0, r5, #0xa4 @@ -14613,7 +14613,7 @@ func_ov14_02146634: ; 0x02146634 strh r0, [r1, #2] strh r0, [r1, #4] ldrsh r0, [r4, #0x78] - ldr r1, _0214672c ; =data_02050f54 + ldr r1, _0214672c ; =gSinCosTable sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -14664,7 +14664,7 @@ _0214670c: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0214672c: .word data_02050f54 +_0214672c: .word gSinCosTable _02146730: .word data_027e0e58 _02146734: .word 0x000001c5 _02146738: .word func_ov14_02146230 @@ -14731,7 +14731,7 @@ func_ov14_021467b8: ; 0x021467b8 add r0, r10, #0x100 ldrsh r1, [r0, #0x58] ldrh r0, [r10, #0x20] - ldr r3, _021469cc ; =data_02050f54 + ldr r3, _021469cc ; =gSinCosTable rsb r1, r1, #0xe mov r1, r1, lsl #0x1 rsb r5, r1, #0x1f @@ -14852,7 +14852,7 @@ _0214696c: add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_021469cc: .word data_02050f54 +_021469cc: .word gSinCosTable _021469d0: .word 0x00000b33 _021469d4: .word 0x00000333 _021469d8: .word data_027e0d44 @@ -15125,7 +15125,7 @@ func_ov14_02146d48: ; 0x02146d48 ldrh r0, [r4, #0x2a] cmp r0, #1 bne _02146dd8 - ldr r0, _02146e18 ; =data_027e0f90 + ldr r0, _02146e18 ; =gPlayer add r1, sp, #0 ldr r0, [r0] ldr r2, [r0] @@ -15167,7 +15167,7 @@ _02146df8: add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_02146e18: .word data_027e0f90 +_02146e18: .word gPlayer _02146e1c: .word 0x00000333 _02146e20: .word gMapManager arm_func_end func_ov14_02146d48 @@ -15188,7 +15188,7 @@ func_ov14_02146e24: ; 0x02146e24 cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} - ldr r0, _02146eb0 ; =data_027e0f90 + ldr r0, _02146eb0 ; =gPlayer add r1, sp, #0 ldr r0, [r0] ldr r2, [r0] @@ -15211,7 +15211,7 @@ func_ov14_02146e24: ; 0x02146e24 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_02146eb0: .word data_027e0f90 +_02146eb0: .word gPlayer arm_func_end func_ov14_02146e24 .global func_ov14_02146eb4 @@ -15283,7 +15283,7 @@ _02146f78: add r0, sp, #4 add r1, r1, #0x400 str r1, [sp, #0x34] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -15365,7 +15365,7 @@ func_ov14_021470a0: ; 0x021470a0 mov r5, r0 blx r3 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -15392,7 +15392,7 @@ func_ov14_021470a0: ; 0x021470a0 cmp r4, r0 addeq sp, sp, #0x30 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _021471d0 ; =data_027e0fe4 + ldr r0, _021471d0 ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -15433,7 +15433,7 @@ func_ov14_021470a0: ; 0x021470a0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021471cc: .word data_027e0fe8 -_021471d0: .word data_027e0fe4 +_021471d0: .word gActorManager arm_func_end func_ov14_021470a0 .global func_ov14_021471d4 @@ -15485,7 +15485,7 @@ _02147240: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} _02147268: - ldr r0, _021472f0 ; =data_027e0fe4 + ldr r0, _021472f0 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -15524,7 +15524,7 @@ _021472e4: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_021472f0: .word data_027e0fe4 +_021472f0: .word gActorManager _021472f4: .word 0x424c5354 _021472f8: .word 0x41525257 _021472fc: .word 0x424d524e @@ -15552,7 +15552,7 @@ func_ov14_02147304: ; 0x02147304 mov r2, #0 blx r3 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -15577,7 +15577,7 @@ func_ov14_02147304: ; 0x02147304 cmp r4, r0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0214744c ; =data_027e0fe4 + ldr r0, _0214744c ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -15617,7 +15617,7 @@ func_ov14_02147304: ; 0x02147304 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02147448: .word data_027e0fe8 -_0214744c: .word data_027e0fe4 +_0214744c: .word gActorManager arm_func_end func_ov14_02147304 .global func_ov14_02147450 @@ -15687,7 +15687,7 @@ func_ov14_021474d8: ; 0x021474d8 mov r4, r0 blx r3 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -15736,15 +15736,15 @@ _02147580: .word gAdventureFlags func_ov14_02147584: ; 0x02147584 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x24 - ldr r2, _02147678 ; =data_027e0fa0 - ldr ip, _0214767c ; =data_027e0f94 + ldr r2, _02147678 ; =gPlayerVel + ldr ip, _0214767c ; =gPlayerPos ldr r5, [r2, #8] ldmia ip, {r3, r9} ldr r8, [ip, #8] ldr r7, [r2] ldr r6, [r2, #4] mov r4, r0 - ldr ip, _02147680 ; =data_027e0fc8 + ldr ip, _02147680 ; =gPlayerLink add lr, sp, #0 ldmia r1, {r0, r1, r2} stmia lr, {r0, r1, r2} @@ -15760,7 +15760,7 @@ func_ov14_02147584: ; 0x02147584 addne sp, sp, #0x24 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} - ldr r0, _02147680 ; =data_027e0fc8 + ldr r0, _02147680 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #4 @@ -15797,9 +15797,9 @@ _02147624: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02147678: .word data_027e0fa0 -_0214767c: .word data_027e0f94 -_02147680: .word data_027e0fc8 +_02147678: .word gPlayerVel +_0214767c: .word gPlayerPos +_02147680: .word gPlayerLink _02147684: .word data_027e0fd0 _02147688: .word 0xfffffe66 arm_func_end func_ov14_02147584 @@ -16207,7 +16207,7 @@ func_ov14_02147b18: ; 0x02147b18 mov r4, r0 mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r4, #0 ldreqb r0, [r5, #0x112] cmpeq r0, #0 @@ -16239,7 +16239,7 @@ func_ov14_02147bb0: ; 0x02147bb0 bl func_ov14_02145414 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} .align 2, 0 _02147bd4: .word 0x00000aab @@ -17010,7 +17010,7 @@ _021483f8: mov r7, #4 str r3, [sp, #0xb0] ldr r0, [r10, #0x50] - ldr r5, _02148650 ; =data_027e0fe4 + ldr r5, _02148650 ; =gActorManager str r0, [sp, #0xb4] ldmia r9, {r0, r1, r2} sub r6, r7, #5 @@ -17049,12 +17049,12 @@ _021483f8: str r6, [sp, #0x8c] str r6, [sp, #0x90] str r3, [sp, #0x50] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mov r6, r0 cmp r6, #0 mov r7, #0 ble _02148638 - ldr r11, _02148650 ; =data_027e0fe4 + ldr r11, _02148650 ; =gActorManager mov r8, r7 add r5, sp, #0x38 mvn r4, #0 @@ -17111,7 +17111,7 @@ _02148638: _02148644: .word gMapManager _02148648: .word 0x0000ffff _0214864c: .word data_ov14_02153ed8 -_02148650: .word data_027e0fe4 +_02148650: .word gActorManager _02148654: .word data_ov14_02159a44 arm_func_end func_ov14_02148364 @@ -18140,7 +18140,7 @@ _0214943c: str r1, [sp, #0x3c] str r2, [sp, #0x40] str r3, [sp, #0x44] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -18211,7 +18211,7 @@ _02149574: blx r2 b _02149794 _0214959c: - ldr r0, _02149800 ; =data_027e0fe4 + ldr r0, _02149800 ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 @@ -18378,7 +18378,7 @@ _021497f0: .word data_027e0fec _021497f4: .word gAdventureFlags _021497f8: .word data_027e0fe8 _021497fc: .word 0x5352574c -_02149800: .word data_027e0fe4 +_02149800: .word gActorManager _02149804: .word data_027e0e58 _02149808: .word 0x0000019f arm_func_end func_ov14_021488c0 @@ -18461,7 +18461,7 @@ _021498cc: ldr r3, [r4, #0x50] add r1, r4, #0x1c0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #2 str r1, [sp] ldr r0, _02149960 ; =data_027e0e58 @@ -18817,7 +18817,7 @@ _02149cec: add r1, sp, #0x2c mov r0, ip mov r2, ip - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x1000 str r0, [sp, #0x20] str r0, [sp, #0x28] @@ -18826,7 +18826,7 @@ _02149cec: str r0, [sp, #0x24] add r0, sp, #0x38 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x44 mov r3, #0 bic r3, r3, #0x1f @@ -19432,7 +19432,7 @@ func_ov14_0214a560: ; 0x0214a560 strh r0, [r4, #0x6e] sub ip, lr, #1 str ip, [r4, #0x70] - ldr r0, _0214a600 ; =data_027e0d0c + ldr r0, _0214a600 ; =gVec3p_ZERO str ip, [r4, #0x74] add r3, r4, #0x78 ldmia r0, {r0, r1, r2} @@ -19451,7 +19451,7 @@ func_ov14_0214a560: ; 0x0214a560 _0214a5f4: .word data_ov14_02159ca4 _0214a5f8: .word 0x00002aab _0214a5fc: .word 0x000078e4 -_0214a600: .word data_027e0d0c +_0214a600: .word gVec3p_ZERO arm_func_end func_ov14_0214a560 .global func_ov14_0214a604 @@ -19487,7 +19487,7 @@ func_ov14_0214a618: ; 0x0214a618 cmpeq r0, #2 bne _0214a6f4 ldr r4, [r5, #0xb4] - ldr r3, _0214a71c ; =data_02050f54 + ldr r3, _0214a71c ; =gSinCosTable ldr r1, [r4] add r0, sp, #0x24 bic r1, r1, #2 @@ -19509,7 +19509,7 @@ func_ov14_0214a618: ; 0x0214a618 mov r2, r1 bl func_01ff8690 ldrh r1, [r6, #0x6a] - ldr r3, _0214a71c ; =data_02050f54 + ldr r3, _0214a71c ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -19535,7 +19535,7 @@ _0214a6f4: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0214a718: .word data_ov14_02153f50 -_0214a71c: .word data_02050f54 +_0214a71c: .word gSinCosTable arm_func_end func_ov14_0214a618 .global func_ov14_0214a720 @@ -19586,7 +19586,7 @@ _0214a77c: sub r0, r5, r0 sub r1, r3, r1 mov r5, r2, asr #0x10 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r1, r8, r0, asr #16 mov r1, r1, lsl #0x10 @@ -19618,7 +19618,7 @@ _0214a808: bl func_ov00_020ce2f0 mov r1, r0 mov r0, r11 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 cmp r9, #0 mov r9, r0, asr #0x10 @@ -19692,7 +19692,7 @@ _0214a928: .word 0x000004fa func_ov14_0214a92c: ; 0x0214a92c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x10 - ldr r4, _0214aa08 ; =data_027e0f94 + ldr r4, _0214aa08 ; =gPlayerPos add ip, sp, #4 mov r7, r0 mov r6, r1 @@ -19749,7 +19749,7 @@ _0214a9f4: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0214aa08: .word data_027e0f94 +_0214aa08: .word gPlayerPos arm_func_end func_ov14_0214a92c .global func_ov14_0214aa0c @@ -19787,7 +19787,7 @@ _0214aa64: mvn r0, #0 cmp r1, r0 bne _0214aaa8 - ldr r1, _0214ab0c ; =data_027e0f94 + ldr r1, _0214ab0c ; =gPlayerPos mov r0, #1 ldr r2, [r1] str r2, [r4] @@ -19801,7 +19801,7 @@ _0214aa64: str r1, [r4, #4] ldmia sp!, {r4, pc} _0214aaa8: - ldr r0, _0214ab10 ; =data_027e0fe4 + ldr r0, _0214ab10 ; =gActorManager add r1, r2, #0x70 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -19814,7 +19814,7 @@ _0214aaa8: mov r0, #1 ldmia sp!, {r4, pc} _0214aad8: - ldr r1, _0214ab0c ; =data_027e0f94 + ldr r1, _0214ab0c ; =gPlayerPos mov r0, #0 ldr r2, [r1] str r2, [r4] @@ -19828,8 +19828,8 @@ _0214aad8: str r1, [r4, #4] ldmia sp!, {r4, pc} .align 2, 0 -_0214ab0c: .word data_027e0f94 -_0214ab10: .word data_027e0fe4 +_0214ab0c: .word gPlayerPos +_0214ab10: .word gActorManager arm_func_end func_ov14_0214aa2c .global func_ov14_0214ab14 @@ -19925,7 +19925,7 @@ func_ov14_0214abd8: ; 0x0214abd8 arm_func_start func_ov14_0214abf4 func_ov14_0214abf4: ; 0x0214abf4 mov r1, #0 - ldr r2, _0214adbc ; =data_027e0d0c + ldr r2, _0214adbc ; =gVec3p_ZERO str r1, [r0, #0x6c] ldr r3, [r2] sub ip, r1, #1 @@ -20059,7 +20059,7 @@ _0214adb4: mov r0, #1 bx lr .align 2, 0 -_0214adbc: .word data_027e0d0c +_0214adbc: .word gVec3p_ZERO _0214adc0: .word 0x4e434d32 _0214adc4: .word 0x4c4e424b _0214adc8: .word 0x43574946 @@ -20108,7 +20108,7 @@ _0214ae44: cmp r0, #0 beq _0214ae7c _0214ae64: - ldr r0, _0214ae8c ; =data_027e0f90 + ldr r0, _0214ae8c ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -20120,7 +20120,7 @@ _0214ae7c: .align 2, 0 _0214ae84: .word gMapManager _0214ae88: .word gAdventureFlags -_0214ae8c: .word data_027e0f90 +_0214ae8c: .word gPlayer arm_func_end func_ov14_0214adfc .global func_ov14_0214ae90 @@ -20227,7 +20227,7 @@ func_ov14_0214af4c: ; 0x0214af4c mvn r0, #0 str r0, [r4, #0x168] _0214afc0: - ldr r0, _0214b014 ; =data_027e0fc8 + ldr r0, _0214b014 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 @@ -20250,7 +20250,7 @@ _0214afe0: .align 2, 0 _0214b00c: .word data_027e0c68 _0214b010: .word gAdventureFlags -_0214b014: .word data_027e0fc8 +_0214b014: .word gPlayerLink arm_func_end func_ov14_0214af4c .global func_ov14_0214b018 @@ -20258,7 +20258,7 @@ _0214b014: .word data_027e0fc8 func_ov14_0214b018: ; 0x0214b018 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0xec - ldr r1, _0214b284 ; =data_027e0fc8 + ldr r1, _0214b284 ; =gPlayerLink mov r5, r0 ldr r0, [r1] cmp r0, #0 @@ -20269,7 +20269,7 @@ func_ov14_0214b018: ; 0x0214b018 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, pc} _0214b048: - ldr r0, _0214b288 ; =data_027e0fe4 + ldr r0, _0214b288 ; =gActorManager mvn r7, #0 ldr r4, [r0] ldr r3, _0214b28c ; =data_ov14_02159cec @@ -20286,7 +20286,7 @@ _0214b048: str ip, [sp, #0x38] str r3, [sp, #8] str r5, [sp, #0xc] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mov r1, r6 mov r0, r4 bl _ZN12ActorManager8GetActorEP8ActorRef @@ -20304,7 +20304,7 @@ _0214b048: mov r0, r4 str r3, [sp] str r5, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mov r1, r6 mov r0, r4 bl _ZN12ActorManager8GetActorEP8ActorRef @@ -20359,7 +20359,7 @@ _0214b188: ldr r2, [r0] ldr r2, [r2, #0x34] blx r2 - ldr r1, _0214b29c ; =data_027e0f94 + ldr r1, _0214b29c ; =gPlayerPos add r0, sp, #0x18 ldr r2, [r1, #4] ldr r3, [r1] @@ -20369,7 +20369,7 @@ _0214b188: add r1, sp, #0x24 mov r2, r0 str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x18 mov r1, #0x800 bl func_01fffbec @@ -20424,13 +20424,13 @@ _0214b264: add sp, sp, #0xec ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0214b284: .word data_027e0fc8 -_0214b288: .word data_027e0fe4 +_0214b284: .word gPlayerLink +_0214b288: .word gActorManager _0214b28c: .word data_ov14_02159cec _0214b290: .word 0x47524d47 _0214b294: .word gAdventureFlags _0214b298: .word data_027e0c68 -_0214b29c: .word data_027e0f94 +_0214b29c: .word gPlayerPos arm_func_end func_ov14_0214b018 .global func_ov14_0214b2a0 @@ -20612,7 +20612,7 @@ func_ov14_0214b484: ; 0x0214b484 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x800 add r0, sp, #0x38 str r1, [sp, #8] @@ -20621,7 +20621,7 @@ func_ov14_0214b484: ; 0x0214b484 str r1, [sp, #0xc] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -20686,7 +20686,7 @@ _0214b5c4: add r0, r4, #0x84 add r1, r4, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x64] cmp r0, #0 mov r0, r4 @@ -21142,10 +21142,10 @@ func_ov14_0214bbdc: ; 0x0214bbdc str r3, [sp] str ip, [sp, #4] str lr, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldr r1, _0214bc94 ; =0x00000fa5 mov r2, r0, asr #0x10 @@ -21283,10 +21283,10 @@ func_ov14_0214bd7c: ; 0x0214bd7c str ip, [sp] str lr, [sp, #4] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldr r1, _0214be60 ; =0x00003555 mov r2, r0, asr #0x10 @@ -21344,7 +21344,7 @@ func_ov14_0214be78: ; 0x0214be78 mov r0, r4 mov r2, r4 add r1, r5, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_end func_ov14_0214be78 @@ -21436,7 +21436,7 @@ _0214bf98: .word data_ov00_020eed2c arm_func_start func_ov14_0214bf9c func_ov14_0214bf9c: ; 0x0214bf9c mov ip, #0 - ldr r1, _0214c014 ; =data_027e0d0c + ldr r1, _0214c014 ; =gVec3p_ZERO str ip, [r0, #0x6c] ldr r2, [r1] sub r3, ip, #1 @@ -21466,7 +21466,7 @@ func_ov14_0214bf9c: ; 0x0214bf9c mov r0, #1 bx lr .align 2, 0 -_0214c014: .word data_027e0d0c +_0214c014: .word gVec3p_ZERO arm_func_end func_ov14_0214bf9c .global func_ov14_0214c018 @@ -21478,7 +21478,7 @@ func_ov14_0214c018: ; 0x0214c018 cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _0214c0a4 ; =data_027e0f90 + ldr r0, _0214c0a4 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -21510,7 +21510,7 @@ _0214c09c: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_0214c0a4: .word data_027e0f90 +_0214c0a4: .word gPlayer _0214c0a8: .word gMapManager _0214c0ac: .word data_ov00_020eed2c _0214c0b0: .word 0x00000bb8 @@ -21584,7 +21584,7 @@ _0214c168: mov r1, #1 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r4 bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} @@ -21686,7 +21686,7 @@ func_ov14_0214c274: ; 0x0214c274 add r1, sp, #4 str r3, [sp, #4] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrb r1, [r4, #0x14] ldr r0, _0214c2e4 ; =gMapManager ldrb ip, [r4, #0x15] @@ -21834,7 +21834,7 @@ func_ov14_0214c450: ; 0x0214c450 ldr r2, [r1, #8] mov r1, r4 str r2, [r4, #0x14] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [r4, #0x18] mov r0, #0 str r0, [r4, #0x1c] @@ -21904,10 +21904,10 @@ func_ov14_0214c55c: ; 0x0214c55c add r2, sp, #0 add r1, r8, #0xc mov r5, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r4, r0, asr #0x10 ldrsh r2, [sp, #0x28] @@ -22076,7 +22076,7 @@ _0214c7c0: _0214c7d0: sub r0, r11, #0x8000 mov r7, #0 - ldr r6, _0214c93c ; =data_02050f54 + ldr r6, _0214c93c ; =gSinCosTable ldr r4, _0214c940 ; =gMapManager strh r0, [sp, #0x1a] add r11, sp, #0x1c @@ -22170,7 +22170,7 @@ _0214c92c: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0214c938: .word data_027e0764 -_0214c93c: .word data_02050f54 +_0214c93c: .word gSinCosTable _0214c940: .word gMapManager _0214c944: .word 0x0000ffff arm_func_end func_ov14_0214c678 @@ -22185,10 +22185,10 @@ func_ov14_0214c948: ; 0x0214c948 mov r4, r0 mov r8, r1 mov r6, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 ldrsh r2, [sp, #0x28] @@ -22415,7 +22415,7 @@ _0214cbdc: _0214cc10: mov r1, #1 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mvn r0, #0 str r0, [r4, #0x158] mov r0, #0 @@ -23107,7 +23107,7 @@ _0214d46c: add r0, r4, #0x18 add r1, sp, #0x30 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrh r0, [r4, #0x26] add r1, sp, #0x3c strh r0, [r4, #0x66] @@ -23116,11 +23116,11 @@ _0214d46c: streqh r0, [r4, #0x66] add r0, sp, #0x54 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x48 add r1, sp, #0x3c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r3, r0, #7 @@ -23158,7 +23158,7 @@ _0214d46c: blx ip ldrh r2, [r4, #0xc] mov r0, #0 - ldr r1, _0214d6a8 ; =data_02050f54 + ldr r1, _0214d6a8 ; =gSinCosTable str r0, [sp, #0x10] mov r0, r2, asr #0x4 mov r3, r0, lsl #0x1 @@ -23235,7 +23235,7 @@ _0214d68c: .align 2, 0 _0214d6a0: .word 0xfffff666 _0214d6a4: .word data_027e0d38 -_0214d6a8: .word data_02050f54 +_0214d6a8: .word gSinCosTable _0214d6ac: .word 0x000004cd _0214d6b0: .word gMapManager _0214d6b4: .word 0x0000026e @@ -23284,7 +23284,7 @@ _0214d704: mov r0, r3 mov r2, r3 add r1, r5, #0xcc - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0214da20 ; =data_027e0e58 add r8, r5, #0xb4 ldr r6, [r0] @@ -23507,7 +23507,7 @@ _0214da68: mov r0, r3 mov r2, r3 add r1, r4, #0xcc - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0214db64 ; =data_027e0e58 add r8, r4, #0xb4 ldr r6, [r0] @@ -23633,7 +23633,7 @@ func_ov14_0214dc20: ; 0x0214dc20 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _0214dc78 ; =data_02050f54 + ldr r3, _0214dc78 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -23652,7 +23652,7 @@ func_ov14_0214dc20: ; 0x0214dc20 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0214dc78: .word data_02050f54 +_0214dc78: .word gSinCosTable arm_func_end func_ov14_0214dc20 .global func_ov14_0214dc7c @@ -24211,7 +24211,7 @@ func_ov14_0214e38c: ; 0x0214e38c str r2, [sp, #0x1c] mov r0, ip mov r2, ip - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x800 str r0, [sp, #8] str r0, [sp, #0x10] @@ -24220,7 +24220,7 @@ func_ov14_0214e38c: ; 0x0214e38c add r0, sp, #0x38 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -24430,7 +24430,7 @@ func_ov14_0214e6d0: ; 0x0214e6d0 ldr r0, [r4, #8] cmp r0, #0 bne _0214e72c - ldr r0, _0214e734 ; =data_027e0fe4 + ldr r0, _0214e734 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -24452,7 +24452,7 @@ _0214e72c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0214e734: .word data_027e0fe4 +_0214e734: .word gActorManager _0214e738: .word 0x424c5354 arm_func_end func_ov14_0214e6d0 @@ -24629,7 +24629,7 @@ func_ov14_0214e8f0: ; 0x0214e8f0 str lr, [sp, #0x14] str ip, [sp, #0x18] str r3, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0x800 mov r1, #0x1000 str r1, [sp, #0xc] @@ -24638,7 +24638,7 @@ func_ov14_0214e8f0: ; 0x0214e8f0 str r2, [sp, #8] str r2, [sp, #0x10] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x6000 orr r0, r0, #0x4000 @@ -24818,7 +24818,7 @@ func_ov14_0214ebd4: ; 0x0214ebd4 ldr r0, [r4, #8] cmp r0, #0 bne _0214ec30 - ldr r0, _0214ec38 ; =data_027e0fe4 + ldr r0, _0214ec38 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -24840,7 +24840,7 @@ _0214ec30: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0214ec38: .word data_027e0fe4 +_0214ec38: .word gActorManager _0214ec3c: .word 0x424c5354 arm_func_end func_ov14_0214ebd4 @@ -25290,7 +25290,7 @@ _0214f218: bl _ZN14AdventureFlags18func_ov00_02098058Ev cmp r0, #0xa ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _0214f248 ; =data_027e0fc8 + ldr r0, _0214f248 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bcfb8 @@ -25298,7 +25298,7 @@ _0214f218: .align 2, 0 _0214f240: .word data_ov00_020eec68 _0214f244: .word gAdventureFlags -_0214f248: .word data_027e0fc8 +_0214f248: .word gPlayerLink arm_func_end func_ov14_0214f184 .global func_ov14_0214f24c @@ -25518,7 +25518,7 @@ func_ov14_0214f504: ; 0x0214f504 ldrh r1, [r4, #0x24] cmp r1, #0 beq _0214f574 - ldr r0, _0214f5a0 ; =data_027e0fe4 + ldr r0, _0214f5a0 ; =gActorManager mov r2, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -25527,7 +25527,7 @@ func_ov14_0214f504: ; 0x0214f504 movne r0, #0 ldmia sp!, {r4, pc} _0214f574: - ldr r0, _0214f5a0 ; =data_027e0fe4 + ldr r0, _0214f5a0 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -25540,7 +25540,7 @@ _0214f594: ldmia sp!, {r4, pc} .align 2, 0 _0214f59c: .word gMapManager -_0214f5a0: .word data_027e0fe4 +_0214f5a0: .word gActorManager arm_func_end func_ov14_0214f504 .global func_ov14_0214f5a4 @@ -25574,7 +25574,7 @@ _0214f600: ldrh r1, [r4, #0x24] cmp r1, #0 beq _0214f640 - ldr r0, _0214f664 ; =data_027e0fe4 + ldr r0, _0214f664 ; =gActorManager add r2, r4, #0xb4 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -25588,7 +25588,7 @@ _0214f600: mov r0, #1 ldmia sp!, {r4, pc} _0214f640: - ldr r0, _0214f664 ; =data_027e0fe4 + ldr r0, _0214f664 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -25598,7 +25598,7 @@ _0214f640: ldmia sp!, {r4, pc} .align 2, 0 _0214f660: .word gMapManager -_0214f664: .word data_027e0fe4 +_0214f664: .word gActorManager arm_func_end func_ov14_0214f5a4 .global func_ov14_0214f668 @@ -25639,7 +25639,7 @@ _0214f6e0: ldrh r1, [r4, #0x24] cmp r1, #0 beq _0214f70c - ldr r0, _0214f770 ; =data_027e0fe4 + ldr r0, _0214f770 ; =gActorManager mov r2, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -25648,7 +25648,7 @@ _0214f6e0: mov r0, #0 ldmia sp!, {r4, pc} _0214f70c: - ldr r0, _0214f770 ; =data_027e0fe4 + ldr r0, _0214f770 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -25676,7 +25676,7 @@ _0214f760: .align 2, 0 _0214f768: .word data_027e077c _0214f76c: .word gMapManager -_0214f770: .word data_027e0fe4 +_0214f770: .word gActorManager arm_func_end func_ov14_0214f668 .global func_ov14_0214f774 @@ -25686,7 +25686,7 @@ func_ov14_0214f774: ; 0x0214f774 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _0214f7ec ; =data_02050f54 + ldr r3, _0214f7ec ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -25713,7 +25713,7 @@ func_ov14_0214f774: ; 0x0214f774 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_0214f7ec: .word data_02050f54 +_0214f7ec: .word gSinCosTable arm_func_end func_ov14_0214f774 .global func_ov14_0214f7f0 @@ -25824,7 +25824,7 @@ func_ov14_0214f8f0: ; 0x0214f8f0 bl func_0202bbbc cmp r0, #3 ldreq r0, [r5, #8] - ldr r2, _0214fa3c ; =data_02050f54 + ldr r2, _0214fa3c ; =gSinCosTable cmpeq r0, #5 moveq r4, #0 mov r0, r4, asr #0x4 @@ -25847,11 +25847,11 @@ func_ov14_0214f8f0: ; 0x0214f8f0 add r0, sp, #0x58 add r1, sp, #0x40 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x4c add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #4 str r0, [sp] ldr r0, _0214fa40 ; =data_027e0e58 @@ -25878,7 +25878,7 @@ func_ov14_0214f8f0: ; 0x0214f8f0 ldmia sp!, {r4, r5, pc} .align 2, 0 _0214fa38: .word 0x00000b33 -_0214fa3c: .word data_02050f54 +_0214fa3c: .word gSinCosTable _0214fa40: .word data_027e0e58 _0214fa44: .word 0x00000272 arm_func_end func_ov14_0214f8f0 @@ -26137,7 +26137,7 @@ _0214fd28: _0214fd38: mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mvn r1, #0 mov r0, r4 str r1, [r4, #0x158] @@ -26224,7 +26224,7 @@ func_ov14_0214fdcc: ; 0x0214fdcc str r2, [sp] add r0, r4, #0x5c mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -26406,7 +26406,7 @@ _02150070: str r8, [sp, #0x14] str r7, [sp, #0x18] str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [r4, #0x60] str r0, [r4, #0x64] @@ -26531,7 +26531,7 @@ _02150200: add r0, sp, #0xc bne _0215023c ldrh r2, [r10, #0xc] - ldr r1, _02150308 ; =data_02050f54 + ldr r1, _02150308 ; =gSinCosTable mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 mov r3, r2, lsl #0x1 @@ -26542,7 +26542,7 @@ _02150200: b _0215026c _0215023c: ldrsh r1, [r10, #0xc] - ldr r3, _02150308 ; =data_02050f54 + ldr r3, _02150308 ; =gSinCosTable sub r1, r1, #0x8000 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 @@ -26596,7 +26596,7 @@ _021502ec: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02150304: .word data_027e0f68 -_02150308: .word data_02050f54 +_02150308: .word gSinCosTable arm_func_end func_ov14_02150168 .global func_ov14_0215030c @@ -26606,7 +26606,7 @@ func_ov14_0215030c: ; 0x0215030c sub sp, sp, #0x30 mov r10, r0 ldrh r1, [r10, #0xc] - ldr r3, _021504d4 ; =data_02050f54 + ldr r3, _021504d4 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -26660,7 +26660,7 @@ _021503d0: add r0, sp, #0xc bne _0215040c ldrh r2, [r10, #0xc] - ldr r1, _021504d4 ; =data_02050f54 + ldr r1, _021504d4 ; =gSinCosTable mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 mov r3, r2, lsl #0x1 @@ -26671,7 +26671,7 @@ _021503d0: b _0215043c _0215040c: ldrsh r1, [r10, #0xc] - ldr r3, _021504d4 ; =data_02050f54 + ldr r3, _021504d4 ; =gSinCosTable sub r1, r1, #0x8000 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 @@ -26724,7 +26724,7 @@ _021504bc: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_021504d4: .word data_02050f54 +_021504d4: .word gSinCosTable _021504d8: .word data_027e0f68 arm_func_end func_ov14_0215030c @@ -26735,7 +26735,7 @@ func_ov14_021504dc: ; 0x021504dc sub sp, sp, #0x30 mov r10, r0 ldrh r1, [r10, #0xc] - ldr r3, _02150604 ; =data_02050f54 + ldr r3, _02150604 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -26809,7 +26809,7 @@ _021505ec: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02150604: .word data_02050f54 +_02150604: .word gSinCosTable _02150608: .word data_027e0f68 arm_func_end func_ov14_021504dc @@ -27527,7 +27527,7 @@ _02150c30: add r0, r4, #0x18 add r1, sp, #0x38 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x18 add r3, sp, #0x20 ldmia r0, {r0, r1, r2} @@ -27535,7 +27535,7 @@ _02150c30: mov r0, r3 mov r2, r3 add r1, sp, #0x2c - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -27839,7 +27839,7 @@ func_ov14_02151084: ; 0x02151084 mov r4, r2 cmp r0, #0 bne _02151150 - ldr r0, _0215115c ; =data_027e0fe4 + ldr r0, _0215115c ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -27858,7 +27858,7 @@ func_ov14_02151084: ; 0x02151084 str r0, [sp] str r2, [sp, #4] str r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 movs r1, r0, asr #0x10 bmi _02151104 @@ -27891,7 +27891,7 @@ _02151150: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0215115c: .word data_027e0fe4 +_0215115c: .word gActorManager _02151160: .word 0x41525257 arm_func_end func_ov14_02151084 @@ -27902,7 +27902,7 @@ func_ov14_02151164: ; 0x02151164 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _021511bc ; =data_02050f54 + ldr r3, _021511bc ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -27921,7 +27921,7 @@ func_ov14_02151164: ; 0x02151164 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_021511bc: .word data_02050f54 +_021511bc: .word gSinCosTable arm_func_end func_ov14_02151164 .global func_ov14_021511c0 @@ -28411,13 +28411,13 @@ func_ov14_02151608: ; 0x02151608 arm_func_start func_ov14_02151610 func_ov14_02151610: ; 0x02151610 stmdb sp!, {r4, lr} - ldr r1, _02151684 ; =data_027e0fc8 + ldr r1, _02151684 ; =gPlayerLink mov r4, r0 ldr r0, [r1] bl func_ov00_020bba28 cmp r0, #0 beq _02151640 - ldr r0, _02151684 ; =data_027e0fc8 + ldr r0, _02151684 ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #0x3f @@ -28445,7 +28445,7 @@ _0215167c: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02151684: .word data_027e0fc8 +_02151684: .word gPlayerLink _02151688: .word gItemManager arm_func_end func_ov14_02151610 @@ -28553,7 +28553,7 @@ func_ov14_0215176c: ; 0x0215176c str ip, [sp, #0x38] str r3, [sp, #0x3c] str r3, [sp, #0x40] - bl func_01ff9bc4 + bl Vec3p_Add _021517cc: ldr r1, [r5, #0x18] add r0, sp, #0x50 @@ -28576,7 +28576,7 @@ _021517cc: str r4, [sp, #0x2c] str ip, [sp, #0x30] str r3, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x44 mov ip, #0x1000 mov r3, #0x800 @@ -28585,7 +28585,7 @@ _021517cc: str r4, [sp, #0x20] str ip, [sp, #0x24] str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov ip, #0 bic r2, ip, #0x1f ldrh r1, [r5, #0x24] @@ -28960,7 +28960,7 @@ func_ov14_02151bec: ; 0x02151bec bl func_ov00_02078b40 cmp r0, #2 beq _02151ca4 - ldr r0, _02151ddc ; =data_027e0fc8 + ldr r0, _02151ddc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #5 @@ -29009,7 +29009,7 @@ _02151d00: strge r0, [r4, #0x10] b _02151db0 _02151d20: - ldr r0, _02151ddc ; =data_027e0fc8 + ldr r0, _02151ddc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #0 @@ -29061,7 +29061,7 @@ _02151dcc: .word data_027e077c _02151dd0: .word data_027e0618 _02151dd4: .word data_027e0c68 _02151dd8: .word data_027e0d38 -_02151ddc: .word data_027e0fc8 +_02151ddc: .word gPlayerLink arm_func_end func_ov14_02151bec .global func_ov14_02151de0 @@ -30313,7 +30313,7 @@ func_ov14_02152d54: ; 0x02152d54 mov r2, r1 blx r3 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -30335,7 +30335,7 @@ func_ov14_02152d54: ; 0x02152d54 cmp r4, r0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} - ldr r0, _02152e2c ; =data_027e0fe4 + ldr r0, _02152e2c ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -30354,7 +30354,7 @@ func_ov14_02152d54: ; 0x02152d54 .align 2, 0 _02152e24: .word data_027e0fe8 _02152e28: .word 0x424f4d42 -_02152e2c: .word data_027e0fe4 +_02152e2c: .word gActorManager arm_func_end func_ov14_02152d54 .global func_ov14_02152e30 @@ -30386,7 +30386,7 @@ func_ov14_02152e44: ; 0x02152e44 beq _02152fc4 b _02152ed0 _02152e6c: - ldr r1, _02152fd0 ; =data_027e0f94 + ldr r1, _02152fd0 ; =gPlayerPos add r0, r4, #0x38 ldr r3, [r1] ldr r2, [r1, #4] @@ -30413,7 +30413,7 @@ _02152eac: blx r3 b _02152fc4 _02152ed0: - ldr r0, _02152fd4 ; =data_027e0fe4 + ldr r0, _02152fd4 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -30485,8 +30485,8 @@ _02152fc4: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02152fd0: .word data_027e0f94 -_02152fd4: .word data_027e0fe4 +_02152fd0: .word gPlayerPos +_02152fd4: .word gActorManager _02152fd8: .word 0x50534241 _02152fdc: .word 0x424c5354 _02152fe0: .word 0x41525257 @@ -32826,7 +32826,7 @@ data_ov14_02158ab8: ; 0x02158ab8 .word func_ov14_021389d8 .global data_ov14_02158abc data_ov14_02158abc: ; 0x02158abc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02158ac0 data_ov14_02158ac0: ; 0x02158ac0 .word func_ov14_0213bba0 @@ -32856,10 +32856,10 @@ data_ov14_02158ae0: ; 0x02158ae0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02158ae4 data_ov14_02158ae4: ; 0x02158ae4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02158ae8 data_ov14_02158ae8: ; 0x02158ae8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02158aec data_ov14_02158aec: ; 0x02158aec .word _ZN5Actor8vfunc_4cEPi @@ -34861,7 +34861,7 @@ data_ov14_021594d8: ; 0x021594d8 .word func_ov14_02144b64 .global data_ov14_021594dc data_ov14_021594dc: ; 0x021594dc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021594e0 data_ov14_021594e0: ; 0x021594e0 .word _ZN5Actor8vfunc_20Ei @@ -34891,10 +34891,10 @@ data_ov14_02159500: ; 0x02159500 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02159504 data_ov14_02159504: ; 0x02159504 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02159508 data_ov14_02159508: ; 0x02159508 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_0215950c data_ov14_0215950c: ; 0x0215950c .word _ZN5Actor8vfunc_4cEPi @@ -35044,7 +35044,7 @@ data_ov14_021595cc: ; 0x021595cc .word func_ov14_02144b64 .global data_ov14_021595d0 data_ov14_021595d0: ; 0x021595d0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021595d4 data_ov14_021595d4: ; 0x021595d4 .word func_ov14_02145100 @@ -35074,10 +35074,10 @@ data_ov14_021595f4: ; 0x021595f4 .word func_ov14_02145974 .global data_ov14_021595f8 data_ov14_021595f8: ; 0x021595f8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_021595fc data_ov14_021595fc: ; 0x021595fc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02159600 data_ov14_02159600: ; 0x02159600 .word _ZN5Actor8vfunc_4cEPi @@ -35351,7 +35351,7 @@ data_ov14_0215975c: ; 0x0215975c .word func_ov14_02146608 .global data_ov14_02159760 data_ov14_02159760: ; 0x02159760 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02159764 data_ov14_02159764: ; 0x02159764 .word func_ov14_021467b8 @@ -35381,10 +35381,10 @@ data_ov14_02159784: ; 0x02159784 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02159788 data_ov14_02159788: ; 0x02159788 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_0215978c data_ov14_0215978c: ; 0x0215978c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02159790 data_ov14_02159790: ; 0x02159790 .word _ZN5Actor8vfunc_4cEPi @@ -35606,7 +35606,7 @@ data_ov14_021598b0: ; 0x021598b0 .word func_ov14_02144b64 .global data_ov14_021598b4 data_ov14_021598b4: ; 0x021598b4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_021598b8 data_ov14_021598b8: ; 0x021598b8 .word func_ov14_02145100 @@ -35636,10 +35636,10 @@ data_ov14_021598d8: ; 0x021598d8 .word func_ov14_02145974 .global data_ov14_021598dc data_ov14_021598dc: ; 0x021598dc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_021598e0 data_ov14_021598e0: ; 0x021598e0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_021598e4 data_ov14_021598e4: ; 0x021598e4 .word _ZN5Actor8vfunc_4cEPi @@ -35936,7 +35936,7 @@ data_ov14_02159a68: ; 0x02159a68 .word _ZN5Actor8vfunc_18Ej .global data_ov14_02159a6c data_ov14_02159a6c: ; 0x02159a6c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02159a70 data_ov14_02159a70: ; 0x02159a70 .word _ZN5Actor8vfunc_20Ei @@ -35966,10 +35966,10 @@ data_ov14_02159a90: ; 0x02159a90 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02159a94 data_ov14_02159a94: ; 0x02159a94 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02159a98 data_ov14_02159a98: ; 0x02159a98 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02159a9c data_ov14_02159a9c: ; 0x02159a9c .word _ZN5Actor8vfunc_4cEPi @@ -36083,7 +36083,7 @@ data_ov14_02159b2c: ; 0x02159b2c .word func_ov14_02149894 ; func_ov15_02149894 .global data_ov14_02159b30 data_ov14_02159b30: ; 0x02159b30 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02159b34 data_ov14_02159b34: ; 0x02159b34 .word func_ov14_0214996c @@ -36113,10 +36113,10 @@ data_ov14_02159b54: ; 0x02159b54 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02159b58 data_ov14_02159b58: ; 0x02159b58 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02159b5c data_ov14_02159b5c: ; 0x02159b5c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02159b60 data_ov14_02159b60: ; 0x02159b60 .word _ZN5Actor8vfunc_4cEPi @@ -36454,7 +36454,7 @@ data_ov14_02159d10: ; 0x02159d10 .word func_ov00_020d3b44 .global data_ov14_02159d14 data_ov14_02159d14: ; 0x02159d14 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02159d18 data_ov14_02159d18: ; 0x02159d18 .word _ZN5Actor8vfunc_20Ei @@ -36484,10 +36484,10 @@ data_ov14_02159d38: ; 0x02159d38 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02159d3c data_ov14_02159d3c: ; 0x02159d3c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02159d40 data_ov14_02159d40: ; 0x02159d40 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02159d44 data_ov14_02159d44: ; 0x02159d44 .word _ZN5Actor8vfunc_4cEPi @@ -36733,7 +36733,7 @@ data_ov14_02159e84: ; 0x02159e84 .word func_ov14_0214c0e4 .global data_ov14_02159e88 data_ov14_02159e88: ; 0x02159e88 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02159e8c data_ov14_02159e8c: ; 0x02159e8c .word _ZN5Actor8vfunc_20Ei @@ -36763,10 +36763,10 @@ data_ov14_02159eac: ; 0x02159eac .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_02159eb0 data_ov14_02159eb0: ; 0x02159eb0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_02159eb4 data_ov14_02159eb4: ; 0x02159eb4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_02159eb8 data_ov14_02159eb8: ; 0x02159eb8 .word _ZN5Actor8vfunc_4cEPi @@ -36991,7 +36991,7 @@ data_ov14_02159fdc: ; 0x02159fdc .word func_ov14_0214cb9c .global data_ov14_02159fe0 data_ov14_02159fe0: ; 0x02159fe0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_02159fe4 data_ov14_02159fe4: ; 0x02159fe4 .word _ZN5Actor8vfunc_20Ei @@ -37021,10 +37021,10 @@ data_ov14_0215a004: ; 0x0215a004 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_0215a008 data_ov14_0215a008: ; 0x0215a008 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_0215a00c data_ov14_0215a00c: ; 0x0215a00c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_0215a010 data_ov14_0215a010: ; 0x0215a010 .word _ZN5Actor8vfunc_4cEPi @@ -37906,7 +37906,7 @@ data_ov14_0215a490: ; 0x0215a490 .word func_ov14_0214fc90 .global data_ov14_0215a494 data_ov14_0215a494: ; 0x0215a494 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_0215a498 data_ov14_0215a498: ; 0x0215a498 .word _ZN5Actor8vfunc_20Ei @@ -37936,10 +37936,10 @@ data_ov14_0215a4b8: ; 0x0215a4b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_0215a4bc data_ov14_0215a4bc: ; 0x0215a4bc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_0215a4c0 data_ov14_0215a4c0: ; 0x0215a4c0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_0215a4c4 data_ov14_0215a4c4: ; 0x0215a4c4 .word _ZN5Actor8vfunc_4cEPi @@ -38361,7 +38361,7 @@ data_ov14_0215a6e4: ; 0x0215a6e4 .word _ZN5Actor8vfunc_18Ej .global data_ov14_0215a6e8 data_ov14_0215a6e8: ; 0x0215a6e8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov14_0215a6ec data_ov14_0215a6ec: ; 0x0215a6ec .word func_ov14_0215152c @@ -38391,10 +38391,10 @@ data_ov14_0215a70c: ; 0x0215a70c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov14_0215a710 data_ov14_0215a710: ; 0x0215a710 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov14_0215a714 data_ov14_0215a714: ; 0x0215a714 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov14_0215a718 data_ov14_0215a718: ; 0x0215a718 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov15.inc b/asm/ov15.inc index 81e39202..7cc47770 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -41,7 +41,7 @@ .extern _ZN10PlayerBase10GetEquipIdEv .extern _ZN10PlayerBase18TeleportToEntranceEib .extern _ZN10PlayerBase18func_ov00_020a7c00Ei -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder .extern _ZN10PlayerBase7CanMoveEv .extern _ZN10PlayerBase8TeleportEP5Vec3psibb .extern _ZN10PlayerBase8vfunc_04Ev @@ -53,7 +53,7 @@ .extern _ZN11ItemManager18func_ov00_020ad528Ev .extern _ZN11ItemManager19SetTreasureSalvagedEj .extern _ZN11ItemManager8GiveItemEi -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori @@ -82,7 +82,7 @@ .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -95,13 +95,13 @@ .extern _ZN5Actor18CollidesWithPlayerEj .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c198cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1d58Ev .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ .extern _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor20IncreaseActiveFramesEv .extern _ZN5Actor4KillEv @@ -111,14 +111,14 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -176,7 +176,7 @@ .extern _ZNK11ItemManager7HasItemEi .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02051f54 .extern data_02053f54 .extern data_02056be4 @@ -200,7 +200,7 @@ .extern data_027e0cbc .extern data_027e0ce0 .extern data_027e0d04 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0d44 @@ -217,15 +217,15 @@ .extern data_027e0f78 .extern data_027e0f7c .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac +.extern gPlayer +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerAngle .extern data_027e0fb0 -.extern data_027e0fb8 +.extern gPlayerControl .extern data_027e0fc4 .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -292,16 +292,16 @@ .extern func_01ff9958 .extern func_01ff9b4c .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Cross +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance .extern func_01ff9f3c -.extern func_01ffa0f4 +.extern Atan2 .extern func_01ffa8d4 .extern func_01ffa9fc .extern func_01ffbe34 @@ -312,7 +312,7 @@ .extern func_01fffb4c .extern func_01fffb80 .extern func_01fffbec -.extern func_01fffd04 +.extern _ZN5Actor13func_01fffd04Ei .extern func_02001a9c .extern func_0200250c .extern func_02002540 @@ -365,8 +365,8 @@ .extern func_0202b418 .extern func_0202b4e4 .extern func_0202b734 -.extern func_0202b864 -.extern func_0202b894 +.extern _ZN12TouchControl13func_0202b864EP5Vec3pic +.extern _ZN12TouchControl13func_0202b894EP5Vec3pic .extern func_0202bac0 .extern func_0202bbbc .extern func_0202bc38 @@ -440,7 +440,7 @@ .extern func_0203eba8 .extern func_0203ebc8 .extern func_02042f68 -.extern func_02042f74 +.extern abs .extern func_02043594 .extern func_020435b4 .extern func_02043600 @@ -460,7 +460,7 @@ .extern func_ov00_02079b54 .extern func_ov00_02079e68 .extern func_ov00_0207a13c -.extern func_ov00_0207a188 +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern func_ov00_0207a1c8 .extern func_ov00_0207a730 .extern func_ov00_0207b89c @@ -641,7 +641,7 @@ .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 .extern func_ov00_020c0e5c -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov15.s b/asm/ov15.s index 9d5af179..088d4d60 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -111,7 +111,7 @@ _0211f778: _0211f790: ldrh r0, [sp, #0x34] mov r2, #0 - ldr r1, _0211f85c ; =data_02050f54 + ldr r1, _0211f85c ; =gSinCosTable mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 @@ -134,7 +134,7 @@ _0211f790: ldr r3, [r5, #0xc] mov r2, r0 str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add _0211f7f8: ldr r0, _0211f860 ; =data_027e0d3c add r1, sp, #0x18 @@ -163,7 +163,7 @@ _0211f848: .align 2, 0 _0211f854: .word data_027e0f6c _0211f858: .word gMapManager -_0211f85c: .word data_02050f54 +_0211f85c: .word gSinCosTable _0211f860: .word data_027e0d3c arm_func_end func_ov15_0211f69c @@ -262,7 +262,7 @@ func_ov15_0211f954: ; 0x0211f954 ldr r0, _0211f9a4 ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082594Ev - ldr r0, _0211f9a8 ; =data_027e0fe4 + ldr r0, _0211f9a8 ; =gActorManager ldr r0, [r0] bl func_ov15_02184838 ldr r0, [r4, #0x2c] @@ -270,7 +270,7 @@ func_ov15_0211f954: ; 0x0211f954 ldmia sp!, {r4, pc} .align 2, 0 _0211f9a4: .word gMapManager -_0211f9a8: .word data_027e0fe4 +_0211f9a8: .word gActorManager arm_func_end func_ov15_0211f954 .global func_ov15_0211f9ac @@ -430,7 +430,7 @@ _0211fbac: ldr r0, _0211fc4c ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_020825acEv - ldr r0, _0211fc54 ; =data_027e0fe4 + ldr r0, _0211fc54 ; =gActorManager ldr r0, [r0] bl func_ov15_021848dc _0211fbe8: @@ -463,7 +463,7 @@ _0211fc44: .word data_027e0d78 _0211fc48: .word 0x0000ffff _0211fc4c: .word gMapManager _0211fc50: .word data_ov00_020eec9c -_0211fc54: .word data_027e0fe4 +_0211fc54: .word gActorManager arm_func_end func_ov15_0211f9dc .global func_ov15_0211fc58 @@ -516,7 +516,7 @@ func_ov15_0211fcc0: ; 0x0211fcc0 ldr r1, _0211fd58 ; =data_027e0d3c mov r4, r0 ldr r0, [r1] - ldr r1, _0211fd5c ; =data_027e0f94 + ldr r1, _0211fd5c ; =gPlayerPos mov r2, r4 mov r3, #0 bl func_ov00_0207920c @@ -554,7 +554,7 @@ _0211fd50: ldmia sp!, {r4, pc} .align 2, 0 _0211fd58: .word data_027e0d3c -_0211fd5c: .word data_027e0f94 +_0211fd5c: .word gPlayerPos _0211fd60: .word data_ov15_02189420 arm_func_end func_ov15_0211fcc0 @@ -2560,7 +2560,7 @@ _021218b0: ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} cmp r0, #0x11 bne _021218f0 - ldr r1, _02121978 ; =data_027e0fe4 + ldr r1, _02121978 ; =gActorManager ldr r1, [r1] ldrb r1, [r1, #0x29] cmp r1, #0 @@ -2606,7 +2606,7 @@ _02121940: .align 2, 0 _02121970: .word gMapManager _02121974: .word data_027e0f7c -_02121978: .word data_027e0fe4 +_02121978: .word gActorManager _0212197c: .word 0x000500aa _02121980: .word 0x000500a5 _02121984: .word data_027e103c @@ -2766,7 +2766,7 @@ func_ov15_02121af8: ; 0x02121af8 func_ov15_02121b14: ; 0x02121b14 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r1, #0 - ldr ip, _02121be0 ; =data_027e0d0c + ldr ip, _02121be0 ; =gVec3p_ZERO str r1, [r0, #0x6c] ldr r2, [ip] sub r5, r1, #1 @@ -2816,7 +2816,7 @@ func_ov15_02121b14: ; 0x02121b14 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02121be0: .word data_027e0d0c +_02121be0: .word gVec3p_ZERO _02121be4: .word data_027e0764 _02121be8: .word 0x00000259 arm_func_end func_ov15_02121b14 @@ -2886,12 +2886,12 @@ func_ov15_02121bec: ; 0x02121bec mov r0, r0, asr #0x10 str r2, [lr, #4] bl func_0202af4c - ldr r0, _02121d58 ; =data_027e0f94 + ldr r0, _02121d58 ; =gPlayerPos add r1, sp, #0x3c add r2, sp, #0x30 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x20] str r0, [sp, #0x24] @@ -2916,7 +2916,7 @@ _02121d48: .word data_027e0764 _02121d4c: .word data_027e0f64 _02121d50: .word 0x0000a001 _02121d54: .word 0x00002aab -_02121d58: .word data_027e0f94 +_02121d58: .word gPlayerPos _02121d5c: .word data_027e0fe8 arm_func_end func_ov15_02121bec @@ -3005,7 +3005,7 @@ func_ov15_02121e40: ; 0x02121e40 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02121e80: - ldr r1, _021220a4 ; =data_027e0fe4 + ldr r1, _021220a4 ; =gActorManager ldr r2, _021220a8 ; =0x53454f43 ldr r1, [r1] add r0, sp, #0 @@ -3014,7 +3014,7 @@ _02121e80: ldr r1, [r1] mvn r0, #0 cmp r1, r0 - ldr r1, _021220a4 ; =data_027e0fe4 + ldr r1, _021220a4 ; =gActorManager movne r4, #1 ldr r1, [r1] ldr r2, _021220ac ; =0x53454b45 @@ -3123,7 +3123,7 @@ _02122024: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02122038: - ldr r1, _021220a4 ; =data_027e0fe4 + ldr r1, _021220a4 ; =gActorManager ldr r2, _021220a8 ; =0x53454f43 ldr r1, [r1] add r0, sp, #0x10 @@ -3134,7 +3134,7 @@ _02122038: cmp r1, r0 addne sp, sp, #0x20 ldmneia sp!, {r3, r4, r5, pc} - ldr r1, _021220a4 ; =data_027e0fe4 + ldr r1, _021220a4 ; =gActorManager ldr r2, _021220ac ; =0x53454b45 ldr r1, [r1] add r0, sp, #0x18 @@ -3151,7 +3151,7 @@ _02122038: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021220a4: .word data_027e0fe4 +_021220a4: .word gActorManager _021220a8: .word 0x53454f43 _021220ac: .word 0x53454b45 _021220b0: .word data_027e0764 @@ -3232,7 +3232,7 @@ func_ov15_02122140: ; 0x02122140 _02122170: mov r0, #0 str r0, [r4, #0x15c] - ldr r1, _021222a0 ; =data_027e0d0c + ldr r1, _021222a0 ; =gVec3p_ZERO str r0, [r4, #0x6c] ldr r2, [r1] sub r3, r0, #1 @@ -3314,7 +3314,7 @@ _02122240: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0212229c: .word gAdventureFlags -_021222a0: .word data_027e0d0c +_021222a0: .word gVec3p_ZERO _021222a4: .word 0x53454f43 _021222a8: .word 0x53454b45 _021222ac: .word 0x53504b4e @@ -3328,7 +3328,7 @@ _021222b8: .word data_027e0764 func_ov15_021222bc: ; 0x021222bc stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x60 - ldr r2, _02122638 ; =data_027e0f90 + ldr r2, _02122638 ; =gPlayer mov r4, r1 ldr r2, [r2] mov r5, r0 @@ -3343,12 +3343,12 @@ func_ov15_021222bc: ; 0x021222bc add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _021222fc: - ldr r0, _02122640 ; =data_027e0f94 + ldr r0, _02122640 ; =gPlayerPos add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -3529,7 +3529,7 @@ _021224dc: add r0, sp, #0x48 add r1, sp, #0x10 add r2, sp, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0212266c ; =0x53454f43 cmp r4, r0 bne _021225f0 @@ -3557,9 +3557,9 @@ _021225f0: add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_02122638: .word data_027e0f90 +_02122638: .word gPlayer _0212263c: .word 0x42554949 -_02122640: .word data_027e0f94 +_02122640: .word gPlayerPos _02122644: .word 0x53504b4e _02122648: .word data_ov15_02185b7c _0212264c: .word data_ov15_02185b78 @@ -3579,7 +3579,7 @@ _02122670: .word data_027e0fe8 func_ov15_02122674: ; 0x02122674 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xe4 - ldr r1, _02122d9c ; =data_027e0f94 + ldr r1, _02122d9c ; =gPlayerPos add r3, sp, #0xc0 mov r4, r0 ldmia r1, {r0, r1, r2} @@ -3630,7 +3630,7 @@ func_ov15_02122674: ; 0x02122674 str r0, [sp, #0xd4] cmp r5, #0 bge _02122768 - ldr r0, _02122d9c ; =data_027e0f94 + ldr r0, _02122d9c ; =gPlayerPos ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp, #0xb4] @@ -3654,17 +3654,17 @@ _02122794: add r0, sp, #0xb4 add r1, sp, #0xd8 add r2, sp, #0xa8 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xa8] ldr r1, [sp, #0xb0] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add r0, r0, #0x8000 mov r1, r0, lsl #0x10 add r0, sp, #0x58 mov r5, r1, asr #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x58 str r1, [sp, #0x74] @@ -3705,7 +3705,7 @@ _02122794: ldr r2, [sp, #0xd8] ldr r0, [sp, #0xe0] mov ip, #0 - ldr r5, _02122da4 ; =data_02050f54 + ldr r5, _02122da4 ; =gSinCosTable mov r7, r11, lsl #0x1 ldrsh r11, [r5, r10] mov r9, r9, lsl #0x1 @@ -3786,7 +3786,7 @@ _02122794: add r2, sp, #0x90 add r3, sp, #0x58 bl func_ov00_020c4048 - ldr r0, _02122db0 ; =data_027e0fe4 + ldr r0, _02122db0 ; =gActorManager add r1, sp, #0x44 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3801,7 +3801,7 @@ _02122794: strb r0, [r6, #0x118] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021229e8: - ldr r0, _02122db0 ; =data_027e0fe4 + ldr r0, _02122db0 ; =gActorManager add r1, sp, #0x3c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3849,7 +3849,7 @@ _02122a64: mov r5, #2 sub r2, r5, #3 ldr r1, [sp, #0xdc] - ldr r3, _02122da4 ; =data_02050f54 + ldr r3, _02122da4 ; =gSinCosTable mov r9, r0, lsl #0x1 add r7, r8, #1 mov r10, r8, lsl #0x1 @@ -3962,7 +3962,7 @@ _02122a64: add r2, sp, #0x90 add r3, sp, #0x58 bl func_ov00_020c4048 - ldr r0, _02122db0 ; =data_027e0fe4 + ldr r0, _02122db0 ; =gActorManager add r1, sp, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3987,7 +3987,7 @@ _02122c9c: add r2, sp, #0x84 add r3, sp, #0x58 bl func_ov00_020c4048 - ldr r0, _02122db0 ; =data_027e0fe4 + ldr r0, _02122db0 ; =gActorManager add r1, sp, #0x2c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4003,7 +4003,7 @@ _02122c9c: strb r0, [r6, #0x118] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02122d00: - ldr r0, _02122db0 ; =data_027e0fe4 + ldr r0, _02122db0 ; =gActorManager add r1, sp, #0x24 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4045,12 +4045,12 @@ _02122d58: add sp, sp, #0xe4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02122d9c: .word data_027e0f94 +_02122d9c: .word gPlayerPos _02122da0: .word gMapManager -_02122da4: .word data_02050f54 +_02122da4: .word gSinCosTable _02122da8: .word data_027e0fe8 _02122dac: .word 0x42554949 -_02122db0: .word data_027e0fe4 +_02122db0: .word gActorManager arm_func_end func_ov15_02122674 .global func_ov15_02122db4 @@ -4186,7 +4186,7 @@ _02122edc: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _02122f8c: - ldr r0, _021230cc ; =data_027e0fe4 + ldr r0, _021230cc ; =gActorManager add r1, r5, #0x168 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4276,7 +4276,7 @@ _0212307c: _021230c0: .word data_027e10a4 _021230c4: .word data_027e0d3c _021230c8: .word gMapManager -_021230cc: .word data_027e0fe4 +_021230cc: .word gActorManager _021230d0: .word 0x53454b45 _021230d4: .word 0x464c5052 _021230d8: .word 0x53454f43 @@ -4325,10 +4325,10 @@ _02123134: ldr r1, [r5, #0x10] cmp r0, r1 bge _02123298 - ldr r0, _021232ac ; =data_027e0f94 + ldr r0, _021232ac ; =gPlayerPos add r2, sp, #0x18 add r1, r5, #4 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x18 str r1, [sp, #0x1c] @@ -4352,19 +4352,19 @@ _02123134: str r3, [sp, #4] ldr r3, [r5, #0xc] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x24 add r1, sp, #0x18 - bl func_01ff9c2c + bl Vec3p_Dot movs r4, r0 bmi _02123298 add r0, sp, #0x24 - bl func_01ff9cec + bl Vec3p_Length cmp r4, r0 bge _02123298 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -4372,7 +4372,7 @@ _02123134: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _021232b0 ; =data_02050f54 + ldr r2, _021232b0 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -4407,8 +4407,8 @@ _02123298: .align 2, 0 _021232a4: .word 0x444e5043 _021232a8: .word 0x47534950 -_021232ac: .word data_027e0f94 -_021232b0: .word data_02050f54 +_021232ac: .word gPlayerPos +_021232b0: .word gSinCosTable arm_func_end func_ov15_021230e0 .global func_ov15_021232b4 @@ -4422,7 +4422,7 @@ func_ov15_021232b4: ; 0x021232b4 addhs sp, sp, #0xd4 movhs r0, #1 ldmhsia sp!, {r4, r5, pc} - ldr r1, _02123454 ; =data_027e0f94 + ldr r1, _02123454 ; =gPlayerPos ldr r2, _02123458 ; =0x0000ffff ldr r3, [r1, #4] ldr r5, [r1] @@ -4492,7 +4492,7 @@ func_ov15_021232b4: ; 0x021232b4 add r3, sp, #0x2c ldmia r4, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02123454 ; =data_027e0f94 + ldr r0, _02123454 ; =gPlayerPos add r3, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -4503,28 +4503,28 @@ func_ov15_021232b4: ; 0x021232b4 add r0, sp, #0x1c mov r1, r4 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - bl func_01ffa0f4 + bl Atan2 strh r0, [sp, #0x3c] - ldr r0, _02123468 ; =data_027e0fe4 + ldr r0, _02123468 ; =gActorManager add r1, sp, #0x28 ldr r0, [r0] add r2, sp, #0x40 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 movne r0, r5 moveq r0, #1 add sp, sp, #0xd4 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02123454: .word data_027e0f94 +_02123454: .word gPlayerPos _02123458: .word 0x0000ffff _0212345c: .word data_ov15_02185b60 _02123460: .word gMapManager _02123464: .word data_ov15_02189610 -_02123468: .word data_027e0fe4 +_02123468: .word gActorManager arm_func_end func_ov15_021232b4 .global func_ov15_0212346c @@ -4646,16 +4646,16 @@ _02123550: orr r1, r1, r0, lsl #20 orr r7, r7, r6, lsl #20 str r1, [sp, #0x20] - ldr r0, _021236ec ; =data_027e0f94 + ldr r0, _021236ec ; =gPlayerPos add r1, sp, #0x18 add r2, r4, #0x15c str r5, [sp, #0x1c] str r7, [sp, #0x18] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x15c add r1, r4, #0x48 add r2, sp, #0xc - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, _021236e8 ; =data_ov15_021896d0 ldrsh r1, [r0, #0x10] mov r0, r1, lsl #0x1 @@ -4691,7 +4691,7 @@ _0212364c: add r1, sp, #0xc add r0, r4, #0x48 add r2, r4, #0x15c - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 add r1, r4, #0x15c bl _ZN5Actor10GetAngleToEP5Vec3p @@ -4700,7 +4700,7 @@ _0212364c: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _021236f4 ; =data_02050f54 + ldr r1, _021236f4 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r3, [r1, r2] mov r0, r0, lsl #0x1 @@ -4724,9 +4724,9 @@ _0212364c: .align 2, 0 _021236e4: .word data_ov15_0218ec98 _021236e8: .word data_ov15_021896d0 -_021236ec: .word data_027e0f94 +_021236ec: .word gPlayerPos _021236f0: .word data_027e0764 -_021236f4: .word data_02050f54 +_021236f4: .word gSinCosTable arm_func_end func_ov15_02123524 .global func_ov15_021236f8 @@ -4744,11 +4744,11 @@ func_ov15_021236f8: ; 0x021236f8 beq _02123760 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r4, r0, lsl #0x10 mov r0, r5 mov r1, r6 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, r4, asr #16 @@ -4784,7 +4784,7 @@ func_ov15_02123770: ; 0x02123770 mov r0, r3 mov r2, r3 add r1, r4, #0x7c - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -4901,7 +4901,7 @@ func_ov15_02123914: ; 0x02123914 mov r4, r0 add r0, sp, #4 mov r5, r1 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -4985,7 +4985,7 @@ func_ov15_02123a28: ; 0x02123a28 mov r4, r0 add r0, sp, #4 mov r5, r1 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -5033,7 +5033,7 @@ func_ov15_02123a9c: ; 0x02123a9c ldr r1, [r5, #0x158] mov r0, r5 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 bne _02123b10 mov r0, r5 @@ -5043,7 +5043,7 @@ func_ov15_02123a9c: ; 0x02123a9c add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02123b10: mov r0, r5 mov r1, #1 @@ -5324,7 +5324,7 @@ func_ov15_02123e38: ; 0x02123e38 str r1, [r4, #0x2f0] bl func_ov15_02123bb4 sub r0, r0, #0x8000 - ldr r1, _02124048 ; =data_027e0f94 + ldr r1, _02124048 ; =gPlayerPos mov r0, r0, lsl #0x10 ldr r2, [r1] mov r0, r0, asr #0x10 @@ -5340,7 +5340,7 @@ func_ov15_02123e38: ; 0x02123e38 str r1, [r4, #0x50] ldr r5, [r4, #0x2f0] add r1, r3, #1 - ldr r2, _02124050 ; =data_02050f54 + ldr r2, _02124050 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r3, [r2, r3] @@ -5369,7 +5369,7 @@ func_ov15_02123e38: ; 0x02123e38 mov r1, #0 str r2, [r4, #0x54] ldr r2, [r4, #0x4c] - ldr r3, _02124054 ; =data_027e0d0c + ldr r3, _02124054 ; =gVec3p_ZERO str r2, [r4, #0x58] ldr r5, [r4, #0x50] rsb r2, r0, #0x910 @@ -5442,10 +5442,10 @@ func_ov15_02123e38: ; 0x02123e38 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02124044: .word data_ov15_02185b80 -_02124048: .word data_027e0f94 +_02124048: .word gPlayerPos _0212404c: .word 0xfffffe66 -_02124050: .word data_02050f54 -_02124054: .word data_027e0d0c +_02124050: .word gSinCosTable +_02124054: .word gVec3p_ZERO _02124058: .word 0x00001554 _0212405c: .word 0x00001aaa _02124060: .word 0x00000666 @@ -5599,7 +5599,7 @@ _02124234: _02124260: mvn r0, #0x80000000 str r0, [sp] - ldr r1, _02124384 ; =data_027e0d0c + ldr r1, _02124384 ; =gVec3p_ZERO add r0, r4, #0x60 mov r2, #0x400 mov r3, #0x40 @@ -5643,7 +5643,7 @@ _021242f8: str r2, [r4, #0x6c] str r2, [r4, #0x64] ldr r0, [r4, #0x2a8] - ldr r1, _02124384 ; =data_027e0d0c + ldr r1, _02124384 ; =gVec3p_ZERO str r0, [r4, #0x4c] sub ip, r2, #0x80000001 add r0, r4, #0x60 @@ -5678,7 +5678,7 @@ _02124364: add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_02124384: .word data_027e0d0c +_02124384: .word gVec3p_ZERO arm_func_end func_ov15_021240ac .global func_ov15_02124388 @@ -5694,7 +5694,7 @@ func_ov15_02124388: ; 0x02124388 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r3, _02124410 ; =data_02050f54 + ldr r3, _02124410 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r3, r1] @@ -5710,17 +5710,17 @@ func_ov15_02124388: ; 0x02124388 adc r0, r1, #0 mov r3, r3, lsr #0xc orr r3, r3, r0, lsl #20 - ldr r0, _02124414 ; =data_027e0f94 + ldr r0, _02124414 ; =gPlayerPos add r1, sp, #0 str r4, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02124410: .word data_02050f54 -_02124414: .word data_027e0f94 +_02124410: .word gSinCosTable +_02124414: .word gPlayerPos arm_func_end func_ov15_02124388 .global func_ov15_02124418 @@ -5834,7 +5834,7 @@ _02124590: strle r1, [r5, #0x4c] ldr r0, [r5, #0x60] ldr r1, [r5, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -5842,7 +5842,7 @@ _02124590: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _02124688 ; =data_02050f54 + ldr r1, _02124688 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 @@ -5874,7 +5874,7 @@ _02124590: str r1, [r5, #0x6c] add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x184 mov r1, #2 bl func_ov00_020c5d74 @@ -5892,7 +5892,7 @@ _02124674: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02124684: .word data_027e0764 -_02124688: .word data_02050f54 +_02124688: .word gSinCosTable _0212468c: .word data_027e0ffc _02124690: .word 0x00000202 arm_func_end func_ov15_02124418 @@ -6206,7 +6206,7 @@ _02124ad4: add r0, r10, #0x48 add r1, r10, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrb r2, [r10, #0x2b8] ldr r0, [r10, #0x2a8] cmp r2, #1 @@ -6284,7 +6284,7 @@ _02124bbc: str r0, [sp, #0x14] str r6, [sp, #0x18] ldrh r2, [r10, #0x78] - ldr r3, _02125034 ; =data_02050f54 + ldr r3, _02125034 ; =gSinCosTable add r1, sp, #0x10 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 @@ -6322,7 +6322,7 @@ _02124bbc: str r3, [sp, #0x18] mov r8, r9, asr #0x1f mov r6, r7, asr #0x1f - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0x800 ldr r3, _02125038 ; =0xfffffb33 mvn r11, #0 @@ -6562,7 +6562,7 @@ _02124ffc: .align 2, 0 _0212502c: .word gMapManager _02125030: .word 0x00000733 -_02125034: .word data_02050f54 +_02125034: .word gSinCosTable _02125038: .word 0xfffffb33 _0212503c: .word data_027e0e58 _02125040: .word 0x00000d71 @@ -6716,7 +6716,7 @@ func_ov15_02125210: ; 0x02125210 ble _02125270 add r2, sp, #0 mov r1, r4 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _02125270 ldr r1, [sp] @@ -6745,7 +6745,7 @@ func_ov15_02125278: ; 0x02125278 ldr r4, [r5, #0x4c] mov r1, #0 str r1, [r5, #0x4c] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _021252b8 mov r0, r5 @@ -6763,7 +6763,7 @@ func_ov15_021252c0: ; 0x021252c0 mov r4, r0 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 @@ -6773,7 +6773,7 @@ func_ov15_021252c0: ; 0x021252c0 mov r3, r0, lsl #0x1 add r1, r3, #1 ldr r0, _0212536c ; =0x00000266 - ldr r2, _02125370 ; =data_02050f54 + ldr r2, _02125370 ; =gSinCosTable mov r3, r3, lsl #0x1 ldrsh lr, [r2, r3] mov r1, r1, lsl #0x1 @@ -6804,7 +6804,7 @@ func_ov15_021252c0: ; 0x021252c0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0212536c: .word 0x00000266 -_02125370: .word data_02050f54 +_02125370: .word gSinCosTable arm_func_end func_ov15_021252c0 .global func_ov15_02125374 @@ -6926,7 +6926,7 @@ func_ov15_02125474: ; 0x02125474 mov r3, #0 str r1, [r4, #0x58] ldr r1, [r4, #0x50] - ldr lr, _021255cc ; =data_027e0d0c + ldr lr, _021255cc ; =gVec3p_ZERO str r1, [r4, #0x5c] str r3, [r4, #0x6c] ldr r1, [lr] @@ -6946,7 +6946,7 @@ func_ov15_02125474: ; 0x02125474 mov r5, #3 str r0, [r4, #0x90] ldr r1, [r4, #0x84] - ldr r0, _021255d0 ; =data_027e0f94 + ldr r0, _021255d0 ; =gPlayerPos str r1, [r4, #0x94] ldr r1, [r4, #0x88] add r2, sp, #0 @@ -6963,22 +6963,22 @@ func_ov15_02125474: ; 0x02125474 strh r6, [ip, #0x20] strh r5, [r4, #0x7a] str r3, [r4, #0x130] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 ldr r0, [sp] ldr r1, [sp, #8] str r2, [sp, #4] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] add r0, r4, #0x200 mov r3, #0 strh r3, [r0, #0x86] strh r3, [r0, #0x88] - ldr r1, _021255d0 ; =data_027e0f94 + ldr r1, _021255d0 ; =gPlayerPos add r0, r4, #0x48 add r2, r4, #0x28c str r3, [r4, #0x2a0] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, #0x188 mov r1, #0 bl func_ov00_020c5d74 @@ -7001,8 +7001,8 @@ _021255b4: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _021255c8: .word 0x00000333 -_021255cc: .word data_027e0d0c -_021255d0: .word data_027e0f94 +_021255cc: .word gVec3p_ZERO +_021255d0: .word gPlayerPos _021255d4: .word data_027e0c68 arm_func_end func_ov15_02125474 @@ -7055,7 +7055,7 @@ _02125658: add sp, sp, #4 ldmia sp!, {r3, r4, pc} _0212567c: - ldr r1, _021257bc ; =data_027e0d0c + ldr r1, _021257bc ; =gVec3p_ZERO mvn ip, #0x80000000 ldr r2, _021257c0 ; =0x00000266 add r0, r4, #0x60 @@ -7093,7 +7093,7 @@ _021256d8: ldr r0, _021257c4 ; =data_ov15_02189898 ldr r1, [r4, #0x29c] ldr r0, [r0, #0x10] - ldr r2, _021257c8 ; =data_02050f54 + ldr r2, _021257c8 ; =gSinCosTable sub r0, r1, r0 str r0, [r4, #0x29c] cmp r0, #0 @@ -7140,10 +7140,10 @@ _021257a4: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 -_021257bc: .word data_027e0d0c +_021257bc: .word gVec3p_ZERO _021257c0: .word 0x00000266 _021257c4: .word data_ov15_02189898 -_021257c8: .word data_02050f54 +_021257c8: .word gSinCosTable arm_func_end func_ov15_021255d8 .global func_ov15_021257cc @@ -7197,7 +7197,7 @@ _0212586c: bl func_ov15_02123524 add r0, r5, #0x15c add r1, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance add r3, sp, #0x24 add r1, r5, #0x168 mov r6, r0 @@ -7383,7 +7383,7 @@ _02125b04: _02125b20: add r0, r4, #0x200 ldrh r2, [r0, #0x88] - ldr r0, _02125df0 ; =data_02050f54 + ldr r0, _02125df0 ; =gSinCosTable mov r1, #0x800 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 @@ -7552,7 +7552,7 @@ _02125d90: bge _02125dbc mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02125dbc mov r0, r4 @@ -7573,7 +7573,7 @@ _02125de0: .word data_ov15_02185bc8 _02125de4: .word data_027e0ffc _02125de8: .word 0x000001dd _02125dec: .word gMapManager -_02125df0: .word data_02050f54 +_02125df0: .word gSinCosTable _02125df4: .word 0x00000e39 _02125df8: .word 0x0000019a _02125dfc: .word data_027e10a4 @@ -7584,7 +7584,7 @@ _02125dfc: .word data_027e10a4 func_ov15_02125e00: ; 0x02125e00 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 - ldr r1, _02125f78 ; =data_027e0f94 + ldr r1, _02125f78 ; =gPlayerPos mov r5, r0 add r3, sp, #0x18 ldmia r1, {r0, r1, r2} @@ -7595,11 +7595,11 @@ func_ov15_02125e00: ; 0x02125e00 mov r0, r3 beq _02125e3c add r1, r5, #0x28c - bl func_01ff9bf8 + bl Vec3p_Sub b _02125e44 _02125e3c: add r1, r5, #0x28c - bl func_01ff9bc4 + bl Vec3p_Add _02125e44: add r0, sp, #0 bl func_ov15_0215cef8 @@ -7612,12 +7612,12 @@ _02125e44: mov r1, r4 mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r5, #0x4c] add r1, sp, #0x18 add r0, r5, #0x48 str r2, [sp, #0x1c] - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02125f7c ; =0x0000019a cmp r0, r1 bge _02125eb4 @@ -7633,9 +7633,9 @@ _02125eb4: add r0, sp, #0x18 add r1, r5, #0x48 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02125f80 ; =0x00001333 mov r2, #0 umull r4, r3, r0, r1 @@ -7650,7 +7650,7 @@ _02125eb4: ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] movlt r4, #0x29 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -7658,7 +7658,7 @@ _02125eb4: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02125f84 ; =data_02050f54 + ldr r2, _02125f84 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -7680,10 +7680,10 @@ _02125eb4: add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02125f78: .word data_027e0f94 +_02125f78: .word gPlayerPos _02125f7c: .word 0x0000019a _02125f80: .word 0x00001333 -_02125f84: .word data_02050f54 +_02125f84: .word gSinCosTable arm_func_end func_ov15_02125e00 .global func_ov15_02125f88 @@ -7753,7 +7753,7 @@ func_ov15_0212602c: ; 0x0212602c ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x200 ldrh r1, [r0, #0x86] - ldr r3, _021260a4 ; =data_02050f54 + ldr r3, _021260a4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7773,7 +7773,7 @@ func_ov15_0212602c: ; 0x0212602c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_021260a4: .word data_02050f54 +_021260a4: .word gSinCosTable arm_func_end func_ov15_0212602c .global func_ov15_021260a8 @@ -7795,15 +7795,15 @@ func_ov15_021260a8: ; 0x021260a8 add r2, sp, #0 add r0, r4, #0x48 add r1, ip, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 b _02126108 _021260fc: ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 _02126108: add r1, r4, #0x200 strh r0, [r1, #0x98] @@ -7832,7 +7832,7 @@ func_ov15_02126128: ; 0x02126128 mov r3, r1 add r0, r4, #0x94 str r2, [sp] - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, #0 str r0, [r4, #0xa8] mov r3, #2 @@ -8042,7 +8042,7 @@ func_ov15_02126378: ; 0x02126378 func_ov15_02126398: ; 0x02126398 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _021263e0 ; =data_027e0f94 + ldr r1, _021263e0 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -8054,12 +8054,12 @@ func_ov15_02126398: ; 0x02126398 ldr r2, [r4, #0x1c] add r0, r4, #0x18 str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [r4, #0xa8] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_021263e0: .word data_027e0f94 +_021263e0: .word gPlayerPos arm_func_end func_ov15_02126398 .global func_ov15_021263e4 @@ -8708,7 +8708,7 @@ _02126b5c: mov r0, r3 mov r2, r3 add r1, r4, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02126bbc ; =data_027e0e58 add r2, sp, #0 ldr r0, [r0] @@ -9373,7 +9373,7 @@ _02127304: mov r0, r3 mov r2, r3 add r1, r4, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02127364 ; =data_027e0e58 add r2, sp, #0 ldr r0, [r0] @@ -9943,7 +9943,7 @@ func_ov15_021278f4: ; 0x021278f4 mov r3, r1 add r0, r4, #0x6c str r2, [sp] - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r1, #0 mov r0, r4 str r1, [r4, #0x80] @@ -10134,7 +10134,7 @@ func_ov15_02127b88: ; 0x02127b88 func_ov15_02127ba8: ; 0x02127ba8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _02127bf0 ; =data_027e0f94 + ldr r1, _02127bf0 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -10146,12 +10146,12 @@ func_ov15_02127ba8: ; 0x02127ba8 ldr r2, [r4, #0x1c] add r0, r4, #0x18 str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [r4, #0x80] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02127bf0: .word data_027e0f94 +_02127bf0: .word gPlayerPos arm_func_end func_ov15_02127ba8 .global func_ov15_02127bf4 @@ -10209,7 +10209,7 @@ func_ov15_02127c2c: ; 0x02127c2c mov r3, r1 add r0, r4, #0x6c str r2, [sp] - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r1, #0 ldr r0, _02127ce0 ; =data_ov00_020e2f68 str r1, [r4, #0x80] @@ -10628,7 +10628,7 @@ _0212823c: mov r0, #0 ldmia sp!, {r4, pc} _02128244: - ldr r0, _0212828c ; =data_027e0fe4 + ldr r0, _0212828c ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -10648,7 +10648,7 @@ _02128284: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0212828c: .word data_027e0fe4 +_0212828c: .word gActorManager _02128290: .word 0x434e424c arm_func_end func_ov15_021281f8 @@ -10688,7 +10688,7 @@ func_ov15_021282c8: ; 0x021282c8 func_ov15_021282e8: ; 0x021282e8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _02128330 ; =data_027e0f94 + ldr r1, _02128330 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -10700,12 +10700,12 @@ func_ov15_021282e8: ; 0x021282e8 ldr r2, [r4, #0x1c] add r0, r4, #0x18 str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [r4, #0x80] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02128330: .word data_027e0f94 +_02128330: .word gPlayerPos arm_func_end func_ov15_021282e8 .global func_ov15_02128334 @@ -10768,7 +10768,7 @@ func_ov15_0212836c: ; 0x0212836c str r2, [sp] add r0, r4, #0x6c mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, #0 str r0, [r4, #0x80] str r0, [r4, #0x84] @@ -10889,7 +10889,7 @@ func_ov15_021284a8: ; 0x021284a8 mov r0, #0 strb r0, [r4, #0x3c] add r0, sp, #0x38 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x54] str r0, [sp, #0x58] @@ -10903,7 +10903,7 @@ func_ov15_021284a8: ; 0x021284a8 add r2, r4, #0x18 add r3, sp, #0x38 bl func_ov00_020c4048 - ldr r0, _0212866c ; =data_027e0fe4 + ldr r0, _0212866c ; =gActorManager add r1, r4, #0x98 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -10940,7 +10940,7 @@ _0212865c: .word 0xffffeccd _02128660: .word 0x00002666 _02128664: .word data_027e0fe8 _02128668: .word 0x4c4f4e44 -_0212866c: .word data_027e0fe4 +_0212866c: .word gActorManager arm_func_end func_ov15_021284a8 .global func_ov15_02128670 @@ -11050,7 +11050,7 @@ _021287f0: _02128800: ldr r1, [r6, #0x84] ldr r0, _021288c4 ; =0x01194000 - ldr r2, _021288c8 ; =data_02050f54 + ldr r2, _021288c8 ; =gSinCosTable cmp r1, r0 strge r0, [r6, #0x84] ldr r0, [r6, #0x8c] @@ -11101,7 +11101,7 @@ _021288b8: .word 0x0000ffff _021288bc: .word 0x04e20000 _021288c0: .word 0x00001b33 _021288c4: .word 0x01194000 -_021288c8: .word data_02050f54 +_021288c8: .word gSinCosTable arm_func_end func_ov15_02128670 .global func_ov15_021288cc @@ -11115,7 +11115,7 @@ func_ov15_021288cc: ; 0x021288cc beq _02128b60 cmp r1, #1 bne _02128b60 - ldr r0, _02128b6c ; =data_027e0fe4 + ldr r0, _02128b6c ; =gActorManager add r1, r4, #0x98 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11123,7 +11123,7 @@ func_ov15_021288cc: ; 0x021288cc movne r1, #0 strneb r1, [r0, #0x118] add r0, sp, #8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #8 str r1, [sp, #0x24] @@ -11280,7 +11280,7 @@ _02128b60: add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02128b6c: .word data_027e0fe4 +_02128b6c: .word gActorManager _02128b70: .word data_027e0fe8 _02128b74: .word 0x43424c53 _02128b78: .word data_027e0ffc @@ -11326,7 +11326,7 @@ _02128bc4: blx r3 b _02128c1c _02128bdc: - ldr r0, _02128c24 ; =data_027e0fe4 + ldr r0, _02128c24 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -11346,7 +11346,7 @@ _02128c1c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02128c24: .word data_027e0fe4 +_02128c24: .word gActorManager _02128c28: .word 0x434e424c arm_func_end func_ov15_02128b9c @@ -11368,7 +11368,7 @@ func_ov15_02128c2c: ; 0x02128c2c bge _02128d20 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 - ldr r3, _02128d68 ; =data_02050f54 + ldr r3, _02128d68 ; =gSinCosTable add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 @@ -11377,7 +11377,7 @@ func_ov15_02128c2c: ; 0x02128c2c add r0, sp, #0x6c blx func_01ff8214 ldrh r1, [r4, #0x94] - ldr r3, _02128d68 ; =data_02050f54 + ldr r3, _02128d68 ; =gSinCosTable add r0, sp, #0x48 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11392,7 +11392,7 @@ func_ov15_02128c2c: ; 0x02128c2c mov r2, r0 bl func_01ff8690 ldrh r1, [r4, #0x96] - ldr r3, _02128d68 ; =data_02050f54 + ldr r3, _02128d68 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -11417,7 +11417,7 @@ func_ov15_02128c2c: ; 0x02128c2c _02128d20: mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 - ldr r3, _02128d68 ; =data_02050f54 + ldr r3, _02128d68 ; =gSinCosTable add r1, r2, #1 mov ip, r2, lsl #0x1 mov r2, r1, lsl #0x1 @@ -11434,7 +11434,7 @@ _02128d20: add sp, sp, #0x90 ldmia sp!, {r4, pc} .align 2, 0 -_02128d68: .word data_02050f54 +_02128d68: .word gSinCosTable arm_func_end func_ov15_02128c2c .global func_ov15_02128d6c @@ -11455,7 +11455,7 @@ func_ov15_02128d6c: ; 0x02128d6c func_ov15_02128d8c: ; 0x02128d8c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _02128dd4 ; =data_027e0f94 + ldr r1, _02128dd4 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -11467,12 +11467,12 @@ func_ov15_02128d8c: ; 0x02128d8c ldr r2, [r4, #0x1c] add r0, r4, #0x18 str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [r4, #0x80] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02128dd4: .word data_027e0f94 +_02128dd4: .word gPlayerPos arm_func_end func_ov15_02128d8c .global func_ov15_02128dd8 @@ -12190,7 +12190,7 @@ func_ov15_02129774: ; 0x02129774 ldr r0, [r4, #0x19c] bl func_ov15_02141920 ldr r3, _02129840 ; =data_027e0764 - ldr ip, _02129844 ; =data_02050f54 + ldr ip, _02129844 ; =gSinCosTable ldr r1, [r3] ldmib r3, {r0, r2} umull lr, r4, r2, r1 @@ -12236,7 +12236,7 @@ func_ov15_02129774: ; 0x02129774 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02129840: .word data_027e0764 -_02129844: .word data_02050f54 +_02129844: .word gSinCosTable _02129848: .word data_027e0f78 arm_func_end func_ov15_02129774 @@ -12565,13 +12565,13 @@ func_ov15_02129b38: ; 0x02129b38 func_ov15_02129b50: ; 0x02129b50 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r2, _02129bf4 ; =data_027e0f94 + ldr r2, _02129bf4 ; =gPlayerPos mov r4, r0 ldr r0, [r2] mov ip, #0 str r0, [r4, #0x1a0] ldr r0, [r2, #4] - ldr r1, _02129bf8 ; =data_027e0fac + ldr r1, _02129bf8 ; =gPlayerAngle str r0, [r4, #0x1a4] ldr r2, [r2, #8] add r0, r4, #0x100 @@ -12591,7 +12591,7 @@ func_ov15_02129b50: ; 0x02129b50 add r0, r4, #0x1a0 add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add bl func_ov15_0214652c mov r1, r0 mov r0, r4 @@ -12605,8 +12605,8 @@ func_ov15_02129b50: ; 0x02129b50 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02129bf4: .word data_027e0f94 -_02129bf8: .word data_027e0fac +_02129bf4: .word gPlayerPos +_02129bf8: .word gPlayerAngle _02129bfc: .word 0xfffffd9a _02129c00: .word 0x00000614 arm_func_end func_ov15_02129b50 @@ -12793,7 +12793,7 @@ func_ov15_02129da4: ; 0x02129da4 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} _02129df8: - ldr r0, _02129ff0 ; =data_027e0f94 + ldr r0, _02129ff0 ; =gPlayerPos cmp r4, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -12927,7 +12927,7 @@ _02129fb0: ldmia sp!, {r4, r5, pc} .align 2, 0 _02129fec: .word data_027e0d38 -_02129ff0: .word data_027e0f94 +_02129ff0: .word gPlayerPos arm_func_end func_ov15_02129da4 .global func_ov15_02129ff4 @@ -13507,7 +13507,7 @@ _0212a76c: func_ov15_0212a780: ; 0x0212a780 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x7c - ldr r2, _0212ad74 ; =data_027e0f94 + ldr r2, _0212ad74 ; =gPlayerPos mov r10, r0 ldr r3, [r2, #4] ldr r4, [r2] @@ -13521,7 +13521,7 @@ func_ov15_0212a780: ; 0x0212a780 add r1, r10, #0x50 str r4, [sp, #0x78] str r3, [sp, #0x74] - bl func_01ff9bc4 + bl Vec3p_Add cmp r5, #0 beq _0212a7e4 ldr r0, _0212ad78 ; =data_027e0d38 @@ -13898,7 +13898,7 @@ _0212ad4c: add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0212ad74: .word data_027e0f94 +_0212ad74: .word gPlayerPos _0212ad78: .word data_027e0d38 _0212ad7c: .word 0x04000444 _0212ad80: .word 0x04000470 @@ -14142,7 +14142,7 @@ _0212b08c: add r0, sp, #0x54 add r1, sp, #0x3c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x54 add r1, sp, #8 add r2, sp, #4 @@ -14285,7 +14285,7 @@ _0212b308: .word data_ov15_02185d06 func_ov15_0212b30c: ; 0x0212b30c stmdb sp!, {r3, lr} sub sp, sp, #0x18 - ldr r1, _0212b3b4 ; =data_027e0f94 + ldr r1, _0212b3b4 ; =gPlayerPos ldr lr, [r0, #8] ldr ip, [r0] ldr r0, [r1, #4] @@ -14301,7 +14301,7 @@ func_ov15_0212b30c: ; 0x0212b30c add r1, sp, #0xc str r2, [sp, #8] str r3, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x20000 addlt sp, sp, #0x18 movlt r0, #0 @@ -14326,7 +14326,7 @@ func_ov15_0212b30c: ; 0x0212b30c add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 -_0212b3b4: .word data_027e0f94 +_0212b3b4: .word gPlayerPos arm_func_end func_ov15_0212b30c .global func_ov15_0212b3b8 @@ -14334,7 +14334,7 @@ _0212b3b4: .word data_027e0f94 func_ov15_0212b3b8: ; 0x0212b3b8 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 - ldr r3, _0212b548 ; =data_027e0f94 + ldr r3, _0212b548 ; =gPlayerPos mov r4, r0 ldmia r1, {r0, r1, r2} ldr r6, [r3] @@ -14351,12 +14351,12 @@ func_ov15_0212b3b8: ; 0x0212b3b8 add r0, sp, #0 add r1, r4, #0x50 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _0212b408: add r0, sp, #0xc add r1, sp, #0 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr lr, [sp, #0xc] ldr ip, [sp, #0x14] mov r0, lr, asr #0xc @@ -14436,7 +14436,7 @@ _0212b454: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0212b548: .word data_027e0f94 +_0212b548: .word gPlayerPos arm_func_end func_ov15_0212b3b8 .global func_ov15_0212b54c @@ -15198,7 +15198,7 @@ func_ov15_0212bea4: ; 0x0212bea4 add r1, r6, #0x10 mov r2, r0 str r3, [r6, #0x2c] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #4 add r2, sp, #0 add r0, r6, #4 @@ -15723,7 +15723,7 @@ _0212c574: str r3, [sp] str r6, [sp, #4] str r9, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r10, #4] mov r1, r5 bl func_ov15_0212adb8 @@ -15933,7 +15933,7 @@ _0212c7cc: addne sp, sp, #0x48 ldmneia sp!, {r3, r4, r5, pc} ldr r4, [r4, #0xb4] - ldr r3, _0212c868 ; =data_02050f54 + ldr r3, _0212c868 ; =gSinCosTable ldr r1, [r4] add r0, sp, #0x24 bic r1, r1, #2 @@ -15964,7 +15964,7 @@ _0212c7cc: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0212c864: .word data_ov15_02185da4 -_0212c868: .word data_02050f54 +_0212c868: .word gSinCosTable _0212c86c: .word data_02053f54 arm_func_end func_ov15_0212c798 @@ -16110,7 +16110,7 @@ func_ov15_0212ca38: ; 0x0212ca38 sub sp, sp, #0x14 mov r4, r0 mov r1, #0 - ldr r0, _0212cdf0 ; =data_027e0fe4 + ldr r0, _0212cdf0 ; =gActorManager strb r1, [r4, #0x1a9] ldr r0, [r0] bl func_ov15_02184644 @@ -16141,17 +16141,17 @@ _0212ca94: mov r5, r0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii cmp r5, #0 beq _0212cb0c - ldr r0, _0212cdf0 ; =data_027e0fe4 + ldr r0, _0212cdf0 ; =gActorManager ldrh r3, [r4, #0x26] ldr r0, [r0] add r2, sp, #4 add r1, r4, #0x48 str r3, [sp, #4] bl func_ov15_021846f8 - ldr r0, _0212cdf0 ; =data_027e0fe4 + ldr r0, _0212cdf0 ; =gActorManager ldrh r3, [r4, #0x26] ldr r0, [r0] ldr r1, _0212cdf8 ; =data_ov15_0218a484 @@ -16202,7 +16202,7 @@ _0212cb90: mov r1, #6 strb r2, [r4, #0x1a8] bl func_ov00_020a9998 - ldr ip, _0212cdf0 ; =data_027e0fe4 + ldr ip, _0212cdf0 ; =gActorManager ldrh r1, [r4, #0x26] ldr r0, [ip] mov r3, #0xc @@ -16353,7 +16353,7 @@ _0212cde4: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0212cdf0: .word data_027e0fe4 +_0212cdf0: .word gActorManager _0212cdf4: .word gAdventureFlags _0212cdf8: .word data_ov15_0218a484 _0212cdfc: .word data_027e0fec @@ -16413,7 +16413,7 @@ _0212ce60: bl func_ov15_0213a54c cmp r0, #1 bhi _0212cf4c - ldr r2, _0212cfb0 ; =data_027e0f94 + ldr r2, _0212cfb0 ; =gPlayerPos add r0, r4, #0x48 mov r1, #0xc800 bl func_ov00_020ce284 @@ -16422,7 +16422,7 @@ _0212ce60: mov r0, r4 mov r1, #2 bl func_ov15_0212d008 - ldr r1, _0212cfb4 ; =data_027e0fe4 + ldr r1, _0212cfb4 ; =gActorManager add r0, sp, #0xc ldr r1, [r1] add r2, r4, #0x24 @@ -16474,8 +16474,8 @@ _0212cf4c: .align 2, 0 _0212cfa8: .word data_027e0d38 _0212cfac: .word data_027e10a4 -_0212cfb0: .word data_027e0f94 -_0212cfb4: .word data_027e0fe4 +_0212cfb0: .word gPlayerPos +_0212cfb4: .word gActorManager _0212cfb8: .word gMapManager _0212cfbc: .word data_ov15_0218a464 _0212cfc0: .word data_ov15_0218a470 @@ -16544,7 +16544,7 @@ _0212d06c: cmp r1, r0 bne _0212d278 ldr r1, [r5, #0x48] - ldr r0, _0212d28c ; =data_027e0fe4 + ldr r0, _0212d28c ; =gActorManager str r1, [r5, #0x240] ldr r2, [r5, #0x4c] add r1, r5, #0x240 @@ -16572,7 +16572,7 @@ _0212d0d8: ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 - ldr r1, _0212d294 ; =data_027e0f94 + ldr r1, _0212d294 ; =gPlayerPos mvn r7, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -16677,9 +16677,9 @@ _0212d278: add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0212d28c: .word data_027e0fe4 +_0212d28c: .word gActorManager _0212d290: .word data_027e0f64 -_0212d294: .word data_027e0f94 +_0212d294: .word gPlayerPos _0212d298: .word gAdventureFlags arm_func_end func_ov15_0212d008 @@ -16768,7 +16768,7 @@ _0212d3c0: bl func_ov15_0215cb24 ldr r3, [r4, #0x4c] ldr r2, [r4, #0x184] - ldr r1, _0212d520 ; =data_027e0fe4 + ldr r1, _0212d520 ; =gActorManager add r2, r3, r2 add r0, r2, r0 str r0, [r4, #0x1a0] @@ -16779,7 +16779,7 @@ _0212d3c0: add r1, r4, #0x48 bl func_ov15_021846f8 ldrh r2, [r4, #0x26] - ldr r1, _0212d520 ; =data_027e0fe4 + ldr r1, _0212d520 ; =gActorManager add r0, r4, #0x100 str r2, [sp, #0xc] ldrsh r3, [r0, #0x20] @@ -16830,14 +16830,14 @@ _0212d494: str r2, [r4, #0x1a0] bl func_ov15_0214e138 ldrh r1, [r4, #0x26] - ldr r0, _0212d520 ; =data_027e0fe4 + ldr r0, _0212d520 ; =gActorManager add r2, sp, #8 str r1, [sp, #8] ldr r0, [r0] add r1, r4, #0x48 bl func_ov15_021846f8 ldrh r2, [r4, #0x26] - ldr r1, _0212d520 ; =data_027e0fe4 + ldr r1, _0212d520 ; =gActorManager add r0, r4, #0x100 str r2, [sp, #4] ldrsh r3, [r0, #0x20] @@ -16853,7 +16853,7 @@ _0212d510: .word data_ov15_02185d50 _0212d514: .word gMapManager _0212d518: .word data_ov15_0218a464 _0212d51c: .word data_ov15_0218a470 -_0212d520: .word data_027e0fe4 +_0212d520: .word gActorManager _0212d524: .word data_ov15_02185da0 arm_func_end func_ov15_0212d29c @@ -16905,14 +16905,14 @@ func_ov15_0212d580: ; 0x0212d580 mov r0, r5 add r1, r4, #0x1c8 str r3, [sp, #0x10] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x100 strh r0, [r1, #0xd4] add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0xa4 bge _0212d5fc ldr r0, [sp] @@ -16923,7 +16923,7 @@ func_ov15_0212d580: ; 0x0212d580 _0212d5fc: add r0, r4, #0x100 ldrh r1, [r0, #0xd4] - ldr r5, _0212d844 ; =data_02050f54 + ldr r5, _0212d844 ; =gSinCosTable mov r2, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -16957,16 +16957,16 @@ _0212d67c: add r0, r4, #0x1c8 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r2, sp, #0x18 add r0, r4, #0x1c8 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] str r2, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r2, _0212d848 ; =0x00000222 @@ -16980,7 +16980,7 @@ _0212d6c8: bl func_ov15_0214eb18 _0212d6d8: add r0, sp, #0x18 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 movs r3, r0, asr #0x5 @@ -16994,7 +16994,7 @@ _0212d6fc: _0212d704: str r3, [r4, #0x24c] ldrh r0, [r4, #0x78] - ldr lr, _0212d844 ; =data_02050f54 + ldr lr, _0212d844 ; =gSinCosTable add r1, sp, #0x18 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -17019,7 +17019,7 @@ _0212d704: mov ip, ip, lsr #0xc orr ip, ip, r3, lsl #20 str ip, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x240] mvn r0, #0x80000000 cmp r1, r0 @@ -17033,7 +17033,7 @@ _0212d704: str r0, [r4, #0x240] mov r1, #0 str r1, [r4, #0x244] - ldr r0, _0212d84c ; =data_027e0fe4 + ldr r0, _0212d84c ; =gActorManager str r1, [r4, #0x248] ldr r0, [r0] add r1, r4, #0x240 @@ -17054,7 +17054,7 @@ _0212d7c0: bl func_ov15_0213a54c cmp r0, #1 bhi _0212d830 - ldr r2, _0212d854 ; =data_027e0f94 + ldr r2, _0212d854 ; =gPlayerPos add r0, r4, #0x48 mov r1, #0xc800 bl func_ov00_020ce284 @@ -17076,11 +17076,11 @@ _0212d830: add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0212d844: .word data_02050f54 +_0212d844: .word gSinCosTable _0212d848: .word 0x00000222 -_0212d84c: .word data_027e0fe4 +_0212d84c: .word gActorManager _0212d850: .word data_027e10a4 -_0212d854: .word data_027e0f94 +_0212d854: .word gPlayerPos arm_func_end func_ov15_0212d580 .global func_ov15_0212d858 @@ -17114,7 +17114,7 @@ func_ov15_0212d858: ; 0x0212d858 bl func_ov00_020ce284 cmp r0, #0 beq _0212db68 - ldr r0, _0212dba0 ; =data_027e0f94 + ldr r0, _0212dba0 ; =gPlayerPos add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -17122,7 +17122,7 @@ func_ov15_0212d858: ; 0x0212d858 str r0, [r6, #0x250] mov r0, r6 bl _ZN5Actor14GetAngleToLinkEv - ldr r1, _0212dba4 ; =data_027e0fac + ldr r1, _0212dba4 ; =gPlayerAngle mov r0, r0, lsl #0x10 ldrh r5, [r1] rsb r4, r5, r0, lsr #16 @@ -17157,7 +17157,7 @@ _0212d944: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0212dbac ; =data_02050f54 + ldr r1, _0212dbac ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r2] @@ -17193,7 +17193,7 @@ _0212d9dc: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0212dbac ; =data_02050f54 + ldr r1, _0212dbac ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r2] @@ -17236,7 +17236,7 @@ _0212da64: add r1, r3, #1 adds ip, r0, r2, lsl #13 orr r4, r4, r2, lsr #19 - ldr r2, _0212dbac ; =data_02050f54 + ldr r2, _0212dbac ; =gSinCosTable mov r0, r1, lsl #0x1 mov r3, r3, lsl #0x1 ldrsh r1, [r2, r3] @@ -17303,10 +17303,10 @@ _0212db7c: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0212db9c: .word data_027e10a4 -_0212dba0: .word data_027e0f94 -_0212dba4: .word data_027e0fac +_0212dba0: .word gPlayerPos +_0212dba4: .word gPlayerAngle _0212dba8: .word 0x00001555 -_0212dbac: .word data_02050f54 +_0212dbac: .word gSinCosTable _0212dbb0: .word data_ov15_0218a464 _0212dbb4: .word 0x0000011f _0212dbb8: .word 0x00000171 @@ -17346,7 +17346,7 @@ _0212dbf4: mov r2, #0x52 bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r2, _0212dd18 ; =data_02050f54 + ldr r2, _0212dd18 ; =gSinCosTable ldr lr, [r4, #0x24c] mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 @@ -17372,7 +17372,7 @@ _0212dbf4: add r1, sp, #0x10 mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov15_0212e2c0 mov r0, r4 @@ -17382,10 +17382,10 @@ _0212dbf4: bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x2000 blt _0212dcdc - ldr r0, _0212dd1c ; =data_027e0f90 + ldr r0, _0212dd1c ; =gPlayer add r1, sp, #0 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _0212dcf8 _0212dcdc: @@ -17406,8 +17406,8 @@ _0212dcf8: .align 2, 0 _0212dd10: .word data_027e10a4 _0212dd14: .word 0x00000171 -_0212dd18: .word data_02050f54 -_0212dd1c: .word data_027e0f90 +_0212dd18: .word gSinCosTable +_0212dd1c: .word gPlayer arm_func_end func_ov15_0212dbbc .global func_ov15_0212dd20 @@ -17460,7 +17460,7 @@ func_ov15_0212dd90: ; 0x0212dd90 ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 - ldr r0, _0212e058 ; =data_027e0f94 + ldr r0, _0212e058 ; =gPlayerPos mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -17492,7 +17492,7 @@ _0212de20: bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p cmp r0, #0 beq _0212de50 - ldr r1, _0212e05c ; =data_027e0fac + ldr r1, _0212e05c ; =gPlayerAngle add r0, r4, #0x78 ldrsh r1, [r1] mov r2, #0x2d8 @@ -17511,7 +17511,7 @@ _0212de68: mov r2, #0x52 bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r2, _0212e060 ; =data_02050f54 + ldr r2, _0212e060 ; =gSinCosTable ldr r7, [r4, #0x24c] mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 @@ -17537,7 +17537,7 @@ _0212de68: str r5, [sp, #0x44] str r3, [sp, #0x48] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x24c] cmp r0, #0 bne _0212e03c @@ -17623,7 +17623,7 @@ _0212df28: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _0212e03c: ldr r1, _0212e070 ; =data_027e10a4 mov r0, #1 @@ -17633,9 +17633,9 @@ _0212e03c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _0212e054: .word data_027e0f64 -_0212e058: .word data_027e0f94 -_0212e05c: .word data_027e0fac -_0212e060: .word data_02050f54 +_0212e058: .word gPlayerPos +_0212e05c: .word gPlayerAngle +_0212e060: .word gSinCosTable _0212e064: .word data_027e0c68 _0212e068: .word 0x00050022 _0212e06c: .word gMapManager @@ -17733,7 +17733,7 @@ _0212e194: .word data_027e10a4 .global func_ov15_0212e198 arm_func_start func_ov15_0212e198 func_ov15_0212e198: ; 0x0212e198 - ldr r1, _0212e1c4 ; =data_027e0fe4 + ldr r1, _0212e1c4 ; =gActorManager ldrh r2, [r0, #0x26] ldr r3, [r1] mvn r1, #1 @@ -17745,7 +17745,7 @@ func_ov15_0212e198: ; 0x0212e198 mov r0, #0 bx lr .align 2, 0 -_0212e1c4: .word data_027e0fe4 +_0212e1c4: .word gActorManager arm_func_end func_ov15_0212e198 .global func_ov15_0212e1c8 @@ -17837,7 +17837,7 @@ func_ov15_0212e2c0: ; 0x0212e2c0 cmp r0, #0 addne sp, sp, #0x88 ldmneia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0212e770 ; =data_027e0f94 + ldr r0, _0212e770 ; =gPlayerPos add r6, sp, #0x7c ldmia r0, {r0, r1, r2} add r3, sp, #0x70 @@ -17848,11 +17848,11 @@ func_ov15_0212e2c0: ; 0x0212e2c0 mov r0, r6 mov r1, r3 mov r2, r3 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x70 str r1, [sp, #0x74] - bl func_01ff9cec + bl Vec3p_Length ldr r1, _0212e774 ; =0x00007b30 mov r2, #0 umull r3, r5, r0, r1 @@ -17878,20 +17878,20 @@ func_ov15_0212e2c0: ; 0x0212e2c0 mov r1, r3 mov r0, r5 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0x70 rsb r0, r5, #0 add r1, r4, #0x60 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0 str r0, [sp, #0x74] ldr r0, [sp, #0x70] ldr r1, [sp, #0x78] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 add r0, sp, #0x70 - bl func_01ff9cec + bl Vec3p_Length ldr r2, _0212e778 ; =data_027e0764 mov r1, #0 ldr ip, [r2] @@ -18019,7 +18019,7 @@ _0212e4e0: mov r5, r2, lsr #0xc adc r0, r0, #0 orr r5, r5, r0, lsl #20 - ldr r8, _0212e78c ; =data_02050f54 + ldr r8, _0212e78c ; =gSinCosTable mov r2, r1, lsl #0x1 add r0, r1, #1 mov r1, r0, lsl #0x1 @@ -18058,9 +18058,9 @@ _0212e4e0: mov r0, r10 add r1, sp, #0x4c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x20 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x3c] str r0, [sp, #0x40] @@ -18083,7 +18083,7 @@ _0212e4e0: mov r2, r10 add r3, sp, #0x20 bl func_ov00_020c4048 - ldr r0, _0212e79c ; =data_027e0fe4 + ldr r0, _0212e79c ; =gActorManager add r1, sp, #0xc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -18102,7 +18102,7 @@ _0212e4e0: str r0, [r4, #0x254] add r0, sp, #0x4c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrb r0, [r4, #0x272] cmp r0, #0 beq _0212e730 @@ -18128,18 +18128,18 @@ _0212e730: add sp, sp, #0x88 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0212e770: .word data_027e0f94 +_0212e770: .word gPlayerPos _0212e774: .word 0x00007b30 _0212e778: .word data_027e0764 _0212e77c: .word 0x00000171 _0212e780: .word 0x0000011f _0212e784: .word 0x0000014a _0212e788: .word 0x0000199a -_0212e78c: .word data_02050f54 +_0212e78c: .word gSinCosTable _0212e790: .word 0x000004cd _0212e794: .word data_027e0fe8 _0212e798: .word 0x434e424c -_0212e79c: .word data_027e0fe4 +_0212e79c: .word gActorManager _0212e7a0: .word data_027e0e58 _0212e7a4: .word data_027e0ffc _0212e7a8: .word 0x0000020d @@ -18165,7 +18165,7 @@ _0212e7dc: mvn ip, #0 mov r2, #1 mov r1, #0 - ldr r0, _0212e86c ; =data_027e0fe4 + ldr r0, _0212e86c ; =gActorManager str r3, [sp, #0x10] str r2, [sp, #0x14] str r1, [sp, #0x18] @@ -18178,10 +18178,10 @@ _0212e7dc: add r2, sp, #0x10 str r3, [sp] strh ip, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 beq _0212e854 - ldr r0, _0212e86c ; =data_027e0fe4 + ldr r0, _0212e86c ; =gActorManager ldr r1, [sp, #0x10] ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -18199,7 +18199,7 @@ _0212e854: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0212e86c: .word data_027e0fe4 +_0212e86c: .word gActorManager _0212e870: .word data_ov15_0218a490 arm_func_end func_ov15_0212e7ac @@ -18251,7 +18251,7 @@ func_ov15_0212e8e0: ; 0x0212e8e0 mov r4, r3 sub r0, r0, #2 cmp r0, #1 - ldrls r0, _0212eb7c ; =data_027e0fac + ldrls r0, _0212eb7c ; =gPlayerAngle mov r5, r2 ldrlssh r7, [r0] ldrhish r7, [r6, #0x78] @@ -18332,7 +18332,7 @@ _0212e9e4: mov r1, r1, lsl #0xd adds r8, r0, r2, lsl #13 orr r1, r1, r2, lsr #19 - ldr r3, _0212eb88 ; =data_027e0f94 + ldr r3, _0212eb88 ; =gPlayerPos adc r0, r1, #0 mov r9, r8, lsr #0xc orr r9, r9, r0, lsl #20 @@ -18393,7 +18393,7 @@ _0212eae4: mov r7, r4, lsl #0x1 add r6, r11, #1 add r10, r7, #1 - ldr r8, _0212eb8c ; =data_02050f54 + ldr r8, _0212eb8c ; =gSinCosTable mov r4, r11, lsl #0x1 mov r7, r7, lsl #0x1 ldrsh r4, [r8, r4] @@ -18421,11 +18421,11 @@ _0212eae4: str r0, [r5, #8] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0212eb7c: .word data_027e0fac +_0212eb7c: .word gPlayerAngle _0212eb80: .word 0x00007fff _0212eb84: .word data_ov15_0218a464 -_0212eb88: .word data_027e0f94 -_0212eb8c: .word data_02050f54 +_0212eb88: .word gPlayerPos +_0212eb8c: .word gSinCosTable arm_func_end func_ov15_0212e8e0 .global func_ov15_0212eb90 @@ -18436,7 +18436,7 @@ func_ov15_0212eb90: ; 0x0212eb90 ldr r0, [r4, #0x260] cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r2, _0212ebd0 ; =data_027e0f94 + ldr r2, _0212ebd0 ; =gPlayerPos add r0, r4, #0x48 mov r1, #0xc800 bl func_ov00_020ce284 @@ -18448,7 +18448,7 @@ func_ov15_0212eb90: ; 0x0212eb90 bl func_ov15_0212e2c0 ldmia sp!, {r4, pc} .align 2, 0 -_0212ebd0: .word data_027e0f94 +_0212ebd0: .word gPlayerPos arm_func_end func_ov15_0212eb90 .global func_ov15_0212ebd4 @@ -18491,7 +18491,7 @@ func_ov15_0212ebf0: ; 0x0212ebf0 add r0, sp, #4 mov r1, r6 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0212ed68 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] @@ -18512,7 +18512,7 @@ func_ov15_0212ebf0: ; 0x0212ebf0 add r0, sp, #4 mov r1, r6 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0212ed68 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] @@ -18654,7 +18654,7 @@ _0212ee94: mov r2, #0x2d8 bl func_0202b154 ldrh r0, [r9, #0x78] - ldr r2, _0212ef24 ; =data_02050f54 + ldr r2, _0212ef24 ; =gSinCosTable ldr r6, [r9, #0x24c] mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 @@ -18680,12 +18680,12 @@ _0212ee94: str r5, [sp] str r4, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _0212ef20: .word data_ov15_0218a464 -_0212ef24: .word data_02050f54 +_0212ef24: .word gSinCosTable arm_func_end func_ov15_0212ed78 .global func_ov15_0212ef28 @@ -18737,7 +18737,7 @@ func_ov15_0212efa4: ; 0x0212efa4 addeq sp, sp, #0x40 ldmeqia sp!, {r3, r4, r5, pc} add r0, sp, #0x14 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x14 str r1, [sp, #0x30] @@ -18784,7 +18784,7 @@ func_ov15_0212efa4: ; 0x0212efa4 add r0, r4, #0x100 strh r1, [r0, #0x20] ldrh r3, [r4, #0x26] - ldr r2, _0212f0b4 ; =data_027e0fe4 + ldr r2, _0212f0b4 ; =gActorManager add r1, sp, #4 str r3, [sp, #8] ldrsh r3, [r0, #0x20] @@ -18798,7 +18798,7 @@ func_ov15_0212efa4: ; 0x0212efa4 _0212f0a8: .word data_027e0764 _0212f0ac: .word data_027e0fe8 _0212f0b0: .word 0x534c4152 -_0212f0b4: .word data_027e0fe4 +_0212f0b4: .word gActorManager arm_func_end func_ov15_0212efa4 .global func_ov15_0212f0b8 @@ -18840,7 +18840,7 @@ func_ov15_0212f0b8: ; 0x0212f0b8 _0212f13c: add r0, r4, #0x100 ldrh r1, [r0, #0x68] - ldr r3, _0212f258 ; =data_02050f54 + ldr r3, _0212f258 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -18912,7 +18912,7 @@ _0212f204: ldmia sp!, {r3, r4, pc} .align 2, 0 _0212f254: .word data_027e077c -_0212f258: .word data_02050f54 +_0212f258: .word gSinCosTable _0212f25c: .word gMapManager _0212f260: .word data_027e0e58 arm_func_end func_ov15_0212f0b8 @@ -19359,7 +19359,7 @@ _0212f7ac: .word data_027e10a0 func_ov15_0212f7b0: ; 0x0212f7b0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x5c - ldr r1, _0212fc08 ; =data_027e0fe4 + ldr r1, _0212fc08 ; =gActorManager mov r4, r0 ldr r0, [r1] bl func_ov15_021845e8 @@ -19471,7 +19471,7 @@ _0212f824: str r2, [r4, #0x350] str r0, [r4, #0x354] mov r1, #0x14000 - ldr r0, _0212fc08 ; =data_027e0fe4 + ldr r0, _0212fc08 ; =gActorManager str r1, [r4, #0x358] ldr r1, [r0] add r0, r4, #0x400 @@ -19515,7 +19515,7 @@ _0212f824: mov ip, #5 strb ip, [r4, #0x490] mov r1, #0x5d - ldr r0, _0212fc08 ; =data_027e0fe4 + ldr r0, _0212fc08 ; =gActorManager strh r1, [r4, #0x7a] ldr r0, [r0] add r3, sp, #0x50 @@ -19582,7 +19582,7 @@ _0212fad4: addeq sp, sp, #0x5c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} - ldr r0, _0212fc08 ; =data_027e0fe4 + ldr r0, _0212fc08 ; =gActorManager add ip, sp, #0x38 ldr r0, [r0] mvn r3, #0x80000000 @@ -19645,7 +19645,7 @@ _0212fbe4: add sp, sp, #0x5c ldmia sp!, {r4, r5, pc} .align 2, 0 -_0212fc08: .word data_027e0fe4 +_0212fc08: .word gActorManager _0212fc0c: .word gAdventureFlags _0212fc10: .word 0x0000010f _0212fc14: .word data_027e10a0 @@ -19660,7 +19660,7 @@ _0212fc24: .word gMapManager func_ov15_0212fc28: ; 0x0212fc28 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r1, _0212fd0c ; =data_027e0fe4 + ldr r1, _0212fd0c ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _0212fd10 ; =0x4647474e @@ -19670,13 +19670,13 @@ func_ov15_0212fc28: ; 0x0212fc28 mvn r0, #0 cmp r1, r0 beq _0212fc6c - ldr r0, _0212fd0c ; =data_027e0fe4 + ldr r0, _0212fd0c ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0x32c] _0212fc6c: - ldr r1, _0212fd0c ; =data_027e0fe4 + ldr r1, _0212fd0c ; =gActorManager ldr r2, _0212fd14 ; =0x47534d47 ldr r1, [r1] add r0, sp, #0 @@ -19688,7 +19688,7 @@ _0212fc6c: str r1, [sp, #0xc] cmp r2, r0 beq _0212fcb0 - ldr r0, _0212fd0c ; =data_027e0fe4 + ldr r0, _0212fd0c ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -19718,7 +19718,7 @@ _0212fcb0: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0212fd0c: .word data_027e0fe4 +_0212fd0c: .word gActorManager _0212fd10: .word 0x4647474e _0212fd14: .word 0x47534d47 _0212fd18: .word gMapManager @@ -19811,7 +19811,7 @@ _0212fdf8: _0212fe54: mov r3, #0 str r3, [r5, #0x4ac] - ldr r0, _0213052c ; =data_027e0d0c + ldr r0, _0213052c ; =gVec3p_ZERO str r3, [r5, #0x4b0] ldr r2, [r0] ldr r1, _02130530 ; =0x0000ffff @@ -19830,7 +19830,7 @@ _0212fe8c: add r0, sp, #0x1c4 strh r1, [r5, #0x7a] bl func_ov00_0209a4f4 - ldr r1, _02130534 ; =data_027e0f94 + ldr r1, _02130534 ; =gPlayerPos mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -20081,7 +20081,7 @@ _02130220: add r0, sp, #0x24 add r1, r5, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02130540 ; =gMapManager add r1, sp, #0x24 ldr r0, [r0] @@ -20092,15 +20092,15 @@ _02130220: add r0, sp, #0x24 str r1, [r5, #0x494] ldr r2, [sp, #0x28] - ldr r1, _02130534 ; =data_027e0f94 + ldr r1, _02130534 ; =gPlayerPos str r2, [r5, #0x498] ldr r3, [sp, #0x2c] mov r2, r0 str r3, [r5, #0x49c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] - bl func_01ffa0f4 + bl Atan2 strh r0, [sp, #0x3c] ldr r1, [sp, #0x40] ldr r0, _02130544 ; =data_027e10a4 @@ -20121,7 +20121,7 @@ _02130220: add r0, sp, #0x18 add r1, r5, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02130540 ; =gMapManager add r1, sp, #0x18 ldr r0, [r0] @@ -20239,7 +20239,7 @@ _02130220: mov r6, #0x1e000 ldr r0, _02130550 ; =data_027e0c68 ldr r1, _02130554 ; =0x00050081 - ldr r2, _02130534 ; =data_027e0f94 + ldr r2, _02130534 ; =gPlayerPos mov r3, #0 str r6, [r5, #0x18c] bl func_02036da8 @@ -20254,9 +20254,9 @@ _02130510: .align 2, 0 _02130524: .word data_027e0764 _02130528: .word data_ov15_02185dc8 -_0213052c: .word data_027e0d0c +_0213052c: .word gVec3p_ZERO _02130530: .word 0x0000ffff -_02130534: .word data_027e0f94 +_02130534: .word gPlayerPos _02130538: .word data_027e0f64 _0213053c: .word gAdventureFlags _02130540: .word gMapManager @@ -20577,7 +20577,7 @@ func_ov15_0213091c: ; 0x0213091c addeq sp, sp, #0x1c ldmeqia sp!, {r4, r5, pc} ldr r0, _02130a14 ; =data_027e0f64 - ldr r1, _02130a18 ; =data_027e0f94 + ldr r1, _02130a18 ; =gPlayerPos ldr r0, [r0] add ip, sp, #0x10 ldr r3, [r0, #4] @@ -20588,7 +20588,7 @@ func_ov15_0213091c: ; 0x0213091c add r2, sp, #4 mov r1, ip add r0, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub sub r0, r5, #0x8000 mov r1, r0, lsl #0x10 add ip, r4, #0x48 @@ -20611,7 +20611,7 @@ func_ov15_0213091c: ; 0x0213091c _02130a0c: .word 0x0000ffff _02130a10: .word gAdventureFlags _02130a14: .word data_027e0f64 -_02130a18: .word data_027e0f94 +_02130a18: .word gPlayerPos arm_func_end func_ov15_0213091c .global func_ov15_02130a1c @@ -20642,9 +20642,9 @@ _02130a70: ldr r0, [r4, #0x4b4] cmp r0, #0x1f000 bne _02130aa8 - ldr r0, _02130bb8 ; =data_027e0f94 + ldr r0, _02130bb8 ; =gPlayerPos add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0xa000 addge sp, sp, #0x34 ldmgeia sp!, {r3, r4, pc} @@ -20678,10 +20678,10 @@ _02130aa8: add r2, sp, #0x28 mov r0, r3 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] mov r0, r4 mov r1, #1 @@ -20695,7 +20695,7 @@ _02130b30: str r0, [r4, #0x4b4] ldmgeia sp!, {r3, r4, pc} ldrsb r3, [r4, #0x2c] - ldr r1, _02130bb8 ; =data_027e0f94 + ldr r1, _02130bb8 ; =gPlayerPos add r0, sp, #4 add r2, sp, #0 strb r3, [sp] @@ -20724,7 +20724,7 @@ _02130b30: ldmia sp!, {r3, r4, pc} .align 2, 0 _02130bb4: .word gAdventureFlags -_02130bb8: .word data_027e0f94 +_02130bb8: .word gPlayerPos arm_func_end func_ov15_02130a1c .global func_ov15_02130bbc @@ -20743,9 +20743,9 @@ func_ov15_02130bbc: ; 0x02130bbc cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02130c34 ; =data_027e0f94 + ldr r0, _02130c34 ; =gPlayerPos add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x6000 bge _02130c28 mov r0, r4 @@ -20762,7 +20762,7 @@ _02130c28: ldmia sp!, {r4, pc} .align 2, 0 _02130c30: .word gAdventureFlags -_02130c34: .word data_027e0f94 +_02130c34: .word gPlayerPos arm_func_end func_ov15_02130bbc .global func_ov15_02130c38 @@ -20787,7 +20787,7 @@ _02130c68: _02130c74: mov r4, r0 add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 movs r0, r0, asr #0x5 @@ -20801,7 +20801,7 @@ _02130c9c: _02130ca4: ldrh r1, [r5, #0x78] mov r3, #0 - ldr r2, _02130d20 ; =data_02050f54 + ldr r2, _02130d20 ; =gSinCosTable mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 add r1, r6, #1 @@ -20825,13 +20825,13 @@ _02130ca4: str r7, [sp] str r3, [sp, #4] str ip, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02130d1c: .word 0x00000222 -_02130d20: .word data_02050f54 +_02130d20: .word gSinCosTable arm_func_end func_ov15_02130c38 .global func_ov15_02130d24 @@ -20915,7 +20915,7 @@ func_ov15_02130df4: ; 0x02130df4 mov r4, r0 add r0, r4, #0x100 ldrh r1, [r0, #0x68] - ldr r3, _02130ffc ; =data_02050f54 + ldr r3, _02130ffc ; =gSinCosTable add r0, sp, #0x7c mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -21043,7 +21043,7 @@ _02130fe4: add sp, sp, #0xa0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02130ffc: .word data_02050f54 +_02130ffc: .word gSinCosTable _02131000: .word 0x00001666 _02131004: .word data_027e0e58 _02131008: .word 0xffffe99a @@ -21079,7 +21079,7 @@ func_ov15_02131020: ; 0x02131020 mov r0, #1 strb r0, [r4, #0x4c4] ldrsb r3, [r4, #0x2c] - ldr r1, _021311b8 ; =data_027e0f94 + ldr r1, _021311b8 ; =gPlayerPos add r0, sp, #4 add r2, sp, #0 strb r3, [sp] @@ -21105,7 +21105,7 @@ func_ov15_02131020: ; 0x02131020 bl func_ov15_0212f7a0 cmp r0, r4 bne _0213113c - ldr r0, _021311bc ; =data_027e0fe4 + ldr r0, _021311bc ; =gActorManager add ip, sp, #0x10 ldr r0, [r0] mvn r3, #0x80000000 @@ -21167,8 +21167,8 @@ _02131170: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_021311b8: .word data_027e0f94 -_021311bc: .word data_027e0fe4 +_021311b8: .word gPlayerPos +_021311bc: .word gActorManager _021311c0: .word gAdventureFlags _021311c4: .word 0x0000010f arm_func_end func_ov15_02131020 @@ -21202,7 +21202,7 @@ _02131210: ; jump table b _02131740 ; case 4 b _02131840 ; case 5 _02131228: - ldr r0, _0213190c ; =data_027e0f94 + ldr r0, _0213190c ; =gPlayerPos mov r2, #0 ldr r3, [r0] ldr r1, [r0, #4] @@ -21419,7 +21419,7 @@ _0213151c: add r0, sp, #0xbc strb r2, [r1, #0x16] bl func_ov00_0209a4f4 - ldr r0, _0213190c ; =data_027e0f94 + ldr r0, _0213190c ; =gPlayerPos mov r3, #2 ldr r2, [r0] ldr r1, [r0, #4] @@ -21536,7 +21536,7 @@ _02131734: bl func_ov00_0209a508 b _021318fc _02131740: - ldr r0, _0213190c ; =data_027e0f94 + ldr r0, _0213190c ; =gPlayerPos mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -21589,7 +21589,7 @@ _021317fc: mov r1, #0 mov r2, #1 str r3, [r4, #0x488] - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r1, #5 sub r0, r1, #6 strb r1, [r4, #0x490] @@ -21609,7 +21609,7 @@ _02131840: bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _021318fc - ldr r0, _0213190c ; =data_027e0f94 + ldr r0, _0213190c ; =gPlayerPos add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -21640,7 +21640,7 @@ _021318bc: _021318c8: mov r0, r4 bl func_ov15_02130c38 - ldr r1, _0213190c ; =data_027e0f94 + ldr r1, _0213190c ; =gPlayerPos mov r0, #0x4e000 ldr r1, [r1, #8] rsb r0, r0, #0 @@ -21657,7 +21657,7 @@ _021318fc: add sp, sp, #0x284 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0213190c: .word data_027e0f94 +_0213190c: .word gPlayerPos _02131910: .word data_027e0f64 _02131914: .word data_027e0c68 _02131918: .word 0x00050020 @@ -21675,7 +21675,7 @@ _02131934: .word 0x00000171 func_ov15_02131938: ; 0x02131938 stmdb sp!, {r4, lr} sub sp, sp, #0x188 - ldr r1, _02131ed8 ; =data_027e0f94 + ldr r1, _02131ed8 ; =gPlayerPos add r3, sp, #0x1c mov r4, r0 ldmia r1, {r0, r1, r2} @@ -21738,7 +21738,7 @@ _021319e4: strb r3, [r4, #0x490] add r0, r3, #0x170 str r0, [r4, #0x4ac] - ldr r1, _02131ee0 ; =data_027e0d0c + ldr r1, _02131ee0 ; =gVec3p_ZERO add r0, sp, #0xd8 ldr r2, [r1] str r2, [r4, #0x60] @@ -21803,7 +21803,7 @@ _02131b10: mov r2, #0x29 bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r2, _02131efc ; =data_02050f54 + ldr r2, _02131efc ; =gSinCosTable ldr lr, [r4, #0x4b0] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -21829,7 +21829,7 @@ _02131b10: add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x188 ldmia sp!, {r4, pc} _02131b98: @@ -21894,10 +21894,10 @@ _02131c70: bne _02131cd0 mov r3, #0 str r3, [sp] - ldr r0, _02131f00 ; =data_027e0f90 + ldr r0, _02131f00 ; =gPlayer str r3, [sp, #4] ldr r0, [r0] - ldr r1, _02131f04 ; =data_027e0fac + ldr r1, _02131f04 ; =gPlayerAngle ldr ip, [r0] ldrsh r2, [r1] ldr ip, [ip, #0x34] @@ -22022,7 +22022,7 @@ _02131e50: mov r2, #0x29 bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r2, _02131efc ; =data_02050f54 + ldr r2, _02131efc ; =gSinCosTable ldr lr, [r4, #0x4b0] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -22048,23 +22048,23 @@ _02131e50: add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add _02131ed0: add sp, sp, #0x188 ldmia sp!, {r4, pc} .align 2, 0 -_02131ed8: .word data_027e0f94 +_02131ed8: .word gPlayerPos _02131edc: .word 0x00000171 -_02131ee0: .word data_027e0d0c +_02131ee0: .word gVec3p_ZERO _02131ee4: .word gAdventureFlags _02131ee8: .word 0x0000ffff _02131eec: .word data_027e0c68 _02131ef0: .word 0x00050049 _02131ef4: .word data_027e0f64 _02131ef8: .word 0x000002e2 -_02131efc: .word data_02050f54 -_02131f00: .word data_027e0f90 -_02131f04: .word data_027e0fac +_02131efc: .word gSinCosTable +_02131f00: .word gPlayer +_02131f04: .word gPlayerAngle _02131f08: .word gMapManager arm_func_end func_ov15_02131938 @@ -22087,7 +22087,7 @@ func_ov15_02131f0c: ; 0x02131f0c mov r0, #0x3000 str r0, [r9, #0x36c] ldr r1, _021321bc ; =0x00001770 - ldr r0, _021321c0 ; =data_027e0fac + ldr r0, _021321c0 ; =gPlayerAngle str r1, [r9, #0x368] ldrsh r0, [r0] mov r2, #0 @@ -22251,7 +22251,7 @@ _0213215c: .align 2, 0 _021321b8: .word data_027e0f64 _021321bc: .word 0x00001770 -_021321c0: .word data_027e0fac +_021321c0: .word gPlayerAngle arm_func_end func_ov15_02131f0c .global func_ov15_021321c4 @@ -22259,7 +22259,7 @@ _021321c0: .word data_027e0fac func_ov15_021321c4: ; 0x021321c4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 - ldr r2, _02132258 ; =data_027e0fac + ldr r2, _02132258 ; =gPlayerAngle ldr r3, [r1, #0x370] ldrsh r1, [r2] ldr ip, _0213225c ; =0x000008a4 @@ -22284,21 +22284,21 @@ func_ov15_021321c4: ; 0x021321c4 add r0, sp, #0xc add r1, sp, #0x18 add r2, sp, #0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0 - ldr r1, _02132264 ; =data_027e0f94 + ldr r1, _02132264 ; =gPlayerPos mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02132258: .word data_027e0fac +_02132258: .word gPlayerAngle _0213225c: .word 0x000008a4 _02132260: .word 0x0000051f -_02132264: .word data_027e0f94 +_02132264: .word gPlayerPos arm_func_end func_ov15_021321c4 .global func_ov15_02132268 @@ -22326,7 +22326,7 @@ _02132294: mov r0, #0 mov r2, #4 bl func_020078f4 - ldr r0, _021325d8 ; =data_027e0f94 + ldr r0, _021325d8 ; =gPlayerPos add r3, sp, #0x84 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -22345,11 +22345,11 @@ _021322e8: bl func_ov00_020ce2f0 cmp r0, #0x1000 ldrltb r0, [r4, #0x490] - ldr r2, _021325e4 ; =data_02050f54 + ldr r2, _021325e4 ; =gSinCosTable ldr r1, _021325e8 ; =gMapManager addlt r0, r0, #1 strltb r0, [r4, #0x490] - ldr r0, _021325ec ; =data_027e0fac + ldr r0, _021325ec ; =gPlayerAngle ldr r3, [sp, #0x88] ldrh r0, [r0] str r3, [sp, #0x44] @@ -22414,7 +22414,7 @@ _021323ec: mov r0, #0 mov r2, #4 bl func_020078f4 - ldr r0, _021325d8 ; =data_027e0f94 + ldr r0, _021325d8 ; =gPlayerPos add r3, sp, #0x64 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -22439,7 +22439,7 @@ _02132440: strb r1, [r4, #0x490] str r0, [r4, #0x138] _0213246c: - ldr r1, _021325ec ; =data_027e0fac + ldr r1, _021325ec ; =gPlayerAngle add r0, sp, #0 ldrsh r1, [r1] mov r2, #0xb6 @@ -22533,12 +22533,12 @@ _021325d0: add sp, sp, #0xa4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_021325d8: .word data_027e0f94 +_021325d8: .word gPlayerPos _021325dc: .word data_027e0c68 _021325e0: .word 0x00050082 -_021325e4: .word data_02050f54 +_021325e4: .word gSinCosTable _021325e8: .word gMapManager -_021325ec: .word data_027e0fac +_021325ec: .word gPlayerAngle _021325f0: .word data_027e10a4 arm_func_end func_ov15_02132268 @@ -22550,7 +22550,7 @@ func_ov15_021325f4: ; 0x021325f4 bl func_ov15_0212f7a0 cmp r0, r4 ldmneia sp!, {r4, pc} - ldr r0, _0213262c ; =data_027e0fe4 + ldr r0, _0213262c ; =gActorManager ldr r1, [r4, #0x48] ldr r2, [r0] str r1, [r2, #0x58] @@ -22560,7 +22560,7 @@ func_ov15_021325f4: ; 0x021325f4 str r0, [r2, #0x60] ldmia sp!, {r4, pc} .align 2, 0 -_0213262c: .word data_027e0fe4 +_0213262c: .word gActorManager arm_func_end func_ov15_021325f4 .global func_ov15_02132630 @@ -22594,7 +22594,7 @@ _02132684: strb r0, [r4, #0x4c8] ldmia sp!, {r3, r4, pc} _02132694: - ldr r1, _02132784 ; =data_027e0f94 + ldr r1, _02132784 ; =gPlayerPos add r0, r4, #0x334 ldr r3, [r1] ldr r2, [r1, #4] @@ -22660,7 +22660,7 @@ _0213276c: .align 2, 0 _0213277c: .word data_ov00_020eec68 _02132780: .word data_ov15_02190458 -_02132784: .word data_027e0f94 +_02132784: .word gPlayerPos _02132788: .word data_027e10a4 arm_func_end func_ov15_02132630 @@ -22719,11 +22719,11 @@ func_ov15_021327dc: ; 0x021327dc ldr r1, _0213286c ; =data_ov15_02185dd8 ldr r0, _02132870 ; =data_027e0c68 ldr r1, [r1, r2, lsl #2] - ldr r2, _02132874 ; =data_027e0f94 + ldr r2, _02132874 ; =gPlayerPos bl func_02036da8 add r0, r4, #0x400 ldrsh r2, [r0, #0xc2] - ldr r1, _02132878 ; =data_027e0fe4 + ldr r1, _02132878 ; =gActorManager add r2, r2, #1 strh r2, [r0, #0xc2] ldrsh r2, [r0, #0xc2] @@ -22733,8 +22733,8 @@ func_ov15_021327dc: ; 0x021327dc .align 2, 0 _0213286c: .word data_ov15_02185dd8 _02132870: .word data_027e0c68 -_02132874: .word data_027e0f94 -_02132878: .word data_027e0fe4 +_02132874: .word gPlayerPos +_02132878: .word gActorManager arm_func_end func_ov15_021327dc .global func_ov15_0213287c @@ -23064,7 +23064,7 @@ _02132c80: mov r2, #0 str r2, [r4, #0x4c] ldr r0, [r4, #0x48] - ldr r3, _02132de8 ; =data_027e0d0c + ldr r3, _02132de8 ; =gVec3p_ZERO str r0, [r4, #0x54] ldr r1, [r4, #0x4c] mov r0, #0x1000 @@ -23154,7 +23154,7 @@ _02132db8: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02132de4: .word gAdventureFlags -_02132de8: .word data_027e0d0c +_02132de8: .word gVec3p_ZERO arm_func_end func_ov15_02132c48 .global func_ov15_02132dec @@ -23292,7 +23292,7 @@ _02132f8c: beq _02133048 add r0, sp, #0x14 bl func_ov00_0209a4f4 - ldr r1, _0213308c ; =data_027e0f94 + ldr r1, _0213308c ; =gPlayerPos mvn r7, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -23318,7 +23318,7 @@ _02132f8c: strh r2, [r1, #0x70] bl func_ov00_0209a508 _02133048: - ldr r0, _0213308c ; =data_027e0f94 + ldr r0, _0213308c ; =gPlayerPos ldr r0, [r0, #4] str r0, [r5, #0x354] b _02133068 @@ -23339,7 +23339,7 @@ _02133068: _02133080: .word data_027e0764 _02133084: .word 0x00000666 _02133088: .word data_027e10a4 -_0213308c: .word data_027e0f94 +_0213308c: .word gPlayerPos _02133090: .word gAdventureFlags arm_func_end func_ov15_02132dec @@ -23361,7 +23361,7 @@ func_ov15_02133094: ; 0x02133094 ldr r3, [r5, #0x50] mov r2, r1 str r3, [r5, #0x5c] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] @@ -23374,7 +23374,7 @@ func_ov15_02133094: ; 0x02133094 ldrb r0, [r5, #0x375] cmp r0, #0 beq _0213312c - ldr r0, _02133148 ; =data_027e0f94 + ldr r0, _02133148 ; =gPlayerPos add r2, r5, #0x48 mov r1, #0xa000 bl func_ov00_020ce284 @@ -23393,7 +23393,7 @@ _0213312c: .align 2, 0 _02133140: .word data_ov15_0218a6e0 _02133144: .word data_ov15_0218a6ec -_02133148: .word data_027e0f94 +_02133148: .word gPlayerPos _0213314c: .word data_027e10a4 arm_func_end func_ov15_02133094 @@ -23433,7 +23433,7 @@ _0213319c: ldrb r0, [r5, #0x375] cmp r0, #0 beq _021331f4 - ldr r0, _02133214 ; =data_027e0f94 + ldr r0, _02133214 ; =gPlayerPos add r2, r5, #0x48 mov r1, #0xa000 bl func_ov00_020ce284 @@ -23453,7 +23453,7 @@ _021331f4: _02133208: .word gAdventureFlags _0213320c: .word data_ov15_0218a6e0 _02133210: .word data_ov15_0218a6ec -_02133214: .word data_027e0f94 +_02133214: .word gPlayerPos _02133218: .word data_027e10a4 arm_func_end func_ov15_02133150 @@ -23578,24 +23578,24 @@ _021333c0: _021333cc: mov r0, r7 bl func_ov15_02133d4c - ldr r0, _02133cac ; =data_027e0f94 + ldr r0, _02133cac ; =gPlayerPos add r3, sp, #0xa0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #0x94 mov r0, r3 add r1, r7, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x94 str r1, [sp, #0x98] - bl func_01ff9cec - ldr r1, _02133cb0 ; =data_027e0fac + bl Vec3p_Length + ldr r1, _02133cb0 ; =gPlayerAngle mov r4, r0 ldrsh r5, [r1] ldr r0, [sp, #0x94] ldr r1, [sp, #0x9c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 cmp r4, #0x1000 mov r6, r0, asr #0x10 @@ -23630,7 +23630,7 @@ _02133488: mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 - ldr r2, _02133cbc ; =data_02050f54 + ldr r2, _02133cbc ; =gSinCosTable mov r3, r3, lsl #0x1 ldrsh r3, [r2, r3] mov r0, r0, lsl #0x1 @@ -23695,13 +23695,13 @@ _02133594: add r0, sp, #0xa0 add r1, sp, #0x88 add r2, sp, #0x68 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r6, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 - ldr r2, _02133cbc ; =data_02050f54 + ldr r2, _02133cbc ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r5, [r2, r0] mov r1, r1, lsl #0x1 @@ -23777,11 +23777,11 @@ _021336cc: add r2, sp, #0x5c add r0, r7, #0x338 add r1, r7, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x5c str r1, [sp, #0x60] - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x7b bge _02133720 mov r0, r7 @@ -23796,7 +23796,7 @@ _021336cc: _02133720: ldr r0, [sp, #0x5c] ldr r1, [sp, #0x64] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -23804,7 +23804,7 @@ _02133720: mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 - ldr r2, _02133cbc ; =data_02050f54 + ldr r2, _02133cbc ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r5, [r2, r0] mov r1, r1, lsl #0x1 @@ -23886,7 +23886,7 @@ _02133858: mov r0, #0 mov r2, #4 bl func_020078f4 - ldr r2, _02133cb0 ; =data_027e0fac + ldr r2, _02133cb0 ; =gPlayerAngle add r0, r7, #0x300 ldr r1, _02133cc4 ; =data_027e10a4 ldrsh r5, [r0, #0x70] @@ -23910,7 +23910,7 @@ _021338b4: cmp r1, #4 beq _021338f4 ldr r4, [r0] - ldr r2, _02133cd0 ; =data_027e0d0c + ldr r2, _02133cd0 ; =gVec3p_ZERO ldr r4, [r4, #0x30] mov r1, #4 mov r3, #1 @@ -24014,7 +24014,7 @@ _021339e0: cmp r0, #0 bne _02133b28 add r0, sp, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -24085,7 +24085,7 @@ _02133b38: cmp r1, #4 beq _02133b78 ldr r4, [r0] - ldr r2, _02133cd0 ; =data_027e0d0c + ldr r2, _02133cd0 ; =gVec3p_ZERO ldr r4, [r4, #0x30] mov r1, #4 mov r3, #1 @@ -24175,16 +24175,16 @@ _02133c9c: .word gMapManager _02133ca0: .word data_ov15_02185e74 _02133ca4: .word data_ov15_02185e70 _02133ca8: .word data_ov15_02185e6c -_02133cac: .word data_027e0f94 -_02133cb0: .word data_027e0fac +_02133cac: .word gPlayerPos +_02133cb0: .word gPlayerAngle _02133cb4: .word 0x0000019a _02133cb8: .word data_ov15_0218a6e0 -_02133cbc: .word data_02050f54 +_02133cbc: .word gSinCosTable _02133cc0: .word 0x00000aab _02133cc4: .word data_027e10a4 _02133cc8: .word data_027e0ffc _02133ccc: .word gAdventureFlags -_02133cd0: .word data_027e0d0c +_02133cd0: .word gVec3p_ZERO _02133cd4: .word 0x0000ffff _02133cd8: .word data_027e0764 _02133cdc: .word data_027e0fe8 @@ -24213,7 +24213,7 @@ func_ov15_02133cec: ; 0x02133cec add r0, r4, #0x32c add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x2fc add r1, r4, #0x32c bl func_ov00_020c6f08 @@ -24270,7 +24270,7 @@ func_ov15_02133d94: ; 0x02133d94 func_ov15_02133db8: ; 0x02133db8 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _02133e10 ; =data_027e0f94 + ldr r0, _02133e10 ; =gPlayerPos add r1, r4, #0x48 bl func_ov00_020ce2f0 ldrh r1, [r4, #0x22] @@ -24292,7 +24292,7 @@ _02133e08: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02133e10: .word data_027e0f94 +_02133e10: .word gPlayerPos arm_func_end func_ov15_02133db8 .global func_ov15_02133e14 @@ -24373,7 +24373,7 @@ func_ov15_02133e98: ; 0x02133e98 mov r0, r3 orr r5, r5, r1, lsl #20 add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r5 bge _02133f5c ldrh r0, [r4, #0x22] @@ -24656,7 +24656,7 @@ _02134270: str r0, [r5, #0x12c] mov r4, #0x400 _02134284: - ldr r0, _0213449c ; =data_027e0d0c + ldr r0, _0213449c ; =gVec3p_ZERO mov r3, r4, lsl #0x1 ldr r1, [r0] add r2, r4, #0x1000 @@ -24797,7 +24797,7 @@ _0213448c: ldmia sp!, {r4, r5, pc} .align 2, 0 _02134498: .word 0x0000019a -_0213449c: .word data_027e0d0c +_0213449c: .word gVec3p_ZERO _021344a0: .word data_ov09_0211f530 _021344a4: .word data_027e0e58 _021344a8: .word 0x000004cd @@ -24910,7 +24910,7 @@ func_ov15_021345e0: ; 0x021345e0 b _021348a0 _02134604: add r0, sp, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -25129,7 +25129,7 @@ _02134918: bne _02134948 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x200 strh r0, [r1, #0x14] mov r0, #1 @@ -25281,7 +25281,7 @@ func_ov15_02134ae4: ; 0x02134ae4 mvn r0, #0 cmp r1, r0 beq _02134c70 - ldr r0, _02134cec ; =data_027e0fe4 + ldr r0, _02134cec ; =gActorManager add r1, r6, #0x208 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -25298,17 +25298,17 @@ func_ov15_02134ae4: ; 0x02134ae4 add r0, sp, #8 add r2, sp, #0x24 add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 ldr r4, [sp, #0x28] add r0, sp, #0x18 str r1, [sp, #0x28] str r1, [sp, #0x1c] - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] - bl func_01ffa0f4 + bl Atan2 add r1, r6, #0x200 mov r0, r0, lsl #0x10 ldrsh r1, [r1, #0x14] @@ -25327,7 +25327,7 @@ func_ov15_02134ae4: ; 0x02134ae4 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 - ldr r3, _02134cf4 ; =data_02050f54 + ldr r3, _02134cf4 ; =gSinCosTable mov r0, r1, lsl #0x1 ldrsh r2, [r3, r0] add r0, r1, #1 @@ -25354,7 +25354,7 @@ _02134c18: cmp r5, #0 ble _02134c70 add r0, sp, #0x24 - bl func_01ff9cec + bl Vec3p_Length mov r1, r5 bl func_02002c14 mov r5, r0 @@ -25377,7 +25377,7 @@ _02134c70: add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrb r0, [r6, #0x21b] cmp r0, #0 bne _02134cdc @@ -25388,9 +25388,9 @@ _02134c70: mvn r0, #0 cmp r1, r0 beq _02134cdc - ldr r1, _02134cf8 ; =data_027e0f94 + ldr r1, _02134cf8 ; =gPlayerPos add r0, r6, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, #0xa mul r1, r0, r1 add r0, r1, #0x800 @@ -25407,10 +25407,10 @@ _02134cdc: add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02134cec: .word data_027e0fe4 +_02134cec: .word gActorManager _02134cf0: .word 0x00000e39 -_02134cf4: .word data_02050f54 -_02134cf8: .word data_027e0f94 +_02134cf4: .word gSinCosTable +_02134cf8: .word gPlayerPos arm_func_end func_ov15_02134ae4 .global func_ov15_02134cfc @@ -25422,15 +25422,15 @@ func_ov15_02134cfc: ; 0x02134cfc add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #1 bl _ZN5Actor18CollidesWithPlayerEj cmp r0, #0 beq _02134d5c - ldr r1, _02134d68 ; =data_027e0f94 + ldr r1, _02134d68 ; =gPlayerPos add r0, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, #0xa mul r1, r0, r1 add r0, r1, #0x800 @@ -25445,7 +25445,7 @@ _02134d5c: bl func_ov15_02134d6c ldmia sp!, {r4, pc} .align 2, 0 -_02134d68: .word data_027e0f94 +_02134d68: .word gPlayerPos arm_func_end func_ov15_02134cfc .global func_ov15_02134d6c @@ -25459,7 +25459,7 @@ func_ov15_02134d6c: ; 0x02134d6c bne _02134dd0 ldr r1, _02135104 ; =data_ov15_02185ea0 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _02134dd0 ldrb r0, [r4, #0x217] @@ -25480,7 +25480,7 @@ _02134dc0: _02134dd0: mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02134e14 ldrb r0, [r4, #0x112] @@ -25588,7 +25588,7 @@ _02134f24: bl func_ov00_020c75f4 b _021350bc _02134f70: - ldr r0, _02135118 ; =data_027e0f94 + ldr r0, _02135118 ; =gPlayerPos add r1, sp, #0x20 bl func_ov00_020ce2f0 cmp r0, #0x2000 @@ -25631,7 +25631,7 @@ _02134fd0: bl func_ov00_0207c1b0 b _021350bc _02135014: - ldr r0, _02135118 ; =data_027e0f94 + ldr r0, _02135118 ; =gPlayerPos add r1, sp, #0x20 bl func_ov00_020ce2f0 cmp r0, #0x2000 @@ -25701,7 +25701,7 @@ _02135108: .word gMapManager _0213510c: .word data_027e0e58 _02135110: .word 0x00000829 _02135114: .word 0x00000ae1 -_02135118: .word data_027e0f94 +_02135118: .word gPlayerPos _0213511c: .word 0x000009ec _02135120: .word 0x00000d9a _02135124: .word data_027e0ffc @@ -25806,7 +25806,7 @@ _02135210: cmp r4, #0x14 bge _021352ac add r0, sp, #0x30 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] @@ -25850,7 +25850,7 @@ _021352b8: cmp ip, #0x32 bge _02135354 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -25922,7 +25922,7 @@ func_ov15_021353ec: ; 0x021353ec mov r4, r0 cmp r3, r2 bne _0213542c - ldr r0, _02135438 ; =data_027e0fe4 + ldr r0, _02135438 ; =gActorManager add r1, r1, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -25933,11 +25933,11 @@ func_ov15_021353ec: ; 0x021353ec bl func_ov15_0217217c ldmia sp!, {r4, pc} _0213542c: - bl _ZN5Actor12CollidesWithEPKS_ + bl _ZN5Actor12CollidesWithEPS_ ldmia sp!, {r4, pc} .align 2, 0 _02135434: .word 0x53424f53 -_02135438: .word data_027e0fe4 +_02135438: .word gActorManager arm_func_end func_ov15_021353ec .global func_ov15_0213543c @@ -25948,9 +25948,9 @@ func_ov15_0213543c: ; 0x0213543c ldrb r0, [r4, #0x217] cmp r0, #0 bne _02135470 - ldr r1, _02135480 ; =data_027e0f94 + ldr r1, _02135480 ; =gPlayerPos add r0, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, #0xa mul r1, r0, r1 add r0, r1, #0x800 @@ -25962,7 +25962,7 @@ _02135470: bl func_ov15_021345e0 ldmia sp!, {r4, pc} .align 2, 0 -_02135480: .word data_027e0f94 +_02135480: .word gPlayerPos arm_func_end func_ov15_0213543c .global func_ov15_02135484 @@ -25994,7 +25994,7 @@ func_ov15_021354a0: ; 0x021354a0 beq _02135534 mov r10, #0 ldr r6, _0213554c ; =0x534e4156 - ldr r5, _02135550 ; =data_027e0f94 + ldr r5, _02135550 ; =gPlayerPos ldr r4, _02135554 ; =data_027e0fe8 str r10, [r11, #0x24] add r9, sp, #4 @@ -26002,7 +26002,7 @@ func_ov15_021354a0: ; 0x021354a0 mov r7, r10 _021354f0: mov r0, r9 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r9 str r8, [sp, #0x20] str r8, [sp, #0x24] @@ -26027,7 +26027,7 @@ _02135534: .align 2, 0 _02135548: .word data_027e103c _0213554c: .word 0x534e4156 -_02135550: .word data_027e0f94 +_02135550: .word gPlayerPos _02135554: .word data_027e0fe8 arm_func_end func_ov15_021354a0 @@ -26057,7 +26057,7 @@ _02135590: _021355a4: mov r0, r4 bl func_ov15_021368c8 - ldr r1, _02135644 ; =data_027e0fac + ldr r1, _02135644 ; =gPlayerAngle str r0, [r4, #0x88] ldrsh r0, [r1] strh r0, [r4, #0x9a] @@ -26076,7 +26076,7 @@ _021355a4: add r0, r1, r0 strh r0, [r4, #0x9a] _021355f4: - ldr r0, _02135644 ; =data_027e0fac + ldr r0, _02135644 ; =gPlayerAngle ldrsh r1, [r4, #0x9a] ldrsh r0, [r0] sub r0, r0, r1 @@ -26097,7 +26097,7 @@ _021355f4: bl func_ov15_02136d04 ldmia sp!, {r4, pc} .align 2, 0 -_02135644: .word data_027e0fac +_02135644: .word gPlayerAngle arm_func_end func_ov15_02135558 .global func_ov15_02135648 @@ -26108,7 +26108,7 @@ func_ov15_02135648: ; 0x02135648 ldrb r0, [r4, #0x25f] cmp r0, #0 beq _021356d0 - ldr r0, _021356e0 ; =data_027e0fac + ldr r0, _021356e0 ; =gPlayerAngle ldrsh r3, [r4, #0x9a] ldrsh r0, [r0] ldr r1, _021356e4 ; =0x0000019a @@ -26124,7 +26124,7 @@ func_ov15_02135648: ; 0x02135648 adc r1, r3, #0 mov r0, r2, lsr #0xc orr r0, r0, r1, lsl #20 - bl func_02042f74 + bl abs mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 cmp r1, #0x100 @@ -26134,16 +26134,16 @@ func_ov15_02135648: ; 0x02135648 bl func_0202b154 ldrsh r1, [r4, #0x9a] ldrsh r2, [r4, #0x9c] - ldr r0, _021356e0 ; =data_027e0fac + ldr r0, _021356e0 ; =gPlayerAngle bl func_0202b154 ldmia sp!, {r4, pc} _021356d0: ldrsh r1, [r4, #0x9a] - ldr r0, _021356e0 ; =data_027e0fac + ldr r0, _021356e0 ; =gPlayerAngle strh r1, [r0] ldmia sp!, {r4, pc} .align 2, 0 -_021356e0: .word data_027e0fac +_021356e0: .word gPlayerAngle _021356e4: .word 0x0000019a arm_func_end func_ov15_02135648 @@ -26163,10 +26163,10 @@ func_ov15_021356e8: ; 0x021356e8 cmp r0, #0 addlt sp, sp, #0x18 ldmltia sp!, {r4, r5, r6, pc} - ldr r0, _021358cc ; =data_027e0fac + ldr r0, _021358cc ; =gPlayerAngle ldrsh r4, [r0] bl func_ov15_0212f7a0 - ldr r1, _021358d0 ; =data_027e0f94 + ldr r1, _021358d0 ; =gPlayerPos ldr r5, [r0, #0x48] ldr r3, [r1] ldr r2, [r0, #0x50] @@ -26189,7 +26189,7 @@ func_ov15_021356e8: ; 0x021356e8 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 movs r5, r0, asr #0x3 - ldr r0, _021358d0 ; =data_027e0f94 + ldr r0, _021358d0 ; =gPlayerPos ldrh r4, [r6, #0x9e] ldr r2, [r0] ldr r1, [r0, #4] @@ -26207,7 +26207,7 @@ func_ov15_021356e8: ; 0x021356e8 ldr r2, [r0, #0x50] add r0, sp, #0 str r2, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0xd000 ldrlt r0, _021358dc ; =0x0000051f cmplt r5, r0 @@ -26279,8 +26279,8 @@ _021358b8: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021358cc: .word data_027e0fac -_021358d0: .word data_027e0f94 +_021358cc: .word gPlayerAngle +_021358d0: .word gPlayerPos _021358d4: .word 0x60db9391 _021358d8: .word 0x000028be _021358dc: .word 0x0000051f @@ -26349,7 +26349,7 @@ func_ov15_02135948: ; 0x02135948 mov r0, #1 strb r0, [r4, #0x25e] _02135988: - ldr r0, _02135aec ; =data_027e0fac + ldr r0, _02135aec ; =gPlayerAngle mov r1, #0 ldrsh r0, [r0] strh r0, [r4, #0x9a] @@ -26359,13 +26359,13 @@ _02135988: bl func_ov15_0213d4f4 cmp r0, #0 blt _021359e8 - ldr r1, _02135af0 ; =data_027e0f94 + ldr r1, _02135af0 ; =gPlayerPos add r0, sp, #0xc add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x9a] mov r0, r4 bl func_ov15_021368c8 @@ -26391,7 +26391,7 @@ _021359f0: b _02135ad4 _02135a20: ldr r1, _02135af4 ; =data_027e0f64 - ldr r0, _02135aec ; =data_027e0fac + ldr r0, _02135aec ; =gPlayerAngle ldr r2, [r1] ldrsh r1, [r0] ldr r0, [r2, #4] @@ -26444,8 +26444,8 @@ _02135ad4: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02135aec: .word data_027e0fac -_02135af0: .word data_027e0f94 +_02135aec: .word gPlayerAngle +_02135af0: .word gPlayerPos _02135af4: .word data_027e0f64 arm_func_end func_ov15_02135948 @@ -26482,11 +26482,11 @@ _02135b28: mov r2, r0, asr #0x10 _02135b64: ldrsh r1, [r4, #0x9a] - ldr r0, _02135b74 ; =data_027e0fac + ldr r0, _02135b74 ; =gPlayerAngle bl func_0202b154 ldmia sp!, {r4, pc} .align 2, 0 -_02135b74: .word data_027e0fac +_02135b74: .word gPlayerAngle arm_func_end func_ov15_02135af8 .global func_ov15_02135b78 @@ -26550,7 +26550,7 @@ _02135c28: bicne r0, r0, #2 strne r0, [r4, #0x60] _02135c40: - ldr r0, _02135cd8 ; =data_027e0fac + ldr r0, _02135cd8 ; =gPlayerAngle ldrsh r1, [r4, #0x9a] ldrsh r0, [r0] sub r0, r1, r0 @@ -26591,7 +26591,7 @@ _02135cc0: ldmia sp!, {r4, pc} .align 2, 0 _02135cd4: .word data_ov15_0218a9a4 -_02135cd8: .word data_027e0fac +_02135cd8: .word gPlayerAngle _02135cdc: .word data_ov15_0218a9a8 _02135ce0: .word data_ov15_0218a9ac arm_func_end func_ov15_02135bd0 @@ -26666,7 +26666,7 @@ func_ov15_02135d78: ; 0x02135d78 bne _02135dd0 ldr r0, _02135e00 ; =data_027e0c68 ldr r1, _02135e04 ; =0x0005000d - ldr r2, _02135e08 ; =data_027e0f94 + ldr r2, _02135e08 ; =gPlayerPos mov r3, #0 bl func_02036da8 ldmia sp!, {r3, r4, r5, pc} @@ -26675,7 +26675,7 @@ _02135dd0: bne _02135df0 ldr r0, _02135e00 ; =data_027e0c68 ldr r1, _02135e0c ; =0x0005001a - ldr r2, _02135e08 ; =data_027e0f94 + ldr r2, _02135e08 ; =gPlayerPos mov r3, #0 bl func_02036da8 ldmia sp!, {r3, r4, r5, pc} @@ -26687,7 +26687,7 @@ _02135df0: .align 2, 0 _02135e00: .word data_027e0c68 _02135e04: .word 0x0005000d -_02135e08: .word data_027e0f94 +_02135e08: .word gPlayerPos _02135e0c: .word 0x0005001a arm_func_end func_ov15_02135d78 @@ -26708,7 +26708,7 @@ func_ov15_02135e10: ; 0x02135e10 func_ov15_02135e2c: ; 0x02135e2c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0xe8 - ldr r2, _021360b8 ; =data_027e0f94 + ldr r2, _021360b8 ; =gPlayerPos add r3, sp, #0xac mov r5, r0 mov r4, r1 @@ -26717,7 +26717,7 @@ func_ov15_02135e2c: ; 0x02135e2c add r0, sp, #0xc4 bl func_01ff80d4 ldr r0, _021360bc ; =data_027e10a4 - ldr r3, _021360c0 ; =data_02050f54 + ldr r3, _021360c0 ; =gSinCosTable ldr r1, [r0] add r0, sp, #0x50 ldrh r1, [r1, #0x90] @@ -26734,7 +26734,7 @@ func_ov15_02135e2c: ; 0x02135e2c mov r2, r0 bl func_01ff8690 ldr r1, _021360c4 ; =data_027e0fb0 - ldr r3, _021360c0 ; =data_02050f54 + ldr r3, _021360c0 ; =gSinCosTable ldrsh r1, [r1] add r0, sp, #0x2c rsb r1, r1, #0 @@ -26754,8 +26754,8 @@ func_ov15_02135e2c: ; 0x02135e2c add r1, sp, #0x2c mov r2, r0 bl func_01ff8690 - ldr r1, _021360c8 ; =data_027e0fac - ldr r3, _021360c0 ; =data_02050f54 + ldr r1, _021360c8 ; =gPlayerAngle + ldr r3, _021360c0 ; =gSinCosTable ldrh r1, [r1] add r0, sp, #8 mov r1, r1, asr #0x4 @@ -26772,8 +26772,8 @@ func_ov15_02135e2c: ; 0x02135e2c bl func_01ff8690 ldr r0, [r4] ldr r1, [r4, #8] - bl func_01ffa0f4 - ldr r1, _021360c8 ; =data_027e0fac + bl Atan2 + ldr r1, _021360c8 ; =gPlayerAngle ldr r3, [r5, #0x20] ldrsh ip, [r1] add r1, sp, #0xb8 @@ -26793,12 +26793,12 @@ func_ov15_02135e2c: ; 0x02135e2c stmia r3, {r0, r1, r2} mov r0, r3 mov r1, r3 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, _021360cc ; =0x00000333 add r0, sp, #0xa0 str r1, [sp, #0xa4] mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r3, [sp, #0xa8] ldr r2, [sp, #0xa4] ldr r1, [sp, #0xa0] @@ -26837,7 +26837,7 @@ func_ov15_02135e2c: ; 0x02135e2c mov r3, #1 bl func_ov00_0207c1b0 add r0, sp, #0x74 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x90] str r0, [sp, #0x94] @@ -26855,7 +26855,7 @@ func_ov15_02135e2c: ; 0x02135e2c add r3, sp, #0x74 bl func_ov00_020c4048 mov r1, r0 - ldr r0, _021360e0 ; =data_027e0fe4 + ldr r0, _021360e0 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -26870,17 +26870,17 @@ func_ov15_02135e2c: ; 0x02135e2c add sp, sp, #0xe8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021360b8: .word data_027e0f94 +_021360b8: .word gPlayerPos _021360bc: .word data_027e10a4 -_021360c0: .word data_02050f54 +_021360c0: .word gSinCosTable _021360c4: .word data_027e0fb0 -_021360c8: .word data_027e0fac +_021360c8: .word gPlayerAngle _021360cc: .word 0x00000333 _021360d0: .word func_ov15_02135e10 _021360d4: .word data_027e0e58 _021360d8: .word data_027e0fe8 _021360dc: .word 0x434e424c -_021360e0: .word data_027e0fe4 +_021360e0: .word gActorManager arm_func_end func_ov15_02135e2c .global func_ov15_021360e4 @@ -26888,7 +26888,7 @@ _021360e0: .word data_027e0fe4 func_ov15_021360e4: ; 0x021360e4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc0 - ldr r3, _021363d8 ; =data_027e0fe4 + ldr r3, _021363d8 ; =gActorManager mov r7, r1 ldr r1, [r3] mov r8, r0 @@ -26905,7 +26905,7 @@ func_ov15_021360e4: ; 0x021360e4 ldr r1, [r5] cmp r1, r0 beq _02136168 - ldr r0, _021363d8 ; =data_027e0fe4 + ldr r0, _021363d8 ; =gActorManager mov r1, r5 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -26932,16 +26932,16 @@ _02136168: _0213618c: cmp r4, #0 beq _021363cc - ldr r1, _021363e4 ; =data_027e0f94 + ldr r1, _021363e4 ; =gPlayerPos add r0, sp, #0xb4 mov r2, r7 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r8, #0x20] add r0, sp, #0x80 ldrsh r5, [r1, #0x94] bl func_01ff80d4 ldr r0, _021363e8 ; =data_027e10a4 - ldr r3, _021363ec ; =data_02050f54 + ldr r3, _021363ec ; =gSinCosTable ldr r1, [r0] add r0, sp, #0x50 ldrh r1, [r1, #0x90] @@ -26958,7 +26958,7 @@ _0213618c: mov r2, r0 bl func_01ff8690 ldr r1, _021363f0 ; =data_027e0fb0 - ldr r3, _021363ec ; =data_02050f54 + ldr r3, _021363ec ; =gSinCosTable ldrsh r1, [r1] add r0, sp, #0x2c rsb r1, r1, #0 @@ -26978,8 +26978,8 @@ _0213618c: add r1, sp, #0x2c mov r2, r0 bl func_01ff8690 - ldr r1, _021363f4 ; =data_027e0fac - ldr r3, _021363ec ; =data_02050f54 + ldr r1, _021363f4 ; =gPlayerAngle + ldr r3, _021363ec ; =gSinCosTable ldrh r1, [r1] add r0, sp, #8 mov r1, r1, asr #0x4 @@ -26994,11 +26994,11 @@ _0213618c: add r1, sp, #8 mov r2, r0 bl func_01ff8690 - ldr r1, _021363f4 ; =data_027e0fac + ldr r1, _021363f4 ; =gPlayerAngle ldr r0, [r7] ldrsh r6, [r1] ldr r1, [r7, #8] - bl func_01ffa0f4 + bl Atan2 sub r0, r0, r6 mov r0, r0, lsl #0x10 cmp r4, #2 @@ -27024,7 +27024,7 @@ _0213618c: ldmgtia sp!, {r4, r5, r6, r7, r8, pc} _021362fc: ldr r0, [r8, #0x20] - ldr r3, _021363e4 ; =data_027e0f94 + ldr r3, _021363e4 ; =gPlayerPos strh r4, [r0, #0x94] ldr r0, [r8, #0x20] add r1, sp, #0x74 @@ -27035,12 +27035,12 @@ _021362fc: add r1, sp, #0x74 mov r2, r7 strh r5, [r3, #0x94] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r4, [r7, #4] mov r1, #0 mov r0, r7 str r1, [r7, #4] - bl func_01ff9cec + bl Vec3p_Length mov r1, r0, asr #0x9 add r0, r0, r1, lsr #22 mov r5, r0, asr #0xa @@ -27082,14 +27082,14 @@ _021363cc: add sp, sp, #0xc0 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_021363d8: .word data_027e0fe4 +_021363d8: .word gActorManager _021363dc: .word data_027e0d78 _021363e0: .word gMapManager -_021363e4: .word data_027e0f94 +_021363e4: .word gPlayerPos _021363e8: .word data_027e10a4 -_021363ec: .word data_02050f54 +_021363ec: .word gSinCosTable _021363f0: .word data_027e0fb0 -_021363f4: .word data_027e0fac +_021363f4: .word gPlayerAngle _021363f8: .word data_027e0f64 _021363fc: .word data_ov15_0218a9d8 arm_func_end func_ov15_021360e4 @@ -27098,7 +27098,7 @@ _021363fc: .word data_ov15_0218a9d8 arm_func_start func_ov15_02136400 func_ov15_02136400: ; 0x02136400 stmdb sp!, {r4, lr} - ldr r1, _021364a8 ; =data_027e0fb8 + ldr r1, _021364a8 ; =gPlayerControl mov r4, r0 ldr r0, [r1] ldrb r0, [r0, #0x79] @@ -27144,7 +27144,7 @@ _02136494: bl func_ov09_0211555c ldmia sp!, {r4, pc} .align 2, 0 -_021364a8: .word data_027e0fb8 +_021364a8: .word gPlayerControl _021364ac: .word data_ov00_020eec9c arm_func_end func_ov15_02136400 @@ -27170,7 +27170,7 @@ func_ov15_021364b0: ; 0x021364b0 cmp r1, r0 addne sp, sp, #0x20 ldmneia sp!, {r4, pc} - ldr r0, _02136610 ; =data_027e0fb8 + ldr r0, _02136610 ; =gPlayerControl ldr r0, [r0] ldrb r1, [r0, #0x79] cmp r1, #0 @@ -27193,9 +27193,9 @@ func_ov15_021364b0: ; 0x021364b0 addeq sp, sp, #0x20 ldmeqia sp!, {r4, pc} add r0, sp, #0x14 - ldr r1, _02136614 ; =data_027e0fa0 + ldr r1, _02136614 ; =gPlayerVel mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x14 mov r0, r4 bl func_ov15_02135e2c @@ -27208,10 +27208,10 @@ func_ov15_021364b0: ; 0x021364b0 ldmia r1, {r1, r2} bl func_ov15_021351b0 _02136590: - ldr r1, _02136618 ; =data_027e0f94 + ldr r1, _02136618 ; =gPlayerPos add r0, sp, #0x14 add r2, sp, #8 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0213661c ; =data_027e0ffc ldr r1, _02136620 ; =0x0000020d add r2, sp, #8 @@ -27242,9 +27242,9 @@ _021365e8: ldmia sp!, {r4, pc} .align 2, 0 _0213660c: .word data_027e0e2c -_02136610: .word data_027e0fb8 -_02136614: .word data_027e0fa0 -_02136618: .word data_027e0f94 +_02136610: .word gPlayerControl +_02136614: .word gPlayerVel +_02136618: .word gPlayerPos _0213661c: .word data_027e0ffc _02136620: .word 0x0000020d _02136624: .word data_027e0f64 @@ -27386,7 +27386,7 @@ func_ov15_02136750: ; 0x02136750 func_ov15_0213677c: ; 0x0213677c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 - ldr r1, _02136880 ; =data_027e0f94 + ldr r1, _02136880 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -27403,9 +27403,9 @@ func_ov15_0213677c: ; 0x0213677c str r3, [sp, #4] ldr r3, [r4, #0x1c] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub mov r3, #0 - ldr r0, _02136884 ; =data_027e0fac + ldr r0, _02136884 ; =gPlayerAngle mov r2, #0x1000 ldrsh r1, [r0] add r0, sp, #0xc @@ -27416,11 +27416,11 @@ func_ov15_0213677c: ; 0x0213677c bl func_ov00_020a61ac add r0, sp, #0x18 add r1, sp, #0xc - bl func_01ff9c2c + bl Vec3p_Dot mov r2, r0, lsl #0xf mov r0, r2, asr #0xb add r0, r2, r0, lsr #20 - ldr r1, _02136884 ; =data_027e0fac + ldr r1, _02136884 ; =gPlayerAngle mov r0, r0, lsl #0x4 ldrsh r2, [r1] ldrsh r1, [r4, #0x8c] @@ -27450,8 +27450,8 @@ func_ov15_0213677c: ; 0x0213677c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02136880: .word data_027e0f94 -_02136884: .word data_027e0fac +_02136880: .word gPlayerPos +_02136884: .word gPlayerAngle arm_func_end func_ov15_0213677c .global func_ov15_02136888 @@ -27770,7 +27770,7 @@ func_ov15_02136c34: ; 0x02136c34 ldrneb r0, [r0, #0x43] cmpne r0, #0 bne _02136c94 - ldr r0, _02136c9c ; =data_027e0fac + ldr r0, _02136c9c ; =gPlayerAngle ldrsh r1, [r5, #0x9a] ldrsh r0, [r0] sub r0, r1, r0 @@ -27786,14 +27786,14 @@ _02136c94: mov r0, r4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02136c9c: .word data_027e0fac +_02136c9c: .word gPlayerAngle _02136ca0: .word 0x00000222 arm_func_end func_ov15_02136c34 .global func_ov15_02136ca4 arm_func_start func_ov15_02136ca4 func_ov15_02136ca4: ; 0x02136ca4 - ldr r1, _02136d00 ; =data_027e0fac + ldr r1, _02136d00 ; =gPlayerAngle ldrsh r2, [r0, #0x9a] ldrsh r1, [r1] sub r1, r1, r2 @@ -27817,7 +27817,7 @@ func_ov15_02136ca4: ; 0x02136ca4 strmi r1, [r0, #0x78] bx lr .align 2, 0 -_02136d00: .word data_027e0fac +_02136d00: .word gPlayerAngle arm_func_end func_ov15_02136ca4 .global func_ov15_02136d04 @@ -27829,19 +27829,19 @@ func_ov15_02136d04: ; 0x02136d04 ldrb r0, [r4, #0x25f] cmp r0, #1 bne _02136d5c - ldr r1, _0213711c ; =data_027e0f94 + ldr r1, _0213711c ; =gPlayerPos add r2, sp, #0xc add r0, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x9a] mov r0, r4 bl func_ov15_021368c8 str r0, [r4, #0x88] add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x1000 movlt r0, #0 strltb r0, [r4, #0x25f] @@ -27921,19 +27921,19 @@ _02136d5c: ldr r1, _02137128 ; =0xfffff8cd add r0, sp, #0 str r1, [sp, #8] - ldr r1, _0213712c ; =data_027e0fac + ldr r1, _0213712c ; =gPlayerAngle str r11, [sp] ldrsh r1, [r1] str r3, [sp, #4] bl func_ov00_020a61ac add r1, sp, #0 - ldr r0, _0213711c ; =data_027e0f94 + ldr r0, _0213711c ; =gPlayerPos mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0 add r0, r4, #0xa4 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x264] subs r0, r0, #1 str r0, [r4, #0x264] @@ -28064,7 +28064,7 @@ _02137070: _02137084: mov r0, r4 bl func_ov15_021368b4 - ldr r1, _02137130 ; =data_027e0fa0 + ldr r1, _02137130 ; =gPlayerVel ldr r2, [r1, #4] sub r2, r2, r0 mov r0, r4 @@ -28102,12 +28102,12 @@ _021370f8: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0213711c: .word data_027e0f94 +_0213711c: .word gPlayerPos _02137120: .word data_027e0764 _02137124: .word 0x0000019b _02137128: .word 0xfffff8cd -_0213712c: .word data_027e0fac -_02137130: .word data_027e0fa0 +_0213712c: .word gPlayerAngle +_02137130: .word gPlayerVel _02137134: .word data_ov00_020ee800 arm_func_end func_ov15_02136d04 @@ -28116,7 +28116,7 @@ _02137134: .word data_ov00_020ee800 func_ov15_02137138: ; 0x02137138 stmdb sp!, {r4, lr} sub sp, sp, #0x20 - ldr r1, _02137258 ; =data_027e0fa0 + ldr r1, _02137258 ; =gPlayerVel mov r4, r0 ldr r0, [r1, #4] cmp r0, #0 @@ -28126,7 +28126,7 @@ func_ov15_02137138: ; 0x02137138 str r1, [r4, #0x274] bl func_ov00_020b7e6c _02137164: - ldr r1, _0213725c ; =data_027e0f94 + ldr r1, _0213725c ; =gPlayerPos ldr r0, _02137260 ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] @@ -28143,12 +28143,12 @@ _02137164: cmp r1, #1 addne sp, sp, #0x20 ldmneia sp!, {r4, pc} - ldr r0, _02137258 ; =data_027e0fa0 + ldr r0, _02137258 ; =gPlayerVel ldr r0, [r0, #4] cmp r0, #0 addgt sp, sp, #0x20 ldmgtia sp!, {r4, pc} - ldr r0, _0213725c ; =data_027e0f94 + ldr r0, _0213725c ; =gPlayerPos ldr r1, [r0, #4] cmp ip, r1 addlt sp, sp, #0x20 @@ -28174,7 +28174,7 @@ _02137164: bl func_ov00_0207c1b0 ldr r0, _0213726c ; =data_027e0ffc ldr r1, _02137270 ; =0x000001a6 - ldr r2, _0213725c ; =data_027e0f94 + ldr r2, _0213725c ; =gPlayerPos mov r3, #0 bl func_ov00_020ceacc ldr r0, _02137274 ; =data_027e0f64 @@ -28182,14 +28182,14 @@ _02137164: ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 - ldr r0, _02137258 ; =data_027e0fa0 + ldr r0, _02137258 ; =gPlayerVel mov r1, #0 str r1, [r0, #4] add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 -_02137258: .word data_027e0fa0 -_0213725c: .word data_027e0f94 +_02137258: .word gPlayerVel +_0213725c: .word gPlayerPos _02137260: .word gMapManager _02137264: .word 0x000004cd _02137268: .word data_027e0e58 @@ -28238,13 +28238,13 @@ _021372e0: cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _021374cc ; =data_027e0fa0 - bl func_01ff9cec + ldr r0, _021374cc ; =gPlayerVel + bl Vec3p_Length movs r4, r0 beq _021373f0 - ldr r0, _021374cc ; =data_027e0fa0 + ldr r0, _021374cc ; =gPlayerVel mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, r5 bl func_ov15_021366d8 cmp r4, r0 @@ -28262,7 +28262,7 @@ _021372e0: mov r1, r1, asr #0x1f adds lr, r3, #0x800 mla ip, r1, r0, ip - ldr r3, _021374cc ; =data_027e0fa0 + ldr r3, _021374cc ; =gPlayerVel adc r0, ip, #0 mov ip, lr, lsr #0xc orr ip, ip, r0, lsl #20 @@ -28298,7 +28298,7 @@ _021372e0: strlt r0, [r3, #4] b _02137408 _021373f0: - ldr r0, _021374cc ; =data_027e0fa0 + ldr r0, _021374cc ; =gPlayerVel mov r2, #0 str r2, [r0] mov r1, #0x148 @@ -28309,7 +28309,7 @@ _02137408: mov r1, #1 str r0, [r5, #0x270] ldr r0, _021374d4 ; =data_027e0ffc - ldr r2, _021374d8 ; =data_027e0f94 + ldr r2, _021374d8 ; =gPlayerPos strb r1, [r5, #0x27c] add r1, r1, #0x1a4 mov r3, #0 @@ -28323,13 +28323,13 @@ _02137408: mov r1, #1 str r1, [sp] ldr r0, _021374dc ; =data_027e0e58 - ldr r3, _021374e0 ; =data_027e0d0c + ldr r3, _021374e0 ; =gVec3p_ZERO ldr r0, [r0] add r1, r5, #0x180 mov r2, #0x58 bl func_ov00_0207c1f8 - ldr r0, _021374cc ; =data_027e0fa0 - ldr r1, _021374e4 ; =data_027e0fac + ldr r0, _021374cc ; =gPlayerVel + ldr r1, _021374e4 ; =gPlayerAngle ldr r2, [r0, #4] ldr r3, [r5, #0x78] mov r0, r2, asr #0x2 @@ -28346,7 +28346,7 @@ _02137408: bl func_ov00_020a61ac add r0, sp, #4 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #4 add r0, r5, #0x180 bl func_ov00_020b7ea4 @@ -28356,13 +28356,13 @@ _021374bc: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021374cc: .word data_027e0fa0 +_021374cc: .word gPlayerVel _021374d0: .word 0x0000028f _021374d4: .word data_027e0ffc -_021374d8: .word data_027e0f94 +_021374d8: .word gPlayerPos _021374dc: .word data_027e0e58 -_021374e0: .word data_027e0d0c -_021374e4: .word data_027e0fac +_021374e0: .word gVec3p_ZERO +_021374e4: .word gPlayerAngle arm_func_end func_ov15_02137278 .global func_ov15_021374e8 @@ -28459,7 +28459,7 @@ func_ov15_02137574: ; 0x02137574 str lr, [sp, #4] str ip, [sp, #8] str r5, [sp, #0xc] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r6, #0x4d8] cmp r0, #0 beq _021376b4 @@ -28472,8 +28472,8 @@ func_ov15_02137574: ; 0x02137574 strh r1, [r0, #0xdc] ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - bl func_01ffa0f4 - ldr r2, _021377bc ; =data_027e0fac + bl Atan2 + ldr r2, _021377bc ; =gPlayerAngle add r1, r6, #0x400 ldrsh r3, [r2] ldrh r2, [r1, #0xdc] @@ -28511,8 +28511,8 @@ _021376a8: _021376b4: ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - bl func_01ffa0f4 - ldr r2, _021377bc ; =data_027e0fac + bl Atan2 + ldr r2, _021377bc ; =gPlayerAngle add r1, r6, #0x400 ldrsh r2, [r2] ldrh r1, [r1, #0xdc] @@ -28549,10 +28549,10 @@ _0213773c: mov r1, #0 add r0, sp, #0x1c str r1, [sp, #0x20] - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 mov r0, r6 - bl func_01ffa0f4 + bl Atan2 rsb r0, r0, #0 mov r0, r0, lsl #0x10 ldr r2, _021377c8 ; =0x00001c72 @@ -28579,7 +28579,7 @@ _02137788: add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021377bc: .word data_027e0fac +_021377bc: .word gPlayerAngle _021377c0: .word 0x00002e39 _021377c4: .word 0x0000438e _021377c8: .word 0x00001c72 @@ -28600,7 +28600,7 @@ func_ov15_021377d4: ; 0x021377d4 mov r0, #6 str r0, [r4, #0x4e8] rsb r3, r1, #0x334 - ldr r0, _0213790c ; =data_027e0fac + ldr r0, _0213790c ; =gPlayerAngle ldr r2, _02137910 ; =0xfffff8cd ldrsh r1, [r0] add r0, sp, #0x18 @@ -28609,9 +28609,9 @@ func_ov15_021377d4: ; 0x021377d4 str r2, [sp, #0x20] bl func_ov00_020a61ac add r1, sp, #0x18 - ldr r0, _02137914 ; =data_027e0f94 + ldr r0, _02137914 ; =gPlayerPos mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0x5c str r1, [sp] add r0, sp, #0x18 @@ -28637,7 +28637,7 @@ func_ov15_021377d4: ; 0x021377d4 ldr r1, _0213791c ; =0xfffff23d ldr r0, _02137920 ; =0x00000829 str r1, [sp, #0xc] - ldr r1, _0213790c ; =data_027e0fac + ldr r1, _0213790c ; =gPlayerAngle str r0, [sp, #0x10] mov r0, #0 str r0, [sp, #0x14] @@ -28646,14 +28646,14 @@ func_ov15_021377d4: ; 0x021377d4 bl func_ov00_020a61ac add r0, sp, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r4, #0x178 add r1, sp, #0xc bl func_ov00_020b7ea4 ldr r1, _02137924 ; =0x00000dc3 ldr r0, _02137920 ; =0x00000829 str r1, [sp, #0xc] - ldr r1, _0213790c ; =data_027e0fac + ldr r1, _0213790c ; =gPlayerAngle str r0, [sp, #0x10] mov r0, #0 str r0, [sp, #0x14] @@ -28662,16 +28662,16 @@ func_ov15_021377d4: ; 0x021377d4 bl func_ov00_020a61ac add r0, sp, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r4, #0x17c add r1, sp, #0xc bl func_ov00_020b7ea4 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0213790c: .word data_027e0fac +_0213790c: .word gPlayerAngle _02137910: .word 0xfffff8cd -_02137914: .word data_027e0f94 +_02137914: .word gPlayerPos _02137918: .word data_027e0e58 _0213791c: .word 0xfffff23d _02137920: .word 0x00000829 @@ -28690,7 +28690,7 @@ func_ov15_02137928: ; 0x02137928 subne r0, r0, #1 strne r0, [r4, #0x4e8] ldr r0, _02137ca4 ; =data_027e0ffc - ldr r2, _02137ca8 ; =data_027e0f94 + ldr r2, _02137ca8 ; =gPlayerPos mov r3, #0 bl func_ov00_020cec08 ldr r0, [r4, #0x4ec] @@ -28716,7 +28716,7 @@ _02137980: mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mul r3, r2, r0 - ldr r0, _02137cac ; =data_02050f54 + ldr r0, _02137cac ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r2, [r0, r1] add r0, r4, #0x78 @@ -28764,7 +28764,7 @@ _02137a44: str r2, [r3, #0x8c] strb r1, [r3, #0x9c] ldr ip, [r4, #0x4e8] - ldr r2, _02137cac ; =data_02050f54 + ldr r2, _02137cac ; =gSinCosTable mov r1, ip, lsl #0x1e mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 @@ -28805,7 +28805,7 @@ _02137ad4: mov r1, #0 bl Approach_thunk _02137b00: - ldr r0, _02137cb4 ; =data_027e0fac + ldr r0, _02137cb4 ; =gPlayerAngle ldr r3, _02137cb8 ; =0x00000333 ldrsh r1, [r0] ldr r2, _02137cbc ; =0xfffff8cd @@ -28816,9 +28816,9 @@ _02137b00: str r2, [sp, #0x14] bl func_ov00_020a61ac add r1, sp, #0xc - ldr r0, _02137ca8 ; =data_027e0f94 + ldr r0, _02137ca8 ; =gPlayerPos mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add add r2, r4, #0x16c add r1, r4, #0x178 cmp r2, r1 @@ -28881,7 +28881,7 @@ _02137c0c: cmp r2, r1 bne _02137bb8 _02137c18: - ldr r0, _02137cb4 ; =data_027e0fac + ldr r0, _02137cb4 ; =gPlayerAngle ldr ip, _02137cc0 ; =0xfffff23d ldrsh r1, [r0] ldr r3, _02137cc4 ; =0x00000829 @@ -28893,11 +28893,11 @@ _02137c18: bl func_ov00_020a61ac add r0, sp, #0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0 add r0, r4, #0x178 bl func_ov00_020b7ea4 - ldr r0, _02137cb4 ; =data_027e0fac + ldr r0, _02137cb4 ; =gPlayerAngle ldr ip, _02137cc8 ; =0x00000dc3 ldrsh r1, [r0] ldr r3, _02137cc4 ; =0x00000829 @@ -28909,7 +28909,7 @@ _02137c18: bl func_ov00_020a61ac add r0, sp, #0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r1, sp, #0 add r0, r4, #0x17c bl func_ov00_020b7ea4 @@ -28918,10 +28918,10 @@ _02137c18: .align 2, 0 _02137ca0: .word 0x00000485 _02137ca4: .word data_027e0ffc -_02137ca8: .word data_027e0f94 -_02137cac: .word data_02050f54 +_02137ca8: .word gPlayerPos +_02137cac: .word gSinCosTable _02137cb0: .word 0x00000171 -_02137cb4: .word data_027e0fac +_02137cb4: .word gPlayerAngle _02137cb8: .word 0x00000333 _02137cbc: .word 0xfffff8cd _02137cc0: .word 0xfffff23d @@ -29028,11 +29028,11 @@ func_ov15_02137df4: ; 0x02137df4 mov r4, r0 mov r2, #0 str r2, [r4, #0x88] - ldr r1, _021382d0 ; =data_027e0fa0 + ldr r1, _021382d0 ; =gPlayerVel str r2, [r4, #0x78] str r2, [r1] bl func_ov15_021368b4 - ldr r1, _021382d0 ; =data_027e0fa0 + ldr r1, _021382d0 ; =gPlayerVel mov r2, #0 ldr r3, [r1, #4] sub r0, r3, r0 @@ -29059,7 +29059,7 @@ _02137e74: ldr r0, [r4, #0x34] cmp r0, #0 bne _02137f18 - ldr r0, _021382dc ; =data_027e0fac + ldr r0, _021382dc ; =gPlayerAngle ldr r3, _021382e0 ; =0x00000333 ldrsh r1, [r0] ldr r2, _021382e4 ; =0xfffff8a4 @@ -29070,9 +29070,9 @@ _02137e74: str r2, [sp, #0x60] bl func_ov00_020a61ac add r1, sp, #0x58 - ldr r0, _021382e8 ; =data_027e0f94 + ldr r0, _021382e8 ; =gPlayerPos mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0x52 str r0, [sp] mov r0, #0x53 @@ -29101,7 +29101,7 @@ _02137f18: ldr r0, [r4, #0x34] cmp r0, #4 bne _02137f8c - ldr r0, _021382dc ; =data_027e0fac + ldr r0, _021382dc ; =gPlayerAngle mov ip, #0 ldrsh r1, [r0] mov r3, #0x800 @@ -29112,9 +29112,9 @@ _02137f18: str r2, [sp, #0x54] bl func_ov00_020a61ac add r1, sp, #0x4c - ldr r0, _021382e8 ; =data_027e0f94 + ldr r0, _021382e8 ; =gPlayerPos mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0x53 str r1, [sp] add r0, sp, #0x4c @@ -29131,7 +29131,7 @@ _02137f8c: ldr r0, [r4, #0x34] cmp r0, #8 bne _02138000 - ldr r0, _021382dc ; =data_027e0fac + ldr r0, _021382dc ; =gPlayerAngle ldr r3, _021382e0 ; =0x00000333 ldrsh r1, [r0] ldr r2, _021382f0 ; =0x0000019a @@ -29142,9 +29142,9 @@ _02137f8c: str r2, [sp, #0x48] bl func_ov00_020a61ac add r1, sp, #0x40 - ldr r0, _021382e8 ; =data_027e0f94 + ldr r0, _021382e8 ; =gPlayerPos mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0x53 str r1, [sp] add r0, sp, #0x40 @@ -29161,7 +29161,7 @@ _02138000: ldr r0, [r4, #0x34] cmp r0, #0xe bne _02138084 - ldr r0, _021382dc ; =data_027e0fac + ldr r0, _021382dc ; =gPlayerAngle ldr r3, _021382e0 ; =0x00000333 ldrsh r1, [r0] rsb r2, r3, #0x52 @@ -29172,9 +29172,9 @@ _02138000: str r2, [sp, #0x3c] bl func_ov00_020a61ac add r1, sp, #0x34 - ldr r0, _021382e8 ; =data_027e0f94 + ldr r0, _021382e8 ; =gPlayerPos mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0x4d str r0, [sp] mov r0, #0x4e @@ -29198,7 +29198,7 @@ _02138084: mov r1, #1 str r1, [sp] ldr r0, _021382ec ; =data_027e0e58 - ldr r3, _021382e8 ; =data_027e0f94 + ldr r3, _021382e8 ; =gPlayerPos ldr r0, [r0] add r1, r4, #0x108 mov r2, #0xcf @@ -29226,7 +29226,7 @@ _021380f4: cmp r0, #0 beq _02138150 ldr r2, [r0, #0x20] - ldr r1, _021382e8 ; =data_027e0f94 + ldr r1, _021382e8 ; =gPlayerPos ldr r2, [r2] ldr r3, [r1] ldr r2, [r2, #4] @@ -29248,7 +29248,7 @@ _02138150: ldr r0, [r4, #0x34] cmp r0, #0x28 blt _02138224 - ldr r3, _021382e8 ; =data_027e0f94 + ldr r3, _021382e8 ; =gPlayerPos ldr r0, _021382f4 ; =gMapManager ldr r2, [r3] ldr r1, [r3, #4] @@ -29261,7 +29261,7 @@ _02138150: mov r2, #0 ldr r5, [r3, #8] bl _ZN10MapManager16MapData_vfunc_68Ev - ldr r1, _021382e8 ; =data_027e0f94 + ldr r1, _021382e8 ; =gPlayerPos str r5, [sp, #0x30] ldr r2, [r1] str r0, [sp, #0x2c] @@ -29305,7 +29305,7 @@ _02138224: str r0, [r4, #0x34] cmp r0, #0x5a blt _02138268 - ldr r0, _021382f8 ; =data_027e0fb8 + ldr r0, _021382f8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl17IsNotUntouchedNowEv cmp r0, #0 @@ -29347,17 +29347,17 @@ _02138288: add sp, sp, #0x64 ldmia sp!, {r4, r5, pc} .align 2, 0 -_021382d0: .word data_027e0fa0 +_021382d0: .word gPlayerVel _021382d4: .word 0x00000183 _021382d8: .word data_ov00_020eec68 -_021382dc: .word data_027e0fac +_021382dc: .word gPlayerAngle _021382e0: .word 0x00000333 _021382e4: .word 0xfffff8a4 -_021382e8: .word data_027e0f94 +_021382e8: .word gPlayerPos _021382ec: .word data_027e0e58 _021382f0: .word 0x0000019a _021382f4: .word gMapManager -_021382f8: .word data_027e0fb8 +_021382f8: .word gPlayerControl _021382fc: .word data_ov00_020eec9c _02138300: .word 0xfffffa66 _02138304: .word 0x5e6ea9af @@ -29368,11 +29368,11 @@ _02138308: .word 0x00002aab arm_func_start func_ov15_0213830c func_ov15_0213830c: ; 0x0213830c stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r1, _021383a4 ; =data_027e0fac + ldr r1, _021383a4 ; =gPlayerAngle mvn r3, #0 ldrh r1, [r1] mov r2, #0 - ldr r4, _021383a8 ; =data_02050f54 + ldr r4, _021383a8 ; =gSinCosTable mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r5, r1, lsl #0x1 @@ -29406,8 +29406,8 @@ func_ov15_0213830c: ; 0x0213830c str r1, [r0, #0x70] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_021383a4: .word data_027e0fac -_021383a8: .word data_02050f54 +_021383a4: .word gPlayerAngle +_021383a8: .word gSinCosTable _021383ac: .word 0x00000429 _021383b0: .word 0x000005c3 arm_func_end func_ov15_0213830c @@ -29480,14 +29480,14 @@ func_ov15_02138478: ; 0x02138478 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x78 ldr r2, _02138ba0 ; =data_027e10a4 - ldr r4, _02138ba4 ; =data_027e0fa0 + ldr r4, _02138ba4 ; =gPlayerVel ldr r3, _02138ba8 ; =data_ov15_0218aa28 ldr r2, [r2] str r4, [r3, #0x28] ldr r1, _02138bac ; =data_027e0fb0 ldrh r3, [r2, #0x90] ldrh r2, [r1] - ldr r5, _02138bb0 ; =data_02050f54 + ldr r5, _02138bb0 ; =gSinCosTable mov r1, r3, asr #0x4 mov r2, r2, asr #0x4 mov r7, r2, lsl #0x1 @@ -29505,7 +29505,7 @@ func_ov15_02138478: ; 0x02138478 mov r1, r1, lsl #0x1 ldrsh r5, [r5, r1] rsb r4, r6, #0 - ldr r1, _02138bb4 ; =data_027e0fac + ldr r1, _02138bb4 ; =gPlayerAngle mov r9, r0 ldrsh r0, [r1] add r1, sp, #0x54 @@ -29522,11 +29522,11 @@ func_ov15_02138478: ; 0x02138478 str r4, [sp, #0x4c] str r3, [sp, #0x50] bl func_0202af4c - ldr r0, _02138bb4 ; =data_027e0fac + ldr r0, _02138bb4 ; =gPlayerAngle add r1, sp, #0x48 ldrsh r0, [r0] bl func_0202af4c - ldr r0, _02138bb8 ; =data_027e0f94 + ldr r0, _02138bb8 ; =gPlayerPos add r2, sp, #0x3c ldr r3, [r0] ldr r1, [r0, #4] @@ -29537,11 +29537,11 @@ func_ov15_02138478: ; 0x02138478 str r0, [sp, #0x44] mov r3, r2 mov r0, #0x800 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r9 add r1, sp, #0x3c bl func_ov15_02138408 - ldr r1, _02138bb8 ; =data_027e0f94 + ldr r1, _02138bb8 ; =gPlayerPos mov r8, r0 ldr r3, [r1] ldr r2, [r1, #4] @@ -29554,12 +29554,12 @@ func_ov15_02138478: ; 0x02138478 rsb r0, r0, #0 add r1, sp, #0x54 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r9 add r1, sp, #0x30 bl func_ov15_02138408 mov r4, r0 - ldr r0, _02138bb8 ; =data_027e0f94 + ldr r0, _02138bb8 ; =gPlayerPos add r2, sp, #0x24 ldr r3, [r0] ldr r1, [r0, #4] @@ -29570,11 +29570,11 @@ func_ov15_02138478: ; 0x02138478 mov r3, r2 mov r0, #0x400 str r5, [sp, #0x2c] - bl func_01ff9e64 + bl Vec3p_Axpy add r1, sp, #0x24 mov r0, r9 bl func_ov15_02138408 - ldr r1, _02138bb8 ; =data_027e0f94 + ldr r1, _02138bb8 ; =gPlayerPos mov r7, r0 ldr r3, [r1] mov r0, #0x400 @@ -29587,7 +29587,7 @@ func_ov15_02138478: ; 0x02138478 str r1, [sp, #0x20] add r1, sp, #0x48 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r9 add r1, sp, #0x18 bl func_ov15_02138408 @@ -29595,7 +29595,7 @@ func_ov15_02138478: ; 0x02138478 ldrb r0, [r9, #0x27c] cmp r0, #0 bne _021386b0 - ldr r1, _02138bb8 ; =data_027e0f94 + ldr r1, _02138bb8 ; =gPlayerPos ldr r0, _02138bbc ; =gMapManager ldr r2, [r1, #4] ldr r3, [r1] @@ -29607,14 +29607,14 @@ func_ov15_02138478: ; 0x02138478 mov r2, #0 str r3, [sp, #8] bl _ZN10MapManager16MapData_vfunc_68Ev - ldr r1, _02138bb8 ; =data_027e0f94 + ldr r1, _02138bb8 ; =gPlayerPos ldr r1, [r1, #4] cmp r1, r0 movlt r0, #1 movge r0, #0 cmp r0, #0 beq _021386b0 - ldr r0, _02138ba4 ; =data_027e0fa0 + ldr r0, _02138ba4 ; =gPlayerVel mvn r1, #0x5f ldr r2, [r0, #4] cmp r2, r1 @@ -29695,7 +29695,7 @@ _0213879c: add r1, sp, #0x6c mov r3, r2 rsb r0, ip, #0 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r10, asr #0x1f mov r1, r0, lsl #0x4 mov r0, #0x800 @@ -29708,8 +29708,8 @@ _0213879c: rsb r0, r1, #0 add r1, sp, #0x60 mov r3, r2 - bl func_01ff9e64 - ldr ip, _02138ba4 ; =data_027e0fa0 + bl Vec3p_Axpy + ldr ip, _02138ba4 ; =gPlayerVel ldr r0, [sp, #0x10] ldr r1, [ip, #4] mov r3, #0 @@ -29720,8 +29720,8 @@ _0213879c: ldrb r0, [r9, #0x26e] cmp r0, #0 beq _02138894 - ldr r0, _02138bb4 ; =data_027e0fac - ldr r10, _02138bb0 ; =data_02050f54 + ldr r0, _02138bb4 ; =gPlayerAngle + ldr r10, _02138bb0 ; =gSinCosTable ldrh r0, [r0] ldr r2, [r9, #0x78] mov r0, r0, asr #0x4 @@ -29915,7 +29915,7 @@ _02138b08: mov r2, #0 mla r3, r1, r2, r3 mov r2, r1, asr #0x1f - ldr r1, _02138ba4 ; =data_027e0fa0 + ldr r1, _02138ba4 ; =gPlayerVel adds r4, r4, #0x800 mla r3, r2, r0, r3 adc r0, r3, #0 @@ -29950,12 +29950,12 @@ _02138b78: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02138ba0: .word data_027e10a4 -_02138ba4: .word data_027e0fa0 +_02138ba4: .word gPlayerVel _02138ba8: .word data_ov15_0218aa28 _02138bac: .word data_027e0fb0 -_02138bb0: .word data_02050f54 -_02138bb4: .word data_027e0fac -_02138bb8: .word data_027e0f94 +_02138bb0: .word gSinCosTable +_02138bb4: .word gPlayerAngle +_02138bb8: .word gPlayerPos _02138bbc: .word gMapManager _02138bc0: .word 0xffffc71c _02138bc4: .word 0x000004cd @@ -29976,7 +29976,7 @@ func_ov15_02138bc8: ; 0x02138bc8 cmpeq r0, #6 bne _02138c18 ldr r1, [r4, #0x14] - ldr r0, _02138f9c ; =data_027e0f94 + ldr r0, _02138f9c ; =gPlayerPos add sp, sp, #0xe8 str r1, [r0] ldr r1, [r4, #0x18] @@ -29985,14 +29985,14 @@ func_ov15_02138bc8: ; 0x02138bc8 str r1, [r0, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02138c18: - ldr r0, _02138f9c ; =data_027e0f94 - ldr r1, _02138fa0 ; =data_027e0fa0 + ldr r0, _02138f9c ; =gPlayerPos + ldr r1, _02138fa0 ; =gPlayerVel mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xe8 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02138c30: - ldr r0, _02138f9c ; =data_027e0f94 + ldr r0, _02138f9c ; =gPlayerPos add r3, sp, #0x7c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -30001,10 +30001,10 @@ _02138c30: add r1, sp, #0x6c ldr r2, [r2, #0x14] blx r2 - ldr r0, _02138fa0 ; =data_027e0fa0 + ldr r0, _02138fa0 ; =gPlayerVel add r1, sp, #0x6c add r2, sp, #0x60 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02138fa4 ; =data_027e0ff8 mvn r1, #0 str r1, [sp, #0x24] @@ -30017,7 +30017,7 @@ _02138c30: add r0, sp, #0x60 add r1, sp, #0x54 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 ldr r1, _02138fa8 ; =0x0000ffff strh r0, [sp, #0xb4] @@ -30067,14 +30067,14 @@ _02138c30: beq _02138eb8 add r0, sp, #0x94 add r1, sp, #0x48 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [sp, #0x48] ldr r1, [sp, #0x50] - bl func_01ffa0f4 - ldr r2, _02138fb4 ; =data_027e0fac + bl Atan2 + ldr r2, _02138fb4 ; =gPlayerAngle mov r1, r0, lsl #0x10 ldrsh r3, [r2] - ldr r2, _02138fb8 ; =data_02050f54 + ldr r2, _02138fb8 ; =gSinCosTable ldr r0, [r4, #0x78] rsb r1, r3, r1, asr #16 mov r1, r1, lsl #0x10 @@ -30118,11 +30118,11 @@ _02138c30: strgt r0, [r4, #0x78] cmp r2, #0 ldrgt r0, [r4, #0x80] - ldr r1, _02138fa0 ; =data_027e0fa0 + ldr r1, _02138fa0 ; =gPlayerVel subgt r0, r0, r2 strgt r0, [r4, #0x80] add r0, sp, #0x48 - bl func_01ff9c2c + bl Vec3p_Dot mvn r1, #0xcc cmp r0, r1 bge _02138eb8 @@ -30144,7 +30144,7 @@ _02138c30: _02138e84: cmp r2, #0 beq _02138e9c - ldr r0, _02138fc0 ; =data_027e0fb8 + ldr r0, _02138fc0 ; =gPlayerControl ldr r0, [r0] blx _ZN13PlayerControl9UpdateAimEv b _02138eb8 @@ -30165,7 +30165,7 @@ _02138eb8: str r0, [sp, #0x68] _02138ed0: ldr r3, [sp, #0x60] - ldr r2, _02138f9c ; =data_027e0f94 + ldr r2, _02138f9c ; =gPlayerPos ldr r5, [sp, #0x64] ldr r6, [sp, #0x68] str r3, [r2] @@ -30211,23 +30211,23 @@ _02138ed0: ldr r4, [r0] ldrb r1, [r1, #0x12] ldr r4, [r4, #0x30] - ldr r2, _02138fc8 ; =data_027e0d0c + ldr r2, _02138fc8 ; =gVec3p_ZERO blx r4 add sp, sp, #0xe8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02138f9c: .word data_027e0f94 -_02138fa0: .word data_027e0fa0 +_02138f9c: .word gPlayerPos +_02138fa0: .word gPlayerVel _02138fa4: .word data_027e0ff8 _02138fa8: .word 0x0000ffff _02138fac: .word data_ov15_0218eec0 _02138fb0: .word gMapManager -_02138fb4: .word data_027e0fac -_02138fb8: .word data_02050f54 +_02138fb4: .word gPlayerAngle +_02138fb8: .word gSinCosTable _02138fbc: .word data_027e0f6c -_02138fc0: .word data_027e0fb8 +_02138fc0: .word gPlayerControl _02138fc4: .word data_ov15_0218eeb4 -_02138fc8: .word data_027e0d0c +_02138fc8: .word gVec3p_ZERO arm_func_end func_ov15_02138bc8 .global func_ov15_02138fcc @@ -30416,7 +30416,7 @@ _0213922c: add r1, sp, #0x14 mov r0, r7 bl func_ov15_02135d78 - ldr r0, _021394f0 ; =data_027e0fb8 + ldr r0, _021394f0 ; =gPlayerControl ldr r0, [r0] blx _ZN13PlayerControl9UpdateAimEv b _021393f4 @@ -30450,7 +30450,7 @@ _021392b4: _021392cc: cmp r4, #2 bne _021393f4 - ldr r0, _021394f4 ; =data_027e0fac + ldr r0, _021394f4 ; =gPlayerAngle mov r1, #0x5a str r1, [r7, #0x264] ldr r4, _021394f8 ; =0xfffffccd @@ -30463,9 +30463,9 @@ _021392cc: str r2, [sp, #0x44] bl func_ov00_020a61ac add r1, sp, #0x3c - ldr r0, _021394fc ; =data_027e0f94 + ldr r0, _021394fc ; =gPlayerPos mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0x5c str r1, [sp] add r0, sp, #0x3c @@ -30490,7 +30490,7 @@ _021392cc: bl func_ov00_0207c2e8 sub r1, r4, #0xa90 str r1, [sp, #0x30] - ldr r1, _021394f4 ; =data_027e0fac + ldr r1, _021394f4 ; =gPlayerAngle ldr r0, _02139504 ; =0x00000829 ldrsh r1, [r1] str r0, [sp, #0x34] @@ -30500,13 +30500,13 @@ _021392cc: bl func_ov00_020a61ac add r0, sp, #0x30 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r7, #0x178 add r1, sp, #0x30 bl func_ov00_020b7ea4 rsb r1, r4, #0xa90 str r1, [sp, #0x30] - ldr r1, _021394f4 ; =data_027e0fac + ldr r1, _021394f4 ; =gPlayerAngle ldr r0, _02139504 ; =0x00000829 ldrsh r1, [r1] str r0, [sp, #0x34] @@ -30516,14 +30516,14 @@ _021392cc: bl func_ov00_020a61ac add r0, sp, #0x30 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r7, #0x17c add r1, sp, #0x30 bl func_ov00_020b7ea4 mov r0, #0x28 str r0, [r7, #0x268] _021393f4: - ldr r0, _021394f0 ; =data_027e0fb8 + ldr r0, _021394f0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv ldr r1, [r5] @@ -30551,8 +30551,8 @@ _021393f4: add r0, sp, #0x24 add r1, r7, #0x64 mov r2, r0 - bl func_01ff9bc4 - ldr r1, _021394fc ; =data_027e0f94 + bl Vec3p_Add + ldr r1, _021394fc ; =gPlayerPos add r0, sp, #0x24 ldr r2, [r1, #4] ldr r3, [r1] @@ -30562,7 +30562,7 @@ _021393f4: add r1, sp, #0x18 mov r2, r0 str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add ldrsh r0, [r7, #0xa] add r2, sp, #0x24 mov r3, #0 @@ -30580,7 +30580,7 @@ _021394b8: _021394c8: ldr r0, _02139508 ; =data_027e0ffc ldr r1, _0213950c ; =0x000001a3 - ldr r2, _021394fc ; =data_027e0f94 + ldr r2, _021394fc ; =gPlayerPos mov r3, #0 bl func_ov00_020ceacc _021394dc: @@ -30590,10 +30590,10 @@ _021394dc: .align 2, 0 _021394e8: .word data_027e0d38 _021394ec: .word data_027e0f64 -_021394f0: .word data_027e0fb8 -_021394f4: .word data_027e0fac +_021394f0: .word gPlayerControl +_021394f4: .word gPlayerAngle _021394f8: .word 0xfffffccd -_021394fc: .word data_027e0f94 +_021394fc: .word gPlayerPos _02139500: .word data_027e0e58 _02139504: .word 0x00000829 _02139508: .word data_027e0ffc @@ -30604,7 +30604,7 @@ _0213950c: .word 0x000001a3 arm_func_start func_ov15_02139510 func_ov15_02139510: ; 0x02139510 stmdb sp!, {r3, lr} - ldr r0, _02139550 ; =data_027e0f90 + ldr r0, _02139550 ; =gPlayer ldr r0, [r0] cmp r0, #0 ldmneia sp!, {r3, pc} @@ -30617,11 +30617,11 @@ func_ov15_02139510: ; 0x02139510 beq _02139544 bl func_ov15_0213955c _02139544: - ldr r1, _02139550 ; =data_027e0f90 + ldr r1, _02139550 ; =gPlayer str r0, [r1] ldmia sp!, {r3, pc} .align 2, 0 -_02139550: .word data_027e0f90 +_02139550: .word gPlayer _02139554: .word data_027e0ce0 _02139558: .word 0x00000a44 arm_func_end func_ov15_02139510 @@ -31279,10 +31279,10 @@ func_ov15_02139ef4: ; 0x02139ef4 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - ldr r0, _02139f4c ; =data_027e0f94 + ldr r0, _02139f4c ; =gPlayerPos mov r2, r4 add r1, r5, #0x64 - bl func_01ff9bc4 + bl Vec3p_Add ldrsh r0, [r5, #0xa] cmp r0, #0 ble _02139f34 @@ -31301,7 +31301,7 @@ _02139f40: str r0, [r4, #0xc] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02139f4c: .word data_027e0f94 +_02139f4c: .word gPlayerPos arm_func_end func_ov15_02139ef4 .global func_ov15_02139f50 @@ -31310,15 +31310,15 @@ func_ov15_02139f50: ; 0x02139f50 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 mov r4, r1 - ldr r0, _02139f78 ; =data_027e0f94 + ldr r0, _02139f78 ; =gPlayerPos mov r2, r4 add r1, r5, #0x64 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x70] str r0, [r4, #0xc] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02139f78: .word data_027e0f94 +_02139f78: .word gPlayerPos arm_func_end func_ov15_02139f50 .global func_ov15_02139f7c @@ -31341,7 +31341,7 @@ func_ov15_02139f84: ; 0x02139f84 ldr r0, _0213a138 ; =data_027e0e58 str r1, [sp] ldr r0, [r0] - ldr r3, _0213a13c ; =data_027e0d0c + ldr r3, _0213a13c ; =gVec3p_ZERO add r1, r4, #0xb0 mov r2, #0xaa bl func_ov00_0207c1f8 @@ -31351,7 +31351,7 @@ func_ov15_02139f84: ; 0x02139f84 add r1, r4, #0xb4 ldr r0, [r0] mov r2, #0xab - ldr r3, _0213a13c ; =data_027e0d0c + ldr r3, _0213a13c ; =gVec3p_ZERO bl func_ov00_0207c1f8 mov r0, #1 str r0, [sp] @@ -31359,7 +31359,7 @@ func_ov15_02139f84: ; 0x02139f84 add r1, r4, #0xb8 ldr r0, [r0] mov r2, #0xac - ldr r3, _0213a13c ; =data_027e0d0c + ldr r3, _0213a13c ; =gVec3p_ZERO bl func_ov00_0207c1f8 mov r0, #1 str r0, [sp] @@ -31367,7 +31367,7 @@ func_ov15_02139f84: ; 0x02139f84 add r1, r4, #0xbc ldr r0, [r0] mov r2, #0xad - ldr r3, _0213a13c ; =data_027e0d0c + ldr r3, _0213a13c ; =gVec3p_ZERO bl func_ov00_0207c1f8 ldr r0, [r4, #0x20] bl func_ov09_0211500c @@ -31438,17 +31438,17 @@ _0213a0c4: mov r2, #0 bl func_ov09_021154e8 _0213a124: - ldr r0, _0213a148 ; =data_027e0fac + ldr r0, _0213a148 ; =gPlayerAngle ldrsh r0, [r0] strh r0, [r4, #0x8c] add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 _0213a138: .word data_027e0e58 -_0213a13c: .word data_027e0d0c +_0213a13c: .word gVec3p_ZERO _0213a140: .word data_027e0d38 _0213a144: .word data_027e1094 -_0213a148: .word data_027e0fac +_0213a148: .word gPlayerAngle arm_func_end func_ov15_02139f84 .global func_ov15_0213a14c @@ -31464,12 +31464,12 @@ _0213a158: str r2, [r1, #0x40c] cmp r3, #5 blt _0213a158 - ldr r1, _0213a180 ; =data_027e0fac + ldr r1, _0213a180 ; =gPlayerAngle ldrsh r1, [r1] strh r1, [r0, #0x8c] bx lr .align 2, 0 -_0213a180: .word data_027e0fac +_0213a180: .word gPlayerAngle arm_func_end func_ov15_0213a14c .global func_ov15_0213a184 @@ -31545,7 +31545,7 @@ _0213a260: moveq r0, #0 streqb r0, [r5, #0x26d] streqb r0, [r5, #0x26c] - ldr r0, _0213a46c ; =data_027e0fb8 + ldr r0, _0213a46c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020af2d4Ejb cmp r0, #0 @@ -31554,7 +31554,7 @@ _0213a260: _0213a2ac: ldrb r1, [r5, #0x4d4] mov r2, #0 - ldr r0, _0213a470 ; =data_027e0f94 + ldr r0, _0213a470 ; =gPlayerPos strb r1, [r5, #0x4d5] strb r2, [r5, #0x4d4] ldrb r1, [r5, #0x4d6] @@ -31664,7 +31664,7 @@ _0213a404: strne r0, [r5, #0x244] mov r0, r5 bl func_ov15_021356e8 - ldr r0, _0213a47c ; =data_027e0fac + ldr r0, _0213a47c ; =gPlayerAngle ldrsh r0, [r0] strh r0, [r5, #0x8c] ldmia sp!, {r3, r4, r5, pc} @@ -31675,11 +31675,11 @@ _0213a45c: .word data_027e103c _0213a460: .word gAdventureFlags _0213a464: .word data_027e0e2c _0213a468: .word data_027e0d38 -_0213a46c: .word data_027e0fb8 -_0213a470: .word data_027e0f94 +_0213a46c: .word gPlayerControl +_0213a470: .word gPlayerPos _0213a474: .word data_027e0d78 _0213a478: .word data_ov15_02190458 -_0213a47c: .word data_027e0fac +_0213a47c: .word gPlayerAngle arm_func_end func_ov15_0213a184 .global func_ov15_0213a480 @@ -31711,14 +31711,14 @@ _0213a4b0: addeq sp, sp, #8 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r1, _0213a4fc ; =data_027e0fac + ldr r1, _0213a4fc ; =gPlayerAngle mov r0, #1 ldrsh r1, [r1] strh r1, [r4, #0x8c] add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0213a4fc: .word data_027e0fac +_0213a4fc: .word gPlayerAngle arm_func_end func_ov15_0213a480 .global func_ov15_0213a500 @@ -31870,7 +31870,7 @@ _0213a660: .word data_027e0fe0 func_ov15_0213a664: ; 0x0213a664 stmdb sp!, {r4, lr} ldrh r2, [r1] - ldr r3, _0213a6dc ; =data_02050f54 + ldr r3, _0213a6dc ; =gSinCosTable mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 @@ -31899,7 +31899,7 @@ func_ov15_0213a664: ; 0x0213a664 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 -_0213a6dc: .word data_02050f54 +_0213a6dc: .word gSinCosTable arm_func_end func_ov15_0213a664 .global func_ov15_0213a6e0 @@ -32505,7 +32505,7 @@ _0213ae88: add r0, sp, #0xd8 add r1, sp, #0xc0 add r2, sp, #0xcc - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0xcc mov r0, r5 ldmia r1, {r1, r2, r3} @@ -32518,7 +32518,7 @@ _0213ae88: add r0, sp, #0xd8 add r1, sp, #0xb4 add r2, sp, #0xcc - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x78 str r0, [sp] ldr r1, _0213b140 ; =func_ov15_0213a664 @@ -32867,7 +32867,7 @@ func_ov15_0213b378: ; 0x0213b378 stmdb sp!, {r4, lr} ldr r1, _0213b3d8 ; =data_ov15_0218ace8 mov r4, r0 - ldr r0, _0213b3dc ; =data_027e0fe4 + ldr r0, _0213b3dc ; =gActorManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x34 @@ -32891,7 +32891,7 @@ _0213b3b8: ldmia sp!, {r4, pc} .align 2, 0 _0213b3d8: .word data_ov15_0218ace8 -_0213b3dc: .word data_027e0fe4 +_0213b3dc: .word gActorManager _0213b3e0: .word 0x4b4d4741 arm_func_end func_ov15_0213b378 @@ -32901,7 +32901,7 @@ func_ov15_0213b3e4: ; 0x0213b3e4 stmdb sp!, {r4, lr} ldr r1, _0213b44c ; =data_ov15_0218ace8 mov r4, r0 - ldr r0, _0213b450 ; =data_027e0fe4 + ldr r0, _0213b450 ; =gActorManager str r1, [r4] ldr r0, [r0] add r1, r4, #0x34 @@ -32927,7 +32927,7 @@ _0213b424: ldmia sp!, {r4, pc} .align 2, 0 _0213b44c: .word data_ov15_0218ace8 -_0213b450: .word data_027e0fe4 +_0213b450: .word gActorManager _0213b454: .word 0x4b4d4741 arm_func_end func_ov15_0213b3e4 @@ -32935,7 +32935,7 @@ _0213b454: .word 0x4b4d4741 arm_func_start func_ov15_0213b458 func_ov15_0213b458: ; 0x0213b458 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} - ldr r1, _0213b63c ; =data_027e0fe4 + ldr r1, _0213b63c ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x34 @@ -32959,7 +32959,7 @@ _0213b49c: umull r7, r6, r5, r3 mla r6, r5, r1, r6 ldr r5, [r2, #0xc] - ldr r0, _0213b648 ; =data_027e0f94 + ldr r0, _0213b648 ; =gPlayerPos mla r6, r5, r3, r6 ldr r1, [r0, #4] ldr r8, [r2, #0x10] @@ -32975,7 +32975,7 @@ _0213b49c: str r0, [r4, #0x4c] str r0, [r4, #0x26c] ldr r1, [r4, #0x48] - ldr r0, _0213b64c ; =data_027e0d0c + ldr r0, _0213b64c ; =gVec3p_ZERO str r1, [r4, #0x54] ldr r1, [r4, #0x4c] mov r6, #0x80 @@ -33057,11 +33057,11 @@ _0213b49c: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0213b63c: .word data_027e0fe4 +_0213b63c: .word gActorManager _0213b640: .word 0x4b4d4741 _0213b644: .word data_027e0764 -_0213b648: .word data_027e0f94 -_0213b64c: .word data_027e0d0c +_0213b648: .word gPlayerPos +_0213b64c: .word gVec3p_ZERO _0213b650: .word 0x0000ffff arm_func_end func_ov15_0213b458 @@ -33119,7 +33119,7 @@ func_ov15_0213b6f4: ; 0x0213b6f4 sub sp, sp, #0xc mov r4, r0 ldrh r0, [r4, #0x78] - ldr r2, _0213b814 ; =data_02050f54 + ldr r2, _0213b814 ; =gSinCosTable ldr r3, [r4, #0x27c] mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 @@ -33156,13 +33156,13 @@ func_ov15_0213b6f4: ; 0x0213b6f4 add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x64] - bl func_01ff9bc4 - ldr r1, _0213b81c ; =data_027e0f94 + bl Vec3p_Add + ldr r1, _0213b81c ; =gPlayerPos add r2, sp, #0 add r0, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 cmp r5, #0x800 addge sp, sp, #0xc @@ -33184,13 +33184,13 @@ func_ov15_0213b6f4: ; 0x0213b6f4 add r0, r4, #0x48 add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0213b814: .word data_02050f54 +_0213b814: .word gSinCosTable _0213b818: .word 0x00000d9a -_0213b81c: .word data_027e0f94 +_0213b81c: .word gPlayerPos arm_func_end func_ov15_0213b6f4 .global func_ov15_0213b820 @@ -33234,7 +33234,7 @@ func_ov15_0213b820: ; 0x0213b820 orr r4, r4, r3, lsl #20 str r4, [r2, #0x68] add r2, r2, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0213b8c0: .word 0x00000d9a @@ -33295,7 +33295,7 @@ func_ov15_0213b908: ; 0x0213b908 str ip, [r3, #4] add r1, r6, #0xb4 str r1, [r4, #0x288] - ldr r1, _0213b9e4 ; =data_027e0f94 + ldr r1, _0213b9e4 ; =gPlayerPos ldr ip, [r3] ldmib r3, {r2, lr} umull r6, r5, lr, ip @@ -33322,7 +33322,7 @@ func_ov15_0213b908: ; 0x0213b908 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0213b9e0: .word data_027e0764 -_0213b9e4: .word data_027e0f94 +_0213b9e4: .word gPlayerPos _0213b9e8: .word data_ov15_0218ac90 arm_func_end func_ov15_0213b908 @@ -33339,13 +33339,13 @@ func_ov15_0213b9ec: ; 0x0213b9ec mov r0, r8 bl func_ov15_0213bbe4 _0213ba10: - ldr r0, _0213bbd4 ; =data_027e0f94 + ldr r0, _0213bbd4 ; =gPlayerPos add r2, sp, #4 add r1, r8, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #4] ldr r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 ldr r1, _0213bbd8 ; =0x00000171 mov r0, r0, lsl #0x10 str r1, [r8, #0x280] @@ -33416,7 +33416,7 @@ _0213bac4: _0213bb30: add r0, r8, #0x200 ldrh r1, [r0, #0x8e] - ldr r0, _0213bbe0 ; =data_02050f54 + ldr r0, _0213bbe0 ; =gSinCosTable ldr r3, [r8, #0x280] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -33456,10 +33456,10 @@ _0213bb30: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0213bbd4: .word data_027e0f94 +_0213bbd4: .word gPlayerPos _0213bbd8: .word 0x00000171 _0213bbdc: .word 0xffffe71c -_0213bbe0: .word data_02050f54 +_0213bbe0: .word gSinCosTable arm_func_end func_ov15_0213b9ec .global func_ov15_0213bbe4 @@ -33494,7 +33494,7 @@ func_ov15_0213bbe4: ; 0x0213bbe4 str ip, [r3, #4] add r1, r6, #0x78 str r1, [r4, #0x288] - ldr r1, _0213bcc0 ; =data_027e0f94 + ldr r1, _0213bcc0 ; =gPlayerPos ldr ip, [r3] ldmib r3, {r2, lr} umull r6, r5, lr, ip @@ -33521,7 +33521,7 @@ func_ov15_0213bbe4: ; 0x0213bbe4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0213bcbc: .word data_027e0764 -_0213bcc0: .word data_027e0f94 +_0213bcc0: .word gPlayerPos _0213bcc4: .word data_ov15_0218ac90 arm_func_end func_ov15_0213bbe4 @@ -33531,34 +33531,34 @@ func_ov15_0213bcc8: ; 0x0213bcc8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x1c mov r5, r0 - ldr r0, _0213bee8 ; =data_027e0f94 + ldr r0, _0213bee8 ; =gPlayerPos add r2, sp, #0x10 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, _0213beec ; =data_ov15_02185f9c add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0213bef0 ; =data_027e0fac + ldr r0, _0213bef0 ; =gPlayerAngle mov r1, r3 ldrsh r0, [r0] bl func_0202af4c add r0, sp, #0x10 add r1, sp, #4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x288] sub r0, r0, #1 str r0, [r5, #0x288] cmp r0, #0 ble _0213bd38 add r0, sp, #0x10 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x2000 bge _0213bd64 _0213bd38: - ldr r0, _0213bef4 ; =data_027e0fa0 - bl func_01ff9cec + ldr r0, _0213bef4 ; =gPlayerVel + bl Vec3p_Length cmp r0, #0x52 mov r0, r5 ble _0213bd58 @@ -33587,7 +33587,7 @@ _0213bd64: _0213bd9c: ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldrsh r1, [r5, #0x78] mov r4, r0, asr #0x10 @@ -33626,7 +33626,7 @@ _0213bdd8: bl func_0202b3bc add r0, r5, #0x200 ldrh r1, [r0, #0x8e] - ldr r0, _0213befc ; =data_02050f54 + ldr r0, _0213befc ; =gSinCosTable mov r4, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -33670,12 +33670,12 @@ _0213bdd8: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0213bee8: .word data_027e0f94 +_0213bee8: .word gPlayerPos _0213beec: .word data_ov15_02185f9c -_0213bef0: .word data_027e0fac -_0213bef4: .word data_027e0fa0 +_0213bef0: .word gPlayerAngle +_0213bef4: .word gPlayerVel _0213bef8: .word 0xffffe71c -_0213befc: .word data_02050f54 +_0213befc: .word gSinCosTable _0213bf00: .word 0x00000133 arm_func_end func_ov15_0213bcc8 @@ -33711,7 +33711,7 @@ func_ov15_0213bf04: ; 0x0213bf04 str ip, [r3, #4] add r1, r6, #0x78 str r1, [r4, #0x288] - ldr r1, _0213bfe0 ; =data_027e0f94 + ldr r1, _0213bfe0 ; =gPlayerPos ldr ip, [r3] ldmib r3, {r2, lr} umull r6, r5, lr, ip @@ -33738,7 +33738,7 @@ func_ov15_0213bf04: ; 0x0213bf04 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0213bfdc: .word data_027e0764 -_0213bfe0: .word data_027e0f94 +_0213bfe0: .word gPlayerPos _0213bfe4: .word data_ov15_0218ac90 arm_func_end func_ov15_0213bf04 @@ -33748,22 +33748,22 @@ func_ov15_0213bfe8: ; 0x0213bfe8 stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x1c mov r6, r0 - ldr r0, _0213c258 ; =data_027e0f94 + ldr r0, _0213c258 ; =gPlayerPos add r2, sp, #0x10 add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, _0213c25c ; =data_ov15_02185fa8 add r3, sp, #4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0213c260 ; =data_027e0fac + ldr r0, _0213c260 ; =gPlayerAngle mov r1, r3 ldrsh r0, [r0] bl func_0202af4c add r0, sp, #0x10 add r1, sp, #4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0x288] cmp r0, #0 bgt _0213c0a4 @@ -33798,7 +33798,7 @@ _0213c0a4: str r0, [r6, #0x288] ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldrsh r2, [r6, #0x78] mov r5, r0, asr #0x10 @@ -33839,7 +33839,7 @@ _0213c0ec: add r0, r6, #0x200 ldrh r2, [r0, #0x8e] ldrh r0, [r0, #0x8c] - ldr r1, _0213c270 ; =data_02050f54 + ldr r1, _0213c270 ; =gSinCosTable mov r2, r2, asr #0x4 mov r0, r0, asr #0x4 mov r2, r2, lsl #0x1 @@ -33850,11 +33850,11 @@ _0213c0ec: mov r0, r0, lsl #0x1 ldrsh r2, [r1, r2] ldrsh r1, [r1, r0] - ldr r0, _0213c274 ; =data_027e0fa0 + ldr r0, _0213c274 ; =gPlayerVel smulbb r1, r2, r1 add r1, r1, #0x800 mov r4, r1, asr #0xc - bl func_01ff9cec + bl Vec3p_Length smull r2, r1, r0, r4 adds r2, r2, #0x800 adc r0, r1, #0 @@ -33906,14 +33906,14 @@ _0213c1ec: add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0213c258: .word data_027e0f94 +_0213c258: .word gPlayerPos _0213c25c: .word data_ov15_02185fa8 -_0213c260: .word data_027e0fac +_0213c260: .word gPlayerAngle _0213c264: .word data_027e0764 _0213c268: .word 0x00001c72 _0213c26c: .word 0xfffff1c7 -_0213c270: .word data_02050f54 -_0213c274: .word data_027e0fa0 +_0213c270: .word gSinCosTable +_0213c274: .word gPlayerVel _0213c278: .word 0x00000133 arm_func_end func_ov15_0213bfe8 @@ -33949,7 +33949,7 @@ func_ov15_0213c27c: ; 0x0213c27c str r6, [r1, #4] add r0, r5, #0xb4 str r0, [r4, #0x288] - ldr r0, _0213c35c ; =data_027e0f94 + ldr r0, _0213c35c ; =gPlayerPos ldr lr, [r1] ldmib r1, {r3, r5} umull r7, r6, r5, lr @@ -33977,7 +33977,7 @@ func_ov15_0213c27c: ; 0x0213c27c ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0213c358: .word data_027e0764 -_0213c35c: .word data_027e0f94 +_0213c35c: .word gPlayerPos _0213c360: .word data_ov15_0218ac90 arm_func_end func_ov15_0213c27c @@ -33989,13 +33989,13 @@ func_ov15_0213c364: ; 0x0213c364 mov r7, r0 bl _ZN5Actor16XzDistanceToLinkEv mov r4, r0 - ldr r0, _0213c4e0 ; =data_027e0f94 + ldr r0, _0213c4e0 ; =gPlayerPos add r2, sp, #4 add r1, r7, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #4] ldr r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 ldr r1, _0213c4e4 ; =0x00000171 mov r0, r0, lsl #0x10 str r1, [r7, #0x280] @@ -34039,7 +34039,7 @@ _0213c3d8: bl func_0202b3bc add r0, r7, #0x200 ldrh r2, [r0, #0x8e] - ldr r0, _0213c4ec ; =data_02050f54 + ldr r0, _0213c4ec ; =gSinCosTable ldr r1, [r7, #0x280] mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -34083,10 +34083,10 @@ _0213c4d0: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0213c4e0: .word data_027e0f94 +_0213c4e0: .word gPlayerPos _0213c4e4: .word 0x00000171 _0213c4e8: .word 0xffffe71c -_0213c4ec: .word data_02050f54 +_0213c4ec: .word gSinCosTable arm_func_end func_ov15_0213c364 .global func_ov15_0213c4f0 @@ -34107,7 +34107,7 @@ func_ov15_0213c4f0: ; 0x0213c4f0 mov r1, #0x200 str r1, [r0, #0x10] mov r1, #0 - ldr r0, _0213c574 ; =data_027e0fe4 + ldr r0, _0213c574 ; =gActorManager str r1, [r4, #0x27c] ldr r0, [r0] add r1, r4, #0x34 @@ -34127,7 +34127,7 @@ _0213c55c: str r0, [r4, #0x278] ldmia sp!, {r4, pc} .align 2, 0 -_0213c574: .word data_027e0fe4 +_0213c574: .word gActorManager _0213c578: .word 0x4b4d4741 _0213c57c: .word data_ov15_0218ac90 arm_func_end func_ov15_0213c4f0 @@ -34207,7 +34207,7 @@ func_ov15_0213c5c4: ; 0x0213c5c4 str r5, [lr, #4] sub r0, r1, #0x1000 str r0, [r4, #0x268] - ldr ip, _0213c780 ; =data_027e0f94 + ldr ip, _0213c780 ; =gPlayerPos ldr r8, [lr] ldr r6, [ip, #4] ldmib lr, {r7, r10} @@ -34271,7 +34271,7 @@ func_ov15_0213c5c4: ; 0x0213c5c4 .align 2, 0 _0213c778: .word data_027e0764 _0213c77c: .word 0x00002001 -_0213c780: .word data_027e0f94 +_0213c780: .word gPlayerPos _0213c784: .word data_ov15_0218ac90 arm_func_end func_ov15_0213c5c4 @@ -34282,8 +34282,8 @@ func_ov15_0213c788: ; 0x0213c788 sub sp, sp, #0x10 mov r4, r0 bl _ZN5Actor16XzDistanceToLinkEv - ldr r0, _0213cb00 ; =data_027e0fa0 - bl func_01ff9cec + ldr r0, _0213cb00 ; =gPlayerVel + bl Vec3p_Length cmp r0, #0x52 ble _0213c7b4 mov r0, r4 @@ -34341,7 +34341,7 @@ _0213c7b4: str r3, [r0, #4] sub r1, r2, #0x1000 str r1, [r4, #0x268] - ldr r1, _0213cb0c ; =data_027e0f94 + ldr r1, _0213cb0c ; =gPlayerPos ldr ip, [r0] ldmib r0, {r3, r5, lr} umull r7, r6, r5, ip @@ -34411,17 +34411,17 @@ _0213c958: mov r1, #0x1000 str r1, [r0, #0x10] _0213c990: - ldr r0, _0213cb0c ; =data_027e0f94 + ldr r0, _0213cb0c ; =gPlayerPos add r2, sp, #4 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #4 add r1, r4, #0x268 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #4] ldr r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldrsh r1, [r4, #0x78] mov r5, r0, asr #0x10 @@ -34468,7 +34468,7 @@ _0213c9ec: mov r1, r1, lsl #0x1 add r1, r1, #1 mov r3, r1, lsl #0x1 - ldr r1, _0213cb14 ; =data_02050f54 + ldr r1, _0213cb14 ; =gSinCosTable mov r2, #0x100 ldrsh r1, [r1, r3] mov r3, #0x10 @@ -34505,12 +34505,12 @@ _0213c9ec: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0213cb00: .word data_027e0fa0 +_0213cb00: .word gPlayerVel _0213cb04: .word data_027e0764 _0213cb08: .word 0x00002001 -_0213cb0c: .word data_027e0f94 +_0213cb0c: .word gPlayerPos _0213cb10: .word 0xffffe71c -_0213cb14: .word data_02050f54 +_0213cb14: .word gSinCosTable arm_func_end func_ov15_0213c788 .global func_ov15_0213cb18 @@ -34572,7 +34572,7 @@ _0213cbd8: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _0213cbf0: ldr r0, [r5, #0x284] sub r0, r0, #1 @@ -34702,7 +34702,7 @@ func_ov15_0213cd5c: ; 0x0213cd5c ldmeqia sp!, {r4, r5, r6, pc} add r3, r6, #0x200 ldrh r0, [r3, #0x8c] - ldr r2, _0213ce44 ; =data_02050f54 + ldr r2, _0213ce44 ; =gSinCosTable ldrh r5, [r6, #0x78] mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 @@ -34717,7 +34717,7 @@ func_ov15_0213cd5c: ; 0x0213cd5c mov r0, r5, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0213ce44 ; =data_02050f54 + ldr r2, _0213ce44 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -34727,7 +34727,7 @@ func_ov15_0213cd5c: ; 0x0213cd5c mov r0, r4, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0213ce44 ; =data_02050f54 + ldr r2, _0213ce44 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -34750,7 +34750,7 @@ func_ov15_0213cd5c: ; 0x0213cd5c add sp, sp, #0x90 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0213ce44: .word data_02050f54 +_0213ce44: .word gSinCosTable _0213ce48: .word data_027e016c arm_func_end func_ov15_0213cd5c @@ -34879,7 +34879,7 @@ _0213cfb0: .word data_ov15_0218ef1c arm_func_start func_ov15_0213cfb4 func_ov15_0213cfb4: ; 0x0213cfb4 stmdb sp!, {r4, lr} - ldr r2, _0213cfe4 ; =data_027e0fb8 + ldr r2, _0213cfe4 ; =gPlayerControl mov r4, r0 ldr r0, [r2] mov r2, r1 @@ -34891,7 +34891,7 @@ func_ov15_0213cfb4: ; 0x0213cfb4 bl func_ov15_0213dcc0 ldmia sp!, {r4, pc} .align 2, 0 -_0213cfe4: .word data_027e0fb8 +_0213cfe4: .word gPlayerControl arm_func_end func_ov15_0213cfb4 .global func_ov15_0213cfe8 @@ -34916,7 +34916,7 @@ _0213d024: ldr r1, [r9, #4] mov r0, #0xc smlabb r0, r4, r0, r1 - ldr r3, _0213d1a8 ; =data_027e0f94 + ldr r3, _0213d1a8 ; =gPlayerPos add r5, sp, #0x24 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} @@ -34928,7 +34928,7 @@ _0213d024: add r1, sp, #0x18 mov r0, r5 str r2, [sp, #0x20] - bl func_01ff9ec0 + bl Vec3p_Distance subs r8, r8, r0 bmi _0213d09c ldrh r1, [r9, #0xc] @@ -34970,13 +34970,13 @@ _0213d09c: ldr r3, [r3, #8] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub b _0213d118 _0213d108: add r0, sp, #0xc add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub _0213d118: ldr r1, [r9, #4] add r0, sp, #0xc @@ -35016,7 +35016,7 @@ _0213d190: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0213d1a8: .word data_027e0f94 +_0213d1a8: .word gPlayerPos arm_func_end func_ov15_0213cfe8 .global func_ov15_0213d1ac @@ -35251,7 +35251,7 @@ func_ov15_0213d40c: ; 0x0213d40c movhs r0, #1 ldmhsia sp!, {r3, r4, r5, r6, r7, pc} cmp r0, #0 - ldreq r6, _0213d4ec ; =data_027e0f94 + ldreq r6, _0213d4ec ; =gPlayerPos moveq r7, #0x8000 beq _0213d44c ldr r3, [r5, #4] @@ -35278,7 +35278,7 @@ _0213d44c: _0213d488: mov r0, r4 mov r1, r6 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r7 movle r0, #2 ldmleia sp!, {r3, r4, r5, r6, r7, pc} @@ -35302,7 +35302,7 @@ _0213d488: strh r1, [r5, #0xc] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0213d4ec: .word data_027e0f94 +_0213d4ec: .word gPlayerPos _0213d4f0: .word data_027e0d3c arm_func_end func_ov15_0213d40c @@ -35333,8 +35333,8 @@ _0213d53c: ldr r1, [r5, #4] mov r0, #0xc smlabb r0, r2, r0, r1 - ldr r1, _0213d5e8 ; =data_027e0f94 - bl func_01ff9ec0 + ldr r1, _0213d5e8 ; =gPlayerPos + bl Vec3p_Distance cmp r0, #0x2000 bge _0213d5b4 ldrsh r0, [r5, #0xe] @@ -35377,7 +35377,7 @@ _0213d5b4: ldrsh r0, [r5, #0xe] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0213d5e8: .word data_027e0f94 +_0213d5e8: .word gPlayerPos _0213d5ec: .word data_027e10a4 arm_func_end func_ov15_0213d4f4 @@ -35407,12 +35407,12 @@ _0213d62c: bge _0213d680 mov r0, #0xc smulbb r8, r5, r0 - ldr r4, _0213d70c ; =data_027e0f94 + ldr r4, _0213d70c ; =gPlayerPos _0213d648: ldr r0, [r10, #4] mov r1, r4 add r0, r0, r8 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r7 movlt r7, r0 add r0, r5, #1 @@ -35462,7 +35462,7 @@ _0213d6dc: mov r0, r6 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_0213d70c: .word data_027e0f94 +_0213d70c: .word gPlayerPos arm_func_end func_ov15_0213d5f0 .global func_ov15_0213d710 @@ -36003,24 +36003,24 @@ func_ov15_0213ddb8: ; 0x0213ddb8 mov r7, r0 mov r5, r2 mov r6, r1 - ldr r0, _0213de48 ; =data_027e0f94 + ldr r0, _0213de48 ; =gPlayerPos add r2, sp, #0 add r1, r7, #0x48 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #4] cmp r4, #0 bne _0213de04 ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 strh r0, [r7, #0x78] b _0213de24 _0213de04: ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r2, r4 mov r1, r0, asr #0x10 @@ -36028,7 +36028,7 @@ _0213de04: bl func_0202b154 _0213de24: add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length cmp r5, #0 strne r0, [r5] cmp r0, r6 @@ -36037,7 +36037,7 @@ _0213de24: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0213de48: .word data_027e0f94 +_0213de48: .word gPlayerPos arm_func_end func_ov15_0213ddb8 .global func_ov15_0213de4c @@ -36052,7 +36052,7 @@ func_ov15_0213de4c: ; 0x0213de4c ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x48 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x48 str r1, [sp, #0x64] @@ -36080,7 +36080,7 @@ func_ov15_0213de4c: ; 0x0213de4c ldr r1, _0213e3a0 ; =0x434e424c ldr r0, [r0] bl func_ov00_020c4048 - ldr r0, _0213e3a4 ; =data_027e0fe4 + ldr r0, _0213e3a4 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -36089,7 +36089,7 @@ func_ov15_0213de4c: ; 0x0213de4c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} addeq sp, sp, #0x10 bxeq lr - ldr r0, _0213e3a8 ; =data_027e0f94 + ldr r0, _0213e3a8 ; =gPlayerPos add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -36175,7 +36175,7 @@ _0213e048: mov r0, r10, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 - ldr r1, _0213e3b0 ; =data_02050f54 + ldr r1, _0213e3b0 ; =gSinCosTable mov r3, r3, lsl #0x1 ldrsh r3, [r1, r3] mov r0, r0, lsl #0x1 @@ -36197,17 +36197,17 @@ _0213e048: str r7, [sp, #0x18] str r6, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x3c add r1, sp, #0x74 add r2, sp, #0x24 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r8, [sp, #0x28] mov r2, r6 ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] str r2, [sp, #0x28] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldrsh r2, [r5, #0x78] mov r7, r0, asr #0x10 @@ -36232,7 +36232,7 @@ _0213e048: mov r7, r0, asr #0x10 _0213e130: add r0, sp, #0x24 - bl func_01ff9cec + bl Vec3p_Length ldr r1, [r5, #0x190] cmp r0, r1 bge _0213e1ac @@ -36241,7 +36241,7 @@ _0213e130: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r3, _0213e3b0 ; =data_02050f54 + ldr r3, _0213e3b0 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r3, r2] @@ -36271,7 +36271,7 @@ _0213e1ac: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r3, _0213e3b0 ; =data_02050f54 + ldr r3, _0213e3b0 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r3, r2] @@ -36305,7 +36305,7 @@ _0213e21c: mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 - ldr r6, _0213e3b0 ; =data_02050f54 + ldr r6, _0213e3b0 ; =gSinCosTable mov r3, r2, lsl #0x1 add r1, r2, #1 mov r2, r1, lsl #0x1 @@ -36343,7 +36343,7 @@ _0213e2cc: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r1, r2, #1 - ldr r3, _0213e3b0 ; =data_02050f54 + ldr r3, _0213e3b0 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] @@ -36393,10 +36393,10 @@ _0213e360: _0213e398: .word 0x53504b4e _0213e39c: .word data_027e0fe8 _0213e3a0: .word 0x434e424c -_0213e3a4: .word data_027e0fe4 -_0213e3a8: .word data_027e0f94 +_0213e3a4: .word gActorManager +_0213e3a8: .word gPlayerPos _0213e3ac: .word data_027e0764 -_0213e3b0: .word data_02050f54 +_0213e3b0: .word gSinCosTable arm_func_end func_ov15_0213de4c .global func_ov15_0213e3b4 @@ -36448,7 +36448,7 @@ _0213e430: .word 0x0000041c func_ov15_0213e434: ; 0x0213e434 stmdb sp!, {r4, lr} ldrh r2, [r1] - ldr r3, _0213e4ac ; =data_02050f54 + ldr r3, _0213e4ac ; =gSinCosTable mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 @@ -36477,7 +36477,7 @@ func_ov15_0213e434: ; 0x0213e434 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 -_0213e4ac: .word data_02050f54 +_0213e4ac: .word gSinCosTable arm_func_end func_ov15_0213e434 .global func_ov15_0213e4b0 @@ -36782,7 +36782,7 @@ func_ov15_0213e87c: ; 0x0213e87c beq _0213e89c mov r1, #1 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _0213e89c: mov r1, #1 mov r0, r4 @@ -36791,7 +36791,7 @@ _0213e89c: cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0213ea3c ; =data_027e0d0c + ldr r0, _0213ea3c ; =gVec3p_ZERO ldr r2, _0213ea40 ; =0x000010cd ldr r3, [r0] mov r1, #0 @@ -36893,7 +36893,7 @@ _0213e998: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0213ea3c: .word data_027e0d0c +_0213ea3c: .word gVec3p_ZERO _0213ea40: .word 0x000010cd _0213ea44: .word 0xfffff99a _0213ea48: .word gAdventureFlags @@ -37136,7 +37136,7 @@ _0213eac8: ldrb r0, [r4, #0x418] cmp r0, #0 bne _0213f03c - ldr r0, _0213f4b4 ; =data_027e0f94 + ldr r0, _0213f4b4 ; =gPlayerPos mov r3, #6 ldr r1, [r0, #4] ldr r2, [r0] @@ -37583,7 +37583,7 @@ _0213f4a4: .word 0x0000017a _0213f4a8: .word data_027e0f64 _0213f4ac: .word 0x00001388 _0213f4b0: .word gAdventureFlags -_0213f4b4: .word data_027e0f94 +_0213f4b4: .word gPlayerPos _0213f4b8: .word gMapManager _0213f4bc: .word data_027e0e58 _0213f4c0: .word data_ov15_02190458 @@ -37672,7 +37672,7 @@ _0213f5b0: func_ov15_0213f5cc: ; 0x0213f5cc stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x50 - ldr r1, _0213f7ac ; =data_027e0fe4 + ldr r1, _0213f7ac ; =gActorManager mov r5, r0 ldr r0, [r1] add r1, r5, #0x2e4 @@ -37704,7 +37704,7 @@ func_ov15_0213f5cc: ; 0x0213f5cc str r3, [r4, #0x64] ldr r3, [r5, #0x68] str r3, [r4, #0x68] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _0213f658: ldr r0, [r5, #0x130] ldr r1, _0213f7b0 ; =data_ov15_02185fcc @@ -37794,7 +37794,7 @@ _0213f780: add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0213f7ac: .word data_027e0fe4 +_0213f7ac: .word gActorManager _0213f7b0: .word data_ov15_02185fcc _0213f7b4: .word data_ov15_0218ae88 _0213f7b8: .word data_027e0ff8 @@ -37856,7 +37856,7 @@ func_ov15_0213f80c: ; 0x0213f80c mov r0, #0 mov r2, #4 bl func_020078f4 - ldr r0, _0213fb78 ; =data_027e0f94 + ldr r0, _0213fb78 ; =gPlayerPos add r3, sp, #0x94 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -37877,7 +37877,7 @@ func_ov15_0213f80c: ; 0x0213f80c ldr r0, [sp, #0x9c] str r2, [sp, #0xa0] str r0, [sp, #0xa8] - ldr r0, _0213fb80 ; =data_027e0fac + ldr r0, _0213fb80 ; =gPlayerAngle ldr r2, [sp, #0xb0] ldrsh r3, [r0] orr r2, r2, #1 @@ -37990,7 +37990,7 @@ _0213fa28: beq _0213faa8 ldr r0, _0213fba4 ; =data_027e0c68 ldr r1, _0213fba8 ; =0x0005009f - ldr r2, _0213fb78 ; =data_027e0f94 + ldr r2, _0213fb78 ; =gPlayerPos mov r3, #0 bl func_02036da8 add r0, r5, #0x1a8 @@ -38054,9 +38054,9 @@ _0213facc: add sp, sp, #0xc0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0213fb78: .word data_027e0f94 +_0213fb78: .word gPlayerPos _0213fb7c: .word gMapManager -_0213fb80: .word data_027e0fac +_0213fb80: .word gPlayerAngle _0213fb84: .word data_027e10a4 _0213fb88: .word 0x00000d9a _0213fb8c: .word data_027e0e58 @@ -38372,18 +38372,18 @@ _0213ffb8: _0213ffec: cmp r0, #0 beq _02140098 - ldr r0, _02140248 ; =data_027e0f94 + ldr r0, _02140248 ; =gPlayerPos add r2, sp, #0x8c add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x8c] ldr r1, [sp, #0x94] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 mov r1, #0 add r0, sp, #0x8c str r1, [sp, #0x90] - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x19000 bge _02140084 cmp r0, #0x2800 @@ -38432,11 +38432,11 @@ _02140098: mov r0, r3 mov r2, r3 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x80 str r1, [sp, #0x84] - bl func_01ff9cec + bl Vec3p_Length rsb r0, r0, #0xa000 str r0, [r4, #0x18c] add r0, sp, #0x24 @@ -38478,7 +38478,7 @@ _0214013c: add r0, sp, #0x74 add r1, sp, #0x68 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x78 str r0, [sp] ldr r1, _02140258 ; =func_ov15_0213e434 @@ -38527,7 +38527,7 @@ _02140208: _0214023c: .word data_ov00_020e83cc _02140240: .word data_027e0ffc _02140244: .word 0x00000212 -_02140248: .word data_027e0f94 +_02140248: .word gPlayerPos _0214024c: .word 0x00000aab _02140250: .word data_ov15_02185fc0 _02140254: .word 0x000004cd @@ -38714,7 +38714,7 @@ func_ov15_02140424: ; 0x02140424 mov r0, r4 mov r1, #1 mov r2, #0 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _021404bc: ldr r0, _0214058c ; =data_027e103c ldr r0, [r0] @@ -38734,7 +38734,7 @@ _021404bc: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _02140508: mov r0, r4 bl func_ov15_02140e5c @@ -38909,7 +38909,7 @@ _0214075c: mov r1, #1 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _0214078c: mov r0, r4 bl _ZN5Actor4KillEv @@ -38958,7 +38958,7 @@ func_ov15_021407f4: ; 0x021407f4 ldmneia sp!, {r3, pc} mov r1, #1 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldmia sp!, {r3, pc} .align 2, 0 _02140818: .word data_027e0c68 @@ -39006,7 +39006,7 @@ func_ov15_02140854: ; 0x02140854 add r0, sp, #0xc add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0xc ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} @@ -39286,7 +39286,7 @@ func_ov15_02140c60: ; 0x02140c60 mov r0, r5 mov r1, #1 mov r2, #0 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02140cb4: .word data_027e0d3c @@ -39313,7 +39313,7 @@ func_ov15_02140cb8: ; 0x02140cb8 mov r1, #1 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02140d08: .word data_027e0d3c @@ -39326,7 +39326,7 @@ func_ov15_02140d0c: ; 0x02140d0c sub sp, sp, #0x48 mov r4, r0 add r0, sp, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -39347,7 +39347,7 @@ func_ov15_02140d0c: ; 0x02140d0c add r3, sp, #0x1c add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _02140e4c ; =data_027e0fe4 + ldr r0, _02140e4c ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -39359,7 +39359,7 @@ func_ov15_02140d0c: ; 0x02140d0c ldr ip, _02140e50 ; =0x00000e66 str r1, [r4, #0x2e4] ldr r2, [sp, #8] - ldr r1, _02140e54 ; =data_027e0d0c + ldr r1, _02140e54 ; =gVec3p_ZERO str r2, [r4, #0x2e8] ldr lr, [r1] ldr r3, [r1, #4] @@ -39385,7 +39385,7 @@ func_ov15_02140d0c: ; 0x02140d0c add r3, sp, #0x1c add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _02140e4c ; =data_027e0fe4 + ldr r0, _02140e4c ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -39403,9 +39403,9 @@ func_ov15_02140d0c: ; 0x02140d0c .align 2, 0 _02140e44: .word data_027e0fe8 _02140e48: .word 0x4c4f4e44 -_02140e4c: .word data_027e0fe4 +_02140e4c: .word gActorManager _02140e50: .word 0x00000e66 -_02140e54: .word data_027e0d0c +_02140e54: .word gVec3p_ZERO _02140e58: .word 0x53504b48 arm_func_end func_ov15_02140d0c @@ -39413,7 +39413,7 @@ _02140e58: .word 0x53504b48 arm_func_start func_ov15_02140e5c func_ov15_02140e5c: ; 0x02140e5c stmdb sp!, {r4, lr} - ldr r1, _02140eb8 ; =data_027e0fe4 + ldr r1, _02140eb8 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x2dc @@ -39424,7 +39424,7 @@ func_ov15_02140e5c: ; 0x02140e5c _02140e80: mvn r1, #0 str r1, [r4, #0x2dc] - ldr r0, _02140eb8 ; =data_027e0fe4 + ldr r0, _02140eb8 ; =gActorManager str r1, [r4, #0x2e0] ldr r0, [r0] add r1, r4, #0x2e4 @@ -39438,7 +39438,7 @@ _02140ea8: str r0, [r4, #0x2e8] ldmia sp!, {r4, pc} .align 2, 0 -_02140eb8: .word data_027e0fe4 +_02140eb8: .word gActorManager arm_func_end func_ov15_02140e5c .global func_ov15_02140ebc @@ -39642,7 +39642,7 @@ func_ov15_021410e4: ; 0x021410e4 stmdb sp!, {r4, lr} mov r4, r0 mov r0, #0 - ldr r2, _021411b4 ; =data_027e0d0c + ldr r2, _021411b4 ; =gVec3p_ZERO str r0, [r4, #0x6c] ldr r0, [r2] ldr r1, _021411b8 ; =0x0000099a @@ -39651,7 +39651,7 @@ func_ov15_021410e4: ; 0x021410e4 ldr r3, _021411bc ; =0x00001dec str r0, [r4, #0x80] ldr ip, [r2, #8] - ldr r0, _021411c0 ; =data_027e0fe4 + ldr r0, _021411c0 ; =gActorManager str ip, [r4, #0x84] str r1, [r4, #0x88] ldr ip, [r4, #0x7c] @@ -39693,10 +39693,10 @@ _02141188: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_021411b4: .word data_027e0d0c +_021411b4: .word gVec3p_ZERO _021411b8: .word 0x0000099a _021411bc: .word 0x00001dec -_021411c0: .word data_027e0fe4 +_021411c0: .word gActorManager arm_func_end func_ov15_021410e4 .global func_ov15_021411c4 @@ -39709,7 +39709,7 @@ func_ov15_021411c4: ; 0x021411c4 cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} - ldr r0, _02141234 ; =data_027e0fe4 + ldr r0, _02141234 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -39727,11 +39727,11 @@ func_ov15_021411c4: ; 0x021411c4 ldr r3, [sp, #8] mov r2, r1 str r3, [r4, #0x50] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02141234: .word data_027e0fe4 +_02141234: .word gActorManager arm_func_end func_ov15_021411c4 .global func_ov15_02141238 @@ -39748,7 +39748,7 @@ func_ov15_02141238: ; 0x02141238 cmp r1, #0 movne r0, #0 ldmneia sp!, {r3, pc} - ldr r2, _0214128c ; =data_027e0fe4 + ldr r2, _0214128c ; =gActorManager add r1, r0, #0x34 ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -39759,13 +39759,13 @@ func_ov15_02141238: ; 0x02141238 ldmia sp!, {r3, pc} .align 2, 0 _02141288: .word 0x434e424c -_0214128c: .word data_027e0fe4 +_0214128c: .word gActorManager arm_func_end func_ov15_02141238 .global func_ov15_02141290 arm_func_start func_ov15_02141290 func_ov15_02141290: ; 0x02141290 - ldr r1, _021412ac ; =data_027e0fa0 + ldr r1, _021412ac ; =gPlayerVel mov r2, #0 str r2, [r1] str r2, [r1, #4] @@ -39773,7 +39773,7 @@ func_ov15_02141290: ; 0x02141290 str r2, [r0, #0x78] bx lr .align 2, 0 -_021412ac: .word data_027e0fa0 +_021412ac: .word gPlayerVel arm_func_end func_ov15_02141290 .global func_ov15_021412b0 @@ -39805,8 +39805,8 @@ func_ov15_021412b0: ; 0x021412b0 arm_func_start func_ov15_02141300 func_ov15_02141300: ; 0x02141300 ldr r3, [r1] - ldr r2, _0214132c ; =data_027e0f94 - ldr r0, _02141330 ; =data_027e0fac + ldr r2, _0214132c ; =gPlayerPos + ldr r0, _02141330 ; =gPlayerAngle str r3, [r2] ldr r3, [r1, #4] str r3, [r2, #4] @@ -39816,8 +39816,8 @@ func_ov15_02141300: ; 0x02141300 strh r1, [r0] bx lr .align 2, 0 -_0214132c: .word data_027e0f94 -_02141330: .word data_027e0fac +_0214132c: .word gPlayerPos +_02141330: .word gPlayerAngle arm_func_end func_ov15_02141300 .global func_ov15_02141334 @@ -39860,7 +39860,7 @@ func_ov15_0214138c: ; 0x0214138c tst r0, #1 beq _021413b4 ldr r2, [r1] - ldr r0, _021413cc ; =data_027e0f94 + ldr r0, _021413cc ; =gPlayerPos str r2, [r0] ldr r2, [r1, #4] str r2, [r0, #4] @@ -39870,26 +39870,26 @@ _021413b4: ldr r0, [r1, #0x10] tst r0, #2 ldrnesh r1, [r1, #0xc] - ldrne r0, _021413d0 ; =data_027e0fac + ldrne r0, _021413d0 ; =gPlayerAngle strneh r1, [r0] bx lr .align 2, 0 -_021413cc: .word data_027e0f94 -_021413d0: .word data_027e0fac +_021413cc: .word gPlayerPos +_021413d0: .word gPlayerAngle arm_func_end func_ov15_0214138c .global func_ov15_021413d4 arm_func_start func_ov15_021413d4 func_ov15_021413d4: ; 0x021413d4 cmp r1, #0 - ldrne r1, _021413f0 ; =data_027e0fa0 + ldrne r1, _021413f0 ; =gPlayerVel movne r2, #0 strne r2, [r1, #4] ldr ip, _021413f4 ; =func_ov15_02136b34 ldr r1, [r0, #0x30] bx ip .align 2, 0 -_021413f0: .word data_027e0fa0 +_021413f0: .word gPlayerVel _021413f4: .word func_ov15_02136b34 arm_func_end func_ov15_021413d4 @@ -39973,7 +39973,7 @@ func_ov15_021414f8: ; 0x021414f8 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov15_021368b4 - ldr r1, _02141534 ; =data_027e0fa0 + ldr r1, _02141534 ; =gPlayerVel ldr r2, [r1, #4] sub r0, r2, r0 str r0, [r1, #4] @@ -39986,7 +39986,7 @@ func_ov15_021414f8: ; 0x021414f8 str r0, [r4, #0x78] ldmia sp!, {r4, pc} .align 2, 0 -_02141534: .word data_027e0fa0 +_02141534: .word gPlayerVel arm_func_end func_ov15_021414f8 .global func_ov15_02141538 @@ -40094,7 +40094,7 @@ func_ov15_02141638: ; 0x02141638 add r0, sp, #0xc add r1, sp, #0 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r4, #0x14] add r0, sp, #0xc ldrsh r1, [r1, #0x24] @@ -40440,7 +40440,7 @@ _02141ac8: cmp r8, #2 blt _02141ac8 ldrh r1, [r4, #0x24] - ldr r3, _02141b58 ; =data_02050f54 + ldr r3, _02141b58 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -40461,7 +40461,7 @@ _02141ac8: .align 2, 0 _02141b50: .word data_027e0d38 _02141b54: .word data_ov00_020e9360 -_02141b58: .word data_02050f54 +_02141b58: .word gSinCosTable arm_func_end func_ov15_02141a78 .global func_ov15_02141b5c @@ -41738,7 +41738,7 @@ _02142b58: .word data_027e1094 func_ov15_02142b5c: ; 0x02142b5c stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r1, _02142b98 ; =data_027e0fe4 + ldr r1, _02142b98 ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _02142b9c ; =0x534c5452 @@ -41752,7 +41752,7 @@ func_ov15_02142b5c: ; 0x02142b5c add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_02142b98: .word data_027e0fe4 +_02142b98: .word gActorManager _02142b9c: .word 0x534c5452 arm_func_end func_ov15_02142b5c @@ -41843,8 +41843,8 @@ func_ov15_02142c78: ; 0x02142c78 ldr r3, [r3, #8] mov r2, ip str r3, [sp, #8] - bl func_01ff9bf8 - ldr r0, _02142d5c ; =data_027e0fac + bl Vec3p_Sub + ldr r0, _02142d5c ; =gPlayerAngle mov r1, #0x4000 ldrsh r2, [r0] rsb r1, r1, #0 @@ -41885,7 +41885,7 @@ _02142d10: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02142d5c: .word data_027e0fac +_02142d5c: .word gPlayerAngle arm_func_end func_ov15_02142c78 .global func_ov15_02142d60 @@ -42163,7 +42163,7 @@ _021430f8: mov r1, r1, lsl #0x10 mov r1, r1, asr #0x10 bl func_ov00_020a6110 - ldr r1, _021431bc ; =data_027e0fac + ldr r1, _021431bc ; =gPlayerAngle add r0, sp, #0 ldrsh r1, [r1] bl func_ov00_020a61ac @@ -42179,11 +42179,11 @@ _021430f8: ldr r3, [sp, #8] mov r2, r0 str r3, [r4, #0x2d8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, #0x294 add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x200 ldrsh r1, [r0, #0xfa] ldr r0, [r4, #0x20] @@ -42198,7 +42198,7 @@ _021431a8: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_021431bc: .word data_027e0fac +_021431bc: .word gPlayerAngle arm_func_end func_ov15_02142ec4 .global func_ov15_021431c0 @@ -42210,13 +42210,13 @@ func_ov15_021431c0: ; 0x021431c0 cmp r2, r1 moveq r0, #0 ldmeqia sp!, {r3, pc} - ldr r2, _021431ec ; =data_027e0fe4 + ldr r2, _021431ec ; =gActorManager add r1, r0, #0x310 ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef ldmia sp!, {r3, pc} .align 2, 0 -_021431ec: .word data_027e0fe4 +_021431ec: .word gActorManager arm_func_end func_ov15_021431c0 .global func_ov15_021431f0 @@ -42275,7 +42275,7 @@ func_ov15_0214325c: ; 0x0214325c mov r0, #0x39 sub r2, r2, #0x4000 smulbb r3, r2, r0 - ldr r0, _0214331c ; =data_027e0fac + ldr r0, _0214331c ; =gPlayerAngle str r1, [sp, #8] str r1, [sp, #0xc] ldr r1, _02143320 ; =0xb40b40b5 @@ -42293,7 +42293,7 @@ func_ov15_0214325c: ; 0x0214325c add r0, sp, #4 add r1, r4, #0x2ac mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #4] str r0, [r4, #0x2c4] ldr r0, [sp, #8] @@ -42303,7 +42303,7 @@ func_ov15_0214325c: ; 0x0214325c add sp, sp, #0x64 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0214331c: .word data_027e0fac +_0214331c: .word gPlayerAngle _02143320: .word 0xb40b40b5 arm_func_end func_ov15_0214325c @@ -42390,14 +42390,14 @@ func_ov15_02143408: ; 0x02143408 mov r0, r3 mov r2, r3 add r1, r5, #0x2ac - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _021436bc ; =0x00001ccc add r0, sp, #0xc bl func_01fffbec add r0, sp, #0xc add r1, r5, #0x2ac mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x344] cmp r0, #0 bne _0214359c @@ -42614,7 +42614,7 @@ _02143744: ldr r3, [r4, #0x50] mov r2, r5 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r7, #0x294 add r1, r4, #0x48 mov r2, #0x29 @@ -43039,7 +43039,7 @@ func_ov15_02143d40: ; 0x02143d40 ldr r3, [r5, #0x50] mov r2, r0 str r3, [r4, #0x308] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x88] add sp, sp, #0xc str r0, [r4, #0x30c] @@ -43643,7 +43643,7 @@ _021445a4: _021445f8: mov r0, r4 bl func_ov15_021368b4 - ldr r1, _02144760 ; =data_027e0fa0 + ldr r1, _02144760 ; =gPlayerVel ldr r2, [r1, #4] sub r2, r2, r0 mov r0, r4 @@ -43737,7 +43737,7 @@ _02144754: ldmia sp!, {r4, pc} .align 2, 0 _0214475c: .word gAdventureFlags -_02144760: .word data_027e0fa0 +_02144760: .word gPlayerVel _02144764: .word data_027e0ffc _02144768: .word 0x000003ea _0214476c: .word gMapManager @@ -43870,17 +43870,17 @@ _02144928: add r1, r4, #0xb8 add r0, r0, #0x400 add r1, r1, #0x400 - bl func_01ff9ec0 + bl Vec3p_Distance add r3, r4, #0xb8 add r1, r4, #0xc4 str r0, [r4, #0x468] add r0, r1, #0x400 add r2, sp, #0xc add r1, r3, #0x400 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, sp, #0xc @@ -43891,10 +43891,10 @@ _02144928: mov r0, #0 str r0, [sp, #4] mov r0, r3 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 ldr r0, [sp, #0x10] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x460] @@ -44071,11 +44071,11 @@ _02144a40: add r1, sp, #0xf0 mov r2, r0 bl func_01ff88b0 - ldr r1, _021457d4 ; =data_027e0f94 + ldr r1, _021457d4 ; =gPlayerPos add r0, sp, #0xe4 add r2, r9, #0x358 - bl func_01ff9bc4 - ldr r0, _021457d8 ; =data_027e0fac + bl Vec3p_Add + ldr r0, _021457d8 ; =gPlayerAngle add r1, r9, #0x300 ldrsh r0, [r0] ldr r3, _021457dc ; =0xfffffccd @@ -44099,9 +44099,9 @@ _02144a40: bl func_01ff88b0 add r1, r9, #0xc4 add r0, r1, #0x400 - ldr r1, _021457d4 ; =data_027e0f94 + ldr r1, _021457d4 ; =gPlayerPos mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r9, #0x294] ldr r0, _021457e0 ; =gMapManager str r1, [r9, #0x4b8] @@ -44332,11 +44332,11 @@ _02144fdc: add r1, sp, #0xb4 mov r2, r0 bl func_01ff88b0 - ldr r1, _021457d4 ; =data_027e0f94 + ldr r1, _021457d4 ; =gPlayerPos add r0, sp, #0xa8 add r2, r9, #0x358 - bl func_01ff9bc4 - ldr r1, _021457d8 ; =data_027e0fac + bl Vec3p_Add + ldr r1, _021457d8 ; =gPlayerAngle add r0, r9, #0x300 ldrsh r3, [r1] ldr r1, _02145808 ; =0x000003d7 @@ -44351,9 +44351,9 @@ _02144fdc: mov r2, r0 bl func_01ff88b0 add r0, sp, #0xa8 - ldr r1, _021457d4 ; =data_027e0f94 + ldr r1, _021457d4 ; =gPlayerPos mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r3, [sp, #0xac] ldr r2, [sp, #0xb0] ldr r0, [sp, #0xa8] @@ -44394,7 +44394,7 @@ _02144fdc: mov r1, #0x180 str r0, [r9, #0x468] str r1, [r9, #0x460] - ldr r0, _021457d8 ; =data_027e0fac + ldr r0, _021457d8 ; =gPlayerAngle mov r1, #7 ldrsh r2, [r0] mov r0, #0x14 @@ -44421,7 +44421,7 @@ _02145140: bl func_01ff88b0 ldr r2, [r9, #0x368] ldr r1, [r9, #0x370] - ldr r0, _021457d4 ; =data_027e0f94 + ldr r0, _021457d4 ; =gPlayerPos add r2, r2, r1 str r2, [r9, #0x368] ldr r1, [sp, #0x7c] @@ -44587,7 +44587,7 @@ _021453d4: sub r0, r1, #0x20 mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 - ldr r2, _02145824 ; =data_027e0fe4 + ldr r2, _02145824 ; =gActorManager ldr r1, _02145828 ; =data_ov15_0218b214 ldr r0, [r2] add r2, sp, #8 @@ -44632,10 +44632,10 @@ _02145420: add r2, sp, #0x6c add r0, r9, #0x364 add r1, r9, #0x358 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x6c] ldr r1, [sp, #0x74] - bl func_01ffa0f4 + bl Atan2 add r1, r9, #0x300 ldrh r1, [r1, #0x84] ldr r5, [sp, #0x70] @@ -44645,10 +44645,10 @@ _02145420: add r0, sp, #0x6c str r2, [sp, #0x70] mov r4, r1, asr #0x10 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 mov r0, r5 - bl func_01ffa0f4 + bl Atan2 rsb r0, r0, #0 mov r2, #0x2000 mov r0, r0, lsl #0x10 @@ -44690,13 +44690,13 @@ _02145524: str r3, [sp, #0x44] bl func_01ff88b0 add r0, sp, #0x3c - ldr r1, _021457d4 ; =data_027e0f94 + ldr r1, _021457d4 ; =gPlayerPos mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r9, #0x45c] ldr r0, _02145834 ; =0x00000e39 sub r0, r0, r1 - bl func_02042f74 + bl abs ldr r1, [r9, #0x37c] bl func_02002c14 mov r0, r0, lsl #0x10 @@ -44708,7 +44708,7 @@ _02145524: ldr r1, [r9, #0x460] ldr r0, _02145838 ; =0x000023b0 sub r0, r0, r1 - bl func_02042f74 + bl abs ldr r1, [r9, #0x37c] bl func_02002c14 mov r0, r0, lsl #0x10 @@ -44716,13 +44716,13 @@ _02145524: ldr r1, _02145838 ; =0x000023b0 add r0, r9, #0x460 bl func_0202b154 - ldr r0, _021457d8 ; =data_027e0fac + ldr r0, _021457d8 ; =gPlayerAngle ldr r1, [r9, #0x464] ldrsh r4, [r0] ldr r0, _0214583c ; =0xffff86dc sub r1, r1, r4 sub r0, r0, r1 - bl func_02042f74 + bl abs ldr r1, [r9, #0x37c] bl func_02002c14 ldr r1, _0214583c ; =0xffff86dc @@ -44737,7 +44737,7 @@ _02145524: ldr r1, [r9, #0x468] ldr r0, _021457f0 ; =0x0000028f sub r0, r0, r1 - bl func_02042f74 + bl abs ldr r1, [r9, #0x37c] bl func_02002c14 mov r2, r0 @@ -44745,7 +44745,7 @@ _02145524: ldr r1, _021457f0 ; =0x0000028f add r0, r0, #0x400 bl Approach_thunk - ldr r0, _021457d8 ; =data_027e0fac + ldr r0, _021457d8 ; =gPlayerAngle ldr r8, [sp, #0x3c] ldrh r2, [r0] ldr r0, [r9, #0x4b8] @@ -44753,9 +44753,9 @@ _02145524: mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 sub r0, r1, r0 - bl func_02042f74 + bl abs add r1, r4, #1 - ldr r2, _02145840 ; =data_02050f54 + ldr r2, _02145840 ; =gSinCosTable mov r3, r4, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r7, [r2, r3] @@ -44792,7 +44792,7 @@ _02145524: ldr r0, [r9, #0x4bc] add r8, r1, #0xe9 sub r0, r8, r0 - bl func_02042f74 + bl abs ldr r1, [r9, #0x37c] bl func_02002c14 mov r1, r8 @@ -44804,7 +44804,7 @@ _02145524: ldr r0, [r9, #0x4c0] sub r1, r8, #0x6a sub r0, r1, r0 - bl func_02042f74 + bl abs ldr r1, [r9, #0x37c] bl func_02002c14 mov r2, r0 @@ -44847,8 +44847,8 @@ _02145798: .align 2, 0 _021457cc: .word data_027e0f64 _021457d0: .word gAdventureFlags -_021457d4: .word data_027e0f94 -_021457d8: .word data_027e0fac +_021457d4: .word gPlayerPos +_021457d8: .word gPlayerAngle _021457dc: .word 0xfffffccd _021457e0: .word gMapManager _021457e4: .word 0xfffffe66 @@ -44867,14 +44867,14 @@ _02145814: .word 0x000003e9 _02145818: .word data_ov09_0211f5dc _0214581c: .word gItemManager _02145820: .word data_ov00_020eec68 -_02145824: .word data_027e0fe4 +_02145824: .word gActorManager _02145828: .word data_ov15_0218b214 _0214582c: .word 0x00000aab _02145830: .word 0x0000023d _02145834: .word 0x00000e39 _02145838: .word 0x000023b0 _0214583c: .word 0xffff86dc -_02145840: .word data_02050f54 +_02145840: .word gSinCosTable arm_func_end func_ov15_021449b0 .global func_ov15_02145844 @@ -45012,7 +45012,7 @@ _02145a00: bl func_ov15_0214325c mov r0, r4 bl func_ov15_021368b4 - ldr r2, _02145b60 ; =data_027e0fa0 + ldr r2, _02145b60 ; =gPlayerVel mvn r3, #0x80000000 ldr ip, [r2, #4] mov r1, #0 @@ -45102,7 +45102,7 @@ _02145ac8: _02145b54: .word data_027e0d38 _02145b58: .word data_027e0d78 _02145b5c: .word gAdventureFlags -_02145b60: .word data_027e0fa0 +_02145b60: .word gPlayerVel _02145b64: .word data_ov15_02186154 _02145b68: .word data_ov00_020eec9c _02145b6c: .word data_ov00_020eec68 @@ -45661,7 +45661,7 @@ func_ov15_021461b0: ; 0x021461b0 ldmia sp!, {r3, r4, r5, pc} _02146214: ldr r2, _021462c0 ; =data_ov15_0218f430 - ldr r0, _021462c8 ; =data_027e0fe4 + ldr r0, _021462c8 ; =gActorManager ldrh r2, [r2, r4] ldr r3, [r0] sub r0, r1, #0x16 @@ -45676,7 +45676,7 @@ _02146244: ldr r0, _021462cc ; =data_ov15_0218f42c add r5, sp, #0xc ldrh r3, [r0, r4] - ldr r0, _021462d0 ; =data_027e0f94 + ldr r0, _021462d0 ; =gPlayerPos ldr lr, _021462d4 ; =data_ov15_0218f420 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} @@ -45708,9 +45708,9 @@ _021462b4: .align 2, 0 _021462c0: .word data_ov15_0218f430 _021462c4: .word gItemManager -_021462c8: .word data_027e0fe4 +_021462c8: .word gActorManager _021462cc: .word data_ov15_0218f42c -_021462d0: .word data_027e0f94 +_021462d0: .word gPlayerPos _021462d4: .word data_ov15_0218f420 arm_func_end func_ov15_021461b0 @@ -46328,7 +46328,7 @@ func_ov15_021469f8: ; 0x021469f8 mov r5, r0 ldrh r0, [r5, #0x78] mov r4, r1 - ldr r2, _02146abc ; =data_02050f54 + ldr r2, _02146abc ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -46375,7 +46375,7 @@ _02146a98: add sp, sp, #0x3c ldmia sp!, {r4, r5, pc} .align 2, 0 -_02146abc: .word data_02050f54 +_02146abc: .word gSinCosTable _02146ac0: .word data_ov15_0218b3e0 arm_func_end func_ov15_021469f8 @@ -46387,7 +46387,7 @@ func_ov15_02146ac4: ; 0x02146ac4 mov r6, r0 ldrh r0, [r6, #0x78] mov r5, r1 - ldr r2, _02146c64 ; =data_02050f54 + ldr r2, _02146c64 ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -46409,7 +46409,7 @@ func_ov15_02146ac4: ; 0x02146ac4 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02146c64 ; =data_02050f54 + ldr r2, _02146c64 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -46456,7 +46456,7 @@ _02146b5c: str r3, [sp, #0x10] ldr r3, [r6, #0x50] str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add b _02146c40 _02146bf0: ldr r1, _02146c6c ; =data_ov15_0218b3e0 @@ -46478,7 +46478,7 @@ _02146bf0: ldr r3, [r6, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add _02146c40: add r0, r6, #0x158 ldr r4, [r0] @@ -46490,7 +46490,7 @@ _02146c40: add sp, sp, #0x78 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02146c64: .word data_02050f54 +_02146c64: .word gSinCosTable _02146c68: .word data_027e10a4 _02146c6c: .word data_ov15_0218b3e0 arm_func_end func_ov15_02146ac4 @@ -46698,7 +46698,7 @@ func_ov15_02146e88: ; 0x02146e88 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0xc] - ldr r3, _02146ef8 ; =data_02050f54 + ldr r3, _02146ef8 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -46717,7 +46717,7 @@ func_ov15_02146e88: ; 0x02146e88 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02146ef8: .word data_02050f54 +_02146ef8: .word gSinCosTable arm_func_end func_ov15_02146e88 .global func_ov15_02146efc @@ -46725,7 +46725,7 @@ _02146ef8: .word data_02050f54 func_ov15_02146efc: ; 0x02146efc stmdb sp!, {lr} sub sp, sp, #0xc - ldr r2, _02146f48 ; =data_027e0f94 + ldr r2, _02146f48 ; =gPlayerPos add r1, sp, #0 ldr ip, [r2] ldr r3, [r2, #4] @@ -46736,14 +46736,14 @@ func_ov15_02146efc: ; 0x02146efc ldr r2, [r0, #0x1c] add r0, r0, #0x18 str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x30000 movle r0, #1 movgt r0, #0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_02146f48: .word data_027e0f94 +_02146f48: .word gPlayerPos arm_func_end func_ov15_02146efc .global func_ov15_02146f4c @@ -47106,7 +47106,7 @@ _021473d8: bl func_02002c14 str r0, [r4, #0x410] mov r6, #0 - ldr r1, _02147554 ; =data_027e0d0c + ldr r1, _02147554 ; =gVec3p_ZERO str r6, [r4, #0x3fc] ldr r0, [r1] mov r5, #0x1000 @@ -47159,7 +47159,7 @@ _021473d8: mov r1, r5 str r1, [r0, #0x10] _021474e0: - ldr r5, _02147554 ; =data_027e0d0c + ldr r5, _02147554 ; =gVec3p_ZERO mov r2, #0x1000 ldr r1, [r5] add r0, r4, #0x400 @@ -47189,7 +47189,7 @@ _02147544: .word data_ov15_021861c0 _02147548: .word data_ov15_021861c4 _0214754c: .word 0x66666667 _02147550: .word data_ov15_021861bc -_02147554: .word data_027e0d0c +_02147554: .word gVec3p_ZERO _02147558: .word data_ov15_021861c8 _0214755c: .word data_ov15_02186194 _02147560: .word data_027e0e58 @@ -47294,10 +47294,10 @@ _02147670: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 ldrb r1, [r4, #0x439] mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 @@ -47484,7 +47484,7 @@ _0214792c: ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x10 ldr r6, [r4, #0x420] - bl func_01ff9cec + bl Vec3p_Length mov r1, #6 mul r1, r6, r1 add r1, r1, #0x33 @@ -47854,14 +47854,14 @@ _02147e9c: ldr r3, [r6, #0x50] mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x10 bl func_01fffb4c cmp r0, #0 beq _02147f18 ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 add r1, r6, #0x400 strh r0, [r1, #0x36] _02147f18: @@ -48204,7 +48204,7 @@ func_ov15_021483b0: ; 0x021483b0 add r0, sp, #0x28 add r1, sp, #0x1c mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldrb r0, [r4, #0x439] cmp r0, #0 beq _02148418 @@ -48232,10 +48232,10 @@ _02148418: add r0, sp, #0x28 add r1, sp, #4 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x400 strh r0, [r1, #0x36] mov r0, #2 @@ -48265,7 +48265,7 @@ _02148484: _021484d0: ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x400 strh r0, [r1, #0x36] mov ip, #0x40 @@ -48485,7 +48485,7 @@ _0214878c: mov r1, #0 strh r1, [r0, #0x34] ldrh r0, [r5, #0x78] - ldr ip, _02148ac8 ; =data_02050f54 + ldr ip, _02148ac8 ; =gSinCosTable ldr r2, [r5, #0x3fc] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -48512,7 +48512,7 @@ _0214878c: mov r4, r4, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [r5, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r5, #0x41c] ldr r0, _02148acc ; =data_ov15_0218b59c mov r1, #0x800 @@ -48567,7 +48567,7 @@ _021488b4: str r2, [sp, #8] ldr r2, [r5, #0x50] str r2, [sp, #0xc] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r4 ble _021489b4 smull r0, r2, r4, r4 @@ -48597,17 +48597,17 @@ _021488b4: add r1, sp, #0x28 mov r2, r0 str r3, [sp, #0x24] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x1c mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x1c mov r1, r4 bl func_01fffbec add r0, sp, #0x1c add r1, sp, #0x28 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x1c] str r0, [r5, #0x48] ldr r0, [sp, #0x24] @@ -48686,7 +48686,7 @@ _02148aa8: _02148abc: .word data_027e10a4 _02148ac0: .word gMapManager _02148ac4: .word 0x00000aab -_02148ac8: .word data_02050f54 +_02148ac8: .word gSinCosTable _02148acc: .word data_ov15_0218b59c _02148ad0: .word data_027e0f64 _02148ad4: .word data_027e0ffc @@ -48711,7 +48711,7 @@ func_ov15_02148adc: ; 0x02148adc str r1, [sp, #0x100] str r1, [sp, #0x104] ldrh r1, [r0, #0x34] - ldr r3, _02148cc4 ; =data_02050f54 + ldr r3, _02148cc4 ; =gSinCosTable add r0, sp, #0xd8 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -48722,7 +48722,7 @@ func_ov15_02148adc: ; 0x02148adc ldrsh r2, [r3, r2] blx func_01ff81f8 ldrh r1, [r4, #0x78] - ldr r3, _02148cc4 ; =data_02050f54 + ldr r3, _02148cc4 ; =gSinCosTable add r0, sp, #0xb4 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -48823,7 +48823,7 @@ _02148cb0: add sp, sp, #0x108 ldmia sp!, {r4, pc} .align 2, 0 -_02148cc4: .word data_02050f54 +_02148cc4: .word gSinCosTable _02148cc8: .word data_027e10a4 arm_func_end func_ov15_02148adc @@ -50035,7 +50035,7 @@ func_ov15_02149bf4: ; 0x02149bf4 add r2, r5, #1 mov r4, r0 mov r0, r5, lsl #0x1 - ldr r3, _02149cbc ; =data_02050f54 + ldr r3, _02149cbc ; =gSinCosTable mov r2, r2, lsl #0x1 mov r5, r1 ldrsh r1, [r3, r0] @@ -50056,7 +50056,7 @@ func_ov15_02149bf4: ; 0x02149bf4 mov r1, r0, lsl #0x1 mov r5, r1, lsl #0x1 add r1, r1, #1 - ldr r3, _02149cbc ; =data_02050f54 + ldr r3, _02149cbc ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] @@ -50077,7 +50077,7 @@ func_ov15_02149bf4: ; 0x02149bf4 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02149cbc: .word data_02050f54 +_02149cbc: .word gSinCosTable arm_func_end func_ov15_02149bf4 .global func_ov15_02149cc0 @@ -50240,7 +50240,7 @@ func_ov15_02149e98: ; 0x02149e98 cmp r1, #0 beq _02149f40 ldrh r3, [r0, #0xb6] - ldr r2, _0214a1c0 ; =data_02050f54 + ldr r2, _0214a1c0 ; =gSinCosTable add r0, sp, #0x30 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 @@ -50270,7 +50270,7 @@ _02149f40: cmp r1, #0 beq _02149fb4 ldrh r3, [r0, #0xb6] - ldr r2, _0214a1c0 ; =data_02050f54 + ldr r2, _0214a1c0 ; =gSinCosTable add r0, sp, #0x30 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 @@ -50297,7 +50297,7 @@ _02149f40: _02149fb4: add r0, r8, #0x100 ldrh r1, [r0, #0xb0] - ldr r3, _0214a1c0 ; =data_02050f54 + ldr r3, _0214a1c0 ; =gSinCosTable add r0, sp, #0x30 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -50356,7 +50356,7 @@ _0214a078: add r1, sp, #0x24 ldr r0, [sp, #0x70] mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r8, #0x1c] add r3, sp, #0 add r0, r0, #0x8c @@ -50422,7 +50422,7 @@ _0214a108: mov r2, r6 add r0, sp, #0x24 add r1, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x28 mov r1, r7 mov r2, r7 @@ -50430,7 +50430,7 @@ _0214a108: add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0214a1c0: .word data_02050f54 +_0214a1c0: .word gSinCosTable _0214a1c4: .word data_027e10a4 arm_func_end func_ov15_02149e98 @@ -50451,7 +50451,7 @@ func_ov15_0214a1c8: ; 0x0214a1c8 cmpne r0, #5 beq _0214a244 ldr r0, _0214a2e8 ; =data_027e0f64 - ldr r3, _0214a2ec ; =data_02050f54 + ldr r3, _0214a2ec ; =gSinCosTable ldr r1, [r0] mov r0, r4 ldr r1, [r1, #8] @@ -50471,7 +50471,7 @@ func_ov15_0214a1c8: ; 0x0214a1c8 _0214a244: add r0, r5, #0x100 ldrh r1, [r0, #0xb8] - ldr r3, _0214a2ec ; =data_02050f54 + ldr r3, _0214a2ec ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -50512,7 +50512,7 @@ _0214a244: .align 2, 0 _0214a2e4: .word data_027e10a4 _0214a2e8: .word data_027e0f64 -_0214a2ec: .word data_02050f54 +_0214a2ec: .word gSinCosTable arm_func_end func_ov15_0214a1c8 .global func_ov15_0214a2f0 @@ -50542,7 +50542,7 @@ func_ov15_0214a2f0: ; 0x0214a2f0 bl func_01fffbec add r0, r5, #0x100 ldrh r1, [r0, #0xb0] - ldr r3, _0214a3ac ; =data_02050f54 + ldr r3, _0214a3ac ; =gSinCosTable mov r0, r4 add r1, r1, #0x4000 mov r1, r1, lsl #0x10 @@ -50566,7 +50566,7 @@ func_ov15_0214a2f0: ; 0x0214a2f0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0214a3a8: .word data_027e10a4 -_0214a3ac: .word data_02050f54 +_0214a3ac: .word gSinCosTable arm_func_end func_ov15_0214a2f0 .global func_ov15_0214a3b0 @@ -50591,7 +50591,7 @@ func_ov15_0214a3b0: ; 0x0214a3b0 str r3, [sp, #0x48] ldr r3, [r6, #0x100] str r3, [sp, #0x4c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x74 bl func_01fffb4c cmp r0, #0 @@ -50787,7 +50787,7 @@ _0214a6bc: add r1, sp, #0x74 mov r2, r0 str r9, [sp, #0x74] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r6, #0xfc] ldr r0, [sp, #0x54] mov r2, #1 @@ -50930,7 +50930,7 @@ _0214a8e8: str r3, [sp, #0x70] ldr r3, [r10, #0x100] str r3, [sp, #0x74] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0xac] ldr r0, [sp, #0xa8] mov r2, r1, asr #0x2 @@ -51042,10 +51042,10 @@ _0214aab8: ldr r3, [r10, #0x100] mov r2, r0 str r3, [sp, #0x5c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x90 mov r5, #0 - bl func_01ff9cec + bl Vec3p_Length cmp r0, r4 blt _0214ab04 _0214aaf4: @@ -51177,7 +51177,7 @@ _0214abd0: add r1, sp, #0xa8 mov r2, r0 mov r6, #0x80000 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, r7 add r0, sp, #0x78 bl func_01fffbec @@ -51252,7 +51252,7 @@ _0214adf4: movne r6, #0x80000 add r1, sp, #0xa8 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r6, lsl #0x8 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -51700,10 +51700,10 @@ func_ov15_0214b408: ; 0x0214b408 str r3, [sp, #0x58] ldr r3, [r9, #0x118] str r3, [sp, #0x5c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x54 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [r9, #0x190] add r0, sp, #0x54 bl func_01fffbec @@ -51714,13 +51714,13 @@ func_ov15_0214b408: ; 0x0214b408 str r1, [sp, #0x50] ldr r0, [r9, #0x10c] ldr r1, [r9, #0x108] - bl func_01ffa0f4 + bl Atan2 ldr r0, [r9, #0x104] ldr r1, [r9, #0x108] - bl func_01ffa0f4 + bl Atan2 mov r7, #0 mov r10, #0x180 - ldr r4, _0214b5f8 ; =data_02050f54 + ldr r4, _0214b5f8 ; =gSinCosTable mov r8, r7 rsb r10, r10, #0 add r6, sp, #0x3c @@ -51741,10 +51741,10 @@ _0214b4e0: mov r0, r6 mov r1, r5 mov r2, r6 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x3c] ldr r1, [sp, #0x40] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 mov r1, r2, lsl #0x1 @@ -51800,7 +51800,7 @@ _0214b59c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0214b5f4: .word 0x0000019a -_0214b5f8: .word data_02050f54 +_0214b5f8: .word gSinCosTable _0214b5fc: .word data_027e10a4 arm_func_end func_ov15_0214b408 @@ -51835,9 +51835,9 @@ func_ov15_0214b61c: ; 0x0214b61c ldr r3, [r4, #0x118] mov r2, r0 str r3, [sp, #0x38] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x30 - bl func_01ff9cec + bl Vec3p_Length movs r4, r0 addeq sp, sp, #0x48 ldmeqia sp!, {r4, pc} @@ -51940,7 +51940,7 @@ func_ov15_0214b7d0: ; 0x0214b7d0 mov r4, r0 ldr r0, [r1] bl func_ov15_02152108 - ldr r2, _0214b830 ; =data_02050f54 + ldr r2, _0214b830 ; =gSinCosTable str r0, [sp, #0x24] ldrsh r1, [r2] ldrsh r2, [r2, #2] @@ -51959,7 +51959,7 @@ func_ov15_0214b7d0: ; 0x0214b7d0 ldmia sp!, {r4, pc} .align 2, 0 _0214b82c: .word data_027e10a4 -_0214b830: .word data_02050f54 +_0214b830: .word gSinCosTable arm_func_end func_ov15_0214b7d0 .global func_ov15_0214b834 @@ -52177,7 +52177,7 @@ _0214bab8: add r1, sp, #0xc mov r0, r4 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0xc] add r1, sp, #0 str r0, [sp] @@ -52216,7 +52216,7 @@ func_ov15_0214bb9c: ; 0x0214bb9c mov r0, r5 bl func_020079d8 ldr r0, _0214bde4 ; =data_027e10a4 - ldr r3, _0214bde8 ; =data_02050f54 + ldr r3, _0214bde8 ; =gSinCosTable ldr r1, [r0] add r0, sp, #0x6c add r1, r1, #0x400 @@ -52263,7 +52263,7 @@ func_ov15_0214bb9c: ; 0x0214bb9c add r1, sp, #0x60 mov r0, r4 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0xc0] add r1, sp, #0x90 add r2, sp, #0x60 @@ -52291,7 +52291,7 @@ _0214bcac: _0214bcf0: add r0, r6, #0x100 ldrh r1, [r0, #0x7c] - ldr r3, _0214bde8 ; =data_02050f54 + ldr r3, _0214bde8 ; =gSinCosTable add r0, sp, #0x3c mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -52317,7 +52317,7 @@ _0214bcf0: beq _0214bda8 add r0, r6, #0x100 ldrh r1, [r0, #0x8c] - ldr r3, _0214bde8 ; =data_02050f54 + ldr r3, _0214bde8 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -52353,7 +52353,7 @@ _0214bda8: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0214bde4: .word data_027e10a4 -_0214bde8: .word data_02050f54 +_0214bde8: .word gSinCosTable _0214bdec: .word data_ov15_02186234 _0214bdf0: .word data_ov00_020e9370 arm_func_end func_ov15_0214bb9c @@ -54117,7 +54117,7 @@ func_ov15_0214d2b0: ; 0x0214d2b0 mov r3, #0x1000 str r1, [r0, #0x158] str lr, [r0, #0x98] - ldr r1, _0214d310 ; =data_027e0d0c + ldr r1, _0214d310 ; =gVec3p_ZERO str lr, [r0, #0x88] ldr r2, [r1] str r2, [r0, #0xa8] @@ -54136,7 +54136,7 @@ func_ov15_0214d2b0: ; 0x0214d2b0 mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_0214d310: .word data_027e0d0c +_0214d310: .word gVec3p_ZERO arm_func_end func_ov15_0214d2b0 .global func_ov15_0214d314 @@ -54148,7 +54148,7 @@ func_ov15_0214d314: ; 0x0214d314 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x4c] ldr r0, [r4, #0x18] cmp r1, r0 @@ -54190,7 +54190,7 @@ func_ov15_0214d358: ; 0x0214d358 ldr r0, _0214d3dc ; =data_ov00_020eec9c add r1, r1, #0xfa mov r1, r1, lsl #0x10 - ldr r2, _0214d3e0 ; =data_027e0f94 + ldr r2, _0214d3e0 ; =gPlayerPos mov r1, r1, lsr #0x10 bl func_ov00_020d7a84 mov r0, r4 @@ -54199,7 +54199,7 @@ func_ov15_0214d358: ; 0x0214d358 .align 2, 0 _0214d3d8: .word gItemManager _0214d3dc: .word data_ov00_020eec9c -_0214d3e0: .word data_027e0f94 +_0214d3e0: .word gPlayerPos arm_func_end func_ov15_0214d358 .global func_ov15_0214d3e4 @@ -54351,7 +54351,7 @@ func_ov15_0214d568: ; 0x0214d568 stmdb sp!, {r3, lr} mvn lr, #0 str lr, [r0, #0x98] - ldr r1, _0214d5bc ; =data_027e0d0c + ldr r1, _0214d5bc ; =gVec3p_ZERO str lr, [r0, #0x88] ldr r2, [r1] mov r3, #0 @@ -54370,7 +54370,7 @@ func_ov15_0214d568: ; 0x0214d568 mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_0214d5bc: .word data_027e0d0c +_0214d5bc: .word gVec3p_ZERO arm_func_end func_ov15_0214d568 .global func_ov15_0214d5c0 @@ -54382,7 +54382,7 @@ func_ov15_0214d5c0: ; 0x0214d5c0 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x4c] ldr r0, [r4, #0x18] cmp r1, r0 @@ -54412,23 +54412,23 @@ func_ov15_0214d604: ; 0x0214d604 ldr r0, [r4, #0x138] cmp r0, #0xf ldmltia sp!, {r4, pc} - ldr r0, _0214d670 ; =data_027e0f90 + ldr r0, _0214d670 ; =gPlayer mov r1, #4 ldr r0, [r0] ldr r2, [r0] ldr r2, [r2, #0x40] blx r2 ldr r0, _0214d674 ; =data_ov00_020eec9c - ldr r2, _0214d678 ; =data_027e0f94 + ldr r2, _0214d678 ; =gPlayerPos mov r1, #0x100 bl func_ov00_020d7a84 mov r0, r4 bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} .align 2, 0 -_0214d670: .word data_027e0f90 +_0214d670: .word gPlayer _0214d674: .word data_ov00_020eec9c -_0214d678: .word data_027e0f94 +_0214d678: .word gPlayerPos arm_func_end func_ov15_0214d604 .global func_ov15_0214d67c @@ -54537,7 +54537,7 @@ func_ov15_0214d784: ; 0x0214d784 ldr r0, _0214d808 ; =data_ov15_0218bca4 mov ip, #0x400 str r0, [r4] - ldr r1, _0214d80c ; =data_027e0d0c + ldr r1, _0214d80c ; =gVec3p_ZERO str ip, [r4, #0x15c] ldr r0, [r1] mov r2, #0x2000 @@ -54566,7 +54566,7 @@ func_ov15_0214d784: ; 0x0214d784 ldmia sp!, {r4, pc} .align 2, 0 _0214d808: .word data_ov15_0218bca4 -_0214d80c: .word data_027e0d0c +_0214d80c: .word gVec3p_ZERO arm_func_end func_ov15_0214d784 .global func_ov15_0214d810 @@ -54740,7 +54740,7 @@ _0214da40: ldrb r0, [r5, #0x158] cmp r0, #0 beq _0214da70 - ldr r0, _0214dbe8 ; =data_027e0fb8 + ldr r0, _0214dbe8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 @@ -54847,7 +54847,7 @@ _0214dbd0: add sp, sp, #0x94 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0214dbe8: .word data_027e0fb8 +_0214dbe8: .word gPlayerControl _0214dbec: .word data_027e0f64 _0214dbf0: .word data_ov15_0218f62c _0214dbf4: .word data_ov15_0218f65c @@ -54886,7 +54886,7 @@ func_ov15_0214dc1c: ; 0x0214dc1c ldrb r0, [r5, #0x158] cmp r0, #0 beq _0214dc74 - ldr r0, _0214dca8 ; =data_027e0fb8 + ldr r0, _0214dca8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 @@ -54909,7 +54909,7 @@ _0214dc94: bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0214dca8: .word data_027e0fb8 +_0214dca8: .word gPlayerControl arm_func_end func_ov15_0214dc1c .global func_ov15_0214dcac @@ -54952,7 +54952,7 @@ _0214dd14: cmp r0, #0x2b addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, pc} - ldr r0, _0214e064 ; =data_027e0f94 + ldr r0, _0214e064 ; =gPlayerPos add r4, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} @@ -54967,7 +54967,7 @@ _0214dd14: str r2, [sp, #0x20] mov r0, #0 str r0, [sp] - ldr r1, _0214e068 ; =data_027e0fac + ldr r1, _0214e068 ; =gPlayerAngle ldr r0, [r3, #4] ldrsh r3, [r1] add r2, sp, #0x1c @@ -55021,14 +55021,14 @@ _0214de08: add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214de3c: - ldr r0, _0214e070 ; =data_027e0fb8 + ldr r0, _0214e070 ; =gPlayerControl mov r1, #1 ldr r0, [r0] mov r2, r1 bl _ZN13PlayerControl18func_ov00_020af2d4Ejb cmp r0, #0 beq _0214dec4 - ldr r0, _0214e070 ; =data_027e0fb8 + ldr r0, _0214e070 ; =gPlayerControl ldr r3, [r0] ldrh r0, [r3, #0x34] tst r0, #1 @@ -55134,7 +55134,7 @@ _0214df94: add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _0214dfe4: - ldr r0, _0214e070 ; =data_027e0fb8 + ldr r0, _0214e070 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -55168,10 +55168,10 @@ _0214e02c: ldmia sp!, {r3, r4, pc} .align 2, 0 _0214e060: .word data_027e0f64 -_0214e064: .word data_027e0f94 -_0214e068: .word data_027e0fac +_0214e064: .word gPlayerPos +_0214e068: .word gPlayerAngle _0214e06c: .word data_027e1060 -_0214e070: .word data_027e0fb8 +_0214e070: .word gPlayerControl _0214e074: .word data_ov09_0211f5b4 arm_func_end func_ov15_0214dcac @@ -55271,7 +55271,7 @@ _0214e16c: mov r4, r1, lsl #0x1 add r1, r2, #1 add r3, r4, #1 - ldr r6, _0214eaac ; =data_02050f54 + ldr r6, _0214eaac ; =gSinCosTable mov r2, r2, lsl #0x1 mov r3, r3, lsl #0x1 ldrsh r5, [r6, r3] @@ -55330,22 +55330,22 @@ _0214e16c: ldr r11, [r10, #0x19c] ldr r4, [r10, #0x198] mov r0, r11 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0x74 rsb r0, r11, #0 add r1, sp, #0x98 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0x68 add r1, sp, #0x8c mov r0, r4 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0x5c add r1, sp, #0x8c mov r3, r2 rsb r0, r4, #0 - bl func_01ff9e64 + bl Vec3p_Axpy add r1, sp, #0x80 mov r0, r10 bl func_ov15_0214eabc @@ -55433,7 +55433,7 @@ _0214e3dc: rsb r0, r1, #0 add r1, sp, #0xb0 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r7, asr #0x1f mov r1, r0, lsl #0x4 mov r0, #0x800 @@ -55446,7 +55446,7 @@ _0214e3dc: rsb r0, r1, #0 add r1, sp, #0xa4 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r10, #0x64] ldr r0, [sp, #0x54] add r0, r1, r0 @@ -55467,12 +55467,12 @@ _0214e3dc: ldr r3, [r10, #0x60] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 - ldr r0, _0214eaac ; =data_02050f54 + ldr r0, _0214eaac ; =gSinCosTable mov r1, r2, lsl #0x1 ldrsh r0, [r0, r1] add r1, r2, #1 mov r2, r1, lsl #0x1 - ldr r1, _0214eaac ; =data_02050f54 + ldr r1, _0214eaac ; =gSinCosTable ldrsh ip, [r1, r2] smull r2, r1, r0, r7 adds r2, r2, #0x800 @@ -55499,7 +55499,7 @@ _0214e3dc: mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 - ldr r1, _0214eaac ; =data_02050f54 + ldr r1, _0214eaac ; =gSinCosTable mov r2, ip, lsl #0x1 ldrsh r1, [r1, r2] mov lr, r0, asr #0x1f @@ -55512,7 +55512,7 @@ _0214e3dc: str r1, [r10, #0x60] add r1, ip, #1 mov r2, r1, lsl #0x1 - ldr r1, _0214eaac ; =data_02050f54 + ldr r1, _0214eaac ; =gSinCosTable ldr ip, [r10, #0x68] ldrsh r3, [r1, r2] mov r1, r11, lsl #0x1 @@ -55599,11 +55599,11 @@ _0214e660: str r3, [sp, #0x3c] ldr r3, [r10, #0x98] str r3, [sp, #0x40] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x34 add r2, sp, #0x28 add r0, r10, #0x60 - bl func_01ff9bc4 + bl Vec3p_Add ldrb r0, [r10, #0x1a8] cmp r0, #4 beq _0214e6e4 @@ -55616,11 +55616,11 @@ _0214e660: add r1, r10, #0x170 mov r3, r2 mov r0, #0xc00 - bl func_01ff9e64 + bl Vec3p_Axpy _0214e6e4: mov r0, r10 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r10, #0x110] cmp r0, #0 ldreqb r0, [r10, #0x112] @@ -55872,7 +55872,7 @@ _0214ea84: add sp, sp, #0xbc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0214eaac: .word data_02050f54 +_0214eaac: .word gSinCosTable _0214eab0: .word data_ov15_0218bd58 _0214eab4: .word 0xffffc71c _0214eab8: .word data_027e0ff8 @@ -55917,7 +55917,7 @@ func_ov15_0214eb18: ; 0x0214eb18 mov r7, r1 mov r5, r3 bne _0214eb74 - ldr r1, _0214ed4c ; =data_027e0d0c + ldr r1, _0214ed4c ; =gVec3p_ZERO add sp, sp, #0x24 ldr r2, [r1] mov r0, #1 @@ -55939,7 +55939,7 @@ _0214eb74: beq _0214ebf4 ldrsh r0, [r8, #0x78] add r1, r8, #0x100 - ldr r3, _0214ed50 ; =data_02050f54 + ldr r3, _0214ed50 ; =gSinCosTable strh r0, [r1, #0xd4] ldrh r2, [r1, #0xd4] add sp, sp, #0x24 @@ -55980,14 +55980,14 @@ _0214ebf4: str r0, [sp, #0x1c] mov r0, r3 add r1, r8, #0x1c8 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 add r1, r8, #0x100 strh r0, [r1, #0xd4] add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length cmp r0, r6 bge _0214ec64 ldr r0, [sp, #0xc] @@ -55998,7 +55998,7 @@ _0214ebf4: _0214ec64: add r0, r8, #0x100 ldrh r1, [r0, #0xd4] - ldr r2, _0214ed50 ; =data_02050f54 + ldr r2, _0214ed50 ; =gSinCosTable mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r2, r1] @@ -56024,7 +56024,7 @@ _0214ecc4: add r0, r8, #0x1c8 add r1, r8, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x18 add r1, r8, #0x1c8 bl func_ov00_020ce2f0 @@ -56042,12 +56042,12 @@ _0214ecf8: add r0, r8, #0x1c8 add r1, r8, #0x48 strb r3, [r8, #0x1d6] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [r7, #4] ldr r0, [r7] ldr r1, [r7, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 mov r2, r5 @@ -56057,8 +56057,8 @@ _0214ecf8: add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0214ed4c: .word data_027e0d0c -_0214ed50: .word data_02050f54 +_0214ed4c: .word gVec3p_ZERO +_0214ed50: .word gSinCosTable _0214ed54: .word 0x0000019a arm_func_end func_ov15_0214eb18 @@ -56084,7 +56084,7 @@ func_ov15_0214ed58: ; 0x0214ed58 ldr r3, [r4, #0x50] mov r2, r1 str r3, [r4, #0x5c] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] @@ -56123,7 +56123,7 @@ func_ov15_0214edec: ; 0x0214edec add r0, r4, #0x48 add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -56286,15 +56286,15 @@ _0214f010: mov r0, r10 mov r1, r9 mov r2, r10 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x30] ldr r1, [sp, #0x38] - bl func_01ffa0f4 + bl Atan2 add r1, r7, r4, lsl #1 add r1, r1, #0x100 strh r0, [r1, #0x64] mov r0, r10 - bl func_01ff9cec + bl Vec3p_Length add r1, r7, r4, lsl #2 add r4, r4, #1 str r0, [r1, #0x178] @@ -56372,7 +56372,7 @@ func_ov15_0214f114: ; 0x0214f114 moveq r0, #0 movne r0, #1 strb r0, [r4, #0x1ad] - ldr r1, _0214f19c ; =data_027e0fe4 + ldr r1, _0214f19c ; =gActorManager ldr r2, _0214f1a0 ; =0x4647474e ldr r1, [r1] add r0, sp, #0 @@ -56382,7 +56382,7 @@ func_ov15_0214f114: ; 0x0214f114 cmp r1, r0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} - ldr r0, _0214f19c ; =data_027e0fe4 + ldr r0, _0214f19c ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -56392,7 +56392,7 @@ func_ov15_0214f114: ; 0x0214f114 .align 2, 0 _0214f194: .word gAdventureFlags _0214f198: .word 0x0000010f -_0214f19c: .word data_027e0fe4 +_0214f19c: .word gActorManager _0214f1a0: .word 0x4647474e arm_func_end func_ov15_0214f114 @@ -56564,7 +56564,7 @@ _0214f388: ldr r0, _0214f748 ; =0x00001770 str r1, [r4, #0x294] str r0, [r4, #0x284] - ldr r0, _0214f74c ; =data_027e0fac + ldr r0, _0214f74c ; =gPlayerAngle str r2, [r4, #0x288] ldrsh r0, [r0] add sp, sp, #0x224 @@ -56640,10 +56640,10 @@ _0214f510: stmia lr, {r0, r1, r2} mov r3, #0 str r3, [sp] - ldr r0, _0214f750 ; =data_027e0f90 + ldr r0, _0214f750 ; =gPlayer str r3, [sp, #4] ldr r0, [r0] - ldr r1, _0214f74c ; =data_027e0fac + ldr r1, _0214f74c ; =gPlayerAngle ldr ip, [r0] ldrsh r2, [r1] ldr ip, [ip, #0x34] @@ -56785,8 +56785,8 @@ _0214f73c: .word data_027e10a4 _0214f740: .word 0x00001333 _0214f744: .word 0x0000051f _0214f748: .word 0x00001770 -_0214f74c: .word data_027e0fac -_0214f750: .word data_027e0f90 +_0214f74c: .word gPlayerAngle +_0214f750: .word gPlayer arm_func_end func_ov15_0214f1a4 .global func_ov15_0214f754 @@ -56804,7 +56804,7 @@ func_ov15_0214f754: ; 0x0214f754 func_ov15_0214f768: ; 0x0214f768 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x4c - ldr r1, _0214f9c8 ; =data_027e0f94 + ldr r1, _0214f9c8 ; =gPlayerPos mov r9, r0 add r7, sp, #0x40 ldmia r1, {r0, r1, r2} @@ -56837,11 +56837,11 @@ _0214f7c4: str r3, [sp, #0x34] str ip, [sp, #0x38] str r11, [sp, #0x3c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 mov r0, r4 str r1, [sp, #0x2c] - bl func_01ff9cec + bl Vec3p_Length cmp r0, r6 add r8, r8, #1 movlt r6, r0 @@ -56852,7 +56852,7 @@ _0214f81c: cmp r5, #0 mov r8, #0 ble _0214f92c - ldr r10, _0214f9cc ; =data_02050f54 + ldr r10, _0214f9cc ; =gSinCosTable mov r7, r8 add r11, sp, #0x28 _0214f834: @@ -56867,12 +56867,12 @@ _0214f834: str r3, [sp, #0x34] str ip, [sp, #0x38] str r4, [sp, #0x3c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x2c] ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 add r0, r9, r8, lsl #1 add r0, r0, #0x100 @@ -56881,7 +56881,7 @@ _0214f834: rsb r1, r2, r1, asr #16 mov r1, r1, lsl #0x10 mov r4, r1, lsr #0x10 - bl func_01ff9cec + bl Vec3p_Length mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 @@ -56962,8 +56962,8 @@ _0214f9bc: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0214f9c8: .word data_027e0f94 -_0214f9cc: .word data_02050f54 +_0214f9c8: .word gPlayerPos +_0214f9cc: .word gSinCosTable _0214f9d0: .word data_027e0ff0 arm_func_end func_ov15_0214f768 @@ -56989,7 +56989,7 @@ func_ov15_0214f9d4: ; 0x0214f9d4 addeq sp, sp, #0x60 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r0, _0214fbe4 ; =data_027e10a4 - ldr r1, _0214fbe8 ; =data_027e0f94 + ldr r1, _0214fbe8 ; =gPlayerPos ldr r3, [r0] ldr r0, [sp] add r4, r3, #0x14 @@ -57032,7 +57032,7 @@ _0214fa80: mov r0, #0x24 mla r0, r3, r0, r5 add r0, r0, #4 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x54] cmp r0, #0 ldreq r0, [sp, #0x58] @@ -57042,24 +57042,24 @@ _0214fa80: beq _0214fbb8 mov r0, r6 add r1, sp, #0x48 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x18 mov r1, r11 add r2, sp, #0x30 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc mov r1, r11 add r2, sp, #0x24 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x28] str r0, [sp, #0x34] add r0, sp, #0x30 add r1, sp, #0x48 - bl func_01ff9c2c + bl Vec3p_Dot mov r5, r0 mov r0, r6 - bl func_01ff9cec + bl Vec3p_Length cmp r5, r0 bgt _0214fbb8 cmp r5, #0 @@ -57067,11 +57067,11 @@ _0214fa80: add r0, sp, #0x24 mov r1, r6 mov r2, r0 - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0x30 mov r1, r6 mov r2, r0 - bl func_01ff9c68 + bl Vec3p_Cross ldr r1, [sp, #0x34] ldr r0, [sp, #0x28] teq r1, r0 @@ -57107,7 +57107,7 @@ _0214fbb8: _0214fbdc: .word gAdventureFlags _0214fbe0: .word 0x0000010f _0214fbe4: .word data_027e10a4 -_0214fbe8: .word data_027e0f94 +_0214fbe8: .word gPlayerPos arm_func_end func_ov15_0214f9d4 .global func_ov15_0214fbec @@ -57129,7 +57129,7 @@ func_ov15_0214fbec: ; 0x0214fbec mov r0, #0x3000 str r0, [r9, #0x220] ldr r1, _0214fe9c ; =0x00001770 - ldr r0, _0214fea0 ; =data_027e0fac + ldr r0, _0214fea0 ; =gPlayerAngle str r1, [r9, #0x21c] ldrsh r0, [r0] mov r2, #0 @@ -57293,7 +57293,7 @@ _0214fe3c: .align 2, 0 _0214fe98: .word data_027e0f64 _0214fe9c: .word 0x00001770 -_0214fea0: .word data_027e0fac +_0214fea0: .word gPlayerAngle arm_func_end func_ov15_0214fbec .global func_ov15_0214fea4 @@ -57301,7 +57301,7 @@ _0214fea0: .word data_027e0fac func_ov15_0214fea4: ; 0x0214fea4 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x24 - ldr r2, _0214ff38 ; =data_027e0fac + ldr r2, _0214ff38 ; =gPlayerAngle ldr r3, [r1, #0x224] ldrsh r1, [r2] ldr ip, _0214ff3c ; =0x000008a4 @@ -57326,21 +57326,21 @@ func_ov15_0214fea4: ; 0x0214fea4 add r0, sp, #0xc add r1, sp, #0x18 add r2, sp, #0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0 - ldr r1, _0214ff44 ; =data_027e0f94 + ldr r1, _0214ff44 ; =gPlayerPos mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_0214ff38: .word data_027e0fac +_0214ff38: .word gPlayerAngle _0214ff3c: .word 0x000008a4 _0214ff40: .word 0x0000051f -_0214ff44: .word data_027e0f94 +_0214ff44: .word gPlayerPos arm_func_end func_ov15_0214fea4 .global func_ov15_0214ff48 @@ -57556,7 +57556,7 @@ func_ov15_021501ac: ; 0x021501ac ldmia r1, {r0, r1, r2, r3} stmia r6, {r0, r1, r2, r3} ldr r5, _0215084c ; =data_027e0dcc - ldr r4, _02150850 ; =data_027e0fe4 + ldr r4, _02150850 ; =gActorManager add r3, sp, #0x70 ldmia r5, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -57572,7 +57572,7 @@ func_ov15_021501ac: ; 0x021501ac blo _02150234 cmp r0, #0xc bhs _02150234 - ldr r0, _02150850 ; =data_027e0fe4 + ldr r0, _02150850 ; =gActorManager mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x29] @@ -57640,7 +57640,7 @@ _02150234: str r0, [r10, #0x160] ldr r2, [r10, #0x4c] ldr r1, [r10, #0x184] - ldr r0, _02150850 ; =data_027e0fe4 + ldr r0, _02150850 ; =gActorManager add r1, r2, r1 str r1, [r10, #0x1a0] ldr r1, [r0] @@ -57653,18 +57653,18 @@ _02150234: strb r0, [r10, #0x29c] cmp r6, #0xff beq _0215035c - ldr r0, _02150850 ; =data_027e0fe4 + ldr r0, _02150850 ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 bne _0215036c _0215035c: - ldr r0, _02150850 ; =data_027e0fe4 + ldr r0, _02150850 ; =gActorManager ldrb r1, [sp, #8] ldr r0, [r0] strb r1, [r0, #0x28] _0215036c: - ldr r3, _02150850 ; =data_027e0fe4 + ldr r3, _02150850 ; =gActorManager add r4, sp, #0x64 ldr r5, [r3] cmp r6, #0xff @@ -57719,7 +57719,7 @@ _02150408: cmp r9, #3 bne _02150460 ldr r1, _02150864 ; =data_ov15_0218bef4 - ldr r0, _02150850 ; =data_027e0fe4 + ldr r0, _02150850 ; =gActorManager ldrb r2, [r1, #0x10] ldr r1, [r0] add sp, sp, #0x8c @@ -57727,7 +57727,7 @@ _02150408: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02150460: - ldr r0, _02150868 ; =data_027e0f94 + ldr r0, _02150868 ; =gPlayerPos add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -57821,7 +57821,7 @@ _02150578: bl func_ov00_020c6940 add r0, sp, #0x48 add r1, sp, #0x64 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x32000 bge _021505d4 cmp r9, #0 @@ -57906,7 +57906,7 @@ _021506e0: mov r5, r0, asr #0x18 bgt _02150578 ldr r1, _02150864 ; =data_ov15_0218bef4 - ldr r0, _02150850 ; =data_027e0fe4 + ldr r0, _02150850 ; =gActorManager ldrb r2, [r1, #0x11] ldr r1, [r0] add sp, sp, #0x8c @@ -57925,7 +57925,7 @@ _0215072c: str r0, [r10, #0x290] _02150734: ldr r1, [r10, #0x48] - ldr r0, _02150850 ; =data_027e0fe4 + ldr r0, _02150850 ; =gActorManager str r1, [r10, #0x1c8] ldr r1, [r10, #0x4c] str r1, [r10, #0x1cc] @@ -57998,13 +57998,13 @@ _021507b0: .align 2, 0 _02150848: .word data_027e0dbc _0215084c: .word data_027e0dcc -_02150850: .word data_027e0fe4 +_02150850: .word gActorManager _02150854: .word 0x00000999 _02150858: .word gMapManager _0215085c: .word data_027e0ff0 _02150860: .word data_ov15_02186394 _02150864: .word data_ov15_0218bef4 -_02150868: .word data_027e0f94 +_02150868: .word gPlayerPos _0215086c: .word data_027e0764 _02150870: .word data_027e0fec arm_func_end func_ov15_021501ac @@ -58086,7 +58086,7 @@ _02150954: ldr r3, [r5, #0x50] mov r2, r1 str r3, [r5, #0x5c] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] @@ -58165,10 +58165,10 @@ _02150a6c: mov r0, r3 mov r2, r3 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x100 strh r0, [r1, #0xd4] ldrsh r0, [r1, #0xd4] @@ -58420,7 +58420,7 @@ _02150e5c: _02150e64: mov r0, r5 bl func_ov15_02150fd8 - ldr r0, _02150eb4 ; =data_027e0fe4 + ldr r0, _02150eb4 ; =gActorManager ldr r1, [r5, #0x48] ldr r2, [r0] str r1, [r2, #0x1c] @@ -58439,7 +58439,7 @@ _02150ea4: .word 0x00050007 _02150ea8: .word data_027e103c _02150eac: .word data_027e0f64 _02150eb0: .word 0x00001388 -_02150eb4: .word data_027e0fe4 +_02150eb4: .word gActorManager arm_func_end func_ov15_021509b8 .global func_ov15_02150eb8 @@ -58536,7 +58536,7 @@ func_ov15_02150fd8: ; 0x02150fd8 add r1, sp, #0 bl func_ov15_0214eb18 add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 movs r0, r0, asr #0x5 @@ -58551,7 +58551,7 @@ _02151020: _0215102c: ldrh r1, [r4, #0x78] mov r3, #0 - ldr r2, _021510bc ; =data_02050f54 + ldr r2, _021510bc ; =gSinCosTable mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 add r1, r5, #1 @@ -58575,7 +58575,7 @@ _0215102c: str r6, [sp] str r3, [sp, #4] str ip, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add _02151098: mov r0, r4 bl func_ov15_0214edec @@ -58587,7 +58587,7 @@ _02151098: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _021510b8: .word 0x00000222 -_021510bc: .word data_02050f54 +_021510bc: .word gSinCosTable arm_func_end func_ov15_02150fd8 .global func_ov15_021510c0 @@ -58718,7 +58718,7 @@ func_ov15_0215124c: ; 0x0215124c cmp r1, #1 bne _02151310 ldrh r0, [r4, #0x20] - ldr r1, _0215131c ; =data_02050f54 + ldr r1, _0215131c ; =gSinCosTable mov lr, #1 strh r0, [sp] ldrh r0, [r4, #0x78] @@ -58766,7 +58766,7 @@ _02151310: add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0215131c: .word data_02050f54 +_0215131c: .word gSinCosTable arm_func_end func_ov15_0215124c .global func_ov15_02151320 @@ -58794,7 +58794,7 @@ func_ov15_02151320: ; 0x02151320 ldmeqia sp!, {r4, pc} add r0, r4, #0x100 ldrh r1, [r0, #0x68] - ldr r3, _02151420 ; =data_02050f54 + ldr r3, _02151420 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -58837,7 +58837,7 @@ func_ov15_02151320: ; 0x02151320 ldmia sp!, {r4, pc} .align 2, 0 _0215141c: .word data_027e077c -_02151420: .word data_02050f54 +_02151420: .word gSinCosTable arm_func_end func_ov15_02151320 .global func_ov15_02151424 @@ -58898,7 +58898,7 @@ _02151470: ldrb r0, [r4, #0x29e] cmp r0, #0 beq _02151548 - ldr r0, _021515b0 ; =data_027e0fe4 + ldr r0, _021515b0 ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 @@ -58922,7 +58922,7 @@ _02151548: ldrb r0, [r4, #0x29f] cmp r0, #0 beq _02151570 - ldr r0, _021515b0 ; =data_027e0fe4 + ldr r0, _021515b0 ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 @@ -58930,7 +58930,7 @@ _02151548: moveq r3, #0x61 b _02151588 _02151570: - ldr r0, _021515b0 ; =data_027e0fe4 + ldr r0, _021515b0 ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 @@ -58948,7 +58948,7 @@ _02151588: .align 2, 0 _021515a8: .word 0x0000ffff _021515ac: .word data_027e0d3c -_021515b0: .word data_027e0fe4 +_021515b0: .word gActorManager _021515b4: .word data_027e103c _021515b8: .word data_02063e4c arm_func_end func_ov15_02151424 @@ -58959,7 +58959,7 @@ func_ov15_021515bc: ; 0x021515bc stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0xc ldrh r2, [r0, #0x78] - ldr ip, _02151678 ; =data_02050f54 + ldr ip, _02151678 ; =gSinCosTable ldr lr, [r0, #0x4c] mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 @@ -58997,15 +58997,15 @@ func_ov15_021515bc: ; 0x021515bc ldr r1, _0215167c ; =0x00000b33 mov r2, #8 beq _0215166c - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} _0215166c: - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02151678: .word data_02050f54 +_02151678: .word gSinCosTable _0215167c: .word 0x00000b33 arm_func_end func_ov15_021515bc @@ -59269,9 +59269,9 @@ _02151938: str r3, [sp, #0x14] ldr r3, [r9, #0x50] str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r5 - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 cmp r4, #0x1000 bge _02151a20 @@ -59291,11 +59291,11 @@ _02151938: mov r0, r6 mov r1, r5 mov r2, r6 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r11 mov r1, r5 mov r2, r11 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x1c] str r0, [r8, #0x48] ldr r0, [sp, #0x20] @@ -59327,7 +59327,7 @@ _02151a2c: func_ov15_02151a48: ; 0x02151a48 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r2, #0 - ldr lr, _02151b38 ; =data_027e0d0c + ldr lr, _02151b38 ; =gVec3p_ZERO str r2, [r0, #0x6c] ldr r3, [lr] sub r1, r2, #1 @@ -59387,7 +59387,7 @@ _02151b18: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02151b38: .word data_027e0d0c +_02151b38: .word gVec3p_ZERO _02151b3c: .word data_027e0764 arm_func_end func_ov15_02151a48 @@ -59396,19 +59396,19 @@ _02151b3c: .word data_027e0764 func_ov15_02151b40: ; 0x02151b40 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x48 - ldr r1, _02151cc0 ; =data_027e0f90 + ldr r1, _02151cc0 ; =gPlayer mov r4, r0 ldr r0, [r1] ldrsh r0, [r0, #0xa] cmp r0, #0 addle sp, sp, #0x48 ldmleia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, _02151cc4 ; =data_027e0f94 + ldr r0, _02151cc4 ; =gPlayerPos add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -59475,7 +59475,7 @@ func_ov15_02151b40: ; 0x02151b40 add r0, sp, #0x3c add r1, sp, #4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #8] mov r1, #0 str r0, [sp, #0x2c] @@ -59491,8 +59491,8 @@ func_ov15_02151b40: ; 0x02151b40 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02151cc0: .word data_027e0f90 -_02151cc4: .word data_027e0f94 +_02151cc0: .word gPlayer +_02151cc4: .word gPlayerPos _02151cc8: .word data_027e0764 _02151ccc: .word 0x00001001 _02151cd0: .word data_027e0f64 @@ -59790,7 +59790,7 @@ _02152040: arm_func_start func_ov15_02152050 func_ov15_02152050: ; 0x02152050 stmdb sp!, {r3, lr} - ldr r1, _02152088 ; =data_027e0fe4 + ldr r1, _02152088 ; =gActorManager mov r2, r0 ldr r0, [r1] add r1, r2, #0x388 @@ -59804,7 +59804,7 @@ func_ov15_02152050: ; 0x02152050 ldr r0, [r0, r1, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 -_02152088: .word data_027e0fe4 +_02152088: .word gActorManager _0215208c: .word data_ov15_021863a8 _02152090: .word data_ov15_02186448 arm_func_end func_ov15_02152050 @@ -59813,7 +59813,7 @@ _02152090: .word data_ov15_02186448 arm_func_start func_ov15_02152094 func_ov15_02152094: ; 0x02152094 stmdb sp!, {r3, lr} - ldr r1, _021520cc ; =data_027e0fe4 + ldr r1, _021520cc ; =gActorManager mov r2, r0 ldr r0, [r1] add r1, r2, #0x388 @@ -59827,7 +59827,7 @@ func_ov15_02152094: ; 0x02152094 ldr r0, [r0, r1, lsl #2] ldmia sp!, {r3, pc} .align 2, 0 -_021520cc: .word data_027e0fe4 +_021520cc: .word gActorManager _021520d0: .word data_ov15_021863a8 _021520d4: .word data_ov15_0218645c arm_func_end func_ov15_02152094 @@ -59925,7 +59925,7 @@ func_ov15_02152184: ; 0x02152184 cmp r0, #0 bne _02152278 mov r1, #1 - ldr r0, _02152348 ; =data_027e0fe4 + ldr r0, _02152348 ; =gActorManager strb r1, [r7, #0x406] sub r8, r1, #2 mov r6, #0 @@ -59961,7 +59961,7 @@ func_ov15_02152184: ; 0x02152184 str r8, [sp, #0x30] str r4, [sp] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #8] mov r3, r6 cmp r0, #0 @@ -59995,7 +59995,7 @@ _02152278: mov r2, r1 bl func_ov15_02152548 add r0, r7, #8 - ldr r9, _02152348 ; =data_027e0fe4 + ldr r9, _02152348 ; =gActorManager add r6, r0, #0x400 mov r5, #0 mvn r8, #0 @@ -60036,7 +60036,7 @@ _02152330: add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02152348: .word data_027e0fe4 +_02152348: .word gActorManager _0215234c: .word _ZTV11FilterActor _02152350: .word 0x4653524c _02152354: .word data_027e1060 @@ -60055,7 +60055,7 @@ func_ov15_02152358: ; 0x02152358 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r0, r4, #8 - ldr r6, _021523e0 ; =data_027e0fe4 + ldr r6, _021523e0 ; =gActorManager add r8, r0, #0x400 mov r7, #0 mvn r5, #0 @@ -60082,7 +60082,7 @@ _021523c4: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _021523dc: .word gItemManager -_021523e0: .word data_027e0fe4 +_021523e0: .word gActorManager arm_func_end func_ov15_02152358 .global func_ov15_021523e4 @@ -60101,7 +60101,7 @@ func_ov15_021523e4: ; 0x021523e4 mov r1, #1 mov r2, #0 bl func_ov15_02152548 - ldr r0, _02152538 ; =data_027e0f94 + ldr r0, _02152538 ; =gPlayerPos mov r3, #0 str r3, [r0] str r3, [r0, #8] @@ -60119,7 +60119,7 @@ _0215244c: str ip, [r4, #0x78] add r0, r4, #0x400 strh ip, [r0] - ldr r0, _02152538 ; =data_027e0f94 + ldr r0, _02152538 ; =gPlayerPos str ip, [r4, #0x3c0] ldr r2, [r0, #8] ldmia r0, {r1, r3} @@ -60176,7 +60176,7 @@ _021524d0: ldmia sp!, {r3, r4, pc} .align 2, 0 _02152534: .word data_027e0d38 -_02152538: .word data_027e0f94 +_02152538: .word gPlayerPos arm_func_end func_ov15_021523e4 .global func_ov15_0215253c @@ -60271,7 +60271,7 @@ _021525f4: _0215265c: mov r0, r4 bl func_ov15_021368b4 - ldr r1, _02152690 ; =data_027e0fa0 + ldr r1, _02152690 ; =gPlayerVel ldr r2, [r1, #4] sub r2, r2, r0 mov r0, r4 @@ -60283,7 +60283,7 @@ _0215265c: _02152684: .word gAdventureFlags _02152688: .word gMapManager _0215268c: .word data_027e0d38 -_02152690: .word data_027e0fa0 +_02152690: .word gPlayerVel arm_func_end func_ov15_02152560 .global func_ov15_02152694 @@ -60300,17 +60300,17 @@ func_ov15_02152694: ; 0x02152694 add r0, r4, #0xc4 mov r1, ip add r0, r0, #0x400 - bl func_01ff9ec0 + bl Vec3p_Distance add r3, r4, #0xb8 add r1, r4, #0xc4 str r0, [r4, #0x468] add r0, r1, #0x400 add r2, sp, #0x18 add r1, r3, #0x400 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x464] @@ -60321,10 +60321,10 @@ func_ov15_02152694: ; 0x02152694 mov r3, #0 mov r0, ip str r3, [sp, #0x10] - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 ldr r0, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x460] @@ -60343,10 +60343,10 @@ func_ov15_02152694: ; 0x02152694 mov r2, r0 add r1, r1, #0x400 str r3, [sp, #0x2c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x24 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x24 mov r1, #0x1000 bl func_01fffbec @@ -60354,7 +60354,7 @@ func_ov15_02152694: ; 0x02152694 add r1, r4, #0xc4 mov r2, r0 add r1, r1, #0x400 - bl func_01ff9bc4 + bl Vec3p_Add _0215279c: mvn r0, #0 str r0, [sp] @@ -60464,13 +60464,13 @@ _021528d0: add r0, sp, #0x1c str ip, [r1, #4] movlt r4, #1 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] str r1, [sp, #0x3c] bl func_ov00_020c3348 - ldr r1, _021529cc ; =data_027e0f94 + ldr r1, _021529cc ; =gPlayerPos mov ip, #0 ldr r2, [r1, #4] ldr r3, [r1] @@ -60487,7 +60487,7 @@ _021528d0: add r1, sp, #4 mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add add r1, r6, #0x388 str r1, [sp] ldr r0, _021529d0 ; =data_027e0fe8 @@ -60506,7 +60506,7 @@ _021529bc: .word 0x00000111 _021529c0: .word gItemManager _021529c4: .word data_027e0764 _021529c8: .word data_ov15_02186470 -_021529cc: .word data_027e0f94 +_021529cc: .word gPlayerPos _021529d0: .word data_027e0fe8 _021529d4: .word 0x534c4653 arm_func_end func_ov15_021527d4 @@ -60566,7 +60566,7 @@ _02152a40: func_ov15_02152a48: ; 0x02152a48 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x1ac - ldr r1, _02153464 ; =data_027e0fe4 + ldr r1, _02153464 ; =gActorManager mov r5, r0 ldr r0, [r1] add r1, r5, #0x388 @@ -60597,7 +60597,7 @@ _02152a94: ; jump table _02152abc: mov r0, r5 bl func_ov15_021527d4 - ldr r1, _02153468 ; =data_027e0f94 + ldr r1, _02153468 ; =gPlayerPos add r0, sp, #0xfc ldr r3, [r1, #4] ldr r2, [r1, #8] @@ -60665,8 +60665,8 @@ _02152b98: ldr r0, [r5, #0x3f0] cmp r0, #0 beq _02152d1c - ldr r1, _02153474 ; =data_027e0fac - ldr r11, _02153478 ; =data_02050f54 + ldr r1, _02153474 ; =gPlayerAngle + ldr r11, _02153478 ; =gSinCosTable ldrsh r3, [r1] ldr r0, _0215347c ; =0xfffffd9a mvn r1, #0 @@ -60942,10 +60942,10 @@ _02152fa8: ldr r0, [r5, #0x3f0] cmp r0, #0 bne _021530c4 - ldr r0, _02153474 ; =data_027e0fac - ldr r4, _02153478 ; =data_02050f54 + ldr r0, _02153474 ; =gPlayerAngle + ldr r4, _02153478 ; =gSinCosTable ldrsh r0, [r0] - ldr r1, _02153468 ; =data_027e0f94 + ldr r1, _02153468 ; =gPlayerPos add r2, r5, #0xc4 add r0, r0, #0x7800 mov r0, r0, lsl #0x10 @@ -61010,7 +61010,7 @@ _021530c4: mov r1, r5 bl func_ov15_0214850c ldr r1, [sp, #0x5c] - ldr r0, _02153468 ; =data_027e0f94 + ldr r0, _02153468 ; =gPlayerPos str r1, [r5, #0x3a4] ldr r2, [r0, #4] add r0, sp, #0x48 @@ -61093,7 +61093,7 @@ _02153234: strneb r0, [r5, #0x434] mov r0, r5 bl func_ov15_02154ba4 - ldr r0, _02153468 ; =data_027e0f94 + ldr r0, _02153468 ; =gPlayerPos ldr r1, [r5, #0x3c8] ldr r0, [r0] add r0, r0, r1 @@ -61124,7 +61124,7 @@ _0215329c: str r0, [sp] add r0, r5, #0x400 ldrh r1, [r0, #2] - ldr r0, _02153478 ; =data_02050f54 + ldr r0, _02153478 ; =gSinCosTable ldr r3, [sp, #0x38] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -61237,12 +61237,12 @@ _02153454: add sp, sp, #0x1ac ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02153464: .word data_027e0fe4 -_02153468: .word data_027e0f94 +_02153464: .word gActorManager +_02153468: .word gPlayerPos _0215346c: .word gAdventureFlags _02153470: .word data_027e0f64 -_02153474: .word data_027e0fac -_02153478: .word data_02050f54 +_02153474: .word gPlayerAngle +_02153478: .word gSinCosTable _0215347c: .word 0xfffffd9a _02153480: .word 0x000004aa _02153484: .word data_027e0ffc @@ -61267,7 +61267,7 @@ func_ov15_021534a8: ; 0x021534a8 cmp r1, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, _02153600 ; =data_027e0fe4 + ldr r0, _02153600 ; =gActorManager add r1, r5, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -61302,13 +61302,13 @@ _02153530: str r1, [sp, #0xc] ldr r1, [r5, #0x3cc] sub r0, r0, #0x2000 - bl func_01ffa0f4 + bl Atan2 add r0, r0, #0x4000 mov r2, r0, lsl #0x10 ldr r0, [r5, #0x3b4] ldr r1, [r5, #0x3bc] mov r6, r2, asr #0x10 - bl func_01ffa0f4 + bl Atan2 mov r1, #0x2800 mov r0, r0, lsl #0x10 rsb r1, r1, #0 @@ -61325,7 +61325,7 @@ _02153530: bl func_ov00_020a61ac add r0, sp, #4 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldrb r0, [r5, #0x448] ldr r2, [r5, #0x3d0] mov r3, #0x10 @@ -61348,7 +61348,7 @@ _02153530: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02153600: .word data_027e0fe4 +_02153600: .word gActorManager arm_func_end func_ov15_021534a8 .global func_ov15_02153604 @@ -61432,7 +61432,7 @@ func_ov15_021536e0: ; 0x021536e0 strneb r0, [r4, #0x449] ldmia sp!, {r4, pc} _0215371c: - ldr r0, _0215378c ; =data_027e0fe4 + ldr r0, _0215378c ; =gActorManager add r1, r4, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -61463,7 +61463,7 @@ _02153780: bl func_ov15_02175d14 ldmia sp!, {r4, pc} .align 2, 0 -_0215378c: .word data_027e0fe4 +_0215378c: .word gActorManager arm_func_end func_ov15_021536e0 .global func_ov15_02153790 @@ -61530,14 +61530,14 @@ _0215386c: mov r1, #5 bl func_ov15_0216e168 mov r2, #2 - ldr r1, _02153928 ; =data_027e0f94 + ldr r1, _02153928 ; =gPlayerPos mov r0, r4 str r2, [r4, #0x4d0] mov r2, #0x400 str r2, [r1, #4] bl func_ov15_02153f94 _02153898: - ldr r0, _0215392c ; =data_027e0fe4 + ldr r0, _0215392c ; =gActorManager add r1, r4, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -61575,8 +61575,8 @@ _021538d8: .align 2, 0 _02153920: .word data_027e0f64 _02153924: .word gAdventureFlags -_02153928: .word data_027e0f94 -_0215392c: .word data_027e0fe4 +_02153928: .word gPlayerPos +_0215392c: .word gActorManager _02153930: .word 0x00003fff _02153934: .word 0x00000111 arm_func_end func_ov15_02153790 @@ -61585,7 +61585,7 @@ _02153934: .word 0x00000111 arm_func_start func_ov15_02153938 func_ov15_02153938: ; 0x02153938 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _02153a40 ; =data_027e0fe4 + ldr r1, _02153a40 ; =gActorManager mov r2, r0 ldr r0, [r1] add r1, r2, #0x388 @@ -61654,7 +61654,7 @@ _02153a18: bl func_ov03_020fc10c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02153a40: .word data_027e0fe4 +_02153a40: .word gActorManager _02153a44: .word data_027e05f4 _02153a48: .word 0x000028a4 _02153a4c: .word 0x2aaaaaab @@ -61669,7 +61669,7 @@ _02153a5c: .word data_ov15_0218f6c8 func_ov15_02153a60: ; 0x02153a60 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0xc0 - ldr r1, _02153f58 ; =data_027e0fe4 + ldr r1, _02153f58 ; =gActorManager mov r5, r0 ldr r0, [r1] add r1, r5, #0x388 @@ -61806,7 +61806,7 @@ _02153ba8: mov r2, r0 str r6, [sp, #0xac] str r3, [sp, #0xb0] - bl func_01ff9bc4 + bl Vec3p_Add mvn r0, #0 str r0, [sp] mov r0, #0 @@ -61877,8 +61877,8 @@ _02153d0c: _02153d74: add r0, sp, #0x6c bl func_01ff80d4 - ldr r0, _02153f80 ; =data_027e0fac - ldr r3, _02153f84 ; =data_02050f54 + ldr r0, _02153f80 ; =gPlayerAngle + ldr r3, _02153f84 ; =gSinCosTable ldrh r1, [r0] add r0, sp, #0xc mov r1, r1, asr #0x4 @@ -61956,11 +61956,11 @@ _02153d74: add r1, sp, #0x6c mov r2, r0 bl func_01ff88b0 - ldr r1, _02153f90 ; =data_027e0f94 + ldr r1, _02153f90 ; =gPlayerPos add r0, sp, #0x48 add r2, r5, #0x358 - bl func_01ff9bc4 - ldr r1, _02153f80 ; =data_027e0fac + bl Vec3p_Add + ldr r1, _02153f80 ; =gPlayerAngle add r0, r5, #0x4c ldrsh r1, [r1] add r3, r5, #0x300 @@ -61997,7 +61997,7 @@ _02153d74: add sp, sp, #0xc0 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02153f58: .word data_027e0fe4 +_02153f58: .word gActorManager _02153f5c: .word data_027e1060 _02153f60: .word data_027e0c68 _02153f64: .word data_027e0f64 @@ -62007,11 +62007,11 @@ _02153f70: .word 0x000004cd _02153f74: .word 0xfffff8e1 _02153f78: .word gMapManager _02153f7c: .word data_027e0d38 -_02153f80: .word data_027e0fac -_02153f84: .word data_02050f54 +_02153f80: .word gPlayerAngle +_02153f84: .word gSinCosTable _02153f88: .word data_ov15_021863a8 _02153f8c: .word data_ov15_021863bc -_02153f90: .word data_027e0f94 +_02153f90: .word gPlayerPos arm_func_end func_ov15_02153a60 .global func_ov15_02153f94 @@ -62019,7 +62019,7 @@ _02153f90: .word data_027e0f94 func_ov15_02153f94: ; 0x02153f94 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x60 - ldr r1, _02154178 ; =data_027e0fe4 + ldr r1, _02154178 ; =gActorManager mov r5, r0 ldr r0, [r1] add r1, r5, #0x388 @@ -62028,7 +62028,7 @@ func_ov15_02153f94: ; 0x02153f94 add r1, sp, #0x3c mov r0, r5 bl func_ov15_02175ba8 - ldr r1, _0215417c ; =data_027e0f94 + ldr r1, _0215417c ; =gPlayerPos ldr r0, _02154180 ; =gMapManager ldr r2, [r1, #4] ldr r3, [r1] @@ -62040,7 +62040,7 @@ func_ov15_02153f94: ; 0x02153f94 mov r2, #0 str r3, [sp, #0x14] bl _ZN10MapManager16MapData_vfunc_68Ev - ldr r1, _0215417c ; =data_027e0f94 + ldr r1, _0215417c ; =gPlayerPos ldr r2, [r1, #4] cmp r2, r0 strlt r0, [r1, #4] @@ -62054,11 +62054,11 @@ func_ov15_02153f94: ; 0x02153f94 str r6, [sp, #0x34] str r3, [sp, #0x38] bl func_01ff88b0 - ldr r1, _0215417c ; =data_027e0f94 + ldr r1, _0215417c ; =gPlayerPos add r0, sp, #0x30 add r2, r5, #0x358 - bl func_01ff9bc4 - ldr r0, _02154188 ; =data_027e0fac + bl Vec3p_Add + ldr r0, _02154188 ; =gPlayerAngle add r1, r5, #0x300 ldrsh r2, [r0] add r0, r5, #0x4c @@ -62139,11 +62139,11 @@ func_ov15_02153f94: ; 0x02153f94 add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02154178: .word data_027e0fe4 -_0215417c: .word data_027e0f94 +_02154178: .word gActorManager +_0215417c: .word gPlayerPos _02154180: .word gMapManager _02154184: .word 0x000003d7 -_02154188: .word data_027e0fac +_02154188: .word gPlayerAngle _0215418c: .word data_ov15_021863bc _02154190: .word 0x0000019a _02154194: .word data_ov15_021863a8 @@ -62154,7 +62154,7 @@ _02154194: .word data_ov15_021863a8 func_ov15_02154198: ; 0x02154198 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 - ldr r1, _02154314 ; =data_027e0fe4 + ldr r1, _02154314 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x388 @@ -62255,7 +62255,7 @@ _02154304: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02154314: .word data_027e0fe4 +_02154314: .word gActorManager _02154318: .word data_027e1060 _0215431c: .word data_027e0c68 _02154320: .word gMapManager @@ -62277,7 +62277,7 @@ func_ov15_02154328: ; 0x02154328 beq _02154490 b _0215460c _02154354: - ldr r0, _0215461c ; =data_027e0fe4 + ldr r0, _0215461c ; =gActorManager add r1, r5, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -62291,13 +62291,13 @@ _02154374: mov r0, #0x1000 ldr r1, [r5, #0x3cc] rsb r0, r0, #0 - bl func_01ffa0f4 + bl Atan2 add r1, r0, #0x4000 add r0, r5, #0x400 strh r1, [r0, #0x38] ldr r0, [r5, #0x3b4] ldr r1, [r5, #0x3bc] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x400 strh r0, [r1, #0x3a] mov r2, #0 @@ -62388,7 +62388,7 @@ _02154490: add r0, r0, #0x1800 strh r0, [r1, #0x3c] ldrsh ip, [r1, #0x3a] - ldr r2, _0215462c ; =data_02050f54 + ldr r2, _0215462c ; =gSinCosTable add r0, sp, #0x34 add ip, ip, #0x100 strh ip, [r1, #0x3a] @@ -62416,7 +62416,7 @@ _02154490: bl func_ov00_020a61ac add r0, sp, #0x34 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r2, #0x100 add r0, r5, #0x3d8 mov r1, #0 @@ -62460,11 +62460,11 @@ _0215460c: add sp, sp, #0x64 ldmia sp!, {r4, r5, pc} .align 2, 0 -_0215461c: .word data_027e0fe4 +_0215461c: .word gActorManager _02154620: .word data_ov00_020eec68 _02154624: .word gMapManager _02154628: .word data_027e0d38 -_0215462c: .word data_02050f54 +_0215462c: .word gSinCosTable arm_func_end func_ov15_02154328 .global func_ov15_02154630 @@ -62580,14 +62580,14 @@ _021547ac: strb r0, [r4, #0x291] strb r0, [r4, #0x443] _021547b8: - ldr r0, _021548b8 ; =data_027e0fa0 + ldr r0, _021548b8 ; =gPlayerVel mov r1, #0 str r1, [r0] str r1, [r0, #8] _021547c8: mov r0, r4 bl func_ov15_021368b4 - ldr r2, _021548b8 ; =data_027e0fa0 + ldr r2, _021548b8 ; =gPlayerVel mvn r3, #0x80000000 ldr ip, [r2, #4] mov r1, #0 @@ -62654,7 +62654,7 @@ _02154888: ldmia sp!, {r3, r4, pc} .align 2, 0 _021548b4: .word data_027e0d78 -_021548b8: .word data_027e0fa0 +_021548b8: .word gPlayerVel _021548bc: .word data_ov00_020eec9c _021548c0: .word 0x0000041d arm_func_end func_ov15_02154704 @@ -62668,7 +62668,7 @@ func_ov15_021548c4: ; 0x021548c4 mov r0, #0x1000 ldr r1, [r6, #0x3cc] rsb r0, r0, #0 - bl func_01ffa0f4 + bl Atan2 mov r1, #0x4000 rsb r1, r1, #0 sub r0, r1, r0 @@ -62677,7 +62677,7 @@ func_ov15_021548c4: ; 0x021548c4 ldr r1, [r6, #0x3bc] mov r4, r2, asr #0x10 ldr r5, [r6, #0x3cc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 smull r0, r1, r2, r5 @@ -62693,11 +62693,11 @@ func_ov15_021548c4: ; 0x021548c4 movgt r5, r2 cmp r5, #0x2000 movgt r5, #0x2000 - ldr r1, _02154a68 ; =data_027e0fac + ldr r1, _02154a68 ; =gPlayerAngle add r0, r6, #0x300 ldrsh r2, [r1] add r1, r6, #0x39c - ldr r3, _02154a6c ; =data_027e0f94 + ldr r3, _02154a6c ; =gPlayerPos add r2, r2, r5 strh r2, [r0, #0x84] add ip, sp, #0x48 @@ -62712,10 +62712,10 @@ func_ov15_021548c4: ; 0x021548c4 mov r0, ip mov r2, ip str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x48] ldr r1, [sp, #0x50] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x4000 @@ -62752,7 +62752,7 @@ func_ov15_021548c4: ; 0x021548c4 add r0, sp, #0x3c add r1, sp, #0xc add r2, r6, #0x358 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r6, #0x20] ldr r1, [r6, #0x358] add r0, r6, #0x300 @@ -62768,8 +62768,8 @@ func_ov15_021548c4: ; 0x021548c4 add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02154a68: .word data_027e0fac -_02154a6c: .word data_027e0f94 +_02154a68: .word gPlayerAngle +_02154a6c: .word gPlayerPos arm_func_end func_ov15_021548c4 .global func_ov15_02154a70 @@ -62873,7 +62873,7 @@ func_ov15_02154ba4: ; 0x02154ba4 cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x3e8] - ldr r0, _02155204 ; =data_027e0fe4 + ldr r0, _02155204 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef ldr r5, [r4, #0x3cc] @@ -62892,7 +62892,7 @@ func_ov15_02154ba4: ; 0x02154ba4 ldrb r0, [r4, #0x448] cmp r0, #0 beq _02154c40 - ldr r0, _02155208 ; =data_027e0fa0 + ldr r0, _02155208 ; =gPlayerVel add r2, sp, #0x1c ldr r3, [r0] ldr r1, [r0, #4] @@ -62903,9 +62903,9 @@ func_ov15_02154ba4: ; 0x02154ba4 mov r3, r2 mov r0, #0x1e000 str r7, [sp, #0x18] - bl func_01ff9e64 + bl Vec3p_Axpy _02154c40: - ldr r1, _0215520c ; =data_027e0f94 + ldr r1, _0215520c ; =gPlayerPos add r0, sp, #0x1c ldr r2, [r1, #4] ldr r3, [r1] @@ -62915,13 +62915,13 @@ _02154c40: add r1, sp, #4 mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - bl func_01ffa0f4 + bl Atan2 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x4000 @@ -62966,7 +62966,7 @@ _02154d1c: _02154d24: add r0, sp, #0x28 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #0x800 str r0, [sp] add r1, sp, #0x28 @@ -62980,7 +62980,7 @@ _02154d24: str r0, [sp, #0x28] str r2, [sp, #0x2c] str r1, [sp, #0x30] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x400 mov r0, r0, lsl #0x10 ldrsh r9, [r1, #4] @@ -62999,7 +62999,7 @@ _02154d24: add r1, r0, #1 cmp r9, #0 cmplt r8, #0 - ldr r0, _02155214 ; =data_02050f54 + ldr r0, _02155214 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r7, [r0, r1] cmplt r8, r9 @@ -63015,7 +63015,7 @@ _02154dd4: movlt r0, r0, lsl #0x10 movlt r0, r0, asr #0x10 mov r1, r0, asr #0x4 - ldr r0, _02155214 ; =data_02050f54 + ldr r0, _02155214 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r0, [r0, r1] cmp r7, r0 @@ -63026,12 +63026,12 @@ _02154dd4: movlt r0, r0, lsl #0x10 movlt r0, r0, asr #0x10 mov r1, r0, asr #0x4 - ldr r0, _02155214 ; =data_02050f54 + ldr r0, _02155214 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r7, [r0, r1] _02154e24: add r0, sp, #0x28 - bl func_01ff9cec + bl Vec3p_Length smull r2, r1, r0, r7 adds r2, r2, #0x800 str r0, [r4, #0x3cc] @@ -63063,7 +63063,7 @@ _02154e70: bl func_ov00_020d77e4 ldr r0, [r4, #0x3b4] ldr r1, [r4, #0x3bc] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x400 strh r0, [r1] b _02154f9c @@ -63074,7 +63074,7 @@ _02154eb4: cmp r0, #0 ldr r0, [r4, #0x3b4] bge _02154efc - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r0, #0x1000 @@ -63087,7 +63087,7 @@ _02154eb4: bl func_ov00_020d77e4 b _02154f9c _02154efc: - bl func_01ffa0f4 + bl Atan2 mov r3, #0x1000 mov r0, r0, lsl #0x10 rsb r3, r3, #0 @@ -63120,7 +63120,7 @@ _02154f3c: str r2, [sp, #0x28] str r1, [sp, #0x2c] str r3, [sp, #0x30] - bl func_01ff9cec + bl Vec3p_Length mov r2, #0x80 str r0, [r4, #0x3cc] mvn r0, #0x80000000 @@ -63293,11 +63293,11 @@ _021551dc: add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02155204: .word data_027e0fe4 -_02155208: .word data_027e0fa0 -_0215520c: .word data_027e0f94 +_02155204: .word gActorManager +_02155208: .word gPlayerVel +_0215520c: .word gPlayerPos _02155210: .word data_027e0d78 -_02155214: .word data_02050f54 +_02155214: .word gSinCosTable _02155218: .word data_ov00_020eec9c _0215521c: .word 0x00000102 _02155220: .word 0x00000333 @@ -63334,7 +63334,7 @@ _02155268: mov r3, #0x80 str r4, [sp] bl func_0202b418 - ldr r0, _02155478 ; =data_027e0fe4 + ldr r0, _02155478 ; =gActorManager add r1, r6, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -63464,7 +63464,7 @@ _02155464: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02155478: .word data_027e0fe4 +_02155478: .word gActorManager _0215547c: .word data_ov15_021863f8 _02155480: .word data_ov15_0218640c _02155484: .word data_ov15_02186420 @@ -63701,7 +63701,7 @@ func_ov15_0215575c: ; 0x0215575c ldr r1, [r4, #0x2b8] cmp r1, #0 beq _02155798 - ldr r0, _021557c4 ; =data_027e0fe4 + ldr r0, _021557c4 ; =gActorManager add r1, r1, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -63722,7 +63722,7 @@ _02155798: ldmia sp!, {r4, pc} .align 2, 0 _021557c0: .word data_ov15_0218c110 -_021557c4: .word data_027e0fe4 +_021557c4: .word gActorManager arm_func_end func_ov15_0215575c .global func_ov15_021557c8 @@ -63735,7 +63735,7 @@ func_ov15_021557c8: ; 0x021557c8 ldr r1, [r4, #0x2b8] cmp r1, #0 beq _02155804 - ldr r0, _02155838 ; =data_027e0fe4 + ldr r0, _02155838 ; =gActorManager add r1, r1, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -63758,7 +63758,7 @@ _02155804: ldmia sp!, {r4, pc} .align 2, 0 _02155834: .word data_ov15_0218c110 -_02155838: .word data_027e0fe4 +_02155838: .word gActorManager arm_func_end func_ov15_021557c8 .global func_ov15_0215583c @@ -63794,7 +63794,7 @@ func_ov15_0215583c: ; 0x0215583c str r0, [r1, #0x14] ldrsh r2, [r5, #0x78] add r0, r5, #0x200 - ldr r1, _02155b60 ; =data_027e0d0c + ldr r1, _02155b60 ; =gVec3p_ZERO strh r2, [r0, #0xee] ldr r2, [r1] mov r0, #0x800 @@ -63847,7 +63847,7 @@ func_ov15_0215583c: ; 0x0215583c bne _02155abc cmp r0, #0 beq _0215599c - ldr r0, _02155b68 ; =data_027e0fe4 + ldr r0, _02155b68 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -63876,7 +63876,7 @@ _0215599c: cmp r4, r0 bhs _02155a8c add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -63900,7 +63900,7 @@ _0215599c: add r3, sp, #0xc add r2, r5, #0x48 bl func_ov00_020c4048 - ldr r0, _02155b68 ; =data_027e0fe4 + ldr r0, _02155b68 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -63971,9 +63971,9 @@ _02155b4c: .align 2, 0 _02155b58: .word data_027e0764 _02155b5c: .word 0x7ffff000 -_02155b60: .word data_027e0d0c +_02155b60: .word gVec3p_ZERO _02155b64: .word data_027e0d38 -_02155b68: .word data_027e0fe4 +_02155b68: .word gActorManager _02155b6c: .word data_027e0ff0 _02155b70: .word data_027e0fe8 _02155b74: .word 0x42554949 @@ -64334,7 +64334,7 @@ _02156084: rsb r1, r1, #0 cmp r0, r1 blt _02156154 - ldr r0, _02156190 ; =data_027e0f94 + ldr r0, _02156190 ; =gPlayerPos add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -64373,7 +64373,7 @@ _02156144: mov r1, #0 mov r0, r6 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _02156154: add r0, r6, #0x1b4 bl func_ov00_020c5e20 @@ -64392,7 +64392,7 @@ _02156180: .word data_027e0f64 _02156184: .word 0x00000171 _02156188: .word data_ov15_0218c0e4 _0215618c: .word data_ov15_0218c0f0 -_02156190: .word data_027e0f94 +_02156190: .word gPlayerPos _02156194: .word gMapManager _02156198: .word 0x00000333 arm_func_end func_ov15_02155b88 @@ -64499,7 +64499,7 @@ func_ov15_021562c4: ; 0x021562c4 mov r4, r1 str r2, [sp, #4] str r2, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] @@ -64516,7 +64516,7 @@ func_ov15_021562c4: ; 0x021562c4 mov r0, r3 mov r2, r3 add r1, r4, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x1c] ldr r2, [sp, #0x18] mov r1, r1, asr #0x1 @@ -64540,13 +64540,13 @@ func_ov15_021562c4: ; 0x021562c4 sub r0, r1, r0 ldr r1, [r5, #0x50] sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 strh r0, [sp, #0x38] ldr r2, [sp, #0x10] ldr r1, [r5, #0x4c] mov r0, r4 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add r0, r0, #0x4000 @@ -64564,7 +64564,7 @@ func_ov15_021562c4: ; 0x021562c4 addeq sp, sp, #0x50 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _02156418 ; =data_027e0fe4 + ldr r0, _02156418 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -64577,7 +64577,7 @@ func_ov15_021562c4: ; 0x021562c4 .align 2, 0 _02156410: .word data_027e0fe8 _02156414: .word 0x53524f50 -_02156418: .word data_027e0fe4 +_02156418: .word gActorManager arm_func_end func_ov15_021562c4 .global func_ov15_0215641c @@ -64727,7 +64727,7 @@ func_ov15_0215658c: ; 0x0215658c add r2, sp, #8 mov r0, r3 add r1, r4, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0xc] ldr r2, [sp, #8] mov r0, r0, asr #0x1 @@ -64745,7 +64745,7 @@ func_ov15_0215658c: ; 0x0215658c ldr r2, [sp, #0x18] ldr r1, [r4, #0x4c] sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 add r0, r0, #0x4000 strh r0, [sp, #6] ldr r1, [sp, #0x14] @@ -64754,7 +64754,7 @@ func_ov15_0215658c: ; 0x0215658c sub r0, r1, r0 ldr r1, [r4, #0x50] sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 strh r0, [sp, #4] add r0, sp, #4 str r0, [sp] @@ -65165,7 +65165,7 @@ func_ov15_02156b04: ; 0x02156b04 cmp r0, #0 beq _02156be4 ldr r7, [r6, #0x2bc] - ldr r8, _02157078 ; =data_02050f54 + ldr r8, _02157078 ; =gSinCosTable str r7, [sp, #0x20] ldr r0, [r6, #0x2c0] add r1, sp, #0x20 @@ -65199,7 +65199,7 @@ func_ov15_02156b04: ; 0x02156b04 str r3, [sp, #0x28] ldr r3, [r6, #0x4c] str r3, [sp, #0x24] - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r0, [r6, #0x78] strh r0, [sp, #4] b _02156d4c @@ -65209,10 +65209,10 @@ _02156be4: add r2, sp, #0x14 add r0, r6, #0x2c8 add r1, r6, #0x2bc - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x14] ldr r1, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldrsh r2, [r6, #0x78] mov r1, r0, asr #0x10 @@ -65250,7 +65250,7 @@ _02156c60: mov r3, r0, lsl #0x1 add r2, r3, #1 ldr r0, [r6, #0x2c4] - ldr r4, _02157078 ; =data_02050f54 + ldr r4, _02157078 ; =gSinCosTable str r0, [sp, #0x28] ldr r5, [r6, #0x4c] mov r3, r3, lsl #0x1 @@ -65290,7 +65290,7 @@ _02156c60: bne _02156d4c ldr r0, _0215707c ; =data_027e0c68 ldr r1, _02157080 ; =0x000500a3 - ldr r2, _02157084 ; =data_027e0f94 + ldr r2, _02157084 ; =gPlayerPos mov r3, #0 bl func_02036da8 mov r0, #1 @@ -65325,7 +65325,7 @@ _02156d4c: cmp r0, #1 bne _02156ed4 ldrsh r5, [sp, #4] - ldr r1, _02157078 ; =data_02050f54 + ldr r1, _02157078 ; =gSinCosTable mov r0, #0x800 sub r2, r5, #0x4000 mov r2, r2, lsl #0x10 @@ -65396,7 +65396,7 @@ _02156d4c: b _02157038 _02156ed4: ldr r1, [sp, #0x20] - ldr r0, _02157078 ; =data_02050f54 + ldr r0, _02157078 ; =gSinCosTable str r1, [r6, #0x2bc] ldr r2, [sp, #0x24] mov r1, #0x800 @@ -65502,10 +65502,10 @@ _02157038: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02157078: .word data_02050f54 +_02157078: .word gSinCosTable _0215707c: .word data_027e0c68 _02157080: .word 0x000500a3 -_02157084: .word data_027e0f94 +_02157084: .word gPlayerPos arm_func_end func_ov15_02156b04 .global func_ov15_02157088 @@ -65520,7 +65520,7 @@ func_ov15_02157088: ; 0x02157088 cmp r7, #0 bge _02157114 ldrh r1, [r0, #0xee] - ldr r3, _02157274 ; =data_02050f54 + ldr r3, _02157274 ; =gSinCosTable ldr r0, [r10, #0x2c8] mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 @@ -65564,7 +65564,7 @@ _02157114: add r2, sp, #0 add r1, r10, #0x2c8 str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub add r4, r10, #0x200 add r11, sp, #0xc add r5, sp, #0 @@ -65572,12 +65572,12 @@ _02157114: _0215716c: mov r0, r5 str r6, [sp, #4] - bl func_01ff9cec + bl Vec3p_Length cmp r0, r8 ble _021571ec add r0, r10, #0x200 ldrh r1, [r0, #0xee] - ldr r3, _02157274 ; =data_02050f54 + ldr r3, _02157274 ; =gSinCosTable ldr r0, [r10, #0x2c8] mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 @@ -65627,10 +65627,10 @@ _021571ec: ldr r3, [r3, #8] mov r2, r5 str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0xee] b _0215716c _02157264: @@ -65639,7 +65639,7 @@ _02157264: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02157274: .word data_02050f54 +_02157274: .word gSinCosTable arm_func_end func_ov15_02157088 .global func_ov15_02157278 @@ -65658,7 +65658,7 @@ func_ov15_02157278: ; 0x02157278 ldrsh r7, [r0, #0xec] cmp r7, #0 bge _021572d0 - ldr r0, _02157474 ; =data_027e0f94 + ldr r0, _02157474 ; =gPlayerPos add sp, sp, #0x24 ldr r1, [r0] str r1, [r10, #0x2c8] @@ -65706,10 +65706,10 @@ _02157330: ldr r3, [r3, #8] mov r2, r5 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r5 str r4, [sp, #0x1c] - bl func_01ff9cec + bl Vec3p_Length cmp r0, r8 bge _021573c0 sub r1, r7, #1 @@ -65726,7 +65726,7 @@ _02157330: bpl _02157330 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 add r1, r10, #0x200 strh r0, [r1, #0xee] b _0215744c @@ -65740,12 +65740,12 @@ _021573c0: beq _0215744c ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 add r1, r10, #0x200 strh r0, [r1, #0xee] add r0, sp, #0x18 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [sp, #0x18] ldr r0, [sp, #0x20] smull r2, r3, r1, r8 @@ -65778,7 +65778,7 @@ _0215744c: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02157474: .word data_027e0f94 +_02157474: .word gPlayerPos arm_func_end func_ov15_02157278 .global func_ov15_02157478 @@ -65987,7 +65987,7 @@ func_ov15_021576b4: ; 0x021576b4 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 - ldr r0, _021577e0 ; =data_027e0d0c + ldr r0, _021577e0 ; =gVec3p_ZERO ldr r3, _021577e4 ; =0x000004cd ldr r1, [r0] mvn r2, #0 @@ -66003,7 +66003,7 @@ func_ov15_021576b4: ; 0x021576b4 str r1, [r4, #0x12c] strb r0, [r4, #0x124] ldr r1, [r4, #0x48] - ldr r0, _021577e8 ; =data_027e0fe4 + ldr r0, _021577e8 ; =gActorManager str r1, [r4, #0x1d8] ldr r2, [r4, #0x4c] add r1, r4, #0x34 @@ -66029,7 +66029,7 @@ func_ov15_021576b4: ; 0x021576b4 mov r0, #0x1000 str r0, [r4, #0x1f4] str r0, [r4, #0x1f8] - ldr r0, _021577e0 ; =data_027e0d0c + ldr r0, _021577e0 ; =gVec3p_ZERO ldr r2, [r4, #0x208] ldr r1, [r0] mov r2, r2, asr #0x1 @@ -66054,9 +66054,9 @@ _021577c0: ldmia sp!, {r4, pc} .align 2, 0 _021577dc: .word data_027e0fec -_021577e0: .word data_027e0d0c +_021577e0: .word gVec3p_ZERO _021577e4: .word 0x000004cd -_021577e8: .word data_027e0fe4 +_021577e8: .word gActorManager arm_func_end func_ov15_021576b4 .global func_ov15_021577ec @@ -66066,7 +66066,7 @@ func_ov15_021577ec: ; 0x021577ec mov r4, r0 add r0, r4, #0x200 ldrh r1, [r0, #0x10] - ldr r3, _02157840 ; =data_02050f54 + ldr r3, _02157840 ; =gSinCosTable add r0, r4, #0x158 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -66084,7 +66084,7 @@ func_ov15_021577ec: ; 0x021577ec bl func_ov15_0215cfc8 ldmia sp!, {r4, pc} .align 2, 0 -_02157840: .word data_02050f54 +_02157840: .word gSinCosTable arm_func_end func_ov15_021577ec .global func_ov15_02157844 @@ -66123,7 +66123,7 @@ func_ov15_02157844: ; 0x02157844 strh r3, [ip, #0x10] ldrsh r3, [lr] strh r3, [r4, #0x78] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, #0x1fc bl func_01fffb4c mov r0, r4 @@ -66152,7 +66152,7 @@ func_ov15_021578e0: ; 0x021578e0 str r0, [r4, #0x20c] cmp r0, r1 blt _02157c08 - ldr r0, _02157c28 ; =data_027e0f94 + ldr r0, _02157c28 ; =gPlayerPos add r3, sp, #0x50 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -66165,12 +66165,12 @@ func_ov15_021578e0: ; 0x021578e0 add r0, sp, #0x50 add r2, sp, #0x44 add r1, r4, #0x1e4 - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 add r0, sp, #0x44 add r1, r4, #0x1fc str r2, [sp, #0x48] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 blt _02157b1c cmp r0, r5 @@ -66178,7 +66178,7 @@ func_ov15_021578e0: ; 0x021578e0 ldr r3, [r4, #0x1e8] ldr r10, [r4, #0x1ec] ldr r9, [r4, #0x1e4] - ldr r5, _02157c2c ; =data_02050f54 + ldr r5, _02157c2c ; =gSinCosTable str r9, [sp, #0x44] str r3, [sp, #0x48] str r10, [sp, #0x4c] @@ -66214,7 +66214,7 @@ func_ov15_021578e0: ; 0x021578e0 ldrsh r1, [r5, r1] mov r7, #0 smull r1, r9, r0, r1 - ldr r0, _02157c28 ; =data_027e0f94 + ldr r0, _02157c28 ; =gPlayerPos adds r5, r1, #0x800 ldmia r0, {r0, r1, r2} stmia r8, {r0, r1, r2} @@ -66244,7 +66244,7 @@ func_ov15_021578e0: ; 0x021578e0 sub r6, r7, #0x800 str r8, [r4, #0x48] ldr r0, [sp, #0x48] - ldr r3, _02157c38 ; =data_027e0fe4 + ldr r3, _02157c38 ; =gActorManager str r0, [r4, #0x4c] ldr r0, [sp, #0x4c] add r1, r4, #0x34 @@ -66309,7 +66309,7 @@ _02157b1c: mvn r0, #0 cmp r1, r0 beq _02157bf0 - ldr r0, _02157c38 ; =data_027e0fe4 + ldr r0, _02157c38 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -66325,7 +66325,7 @@ _02157b1c: subne r0, r1, #0xfc000000 cmpne r2, r0 bne _02157bf0 - ldr r0, _02157c38 ; =data_027e0fe4 + ldr r0, _02157c38 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -66349,11 +66349,11 @@ _02157c08: .align 2, 0 _02157c20: .word data_ov15_0218c1d8 _02157c24: .word data_ov15_0218c1e4 -_02157c28: .word data_027e0f94 -_02157c2c: .word data_02050f54 +_02157c28: .word gPlayerPos +_02157c2c: .word gSinCosTable _02157c30: .word gMapManager _02157c34: .word 0x000004cd -_02157c38: .word data_027e0fe4 +_02157c38: .word gActorManager _02157c3c: .word 0x00001333 _02157c40: .word 0x444e5043 _02157c44: .word 0x50534950 @@ -66511,7 +66511,7 @@ _02157df8: mvn r4, #0 str r4, [r0, #0x88] ldr r1, [r0, #0x7c] - ldr r2, _02157e64 ; =data_027e0d0c + ldr r2, _02157e64 ; =gVec3p_ZERO str r1, [r0, #0x8c] ldr r1, [r0, #0x80] mov ip, #0 @@ -66536,7 +66536,7 @@ _02157df8: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02157e64: .word data_027e0d0c +_02157e64: .word gVec3p_ZERO arm_func_end func_ov15_02157dd8 .global func_ov15_02157e68 @@ -66632,13 +66632,13 @@ _02157ed8: mov r0, #0x10000 mov r4, r3, lsl #0x10 bl func_02002c14 - ldr r1, _021583b0 ; =data_027e0f94 + ldr r1, _021583b0 ; =gPlayerPos mov r5, r0, lsl #0x10 add r3, sp, #0x44 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -66710,7 +66710,7 @@ _021580e0: strh r11, [r5, r1] cmp r0, r4 beq _02158134 - ldr r0, _021583bc ; =data_027e0fe4 + ldr r0, _021583bc ; =gActorManager mov r1, r9 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -66774,7 +66774,7 @@ _021581ac: mov r0, r0, lsl #0x10 subpl r2, r2, #0x4000 mov r4, r0, lsr #0x10 - ldr r0, _021583bc ; =data_027e0fe4 + ldr r0, _021583bc ; =gActorManager mov r2, r2, lsl #0x10 mov r5, r2, lsr #0x10 add r2, r10, #0x158 @@ -66788,7 +66788,7 @@ _021581ac: mov r1, #1 strb r1, [r0, #0x2f1] _0215821c: - ldr r0, _021583bc ; =data_027e0fe4 + ldr r0, _021583bc ; =gActorManager add r1, r10, #0x158 ldr r0, [r0] add r1, r1, r6, lsl #3 @@ -66874,7 +66874,7 @@ _02158340: ldr r0, _021583cc ; =0x00000e39 cmp r0, r1, lsr #16 bge _02158384 - ldr r0, _021583bc ; =data_027e0fe4 + ldr r0, _021583bc ; =gActorManager mov r1, r9 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -66898,10 +66898,10 @@ _02158394: _021583a4: .word data_027e10a4 _021583a8: .word gMapManager _021583ac: .word data_027e0764 -_021583b0: .word data_027e0f94 +_021583b0: .word gPlayerPos _021583b4: .word data_027e0fe8 _021583b8: .word 0x47595247 -_021583bc: .word data_027e0fe4 +_021583bc: .word gActorManager _021583c0: .word 0x000078e4 _021583c4: .word 0xffffaaab _021583c8: .word 0x55555556 @@ -66941,7 +66941,7 @@ _02158414: func_ov15_02158424: ; 0x02158424 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r7, r0 - ldr r4, _02158468 ; =data_027e0fe4 + ldr r4, _02158468 ; =gActorManager strb r1, [r7, #0x178] add r6, r7, #0x158 mov r5, #0 @@ -66958,7 +66958,7 @@ _0215843c: blt _0215843c ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02158468: .word data_027e0fe4 +_02158468: .word gActorManager arm_func_end func_ov15_02158424 .global func_ov15_0215846c @@ -66979,7 +66979,7 @@ func_ov15_0215846c: ; 0x0215846c bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _021584f8 - ldr r6, _02158570 ; =data_027e0fe4 + ldr r6, _02158570 ; =gActorManager add r10, r5, #0x158 mov r9, r4 mov r7, r4 @@ -67012,7 +67012,7 @@ _021584f8: cmp r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} mov r9, #0 - ldr r6, _02158570 ; =data_027e0fe4 + ldr r6, _02158570 ; =gActorManager add r10, r5, #0x158 mov r7, r9 mov r8, #1 @@ -67035,7 +67035,7 @@ _02158554: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _0215856c: .word gMapManager -_02158570: .word data_027e0fe4 +_02158570: .word gActorManager arm_func_end func_ov15_0215846c .global func_ov15_02158574 @@ -67132,7 +67132,7 @@ func_ov15_02158664: ; 0x02158664 mvn r0, #0 cmp r1, r0 beq _021586a4 - ldr r0, _021586f0 ; =data_027e0fe4 + ldr r0, _021586f0 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -67161,7 +67161,7 @@ _021586a4: ldmia sp!, {r4, pc} .align 2, 0 _021586ec: .word data_ov15_0218c3a4 -_021586f0: .word data_027e0fe4 +_021586f0: .word gActorManager _021586f4: .word func_ov15_02123d44 arm_func_end func_ov15_02158664 @@ -67176,7 +67176,7 @@ func_ov15_021586f8: ; 0x021586f8 mvn r0, #0 cmp r1, r0 beq _02158738 - ldr r0, _0215878c ; =data_027e0fe4 + ldr r0, _0215878c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -67207,7 +67207,7 @@ _02158738: ldmia sp!, {r4, pc} .align 2, 0 _02158788: .word data_ov15_0218c3a4 -_0215878c: .word data_027e0fe4 +_0215878c: .word gActorManager _02158790: .word func_ov15_02123d44 arm_func_end func_ov15_021586f8 @@ -67215,7 +67215,7 @@ _02158790: .word func_ov15_02123d44 arm_func_start func_ov15_02158794 func_ov15_02158794: ; 0x02158794 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r3, _021588d8 ; =data_027e0d0c + ldr r3, _021588d8 ; =gVec3p_ZERO mov r4, r0 ldr r0, [r3] mov r6, #0x1800 @@ -67299,7 +67299,7 @@ _021588d0: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_021588d8: .word data_027e0d0c +_021588d8: .word gVec3p_ZERO _021588dc: .word data_ov15_02186504 _021588e0: .word data_ov15_0218650c arm_func_end func_ov15_02158794 @@ -67334,7 +67334,7 @@ _02158938: strb r0, [r5, #0x181] rsb r2, r1, #0x10000 strh r2, [r5, #0x7a] - ldr r3, _02158cb0 ; =data_027e0d0c + ldr r3, _02158cb0 ; =gVec3p_ZERO ldr r2, _02158cb4 ; =data_027e0764 ldr r6, [r3] str r6, [r5, #0x60] @@ -67383,7 +67383,7 @@ _021589f8: strh r0, [r5, #0x7a] add r0, r5, #0x200 ldrsh r0, [r0, #0xea] - ldr r1, _02158cb8 ; =data_02050f54 + ldr r1, _02158cb8 ; =gSinCosTable mov ip, #0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -67407,7 +67407,7 @@ _021589f8: mla r7, r6, ip, r7 mov r2, r6, asr #0x1f mla r7, r2, r3, r7 - ldr lr, _02158cbc ; =data_027e0f94 + ldr lr, _02158cbc ; =gPlayerPos orr r1, r1, r0, lsl #20 ldr r6, [lr] adc r0, r7, #0 @@ -67418,7 +67418,7 @@ _021589f8: str r1, [r5, #0x48] add r1, r3, r2 str r1, [r5, #0x50] - ldr r0, _02158cc0 ; =data_027e0fac + ldr r0, _02158cc0 ; =gPlayerAngle add r1, r5, #0x48 ldrsh r2, [r0] ldr r0, _02158cc4 ; =data_027e0c68 @@ -67508,7 +67508,7 @@ _02158bd8: sub r0, r1, #2 cmp r2, r0 beq _02158c04 - ldr r0, _02158cd4 ; =data_027e0fe4 + ldr r0, _02158cd4 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -67523,7 +67523,7 @@ _02158c04: mov r1, #0 mov r0, r3 str r1, [sp, #0x1c] - bl func_01ff9cec + bl Vec3p_Length str r0, [r5, #0x2e0] add r0, r5, #0x1e4 mov r1, #4 @@ -67564,16 +67564,16 @@ _02158c9c: add sp, sp, #0x24 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_02158cb0: .word data_027e0d0c +_02158cb0: .word gVec3p_ZERO _02158cb4: .word data_027e0764 -_02158cb8: .word data_02050f54 -_02158cbc: .word data_027e0f94 -_02158cc0: .word data_027e0fac +_02158cb8: .word gSinCosTable +_02158cbc: .word gPlayerPos +_02158cc0: .word gPlayerAngle _02158cc4: .word data_027e0c68 _02158cc8: .word gMapManager _02158ccc: .word data_ov15_0218c384 _02158cd0: .word 0x00000ccd -_02158cd4: .word data_027e0fe4 +_02158cd4: .word gActorManager _02158cd8: .word data_027e0ffc _02158cdc: .word 0x000003bd arm_func_end func_ov15_021588e4 @@ -67600,7 +67600,7 @@ _02158cfc: ; jump table b _02159228 ; case 8 b _02159234 ; case 9 _02158d24: - ldr r0, _02159270 ; =data_027e0d0c + ldr r0, _02159270 ; =gVec3p_ZERO add sp, sp, #0x4c ldr r1, [r0] str r1, [r4, #0x60] @@ -67616,7 +67616,7 @@ _02158d48: add r5, r4, #0x200 str r0, [r4, #0x60] ldr r0, [sp, #0x14] - ldr r2, _02159274 ; =data_02050f54 + ldr r2, _02159274 ; =gSinCosTable str r0, [r4, #0x64] ldr r0, [sp, #0x18] mov ip, #0 @@ -67662,13 +67662,13 @@ _02158d48: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02158e14: - ldr r0, _02159278 ; =data_027e0f94 + ldr r0, _02159278 ; =gPlayerPos add r3, sp, #0x40 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x200 ldrh r0, [r0, #0xea] - ldr r1, _02159274 ; =data_02050f54 + ldr r1, _02159274 ; =gSinCosTable mov r3, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -67724,7 +67724,7 @@ _02158e14: str r0, [r4, #0x60] ldr r1, [sp, #0x3c] ldr r0, [r4, #0x50] - ldr r2, _02159274 ; =data_02050f54 + ldr r2, _02159274 ; =gSinCosTable sub r0, r1, r0 str r0, [r4, #0x68] ldrh r0, [r5, #0xee] @@ -67771,13 +67771,13 @@ _02158e14: _02158fbc: bl func_ov15_02159db8 _02158fc0: - ldr r0, _02159278 ; =data_027e0f94 + ldr r0, _02159278 ; =gPlayerPos add r3, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x200 ldrh r0, [r0, #0xea] - ldr r1, _02159274 ; =data_02050f54 + ldr r1, _02159274 ; =gSinCosTable mov r3, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -67838,7 +67838,7 @@ _02158fc0: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021590c4: ldrh r1, [r4, #0x78] - ldr r5, _02159274 ; =data_02050f54 + ldr r5, _02159274 ; =gSinCosTable ldr r2, [r4, #0x2e0] mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 @@ -67954,9 +67954,9 @@ _02159268: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02159270: .word data_027e0d0c -_02159274: .word data_02050f54 -_02159278: .word data_027e0f94 +_02159270: .word gVec3p_ZERO +_02159274: .word gSinCosTable +_02159278: .word gPlayerPos _0215927c: .word 0x0000019a _02159280: .word gMapManager arm_func_end func_ov15_02158ce0 @@ -68036,7 +68036,7 @@ _02159374: .word data_027e10a4 func_ov15_02159378: ; 0x02159378 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _021593a4 ; =data_027e0f94 + ldr r0, _021593a4 ; =gPlayerPos add r1, r4, #0x48 bl func_ov00_020ce2f0 cmp r0, #0x7000 @@ -68046,14 +68046,14 @@ func_ov15_02159378: ; 0x02159378 bl func_ov15_021588e4 ldmia sp!, {r4, pc} .align 2, 0 -_021593a4: .word data_027e0f94 +_021593a4: .word gPlayerPos arm_func_end func_ov15_02159378 .global func_ov15_021593a8 arm_func_start func_ov15_021593a8 func_ov15_021593a8: ; 0x021593a8 stmdb sp!, {r4, lr} - ldr r1, _021593f4 ; =data_027e0fac + ldr r1, _021593f4 ; =gPlayerAngle mov r4, r0 ldrsh r1, [r1] add r0, r4, #0x200 @@ -68073,7 +68073,7 @@ _021593e4: bl func_ov15_021588e4 ldmia sp!, {r4, pc} .align 2, 0 -_021593f4: .word data_027e0fac +_021593f4: .word gPlayerAngle arm_func_end func_ov15_021593a8 .global func_ov15_021593f8 @@ -68132,7 +68132,7 @@ _0215949c: mvn r0, #0 cmp r1, r0 beq _021594f8 - ldr r0, _0215950c ; =data_027e0fe4 + ldr r0, _0215950c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -68151,7 +68151,7 @@ _021594f8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02159508: .word data_027e0764 -_0215950c: .word data_027e0fe4 +_0215950c: .word gActorManager arm_func_end func_ov15_021593f8 .global func_ov15_02159510 @@ -68369,13 +68369,13 @@ func_ov15_021597d0: ; 0x021597d0 cmp r0, #0x42000 movge r0, #0 strge r0, [r1, #0x10] - ldr r0, _02159984 ; =data_027e0f94 + ldr r0, _02159984 ; =gPlayerPos mov lr, #0xb000 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} add r2, r4, #0x200 ldrh r0, [r2, #0xea] - ldr r1, _02159988 ; =data_02050f54 + ldr r1, _02159988 ; =gSinCosTable mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r3, [r1, r0] @@ -68410,10 +68410,10 @@ func_ov15_021597d0: ; 0x021597d0 orr r6, r6, r5, lsl #20 add r3, r3, r6 str r3, [sp, #0xc] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #4] ldr r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r5, r0, asr #0x10 mvn r0, #0x80000000 @@ -68450,7 +68450,7 @@ _02159940: cmp r1, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _02159990 ; =data_027e0fe4 + ldr r0, _02159990 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -68461,10 +68461,10 @@ _02159940: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02159980: .word data_027e0ffc -_02159984: .word data_027e0f94 -_02159988: .word data_02050f54 +_02159984: .word gPlayerPos +_02159988: .word gSinCosTable _0215998c: .word 0x000002e1 -_02159990: .word data_027e0fe4 +_02159990: .word gActorManager arm_func_end func_ov15_021597d0 .global func_ov15_02159994 @@ -68544,7 +68544,7 @@ _02159a68: mvn r0, #0 cmp r1, r0 beq _02159ab8 - ldr r0, _02159ae8 ; =data_027e0fe4 + ldr r0, _02159ae8 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -68566,7 +68566,7 @@ _02159ac8: strh r1, [r0, #0xea] ldmia sp!, {r4, pc} .align 2, 0 -_02159ae8: .word data_027e0fe4 +_02159ae8: .word gActorManager arm_func_end func_ov15_02159a40 .global func_ov15_02159aec @@ -68662,7 +68662,7 @@ func_ov15_02159bec: ; 0x02159bec add r2, r6, #0x200 ldr r1, [r6, #0x68] ldrh r4, [r2, #0xea] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldr r2, _02159d70 ; =0x00000444 mov r1, r0, asr #0x10 @@ -68699,7 +68699,7 @@ _02159c84: sub r1, r2, r1 strh r1, [r0, #0xea] _02159c90: - ldr r1, _02159d74 ; =data_027e0fac + ldr r1, _02159d74 ; =gPlayerAngle mov r0, r6 ldrsh r5, [r1] bl _ZN5Actor14GetAngleToLinkEv @@ -68744,7 +68744,7 @@ _02159c90: cmp r1, r0 addeq sp, sp, #4 ldmeqia sp!, {r3, r4, r5, r6, pc} - ldr r0, _02159d7c ; =data_027e0fe4 + ldr r0, _02159d7c ; =gActorManager add r1, r6, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -68757,9 +68757,9 @@ _02159c90: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02159d70: .word 0x00000444 -_02159d74: .word data_027e0fac +_02159d74: .word gPlayerAngle _02159d78: .word 0x00001c72 -_02159d7c: .word data_027e0fe4 +_02159d7c: .word gActorManager arm_func_end func_ov15_02159bec .global func_ov15_02159d80 @@ -68857,7 +68857,7 @@ _02159ea0: ldr r0, [sp] ldr r2, [sp, #0x30] ldrh r0, [r0, #0x78] - ldr r3, _0215a1a8 ; =data_02050f54 + ldr r3, _0215a1a8 ; =gSinCosTable rsb r6, r2, #0 mov r0, r0, asr #0x4 mov r4, r0, lsl #0x1 @@ -68907,7 +68907,7 @@ _02159ea0: mov r2, r1 add r0, r0, #0x48 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp] ldr r1, _0215a1ac ; =gMapManager ldr r0, [r0, #0x48] @@ -69056,7 +69056,7 @@ _0215a17c: add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_0215a1a8: .word data_02050f54 +_0215a1a8: .word gSinCosTable _0215a1ac: .word gMapManager _0215a1b0: .word data_ov15_021864ec _0215a1b4: .word data_027e0e58 @@ -69105,7 +69105,7 @@ func_ov15_0215a214: ; 0x0215a214 ldr r1, [r1, #0x14] ldr r0, [r1, #0x60] ldr r1, [r1, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -69113,7 +69113,7 @@ func_ov15_0215a214: ; 0x0215a214 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0215a2f0 ; =data_02050f54 + ldr r1, _0215a2f0 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh lr, [r1, r2] mov r0, r0, lsl #0x1 @@ -69154,7 +69154,7 @@ _0215a2dc: movhi r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0215a2f0: .word data_02050f54 +_0215a2f0: .word gSinCosTable arm_func_end func_ov15_0215a214 .global func_ov15_0215a2f4 @@ -69432,7 +69432,7 @@ _0215a5f8: str r3, [sp, #4] ldr r2, [r2, #0xc] str r2, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, [r10, #0x1ec] add r1, r10, r1, lsl #2 str r0, [r1, #0x214] @@ -69443,7 +69443,7 @@ _0215a5f8: _0215a680: add r0, r10, #0x48 add r1, r2, #4 - bl func_01ff9ec0 + bl Vec3p_Distance mov r0, r0, lsl #0x1 str r0, [r10, #0x224] str r0, [r10, #0x220] @@ -69580,7 +69580,7 @@ _0215a860: cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} - ldr r1, _0215a8d0 ; =data_027e0fe4 + ldr r1, _0215a8d0 ; =gActorManager ldr r2, _0215a8d4 ; =0x47534950 ldr r1, [r1] add r0, sp, #0 @@ -69590,7 +69590,7 @@ _0215a860: cmp r1, r0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} - ldr r0, _0215a8d0 ; =data_027e0fe4 + ldr r0, _0215a8d0 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -69603,7 +69603,7 @@ _0215a8c0: .word gAdventureFlags _0215a8c4: .word data_ov15_021865e8 _0215a8c8: .word data_ov15_021865fc _0215a8cc: .word data_027e10a8 -_0215a8d0: .word data_027e0fe4 +_0215a8d0: .word gActorManager _0215a8d4: .word 0x47534950 arm_func_end func_ov15_0215a768 @@ -69663,7 +69663,7 @@ func_ov15_0215a95c: ; 0x0215a95c func_ov15_0215a970: ; 0x0215a970 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x40 - ldr r1, _0215b264 ; =data_027e0f94 + ldr r1, _0215b264 ; =gPlayerPos add r3, sp, #0x34 mov r4, r0 ldmia r1, {r0, r1, r2} @@ -69717,14 +69717,14 @@ _0215a9e4: blt _0215aa5c ldr r0, _0215b270 ; =data_027e0c68 ldr r1, _0215b274 ; =0x0005000f - ldr r2, _0215b264 ; =data_027e0f94 + ldr r2, _0215b264 ; =gPlayerPos add r5, r5, #0x400 mov r3, r6 strh r3, [r5, #0xc0] bl func_02036da8 _0215aa5c: ldrh r1, [r4, #0x78] - ldr r2, _0215b278 ; =data_02050f54 + ldr r2, _0215b278 ; =gSinCosTable ldr r0, [r4, #0x54] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -70248,7 +70248,7 @@ _0215b164: beq _0215b238 ldr r0, _0215b270 ; =data_027e0c68 ldr r1, _0215b298 ; =0x0005000e - ldr r2, _0215b264 ; =data_027e0f94 + ldr r2, _0215b264 ; =gPlayerPos mov r3, #0 bl func_02036da8 _0215b238: @@ -70266,12 +70266,12 @@ _0215b248: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0215b264: .word data_027e0f94 +_0215b264: .word gPlayerPos _0215b268: .word data_027e10a8 _0215b26c: .word gMapManager _0215b270: .word data_027e0c68 _0215b274: .word 0x0005000f -_0215b278: .word data_02050f54 +_0215b278: .word gSinCosTable _0215b27c: .word data_ov15_021865c8 _0215b280: .word data_ov15_021865e8 _0215b284: .word data_ov15_021865dc @@ -70287,7 +70287,7 @@ _0215b298: .word 0x0005000e func_ov15_0215b29c: ; 0x0215b29c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x10 - ldr r5, _0215b354 ; =data_027e0f94 + ldr r5, _0215b354 ; =gPlayerPos add r4, sp, #4 mov r10, r0 mov r6, #0 @@ -70334,7 +70334,7 @@ _0215b30c: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0215b354: .word data_027e0f94 +_0215b354: .word gPlayerPos arm_func_end func_ov15_0215b29c .global func_ov15_0215b358 @@ -70611,7 +70611,7 @@ func_ov15_0215b70c: ; 0x0215b70c sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0x78] - ldr r3, _0215b77c ; =data_02050f54 + ldr r3, _0215b77c ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -70636,7 +70636,7 @@ func_ov15_0215b70c: ; 0x0215b70c add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_0215b77c: .word data_02050f54 +_0215b77c: .word gSinCosTable arm_func_end func_ov15_0215b70c .global func_ov15_0215b780 @@ -70689,7 +70689,7 @@ _0215b7e8: cmp r8, #5 blt _0215b7e8 ldr r0, _0215b844 ; =data_027e0e58 - ldr r2, _0215b848 ; =data_027e0f94 + ldr r2, _0215b848 ; =gPlayerPos ldr r0, [r0] add r1, r10, #0x1b8 bl func_ov00_0207c474 @@ -70700,7 +70700,7 @@ _0215b7e8: .align 2, 0 _0215b840: .word data_027e10a8 _0215b844: .word data_027e0e58 -_0215b848: .word data_027e0f94 +_0215b848: .word gPlayerPos arm_func_end func_ov15_0215b790 .global func_ov15_0215b84c @@ -71366,7 +71366,7 @@ _0215c0c0: add sp, sp, #0x1b4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0215c154: - ldr r0, _0215c354 ; =data_027e0f94 + ldr r0, _0215c354 ; =gPlayerPos add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -71471,7 +71471,7 @@ _0215c29c: strb r1, [r4, #0x1b9] mov r2, #1 strb r2, [r4, #0x1bc] - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldr r0, _0215c330 ; =gAdventureFlags ldr r1, [r4, #0x1b4] ldr r0, [r0] @@ -71499,7 +71499,7 @@ _0215c344: .word 0x00000186 _0215c348: .word data_027e0e2c _0215c34c: .word func_ov15_0215bb6c _0215c350: .word data_027e103c -_0215c354: .word data_027e0f94 +_0215c354: .word gPlayerPos _0215c358: .word 0x00050013 arm_func_end func_ov15_0215be4c @@ -71579,7 +71579,7 @@ _0215c3ec: bl func_ov00_020cfae8 b _0215c54c _0215c474: - ldr r0, _0215c574 ; =data_027e0f94 + ldr r0, _0215c574 ; =gPlayerPos add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -71645,7 +71645,7 @@ _0215c564: .word data_027e0c68 _0215c568: .word 0x00050010 _0215c56c: .word func_ov15_0215bb6c _0215c570: .word data_027e103c -_0215c574: .word data_027e0f94 +_0215c574: .word gPlayerPos _0215c578: .word gMapManager _0215c57c: .word data_027e0f64 _0215c580: .word gAdventureFlags @@ -71697,7 +71697,7 @@ _0215c620: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r1, #1 ldr r0, _0215c69c ; =data_027e10a4 strb r1, [r4, #0x1ba] @@ -71796,7 +71796,7 @@ _0215c710: str r2, [sp, #0xc] ldr r2, [r10, #8] str r2, [sp, #0x10] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r7 ble _0215c7a8 ldr r3, [sp, #0x38] @@ -71861,7 +71861,7 @@ _0215c824: str r2, [sp, #8] ldr r2, [r10, #8] str r2, [sp, #0xc] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r7 ble _0215c888 ldr r3, [sp, #0x28] @@ -71938,11 +71938,11 @@ _0215c95c: add r0, sp, #0x48 add r1, sp, #0x54 mov r2, r11 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x34] mov r0, r11 - bl func_01ff9cec + bl Vec3p_Length str r0, [sp, #8] mov r0, r11 bl func_01fffb4c @@ -71957,10 +71957,10 @@ _0215c95c: ldr r3, [r10, #8] add r2, sp, #0x3c str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x3c mov r1, r11 - bl func_01ff9c2c + bl Vec3p_Dot movs r4, r0 bmi _0215ca60 ldr r0, [sp, #8] @@ -71968,14 +71968,14 @@ _0215c95c: bge _0215ca60 ldr r0, [sp, #0x30] ldr r1, [sp, #0x38] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 - ldr r1, _0215cb20 ; =data_02050f54 + ldr r1, _0215cb20 ; =gSinCosTable mov r3, r0, lsl #0x1 ldrsh ip, [r1, r3] add r0, r1, r0, lsl #1 @@ -72011,11 +72011,11 @@ _0215ca78: add r0, sp, #0x3c mov r1, r10 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x40] add r0, sp, #0x3c - bl func_01ff9cec + bl Vec3p_Length ldr r1, [sp, #4] cmp r0, r1 bge _0215cae8 @@ -72055,7 +72055,7 @@ _0215cb10: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0215cb1c: .word data_027e0ff0 -_0215cb20: .word data_02050f54 +_0215cb20: .word gSinCosTable arm_func_end func_ov15_0215c8b4 .global func_ov15_0215cb24 @@ -72104,7 +72104,7 @@ _0215cbac: .word data_027e0f64 func_ov15_0215cbb0: ; 0x0215cbb0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr ip, _0215cc2c ; =data_027e0f94 + ldr ip, _0215cc2c ; =gPlayerPos add r3, sp, #0 mov lr, r0 mov r5, r1 @@ -72134,7 +72134,7 @@ func_ov15_0215cbb0: ; 0x0215cbb0 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0215cc2c: .word data_027e0f94 +_0215cc2c: .word gPlayerPos arm_func_end func_ov15_0215cbb0 .global func_ov15_0215cc30 @@ -72142,7 +72142,7 @@ _0215cc2c: .word data_027e0f94 func_ov15_0215cc30: ; 0x0215cc30 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x24 - ldr r6, _0215cee4 ; =data_027e0f94 + ldr r6, _0215cee4 ; =gPlayerPos add r4, sp, #0xc mov r11, r0 mov r7, r1 @@ -72165,7 +72165,7 @@ func_ov15_0215cc30: ; 0x0215cc30 str r2, [sp, #0x20] ldr r8, [r4] ldr r6, _0215cee8 ; =0x00001333 - ldr r1, _0215ceec ; =data_027e0fac + ldr r1, _0215ceec ; =gPlayerAngle umull r9, r0, r8, r6 mov r7, #0 ldrh r10, [r1] @@ -72176,7 +72176,7 @@ func_ov15_0215cc30: ; 0x0215cc30 mov r6, r10, asr #0x4 mov r7, r6, lsl #0x1 add r6, r7, #1 - ldr r8, _0215cef0 ; =data_02050f54 + ldr r8, _0215cef0 ; =gSinCosTable mov r7, r7, lsl #0x1 mov r6, r6, lsl #0x1 ldrsh r7, [r8, r7] @@ -72241,7 +72241,7 @@ _0215cda8: mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 - ldr r2, _0215cef0 ; =data_02050f54 + ldr r2, _0215cef0 ; =gSinCosTable mov r3, r3, lsl #0x1 ldrsh r3, [r2, r3] mov r0, r0, lsl #0x1 @@ -72264,14 +72264,14 @@ _0215cda8: add r1, sp, #0xc str r3, [sp, #0x18] str r2, [sp, #0x20] - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, [r4] cmp r0, r1 bge _0215ced0 add r0, sp, #0x18 add r1, sp, #0xc add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r5, [sp, #0xc] ldr r3, [sp, #0x10] ldr r2, [sp, #0x14] @@ -72281,7 +72281,7 @@ _0215cda8: str r3, [sp, #0x1c] str r2, [sp, #0x20] ldr r4, [r4] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -72289,7 +72289,7 @@ _0215cda8: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0215cef0 ; =data_02050f54 + ldr r2, _0215cef0 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -72317,10 +72317,10 @@ _0215ced0: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0215cee4: .word data_027e0f94 +_0215cee4: .word gPlayerPos _0215cee8: .word 0x00001333 -_0215ceec: .word data_027e0fac -_0215cef0: .word data_02050f54 +_0215ceec: .word gPlayerAngle +_0215cef0: .word gSinCosTable _0215cef4: .word data_027e0764 arm_func_end func_ov15_0215cc30 @@ -72332,10 +72332,10 @@ func_ov15_0215cef8: ; 0x0215cef8 ldr r1, _0215cf30 ; =data_027e10a4 mov r4, r0 ldr r1, [r1] - ldr r0, _0215cf34 ; =data_027e0f94 + ldr r0, _0215cf34 ; =gPlayerPos add r2, sp, #0 add r1, r1, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} @@ -72343,7 +72343,7 @@ func_ov15_0215cef8: ; 0x0215cef8 ldmia sp!, {r3, r4, pc} .align 2, 0 _0215cf30: .word data_027e10a4 -_0215cf34: .word data_027e0f94 +_0215cf34: .word gPlayerPos arm_func_end func_ov15_0215cef8 .global func_ov15_0215cf38 @@ -72360,7 +72360,7 @@ func_ov15_0215cf38: ; 0x0215cf38 mov r1, #0 mov r0, r3 str r1, [sp, #0x10] - bl func_01ff9cec + bl Vec3p_Length add sp, sp, #0x18 ldmia sp!, {r3, pc} arm_func_end func_ov15_0215cf38 @@ -72376,7 +72376,7 @@ func_ov15_0215cf70: ; 0x0215cf70 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 - ldr r3, _0215cfc4 ; =data_02050f54 + ldr r3, _0215cfc4 ; =gSinCosTable mov r2, r1, lsl #0x1 mov r4, r0 ldrsh r1, [r3, ip] @@ -72390,7 +72390,7 @@ func_ov15_0215cf70: ; 0x0215cf70 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0215cfc4: .word data_02050f54 +_0215cfc4: .word gSinCosTable arm_func_end func_ov15_0215cf70 .global func_ov15_0215cfc8 @@ -72404,7 +72404,7 @@ func_ov15_0215cfc8: ; 0x0215cfc8 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 - ldr r3, _0215d01c ; =data_02050f54 + ldr r3, _0215d01c ; =gSinCosTable mov r2, r1, lsl #0x1 mov r4, r0 ldrsh r1, [r3, ip] @@ -72418,7 +72418,7 @@ func_ov15_0215cfc8: ; 0x0215cfc8 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0215d01c: .word data_02050f54 +_0215d01c: .word gSinCosTable arm_func_end func_ov15_0215cfc8 .global func_ov15_0215d020 @@ -72432,7 +72432,7 @@ func_ov15_0215d020: ; 0x0215d020 mov r2, r1, lsl #0x1 add r1, r2, #1 mov ip, r2, lsl #0x1 - ldr r3, _0215d074 ; =data_02050f54 + ldr r3, _0215d074 ; =gSinCosTable mov r2, r1, lsl #0x1 mov r4, r0 ldrsh r1, [r3, ip] @@ -72446,7 +72446,7 @@ func_ov15_0215d020: ; 0x0215d020 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0215d074: .word data_02050f54 +_0215d074: .word gSinCosTable arm_func_end func_ov15_0215d020 .global func_ov15_0215d078 @@ -72587,7 +72587,7 @@ _0215d25c: .word data_027e0d3c .global func_ov15_0215d260 arm_func_start func_ov15_0215d260 func_ov15_0215d260: ; 0x0215d260 - ldr r0, _0215d2bc ; =data_027e0f90 + ldr r0, _0215d2bc ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -72612,7 +72612,7 @@ _0215d2b4: mov r0, #0 bx lr .align 2, 0 -_0215d2bc: .word data_027e0f90 +_0215d2bc: .word gPlayer _0215d2c0: .word data_027e077c _0215d2c4: .word data_027e10a4 arm_func_end func_ov15_0215d260 @@ -73102,7 +73102,7 @@ _0215d7bc: addne sp, sp, #0x24 ldmneia sp!, {r4, r5, pc} ldr r4, [r4, #0xb4] - ldr r3, _0215d870 ; =data_02050f54 + ldr r3, _0215d870 ; =gSinCosTable ldr r1, [r4] add r0, sp, #0 bic r1, r1, #2 @@ -73121,7 +73121,7 @@ _0215d7bc: mov r2, r1 bl func_0202e030 ldrh r1, [r5, #0x5c] - ldr r3, _0215d870 ; =data_02050f54 + ldr r3, _0215d870 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -73139,7 +73139,7 @@ _0215d7bc: ldmia sp!, {r4, r5, pc} .align 2, 0 _0215d86c: .word data_ov15_02186718 -_0215d870: .word data_02050f54 +_0215d870: .word gSinCosTable arm_func_end func_ov15_0215d780 .global func_ov15_0215d874 @@ -73638,7 +73638,7 @@ _0215deb8: mov r2, #0x10 str r0, [r4, #0x1f4] str r2, [r4, #0x1fc] - ldr r1, _0215dfe4 ; =data_027e0d0c + ldr r1, _0215dfe4 ; =gVec3p_ZERO str r0, [r4, #0x200] ldr r3, [r1] sub r2, r2, #0x11 @@ -73711,7 +73711,7 @@ _0215dfd0: _0215dfd8: .word data_027e0dbc _0215dfdc: .word data_027e0764 _0215dfe0: .word 0x55555556 -_0215dfe4: .word data_027e0d0c +_0215dfe4: .word gVec3p_ZERO _0215dfe8: .word 0x00001666 _0215dfec: .word gAdventureFlags _0215dff0: .word data_ov15_02186700 @@ -73731,7 +73731,7 @@ func_ov15_0215dff8: ; 0x0215dff8 str r3, [r6, #0x3b8] str r3, [r6, #0x3c4] str r3, [r6, #0x3c8] - ldr r0, _0215e568 ; =data_027e0d0c + ldr r0, _0215e568 ; =gVec3p_ZERO str r3, [r6, #0x6c] ldr r1, [r0] cmp r5, #7 @@ -73838,7 +73838,7 @@ _0215e1ac: mov r0, #0x7000 str r0, [r6, #0x3d0] _0215e1b4: - ldr r1, _0215e580 ; =data_027e0f94 + ldr r1, _0215e580 ; =gPlayerPos mov r0, r4, lsl #0x10 ldr r2, [r1] mov r0, r0, lsr #0x10 @@ -73848,7 +73848,7 @@ _0215e1b4: str r2, [r6, #0x4c] mov ip, r0, lsl #0x1 ldr r0, [r1, #8] - ldr r7, _0215e584 ; =data_02050f54 + ldr r7, _0215e584 ; =gSinCosTable str r0, [r6, #0x50] mov r0, ip, lsl #0x1 ldrsh r3, [r7, r0] @@ -73875,7 +73875,7 @@ _0215e1b4: add r0, r6, #0x48 add r2, r6, #0x3ac str r3, [r6, #0x50] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r6, #0x300 strh r4, [r0, #0xdc] sub r0, r4, #0x8000 @@ -73896,7 +73896,7 @@ _0215e1b4: strb r0, [r6, #0x3eb] b _0215e558 _0215e298: - ldr r1, _0215e580 ; =data_027e0f94 + ldr r1, _0215e580 ; =gPlayerPos mov r0, r6 bl _ZN5Actor10GetAngleToEP5Vec3p sub r2, r0, #0x8000 @@ -74070,7 +74070,7 @@ _0215e404: str r0, [r6, #0x6c] mov r0, #1 strb r0, [r6, #0x3ed] - ldr r0, _0215e59c ; =data_027e0fe4 + ldr r0, _0215e59c ; =gActorManager add r1, r6, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -74084,20 +74084,20 @@ _0215e558: str r5, [r6, #0x130] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0215e568: .word data_027e0d0c +_0215e568: .word gVec3p_ZERO _0215e56c: .word data_027e0764 _0215e570: .word gMapManager _0215e574: .word data_027e0dbc _0215e578: .word 0x00000ccc _0215e57c: .word data_027e0f64 -_0215e580: .word data_027e0f94 -_0215e584: .word data_02050f54 +_0215e580: .word gPlayerPos +_0215e584: .word gSinCosTable _0215e588: .word 0x00000185 _0215e58c: .word 0x00000666 _0215e590: .word 0x00000333 _0215e594: .word data_027e0ffc _0215e598: .word data_027e0c68 -_0215e59c: .word data_027e0fe4 +_0215e59c: .word gActorManager arm_func_end func_ov15_0215dff8 .global func_ov15_0215e5a0 @@ -74126,12 +74126,12 @@ _0215e5dc: add r0, r4, #0x300 ldreqh r2, [r0, #0xde] ldreqsh r1, [r0, #0xe0] - ldr r5, _0215e7ec ; =data_02050f54 + ldr r5, _0215e7ec ; =gSinCosTable ldrneh r2, [r0, #0xde] ldrnesh r1, [r0, #0xe2] add r1, r2, r1 strh r1, [r0, #0xde] - ldr r0, _0215e7f0 ; =data_027e0f94 + ldr r0, _0215e7f0 ; =gPlayerPos ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r3, r4, #0x300 @@ -74203,7 +74203,7 @@ _0215e700: mov r2, #0x2d8 bl func_0202b154 ldrh r1, [r4, #0x78] - ldr r2, _0215e7ec ; =data_02050f54 + ldr r2, _0215e7ec ; =gSinCosTable ldr r0, _0215e7f4 ; =0x0000011f mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -74257,8 +74257,8 @@ _0215e7e4: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0215e7ec: .word data_02050f54 -_0215e7f0: .word data_027e0f94 +_0215e7ec: .word gSinCosTable +_0215e7f0: .word gPlayerPos _0215e7f4: .word 0x0000011f arm_func_end func_ov15_0215e5a0 @@ -74399,7 +74399,7 @@ _0215e9bc: ldr r0, [r0] add r2, r9, #0x48 bl func_ov00_0207c474 - ldr r0, _0215f7c4 ; =data_027e0f94 + ldr r0, _0215f7c4 ; =gPlayerPos add r3, sp, #0xc4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -74428,7 +74428,7 @@ _0215ea34: add r0, r9, #0x48 add r1, r9, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r9, #0x6c] ldr r1, [r9, #0x64] rsb r0, r0, r0, lsl #4 @@ -74746,7 +74746,7 @@ _0215eea0: add r2, r9, #0x64 bl func_ov15_0215fa30 _0215eef4: - ldr r0, _0215f7c4 ; =data_027e0f94 + ldr r0, _0215f7c4 ; =gPlayerPos add r3, sp, #0xa0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -74802,7 +74802,7 @@ _0215ef7c: add r0, r9, #0x48 add r1, r9, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r9, #0x48] ldr r0, _0215f7b8 ; =gMapManager str r1, [sp, #0x40] @@ -74842,7 +74842,7 @@ _0215f048: ldrlt r0, [r9, #0x64] cmplt r0, #0 bge _0215f478 - ldr r1, _0215f7f0 ; =data_027e0d0c + ldr r1, _0215f7f0 ; =gVec3p_ZERO mov r0, #0 str r0, [r9, #0x6c] ldr r0, [r1] @@ -74908,12 +74908,12 @@ _0215f140: ; jump table _0215f158: mov r0, r9 bl _ZN5Actor16XzDistanceToLinkEv - ldr r1, _0215f7c4 ; =data_027e0f94 + ldr r1, _0215f7c4 ; =gPlayerPos ldr r2, [r9, #0x4c] ldr r1, [r1, #4] add r1, r1, #0x1800 sub r1, r1, r2 - bl func_01ffa0f4 + bl Atan2 rsb r1, r0, #0x4000 add r0, r9, #0x200 strh r1, [r0, #0x82] @@ -74999,12 +74999,12 @@ _0215f250: add r1, r2, r1 str r1, [r9, #0x4c] bl _ZN5Actor16XzDistanceToLinkEv - ldr r1, _0215f7c4 ; =data_027e0f94 + ldr r1, _0215f7c4 ; =gPlayerPos ldr r2, [r9, #0x4c] ldr r1, [r1, #4] add r1, r1, #0x1800 sub r1, r1, r2 - bl func_01ffa0f4 + bl Atan2 rsb r2, r0, #0x4000 add r0, r9, #0x200 mov r1, #0x10000 @@ -75092,7 +75092,7 @@ _0215f40c: cmp r0, #0 ble _0215f464 ldr r8, _0215f80c ; =data_ov15_0218f81c - ldr r11, _0215f810 ; =data_027e0fe4 + ldr r11, _0215f810 ; =gActorManager mov r4, r8 mov r10, #1 mvn r5, #0 @@ -75187,7 +75187,7 @@ _0215f50c: adds r1, r7, #0x800 add r3, r8, #1 mov r5, r8, lsl #0x1 - ldr r7, _0215f818 ; =data_02050f54 + ldr r7, _0215f818 ; =gSinCosTable adc r8, r0, #0 mov r0, r1, lsr #0xc ldrsh r5, [r7, r5] @@ -75338,7 +75338,7 @@ _0215f7a8: _0215f7b8: .word gMapManager _0215f7bc: .word data_027e0764 _0215f7c0: .word data_027e0e58 -_0215f7c4: .word data_027e0f94 +_0215f7c4: .word gPlayerPos _0215f7c8: .word data_027e0ffc _0215f7cc: .word 0x00000286 _0215f7d0: .word 0x00000889 @@ -75349,7 +75349,7 @@ _0215f7e0: .word 0x00000266 _0215f7e4: .word data_ov15_0218c8b0 _0215f7e8: .word 0x000009f5 _0215f7ec: .word data_027e0dbc -_0215f7f0: .word data_027e0d0c +_0215f7f0: .word gVec3p_ZERO _0215f7f4: .word data_ov15_0218664c _0215f7f8: .word 0xfffffccd _0215f7fc: .word 0xfffff99a @@ -75357,9 +75357,9 @@ _0215f800: .word 0x00000548 _0215f804: .word 0x00000333 _0215f808: .word 0x0000019a _0215f80c: .word data_ov15_0218f81c -_0215f810: .word data_027e0fe4 +_0215f810: .word gActorManager _0215f814: .word 0x0000099a -_0215f818: .word data_02050f54 +_0215f818: .word gSinCosTable arm_func_end func_ov15_0215e890 .global func_ov15_0215f81c @@ -75429,7 +75429,7 @@ func_ov15_0215f8b0: ; 0x0215f8b0 add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0x64] cmp r0, #0 ldrb r0, [r6, #0x3ec] @@ -75521,7 +75521,7 @@ func_ov15_0215fa30: ; 0x0215fa30 bge _0215fa68 rsb r1, r2, #0 rsb r0, r0, #0 - bl func_01ffa0f4 + bl Atan2 add r0, r0, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -75530,7 +75530,7 @@ func_ov15_0215fa30: ; 0x0215fa30 _0215fa68: mov r1, r2 rsb r0, r0, #0 - bl func_01ffa0f4 + bl Atan2 add r1, r0, #0x4000 mvn r0, #0 mul r0, r1, r0 @@ -75566,15 +75566,15 @@ func_ov15_0215fa90: ; 0x0215fa90 add r2, sp, #0 add r0, r5, #0x48 add r1, ip, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 b _0215fb0c _0215fb00: ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 _0215fb0c: add r1, r5, #0x300 strh r0, [r1, #0xd8] @@ -75763,7 +75763,7 @@ _0215fd74: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0215fe2c ; =data_02050f54 + ldr r2, _0215fe2c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -75808,7 +75808,7 @@ _0215fe14: add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0215fe2c: .word data_02050f54 +_0215fe2c: .word gSinCosTable _0215fe30: .word 0x00000666 arm_func_end func_ov15_0215fd04 @@ -76070,19 +76070,19 @@ _02160188: str r0, [sp, #8] mov r0, r4 bl _ZN5Actor14GetAngleToLinkEv - ldr r1, _02160310 ; =data_027e0fe4 + ldr r1, _02160310 ; =gActorManager strh r0, [sp, #0xc] ldr r0, [r1] add r1, sp, #0 add r2, sp, #0x10 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList str r0, [r4, #0x3c0] cmp r0, #0 ble _021602fc cmp r0, #0 mov r7, #0 ble _021602fc - ldr r5, _02160310 ; =data_027e0fe4 + ldr r5, _02160310 ; =gActorManager mov r6, r7 _0216020c: ldr r0, [r5] @@ -76159,7 +76159,7 @@ _021602fc: .align 2, 0 _02160308: .word data_ov15_0218f81c _0216030c: .word data_ov15_0218c8d0 -_02160310: .word data_027e0fe4 +_02160310: .word gActorManager _02160314: .word 0x00000333 _02160318: .word data_027e077c arm_func_end func_ov15_02160134 @@ -76710,7 +76710,7 @@ _02160920: mov r1, #2 str r0, [r4, #0x18c] ldr r3, [r4, #0x94] - ldr r0, _02160c18 ; =data_027e0fe4 + ldr r0, _02160c18 ; =gActorManager str r3, [r4, #0x190] ldr r3, [r4, #0x98] str r3, [r4, #0x194] @@ -76721,12 +76721,12 @@ _02160920: strh r1, [r4, #0x9c] ldr r0, [r0] bl func_ov15_02184540 - ldr r0, _02160c18 ; =data_027e0fe4 + ldr r0, _02160c18 ; =gActorManager add r1, sp, #5 ldr r0, [r0] bl func_ov15_0218450c strb r0, [r4, #0x398] - ldr r1, _02160c18 ; =data_027e0fe4 + ldr r1, _02160c18 ; =gActorManager ldrb r5, [sp, #5] ldr r2, [r1] and r0, r0, #0xff @@ -76836,10 +76836,10 @@ _02160b18: mov r0, r3 mov r2, r3 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x50] ldr r1, [sp, #0x58] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x100 strh r0, [r1, #0xd4] ldrsh r2, [r1, #0xd4] @@ -76885,7 +76885,7 @@ _02160c08: .word gAdventureFlags _02160c0c: .word data_027e0d38 _02160c10: .word data_ov15_0218672c _02160c14: .word data_027e0fec -_02160c18: .word data_027e0fe4 +_02160c18: .word gActorManager _02160c1c: .word 0x00000999 _02160c20: .word 0x00000333 arm_func_end func_ov15_021607fc @@ -76967,7 +76967,7 @@ _02160d04: ldr r3, [r5, #0x50] mov r2, r1 str r3, [r5, #0x5c] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r5 ldr r1, [r0] ldr r1, [r1, #0xb4] @@ -77241,7 +77241,7 @@ _02161124: _0216112c: mov r0, r5 bl func_ov15_021612bc - ldr r0, _02161188 ; =data_027e0fe4 + ldr r0, _02161188 ; =gActorManager ldrb r2, [r5, #0x398] ldr r1, [r0] mov r0, #0xc @@ -77263,7 +77263,7 @@ _02161178: .word 0x00050007 _0216117c: .word data_027e103c _02161180: .word data_027e0f64 _02161184: .word 0x00001388 -_02161188: .word data_027e0fe4 +_02161188: .word gActorManager arm_func_end func_ov15_02160d70 .global func_ov15_0216118c @@ -77364,7 +77364,7 @@ func_ov15_021612bc: ; 0x021612bc add r1, sp, #0 bl func_ov15_0214eb18 add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 movs r0, r0, asr #0x5 @@ -77379,7 +77379,7 @@ _02161304: _02161310: ldrh r1, [r4, #0x78] mov r3, #0 - ldr r2, _021613a0 ; =data_02050f54 + ldr r2, _021613a0 ; =gSinCosTable mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 add r1, r5, #1 @@ -77403,7 +77403,7 @@ _02161310: str r6, [sp] str r3, [sp, #4] str ip, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add _0216137c: mov r0, r4 bl func_ov15_0214edec @@ -77415,7 +77415,7 @@ _0216137c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0216139c: .word 0x00000222 -_021613a0: .word data_02050f54 +_021613a0: .word gSinCosTable arm_func_end func_ov15_021612bc .global func_ov15_021613a4 @@ -77592,7 +77592,7 @@ func_ov15_02161588: ; 0x02161588 ldmeqia sp!, {r4, pc} add r0, r4, #0x100 ldrh r1, [r0, #0x68] - ldr r3, _021616a8 ; =data_02050f54 + ldr r3, _021616a8 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -77644,7 +77644,7 @@ _02161688: ldmia sp!, {r4, pc} .align 2, 0 _021616a4: .word data_027e077c -_021616a8: .word data_02050f54 +_021616a8: .word gSinCosTable arm_func_end func_ov15_02161588 .global func_ov15_021616ac @@ -77730,7 +77730,7 @@ func_ov15_021617a8: ; 0x021617a8 mov r4, r4, asr #0x4 mov r5, r4, lsl #0x1 add r4, r5, #1 - ldr r6, _02161878 ; =data_02050f54 + ldr r6, _02161878 ; =gSinCosTable mov r4, r4, lsl #0x1 mov r5, r5, lsl #0x1 ldrsh r4, [r6, r4] @@ -77768,15 +77768,15 @@ func_ov15_021617a8: ; 0x021617a8 ldr r1, _0216187c ; =0x00000b33 mov r2, #8 beq _0216186c - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0216186c: - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02161878: .word data_02050f54 +_02161878: .word gSinCosTable _0216187c: .word 0x00000b33 arm_func_end func_ov15_021617a8 @@ -77881,7 +77881,7 @@ _02161998: .word data_027e0fe0 func_ov15_0216199c: ; 0x0216199c stmdb sp!, {r4, lr} ldrh r2, [r1] - ldr r3, _02161a14 ; =data_02050f54 + ldr r3, _02161a14 ; =gSinCosTable mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 @@ -77910,7 +77910,7 @@ func_ov15_0216199c: ; 0x0216199c strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 -_02161a14: .word data_02050f54 +_02161a14: .word gSinCosTable arm_func_end func_ov15_0216199c .global func_ov15_02161a18 @@ -78225,7 +78225,7 @@ _02161cd0: ldr r0, [r0] bl _ZN10MapManager18func_ov00_02082d40Ev ldr r1, _02162434 ; =data_027e0d38 - ldr r2, _02162438 ; =data_027e0fe4 + ldr r2, _02162438 ; =gActorManager ldr r1, [r1] ldr r2, [r2] ldr r1, [r1, #0x28] @@ -78263,9 +78263,9 @@ _02161ee4: mov r1, #1 mov r0, r10 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _02161f00: - ldr r1, _02162438 ; =data_027e0fe4 + ldr r1, _02162438 ; =gActorManager add sp, sp, #0x6c ldr r1, [r1] mov r0, #0 @@ -78278,7 +78278,7 @@ _02161f18: mov r2, #0 bl _ZN14AdventureFlags3SetEjb _02161f2c: - ldr r1, _02162438 ; =data_027e0fe4 + ldr r1, _02162438 ; =gActorManager ldr r0, _02162424 ; =gAdventureFlags ldr r2, [r1] mov r1, #0x52 @@ -78294,7 +78294,7 @@ _02161f2c: cmp r0, #0 bne _02161f88 ldr r1, _0216243c ; =data_ov15_0218cc00 - ldr r0, _02162438 ; =data_027e0fe4 + ldr r0, _02162438 ; =gActorManager ldrb r2, [r1, #0x10] ldr r1, [r0] add sp, sp, #0x6c @@ -78322,7 +78322,7 @@ _02161f88: mov r0, #1 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02161fd4: - ldr r0, _02162438 ; =data_027e0fe4 + ldr r0, _02162438 ; =gActorManager add r3, sp, #0x60 ldr r4, [r0] cmp r7, #0xff @@ -78367,7 +78367,7 @@ _0216204c: cmp r9, #3 bne _021620bc ldr r1, _0216243c ; =data_ov15_0218cc00 - ldr r0, _02162438 ; =data_027e0fe4 + ldr r0, _02162438 ; =gActorManager ldrb r2, [r1, #0x11] ldr r1, [r0] mov r0, r10 @@ -78383,7 +78383,7 @@ _021620b0: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021620bc: - ldr r0, _0216244c ; =data_027e0f94 + ldr r0, _0216244c ; =gPlayerPos add r3, sp, #0x44 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -78473,7 +78473,7 @@ _021621c4: bl func_ov00_020c6940 add r0, sp, #0x44 add r1, sp, #0x60 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x32000 bge _02162220 cmp r9, #0 @@ -78558,7 +78558,7 @@ _0216232c: mov r6, r0, asr #0x18 bgt _021621c4 ldr r1, _0216243c ; =data_ov15_0218cc00 - ldr r0, _02162438 ; =data_027e0fe4 + ldr r0, _02162438 ; =gActorManager ldrb r2, [r1, #0x12] ldr r1, [r0] mov r0, r10 @@ -78608,10 +78608,10 @@ _021623c4: mov r0, r3 mov r2, r3 add r1, r10, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x20] ldr r1, [sp, #0x28] - bl func_01ffa0f4 + bl Atan2 add r1, r10, #0x100 strh r0, [r1, #0xd4] ldrsh r1, [r1, #0xd4] @@ -78625,12 +78625,12 @@ _02162428: .word data_027e0fec _0216242c: .word 0x00000999 _02162430: .word gMapManager _02162434: .word data_027e0d38 -_02162438: .word data_027e0fe4 +_02162438: .word gActorManager _0216243c: .word data_ov15_0218cc00 _02162440: .word data_027e0ff0 _02162444: .word data_ov15_021867c4 _02162448: .word data_ov15_02190458 -_0216244c: .word data_027e0f94 +_0216244c: .word gPlayerPos _02162450: .word data_027e0764 arm_func_end func_ov15_02161c88 @@ -78651,7 +78651,7 @@ func_ov15_02162454: ; 0x02162454 sub r0, r0, #2 cmp r0, #8 bhi _021624c8 - ldr r1, _02162528 ; =data_027e0f94 + ldr r1, _02162528 ; =gPlayerPos add r0, r4, #0x48 str r1, [sp] ldrsh r1, [r4, #0x78] @@ -78692,7 +78692,7 @@ _021624c8: ldmia sp!, {r4, pc} .align 2, 0 _02162524: .word data_027e0d38 -_02162528: .word data_027e0f94 +_02162528: .word gPlayerPos _0216252c: .word gMapManager _02162530: .word data_ov15_0218cc00 _02162534: .word data_ov15_0218cc0c @@ -78997,7 +78997,7 @@ _0216296c: beq _02162984 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _02162984: ldr r0, _02162dfc ; =data_ov00_020eec68 mov r1, #0x1e @@ -79120,7 +79120,7 @@ _021629c0: _02162b58: add r0, sp, #0x1cc bl func_ov00_0209a4f4 - ldr r1, _02162e0c ; =data_027e0f94 + ldr r1, _02162e0c ; =gPlayerPos mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -79293,7 +79293,7 @@ _02162dfc: .word data_ov00_020eec68 _02162e00: .word 0x00050019 _02162e04: .word data_027e0764 _02162e08: .word 0x00050022 -_02162e0c: .word data_027e0f94 +_02162e0c: .word gPlayerPos _02162e10: .word 0x00050046 arm_func_end func_ov15_02162688 @@ -79380,7 +79380,7 @@ _02162f28: add r3, r2, #0xda bl func_ov15_0214eb18 add r0, sp, #0xdc - bl func_01ff9cec + bl Vec3p_Length mov r1, r0, asr #0x4 add r0, r0, r1, lsr #27 mov r3, r0, asr #0x5 @@ -79392,7 +79392,7 @@ _02162f28: _02162f64: str r3, [r4, #0x234] ldrh r0, [r4, #0x78] - ldr r6, _02163c34 ; =data_02050f54 + ldr r6, _02163c34 ; =gSinCosTable add r1, sp, #0xdc mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -79417,7 +79417,7 @@ _02162f64: mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [sp, #0xe4] - bl func_01ff9bc4 + bl Vec3p_Add bl func_ov15_0215b780 cmp r0, #0 bne _02163050 @@ -79450,7 +79450,7 @@ _02162f64: mov r1, #1 bl func_ov15_02162688 _02163050: - ldr r0, _02163c38 ; =data_027e0fe4 + ldr r0, _02163c38 ; =gActorManager ldr r1, [r4, #0x48] ldr r2, [r0] str r1, [r2, #0x2c] @@ -79485,7 +79485,7 @@ _021630a4: mvn r0, #0 cmp r1, r0 beq _021630ec - ldr r0, _02163c38 ; =data_027e0fe4 + ldr r0, _02163c38 ; =gActorManager add r1, r4, #0x288 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -79531,14 +79531,14 @@ _02163160: subne r0, r0, #1 strne r0, [r4, #0x250] _02163180: - ldr r0, _02163c4c ; =data_027e0f94 + ldr r0, _02163c4c ; =gPlayerPos add r2, sp, #0xd0 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0xd0 str r1, [sp, #0xd4] - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 bl func_ov15_0215b780 cmp r0, #0 @@ -79553,7 +79553,7 @@ _021631bc: mov r0, r4 mov r1, #3 bl func_ov15_02162688 - ldr r0, _02163c38 ; =data_027e0fe4 + ldr r0, _02163c38 ; =gActorManager ldr r1, [r4, #0x48] ldr r3, [r0] ldr r0, _02163c44 ; =data_027e10a4 @@ -79583,14 +79583,14 @@ _02163224: _02163238: ldr r0, [sp, #0xd0] ldr r1, [sp, #0xd8] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x100 strh r0, [r1, #0xd4] ldrsh r1, [r1, #0xd4] add r0, r4, #0x78 mov r2, #0x16c bl func_0202b154 - ldr r0, _02163c50 ; =data_027e0d0c + ldr r0, _02163c50 ; =gVec3p_ZERO add r3, sp, #0xc4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -79599,7 +79599,7 @@ _02163238: mov r2, #0xcd bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r2, _02163c34 ; =data_02050f54 + ldr r2, _02163c34 ; =gSinCosTable ldr r6, [r4, #0x234] mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 @@ -79625,7 +79625,7 @@ _02163238: add r1, sp, #0xc4 mov r2, r0 str r3, [sp, #0xc4] - bl func_01ff9bc4 + bl Vec3p_Add b _021632fc _021632f0: mov r0, r4 @@ -79634,7 +79634,7 @@ _021632f0: _021632fc: mov r0, r4 bl func_ov15_02163c88 - ldr r0, _02163c38 ; =data_027e0fe4 + ldr r0, _02163c38 ; =gActorManager ldr r1, [r4, #0x48] ldr r3, [r0] ldr r0, _02163c44 ; =data_027e10a4 @@ -79657,7 +79657,7 @@ _02163338: mov r2, #0xcd bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r6, _02163c34 ; =data_02050f54 + ldr r6, _02163c34 ; =gSinCosTable ldr r2, [r4, #0x234] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -79684,7 +79684,7 @@ _02163338: mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [r4, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov15_02164478 cmp r0, #0 @@ -79715,7 +79715,7 @@ _02163420: mov r0, r4 mov r1, #3 bl func_ov15_02162688 - ldr r0, _02163c38 ; =data_027e0fe4 + ldr r0, _02163c38 ; =gActorManager ldr r1, [r4, #0x48] ldr r3, [r0] ldr r0, _02163c44 ; =data_027e10a4 @@ -79741,7 +79741,7 @@ _0216346c: mov r2, #0x1f bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r6, _02163c34 ; =data_02050f54 + ldr r6, _02163c34 ; =gSinCosTable ldr r2, [r4, #0x234] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -79768,7 +79768,7 @@ _0216346c: mov r5, r5, lsr #0xc orr r5, r5, r3, lsl #20 str r5, [r4, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x234] cmp r0, #0 bne _02163718 @@ -79793,7 +79793,7 @@ _0216346c: str r6, [r2, #4] add r1, r5, #0x5a str r1, [r4, #0x250] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x98 str r1, [sp, #0xb4] @@ -79806,7 +79806,7 @@ _0216346c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] - ldr ip, _02163c34 ; =data_02050f54 + ldr ip, _02163c34 ; =gSinCosTable ldr r2, [sp, #0x8c] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -79902,7 +79902,7 @@ _02163700: mov r1, #4 bl func_ov15_02162688 _02163718: - ldr r0, _02163c38 ; =data_027e0fe4 + ldr r0, _02163c38 ; =gActorManager ldr r1, [r4, #0x48] ldr r3, [r0] ldr r0, _02163c44 ; =data_027e10a4 @@ -79927,7 +79927,7 @@ _0216374c: beq _02163854 b _0216391c _02163774: - ldr r1, _02163c6c ; =data_027e0fac + ldr r1, _02163c6c ; =gPlayerAngle add r0, r4, #0x78 ldrsh r1, [r1] mov r2, #0x16c @@ -79937,7 +79937,7 @@ _02163774: mov r2, #0x14 bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r1, _02163c34 ; =data_02050f54 + ldr r1, _02163c34 ; =gSinCosTable ldr r3, [r4, #0x234] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -79963,7 +79963,7 @@ _02163774: add r1, sp, #0x74 mov r2, r0 str r5, [sp, #0x74] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02163c70 ; =data_027e0ff8 add r1, r4, #8 ldr r0, [r0] @@ -79973,7 +79973,7 @@ _02163774: add r0, r4, #0x48 add r1, sp, #0x74 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x234] cmp r0, #0 bne _0216391c @@ -80060,7 +80060,7 @@ _02163960: ldr r2, _02163c74 ; =0x0000038e add r0, r4, #0x78 bl func_0202b154 - ldr r0, _02163c4c ; =data_027e0f94 + ldr r0, _02163c4c ; =gPlayerPos mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -80143,7 +80143,7 @@ _02163a8c: ldr r1, [r1, #4] add r1, r1, #0x260 bl _ZN5Actor10GetAngleToEP5Vec3p - ldr r1, _02163c4c ; =data_027e0f94 + ldr r1, _02163c4c ; =gPlayerPos str r0, [r4, #0x2ac] ldr r2, [r1] ldr r0, [r1, #4] @@ -80169,7 +80169,7 @@ _02163a8c: bl func_ov15_02163c88 _02163b1c: ldrh r0, [r4, #0x78] - ldr lr, _02163c34 ; =data_02050f54 + ldr lr, _02163c34 ; =gSinCosTable ldr r2, [r4, #0x234] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -80196,7 +80196,7 @@ _02163b1c: mov ip, ip, lsr #0xc orr ip, ip, r3, lsl #20 str ip, [r4, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add _02163b90: mov r0, r4 bl _ZN5Actor12ApplyGravityEv @@ -80241,21 +80241,21 @@ _02163bf4: .align 2, 0 _02163c2c: .word gAdventureFlags _02163c30: .word data_027e0c68 -_02163c34: .word data_02050f54 -_02163c38: .word data_027e0fe4 +_02163c34: .word gSinCosTable +_02163c38: .word gActorManager _02163c3c: .word data_ov15_02190458 _02163c40: .word data_ov00_020eec68 _02163c44: .word data_027e10a4 _02163c48: .word gMapManager -_02163c4c: .word data_027e0f94 -_02163c50: .word data_027e0d0c +_02163c4c: .word gPlayerPos +_02163c50: .word gVec3p_ZERO _02163c54: .word data_027e0764 _02163c58: .word data_027e0fe8 _02163c5c: .word 0x544f5044 _02163c60: .word 0x0000019a _02163c64: .word func_ov15_0216199c _02163c68: .word data_027e0e58 -_02163c6c: .word data_027e0fac +_02163c6c: .word gPlayerAngle _02163c70: .word data_027e0ff8 _02163c74: .word 0x0000038e _02163c78: .word data_027e0f64 @@ -80333,7 +80333,7 @@ _02163d44: ; jump table b _02164294 ; case 5 b _02164324 ; case 6 _02163d60: - ldr r0, _021643a0 ; =data_027e0f94 + ldr r0, _021643a0 ; =gPlayerPos mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -80565,13 +80565,13 @@ _021640c4: cmp r0, #0x1e blt _02164388 add r0, sp, #0x38 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x38 str r1, [sp, #0x54] str r1, [sp, #0x58] bl func_ov00_020c3348 - ldr r0, _021643a0 ; =data_027e0f94 + ldr r0, _021643a0 ; =gPlayerPos add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -80585,7 +80585,7 @@ _021640c4: mov r0, #1 strh r0, [sp, #0x38] ldr r4, [r6, #0x48] - ldr r3, _021643c4 ; =data_02050f54 + ldr r3, _021643c4 ; =gSinCosTable str r4, [sp, #0x2c] ldr lr, [r6, #0x4c] ldr r0, _021643c8 ; =gMapManager @@ -80678,7 +80678,7 @@ _021640c4: strb r0, [r6, #0x254] b _02164388 _02164294: - ldr r0, _021643e0 ; =data_027e0fe4 + ldr r0, _021643e0 ; =gActorManager add r1, r6, #0x288 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -80751,7 +80751,7 @@ _02164388: add sp, sp, #0x3d4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_021643a0: .word data_027e0f94 +_021643a0: .word gPlayerPos _021643a4: .word data_027e0f64 _021643a8: .word gAdventureFlags _021643ac: .word data_027e0c68 @@ -80760,14 +80760,14 @@ _021643b4: .word 0x00050016 _021643b8: .word data_027e10a4 _021643bc: .word data_027e0e2c _021643c0: .word 0x00050017 -_021643c4: .word data_02050f54 +_021643c4: .word gSinCosTable _021643c8: .word gMapManager _021643cc: .word data_027e0fe8 _021643d0: .word 0x544f5044 _021643d4: .word 0x0000019a _021643d8: .word func_ov15_0216199c _021643dc: .word data_027e0e58 -_021643e0: .word data_027e0fe4 +_021643e0: .word gActorManager arm_func_end func_ov15_02163d10 .global func_ov15_021643e4 @@ -80842,7 +80842,7 @@ _021644c4: mov r0, #0 ldmia sp!, {r4, pc} _021644d0: - ldr r0, _021645f8 ; =data_027e0f94 + ldr r0, _021645f8 ; =gPlayerPos add r3, sp, #0x3c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -80861,7 +80861,7 @@ _021644d0: strh r1, [sp, #0x70] strh r1, [sp, #0x72] strh r0, [sp, #0x74] - ldr r1, _021645f8 ; =data_027e0f94 + ldr r1, _021645f8 ; =gPlayerPos strb r0, [sp, #0x96] strb r0, [sp, #0x97] strb r0, [sp, #0x98] @@ -80918,7 +80918,7 @@ _021645e0: _021645ec: .word data_027e0d38 _021645f0: .word gAdventureFlags _021645f4: .word data_027e10a4 -_021645f8: .word data_027e0f94 +_021645f8: .word gPlayerPos _021645fc: .word 0x0000ffff _02164600: .word gMapManager arm_func_end func_ov15_02164478 @@ -80973,7 +80973,7 @@ _02164680: ; jump table b _02164908 ; case 4 b _0216499c ; case 5 _02164698: - ldr r0, _02164bd8 ; =data_027e0f94 + ldr r0, _02164bd8 ; =gPlayerPos mov r1, #2 ldmia r0, {r4, r5, r6} mov r0, #7 @@ -81171,7 +81171,7 @@ _02164908: str r0, [sp, #0x18] b _02164ab8 _0216499c: - ldr r0, _02164bd8 ; =data_027e0f94 + ldr r0, _02164bd8 ; =gPlayerPos mov r2, #0x1800 ldmia r0, {r4, r5, r6} mov r0, #2 @@ -81316,7 +81316,7 @@ _02164ab8: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02164bd4: .word data_027e0f64 -_02164bd8: .word data_027e0f94 +_02164bd8: .word gPlayerPos _02164bdc: .word data_ov15_02190458 _02164be0: .word data_ov00_020eec68 _02164be4: .word 0x00000f64 @@ -81337,7 +81337,7 @@ func_ov15_02164c0c: ; 0x02164c0c stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x18 bl _ZN5Actor14GetAngleToLinkEv - ldr r1, _02164cbc ; =data_027e0fac + ldr r1, _02164cbc ; =gPlayerAngle add r0, r0, #0x8000 mov r0, r0, lsl #0x10 ldrsh r1, [r1] @@ -81354,7 +81354,7 @@ func_ov15_02164c0c: ; 0x02164c0c mov r0, #0 mov r2, #4 bl func_020078f4 - ldr r1, _02164cbc ; =data_027e0fac + ldr r1, _02164cbc ; =gPlayerAngle add r0, sp, #0 ldrsh r3, [r1] mov r1, r4 @@ -81380,7 +81380,7 @@ _02164cb0: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02164cbc: .word data_027e0fac +_02164cbc: .word gPlayerAngle _02164cc0: .word data_027e10a4 arm_func_end func_ov15_02164c0c @@ -81408,7 +81408,7 @@ func_ov15_02164cc4: ; 0x02164cc4 add r0, sp, #4 mov r1, r5 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02164e58 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] @@ -81427,7 +81427,7 @@ func_ov15_02164cc4: ; 0x02164cc4 add r0, sp, #4 mov r1, r5 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02164e58 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] @@ -81446,7 +81446,7 @@ func_ov15_02164cc4: ; 0x02164cc4 add r0, sp, #4 mov r1, r5 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02164e58 ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] @@ -81459,7 +81459,7 @@ func_ov15_02164cc4: ; 0x02164cc4 add r0, sp, #4 mov r1, r5 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02164e58 ; =data_027e0e58 add r1, r6, #0x27c ldr r0, [r0] @@ -81529,7 +81529,7 @@ func_ov15_02164e68: ; 0x02164e68 str r0, [sp, #0x30] add r0, r4, #0x100 ldrh r1, [r0, #0x68] - ldr r3, _02164f94 ; =data_02050f54 + ldr r3, _02164f94 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -81577,7 +81577,7 @@ func_ov15_02164e68: ; 0x02164e68 ldmia sp!, {r3, r4, pc} .align 2, 0 _02164f90: .word data_027e077c -_02164f94: .word data_02050f54 +_02164f94: .word gSinCosTable arm_func_end func_ov15_02164e68 .global func_ov15_02164f98 @@ -82049,7 +82049,7 @@ _02165574: addgt sp, sp, #0x24 strgt r0, [r5, #0xdc] ldmgtia sp!, {r3, r4, r5, r6, pc} - ldr r0, _02165a0c ; =data_027e0f94 + ldr r0, _02165a0c ; =gPlayerPos ldr r3, _02165a10 ; =data_ov15_0218f8bc ldr r6, [r5, #0x20] ldr lr, [r5, #0x18] @@ -82345,7 +82345,7 @@ _021659fc: .word data_027e071c _02165a00: .word data_027e10a4 _02165a04: .word data_027e0f64 _02165a08: .word 0x000011c7 -_02165a0c: .word data_027e0f94 +_02165a0c: .word gPlayerPos _02165a10: .word data_ov15_0218f8bc _02165a14: .word data_ov15_0218cce0 _02165a18: .word data_ov15_0218f8cc @@ -82453,7 +82453,7 @@ _02165b60: ldr r0, _02165e2c ; =data_027e0e58 str r1, [sp] ldr r0, [r0] - ldr r3, _02165e30 ; =data_027e0f94 + ldr r3, _02165e30 ; =gPlayerPos add r1, r4, #0xe4 mov r2, #0x57 bl func_ov00_0207c1f8 @@ -82637,7 +82637,7 @@ _02165e20: .word data_ov15_021867d8 _02165e24: .word gAdventureFlags _02165e28: .word data_ov00_020eec9c _02165e2c: .word data_027e0e58 -_02165e30: .word data_027e0f94 +_02165e30: .word gPlayerPos _02165e34: .word data_027e0f64 _02165e38: .word data_027e0e2c _02165e3c: .word func_ov15_02165280 @@ -82890,7 +82890,7 @@ func_ov15_021660a4: ; 0x021660a4 arm_func_start func_ov15_021660e4 func_ov15_021660e4: ; 0x021660e4 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _021661a0 ; =data_027e0d0c + ldr r2, _021661a0 ; =gVec3p_ZERO mov r4, r0 ldr r0, [r2] ldr r6, _021661a4 ; =0x00000266 @@ -82937,7 +82937,7 @@ func_ov15_021660e4: ; 0x021660e4 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021661a0: .word data_027e0d0c +_021661a0: .word gVec3p_ZERO _021661a4: .word 0x00000266 _021661a8: .word data_027e0ffc arm_func_end func_ov15_021660e4 @@ -82974,7 +82974,7 @@ _02166208: strb r0, [r4, #0x258] _02166210: ldrh r1, [r4, #0x78] - ldr r3, _02166294 ; =data_02050f54 + ldr r3, _02166294 ; =gSinCosTable ldr r0, _02166298 ; =0x00000333 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -83007,7 +83007,7 @@ _02166210: ldmia sp!, {r4, pc} .align 2, 0 _02166290: .word 0x00002aab -_02166294: .word data_02050f54 +_02166294: .word gSinCosTable _02166298: .word 0x00000333 arm_func_end func_ov15_021661ac @@ -83036,7 +83036,7 @@ func_ov15_0216629c: ; 0x0216629c add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 mov r1, #2 mov r2, #0 @@ -83046,7 +83046,7 @@ func_ov15_0216629c: ; 0x0216629c ldr r1, _02166390 ; =data_ov15_021867f0 mov r0, r5 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _0216633c _02166328: @@ -83106,7 +83106,7 @@ func_ov15_02166394: ; 0x02166394 mov r0, #1 strb r0, [r4, #0x259] mov r1, #0 - ldr r0, _02166480 ; =data_027e0f94 + ldr r0, _02166480 ; =gPlayerPos strb r1, [r4, #0x11a] add r3, sp, #0 ldmia r0, {r0, r1, r2} @@ -83119,7 +83119,7 @@ func_ov15_02166394: ; 0x02166394 bl func_ov00_020ce2f0 ldrh r2, [r4, #0x78] ldr r1, _02166484 ; =0xffff8003 - ldr ip, _02166488 ; =data_02050f54 + ldr ip, _02166488 ; =gSinCosTable mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 mov r3, r2, lsl #0x1 @@ -83147,9 +83147,9 @@ _0216646c: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02166480: .word data_027e0f94 +_02166480: .word gPlayerPos _02166484: .word 0xffff8003 -_02166488: .word data_02050f54 +_02166488: .word gSinCosTable arm_func_end func_ov15_02166394 .global func_ov15_0216648c @@ -83183,7 +83183,7 @@ func_ov15_0216648c: ; 0x0216648c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] - ldr lr, _02166578 ; =data_02050f54 + ldr lr, _02166578 ; =gSinCosTable ldr r1, _0216657c ; =data_027e0e58 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -83216,7 +83216,7 @@ _02166564: ldmia sp!, {r4, pc} .align 2, 0 _02166574: .word gMapManager -_02166578: .word data_02050f54 +_02166578: .word gSinCosTable _0216657c: .word data_027e0e58 _02166580: .word 0xfffffe66 arm_func_end func_ov15_0216648c @@ -83496,7 +83496,7 @@ func_ov15_02166884: ; 0x02166884 mov r0, r3 mov r2, r3 add r1, r4, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02166904 ; =data_027e0e58 add r2, sp, #0 ldr r0, [r0] @@ -83900,10 +83900,10 @@ _02166d48: strh r0, [r2, #0x8a] ldrsh r0, [r2, #0x8a] bl func_0202af4c - ldr r0, _02166ee8 ; =data_027e0f94 + ldr r0, _02166ee8 ; =gPlayerPos add r1, sp, #0x1c add r2, r5, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r5, #0x48] ldr r0, _02166eec ; =gMapManager str r1, [sp, #0x10] @@ -83949,7 +83949,7 @@ _02166d48: b _02166ecc _02166e58: mvn r3, #0 - ldr r0, _02166f00 ; =data_027e0d0c + ldr r0, _02166f00 ; =gVec3p_ZERO str r3, [r5, #0x88] ldr r2, [r0] mov r1, #0 @@ -83966,7 +83966,7 @@ _02166e58: ldr r0, [sp, #8] cmp r0, r3 beq _02166ec0 - ldr r0, _02166f04 ; =data_027e0fe4 + ldr r0, _02166f04 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -83987,14 +83987,14 @@ _02166ecc: .align 2, 0 _02166ee0: .word 0x000004cd _02166ee4: .word data_027e0f64 -_02166ee8: .word data_027e0f94 +_02166ee8: .word gPlayerPos _02166eec: .word gMapManager _02166ef0: .word data_027e0ffc _02166ef4: .word 0x00000666 _02166ef8: .word data_027e0e58 _02166efc: .word 0x00000133 -_02166f00: .word data_027e0d0c -_02166f04: .word data_027e0fe4 +_02166f00: .word gVec3p_ZERO +_02166f04: .word gActorManager arm_func_end func_ov15_02166d08 .global func_ov15_02166f08 @@ -84006,7 +84006,7 @@ func_ov15_02166f08: ; 0x02166f08 ldr r1, [r4, #0x130] cmp r1, #1 beq _02166f44 - ldr r0, _021670cc ; =data_027e0d0c + ldr r0, _021670cc ; =gVec3p_ZERO add sp, sp, #0x34 ldr r1, [r0] str r1, [r4, #0x60] @@ -84022,14 +84022,14 @@ _02166f44: add r3, r4, #0x200 ldrsh r2, [r3, #0x8a] ldrsh r1, [r3, #0x88] - ldr r0, _021670d0 ; =data_027e0f94 + ldr r0, _021670d0 ; =gPlayerPos add r5, sp, #0x28 add r1, r2, r1 strh r1, [r3, #0x8a] ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldrh r0, [r3, #0x8a] - ldr r1, _021670d4 ; =data_02050f54 + ldr r1, _021670d4 ; =gSinCosTable ldr r6, [sp, #0x28] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -84093,7 +84093,7 @@ _02166f44: addeq sp, sp, #0x34 ldmeqia sp!, {r3, r4, r5, r6, pc} add r0, sp, #0x10 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 ldr r3, [sp, #0x10] ldr r2, [sp, #0x14] @@ -84111,13 +84111,13 @@ _02166f44: add r0, r4, #0x60 add r1, sp, #4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x34 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_021670cc: .word data_027e0d0c -_021670d0: .word data_027e0f94 -_021670d4: .word data_02050f54 +_021670cc: .word gVec3p_ZERO +_021670d0: .word gPlayerPos +_021670d4: .word gSinCosTable _021670d8: .word data_027e0ff4 arm_func_end func_ov15_02166f08 @@ -84184,7 +84184,7 @@ _02167114: _021671bc: mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 bne _021671f0 mov r0, #0x1000 @@ -84277,7 +84277,7 @@ func_ov15_0216729c: ; 0x0216729c cmp r0, #3 beq _021673d8 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -84434,7 +84434,7 @@ func_ov15_02167500: ; 0x02167500 addeq sp, sp, #8 ldreqb r0, [r4, #0x28d] ldmeqia sp!, {r4, pc} - ldr r0, _0216755c ; =data_027e0fe4 + ldr r0, _0216755c ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -84446,7 +84446,7 @@ func_ov15_02167500: ; 0x02167500 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0216755c: .word data_027e0fe4 +_0216755c: .word gActorManager arm_func_end func_ov15_02167500 .global func_ov15_02167560 @@ -84477,7 +84477,7 @@ func_ov15_02167570: ; 0x02167570 strb r0, [r4, #0x28d] ldmia sp!, {r4, pc} _021675ac: - ldr r0, _021675e4 ; =data_027e0fe4 + ldr r0, _021675e4 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -84493,14 +84493,14 @@ _021675d8: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_021675e4: .word data_027e0fe4 +_021675e4: .word gActorManager arm_func_end func_ov15_02167570 .global func_ov15_021675e8 arm_func_start func_ov15_021675e8 func_ov15_021675e8: ; 0x021675e8 stmdb sp!, {r3, r4, r5, lr} - ldr r3, _02167624 ; =data_027e0fe4 + ldr r3, _02167624 ; =gActorManager mov r4, r0 ldr r0, [r3] mov r5, r1 @@ -84515,7 +84515,7 @@ func_ov15_021675e8: ; 0x021675e8 bl func_ov15_02167628 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02167624: .word data_027e0fe4 +_02167624: .word gActorManager arm_func_end func_ov15_021675e8 .global func_ov15_02167628 @@ -84567,12 +84567,12 @@ func_ov15_02167690: ; 0x02167690 mov r2, #8 beq _021676d4 ldr r1, [sp, #0xc] - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic mov r1, r0 b _021676e0 _021676d4: ldr r1, [sp, #0xc] - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic mov r1, r0 _021676e0: mov r0, r1 @@ -84781,7 +84781,7 @@ func_ov15_02167928: ; 0x02167928 func_ov15_02167960: ; 0x02167960 stmdb sp!, {r3, r4, r5, r6, lr} sub sp, sp, #0x14 - ldr r1, _02167d0c ; =data_027e0d0c + ldr r1, _02167d0c ; =gVec3p_ZERO ldr r3, _02167d10 ; =0x00000266 ldr r2, [r1] mov r4, r0 @@ -84841,7 +84841,7 @@ _021679e4: bne _02167b40 mov r1, #0xa000 str r1, [r4, #0x2f8] - ldr r0, _02167d18 ; =data_027e0fe4 + ldr r0, _02167d18 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -84867,7 +84867,7 @@ _021679e4: add r0, r0, #0x300 str r0, [r4, #0x2fc] ldrh r1, [r4, #0x78] - ldr r3, _02167d1c ; =data_02050f54 + ldr r3, _02167d1c ; =gSinCosTable mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r2, r1, lsl #0x1 @@ -84913,12 +84913,12 @@ _02167b58: ldrsb r0, [r4, #0x2c] cmp r0, #0 bne _02167c1c - ldr r1, _02167d18 ; =data_027e0fe4 + ldr r1, _02167d18 ; =gActorManager ldr r2, _02167d24 ; =0x49434247 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02167d18 ; =data_027e0fe4 + ldr r0, _02167d18 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -84926,7 +84926,7 @@ _02167b58: addeq sp, sp, #0x14 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, pc} - ldr r1, _02167d28 ; =data_027e0fac + ldr r1, _02167d28 ; =gPlayerAngle str r0, [r4, #0x1a4] ldrsh r5, [r1] bl _ZN5Actor14GetAngleToLinkEv @@ -84958,15 +84958,15 @@ _02167b58: bl func_ov15_02167d30 b _02167cd4 _02167c1c: - ldr r0, _02167d2c ; =data_027e0f94 + ldr r0, _02167d2c ; =gPlayerPos mov r1, #0xa000 ldr r2, [r0] - ldr lr, _02167d1c ; =data_02050f54 + ldr lr, _02167d1c ; =gSinCosTable str r2, [r4, #0x48] ldr r2, [r0, #4] str r2, [r4, #0x4c] ldr r2, [r0, #8] - ldr r0, _02167d28 ; =data_027e0fac + ldr r0, _02167d28 ; =gPlayerAngle str r2, [r4, #0x50] str r1, [r4, #0x2f8] str r1, [r4, #0x2f0] @@ -85021,15 +85021,15 @@ _02167cdc: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02167d0c: .word data_027e0d0c +_02167d0c: .word gVec3p_ZERO _02167d10: .word 0x00000266 _02167d14: .word data_ov15_0218689c -_02167d18: .word data_027e0fe4 -_02167d1c: .word data_02050f54 +_02167d18: .word gActorManager +_02167d1c: .word gSinCosTable _02167d20: .word data_027e0c68 _02167d24: .word 0x49434247 -_02167d28: .word data_027e0fac -_02167d2c: .word data_027e0f94 +_02167d28: .word gPlayerAngle +_02167d2c: .word gPlayerPos arm_func_end func_ov15_02167960 .global func_ov15_02167d30 @@ -85058,7 +85058,7 @@ _02167d74: bl _ZN5Actor16XzDistanceToLinkEv str r0, [r7, #0x2f4] ldr r1, [r7, #0x4c] - ldr r0, _02167f00 ; =data_027e0fac + ldr r0, _02167f00 ; =gPlayerAngle str r1, [r7, #0x2f0] ldrsh r4, [r0] mov r0, r7 @@ -85067,7 +85067,7 @@ _02167d74: sub r1, r0, r4 add r0, r7, #0x300 strh r1, [r0, #0xa] - ldr r1, _02167f00 ; =data_027e0fac + ldr r1, _02167f00 ; =gPlayerAngle ldrsh r2, [r0, #0xa] ldrsh r1, [r1] add r1, r2, r1 @@ -85075,7 +85075,7 @@ _02167d74: ldr r0, [r7, #0x2f4] ldr r1, [r7, #0x188] bl Divide - ldr r1, _02167f04 ; =data_027e0f94 + ldr r1, _02167f04 ; =gPlayerPos ldr r3, [r7, #0x2f0] ldr r1, [r1, #4] ldr r2, [r7, #0x4c] @@ -85161,8 +85161,8 @@ _02167ef0: str r6, [r7, #0x130] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02167f00: .word data_027e0fac -_02167f04: .word data_027e0f94 +_02167f00: .word gPlayerAngle +_02167f04: .word gPlayerPos _02167f08: .word 0x0000019a _02167f0c: .word data_027e0ffc _02167f10: .word 0x0000ffff @@ -85190,7 +85190,7 @@ _02167f4c: ldr r1, [r4, #0x2f4] cmp r1, #0x1000 bge _02167fa4 - ldr r1, _02168340 ; =data_027e0fac + ldr r1, _02168340 ; =gPlayerAngle ldrsh r5, [r1] bl _ZN5Actor14GetAngleToLinkEv add r0, r0, #0x8000 @@ -85222,18 +85222,18 @@ _02167fa4: str ip, [sp, #0x34] str r5, [sp, #0x38] str r3, [sp, #0x3c] - bl func_01ff9bf8 + bl Vec3p_Sub add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} _02167fe0: bl func_ov15_02168700 - ldr r3, _02168344 ; =data_027e0f94 + ldr r3, _02168344 ; =gPlayerPos add r5, sp, #0x28 ldmia r3, {r0, r1, r2} stmia r5, {r0, r1, r2} add r0, r4, #0x300 ldrh r0, [r0, #0xc] - ldr r5, _02168348 ; =data_02050f54 + ldr r5, _02168348 ; =gSinCosTable ldr r1, [r4, #0x2f4] mov r0, r0, asr #0x4 mov lr, r0, lsl #0x1 @@ -85294,7 +85294,7 @@ _02168098: strlt r1, [r4, #0x2f0] add r0, r4, #0x300 ldrh r2, [r0, #8] - ldr r0, _02168348 ; =data_02050f54 + ldr r0, _02168348 ; =gSinCosTable ldr r1, [r4, #0x18c] mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 @@ -85307,12 +85307,12 @@ _02168098: add r1, r4, #0x48 add r2, r4, #0x60 str r3, [sp, #0x2c] - bl func_01ff9bf8 + bl Vec3p_Sub add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} _02168128: ldrh r1, [r4, #0x78] - ldr r3, _02168348 ; =data_02050f54 + ldr r3, _02168348 ; =gSinCosTable ldr lr, [r4, #0x2fc] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -85363,13 +85363,13 @@ _021681b4: ldmia sp!, {r3, r4, r5, pc} _021681e8: bl func_ov15_02168700 - ldr r0, _02168344 ; =data_027e0f94 + ldr r0, _02168344 ; =gPlayerPos add r3, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, r4, #0x300 ldrh r0, [r0, #0xc] - ldr ip, _02168348 ; =data_02050f54 + ldr ip, _02168348 ; =gSinCosTable ldr r1, [r4, #0x2f4] mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 @@ -85396,7 +85396,7 @@ _021681e8: add r1, r4, #0x48 add r2, r4, #0x60 str r3, [sp, #0x20] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 str r5, [r4, #0x64] bl _ZN5Actor12ApplyGravityEv @@ -85416,7 +85416,7 @@ _02168288: strge r0, [r4, #0x64] ldmia sp!, {r3, r4, r5, pc} _021682b8: - ldr r0, _02168354 ; =data_027e0d0c + ldr r0, _02168354 ; =gVec3p_ZERO add sp, sp, #0x40 ldr r1, [r0] str r1, [r4, #0x60] @@ -85427,7 +85427,7 @@ _021682b8: ldmia sp!, {r3, r4, r5, pc} _021682dc: ldrh r1, [r4, #0x78] - ldr r3, _02168348 ; =data_02050f54 + ldr r3, _02168348 ; =gSinCosTable mov r0, #0x7b mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -85453,12 +85453,12 @@ _02168338: add sp, sp, #0x40 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02168340: .word data_027e0fac -_02168344: .word data_027e0f94 -_02168348: .word data_02050f54 +_02168340: .word gPlayerAngle +_02168344: .word gPlayerPos +_02168348: .word gSinCosTable _0216834c: .word gMapManager _02168350: .word 0x00000666 -_02168354: .word data_027e0d0c +_02168354: .word gVec3p_ZERO arm_func_end func_ov15_02167f14 .global func_ov15_02168358 @@ -85507,7 +85507,7 @@ _021683d4: add r2, r3, r2 strh r2, [r1, #8] bl func_ov15_02168dc0 - ldr r0, _021686e0 ; =data_027e0f94 + ldr r0, _021686e0 ; =gPlayerPos add r3, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -85521,7 +85521,7 @@ _021683d4: ldr r2, [r4, #0x4c] ldr r0, [sp, #0x60] sub r0, r2, r0 - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x300 strh r0, [r1, #0x10] b _021685dc @@ -85574,7 +85574,7 @@ _02168488: cmp lr, #0x32000 bge _02168540 add r0, sp, #0x30 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] @@ -85650,7 +85650,7 @@ _021685dc: cmp r0, #0x5a bne _021686b4 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -85708,7 +85708,7 @@ _021686b4: add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021686e0: .word data_027e0f94 +_021686e0: .word gPlayerPos _021686e4: .word 0x00000733 _021686e8: .word data_027e0764 _021686ec: .word data_027e0fe8 @@ -85724,7 +85724,7 @@ func_ov15_02168700: ; 0x02168700 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 mov r5, r0 - ldr r1, _02168878 ; =data_027e0fac + ldr r1, _02168878 ; =gPlayerAngle add r0, r5, #0x300 ldrsh r3, [r0, #0xa] ldrsh r0, [r1] @@ -85735,7 +85735,7 @@ func_ov15_02168700: ; 0x02168700 cmp r2, r1 mov r6, r0, asr #0x10 beq _02168770 - ldr r0, _0216887c ; =data_027e0fe4 + ldr r0, _0216887c ; =gActorManager add r1, r5, #0x194 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -85761,7 +85761,7 @@ _02168770: mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov ip, r0, lsl #0x1 - ldr r1, _02168880 ; =data_02050f54 + ldr r1, _02168880 ; =gSinCosTable mov r0, ip, lsl #0x1 ldrsh r3, [r1, r0] ldr r2, [r5, #0x2f4] @@ -85818,9 +85818,9 @@ _02168770: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02168878: .word data_027e0fac -_0216887c: .word data_027e0fe4 -_02168880: .word data_02050f54 +_02168878: .word gPlayerAngle +_0216887c: .word gActorManager +_02168880: .word gSinCosTable _02168884: .word 0x0000019a arm_func_end func_ov15_02168700 @@ -85868,7 +85868,7 @@ _021688e8: sub r2, r2, r1 mov r1, #0x12800 str r2, [sp, #8] - bl func_01ffa0f4 + bl Atan2 strh r0, [sp, #4] ldrb r0, [r5, #0x312] cmp r0, #0 @@ -85896,7 +85896,7 @@ _0216894c: b _02168a44 _0216898c: mov r0, #0x12800 - bl func_01ffa0f4 + bl Atan2 ldrb r1, [r5, #0x312] mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 @@ -85908,8 +85908,8 @@ _0216898c: mov r3, r0, asr #0x10 _021689b8: ldrsh r0, [sp, #6] - ldr r1, _02168b24 ; =data_027e0f94 - ldr r2, _02168b28 ; =data_02050f54 + ldr r1, _02168b24 ; =gPlayerPos + ldr r2, _02168b28 ; =gSinCosTable add r0, r0, #0x8000 sub r0, r0, r3 mov r0, r0, lsl #0x10 @@ -85957,7 +85957,7 @@ _02168a44: bl func_0202b418 b _02168a9c _02168a78: - ldr r0, _02168b24 ; =data_027e0f94 + ldr r0, _02168b24 ; =gPlayerPos mvn r1, #0x80000000 str r1, [sp] ldr r1, [r0, #4] @@ -85986,7 +85986,7 @@ _02168a9c: cmp r0, r1 strlt r1, [r5, #0x2f0] mov r1, r4, asr #0x4 - ldr r0, _02168b28 ; =data_02050f54 + ldr r0, _02168b28 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] ldr r0, [r5, #0x18c] @@ -86002,8 +86002,8 @@ _02168a9c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02168b20: .word data_ov15_0218d094 -_02168b24: .word data_027e0f94 -_02168b28: .word data_02050f54 +_02168b24: .word gPlayerPos +_02168b28: .word gSinCosTable _02168b2c: .word gMapManager arm_func_end func_ov15_02168888 @@ -86039,7 +86039,7 @@ func_ov15_02168b30: ; 0x02168b30 mov r3, r0, asr #0x10 _02168b9c: ldrsh r0, [r4] - ldr r2, _02168c4c ; =data_02050f54 + ldr r2, _02168c4c ; =gSinCosTable mov r1, #0 add r0, r0, r3 mov r0, r0, lsl #0x10 @@ -86083,7 +86083,7 @@ _02168b9c: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02168c48: .word data_ov15_0218d094 -_02168c4c: .word data_02050f54 +_02168c4c: .word gSinCosTable arm_func_end func_ov15_02168b30 .global func_ov15_02168c50 @@ -86095,7 +86095,7 @@ func_ov15_02168c50: ; 0x02168c50 mvn r0, #0 cmp r1, r0 beq _02168c88 - ldr r0, _02168d08 ; =data_027e0fe4 + ldr r0, _02168d08 ; =gActorManager add r1, r4, #0x194 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -86123,7 +86123,7 @@ _02168cb8: _02168cc4: cmp r1, r0 beq _02168cf4 - ldr r0, _02168d08 ; =data_027e0fe4 + ldr r0, _02168d08 ; =gActorManager add r1, r4, #0x19c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -86140,7 +86140,7 @@ _02168cf4: blx r1 ldmia sp!, {r4, pc} .align 2, 0 -_02168d08: .word data_027e0fe4 +_02168d08: .word gActorManager arm_func_end func_ov15_02168c50 .global func_ov15_02168d0c @@ -86180,7 +86180,7 @@ func_ov15_02168d58: ; 0x02168d58 mvn r0, #0 cmp r1, r0 ldmeqia sp!, {r4, pc} - ldr r0, _02168da0 ; =data_027e0fe4 + ldr r0, _02168da0 ; =gActorManager add r1, r4, #0x19c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -86189,7 +86189,7 @@ func_ov15_02168d58: ; 0x02168d58 bl func_ov15_02168d58 ldmia sp!, {r4, pc} .align 2, 0 -_02168da0: .word data_027e0fe4 +_02168da0: .word gActorManager arm_func_end func_ov15_02168d58 .global func_ov15_02168da4 @@ -86281,7 +86281,7 @@ func_ov15_02168e60: ; 0x02168e60 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r5 @@ -86323,15 +86323,15 @@ func_ov15_02168efc: ; 0x02168efc add r2, sp, #0 add r0, r4, #0x48 add r1, ip, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 b _02168f74 _02168f68: ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 _02168f74: add r1, r4, #0x300 strh r0, [r1, #0xe] @@ -86361,7 +86361,7 @@ func_ov15_02168f98: ; 0x02168f98 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x300 ldrh r1, [r0, #0x10] - ldr r3, _02169018 ; =data_02050f54 + ldr r3, _02169018 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -86381,7 +86381,7 @@ func_ov15_02168f98: ; 0x02168f98 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02169018: .word data_02050f54 +_02169018: .word gSinCosTable arm_func_end func_ov15_02168f98 .global func_ov15_0216901c @@ -86462,18 +86462,18 @@ func_ov15_021690bc: ; 0x021690bc add r0, sp, #0 mov r1, r2 bl func_ov15_02169078 - ldr r0, _021690f8 ; =data_027e0fe4 + ldr r0, _021690f8 ; =gActorManager add r1, sp, #0 ldr r0, [r0] mov r2, #0 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 moveq r0, #1 movne r0, #0 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 -_021690f8: .word data_027e0fe4 +_021690f8: .word gActorManager arm_func_end func_ov15_021690bc .global func_ov15_021690fc @@ -86681,7 +86681,7 @@ func_ov15_02169358: ; 0x02169358 mov r1, #0 mov r2, #1 mov r4, r0 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldr r0, _021694e4 ; =gAdventureFlags mov r1, #0xb7 ldr r0, [r0] @@ -86702,7 +86702,7 @@ func_ov15_02169358: ; 0x02169358 blx r2 add r0, r4, #0x1e0 bl func_ov15_02169144 - ldr r0, _021694ec ; =data_027e0d0c + ldr r0, _021694ec ; =gVec3p_ZERO mov r3, #0x15000 ldr r1, [r0] mvn r2, #0 @@ -86778,7 +86778,7 @@ func_ov15_02169358: ; 0x02169358 .align 2, 0 _021694e4: .word gAdventureFlags _021694e8: .word data_027e0fec -_021694ec: .word data_027e0d0c +_021694ec: .word gVec3p_ZERO _021694f0: .word data_027e0f6c arm_func_end func_ov15_02169358 @@ -86817,7 +86817,7 @@ _02169544: mov r0, r10 mov r2, r1 str r3, [r10, #0x2d4] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ ldr r0, [r10, #0x130] cmp r0, #3 beq _02169648 @@ -87119,7 +87119,7 @@ func_ov15_02169938: ; 0x02169938 ldr r1, [r4, #0x50] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 ldr r2, [r5, #0x14] mov r0, r0, asr #0xc add r0, r0, #8 @@ -87235,7 +87235,7 @@ _02169ae4: mov r0, r5 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _02169b40: ldr r0, _02169e48 ; =data_027e103c ldr r0, [r0] @@ -87261,7 +87261,7 @@ _02169b50: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _02169ba0: ldr r0, _02169e4c ; =data_027e0c68 ldr r2, _02169e50 ; =0x00050023 @@ -87302,7 +87302,7 @@ _02169be4: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii b _02169e2c _02169c3c: add r0, sp, #0x68 @@ -87621,12 +87621,12 @@ _0216a088: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _0216a0a4: ldr r0, _0216a0f4 ; =data_027e103c ldr r0, [r0] bl func_ov00_020cf2b8 - ldr r0, _0216a0f8 ; =data_027e0fe4 + ldr r0, _0216a0f8 ; =gActorManager add r1, r4, #0x28c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -87647,7 +87647,7 @@ _0216a0e4: _0216a0ec: .word data_027e10a4 _0216a0f0: .word data_027e0d3c _0216a0f4: .word data_027e103c -_0216a0f8: .word data_027e0fe4 +_0216a0f8: .word gActorManager _0216a0fc: .word gAdventureFlags arm_func_end func_ov15_0216a00c @@ -87656,7 +87656,7 @@ _0216a0fc: .word gAdventureFlags func_ov15_0216a100: ; 0x0216a100 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} sub sp, sp, #0x3c - ldr r1, _0216a384 ; =data_027e0f90 + ldr r1, _0216a384 ; =gPlayer mov r4, r0 ldr r0, [r1] ldrsh r0, [r0, #0xa] @@ -87674,7 +87674,7 @@ func_ov15_0216a100: ; 0x0216a100 addne sp, sp, #0x3c ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -87784,7 +87784,7 @@ _0216a23c: strb r0, [r4, #0x2de] ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0216a2f8: - ldr r0, _0216a398 ; =data_027e0fe4 + ldr r0, _0216a398 ; =gActorManager add r1, r4, #0x28c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -87820,12 +87820,12 @@ _0216a2f8: add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0216a384: .word data_027e0f90 +_0216a384: .word gPlayer _0216a388: .word data_027e0764 _0216a38c: .word 0x00005555 _0216a390: .word data_027e0fe8 _0216a394: .word 0x464c5052 -_0216a398: .word data_027e0fe4 +_0216a398: .word gActorManager arm_func_end func_ov15_0216a100 .global func_ov15_0216a39c @@ -88252,7 +88252,7 @@ _0216a918: sub r0, r1, #0x20 mov r0, r0, lsl #0x10 mov r3, r0, lsr #0x10 - ldr r2, _0216a960 ; =data_027e0fe4 + ldr r2, _0216a960 ; =gActorManager ldr r1, _0216a964 ; =data_ov15_0218d34c ldr r0, [r2] add r2, sp, #0 @@ -88269,7 +88269,7 @@ _0216a93c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0216a95c: .word gItemManager -_0216a960: .word data_027e0fe4 +_0216a960: .word gActorManager _0216a964: .word data_ov15_0218d34c arm_func_end func_ov15_0216a838 @@ -88869,7 +88869,7 @@ _0216b03c: b _0216b12c _0216b0bc: ldrh r2, [r1, #0xd0] - ldr r0, _0216b15c ; =data_02050f54 + ldr r0, _0216b15c ; =gSinCosTable rsb r3, r3, #0 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 @@ -88912,7 +88912,7 @@ _0216b144: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0216b158: .word data_027e0764 -_0216b15c: .word data_02050f54 +_0216b15c: .word gSinCosTable arm_func_end func_ov15_0216af74 .global func_ov15_0216b160 @@ -88964,7 +88964,7 @@ _0216b208: add r3, r5, #0x100 ldrh r1, [r3, #0xd0] ldrsh r2, [r3, #0xce] - ldr r0, _0216b2cc ; =data_02050f54 + ldr r0, _0216b2cc ; =gSinCosTable mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] @@ -89017,7 +89017,7 @@ _0216b2b8: bl func_ov00_0207a1c8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0216b2cc: .word data_02050f54 +_0216b2cc: .word gSinCosTable arm_func_end func_ov15_0216b160 .global func_ov15_0216b2d0 @@ -89249,10 +89249,10 @@ func_ov15_0216b58c: ; 0x0216b58c mov r2, #8 mov r1, r4 beq _0216b5e4 - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic b _0216b5e8 _0216b5e4: - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic _0216b5e8: cmp r0, #0 addeq sp, sp, #0x80 @@ -89330,7 +89330,7 @@ _0216b6cc: ldr r3, [r9, #0x50] mov r2, r4 str r3, [sp, #0x38] - bl func_01ff9bc4 + bl Vec3p_Add str r10, [sp] ldr r0, [r11] mov r1, r4 @@ -89524,12 +89524,12 @@ _0216b9c0: .word data_027e0d78 .global func_ov15_0216b9c4 arm_func_start func_ov15_0216b9c4 func_ov15_0216b9c4: ; 0x0216b9c4 - ldr ip, _0216b9d4 ; =_ZN5Actor18func_ov00_020c243cEiPi + ldr ip, _0216b9d4 ; =_ZN5Actor18func_ov00_020c243cEPjPPS_ ldr r1, _0216b9d8 ; =data_ov15_02186a38 mov r2, #0 bx ip .align 2, 0 -_0216b9d4: .word _ZN5Actor18func_ov00_020c243cEiPi +_0216b9d4: .word _ZN5Actor18func_ov00_020c243cEPjPPS_ _0216b9d8: .word data_ov15_02186a38 arm_func_end func_ov15_0216b9c4 @@ -89598,7 +89598,7 @@ func_ov15_0216ba40: ; 0x0216ba40 bl func_020196fc add r0, r4, #0x100 ldrh r1, [r0, #0xcc] - ldr r3, _0216bc58 ; =data_02050f54 + ldr r3, _0216bc58 ; =gSinCosTable add r0, sp, #0x40 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -89610,7 +89610,7 @@ func_ov15_0216ba40: ; 0x0216ba40 blx func_01ff8214 add r0, r4, #0x100 ldrsh r1, [r0, #0xcc] - ldr r3, _0216bc58 ; =data_02050f54 + ldr r3, _0216bc58 ; =gSinCosTable add r0, sp, #0x1c rsb r1, r1, #0 mov r1, r1, lsl #0x10 @@ -89625,7 +89625,7 @@ func_ov15_0216ba40: ; 0x0216ba40 blx func_01ff8214 add r0, r4, #0x100 ldrh r1, [r0, #0xca] - ldr r3, _0216bc58 ; =data_02050f54 + ldr r3, _0216bc58 ; =gSinCosTable add r0, sp, #0x88 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -89636,7 +89636,7 @@ func_ov15_0216ba40: ; 0x0216ba40 ldrsh r2, [r3, r2] blx func_01ff81f8 ldrh r1, [r4, #0x78] - ldr r3, _0216bc58 ; =data_02050f54 + ldr r3, _0216bc58 ; =gSinCosTable add r0, sp, #0x64 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -89706,7 +89706,7 @@ func_ov15_0216ba40: ; 0x0216ba40 .align 2, 0 _0216bc50: .word data_027e0f78 _0216bc54: .word 0x00007fff -_0216bc58: .word data_02050f54 +_0216bc58: .word gSinCosTable arm_func_end func_ov15_0216ba40 .global func_ov15_0216bc5c @@ -89739,7 +89739,7 @@ func_ov15_0216bc5c: ; 0x0216bc5c bl func_020196fc add r0, r4, #0x100 ldrh r1, [r0, #0xca] - ldr r3, _0216be74 ; =data_02050f54 + ldr r3, _0216be74 ; =gSinCosTable add r0, sp, #0x88 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -89750,7 +89750,7 @@ func_ov15_0216bc5c: ; 0x0216bc5c ldrsh r2, [r3, r2] blx func_01ff81f8 ldrh r1, [r4, #0x78] - ldr r3, _0216be74 ; =data_02050f54 + ldr r3, _0216be74 ; =gSinCosTable add r0, sp, #0x64 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -89762,7 +89762,7 @@ func_ov15_0216bc5c: ; 0x0216bc5c blx func_01ff8214 add r0, r4, #0x100 ldrh r1, [r0, #0xcc] - ldr r3, _0216be74 ; =data_02050f54 + ldr r3, _0216be74 ; =gSinCosTable add r0, sp, #0x40 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -89774,7 +89774,7 @@ func_ov15_0216bc5c: ; 0x0216bc5c blx func_01ff8214 add r0, r4, #0x100 ldrsh r1, [r0, #0xcc] - ldr r3, _0216be74 ; =data_02050f54 + ldr r3, _0216be74 ; =gSinCosTable add r0, sp, #0x1c rsb r1, r1, #0 mov r1, r1, lsl #0x10 @@ -89847,7 +89847,7 @@ func_ov15_0216bc5c: ; 0x0216bc5c .align 2, 0 _0216be6c: .word data_027e0f78 _0216be70: .word 0x00007fff -_0216be74: .word data_02050f54 +_0216be74: .word gSinCosTable arm_func_end func_ov15_0216bc5c .global func_ov15_0216be78 @@ -90264,7 +90264,7 @@ _0216c320: mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 - ldr r3, _0216c58c ; =data_02050f54 + ldr r3, _0216c58c ; =gSinCosTable add r2, r2, #1 mov r2, r2, lsl #0x1 ldrsh r1, [r3, r1] @@ -90296,7 +90296,7 @@ _0216c404: bl func_ov15_0216bed4 ldrh r1, [r4, #0x78] add r0, r4, #0x8c - ldr r3, _0216c58c ; =data_02050f54 + ldr r3, _0216c58c ; =gSinCosTable mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 @@ -90353,7 +90353,7 @@ _0216c4b0: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0216c58c ; =data_02050f54 + ldr r2, _0216c58c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -90368,7 +90368,7 @@ _0216c518: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0216c58c ; =data_02050f54 + ldr r2, _0216c58c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -90393,7 +90393,7 @@ _0216c54c: _0216c580: .word data_ov15_02186a44 _0216c584: .word 0x00001003 _0216c588: .word data_027e0764 -_0216c58c: .word data_02050f54 +_0216c58c: .word gSinCosTable _0216c590: .word data_02051f54 arm_func_end func_ov15_0216c2cc @@ -90530,7 +90530,7 @@ func_ov15_0216c6b8: ; 0x0216c6b8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] - ldr ip, _0216c7f4 ; =data_02050f54 + ldr ip, _0216c7f4 ; =gSinCosTable ldr r5, _0216c7f8 ; =0x000004cd mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -90578,7 +90578,7 @@ _0216c7d8: _0216c7e8: .word data_027e0764 _0216c7ec: .word data_027e0ffc _0216c7f0: .word 0x000003c6 -_0216c7f4: .word data_02050f54 +_0216c7f4: .word gSinCosTable _0216c7f8: .word 0x000004cd _0216c7fc: .word data_027e0e58 arm_func_end func_ov15_0216c6b8 @@ -90723,7 +90723,7 @@ _0216c9cc: add r0, r2, #0x400 add r2, r2, #0x400 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0xc4 add r0, r0, #0x400 add r3, sp, #0xc @@ -90736,7 +90736,7 @@ _0216c9cc: add r1, r4, #0xb8 mov r2, r0 add r1, r1, #0x400 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0xc] mov r0, r4 str r1, [r4, #0x48] @@ -90785,7 +90785,7 @@ func_ov15_0216ca80: ; 0x0216ca80 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0216cb2c ; =data_02050f54 + ldr r2, _0216cb2c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -90800,7 +90800,7 @@ _0216caf4: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0216cb2c ; =data_02050f54 + ldr r2, _0216cb2c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -90809,7 +90809,7 @@ _0216caf4: blx func_01ff8214 ldmia sp!, {r3, pc} .align 2, 0 -_0216cb2c: .word data_02050f54 +_0216cb2c: .word gSinCosTable arm_func_end func_ov15_0216ca80 .global func_ov15_0216cb30 @@ -90845,7 +90845,7 @@ _0216cb84: strge r0, [r4, #0x488] bge _0216cbb4 ldr r0, [r4, #0x4c4] - bl func_02042f74 + bl abs cmp r0, #0x3000 blt _0216cbb4 mov r0, r4 @@ -90900,13 +90900,13 @@ _0216cc54: add r0, r4, #0x168 bl func_ov00_020c5e20 ldr r0, [r4, #0x60] - bl func_02042f74 + bl abs cmp r0, #0xcd movge r0, #2 strge r0, [r4, #0x488] bge _0216cd44 ldr r0, [r4, #0x4c4] - bl func_02042f74 + bl abs cmp r0, #0x3000 blt _0216cd44 mov r0, r4 @@ -90957,7 +90957,7 @@ _0216cd04: b _0216cd44 _0216cd2c: ldr r0, [r4, #0x4c4] - bl func_02042f74 + bl abs cmp r0, #0x3000 blt _0216cd44 mov r0, r4 @@ -90973,7 +90973,7 @@ _0216cd44: add r0, r2, #0x400 add r2, r2, #0x400 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0xc4 add r0, r0, #0x400 add r3, sp, #0xc @@ -90986,7 +90986,7 @@ _0216cd44: add r1, r4, #0xb8 mov r2, r0 add r1, r1, #0x400 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0xc] mov r0, r4 str r1, [r4, #0x48] @@ -91314,7 +91314,7 @@ func_ov15_0216d120: ; 0x0216d120 add r1, sp, #0x14 add r0, sp, #8 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #2 str r0, [sp] ldr r0, _0216d248 ; =data_027e0e58 @@ -91359,7 +91359,7 @@ func_ov15_0216d258: ; 0x0216d258 add r1, sp, #0x18 add r0, sp, #0xc mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x164] cmp r0, #0 beq _0216d30c @@ -91453,7 +91453,7 @@ func_ov15_0216d3c4: ; 0x0216d3c4 str r3, [sp, #0x14] ldr r3, [ip, #0x30c] str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 add r1, r4, #0x8c mov r2, r0 @@ -91467,7 +91467,7 @@ func_ov15_0216d3c4: ; 0x0216d3c4 b _0216d4dc _0216d434: ldr r0, [sp] - bl func_02042f74 + bl abs ldr r2, [sp, #0x18] add r1, r2, #0x200 cmp r0, r1 @@ -91490,7 +91490,7 @@ _0216d434: ldmia sp!, {r3, r4, pc} _0216d48c: ldr r0, [sp, #4] - bl func_02042f74 + bl abs ldr r2, [sp, #0x18] add r1, r2, #0x200 cmp r0, r1 @@ -91702,7 +91702,7 @@ func_ov15_0216d6e8: ; 0x0216d6e8 add r1, sp, #0x24 mov r0, r4 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 add r1, sp, #0x30 add r2, sp, #0 @@ -91741,7 +91741,7 @@ func_ov15_0216d7b4: ; 0x0216d7b4 strb r2, [r4, #0xc] add r0, sp, #0x10 strb r2, [r1] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -91760,7 +91760,7 @@ func_ov15_0216d7b4: ; 0x0216d7b4 add r3, sp, #0x10 bl func_ov00_020c4048 mov r3, #0 - ldr r0, _0216d86c ; =data_027e0fb8 + ldr r0, _0216d86c ; =gPlayerControl strb r3, [r4, #0x18] ldr r2, [r0] mov r1, #1 @@ -91776,7 +91776,7 @@ _0216d85c: .word data_ov09_0211f5ca _0216d860: .word data_ov15_02186ae0 _0216d864: .word data_027e0fe8 _0216d868: .word 0x4d544354 -_0216d86c: .word data_027e0fb8 +_0216d86c: .word gPlayerControl arm_func_end func_ov15_0216d7b4 .global func_ov15_0216d870 @@ -91798,14 +91798,14 @@ func_ov15_0216d870: ; 0x0216d870 mov r1, #1 strb r1, [r0] _0216d8ac: - ldr r0, _0216d8c4 ; =data_027e0fb8 + ldr r0, _0216d8c4 ; =gPlayerControl mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x7a] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0216d8c0: .word data_ov09_0211f5ca -_0216d8c4: .word data_027e0fb8 +_0216d8c4: .word gPlayerControl arm_func_end func_ov15_0216d870 .global func_ov15_0216d8c8 @@ -91923,7 +91923,7 @@ _0216da38: cmpeq r0, #1 addne sp, sp, #0x18 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _0216daa4 ; =data_027e0fe4 + ldr r0, _0216daa4 ; =gActorManager add r1, r4, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -91940,7 +91940,7 @@ _0216da94: .word data_027e0c68 _0216da98: .word gMapManager _0216da9c: .word data_027e0d38 _0216daa0: .word gAdventureFlags -_0216daa4: .word data_027e0fe4 +_0216daa4: .word gActorManager arm_func_end func_ov15_0216d968 .global func_ov15_0216daa8 @@ -92869,9 +92869,9 @@ func_ov15_0216e69c: ; 0x0216e69c add r0, sp, #0x44 ldr r1, [sp, #0x10] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrh r1, [r5, #0x64] - ldr r3, _0216e974 ; =data_02050f54 + ldr r3, _0216e974 ; =gSinCosTable add r0, sp, #0x20 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -93011,7 +93011,7 @@ _0216e944: .align 2, 0 _0216e96c: .word 0x0000152d _0216e970: .word 0xfffffa1d -_0216e974: .word data_02050f54 +_0216e974: .word gSinCosTable _0216e978: .word gItemManager _0216e97c: .word data_027e0e58 arm_func_end func_ov15_0216e69c @@ -93140,7 +93140,7 @@ _0216eaa8: bne _0216eb64 add r0, r8, #0x100 ldrh r1, [r0, #6] - ldr r3, _0216ebcc ; =data_02050f54 + ldr r3, _0216ebcc ; =gSinCosTable add r0, sp, #0x70 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -93157,7 +93157,7 @@ _0216eaa8: bl func_01ff8690 add r0, r8, #0x100 ldrh r1, [r0, #4] - ldr r3, _0216ebcc ; =data_02050f54 + ldr r3, _0216ebcc ; =gSinCosTable add r0, sp, #0x70 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -93183,7 +93183,7 @@ _0216eb64: add r1, r8, #0x100 ldrh r1, [r1, #8] mov r4, r0 - ldr r2, _0216ebcc ; =data_02050f54 + ldr r2, _0216ebcc ; =gSinCosTable mov r0, r1, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -93200,7 +93200,7 @@ _0216eb64: add sp, sp, #0x94 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_0216ebcc: .word data_02050f54 +_0216ebcc: .word gSinCosTable arm_func_end func_ov15_0216ea30 .global func_ov15_0216ebd0 @@ -93622,12 +93622,12 @@ _0216f134: str r1, [sp, #0x10] str r0, [sp, #0x14] _0216f158: - ldr r1, _0216f31c ; =data_027e0fac + ldr r1, _0216f31c ; =gPlayerAngle add r0, sp, #0xc ldrsh r1, [r1] strh r1, [r4, #0x78] bl func_ov00_020a61ac - ldr r3, _0216f320 ; =data_027e0f94 + ldr r3, _0216f320 ; =gPlayerPos add r0, r4, #0x48 ldr r2, [r3] add r1, sp, #0xc @@ -93637,7 +93637,7 @@ _0216f158: str ip, [r4, #0x4c] ldr r3, [r3, #8] str r3, [r4, #0x50] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x15c bl func_ov00_020c5e20 ldr r0, _0216f324 ; =gAdventureFlags @@ -93740,8 +93740,8 @@ _0216f2b4: ldmia sp!, {r4, pc} .align 2, 0 _0216f318: .word data_027e10a4 -_0216f31c: .word data_027e0fac -_0216f320: .word data_027e0f94 +_0216f31c: .word gPlayerAngle +_0216f320: .word gPlayerPos _0216f324: .word gAdventureFlags _0216f328: .word 0x55555556 arm_func_end func_ov15_0216eff8 @@ -93829,25 +93829,25 @@ _0216f434: .word 0x00000666 .global func_ov15_0216f438 arm_func_start func_ov15_0216f438 func_ov15_0216f438: ; 0x0216f438 - ldr r1, _0216f44c ; =data_027e0fb8 + ldr r1, _0216f44c ; =gPlayerControl mov r2, #0 ldr r1, [r1] strb r2, [r1, #0x7a] bx lr .align 2, 0 -_0216f44c: .word data_027e0fb8 +_0216f44c: .word gPlayerControl arm_func_end func_ov15_0216f438 .global func_ov15_0216f450 arm_func_start func_ov15_0216f450 func_ov15_0216f450: ; 0x0216f450 - ldr r1, _0216f464 ; =data_027e0fb8 + ldr r1, _0216f464 ; =gPlayerControl mov r2, #1 ldr r1, [r1] strb r2, [r1, #0x7a] bx lr .align 2, 0 -_0216f464: .word data_027e0fb8 +_0216f464: .word gPlayerControl arm_func_end func_ov15_0216f450 .global func_ov15_0216f468 @@ -93885,7 +93885,7 @@ _0216f49c: .word data_027e0fe0 func_ov15_0216f4a0: ; 0x0216f4a0 stmdb sp!, {r4, lr} ldrh r2, [r1] - ldr r3, _0216f518 ; =data_02050f54 + ldr r3, _0216f518 ; =gSinCosTable mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 @@ -93914,7 +93914,7 @@ func_ov15_0216f4a0: ; 0x0216f4a0 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 -_0216f518: .word data_02050f54 +_0216f518: .word gSinCosTable arm_func_end func_ov15_0216f4a0 .global func_ov15_0216f51c @@ -94495,7 +94495,7 @@ func_ov15_0216fc10: ; 0x0216fc10 mov r1, #4 add r0, sp, #0xc strb r1, [r4, #0x124] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x28] str r0, [sp, #0x2c] @@ -94518,7 +94518,7 @@ func_ov15_0216fc10: ; 0x0216fc10 add r2, r4, #0x48 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _0216fdf8 ; =data_027e0fe4 + ldr r0, _0216fdf8 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -94572,7 +94572,7 @@ func_ov15_0216fc10: ; 0x0216fc10 _0216fdec: .word 0x000024cd _0216fdf0: .word data_027e0fe8 _0216fdf4: .word 0x53424559 -_0216fdf8: .word data_027e0fe4 +_0216fdf8: .word gActorManager _0216fdfc: .word data_027e0764 arm_func_end func_ov15_0216fc10 @@ -94633,7 +94633,7 @@ _0216fe54: bl _ZN10MapManager18func_ov00_020838c8Ei add r0, sp, #0x288 bl func_ov00_0209a4f4 - ldr r2, _02170630 ; =data_027e0f94 + ldr r2, _02170630 ; =gPlayerPos mvn r0, #0 str r0, [sp, #0x28c] mov r0, #0x32 @@ -94760,17 +94760,17 @@ _021700a4: mov r1, #0x1000 str r1, [r0, #0x10] ldr r1, [r5, #0x550] - ldr r0, _02170630 ; =data_027e0f94 + ldr r0, _02170630 ; =gPlayerPos sub r1, r1, #0x2000 str r1, [r5, #0x550] ldr r1, [r0] mov r2, #0x6000 str r1, [r5, #0x48] ldr r3, [r0, #4] - ldr r1, _02170640 ; =data_027e0fac + ldr r1, _02170640 ; =gPlayerAngle str r3, [r5, #0x4c] ldr r0, [r0, #8] - ldr r7, _02170644 ; =data_02050f54 + ldr r7, _02170644 ; =gSinCosTable str r0, [r5, #0x50] str r2, [r5, #0x4c] ldr r0, [r5, #0x550] @@ -94875,17 +94875,17 @@ _021700a4: cmp r0, #3 beq _0217029c ldr r0, _0217064c ; =data_027e0d3c - ldr r1, _02170630 ; =data_027e0f94 + ldr r1, _02170630 ; =gPlayerPos ldr r0, [r0] mov r2, #0x1e bl func_ov15_0217d59c _0217029c: mov r7, #0 - ldr r0, _02170640 ; =data_027e0fac + ldr r0, _02170640 ; =gPlayerAngle str r7, [r5, #0x534] ldrsh r0, [r0] add r1, r5, #0x500 - ldr r2, _02170630 ; =data_027e0f94 + ldr r2, _02170630 ; =gPlayerPos strh r0, [r1, #0x5e] ldr r0, [r2] ldr r3, _02170650 ; =0x00000aab @@ -94898,7 +94898,7 @@ _0217029c: strh r7, [r1, #0x6a] strh r3, [r1, #0x60] bl func_ov00_0209a4f4 - ldr r0, _02170630 ; =data_027e0f94 + ldr r0, _02170630 ; =gPlayerPos mvn r7, #0 mov r10, #0x32 mov r9, #0 @@ -94969,7 +94969,7 @@ _021703e8: ldr r0, _0217063c ; =data_027e10a4 mov r6, #0 ldr r0, [r0] - ldr r1, _02170654 ; =data_027e0d0c + ldr r1, _02170654 ; =gVec3p_ZERO strb r6, [r0, #0x194] ldr r2, [r1] add r0, sp, #0xc0 @@ -95114,16 +95114,16 @@ _0217060c: _02170624: .word 0x0000ffff _02170628: .word data_027e103c _0217062c: .word gMapManager -_02170630: .word data_027e0f94 +_02170630: .word gPlayerPos _02170634: .word data_027e0f64 _02170638: .word gAdventureFlags _0217063c: .word data_027e10a4 -_02170640: .word data_027e0fac -_02170644: .word data_02050f54 +_02170640: .word gPlayerAngle +_02170644: .word gSinCosTable _02170648: .word 0xffffd738 _0217064c: .word data_027e0d3c _02170650: .word 0x00000aab -_02170654: .word data_027e0d0c +_02170654: .word gVec3p_ZERO _02170658: .word 0x000005dc _0217065c: .word data_ov00_020eec68 arm_func_end func_ov15_0216fe00 @@ -95226,7 +95226,7 @@ _02170790: ldr r1, _021707e0 ; =data_ov15_02186c7c mov r0, r4 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r4 bl func_ov15_021724d0 add r0, r4, #0x158 @@ -95282,7 +95282,7 @@ func_ov15_02170830: ; 0x02170830 add r1, sp, #0x3c ldr r0, [r0, #4] bl func_ov00_02087d34 - ldr r0, _021709f0 ; =data_027e0f94 + ldr r0, _021709f0 ; =gPlayerPos add r3, sp, #0x30 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -95344,7 +95344,7 @@ _021708e0: addne sp, sp, #0xa4 ldmneia sp!, {r3, r4, pc} add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -95391,7 +95391,7 @@ _021709dc: ldmia sp!, {r3, r4, pc} .align 2, 0 _021709ec: .word data_027e0f64 -_021709f0: .word data_027e0f94 +_021709f0: .word gPlayerPos _021709f4: .word data_027e0c68 _021709f8: .word 0x0005002b _021709fc: .word data_027e0fe8 @@ -95513,7 +95513,7 @@ _02170ac8: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r4, #0x78] - ldr r2, _02170ff0 ; =data_02050f54 + ldr r2, _02170ff0 ; =gSinCosTable ldr r0, _02170ff4 ; =0x0000276c mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -95791,7 +95791,7 @@ _02170fe0: .word data_027e10a4 _02170fe4: .word data_027e0c68 _02170fe8: .word 0x00050027 _02170fec: .word data_027e0f64 -_02170ff0: .word data_02050f54 +_02170ff0: .word gSinCosTable _02170ff4: .word 0x0000276c _02170ff8: .word gAdventureFlags _02170ffc: .word data_ov15_02190458 @@ -96325,7 +96325,7 @@ _02171790: ldr r2, _0217192c ; =0x00000222 add r0, sp, #0xe4 bl Approach_thunk - ldr r0, _02171930 ; =data_027e0f94 + ldr r0, _02171930 ; =gPlayerPos mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -96352,7 +96352,7 @@ _02171818: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldr r0, _02171934 ; =data_027e0d3c ldr r0, [r0] bl func_ov00_02078fac @@ -96387,7 +96387,7 @@ _0217187c: ldr r2, _0217192c ; =0x00000222 add r0, sp, #0x7c bl Approach_thunk - ldr r0, _02171930 ; =data_027e0f94 + ldr r0, _02171930 ; =gPlayerPos mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -96423,7 +96423,7 @@ _02171920: .word data_027e10a4 _02171924: .word data_027e0f68 _02171928: .word data_027e0f64 _0217192c: .word 0x00000222 -_02171930: .word data_027e0f94 +_02171930: .word gPlayerPos _02171934: .word data_027e0d3c _02171938: .word data_027e0d04 arm_func_end func_ov15_0217128c @@ -96537,14 +96537,14 @@ _02171aa4: .word 0x000004cd func_ov15_02171aa8: ; 0x02171aa8 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x28 - ldr r1, _02171ec4 ; =data_027e0f94 + ldr r1, _02171ec4 ; =gPlayerPos add r3, sp, #0x1c mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r2, [sp, #0x1c] ldr r1, [sp, #0x24] - ldr r3, _02171ec8 ; =data_027e0fac + ldr r3, _02171ec8 ; =gPlayerAngle str r2, [sp, #0x10] str r1, [sp, #0x18] ldr r0, [r4, #0x544] @@ -96553,7 +96553,7 @@ func_ov15_02171aa8: ; 0x02171aa8 beq _02171b44 add r3, r4, #0x500 ldrsh r3, [r3, #0x5c] - ldr r7, _02171ecc ; =data_02050f54 + ldr r7, _02171ecc ; =gSinCosTable add r3, r5, r3 add r3, r3, #0x6000 mov r3, r3, lsl #0x10 @@ -96587,7 +96587,7 @@ _02171b44: mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _02171ecc ; =data_02050f54 + ldr r3, _02171ecc ; =gSinCosTable mov r7, r6, lsl #0x2 mov r6, r2, lsl #0x1 mov r1, r1, lsl #0x1 @@ -96774,10 +96774,10 @@ _02171e28: strhs r0, [r4, #0x550] add r0, r4, #0x48 add r1, r4, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #4] ldr r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 ldr r1, [r4, #0x130] mov r0, r0, lsl #0x10 cmp r1, #3 @@ -96807,9 +96807,9 @@ _02171e98: add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02171ec4: .word data_027e0f94 -_02171ec8: .word data_027e0fac -_02171ecc: .word data_02050f54 +_02171ec4: .word gPlayerPos +_02171ec8: .word gPlayerAngle +_02171ecc: .word gSinCosTable _02171ed0: .word 0x00001dde arm_func_end func_ov15_02171aa8 @@ -96834,7 +96834,7 @@ func_ov15_02171ed4: ; 0x02171ed4 mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 mov r4, r3, asr #0x4 - ldr r3, _02172010 ; =data_02050f54 + ldr r3, _02172010 ; =gSinCosTable mov r4, r4, lsl #0x2 ldrsh r4, [r3, r4] mov r3, #0x3800 @@ -96858,7 +96858,7 @@ _02171f58: mov r3, r3, lsl #0x10 mov r3, r3, lsr #0x10 mov ip, r3, asr #0x4 - ldr r3, _02172010 ; =data_02050f54 + ldr r3, _02172010 ; =gSinCosTable mov ip, ip, lsl #0x2 ldrsh lr, [r3, ip] mov r3, #0x3800 @@ -96898,7 +96898,7 @@ _02171fb0: strb r1, [r0, #0x573] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02172010: .word data_02050f54 +_02172010: .word gSinCosTable arm_func_end func_ov15_02171ed4 .global func_ov15_02172014 @@ -96940,16 +96940,16 @@ func_ov15_02172070: ; 0x02172070 add r2, sp, #0 add r0, r4, #0x48 add r1, r4, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length ldr r2, [r4, #0x130] mov r1, r0 cmp r2, #5 beq _021720e4 ldr r0, [sp, #4] rsb r0, r0, #0 - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x500 ldrsh r2, [r1, #0x58] mov r0, r0, lsl #0x10 @@ -96966,7 +96966,7 @@ func_ov15_02172070: ; 0x02172070 _021720e4: add r0, r4, #0x500 ldrh r1, [r0, #0x58] - ldr r3, _02172178 ; =data_02050f54 + ldr r3, _02172178 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -97002,7 +97002,7 @@ _021720e4: add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02172178: .word data_02050f54 +_02172178: .word gSinCosTable arm_func_end func_ov15_02172070 .global func_ov15_0217217c @@ -97117,12 +97117,12 @@ func_ov15_02172260: ; 0x02172260 mov lr, ip mov r0, r2, asr #0x4 mov r5, r0, lsl #0x1 - ldr r0, _021724c8 ; =data_02050f54 + ldr r0, _021724c8 ; =gSinCosTable mov r2, r5, lsl #0x1 ldrsh r3, [r0, r2] add r0, r5, #1 mov r2, r0, lsl #0x1 - ldr r0, _021724c8 ; =data_02050f54 + ldr r0, _021724c8 ; =gSinCosTable add r1, sp, #0x34 ldrsh r6, [r0, r2] umull r0, r5, r3, r11 @@ -97153,12 +97153,12 @@ func_ov15_02172260: ; 0x02172260 mov r3, r3, asr #0x4 mov r7, r3, lsl #0x1 str r0, [sp, #8] - ldr r3, _021724c8 ; =data_02050f54 + ldr r3, _021724c8 ; =gSinCosTable mov r5, r7, lsl #0x1 ldrsh r6, [r3, r5] add r3, r7, #1 mov r5, r3, lsl #0x1 - ldr r3, _021724c8 ; =data_02050f54 + ldr r3, _021724c8 ; =gSinCosTable umull r8, r7, r6, ip ldrsh r11, [r3, r5] ldr r3, [sp, #0xc] @@ -97184,16 +97184,16 @@ func_ov15_02172260: ; 0x02172260 add r0, sp, #0x28 add r2, sp, #0x1c str r3, [sp, #0x30] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x1c bl func_01fffb4c ldr r0, [sp] add r1, sp, #0x34 add r2, sp, #0x10 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x10 add r1, sp, #0x1c - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 blt _021724b8 ldr r1, _021724cc ; =0x00003266 @@ -97202,14 +97202,14 @@ func_ov15_02172260: ; 0x02172260 mov r1, #0 add r0, sp, #0x10 str r1, [sp, #0x14] - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r4, #0x78] mov r0, r0, lsl #0x10 - ldr r1, _021724c8 ; =data_02050f54 + ldr r1, _021724c8 ; =gSinCosTable sub r0, r2, r0, asr #16 add r0, r0, #0x8000 mov r0, r0, lsl #0x10 @@ -97237,7 +97237,7 @@ _021724b8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _021724c4: .word 0x00001266 -_021724c8: .word data_02050f54 +_021724c8: .word gSinCosTable _021724cc: .word 0x00003266 arm_func_end func_ov15_02172260 @@ -97262,20 +97262,20 @@ func_ov15_021724d0: ; 0x021724d0 add r1, sp, #0x1c mov r0, r4 bl _ZN5Actor9GetHitboxEP8Cylinder - ldr r0, _021725c4 ; =data_027e0f90 + ldr r0, _021725c4 ; =gPlayer add r1, sp, #0x1c ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r3, r4, pc} - ldr r0, _021725c4 ; =data_027e0f90 + ldr r0, _021725c4 ; =gPlayer add r1, sp, #0xc ldr r0, [r0] ldr r2, [r0] ldr r2, [r2, #0x10] blx r2 - ldr r1, _021725c8 ; =data_027e0f94 + ldr r1, _021725c8 ; =gPlayerPos add r2, sp, #0x18 mov r0, r4 bl func_ov15_02172260 @@ -97285,11 +97285,11 @@ func_ov15_021724d0: ; 0x021724d0 cmp r0, #0 addne sp, sp, #0x2c ldmneia sp!, {r3, r4, pc} - ldr r0, _021725c8 ; =data_027e0f94 + ldr r0, _021725c8 ; =gPlayerPos add r2, sp, #0 add r1, r4, #0x54 - bl func_01ff9bf8 - ldr r0, _021725c4 ; =data_027e0f90 + bl Vec3p_Sub + ldr r0, _021725c4 ; =gPlayer add r2, sp, #0 ldr r0, [r0] mov r1, #4 @@ -97307,8 +97307,8 @@ _021725b4: add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 -_021725c4: .word data_027e0f90 -_021725c8: .word data_027e0f94 +_021725c4: .word gPlayer +_021725c8: .word gPlayerPos arm_func_end func_ov15_021724d0 .global func_ov15_021725cc @@ -97590,7 +97590,7 @@ _02172934: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r4, #0x78] - ldr r2, _02172ca0 ; =data_02050f54 + ldr r2, _02172ca0 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 @@ -97620,7 +97620,7 @@ _02172934: add r1, r2, r1 str r3, [sp, #0x4c] str r1, [sp, #0x54] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x20 str r1, [sp, #0x3c] @@ -97713,7 +97713,7 @@ _02172b80: strh r1, [r0, #0x66] ldrh r0, [r4, #0x78] add r7, r1, #0x17c - ldr r1, _02172ca0 ; =data_02050f54 + ldr r1, _02172ca0 ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -97760,7 +97760,7 @@ _02172b80: add r0, sp, #0x14 mov r1, r3 mov r2, r3 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x78 str r0, [sp] ldr r1, _02172cb4 ; =func_ov15_0216f4a0 @@ -97781,7 +97781,7 @@ _02172b80: .align 2, 0 _02172c98: .word 0x00002af8 _02172c9c: .word 0x00004e20 -_02172ca0: .word data_02050f54 +_02172ca0: .word gSinCosTable _02172ca4: .word data_027e0fe8 _02172ca8: .word 0x464c5052 _02172cac: .word data_027e0764 @@ -97884,7 +97884,7 @@ func_ov15_02172d90: ; 0x02172d90 cmp r0, #0x1800 bge _02172ecc ldrh r0, [r4, #0x78] - ldr r1, _02172ef0 ; =data_02050f54 + ldr r1, _02172ef0 ; =gSinCosTable mov r3, #0 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -97948,7 +97948,7 @@ _02172ecc: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02172eec: .word gMapManager -_02172ef0: .word data_02050f54 +_02172ef0: .word gSinCosTable _02172ef4: .word 0x0000119a _02172ef8: .word data_027e0e58 _02172efc: .word data_027e0ffc @@ -98017,17 +98017,17 @@ _02172f7c: str r2, [sp, #0x10] ldmia r1, {r1, r2} bl func_ov15_02172f00 - ldr r0, _0217302c ; =data_027e0fe4 + ldr r0, _0217302c ; =gActorManager add r1, sp, #0 ldr r0, [r0] add r2, sp, #0xc - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mov r6, r0 cmp r6, #0 mov r7, #0 addle sp, sp, #0xb8 ldmleia sp!, {r3, r4, r5, r6, r7, pc} - ldr r5, _0217302c ; =data_027e0fe4 + ldr r5, _0217302c ; =gActorManager ldr r4, _02173030 ; =0x434e424c _02172fe8: ldr r0, [r5] @@ -98050,7 +98050,7 @@ _0217300c: add sp, sp, #0xb8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0217302c: .word data_027e0fe4 +_0217302c: .word gActorManager _02173030: .word 0x434e424c arm_func_end func_ov15_02172f64 @@ -98178,7 +98178,7 @@ func_ov15_0217317c: ; 0x0217317c add r1, sp, #0x44 mov r4, r2 bl func_ov00_02087d34 - ldr r7, _021733a4 ; =data_027e0f94 + ldr r7, _021733a4 ; =gPlayerPos add r3, sp, #0x38 ldmia r7, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -98230,12 +98230,12 @@ _02173264: add r1, r6, #0x11c add r0, sp, #0x2c add r1, r1, #0x400 - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, r7, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 ldr r2, [sp, #0x58] - ldr ip, _021733ac ; =data_02050f54 + ldr ip, _021733ac ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r7, [ip, r3] @@ -98284,7 +98284,7 @@ _02173264: ldr r2, [r6, #0x520] ldr r0, [sp, #0x30] sub r0, r2, r0 - bl func_01ffa0f4 + bl Atan2 str r0, [sp, #0x54] _02173350: ldr r2, [sp, #0x38] @@ -98309,9 +98309,9 @@ _02173350: ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _021733a0: .word data_027e0f64 -_021733a4: .word data_027e0f94 +_021733a4: .word gPlayerPos _021733a8: .word gMapManager -_021733ac: .word data_02050f54 +_021733ac: .word gSinCosTable arm_func_end func_ov15_0217317c .global func_ov15_021733b0 @@ -98454,7 +98454,7 @@ _021735a4: .word data_027e0f64 func_ov15_021735a8: ; 0x021735a8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x3c - ldr r7, _02173704 ; =data_027e0f94 + ldr r7, _02173704 ; =gPlayerPos add r3, sp, #0x30 mov r6, r0 mov r5, r1 @@ -98469,7 +98469,7 @@ func_ov15_021735a8: ; 0x021735a8 ldr r0, _02173708 ; =0x00001770 str r1, [r4, #0x14] str r0, [r4, #0xc] - ldr r0, _0217370c ; =data_027e0fac + ldr r0, _0217370c ; =gPlayerAngle ldr r3, _02173710 ; =0x000008a4 ldrsh r1, [r0] mov r2, #0x214 @@ -98486,11 +98486,11 @@ func_ov15_021735a8: ; 0x021735a8 add r0, sp, #0x18 add r1, sp, #0x24 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 add r1, sp, #0x30 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add ldr r3, _02173718 ; =gMapManager add r8, sp, #0xc ldmia r5, {r0, r1, r2} @@ -98522,13 +98522,13 @@ _021736a4: mov r1, r5 str r3, [sp, #0x10] str r2, [sp, #0x14] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [r4, #0x18] ldr r2, [sp, #0x10] ldr r0, [r5, #4] mov r1, #0x1000 sub r0, r2, r0 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x10] @@ -98542,9 +98542,9 @@ _021736e4: add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_02173704: .word data_027e0f94 +_02173704: .word gPlayerPos _02173708: .word 0x00001770 -_0217370c: .word data_027e0fac +_0217370c: .word gPlayerAngle _02173710: .word 0x000008a4 _02173714: .word 0xfffffae1 _02173718: .word gMapManager @@ -98655,7 +98655,7 @@ _02173834: .word func_ov00_020b7d74 func_ov15_02173838: ; 0x02173838 stmdb sp!, {r4, lr} sub sp, sp, #0x38 - ldr r2, _02173974 ; =data_027e0d0c + ldr r2, _02173974 ; =gVec3p_ZERO mov r4, r0 ldr r1, [r2] mov r0, #0x35c @@ -98668,7 +98668,7 @@ func_ov15_02173838: ; 0x02173838 str r1, [r4, #0x84] str r0, [r4, #0x88] ldr r1, [r4, #0x7c] - ldr r0, _02173978 ; =data_027e0fe4 + ldr r0, _02173978 ; =gActorManager str r1, [r4, #0x8c] ldr lr, [r4, #0x80] add r1, r4, #0x34 @@ -98692,7 +98692,7 @@ func_ov15_02173838: ; 0x02173838 cmp r0, #0 beq _0217395c add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -98717,7 +98717,7 @@ func_ov15_02173838: ; 0x02173838 ldr r0, [r0] add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _02173978 ; =data_027e0fe4 + ldr r0, _02173978 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -98734,8 +98734,8 @@ _0217395c: add sp, sp, #0x38 ldmia sp!, {r4, pc} .align 2, 0 -_02173974: .word data_027e0d0c -_02173978: .word data_027e0fe4 +_02173974: .word gVec3p_ZERO +_02173978: .word gActorManager _0217397c: .word data_027e0fe8 _02173980: .word 0x53424559 arm_func_end func_ov15_02173838 @@ -98811,7 +98811,7 @@ _02173a50: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _02173b28 ldr r0, [r4, #0x160] @@ -99014,7 +99014,7 @@ func_ov15_02173cb4: ; 0x02173cb4 mov r3, #0x1e bl func_ov00_0207c2e8 add r0, sp, #0x40 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x5c] str r0, [sp, #0x60] @@ -99037,7 +99037,7 @@ func_ov15_02173cb4: ; 0x02173cb4 add r2, sp, #0x6c add r3, sp, #0x40 bl func_ov00_020c4048 - ldr r0, _02173fd8 ; =data_027e0fe4 + ldr r0, _02173fd8 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -99049,14 +99049,14 @@ func_ov15_02173cb4: ; 0x02173cb4 add r2, sp, #0x6c mov r3, #0 bl func_ov00_020ceacc - ldr r0, _02173fe4 ; =data_027e0f94 + ldr r0, _02173fe4 ; =gPlayerPos add r3, sp, #0x34 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r0, sp, #0x10 bl func_ov15_0215cef8 ldr r0, _02173fe8 ; =data_027e0764 - ldr lr, _02173fec ; =data_02050f54 + ldr lr, _02173fec ; =gSinCosTable ldr r6, [r0, #8] ldr r10, [r0] ldr r9, [r0, #4] @@ -99115,21 +99115,21 @@ func_ov15_02173cb4: ; 0x02173cb4 orr r5, r5, r3, lsl #20 str r7, [sp, #0x1c] str r5, [sp, #0x24] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x34 add r1, sp, #0x6c add r2, sp, #0x28 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r7, [sp, #0x2c] mov r0, #0 str r0, [sp, #0x2c] ldr r0, [sp, #0x28] ldr r1, [sp, #0x30] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 add r0, sp, #0x28 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02173ff4 ; =0x00010a68 mov r2, #0 umull r5, r3, r0, r1 @@ -99148,7 +99148,7 @@ func_ov15_02173cb4: ; 0x02173cb4 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02173fec ; =data_02050f54 + ldr r2, _02173fec ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r9, [r2, r0] @@ -99197,12 +99197,12 @@ func_ov15_02173cb4: ; 0x02173cb4 _02173fcc: .word data_027e0e58 _02173fd0: .word data_027e0fe8 _02173fd4: .word 0x434e424c -_02173fd8: .word data_027e0fe4 +_02173fd8: .word gActorManager _02173fdc: .word data_027e0ffc _02173fe0: .word 0x000002eb -_02173fe4: .word data_027e0f94 +_02173fe4: .word gPlayerPos _02173fe8: .word data_027e0764 -_02173fec: .word data_02050f54 +_02173fec: .word gSinCosTable _02173ff0: .word 0x00001001 _02173ff4: .word 0x00010a68 arm_func_end func_ov15_02173cb4 @@ -100496,7 +100496,7 @@ _02174fbc: ldr r0, _02175274 ; =data_027e0d3c str r2, [sp, #0xc] ldr r0, [r0] - ldr r1, _02175278 ; =data_027e0f94 + ldr r1, _02175278 ; =gPlayerPos mov r3, r2 bl func_ov00_02079470 cmp r0, #0 @@ -100504,11 +100504,11 @@ _02174fbc: ldmeqia sp!, {r4, r5, r6, pc} add r0, sp, #0x28 bl func_01ffbe34 - ldr r0, _0217527c ; =data_027e0fac + ldr r0, _0217527c ; =gPlayerAngle mov ip, #2 ldrsh r0, [r0] mov r3, #1 - ldr r1, _02175280 ; =data_02050f54 + ldr r1, _02175280 ; =gSinCosTable sub r0, r0, #0x4000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -100589,7 +100589,7 @@ _0217511c: addeq sp, sp, #0x48 ldmeqia sp!, {r4, r5, r6, pc} ldr r0, _02175298 ; =data_027e0f64 - ldr r3, _02175280 ; =data_02050f54 + ldr r3, _02175280 ; =gSinCosTable ldr r1, [r0] add r0, sp, #0x18 ldr r1, [r1, #4] @@ -100614,7 +100614,7 @@ _0217511c: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _02175280 ; =data_02050f54 + ldr r1, _02175280 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r0] @@ -100666,9 +100666,9 @@ _0217511c: .align 2, 0 _02175270: .word data_027e0d38 _02175274: .word data_027e0d3c -_02175278: .word data_027e0f94 -_0217527c: .word data_027e0fac -_02175280: .word data_02050f54 +_02175278: .word gPlayerPos +_0217527c: .word gPlayerAngle +_02175280: .word gSinCosTable _02175284: .word data_027e1054 _02175288: .word data_02063e4c _0217528c: .word data_027e077c @@ -100778,7 +100778,7 @@ _021753f0: str r1, [r0, #0x1ac] _021753fc: ldr r0, [r5, #0x20] - ldr r1, _0217543c ; =data_027e0fac + ldr r1, _0217543c ; =gPlayerAngle ldr r4, [r0] ldrsh r3, [r1] ldr r4, [r4, #0xc] @@ -100794,7 +100794,7 @@ _021753fc: .align 2, 0 _02175434: .word 0x66666667 _02175438: .word data_027e0e5c -_0217543c: .word data_027e0fac +_0217543c: .word gPlayerAngle arm_func_end func_ov15_021752a0 .global func_ov15_02175440 @@ -100857,7 +100857,7 @@ _0217549c: add r0, sp, #0x44 mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0xb0] cmp r0, #0 beq _02175574 @@ -100886,7 +100886,7 @@ _02175574: ldr r0, [r6, #0xb0] cmp r0, #0 strneh r8, [r0, #0x74] - ldr r0, _02175b3c ; =data_027e0f90 + ldr r0, _02175b3c ; =gPlayer ldr r2, [r6, #0xb0] ldr r0, [r0] ldrsh r0, [r0, #0xa] @@ -100937,7 +100937,7 @@ _021755fc: add r0, sp, #0x44 mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0xb4] cmp r0, #0 beq _021756a8 @@ -100966,7 +100966,7 @@ _021756a8: ldr r0, [r6, #0xb4] cmp r0, #0 strneh r8, [r0, #0x74] - ldr r0, _02175b3c ; =data_027e0f90 + ldr r0, _02175b3c ; =gPlayer ldr r2, [r6, #0xb4] ldr r0, [r0] ldrsh r0, [r0, #0xa] @@ -101015,7 +101015,7 @@ _02175730: add r0, sp, #0x44 mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0xb8] cmp r0, #0 beq _021757d4 @@ -101044,7 +101044,7 @@ _021757d4: ldr r0, [r6, #0xb8] cmp r0, #0 strneh r8, [r0, #0x74] - ldr r0, _02175b3c ; =data_027e0f90 + ldr r0, _02175b3c ; =gPlayer ldr r2, [r6, #0xb8] ldr r0, [r0] ldrsh r0, [r0, #0xa] @@ -101081,7 +101081,7 @@ _0217585c: add r0, sp, #0x44 mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0xbc] cmp r0, #0 beq _021758d0 @@ -101104,7 +101104,7 @@ _0217585c: add r1, r2, r1 str r1, [r0, #0x30] _021758d0: - ldr r0, _02175b3c ; =data_027e0f90 + ldr r0, _02175b3c ; =gPlayer ldr r2, [r6, #0xbc] ldr r0, [r0] ldrsh r0, [r0, #0xa] @@ -101177,7 +101177,7 @@ _02175994: ldmia r0, {r0, r1, r2} stmia r7, {r0, r1, r2} ldr r1, [r6, #0x84] - ldr r0, _02175b4c ; =data_027e0fac + ldr r0, _02175b4c ; =gPlayerAngle str r1, [sp, #0x30] ldrsh r7, [r6, #0x8e] ldrsh r1, [r0] @@ -101214,7 +101214,7 @@ _02175994: add r0, sp, #0xc mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0x180] cmp r0, #0 beq _02175ad4 @@ -101237,8 +101237,8 @@ _02175994: add r1, r2, r1 str r1, [r0, #0x30] _02175ad4: - ldr r0, _02175b54 ; =data_027e0fa0 - ldr r1, _02175b4c ; =data_027e0fac + ldr r0, _02175b54 ; =gPlayerVel + ldr r1, _02175b4c ; =gPlayerAngle ldr r2, [r0, #4] ldr r3, [r6, #0x78] mov r0, r2, asr #0x2 @@ -101264,20 +101264,20 @@ _02175ad4: _02175b30: .word data_027e0d38 _02175b34: .word data_027e0c54 _02175b38: .word data_ov15_02186d04 -_02175b3c: .word data_027e0f90 +_02175b3c: .word gPlayer _02175b40: .word data_ov15_02186d10 _02175b44: .word data_ov15_02186d1c _02175b48: .word data_ov15_02186d28 -_02175b4c: .word data_027e0fac +_02175b4c: .word gPlayerAngle _02175b50: .word 0x00000e66 -_02175b54: .word data_027e0fa0 +_02175b54: .word gPlayerVel arm_func_end func_ov15_02175440 .global func_ov15_02175b58 arm_func_start func_ov15_02175b58 func_ov15_02175b58: ; 0x02175b58 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02175ba4 ; =data_027e0f94 + ldr r2, _02175ba4 ; =gPlayerPos mov r4, r1 ldr r1, [r2] mov r5, r0 @@ -101289,14 +101289,14 @@ func_ov15_02175b58: ; 0x02175b58 mov r2, r4 str r1, [r4, #8] add r1, r5, #0xa4 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #4] ldr r0, [r5, #0xa0] add r0, r1, r0 str r0, [r4, #4] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02175ba4: .word data_027e0f94 +_02175ba4: .word gPlayerPos arm_func_end func_ov15_02175b58 .global func_ov15_02175ba8 @@ -101310,7 +101310,7 @@ func_ov15_02175ba8: ; 0x02175ba8 bl func_01ff80d4 ldrsh r2, [r5, #0x90] ldrsh r1, [r5, #0x94] - ldr r3, _02175cb8 ; =data_02050f54 + ldr r3, _02175cb8 ; =gSinCosTable add r0, sp, #0x48 add r1, r2, r1 mov r1, r1, lsl #0x10 @@ -101332,7 +101332,7 @@ func_ov15_02175ba8: ; 0x02175ba8 ldr r0, _02175cbc ; =data_027e0fb0 ldrsh r1, [r5, #0x92] ldrsh r2, [r0] - ldr r3, _02175cb8 ; =data_02050f54 + ldr r3, _02175cb8 ; =gSinCosTable add r0, sp, #0x24 add r1, r2, r1 rsb r1, r1, #0 @@ -101352,8 +101352,8 @@ func_ov15_02175ba8: ; 0x02175ba8 add r1, sp, #0x24 mov r2, r4 bl func_01ff8690 - ldr r1, _02175cc0 ; =data_027e0fac - ldr r3, _02175cb8 ; =data_02050f54 + ldr r1, _02175cc0 ; =gPlayerAngle + ldr r3, _02175cb8 ; =gSinCosTable ldrh r1, [r1] add r0, sp, #0 mov r1, r1, asr #0x4 @@ -101371,9 +101371,9 @@ func_ov15_02175ba8: ; 0x02175ba8 add sp, sp, #0x6c ldmia sp!, {r4, r5, pc} .align 2, 0 -_02175cb8: .word data_02050f54 +_02175cb8: .word gSinCosTable _02175cbc: .word data_027e0fb0 -_02175cc0: .word data_027e0fac +_02175cc0: .word gPlayerAngle arm_func_end func_ov15_02175ba8 .global func_ov15_02175cc4 @@ -101395,7 +101395,7 @@ func_ov15_02175cc4: ; 0x02175cc4 add r0, sp, #0x30 add r1, sp, #0 mov r2, r4 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x3c ldmia sp!, {r4, r5, pc} .align 2, 0 @@ -101738,7 +101738,7 @@ _02176138: str r0, [r4, #4] mov r0, r5, asr #0x4 mov r8, r0, lsl #0x1 - ldr r0, _021762dc ; =data_02050f54 + ldr r0, _021762dc ; =gSinCosTable mov r1, r8, lsl #0x1 ldrsh r0, [r0, r1] mov r1, r0, lsl #0x6 @@ -101747,7 +101747,7 @@ _02176138: mov r7, r10, asr #0xc add r0, r7, #0x80 bl func_ov05_0210e288 - ldr r1, _021762dc ; =data_02050f54 + ldr r1, _021762dc ; =gSinCosTable mov r9, r0 add r1, r1, r8, lsl #1 ldrsh r1, [r1, #2] @@ -101807,7 +101807,7 @@ _021762cc: .word 0x04000488 _021762d0: .word 0x0000ffff _021762d4: .word 0x001f0080 _021762d8: .word data_027e0d44 -_021762dc: .word data_02050f54 +_021762dc: .word gSinCosTable arm_func_end func_ov15_02176118 .global func_ov15_021762e0 @@ -102143,7 +102143,7 @@ func_ov15_0217674c: ; 0x0217674c mvn r1, #0x13 cmp r0, r1 bgt _021767ec - bl func_02042f74 + bl abs sub r0, r0, #0x12 cmp r0, #0x20 movgt r0, #0x20 @@ -102218,7 +102218,7 @@ _02176858: cmp r0, #0 beq _021768a8 ldr r0, [r4, #0x3c4] - bl func_02042f74 + bl abs cmp r0, #0x32 bge _0217689c ldr r0, _02176900 ; =data_ov00_020eec9c @@ -102385,7 +102385,7 @@ _02176adc: ldreqb r0, [r8, #0x436] cmpeq r0, #9 bne _02176ce0 - ldr r0, _02176d30 ; =data_027e0fe4 + ldr r0, _02176d30 ; =gActorManager add r1, r8, #0x388 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -102537,7 +102537,7 @@ _02176d20: .word data_027e0618 _02176d24: .word data_027e0c54 _02176d28: .word 0xffffec7a _02176d2c: .word data_027e0c38 -_02176d30: .word data_027e0fe4 +_02176d30: .word gActorManager _02176d34: .word 0x66666667 _02176d38: .word data_027e05f4 _02176d3c: .word data_ov15_02186d60 @@ -103740,7 +103740,7 @@ _02177c84: moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x44 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x44 str r1, [sp, #0x60] @@ -103771,7 +103771,7 @@ _02177c84: addeq sp, sp, #0x7c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02177f20 ; =data_027e0fe4 + ldr r0, _02177f20 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -103792,7 +103792,7 @@ _02177c84: addeq sp, sp, #0x7c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02177f20 ; =data_027e0fe4 + ldr r0, _02177f20 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -103813,7 +103813,7 @@ _02177c84: addeq sp, sp, #0x7c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02177f20 ; =data_027e0fe4 + ldr r0, _02177f20 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -103836,7 +103836,7 @@ _02177c84: addeq sp, sp, #0x7c moveq r0, #0 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02177f20 ; =data_027e0fe4 + ldr r0, _02177f20 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -103860,7 +103860,7 @@ _02177f10: .word data_027e103c _02177f14: .word data_ov15_02186dc4 _02177f18: .word data_027e0fe8 _02177f1c: .word 0x474f3245 -_02177f20: .word data_027e0fe4 +_02177f20: .word gActorManager arm_func_end func_ov15_02177964 .global func_ov15_02177f24 @@ -103930,18 +103930,18 @@ _02177fa0: str r2, [sp, #8] str r1, [sp, #0xc] bl func_ov15_02177f24 - ldr r0, _0217812c ; =data_027e0fe4 + ldr r0, _0217812c ; =gActorManager add r1, sp, #0 ldr r0, [r0] add r2, sp, #4 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 beq _0217804c ldr r0, [sp, #0xc] mov r4, #0 cmp r0, #0 ble _0217804c - ldr r8, _0217812c ; =data_027e0fe4 + ldr r8, _0217812c ; =gActorManager mov r5, r4 mov r9, r4 _02178020: @@ -103958,7 +103958,7 @@ _02178020: blt _02178020 _0217804c: mov r4, #0 - ldr r0, _02178130 ; =data_027e0d0c + ldr r0, _02178130 ; =gVec3p_ZERO str r4, [r7, #0x44c] ldr r1, [r0] ldr r2, _02178134 ; =0x00000ccd @@ -104018,8 +104018,8 @@ _02178114: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02178128: .word data_027e10a4 -_0217812c: .word data_027e0fe4 -_02178130: .word data_027e0d0c +_0217812c: .word gActorManager +_02178130: .word gVec3p_ZERO _02178134: .word 0x00000ccd _02178138: .word data_027e103c _0217813c: .word gAdventureFlags @@ -104096,7 +104096,7 @@ _02178204: ldr r3, [r4, #0x50] mov r2, r1 str r3, [r4, #0x5c] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xb4] @@ -104162,7 +104162,7 @@ _021782bc: add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02178398 ; =data_027e0f94 + ldr r0, _02178398 ; =gPlayerPos ldr r1, [sp, #0x14] ldr r3, [r0, #4] add r2, r1, #0x3000 @@ -104196,7 +104196,7 @@ _021782bc: .align 2, 0 _02178390: .word gAdventureFlags _02178394: .word data_027e077c -_02178398: .word data_027e0f94 +_02178398: .word gPlayerPos _0217839c: .word data_027e0f6c arm_func_end func_ov15_02178258 @@ -104223,7 +104223,7 @@ func_ov15_021783a0: ; 0x021783a0 strb r0, [r4, #0x471] ldr r0, _02178480 ; =data_027e0c68 ldr r1, _02178484 ; =0x00050025 - ldr r2, _02178488 ; =data_027e0f94 + ldr r2, _02178488 ; =gPlayerPos mov r3, #0 bl func_02036da8 mov r1, #0 @@ -104263,7 +104263,7 @@ _02178408: .align 2, 0 _02178480: .word data_027e0c68 _02178484: .word 0x00050025 -_02178488: .word data_027e0f94 +_02178488: .word gPlayerPos _0217848c: .word data_ov15_02186f48 _02178490: .word data_027e10a4 arm_func_end func_ov15_021783a0 @@ -104320,7 +104320,7 @@ _021784d0: add r0, sp, #0x50 add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _02178994 ; =data_ov15_02186d80 add r0, sp, #0x44 ldr r3, [r1, #0x1a8] @@ -104334,7 +104334,7 @@ _021784d0: add r0, sp, #0x44 add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _02178994 ; =data_ov15_02186d80 add r0, sp, #0x38 ldr r2, [r1, #0x1b4] @@ -104348,7 +104348,7 @@ _021784d0: add r0, sp, #0x38 add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _02178994 ; =data_ov15_02186d80 add r0, sp, #0x2c ldr r2, [r1, #0x1c0] @@ -104362,7 +104362,7 @@ _021784d0: add r0, sp, #0x2c add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -104900,7 +104900,7 @@ func_ov15_02178d74: ; 0x02178d74 ldmeqia sp!, {r4, r5, r6, pc} add r0, r4, #0x100 ldrh r1, [r0, #0x68] - ldr r3, _02178fe8 ; =data_02050f54 + ldr r3, _02178fe8 ; =gSinCosTable add r0, sp, #0x4c mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -105045,7 +105045,7 @@ _02178f18: add sp, sp, #0x70 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02178fe8: .word data_02050f54 +_02178fe8: .word gSinCosTable _02178fec: .word 0x00001666 _02178ff0: .word data_027e0e58 _02178ff4: .word 0xffffe99a @@ -105156,13 +105156,13 @@ _0217916c: add r9, r9, #1 cmp r9, #0xf blt _02179104 - ldr r0, _02179340 ; =data_027e0d0c + ldr r0, _02179340 ; =gVec3p_ZERO add r4, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} add r5, r10, #0x400 ldrh r0, [r5, #0x5a] - ldr r3, _02179344 ; =data_02050f54 + ldr r3, _02179344 ; =gSinCosTable mov r2, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -105271,8 +105271,8 @@ _02179330: .word data_027e103c _02179334: .word data_02063e4c _02179338: .word data_ov15_02186e60 _0217933c: .word data_ov15_02186e9c -_02179340: .word data_027e0d0c -_02179344: .word data_02050f54 +_02179340: .word gVec3p_ZERO +_02179344: .word gSinCosTable _02179348: .word data_02051f54 arm_func_end func_ov15_02178ff8 @@ -105318,7 +105318,7 @@ func_ov15_0217934c: ; 0x0217934c stmia r9, {r0, r1, r2} ldrh r0, [r4, #0x78] ldr r1, [sp, #0xa4] - ldr r2, _021796a8 ; =data_02050f54 + ldr r2, _021796a8 ; =gSinCosTable add r10, r1, #0x4800 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -105360,7 +105360,7 @@ func_ov15_0217934c: ; 0x0217934c orr r3, r3, r2, lsl #20 add r2, r5, r3 str r2, [sp, #0xa8] - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, [sp, #0xb8] add r1, r1, #0x2000 cmp r0, r1 @@ -105451,27 +105451,27 @@ func_ov15_0217934c: ; 0x0217934c add r2, sp, #0x40 str r3, [sp, #0x98] str r3, [sp, #0xc0] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x88 add r1, sp, #0xbc add r2, sp, #0x34 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x7c add r1, sp, #0xbc add r2, sp, #0x28 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x40 add r1, sp, #0x34 add r2, sp, #0x1c - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0x34 add r1, sp, #0x28 add r2, sp, #0x10 - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0x28 add r1, sp, #0x40 add r2, sp, #4 - bl func_01ff9c68 + bl Vec3p_Cross ldr r1, [sp, #0x20] cmp r1, #0 ldrlt r0, [sp, #0x14] @@ -105496,7 +105496,7 @@ _0217968c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _021796a4: .word 0x434e424c -_021796a8: .word data_02050f54 +_021796a8: .word gSinCosTable _021796ac: .word 0xffffeccd _021796b0: .word data_ov15_0218ddc4 arm_func_end func_ov15_0217934c @@ -105506,7 +105506,7 @@ _021796b0: .word data_ov15_0218ddc4 func_ov15_021796b4: ; 0x021796b4 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0xc - ldr r1, _021797c0 ; =data_027e0fac + ldr r1, _021797c0 ; =gPlayerAngle mov r4, r0 ldrsh r3, [r1] add r1, r4, #0x400 @@ -105554,7 +105554,7 @@ func_ov15_021796b4: ; 0x021796b4 cmp r0, #1 addhi sp, sp, #0xc ldmhiia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r1, _021797cc ; =data_027e0f94 + ldr r1, _021797cc ; =gPlayerPos add r0, r4, #0x374 ldr r3, [r1] ldr r2, [r1, #4] @@ -105572,10 +105572,10 @@ func_ov15_021796b4: ; 0x021796b4 add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_021797c0: .word data_027e0fac +_021797c0: .word gPlayerAngle _021797c4: .word data_027e0764 _021797c8: .word 0x00004001 -_021797cc: .word data_027e0f94 +_021797cc: .word gPlayerPos arm_func_end func_ov15_021796b4 .global func_ov15_021797d0 @@ -105789,7 +105789,7 @@ _02179ac4: .word data_ov15_0218ddfc func_ov15_02179ac8: ; 0x02179ac8 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x14 - ldr r3, _02179d54 ; =data_027e0fac + ldr r3, _02179d54 ; =gPlayerAngle mov r6, r0 add r2, r6, #0x400 ldrsh r4, [r3] @@ -105854,7 +105854,7 @@ _02179bc4: add r0, r6, #0x400 strh r4, [r0, #0x58] ldrsh r7, [r0, #0x5a] - ldr r1, _02179d5c ; =data_02050f54 + ldr r1, _02179d5c ; =gSinCosTable add r3, r6, #0x3c mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 @@ -105896,12 +105896,12 @@ _02179bc4: mov r4, r0, lsl #0x1 moveq r1, #0 strb r1, [r5, #0x400] - ldr r0, _02179d60 ; =data_027e0f94 + ldr r0, _02179d60 ; =gPlayerPos add r5, sp, #8 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} add r3, r4, #1 - ldr r2, _02179d5c ; =data_02050f54 + ldr r2, _02179d5c ; =gSinCosTable mov r1, r4, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh r1, [r2, r1] @@ -105944,7 +105944,7 @@ _02179bc4: add r0, r3, r1 bl func_01ff9958 str r0, [r6, #0x44c] - ldr r1, _02179d54 ; =data_027e0fac + ldr r1, _02179d54 ; =gPlayerAngle add r0, r6, #0x78 ldrsh r1, [r1] mov r2, #0xb6 @@ -105952,10 +105952,10 @@ _02179bc4: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_02179d54: .word data_027e0fac +_02179d54: .word gPlayerAngle _02179d58: .word 0x0000019a -_02179d5c: .word data_02050f54 -_02179d60: .word data_027e0f94 +_02179d5c: .word gSinCosTable +_02179d60: .word gPlayerPos arm_func_end func_ov15_02179ac8 .global func_ov15_02179d64 @@ -106376,7 +106376,7 @@ _0217a310: bl func_ov15_02177f5c ldr r0, _0217a558 ; =data_027e0c68 ldr r1, _0217a55c ; =0x0005003d - ldr r2, _0217a560 ; =data_027e0f94 + ldr r2, _0217a560 ; =gPlayerPos mov r3, #0 bl func_02036da8 add r0, r7, #0x400 @@ -106395,7 +106395,7 @@ _0217a370: ldr r1, _0217a564 ; =data_ov15_02186e1c ldr r0, _0217a558 ; =data_027e0c68 ldr r1, [r1, r2, lsl #2] - ldr r2, _0217a560 ; =data_027e0f94 + ldr r2, _0217a560 ; =gPlayerPos mov r3, #0 bl func_02036da8 ldrb r0, [r7, #0x46c] @@ -106517,7 +106517,7 @@ _0217a550: .word gMapManager _0217a554: .word data_027e0764 _0217a558: .word data_027e0c68 _0217a55c: .word 0x0005003d -_0217a560: .word data_027e0f94 +_0217a560: .word gPlayerPos _0217a564: .word data_ov15_02186e1c arm_func_end func_ov15_0217a0b0 @@ -106554,7 +106554,7 @@ func_ov15_0217a568: ; 0x0217a568 ldr r1, _0217a600 ; =data_ov15_02186e4c ldr r0, _0217a604 ; =data_027e0c68 ldr r1, [r1, r2, lsl #2] - ldr r2, _0217a608 ; =data_027e0f94 + ldr r2, _0217a608 ; =gPlayerPos str r5, [ip, #4] bl func_02036da8 add r0, r4, #0x400 @@ -106565,7 +106565,7 @@ func_ov15_0217a568: ; 0x0217a568 _0217a5fc: .word data_027e0764 _0217a600: .word data_ov15_02186e4c _0217a604: .word data_027e0c68 -_0217a608: .word data_027e0f94 +_0217a608: .word gPlayerPos arm_func_end func_ov15_0217a568 .global func_ov15_0217a60c @@ -106618,7 +106618,7 @@ func_ov15_0217a680: ; 0x0217a680 bl func_ov15_0215cf38 add r2, r4, #0x400 ldrsh r1, [r2, #0x54] - ldr lr, _0217a720 ; =data_02050f54 + ldr lr, _0217a720 ; =gSinCosTable ldr r3, _0217a724 ; =0x00000548 add r1, r1, #0x354 add r1, r1, #0x800 @@ -106651,7 +106651,7 @@ func_ov15_0217a680: ; 0x0217a680 bl func_ov15_0217d5f4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217a720: .word data_02050f54 +_0217a720: .word gSinCosTable _0217a724: .word 0x00000548 _0217a728: .word 0x0000259a _0217a72c: .word 0x0000010a @@ -106667,7 +106667,7 @@ func_ov15_0217a734: ; 0x0217a734 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _0217a790 ; =data_ov15_0218ddcc ldr r2, _0217a794 ; =data_ov15_0218ddc8 add r0, r4, #0x48 @@ -106703,7 +106703,7 @@ func_ov15_0217a79c: ; 0x0217a79c add r0, r4, #0x100 str r1, [sp, #0x28] ldrh r1, [r0, #0x68] - ldr r3, _0217a848 ; =data_02050f54 + ldr r3, _0217a848 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -106727,7 +106727,7 @@ func_ov15_0217a79c: ; 0x0217a79c add r0, sp, #0x24 add r1, r4, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217a84c ; =data_027e0e58 add r1, r4, #0x3b4 ldr r0, [r0] @@ -106737,7 +106737,7 @@ func_ov15_0217a79c: ; 0x0217a79c ldmia sp!, {r4, pc} .align 2, 0 _0217a844: .word 0x00001ccd -_0217a848: .word data_02050f54 +_0217a848: .word gSinCosTable _0217a84c: .word data_027e0e58 arm_func_end func_ov15_0217a79c @@ -106874,7 +106874,7 @@ func_ov15_0217aa30: ; 0x0217aa30 sub sp, sp, #0xc mov r4, r0 ldr r0, [r4, #0x434] - ldr r1, _0217ab54 ; =data_027e0f94 + ldr r1, _0217ab54 ; =gPlayerPos cmp r0, #0 subne r0, r0, #1 strne r0, [r4, #0x434] @@ -106950,7 +106950,7 @@ _0217ab44: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217ab54: .word data_027e0f94 +_0217ab54: .word gPlayerPos _0217ab58: .word data_ov15_02190458 _0217ab5c: .word data_ov00_020eec68 arm_func_end func_ov15_0217aa30 @@ -107285,7 +107285,7 @@ func_ov15_0217af0c: ; 0x0217af0c cmp r0, #0 beq _0217afc0 add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -107318,7 +107318,7 @@ func_ov15_0217af0c: ; 0x0217af0c addeq sp, sp, #0x38 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _0217b100 ; =data_027e0fe4 + ldr r0, _0217b100 ; =gActorManager mov r1, r5 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -107353,7 +107353,7 @@ _0217afc0: sub ip, r1, #1 str r0, [r4, #0x2ac] ldr r2, [r4, #0x4c] - ldr r0, _0217b10c ; =data_027e0d0c + ldr r0, _0217b10c ; =gVec3p_ZERO str r2, [r4, #0x2b0] ldr r3, [r4, #0x50] mov r2, #2 @@ -107375,7 +107375,7 @@ _0217afc0: mov r0, r4 mov r1, #1 bl func_ov15_0217b11c - ldr r0, _0217b10c ; =data_027e0d0c + ldr r0, _0217b10c ; =gVec3p_ZERO ldr r1, _0217b110 ; =0x00000666 b _0217b0b4 _0217b098: @@ -107384,7 +107384,7 @@ _0217b098: add r0, r4, #0x158 mov r1, #0 bl func_ov00_020c5d74 - ldr r0, _0217b10c ; =data_027e0d0c + ldr r0, _0217b10c ; =gVec3p_ZERO ldr r1, _0217b114 ; =0x000004cd _0217b0b4: ldr r2, [r0] @@ -107407,10 +107407,10 @@ _0217b0b4: .align 2, 0 _0217b0f8: .word data_027e0fe8 _0217b0fc: .word 0x474f3245 -_0217b100: .word data_027e0fe4 +_0217b100: .word gActorManager _0217b104: .word data_027e0764 _0217b108: .word 0x7ffff000 -_0217b10c: .word data_027e0d0c +_0217b10c: .word gVec3p_ZERO _0217b110: .word 0x00000666 _0217b114: .word 0x000004cd _0217b118: .word data_027e0d38 @@ -107693,9 +107693,9 @@ _0217b4f4: add r0, r5, #0x2ac add r1, r5, #0x48 add r2, r5, #0x7c - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r1, [r5, #0x78] - ldr r3, _0217b7b8 ; =data_02050f54 + ldr r3, _0217b7b8 ; =gSinCosTable add r0, sp, #8 rsb r1, r1, #0 mov r1, r1, lsl #0x10 @@ -107879,7 +107879,7 @@ _0217b798: .align 2, 0 _0217b7b0: .word 0x000004cd _0217b7b4: .word data_027e0d38 -_0217b7b8: .word data_02050f54 +_0217b7b8: .word gSinCosTable _0217b7bc: .word data_027e0e58 _0217b7c0: .word 0x00001001 _0217b7c4: .word 0x00000666 @@ -107908,7 +107908,7 @@ func_ov15_0217b7d8: ; 0x0217b7d8 ldr r3, [r4, #0x50] mov r2, r1 str r3, [r4, #0x5c] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r4 bl func_ov15_0217b3cc ldmia sp!, {r4, pc} @@ -108020,7 +108020,7 @@ _0217b91c: str r5, [r4, #0x50] mov r5, r1, lsl #0x1 add r1, r1, #1 - ldr r3, _0217bac8 ; =data_02050f54 + ldr r3, _0217bac8 ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] @@ -108029,7 +108029,7 @@ _0217b91c: mov r1, r0, lsl #0x1 mov r5, r1, lsl #0x1 add r1, r1, #1 - ldr r3, _0217bac8 ; =data_02050f54 + ldr r3, _0217bac8 ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] @@ -108039,7 +108039,7 @@ _0217b91c: mov r1, r0, lsl #0x1 mov r5, r1, lsl #0x1 add r1, r1, #1 - ldr r3, _0217bac8 ; =data_02050f54 + ldr r3, _0217bac8 ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] @@ -108100,7 +108100,7 @@ _0217bab8: .word data_ov15_02186f60 _0217babc: .word data_ov15_02186f78 _0217bac0: .word data_ov15_02186f90 _0217bac4: .word data_ov15_0218df84 -_0217bac8: .word data_02050f54 +_0217bac8: .word gSinCosTable arm_func_end func_ov15_0217b84c .global func_ov15_0217bacc @@ -108216,7 +108216,7 @@ func_ov15_0217bc00: ; 0x0217bc00 sub sp, sp, #0x68 mov r6, r0 add r0, sp, #0x3c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x3c str r1, [sp, #0x58] @@ -108256,7 +108256,7 @@ _0217bc8c: add r1, sp, #0x24 add r2, sp, #0x30 add r0, r6, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add mvn r0, #0 add r1, sp, #4 str r0, [sp, #4] @@ -108268,14 +108268,14 @@ _0217bc8c: add r2, sp, #0x30 add r3, sp, #0x3c bl func_ov00_020c4048 - ldr r0, _0217be28 ; =data_027e0fe4 + ldr r0, _0217be28 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r4, r0 addeq sp, sp, #0x68 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _0217be2c ; =data_027e0d0c + ldr r0, _0217be2c ; =gVec3p_ZERO add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -108303,7 +108303,7 @@ _0217bd44: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0217be30 ; =data_02050f54 + ldr r1, _0217be30 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh ip, [r1, r2] @@ -108349,7 +108349,7 @@ _0217bdec: str r0, [r4, #0x68] ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] _0217be14: add sp, sp, #0x68 @@ -108358,9 +108358,9 @@ _0217be14: _0217be1c: .word 0x0000099a _0217be20: .word data_027e0fe8 _0217be24: .word 0x474f3242 -_0217be28: .word data_027e0fe4 -_0217be2c: .word data_027e0d0c -_0217be30: .word data_02050f54 +_0217be28: .word gActorManager +_0217be2c: .word gVec3p_ZERO +_0217be30: .word gSinCosTable arm_func_end func_ov15_0217bc00 .global func_ov15_0217be34 @@ -108705,7 +108705,7 @@ func_ov15_0217c228: ; 0x0217c228 bl func_ov00_020c5d74 mvn r0, #0 str r0, [r8, #0x98] - ldr r1, _0217c660 ; =data_027e0d0c + ldr r1, _0217c660 ; =gVec3p_ZERO ldrh r2, [r8, #0x20] ldr r0, [r1] ldr r5, _0217c664 ; =data_ov15_02187038 @@ -108774,7 +108774,7 @@ _0217c344: bl _ZN5Actor10GetAngleToEP5Vec3p strh r0, [r8, #0x78] ldrh r0, [r8, #0x78] - ldr r3, _0217c668 ; =data_02050f54 + ldr r3, _0217c668 ; =gSinCosTable ldr r1, [sp, #0xc] mov r0, r0, asr #0x4 mov r4, r0, lsl #0x1 @@ -108907,7 +108907,7 @@ _0217c530: blt _0217c530 b _0217c63c _0217c554: - ldr r0, _0217c670 ; =data_027e0fac + ldr r0, _0217c670 ; =gPlayerAngle add r1, r8, #0x200 ldrsh r2, [r0] mov r0, r8 @@ -108942,7 +108942,7 @@ _0217c554: bl Divide str r0, [r8, #0x64] _0217c5dc: - ldr r0, _0217c678 ; =data_027e0f94 + ldr r0, _0217c678 ; =gPlayerPos ldr r1, [r8, #0x64] ldr r0, [r0, #4] ldr r2, [r8, #0x4c] @@ -108978,13 +108978,13 @@ _0217c63c: add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0217c660: .word data_027e0d0c +_0217c660: .word gVec3p_ZERO _0217c664: .word data_ov15_02187038 -_0217c668: .word data_02050f54 +_0217c668: .word gSinCosTable _0217c66c: .word data_ov15_02187050 -_0217c670: .word data_027e0fac +_0217c670: .word gPlayerAngle _0217c674: .word 0x00000666 -_0217c678: .word data_027e0f94 +_0217c678: .word gPlayerPos arm_func_end func_ov15_0217c228 .global func_ov15_0217c67c @@ -109044,9 +109044,9 @@ _0217c738: bl _ZN5Actor18CollidesWithPlayerEj cmp r0, #0 beq _0217c7a4 - ldr r1, _0217c7f4 ; =data_027e0f94 + ldr r1, _0217c7f4 ; =gPlayerPos add r0, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, #0xa mul r1, r0, r1 add r0, r1, #0x800 @@ -109070,13 +109070,13 @@ _0217c7a4: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r5 bl _ZN5Actor12ApplyGravityEv add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 bl func_ov15_0217d550 _0217c7d4: @@ -109089,7 +109089,7 @@ _0217c7d4: .align 2, 0 _0217c7ec: .word gMapManager _0217c7f0: .word data_ov15_02187018 -_0217c7f4: .word data_027e0f94 +_0217c7f4: .word gPlayerPos arm_func_end func_ov15_0217c67c .global func_ov15_0217c7f8 @@ -109126,7 +109126,7 @@ func_ov15_0217c82c: ; 0x0217c82c b _0217c920 _0217c854: add r0, sp, #0x14 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x14 str r1, [sp, #0x30] @@ -109262,11 +109262,11 @@ func_ov15_0217ca04: ; 0x0217ca04 str r3, [r4, #0x4c] bl Approach_thunk add r2, r4, #0x200 - ldr r0, _0217cea4 ; =data_027e0fac + ldr r0, _0217cea4 ; =gPlayerAngle ldrh r3, [r2, #0xe6] ldrsh r5, [r0] ldrsh r6, [r2, #0xe4] - ldr r0, _0217cea8 ; =data_027e0f94 + ldr r0, _0217cea8 ; =gPlayerPos mov r1, r5, lsl #0x10 rsb r1, r3, r1, lsr #16 mov r1, r1, lsl #0x10 @@ -109278,10 +109278,10 @@ func_ov15_0217ca04: ; 0x0217ca04 sub r3, r3, r1 add r1, r4, #0x2d0 str r3, [r4, #0x2e0] - bl func_01ff9bc4 + bl Vec3p_Add add r2, r4, #0x200 ldrsh r0, [r2, #0xe4] - ldr r8, _0217ceac ; =data_02050f54 + ldr r8, _0217ceac ; =gSinCosTable ldr r3, [r4, #0x2e0] add r0, r5, r0 mov r0, r0, lsl #0x10 @@ -109338,7 +109338,7 @@ func_ov15_0217ca04: ; 0x0217ca04 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add ldr r5, _0217ceb4 ; =0xfffff8cd ldr r3, _0217ceb8 ; =0x00000d71 ldr r2, _0217cebc ; =0xfffffb33 @@ -109459,7 +109459,7 @@ _0217cc78: cmp r0, #2 bne _0217cde4 ldr r3, _0217ced4 ; =data_027e0764 - ldr r6, _0217ceac ; =data_02050f54 + ldr r6, _0217ceac ; =gSinCosTable ldr r1, [r3] ldmib r3, {r0, r2} umull r7, r5, r2, r1 @@ -109503,7 +109503,7 @@ _0217cc78: str r1, [r4, #0x2d8] b _0217ce00 _0217cde4: - ldr r0, _0217ced8 ; =data_027e0d0c + ldr r0, _0217ced8 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x2d0] ldr r1, [r0, #4] @@ -109513,12 +109513,12 @@ _0217cde4: _0217ce00: mov r3, #0 str r3, [r4, #0x6c] - ldr r0, _0217cea8 ; =data_027e0f94 + ldr r0, _0217cea8 ; =gPlayerPos add r2, sp, #0x20 add r1, r4, #0x2d0 str r3, [r4, #0x64] - bl func_01ff9bc4 - ldr r0, _0217cea4 ; =data_027e0fac + bl Vec3p_Add + ldr r0, _0217cea4 ; =gPlayerAngle add r2, r4, #0x200 ldrsh r3, [r0] add r1, sp, #0x20 @@ -109553,9 +109553,9 @@ _0217ce00: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _0217cea0: .word 0x0000019a -_0217cea4: .word data_027e0fac -_0217cea8: .word data_027e0f94 -_0217ceac: .word data_02050f54 +_0217cea4: .word gPlayerAngle +_0217cea8: .word gPlayerPos +_0217ceac: .word gSinCosTable _0217ceb0: .word 0x000004cd _0217ceb4: .word 0xfffff8cd _0217ceb8: .word 0x00000d71 @@ -109566,7 +109566,7 @@ _0217cec8: .word gMapManager _0217cecc: .word data_027e0ffc _0217ced0: .word 0x00000666 _0217ced4: .word data_027e0764 -_0217ced8: .word data_027e0d0c +_0217ced8: .word gVec3p_ZERO arm_func_end func_ov15_0217ca04 .global func_ov15_0217cedc @@ -109662,7 +109662,7 @@ _0217d01c: .word data_ov15_02187048 func_ov15_0217d020: ; 0x0217d020 stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x20 - ldr r2, _0217d204 ; =data_027e0fac + ldr r2, _0217d204 ; =gPlayerAngle mov r5, r0 add ip, r5, #0x200 ldrsh r3, [r2] @@ -109674,7 +109674,7 @@ func_ov15_0217d020: ; 0x0217d020 sub r0, r4, r0, asr #16 strh r0, [ip, #0xe4] ldr r2, [r5, #0x2e0] - ldr r0, _0217d208 ; =data_027e0f94 + ldr r0, _0217d208 ; =gPlayerPos sub r2, r2, #0xa4 add r6, sp, #0x14 str r2, [r5, #0x2e0] @@ -109682,7 +109682,7 @@ func_ov15_0217d020: ; 0x0217d020 ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldrsh r0, [ip, #0xe4] - ldr r2, _0217d20c ; =data_02050f54 + ldr r2, _0217d20c ; =gSinCosTable ldr r1, [r5, #0x2e0] add r0, r3, r0 mov r0, r0, lsl #0x10 @@ -109728,7 +109728,7 @@ func_ov15_0217d020: ; 0x0217d020 mov r1, #0xa4 bl Divide smull r2, r1, r0, r0 - ldr r0, _0217d208 ; =data_027e0f94 + ldr r0, _0217d208 ; =gPlayerPos adds r3, r2, #0x800 ldr r0, [r0, #4] adc r2, r1, #0 @@ -109783,9 +109783,9 @@ _0217d16c: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0217d204: .word data_027e0fac -_0217d208: .word data_027e0f94 -_0217d20c: .word data_02050f54 +_0217d204: .word gPlayerAngle +_0217d208: .word gPlayerPos +_0217d20c: .word gSinCosTable _0217d210: .word data_027e0e58 _0217d214: .word data_027e0ffc _0217d218: .word 0x000001b1 @@ -109880,7 +109880,7 @@ func_ov15_0217d288: ; 0x0217d288 cmp ip, #0x14000 bge _0217d3a0 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -109978,7 +109978,7 @@ _0217d3e8: add r1, sp, #8 str r4, [sp] bl func_ov15_0215cc30 - ldr r0, _0217d54c ; =data_027e0f94 + ldr r0, _0217d54c ; =gPlayerPos ldr r2, [sp, #0x10] ldr r0, [r0, #4] ldr r1, [sp, #0x18] @@ -109999,7 +109999,7 @@ _0217d4fc: movlt r4, r0 blt _0217d3e8 _0217d50c: - ldr r1, _0217d54c ; =data_027e0f94 + ldr r1, _0217d54c ; =gPlayerPos ldr r3, [sp, #4] ldr r1, [r1, #4] add r2, sp, #0x28 @@ -110016,7 +110016,7 @@ _0217d53c: .word data_ov15_0218e198 _0217d540: .word data_ov15_0218e19c _0217d544: .word data_ov15_0218e1a0 _0217d548: .word data_ov15_0218e1a4 -_0217d54c: .word data_027e0f94 +_0217d54c: .word gPlayerPos arm_func_end func_ov15_0217d3bc .global func_ov15_0217d550 @@ -110301,7 +110301,7 @@ func_ov15_0217d86c: ; 0x0217d86c addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] - ldr r3, _0217d8d8 ; =data_02050f54 + ldr r3, _0217d8d8 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -110320,7 +110320,7 @@ func_ov15_0217d86c: ; 0x0217d86c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217d8d8: .word data_02050f54 +_0217d8d8: .word gSinCosTable arm_func_end func_ov15_0217d86c .global func_ov15_0217d8dc @@ -110613,7 +110613,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] - ldr r3, _0217dd08 ; =data_02050f54 + ldr r3, _0217dd08 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -110643,7 +110643,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c add r0, sp, #0xc add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x15c ldr r3, [r0] add r1, sp, #0x18 @@ -110653,7 +110653,7 @@ func_ov15_0217dc4c: ; 0x0217dc4c add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217dd08: .word data_02050f54 +_0217dd08: .word gSinCosTable _0217dd0c: .word gMapManager arm_func_end func_ov15_0217dc4c @@ -113207,7 +113207,7 @@ func_ov15_0217fe90: ; 0x0217fe90 mov r10, #0 str r10, [r4, #0x4c] ldr r1, [r4, #0x48] - ldr r0, _02180330 ; =data_027e0d0c + ldr r0, _02180330 ; =gVec3p_ZERO str r1, [r4, #0x54] ldr r1, [r4, #0x4c] mov r9, #0x6000 @@ -113448,7 +113448,7 @@ _02180200: mov r1, #0 add r0, sp, #0x18 strb r1, [r4, #0x39e] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -113523,7 +113523,7 @@ _02180324: add sp, sp, #0x50 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02180330: .word data_027e0d0c +_02180330: .word gVec3p_ZERO _02180334: .word gAdventureFlags _02180338: .word data_027e0dcc _0218033c: .word 0xcccccccd @@ -113539,7 +113539,7 @@ _02180350: .word 0x0000ffff func_ov15_02180354: ; 0x02180354 stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r1, _021803a4 ; =data_027e0fe4 + ldr r1, _021803a4 ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _021803a8 ; =0x53424f53 @@ -113550,7 +113550,7 @@ func_ov15_02180354: ; 0x02180354 cmp r1, r0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} - ldr r0, _021803a4 ; =data_027e0fe4 + ldr r0, _021803a4 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -113558,7 +113558,7 @@ func_ov15_02180354: ; 0x02180354 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_021803a4: .word data_027e0fe4 +_021803a4: .word gActorManager _021803a8: .word 0x53424f53 arm_func_end func_ov15_02180354 @@ -113589,7 +113589,7 @@ _021803d0: ; jump table b _02180a1c ; case 11 b _02180a3c ; case 12 _02180404: - ldr r0, _02180acc ; =data_027e0d0c + ldr r0, _02180acc ; =gVec3p_ZERO ldr r1, [r0] str r1, [r5, #0x60] ldr r1, [r0, #4] @@ -113617,7 +113617,7 @@ _02180424: mov r1, #0 strh r1, [r0, #0x9a] mov r1, #1 - ldr r0, _02180ad4 ; =data_027e0f94 + ldr r0, _02180ad4 ; =gPlayerPos strb r1, [r5, #0x3a1] ldr r1, [r0, #4] ldr r0, _02180ad8 ; =data_027e0f64 @@ -113695,7 +113695,7 @@ _02180424: ldr r1, [r2, #0x268] str r1, [r5, #0x32c] bl func_ov00_0209a4f4 - ldr r1, _02180ad4 ; =data_027e0f94 + ldr r1, _02180ad4 ; =gPlayerPos mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -113759,7 +113759,7 @@ _0218064c: str r2, [r5, #0x37c] strb r2, [r5, #0x39e] add r0, r5, #0x300 - ldr r1, _02180ad4 ; =data_027e0f94 + ldr r1, _02180ad4 ; =gPlayerPos strh r2, [r0, #0x9a] ldr r1, [r1, #4] mov r0, #1 @@ -113788,7 +113788,7 @@ _021806b8: cmp r0, #0 beq _02180a14 mov r2, #0 - ldr r1, _02180ad4 ; =data_027e0f94 + ldr r1, _02180ad4 ; =gPlayerPos strb r2, [r5, #0x39e] add r0, r5, #0x300 strh r2, [r0, #0x9a] @@ -113802,7 +113802,7 @@ _021806b8: ldr r1, [r1, #8] str r1, [r5, #0x50] bl func_ov00_0209a4f4 - ldr r1, _02180ad4 ; =data_027e0f94 + ldr r1, _02180ad4 ; =gPlayerPos mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -113996,14 +113996,14 @@ _02180a1c: bl func_02036ce4 b _02180ab8 _02180a3c: - ldr r1, _02180aec ; =data_027e0fac + ldr r1, _02180aec ; =gPlayerAngle str r0, [r5, #0x388] ldrsh r2, [r1] add r1, r5, #0x300 add r0, sp, #0x3c strh r2, [r1, #0x98] bl func_ov00_0209a4f4 - ldr r1, _02180ad4 ; =data_027e0f94 + ldr r1, _02180ad4 ; =gPlayerPos mvn r9, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -114034,15 +114034,15 @@ _02180ab8: add sp, sp, #0x31c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02180acc: .word data_027e0d0c +_02180acc: .word gVec3p_ZERO _02180ad0: .word data_027e10a4 -_02180ad4: .word data_027e0f94 +_02180ad4: .word gPlayerPos _02180ad8: .word data_027e0f64 _02180adc: .word gAdventureFlags _02180ae0: .word data_027e0764 _02180ae4: .word data_027e0c68 _02180ae8: .word 0x00050048 -_02180aec: .word data_027e0fac +_02180aec: .word gPlayerAngle arm_func_end func_ov15_021803ac .global func_ov15_02180af0 @@ -114315,24 +114315,24 @@ func_ov15_02180e44: ; 0x02180e44 mov r0, r4 bl func_ov15_02182fc0 _02180e68: - ldr r0, _02181360 ; =data_027e0f94 + ldr r0, _02181360 ; =gPlayerPos add r3, sp, #0x58 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #0x4c mov r0, r3 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x4c str r1, [sp, #0x50] - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 - ldr r2, _02181364 ; =data_027e0fac + ldr r2, _02181364 ; =gPlayerAngle ldr r0, [sp, #0x4c] ldr r1, [sp, #0x54] ldrsh r6, [r2] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 cmp r5, #0x3000 mov r7, r0, asr #0x10 @@ -114367,7 +114367,7 @@ _02180f1c: mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 - ldr r2, _02181370 ; =data_02050f54 + ldr r2, _02181370 ; =gSinCosTable mov r3, r3, lsl #0x1 ldrsh r3, [r2, r3] mov r0, r0, lsl #0x1 @@ -114482,13 +114482,13 @@ _021810e4: add r0, sp, #0x58 add r1, sp, #0x40 add r2, sp, #0x20 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r7, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 - ldr r2, _02181370 ; =data_02050f54 + ldr r2, _02181370 ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r6, [r2, r0] ldr r0, _02181384 ; =0x00000133 @@ -114573,7 +114573,7 @@ _021811d8: mov r0, #0x24 mla r0, r1, r0, r2 add r0, r0, #4 - ldr r3, _02181360 ; =data_027e0f94 + ldr r3, _02181360 ; =gPlayerPos add ip, sp, #0x14 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} @@ -114582,14 +114582,14 @@ _021811d8: str r1, [sp, #0x18] str r0, [r4, #0x330] ldr r0, [sp, #0x18] - ldr r1, _02181364 ; =data_027e0fac + ldr r1, _02181364 ; =gPlayerAngle str r0, [r4, #0x334] ldr r2, [sp, #0x1c] add r0, r4, #0x300 str r2, [r4, #0x338] ldrsh r2, [r1] mov r3, #0 - ldr r5, _02181394 ; =data_027e0f90 + ldr r5, _02181394 ; =gPlayer strh r2, [r0, #0x98] ldr r2, _02181380 ; =0x00000aab str r3, [r4, #0x388] @@ -114643,11 +114643,11 @@ _02181338: add sp, sp, #0x114 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02181360: .word data_027e0f94 -_02181364: .word data_027e0fac +_02181360: .word gPlayerPos +_02181364: .word gPlayerAngle _02181368: .word 0x0000019a _0218136c: .word data_ov15_0218e8c8 -_02181370: .word data_02050f54 +_02181370: .word gSinCosTable _02181374: .word data_ov00_020eec9c _02181378: .word 0x0000025d _0218137c: .word gAdventureFlags @@ -114656,7 +114656,7 @@ _02181384: .word 0x00000133 _02181388: .word data_027e10a4 _0218138c: .word data_027e0764 _02181390: .word data_027e0ff0 -_02181394: .word data_027e0f90 +_02181394: .word gPlayer arm_func_end func_ov15_02180e44 .global func_ov15_02181398 @@ -114827,7 +114827,7 @@ _021815ac: .word data_ov15_021870e8 arm_func_start func_ov15_021815b0 func_ov15_021815b0: ; 0x021815b0 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0218160c ; =data_027e0fe4 + ldr r1, _0218160c ; =gActorManager mov r5, r0 ldr r0, [r1] add r1, r5, #0x36c @@ -114841,7 +114841,7 @@ func_ov15_021815b0: ; 0x021815b0 cmp r0, #0 cmpne r4, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r0, _02181614 ; =data_027e0f94 + ldr r0, _02181614 ; =gPlayerPos add r2, r4, #0x48 mov r1, #0x6000 bl func_ov00_020ce284 @@ -114850,9 +114850,9 @@ func_ov15_021815b0: ; 0x021815b0 streqb r0, [r5, #0x39e] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0218160c: .word data_027e0fe4 +_0218160c: .word gActorManager _02181610: .word gMapManager -_02181614: .word data_027e0f94 +_02181614: .word gPlayerPos arm_func_end func_ov15_021815b0 .global func_ov15_02181618 @@ -114867,7 +114867,7 @@ func_ov15_02181618: ; 0x02181618 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x68 bl func_ov00_0209a4f4 - ldr r1, _021818c0 ; =data_027e0f94 + ldr r1, _021818c0 ; =gPlayerPos mov r5, #2 ldr r3, [r1] ldr r2, [r1, #4] @@ -115030,7 +115030,7 @@ _021818b0: add sp, sp, #0x118 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_021818c0: .word data_027e0f94 +_021818c0: .word gPlayerPos _021818c4: .word data_027e0f64 _021818c8: .word gAdventureFlags arm_func_end func_ov15_02181618 @@ -115040,7 +115040,7 @@ _021818c8: .word gAdventureFlags func_ov15_021818cc: ; 0x021818cc stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x2c - ldr r1, _02181a18 ; =data_027e0f94 + ldr r1, _02181a18 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -115059,7 +115059,7 @@ func_ov15_021818cc: ; 0x021818cc mov r2, #2 bl func_ov00_02089318 ldr r0, _02181a20 ; =data_027e10a4 - ldr r3, _02181a18 ; =data_027e0f94 + ldr r3, _02181a18 ; =gPlayerPos ldr r5, [r0] add r6, sp, #0x20 ldmia r3, {r0, r1, r2} @@ -115077,7 +115077,7 @@ func_ov15_021818cc: ; 0x021818cc addne sp, sp, #0x2c ldmneia sp!, {r4, r5, r6, r7, pc} ldr r0, [r3] - ldr ip, _02181a24 ; =data_02050f54 + ldr ip, _02181a24 ; =gSinCosTable str r0, [r4, #0x48] ldr r0, [r3, #4] mov r2, #0 @@ -115122,10 +115122,10 @@ func_ov15_021818cc: ; 0x021818cc add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02181a18: .word data_027e0f94 +_02181a18: .word gPlayerPos _02181a1c: .word data_027e0f64 _02181a20: .word data_027e10a4 -_02181a24: .word data_02050f54 +_02181a24: .word gSinCosTable arm_func_end func_ov15_021818cc .global func_ov15_02181a28 @@ -115133,7 +115133,7 @@ _02181a24: .word data_02050f54 func_ov15_02181a28: ; 0x02181a28 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x14 - ldr r1, _02181b48 ; =data_027e0f94 + ldr r1, _02181b48 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -115160,7 +115160,7 @@ func_ov15_02181a28: ; 0x02181a28 mvn r0, #0 cmp r1, r0 beq _02181aec - ldr r0, _02181b50 ; =data_027e0fe4 + ldr r0, _02181b50 ; =gActorManager add r1, r4, #0x36c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -115207,9 +115207,9 @@ _02181b08: add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02181b48: .word data_027e0f94 +_02181b48: .word gPlayerPos _02181b4c: .word data_027e0f64 -_02181b50: .word data_027e0fe4 +_02181b50: .word gActorManager _02181b54: .word data_027e0ffc _02181b58: .word 0x0000025f arm_func_end func_ov15_02181a28 @@ -115219,7 +115219,7 @@ _02181b58: .word 0x0000025f func_ov15_02181b5c: ; 0x02181b5c stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 - ldr r1, _02181c3c ; =data_027e0f94 + ldr r1, _02181c3c ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -115237,13 +115237,13 @@ func_ov15_02181b5c: ; 0x02181b5c ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 - ldr r1, _02181c3c ; =data_027e0f94 + ldr r1, _02181c3c ; =gPlayerPos ldr r2, _02181c44 ; =0x00000133 add r0, r4, #0x48 bl func_0202b2e8 - ldr r1, _02181c3c ; =data_027e0f94 + ldr r1, _02181c3c ; =gPlayerPos add r0, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x5000 addge sp, sp, #0x14 ldmgeia sp!, {r3, r4, pc} @@ -115275,7 +115275,7 @@ _02181c10: add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02181c3c: .word data_027e0f94 +_02181c3c: .word gPlayerPos _02181c40: .word data_027e0f64 _02181c44: .word 0x00000133 _02181c48: .word gAdventureFlags @@ -115285,7 +115285,7 @@ _02181c48: .word gAdventureFlags arm_func_start func_ov15_02181c4c func_ov15_02181c4c: ; 0x02181c4c stmdb sp!, {r4, lr} - ldr r1, _02181cb0 ; =data_027e0fe4 + ldr r1, _02181cb0 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x36c @@ -115311,7 +115311,7 @@ _02181c9c: strneb r0, [r4, #0x3a0] ldmia sp!, {r4, pc} .align 2, 0 -_02181cb0: .word data_027e0fe4 +_02181cb0: .word gActorManager _02181cb4: .word gAdventureFlags arm_func_end func_ov15_02181c4c @@ -115326,11 +115326,11 @@ func_ov15_02181cb8: ; 0x02181cb8 cmp r0, #0x800 addlt sp, sp, #0x44 ldmltia sp!, {r4, r5, r6, r7, pc} - ldr r0, _02181ea0 ; =data_027e0f94 + ldr r0, _02181ea0 ; =gPlayerPos add r3, sp, #0x38 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r3, _02181ea4 ; =data_027e0fac + ldr r3, _02181ea4 ; =gPlayerAngle add r5, sp, #0x24 add r1, sp, #0x34 mov r0, #0 @@ -115356,7 +115356,7 @@ func_ov15_02181cb8: ; 0x02181cb8 ldr r0, [r7, #0x390] cmp r0, #0 bne _02181d6c - ldr r0, _02181ea8 ; =data_027e0fe4 + ldr r0, _02181ea8 ; =gActorManager add r1, r7, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -115408,7 +115408,7 @@ _02181d78: _02181e0c: addne sp, sp, #0x44 ldmneia sp!, {r4, r5, r6, r7, pc} - ldr r0, _02181ea8 ; =data_027e0fe4 + ldr r0, _02181ea8 ; =gActorManager add r1, r7, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -115445,9 +115445,9 @@ _02181e8c: add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02181ea0: .word data_027e0f94 -_02181ea4: .word data_027e0fac -_02181ea8: .word data_027e0fe4 +_02181ea0: .word gPlayerPos +_02181ea4: .word gPlayerAngle +_02181ea8: .word gActorManager _02181eac: .word 0x00000aab _02181eb0: .word 0x0000025d _02181eb4: .word data_ov00_020eec9c @@ -115479,11 +115479,11 @@ func_ov15_02181ecc: ; 0x02181ecc cmp r0, #0x800 addlt sp, sp, #0x4c ldmltia sp!, {r4, r5, r6, r7, pc} - ldr r0, _021820f0 ; =data_027e0f94 + ldr r0, _021820f0 ; =gPlayerPos add r3, sp, #0x40 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r3, _021820f4 ; =data_027e0fac + ldr r3, _021820f4 ; =gPlayerAngle add r5, sp, #0x2c add r1, sp, #0x3c mov r0, #0 @@ -115509,7 +115509,7 @@ func_ov15_02181ecc: ; 0x02181ecc ldr r0, [r7, #0x390] cmp r0, #0 bne _02181f90 - ldr r0, _021820f8 ; =data_027e0fe4 + ldr r0, _021820f8 ; =gActorManager add r1, r7, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -115583,7 +115583,7 @@ _02181f9c: ldrb r2, [r7, #0x351] strb r2, [sp, #0x1d] bl func_ov15_021413f8 - ldr r1, _021820f8 ; =data_027e0fe4 + ldr r1, _021820f8 ; =gActorManager ldr r2, _0218210c ; =0x4647474e ldr r1, [r1] add r0, sp, #0 @@ -115597,7 +115597,7 @@ _02181f9c: cmp r1, r0 addeq sp, sp, #0x4c ldmeqia sp!, {r4, r5, r6, r7, pc} - ldr r0, _021820f8 ; =data_027e0fe4 + ldr r0, _021820f8 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -115607,9 +115607,9 @@ _02181f9c: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_021820f0: .word data_027e0f94 -_021820f4: .word data_027e0fac -_021820f8: .word data_027e0fe4 +_021820f0: .word gPlayerPos +_021820f4: .word gPlayerAngle +_021820f8: .word gActorManager _021820fc: .word 0x00000aab _02182100: .word 0x0000025d _02182104: .word data_ov00_020eec9c @@ -115649,7 +115649,7 @@ _02182140: add r0, sp, #0xa0 strb r1, [r4, #0x39e] bl func_ov00_0209a4f4 - ldr r1, _02182580 ; =data_027e0f94 + ldr r1, _02182580 ; =gPlayerPos mvn r8, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -115804,7 +115804,7 @@ _02182140: bl func_ov00_0209a508 b _02182548 _021823e4: - ldr r0, _02182580 ; =data_027e0f94 + ldr r0, _02182580 ; =gPlayerPos add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -115849,7 +115849,7 @@ _021823e4: strb r0, [r4, #0x39e] b _02182548 _02182494: - ldr r0, _02182580 ; =data_027e0f94 + ldr r0, _02182580 ; =gPlayerPos mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -115893,7 +115893,7 @@ _0218251c: bne _02182548 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, #0 strb r0, [r4, #0x118] _02182548: @@ -115912,7 +115912,7 @@ _02182548: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0218257c: .word gMapManager -_02182580: .word data_027e0f94 +_02182580: .word gPlayerPos _02182584: .word data_027e0f64 _02182588: .word gAdventureFlags _0218258c: .word data_027e10a4 @@ -115938,7 +115938,7 @@ func_ov15_02182590: ; 0x02182590 mov r0, #0 mov r2, #4 bl func_020078f4 - ldr r2, _021826a0 ; =data_027e0f94 + ldr r2, _021826a0 ; =gPlayerPos mov lr, #0x2000 ldr r1, [r2] ldr r0, _0218269c ; =data_027e10a4 @@ -115992,7 +115992,7 @@ _0218268c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0218269c: .word data_027e10a4 -_021826a0: .word data_027e0f94 +_021826a0: .word gPlayerPos _021826a4: .word 0x00000aab _021826a8: .word gAdventureFlags arm_func_end func_ov15_02182590 @@ -116002,7 +116002,7 @@ _021826a8: .word gAdventureFlags func_ov15_021826ac: ; 0x021826ac stmdb sp!, {r4, r5, r6, r7, lr} sub sp, sp, #0x3c - ldr r0, _021827f4 ; =data_027e0f94 + ldr r0, _021827f4 ; =gPlayerPos add r3, sp, #0x30 mov r5, r1 mov r4, r2 @@ -116016,7 +116016,7 @@ func_ov15_021826ac: ; 0x021826ac ldr r0, _021827f8 ; =0x00001770 str r1, [r4, #0x14] str r0, [r4, #0xc] - ldr r0, _021827fc ; =data_027e0fac + ldr r0, _021827fc ; =gPlayerAngle ldr r3, _02182800 ; =0x000008a4 ldrsh r1, [r0] mov r2, #0x214 @@ -116033,11 +116033,11 @@ func_ov15_021826ac: ; 0x021826ac mov r2, r5 str r3, [sp, #0x18] str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x30 mov r0, r5 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add ldr r3, _02182808 ; =gMapManager add r7, sp, #0xc ldmia r5, {r0, r1, r2} @@ -116071,22 +116071,22 @@ _021827a8: mov r1, r5 str r3, [sp, #0x10] str r2, [sp, #0x14] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [r4, #0x18] ldr r2, [sp, #0x10] ldr r0, [r5, #4] ldr r1, _0218280c ; =0x00001333 sub r0, r2, r0 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x10] add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_021827f4: .word data_027e0f94 +_021827f4: .word gPlayerPos _021827f8: .word 0x00001770 -_021827fc: .word data_027e0fac +_021827fc: .word gPlayerAngle _02182800: .word 0x000008a4 _02182804: .word 0xfffffae1 _02182808: .word gMapManager @@ -116242,7 +116242,7 @@ func_ov15_021829f0: ; 0x021829f0 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x354 add r1, r4, #0x48 bl func_ov00_020c6f08 @@ -116260,7 +116260,7 @@ func_ov15_02182a50: ; 0x02182a50 ldr r0, [r4, #0x37c] cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02182a9c ; =data_027e0f94 + ldr r0, _02182a9c ; =gPlayerPos add r2, r4, #0x48 mov r1, #0x6000 bl func_ov00_020ce284 @@ -116275,7 +116275,7 @@ func_ov15_02182a50: ; 0x02182a50 bl func_ov15_021803ac ldmia sp!, {r4, pc} .align 2, 0 -_02182a9c: .word data_027e0f94 +_02182a9c: .word gPlayerPos arm_func_end func_ov15_02182a50 .global func_ov15_02182aa0 @@ -116409,7 +116409,7 @@ func_ov15_02182c08: ; 0x02182c08 ldreqb r0, [r1, #0xa5] cmpeq r0, #0 beq _02182c40 - ldr r0, _02182c48 ; =data_027e0f94 + ldr r0, _02182c48 ; =gPlayerPos add r2, r1, #0x48 mov r1, #0xf000 bl func_ov00_020ce284 @@ -116420,7 +116420,7 @@ _02182c40: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 -_02182c48: .word data_027e0f94 +_02182c48: .word gPlayerPos arm_func_end func_ov15_02182c08 .global func_ov15_02182c4c @@ -116729,7 +116729,7 @@ _02182ff0: ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02087d34 - ldr r8, _02183244 ; =data_027e0f94 + ldr r8, _02183244 ; =gPlayerPos add r3, sp, #0x3c ldmia r8, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -116779,12 +116779,12 @@ _02182ff0: _021830c0: add r0, sp, #0x30 add r1, r6, #0x324 - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, r7, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 ldr r2, [sp, #0x5c] - ldr ip, _0218324c ; =data_02050f54 + ldr ip, _0218324c ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r7, [ip, r3] @@ -116837,7 +116837,7 @@ _021830c0: strh r2, [sp, #8] ldr r2, [r6, #0x328] sub r0, r2, r0 - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 add r0, sp, #8 mov r1, r1, asr #0x10 @@ -116876,9 +116876,9 @@ _021831d4: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02183240: .word data_027e0f64 -_02183244: .word data_027e0f94 +_02183244: .word gPlayerPos _02183248: .word gMapManager -_0218324c: .word data_02050f54 +_0218324c: .word gSinCosTable arm_func_end func_ov15_02182fc0 .global func_ov15_02183250 @@ -116895,7 +116895,7 @@ func_ov15_02183250: ; 0x02183250 addne sp, sp, #0x30 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -117107,7 +117107,7 @@ func_ov15_02183578: ; 0x02183578 sub sp, sp, #0x38 mov r4, r0 add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -117123,10 +117123,10 @@ func_ov15_02183578: ; 0x02183578 ldr r0, _0218364c ; =data_027e0fe8 ldr r1, _02183650 ; =0x4852434e ldr r0, [r0] - ldr r2, _02183654 ; =data_027e0f94 + ldr r2, _02183654 ; =gPlayerPos add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _02183658 ; =data_027e0fe4 + ldr r0, _02183658 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -117159,8 +117159,8 @@ func_ov15_02183578: ; 0x02183578 .align 2, 0 _0218364c: .word data_027e0fe8 _02183650: .word 0x4852434e -_02183654: .word data_027e0f94 -_02183658: .word data_027e0fe4 +_02183654: .word gPlayerPos +_02183658: .word gActorManager arm_func_end func_ov15_02183578 .global func_ov15_0218365c @@ -117169,7 +117169,7 @@ func_ov15_0218365c: ; 0x0218365c stmdb sp!, {r3, lr} sub sp, sp, #0x38 add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -117185,10 +117185,10 @@ func_ov15_0218365c: ; 0x0218365c ldr r0, _021836d8 ; =data_027e0fe8 ldr r1, _021836dc ; =0x4852434e ldr r0, [r0] - ldr r2, _021836e0 ; =data_027e0f94 + ldr r2, _021836e0 ; =gPlayerPos add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _021836e4 ; =data_027e0fe4 + ldr r0, _021836e4 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -117200,8 +117200,8 @@ func_ov15_0218365c: ; 0x0218365c .align 2, 0 _021836d8: .word data_027e0fe8 _021836dc: .word 0x4852434e -_021836e0: .word data_027e0f94 -_021836e4: .word data_027e0fe4 +_021836e0: .word gPlayerPos +_021836e4: .word gActorManager arm_func_end func_ov15_0218365c .global func_ov15_021836e8 @@ -117610,7 +117610,7 @@ func_ov15_02183bc4: ; 0x02183bc4 cmp r1, #1 bne _02183c34 ldr r2, [r0, #0x48] - ldr r1, _02183c40 ; =data_027e0f94 + ldr r1, _02183c40 ; =gPlayerPos str r2, [sp, #0xc] ldr r2, [r0, #0x4c] ldr r3, [r1] @@ -117625,9 +117625,9 @@ func_ov15_02183bc4: ; 0x02183bc4 add r1, sp, #0 mov r2, r0 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0xc000 addlt sp, sp, #0x18 movlt r0, #1 @@ -117637,7 +117637,7 @@ _02183c34: add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 -_02183c40: .word data_027e0f94 +_02183c40: .word gPlayerPos arm_func_end func_ov15_02183bc4 .global func_ov15_02183c44 @@ -118070,7 +118070,7 @@ _02184218: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 @@ -118715,15 +118715,15 @@ func_ov15_02184a40: ; 0x02184a40 strb r0, [r5, #4] tst r0, #0xff ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _02184a88 ; =data_027e0f94 - bl func_01ff9ec0 + ldr r0, _02184a88 ; =gPlayerPos + bl Vec3p_Distance mov r1, r0 mov r0, r5 mov r2, r4 bl func_ov15_02184a8c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02184a88: .word data_027e0f94 +_02184a88: .word gPlayerPos arm_func_end func_ov15_02184a40 .global func_ov15_02184a8c @@ -118923,7 +118923,7 @@ func_ov15_02184c10: ; 0x02184c10 str r3, [sp, #0x38] str r2, [sp, #0x3c] str r1, [sp, #0x40] - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 add r0, sp, #0x38 bl func_01fffb4c @@ -119656,7 +119656,7 @@ func_ov15_02185638: ; 0x02185638 stmia r4, {r0, r1, r2} mov r0, r4 mov r1, r5 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x28000 movle r4, #0x7f ble _021856c0 @@ -119701,7 +119701,7 @@ _021856e0: mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 add r2, r1, #1 - ldr r1, _02185768 ; =data_02050f54 + ldr r1, _02185768 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r1, [r1, r2] smull r2, r1, r0, r1 @@ -119722,7 +119722,7 @@ _0218573c: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02185764: .word data_027e0f64 -_02185768: .word data_02050f54 +_02185768: .word gSinCosTable arm_func_end func_ov15_02185638 .global func_ov15_0218576c @@ -120033,7 +120033,7 @@ _02185ad8: ldr r0, _02185b04 ; =data_ov15_02187304 and r1, r4, #0xff ldr r1, [r0, r1, lsl #2] - ldr r2, _02185b08 ; =data_027e0f94 + ldr r2, _02185b08 ; =gPlayerPos mov r0, r5 mov r3, #0 strb r4, [r5, #2] @@ -120044,7 +120044,7 @@ _02185af8: .align 2, 0 _02185b00: .word data_ov09_0211f5b4 _02185b04: .word data_ov15_02187304 -_02185b08: .word data_027e0f94 +_02185b08: .word gPlayerPos arm_func_end func_ov15_02185a70 .global func_ov15_02185b0c @@ -126107,7 +126107,7 @@ func_ov15_02188148: ; 0x02188148 ldr r1, _021881bc ; =_ZN9ActorTypeD1Ev ldr r2, _021881c0 ; =data_ov15_0218f6d4 bl __register_global_object - ldr r0, _021881c4 ; =data_027e0d0c + ldr r0, _021881c4 ; =gVec3p_ZERO ldr r3, _021881c8 ; =data_ov15_0218c0e4 ldr r2, [r0] ldr r1, [r0, #4] @@ -126129,7 +126129,7 @@ _021881b4: .word 0x42554949 _021881b8: .word func_ov15_02155680 _021881bc: .word _ZN9ActorTypeD1Ev _021881c0: .word data_ov15_0218f6d4 -_021881c4: .word data_027e0d0c +_021881c4: .word gVec3p_ZERO _021881c8: .word data_ov15_0218c0e4 _021881cc: .word data_ov15_0218c0f4 _021881d0: .word func_ov15_021262d4 @@ -126149,7 +126149,7 @@ func_ov15_021881d8: ; 0x021881d8 ldr r1, _02188250 ; =_ZN9ActorTypeD1Ev ldr r2, _02188254 ; =data_ov15_0218f700 bl __register_global_object - ldr r0, _02188258 ; =data_027e0d0c + ldr r0, _02188258 ; =gVec3p_ZERO ldr r3, _0218825c ; =data_ov15_0218c1d8 ldr r2, [r0] ldr r1, [r0, #4] @@ -126172,7 +126172,7 @@ _02188248: .word 0x53524f50 _0218824c: .word func_ov15_02157610 _02188250: .word _ZN9ActorTypeD1Ev _02188254: .word data_ov15_0218f700 -_02188258: .word data_027e0d0c +_02188258: .word gVec3p_ZERO _0218825c: .word data_ov15_0218c1d8 _02188260: .word 0x0000019a _02188264: .word data_ov15_0218c1e8 @@ -127929,7 +127929,7 @@ data_ov15_0218955c: ; 0x0218955c .word _ZN5Actor8vfunc_18Ej .global data_ov15_02189560 data_ov15_02189560: ; 0x02189560 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_02189564 data_ov15_02189564: ; 0x02189564 .word _ZN5Actor8vfunc_20Ei @@ -127959,10 +127959,10 @@ data_ov15_02189584: ; 0x02189584 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_02189588 data_ov15_02189588: ; 0x02189588 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218958c data_ov15_0218958c: ; 0x0218958c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_02189590 data_ov15_02189590: ; 0x02189590 .word _ZN5Actor8vfunc_4cEPi @@ -128091,7 +128091,7 @@ data_ov15_02189634: ; 0x02189634 .word _ZN5Actor8vfunc_18Ej .global data_ov15_02189638 data_ov15_02189638: ; 0x02189638 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218963c data_ov15_0218963c: ; 0x0218963c .word _ZN5Actor8vfunc_20Ei @@ -128121,10 +128121,10 @@ data_ov15_0218965c: ; 0x0218965c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_02189660 data_ov15_02189660: ; 0x02189660 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_02189664 data_ov15_02189664: ; 0x02189664 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_02189668 data_ov15_02189668: ; 0x02189668 .word _ZN5Actor8vfunc_4cEPi @@ -128256,7 +128256,7 @@ data_ov15_02189704: ; 0x02189704 .word func_ov15_02123b78 .global data_ov15_02189708 data_ov15_02189708: ; 0x02189708 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218970c data_ov15_0218970c: ; 0x0218970c .word _ZN5Actor8vfunc_20Ei @@ -128286,10 +128286,10 @@ data_ov15_0218972c: ; 0x0218972c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_02189730 data_ov15_02189730: ; 0x02189730 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_02189734 data_ov15_02189734: ; 0x02189734 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_02189738 data_ov15_02189738: ; 0x02189738 .word _ZN5Actor8vfunc_4cEPi @@ -128418,7 +128418,7 @@ data_ov15_021897dc: ; 0x021897dc .word func_ov15_02123b78 .global data_ov15_021897e0 data_ov15_021897e0: ; 0x021897e0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_021897e4 data_ov15_021897e4: ; 0x021897e4 .word func_ov15_021251ec @@ -128448,10 +128448,10 @@ data_ov15_02189804: ; 0x02189804 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_02189808 data_ov15_02189808: ; 0x02189808 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218980c data_ov15_0218980c: ; 0x0218980c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_02189810 data_ov15_02189810: ; 0x02189810 .word _ZN5Actor8vfunc_4cEPi @@ -128598,7 +128598,7 @@ data_ov15_021898cc: ; 0x021898cc .word func_ov15_02123b78 .global data_ov15_021898d0 data_ov15_021898d0: ; 0x021898d0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_021898d4 data_ov15_021898d4: ; 0x021898d4 .word func_ov15_0212602c @@ -128628,7 +128628,7 @@ data_ov15_021898f4: ; 0x021898f4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_021898f8 data_ov15_021898f8: ; 0x021898f8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_021898fc data_ov15_021898fc: ; 0x021898fc .word func_ov15_021260a8 @@ -130765,7 +130765,7 @@ data_ov15_0218a4b4: ; 0x0218a4b4 .word func_ov15_0212e1c8 .global data_ov15_0218a4b8 data_ov15_0218a4b8: ; 0x0218a4b8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218a4bc data_ov15_0218a4bc: ; 0x0218a4bc .word func_ov15_0212f0b8 @@ -130795,7 +130795,7 @@ data_ov15_0218a4dc: ; 0x0218a4dc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218a4e0 data_ov15_0218a4e0: ; 0x0218a4e0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218a4e4 data_ov15_0218a4e4: ; 0x0218a4e4 .word func_ov15_0212f264 @@ -130978,7 +130978,7 @@ data_ov15_0218a5d0: ; 0x0218a5d0 .word func_ov15_021307e8 .global data_ov15_0218a5d4 data_ov15_0218a5d4: ; 0x0218a5d4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218a5d8 data_ov15_0218a5d8: ; 0x0218a5d8 .word func_ov15_02130d24 @@ -131008,7 +131008,7 @@ data_ov15_0218a5f8: ; 0x0218a5f8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218a5fc data_ov15_0218a5fc: ; 0x0218a5fc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218a600 data_ov15_0218a600: ; 0x0218a600 .word func_ov15_0213100c @@ -131221,7 +131221,7 @@ data_ov15_0218a714: ; 0x0218a714 .word func_ov15_02133150 .global data_ov15_0218a718 data_ov15_0218a718: ; 0x0218a718 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218a71c data_ov15_0218a71c: ; 0x0218a71c .word func_ov15_02133f70 @@ -131251,7 +131251,7 @@ data_ov15_0218a73c: ; 0x0218a73c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218a740 data_ov15_0218a740: ; 0x0218a740 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218a744 data_ov15_0218a744: ; 0x0218a744 .word func_ov15_02133e98 @@ -131498,7 +131498,7 @@ data_ov15_0218a89c: ; 0x0218a89c .word func_ov15_02134594 .global data_ov15_0218a8a0 data_ov15_0218a8a0: ; 0x0218a8a0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218a8a4 data_ov15_0218a8a4: ; 0x0218a8a4 .word func_ov15_0213513c @@ -132069,7 +132069,7 @@ data_ov15_0218ab7c: ; 0x0218ab7c .word func_ov15_02123b78 .global data_ov15_0218ab80 data_ov15_0218ab80: ; 0x0218ab80 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218ab84 data_ov15_0218ab84: ; 0x0218ab84 .word func_ov15_0213b21c @@ -132099,7 +132099,7 @@ data_ov15_0218aba4: ; 0x0218aba4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218aba8 data_ov15_0218aba8: ; 0x0218aba8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218abac data_ov15_0218abac: ; 0x0218abac .word func_ov15_0213b248 @@ -132360,7 +132360,7 @@ data_ov15_0218ad00: ; 0x0218ad00 .word func_ov15_0213cc98 .global data_ov15_0218ad04 data_ov15_0218ad04: ; 0x0218ad04 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218ad08 data_ov15_0218ad08: ; 0x0218ad08 .word func_ov15_0213cd5c @@ -132390,7 +132390,7 @@ data_ov15_0218ad28: ; 0x0218ad28 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218ad2c data_ov15_0218ad2c: ; 0x0218ad2c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218ad30 data_ov15_0218ad30: ; 0x0218ad30 .word func_ov15_0213cce4 @@ -132528,7 +132528,7 @@ data_ov15_0218ade0: ; 0x0218ade0 .word func_ov15_02123b78 .global data_ov15_0218ade4 data_ov15_0218ade4: ; 0x0218ade4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218ade8 data_ov15_0218ade8: ; 0x0218ade8 .byte 0x00, 0x00, 0x00, 0x00 @@ -132558,7 +132558,7 @@ data_ov15_0218ae08: ; 0x0218ae08 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218ae0c data_ov15_0218ae0c: ; 0x0218ae0c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218ae10 data_ov15_0218ae10: ; 0x0218ae10 .byte 0x00, 0x00, 0x00, 0x00 @@ -132702,7 +132702,7 @@ data_ov15_0218aec8: ; 0x0218aec8 .word func_ov15_0213f578 .global data_ov15_0218aecc data_ov15_0218aecc: ; 0x0218aecc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218aed0 data_ov15_0218aed0: ; 0x0218aed0 .word func_ov15_02140efc @@ -132732,7 +132732,7 @@ data_ov15_0218aef0: ; 0x0218aef0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218aef4 data_ov15_0218aef4: ; 0x0218aef4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218aef8 data_ov15_0218aef8: ; 0x0218aef8 .word func_ov15_02141018 @@ -132933,7 +132933,7 @@ data_ov15_0218affc: ; 0x0218affc .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218b000 data_ov15_0218b000: ; 0x0218b000 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218b004 data_ov15_0218b004: ; 0x0218b004 .word _ZN5Actor8vfunc_20Ei @@ -132963,7 +132963,7 @@ data_ov15_0218b024: ; 0x0218b024 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b028 data_ov15_0218b028: ; 0x0218b028 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218b02c data_ov15_0218b02c: ; 0x0218b02c .word func_ov15_02141238 @@ -133256,10 +133256,10 @@ data_ov15_0218b264: ; 0x0218b264 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b268 data_ov15_0218b268: ; 0x0218b268 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218b26c data_ov15_0218b26c: ; 0x0218b26c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218b270 data_ov15_0218b270: ; 0x0218b270 .word _ZN5Actor8vfunc_4cEPi @@ -133462,10 +133462,10 @@ data_ov15_0218b36c: ; 0x0218b36c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b370 data_ov15_0218b370: ; 0x0218b370 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218b374 data_ov15_0218b374: ; 0x0218b374 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218b378 data_ov15_0218b378: ; 0x0218b378 .word _ZN5Actor8vfunc_4cEPi @@ -133591,7 +133591,7 @@ data_ov15_0218b418: ; 0x0218b418 .word func_ov15_021468a4 .global data_ov15_0218b41c data_ov15_0218b41c: ; 0x0218b41c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218b420 data_ov15_0218b420: ; 0x0218b420 .word func_ov15_021468f8 @@ -133621,10 +133621,10 @@ data_ov15_0218b440: ; 0x0218b440 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b444 data_ov15_0218b444: ; 0x0218b444 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218b448 data_ov15_0218b448: ; 0x0218b448 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218b44c data_ov15_0218b44c: ; 0x0218b44c .word _ZN5Actor8vfunc_4cEPi @@ -133929,7 +133929,7 @@ data_ov15_0218b5d0: ; 0x0218b5d0 .word func_ov15_021475f0 .global data_ov15_0218b5d4 data_ov15_0218b5d4: ; 0x0218b5d4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218b5d8 data_ov15_0218b5d8: ; 0x0218b5d8 .word func_ov15_02148adc @@ -133959,10 +133959,10 @@ data_ov15_0218b5f8: ; 0x0218b5f8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218b5fc data_ov15_0218b5fc: ; 0x0218b5fc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218b600 data_ov15_0218b600: ; 0x0218b600 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218b604 data_ov15_0218b604: ; 0x0218b604 .word _ZN5Actor8vfunc_4cEPi @@ -134912,7 +134912,7 @@ data_ov15_0218bb34: ; 0x0218bb34 .word func_ov15_0214d418 .global data_ov15_0218bb38 data_ov15_0218bb38: ; 0x0218bb38 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218bb3c data_ov15_0218bb3c: ; 0x0218bb3c .word func_ov15_0214d47c @@ -134942,10 +134942,10 @@ data_ov15_0218bb5c: ; 0x0218bb5c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218bb60 data_ov15_0218bb60: ; 0x0218bb60 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218bb64 data_ov15_0218bb64: ; 0x0218bb64 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218bb68 data_ov15_0218bb68: ; 0x0218bb68 .word _ZN5Actor8vfunc_4cEPi @@ -135053,7 +135053,7 @@ data_ov15_0218bbf0: ; 0x0218bbf0 .word func_ov15_0214d69c .global data_ov15_0218bbf4 data_ov15_0218bbf4: ; 0x0218bbf4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218bbf8 data_ov15_0218bbf8: ; 0x0218bbf8 .word func_ov15_0214d6b0 @@ -135083,10 +135083,10 @@ data_ov15_0218bc18: ; 0x0218bc18 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218bc1c data_ov15_0218bc1c: ; 0x0218bc1c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218bc20 data_ov15_0218bc20: ; 0x0218bc20 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218bc24 data_ov15_0218bc24: ; 0x0218bc24 .word _ZN5Actor8vfunc_4cEPi @@ -135206,7 +135206,7 @@ data_ov15_0218bcbc: ; 0x0218bcbc .word func_ov15_0214dc1c .global data_ov15_0218bcc0 data_ov15_0218bcc0: ; 0x0218bcc0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218bcc4 data_ov15_0218bcc4: ; 0x0218bcc4 .word _ZN5Actor8vfunc_20Ei @@ -135236,10 +135236,10 @@ data_ov15_0218bce4: ; 0x0218bce4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218bce8 data_ov15_0218bce8: ; 0x0218bce8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218bcec data_ov15_0218bcec: ; 0x0218bcec - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218bcf0 data_ov15_0218bcf0: ; 0x0218bcf0 .word _ZN5Actor8vfunc_4cEPi @@ -135359,7 +135359,7 @@ data_ov15_0218bd88: ; 0x0218bd88 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218bd8c data_ov15_0218bd8c: ; 0x0218bd8c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218bd90 data_ov15_0218bd90: ; 0x0218bd90 .word _ZN5Actor8vfunc_20Ei @@ -135389,10 +135389,10 @@ data_ov15_0218bdb0: ; 0x0218bdb0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218bdb4 data_ov15_0218bdb4: ; 0x0218bdb4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218bdb8 data_ov15_0218bdb8: ; 0x0218bdb8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218bdbc data_ov15_0218bdbc: ; 0x0218bdbc .word _ZN5Actor8vfunc_4cEPi @@ -135515,7 +135515,7 @@ data_ov15_0218be58: ; 0x0218be58 .word func_ov15_0214f754 .global data_ov15_0218be5c data_ov15_0218be5c: ; 0x0218be5c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218be60 data_ov15_0218be60: ; 0x0218be60 .word _ZN5Actor8vfunc_20Ei @@ -135545,10 +135545,10 @@ data_ov15_0218be80: ; 0x0218be80 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218be84 data_ov15_0218be84: ; 0x0218be84 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218be88 data_ov15_0218be88: ; 0x0218be88 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218be8c data_ov15_0218be8c: ; 0x0218be8c .word _ZN5Actor8vfunc_4cEPi @@ -135710,10 +135710,10 @@ data_ov15_0218bf50: ; 0x0218bf50 .word func_ov15_021515bc .global data_ov15_0218bf54 data_ov15_0218bf54: ; 0x0218bf54 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218bf58 data_ov15_0218bf58: ; 0x0218bf58 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218bf5c data_ov15_0218bf5c: ; 0x0218bf5c .word _ZN5Actor8vfunc_4cEPi @@ -135896,7 +135896,7 @@ data_ov15_0218c048: ; 0x0218c048 .word func_ov15_0215200c ; func_ov61_0215200c .global data_ov15_0218c04c data_ov15_0218c04c: ; 0x0218c04c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218c050 data_ov15_0218c050: ; 0x0218c050 .word _ZN5Actor8vfunc_20Ei @@ -135926,10 +135926,10 @@ data_ov15_0218c070: ; 0x0218c070 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c074 data_ov15_0218c074: ; 0x0218c074 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218c078 data_ov15_0218c078: ; 0x0218c078 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218c07c data_ov15_0218c07c: ; 0x0218c07c .word _ZN5Actor8vfunc_4cEPi @@ -136064,7 +136064,7 @@ data_ov15_0218c128: ; 0x0218c128 .word func_ov15_0215619c .global data_ov15_0218c12c data_ov15_0218c12c: ; 0x0218c12c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218c130 data_ov15_0218c130: ; 0x0218c130 .word func_ov15_021575b0 @@ -136094,7 +136094,7 @@ data_ov15_0218c150: ; 0x0218c150 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c154 data_ov15_0218c154: ; 0x0218c154 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218c158 data_ov15_0218c158: ; 0x0218c158 .word func_ov15_02156210 @@ -136247,7 +136247,7 @@ data_ov15_0218c21c: ; 0x0218c21c .word func_ov15_02157c4c .global data_ov15_0218c220 data_ov15_0218c220: ; 0x0218c220 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218c224 data_ov15_0218c224: ; 0x0218c224 .word func_ov15_02157c9c @@ -136277,10 +136277,10 @@ data_ov15_0218c244: ; 0x0218c244 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c248 data_ov15_0218c248: ; 0x0218c248 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218c24c data_ov15_0218c24c: ; 0x0218c24c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218c250 data_ov15_0218c250: ; 0x0218c250 .word _ZN5Actor8vfunc_4cEPi @@ -136400,7 +136400,7 @@ data_ov15_0218c2e8: ; 0x0218c2e8 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218c2ec data_ov15_0218c2ec: ; 0x0218c2ec - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218c2f0 data_ov15_0218c2f0: ; 0x0218c2f0 .word _ZN5Actor8vfunc_20Ei @@ -136430,10 +136430,10 @@ data_ov15_0218c310: ; 0x0218c310 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c314 data_ov15_0218c314: ; 0x0218c314 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218c318 data_ov15_0218c318: ; 0x0218c318 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218c31c data_ov15_0218c31c: ; 0x0218c31c .word _ZN5Actor8vfunc_4cEPi @@ -136559,7 +136559,7 @@ data_ov15_0218c3bc: ; 0x0218c3bc .word func_ov15_02123b78 .global data_ov15_0218c3c0 data_ov15_0218c3c0: ; 0x0218c3c0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218c3c4 data_ov15_0218c3c4: ; 0x0218c3c4 .word func_ov15_0215a2f4 @@ -136589,7 +136589,7 @@ data_ov15_0218c3e4: ; 0x0218c3e4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c3e8 data_ov15_0218c3e8: ; 0x0218c3e8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218c3ec data_ov15_0218c3ec: ; 0x0218c3ec .word func_ov15_0215a214 @@ -136730,7 +136730,7 @@ data_ov15_0218c4a0: ; 0x0218c4a0 .word func_ov15_0215a95c .global data_ov15_0218c4a4 data_ov15_0218c4a4: ; 0x0218c4a4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218c4a8 data_ov15_0218c4a8: ; 0x0218c4a8 .word func_ov15_0215b654 @@ -136760,10 +136760,10 @@ data_ov15_0218c4c8: ; 0x0218c4c8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c4cc data_ov15_0218c4cc: ; 0x0218c4cc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218c4d0 data_ov15_0218c4d0: ; 0x0218c4d0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218c4d4 data_ov15_0218c4d4: ; 0x0218c4d4 .word _ZN5Actor8vfunc_4cEPi @@ -136937,7 +136937,7 @@ data_ov15_0218c5b4: ; 0x0218c5b4 .word func_ov15_0215c6a4 .global data_ov15_0218c5b8 data_ov15_0218c5b8: ; 0x0218c5b8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218c5bc data_ov15_0218c5bc: ; 0x0218c5bc .word _ZN5Actor8vfunc_20Ei @@ -136967,10 +136967,10 @@ data_ov15_0218c5dc: ; 0x0218c5dc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c5e0 data_ov15_0218c5e0: ; 0x0218c5e0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218c5e4 data_ov15_0218c5e4: ; 0x0218c5e4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218c5e8 data_ov15_0218c5e8: ; 0x0218c5e8 .word _ZN5Actor8vfunc_4cEPi @@ -137591,7 +137591,7 @@ data_ov15_0218c91c: ; 0x0218c91c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218c920 data_ov15_0218c920: ; 0x0218c920 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218c924 data_ov15_0218c924: ; 0x0218c924 .word func_ov15_0215fa90 @@ -137812,7 +137812,7 @@ data_ov15_0218ca50: ; 0x0218ca50 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218ca54 data_ov15_0218ca54: ; 0x0218ca54 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218ca58 data_ov15_0218ca58: ; 0x0218ca58 .word _ZN5Actor8vfunc_20Ei @@ -137842,10 +137842,10 @@ data_ov15_0218ca78: ; 0x0218ca78 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218ca7c data_ov15_0218ca7c: ; 0x0218ca7c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218ca80 data_ov15_0218ca80: ; 0x0218ca80 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218ca84 data_ov15_0218ca84: ; 0x0218ca84 .word _ZN5Actor8vfunc_4cEPi @@ -137995,10 +137995,10 @@ data_ov15_0218cb44: ; 0x0218cb44 .word func_ov15_021617a8 ; func_ov17_021617a8 .global data_ov15_0218cb48 data_ov15_0218cb48: ; 0x0218cb48 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218cb4c data_ov15_0218cb4c: ; 0x0218cb4c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218cb50 data_ov15_0218cb50: ; 0x0218cb50 .word _ZN5Actor8vfunc_4cEPi @@ -138214,10 +138214,10 @@ data_ov15_0218cc5c: ; 0x0218cc5c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218cc60 data_ov15_0218cc60: ; 0x0218cc60 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218cc64 data_ov15_0218cc64: ; 0x0218cc64 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218cc68 data_ov15_0218cc68: ; 0x0218cc68 .word _ZN5Actor8vfunc_4cEPi @@ -138481,7 +138481,7 @@ data_ov15_0218cdc0: ; 0x0218cdc0 .word func_ov15_02166394 .global data_ov15_0218cdc4 data_ov15_0218cdc4: ; 0x0218cdc4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218cdc8 data_ov15_0218cdc8: ; 0x0218cdc8 .word func_ov15_02166690 @@ -138511,10 +138511,10 @@ data_ov15_0218cde8: ; 0x0218cde8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218cdec data_ov15_0218cdec: ; 0x0218cdec - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218cdf0 data_ov15_0218cdf0: ; 0x0218cdf0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218cdf4 data_ov15_0218cdf4: ; 0x0218cdf4 .word _ZN5Actor8vfunc_4cEPi @@ -138883,7 +138883,7 @@ data_ov15_0218cfd8: ; 0x0218cfd8 .word func_ov15_02123b78 .global data_ov15_0218cfdc data_ov15_0218cfdc: ; 0x0218cfdc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218cfe0 data_ov15_0218cfe0: ; 0x0218cfe0 .word func_ov15_021676ec @@ -138913,7 +138913,7 @@ data_ov15_0218d000: ; 0x0218d000 .word func_ov15_02167690 .global data_ov15_0218d004 data_ov15_0218d004: ; 0x0218d004 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d008 data_ov15_0218d008: ; 0x0218d008 .word func_ov15_0216729c @@ -139072,7 +139072,7 @@ data_ov15_0218d0d0: ; 0x0218d0d0 .word func_ov15_02168e60 .global data_ov15_0218d0d4 data_ov15_0218d0d4: ; 0x0218d0d4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218d0d8 data_ov15_0218d0d8: ; 0x0218d0d8 .word func_ov15_02168f98 @@ -139102,7 +139102,7 @@ data_ov15_0218d0f8: ; 0x0218d0f8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d0fc data_ov15_0218d0fc: ; 0x0218d0fc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d100 data_ov15_0218d100: ; 0x0218d100 .word func_ov15_02168efc @@ -139316,7 +139316,7 @@ data_ov15_0218d220: ; 0x0218d220 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d224 data_ov15_0218d224: ; 0x0218d224 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d228 data_ov15_0218d228: ; 0x0218d228 .word func_ov15_02169938 @@ -139600,7 +139600,7 @@ data_ov15_0218d390: ; 0x0218d390 .word func_ov15_0216b354 ; func_ov18_0216b354 .global data_ov15_0218d394 data_ov15_0218d394: ; 0x0218d394 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218d398 data_ov15_0218d398: ; 0x0218d398 .word func_ov15_0216bc5c ; data_ov17_0216bc5c @@ -139630,7 +139630,7 @@ data_ov15_0218d3b8: ; 0x0218d3b8 .word func_ov15_0216b58c ; data_ov18_0216b58c .global data_ov15_0218d3bc data_ov15_0218d3bc: ; 0x0218d3bc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d3c0 data_ov15_0218d3c0: ; 0x0218d3c0 .word func_ov15_0216b368 @@ -139744,7 +139744,7 @@ data_ov15_0218d450: ; 0x0218d450 .word func_ov15_0216b354 ; func_ov18_0216b354 .global data_ov15_0218d454 data_ov15_0218d454: ; 0x0218d454 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218d458 data_ov15_0218d458: ; 0x0218d458 .word func_ov15_0216ba40 ; data_ov17_0216ba40 @@ -139774,7 +139774,7 @@ data_ov15_0218d478: ; 0x0218d478 .word func_ov15_0216b58c ; data_ov18_0216b58c .global data_ov15_0218d47c data_ov15_0218d47c: ; 0x0218d47c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d480 data_ov15_0218d480: ; 0x0218d480 .word func_ov15_0216b368 @@ -139888,7 +139888,7 @@ data_ov15_0218d510: ; 0x0218d510 .word func_ov15_0216b354 ; func_ov18_0216b354 .global data_ov15_0218d514 data_ov15_0218d514: ; 0x0218d514 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218d518 data_ov15_0218d518: ; 0x0218d518 .word _ZN5Actor8vfunc_20Ei @@ -139918,7 +139918,7 @@ data_ov15_0218d538: ; 0x0218d538 .word func_ov15_0216b58c ; data_ov18_0216b58c .global data_ov15_0218d53c data_ov15_0218d53c: ; 0x0218d53c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d540 data_ov15_0218d540: ; 0x0218d540 .word func_ov15_0216b368 @@ -140047,7 +140047,7 @@ data_ov15_0218d5e4: ; 0x0218d5e4 .word func_ov15_0216c650 ; data_ov17_0216c650, data_ov18_0216c650 .global data_ov15_0218d5e8 data_ov15_0218d5e8: ; 0x0218d5e8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218d5ec data_ov15_0218d5ec: ; 0x0218d5ec .word func_ov15_0216d03c ; data_ov17_0216d03c, data_ov18_0216d03c @@ -140077,10 +140077,10 @@ data_ov15_0218d60c: ; 0x0218d60c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d610 data_ov15_0218d610: ; 0x0218d610 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d614 data_ov15_0218d614: ; 0x0218d614 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218d618 data_ov15_0218d618: ; 0x0218d618 .word _ZN5Actor8vfunc_4cEPi @@ -140506,7 +140506,7 @@ data_ov15_0218d8a4: ; 0x0218d8a4 .word func_ov15_0216f32c ; func_ov19_0216f32c .global data_ov15_0218d8a8 data_ov15_0218d8a8: ; 0x0218d8a8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218d8ac data_ov15_0218d8ac: ; 0x0218d8ac .word func_ov15_0216f340 @@ -140536,10 +140536,10 @@ data_ov15_0218d8cc: ; 0x0218d8cc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d8d0 data_ov15_0218d8d0: ; 0x0218d8d0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d8d4 data_ov15_0218d8d4: ; 0x0218d8d4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218d8d8 data_ov15_0218d8d8: ; 0x0218d8d8 .word _ZN5Actor8vfunc_4cEPi @@ -140683,7 +140683,7 @@ data_ov15_0218d990: ; 0x0218d990 .word func_ov15_021706b4 ; func_ov28_021706b4 .global data_ov15_0218d994 data_ov15_0218d994: ; 0x0218d994 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218d998 data_ov15_0218d998: ; 0x0218d998 .word func_ov15_02173034 @@ -140713,7 +140713,7 @@ data_ov15_0218d9b8: ; 0x0218d9b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218d9bc data_ov15_0218d9bc: ; 0x0218d9bc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218d9c0 data_ov15_0218d9c0: ; 0x0218d9c0 .word func_ov15_02173070 @@ -140925,7 +140925,7 @@ data_ov15_0218daec: ; 0x0218daec .word func_ov15_021739b8 .global data_ov15_0218daf0 data_ov15_0218daf0: ; 0x0218daf0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218daf4 data_ov15_0218daf4: ; 0x0218daf4 .word _ZN5Actor8vfunc_20Ei @@ -140955,7 +140955,7 @@ data_ov15_0218db14: ; 0x0218db14 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218db18 data_ov15_0218db18: ; 0x0218db18 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218db1c data_ov15_0218db1c: ; 0x0218db1c .word func_ov15_02173be8 @@ -141066,7 +141066,7 @@ data_ov15_0218dba8: ; 0x0218dba8 .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218dbac data_ov15_0218dbac: ; 0x0218dbac - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218dbb0 data_ov15_0218dbb0: ; 0x0218dbb0 .word _ZN5Actor8vfunc_20Ei @@ -141096,10 +141096,10 @@ data_ov15_0218dbd0: ; 0x0218dbd0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218dbd4 data_ov15_0218dbd4: ; 0x0218dbd4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218dbd8 data_ov15_0218dbd8: ; 0x0218dbd8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218dbdc data_ov15_0218dbdc: ; 0x0218dbdc .word _ZN5Actor8vfunc_4cEPi @@ -141296,7 +141296,7 @@ data_ov15_0218dcd0: ; 0x0218dcd0 .word func_ov15_021744e0 .global data_ov15_0218dcd4 data_ov15_0218dcd4: ; 0x0218dcd4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218dcd8 data_ov15_0218dcd8: ; 0x0218dcd8 .word func_ov15_021744f4 @@ -141326,10 +141326,10 @@ data_ov15_0218dcf8: ; 0x0218dcf8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218dcfc data_ov15_0218dcfc: ; 0x0218dcfc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218dd00 data_ov15_0218dd00: ; 0x0218dd00 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218dd04 data_ov15_0218dd04: ; 0x0218dd04 .word _ZN5Actor8vfunc_4cEPi @@ -141587,7 +141587,7 @@ data_ov15_0218de54: ; 0x0218de54 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218de58 data_ov15_0218de58: ; 0x0218de58 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218de5c data_ov15_0218de5c: ; 0x0218de5c .word func_ov15_0217934c ; data_ov20_0217934c, data_ov22_0217934c, data_ov23_0217934c, data_ov25_0217934c, data_ov26_0217934c, data_ov28_0217934c, data_ov29_0217934c @@ -141968,7 +141968,7 @@ data_ov15_0218e050: ; 0x0218e050 .word func_ov15_0217b828 ; data_ov29_0217b828 .global data_ov15_0218e054 data_ov15_0218e054: ; 0x0218e054 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218e058 data_ov15_0218e058: ; 0x0218e058 .word func_ov15_0217b848 ; data_ov29_0217b848 @@ -141998,7 +141998,7 @@ data_ov15_0218e078: ; 0x0218e078 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e07c data_ov15_0218e07c: ; 0x0218e07c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218e080 data_ov15_0218e080: ; 0x0218e080 .word func_ov15_0217bacc ; data_ov29_0217bacc, data_ov61_0217bacc @@ -142226,7 +142226,7 @@ data_ov15_0218e1c8: ; 0x0218e1c8 .word func_ov15_0217c7f8 .global data_ov15_0218e1cc data_ov15_0218e1cc: ; 0x0218e1cc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218e1d0 data_ov15_0218e1d0: ; 0x0218e1d0 .word func_ov15_0217d21c @@ -142256,7 +142256,7 @@ data_ov15_0218e1f0: ; 0x0218e1f0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e1f4 data_ov15_0218e1f4: ; 0x0218e1f4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218e1f8 data_ov15_0218e1f8: ; 0x0218e1f8 .word func_ov15_0217d288 @@ -142747,7 +142747,7 @@ data_ov15_0218e490: ; 0x0218e490 .word func_ov15_0217d980 ; data_ov61_0217d980 .global data_ov15_0218e494 data_ov15_0218e494: ; 0x0218e494 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218e498 data_ov15_0218e498: ; 0x0218e498 .word func_ov15_0217d86c @@ -142777,10 +142777,10 @@ data_ov15_0218e4b8: ; 0x0218e4b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e4bc data_ov15_0218e4bc: ; 0x0218e4bc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218e4c0 data_ov15_0218e4c0: ; 0x0218e4c0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218e4c4 data_ov15_0218e4c4: ; 0x0218e4c4 .word _ZN5Actor8vfunc_4cEPi @@ -142888,7 +142888,7 @@ data_ov15_0218e54c: ; 0x0218e54c .word _ZN5Actor8vfunc_18Ej .global data_ov15_0218e550 data_ov15_0218e550: ; 0x0218e550 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218e554 data_ov15_0218e554: ; 0x0218e554 .word func_ov15_0217dc4c @@ -142918,10 +142918,10 @@ data_ov15_0218e574: ; 0x0218e574 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e578 data_ov15_0218e578: ; 0x0218e578 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218e57c data_ov15_0218e57c: ; 0x0218e57c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218e580 data_ov15_0218e580: ; 0x0218e580 .word _ZN5Actor8vfunc_4cEPi @@ -143649,7 +143649,7 @@ data_ov15_0218e900: ; 0x0218e900 .word func_ov15_02180c60 ; data_ov61_02180c60 .global data_ov15_0218e904 data_ov15_0218e904: ; 0x0218e904 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov15_0218e908 data_ov15_0218e908: ; 0x0218e908 .word func_ov15_02182eec ; data_ov31_02182eec @@ -143679,7 +143679,7 @@ data_ov15_0218e928: ; 0x0218e928 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218e92c data_ov15_0218e92c: ; 0x0218e92c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218e930 data_ov15_0218e930: ; 0x0218e930 .word func_ov15_02182fa0 ; data_ov31_02182fa0 @@ -143965,10 +143965,10 @@ data_ov15_0218eab8: ; 0x0218eab8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov15_0218eabc data_ov15_0218eabc: ; 0x0218eabc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov15_0218eac0 data_ov15_0218eac0: ; 0x0218eac0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov15_0218eac4 data_ov15_0218eac4: ; 0x0218eac4 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov17.inc b/asm/ov17.inc index 47aec804..bcc9f197 100644 --- a/asm/ov17.inc +++ b/asm/ov17.inc @@ -3,7 +3,7 @@ .extern Divide .extern _ZN11ItemManager12GetItemModelEj .extern _ZN11ItemManager19GetDungeonItemModelEj -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager18func_ov00_020c3b2cEPi .extern _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -20,7 +20,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -29,7 +29,7 @@ .extern _ZN5Actor18CollidesWithPlayerEj .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c198cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ .extern _ZN5Actor18func_ov00_020c2c0cEv .extern _ZN5Actor18func_ov00_020c2c70Ev @@ -44,13 +44,13 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -78,7 +78,7 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager18func_ov00_020ad594Ei .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02063e4c .extern data_027e0618 .extern data_027e071c @@ -86,7 +86,7 @@ .extern data_027e077c .extern data_027e0c54 .extern data_027e0ce0 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0e58 @@ -97,14 +97,14 @@ .extern data_027e0f70 .extern data_027e0f78 .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerAngle +.extern gPlayerControl .extern data_027e0fc4 -.extern data_027e0fc8 +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -137,15 +137,15 @@ .extern func_01ff991c .extern func_01ff9b4c .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffa9fc .extern func_01ffbe34 .extern func_01ffbf5c -.extern func_01fffd04 +.extern _ZN5Actor13func_01fffd04Ei .extern func_02002c14 .extern func_020038a4 .extern func_020078f4 @@ -197,7 +197,7 @@ .extern func_ov00_02079008 .extern func_ov00_02079470 .extern func_ov00_02079e68 -.extern func_ov00_0207a188 +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern func_ov00_0207a1c8 .extern func_ov00_0207b89c .extern func_ov00_0207c1b0 @@ -365,7 +365,7 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov17.s b/asm/ov17.s index 165c250d..27191d93 100644 --- a/asm/ov17.s +++ b/asm/ov17.s @@ -1102,7 +1102,7 @@ func_ov17_0215bf8c: ; 0x0215bf8c str r2, [sp, #0x34] mov r0, ip mov r2, ip - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x1000 ldr r1, _0215c0f8 ; =0x00001333 str r0, [sp, #0x20] @@ -1111,7 +1111,7 @@ func_ov17_0215bf8c: ; 0x0215bf8c str r1, [sp, #0x24] add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -1463,7 +1463,7 @@ _0215c4ec: str r4, [sp, #0x40] str r4, [sp, #0x44] ldrh r4, [r5, #0xc] - ldr r3, _0215c668 ; =data_02050f54 + ldr r3, _0215c668 ; =gSinCosTable add r0, sp, #0x10 mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 @@ -1480,7 +1480,7 @@ _0215c4ec: add r0, sp, #0x4c add r1, sp, #0x40 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #4 str r0, [sp] ldr r0, _0215c65c ; =data_027e0e58 @@ -1550,7 +1550,7 @@ _0215c658: .word gAdventureFlags _0215c65c: .word data_027e0e58 _0215c660: .word data_027e0ffc _0215c664: .word 0x000014cd -_0215c668: .word data_02050f54 +_0215c668: .word gSinCosTable _0215c66c: .word 0x0000022a _0215c670: .word 0xffffed1f _0215c674: .word 0x000001b9 @@ -1926,7 +1926,7 @@ _0215cabc: bl func_ov00_0208b9e4 cmp r0, #0 bne _0215cb50 - ldr r0, _0215cba4 ; =data_027e0fe4 + ldr r0, _0215cba4 ; =gActorManager ldr r1, [r4, #0xc0] ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -1974,7 +1974,7 @@ _0215cb84: ldmia sp!, {r4, pc} .align 2, 0 _0215cba0: .word gMapManager -_0215cba4: .word data_027e0fe4 +_0215cba4: .word gActorManager arm_func_end func_ov17_0215ca70 .global func_ov17_0215cba8 @@ -2033,7 +2033,7 @@ func_ov17_0215cc14: ; 0x0215cc14 cmp r0, #0 mvnge r0, #0 ldmgeia sp!, {r3, r4, r5, pc} - ldr r0, _0215cca8 ; =data_027e0fe4 + ldr r0, _0215cca8 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -2061,7 +2061,7 @@ _0215cca0: mvn r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0215cca8: .word data_027e0fe4 +_0215cca8: .word gActorManager _0215ccac: .word 0x43525953 arm_func_end func_ov17_0215cc14 @@ -2120,7 +2120,7 @@ _0215cd4c: cmp r5, #0 beq _0215cda4 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -2187,7 +2187,7 @@ func_ov17_0215ce04: ; 0x0215ce04 func_ov17_0215ce24: ; 0x0215ce24 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r2, _0215cee0 ; =data_027e0fe4 + ldr r2, _0215cee0 ; =gActorManager mov r5, r0 mov r4, r1 ldr r1, [r2] @@ -2201,7 +2201,7 @@ func_ov17_0215ce24: ; 0x0215ce24 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r4, r5, pc} - ldr r0, _0215cee0 ; =data_027e0fe4 + ldr r0, _0215cee0 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2233,7 +2233,7 @@ func_ov17_0215ce24: ; 0x0215ce24 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0215cee0: .word data_027e0fe4 +_0215cee0: .word gActorManager _0215cee4: .word 0x43525953 _0215cee8: .word gMapManager arm_func_end func_ov17_0215ce24 @@ -2278,7 +2278,7 @@ func_ov17_0215cf24: ; 0x0215cf24 mov r1, r0 add r0, r4, #0x188 blx func_ov00_020a9588 - ldr r0, _0215cf98 ; =data_027e0d0c + ldr r0, _0215cf98 ; =gVec3p_ZERO add r3, r4, #0x208 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -2296,7 +2296,7 @@ func_ov17_0215cf24: ; 0x0215cf24 .align 2, 0 _0215cf90: .word data_ov17_0216bcc4 _0215cf94: .word gItemManager -_0215cf98: .word data_027e0d0c +_0215cf98: .word gVec3p_ZERO arm_func_end func_ov17_0215cf24 .global func_ov17_0215cf9c @@ -2482,12 +2482,12 @@ _0215d1ec: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x48 add r1, r4, #0x208 mov r2, r0 - bl func_01ff9bc4 - ldr r3, _0215d478 ; =data_027e0d0c + bl Vec3p_Add + ldr r3, _0215d478 ; =gVec3p_ZERO ldr r1, _0215d47c ; =gMapManager ldr r2, [r3] add r0, sp, #0 @@ -2576,7 +2576,7 @@ _0215d2ec: _0215d360: mov r5, #1 _0215d364: - ldr r1, _0215d478 ; =data_027e0d0c + ldr r1, _0215d478 ; =gVec3p_ZERO add r0, r4, #0x60 mov r2, #0x3d bl func_0202b2e8 @@ -2651,7 +2651,7 @@ _0215d468: .word 0x000008cd _0215d46c: .word 0x0000019a _0215d470: .word 0xfffffe3d _0215d474: .word 0x000001c3 -_0215d478: .word data_027e0d0c +_0215d478: .word gVec3p_ZERO _0215d47c: .word gMapManager _0215d480: .word data_027e0ffc arm_func_end func_ov17_0215d114 @@ -2838,7 +2838,7 @@ func_ov17_0215d6c0: ; 0x0215d6c0 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x4c] ldr r0, [r4, #0x1f4] cmp r1, r0 @@ -3124,7 +3124,7 @@ _0215da20: mov r3, r2 str r0, [sp, #0x2c] mov r0, #0x1ec - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r4, #0x214] cmp r0, #0 beq _0215db48 @@ -3165,7 +3165,7 @@ _0215db54: mov r3, r2 str ip, [sp, #0x20] rsb r0, r0, #0 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r4, #0x218] cmp r0, #0 beq _0215dbe4 @@ -3205,7 +3205,7 @@ _0215dbf0: mov r3, r2 str r0, [sp, #0x14] mov r0, #0xcd - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r4, #0x21c] cmp r0, #0 beq _0215dc7c @@ -3246,7 +3246,7 @@ _0215dc88: mov r3, r2 str r0, [sp, #8] mvn r0, #0xcc - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r4, #0x220] cmp r0, #0 beq _0215dd18 @@ -3375,7 +3375,7 @@ func_ov17_0215de10: ; 0x0215de10 ldrb r0, [r4, #0x11b] cmp r0, #0 beq _0215de58 - ldr r0, _0215dfc4 ; =data_027e0fc8 + ldr r0, _0215dfc4 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -3387,7 +3387,7 @@ _0215de58: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r4, #0x78] - ldr r3, _0215dfc8 ; =data_02050f54 + ldr r3, _0215dfc8 ; =gSinCosTable add r0, sp, #0x54 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -3399,7 +3399,7 @@ _0215de58: blx func_01ff8214 add r0, r4, #0x200 ldrh r1, [r0, #0x2c] - ldr r3, _0215dfc8 ; =data_02050f54 + ldr r3, _0215dfc8 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -3477,8 +3477,8 @@ _0215df54: add sp, sp, #0x78 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0215dfc4: .word data_027e0fc8 -_0215dfc8: .word data_02050f54 +_0215dfc4: .word gPlayerLink +_0215dfc8: .word gSinCosTable _0215dfcc: .word data_ov00_020e9360 _0215dfd0: .word 0x000004cd _0215dfd4: .word data_ov00_020e9370 @@ -3487,13 +3487,13 @@ _0215dfd4: .word data_ov00_020e9370 .global func_ov17_0215dfd8 arm_func_start func_ov17_0215dfd8 func_ov17_0215dfd8: ; 0x0215dfd8 - ldr ip, _0215dfec ; =func_01ff9bc4 + ldr ip, _0215dfec ; =Vec3p_Add mov r2, r0 add r0, r2, #0x208 add r2, r2, #0x208 bx ip .align 2, 0 -_0215dfec: .word func_01ff9bc4 +_0215dfec: .word Vec3p_Add arm_func_end func_ov17_0215dfd8 .global func_ov17_0215dff0 @@ -3675,7 +3675,7 @@ func_ov17_0215e1f0: ; 0x0215e1f0 bl func_0204f614 mov lr, #0 str lr, [r4, #0x234] - ldr r0, _0215e2ac ; =data_027e0d0c + ldr r0, _0215e2ac ; =gVec3p_ZERO add ip, r4, #0x244 add r3, r4, #0x200 ldmia r0, {r0, r1, r2} @@ -3691,7 +3691,7 @@ _0215e29c: .word gItemManager _0215e2a0: .word data_ov17_0216be94 _0215e2a4: .word func_ov00_020b7d74 _0215e2a8: .word func_ov17_0215bf80 -_0215e2ac: .word data_027e0d0c +_0215e2ac: .word gVec3p_ZERO arm_func_end func_ov17_0215e1f0 .global func_ov17_0215e2b0 @@ -4239,7 +4239,7 @@ func_ov17_0215e9f4: ; 0x0215e9f4 ldmia sp!, {r3, r4, r5, pc} _0215ea3c: ldrsh r0, [r4, #0x78] - ldr r2, _0215ea88 ; =data_02050f54 + ldr r2, _0215ea88 ; =gSinCosTable ldr r1, _0215ea8c ; =0x00000333 add r0, r0, r0, lsl #1 mov r0, r0, lsl #0x10 @@ -4258,7 +4258,7 @@ _0215ea3c: bl Approach_thunk ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0215ea88: .word data_02050f54 +_0215ea88: .word gSinCosTable _0215ea8c: .word 0x00000333 _0215ea90: .word 0x0000019a arm_func_end func_ov17_0215e9f4 @@ -4339,12 +4339,12 @@ _0215eb90: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x48 add r1, r4, #0x244 mov r2, r0 - bl func_01ff9bc4 - ldr r0, _0215ee50 ; =data_027e0d0c + bl Vec3p_Add + ldr r0, _0215ee50 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x244] ldr r1, [r0, #4] @@ -4416,7 +4416,7 @@ _0215ec50: _0215ecc0: mov r5, #1 _0215ecc4: - ldr r1, _0215ee50 ; =data_027e0d0c + ldr r1, _0215ee50 ; =gVec3p_ZERO add r0, r4, #0x60 mov r2, #0x3d bl func_0202b2e8 @@ -4487,7 +4487,7 @@ _0215edb8: bl _ZN5Actor18func_ov00_020c2de4Ev cmp r0, #0 bne _0215ee3c - ldr r2, _0215ee50 ; =data_027e0d0c + ldr r2, _0215ee50 ; =gVec3p_ZERO mov r0, r4 ldr r3, [r2] mov r1, #6 @@ -4500,7 +4500,7 @@ _0215edb8: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} _0215edf4: - ldr r0, _0215ee54 ; =data_027e0fc8 + ldr r0, _0215ee54 ; =gPlayerLink add r1, r4, #8 ldr r0, [r0] bl func_ov00_020bc7e0 @@ -4511,9 +4511,9 @@ _0215edf4: bl func_ov17_0215e9ec b _0215ee3c _0215ee1c: - ldr r0, _0215ee58 ; =data_027e0f94 + ldr r0, _0215ee58 ; =gPlayerPos add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 ble _0215ee3c mov r0, r4 @@ -4526,9 +4526,9 @@ _0215ee3c: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0215ee50: .word data_027e0d0c -_0215ee54: .word data_027e0fc8 -_0215ee58: .word data_027e0f94 +_0215ee50: .word gVec3p_ZERO +_0215ee54: .word gPlayerLink +_0215ee58: .word gPlayerPos _0215ee5c: .word 0x00000733 arm_func_end func_ov17_0215ea94 @@ -4564,7 +4564,7 @@ func_ov17_0215ee6c: ; 0x0215ee6c mov r1, #1 bl func_0201987c ldrh r1, [r4, #0x78] - ldr r3, _0215ef68 ; =data_02050f54 + ldr r3, _0215ef68 ; =gSinCosTable add r0, sp, #0x54 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4576,7 +4576,7 @@ func_ov17_0215ee6c: ; 0x0215ee6c blx func_01ff8214 add r0, r4, #0x200 ldrh r1, [r0, #0x58] - ldr r3, _0215ef68 ; =data_02050f54 + ldr r3, _0215ef68 ; =gSinCosTable add r0, sp, #0x30 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4608,7 +4608,7 @@ func_ov17_0215ee6c: ; 0x0215ee6c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0215ef64: .word data_ov00_020e9360 -_0215ef68: .word data_02050f54 +_0215ef68: .word gSinCosTable arm_func_end func_ov17_0215ee6c .global func_ov17_0215ef6c @@ -4626,7 +4626,7 @@ func_ov17_0215ef6c: ; 0x0215ef6c ldrb r0, [r4, #0x11b] cmp r0, #0 beq _0215efb4 - ldr r0, _0215f01c ; =data_027e0fc8 + ldr r0, _0215f01c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -4660,7 +4660,7 @@ _0215efb4: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0215f01c: .word data_027e0fc8 +_0215f01c: .word gPlayerLink _0215f020: .word data_ov00_020e9c88 _0215f024: .word func_ov17_0215ee60 _0215f028: .word 0x000004cd @@ -4670,13 +4670,13 @@ _0215f02c: .word data_ov00_020e9370 .global func_ov17_0215f030 arm_func_start func_ov17_0215f030 func_ov17_0215f030: ; 0x0215f030 - ldr ip, _0215f044 ; =func_01ff9bc4 + ldr ip, _0215f044 ; =Vec3p_Add mov r2, r0 add r0, r2, #0x244 add r2, r2, #0x244 bx ip .align 2, 0 -_0215f044: .word func_01ff9bc4 +_0215f044: .word Vec3p_Add arm_func_end func_ov17_0215f030 .global func_ov17_0215f048 @@ -4726,7 +4726,7 @@ func_ov17_0215f098: ; 0x0215f098 mov r2, #0 blx func_ov00_020c0c08 ldr r1, _0215f104 ; =data_ov17_0216be94 - ldr r0, _0215f108 ; =data_027e0d0c + ldr r0, _0215f108 ; =gVec3p_ZERO str r1, [r4, #0x1e4] add r3, r4, #0x228 ldmia r0, {r0, r1, r2} @@ -4742,7 +4742,7 @@ func_ov17_0215f098: ; 0x0215f098 .align 2, 0 _0215f100: .word data_ov17_0216bee4 _0215f104: .word data_ov17_0216be94 -_0215f108: .word data_027e0d0c +_0215f108: .word gVec3p_ZERO arm_func_end func_ov17_0215f098 .global func_ov17_0215f10c @@ -4976,12 +4976,12 @@ _0215f3fc: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x48 add r1, r4, #0x228 mov r2, r0 - bl func_01ff9bc4 - ldr r1, _0215f708 ; =data_027e0d0c + bl Vec3p_Add + ldr r1, _0215f708 ; =gVec3p_ZERO mov r0, r4 ldr r2, [r1] str r2, [r4, #0x228] @@ -5074,7 +5074,7 @@ _0215f514: _0215f57c: mov r5, #1 _0215f580: - ldr r1, _0215f708 ; =data_027e0d0c + ldr r1, _0215f708 ; =gVec3p_ZERO add r0, r4, #0x60 mov r2, #0x3d bl func_0202b2e8 @@ -5142,7 +5142,7 @@ _0215f66c: bl _ZN5Actor18func_ov00_020c2de4Ev cmp r0, #0 bne _0215f6ec - ldr r2, _0215f708 ; =data_027e0d0c + ldr r2, _0215f708 ; =gVec3p_ZERO mov r0, r4 ldr r3, [r2] mov r1, #4 @@ -5154,7 +5154,7 @@ _0215f66c: bl func_ov17_0215f2e4 b _0215f6ec _0215f6a4: - ldr r0, _0215f710 ; =data_027e0fc8 + ldr r0, _0215f710 ; =gPlayerLink add r1, r4, #8 ldr r0, [r0] bl func_ov00_020bc7e0 @@ -5165,9 +5165,9 @@ _0215f6a4: bl func_ov17_0215f2e4 b _0215f6ec _0215f6cc: - ldr r0, _0215f714 ; =data_027e0f94 + ldr r0, _0215f714 ; =gPlayerPos add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 ble _0215f6ec mov r0, r4 @@ -5182,10 +5182,10 @@ _0215f6ec: .align 2, 0 _0215f700: .word 0xfffffe3d _0215f704: .word 0x000001c3 -_0215f708: .word data_027e0d0c +_0215f708: .word gVec3p_ZERO _0215f70c: .word data_027e0ffc -_0215f710: .word data_027e0fc8 -_0215f714: .word data_027e0f94 +_0215f710: .word gPlayerLink +_0215f714: .word gPlayerPos _0215f718: .word 0x00000733 arm_func_end func_ov17_0215f300 @@ -5213,7 +5213,7 @@ func_ov17_0215f728: ; 0x0215f728 ldrb r0, [r4, #0x11b] cmp r0, #0 beq _0215f770 - ldr r0, _0215f84c ; =data_027e0fc8 + ldr r0, _0215f84c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -5221,7 +5221,7 @@ func_ov17_0215f728: ; 0x0215f728 ldmeqia sp!, {r4, pc} _0215f770: ldrh r1, [r4, #0x78] - ldr r3, _0215f850 ; =data_02050f54 + ldr r3, _0215f850 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -5276,8 +5276,8 @@ _0215f770: add sp, sp, #0x48 ldmia sp!, {r4, pc} .align 2, 0 -_0215f84c: .word data_027e0fc8 -_0215f850: .word data_02050f54 +_0215f84c: .word gPlayerLink +_0215f850: .word gSinCosTable _0215f854: .word data_027e0f78 _0215f858: .word data_ov00_020e9370 arm_func_end func_ov17_0215f728 @@ -5285,13 +5285,13 @@ _0215f858: .word data_ov00_020e9370 .global func_ov17_0215f85c arm_func_start func_ov17_0215f85c func_ov17_0215f85c: ; 0x0215f85c - ldr ip, _0215f870 ; =func_01ff9bc4 + ldr ip, _0215f870 ; =Vec3p_Add mov r2, r0 add r0, r2, #0x228 add r2, r2, #0x228 bx ip .align 2, 0 -_0215f870: .word func_01ff9bc4 +_0215f870: .word Vec3p_Add arm_func_end func_ov17_0215f85c .global func_ov17_0215f874 @@ -6764,7 +6764,7 @@ func_ov17_02160954: ; 0x02160954 mov r4, r0 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r4 bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} @@ -6791,7 +6791,7 @@ func_ov17_02160984: ; 0x02160984 addne sp, sp, #0x38 ldmneia sp!, {r4, pc} add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -6918,14 +6918,14 @@ _02160b10: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r4, [r5, #0x64] cmp r4, #0 addge sp, sp, #0x20 ldmgeia sp!, {r3, r4, r5, pc} mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r5, #0x111] cmp r0, #0 addeq sp, sp, #0x20 @@ -6992,13 +6992,13 @@ _02160c28: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r4, [r5, #0x64] cmp r4, #0 bge _02160d68 mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r5, #0x111] cmp r0, #0 beq _02160d68 @@ -7099,7 +7099,7 @@ _02160d94: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} _02160dd0: - ldr r0, _02160e6c ; =data_027e0fc8 + ldr r0, _02160e6c ; =gPlayerLink ldr r1, [r5, #0x1b4] ldr r0, [r0] bl func_ov00_020bce48 @@ -7109,7 +7109,7 @@ _02160dd0: mov r0, r5 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r5 bl _ZN5Actor4KillEv add sp, sp, #0x20 @@ -7142,7 +7142,7 @@ _02160e5c: .word gMapManager _02160e60: .word data_027e0ffc _02160e64: .word 0x000001ab _02160e68: .word 0xfffffe66 -_02160e6c: .word data_027e0fc8 +_02160e6c: .word gPlayerLink arm_func_end func_ov17_02160a78 .global func_ov17_02160e70 @@ -7198,7 +7198,7 @@ func_ov17_02160ee4: ; 0x02160ee4 cmp r0, #0 beq _02160f48 ldrh r1, [r4, #0x78] - ldr r3, _02160f90 ; =data_02050f54 + ldr r3, _02160f90 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7234,7 +7234,7 @@ _02160f48: add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_02160f90: .word data_02050f54 +_02160f90: .word gSinCosTable _02160f94: .word 0x00000266 _02160f98: .word data_ov00_020e9370 arm_func_end func_ov17_02160ee4 @@ -7264,7 +7264,7 @@ func_ov17_02160fa4: ; 0x02160fa4 add r1, r4, #0x48 str r3, [r4, #0x1c0] moveq r6, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #8] mov r1, r6 bl func_02002c14 @@ -7459,7 +7459,7 @@ func_ov17_021611cc: ; 0x021611cc ldr r0, [r4, #0xb4] cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021612a4 ; =data_027e0f90 + ldr r0, _021612a4 ; =gPlayer mov r1, #0x3e8 ldr r0, [r0] rsb r1, r1, #0 @@ -7483,15 +7483,15 @@ _0216127c: bl _ZN14AdventureFlags18func_ov00_02098058Ev cmp r0, #0xa ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021612ac ; =data_027e0fc8 + ldr r0, _021612ac ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bcfb8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021612a4: .word data_027e0f90 +_021612a4: .word gPlayer _021612a8: .word gAdventureFlags -_021612ac: .word data_027e0fc8 +_021612ac: .word gPlayerLink arm_func_end func_ov17_021611cc .global func_ov17_021612b0 @@ -7753,7 +7753,7 @@ func_ov17_0216161c: ; 0x0216161c bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _02161670 - ldr r0, _0216167c ; =data_027e0fe4 + ldr r0, _0216167c ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -7766,7 +7766,7 @@ _02161670: ldmia sp!, {r4, pc} .align 2, 0 _02161678: .word gMapManager -_0216167c: .word data_027e0fe4 +_0216167c: .word gActorManager arm_func_end func_ov17_0216161c .global func_ov17_02161680 @@ -7862,7 +7862,7 @@ func_ov17_021617a8: ; 0x021617a8 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02161820 ; =data_02050f54 + ldr r3, _02161820 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7889,7 +7889,7 @@ func_ov17_021617a8: ; 0x021617a8 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02161820: .word data_02050f54 +_02161820: .word gSinCosTable arm_func_end func_ov17_021617a8 .global func_ov17_02161824 @@ -7997,7 +7997,7 @@ func_ov17_02161918: ; 0x02161918 bl func_0202bbbc cmp r0, #3 ldreq r0, [r5, #8] - ldr r2, _02161a64 ; =data_02050f54 + ldr r2, _02161a64 ; =gSinCosTable cmpeq r0, #5 moveq r4, #0 mov r0, r4, asr #0x4 @@ -8020,11 +8020,11 @@ func_ov17_02161918: ; 0x02161918 add r0, sp, #0x58 add r1, sp, #0x40 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x58 add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #4 str r0, [sp] ldr r0, _02161a68 ; =data_027e0e58 @@ -8051,7 +8051,7 @@ func_ov17_02161918: ; 0x02161918 ldmia sp!, {r4, r5, pc} .align 2, 0 _02161a60: .word 0x00000b33 -_02161a64: .word data_02050f54 +_02161a64: .word gSinCosTable _02161a68: .word data_027e0e58 _02161a6c: .word 0x00000272 arm_func_end func_ov17_02161918 @@ -8343,7 +8343,7 @@ func_ov17_02161d50: ; 0x02161d50 str r3, [sp, #0x2c] str r1, [sp, #0x28] ldrh r1, [r4, #0xc] - ldr r3, _02161df4 ; =data_02050f54 + ldr r3, _02161df4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8363,7 +8363,7 @@ func_ov17_02161d50: ; 0x02161d50 ldmia sp!, {r4, pc} .align 2, 0 _02161df0: .word 0x00002666 -_02161df4: .word data_02050f54 +_02161df4: .word gSinCosTable arm_func_end func_ov17_02161d50 .global func_ov17_02161df8 @@ -8828,7 +8828,7 @@ _021623e4: .word 0x00000257 func_ov17_021623e8: ; 0x021623e8 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r3, _021624d8 ; =data_027e0fe4 + ldr r3, _021624d8 ; =gActorManager mov r4, r0 ldr r0, [r3] mov r5, r2 @@ -8846,7 +8846,7 @@ func_ov17_021623e8: ; 0x021623e8 str r0, [sp] str r2, [sp, #4] str r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r4, #0x60] mov r0, r0, lsl #0x10 cmp r1, #0 @@ -8890,7 +8890,7 @@ _021624cc: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_021624d8: .word data_027e0fe4 +_021624d8: .word gActorManager _021624dc: .word 0x41525257 arm_func_end func_ov17_021623e8 @@ -8901,7 +8901,7 @@ func_ov17_021624e0: ; 0x021624e0 cmp r1, #1 moveq r0, #1 bxeq lr - ldr r1, _0216252c ; =data_027e0fac + ldr r1, _0216252c ; =gPlayerAngle ldrsh r0, [r0, #0xc] ldrsh r1, [r1] sub r1, r1, #0x8000 @@ -8919,7 +8919,7 @@ _02162524: mov r0, #1 bx lr .align 2, 0 -_0216252c: .word data_027e0fac +_0216252c: .word gPlayerAngle arm_func_end func_ov17_021624e0 .global func_ov17_02162530 @@ -8929,7 +8929,7 @@ func_ov17_02162530: ; 0x02162530 sub sp, sp, #0x48 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02162608 ; =data_02050f54 + ldr r3, _02162608 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8944,7 +8944,7 @@ func_ov17_02162530: ; 0x02162530 add r0, sp, #0 bne _021625b0 ldrsh r1, [r4, #0x60] - ldr r3, _02162608 ; =data_02050f54 + ldr r3, _02162608 ; =gSinCosTable rsb r1, r1, #0 mov r1, r1, lsl #0x10 mov r1, r1, lsr #0x10 @@ -8959,7 +8959,7 @@ func_ov17_02162530: ; 0x02162530 b _021625d8 _021625b0: ldrh r1, [r4, #0x60] - ldr r3, _02162608 ; =data_02050f54 + ldr r3, _02162608 ; =gSinCosTable mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 @@ -8982,7 +8982,7 @@ _021625d8: add sp, sp, #0x48 ldmia sp!, {r4, pc} .align 2, 0 -_02162608: .word data_02050f54 +_02162608: .word gSinCosTable arm_func_end func_ov17_02162530 .global func_ov17_0216260c @@ -9121,7 +9121,7 @@ func_ov17_0216274c: ; 0x0216274c sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _021627a4 ; =data_02050f54 + ldr r3, _021627a4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -9140,7 +9140,7 @@ func_ov17_0216274c: ; 0x0216274c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_021627a4: .word data_02050f54 +_021627a4: .word gSinCosTable arm_func_end func_ov17_0216274c .global func_ov17_021627a8 @@ -9680,7 +9680,7 @@ func_ov17_02162e84: ; 0x02162e84 blx r1 b _02162f30 _02162ea4: - ldr r0, _02162f38 ; =data_027e0fe4 + ldr r0, _02162f38 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -9723,7 +9723,7 @@ _02162f30: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02162f38: .word data_027e0fe4 +_02162f38: .word gActorManager _02162f3c: .word 0x424c5354 _02162f40: .word 0x41525257 _02162f44: .word 0x424d524e @@ -9988,7 +9988,7 @@ func_ov17_02163254: ; 0x02163254 mov r0, r4 mov r2, r4 add r1, r5, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #4] add r0, r0, #0x66 add r0, r0, #0x600 @@ -10101,7 +10101,7 @@ func_ov17_02163390: ; 0x02163390 addeq sp, sp, #0x34 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, pc} ldrh r1, [r7, #0xc] - ldr r3, _021634d4 ; =data_02050f54 + ldr r3, _021634d4 ; =gSinCosTable add r0, sp, #0x10 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -10176,7 +10176,7 @@ _021634c0: add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_021634d4: .word data_02050f54 +_021634d4: .word gSinCosTable arm_func_end func_ov17_02163390 .global func_ov17_021634d8 @@ -10430,7 +10430,7 @@ func_ov17_021637a8: ; 0x021637a8 str ip, [sp, #0x2c] str r3, [sp, #0x30] str ip, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x800 add r0, sp, #0x38 str r1, [sp, #0x20] @@ -10438,7 +10438,7 @@ func_ov17_021637a8: ; 0x021637a8 str r1, [sp, #0x28] add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #9 @@ -10647,7 +10647,7 @@ func_ov17_02163ab8: ; 0x02163ab8 mov r4, r0 add r0, r4, #0x6c bl func_ov14_0213215c - ldr r2, _02163b00 ; =data_02050f54 + ldr r2, _02163b00 ; =gSinCosTable add r0, sp, #0 ldrsh r1, [r2] ldrsh r2, [r2, #2] @@ -10661,7 +10661,7 @@ func_ov17_02163ab8: ; 0x02163ab8 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02163b00: .word data_02050f54 +_02163b00: .word gSinCosTable arm_func_end func_ov17_02163ab8 .global func_ov17_02163b04 @@ -10876,7 +10876,7 @@ func_ov17_02163d2c: ; 0x02163d2c str r2, [sp, #0x1c] mov r0, ip mov r2, ip - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x800 ldr r1, _02163e20 ; =0x00000b33 str r0, [sp, #8] @@ -10885,7 +10885,7 @@ func_ov17_02163d2c: ; 0x02163d2c str r1, [sp, #0xc] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #9 @@ -11644,11 +11644,11 @@ _0216478c: add r0, sp, #0x38 add r1, r4, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x2c add r1, r4, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x6000 orr r0, r0, #0x2000 @@ -11691,7 +11691,7 @@ _0216478c: add r0, r4, #0x18 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 ldr r3, [r0] mov r1, #0 @@ -11798,7 +11798,7 @@ _021649a8: ldr r1, _02164a60 ; =0xfffffccd add r0, sp, #0x10 str r1, [r4, #0x64] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -11874,7 +11874,7 @@ func_ov17_02164aa4: ; 0x02164aa4 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02164b58 ; =data_02050f54 + ldr r3, _02164b58 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11906,7 +11906,7 @@ func_ov17_02164aa4: ; 0x02164aa4 add r0, sp, #0 add r1, r4, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x78 ldr r3, [r0] add r1, sp, #0xc @@ -11916,7 +11916,7 @@ func_ov17_02164aa4: ; 0x02164aa4 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02164b58: .word data_02050f54 +_02164b58: .word gSinCosTable _02164b5c: .word 0x0000099a arm_func_end func_ov17_02164aa4 @@ -12326,7 +12326,7 @@ func_ov17_02165068: ; 0x02165068 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0x64] - ldr r3, _021650e0 ; =data_02050f54 + ldr r3, _021650e0 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -12353,7 +12353,7 @@ func_ov17_02165068: ; 0x02165068 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_021650e0: .word data_02050f54 +_021650e0: .word gSinCosTable arm_func_end func_ov17_02165068 .global func_ov17_021650e4 @@ -12487,7 +12487,7 @@ _02165280: .word gMapManager func_ov17_02165284: ; 0x02165284 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 - ldr r1, _02165304 ; =data_027e0f94 + ldr r1, _02165304 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -12504,22 +12504,22 @@ func_ov17_02165284: ; 0x02165284 addne sp, sp, #0x14 movne r0, #1 ldmneia sp!, {r3, r4, pc} - ldr r0, _02165308 ; =data_027e0fe4 + ldr r0, _02165308 ; =gActorManager ldr r3, _0216530c ; =data_ov17_0216c794 ldr r0, [r0] add r1, sp, #0 mov r2, #0 str r3, [sp] str r4, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 movgt r0, #1 movle r0, #0 add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02165304: .word data_027e0f94 -_02165308: .word data_027e0fe4 +_02165304: .word gPlayerPos +_02165308: .word gActorManager _0216530c: .word data_ov17_0216c794 arm_func_end func_ov17_02165284 @@ -13525,7 +13525,7 @@ _02165de8: mov r1, #1 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii b _02165e2c _02165dfc: ldr r0, _02165e38 ; =data_027e0f6c @@ -13539,7 +13539,7 @@ _02165dfc: mov r1, #1 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _02165e2c: mov r0, #1 add sp, sp, #0xb0 @@ -13832,7 +13832,7 @@ _021661e4: .word gAdventureFlags func_ov17_021661e8: ; 0x021661e8 stmdb sp!, {lr} sub sp, sp, #0xc - ldr r1, _02166228 ; =data_027e0f94 + ldr r1, _02166228 ; =gPlayerPos add r0, r0, #0x170 ldr r3, [r1] ldr r2, [r1, #4] @@ -13847,7 +13847,7 @@ func_ov17_021661e8: ; 0x021661e8 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_02166228: .word data_027e0f94 +_02166228: .word gPlayerPos arm_func_end func_ov17_021661e8 .global func_ov17_0216622c @@ -13860,7 +13860,7 @@ func_ov17_0216622c: ; 0x0216622c add r1, sp, #0xc ldr r2, [r2, #0x3c] blx r2 - ldr r0, _0216628c ; =data_027e0f94 + ldr r0, _0216628c ; =gPlayerPos ldr r2, [sp, #0x10] ldr r1, [r0, #4] ldr r3, [r0] @@ -13871,14 +13871,14 @@ func_ov17_0216622c: ; 0x0216622c add r1, sp, #0xc str r3, [sp, #8] str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 movlt r0, #1 movge r0, #0 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 -_0216628c: .word data_027e0f94 +_0216628c: .word gPlayerPos arm_func_end func_ov17_0216622c .global func_ov17_02166290 @@ -14176,7 +14176,7 @@ func_ov17_02166634: ; 0x02166634 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #1 ldmia sp!, {r4, pc} arm_func_end func_ov17_02166634 @@ -14411,7 +14411,7 @@ func_ov17_02166878: ; 0x02166878 str r1, [sp, #0x30] str r1, [sp, #0x38] add r1, sp, #0x30 - bl func_01ff9bf8 + bl Vec3p_Sub ldrb r2, [r9, #0x7a] mov r1, #0x2000 mov r0, r4 @@ -14422,7 +14422,7 @@ func_ov17_02166878: ; 0x02166878 str r1, [sp, #0x2c] add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f str r0, [sp, #8] @@ -15049,7 +15049,7 @@ _02167188: bl func_01ffa9fc _02167208: ldrsh r1, [r4, #0x78] - ldr r3, _021672d0 ; =data_02050f54 + ldr r3, _021672d0 ; =gSinCosTable add r0, sp, #0x20 sub r1, r1, #0x8000 mov r1, r1, lsl #0x10 @@ -15099,7 +15099,7 @@ _02167208: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _021672cc: .word 0x000008a4 -_021672d0: .word data_02050f54 +_021672d0: .word gSinCosTable arm_func_end func_ov17_021670c0 .global func_ov17_021672d4 @@ -15192,7 +15192,7 @@ _021673a0: bl func_01ffa9fc _02167424: ldrsh r1, [r4, #0x78] - ldr r2, _021674e4 ; =data_02050f54 + ldr r2, _021674e4 ; =gSinCosTable add r0, sp, #0x20 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -15240,7 +15240,7 @@ _02167424: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _021674e0: .word 0x000008a4 -_021674e4: .word data_02050f54 +_021674e4: .word gSinCosTable arm_func_end func_ov17_021672d4 .global func_ov17_021674e8 @@ -15398,7 +15398,7 @@ func_ov17_021676ac: ; 0x021676ac str lr, [sp, #0x5c] str ip, [sp, #0x60] str lr, [sp, #0x64] - bl func_01ff9bf8 + bl Vec3p_Sub ldrb r1, [r4, #0x7a] add r0, sp, #0x68 mov r3, #0x2000 @@ -15408,7 +15408,7 @@ func_ov17_021676ac: ; 0x021676ac str ip, [sp, #0x50] str r3, [sp, #0x54] str ip, [sp, #0x58] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x74 ldr ip, [sp, #4] add r3, sp, #0x38 @@ -15446,7 +15446,7 @@ _021677a8: str lr, [sp, #0x2c] str ip, [sp, #0x30] str lr, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub ldrb r1, [r4, #0x7a] add r0, sp, #0x68 mov r3, #0x2000 @@ -15457,7 +15457,7 @@ _021677a8: str ip, [sp, #0x20] str r3, [sp, #0x24] str ip, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x74 ldr ip, [sp, #4] add r3, sp, #8 @@ -15503,7 +15503,7 @@ _02167874: .word func_ov00_0208b9e4 func_ov17_02167878: ; 0x02167878 stmdb sp!, {lr} sub sp, sp, #0xc - ldr r2, _021678bc ; =data_027e0f94 + ldr r2, _021678bc ; =gPlayerPos add r1, sp, #0 ldr ip, [r2] ldr r3, [r2, #4] @@ -15512,14 +15512,14 @@ func_ov17_02167878: ; 0x02167878 ldr r2, [r2, #8] add r0, r0, #0x18 str r2, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x4000 movge r0, #1 movlt r0, #0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_021678bc: .word data_027e0f94 +_021678bc: .word gPlayerPos arm_func_end func_ov17_02167878 .global func_ov17_021678c0 @@ -15746,7 +15746,7 @@ _02167b7c: add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} _02167b9c: - ldr r0, _02167cc8 ; =data_027e0fe4 + ldr r0, _02167cc8 ; =gActorManager add r1, r5, #0x68 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -15761,7 +15761,7 @@ _02167b9c: add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} _02167bd4: - ldr r0, _02167ccc ; =data_027e0fb8 + ldr r0, _02167ccc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13IsNotTouchingEv cmp r0, #0 @@ -15826,8 +15826,8 @@ _02167cbc: ldmia sp!, {r4, r5, pc} .align 2, 0 _02167cc4: .word gAdventureFlags -_02167cc8: .word data_027e0fe4 -_02167ccc: .word data_027e0fb8 +_02167cc8: .word gActorManager +_02167ccc: .word gPlayerControl _02167cd0: .word data_027e0f64 arm_func_end func_ov17_02167aac @@ -15892,7 +15892,7 @@ _02167d98: add r0, sp, #0x10 bic r1, r1, #4 str r1, [r4, #4] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -15970,7 +15970,7 @@ _02167eac: mov r0, #0 ldmia sp!, {r4, r5, pc} _02167eb8: - ldr r0, _02168064 ; =data_027e0fe4 + ldr r0, _02168064 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj movs r4, r0 @@ -16082,7 +16082,7 @@ _02168058: add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02168064: .word data_027e0fe4 +_02168064: .word gActorManager _02168068: .word 0x41525257 _0216806c: .word 0x424d524e _02168070: .word 0x5342454d @@ -16108,7 +16108,7 @@ func_ov17_0216808c: ; 0x0216808c mov r3, #0x400 bl func_ov00_0208b8e0 ldrh r1, [r4, #0xc] - ldr r3, _02168104 ; =data_02050f54 + ldr r3, _02168104 ; =gSinCosTable add r0, sp, #8 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -16128,7 +16128,7 @@ func_ov17_0216808c: ; 0x0216808c ldmia sp!, {r3, r4, pc} .align 2, 0 _02168100: .word 0x0000059a -_02168104: .word data_02050f54 +_02168104: .word gSinCosTable arm_func_end func_ov17_0216808c .global func_ov17_02168108 @@ -16280,7 +16280,7 @@ func_ov17_0216826c: ; 0x0216826c mov r0, r4 mov r2, r4 add r1, sp, #0x30 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x1000 str r0, [sp, #0x24] str r0, [sp, #0x2c] @@ -16289,7 +16289,7 @@ func_ov17_0216826c: ; 0x0216826c add r0, sp, #0x3c add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f ldrh r1, [r10, #0x26] @@ -16923,7 +16923,7 @@ _02168b1c: strh r0, [r4, #0x24] add r0, r4, #0 add r0, #0x28 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [r4, #0x3c] @@ -17160,7 +17160,7 @@ func_ov17_02168d10: ; 0x02168d10 cmp r1, r0 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0xb4] - ldr r3, _02168d88 ; =data_02050f54 + ldr r3, _02168d88 ; =gSinCosTable ldr r0, [r1] bic r0, r0, #2 str r0, [r1] @@ -17178,7 +17178,7 @@ func_ov17_02168d10: ; 0x02168d10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02168d84: .word data_ov17_0216b1e4 -_02168d88: .word data_02050f54 +_02168d88: .word gSinCosTable arm_func_end func_ov17_02168d10 .global func_ov17_02168d8c @@ -17237,7 +17237,7 @@ func_ov17_02168dc4: ; 0x02168dc4 str r2, [sp] add r0, r4, #0xcc mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mvn r0, #0 str r0, [r4, #0xe0] str r0, [r4, #0xe4] @@ -17375,7 +17375,7 @@ _02168fd4: str r4, [sp, #0x38] str r3, [sp, #0x3c] str r4, [sp, #0x40] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, r4 ldr r1, _02169184 ; =0x00001333 add r0, sp, #0x80 @@ -17384,7 +17384,7 @@ _02168fd4: str r2, [sp, #0x34] add r1, sp, #0x2c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #9 @@ -17423,7 +17423,7 @@ _02168fd4: cmp r0, #0x2f bne _02169160 add r0, sp, #0x54 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x54 str r1, [sp, #0x70] @@ -17437,7 +17437,7 @@ _02168fd4: add r3, sp, #0x54 add r2, r6, #0x18 bl func_ov00_020c4048 - ldr r0, _02169194 ; =data_027e0fe4 + ldr r0, _02169194 ; =gActorManager add r1, r6, #0xe0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -17472,7 +17472,7 @@ _02169184: .word 0x00001333 _02169188: .word data_027e0d38 _0216918c: .word data_027e0fe8 _02169190: .word 0x4c4f4e44 -_02169194: .word data_027e0fe4 +_02169194: .word gActorManager arm_func_end func_ov17_02168ed0 .global func_ov17_02169198 @@ -17641,10 +17641,10 @@ func_ov17_02169354: ; 0x02169354 add r1, sp, #0xc mov r0, r3 mov r2, r3 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0 mov r1, r5 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02169408 ; =0x00000b33 cmp r0, r1 addge sp, sp, #0x18 @@ -17683,7 +17683,7 @@ func_ov17_0216940c: ; 0x0216940c addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} ldrsh r1, [r4, #0xc] - ldr r3, _02169488 ; =data_02050f54 + ldr r3, _02169488 ; =gSinCosTable add r0, sp, #0 sub r1, r1, #0x4000 mov r1, r1, lsl #0x10 @@ -17705,7 +17705,7 @@ func_ov17_0216940c: ; 0x0216940c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02169488: .word data_02050f54 +_02169488: .word gSinCosTable arm_func_end func_ov17_0216940c .global func_ov17_0216948c @@ -17865,7 +17865,7 @@ _02169634: str ip, [sp, #0x3c] str r3, [sp, #0x40] str ip, [sp, #0x44] - bl func_01ff9bf8 + bl Vec3p_Sub mov r3, #0x800 add r0, sp, #0x48 add r1, sp, #0x30 @@ -17873,7 +17873,7 @@ _02169634: str r3, [sp, #0x30] str r3, [sp, #0x34] str r3, [sp, #0x38] - bl func_01ff9bc4 + bl Vec3p_Add ldrsh r0, [r4, #0xc] bl func_0202bbbc cmp r0, #3 @@ -18162,7 +18162,7 @@ func_ov17_02169a58: ; 0x02169a58 bl _ZN14AdventureFlags18func_ov00_02097b9cEv cmp r0, #0 beq _02169b08 - ldr r0, _02169b40 ; =data_027e0fe4 + ldr r0, _02169b40 ; =gActorManager add r1, r4, #0x68 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -18202,7 +18202,7 @@ _02169b08: ldmia sp!, {r4, pc} .align 2, 0 _02169b3c: .word gAdventureFlags -_02169b40: .word data_027e0fe4 +_02169b40: .word gActorManager _02169b44: .word data_027e0f64 arm_func_end func_ov17_02169a58 @@ -18316,7 +18316,7 @@ func_ov17_02169cb4: ; 0x02169cb4 stmdb sp!, {r3, lr} cmp r1, #0xb ble _02169cec - ldr r0, _02169cf4 ; =data_027e0fe4 + ldr r0, _02169cf4 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -18331,7 +18331,7 @@ _02169cec: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_02169cf4: .word data_027e0fe4 +_02169cf4: .word gActorManager _02169cf8: .word 0x42494752 arm_func_end func_ov17_02169cb4 @@ -18392,8 +18392,8 @@ func_ov17_02169d4c: ; 0x02169d4c add r0, sp, #0x20 add r1, r6, #0x18 mov r2, r0 - bl func_01ff9bc4 - ldr r1, _02169ebc ; =data_027e0fe4 + bl Vec3p_Add + ldr r1, _02169ebc ; =gActorManager ldr r2, _02169ec0 ; =0x42494752 ldr r1, [r1] add r0, sp, #0 @@ -18403,7 +18403,7 @@ func_ov17_02169d4c: ; 0x02169d4c mvn r0, #0 cmp r1, r0 beq _02169e50 - ldr r0, _02169ebc ; =data_027e0fe4 + ldr r0, _02169ebc ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -18420,7 +18420,7 @@ func_ov17_02169d4c: ; 0x02169d4c str r2, [sp, #0x18] ldr r2, [r4, #0x50] str r2, [sp, #0x1c] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x800 bge _02169e50 ldr r0, [sp] @@ -18440,7 +18440,7 @@ func_ov17_02169d4c: ; 0x02169d4c mov r0, #2 ldmia sp!, {r3, r4, r5, r6, pc} _02169e50: - ldr r1, _02169ec4 ; =data_027e0f94 + ldr r1, _02169ec4 ; =gPlayerPos add r0, r6, #0x38 ldr r3, [r1] ldr r2, [r1, #4] @@ -18454,7 +18454,7 @@ _02169e50: blx r2 cmp r0, #0 beq _02169eac - ldr r0, _02169ec8 ; =data_027e0fc8 + ldr r0, _02169ec8 ; =gPlayerLink add r1, sp, #0x20 ldr r0, [r0] mov r2, r5 @@ -18469,10 +18469,10 @@ _02169eac: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02169eb8: .word 0x00001333 -_02169ebc: .word data_027e0fe4 +_02169ebc: .word gActorManager _02169ec0: .word 0x42494752 -_02169ec4: .word data_027e0f94 -_02169ec8: .word data_027e0fc8 +_02169ec4: .word gPlayerPos +_02169ec8: .word gPlayerLink arm_func_end func_ov17_02169d4c .global func_ov17_02169ecc @@ -18486,7 +18486,7 @@ func_ov17_02169ecc: ; 0x02169ecc addeq sp, sp, #0xc moveq r0, #1 ldmeqia sp!, {pc} - ldr r2, _02169f48 ; =data_027e0fe4 + ldr r2, _02169f48 ; =gActorManager add r1, r0, #0x68 ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -18510,7 +18510,7 @@ func_ov17_02169ecc: ; 0x02169ecc add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_02169f48: .word data_027e0fe4 +_02169f48: .word gActorManager arm_func_end func_ov17_02169ecc .global func_ov17_02169f4c @@ -18671,14 +18671,14 @@ _0216a0cc: bl _ZN14AdventureFlags18func_ov00_02098058Ev cmp r0, #0xa ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _0216a0f8 ; =data_027e0fc8 + ldr r0, _0216a0f8 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bcfb8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0216a0f4: .word gAdventureFlags -_0216a0f8: .word data_027e0fc8 +_0216a0f8: .word gPlayerLink arm_func_end func_ov17_0216a06c .global func_ov17_0216a0fc @@ -18869,7 +18869,7 @@ func_ov17_0216a348: ; 0x0216a348 ldrh r1, [r4, #0x24] cmp r1, #0 beq _0216a3b8 - ldr r0, _0216a3e4 ; =data_027e0fe4 + ldr r0, _0216a3e4 ; =gActorManager mov r2, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -18878,7 +18878,7 @@ func_ov17_0216a348: ; 0x0216a348 movne r0, #0 ldmia sp!, {r4, pc} _0216a3b8: - ldr r0, _0216a3e4 ; =data_027e0fe4 + ldr r0, _0216a3e4 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -18891,7 +18891,7 @@ _0216a3d8: ldmia sp!, {r4, pc} .align 2, 0 _0216a3e0: .word gMapManager -_0216a3e4: .word data_027e0fe4 +_0216a3e4: .word gActorManager arm_func_end func_ov17_0216a348 .global func_ov17_0216a3e8 @@ -18925,7 +18925,7 @@ _0216a444: ldrh r1, [r4, #0x24] cmp r1, #0 beq _0216a484 - ldr r0, _0216a4a8 ; =data_027e0fe4 + ldr r0, _0216a4a8 ; =gActorManager mov r2, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -18939,7 +18939,7 @@ _0216a444: mov r0, #1 ldmia sp!, {r4, pc} _0216a484: - ldr r0, _0216a4a8 ; =data_027e0fe4 + ldr r0, _0216a4a8 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -18949,7 +18949,7 @@ _0216a484: ldmia sp!, {r4, pc} .align 2, 0 _0216a4a4: .word gMapManager -_0216a4a8: .word data_027e0fe4 +_0216a4a8: .word gActorManager arm_func_end func_ov17_0216a3e8 .global func_ov17_0216a4ac @@ -18990,7 +18990,7 @@ _0216a524: ldrh r1, [r4, #0x24] cmp r1, #0 beq _0216a550 - ldr r0, _0216a5b4 ; =data_027e0fe4 + ldr r0, _0216a5b4 ; =gActorManager mov r2, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3bb0EiPi @@ -18999,7 +18999,7 @@ _0216a524: mov r0, #0 ldmia sp!, {r4, pc} _0216a550: - ldr r0, _0216a5b4 ; =data_027e0fe4 + ldr r0, _0216a5b4 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -19027,7 +19027,7 @@ _0216a5a4: .align 2, 0 _0216a5ac: .word data_027e077c _0216a5b0: .word gMapManager -_0216a5b4: .word data_027e0fe4 +_0216a5b4: .word gActorManager arm_func_end func_ov17_0216a4ac .global func_ov17_0216a5b8 @@ -19037,7 +19037,7 @@ func_ov17_0216a5b8: ; 0x0216a5b8 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _0216a630 ; =data_02050f54 + ldr r3, _0216a630 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -19064,7 +19064,7 @@ func_ov17_0216a5b8: ; 0x0216a5b8 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_0216a630: .word data_02050f54 +_0216a630: .word gSinCosTable arm_func_end func_ov17_0216a5b8 .global func_ov17_0216a634 @@ -19165,7 +19165,7 @@ func_ov17_0216a734: ; 0x0216a734 bl func_0202bbbc cmp r0, #3 ldreq r0, [r5, #8] - ldr r2, _0216a80c ; =data_02050f54 + ldr r2, _0216a80c ; =gSinCosTable cmpeq r0, #5 moveq r4, #0 mov r0, r4, asr #0x4 @@ -19184,7 +19184,7 @@ func_ov17_0216a734: ; 0x0216a734 add r0, sp, #0x40 add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #4 str r0, [sp] ldr r0, _0216a810 ; =data_027e0e58 @@ -19200,7 +19200,7 @@ func_ov17_0216a734: ; 0x0216a734 ldmia sp!, {r4, r5, pc} .align 2, 0 _0216a808: .word 0x00000b33 -_0216a80c: .word data_02050f54 +_0216a80c: .word gSinCosTable _0216a810: .word data_027e0e58 _0216a814: .word 0x00000272 arm_func_end func_ov17_0216a734 @@ -19414,7 +19414,7 @@ func_ov17_0216a9fc: ; 0x0216a9fc str r3, [sp, #0x18] str ip, [sp, #0x14] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x800 str r0, [sp, #8] str r0, [sp, #0x10] @@ -19423,7 +19423,7 @@ func_ov17_0216a9fc: ; 0x0216a9fc add r0, sp, #0x38 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #9 @@ -21473,10 +21473,10 @@ data_ov17_0216bd04: ; 0x0216bd04 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov17_0216bd08 data_ov17_0216bd08: ; 0x0216bd08 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov17_0216bd0c data_ov17_0216bd0c: ; 0x0216bd0c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov17_0216bd10 data_ov17_0216bd10: ; 0x0216bd10 .word _ZN5Actor8vfunc_4cEPi @@ -21679,10 +21679,10 @@ data_ov17_0216be0c: ; 0x0216be0c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov17_0216be10 data_ov17_0216be10: ; 0x0216be10 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov17_0216be14 data_ov17_0216be14: ; 0x0216be14 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov17_0216be18 data_ov17_0216be18: ; 0x0216be18 .word _ZN5Actor8vfunc_4cEPi @@ -21897,10 +21897,10 @@ data_ov17_0216bf24: ; 0x0216bf24 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov17_0216bf28 data_ov17_0216bf28: ; 0x0216bf28 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov17_0216bf2c data_ov17_0216bf2c: ; 0x0216bf2c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov17_0216bf30 data_ov17_0216bf30: ; 0x0216bf30 .word _ZN5Actor8vfunc_4cEPi @@ -22097,7 +22097,7 @@ data_ov17_0216c024: ; 0x0216c024 .word func_ov17_02160ea4 .global data_ov17_0216c028 data_ov17_0216c028: ; 0x0216c028 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov17_0216c02c data_ov17_0216c02c: ; 0x0216c02c .word func_ov17_02160ee4 @@ -22127,10 +22127,10 @@ data_ov17_0216c04c: ; 0x0216c04c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov17_0216c050 data_ov17_0216c050: ; 0x0216c050 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov17_0216c054 data_ov17_0216c054: ; 0x0216c054 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov17_0216c058 data_ov17_0216c058: ; 0x0216c058 .word _ZN5Actor8vfunc_4cEPi @@ -23707,10 +23707,10 @@ data_ov17_0216c87c: ; 0x0216c87c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov17_0216c880 data_ov17_0216c880: ; 0x0216c880 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov17_0216c884 data_ov17_0216c884: ; 0x0216c884 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov17_0216c888 data_ov17_0216c888: ; 0x0216c888 .word _ZN5Actor8vfunc_4cEPi @@ -23818,7 +23818,7 @@ data_ov17_0216c910: ; 0x0216c910 .word _ZN5Actor8vfunc_18Ej .global data_ov17_0216c914 data_ov17_0216c914: ; 0x0216c914 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov17_0216c918 data_ov17_0216c918: ; 0x0216c918 .word func_ov14_02138128 @@ -23848,10 +23848,10 @@ data_ov17_0216c938: ; 0x0216c938 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov17_0216c93c data_ov17_0216c93c: ; 0x0216c93c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov17_0216c940 data_ov17_0216c940: ; 0x0216c940 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov17_0216c944 data_ov17_0216c944: ; 0x0216c944 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov18.inc b/asm/ov18.inc index 1d228df3..8c337424 100644 --- a/asm/ov18.inc +++ b/asm/ov18.inc @@ -1,7 +1,7 @@ #pragma once .extern Approach_thunk .extern Divide -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -18,7 +18,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor14GetAngleToLinkEv @@ -29,20 +29,20 @@ .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -69,7 +69,7 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02051054 .extern data_02057840 .extern data_0205785c @@ -95,11 +95,11 @@ .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fd0 .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -136,17 +136,17 @@ .extern func_01ff9a18 .extern func_01ff9a80 .extern func_01ff9b24 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffa8d4 .extern func_01ffa9fc .extern func_01ffbe34 .extern func_01fffb4c .extern func_01fffcd8 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_02000c60 .extern func_0200107c .extern func_02001154 @@ -217,7 +217,7 @@ .extern func_ov00_02079680 .extern func_ov00_02079e68 .extern func_ov00_0207a13c -.extern func_ov00_0207a188 +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern func_ov00_0207a1c8 .extern func_ov00_0207a300 .extern func_ov00_0207a730 @@ -358,7 +358,7 @@ .extern func_ov00_020bce48 .extern func_ov00_020bcec8 .extern func_ov00_020bcf50 -.extern func_ov00_020bd304 +.extern _ZN14PlayerLinkBase18func_ov00_020bd304Ev .extern func_ov00_020bd318 .extern func_ov00_020bd618 .extern func_ov00_020bd728 @@ -371,7 +371,7 @@ .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 .extern func_ov00_020c0e5c -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov18.s b/asm/ov18.s index ab5b0bb5..d2dcc843 100644 --- a/asm/ov18.s +++ b/asm/ov18.s @@ -812,7 +812,7 @@ _0215bfc4: .word data_027e0f64 func_ov18_0215bfc8: ; 0x0215bfc8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x10 - ldr r2, _0215c12c ; =data_027e0f94 + ldr r2, _0215c12c ; =gPlayerPos ldr r1, _0215c130 ; =gMapManager ldr r4, [r2] ldr r3, [r2, #4] @@ -907,7 +907,7 @@ _0215c108: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0215c12c: .word data_027e0f94 +_0215c12c: .word gPlayerPos _0215c130: .word gMapManager _0215c134: .word 0x0000019a _0215c138: .word data_ov18_0216b43c @@ -1967,7 +1967,7 @@ func_ov18_0215cdb4: ; 0x0215cdb4 ldrsh r1, [r4, #0x48] cmp r1, #0 blt _0215ce2c - ldr r0, _0215ce40 ; =data_027e0fc8 + ldr r0, _0215ce40 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bce48 cmp r0, #0 @@ -1986,7 +1986,7 @@ _0215ce2c: .align 2, 0 _0215ce38: .word data_027e077c _0215ce3c: .word 0x04000304 -_0215ce40: .word data_027e0fc8 +_0215ce40: .word gPlayerLink arm_func_end func_ov18_0215cdb4 .global func_ov18_0215ce44 @@ -2127,22 +2127,22 @@ func_ov18_0215cf90: ; 0x0215cf90 func_ov18_0215cfac: ; 0x0215cfac stmdb sp!, {r3, lr} sub sp, sp, #0x10 - ldr r1, _0215d04c ; =data_027e0fe4 + ldr r1, _0215d04c ; =gActorManager mov r3, r0 ldr r1, [r1] ldr r2, _0215d050 ; =0x4c4e4232 add r0, sp, #8 add r3, r3, #4 bl _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - ldr r0, _0215d04c ; =data_027e0fe4 + ldr r0, _0215d04c ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 movne r1, #0 strneb r1, [r0, #0x11a] - ldr r1, _0215d054 ; =data_027e0fc8 - ldr r0, _0215d04c ; =data_027e0fe4 + ldr r1, _0215d054 ; =gPlayerLink + ldr r0, _0215d04c ; =gActorManager ldr r3, [r1] ldr r0, [r0] ldr r2, [r3, #0x3c] @@ -2154,7 +2154,7 @@ func_ov18_0215cfac: ; 0x0215cfac cmp r0, #0 movne r1, #0 strneb r1, [r0, #0x11a] - ldr r0, _0215d04c ; =data_027e0fe4 + ldr r0, _0215d04c ; =gActorManager ldr ip, _0215d058 ; =data_ov18_0216c2b8 ldr r3, _0215d05c ; =0x4b4f4b41 ldr r0, [r0] @@ -2162,13 +2162,13 @@ func_ov18_0215cfac: ; 0x0215cfac mov r2, #0 str ip, [sp] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList add sp, sp, #0x10 ldmia sp!, {r3, pc} .align 2, 0 -_0215d04c: .word data_027e0fe4 +_0215d04c: .word gActorManager _0215d050: .word 0x4c4e4232 -_0215d054: .word data_027e0fc8 +_0215d054: .word gPlayerLink _0215d058: .word data_ov18_0216c2b8 _0215d05c: .word 0x4b4f4b41 arm_func_end func_ov18_0215cfac @@ -2178,14 +2178,14 @@ _0215d05c: .word 0x4b4f4b41 func_ov18_0215d060: ; 0x0215d060 stmdb sp!, {r3, lr} sub sp, sp, #8 - ldr r1, _0215d0a8 ; =data_027e0fe4 + ldr r1, _0215d0a8 ; =gActorManager mov r3, r0 ldr r1, [r1] ldr r2, _0215d0ac ; =0x4c4e4232 add r0, sp, #0 add r3, r3, #4 bl _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - ldr r0, _0215d0a8 ; =data_027e0fe4 + ldr r0, _0215d0a8 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2195,7 +2195,7 @@ func_ov18_0215d060: ; 0x0215d060 add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 -_0215d0a8: .word data_027e0fe4 +_0215d0a8: .word gActorManager _0215d0ac: .word 0x4c4e4232 arm_func_end func_ov18_0215d060 @@ -2374,7 +2374,7 @@ _0215d2e0: strh r0, [r5, #0x7a] _0215d2e8: ldr r0, [r5, #0x48] - ldr ip, _0215d578 ; =data_02050f54 + ldr ip, _0215d578 ; =gSinCosTable sub r0, r0, #0x800 str r0, [r5, #0x48] ldr r0, [r5, #0x50] @@ -2459,7 +2459,7 @@ _0215d2e8: ldr r3, [r5, #0x50] mov r2, r0 str r3, [r5, #0x1a4] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0215d580 ; =data_ov18_0216c25c cmp r4, #0 ldr r2, [r0, #0x30] @@ -2483,7 +2483,7 @@ _0215d2e8: ldr r3, [r5, #0x50] mov r2, r0 str r3, [r5, #0x1b0] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x1a8] ldr r2, _0215d580 ; =data_ov18_0216c25c str r0, [r5, #0x1b4] @@ -2504,7 +2504,7 @@ _0215d2e8: add r0, r5, #0x1b4 add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x1a8] ldr r2, _0215d580 ; =data_ov18_0216c25c str r0, [r5, #0x1c0] @@ -2525,7 +2525,7 @@ _0215d2e8: add r0, r5, #0x1c0 add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrh r0, [r5, #0x22] strb r0, [r5, #0x15c] ldr r0, [r5, #0x158] @@ -2538,7 +2538,7 @@ _0215d2e8: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0215d578: .word data_02050f54 +_0215d578: .word gSinCosTable _0215d57c: .word data_ov18_0216c280 _0215d580: .word data_ov18_0216c25c arm_func_end func_ov18_0215d28c @@ -2842,7 +2842,7 @@ _0215d9a8: add r0, r5, #0x54 add r1, r5, #0x48 add r2, r5, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r5, #0x60] add r0, sp, #4 str r1, [sp, #4] @@ -2850,7 +2850,7 @@ _0215d9a8: str r1, [sp, #8] ldr r1, [r5, #0x68] str r1, [sp, #0xc] - bl func_01ff9cec + bl Vec3p_Length str r0, [r5, #0x174] ldr r0, [r5, #0x130] cmp r0, #1 @@ -3025,7 +3025,7 @@ _0215dbb0: bl _ZN14AdventureFlags18func_Ov00_02097810Ei str r0, [r4, #0x168] ldrh r0, [r4, #0x78] - ldr ip, _0215dea8 ; =data_02050f54 + ldr ip, _0215dea8 ; =gSinCosTable mov r2, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -3183,7 +3183,7 @@ _0215de94: .align 2, 0 _0215dea0: .word data_ov00_020eec68 _0215dea4: .word gAdventureFlags -_0215dea8: .word data_02050f54 +_0215dea8: .word gSinCosTable _0215deac: .word data_027e103c _0215deb0: .word data_027e0d38 _0215deb4: .word data_027e0ffc @@ -3307,7 +3307,7 @@ _0215e018: add r2, sp, #0x38 add r0, r4, #0x178 add r1, r4, #0x190 - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x14 mov r2, #0 str r1, [sp] @@ -3377,7 +3377,7 @@ _0215e108: str r1, [r0, #0x58] _0215e114: ldrh r1, [r4, #0x78] - ldr r3, _0215e1ec ; =data_02050f54 + ldr r3, _0215e1ec ; =gSinCosTable add r0, sp, #0x2c mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -3431,7 +3431,7 @@ _0215e114: ldmia sp!, {r4, pc} .align 2, 0 _0215e1e8: .word data_027e0d38 -_0215e1ec: .word data_02050f54 +_0215e1ec: .word gSinCosTable _0215e1f0: .word 0x0000023d arm_func_end func_ov18_0215e0a4 @@ -3716,7 +3716,7 @@ func_ov18_0215e514: ; 0x0215e514 mov r3, r1 add r0, r4, #0x94 str r2, [sp] - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, #0 str r0, [r4, #0xa8] strb r0, [r4, #0xac] @@ -3902,7 +3902,7 @@ _0215e76c: ldr r3, [r4, #0x20] mov r2, r0 str r3, [sp, #0x7c] - bl func_01ff9bc4 + bl Vec3p_Add ldr r7, _0215ee60 ; =0x0000099a b _0215ecb8 _0215e7e4: @@ -3960,7 +3960,7 @@ _0215e830: mov r2, r0 add r5, r5, #0x1000 str r3, [sp, #0x7c] - bl func_01ff9bc4 + bl Vec3p_Add ldr r7, _0215ee60 ; =0x0000099a b _0215ecb8 _0215e8c4: @@ -4161,7 +4161,7 @@ _0215eb68: ldr r3, [r4, #0x20] mov r2, r0 str r3, [sp, #0x7c] - bl func_01ff9bc4 + bl Vec3p_Add ldr r7, _0215ee60 ; =0x0000099a b _0215ecb8 _0215ebbc: @@ -4252,7 +4252,7 @@ _0215ecb8: cmpne r0, #0 beq _0215ed70 add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] @@ -4269,7 +4269,7 @@ _0215ecb8: add r2, sp, #0x74 add r3, sp, #0x24 bl func_ov00_020c4048 - ldr r0, _0215ee78 ; =data_027e0fe4 + ldr r0, _0215ee78 ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4351,7 +4351,7 @@ _0215ee68: .word gAdventureFlags _0215ee6c: .word func_ov18_0215f048 _0215ee70: .word data_027e0fe8 _0215ee74: .word 0x48534b42 -_0215ee78: .word data_027e0fe4 +_0215ee78: .word gActorManager _0215ee7c: .word data_ov18_0216c3a8 _0215ee80: .word data_ov18_0216c3ce _0215ee84: .word data_ov18_0216c3a9 @@ -4465,7 +4465,7 @@ func_ov18_0215ef78: ; 0x0215ef78 ldmeqia sp!, {r4, pc} _0215efb0: ldrh r1, [r4, #0xc] - ldr r3, _0215f01c ; =data_02050f54 + ldr r3, _0215f01c ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4492,7 +4492,7 @@ _0215efb0: ldmia sp!, {r4, pc} .align 2, 0 _0215f018: .word data_027e0d38 -_0215f01c: .word data_02050f54 +_0215f01c: .word gSinCosTable arm_func_end func_ov18_0215ef78 .global func_ov18_0215f020 @@ -4589,7 +4589,7 @@ func_ov18_0215f090: ; 0x0215f090 str r3, [r4, #0xb4] ldr r3, [ip, #8] str r3, [r4, #0xb8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0xb8] mov r0, #1 add r1, r1, #0x800 @@ -4734,7 +4734,7 @@ func_ov18_0215f274: ; 0x0215f274 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _0215f380 ; =0x00000666 ldr r2, _0215f384 ; =0x00000ccd add r0, sp, #0x38 @@ -4743,7 +4743,7 @@ func_ov18_0215f274: ; 0x0215f274 str r1, [sp, #0x10] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 @@ -5082,7 +5082,7 @@ _0215f6c8: str r6, [sp, #0x60] str r4, [sp, #0x64] str r3, [sp, #0x68] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x6c ldr r3, _0215f8f8 ; =0x0000059a mov r4, #0x1000 @@ -5091,7 +5091,7 @@ _0215f6c8: str r6, [sp, #0x54] str r4, [sp, #0x58] str r3, [sp, #0x5c] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 bic r1, r1, #0x1f orr r1, r1, #6 @@ -5141,7 +5141,7 @@ _0215f6c8: str lr, [sp, #0x30] str r3, [sp, #0x34] str ip, [sp, #0x38] - bl func_01ff9bf8 + bl Vec3p_Sub ldr lr, _0215f8fc ; =0x00000199 add r0, sp, #0x6c sub r3, lr, #0x33 @@ -5151,7 +5151,7 @@ _0215f6c8: str lr, [sp, #0x24] str ip, [sp, #0x28] str r3, [sp, #0x2c] - bl func_01ff9bc4 + bl Vec3p_Add mov ip, #0 bic r1, ip, #0x1f orr r1, r1, #7 @@ -5444,7 +5444,7 @@ func_ov18_0215fb74: ; 0x0215fb74 str r4, [sp, #0x38] str r3, [sp, #0x3c] str r4, [sp, #0x40] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 bl func_ov18_0215fccc ldr r1, [r5, #0x18] @@ -5469,7 +5469,7 @@ func_ov18_0215fb74: ; 0x0215fb74 str ip, [sp, #0x4c] str r6, [sp, #0x2c] str r3, [sp, #0x30] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r6 str r0, [sp, #0x20] str r0, [sp, #0x24] @@ -5478,7 +5478,7 @@ func_ov18_0215fb74: ; 0x0215fb74 add r0, sp, #0x44 add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov ip, #0 bic r0, ip, #0x1f orr r0, r0, #7 @@ -6291,7 +6291,7 @@ func_ov18_021605b0: ; 0x021605b0 str r2, [sp] add r0, r4, #0x94 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -6370,12 +6370,12 @@ func_ov18_0216065c: ; 0x0216065c ldr r3, [r11, #0x20] mov r2, r0 str r3, [sp, #0x58] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r11, #0x30] cmp r0, #0 beq _02160774 add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] @@ -6392,7 +6392,7 @@ func_ov18_0216065c: ; 0x0216065c add r2, sp, #0x50 add r3, sp, #0x24 bl func_ov00_020c4048 - ldr r0, _02160814 ; =data_027e0fe4 + ldr r0, _02160814 ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6447,7 +6447,7 @@ _021607ec: .align 2, 0 _0216080c: .word data_027e0fe8 _02160810: .word 0x48534b42 -_02160814: .word data_027e0fe4 +_02160814: .word gActorManager _02160818: .word 0x0000099a _0216081c: .word gMapManager arm_func_end func_ov18_0216065c @@ -6532,7 +6532,7 @@ func_ov18_021608c8: ; 0x021608c8 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} ldrh r1, [r4, #0xc] - ldr r3, _02160954 ; =data_02050f54 + ldr r3, _02160954 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -6558,7 +6558,7 @@ func_ov18_021608c8: ; 0x021608c8 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02160954: .word data_02050f54 +_02160954: .word gSinCosTable arm_func_end func_ov18_021608c8 .global func_ov18_02160958 @@ -6723,7 +6723,7 @@ func_ov18_02160ad8: ; 0x02160ad8 mov r3, r1 add r0, r4, #0x94 str r2, [sp] - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -7261,7 +7261,7 @@ _021611bc: str r4, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0x800 mov r4, #0x1000 b _02161214 @@ -7274,7 +7274,7 @@ _021611ec: str r4, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0x1000 _02161214: add lr, r5, #0x18 @@ -7291,7 +7291,7 @@ _02161214: str r6, [sp, #0x14] str r3, [sp, #0x18] str r4, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, _021612d4 ; =0x00001333 add r0, sp, #0x50 str r2, [sp, #0xc] @@ -7299,7 +7299,7 @@ _02161214: mov r2, r0 str r6, [sp, #8] str r4, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 @@ -7336,7 +7336,7 @@ func_ov18_021612d8: ; 0x021612d8 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02161330 ; =data_02050f54 + ldr r3, _02161330 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7355,7 +7355,7 @@ func_ov18_021612d8: ; 0x021612d8 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02161330: .word data_02050f54 +_02161330: .word gSinCosTable arm_func_end func_ov18_021612d8 .global func_ov18_02161334 @@ -7482,7 +7482,7 @@ _02161484: str r4, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0x800 mov r4, #0x1000 b _021614dc @@ -7495,7 +7495,7 @@ _021614b4: str r4, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0x1000 _021614dc: add lr, r5, #0x18 @@ -7512,7 +7512,7 @@ _021614dc: str r6, [sp, #0x14] str r3, [sp, #0x18] str r4, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, _0216159c ; =0x00001333 add r0, sp, #0x50 str r2, [sp, #0xc] @@ -7520,7 +7520,7 @@ _021614dc: mov r2, r0 str r6, [sp, #8] str r4, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 @@ -7557,7 +7557,7 @@ func_ov18_021615a0: ; 0x021615a0 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _021615f8 ; =data_02050f54 + ldr r3, _021615f8 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7576,7 +7576,7 @@ func_ov18_021615a0: ; 0x021615a0 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_021615f8: .word data_02050f54 +_021615f8: .word gSinCosTable arm_func_end func_ov18_021615a0 .global func_ov18_021615fc @@ -7708,7 +7708,7 @@ _02161760: str r4, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0x800 mov r4, #0x1000 b _021617b8 @@ -7721,7 +7721,7 @@ _02161790: str r4, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0x1000 _021617b8: add lr, r5, #0x18 @@ -7738,7 +7738,7 @@ _021617b8: str r6, [sp, #0x14] str r3, [sp, #0x18] str r4, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, _021618a8 ; =0x00001333 add r0, sp, #0x50 str r2, [sp, #0xc] @@ -7746,7 +7746,7 @@ _021617b8: mov r2, r0 str r6, [sp, #8] str r4, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 @@ -7892,7 +7892,7 @@ func_ov18_021619a8: ; 0x021619a8 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02161a00 ; =data_02050f54 + ldr r3, _02161a00 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7911,7 +7911,7 @@ func_ov18_021619a8: ; 0x021619a8 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02161a00: .word data_02050f54 +_02161a00: .word gSinCosTable arm_func_end func_ov18_021619a8 .global func_ov18_02161a04 @@ -8038,7 +8038,7 @@ _02161b54: str r4, [sp, #0x2c] str r4, [sp, #0x30] str r3, [sp, #0x34] - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0x800 mov r4, #0x1000 b _02161bac @@ -8051,7 +8051,7 @@ _02161b84: str r4, [sp, #0x20] str r3, [sp, #0x24] str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0x1000 _02161bac: add lr, r5, #0x18 @@ -8068,7 +8068,7 @@ _02161bac: str r6, [sp, #0x14] str r3, [sp, #0x18] str r4, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, _02161c6c ; =0x00001333 add r0, sp, #0x50 str r2, [sp, #0xc] @@ -8076,7 +8076,7 @@ _02161bac: mov r2, r0 str r6, [sp, #8] str r4, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 @@ -8113,7 +8113,7 @@ func_ov18_02161c70: ; 0x02161c70 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02161cc8 ; =data_02050f54 + ldr r3, _02161cc8 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8132,7 +8132,7 @@ func_ov18_02161c70: ; 0x02161c70 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02161cc8: .word data_02050f54 +_02161cc8: .word gSinCosTable arm_func_end func_ov18_02161c70 .global func_ov18_02161ccc @@ -8241,7 +8241,7 @@ _02161dd0: str lr, [sp, #0xc] str ip, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0x4000 add sp, sp, #0x18 strh r0, [r4, #0xc] @@ -8256,7 +8256,7 @@ _02161e08: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 strh r0, [r4, #0xc] add sp, sp, #0x18 @@ -8284,7 +8284,7 @@ func_ov18_02161e48: ; 0x02161e48 str r2, [sp, #0x2c] str r1, [sp, #0x28] ldrh r1, [r4, #0xc] - ldr r3, _02161ebc ; =data_02050f54 + ldr r3, _02161ebc ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8303,7 +8303,7 @@ func_ov18_02161e48: ; 0x02161e48 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02161ebc: .word data_02050f54 +_02161ebc: .word gSinCosTable arm_func_end func_ov18_02161e48 .global func_ov18_02161ec0 @@ -8757,7 +8757,7 @@ func_ov18_0216244c: ; 0x0216244c ldmneia sp!, {r4, pc} ldrh r0, [r4, #0x74] ldr r1, _02162504 ; =0x00002ee0 - ldr r2, _02162508 ; =data_02050f54 + ldr r2, _02162508 ; =gSinCosTable add r0, r0, #1 strh r0, [r4, #0x74] ldrh r3, [r4, #0x74] @@ -8791,7 +8791,7 @@ func_ov18_0216244c: ; 0x0216244c ldmia sp!, {r4, pc} .align 2, 0 _02162504: .word 0x00002ee0 -_02162508: .word data_02050f54 +_02162508: .word gSinCosTable arm_func_end func_ov18_0216244c .global func_ov18_0216250c @@ -8895,7 +8895,7 @@ func_ov18_02162634: ; 0x02162634 _02162658: cmp r1, #0 bne _02162708 - ldr r0, _02162714 ; =data_027e0fc8 + ldr r0, _02162714 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #4 @@ -8907,7 +8907,7 @@ _02162658: ldr r0, [r0, #4] cmp r0, #0 bne _02162708 - ldr r1, _0216271c ; =data_027e0f94 + ldr r1, _0216271c ; =gPlayerPos add r0, sp, #0 ldr r3, [r1] ldr r2, [r1, #4] @@ -8916,7 +8916,7 @@ _02162658: ldr r2, [r1, #8] add r1, r5, #0x18 str r2, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 bgt _02162708 ldr r0, [r4] @@ -8942,9 +8942,9 @@ _02162708: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02162714: .word data_027e0fc8 +_02162714: .word gPlayerLink _02162718: .word data_027e0fd0 -_0216271c: .word data_027e0f94 +_0216271c: .word gPlayerPos _02162720: .word 0xfffffaec _02162724: .word 0x00000514 _02162728: .word data_027e0f64 @@ -8963,7 +8963,7 @@ func_ov18_0216272c: ; 0x0216272c str r2, [sp, #0x10] ldrh r0, [r5, #0x72] mov r4, r1 - ldr r3, _021627d0 ; =data_02050f54 + ldr r3, _021627d0 ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -8995,7 +8995,7 @@ func_ov18_0216272c: ; 0x0216272c add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021627d0: .word data_02050f54 +_021627d0: .word gSinCosTable _021627d4: .word data_ov18_0216b514 _021627d8: .word data_ov18_0216b4fc arm_func_end func_ov18_0216272c @@ -9046,7 +9046,7 @@ _0216285c: cmp r0, #0 bne _02162950 add r0, sp, #0x118 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x118 str r1, [sp, #0x134] @@ -9115,7 +9115,7 @@ _02162968: cmp r0, #0 bne _02162a48 add r0, sp, #0xec - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xec str r1, [sp, #0x108] @@ -9157,7 +9157,7 @@ _02162a00: ldr r3, [r4, #0x20] mov r2, r0 str r3, [sp, #0x14c] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] ldr r0, _02162ca4 ; =data_027e0fe8 @@ -9181,7 +9181,7 @@ _02162a60: cmp r0, #0 bne _02162ab4 add r0, sp, #0xb4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xb4 str r1, [sp, #0xd0] @@ -9210,7 +9210,7 @@ _02162acc: cmp r0, #0 bne _02162b20 add r0, sp, #0x88 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x88 str r1, [sp, #0xa4] @@ -9239,7 +9239,7 @@ _02162b38: cmp r0, #0 bne _02162b94 add r0, sp, #0x5c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x5c str r1, [sp, #0x78] @@ -9270,7 +9270,7 @@ _02162bac: cmp r0, #0 bne _02162c08 add r0, sp, #0x30 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] @@ -9301,7 +9301,7 @@ _02162c20: cmp r0, #0 bne _02162c7c add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -9827,7 +9827,7 @@ _0216335c: ldr r3, [r8, #0x68] add r0, r10, #0x18 str r3, [sp, #0x24] - bl func_01ff9bc4 + bl Vec3p_Add str r5, [sp] str r5, [sp, #4] str r5, [sp, #8] @@ -9929,7 +9929,7 @@ _021634dc: mov r1, r6 mov r2, r11 str r7, [sp, #0x50] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 mov r0, #0x11 mov r2, r1 @@ -10018,7 +10018,7 @@ _02163614: str r3, [sp, #8] str ip, [sp, #0xc] str lr, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add str r8, [sp] str r8, [sp, #4] ldr r0, [r6] @@ -10108,7 +10108,7 @@ func_ov18_02163718: ; 0x02163718 blx r1 b _021637a8 _02163758: - ldr r0, _021637b0 ; =data_027e0fe4 + ldr r0, _021637b0 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -10132,7 +10132,7 @@ _021637a8: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_021637b0: .word data_027e0fe4 +_021637b0: .word gActorManager _021637b4: .word 0x424c5354 _021637b8: .word 0x424d524e _021637bc: .word 0x5342454d @@ -10636,7 +10636,7 @@ _02163e68: ldr r3, [r8, #0x68] add r0, r10, #0x18 str r3, [sp, #0x24] - bl func_01ff9bc4 + bl Vec3p_Add str r5, [sp] str r5, [sp, #4] str r5, [sp, #8] @@ -10738,7 +10738,7 @@ _02163fe8: mov r1, r6 mov r2, r11 str r7, [sp, #0x50] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 mov r0, #0x11 mov r2, r1 @@ -10827,7 +10827,7 @@ _02164120: str r3, [sp, #8] str ip, [sp, #0xc] str lr, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add str r8, [sp] str r8, [sp, #4] ldr r0, [r6] @@ -10917,7 +10917,7 @@ _0216424c: blx r1 b _021642ac _0216425c: - ldr r0, _021642b4 ; =data_027e0fe4 + ldr r0, _021642b4 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -10941,7 +10941,7 @@ _021642ac: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_021642b4: .word data_027e0fe4 +_021642b4: .word gActorManager _021642b8: .word 0x424c5354 _021642bc: .word 0x424d524e _021642c0: .word 0x5342454d @@ -11100,7 +11100,7 @@ func_ov18_02164440: ; 0x02164440 _0216447c: cmp r1, #0xb blt _0216452c - ldr r0, _02164538 ; =data_027e0fe4 + ldr r0, _02164538 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -11151,7 +11151,7 @@ _0216452c: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02164538: .word data_027e0fe4 +_02164538: .word gActorManager _0216453c: .word 0x424c5354 _02164540: .word 0x41525257 _02164544: .word 0x424d524e @@ -12454,7 +12454,7 @@ func_ov18_02165420: ; 0x02165420 mov r1, #0 add r0, sp, #0x30 str r1, [r4, #0x12c] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] @@ -12504,7 +12504,7 @@ _02165590: mov r1, #0 add r0, sp, #4 str r1, [r4, #0x12c] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -12706,11 +12706,11 @@ _02165848: .word 0x524f5045 .global func_ov18_0216584c arm_func_start func_ov18_0216584c func_ov18_0216584c: ; 0x0216584c - ldr ip, _02165858 ; =func_01fffcec + ldr ip, _02165858 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_02165858: .word func_01fffcec +_02165858: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov18_0216584c .global func_ov18_0216585c @@ -12729,7 +12729,7 @@ func_ov18_0216585c: ; 0x0216585c mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -12814,7 +12814,7 @@ func_ov18_02165948: ; 0x02165948 ldr r0, [r4, #0x130] cmp r0, #1 beq _02165980 - ldr r1, _021659ac ; =data_027e0fc8 + ldr r1, _021659ac ; =gPlayerLink mvn r0, #0 ldr r1, [r1] ldr r1, [r1, #0x3c] @@ -12836,7 +12836,7 @@ _02165980: str r0, [r4, #0x474] ldmia sp!, {r4, pc} .align 2, 0 -_021659ac: .word data_027e0fc8 +_021659ac: .word gPlayerLink _021659b0: .word data_ov18_0216ce8c arm_func_end func_ov18_02165948 @@ -13557,7 +13557,7 @@ _021662f4: mov r4, r0 cmp r4, #0x7e beq _02166354 - ldr r1, _0216666c ; =data_027e0f94 + ldr r1, _0216666c ; =gPlayerPos ldr r0, _02166670 ; =data_027e0f64 ldr r3, [r1] ldr r2, [r1, #4] @@ -13579,7 +13579,7 @@ _021662f4: bl func_ov00_02089318 _02166354: mov r1, #1 - ldr r0, _02166674 ; =data_027e0fc8 + ldr r0, _02166674 ; =gPlayerLink strb r1, [r5, #0x51e] ldr r0, [r0] mov r1, r4 @@ -13592,7 +13592,7 @@ _02166354: strb r0, [r5, #0x51c] b _0216664c _02166388: - ldr r0, _02166674 ; =data_027e0fc8 + ldr r0, _02166674 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcec8 cmp r0, #0 @@ -13789,9 +13789,9 @@ _0216665c: .word data_027e103c _02166660: .word data_ov18_0216d604 _02166664: .word data_027e0ffc _02166668: .word 0x00000466 -_0216666c: .word data_027e0f94 +_0216666c: .word gPlayerPos _02166670: .word data_027e0f64 -_02166674: .word data_027e0fc8 +_02166674: .word gPlayerLink _02166678: .word 0x00000467 arm_func_end func_ov18_02166098 @@ -13844,16 +13844,16 @@ func_ov18_02166700: ; 0x02166700 mov r4, r1 add r0, r0, #0x400 add r1, r5, #0x4e0 - bl func_01ff9ec0 + bl Vec3p_Distance add r1, r5, #0xf8 str r0, [r5, #0x490] add r0, r1, #0x400 add r2, sp, #0x18 add r1, r5, #0x4e0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r5, #0x48c] @@ -13864,10 +13864,10 @@ func_ov18_02166700: ; 0x02166700 mov r1, #0 mov r0, r3 str r1, [sp, #0x10] - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 ldr r0, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r4, #0 @@ -13918,7 +13918,7 @@ func_ov18_02166810: ; 0x02166810 sub sp, sp, #0x18 ldrh r2, [sp, #0x40] ldr r1, [sp, #0x2c] - ldr ip, _021668d0 ; =data_02050f54 + ldr ip, _021668d0 ; =gSinCosTable mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 mov r2, r4, lsl #0x1 @@ -13962,7 +13962,7 @@ func_ov18_02166810: ; 0x02166810 add sp, sp, #0x10 bx lr .align 2, 0 -_021668d0: .word data_02050f54 +_021668d0: .word gSinCosTable arm_func_end func_ov18_02166810 .global func_ov18_021668d4 @@ -14037,7 +14037,7 @@ func_ov18_021669a0: ; 0x021669a0 ldr r0, [sp, #0x34] mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 - ldr r3, _02166b4c ; =data_02050f54 + ldr r3, _02166b4c ; =gSinCosTable mov r1, r5, lsl #0x1 ldrsh r2, [r3, r1] add r1, r5, #1 @@ -14076,13 +14076,13 @@ func_ov18_021669a0: ; 0x021669a0 add r1, r4, #0x4e0 str r2, [r4, #0x508] ldr r8, [sp, #0x4c] - bl func_01ff9ec0 + bl Vec3p_Distance add r2, r4, #0xf8 add r1, r4, #0x104 mov r6, r0 add r0, r1, #0x400 add r1, r2, #0x400 - bl func_01ff9ec0 + bl Vec3p_Distance mov r7, r0 cmp r6, #0 mov r1, r8 @@ -14139,7 +14139,7 @@ _02166adc: add sp, sp, #0x10 bx lr .align 2, 0 -_02166b4c: .word data_02050f54 +_02166b4c: .word gSinCosTable arm_func_end func_ov18_021669a0 .global func_ov18_02166b50 @@ -14410,14 +14410,14 @@ func_ov18_02166e7c: ; 0x02166e7c rsb r1, r1, #0 cmp r0, r1 ldmleia sp!, {r4, pc} - ldr r0, _02166f18 ; =data_027e0fc8 + ldr r0, _02166f18 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd318 cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02166f18 ; =data_027e0fc8 + ldr r0, _02166f18 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -14427,7 +14427,7 @@ func_ov18_02166e7c: ; 0x02166e7c mvn r0, #0 cmp r1, r0 ldmeqia sp!, {r4, pc} - ldr r0, _02166f1c ; =data_027e0fe4 + ldr r0, _02166f1c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -14437,8 +14437,8 @@ func_ov18_02166e7c: ; 0x02166e7c ldmia sp!, {r4, pc} .align 2, 0 _02166f14: .word 0x00002aab -_02166f18: .word data_027e0fc8 -_02166f1c: .word data_027e0fe4 +_02166f18: .word gPlayerLink +_02166f1c: .word gActorManager arm_func_end func_ov18_02166e7c .global func_ov18_02166f20 @@ -14466,7 +14466,7 @@ func_ov18_02166f20: ; 0x02166f20 add r1, r1, #0x2800 str r1, [r4, #0x4c] ldrh r0, [r0, #0x20] - ldr r1, _02167058 ; =data_02050f54 + ldr r1, _02167058 ; =gSinCosTable mov r3, #0 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -14517,13 +14517,13 @@ func_ov18_02166f20: ; 0x02166f20 sub r0, r1, r0 ldr r1, [r4, #0x50] sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02167054: .word data_ov18_0216d604 -_02167058: .word data_02050f54 +_02167058: .word gSinCosTable _0216705c: .word data_ov18_0216d0bc _02167060: .word gAdventureFlags arm_func_end func_ov18_02166f20 @@ -14610,7 +14610,7 @@ _0216712c: str r3, [sp, #0x48] str r4, [sp, #0x4c] str r2, [sp, #0x50] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x4000 bge _02167354 ldrb r0, [r6, #0x474] @@ -14789,8 +14789,8 @@ _021673b8: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r6, #0x12] - ldr r0, _02167610 ; =data_027e0fc8 - ldr r4, _02167614 ; =data_02050f54 + ldr r0, _02167610 ; =gPlayerLink + ldr r4, _02167614 ; =gSinCosTable mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 mov r2, r6, lsl #0x1 @@ -14913,8 +14913,8 @@ _02167600: .word 0x00000464 _02167604: .word 0x00000465 _02167608: .word 0x0000019a _0216760c: .word data_ov18_0216d604 -_02167610: .word data_027e0fc8 -_02167614: .word data_02050f54 +_02167610: .word gPlayerLink +_02167614: .word gSinCosTable _02167618: .word 0x00000333 _0216761c: .word 0x00000666 _02167620: .word 0x000004cd @@ -14950,7 +14950,7 @@ func_ov18_02167644: ; 0x02167644 add r0, r4, #0x1f8 add r2, r2, #0x48 bl func_ov14_0214a92c - ldr r0, _021676f0 ; =data_027e0f94 + ldr r0, _021676f0 ; =gPlayerPos add r3, sp, #0xc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -14980,7 +14980,7 @@ func_ov18_02167644: ; 0x02167644 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_021676f0: .word data_027e0f94 +_021676f0: .word gPlayerPos arm_func_end func_ov18_02167644 .global func_ov18_021676f4 @@ -15288,7 +15288,7 @@ _02167aec: mov r2, #0x16c bl func_0202b154 ldrh r1, [r4, #0x78] - ldr r0, _02167df8 ; =data_02050f54 + ldr r0, _02167df8 ; =gSinCosTable ldr r2, _02167de8 ; =0x00000333 mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 @@ -15311,7 +15311,7 @@ _02167aec: mov r0, r5 add r1, r6, #1 str r0, [sp] - ldr r0, _02167df8 ; =data_02050f54 + ldr r0, _02167df8 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r6, [r0, r1] ldr r2, _02167de8 ; =0x00000333 @@ -15338,7 +15338,7 @@ _02167bac: sub r0, r0, #1 cmp r1, r0 beq _02167bdc - ldr r0, _02167dfc ; =data_027e0fe4 + ldr r0, _02167dfc ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -15372,7 +15372,7 @@ _02167c34: mvn r0, #0 cmp r1, r0 beq _02167c58 - ldr r0, _02167dfc ; =data_027e0fe4 + ldr r0, _02167dfc ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -15392,7 +15392,7 @@ _02167c78: ldrsh r1, [ip, #0x26] ldrsh r0, [r4, #0x12] ldr r8, [r4, #0x50] - ldr r5, _02167df8 ; =data_02050f54 + ldr r5, _02167df8 ; =gSinCosTable add r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -15484,8 +15484,8 @@ _02167de8: .word 0x00000333 _02167dec: .word 0xfffffee1 _02167df0: .word data_027e0f64 _02167df4: .word 0x00001555 -_02167df8: .word data_02050f54 -_02167dfc: .word data_027e0fe4 +_02167df8: .word gSinCosTable +_02167dfc: .word gActorManager _02167e00: .word gAdventureFlags arm_func_end func_ov18_02167838 @@ -15575,13 +15575,13 @@ _02167f1c: ldmia r3, {r0, r1, r2} stmia r7, {r0, r1, r2} ldr r6, [r4, #0x14] - ldr r0, _021681dc ; =data_027e0fc8 + ldr r0, _021681dc ; =gPlayerLink str r6, [sp, #0x28] ldr r1, [r3, #4] ldr r2, _021681e0 ; =0xffffe38e str r1, [sp, #0x2c] ldr r5, [r3, #8] - ldr r1, _021681e4 ; =data_02050f54 + ldr r1, _021681e4 ; =gSinCosTable str r5, [sp, #0x30] ldrsh r3, [r4, #0x78] mov r8, #0x1800 @@ -15658,7 +15658,7 @@ _02168018: str r3, [sp, #8] ldmia r5, {r1, r2, r3} bl func_ov18_02166810 - ldr r0, _021681ec ; =data_027e0f94 + ldr r0, _021681ec ; =gPlayerPos add r1, sp, #0x1c ldmib r0, {r2, r3} ldr r5, [r0] @@ -15674,7 +15674,7 @@ _02168018: strb r0, [r4, #0x475] b _021681ac _021680ac: - ldr r0, _021681ec ; =data_027e0f94 + ldr r0, _021681ec ; =gPlayerPos mov r2, #0x800 ldmib r0, {r1, r5} ldr r6, [r0] @@ -15689,7 +15689,7 @@ _021680ac: str r2, [sp, #4] ldmia r1, {r1, r2, r3} bl func_ov18_02166910 - ldr r0, _021681dc ; =data_027e0fc8 + ldr r0, _021681dc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 @@ -15755,11 +15755,11 @@ _021681ac: add sp, sp, #0x34 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_021681dc: .word data_027e0fc8 +_021681dc: .word gPlayerLink _021681e0: .word 0xffffe38e -_021681e4: .word data_02050f54 +_021681e4: .word gSinCosTable _021681e8: .word data_ov18_0216d604 -_021681ec: .word data_027e0f94 +_021681ec: .word gPlayerPos _021681f0: .word 0x00000333 arm_func_end func_ov18_02167ec8 @@ -15883,7 +15883,7 @@ _02168368: _02168388: add r0, r6, #0x500 ldrh r1, [r0, #0x1a] - ldr r3, _021686d4 ; =data_02050f54 + ldr r3, _021686d4 ; =gSinCosTable add r0, sp, #0x88 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -15895,7 +15895,7 @@ _02168388: blx func_01ff8230 add r0, r6, #0x500 ldrh r1, [r0, #0x18] - ldr r3, _021686d4 ; =data_02050f54 + ldr r3, _021686d4 ; =gSinCosTable add r0, sp, #0xd0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -15906,7 +15906,7 @@ _02168388: ldrsh r1, [r3, r1] blx func_01ff81f8 ldrh r1, [r6, #0x78] - ldr r3, _021686d4 ; =data_02050f54 + ldr r3, _021686d4 ; =gSinCosTable add r0, sp, #0xac mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -15928,7 +15928,7 @@ _02168388: add r1, sp, #0x64 add r2, r6, #0x48 bl func_ov00_020c5e88 - ldr r0, _021686d8 ; =data_027e0fe4 + ldr r0, _021686d8 ; =gActorManager add r1, r6, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -16093,8 +16093,8 @@ _02168388: _021686c8: .word data_027e0fec _021686cc: .word data_ov18_0216b5f8 _021686d0: .word data_ov18_0216b60c -_021686d4: .word data_02050f54 -_021686d8: .word data_027e0fe4 +_021686d4: .word gSinCosTable +_021686d8: .word gActorManager _021686dc: .word data_ov18_0216d604 _021686e0: .word data_02051054 _021686e4: .word 0x00001ccd @@ -16292,7 +16292,7 @@ _02168950: ; jump table _02168960: ldrh r0, [r4, #0xe6] ldr r1, _02168a78 ; =0x00002ee0 - ldr r2, _02168a7c ; =data_02050f54 + ldr r2, _02168a7c ; =gSinCosTable add r0, r0, #1 strh r0, [r4, #0xe6] ldrh r3, [r4, #0xe6] @@ -16363,7 +16363,7 @@ _021689e8: ldmia sp!, {r4, pc} .align 2, 0 _02168a78: .word 0x00002ee0 -_02168a7c: .word data_02050f54 +_02168a7c: .word gSinCosTable _02168a80: .word 0x000005dc _02168a84: .word 0x000038e4 arm_func_end func_ov18_02168924 @@ -16494,7 +16494,7 @@ func_ov18_02168c10: ; 0x02168c10 ldrne r1, [r2, #8] cmpne r1, #0 bne _02168c74 - ldr r0, _02168d6c ; =data_027e0f94 + ldr r0, _02168d6c ; =gPlayerPos ldr r2, [r4, #0x18] ldr r1, [r0] ldr ip, [r4, #0x20] @@ -16529,7 +16529,7 @@ _02168c84: _02168cbc: cmp r1, #0xb blt _02168d60 - ldr r0, _02168d70 ; =data_027e0fe4 + ldr r0, _02168d70 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -16573,8 +16573,8 @@ _02168d60: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02168d6c: .word data_027e0f94 -_02168d70: .word data_027e0fe4 +_02168d6c: .word gPlayerPos +_02168d70: .word gActorManager _02168d74: .word 0x424c5354 arm_func_end func_ov18_02168c10 @@ -16636,7 +16636,7 @@ func_ov18_02168dd0: ; 0x02168dd0 ldr lr, [r1, #0xb4] mov ip, #0 ldr r2, [lr] - ldr r3, _02168e68 ; =data_02050f54 + ldr r3, _02168e68 ; =gSinCosTable bic r2, r2, #6 str r2, [lr] ldr lr, [r0, #0xd4] @@ -16660,7 +16660,7 @@ func_ov18_02168dd0: ; 0x02168dd0 bl func_01ff8248 ldmia sp!, {r3, pc} .align 2, 0 -_02168e68: .word data_02050f54 +_02168e68: .word gSinCosTable arm_func_end func_ov18_02168dd0 .global func_ov18_02168e6c @@ -16703,7 +16703,7 @@ func_ov18_02168eb8: ; 0x02168eb8 str r1, [sp, #8] str r1, [sp, #0xc] ldrh r1, [r5, #0xe4] - ldr r3, _02168f74 ; =data_02050f54 + ldr r3, _02168f74 ; =gSinCosTable add r0, sp, #0x14 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -16740,7 +16740,7 @@ _02168f48: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02168f74: .word data_02050f54 +_02168f74: .word gSinCosTable _02168f78: .word 0x000004cd arm_func_end func_ov18_02168eb8 @@ -16890,7 +16890,7 @@ _021690f4: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02169154 ; =data_027e0e58 add r2, sp, #0xc ldr r0, [r0] @@ -16949,7 +16949,7 @@ _021691bc: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0216922c ; =data_027e0e58 add r2, sp, #4 ldr r0, [r0] @@ -18613,7 +18613,7 @@ func_ov18_0216a780: ; 0x0216a780 strb r0, [sp, #0x37] str r1, [sp, #0x30] ldrsh r1, [r4, #0x12] - ldr r3, _0216a868 ; =data_02050f54 + ldr r3, _0216a868 ; =gSinCosTable add r0, sp, #0x1c add r1, r1, #0xf mov r1, r1, lsl #0x10 @@ -18662,7 +18662,7 @@ func_ov18_0216a780: ; 0x0216a780 add sp, sp, #0x4c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0216a868: .word data_02050f54 +_0216a868: .word gSinCosTable _0216a86c: .word data_027e0d3c _0216a870: .word data_02063e4c arm_func_end func_ov18_0216a780 @@ -18784,7 +18784,7 @@ func_ov18_0216a9dc: ; 0x0216a9dc strb r0, [sp, #0x37] str r1, [sp, #0x30] ldrsh r1, [r9, #0x12] - ldr r3, _0216ab38 ; =data_02050f54 + ldr r3, _0216ab38 ; =gSinCosTable add r0, sp, #0x1c add r1, r1, #0xf mov r1, r1, lsl #0x10 @@ -18866,7 +18866,7 @@ _0216ab20: add sp, sp, #0x4c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0216ab38: .word data_02050f54 +_0216ab38: .word gSinCosTable _0216ab3c: .word data_027e0d3c _0216ab40: .word data_02063e4c arm_func_end func_ov18_0216a9dc @@ -21312,10 +21312,10 @@ data_ov18_0216c304: ; 0x0216c304 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov18_0216c308 data_ov18_0216c308: ; 0x0216c308 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov18_0216c30c data_ov18_0216c30c: ; 0x0216c30c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov18_0216c310 data_ov18_0216c310: ; 0x0216c310 .word _ZN5Actor8vfunc_4cEPi @@ -24021,7 +24021,7 @@ data_ov18_0216cfe0: ; 0x0216cfe0 .word func_ov14_02144b64 .global data_ov18_0216cfe4 data_ov18_0216cfe4: ; 0x0216cfe4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov18_0216cfe8 data_ov18_0216cfe8: ; 0x0216cfe8 .word func_ov18_02165acc @@ -24051,7 +24051,7 @@ data_ov18_0216d008: ; 0x0216d008 .word func_ov14_02145974 .global data_ov18_0216d00c data_ov18_0216d00c: ; 0x0216d00c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov18_0216d010 data_ov18_0216d010: ; 0x0216d010 .word func_ov18_021656f8 @@ -24219,7 +24219,7 @@ data_ov18_0216d0e4: ; 0x0216d0e4 .word func_ov14_02144b64 .global data_ov18_0216d0e8 data_ov18_0216d0e8: ; 0x0216d0e8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov18_0216d0ec data_ov18_0216d0ec: ; 0x0216d0ec .word func_ov18_021682f8 @@ -24249,10 +24249,10 @@ data_ov18_0216d10c: ; 0x0216d10c .word func_ov14_02145974 .global data_ov18_0216d110 data_ov18_0216d110: ; 0x0216d110 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov18_0216d114 data_ov18_0216d114: ; 0x0216d114 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov18_0216d118 data_ov18_0216d118: ; 0x0216d118 .word _ZN5Actor8vfunc_4cEPi @@ -24528,7 +24528,7 @@ data_ov18_0216d280: ; 0x0216d280 .word func_ov18_02169230 .global data_ov18_0216d284 data_ov18_0216d284: ; 0x0216d284 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov18_0216d288 data_ov18_0216d288: ; 0x0216d288 .word _ZN5Actor8vfunc_20Ei @@ -24558,10 +24558,10 @@ data_ov18_0216d2a8: ; 0x0216d2a8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov18_0216d2ac data_ov18_0216d2ac: ; 0x0216d2ac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov18_0216d2b0 data_ov18_0216d2b0: ; 0x0216d2b0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov18_0216d2b4 data_ov18_0216d2b4: ; 0x0216d2b4 .word _ZN5Actor8vfunc_4cEPi @@ -24669,7 +24669,7 @@ data_ov18_0216d33c: ; 0x0216d33c .word _ZN5Actor8vfunc_18Ej .global data_ov18_0216d340 data_ov18_0216d340: ; 0x0216d340 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov18_0216d344 data_ov18_0216d344: ; 0x0216d344 .word _ZN5Actor8vfunc_20Ei @@ -24699,10 +24699,10 @@ data_ov18_0216d364: ; 0x0216d364 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov18_0216d368 data_ov18_0216d368: ; 0x0216d368 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov18_0216d36c data_ov18_0216d36c: ; 0x0216d36c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov18_0216d370 data_ov18_0216d370: ; 0x0216d370 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov19.inc b/asm/ov19.inc index ccbfb469..350ef5e5 100644 --- a/asm/ov19.inc +++ b/asm/ov19.inc @@ -1,6 +1,11 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager18func_ov00_02082680Eii .extern _ZN10MapManager18func_ov00_020836dcEii @@ -10,9 +15,10 @@ .extern _ZN10MapManager18func_ov00_02083fb0EiPS_i .extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN10PlayerBase10SetVisibleEb -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN11ItemManager7AddItemEi -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager18func_ov00_020c3b2cEPi .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -34,13 +40,15 @@ .extern _ZN14AdventureFlags3GetEj .extern _ZN14AdventureFlags3SetEjb .extern _ZN15LinkStateDamage18func_ov00_020ace90EP5Vec3pi +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor14GetAngleToLinkEv .extern _ZN5Actor14ResetWallTouchEv .extern _ZN5Actor15IsHitboxTouchedEb @@ -48,12 +56,12 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ .extern _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c29ecEi .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor18func_ov00_020c31c0Ei @@ -65,14 +73,14 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -103,28 +111,20 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 +.extern abs .extern data_02051254 .extern data_027e0764 .extern data_027e0c54 .extern data_027e0c68 -.extern data_027e0d0c .extern data_027e0d44 .extern data_027e0db0 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f78 .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -147,16 +147,9 @@ .extern func_01ff8690 .extern func_01ff9158 .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ffa0f4 .extern func_01ffa9fc .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 .extern func_02016fe8 .extern func_02018450 .extern func_02019534 @@ -177,7 +170,6 @@ .extern func_020370d0 .extern func_0203eba8 .extern func_0203ebc8 -.extern func_02042f74 .extern func_0204f614 .extern func_0204f754 .extern func_ov00_02079e68 @@ -283,7 +275,6 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0d4c .extern func_ov00_020c0e04 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -368,6 +359,15 @@ .extern func_ov05_02102c2c .extern func_ov17_02168660 .extern func_ov17_021687f0 +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayer +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gPlayerVel +.extern gSinCosTable +.extern gVec3p_ZERO .extern strncpy diff --git a/asm/ov19.s b/asm/ov19.s index bdb1cbcf..51f5a0de 100644 --- a/asm/ov19.s +++ b/asm/ov19.s @@ -326,7 +326,7 @@ func_ov19_0216dac8: ; 0x0216dac8 sub sp, sp, #0x24 movs r4, r1 mov r5, r0 - ldr r6, _0216dd94 ; =data_027e0f94 + ldr r6, _0216dd94 ; =gPlayerPos bne _0216db70 bl func_ov19_0216e98c cmp r0, #2 @@ -346,7 +346,7 @@ func_ov19_0216dac8: ; 0x0216dac8 str r7, [sp, #0x18] str r6, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc mov r3, r6 ldr r1, _0216dd98 ; =0x00000266 @@ -431,7 +431,7 @@ _0216dc18: ldr r8, [r3, #0x658] mov r6, r2, asr #0x4 mov r0, r0, asr #0x4 - ldr r2, _0216dda4 ; =data_02050f54 + ldr r2, _0216dda4 ; =gSinCosTable mov r6, r6, lsl #0x2 mov r0, r0, lsl #0x2 ldrsh lr, [r2, r6] @@ -480,7 +480,7 @@ _0216dc18: add r2, r5, #0x60 str r3, [sp] str r6, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r5, #0x60 mov r2, r0 mov r1, #0x1000 @@ -508,11 +508,11 @@ _0216dc18: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0216dd94: .word data_027e0f94 +_0216dd94: .word gPlayerPos _0216dd98: .word 0x00000266 _0216dd9c: .word 0x00000b33 _0216dda0: .word 0x000004cd -_0216dda4: .word data_02050f54 +_0216dda4: .word gSinCosTable _0216dda8: .word 0x0000038e arm_func_end func_ov19_0216dac8 @@ -521,27 +521,27 @@ _0216dda8: .word 0x0000038e func_ov19_0216ddac: ; 0x0216ddac stmdb sp!, {r4, lr} mov r4, r0 - ldr r1, _0216de00 ; =data_027e0f94 + ldr r1, _0216de00 ; =gPlayerPos add r0, r4, #0x1000 ldr r1, [r1] ldr r0, [r0, #0x640] sub r0, r1, r0 - bl func_02042f74 + bl abs add r1, r4, #0x1000 - ldr r2, _0216de00 ; =data_027e0f94 + ldr r2, _0216de00 ; =gPlayerPos ldr r1, [r1, #0x648] ldr r2, [r2, #8] mov r4, r0 sub r2, r2, #0x4000 sub r0, r2, r1 - bl func_02042f74 + bl abs cmp r4, #0x1000 cmplt r0, #0x1000 movlt r0, #1 movge r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_0216de00: .word data_027e0f94 +_0216de00: .word gPlayerPos arm_func_end func_ov19_0216ddac .global func_ov19_0216de04 @@ -635,13 +635,13 @@ func_ov19_0216df00: ; 0x0216df00 func_ov19_0216df14: ; 0x0216df14 stmdb sp!, {r4, lr} mov r4, r0 - ldr r0, _0216df8c ; =data_027e0f94 + ldr r0, _0216df8c ; =gPlayerPos add r1, r4, #0x48 add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -649,7 +649,7 @@ func_ov19_0216df14: ; 0x0216df14 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0216df90 ; =data_02050f54 + ldr r2, _0216df90 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] mov r0, r0, lsl #0x1 @@ -664,8 +664,8 @@ func_ov19_0216df14: ; 0x0216df14 bl func_0202da8c ldmia sp!, {r4, pc} .align 2, 0 -_0216df8c: .word data_027e0f94 -_0216df90: .word data_02050f54 +_0216df8c: .word gPlayerPos +_0216df90: .word gSinCosTable _0216df94: .word 0x0000019a arm_func_end func_ov19_0216df14 @@ -733,7 +733,7 @@ func_ov19_0216e020: ; 0x0216e020 str r3, [r2, #0x668] add r1, r1, #0x1000 str ip, [r2, #0x664] - bl func_01ff9d4c + bl Vec3p_Normalize ldmia sp!, {r3, pc} arm_func_end func_ov19_0216e020 @@ -747,7 +747,7 @@ func_ov19_0216e060: ; 0x0216e060 add r1, r0, #0x1000 mov r3, r2 mov r0, #0x66 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x60 ldr r1, _0216e0f8 ; =0x000004cd mov r2, r0 @@ -830,7 +830,7 @@ _0216e17c: .word 0x00000f33 .global func_ov19_0216e180 arm_func_start func_ov19_0216e180 func_ov19_0216e180: ; 0x0216e180 - ldr r1, _0216e1c8 ; =data_027e0f94 + ldr r1, _0216e1c8 ; =gPlayerPos ldr r2, [r0, #0x4c] ldr r1, [r1, #4] add r1, r1, #0x4000 @@ -849,7 +849,7 @@ func_ov19_0216e180: ; 0x0216e180 str r2, [r1, #0x644] bx lr .align 2, 0 -_0216e1c8: .word data_027e0f94 +_0216e1c8: .word gPlayerPos arm_func_end func_ov19_0216e180 .global func_ov19_0216e1cc @@ -982,14 +982,14 @@ func_ov19_0216e334: ; 0x0216e334 sub sp, sp, #0x7c mov r4, r0 add r0, sp, #0x50 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x50 str r1, [sp, #0x6c] str r1, [sp, #0x70] bl func_ov00_020c3348 ldr r0, [r4, #8] - ldr r5, _0216e688 ; =data_02050f54 + ldr r5, _0216e688 ; =gSinCosTable str r0, [sp, #0x6c] ldr r0, [r4, #0xc] mov r3, #0x800 @@ -1075,12 +1075,12 @@ _0216e46c: ldr r0, [sp, #0x20] cmp r1, r0 beq _0216e64c - ldr r0, _0216e69c ; =data_027e0fe4 + ldr r0, _0216e69c ; =gActorManager add r1, sp, #0x24 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [sp, #0x10] - ldr r0, _0216e6a0 ; =data_027e0f94 + ldr r0, _0216e6a0 ; =gPlayerPos add r6, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} @@ -1132,12 +1132,12 @@ _0216e46c: sub r6, r7, #0x2000 add r3, r3, r6 str r3, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x3c] ldr r0, [sp, #0x38] ldr r1, [sp, #0x40] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -1146,7 +1146,7 @@ _0216e46c: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 str r1, [sp, #0x3c] - ldr r0, _0216e688 ; =data_02050f54 + ldr r0, _0216e688 ; =gSinCosTable mov r1, r2, lsl #0x1 ldrsh r1, [r0, r1] add r0, r0, r2, lsl #1 @@ -1199,13 +1199,13 @@ _0216e67c: add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0216e688: .word data_02050f54 +_0216e688: .word gSinCosTable _0216e68c: .word 0x00004001 _0216e690: .word data_027e0764 _0216e694: .word 0x57425341 _0216e698: .word data_027e0fe8 -_0216e69c: .word data_027e0fe4 -_0216e6a0: .word data_027e0f94 +_0216e69c: .word gActorManager +_0216e6a0: .word gPlayerPos arm_func_end func_ov19_0216e334 .global func_ov19_0216e6a4 @@ -1501,7 +1501,7 @@ _0216ea5c: ldrsh r0, [r0, #0x20] cmp r0, #0 bgt _0216ea98 - ldr r0, _0216eac0 ; =data_027e0fc8 + ldr r0, _0216eac0 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -1523,7 +1523,7 @@ _0216eab8: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_0216eac0: .word data_027e0fc8 +_0216eac0: .word gPlayerLink _0216eac4: .word data_ov00_020eec68 arm_func_end func_ov19_0216e9e8 @@ -1588,7 +1588,7 @@ _0216eb54: ; jump table b _0216eb78 ; case 7 b _0216eb78 ; case 8 _0216eb78: - ldr r0, _0216ecfc ; =data_027e0fc8 + ldr r0, _0216ecfc ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 @@ -1605,10 +1605,10 @@ _0216eb88: add r2, sp, #0 add r0, r4, #0x48 add r1, r4, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -1617,7 +1617,7 @@ _0216eb88: mov r2, r0, lsl #0x1 add r0, r2, #1 mov lr, #0 - ldr r1, _0216ed00 ; =data_02050f54 + ldr r1, _0216ed00 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r3, [r1, r2] mov r0, r0, lsl #0x1 @@ -1629,7 +1629,7 @@ _0216eb88: mov r0, #0x2000 str lr, [sp, #4] str ip, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x21c mov r1, #6 mov r2, #0 @@ -1671,7 +1671,7 @@ _0216ec94: mov r0, r4 mov r2, r1 str r3, [r4, #0x88] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ b _0216ece8 _0216ecbc: ldr r2, [r4, #0x158] @@ -1692,8 +1692,8 @@ _0216ece8: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0216ecfc: .word data_027e0fc8 -_0216ed00: .word data_02050f54 +_0216ecfc: .word gPlayerLink +_0216ed00: .word gSinCosTable arm_func_end func_ov19_0216eb38 .global func_ov19_0216ed04 @@ -1755,7 +1755,7 @@ func_ov19_0216eda4: ; 0x0216eda4 addne sp, sp, #0x28 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, _0216ee58 ; =data_027e0fe4 + ldr r0, _0216ee58 ; =gActorManager mvn r6, #0 ldr lr, _0216ee5c ; =data_ov19_021763c8 add ip, sp, #0x10 @@ -1774,8 +1774,8 @@ func_ov19_0216eda4: ; 0x0216eda4 str ip, [sp, #4] str r5, [sp, #8] str r3, [sp, #0xc] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList - ldr r5, _0216ee58 ; =data_027e0fe4 + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList + ldr r5, _0216ee58 ; =gActorManager add r7, sp, #0x10 mov r6, #0 _0216ee24: @@ -1793,7 +1793,7 @@ _0216ee24: add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0216ee58: .word data_027e0fe4 +_0216ee58: .word gActorManager _0216ee5c: .word data_ov19_021763c8 arm_func_end func_ov19_0216eda4 @@ -2002,7 +2002,7 @@ func_ov19_0216f0a8: ; 0x0216f0a8 ldmeqia sp!, {r3, pc} mov r1, #1 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldmia sp!, {r3, pc} arm_func_end func_ov19_0216f0a8 @@ -2260,7 +2260,7 @@ _0216f3d8: mov r0, r4 str r2, [r1, #0x10] bl func_ov19_0216f068 - ldr r0, _0216f4cc ; =data_027e0fc8 + ldr r0, _0216f4cc ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] @@ -2319,7 +2319,7 @@ _0216f4b8: add sp, sp, #0x8c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0216f4cc: .word data_027e0fc8 +_0216f4cc: .word gPlayerLink _0216f4d0: .word data_027e0c68 _0216f4d4: .word 0x0067000e _0216f4d8: .word data_027e0f64 @@ -2720,7 +2720,7 @@ _0216fa4c: mov r0, r4 mov r1, #0 bl func_ov19_0216dac8 - ldr r0, _0216fc50 ; =data_027e0f94 + ldr r0, _0216fc50 ; =gPlayerPos ldr r1, [r4, #0x50] ldr r0, [r0, #8] sub r0, r0, #0x2000 @@ -2857,7 +2857,7 @@ _0216fc14: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _0216fc4c: .word 0xb60b60b7 -_0216fc50: .word data_027e0f94 +_0216fc50: .word gPlayerPos _0216fc54: .word data_027e0764 arm_func_end func_ov19_0216f9e8 @@ -3333,11 +3333,11 @@ _0217024c: .word 0x000001d7 .global func_ov19_02170250 arm_func_start func_ov19_02170250 func_ov19_02170250: ; 0x02170250 - ldr ip, _0217025c ; =func_01fffcec + ldr ip, _0217025c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_0217025c: .word func_01fffcec +_0217025c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov19_02170250 .global func_ov19_02170260 @@ -3451,7 +3451,7 @@ _021703a4: mov r3, r2 mov r1, #1 blx func_ov00_0207b2f0 - ldr r0, _02170560 ; =data_027e0f90 + ldr r0, _02170560 ; =gPlayer mov r1, #0 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -3555,7 +3555,7 @@ _02170540: _02170554: .word data_027e0c54 _02170558: .word func_ov05_02102a80 _0217055c: .word data_027e0db0 -_02170560: .word data_027e0f90 +_02170560: .word gPlayer _02170564: .word gMapManager _02170568: .word data_027e0f64 _0217056c: .word 0x00001555 @@ -4406,7 +4406,7 @@ func_ov19_0217102c: ; 0x0217102c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x34] - ldr r3, _021710c8 ; =data_02050f54 + ldr r3, _021710c8 ; =gSinCosTable add r0, r0, ip str r0, [sp, #0x34] ldr r1, [r4, #0x1c] @@ -4432,7 +4432,7 @@ func_ov19_0217102c: ; 0x0217102c add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_021710c8: .word data_02050f54 +_021710c8: .word gSinCosTable arm_func_end func_ov19_0217102c .global func_ov19_021710cc @@ -4589,7 +4589,7 @@ func_ov19_02171290: ; 0x02171290 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x34] - ldr r3, _0217132c ; =data_02050f54 + ldr r3, _0217132c ; =gSinCosTable add r0, r0, ip str r0, [sp, #0x34] ldr r1, [r4, #0x1c] @@ -4615,7 +4615,7 @@ func_ov19_02171290: ; 0x02171290 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217132c: .word data_02050f54 +_0217132c: .word gSinCosTable arm_func_end func_ov19_02171290 .global func_ov19_02171330 @@ -4783,9 +4783,9 @@ func_ov19_02171528: ; 0x02171528 add r1, sp, #0x48 add r2, sp, #0x54 mov r0, r5 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x1c] - ldr r3, _021715f0 ; =data_02050f54 + ldr r3, _021715f0 ; =gSinCosTable ldrh r1, [r0, #0x78] add r0, sp, #0x24 mov r1, r1, asr #0x4 @@ -4818,7 +4818,7 @@ func_ov19_02171528: ; 0x02171528 ldmia sp!, {r4, r5, pc} .align 2, 0 _021715ec: .word 0x00000733 -_021715f0: .word data_02050f54 +_021715f0: .word gSinCosTable _021715f4: .word data_02051254 arm_func_end func_ov19_02171528 @@ -5143,7 +5143,7 @@ _021719a4: _02171a04: ldr r0, [r5, #0x60] ldr r1, [r5, #0x68] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x200 strh r0, [r1, #0xec] _02171a18: @@ -5203,7 +5203,7 @@ func_ov19_02171a9c: ; 0x02171a9c ldr r1, [r5, #0x50] str r1, [r5, #0x5c] bl _ZN5Actor20IncreaseActiveFramesEv - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5232,7 +5232,7 @@ _02171b14: mov r1, r5 bl _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ _02171b40: - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5259,7 +5259,7 @@ _02171b98: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x300] add r0, r0, #0x9a add r0, r0, #0x100 @@ -5334,7 +5334,7 @@ _02171ca8: mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r2, r0, lsl #0x1 - ldr r1, _02171e58 ; =data_02050f54 + ldr r1, _02171e58 ; =gSinCosTable add r0, r0, #1 ldrsh r2, [r1, r2] mov r0, r0, lsl #0x1 @@ -5380,7 +5380,7 @@ _02171d3c: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x138] cmp r0, #0x96 blt _02171db0 @@ -5438,11 +5438,11 @@ _02171e30: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02171e48: .word data_027e0fe4 +_02171e48: .word gActorManager _02171e4c: .word 0x0000099a _02171e50: .word data_027e0764 _02171e54: .word 0xffffd555 -_02171e58: .word data_02050f54 +_02171e58: .word gSinCosTable _02171e5c: .word 0x0000019a _02171e60: .word data_027e0e58 arm_func_end func_ov19_02171a9c @@ -6481,7 +6481,7 @@ func_ov19_02172b20: ; 0x02172b20 add r0, sp, #0x24 add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov ip, #0 add r0, sp, #0x24 sub r3, ip, #0x8000 @@ -6490,14 +6490,14 @@ func_ov19_02172b20: ; 0x02172b20 str ip, [sp, #0xc] str ip, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add b _02172bf4 _02172bb8: bl func_01fffbec add r0, sp, #0x24 add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x24 mov lr, #0x4800 mov ip, #0x3000 @@ -6507,7 +6507,7 @@ _02172bb8: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add _02172bf4: add r2, r4, #0x178 add r1, r4, #0x180 @@ -6933,7 +6933,7 @@ func_ov19_0217314c: ; 0x0217314c mov r5, r0 ldrh r0, [r5, #0xc] mov r4, r1 - ldr r2, _021731e0 ; =data_02050f54 + ldr r2, _021731e0 ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -6966,7 +6966,7 @@ func_ov19_0217314c: ; 0x0217314c add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021731e0: .word data_02050f54 +_021731e0: .word gSinCosTable _021731e4: .word 0x0000042d arm_func_end func_ov19_0217314c @@ -7009,7 +7009,7 @@ _02173254: addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r1, _021732f8 ; =data_027e0f94 + ldr r1, _021732f8 ; =gPlayerPos ldr r2, [r4, #0x1c] ldr r3, [r1, #4] ldr ip, [r1] @@ -7030,7 +7030,7 @@ _021732ac: mov r0, #0 ldmia sp!, {r4, pc} _021732b8: - ldr r0, _02173300 ; =data_027e0fc8 + ldr r0, _02173300 ; =gPlayerLink add r1, r4, #0x18 ldr r0, [r0] bl func_ov00_020bc520 @@ -7038,7 +7038,7 @@ _021732b8: addlt sp, sp, #0x18 movlt r0, #0 ldmltia sp!, {r4, pc} - ldr r0, _02173300 ; =data_027e0fc8 + ldr r0, _02173300 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bb9e4 mov r0, #1 @@ -7047,9 +7047,9 @@ _021732b8: .align 2, 0 _021732f0: .word data_027e0f78 _021732f4: .word data_027e0f64 -_021732f8: .word data_027e0f94 +_021732f8: .word gPlayerPos _021732fc: .word 0xfffff19a -_02173300: .word data_027e0fc8 +_02173300: .word gPlayerLink arm_func_end func_ov19_021731e8 .global func_ov19_02173304 @@ -7104,7 +7104,7 @@ func_ov19_02173354: ; 0x02173354 cmp r1, r0 ldmneia sp!, {r3, r4, r5, pc} ldr r2, [r4, #0xb4] - ldr r1, _021733d8 ; =data_02050f54 + ldr r1, _021733d8 ; =gSinCosTable ldr r0, [r2] bic r0, r0, #2 str r0, [r2] @@ -7125,7 +7125,7 @@ func_ov19_02173354: ; 0x02173354 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021733d4: .word data_ov19_02175e38 -_021733d8: .word data_02050f54 +_021733d8: .word gSinCosTable arm_func_end func_ov19_02173354 .global func_ov19_021733dc @@ -7373,7 +7373,7 @@ _021736d4: bl _ZN14AdventureFlags18func_ov00_02098058Ev cmp r0, #0xa bne _02173714 - ldr r0, _02173790 ; =data_027e0fc8 + ldr r0, _02173790 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bcfb8 @@ -7412,7 +7412,7 @@ _0217377c: _02173784: .word 0x00000666 _02173788: .word data_027e0ffc _0217378c: .word gAdventureFlags -_02173790: .word data_027e0fc8 +_02173790: .word gPlayerLink _02173794: .word 0x000001b3 arm_func_end func_ov19_0217358c @@ -7563,7 +7563,7 @@ _02173908: mov r2, #3 bl func_01ffa9fc ldrh r1, [r4, #0xc] - ldr r3, _02173bf4 ; =data_02050f54 + ldr r3, _02173bf4 ; =gSinCosTable add r0, sp, #0x50 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7713,7 +7713,7 @@ _02173be4: .word data_ov00_020ec9d6 _02173be8: .word data_ov00_020ec9d4 _02173bec: .word 0x00004210 _02173bf0: .word 0xffffeccd -_02173bf4: .word data_02050f54 +_02173bf4: .word gSinCosTable _02173bf8: .word 0x00002666 _02173bfc: .word data_027e0d44 _02173c00: .word 0x001f0081 @@ -7740,7 +7740,7 @@ func_ov19_02173c04: ; 0x02173c04 str ip, [sp, #0x2c] str r3, [sp, #0x30] str ip, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _02173cec ; =0x0000099a ldr r0, _02173cf0 ; =0x00001333 str r1, [sp, #0x20] @@ -7749,7 +7749,7 @@ func_ov19_02173c04: ; 0x02173c04 str r1, [sp, #0x28] add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f ldrh r1, [r4, #0x24] @@ -7789,7 +7789,7 @@ _02173cf0: .word 0x00001333 arm_func_start func_ov19_02173cf4 func_ov19_02173cf4: ; 0x02173cf4 stmdb sp!, {r4, lr} - ldr r1, _02173d28 ; =data_027e0fe4 + ldr r1, _02173d28 ; =gActorManager mov r4, r0 ldr r0, [r1] mov r1, #0 @@ -7802,14 +7802,14 @@ func_ov19_02173cf4: ; 0x02173cf4 bl func_ov00_0208b9e4 ldmia sp!, {r4, pc} .align 2, 0 -_02173d28: .word data_027e0fe4 +_02173d28: .word gActorManager arm_func_end func_ov19_02173cf4 .global func_ov19_02173d2c arm_func_start func_ov19_02173d2c func_ov19_02173d2c: ; 0x02173d2c stmdb sp!, {r3, lr} - ldr r0, _02173d50 ; =data_027e0fe4 + ldr r0, _02173d50 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -7818,7 +7818,7 @@ func_ov19_02173d2c: ; 0x02173d2c movne r0, #0 ldmia sp!, {r3, pc} .align 2, 0 -_02173d50: .word data_027e0fe4 +_02173d50: .word gActorManager arm_func_end func_ov19_02173d2c .global func_ov19_02173d54 @@ -8180,7 +8180,7 @@ func_ov19_0217416c: ; 0x0217416c mov r4, r1 str r2, [sp, #4] str r2, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -8194,7 +8194,7 @@ func_ov19_0217416c: ; 0x0217416c mov r2, r5 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _02174208 ; =data_027e0fe4 + ldr r0, _02174208 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8212,7 +8212,7 @@ func_ov19_0217416c: ; 0x0217416c .align 2, 0 _02174200: .word data_027e0fe8 _02174204: .word 0x45465357 -_02174208: .word data_027e0fe4 +_02174208: .word gActorManager arm_func_end func_ov19_0217416c .global func_ov19_0217420c @@ -8459,14 +8459,14 @@ func_ov19_02174554: ; 0x02174554 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc3fc mov r0, r4 bl func_ov00_020cc438 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov19_02174554 @@ -8496,7 +8496,7 @@ func_ov19_021745b8: ; 0x021745b8 mvn r0, #0 cmp r1, r0 beq _02174604 - ldr r0, _02174784 ; =data_027e0fe4 + ldr r0, _02174784 ; =gActorManager add r1, r7, #0x34c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8509,13 +8509,13 @@ func_ov19_021745b8: ; 0x021745b8 moveq r0, #1 ldmeqia sp!, {r4, r5, r6, r7, pc} _02174604: - ldr r1, _02174784 ; =data_027e0fe4 + ldr r1, _02174784 ; =gActorManager ldr r2, _02174788 ; =0x424f4d42 ldr r1, [r1] add r0, sp, #0 add r3, r7, #0x48 bl _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - ldr r0, _02174784 ; =data_027e0fe4 + ldr r0, _02174784 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8540,10 +8540,10 @@ _02174604: str r1, [r7, #0x350] ldmia sp!, {r4, r5, r6, r7, pc} _0217467c: - ldr r4, _0217478c ; =data_027e0f94 + ldr r4, _0217478c ; =gPlayerPos add r0, r7, #0x48 mov r1, r4 - ldr r5, _02174790 ; =data_027e0fa0 + ldr r5, _02174790 ; =gPlayerVel bl func_ov00_020ce2f0 ldr r1, [r7, #0x34c] cmp r1, #0 @@ -8610,10 +8610,10 @@ _0217475c: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02174784: .word data_027e0fe4 +_02174784: .word gActorManager _02174788: .word 0x424f4d42 -_0217478c: .word data_027e0f94 -_02174790: .word data_027e0fa0 +_0217478c: .word gPlayerPos +_02174790: .word gPlayerVel _02174794: .word 0x0000019a _02174798: .word gMapManager arm_func_end func_ov19_021745b8 @@ -8631,7 +8631,7 @@ func_ov19_0217479c: ; 0x0217479c ldr r0, [r4, #0x34c] cmp r0, #0 bne _021747e4 - ldr r0, _02174870 ; =data_027e0f94 + ldr r0, _02174870 ; =gPlayerPos ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp, #0xc] @@ -8644,7 +8644,7 @@ _021747e4: mvn r0, #0 cmp r1, r0 beq _02174824 - ldr r0, _02174874 ; =data_027e0fe4 + ldr r0, _02174874 ; =gActorManager add r1, r4, #0x34c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8677,8 +8677,8 @@ _02174824: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02174870: .word data_027e0f94 -_02174874: .word data_027e0fe4 +_02174870: .word gPlayerPos +_02174874: .word gActorManager _02174878: .word 0x0000071c _0217487c: .word 0x00000333 arm_func_end func_ov19_0217479c @@ -8739,7 +8739,7 @@ _02174910: add r1, r1, #8 cmp r1, r0 blo _02174910 - ldr r0, _021749e8 ; =data_027e0fe4 + ldr r0, _021749e8 ; =gActorManager mov lr, #0 ldr r6, _021749ec ; =_ZTV11FilterActor add ip, sp, #0x40 @@ -8763,13 +8763,13 @@ _02174910: str lr, [ip, #8] str r4, [sp] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ldrgt r0, [sp, #8] movgt r5, #0 cmpgt r0, #0 ble _021749dc - ldr r4, _021749e8 ; =data_027e0fe4 + ldr r4, _021749e8 ; =gActorManager mov r6, r5 _021749a4: ldr r1, [sp] @@ -8791,7 +8791,7 @@ _021749dc: add sp, sp, #0xd4 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_021749e8: .word data_027e0fe4 +_021749e8: .word gActorManager _021749ec: .word _ZTV11FilterActor _021749f0: .word 0x4d4c4457 arm_func_end func_ov19_021748fc @@ -8940,7 +8940,7 @@ _02174bd8: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0xc] - ldr r1, _02174d34 ; =data_027e0fc8 + ldr r1, _02174d34 ; =gPlayerLink add r0, r0, #0xcd add r4, r0, #0x2c00 ldr r0, [r1] @@ -9021,7 +9021,7 @@ _02174d24: .word data_027e0e58 _02174d28: .word 0x00000131 _02174d2c: .word 0x00001666 _02174d30: .word 0x0000013b -_02174d34: .word data_027e0fc8 +_02174d34: .word gPlayerLink _02174d38: .word 0x0000013a _02174d3c: .word 0x00000136 _02174d40: .word 0x00000137 @@ -9176,10 +9176,10 @@ _02174f38: add r1, sp, #0x38 mov r0, r4 bl _ZN5Actor9GetHitboxEP8Cylinder - ldr r0, _0217558c ; =data_027e0f90 + ldr r0, _0217558c ; =gPlayer add r1, sp, #0x38 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _02174fa8 mov r0, r4 @@ -9188,7 +9188,7 @@ _02174f38: cmp r0, r1 bge _02174fa8 mov r1, #0 - ldr r0, _02175594 ; =data_027e0fc8 + ldr r0, _02175594 ; =gPlayerLink str r1, [sp] ldr r0, [r0] add r2, r4, #8 @@ -9216,7 +9216,7 @@ _02174fa8: add r2, sp, #8 mov r0, r4 str r3, [r4, #0x88] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _02174ff8 mov r0, r4 @@ -9296,7 +9296,7 @@ _021750d0: mov r3, #0 bl func_ov00_020ceacc _02175108: - ldr r0, _02175594 ; =data_027e0fc8 + ldr r0, _02175594 ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #8 @@ -9603,9 +9603,9 @@ _02175574: _02175580: .word data_027e0ffc _02175584: .word 0x0000024a _02175588: .word gMapManager -_0217558c: .word data_027e0f90 +_0217558c: .word gPlayer _02175590: .word 0x00000333 -_02175594: .word data_027e0fc8 +_02175594: .word gPlayerLink _02175598: .word data_ov19_02175e4c _0217559c: .word 0x0000019a _021755a0: .word 0x000001ae @@ -9664,7 +9664,7 @@ _02175654: cmp r0, #0x37000 movge r5, #0 _0217565c: - ldr r2, _021756c0 ; =data_02050f54 + ldr r2, _021756c0 ; =gSinCosTable add r0, sp, #0x24 ldrsh r1, [r2] ldrsh r2, [r2, #2] @@ -9690,7 +9690,7 @@ _0217565c: add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021756c0: .word data_02050f54 +_021756c0: .word gSinCosTable arm_func_end func_ov19_021755d8 .global func_ov19_021756c4 @@ -10017,7 +10017,7 @@ func_ov19_02175a2c: ; 0x02175a2c ldrsh r0, [r4, #0x10] cmp r0, #0 ble _02175ae8 - ldr r0, _02175c28 ; =data_027e0fb8 + ldr r0, _02175c28 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14IsTouchingFastEv cmp r0, #0 @@ -10125,7 +10125,7 @@ _02175be8: strh r1, [r0, #0xa4] mov r0, r4 bl _ZN13LinkStateBase12GetPlayerVelEv - ldr r1, _02175c3c ; =data_027e0d0c + ldr r1, _02175c3c ; =gVec3p_ZERO ldr r2, [r1] str r2, [r0] ldr r2, [r1, #4] @@ -10135,12 +10135,12 @@ _02175be8: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02175c28: .word data_027e0fb8 +_02175c28: .word gPlayerControl _02175c2c: .word 0xb60b60b7 _02175c30: .word data_ov00_020eec9c _02175c34: .word gMapManager _02175c38: .word data_ov19_02175ee0 -_02175c3c: .word data_027e0d0c +_02175c3c: .word gVec3p_ZERO arm_func_end func_ov19_02175a2c .global func_ov19_02175c40 @@ -11099,7 +11099,7 @@ data_ov19_021763ec: ; 0x021763ec .word func_ov00_020cad30 .global data_ov19_021763f0 data_ov19_021763f0: ; 0x021763f0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov19_021763f4 data_ov19_021763f4: ; 0x021763f4 .word func_ov19_0216ed04 @@ -11129,7 +11129,7 @@ data_ov19_02176414: ; 0x02176414 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov19_02176418 data_ov19_02176418: ; 0x02176418 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov19_0217641c data_ov19_0217641c: ; 0x0217641c .word func_ov19_0216e9e8 @@ -11647,7 +11647,7 @@ data_ov19_0217674c: ; 0x0217674c .word _ZN5Actor8vfunc_18Ej .global data_ov19_02176750 data_ov19_02176750: ; 0x02176750 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov19_02176754 data_ov19_02176754: ; 0x02176754 .word func_ov19_02171ebc @@ -11677,10 +11677,10 @@ data_ov19_02176774: ; 0x02176774 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov19_02176778 data_ov19_02176778: ; 0x02176778 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov19_0217677c data_ov19_0217677c: ; 0x0217677c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov19_02176780 data_ov19_02176780: ; 0x02176780 .word _ZN5Actor8vfunc_4cEPi @@ -11815,7 +11815,7 @@ data_ov19_0217682c: ; 0x0217682c .word func_ov19_02172428 .global data_ov19_02176830 data_ov19_02176830: ; 0x02176830 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov19_02176834 data_ov19_02176834: ; 0x02176834 .word func_ov19_021723d4 ; func_ov26_021723d4 @@ -11845,10 +11845,10 @@ data_ov19_02176854: ; 0x02176854 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov19_02176858 data_ov19_02176858: ; 0x02176858 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov19_0217685c data_ov19_0217685c: ; 0x0217685c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov19_02176860 data_ov19_02176860: ; 0x02176860 .word _ZN5Actor8vfunc_4cEPi @@ -11956,7 +11956,7 @@ data_ov19_021768e8: ; 0x021768e8 .word _ZN5Actor8vfunc_18Ej .global data_ov19_021768ec data_ov19_021768ec: ; 0x021768ec - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov19_021768f0 data_ov19_021768f0: ; 0x021768f0 .word _ZN5Actor8vfunc_20Ei @@ -11986,10 +11986,10 @@ data_ov19_02176910: ; 0x02176910 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov19_02176914 data_ov19_02176914: ; 0x02176914 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov19_02176918 data_ov19_02176918: ; 0x02176918 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov19_0217691c data_ov19_0217691c: ; 0x0217691c .word _ZN5Actor8vfunc_4cEPi @@ -12580,7 +12580,7 @@ data_ov19_02176c28: ; 0x02176c28 .word func_ov00_020cad30 .global data_ov19_02176c2c data_ov19_02176c2c: ; 0x02176c2c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov19_02176c30 data_ov19_02176c30: ; 0x02176c30 .word func_ov00_020cb1c0 @@ -12610,7 +12610,7 @@ data_ov19_02176c50: ; 0x02176c50 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov19_02176c54 data_ov19_02176c54: ; 0x02176c54 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov19_02176c58 data_ov19_02176c58: ; 0x02176c58 .word func_ov19_02174d44 @@ -12807,7 +12807,7 @@ data_ov19_02176d70: ; 0x02176d70 .word func_ov19_0217595c .global data_ov19_02176d74 data_ov19_02176d74: ; 0x02176d74 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov19_02176d78 data_ov19_02176d78: ; 0x02176d78 .word func_ov19_02175970 @@ -12837,10 +12837,10 @@ data_ov19_02176d98: ; 0x02176d98 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov19_02176d9c data_ov19_02176d9c: ; 0x02176d9c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov19_02176da0 data_ov19_02176da0: ; 0x02176da0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov19_02176da4 data_ov19_02176da4: ; 0x02176da4 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov20.inc b/asm/ov20.inc index 59f87e40..2ccb7e77 100644 --- a/asm/ov20.inc +++ b/asm/ov20.inc @@ -11,7 +11,7 @@ .extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager7AddItemEi -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase12GetPlayerPosEv @@ -30,7 +30,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12KillInBoundsEv .extern _ZN5Actor12SetTransformEP9Transform @@ -43,7 +43,7 @@ .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18CollidesWithShieldEP8Cylinder .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ @@ -60,14 +60,14 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -98,7 +98,7 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02056be4 .extern data_027e0764 .extern data_027e077c @@ -110,12 +110,12 @@ .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerAngle +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -134,17 +134,17 @@ .extern func_01ff8248 .extern func_01ff8aa0 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffbe78 .extern func_01fffbec -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_02016fe8 .extern func_02018450 .extern func_02018cb8 @@ -263,7 +263,7 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -365,7 +365,7 @@ .extern func_ov14_02127984 .extern func_ov14_02127a14 .extern func_ov14_02127ac4 -.extern func_ov14_0213d15c +.extern _ZN14EquipBoomerang8GetActorEv .extern func_ov14_0213d184 .extern func_ov14_021448d4 .extern func_ov14_021448dc diff --git a/asm/ov20.s b/asm/ov20.s index 9c43d7eb..8689975a 100644 --- a/asm/ov20.s +++ b/asm/ov20.s @@ -159,14 +159,14 @@ func_ov20_0216d848: ; 0x0216d848 bl func_ov00_020cb140 ldr r11, _0216da04 ; =0x46425331 ldr r5, _0216da08 ; =data_027e0fe8 - ldr r4, _0216da0c ; =data_027e0fe4 + ldr r4, _0216da0c ; =gActorManager mov r9, #0 add r8, sp, #0x18 mvn r7, #0 add r6, sp, #4 _0216d8d0: mov r0, r8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r8 str r7, [sp, #0x34] str r7, [sp, #0x38] @@ -197,7 +197,7 @@ _0216d8d0: blt _0216d8d0 mov r7, #0 add r0, r10, #0x24c - ldr r6, _0216da10 ; =data_02050f54 + ldr r6, _0216da10 ; =gSinCosTable ldr r4, _0216da14 ; =0x55555556 mov r8, r7 add r9, r0, #0x800 @@ -223,7 +223,7 @@ _0216d968: mov r3, r9 add r2, r10, #0x48 str r5, [sp, #0x10] - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r7, #1 mov r1, r0, lsl #0x10 add r0, r8, #0xff @@ -246,8 +246,8 @@ _0216d9fc: .word gAdventureFlags _0216da00: .word data_ov20_02178320 _0216da04: .word 0x46425331 _0216da08: .word data_027e0fe8 -_0216da0c: .word data_027e0fe4 -_0216da10: .word data_02050f54 +_0216da0c: .word gActorManager +_0216da10: .word gSinCosTable _0216da14: .word 0x55555556 arm_func_end func_ov20_0216d848 @@ -385,7 +385,7 @@ _0216db78: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0216dba4: mov r1, #1 - ldr r0, _0216e520 ; =data_027e0fc8 + ldr r0, _0216e520 ; =gPlayerLink strb r1, [r7, #0x11a] ldr r0, [r0] ldr r1, [r0] @@ -431,7 +431,7 @@ _0216dc44: bl func_ov00_020c5a5c mov r6, r4 ldr r5, _0216e530 ; =data_ov20_0217786c - ldr r4, _0216e534 ; =data_02050f54 + ldr r4, _0216e534 ; =gSinCosTable add r11, sp, #0xa4 _0216dc60: add r0, sp, #0xb0 @@ -533,7 +533,7 @@ _0216ddc4: mov r0, r6 add r1, r1, #0x48 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r4, r4, #1 cmp r4, #3 blt _0216ddc4 @@ -576,7 +576,7 @@ _0216de60: add r0, r0, #0xab add r0, r0, #0x2a00 mov r5, r4 - ldr r4, _0216e534 ; =data_02050f54 + ldr r4, _0216e534 ; =gSinCosTable mov r6, r0, lsl #0x10 _0216de88: add r0, sp, #0x8c @@ -752,17 +752,17 @@ _0216e0e0: add sp, sp, #0x124 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0216e120: - ldr r0, _0216e544 ; =data_027e0f94 + ldr r0, _0216e544 ; =gPlayerPos add r3, sp, #0x68 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #0x5c mov r0, r3 add r1, r7, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x5c] ldr r1, [sp, #0x64] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 str r0, [sp, #0x10] ldr r0, _0216e548 ; =data_027e0764 @@ -801,7 +801,7 @@ _0216e120: mov r0, r0, asr #0x4 mov lr, r0, lsl #0x1 sub r5, r1, #0x7000 - ldr r0, _0216e534 ; =data_02050f54 + ldr r0, _0216e534 ; =gSinCosTable mov r4, lr, lsl #0x1 ldrsh r0, [r0, r4] add r1, sp, #0x5c @@ -809,7 +809,7 @@ _0216e120: str r0, [sp, #0xc] add r0, lr, #1 mov r4, r0, lsl #0x1 - ldr r0, _0216e534 ; =data_02050f54 + ldr r0, _0216e534 ; =gSinCosTable add r3, r3, #0x800 ldrsh r4, [r0, r4] ldr r0, [sp, #0xc] @@ -828,7 +828,7 @@ _0216e120: mla r4, r6, r0, r4 mla r4, r0, r5, r4 add r0, r4, #0x3000 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r7, #0xa8c] ldr r0, _0216e550 ; =gMapManager str r1, [sp, #0x20] @@ -933,7 +933,7 @@ _0216e3b4: add sp, sp, #0x124 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0216e3dc: - ldr r0, _0216e554 ; =data_027e0f90 + ldr r0, _0216e554 ; =gPlayer mov r1, r4 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -1017,20 +1017,20 @@ _0216e514: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0216e51c: .word 0x0000ffff -_0216e520: .word data_027e0fc8 +_0216e520: .word gPlayerLink _0216e524: .word data_ov00_020eec68 _0216e528: .word data_027e103c _0216e52c: .word 0x000900e1 _0216e530: .word data_ov20_0217786c -_0216e534: .word data_02050f54 +_0216e534: .word gSinCosTable _0216e538: .word 0x55555556 _0216e53c: .word data_ov20_02177878 _0216e540: .word data_027e0ffc -_0216e544: .word data_027e0f94 +_0216e544: .word gPlayerPos _0216e548: .word data_027e0764 _0216e54c: .word 0x00008001 _0216e550: .word gMapManager -_0216e554: .word data_027e0f90 +_0216e554: .word gPlayer _0216e558: .word data_027e0f64 _0216e55c: .word 0x00001555 _0216e560: .word 0x00001006 @@ -1065,7 +1065,7 @@ func_ov20_0216e568: ; 0x0216e568 ldrsh r0, [r0, #0x20] cmp r0, #0 bgt _0216e5ec - ldr r0, _0216e5fc ; =data_027e0fc8 + ldr r0, _0216e5fc ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -1080,7 +1080,7 @@ _0216e5f4: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_0216e5fc: .word data_027e0fc8 +_0216e5fc: .word gPlayerLink _0216e600: .word data_ov00_020eec68 arm_func_end func_ov20_0216e568 @@ -1111,7 +1111,7 @@ _0216e64c: add r3, sp, #0x78 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0216f46c ; =data_027e0fc8 + ldr r0, _0216f46c ; =gPlayerLink ldr r1, [sp, #0x7c] ldr r0, [r0] add r2, r1, #0x1000 @@ -1144,7 +1144,7 @@ _0216e6bc: cmp r0, #0 beq _0216e6fc bl func_ov20_0216f4b4 - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv bl func_ov14_021231e0 mov r0, r4 bl func_ov20_0216f9d0 @@ -1813,7 +1813,7 @@ _0216f03c: mov r2, r0, lsl #0x1 add r0, r2, #1 mov r3, #0 - ldr r1, _0216f488 ; =data_02050f54 + ldr r1, _0216f488 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 @@ -2071,14 +2071,14 @@ _0216f460: add sp, sp, #0x1e4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0216f46c: .word data_027e0fc8 +_0216f46c: .word gPlayerLink _0216f470: .word 0x00001388 _0216f474: .word 0x000004cd _0216f478: .word data_027e0ffc _0216f47c: .word 0x00000267 _0216f480: .word 0x0000019a _0216f484: .word data_027e0764 -_0216f488: .word data_02050f54 +_0216f488: .word gSinCosTable _0216f48c: .word data_027e0e58 _0216f490: .word 0x00001008 _0216f494: .word 0x00001009 @@ -2094,11 +2094,11 @@ _0216f4b0: .word gAdventureFlags .global func_ov20_0216f4b4 arm_func_start func_ov20_0216f4b4 func_ov20_0216f4b4: ; 0x0216f4b4 - ldr ip, _0216f4c0 ; =func_01fffcec + ldr ip, _0216f4c0 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #2 bx ip .align 2, 0 -_0216f4c0: .word func_01fffcec +_0216f4c0: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov20_0216f4b4 .global func_ov20_0216f4c4 @@ -2205,13 +2205,13 @@ func_ov20_0216f5b0: ; 0x0216f5b0 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0216f710 ; =data_02050f54 + ldr r2, _0216f710 ; =gSinCosTable mov r3, r1, lsl #0x1 mov r1, r0, lsl #0x1 add r0, r9, #0x60 ldrsh r6, [r2, r3] ldrsh r7, [r2, r1] - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 add r0, r9, #0x48 mov r1, r8 @@ -2282,7 +2282,7 @@ _0216f6f8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _0216f70c: .word 0x0000071c -_0216f710: .word data_02050f54 +_0216f710: .word gSinCosTable _0216f714: .word 0x0000019a _0216f718: .word 0xfffffe66 _0216f71c: .word 0x00000733 @@ -2382,15 +2382,15 @@ func_ov20_0216f82c: ; 0x0216f82c mov r4, r0 add r0, r4, #0xa00 ldrsh r0, [r0, #0x70] - ldr r1, _0216f894 ; =data_027e0f94 + ldr r1, _0216f894 ; =gPlayerPos add r2, sp, #0 add r0, r4, r0, lsl #2 ldr r0, [r0, #0xa40] add r0, r0, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 mov r1, #0 @@ -2405,7 +2405,7 @@ _0216f870: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0216f894: .word data_027e0f94 +_0216f894: .word gPlayerPos arm_func_end func_ov20_0216f82c .global func_ov20_0216f898 @@ -2581,14 +2581,14 @@ func_ov20_0216fa6c: ; 0x0216fa6c sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] str r1, [sp, #0x30] bl func_ov00_020c3348 ldr r1, [r4, #8] - ldr r0, _0216fb84 ; =data_027e0f94 + ldr r0, _0216fb84 ; =gPlayerPos str r1, [sp, #0x2c] ldr r4, [r4, #0xc] add r3, sp, #4 @@ -2648,7 +2648,7 @@ func_ov20_0216fa6c: ; 0x0216fa6c add sp, sp, #0x3c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0216fb84: .word data_027e0f94 +_0216fb84: .word gPlayerPos _0216fb88: .word data_027e0764 _0216fb8c: .word 0x00004001 _0216fb90: .word data_027e0fe8 @@ -3398,7 +3398,7 @@ func_ov20_02170480: ; 0x02170480 add r0, r4, #0x330 add r1, r4, #0x48 add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 str r1, [r4, #0x64] ldr r3, [r4, #0x60] @@ -3554,7 +3554,7 @@ _021706a0: add r1, r4, #0x300 ldrsh r2, [r1, #0x5c] mov lr, #0 - ldr r1, _02170738 ; =data_02050f54 + ldr r1, _02170738 ; =gSinCosTable add r0, r0, r2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -3567,14 +3567,14 @@ _021706a0: ldrsh r5, [r1, r2] mov r0, r0, lsl #0x1 ldrsh ip, [r1, r0] - ldr r2, _0217073c ; =data_027e0f94 + ldr r2, _0217073c ; =gPlayerPos add r1, sp, #0 add r3, sp, #0xc mov r0, #0x3800 str r5, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0xc] mov r0, r4 str r1, [r4, #0x360] @@ -3590,8 +3590,8 @@ _021706a0: _0217072c: .word 0xffffce39 _02170730: .word 0x0000071c _02170734: .word 0xfffff8e4 -_02170738: .word data_02050f54 -_0217073c: .word data_027e0f94 +_02170738: .word gSinCosTable +_0217073c: .word gPlayerPos arm_func_end func_ov20_021705ec .global func_ov20_02170740 @@ -3609,10 +3609,10 @@ func_ov20_02170740: ; 0x02170740 add r2, sp, #0 mov r0, r5 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -3620,7 +3620,7 @@ func_ov20_02170740: ; 0x02170740 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r2, r0, lsl #0x1 - ldr r3, _02170808 ; =data_02050f54 + ldr r3, _02170808 ; =gSinCosTable add r0, r0, #1 mov r1, #0 ldrsh r2, [r3, r2] @@ -3633,7 +3633,7 @@ func_ov20_02170740: ; 0x02170740 mov r0, #0x29 add r1, sp, #0 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0 str r0, [r4, #0x64] add r0, r4, #0x60 @@ -3648,7 +3648,7 @@ func_ov20_02170740: ; 0x02170740 ldmia sp!, {r4, r5, pc} .align 2, 0 _02170804: .word 0x0000071c -_02170808: .word data_02050f54 +_02170808: .word gSinCosTable _0217080c: .word 0x0000019a arm_func_end func_ov20_02170740 @@ -4051,7 +4051,7 @@ _02170d58: add r3, sp, #0x1c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02171520 ; =data_027e0fc8 + ldr r0, _02171520 ; =gPlayerLink ldr r1, [sp, #0x20] ldr r0, [r0] add r2, r1, #0x1000 @@ -4424,7 +4424,7 @@ _0217128c: cmp r0, #0x2000 bge _02171360 bl func_ov20_0216f4b4 - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv ldr r0, [r0, #0x130] cmp r0, #0 beq _02171360 @@ -4598,7 +4598,7 @@ _02171514: add sp, sp, #0x28 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02171520: .word data_027e0fc8 +_02171520: .word gPlayerLink _02171524: .word 0x0000019a _02171528: .word data_027e0ffc _0217152c: .word 0x00000272 @@ -4661,7 +4661,7 @@ func_ov20_021715b0: ; 0x021715b0 sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -4700,7 +4700,7 @@ _0217163c: .word 0x46425334 arm_func_start func_ov20_02171640 func_ov20_02171640: ; 0x02171640 stmdb sp!, {r3, lr} - ldr r1, _02171660 ; =data_027e0fe4 + ldr r1, _02171660 ; =gActorManager mov r2, r0 ldr r0, [r1] add r1, r2, #0x34 @@ -4708,7 +4708,7 @@ func_ov20_02171640: ; 0x02171640 bl func_ov20_0216f720 ldmia sp!, {r3, pc} .align 2, 0 -_02171660: .word data_027e0fe4 +_02171660: .word gActorManager arm_func_end func_ov20_02171640 .global func_ov20_02171664 @@ -4909,14 +4909,14 @@ func_ov20_021718bc: ; 0x021718bc beq _021719b8 b _021719c0 _021718dc: - ldr r0, _021719d4 ; =data_027e0f94 + ldr r0, _021719d4 ; =gPlayerPos add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 add r1, r5, #0x48 add r2, r5, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 str r1, [r5, #0x64] ldr r0, [r5, #0x60] @@ -4931,7 +4931,7 @@ _021718dc: _02171928: add r0, r5, #0x60 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r2, [r5, #0x60] ldr r0, _021719d8 ; =0x00000333 mov r1, #0 @@ -4975,7 +4975,7 @@ _021719c0: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_021719d4: .word data_027e0f94 +_021719d4: .word gPlayerPos _021719d8: .word 0x00000333 arm_func_end func_ov20_021718bc @@ -5007,7 +5007,7 @@ _02171a30: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] ldr r3, [r5, #8] @@ -5086,7 +5086,7 @@ _02171b54: mov r0, r5 bge _02171b8c mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02171bd8 mov r0, r5 @@ -5320,7 +5320,7 @@ _02171e20: mla r6, r0, r1, r6 adds r1, r3, r7 ldr r0, [ip, #0x14] - ldr r7, _02172090 ; =data_02050f54 + ldr r7, _02172090 ; =gSinCosTable adc r0, r0, r6 mov r3, r0, lsr #0x10 mov r3, r3, lsl #0x10 @@ -5433,7 +5433,7 @@ _02171fa8: mov r7, r3, lsl #0x1 add lr, r7, #1 str r1, [ip] - ldr r6, _02172090 ; =data_02050f54 + ldr r6, _02172090 ; =gSinCosTable mov r7, r7, lsl #0x1 mov r1, lr, lsl #0x1 str r0, [ip, #4] @@ -5466,7 +5466,7 @@ _02172078: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0217208c: .word data_027e0764 -_02172090: .word data_02050f54 +_02172090: .word gSinCosTable _02172094: .word data_027e0e58 _02172098: .word 0x00000263 _0217209c: .word gMapManager @@ -5603,10 +5603,10 @@ _02172258: add r6, r2, #0xe00 mov r2, r0 strh r6, [r3, #0x88] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r5, #0x111] cmp r0, #0 beq _021724cc @@ -5754,7 +5754,7 @@ _02172494: add r2, r2, #0xe00 strh r2, [r3, #0x88] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x4c] cmp r0, #0xa000 ble _021724cc @@ -5763,7 +5763,7 @@ _02172494: _021724cc: mov r0, r5 bl _ZN5Actor12KillInBoundsEv - ldr r0, _02172554 ; =data_027e0fe4 + ldr r0, _02172554 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5798,7 +5798,7 @@ _02172544: .word data_027e0ffc _02172548: .word data_027e0e58 _0217254c: .word 0x00000261 _02172550: .word data_027e0f64 -_02172554: .word data_027e0fe4 +_02172554: .word gActorManager _02172558: .word 0x46425353 arm_func_end func_ov20_021720b8 @@ -5830,7 +5830,7 @@ func_ov20_02172570: ; 0x02172570 beq _021725f0 add r0, r4, #0x100 ldrh r1, [r0, #0x88] - ldr r3, _0217262c ; =data_02050f54 + ldr r3, _0217262c ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -5864,7 +5864,7 @@ _021725f0: add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217262c: .word data_02050f54 +_0217262c: .word gSinCosTable _02172630: .word data_ov00_020e9370 arm_func_end func_ov20_02172570 @@ -6029,12 +6029,12 @@ _021727fc: add r3, sp, #8 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r1, _0217294c ; =data_027e0fe4 + ldr r1, _0217294c ; =gActorManager ldr r2, _02172950 ; =0x564c4352 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217294c ; =data_027e0fe4 + ldr r0, _0217294c ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6115,7 +6115,7 @@ _02172940: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0217294c: .word data_027e0fe4 +_0217294c: .word gActorManager _02172950: .word 0x564c4352 _02172954: .word data_027e0ffc _02172958: .word data_027e0764 @@ -6128,7 +6128,7 @@ func_ov20_0217295c: ; 0x0217295c sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -6379,7 +6379,7 @@ func_ov20_02172c58: ; 0x02172c58 str ip, [sp, #0x28] str r3, [sp, #0x2c] str r3, [sp, #0x30] - bl func_01ff9bc4 + bl Vec3p_Add b _02172cd8 _02172cbc: add r0, r4, #0x18 @@ -6388,7 +6388,7 @@ _02172cbc: str r3, [sp, #0x1c] str r3, [sp, #0x20] str r3, [sp, #0x24] - bl func_01ff9bc4 + bl Vec3p_Add _02172cd8: ldr r0, [r4, #0x18] mov r1, #0 @@ -7415,14 +7415,14 @@ _02173a7c: .word data_ov20_021779dc func_ov20_02173a80: ; 0x02173a80 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #8 - ldr r2, _02173bc0 ; =data_027e0fe4 + ldr r2, _02173bc0 ; =gActorManager mov r5, r1 ldr r1, [r2] mov r6, r0 ldr r2, _02173bc4 ; =0x524d4654 add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02173bc0 ; =data_027e0fe4 + ldr r0, _02173bc0 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -7503,7 +7503,7 @@ _02173bb4: add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02173bc0: .word data_027e0fe4 +_02173bc0: .word gActorManager _02173bc4: .word 0x524d4654 _02173bc8: .word data_ov00_020e8b08 arm_func_end func_ov20_02173a80 @@ -7536,7 +7536,7 @@ func_ov20_02173bf4: ; 0x02173bf4 beq _02173c3c b _02173cbc _02173c14: - ldr r1, _02173cd4 ; =data_027e0fe4 + ldr r1, _02173cd4 ; =gActorManager ldr r2, _02173cd8 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0x10 @@ -7547,13 +7547,13 @@ _02173c14: str r0, [r4, #0x184] b _02173cc8 _02173c3c: - ldr r1, _02173cd4 ; =data_027e0fe4 + ldr r1, _02173cd4 ; =gActorManager ldr r2, _02173cd8 ; =0x4e415649 ldr r1, [r1] add r0, sp, #8 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r1, [sp, #8] - ldr r0, _02173cd4 ; =data_027e0fe4 + ldr r0, _02173cd4 ; =gActorManager str r1, [r4, #0x180] ldr r1, [sp, #0xc] mvn r7, #0 @@ -7573,7 +7573,7 @@ _02173c3c: str lr, [sp, #0x20] str ip, [sp] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #8] str r0, [r4, #0x188] ldr r0, [sp, #0xc] @@ -7588,7 +7588,7 @@ _02173cc8: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02173cd4: .word data_027e0fe4 +_02173cd4: .word gActorManager _02173cd8: .word 0x4e415649 _02173cdc: .word data_ov20_021789c4 _02173ce0: .word 0x4c4e424b @@ -7661,9 +7661,9 @@ func_ov20_02173ce4: ; 0x02173ce4 ldr r1, [sp, #0x44] add r0, sp, #0x3c add r2, r1, #0x1000 - ldr r1, _02173e34 ; =data_027e0f94 + ldr r1, _02173e34 ; =gPlayerPos str r2, [sp, #0x44] - bl func_01ff9ec0 + bl Vec3p_Distance mov r4, r0 add r1, sp, #0x14 mov r0, r6 @@ -7683,7 +7683,7 @@ _02173e20: .align 2, 0 _02173e2c: .word 0x0000ffff _02173e30: .word gMapManager -_02173e34: .word data_027e0f94 +_02173e34: .word gPlayerPos arm_func_end func_ov20_02173ce4 .global func_ov20_02173e38 @@ -7715,7 +7715,7 @@ func_ov20_02173e60: ; 0x02173e60 addeq sp, sp, #0x3c ldmeqia sp!, {r4, r5, pc} ldrh r1, [r4, #0x78] - ldr r3, _02173f5c ; =data_02050f54 + ldr r3, _02173f5c ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7769,7 +7769,7 @@ func_ov20_02173e60: ; 0x02173e60 add sp, sp, #0x3c ldmia sp!, {r4, r5, pc} .align 2, 0 -_02173f5c: .word data_02050f54 +_02173f5c: .word gSinCosTable _02173f60: .word data_ov00_020e9360 _02173f64: .word data_ov00_020e9370 arm_func_end func_ov20_02173e60 @@ -8339,7 +8339,7 @@ func_ov20_021745f4: ; 0x021745f4 ldmia sp!, {r3, r4, r5, pc} _02174618: ldrh r1, [r0, #0x78] - ldr r5, _02174728 ; =data_02050f54 + ldr r5, _02174728 ; =gSinCosTable mov r2, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -8374,7 +8374,7 @@ _02174618: ldmia sp!, {r3, r4, r5, pc} _021746a0: ldrh r2, [r0, #0x78] - ldr lr, _02174728 ; =data_02050f54 + ldr lr, _02174728 ; =gSinCosTable ldr r1, _0217472c ; =0x00000614 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 @@ -8408,7 +8408,7 @@ _021746a0: str r3, [r0, #0x64] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02174728: .word data_02050f54 +_02174728: .word gSinCosTable _0217472c: .word 0x00000614 arm_func_end func_ov20_021745f4 @@ -8680,10 +8680,10 @@ _02174a20: ldr r0, [r6, #0x15c] cmp r0, #0 bne _02174b28 - ldr r1, _02174ba4 ; =data_027e0f94 + ldr r1, _02174ba4 ; =gPlayerPos add r2, sp, #0x34 add r0, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r1, sp, #0x40 mov r0, r6 bl _ZN5Actor18CollidesWithShieldEP8Cylinder @@ -8730,10 +8730,10 @@ _02174b28: _02174b4c: cmp r2, #0 bne _02174b88 - ldr r0, _02174ba4 ; =data_027e0f94 + ldr r0, _02174ba4 ; =gPlayerPos add r2, sp, #0x10 add r1, r6, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x14] mov r0, #1 @@ -8752,7 +8752,7 @@ _02174b94: .word gItemManager _02174b98: .word 0x000008a4 _02174b9c: .word 0x00000733 _02174ba0: .word gMapManager -_02174ba4: .word data_027e0f94 +_02174ba4: .word gPlayerPos arm_func_end func_ov20_021749dc .global func_ov20_02174ba8 @@ -8780,7 +8780,7 @@ _02174be4: bl func_01fffbec _02174bf0: ldrh r1, [r4, #0x78] - ldr r3, _02174c74 ; =data_02050f54 + ldr r3, _02174c74 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8813,7 +8813,7 @@ _02174bf0: ldmia sp!, {r4, pc} .align 2, 0 _02174c70: .word 0x00001333 -_02174c74: .word data_02050f54 +_02174c74: .word gSinCosTable _02174c78: .word 0x00000666 _02174c7c: .word data_ov00_020e9370 arm_func_end func_ov20_02174ba8 @@ -9422,7 +9422,7 @@ _02175420: cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r0, _021755e8 ; =data_027e0fc8 + ldr r0, _021755e8 ; =gPlayerLink add r1, r5, #0x18 ldr r0, [r0] bl func_ov00_020bc520 @@ -9452,7 +9452,7 @@ _02175420: _021754a0: cmp r0, #0x96 bge _02175528 - ldr r0, _021755ec ; =data_027e0fac + ldr r0, _021755ec ; =gPlayerAngle ldrsh r2, [r0] add r0, r2, #0xab add r0, r0, #0x6a00 @@ -9490,7 +9490,7 @@ _02175528: mov r1, #0 mov r2, #0x800 bl func_0202b3bc - ldr r0, _021755e8 ; =data_027e0fc8 + ldr r0, _021755e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bb9e4 mov r0, r5 @@ -9538,8 +9538,8 @@ _021755d8: .align 2, 0 _021755e0: .word data_027e0f64 _021755e4: .word data_027e0e58 -_021755e8: .word data_027e0fc8 -_021755ec: .word data_027e0fac +_021755e8: .word gPlayerLink +_021755ec: .word gPlayerAngle _021755f0: .word 0xffff9555 arm_func_end func_ov20_02175324 @@ -9867,7 +9867,7 @@ _021759c4: add sp, sp, #0x19c ldmia sp!, {r4, r5, pc} _021759e8: - ldr r0, _02175f10 ; =data_027e0f94 + ldr r0, _02175f10 ; =gPlayerPos add r3, sp, #0xe0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -9888,7 +9888,7 @@ _021759e8: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r4 mov r1, #1 bl func_ov20_02175960 @@ -9951,14 +9951,14 @@ _02175b0c: add r2, r4, #0x48 bl func_ov00_020cec60 add r0, sp, #0xa8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xa8 str r1, [sp, #0xc4] str r1, [sp, #0xc8] bl func_ov00_020c3348 ldr r1, [r4, #8] - ldr r0, _02175f28 ; =data_027e0fe4 + ldr r0, _02175f28 ; =gActorManager str r1, [sp, #0xc4] ldr r3, [r4, #0xc] ldr r1, [r0] @@ -9966,7 +9966,7 @@ _02175b0c: add r0, sp, #4 str r3, [sp, #0xc8] bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02175f28 ; =data_027e0fe4 + ldr r0, _02175f28 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -10216,13 +10216,13 @@ _02175ec8: add sp, sp, #0x19c ldmia sp!, {r4, r5, pc} .align 2, 0 -_02175f10: .word data_027e0f94 +_02175f10: .word gPlayerPos _02175f14: .word gMapManager _02175f18: .word data_027e077c _02175f1c: .word gAdventureFlags _02175f20: .word data_027e0ffc _02175f24: .word 0x00000391 -_02175f28: .word data_027e0fe4 +_02175f28: .word gActorManager _02175f2c: .word 0x564c4352 _02175f30: .word 0xfffffe66 _02175f34: .word data_027e0fe8 @@ -10641,7 +10641,7 @@ func_ov20_021763b4: ; 0x021763b4 mov r4, r0 cmp r1, #0 bne _021763f0 - ldr r1, _02176408 ; =data_027e0fe4 + ldr r1, _02176408 ; =gActorManager ldr r2, _0217640c ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 @@ -10660,7 +10660,7 @@ _021763fc: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_02176408: .word data_027e0fe4 +_02176408: .word gActorManager _0217640c: .word 0x4e415649 arm_func_end func_ov20_021763b4 @@ -11781,7 +11781,7 @@ func_ov20_02177190: ; 0x02177190 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02177230 ; =data_02050f54 + ldr r3, _02177230 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11818,7 +11818,7 @@ func_ov20_02177190: ; 0x02177190 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02177230: .word data_02050f54 +_02177230: .word gSinCosTable _02177234: .word 0x0000259a arm_func_end func_ov20_02177190 @@ -11840,7 +11840,7 @@ func_ov20_02177238: ; 0x02177238 str r1, [sp, #0x38] str r4, [sp, #0x48] ldrh r4, [r5, #0xc] - ldr r3, _021772f0 ; =data_02050f54 + ldr r3, _021772f0 ; =gSinCosTable add r0, sp, #4 mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 @@ -11857,7 +11857,7 @@ func_ov20_02177238: ; 0x02177238 add r0, sp, #0x40 add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #4 str r0, [sp] ldr r0, _021772f4 ; =data_027e0e58 @@ -11872,7 +11872,7 @@ func_ov20_02177238: ; 0x02177238 add sp, sp, #0x4c ldmia sp!, {r4, r5, pc} .align 2, 0 -_021772f0: .word data_02050f54 +_021772f0: .word gSinCosTable _021772f4: .word data_027e0e58 _021772f8: .word 0x00000272 arm_func_end func_ov20_02177238 @@ -12058,7 +12058,7 @@ _02177538: mov r0, r5 mov r1, r6 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add cmp r8, #0 ldr r0, [r4] mov r2, #0 @@ -13567,7 +13567,7 @@ data_ov20_021783c0: ; 0x021783c0 .word func_ov00_020cad30 .global data_ov20_021783c4 data_ov20_021783c4: ; 0x021783c4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_021783c8 data_ov20_021783c8: ; 0x021783c8 .word func_ov00_020cb1c0 @@ -13597,7 +13597,7 @@ data_ov20_021783e8: ; 0x021783e8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_021783ec data_ov20_021783ec: ; 0x021783ec - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_021783f0 data_ov20_021783f0: ; 0x021783f0 .word func_ov20_0216e568 @@ -13882,7 +13882,7 @@ data_ov20_02178564: ; 0x02178564 .word func_ov00_020cad30 .global data_ov20_02178568 data_ov20_02178568: ; 0x02178568 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_0217856c data_ov20_0217856c: ; 0x0217856c .word func_ov00_020cb1c0 @@ -13912,7 +13912,7 @@ data_ov20_0217858c: ; 0x0217858c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02178590 data_ov20_02178590: ; 0x02178590 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_02178594 data_ov20_02178594: ; 0x02178594 .word func_ov00_020caeb4 @@ -14086,7 +14086,7 @@ data_ov20_02178674: ; 0x02178674 .word _ZN5Actor8vfunc_18Ej .global data_ov20_02178678 data_ov20_02178678: ; 0x02178678 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_0217867c data_ov20_0217867c: ; 0x0217867c .word func_ov20_02171bfc ; data_ov21_02171bfc, func_ov25_02171bfc @@ -14116,10 +14116,10 @@ data_ov20_0217869c: ; 0x0217869c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_021786a0 data_ov20_021786a0: ; 0x021786a0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_021786a4 data_ov20_021786a4: ; 0x021786a4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_021786a8 data_ov20_021786a8: ; 0x021786a8 .word _ZN5Actor8vfunc_4cEPi @@ -14227,7 +14227,7 @@ data_ov20_02178730: ; 0x02178730 .word func_ov20_0217255c .global data_ov20_02178734 data_ov20_02178734: ; 0x02178734 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_02178738 data_ov20_02178738: ; 0x02178738 .word func_ov20_02172570 @@ -14257,10 +14257,10 @@ data_ov20_02178758: ; 0x02178758 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_0217875c data_ov20_0217875c: ; 0x0217875c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_02178760 data_ov20_02178760: ; 0x02178760 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_02178764 data_ov20_02178764: ; 0x02178764 .word _ZN5Actor8vfunc_4cEPi @@ -14368,7 +14368,7 @@ data_ov20_021787ec: ; 0x021787ec .word func_ov00_020cad30 .global data_ov20_021787f0 data_ov20_021787f0: ; 0x021787f0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_021787f4 data_ov20_021787f4: ; 0x021787f4 .word func_ov00_020cb1c0 @@ -14398,7 +14398,7 @@ data_ov20_02178814: ; 0x02178814 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02178818 data_ov20_02178818: ; 0x02178818 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_0217881c data_ov20_0217881c: ; 0x0217881c .word func_ov00_020caeb4 @@ -14748,7 +14748,7 @@ data_ov20_021789e8: ; 0x021789e8 .word func_ov14_02144b64 .global data_ov20_021789ec data_ov20_021789ec: ; 0x021789ec - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_021789f0 data_ov20_021789f0: ; 0x021789f0 .word func_ov20_02173e60 ; func_ov61_02173e60 @@ -14778,10 +14778,10 @@ data_ov20_02178a10: ; 0x02178a10 .word func_ov14_02145974 .global data_ov20_02178a14 data_ov20_02178a14: ; 0x02178a14 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_02178a18 data_ov20_02178a18: ; 0x02178a18 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_02178a1c data_ov20_02178a1c: ; 0x02178a1c .word _ZN5Actor8vfunc_4cEPi @@ -15024,7 +15024,7 @@ data_ov20_02178b58: ; 0x02178b58 .word _ZN5Actor8vfunc_18Ej .global data_ov20_02178b5c data_ov20_02178b5c: ; 0x02178b5c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_02178b60 data_ov20_02178b60: ; 0x02178b60 .word _ZN5Actor8vfunc_20Ei @@ -15054,10 +15054,10 @@ data_ov20_02178b80: ; 0x02178b80 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02178b84 data_ov20_02178b84: ; 0x02178b84 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_02178b88 data_ov20_02178b88: ; 0x02178b88 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_02178b8c data_ov20_02178b8c: ; 0x02178b8c .word _ZN5Actor8vfunc_4cEPi @@ -15317,7 +15317,7 @@ data_ov20_02178cd4: ; 0x02178cd4 .word func_ov00_020cad30 .global data_ov20_02178cd8 data_ov20_02178cd8: ; 0x02178cd8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_02178cdc data_ov20_02178cdc: ; 0x02178cdc .word func_ov00_020cb1c0 @@ -15347,7 +15347,7 @@ data_ov20_02178cfc: ; 0x02178cfc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02178d00 data_ov20_02178d00: ; 0x02178d00 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_02178d04 data_ov20_02178d04: ; 0x02178d04 .word func_ov20_021749b0 @@ -15700,7 +15700,7 @@ data_ov20_02178ee8: ; 0x02178ee8 .word func_ov20_02175f68 ; func_ov26_02175f68 .global data_ov20_02178eec data_ov20_02178eec: ; 0x02178eec - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_02178ef0 data_ov20_02178ef0: ; 0x02178ef0 .word _ZN5Actor8vfunc_20Ei @@ -15730,10 +15730,10 @@ data_ov20_02178f10: ; 0x02178f10 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02178f14 data_ov20_02178f14: ; 0x02178f14 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_02178f18 data_ov20_02178f18: ; 0x02178f18 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_02178f1c data_ov20_02178f1c: ; 0x02178f1c .word _ZN5Actor8vfunc_4cEPi @@ -15841,7 +15841,7 @@ data_ov20_02178fa4: ; 0x02178fa4 .word func_ov20_02176108 ; func_ov61_02176108 .global data_ov20_02178fa8 data_ov20_02178fa8: ; 0x02178fa8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_02178fac data_ov20_02178fac: ; 0x02178fac .word func_ov14_0215152c @@ -15871,10 +15871,10 @@ data_ov20_02178fcc: ; 0x02178fcc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02178fd0 data_ov20_02178fd0: ; 0x02178fd0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_02178fd4 data_ov20_02178fd4: ; 0x02178fd4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_02178fd8 data_ov20_02178fd8: ; 0x02178fd8 .word _ZN5Actor8vfunc_4cEPi @@ -15994,7 +15994,7 @@ data_ov20_02179070: ; 0x02179070 .word func_ov14_02144b64 .global data_ov20_02179074 data_ov20_02179074: ; 0x02179074 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_02179078 data_ov20_02179078: ; 0x02179078 .word func_ov20_021767c4 @@ -16024,10 +16024,10 @@ data_ov20_02179098: ; 0x02179098 .word func_ov14_02145974 .global data_ov20_0217909c data_ov20_0217909c: ; 0x0217909c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_021790a0 data_ov20_021790a0: ; 0x021790a0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_021790a4 data_ov20_021790a4: ; 0x021790a4 .word _ZN5Actor8vfunc_4cEPi @@ -16183,7 +16183,7 @@ data_ov20_0217916c: ; 0x0217916c .word func_ov20_02176ae8 .global data_ov20_02179170 data_ov20_02179170: ; 0x02179170 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_02179174 data_ov20_02179174: ; 0x02179174 .word func_ov14_0214996c @@ -16213,10 +16213,10 @@ data_ov20_02179194: ; 0x02179194 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02179198 data_ov20_02179198: ; 0x02179198 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_0217919c data_ov20_0217919c: ; 0x0217919c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_021791a0 data_ov20_021791a0: ; 0x021791a0 .word _ZN5Actor8vfunc_4cEPi @@ -16332,7 +16332,7 @@ data_ov20_02179258: ; 0x02179258 .word func_ov20_0217708c .global data_ov20_0217925c data_ov20_0217925c: ; 0x0217925c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_02179260 data_ov20_02179260: ; 0x02179260 .word func_ov20_021770a0 @@ -16362,10 +16362,10 @@ data_ov20_02179280: ; 0x02179280 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02179284 data_ov20_02179284: ; 0x02179284 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_02179288 data_ov20_02179288: ; 0x02179288 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_0217928c data_ov20_0217928c: ; 0x0217928c .word _ZN5Actor8vfunc_4cEPi @@ -16635,7 +16635,7 @@ data_ov20_021793ec: ; 0x021793ec .word func_ov20_021777a8 .global data_ov20_021793f0 data_ov20_021793f0: ; 0x021793f0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov20_021793f4 data_ov20_021793f4: ; 0x021793f4 .word func_ov20_021777bc @@ -16665,10 +16665,10 @@ data_ov20_02179414: ; 0x02179414 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov20_02179418 data_ov20_02179418: ; 0x02179418 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov20_0217941c data_ov20_0217941c: ; 0x0217941c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov20_02179420 data_ov20_02179420: ; 0x02179420 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov21.inc b/asm/ov21.inc index b117ffbb..f8e65f48 100644 --- a/asm/ov21.inc +++ b/asm/ov21.inc @@ -1,4 +1,8 @@ #pragma once +.extern Atan2 +.extern Vec3p_Add +.extern Vec3p_Dot +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_54Ev .extern _ZN10MapManager16MapData_vfunc_60Ev .extern _ZN10MapManager16MapData_vfunc_68Ev @@ -10,14 +14,18 @@ .extern _ZN13LinkStateBase18func_ov00_020a8a4cEii .extern _ZN13LinkStateBase24Get_PlayerLinkBase_Unk48Ev .extern _ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv +.extern _ZN19Actor_UnkStruct_020C1Ev +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor15IsHitboxTouchedEb .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv @@ -32,13 +40,13 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -68,20 +76,15 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 .extern data_027e0764 .extern data_027e077c .extern data_027e0d3c .extern data_027e0e58 -.extern gMapManager .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 -.extern data_027e0f94 -.extern data_027e0fc8 .extern data_027e0fd0 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -95,13 +98,8 @@ .extern data_ov00_020eed2c .extern func_01ff8aa0 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ffa0f4 .extern func_01ffbe78 .extern func_01ffbf5c -.extern func_01fffd04 .extern func_020020d0 .extern func_0200250c .extern func_02002540 @@ -124,7 +122,6 @@ .extern func_ov00_020792a0 .extern func_ov00_020793b8 .extern func_ov00_02079ab4 -.extern func_ov00_0207a188 .extern func_ov00_0207a1c8 .extern func_ov00_0207c1f8 .extern func_ov00_02081f4c @@ -176,14 +173,12 @@ .extern func_ov00_020b7d74 .extern func_ov00_020b7e6c .extern func_ov00_020bba28 -.extern func_ov00_020bc46c .extern func_ov00_020bc500 .extern func_ov00_020bd618 .extern func_ov00_020c0c08 .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -309,4 +304,9 @@ .extern func_ov17_0216a3e8 .extern func_ov17_0216a4ac .extern func_ov17_0216a634 +.extern gActorManager .extern gItemManager +.extern gMapManager +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable diff --git a/asm/ov21.s b/asm/ov21.s index 7097c627..dd7684ea 100644 --- a/asm/ov21.s +++ b/asm/ov21.s @@ -289,7 +289,7 @@ func_ov21_0216d950: ; 0x0216d950 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r2, r0, lsl #0x1 - ldr r3, _0216dad8 ; =data_02050f54 + ldr r3, _0216dad8 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] @@ -315,11 +315,11 @@ func_ov21_0216d950: ; 0x0216d950 add r0, sp, #0x6c add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x6c add r1, sp, #0xc add r2, sp, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp] ldr r1, [sp, #0xc] rsb r0, r0, #0 @@ -329,11 +329,11 @@ func_ov21_0216d950: ; 0x0216d950 add r1, sp, #0 mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x60 add r1, sp, #0xc add r2, sp, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x9c] cmp r0, #0 beq _0216daa8 @@ -354,7 +354,7 @@ _0216daa8: _0216dacc: .word 0xfffff004 _0216dad0: .word 0x45800000 _0216dad4: .word 0x46800000 -_0216dad8: .word data_02050f54 +_0216dad8: .word gSinCosTable _0216dadc: .word 0x00000547 arm_func_end func_ov21_0216d950 @@ -487,7 +487,7 @@ _0216dc54: .word func_ov00_020b7d74 func_ov21_0216dc58: ; 0x0216dc58 stmdb sp!, {lr} sub sp, sp, #0xc - ldr r1, _0216dcb0 ; =data_027e0f94 + ldr r1, _0216dcb0 ; =gPlayerPos mov ip, r0 ldr r2, [r1, #4] ldr r3, [r1] @@ -498,17 +498,17 @@ func_ov21_0216dc58: ; 0x0216dc58 mov r2, r0 add r1, ip, #0x14 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0x24000 movlt r0, #1 movge r0, #0 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_0216dcb0: .word data_027e0f94 +_0216dcb0: .word gPlayerPos arm_func_end func_ov21_0216dc58 .global func_ov21_0216dcb4 @@ -653,7 +653,7 @@ func_ov21_0216de7c: ; 0x0216de7c bl func_ov21_0216df08 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov21_0216de7c @@ -679,7 +679,7 @@ func_ov21_0216deac: ; 0x0216deac bl func_ov21_0216df08 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -694,7 +694,7 @@ func_ov21_0216df08: ; 0x0216df08 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc3fc ldmia sp!, {r4, pc} @@ -856,7 +856,7 @@ func_ov21_0216e128: ; 0x0216e128 sub sp, sp, #0x44 mov r4, r0 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -885,7 +885,7 @@ func_ov21_0216e128: ; 0x0216e128 ldr r1, _0216e1d4 ; =0x4e4b4559 mov r2, r5 bl func_ov00_020c4048 - ldr r0, _0216e1d8 ; =data_027e0fe4 + ldr r0, _0216e1d8 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -897,7 +897,7 @@ func_ov21_0216e128: ; 0x0216e128 .align 2, 0 _0216e1d0: .word data_027e0fe8 _0216e1d4: .word 0x4e4b4559 -_0216e1d8: .word data_027e0fe4 +_0216e1d8: .word gActorManager arm_func_end func_ov21_0216e128 .global func_ov21_0216e1dc @@ -1077,7 +1077,7 @@ _0216e3d8: .word data_ov21_021710a0 func_ov21_0216e3dc: ; 0x0216e3dc stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _0216e460 ; =data_027e0f94 + ldr r1, _0216e460 ; =gPlayerPos mov r4, r0 add r3, sp, #0 ldmia r1, {r0, r1, r2} @@ -1112,7 +1112,7 @@ _0216e44c: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0216e460: .word data_027e0f94 +_0216e460: .word gPlayerPos arm_func_end func_ov21_0216e3dc .global func_ov21_0216e464 @@ -1378,7 +1378,7 @@ _0216e78c: cmp r0, #0 beq _0216e830 ldrh r0, [r4, #0x78] - ldr ip, _0216e8c4 ; =data_02050f54 + ldr ip, _0216e8c4 ; =gSinCosTable ldr lr, _0216e8c8 ; =0x000009be mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -1417,7 +1417,7 @@ _0216e830: ldr r0, [r0, #0x14] cmp r0, #0x15000 bge _0216e868 - ldr r1, _0216e8d4 ; =data_027e0f94 + ldr r1, _0216e8d4 ; =gPlayerPos mov r0, r4 bl _ZN5Actor10GetAngleToEP5Vec3p mov r1, r0 @@ -1449,14 +1449,14 @@ _0216e868: bl func_ov21_0216df08 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0216e8c4: .word data_02050f54 +_0216e8c4: .word gSinCosTable _0216e8c8: .word 0x000009be _0216e8cc: .word data_027e0ffc _0216e8d0: .word 0x0000024f -_0216e8d4: .word data_027e0f94 +_0216e8d4: .word gPlayerPos _0216e8d8: .word 0x00000aab _0216e8dc: .word 0x00000c51 arm_func_end func_ov21_0216e74c @@ -2659,13 +2659,13 @@ func_ov21_0216f6a8: ; 0x0216f6a8 add r1, r4, #0x54 bne _0216f708 add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub add sp, sp, #0x18 mov r0, #1 ldmia sp!, {r4, pc} _0216f708: add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub mvn r1, #0 add r3, sp, #4 mov r0, r4 @@ -2736,7 +2736,7 @@ func_ov21_0216f7c8: ; 0x0216f7c8 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} mov r0, r10 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 addeq sp, sp, #0x118 moveq r0, #0 @@ -2744,7 +2744,7 @@ func_ov21_0216f7c8: ; 0x0216f7c8 add r0, r10, #0x48 add r1, r10, #0x54 add r2, r10, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r10, #0x138] cmp r0, #0x1e addlt sp, sp, #0x118 @@ -2892,7 +2892,7 @@ _0216fa3c: mov r0, r7 mov r1, r9 mov r2, r7 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4] add r0, sp, #0x14 mov r2, r7 @@ -2927,7 +2927,7 @@ _0216fac4: rsb r0, r0, #0 str r0, [r10, #0x224] rsb r1, r1, #0 - ldr r0, _0216fbb8 ; =data_027e0fc8 + ldr r0, _0216fbb8 ; =gPlayerLink str r1, [r10, #0x228] ldr r0, [r0] mov r4, #0 @@ -2945,7 +2945,7 @@ _0216fb20: ldrb r0, [r10, #0x158] cmp r0, #0 bne _0216fb60 - ldr r0, _0216fbb8 ; =data_027e0fc8 + ldr r0, _0216fbb8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba28 cmp r0, #0 @@ -2983,7 +2983,7 @@ _0216fba8: .word data_ov21_02171bf0 _0216fbac: .word data_ov21_02171774 _0216fbb0: .word data_ov21_02171bfc _0216fbb4: .word func_ov00_020b1940 -_0216fbb8: .word data_027e0fc8 +_0216fbb8: .word gPlayerLink _0216fbbc: .word data_027e0fd0 arm_func_end func_ov21_0216f7c8 @@ -2992,11 +2992,11 @@ _0216fbbc: .word data_027e0fd0 func_ov21_0216fbc0: ; 0x0216fbc0 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r1, _0216fc58 ; =data_027e0fc8 + ldr r1, _0216fc58 ; =gPlayerLink mov r4, r0 ldr r5, [r1] mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv add r1, r5, #0x2c ldrb r0, [r1, r0, lsl #1] cmp r0, #0x1e @@ -3031,7 +3031,7 @@ _0216fc38: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0216fc58: .word data_027e0fc8 +_0216fc58: .word gPlayerLink arm_func_end func_ov21_0216fbc0 .global func_ov21_0216fc5c @@ -3143,7 +3143,7 @@ _0216fddc: str r0, [sp, #0x2c] str r2, [sp, #0x30] str r1, [sp, #0x34] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl func_0202bc10 @@ -3651,7 +3651,7 @@ func_ov21_02170438: ; 0x02170438 str r2, [sp] add r0, r4, #0x6c mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -4973,7 +4973,7 @@ data_ov21_02171120: ; 0x02171120 .word func_ov00_020cad30 .global data_ov21_02171124 data_ov21_02171124: ; 0x02171124 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov21_02171128 data_ov21_02171128: ; 0x02171128 .word func_ov00_020cb1c0 @@ -5003,7 +5003,7 @@ data_ov21_02171148: ; 0x02171148 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov21_0217114c data_ov21_0217114c: ; 0x0217114c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov21_02171150 data_ov21_02171150: ; 0x02171150 .word func_ov21_0216df2c @@ -5192,7 +5192,7 @@ data_ov21_02171244: ; 0x02171244 .word func_ov14_02144b64 .global data_ov21_02171248 data_ov21_02171248: ; 0x02171248 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov21_0217124c data_ov21_0217124c: ; 0x0217124c .word func_ov14_02145100 @@ -5222,10 +5222,10 @@ data_ov21_0217126c: ; 0x0217126c .word func_ov14_02145974 .global data_ov21_02171270 data_ov21_02171270: ; 0x02171270 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov21_02171274 data_ov21_02171274: ; 0x02171274 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov21_02171278 data_ov21_02171278: ; 0x02171278 .word _ZN5Actor8vfunc_4cEPi @@ -5387,7 +5387,7 @@ data_ov21_02171348: ; 0x02171348 .word func_ov14_02144b64 .global data_ov21_0217134c data_ov21_0217134c: ; 0x0217134c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov21_02171350 data_ov21_02171350: ; 0x02171350 .word func_ov14_02145100 @@ -5417,10 +5417,10 @@ data_ov21_02171370: ; 0x02171370 .word func_ov14_02145974 .global data_ov21_02171374 data_ov21_02171374: ; 0x02171374 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov21_02171378 data_ov21_02171378: ; 0x02171378 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov21_0217137c data_ov21_0217137c: ; 0x0217137c .word _ZN5Actor8vfunc_4cEPi @@ -5582,7 +5582,7 @@ data_ov21_0217144c: ; 0x0217144c .word func_ov14_02144b64 .global data_ov21_02171450 data_ov21_02171450: ; 0x02171450 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov21_02171454 data_ov21_02171454: ; 0x02171454 .word func_ov14_02145100 @@ -5612,10 +5612,10 @@ data_ov21_02171474: ; 0x02171474 .word func_ov14_02145974 .global data_ov21_02171478 data_ov21_02171478: ; 0x02171478 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov21_0217147c data_ov21_0217147c: ; 0x0217147c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov21_02171480 data_ov21_02171480: ; 0x02171480 .word _ZN5Actor8vfunc_4cEPi @@ -5777,7 +5777,7 @@ data_ov21_02171550: ; 0x02171550 .word func_ov14_02144b64 .global data_ov21_02171554 data_ov21_02171554: ; 0x02171554 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov21_02171558 data_ov21_02171558: ; 0x02171558 .word func_ov14_02145100 @@ -5807,10 +5807,10 @@ data_ov21_02171578: ; 0x02171578 .word func_ov14_02145974 .global data_ov21_0217157c data_ov21_0217157c: ; 0x0217157c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov21_02171580 data_ov21_02171580: ; 0x02171580 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov21_02171584 data_ov21_02171584: ; 0x02171584 .word _ZN5Actor8vfunc_4cEPi @@ -5972,7 +5972,7 @@ data_ov21_02171654: ; 0x02171654 .word func_ov14_02144b64 .global data_ov21_02171658 data_ov21_02171658: ; 0x02171658 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov21_0217165c data_ov21_0217165c: ; 0x0217165c .word func_ov14_02145100 @@ -6002,10 +6002,10 @@ data_ov21_0217167c: ; 0x0217167c .word func_ov14_02145974 .global data_ov21_02171680 data_ov21_02171680: ; 0x02171680 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov21_02171684 data_ov21_02171684: ; 0x02171684 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov21_02171688 data_ov21_02171688: ; 0x02171688 .word _ZN5Actor8vfunc_4cEPi @@ -6255,7 +6255,7 @@ data_ov21_021717e0: ; 0x021717e0 .word func_ov21_0216f618 ; func_ov22_0216f618, func_ov24_0216f618, func_ov28_0216f618 .global data_ov21_021717e4 data_ov21_021717e4: ; 0x021717e4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov21_021717e8 data_ov21_021717e8: ; 0x021717e8 .word func_ov14_02138128 @@ -6285,10 +6285,10 @@ data_ov21_02171808: ; 0x02171808 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov21_0217180c data_ov21_0217180c: ; 0x0217180c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov21_02171810 data_ov21_02171810: ; 0x02171810 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov21_02171814 data_ov21_02171814: ; 0x02171814 .word _ZN5Actor8vfunc_4cEPi @@ -6573,7 +6573,7 @@ data_ov21_02171988: ; 0x02171988 .word _ZN5Actor8vfunc_18Ej .global data_ov21_0217198c data_ov21_0217198c: ; 0x0217198c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov21_02171990 data_ov21_02171990: ; 0x02171990 .word func_ov21_02170954 @@ -6603,10 +6603,10 @@ data_ov21_021719b0: ; 0x021719b0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov21_021719b4 data_ov21_021719b4: ; 0x021719b4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov21_021719b8 data_ov21_021719b8: ; 0x021719b8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov21_021719bc data_ov21_021719bc: ; 0x021719bc .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov22.inc b/asm/ov22.inc index ec735364..487d64ef 100644 --- a/asm/ov22.inc +++ b/asm/ov22.inc @@ -20,7 +20,7 @@ .extern _ZN10MapManager18func_ov00_02084ac4Ej .extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN10MapManager8SpawnNPCEP5Vec3pii -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -40,7 +40,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor14DistanceToLinkEv @@ -50,10 +50,10 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c2e7cEv .extern _ZN5Actor18func_ov00_020c2ed4Ev .extern _ZN5Actor18func_ov00_020c313cEj @@ -65,14 +65,14 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -101,10 +101,10 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02057200 .extern data_027e0764 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0e58 .extern gMapManager @@ -113,14 +113,14 @@ .extern data_027e0f6c .extern data_027e0f78 .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink .extern data_027e0fd4 .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -141,20 +141,20 @@ .extern func_01ff8aa0 .extern func_01ff8e84 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffbe78 .extern func_01fffb4c .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_020020d0 .extern func_0200250c .extern func_02002540 @@ -184,7 +184,7 @@ .extern func_0204f614 .extern func_0204f754 .extern func_ov00_02079e68 -.extern func_ov00_0207a188 +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern func_ov00_0207a1c8 .extern func_ov00_0207c1b0 .extern func_ov00_0207c1f8 @@ -289,7 +289,7 @@ .extern func_ov00_020c0ecc .extern func_ov00_020c1424 .extern func_ov00_020c1450 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov22.s b/asm/ov22.s index 2b727c48..518007ea 100644 --- a/asm/ov22.s +++ b/asm/ov22.s @@ -534,7 +534,7 @@ _0216dd40: add r0, sp, #0x3c add r1, sp, #0x30 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov ip, #0 add r0, sp, #0x3c sub r3, ip, #0x8000 @@ -543,7 +543,7 @@ _0216dd40: str ip, [sp, #0x24] str ip, [sp, #0x28] str r3, [sp, #0x2c] - bl func_01ff9bc4 + bl Vec3p_Add b _0216de58 _0216dd84: add r0, sp, #0x30 @@ -552,7 +552,7 @@ _0216dd84: add r0, sp, #0x3c add r1, sp, #0x30 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov ip, #0 add r0, sp, #0x3c mov r3, #0x8000 @@ -561,7 +561,7 @@ _0216dd84: str ip, [sp, #0x18] str ip, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add b _0216de58 _0216ddc8: add r0, sp, #0x30 @@ -570,7 +570,7 @@ _0216ddc8: add r0, sp, #0x3c add r1, sp, #0x30 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x3c mov lr, #0x4800 rsb lr, lr, #0 @@ -581,7 +581,7 @@ _0216ddc8: str lr, [sp, #0xc] str ip, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add b _0216de58 _0216de14: add r0, sp, #0x30 @@ -590,7 +590,7 @@ _0216de14: add r0, sp, #0x3c add r1, sp, #0x30 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x3c mov lr, #0x4800 mov ip, #0x3000 @@ -600,7 +600,7 @@ _0216de14: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add _0216de58: add r2, r4, #0x174 add r1, r4, #0x180 @@ -647,7 +647,7 @@ func_ov22_0216ded8: ; 0x0216ded8 mov r5, r0 cmp r1, #0 beq _0216df08 - ldr r0, _0216e150 ; =data_027e0fac + ldr r0, _0216e150 ; =gPlayerAngle ldrsh r0, [r0] bl func_0202bbbc str r0, [r5, #0x164] @@ -814,7 +814,7 @@ _0216e108: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0216e150: .word data_027e0fac +_0216e150: .word gPlayerAngle _0216e154: .word data_027e0764 _0216e158: .word data_027e0e58 _0216e15c: .word 0x00000245 @@ -962,7 +962,7 @@ func_ov22_0216e2a8: ; 0x0216e2a8 str r4, [sp, #0x18] str r3, [sp, #0x1c] str r4, [sp, #0x20] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, r4 ldr r1, _0216e580 ; =0x00001334 add r0, sp, #0x50 @@ -971,7 +971,7 @@ func_ov22_0216e2a8: ; 0x0216e2a8 str r2, [sp, #0x14] add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f mov r1, r5 @@ -1760,7 +1760,7 @@ func_ov22_0216edc0: ; 0x0216edc0 str r2, [sp] add r0, r4, #0x5c mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -1938,7 +1938,7 @@ _0216f050: str r8, [sp, #0x14] str r7, [sp, #0x18] str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [r4, #0x60] str r0, [r4, #0x64] @@ -1992,7 +1992,7 @@ func_ov22_0216f0e0: ; 0x0216f0e0 addeq sp, sp, #0x48 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrh r1, [r10, #0xc] - ldr r3, _0216f2b8 ; =data_02050f54 + ldr r3, _0216f2b8 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2107,7 +2107,7 @@ _0216f22c: add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0216f2b8: .word data_02050f54 +_0216f2b8: .word gSinCosTable _0216f2bc: .word 0x0000099a _0216f2c0: .word data_ov00_020e9370 arm_func_end func_ov22_0216f0e0 @@ -2782,7 +2782,7 @@ _0216fb20: str r0, [r1, #4] str r0, [r1, #8] ldrh r0, [r5, #0x12] - ldr r6, _0216fd60 ; =data_02050f54 + ldr r6, _0216fd60 ; =gSinCosTable add r2, sp, #0x5c mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -2797,7 +2797,7 @@ _0216fb20: ldrsh r3, [r6, r3] rsb r3, r3, #0 str r3, [sp, #0x58] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x5c] str r0, [r5, #0x48] ldr r0, [sp, #0x60] @@ -2833,7 +2833,7 @@ _0216fbc4: ldr r3, [r5, #0x1c] mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r5, #0x14] add r0, sp, #0x38 str r1, [sp, #8] @@ -2843,7 +2843,7 @@ _0216fbc4: ldr r3, [r5, #0x1c] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov ip, #0 bic r0, ip, #0x1f orr r0, r0, #2 @@ -2920,7 +2920,7 @@ _0216fd04: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0216fd5c: .word gAdventureFlags -_0216fd60: .word data_02050f54 +_0216fd60: .word gSinCosTable _0216fd64: .word 0x534e4d42 _0216fd68: .word func_ov22_0216f5a8 _0216fd6c: .word data_ov22_0217863c @@ -3358,17 +3358,17 @@ _021702f8: str r3, [sp, #0x24] str r2, [sp, #0x28] bl func_ov22_0216f618 - ldr r0, _021703bc ; =data_027e0fe4 + ldr r0, _021703bc ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] add r2, sp, #0x20 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x18] str r0, [r4, #0x180] ldr r0, [sp, #0x1c] str r0, [r4, #0x184] _0217034c: - ldr r1, _021703bc ; =data_027e0fe4 + ldr r1, _021703bc ; =gActorManager ldr r2, _021703c0 ; =0x4e415649 ldr r1, [r1] add r0, sp, #8 @@ -3382,7 +3382,7 @@ _0217034c: str r0, [r4, #0x18c] b _021703b0 _02170380: - ldr r1, _021703bc ; =data_027e0fe4 + ldr r1, _021703bc ; =gActorManager ldr r2, _021703c0 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 @@ -3399,7 +3399,7 @@ _021703b0: add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 -_021703bc: .word data_027e0fe4 +_021703bc: .word gActorManager _021703c0: .word 0x4e415649 arm_func_end func_ov22_021702cc @@ -3463,7 +3463,7 @@ func_ov22_02170434: ; 0x02170434 ble _02170474 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add r0, r4, #0x470 mov r1, #5 bl func_ov22_0216f41c @@ -3474,7 +3474,7 @@ _02170474: cmpeq r0, #0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, pc} - ldr r0, _021704f8 ; =data_027e0f94 + ldr r0, _021704f8 ; =gPlayerPos add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -3502,7 +3502,7 @@ _02170474: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_021704f8: .word data_027e0f94 +_021704f8: .word gPlayerPos _021704fc: .word data_027e0fd4 arm_func_end func_ov22_02170434 @@ -3614,7 +3614,7 @@ func_ov22_02170628: ; 0x02170628 add r0, r4, #0x14 ldmia r0, {r0, r1, r2} add lr, sp, #0x38 - ldr ip, _0217080c ; =data_027e0f94 + ldr ip, _0217080c ; =gPlayerPos stmia lr, {r0, r1, r2} add r3, sp, #0x2c ldmia ip, {r0, r1, r2} @@ -3622,11 +3622,11 @@ func_ov22_02170628: ; 0x02170628 add r2, sp, #0x20 mov r0, r3 mov r1, lr - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x20 str r1, [sp, #0x24] - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x3000 bge _02170704 add r0, sp, #8 @@ -3635,7 +3635,7 @@ func_ov22_02170628: ; 0x02170628 str r1, [r0, #4] str r1, [r0, #8] ldrh r2, [r4, #0x12] - ldr r3, _02170810 ; =data_02050f54 + ldr r3, _02170810 ; =gSinCosTable add r1, sp, #0x20 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -3649,7 +3649,7 @@ func_ov22_02170628: ; 0x02170628 ldrsh r2, [r3, r2] rsb r2, r2, #0 str r2, [sp, #0x10] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0x1000 movgt r0, #0x1000 bgt _021706ec @@ -3661,7 +3661,7 @@ _021706ec: add r1, sp, #8 add r2, sp, #0x38 add r3, sp, #0x14 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r5, _02170814 ; =0x0000019a b _02170720 _02170704: @@ -3701,7 +3701,7 @@ _02170778: ldr r2, [r1, #0x10] add r1, r4, #0x54 str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance add r0, r0, r0, lsl #2 mov r0, r0, lsl #0xe add r1, r0, #0x800 @@ -3737,8 +3737,8 @@ _021707fc: add sp, sp, #0x44 ldmia sp!, {r4, r5, pc} .align 2, 0 -_0217080c: .word data_027e0f94 -_02170810: .word data_02050f54 +_0217080c: .word gPlayerPos +_02170810: .word gSinCosTable _02170814: .word 0x0000019a _02170818: .word 0x0000038e arm_func_end func_ov22_02170628 @@ -3772,7 +3772,7 @@ func_ov22_02170854: ; 0x02170854 add r0, r4, #0x14 ldmia r0, {r0, r1, r2} add lr, sp, #0x30 - ldr ip, _02170934 ; =data_027e0f94 + ldr ip, _02170934 ; =gPlayerPos stmia lr, {r0, r1, r2} add r3, sp, #0x24 ldmia ip, {r0, r1, r2} @@ -3780,7 +3780,7 @@ func_ov22_02170854: ; 0x02170854 add r2, sp, #0x18 mov r0, r3 mov r1, lr - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0xc str r1, [sp, #0x1c] @@ -3788,7 +3788,7 @@ func_ov22_02170854: ; 0x02170854 str r1, [r0, #4] str r1, [r0, #8] ldrh r2, [r4, #0x12] - ldr r3, _02170938 ; =data_02050f54 + ldr r3, _02170938 ; =gSinCosTable add r1, sp, #0x18 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -3802,14 +3802,14 @@ func_ov22_02170854: ; 0x02170854 ldrsh r2, [r3, r2] rsb r2, r2, #0 str r2, [sp, #0x14] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 mov r0, #0x1000 rsbgt r0, r0, #0 add r1, sp, #0xc add r2, sp, #0x30 add r3, sp, #0 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x88 add r2, sp, #0 add r0, r0, #0x400 @@ -3823,8 +3823,8 @@ func_ov22_02170854: ; 0x02170854 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_02170934: .word data_027e0f94 -_02170938: .word data_02050f54 +_02170934: .word gPlayerPos +_02170938: .word gSinCosTable arm_func_end func_ov22_02170854 .global func_ov22_0217093c @@ -3888,7 +3888,7 @@ func_ov22_021709e0: ; 0x021709e0 mov r5, r0 ldrh r0, [r5, #0x78] mov r2, #0 - ldr r1, _02170b04 ; =data_02050f54 + ldr r1, _02170b04 ; =gSinCosTable mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 @@ -3915,7 +3915,7 @@ func_ov22_021709e0: ; 0x021709e0 mov r1, r1, asr #0x10 bl func_ov00_020a6110 add r1, r4, #1 - ldr r0, _02170b04 ; =data_02050f54 + ldr r0, _02170b04 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r2, [r0, r1] mov r1, #0x600 @@ -3936,7 +3936,7 @@ func_ov22_021709e0: ; 0x021709e0 add r0, sp, #0x10 add r1, sp, #0x1c add r2, sp, #4 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #4] mov r2, #1 str r0, [r5, #0x270] @@ -3957,7 +3957,7 @@ func_ov22_021709e0: ; 0x021709e0 add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02170b04: .word data_02050f54 +_02170b04: .word gSinCosTable _02170b08: .word data_027e0ffc arm_func_end func_ov22_021709e0 @@ -4004,7 +4004,7 @@ func_ov22_02170b50: ; 0x02170b50 bl func_ov14_0214a92c mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r1, _02170be4 ; =0x00000aab add r0, r4, #0xa8 str r1, [sp] @@ -4821,7 +4821,7 @@ func_ov22_02171638: ; 0x02171638 bl func_ov22_021719c4 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov22_02171638 @@ -4847,7 +4847,7 @@ func_ov22_02171694: ; 0x02171694 stmdb sp!, {r4, r5, r6, lr} mov r5, r0 ldrh r1, [r5, #0x78] - ldr r2, _02171764 ; =data_02050f54 + ldr r2, _02171764 ; =gSinCosTable add r0, r5, #0x21c mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -4896,10 +4896,10 @@ _0217171c: bl func_ov22_021719c4 mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02171764: .word data_02050f54 +_02171764: .word gSinCosTable _02171768: .word 0x00000333 _0217176c: .word 0x0000071c arm_func_end func_ov22_02171694 @@ -4934,7 +4934,7 @@ func_ov22_02171770: ; 0x02171770 ldr r0, [r4, #0x50] str r0, [r4, #0x738] _021717d8: - ldr r0, _02171934 ; =data_027e0f94 + ldr r0, _02171934 ; =gPlayerPos add r3, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -4958,7 +4958,7 @@ _021717d8: mov r3, r0, lsl #0x1 add r0, r3, #1 mov lr, #0 - ldr r2, _0217193c ; =data_02050f54 + ldr r2, _0217193c ; =gSinCosTable mov r3, r3, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh ip, [r2, r0] @@ -4970,11 +4970,11 @@ _021717d8: str r5, [sp, #0xc] str lr, [sp, #0x10] str ip, [sp, #0x14] - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0xc add r1, r4, #0x48 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 str r2, [sp, #0x10] add r0, r4, #0x740 @@ -4986,7 +4986,7 @@ _021717d8: mov r2, r0 bl func_0202da8c add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x52 bge _021718c0 add r0, r4, #0x21c @@ -5021,14 +5021,14 @@ _0217190c: bl func_ov22_021719c4 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 _02171930: .word gMapManager -_02171934: .word data_027e0f94 +_02171934: .word gPlayerPos _02171938: .word 0x0000071c -_0217193c: .word data_02050f54 +_0217193c: .word gSinCosTable _02171940: .word 0x00000333 arm_func_end func_ov22_02171770 @@ -5037,8 +5037,8 @@ _02171940: .word 0x00000333 func_ov22_02171944: ; 0x02171944 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _02171998 ; =data_027e0f94 - ldr r3, _0217199c ; =data_027e0f90 + ldr r1, _02171998 ; =gPlayerPos + ldr r3, _0217199c ; =gPlayer mov r4, r0 add ip, sp, #0 ldmia r1, {r0, r1, r2} @@ -5057,8 +5057,8 @@ func_ov22_02171944: ; 0x02171944 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02171998: .word data_027e0f94 -_0217199c: .word data_027e0f90 +_02171998: .word gPlayerPos +_0217199c: .word gPlayer arm_func_end func_ov22_02171944 .global func_ov22_021719a0 @@ -5084,7 +5084,7 @@ func_ov22_021719c4: ; 0x021719c4 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc45c ldmia sp!, {r4, pc} @@ -5172,7 +5172,7 @@ func_ov22_02171aa0: ; 0x02171aa0 _02171adc: ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r5, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02171dbc ; =0xffff8001 @@ -5381,21 +5381,21 @@ _02171dd8: .word 0x524f5045 .global func_ov22_02171ddc arm_func_start func_ov22_02171ddc func_ov22_02171ddc: ; 0x02171ddc - ldr ip, _02171de8 ; =func_01fffcec + ldr ip, _02171de8 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_02171de8: .word func_01fffcec +_02171de8: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov22_02171ddc .global func_ov22_02171dec arm_func_start func_ov22_02171dec func_ov22_02171dec: ; 0x02171dec - ldr ip, _02171df8 ; =func_01fffcec + ldr ip, _02171df8 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02171df8: .word func_01fffcec +_02171df8: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov22_02171dec .global func_ov22_02171dfc @@ -5682,7 +5682,7 @@ func_ov22_02172150: ; 0x02172150 add r0, r0, #0x400 add r1, r4, #0x48 str r3, [r4, #0x6c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [r4, #0x60] str r0, [r4, #0x68] @@ -5731,7 +5731,7 @@ func_ov22_021721f8: ; 0x021721f8 cmp r0, #0 ldmgeia sp!, {r4, pc} mov r0, r4 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r4, #0x111] cmp r0, #0 ldmeqia sp!, {r4, pc} @@ -5976,12 +5976,12 @@ _02172564: ldr r0, [r5, #0x210] add r1, r5, #0x1f8 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r4, #1 _0217259c: mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r4, #0 ldmeqia sp!, {r3, r4, r5, pc} mov r0, r5 @@ -6058,12 +6058,12 @@ func_ov22_0217260c: ; 0x0217260c ldr r0, [r4, #0x210] add r1, r4, #0x1f8 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r6, #1 _021726b0: mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r5, #0 beq _021726d0 mov r0, r4 @@ -6747,16 +6747,16 @@ _02172f1c: str r3, [sp, #0x24] str r2, [sp, #0x28] bl func_ov22_02172e48 - ldr r0, _0217307c ; =data_027e0fe4 + ldr r0, _0217307c ; =gActorManager add r1, sp, #4 ldr r0, [r0] add r2, sp, #0x20 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r1, [sp, #0xc] mvn r0, #0 cmp r1, r0 beq _02172ffc - ldr r0, _0217307c ; =data_027e0fe4 + ldr r0, _0217307c ; =gActorManager add r1, sp, #0xc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6829,7 +6829,7 @@ _0217304c: add sp, sp, #0x2c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217307c: .word data_027e0fe4 +_0217307c: .word gActorManager _02173080: .word data_027e0ffc _02173084: .word 0x00000296 arm_func_end func_ov22_02172ef4 @@ -6879,7 +6879,7 @@ func_ov22_021730f0: ; 0x021730f0 beq _02173160 ldmia sp!, {r4, pc} _02173114: - ldr r1, _02173180 ; =data_027e0f94 + ldr r1, _02173180 ; =gPlayerPos mov r0, r4 bl func_ov22_021719a0 cmp r0, #0 @@ -6909,7 +6909,7 @@ _02173160: bl func_ov22_0217283c ldmia sp!, {r4, pc} .align 2, 0 -_02173180: .word data_027e0f94 +_02173180: .word gPlayerPos arm_func_end func_ov22_021730f0 .global func_ov22_02173184 @@ -7125,7 +7125,7 @@ func_ov22_0217341c: ; 0x0217341c mov r1, #1 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x20 ldmia sp!, {r4, pc} _02173484: @@ -7153,7 +7153,7 @@ _02173484: add r0, sp, #0x14 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -7429,7 +7429,7 @@ _02173820: cmp r0, #2 bne _021738b0 ldr r5, [r6, #0xb4] - ldr r3, _0217391c ; =data_02050f54 + ldr r3, _0217391c ; =gSinCosTable ldr r1, [r5] add r0, sp, #0 bic r1, r1, #2 @@ -7481,7 +7481,7 @@ _021738b0: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02173918: .word data_ov22_02178858 -_0217391c: .word data_02050f54 +_0217391c: .word gSinCosTable arm_func_end func_ov22_021737ec .global func_ov22_02173920 @@ -7668,7 +7668,7 @@ func_ov22_02173ab0: ; 0x02173ab0 strb r2, [r4, #0x1a6] mov r1, #4 strb r1, [r4, #0x1a8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x20] str r0, [sp, #0x24] @@ -7686,7 +7686,7 @@ func_ov22_02173ab0: ; 0x02173ab0 add r2, r4, #0x48 add r3, sp, #4 bl func_ov00_020c4048 - ldr r0, _02173c14 ; =data_027e0fe4 + ldr r0, _02173c14 ; =gActorManager add r1, r4, #0x364 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -7706,7 +7706,7 @@ func_ov22_02173ab0: ; 0x02173ab0 _02173c08: .word 0x00001b33 _02173c0c: .word data_027e0fe8 _02173c10: .word 0x484c4d4b -_02173c14: .word data_027e0fe4 +_02173c14: .word gActorManager arm_func_end func_ov22_02173ab0 .global func_ov22_02173c18 @@ -7738,7 +7738,7 @@ _02173c58: str r1, [r0, #0x10] b _02173d3c _02173c74: - ldr r0, _02173d50 ; =data_027e0d0c + ldr r0, _02173d50 ; =gVec3p_ZERO mov r1, #0x2000 ldr r2, [r0] str r2, [r5, #0x60] @@ -7801,7 +7801,7 @@ _02173d3c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02173d4c: .word 0x00000ab8 -_02173d50: .word data_027e0d0c +_02173d50: .word gVec3p_ZERO arm_func_end func_ov22_02173c18 .global func_ov22_02173d54 @@ -7937,7 +7937,7 @@ _02173f14: add r0, r1, #0x54 add r2, sp, #0 add r1, r1, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [sp] ldr r1, [sp, #4] ldr r0, [sp, #8] @@ -8084,7 +8084,7 @@ _02174120: strh r0, [r1, #0x7a] _02174134: ldrh r0, [r5, #0x78] - ldr r2, _02174614 ; =data_02050f54 + ldr r2, _02174614 ; =gSinCosTable mov r1, #0x52 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -8103,7 +8103,7 @@ _02174134: mov r1, r1, asr #0xc str r1, [r5, #0x68] bl _ZN5Actor16XzDistanceToLinkEv - ldr r1, _02174618 ; =data_027e0f94 + ldr r1, _02174618 ; =gPlayerPos ldr r2, [r5, #0x4c] ldr r1, [r1, #4] mov r4, r0 @@ -8190,7 +8190,7 @@ _02174294: beq _021742f4 ldr r0, [r5, #0xc4] ldr r1, [r5, #0xcc] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r5, #0x78] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -8214,7 +8214,7 @@ _02174308: b _021744c8 _02174318: ldrh r1, [r5, #0x78] - ldr r3, _02174614 ; =data_02050f54 + ldr r3, _02174614 ; =gSinCosTable mov r0, #0x1ec mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -8236,7 +8236,7 @@ _02174364: bl func_ov22_0217477c b _021744c8 _0217436c: - ldr r0, _0217462c ; =data_027e0fe4 + ldr r0, _0217462c ; =gActorManager add r1, r5, #0x364 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8300,7 +8300,7 @@ _021743d8: strh r1, [r0, #0x7a] _0217445c: ldrh r1, [r5, #0x78] - ldr r3, _02174614 ; =data_02050f54 + ldr r3, _02174614 ; =gSinCosTable mov r0, #0x1ec mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -8342,7 +8342,7 @@ _021744c8: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x130] cmp r0, #3 beq _02174514 @@ -8351,7 +8351,7 @@ _021744c8: _02174514: mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei _02174520: add r0, r5, #0x21c bl func_ov00_020c5e20 @@ -8422,13 +8422,13 @@ _02174604: .align 2, 0 _0217460c: .word gMapManager _02174610: .word data_027e0764 -_02174614: .word data_02050f54 -_02174618: .word data_027e0f94 +_02174614: .word gSinCosTable +_02174618: .word gPlayerPos _0217461c: .word 0x00001555 _02174620: .word 0x000005dc _02174624: .word 0xffffeaab _02174628: .word 0x0000071c -_0217462c: .word data_027e0fe4 +_0217462c: .word gActorManager _02174630: .word data_027e0ffc _02174634: .word 0x0000033a _02174638: .word 0x0000033b @@ -8453,12 +8453,12 @@ func_ov22_0217463c: ; 0x0217463c add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc3fc mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei mov r0, r4 bl func_ov00_020cc438 mov r0, #1 @@ -8536,7 +8536,7 @@ func_ov22_0217474c: ; 0x0217474c ldr r0, [r1] ldr r1, [r1, #8] mov r4, r2 - bl func_01ffa0f4 + bl Atan2 strh r0, [sp] add r1, sp, #0 mov r0, r5 @@ -8554,7 +8554,7 @@ func_ov22_0217477c: ; 0x0217477c ble _021747f4 add r1, r0, #0x300 ldrh r1, [r1, #0x78] - ldr r3, _02174820 ; =data_02050f54 + ldr r3, _02174820 ; =gSinCosTable mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 mov r1, ip, lsl #0x1 @@ -8592,7 +8592,7 @@ _02174814: bl func_ov22_02173c18 ldmia sp!, {r3, pc} .align 2, 0 -_02174820: .word data_02050f54 +_02174820: .word gSinCosTable arm_func_end func_ov22_0217477c .global func_ov22_02174824 @@ -8735,7 +8735,7 @@ func_ov22_02174990: ; 0x02174990 ldr r3, _02174a70 ; =0x00000666 str r0, [r4, #0x54] ldr r0, [r4, #0x4c] - ldr r1, _02174a74 ; =data_027e0d0c + ldr r1, _02174a74 ; =gVec3p_ZERO str r0, [r4, #0x58] ldr r0, [r4, #0x50] add r2, r3, #0x1000 @@ -8773,7 +8773,7 @@ func_ov22_02174990: ; 0x02174990 ldr r2, [r2, #0xc] blx r2 mov r1, #0 - ldr r0, _02174a7c ; =data_027e0fe4 + ldr r0, _02174a7c ; =gActorManager str r1, [r4, #0x164] ldr r0, [r0] add r1, r4, #0x34 @@ -8787,9 +8787,9 @@ func_ov22_02174990: ; 0x02174990 ldmia sp!, {r4, pc} .align 2, 0 _02174a70: .word 0x00000666 -_02174a74: .word data_027e0d0c +_02174a74: .word gVec3p_ZERO _02174a78: .word data_027e0fec -_02174a7c: .word data_027e0fe4 +_02174a7c: .word gActorManager arm_func_end func_ov22_02174990 .global func_ov22_02174a80 @@ -8921,7 +8921,7 @@ func_ov22_02174be8: ; 0x02174be8 cmp r6, #0 bne _02174c50 ldrh r1, [r4, #0x78] - ldr r3, _02174cac ; =data_02050f54 + ldr r3, _02174cac ; =gSinCosTable add r0, sp, #0x30 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8966,7 +8966,7 @@ _02174ca0: add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02174cac: .word data_02050f54 +_02174cac: .word gSinCosTable arm_func_end func_ov22_02174be8 .global func_ov22_02174cb0 @@ -8980,7 +8980,7 @@ func_ov22_02174cb0: ; 0x02174cb0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrsh r1, [r4, #0x78] - ldr r0, _02174da8 ; =data_02050f54 + ldr r0, _02174da8 ; =gSinCosTable ldr ip, _02174dac ; =0x00000266 add r1, r1, #0x4000 mov r1, r1, lsl #0x10 @@ -9035,7 +9035,7 @@ func_ov22_02174cb0: ; 0x02174cb0 add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02174da8: .word data_02050f54 +_02174da8: .word gSinCosTable _02174dac: .word 0x00000266 _02174db0: .word gMapManager _02174db4: .word 0x0000059a @@ -9641,7 +9641,7 @@ func_ov22_0217556c: ; 0x0217556c mov r4, r0 cmp r1, #0xb blt _021755cc - ldr r0, _021755d4 ; =data_027e0fe4 + ldr r0, _021755d4 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -9666,7 +9666,7 @@ _021755cc: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_021755d4: .word data_027e0fe4 +_021755d4: .word gActorManager _021755d8: .word 0x47524f4b arm_func_end func_ov22_0217556c @@ -9877,7 +9877,7 @@ func_ov22_021757c0: ; 0x021757c0 str r3, [sp, #0x14] ldr r3, [r5, #0x298] str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _0217590c ; =gMapManager add r0, sp, #0 ldr r5, [r1] @@ -9994,7 +9994,7 @@ func_ov22_02175958: ; 0x02175958 mov r5, r2, lsl #0x1 sub r3, r1, #0xc00 ldr r1, [r0] - ldr r6, _02175a68 ; =data_02050f54 + ldr r6, _02175a68 ; =gSinCosTable mov r2, ip, lsl #0xa ldrsh r7, [r6, r7] ldrsh r5, [r6, r5] @@ -10039,7 +10039,7 @@ _02175a5c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02175a64: .word data_ov22_0217a568 -_02175a68: .word data_02050f54 +_02175a68: .word gSinCosTable _02175a6c: .word 0x000004cd _02175a70: .word data_ov00_020eec9c _02175a74: .word 0x0000010f @@ -10791,7 +10791,7 @@ func_ov22_02176338: ; 0x02176338 add r1, sp, #0x24 mov r0, ip mov r2, ip - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x1000 ldr r2, _02176408 ; =0x0000059a str r1, [sp, #0x18] @@ -10801,7 +10801,7 @@ func_ov22_02176338: ; 0x02176338 str r2, [sp, #0x20] add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x3c add lr, sp, #0 ldmia r0, {r0, r1, r2} @@ -10938,7 +10938,7 @@ _02176560: ldmia sp!, {r4, pc} _0217656c: ldr r2, [r4, #0x1c] - ldr r1, _02176638 ; =data_027e0fb8 + ldr r1, _02176638 ; =gPlayerControl add ip, r2, #0x800 ldr lr, [r4, #0x20] ldr r3, [r4, #0x18] @@ -10991,7 +10991,7 @@ _0217662c: add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 -_02176638: .word data_027e0fb8 +_02176638: .word gPlayerControl _0217663c: .word data_027e0e58 _02176640: .word 0x0000025d _02176644: .word 0x0000025e @@ -11085,7 +11085,7 @@ func_ov22_021766dc: ; 0x021766dc str ip, [sp, #0xc] str r3, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add mov r3, #0 add r0, sp, #0x6c mov ip, #0x1000 @@ -11094,7 +11094,7 @@ func_ov22_021766dc: ; 0x021766dc str ip, [sp] str r3, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldrb r0, [r4, #0x82] cmp r0, #0 ldr r0, [r4, #0x68] @@ -11124,7 +11124,7 @@ _021767ac: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02176878 ; =data_02050f54 + ldr r2, _02176878 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -11143,14 +11143,14 @@ _021767ac: add r0, sp, #0x78 add r1, sp, #0x18 add r2, sp, #0x60 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x18] add r0, sp, #0x6c rsb r3, r1, #0 add r1, sp, #0x18 add r2, sp, #0x54 str r3, [sp, #0x18] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x9c] cmp r0, #0 beq _0217684c @@ -11170,7 +11170,7 @@ _0217684c: .align 2, 0 _02176870: .word 0x45800000 _02176874: .word 0x46800000 -_02176878: .word data_02050f54 +_02176878: .word gSinCosTable arm_func_end func_ov22_021766dc .global func_ov22_0217687c @@ -11193,10 +11193,10 @@ func_ov22_0217687c: ; 0x0217687c add r0, sp, #0x20 add r1, sp, #0x2c add r2, sp, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x14 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #0x1000 ldr r2, [sp, #0x30] rsb r0, r0, #0 @@ -11219,16 +11219,16 @@ func_ov22_0217687c: ; 0x0217687c mov r0, r7 add r1, sp, #0x14 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0x2c mov r0, r6 add r1, sp, #0x14 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0x20 add r1, sp, #0x2c add r2, sp, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #0x2c] ldr r1, [sp, #0x30] str r2, [sp, #4] @@ -11258,7 +11258,7 @@ func_ov22_0217687c: ; 0x0217687c mov r3, r4 str r0, [r4, #8] ldr r0, [sp] - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #1 add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, pc} @@ -11927,7 +11927,7 @@ func_ov22_02177278: ; 0x02177278 bxne lr add r2, r0, #0x300 ldrh r3, [r2, #0x2c] - ldr r2, _02177320 ; =data_02050f54 + ldr r2, _02177320 ; =gSinCosTable ldr r1, [r1, #0xb0] mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 @@ -11959,7 +11959,7 @@ func_ov22_02177278: ; 0x02177278 strh r0, [r1, #0x2e] bx lr .align 2, 0 -_02177320: .word data_02050f54 +_02177320: .word gSinCosTable _02177324: .word 0x00007fff arm_func_end func_ov22_02177278 @@ -12145,7 +12145,7 @@ _02177548: cmp r0, r1 bge _021776d4 add r0, sp, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -12154,7 +12154,7 @@ _02177548: ldr r1, [r4, #0x328] ldr r7, _021776f4 ; =data_027e0764 ldrb r1, [r5, r1] - ldr r0, _021776f8 ; =data_027e0f94 + ldr r0, _021776f8 ; =gPlayerPos ldr r6, [r7] ldr r5, [r0] strh r1, [sp, #0x1c] @@ -12198,10 +12198,10 @@ _02177548: add r0, sp, #0x48 add r2, sp, #0x10 add r1, r4, #0x29c - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x10 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0x2400 bge _02177684 add r0, sp, #0x10 @@ -12220,7 +12220,7 @@ _02177668: add r1, sp, #0x10 add r2, sp, #0x48 add r0, r4, #0x29c - bl func_01ff9bc4 + bl Vec3p_Add _02177684: mov r1, #0 str r1, [sp] @@ -12253,7 +12253,7 @@ _021776e8: .word data_ov22_02178890 _021776ec: .word data_ov22_0217889c _021776f0: .word data_ov22_021788a8 _021776f4: .word data_027e0764 -_021776f8: .word data_027e0f94 +_021776f8: .word gPlayerPos _021776fc: .word 0x00001001 _02177700: .word data_027e0fe8 _02177704: .word 0x54534e49 @@ -12350,12 +12350,12 @@ _021777f8: .word func_ov22_02177328 .global func_ov22_021777fc arm_func_start func_ov22_021777fc func_ov22_021777fc: ; 0x021777fc - ldr r0, _0217780c ; =data_027e0fc8 + ldr r0, _0217780c ; =gPlayerLink ldr ip, _02177810 ; =func_ov00_020bbd60 ldr r0, [r0] bx ip .align 2, 0 -_0217780c: .word data_027e0fc8 +_0217780c: .word gPlayerLink _02177810: .word func_ov00_020bbd60 arm_func_end func_ov22_021777fc @@ -12415,7 +12415,7 @@ func_ov22_02177814: ; 0x02177814 add r2, sp, #0x18 mov r0, r4 mov r3, r3, asr #0x1 - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi cmp r0, #0 beq _02177908 mov r0, #1 @@ -13222,9 +13222,9 @@ func_ov22_0217822c: ; 0x0217822c add r1, sp, #0x24 add r2, sp, #0x30 mov r0, r5 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x1c] - ldr r3, _021782d4 ; =data_02050f54 + ldr r3, _021782d4 ; =gSinCosTable ldrh r1, [r0, #0x78] add r0, sp, #0 mov r1, r1, asr #0x4 @@ -13248,7 +13248,7 @@ func_ov22_0217822c: ; 0x0217822c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021782d0: .word 0x0000059a -_021782d4: .word data_02050f54 +_021782d4: .word gSinCosTable arm_func_end func_ov22_0217822c .global func_ov22_021782d8 @@ -14879,7 +14879,7 @@ data_ov22_02179060: ; 0x02179060 .word func_ov22_0216dab0 .global data_ov22_02179064 data_ov22_02179064: ; 0x02179064 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_02179068 data_ov22_02179068: ; 0x02179068 .word _ZN5Actor8vfunc_20Ei @@ -14909,10 +14909,10 @@ data_ov22_02179088: ; 0x02179088 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov22_0217908c data_ov22_0217908c: ; 0x0217908c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_02179090 data_ov22_02179090: ; 0x02179090 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_02179094 data_ov22_02179094: ; 0x02179094 .word _ZN5Actor8vfunc_4cEPi @@ -15359,7 +15359,7 @@ data_ov22_021792e0: ; 0x021792e0 .word func_ov14_02144b64 .global data_ov22_021792e4 data_ov22_021792e4: ; 0x021792e4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_021792e8 data_ov22_021792e8: ; 0x021792e8 .word func_ov22_02170be8 @@ -15389,10 +15389,10 @@ data_ov22_02179308: ; 0x02179308 .word func_ov14_02145974 .global data_ov22_0217930c data_ov22_0217930c: ; 0x0217930c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_02179310 data_ov22_02179310: ; 0x02179310 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_02179314 data_ov22_02179314: ; 0x02179314 .word _ZN5Actor8vfunc_4cEPi @@ -15844,7 +15844,7 @@ data_ov22_02179574: ; 0x02179574 .word func_ov00_020cad30 .global data_ov22_02179578 data_ov22_02179578: ; 0x02179578 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_0217957c data_ov22_0217957c: ; 0x0217957c .word func_ov00_020cb1c0 @@ -15874,7 +15874,7 @@ data_ov22_0217959c: ; 0x0217959c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov22_021795a0 data_ov22_021795a0: ; 0x021795a0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_021795a4 data_ov22_021795a4: ; 0x021795a4 .word func_ov22_02171aa0 @@ -16084,7 +16084,7 @@ data_ov22_0217969c: ; 0x0217969c .word func_ov00_020cad30 .global data_ov22_021796a0 data_ov22_021796a0: ; 0x021796a0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_021796a4 data_ov22_021796a4: ; 0x021796a4 .word func_ov00_020cb1c0 @@ -16114,7 +16114,7 @@ data_ov22_021796c4: ; 0x021796c4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov22_021796c8 data_ov22_021796c8: ; 0x021796c8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_021796cc data_ov22_021796cc: ; 0x021796cc .word func_ov22_02173d54 @@ -16369,7 +16369,7 @@ data_ov22_02179818: ; 0x02179818 .word func_ov00_020cad30 .global data_ov22_0217981c data_ov22_0217981c: ; 0x0217981c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_02179820 data_ov22_02179820: ; 0x02179820 .word func_ov00_020cb1c0 @@ -16399,7 +16399,7 @@ data_ov22_02179840: ; 0x02179840 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov22_02179844 data_ov22_02179844: ; 0x02179844 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_02179848 data_ov22_02179848: ; 0x02179848 .word func_ov00_020caeb4 @@ -16573,7 +16573,7 @@ data_ov22_02179928: ; 0x02179928 .word func_ov22_02175068 .global data_ov22_0217992c data_ov22_0217992c: ; 0x0217992c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_02179930 data_ov22_02179930: ; 0x02179930 .word _ZN5Actor8vfunc_20Ei @@ -16603,10 +16603,10 @@ data_ov22_02179950: ; 0x02179950 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov22_02179954 data_ov22_02179954: ; 0x02179954 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_02179958 data_ov22_02179958: ; 0x02179958 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_0217995c data_ov22_0217995c: ; 0x0217995c .word _ZN5Actor8vfunc_4cEPi @@ -16825,7 +16825,7 @@ data_ov22_02179a78: ; 0x02179a78 .word func_ov22_021757ac .global data_ov22_02179a7c data_ov22_02179a7c: ; 0x02179a7c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_02179a80 data_ov22_02179a80: ; 0x02179a80 .word _ZN5Actor8vfunc_20Ei @@ -16855,10 +16855,10 @@ data_ov22_02179aa0: ; 0x02179aa0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov22_02179aa4 data_ov22_02179aa4: ; 0x02179aa4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_02179aa8 data_ov22_02179aa8: ; 0x02179aa8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_02179aac data_ov22_02179aac: ; 0x02179aac .word _ZN5Actor8vfunc_4cEPi @@ -16966,7 +16966,7 @@ data_ov22_02179b34: ; 0x02179b34 .word _ZN5Actor8vfunc_18Ej .global data_ov22_02179b38 data_ov22_02179b38: ; 0x02179b38 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_02179b3c data_ov22_02179b3c: ; 0x02179b3c .word func_ov14_0215152c @@ -16996,10 +16996,10 @@ data_ov22_02179b5c: ; 0x02179b5c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov22_02179b60 data_ov22_02179b60: ; 0x02179b60 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_02179b64 data_ov22_02179b64: ; 0x02179b64 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_02179b68 data_ov22_02179b68: ; 0x02179b68 .word _ZN5Actor8vfunc_4cEPi @@ -17520,7 +17520,7 @@ data_ov22_02179e0c: ; 0x02179e0c .word func_ov22_02177104 .global data_ov22_02179e10 data_ov22_02179e10: ; 0x02179e10 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_02179e14 data_ov22_02179e14: ; 0x02179e14 .word func_ov22_0217712c @@ -17550,10 +17550,10 @@ data_ov22_02179e34: ; 0x02179e34 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov22_02179e38 data_ov22_02179e38: ; 0x02179e38 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_02179e3c data_ov22_02179e3c: ; 0x02179e3c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_02179e40 data_ov22_02179e40: ; 0x02179e40 .word _ZN5Actor8vfunc_4cEPi @@ -18044,7 +18044,7 @@ data_ov22_0217a0e0: ; 0x0217a0e0 .word func_ov14_02144b64 .global data_ov22_0217a0e4 data_ov22_0217a0e4: ; 0x0217a0e4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_0217a0e8 data_ov22_0217a0e8: ; 0x0217a0e8 .word func_ov14_02145100 @@ -18074,10 +18074,10 @@ data_ov22_0217a108: ; 0x0217a108 .word func_ov14_02145974 .global data_ov22_0217a10c data_ov22_0217a10c: ; 0x0217a10c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_0217a110 data_ov22_0217a110: ; 0x0217a110 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_0217a114 data_ov22_0217a114: ; 0x0217a114 .word _ZN5Actor8vfunc_4cEPi @@ -18239,7 +18239,7 @@ data_ov22_0217a1e4: ; 0x0217a1e4 .word func_ov14_02144b64 .global data_ov22_0217a1e8 data_ov22_0217a1e8: ; 0x0217a1e8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_0217a1ec data_ov22_0217a1ec: ; 0x0217a1ec .word func_ov14_02145100 @@ -18269,10 +18269,10 @@ data_ov22_0217a20c: ; 0x0217a20c .word func_ov14_02145974 .global data_ov22_0217a210 data_ov22_0217a210: ; 0x0217a210 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_0217a214 data_ov22_0217a214: ; 0x0217a214 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_0217a218 data_ov22_0217a218: ; 0x0217a218 .word _ZN5Actor8vfunc_4cEPi @@ -18434,7 +18434,7 @@ data_ov22_0217a2e8: ; 0x0217a2e8 .word func_ov14_02144b64 .global data_ov22_0217a2ec data_ov22_0217a2ec: ; 0x0217a2ec - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov22_0217a2f0 data_ov22_0217a2f0: ; 0x0217a2f0 .word func_ov14_02145100 @@ -18464,10 +18464,10 @@ data_ov22_0217a310: ; 0x0217a310 .word func_ov14_02145974 .global data_ov22_0217a314 data_ov22_0217a314: ; 0x0217a314 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov22_0217a318 data_ov22_0217a318: ; 0x0217a318 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov22_0217a31c data_ov22_0217a31c: ; 0x0217a31c .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov23.inc b/asm/ov23.inc index 8fa3bee6..d20996f8 100644 --- a/asm/ov23.inc +++ b/asm/ov23.inc @@ -1,6 +1,15 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern PlaySoundEffect +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager14GetEntrancePosEP5Vec3pi .extern _ZN10MapManager16MapData_vfunc_60Ev .extern _ZN10MapManager16MapData_vfunc_68Ev @@ -23,9 +32,10 @@ .extern _ZN10MapManager18func_ov00_02084740Ev .extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10MapManager18func_ov00_02084d24Ecci -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder .extern _ZN11ItemManager12GetItemModelEj -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -59,19 +69,23 @@ .extern _ZN14AdventureFlags18func_ov00_02097bccEv .extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern _ZN14AdventureFlags3GetEj +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern _ZN15LinkStateDamage18func_ov00_020acb6cEP5Vec3pi .extern _ZN15LinkStateFollow18func_ov00_020a9180EP5Vec3p .extern _ZN17LinkStateInteract18func_ov00_020ab6c8Ev .extern _ZN17LinkStateInteract18func_ov00_020ab770EP5Vec3p +.extern _ZN19Actor_UnkStruct_020C1Ev +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10GetUnk_08cEP8Cylinder .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor14DistanceToLinkEv .extern _ZN5Actor14GetAngleToLinkEv .extern _ZN5Actor15IsHitboxTouchedEb @@ -80,22 +94,22 @@ .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c198cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor4KillEv .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -120,13 +134,13 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev +.extern _ZN8Cylinder8OverlapsEPS_ .extern _ZN9ActorTypeC1EjPFP5ActorvEPFivE .extern _ZN9ActorTypeD1Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 .extern data_02056be4 .extern data_02057200 .extern data_02063e4c @@ -136,30 +150,21 @@ .extern data_027e0c68 .extern data_027e0cbc .extern data_027e0ce0 -.extern data_027e0d0c .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0db0 .extern data_027e0e2c .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f70 .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fcc .extern data_027e0fd0 .extern data_027e0fd4 .extern data_027e0fd8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff4 @@ -187,22 +192,11 @@ .extern func_01ff9158 .extern func_01ff991c .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffbe34 .extern func_01ffbe78 -.extern func_01ffec34 .extern func_01fffb4c .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 .extern func_02016fe8 .extern func_02018450 .extern func_02019570 @@ -235,7 +229,6 @@ .extern func_ov00_02079470 .extern func_ov00_0207977c .extern func_ov00_02079eb4 -.extern func_ov00_0207a188 .extern func_ov00_0207a1a4 .extern func_ov00_0207a1c8 .extern func_ov00_0207c1b0 @@ -347,7 +340,6 @@ .extern func_ov00_020bb544 .extern func_ov00_020bb5f0 .extern func_ov00_020bba28 -.extern func_ov00_020bc46c .extern func_ov00_020bc48c .extern func_ov00_020bc494 .extern func_ov00_020bc4ac @@ -367,7 +359,6 @@ .extern func_ov00_020c0ffc .extern func_ov00_020c10a0 .extern func_ov00_020c10d4 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -457,7 +448,6 @@ .extern func_ov00_020d1980 .extern func_ov00_020d70a4 .extern func_ov00_020d716c -.extern PlaySoundEffect .extern func_ov00_020d77e4 .extern func_ov00_020d7a84 .extern func_ov00_020d7b20 @@ -573,6 +563,16 @@ .extern func_ov17_0216a734 .extern func_ov52_02195754 .extern func_ov52_02195b5c +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gPlayerVel +.extern gSinCosTable +.extern gVec3p_ZERO .extern strncpy diff --git a/asm/ov23.s b/asm/ov23.s index 3b487bd1..36e220b7 100644 --- a/asm/ov23.s +++ b/asm/ov23.s @@ -330,7 +330,7 @@ _0216da90: str r0, [r1, #4] str r0, [r1, #8] ldrh r0, [r4, #0x12] - ldr r8, _0216ddd0 ; =data_02050f54 + ldr r8, _0216ddd0 ; =gSinCosTable add r2, sp, #0x5c mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -345,7 +345,7 @@ _0216da90: ldrsh r3, [r8, r3] rsb r3, r3, #0 str r3, [sp, #0x58] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x5c] str r0, [r4, #0x48] ldr r0, [sp, #0x60] @@ -381,7 +381,7 @@ _0216db3c: ldr r3, [r4, #0x1c] mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x14] add r0, sp, #0x38 str r1, [sp, #8] @@ -391,7 +391,7 @@ _0216db3c: ldr r3, [r4, #0x1c] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x44 mov ip, #0 add r5, sp, #0x20 @@ -541,7 +541,7 @@ _0216ddb8: add sp, sp, #0x68 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0216ddd0: .word data_02050f54 +_0216ddd0: .word gSinCosTable _0216ddd4: .word 0x47524e43 _0216ddd8: .word 0x47524342 _0216dddc: .word data_ov23_02179030 @@ -646,7 +646,7 @@ _0216dee0: .word data_ov00_020e8b08 func_ov23_0216dee4: ; 0x0216dee4 stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r1, _0216df20 ; =data_027e0fe4 + ldr r1, _0216df20 ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _0216df24 ; =0x4e415649 @@ -660,7 +660,7 @@ func_ov23_0216dee4: ; 0x0216dee4 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0216df20: .word data_027e0fe4 +_0216df20: .word gActorManager _0216df24: .word 0x4e415649 arm_func_end func_ov23_0216dee4 @@ -754,7 +754,7 @@ func_ov23_0216e024: ; 0x0216e024 ldmleia sp!, {r4, pc} mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add r0, r4, #0x470 mov r1, #4 bl func_ov23_0216d74c @@ -866,7 +866,7 @@ func_ov23_0216e180: ; 0x0216e180 add r0, r4, #0x14 ldmia r0, {r0, r1, r2} add lr, sp, #0x38 - ldr ip, _0216e360 ; =data_027e0f94 + ldr ip, _0216e360 ; =gPlayerPos stmia lr, {r0, r1, r2} add r3, sp, #0x2c ldmia ip, {r0, r1, r2} @@ -874,11 +874,11 @@ func_ov23_0216e180: ; 0x0216e180 add r2, sp, #0x20 mov r0, r3 mov r1, lr - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x20 str r1, [sp, #0x24] - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x3000 bge _0216e25c add r0, sp, #8 @@ -887,7 +887,7 @@ func_ov23_0216e180: ; 0x0216e180 str r1, [r0, #4] str r1, [r0, #8] ldrh r2, [r4, #0x12] - ldr r3, _0216e364 ; =data_02050f54 + ldr r3, _0216e364 ; =gSinCosTable add r1, sp, #0x20 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -901,7 +901,7 @@ func_ov23_0216e180: ; 0x0216e180 ldrsh r2, [r3, r2] rsb r2, r2, #0 str r2, [sp, #0x10] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0xc00 movgt r0, #0xc00 bgt _0216e244 @@ -913,7 +913,7 @@ _0216e244: add r1, sp, #8 add r2, sp, #0x38 add r3, sp, #0x14 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r5, _0216e368 ; =0x0000019a b _0216e278 _0216e25c: @@ -953,7 +953,7 @@ _0216e2d0: ldr r2, [r1, #0x10] add r1, r4, #0x54 str r2, [sp, #4] - bl func_01ff9ec0 + bl Vec3p_Distance mov r0, r0, lsl #0x10 add r1, r0, #0x800 add r0, sp, #4 @@ -988,8 +988,8 @@ _0216e350: add sp, sp, #0x44 ldmia sp!, {r4, r5, pc} .align 2, 0 -_0216e360: .word data_027e0f94 -_0216e364: .word data_02050f54 +_0216e360: .word gPlayerPos +_0216e364: .word gSinCosTable _0216e368: .word 0x0000019a _0216e36c: .word 0x0000038e arm_func_end func_ov23_0216e180 @@ -1026,7 +1026,7 @@ func_ov23_0216e3b4: ; 0x0216e3b4 add r0, r4, #0x14 ldmia r0, {r0, r1, r2} add lr, sp, #0x30 - ldr ip, _0216e4a4 ; =data_027e0f94 + ldr ip, _0216e4a4 ; =gPlayerPos stmia lr, {r0, r1, r2} add r3, sp, #0x24 ldmia ip, {r0, r1, r2} @@ -1034,7 +1034,7 @@ func_ov23_0216e3b4: ; 0x0216e3b4 add r2, sp, #0x18 mov r0, r3 mov r1, lr - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0xc str r1, [sp, #0x1c] @@ -1042,7 +1042,7 @@ func_ov23_0216e3b4: ; 0x0216e3b4 str r1, [r0, #4] str r1, [r0, #8] ldrh r2, [r4, #0x12] - ldr r3, _0216e4a8 ; =data_02050f54 + ldr r3, _0216e4a8 ; =gSinCosTable add r1, sp, #0x18 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -1056,14 +1056,14 @@ func_ov23_0216e3b4: ; 0x0216e3b4 ldrsh r2, [r3, r2] rsb r2, r2, #0 str r2, [sp, #0x14] - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 mov r0, #0x1000 rsbgt r0, r0, #0 add r1, sp, #0xc add r2, sp, #0x30 add r3, sp, #0 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x88 add r2, sp, #0 add r0, r0, #0x400 @@ -1081,8 +1081,8 @@ func_ov23_0216e3b4: ; 0x0216e3b4 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0216e4a4: .word data_027e0f94 -_0216e4a8: .word data_02050f54 +_0216e4a4: .word gPlayerPos +_0216e4a8: .word gSinCosTable _0216e4ac: .word data_ov14_02153e98 _0216e4b0: .word func_ov23_0216d7f8 arm_func_end func_ov23_0216e3b4 @@ -1184,7 +1184,7 @@ func_ov23_0216e598: ; 0x0216e598 bl func_ov14_0214a92c mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add r0, r4, #0xa8 str r6, [sp] mov r3, r5 @@ -1249,7 +1249,7 @@ func_ov23_0216e65c: ; 0x0216e65c str r0, [r1, #4] str r0, [r1, #8] ldrh r0, [r5, #0x12] - ldr ip, _0216e770 ; =data_02050f54 + ldr ip, _0216e770 ; =gSinCosTable add r2, sp, #0xc mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -1264,7 +1264,7 @@ func_ov23_0216e65c: ; 0x0216e65c ldrsh r3, [ip, r3] rsb r3, r3, #0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0xc] str r0, [r5, #0x48] ldr r0, [sp, #0x10] @@ -1291,7 +1291,7 @@ _0216e74c: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0216e770: .word data_02050f54 +_0216e770: .word gSinCosTable arm_func_end func_ov23_0216e65c .global func_ov23_0216e774 @@ -1321,18 +1321,18 @@ _0216e7ac: .word 0x47524d47 func_ov23_0216e7b0: ; 0x0216e7b0 stmdb sp!, {r3, lr} sub sp, sp, #8 - ldr r1, _0216e7e0 ; =data_027e0fe4 + ldr r1, _0216e7e0 ; =gActorManager strh r0, [sp, #4] ldr r3, _0216e7e4 ; =data_ov23_02179db8 ldr r0, [r1] add r1, sp, #0 mov r2, #0 str r3, [sp] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 -_0216e7e0: .word data_027e0fe4 +_0216e7e0: .word gActorManager _0216e7e4: .word data_ov23_02179db8 arm_func_end func_ov23_0216e7b0 @@ -1818,7 +1818,7 @@ _0216ed80: ; jump table b _0216eea4 ; case 7 b _0216eebc ; case 8 _0216eda4: - ldr r2, _0216eee0 ; =data_027e0f94 + ldr r2, _0216eee0 ; =gPlayerPos add r1, r0, #0x88 str r2, [sp] mov r2, #2 @@ -1908,7 +1908,7 @@ _0216eed4: add sp, sp, #8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0216eee0: .word data_027e0f94 +_0216eee0: .word gPlayerPos _0216eee4: .word data_027e0e58 _0216eee8: .word gItemManager _0216eeec: .word data_ov00_020eec68 @@ -1919,7 +1919,7 @@ _0216eeec: .word data_ov00_020eec68 func_ov23_0216eef0: ; 0x0216eef0 stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r1, _0216ef2c ; =data_027e0fe4 + ldr r1, _0216ef2c ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _0216ef30 ; =0x4e415649 @@ -1933,7 +1933,7 @@ func_ov23_0216eef0: ; 0x0216eef0 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0216ef2c: .word data_027e0fe4 +_0216ef2c: .word gActorManager _0216ef30: .word 0x4e415649 arm_func_end func_ov23_0216eef0 @@ -2461,7 +2461,7 @@ func_ov23_0216f428: ; 0x0216f428 addne sp, sp, #0x1fc movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} - ldr r1, _0216f884 ; =data_027e0fe4 + ldr r1, _0216f884 ; =gActorManager ldr r2, _0216f888 ; =0x4e545250 ldr r1, [r1] add r0, sp, #0x30 @@ -2471,7 +2471,7 @@ func_ov23_0216f428: ; 0x0216f428 mvn r0, #0 cmp r1, r0 beq _0216f630 - ldr r0, _0216f884 ; =data_027e0fe4 + ldr r0, _0216f884 ; =gActorManager add r1, sp, #0x30 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2499,7 +2499,7 @@ func_ov23_0216f428: ; 0x0216f428 movne r0, #0 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} _0216f630: - ldr r1, _0216f884 ; =data_027e0fe4 + ldr r1, _0216f884 ; =gActorManager ldr r2, _0216f88c ; =0x50534241 ldr r1, [r1] add r0, sp, #0x28 @@ -2509,7 +2509,7 @@ _0216f630: mvn r0, #0 cmp r1, r0 beq _0216f6bc - ldr r0, _0216f884 ; =data_027e0fe4 + ldr r0, _0216f884 ; =gActorManager add r1, sp, #0x28 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2581,7 +2581,7 @@ _0216f73c: str r2, [sp, #0x94] str r1, [sp, #0x98] ldr r1, [r5, #8] - ldr r0, _0216f884 ; =data_027e0fe4 + ldr r0, _0216f884 ; =gActorManager str r1, [sp, #0x80] ldr r5, [r5, #0xc] add r4, sp, #0x80 @@ -2592,12 +2592,12 @@ _0216f73c: str r3, [sp, #0x88] str r3, [sp, #0x8c] str r4, [sp, #0x164] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x98] mov r4, #0 cmp r0, #0 ble _0216f86c - ldr r7, _0216f884 ; =data_027e0fe4 + ldr r7, _0216f884 ; =gActorManager mov r5, r4 _0216f7b4: ldr r1, [sp, #0x90] @@ -2656,7 +2656,7 @@ _0216f86c: _0216f878: .word gMapManager _0216f87c: .word 0x0000ffff _0216f880: .word 0x00000733 -_0216f884: .word data_027e0fe4 +_0216f884: .word gActorManager _0216f888: .word 0x4e545250 _0216f88c: .word 0x50534241 _0216f890: .word _ZTV11FilterActor @@ -2948,7 +2948,7 @@ func_ov23_0216fc10: ; 0x0216fc10 add r2, sp, #0x2c add r0, r4, #0x39c add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 ldr r3, _0216fd80 ; =0x66666667 str r1, [sp, #0x30] @@ -3358,11 +3358,11 @@ _021701ac: .word 0x524f5045 .global func_ov23_021701b0 arm_func_start func_ov23_021701b0 func_ov23_021701b0: ; 0x021701b0 - ldr ip, _021701bc ; =func_01fffcec + ldr ip, _021701bc ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_021701bc: .word func_01fffcec +_021701bc: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov23_021701b0 .global func_ov23_021701c0 @@ -3392,12 +3392,12 @@ func_ov23_021701c0: ; 0x021701c0 bl _ZN5Actor16XzDistanceToLinkEv cmp r0, #0xa000 ble _02170374 - ldr r1, _02170664 ; =data_027e0f94 + ldr r1, _02170664 ; =gPlayerPos add r0, r5, #0x14 bl func_ov00_020ce2f0 cmp r0, #0xa000 ble _02170374 - ldr r1, _02170668 ; =data_027e0fe4 + ldr r1, _02170668 ; =gActorManager ldr r2, _0217066c ; =0x50534241 ldr r1, [r1] add r0, sp, #0xc @@ -3408,7 +3408,7 @@ func_ov23_021701c0: ; 0x021701c0 mvn r0, #0 cmp r1, r0 beq _021702d0 - ldr r0, _02170668 ; =data_027e0fe4 + ldr r0, _02170668 ; =gActorManager add r1, sp, #0xc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3686,8 +3686,8 @@ _02170658: add sp, sp, #0x2c ldmia sp!, {r4, r5, pc} .align 2, 0 -_02170664: .word data_027e0f94 -_02170668: .word data_027e0fe4 +_02170664: .word gPlayerPos +_02170668: .word gActorManager _0217066c: .word 0x50534241 _02170670: .word gMapManager _02170674: .word data_027e0ffc @@ -3721,7 +3721,7 @@ func_ov23_021706b8: ; 0x021706b8 sub sp, sp, #0x30 mov r4, r0 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -3837,13 +3837,13 @@ func_ov23_021707e0: ; 0x021707e0 bicne r0, r0, #2 strne r0, [r1, #0x24] add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length ldr r1, _0217099c ; =0x0000059a cmp r0, r1 blt _02170980 add r1, sp, #0 mov r0, r4 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r9, [sp] mov r1, #0x2800 umull r0, r10, r9, r1 @@ -3879,7 +3879,7 @@ func_ov23_021707e0: ; 0x021707e0 str r7, [sp, #4] add r1, r5, #0x190 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x1bc] cmp r0, #0 beq _0217093c @@ -3904,7 +3904,7 @@ func_ov23_021707e0: ; 0x021707e0 _0217093c: add r0, sp, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r2, [sp, #0xc] ldr r1, [sp, #0x10] rsb r4, r2, #0 @@ -4002,7 +4002,7 @@ _02170a6c: mov r1, #1 str r1, [sp] ldr r0, _02170ae4 ; =data_027e0e58 - ldr r3, _02170ae8 ; =data_027e0d0c + ldr r3, _02170ae8 ; =gVec3p_ZERO ldr r0, [r0] add r1, r4, #0x1bc mov r2, #0xc8 @@ -4021,7 +4021,7 @@ _02170ad8: .word data_027e0ce0 _02170adc: .word data_ov23_0217a234 _02170ae0: .word data_027e0d38 _02170ae4: .word data_027e0e58 -_02170ae8: .word data_027e0d0c +_02170ae8: .word gVec3p_ZERO arm_func_end func_ov23_021709a0 .global func_ov23_02170aec @@ -4595,7 +4595,7 @@ func_ov23_0217118c: ; 0x0217118c mov r0, r2 add r1, r6, #0x1c add r2, r6, #0x190 - bl func_01ff9bc4 + bl Vec3p_Add ldrsh r2, [sp, #0x10] add r1, r6, #0x100 mov r0, r6 @@ -4711,7 +4711,7 @@ func_ov23_021712fc: ; 0x021712fc mov r4, r0 cmp r1, #0 bne _02171324 - ldr r0, _02171394 ; =data_027e0fb8 + ldr r0, _02171394 ; =gPlayerControl ldr r0, [r0] bl func_ov23_02177e24 cmp r0, #0 @@ -4723,8 +4723,8 @@ _02171324: mov r0, #1 ldmia sp!, {r4, pc} _02171338: - ldr r1, _02171394 ; =data_027e0fb8 - ldr r0, _02171398 ; =data_027e0fe4 + ldr r1, _02171394 ; =gPlayerControl + ldr r0, _02171398 ; =gActorManager ldr r3, [r1] ldr r0, [r0] ldr r2, [r3, #0x84] @@ -4748,8 +4748,8 @@ _02171388: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_02171394: .word data_027e0fb8 -_02171398: .word data_027e0fe4 +_02171394: .word gPlayerControl +_02171398: .word gActorManager arm_func_end func_ov23_021712fc .global func_ov23_0217139c @@ -4803,14 +4803,14 @@ func_ov23_02171410: ; 0x02171410 mov r0, r6 bl _ZN5Actor9GetHitboxEP8Cylinder mov r0, r5 - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 mov r0, r7 bl _ZN13LinkStateBase18func_ov00_020a8b80Ev cmp r0, #0 addeq sp, sp, #0x28 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, _02171698 ; =data_027e0fb8 + ldr r0, _02171698 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x80] cmp r0, #0 @@ -4836,7 +4836,7 @@ func_ov23_02171410: ; 0x02171410 str r1, [sp, #0x10] ldr r1, [r5, #8] str r1, [sp, #0x14] - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 add r0, sp, #0xc bl func_01fffb4c @@ -4869,12 +4869,12 @@ _02171510: str r1, [r0, #4] ldr r0, [r5] ldr r1, [r5, #8] - bl func_01ffa0f4 + bl Atan2 mov r4, r0 mov r0, r7 bl _ZN13LinkStateBase14GetPlayerAngleEv strh r4, [r0] - ldr r0, _02171698 ; =data_027e0fb8 + ldr r0, _02171698 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev mov r0, r7 @@ -4903,7 +4903,7 @@ _02171594: str r1, [sp, #4] ldr r1, [r5, #8] str r1, [sp, #8] - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 add r0, sp, #0 bl func_01fffb4c @@ -4936,12 +4936,12 @@ _02171614: str r1, [r0, #4] ldr r0, [r5] ldr r1, [r5, #8] - bl func_01ffa0f4 + bl Atan2 mov r4, r0 mov r0, r7 bl _ZN13LinkStateBase14GetPlayerAngleEv strh r4, [r0] - ldr r0, _02171698 ; =data_027e0fb8 + ldr r0, _02171698 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev mov r0, r7 @@ -4956,7 +4956,7 @@ _02171614: add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02171698: .word data_027e0fb8 +_02171698: .word gPlayerControl _0217169c: .word 0x50574253 _021716a0: .word 0x0000059a _021716a4: .word data_027e0ffc @@ -4976,14 +4976,14 @@ func_ov23_021716b0: ; 0x021716b0 addne sp, sp, #0xc ldmneia sp!, {r3, r4, r5, r6, pc} mov r0, r4 - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 mov r0, r5 bl _ZN13LinkStateBase18func_ov00_020a8b80Ev cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} - ldr r0, _0217180c ; =data_027e0fb8 + ldr r0, _0217180c ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x80] cmp r0, #0 @@ -5003,7 +5003,7 @@ func_ov23_021716b0: ; 0x021716b0 str r1, [sp, #4] ldr r1, [r4, #8] str r1, [sp, #8] - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 add r0, sp, #0 bl func_01fffb4c @@ -5036,12 +5036,12 @@ _02171788: str r1, [r0, #4] ldr r0, [r4] ldr r1, [r4, #8] - bl func_01ffa0f4 + bl Atan2 mov r4, r0 mov r0, r5 bl _ZN13LinkStateBase14GetPlayerAngleEv strh r4, [r0] - ldr r0, _0217180c ; =data_027e0fb8 + ldr r0, _0217180c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl9SetUnk_80Ev mov r0, r5 @@ -5056,7 +5056,7 @@ _02171788: add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0217180c: .word data_027e0fb8 +_0217180c: .word gPlayerControl _02171810: .word 0x00000171 _02171814: .word 0x000004cd _02171818: .word data_027e0ffc @@ -5119,7 +5119,7 @@ func_ov23_0217181c: ; 0x0217181c str r0, [r1, #0x30] _021718ec: add r0, sp, #0x40 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0, lsl #0x7 ldr r2, _02172078 ; =0x5b672f7d mov r0, r1, lsr #0x1f @@ -5155,7 +5155,7 @@ _0217194c: beq _021719b0 _0217196c: add r0, sp, #0x40 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 mov r0, r4 bl _ZN13LinkStateBase15GetPlayer_Unk18Ev @@ -5190,19 +5190,19 @@ _021719b0: mov r1, r0 add r0, sp, #0x28 add r2, sp, #0x1c - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] mov r5, #0x1000 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r6, r0, asr #0x10 b _02171a38 _02171a18: - ldr r0, _02172088 ; =data_027e0fb8 + ldr r0, _02172088 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv - ldr r1, _02172088 ; =data_027e0fb8 + ldr r1, _02172088 ; =gPlayerControl mov r5, r0 ldr r0, [r1] bl _ZN13PlayerControl13GetTouchAngleEv @@ -5277,7 +5277,7 @@ _02171b10: bl _ZN13LinkStateBase20GetPlayerControlDataEv str r8, [r0, #0x20] add r0, sp, #0x34 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02172098 ; =0x00000333 cmp r0, r1 bge _02171b9c @@ -5328,7 +5328,7 @@ _02171bd8: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _021720a0 ; =data_02050f54 + ldr r1, _021720a0 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r1, r2] mov r0, r0, lsl #0x1 @@ -5352,9 +5352,9 @@ _02171bd8: str ip, [sp, #0x14] str r3, [sp, #0x10] str r8, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x10 - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x800 movle r8, #1 movgt r8, #0 @@ -5371,7 +5371,7 @@ _02171c78: ldr r1, _021720a8 ; =0x000002e1 str r1, [r0] add r0, sp, #0x40 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02172084 ; =data_ov23_0217a2c4 ldr r1, [r1, #4] mul r1, r0, r1 @@ -5400,7 +5400,7 @@ _02171ccc: b _02171d34 _02171d10: add r0, sp, #0x40 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02172084 ; =data_ov23_0217a2c4 ldr r1, [r1, #4] mul r1, r0, r1 @@ -5429,7 +5429,7 @@ _02171d34: cmp r0, #0 addeq sp, sp, #0x4c ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r0, _02172088 ; =data_027e0fb8 + ldr r0, _02172088 ; =gPlayerControl ldr r0, [r0] ldrb r1, [r0, #0x80] cmp r1, #0 @@ -5442,7 +5442,7 @@ _02171d34: beq _02171dd4 mov r0, r4 bl _ZN13LinkStateBase12GetPlayerVelEv - ldr r1, _021720b0 ; =data_027e0d0c + ldr r1, _021720b0 ; =gVec3p_ZERO ldr r2, [r1] str r2, [r0] ldr r2, [r1, #4] @@ -5450,7 +5450,7 @@ _02171d34: ldr r1, [r1, #8] str r1, [r0, #8] _02171dd4: - ldr r0, _02172088 ; =data_027e0fb8 + ldr r0, _02172088 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv _02171de0: @@ -5458,7 +5458,7 @@ _02171de0: strb r0, [r4, #0x2b] b _02171e18 _02171dec: - ldr r0, _02172088 ; =data_027e0fb8 + ldr r0, _02172088 ; =gPlayerControl ldr r0, [r0] ldr r1, [r0, #0xa0] cmp r1, #0 @@ -5466,7 +5466,7 @@ _02171dec: bl _ZN13PlayerControl14GetFollowActorEv cmp r0, #0 bne _02171e18 - ldr r0, _02172088 ; =data_027e0fb8 + ldr r0, _02172088 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv _02171e18: @@ -5483,7 +5483,7 @@ _02171e18: mov r1, r0 ldr r0, [r1] ldr r1, [r1, #8] - bl func_01ffa0f4 + bl Atan2 ldr r2, _02172084 ; =data_ov23_0217a2c4 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 @@ -5495,7 +5495,7 @@ _02171e18: bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r2, [r0] mov r0, #0 - ldr r1, _021720a0 ; =data_02050f54 + ldr r1, _021720a0 ; =gSinCosTable str r0, [sp, #8] mov r0, r2, asr #0x4 mov r3, r0, lsl #0x1 @@ -5508,7 +5508,7 @@ _02171e18: add r0, sp, #0x40 str r1, [sp, #0xc] add r1, sp, #4 - bl func_01ff9c2c + bl Vec3p_Dot ldr r2, [sp, #4] ldr r1, [sp, #0xc] smull r7, r3, r2, r0 @@ -5633,17 +5633,17 @@ _02172078: .word 0x5b672f7d _0217207c: .word data_027e0ffc _02172080: .word 0x0000038b _02172084: .word data_ov23_0217a2c4 -_02172088: .word data_027e0fb8 +_02172088: .word gPlayerControl _0217208c: .word 0x0000059a _02172090: .word gAdventureFlags _02172094: .word 0x00000666 _02172098: .word 0x00000333 _0217209c: .word data_027e0d38 -_021720a0: .word data_02050f54 +_021720a0: .word gSinCosTable _021720a4: .word 0xffffb8e4 _021720a8: .word 0x000002e1 _021720ac: .word 0x50574253 -_021720b0: .word data_027e0d0c +_021720b0: .word gVec3p_ZERO _021720b4: .word 0x00001a44 _021720b8: .word 0x000004cd _021720bc: .word 0x000002d5 @@ -5939,7 +5939,7 @@ func_ov23_02172434: ; 0x02172434 sub sp, sp, #0x38 mov r4, r0 add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev ldr r3, [r4, #0x3c] cmp r3, #0 blt _021724f8 @@ -6253,12 +6253,12 @@ func_ov23_0217282c: ; 0x0217282c mov r1, r0 add r0, r1, #0x1a4 ldr ip, _02172844 ; =func_ov00_020cd0a8 - ldr r2, _02172848 ; =data_027e0f94 + ldr r2, _02172848 ; =gPlayerPos add r0, r0, #0x400 bx ip .align 2, 0 _02172844: .word func_ov00_020cd0a8 -_02172848: .word data_027e0f94 +_02172848: .word gPlayerPos arm_func_end func_ov23_0217282c .global func_ov23_0217284c @@ -6266,14 +6266,14 @@ _02172848: .word data_027e0f94 func_ov23_0217284c: ; 0x0217284c ldr ip, _02172868 ; =func_ov00_020cd120 add r0, r0, #0x1a4 - ldr r1, _0217286c ; =data_027e0f94 + ldr r1, _0217286c ; =gPlayerPos add r0, r0, #0x400 mov r2, #0x77 mov r3, #0x2bc bx ip .align 2, 0 _02172868: .word func_ov00_020cd120 -_0217286c: .word data_027e0f94 +_0217286c: .word gPlayerPos arm_func_end func_ov23_0217284c .global func_ov23_02172870 @@ -6375,12 +6375,12 @@ func_ov23_02172928: ; 0x02172928 add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _02172990 ; =data_027e0f90 + ldr r0, _02172990 ; =gPlayer ldr r2, _02172994 ; =0x0000099a ldr r0, [r0] mov r1, r3 str r2, [sp, #0xc] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _02172984 mov r0, r4 @@ -6394,7 +6394,7 @@ _02172984: add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_02172990: .word data_027e0f90 +_02172990: .word gPlayer _02172994: .word 0x0000099a arm_func_end func_ov23_02172928 @@ -6410,7 +6410,7 @@ func_ov23_02172998: ; 0x02172998 add r5, sp, #0x1c ldmia r3, {r0, r1, r2} stmia r5, {r0, r1, r2} - ldr r0, _02172b08 ; =data_027e0fe4 + ldr r0, _02172b08 ; =gActorManager ldr r5, _02172b0c ; =0x00000666 ldr r1, [r0] ldr r2, _02172b10 ; =0x424f4d42 @@ -6421,7 +6421,7 @@ func_ov23_02172998: ; 0x02172998 mvn r0, #0 cmp r1, r0 beq _02172a44 - ldr r0, _02172b08 ; =data_027e0fe4 + ldr r0, _02172b08 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6430,7 +6430,7 @@ func_ov23_02172998: ; 0x02172998 bl _ZN5Actor9GetHitboxEP8Cylinder add r0, sp, #0xc add r1, sp, #0x1c - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _02172a44 add r0, r4, #0x48 @@ -6498,7 +6498,7 @@ _02172ae4: add sp, sp, #0x2c ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_02172b08: .word data_027e0fe4 +_02172b08: .word gActorManager _02172b0c: .word 0x00000666 _02172b10: .word 0x424f4d42 _02172b14: .word gMapManager @@ -6510,11 +6510,11 @@ func_ov23_02172b18: ; 0x02172b18 stmdb sp!, {r4, lr} mov r4, r0 bl func_ov23_02173014 - ldr r0, _02172b5c ; =data_027e0f90 + ldr r0, _02172b5c ; =gPlayer add r1, r4, #0x184 ldr r0, [r0] add r1, r1, #0x400 - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _02172b54 mov r0, r4 @@ -6526,7 +6526,7 @@ _02172b54: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02172b5c: .word data_027e0f90 +_02172b5c: .word gPlayer arm_func_end func_ov23_02172b18 .global func_ov23_02172b60 @@ -6549,7 +6549,7 @@ func_ov23_02172b60: ; 0x02172b60 func_ov23_02172b88: ; 0x02172b88 stmdb sp!, {r4, lr} sub sp, sp, #0x48 - ldr r0, _02172bf4 ; =data_027e0fe4 + ldr r0, _02172bf4 ; =gActorManager mov r2, #0 ldr r4, _02172bf8 ; =_ZTV11FilterActor add r3, sp, #0x34 @@ -6568,14 +6568,14 @@ func_ov23_02172b88: ; 0x02172b88 str r2, [r3] str r2, [r3, #4] str r2, [r3, #8] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #4 movle r0, #1 movgt r0, #0 add sp, sp, #0x48 ldmia sp!, {r4, pc} .align 2, 0 -_02172bf4: .word data_027e0fe4 +_02172bf4: .word gActorManager _02172bf8: .word _ZTV11FilterActor _02172bfc: .word 0x424f4d42 arm_func_end func_ov23_02172b88 @@ -6891,7 +6891,7 @@ func_ov23_02173014: ; 0x02173014 ldmia r1, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r0, _0217311c ; =0x00000ccd - ldr r4, _02173120 ; =data_02050f54 + ldr r4, _02173120 ; =gSinCosTable str r0, [r3, #0x590] ldrh r1, [r3, #0x78] ldr r0, [r3, #0x48] @@ -6951,7 +6951,7 @@ func_ov23_02173014: ; 0x02173014 .align 2, 0 _02173118: .word data_ov23_02179500 _0217311c: .word 0x00000ccd -_02173120: .word data_02050f54 +_02173120: .word gSinCosTable arm_func_end func_ov23_02173014 .global func_ov23_02173124 @@ -6963,7 +6963,7 @@ func_ov23_02173124: ; 0x02173124 bl func_ov23_02173014 ldrh r0, [r6, #0x78] mov r2, #0 - ldr r1, _021734c8 ; =data_02050f54 + ldr r1, _021734c8 ; =gSinCosTable mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 @@ -7014,7 +7014,7 @@ _021731ec: add r5, r5, #8 cmp r5, r0 blo _021731ec - ldr r0, _021734d8 ; =data_027e0fe4 + ldr r0, _021734d8 ; =gActorManager mov r3, #0 ldr r0, [r0] add r5, sp, #0x44 @@ -7024,7 +7024,7 @@ _021731ec: str r3, [sp, #0x34] str r5, [sp, #0x2c] str r4, [sp, #0x30] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x34] mov r5, #0 cmp r0, #0 @@ -7039,7 +7039,7 @@ _021731ec: sub r8, r0, #0x400 mov r9, r8 _02173260: - ldr r0, _021734d8 ; =data_027e0fe4 + ldr r0, _021734d8 ; =gActorManager ldr r1, [sp, #0x2c] ldr r0, [r0] add r1, r1, r7 @@ -7050,7 +7050,7 @@ _02173260: ldr r0, [sp, #0xc] add r1, sp, #0x1c add r0, r0, #0x400 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _02173330 ldrh r1, [r6, #0x78] @@ -7058,7 +7058,7 @@ _02173260: add r0, r4, #0x48 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 - ldr r1, _021734c8 ; =data_02050f54 + ldr r1, _021734c8 ; =gSinCosTable mov r2, r3, lsl #0x1 ldrsh r2, [r1, r2] add r1, r1, r3, lsl #1 @@ -7146,7 +7146,7 @@ _02173388: bl func_ov14_0212de90 cmp r0, #0 beq _021734a8 - ldr r0, _021734d8 ; =data_027e0fe4 + ldr r0, _021734d8 ; =gActorManager add r1, sp, #0x14 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -7155,7 +7155,7 @@ _02173388: ldrh r1, [r6, #0x78] mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 - ldr r1, _021734c8 ; =data_02050f54 + ldr r1, _021734c8 ; =gSinCosTable mov r2, r3, lsl #0x1 ldrsh ip, [r1, r2] add r2, r1, r3, lsl #1 @@ -7199,11 +7199,11 @@ _021734a8: add sp, sp, #0x10c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_021734c8: .word data_02050f54 +_021734c8: .word gSinCosTable _021734cc: .word data_027e0ffc _021734d0: .word _ZTV11FilterActor _021734d4: .word 0x424f4d42 -_021734d8: .word data_027e0fe4 +_021734d8: .word gActorManager _021734dc: .word 0x00000733 _021734e0: .word gMapManager arm_func_end func_ov23_02173124 @@ -7266,7 +7266,7 @@ _0217356c: _021735ac: ldr r0, [r5, #4] ldr r1, [r5, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r4, #0x78] mov r0, r0, lsl #0x10 ldr r1, _021738a0 ; =0xffff8001 @@ -7303,7 +7303,7 @@ _0217362c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] - ldr r3, _021738b0 ; =data_02050f54 + ldr r3, _021738b0 ; =gSinCosTable ldr lr, [sp, #8] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -7390,7 +7390,7 @@ _0217375c: cmpne r0, #0xd beq _02173890 ldrh r3, [r4, #0x78] - ldr r5, _021738b0 ; =data_02050f54 + ldr r5, _021738b0 ; =gSinCosTable mov r0, #0x800 mov r3, r3, asr #0x4 mov r7, r3, lsl #0x1 @@ -7465,7 +7465,7 @@ _021738a0: .word 0xffff8001 _021738a4: .word 0x00006aab _021738a8: .word 0x41525257 _021738ac: .word data_ov23_0217950c -_021738b0: .word data_02050f54 +_021738b0: .word gSinCosTable _021738b4: .word data_027e0ffc _021738b8: .word 0x424f4d42 _021738bc: .word 0x00000273 @@ -8076,7 +8076,7 @@ _02174120: mov r1, #1 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldr r0, _021741ac ; =gMapManager ldr r0, [r0] bl _ZN10MapManager18func_ov00_02084740Ev @@ -8137,7 +8137,7 @@ func_ov23_02174204: ; 0x02174204 sub sp, sp, #0x44 mov r5, r0 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -8167,7 +8167,7 @@ func_ov23_02174204: ; 0x02174204 addlt sp, sp, #0x44 movlt r0, #0 ldmltia sp!, {r4, r5, r6, r7, pc} - ldr r0, _02174378 ; =data_027e0fe4 + ldr r0, _02174378 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8200,7 +8200,7 @@ func_ov23_02174204: ; 0x02174204 add r0, r5, #1 mov r3, r0, lsl #0x1 ldr r2, _02174384 ; =0x66666667 - ldr ip, _02174388 ; =data_02050f54 + ldr ip, _02174388 ; =gSinCosTable mov r1, r5, lsl #0x1 ldrsh r5, [ip, r1] mov r0, lr, lsr #0x1f @@ -8227,11 +8227,11 @@ func_ov23_02174204: ; 0x02174204 .align 2, 0 _02174370: .word data_027e0fe8 _02174374: .word 0x424f4d42 -_02174378: .word data_027e0fe4 +_02174378: .word gActorManager _0217437c: .word data_027e0764 _02174380: .word 0x00001801 _02174384: .word 0x66666667 -_02174388: .word data_02050f54 +_02174388: .word gSinCosTable _0217438c: .word 0x0000047b arm_func_end func_ov23_02174204 @@ -8744,7 +8744,7 @@ _021749f8: cmp r0, #0 beq _02174bbc add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] @@ -8759,7 +8759,7 @@ _021749f8: ldmia r0, {r0, r1, r2} str r3, [sp, #0x44] ldr r3, [r5, #0x1c] - ldr ip, _02174d14 ; =data_02050f54 + ldr ip, _02174d14 ; =gSinCosTable ldrsh r7, [r3, #0x78] mov r3, #0 sub r3, r3, #1 @@ -8828,7 +8828,7 @@ _021749f8: mvn r0, #0 cmp r1, r0 beq _02174bbc - ldr r0, _02174d20 ; =data_027e0fe4 + ldr r0, _02174d20 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8945,10 +8945,10 @@ _02174d04: .word 0x00000279 _02174d08: .word 0x00000276 _02174d0c: .word 0x00000275 _02174d10: .word data_ov23_02179640 -_02174d14: .word data_02050f54 +_02174d14: .word gSinCosTable _02174d18: .word data_027e0fe8 _02174d1c: .word 0x41525257 -_02174d20: .word data_027e0fe4 +_02174d20: .word gActorManager _02174d24: .word 0x00000277 arm_func_end func_ov23_02174718 @@ -9033,7 +9033,7 @@ func_ov23_02174de0: ; 0x02174de0 str r4, [sp, #0x30] str lr, [sp, #0x34] str ip, [sp, #0x38] - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0x3c ldmia sp!, {r4, r5, pc} arm_func_end func_ov23_02174de0 @@ -9295,7 +9295,7 @@ func_ov23_021750e0: ; 0x021750e0 mov r1, #0 str r0, [r4, #0x194] ldr r2, [r4, #0xc] - ldr r0, _02175174 ; =data_027e0fc8 + ldr r0, _02175174 ; =gPlayerLink str r2, [r4, #0x198] strb r1, [r4, #0x1c8] ldr r0, [r0] @@ -9306,7 +9306,7 @@ func_ov23_021750e0: ; 0x021750e0 ldmia sp!, {r4, pc} .align 2, 0 _02175170: .word 0x00000666 -_02175174: .word data_027e0fc8 +_02175174: .word gPlayerLink arm_func_end func_ov23_021750e0 .global func_ov23_02175178 @@ -9351,7 +9351,7 @@ _021751cc: b _02175328 _02175200: add r0, r5, #0x100 - ldr r2, _02175338 ; =data_027e0fc8 + ldr r2, _02175338 ; =gPlayerLink ldrsh r1, [r0, #0x6e] ldr r0, [r2] bl func_ov00_020bb5f0 @@ -9435,7 +9435,7 @@ _02175328: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02175334: .word data_027e103c -_02175338: .word data_027e0fc8 +_02175338: .word gPlayerLink _0217533c: .word data_ov23_0217a62c _02175340: .word data_ov23_0217a61c _02175344: .word gAdventureFlags @@ -9473,7 +9473,7 @@ func_ov23_02175384: ; 0x02175384 add r0, r6, #0x100 str r2, [r6, #0x54] ldr r3, [r6, #0x4c] - ldr r2, _02175708 ; =data_027e0fc8 + ldr r2, _02175708 ; =gPlayerLink str r3, [r6, #0x58] ldr r3, [r6, #0x50] mov r5, r1 @@ -9553,7 +9553,7 @@ _021754bc: mov r0, r6 bl func_ov23_02175b04 add r0, r6, #0x100 - ldr r2, _02175708 ; =data_027e0fc8 + ldr r2, _02175708 ; =gPlayerLink ldrsh r1, [r0, #0x6e] ldr r0, [r2] bl func_ov00_020bc48c @@ -9572,20 +9572,20 @@ _021754bc: add r2, sp, #0 ldr r1, [r0, #0x20] mov r0, r6 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _021755b8 ldr r1, [sp] add r0, r6, #0x100 ldrb r2, [r1, #0x124] ldrsh r1, [r0, #0x6e] - ldr r3, _02175708 ; =data_027e0fc8 + ldr r3, _02175708 ; =gPlayerLink rsb r0, r2, #0 mov r2, r0, lsl #0x10 ldr r0, [r3] mov r2, r2, asr #0x10 bl func_ov00_020bc494 - ldr r0, _02175708 ; =data_027e0fc8 + ldr r0, _02175708 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc4ac ldr r1, [sp] @@ -9595,7 +9595,7 @@ _021754bc: ldr r1, [r1, #0x50] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r6, #0x78] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -9706,7 +9706,7 @@ _021756d4: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02175708: .word data_027e0fc8 +_02175708: .word gPlayerLink _0217570c: .word 0x66666667 _02175710: .word gAdventureFlags _02175714: .word data_027e077c @@ -9757,7 +9757,7 @@ _02175760: str r0, [r6, #0x168] _021757b4: add r0, r6, #0x100 - ldr r2, _02175874 ; =data_027e0fc8 + ldr r2, _02175874 ; =gPlayerLink ldrsh r1, [r0, #0x6e] ldr r0, [r2] bl func_ov00_020bb5f0 @@ -9769,7 +9769,7 @@ _021757b4: cmp r0, #1 bne _02175814 add r0, r6, #0x100 - ldr r2, _02175874 ; =data_027e0fc8 + ldr r2, _02175874 ; =gPlayerLink ldrsh r1, [r0, #0x6e] ldr r0, [r2] bl func_ov00_020bc48c @@ -9807,7 +9807,7 @@ _02175844: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02175870: .word gAdventureFlags -_02175874: .word data_027e0fc8 +_02175874: .word gPlayerLink arm_func_end func_ov23_0217571c .global func_ov23_02175878 @@ -9839,7 +9839,7 @@ _021758c0: mov r0, r4 mov r1, #0 str r2, [r4, #0xa0] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} .align 2, 0 _021758e4: .word data_ov23_0217acac @@ -9863,7 +9863,7 @@ func_ov23_021758f8: ; 0x021758f8 arm_func_start func_ov23_0217590c func_ov23_0217590c: ; 0x0217590c stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02175970 ; =data_027e0f90 + ldr r2, _02175970 ; =gPlayer mov r5, r0 ldr r0, [r2] mov r4, r1 @@ -9874,7 +9874,7 @@ func_ov23_0217590c: ; 0x0217590c cmpne r0, #5 ldmeqia sp!, {r3, r4, r5, pc} add r0, r5, #0x100 - ldr r2, _02175974 ; =data_027e0fc8 + ldr r2, _02175974 ; =gPlayerLink ldrsh r1, [r0, #0x6e] ldr r0, [r2] bl func_ov00_020bb5f0 @@ -9888,8 +9888,8 @@ func_ov23_0217590c: ; 0x0217590c blx ip ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02175970: .word data_027e0f90 -_02175974: .word data_027e0fc8 +_02175970: .word gPlayer +_02175974: .word gPlayerLink arm_func_end func_ov23_0217590c .global func_ov23_02175978 @@ -9908,7 +9908,7 @@ func_ov23_02175978: ; 0x02175978 addeq sp, sp, #0x20 ldmeqia sp!, {r4, r5, r6, pc} add r0, r6, #0x100 - ldr r2, _02175a60 ; =data_027e0fc8 + ldr r2, _02175a60 ; =gPlayerLink ldrsh r1, [r0, #0x6e] ldr r0, [r2] bl func_ov00_020bb5f0 @@ -9944,7 +9944,7 @@ func_ov23_02175978: ; 0x02175978 str r3, [sp, #8] ldr r3, [r6, #0x50] str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 ldr r3, [r0] mov r1, r5 @@ -9954,7 +9954,7 @@ func_ov23_02175978: ; 0x02175978 add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02175a60: .word data_027e0fc8 +_02175a60: .word gPlayerLink arm_func_end func_ov23_02175978 .global func_ov23_02175a64 @@ -10017,7 +10017,7 @@ func_ov23_02175b04: ; 0x02175b04 add r0, r4, #0x48 add r1, r4, #0x15c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r4, pc} .align 2, 0 _02175b3c: .word data_027e0ff4 @@ -10081,7 +10081,7 @@ _02175be0: _02175bec: mov r0, r5 mov r1, r4 - bl _ZN5Actor8vfunc_48Ei + bl _ZN5Actor8vfunc_48EP9Knockback ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02175bfc: .word 0x424d5459 @@ -10148,7 +10148,7 @@ func_ov23_02175c54: ; 0x02175c54 mov r3, r1 add r0, r4, #0xc0 str r2, [sp] - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -10213,7 +10213,7 @@ func_ov23_02175d3c: ; 0x02175d3c str r6, [sp, #0x3c] str r5, [sp, #0x40] str r3, [sp, #0x44] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02175efc ; =data_ov23_0217966c add r3, sp, #0x60 ldmia r0, {r0, r1, r2} @@ -10264,7 +10264,7 @@ func_ov23_02175d3c: ; 0x02175d3c str r6, [sp, #0x30] str r5, [sp, #0x34] str r3, [sp, #0x38] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r6 str r0, [sp, #0x24] mov r0, #0x1000 @@ -10274,7 +10274,7 @@ func_ov23_02175d3c: ; 0x02175d3c str r1, [sp, #0x2c] add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov ip, r5 bic r0, ip, #0x1f orr r0, r0, #7 @@ -10543,11 +10543,11 @@ func_ov23_02176190: ; 0x02176190 ldmeqia sp!, {r4, pc} cmp r1, #0x1c bne _02176204 - ldr r0, _0217620c ; =data_027e0fc8 + ldr r0, _0217620c ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 - ldr r0, _0217620c ; =data_027e0fc8 + ldr r0, _0217620c ; =gPlayerLink moveq r1, #1 ldr r0, [r0] movne r1, #0 @@ -10566,7 +10566,7 @@ _02176204: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_0217620c: .word data_027e0fc8 +_0217620c: .word gPlayerLink _02176210: .word data_027e103c arm_func_end func_ov23_02176190 @@ -10701,9 +10701,9 @@ func_ov23_021763c0: ; 0x021763c0 beq _021763f4 cmp r1, #2 bne _02176440 - ldr r0, _0217648c ; =data_027e0fc8 + ldr r0, _0217648c ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _02176440 _021763f4: @@ -10747,7 +10747,7 @@ _02176440: add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217648c: .word data_027e0fc8 +_0217648c: .word gPlayerLink arm_func_end func_ov23_021763c0 .global func_ov23_02176490 @@ -10866,7 +10866,7 @@ func_ov23_021765c4: ; 0x021765c4 add r0, r4, #0x18 add r1, sp, #0x68 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrsh r0, [r4, #0xc] bl func_0202bbbc cmp r0, #3 @@ -10903,7 +10903,7 @@ _02176624: str ip, [sp, #0x44] str r5, [sp, #0x48] str r3, [sp, #0x4c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x50 ldr ip, _021767ac ; =0x0000059a mov r5, #0x3000 @@ -10913,7 +10913,7 @@ _02176624: str ip, [sp, #0x38] str r5, [sp, #0x3c] str r3, [sp, #0x40] - bl func_01ff9bc4 + bl Vec3p_Add b _02176744 _021766b8: ldr r1, [r4, #0x18] @@ -10940,7 +10940,7 @@ _021766b8: str lr, [sp, #0x2c] str ip, [sp, #0x30] str r3, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x50 ldr r3, _021767ac ; =0x0000059a mov lr, #0x1000 @@ -10950,7 +10950,7 @@ _021766b8: str lr, [sp, #0x20] str ip, [sp, #0x24] str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add _02176744: add r0, sp, #0x5c add r3, sp, #8 @@ -11293,7 +11293,7 @@ func_ov23_02176bc0: ; 0x02176bc0 addeq sp, sp, #0x60 ldmeqia sp!, {r4, pc} ldrh r1, [r4, #0xc] - ldr r3, _02176ca8 ; =data_02050f54 + ldr r3, _02176ca8 ; =gSinCosTable add r0, sp, #0x3c mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11304,7 +11304,7 @@ func_ov23_02176bc0: ; 0x02176bc0 ldrsh r2, [r3, r2] blx func_01ff8214 ldrh r1, [r4, #0x74] - ldr r3, _02176ca8 ; =data_02050f54 + ldr r3, _02176ca8 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11332,7 +11332,7 @@ func_ov23_02176bc0: ; 0x02176bc0 add r0, sp, #0xc add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x78 ldr r3, [r0] add r1, sp, #0x18 @@ -11342,7 +11342,7 @@ func_ov23_02176bc0: ; 0x02176bc0 add sp, sp, #0x60 ldmia sp!, {r4, pc} .align 2, 0 -_02176ca8: .word data_02050f54 +_02176ca8: .word gSinCosTable arm_func_end func_ov23_02176bc0 .global func_ov23_02176cac @@ -12489,7 +12489,7 @@ func_ov23_02177aa4: ; 0x02177aa4 sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02177b44 ; =data_02050f54 + ldr r3, _02177b44 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -12526,7 +12526,7 @@ func_ov23_02177aa4: ; 0x02177aa4 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02177b44: .word data_02050f54 +_02177b44: .word gSinCosTable _02177b48: .word 0x00002666 arm_func_end func_ov23_02177aa4 @@ -12571,7 +12571,7 @@ func_ov23_02177ba0: ; 0x02177ba0 ldr r6, [r4, #8] mov r5, r1 mov r0, r6 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv add r2, r6, #0x2c mov r1, r0, lsl #0x1 add r3, r2, r0, lsl #1 @@ -12592,12 +12592,12 @@ func_ov23_02177ba0: ; 0x02177ba0 bl _ZN13LinkStateBase19GetCurrentCharacterEv cmp r0, #1 bne _02177d24 - ldr r1, _02177e14 ; =data_027e0fe4 + ldr r1, _02177e14 ; =gActorManager ldr r2, _02177e18 ; =0x504c444d ldr r1, [r1] add r0, sp, #0x10 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02177e14 ; =data_027e0fe4 + ldr r0, _02177e14 ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -12613,12 +12613,12 @@ func_ov23_02177ba0: ; 0x02177ba0 str r0, [sp, #0x74] b _02177df0 _02177c5c: - ldr r1, _02177e14 ; =data_027e0fe4 + ldr r1, _02177e14 ; =gActorManager ldr r2, _02177e1c ; =0x50574253 ldr r1, [r1] add r0, sp, #8 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02177e14 ; =data_027e0fe4 + ldr r0, _02177e14 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -12639,7 +12639,7 @@ _02177c5c: str r3, [sp, #0x1c] ldr r3, [lr, #0x50] str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02177e20 ; =data_027e0fd4 mov lr, #0 ldr r0, [r0] @@ -12653,7 +12653,7 @@ _02177c5c: str r1, [sp, #0x58] mov r1, r3 str lr, [sp, #0x50] - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _02177df0 ldr r0, [r4, #0x14] @@ -12664,12 +12664,12 @@ _02177c5c: str r0, [sp, #0x74] b _02177df0 _02177d24: - ldr r1, _02177e14 ; =data_027e0fe4 + ldr r1, _02177e14 ; =gActorManager ldr r2, _02177e1c ; =0x50574253 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02177e14 ; =data_027e0fe4 + ldr r0, _02177e14 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -12727,7 +12727,7 @@ _02177df0: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02177e10: .word gMapManager -_02177e14: .word data_027e0fe4 +_02177e14: .word gActorManager _02177e18: .word 0x504c444d _02177e1c: .word 0x50574253 _02177e20: .word data_027e0fd4 @@ -12798,14 +12798,14 @@ func_ov23_02177e90: ; 0x02177e90 mov r6, r0 bl func_ov23_02177e84 ldr r2, _02178040 ; =gMapManager - ldr r1, _02178044 ; =data_027e0f94 + ldr r1, _02178044 ; =gPlayerPos ldr r8, [r2] mov r5, r0 ldr r1, [r1] mov r0, r8 mov r7, #1 bl _ZN10MapManager18func_ov00_020839d4Ev - ldr r1, _02178044 ; =data_027e0f94 + ldr r1, _02178044 ; =gPlayerPos mov r4, r0 ldr r1, [r1, #8] mov r0, r8 @@ -12824,7 +12824,7 @@ _02177f10: ; jump table b _02177f74 ; case 2 b _02177f9c ; case 3 _02177f20: - ldr r0, _02178048 ; =data_027e0fa0 + ldr r0, _02178048 ; =gPlayerVel rsb r1, r6, #0 str r1, [r0, #8] ldr r1, [r0] @@ -12836,7 +12836,7 @@ _02177f20: str r2, [r0] b _02177fcc _02177f4c: - ldr r0, _02178048 ; =data_027e0fa0 + ldr r0, _02178048 ; =gPlayerVel str r6, [r0] ldr r1, [r0, #8] smull r3, r2, r1, r5 @@ -12847,7 +12847,7 @@ _02177f4c: str r2, [r0, #8] b _02177fcc _02177f74: - ldr r0, _02178048 ; =data_027e0fa0 + ldr r0, _02178048 ; =gPlayerVel str r6, [r0, #8] ldr r1, [r0] smull r3, r2, r1, r5 @@ -12858,7 +12858,7 @@ _02177f74: str r2, [r0] b _02177fcc _02177f9c: - ldr r0, _02178048 ; =data_027e0fa0 + ldr r0, _02178048 ; =gPlayerVel rsb r1, r6, #0 str r1, [r0] ldr r1, [r0, #8] @@ -12879,7 +12879,7 @@ _02177fcc: bne _02178018 mov r4, #1 ldr r0, _0217804c ; =data_027e0ffc - ldr r2, _02178044 ; =data_027e0f94 + ldr r2, _02178044 ; =gPlayerPos rsb r1, r4, #0x400 mov r3, #0 strb r4, [r9, #0x80] @@ -12894,7 +12894,7 @@ _02178010: strb r0, [r9, #0x80] _02178018: ldr r0, _02178054 ; =data_027e0fcc - ldr r1, _02178048 ; =data_027e0fa0 + ldr r1, _02178048 ; =gPlayerVel ldr r0, [r0] mov r2, r7 bl func_ov23_021707e0 @@ -12906,8 +12906,8 @@ _02178030: .align 2, 0 _0217803c: .word data_027e0d38 _02178040: .word gMapManager -_02178044: .word data_027e0f94 -_02178048: .word data_027e0fa0 +_02178044: .word gPlayerPos +_02178048: .word gPlayerVel _0217804c: .word data_027e0ffc _02178050: .word data_027e0fd4 _02178054: .word data_027e0fcc @@ -12973,7 +12973,7 @@ _0217811c: ldmia sp!, {r4, pc} _02178124: mov r0, r4 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _0217814c mov r0, r4 @@ -13007,13 +13007,13 @@ _02178170: .word func_01fffcd8 func_ov23_02178174: ; 0x02178174 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x28 - ldr r1, _02178308 ; =data_027e0fe4 + ldr r1, _02178308 ; =gActorManager mov r5, r0 ldr r1, [r1] ldr r2, _0217830c ; =0x504c444d add r0, sp, #4 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02178308 ; =data_027e0fe4 + ldr r0, _02178308 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -13026,11 +13026,11 @@ func_ov23_02178174: ; 0x02178174 bl func_020385b8 bl _ZN17LinkStateInteract18func_ov00_020ab6c8Ev mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv str r0, [sp] mov r0, r4 - ldr r1, _02178310 ; =data_027e0f94 - ldr r2, _02178314 ; =data_027e0fac + ldr r1, _02178310 ; =gPlayerPos + ldr r2, _02178314 ; =gPlayerAngle add r3, r5, #8 bl func_ov23_02175a64 mov r4, r0 @@ -13086,13 +13086,13 @@ _02178298: ldr r2, [r0] ldr r0, [r1] ldr r2, [r2, #0xc] - ldr r1, _02178310 ; =data_027e0f94 + ldr r1, _02178310 ; =gPlayerPos blx func_ov00_020b4c4c bl func_ov23_02178344 mov r1, #0 strb r1, [r0, #0xb] - ldr r0, _02178328 ; =data_027e0d0c - ldr r2, _0217832c ; =data_027e0fa0 + ldr r0, _02178328 ; =gVec3p_ZERO + ldr r2, _0217832c ; =gPlayerVel ldr r3, [r0] ldr r1, [r0, #4] str r3, [r2] @@ -13110,37 +13110,37 @@ _02178298: add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02178308: .word data_027e0fe4 +_02178308: .word gActorManager _0217830c: .word 0x504c444d -_02178310: .word data_027e0f94 -_02178314: .word data_027e0fac +_02178310: .word gPlayerPos +_02178314: .word gPlayerAngle _02178318: .word gMapManager _0217831c: .word data_027e0f64 _02178320: .word data_027e0fcc _02178324: .word data_027e0fd4 -_02178328: .word data_027e0d0c -_0217832c: .word data_027e0fa0 +_02178328: .word gVec3p_ZERO +_0217832c: .word gPlayerVel _02178330: .word data_ov00_020eec9c arm_func_end func_ov23_02178174 .global func_ov23_02178334 arm_func_start func_ov23_02178334 func_ov23_02178334: ; 0x02178334 - ldr ip, _02178340 ; =func_01fffcec + ldr ip, _02178340 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #7 bx ip .align 2, 0 -_02178340: .word func_01fffcec +_02178340: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov23_02178334 .global func_ov23_02178344 arm_func_start func_ov23_02178344 func_ov23_02178344: ; 0x02178344 - ldr ip, _02178350 ; =func_01fffcec + ldr ip, _02178350 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02178350: .word func_01fffcec +_02178350: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov23_02178344 .global func_ov23_02178354 @@ -13148,37 +13148,37 @@ _02178350: .word func_01fffcec func_ov23_02178354: ; 0x02178354 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r1, _02178400 ; =data_027e0fe4 + ldr r1, _02178400 ; =gActorManager mov r5, r0 ldr r1, [r1] ldr r2, _02178404 ; =0x504c444d add r0, sp, #4 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02178400 ; =data_027e0fe4 + ldr r0, _02178400 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r4, r0 mov r0, r5 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv str r0, [sp] - ldr r1, _02178408 ; =data_027e0f94 - ldr r2, _0217840c ; =data_027e0fac + ldr r1, _02178408 ; =gPlayerPos + ldr r2, _0217840c ; =gPlayerAngle mov r0, r4 add r3, r5, #8 bl func_ov23_02175a64 ldr r2, _02178410 ; =data_027e0fcc ldr r0, _02178414 ; =data_027e0fd4 ldr r2, [r2] - ldr r1, _02178408 ; =data_027e0f94 + ldr r1, _02178408 ; =gPlayerPos ldr r0, [r0] ldr r2, [r2, #0xc] blx func_ov00_020b4c4c bl func_ov23_02178344 mov r1, #0 strb r1, [r0, #0xb] - ldr r3, _02178418 ; =data_027e0d0c - ldr r2, _0217841c ; =data_027e0fa0 + ldr r3, _02178418 ; =gVec3p_ZERO + ldr r2, _0217841c ; =gPlayerVel ldr lr, [r3] ldr ip, [r3, #4] str lr, [r2] @@ -13190,14 +13190,14 @@ func_ov23_02178354: ; 0x02178354 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02178400: .word data_027e0fe4 +_02178400: .word gActorManager _02178404: .word 0x504c444d -_02178408: .word data_027e0f94 -_0217840c: .word data_027e0fac +_02178408: .word gPlayerPos +_0217840c: .word gPlayerAngle _02178410: .word data_027e0fcc _02178414: .word data_027e0fd4 -_02178418: .word data_027e0d0c -_0217841c: .word data_027e0fa0 +_02178418: .word gVec3p_ZERO +_0217841c: .word gPlayerVel arm_func_end func_ov23_02178354 .global func_ov23_02178420 @@ -13213,12 +13213,12 @@ func_ov23_02178420: ; 0x02178420 cmp r1, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r4, r5, pc} - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 addne sp, sp, #0x2c ldmneia sp!, {r4, r5, pc} ldr r2, [r5] - ldr r0, _02178610 ; =data_027e0fa0 + ldr r0, _02178610 ; =gPlayerVel ldr r1, _02178614 ; =data_027e0fd4 str r2, [r0] ldr r2, [r5, #4] @@ -13333,7 +13333,7 @@ _021785bc: ldmia sp!, {r4, r5, pc} .align 2, 0 _0217860c: .word data_027e0fd8 -_02178610: .word data_027e0fa0 +_02178610: .word gPlayerVel _02178614: .word data_027e0fd4 _02178618: .word data_ov14_02153e4c _0217861c: .word func_ov23_02177e60 @@ -13359,11 +13359,11 @@ func_ov23_02178630: ; 0x02178630 ldr r0, [r0, #0x50] cmp r0, #0 bgt _0217867c - ldr r1, _02178718 ; =data_027e0fa0 + ldr r1, _02178718 ; =gPlayerVel ldr r0, [r1] ldr r1, [r1, #8] - bl func_01ffa0f4 - ldr r1, _0217871c ; =data_027e0fac + bl Atan2 + ldr r1, _0217871c ; =gPlayerAngle strh r0, [r1] _0217867c: ldr r0, _02178714 ; =data_027e0fd4 @@ -13371,7 +13371,7 @@ _0217867c: ldrb r0, [r0, #0x56] cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02178718 ; =data_027e0fa0 + ldr r0, _02178718 ; =gPlayerVel ldr r0, [r0, #4] cmp r0, #0 ldmgtia sp!, {r4, pc} @@ -13387,8 +13387,8 @@ _0217867c: ldrb r0, [r4, #0x57] cmp r0, #0 beq _021786f8 - ldr r1, _02178720 ; =data_027e0d0c - ldr r0, _02178718 ; =data_027e0fa0 + ldr r1, _02178720 ; =gVec3p_ZERO + ldr r0, _02178718 ; =gPlayerVel ldr r3, [r1] ldr r2, [r1, #4] str r3, [r0] @@ -13398,18 +13398,18 @@ _0217867c: strb ip, [r4, #0x57] ldmia sp!, {r4, pc} _021786f8: - ldr r1, _02178718 ; =data_027e0fa0 + ldr r1, _02178718 ; =gPlayerVel ldr r0, [r1] ldr r1, [r1, #8] - bl func_01ffa0f4 - ldr r1, _0217871c ; =data_027e0fac + bl Atan2 + ldr r1, _0217871c ; =gPlayerAngle strh r0, [r1] ldmia sp!, {r4, pc} .align 2, 0 _02178714: .word data_027e0fd4 -_02178718: .word data_027e0fa0 -_0217871c: .word data_027e0fac -_02178720: .word data_027e0d0c +_02178718: .word gPlayerVel +_0217871c: .word gPlayerAngle +_02178720: .word gVec3p_ZERO arm_func_end func_ov23_02178630 .global func_ov23_02178724 @@ -13685,7 +13685,7 @@ func_ov23_02178ab0: ; 0x02178ab0 mov r0, r4 bl _ZN10MapManager16MapData_vfunc_60Ev mov r7, #0 - ldr r11, _02179018 ; =data_02050f54 + ldr r11, _02179018 ; =gSinCosTable str r0, [sp] mov r8, r7 str r7, [sp, #0x44] @@ -13741,7 +13741,7 @@ _02178b10: ldr r3, [r0, #8] mov r0, r4 str r3, [sp, #0x34] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02179014 ; =gMapManager mov r2, r4 ldr r9, [r0] @@ -13765,7 +13765,7 @@ _02178b10: add r0, sp, #0x44 mov r1, r5 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02178c2c: add r8, r8, #0x4000 add r7, r7, #1 @@ -14025,7 +14025,7 @@ _02178fd8: mov r1, r0 ldr r0, [r1] ldr r1, [r1, #8] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r10 mov r4, r1, asr #0x10 @@ -14037,7 +14037,7 @@ _02178fd8: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02179014: .word gMapManager -_02179018: .word data_02050f54 +_02179018: .word gSinCosTable _0217901c: .word 0x00000333 _02179020: .word data_027e0d38 _02179024: .word 0xfffff99a @@ -15854,7 +15854,7 @@ data_ov23_02179ddc: ; 0x02179ddc .word func_ov14_02144b64 .global data_ov23_02179de0 data_ov23_02179de0: ; 0x02179de0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov23_02179de4 data_ov23_02179de4: ; 0x02179de4 .word func_ov14_02145100 @@ -15884,10 +15884,10 @@ data_ov23_02179e04: ; 0x02179e04 .word func_ov14_02145974 .global data_ov23_02179e08 data_ov23_02179e08: ; 0x02179e08 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov23_02179e0c data_ov23_02179e0c: ; 0x02179e0c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov23_02179e10 data_ov23_02179e10: ; 0x02179e10 .word _ZN5Actor8vfunc_4cEPi @@ -16135,7 +16135,7 @@ data_ov23_02179f48: ; 0x02179f48 .word func_ov14_02144b64 .global data_ov23_02179f4c data_ov23_02179f4c: ; 0x02179f4c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov23_02179f50 data_ov23_02179f50: ; 0x02179f50 .word func_ov23_0216f03c @@ -16165,10 +16165,10 @@ data_ov23_02179f70: ; 0x02179f70 .word func_ov14_02145974 .global data_ov23_02179f74 data_ov23_02179f74: ; 0x02179f74 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov23_02179f78 data_ov23_02179f78: ; 0x02179f78 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov23_02179f7c data_ov23_02179f7c: ; 0x02179f7c .word _ZN5Actor8vfunc_4cEPi @@ -16452,7 +16452,7 @@ data_ov23_0217a0f0: ; 0x0217a0f0 .word func_ov00_020cad30 .global data_ov23_0217a0f4 data_ov23_0217a0f4: ; 0x0217a0f4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov23_0217a0f8 data_ov23_0217a0f8: ; 0x0217a0f8 .word func_ov00_020cb1c0 @@ -16482,7 +16482,7 @@ data_ov23_0217a118: ; 0x0217a118 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov23_0217a11c data_ov23_0217a11c: ; 0x0217a11c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov23_0217a120 data_ov23_0217a120: ; 0x0217a120 .word func_ov23_0216ffe0 @@ -16853,7 +16853,7 @@ data_ov23_0217a310: ; 0x0217a310 .word func_ov14_02136450 .global data_ov23_0217a314 data_ov23_0217a314: ; 0x0217a314 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov23_0217a318 data_ov23_0217a318: ; 0x0217a318 .word func_ov23_021723c4 @@ -16883,10 +16883,10 @@ data_ov23_0217a338: ; 0x0217a338 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov23_0217a33c data_ov23_0217a33c: ; 0x0217a33c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov23_0217a340 data_ov23_0217a340: ; 0x0217a340 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov23_0217a344 data_ov23_0217a344: ; 0x0217a344 .word _ZN5Actor8vfunc_4cEPi @@ -17129,7 +17129,7 @@ data_ov23_0217a480: ; 0x0217a480 .word func_ov00_020cad30 .global data_ov23_0217a484 data_ov23_0217a484: ; 0x0217a484 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov23_0217a488 data_ov23_0217a488: ; 0x0217a488 .word func_ov00_020cb1c0 @@ -17159,7 +17159,7 @@ data_ov23_0217a4a8: ; 0x0217a4a8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov23_0217a4ac data_ov23_0217a4ac: ; 0x0217a4ac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov23_0217a4b0 data_ov23_0217a4b0: ; 0x0217a4b0 .word func_ov23_021734e4 @@ -17551,7 +17551,7 @@ data_ov23_0217a6a8: ; 0x0217a6a8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov23_0217a6ac data_ov23_0217a6ac: ; 0x0217a6ac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov23_0217a6b0 data_ov23_0217a6b0: ; 0x0217a6b0 .word func_ov23_02175b64 @@ -17893,7 +17893,7 @@ data_ov23_0217a870: ; 0x0217a870 .word func_ov23_02176ed8 .global data_ov23_0217a874 data_ov23_0217a874: ; 0x0217a874 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov23_0217a878 data_ov23_0217a878: ; 0x0217a878 .word func_ov14_0215152c @@ -17923,10 +17923,10 @@ data_ov23_0217a898: ; 0x0217a898 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov23_0217a89c data_ov23_0217a89c: ; 0x0217a89c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov23_0217a8a0 data_ov23_0217a8a0: ; 0x0217a8a0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov23_0217a8a4 data_ov23_0217a8a4: ; 0x0217a8a4 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov24.inc b/asm/ov24.inc index ea5f0a8c..7562cd7b 100644 --- a/asm/ov24.inc +++ b/asm/ov24.inc @@ -13,7 +13,7 @@ .extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN10MapManager18func_ov00_02084d24Ecci -.extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi +.extern _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori @@ -29,7 +29,7 @@ .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -60,13 +60,13 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -97,22 +97,22 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02051f54 .extern data_02057200 .extern data_027e0764 .extern data_027e0c68 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0e58 .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -133,18 +133,18 @@ .extern func_01ff8aa0 .extern func_01ff8e84 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9e64 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Axpy +.extern Atan2 .extern func_01ffb7ec .extern func_01ffbf5c -.extern func_01ffec34 +.extern _ZN8Cylinder8OverlapsEPS_ .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_02005dcc .extern func_02007908 .extern func_020079d8 @@ -163,8 +163,8 @@ .extern func_0202b308 .extern func_0202b3bc .extern func_0202b66c -.extern func_0202b864 -.extern func_0202b894 +.extern _ZN12TouchControl13func_0202b864EP5Vec3pic +.extern _ZN12TouchControl13func_0202b894EP5Vec3pic .extern func_0202bbbc .extern func_0202e310 .extern func_0202e58c @@ -173,7 +173,7 @@ .extern func_0204f614 .extern func_0204f754 .extern func_ov00_02079e68 -.extern func_ov00_0207a188 +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern func_ov00_0207a1c8 .extern func_ov00_0207b89c .extern func_ov00_0207c1b0 @@ -261,7 +261,7 @@ .extern func_ov00_020b7d74 .extern func_ov00_020b7e6c .extern func_ov00_020bba28 -.extern func_ov00_020bd304 +.extern _ZN14PlayerLinkBase18func_ov00_020bd304Ev .extern func_ov00_020bd618 .extern func_ov00_020bf008 .extern func_ov00_020c070c @@ -274,7 +274,7 @@ .extern func_ov00_020c0ffc .extern func_ov00_020c10a0 .extern func_ov00_020c10d4 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov24.s b/asm/ov24.s index 692b9dd9..bad082fe 100644 --- a/asm/ov24.s +++ b/asm/ov24.s @@ -62,7 +62,7 @@ func_ov24_0216d6d8: ; 0x0216d6d8 str r2, [sp] add r0, r4, #0x84 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -209,7 +209,7 @@ _0216d914: add r1, sp, #0x18 str r3, [sp, #0x18] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r5, #0x18] ldr r8, [r5, #0x1c] ldr r3, [r5, #0x20] @@ -411,7 +411,7 @@ func_ov24_0216db90: ; 0x0216db90 addeq sp, sp, #0x30 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} ldrh r1, [r10, #0xc] - ldr r3, _0216dca8 ; =data_02050f54 + ldr r3, _0216dca8 ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -475,7 +475,7 @@ _0216dc90: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0216dca8: .word data_02050f54 +_0216dca8: .word gSinCosTable arm_func_end func_ov24_0216db90 .global func_ov24_0216dcac @@ -1826,11 +1826,11 @@ func_ov24_0216ee18: ; 0x0216ee18 mov r2, #8 mov r1, ip beq _0216ee74 - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic mov r1, r0 b _0216ee7c _0216ee74: - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic mov r1, r0 _0216ee7c: mov r0, r1 @@ -2268,9 +2268,9 @@ _0216f40c: ldrb r0, [r4, #0x486] cmp r0, #0 bne _0216f450 - ldr r0, _0216f460 ; =data_027e0fc8 + ldr r0, _0216f460 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 beq _0216f450 mov r0, r4 @@ -2288,7 +2288,7 @@ _0216f450: ldmia sp!, {r4, pc} .align 2, 0 _0216f45c: .word 0x4d55544f -_0216f460: .word data_027e0fc8 +_0216f460: .word gPlayerLink arm_func_end func_ov24_0216f3d8 .global func_ov24_0216f464 @@ -2653,7 +2653,7 @@ func_ov24_0216f88c: ; 0x0216f88c cmp r0, #0 ldmeqia sp!, {r4, pc} ldr r0, [r4, #0x6c] - ldr r3, _0216f9a8 ; =data_02050f54 + ldr r3, _0216f9a8 ; =gSinCosTable add r0, r0, #1 str r0, [r4, #0x6c] ldr r1, [r4, #0x70] @@ -2711,7 +2711,7 @@ _0216f990: ldmia sp!, {r4, pc} .align 2, 0 _0216f9a4: .word 0x00001555 -_0216f9a8: .word data_02050f54 +_0216f9a8: .word gSinCosTable _0216f9ac: .word 0x00000333 _0216f9b0: .word gMapManager arm_func_end func_ov24_0216f88c @@ -2794,7 +2794,7 @@ func_ov24_0216fa3c: ; 0x0216fa3c addeq sp, sp, #0xbc moveq r0, #0 ldmeqia sp!, {r3, r4, pc} - ldr r0, _0216fbc0 ; =data_027e0fc8 + ldr r0, _0216fbc0 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba28 cmp r0, #0 @@ -2817,13 +2817,13 @@ func_ov24_0216fa3c: ; 0x0216fa3c bl _ZN14AdventureFlags18func_Ov00_02097810Ei mov r1, #0 str r1, [r4, #0x6c] - ldr r0, _0216fbc8 ; =data_027e0fe4 + ldr r0, _0216fbc8 ; =gActorManager str r1, [r4, #0x70] ldr r1, [r0] ldr r2, _0216fbcc ; =0x574c4354 add r0, sp, #4 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0216fbc8 ; =data_027e0fe4 + ldr r0, _0216fbc8 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2862,9 +2862,9 @@ _0216fba8: ldmia sp!, {r3, r4, pc} .align 2, 0 _0216fbbc: .word data_027e0f64 -_0216fbc0: .word data_027e0fc8 +_0216fbc0: .word gPlayerLink _0216fbc4: .word gAdventureFlags -_0216fbc8: .word data_027e0fe4 +_0216fbc8: .word gActorManager _0216fbcc: .word 0x574c4354 _0216fbd0: .word gMapManager arm_func_end func_ov24_0216fa3c @@ -2882,7 +2882,7 @@ func_ov24_0216fbd4: ; 0x0216fbd4 mov r0, #0 ldmia sp!, {r4, pc} _0216fbf8: - ldr r0, _0216fc64 ; =data_027e0fe4 + ldr r0, _0216fc64 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -2912,7 +2912,7 @@ _0216fc5c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0216fc64: .word data_027e0fe4 +_0216fc64: .word gActorManager _0216fc68: .word 0x41525257 _0216fc6c: .word 0x5342454d arm_func_end func_ov24_0216fbd4 @@ -2924,7 +2924,7 @@ func_ov24_0216fc70: ; 0x0216fc70 sub sp, sp, #0x48 mov r4, r0 ldrh r1, [r4, #0x62] - ldr r3, _0216fd54 ; =data_02050f54 + ldr r3, _0216fd54 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2978,7 +2978,7 @@ func_ov24_0216fc70: ; 0x0216fc70 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0216fd54: .word data_02050f54 +_0216fd54: .word gSinCosTable _0216fd58: .word 0xfffff333 _0216fd5c: .word 0x00000666 _0216fd60: .word 0xfffffe66 @@ -3182,7 +3182,7 @@ func_ov24_0216ffb8: ; 0x0216ffb8 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc3fc ldmia sp!, {r4, pc} @@ -3309,7 +3309,7 @@ _0217012c: _0217013c: ldr r0, [r2] ldr r1, [r2, #8] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x300 strh r0, [r1, #0x52] add r0, r4, #0x318 @@ -3373,7 +3373,7 @@ func_ov24_021701d8: ; 0x021701d8 cmp r0, #1 bhi _0217023c bl func_ov24_02170458 - ldr r2, _02170444 ; =data_027e0f94 + ldr r2, _02170444 ; =gPlayerPos mov r1, #0x18c mov r3, #0 bl func_ov00_020c070c @@ -3453,7 +3453,7 @@ _021702f0: ldr r1, [r5, #0x50] sub r1, r2, r1 str r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 ldr r0, [r4, #0x14] mov r1, r1, asr #0x10 @@ -3509,7 +3509,7 @@ _021703c4: bl func_ov00_020cb60c cmp r0, #0 beq _02170438 - ldr r2, _02170454 ; =data_027e0d0c + ldr r2, _02170454 ; =gVec3p_ZERO add r0, r5, #0x318 ldr r3, [r2] mov r1, #6 @@ -3529,31 +3529,31 @@ _02170438: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02170444: .word data_027e0f94 +_02170444: .word gPlayerPos _02170448: .word data_027e0ffc _0217044c: .word 0x0000019d _02170450: .word 0x000001bd -_02170454: .word data_027e0d0c +_02170454: .word gVec3p_ZERO arm_func_end func_ov24_021701d8 .global func_ov24_02170458 arm_func_start func_ov24_02170458 func_ov24_02170458: ; 0x02170458 - ldr ip, _02170464 ; =func_01fffcec + ldr ip, _02170464 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02170464: .word func_01fffcec +_02170464: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov24_02170458 .global func_ov24_02170468 arm_func_start func_ov24_02170468 func_ov24_02170468: ; 0x02170468 - ldr ip, _02170474 ; =func_01fffcec + ldr ip, _02170474 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_02170474: .word func_01fffcec +_02170474: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov24_02170468 .global func_ov24_02170478 @@ -3617,7 +3617,7 @@ _02170518: bl func_ov24_0216ffdc b _021705fc _02170550: - ldr r1, _021706a8 ; =data_027e0d0c + ldr r1, _021706a8 ; =gVec3p_ZERO add r0, r5, #0x60 mov r2, r2, lsl #0xc bl func_0202b308 @@ -3638,7 +3638,7 @@ _02170564: bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p cmp r0, #0 beq _021705f8 - ldr r0, _021706ac ; =data_027e0f94 + ldr r0, _021706ac ; =gPlayerPos add lr, sp, #0x20 ldmia r0, {r0, r1, r2} stmia lr, {r0, r1, r2} @@ -3692,7 +3692,7 @@ _021705fc: bne _02170684 add r0, sp, #0 add r1, sp, #0x10 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _02170684 mov r0, r5 @@ -3708,8 +3708,8 @@ _02170684: add sp, sp, #0x2c ldmia sp!, {r4, r5, pc} .align 2, 0 -_021706a8: .word data_027e0d0c -_021706ac: .word data_027e0f94 +_021706a8: .word gVec3p_ZERO +_021706ac: .word gPlayerPos _021706b0: .word data_027e0ffc _021706b4: .word 0x000003a9 arm_func_end func_ov24_02170478 @@ -3717,11 +3717,11 @@ _021706b4: .word 0x000003a9 .global func_ov24_021706b8 arm_func_start func_ov24_021706b8 func_ov24_021706b8: ; 0x021706b8 - ldr ip, _021706c4 ; =func_01fffcec + ldr ip, _021706c4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #8 bx ip .align 2, 0 -_021706c4: .word func_01fffcec +_021706c4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov24_021706b8 .global func_ov24_021706c8 @@ -3962,7 +3962,7 @@ _02170980: bl func_ov24_0216ffb8 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _021709f8 ldr r1, [r4, #0x74] @@ -4010,7 +4010,7 @@ _021709f8: mov r0, #0 str r0, [r4, #0x324] _02170a80: - ldr r0, _02170ca0 ; =data_027e0f94 + ldr r0, _02170ca0 ; =gPlayerPos mov r5, #0 mov r3, #0x1000 add r2, sp, #0 @@ -4018,7 +4018,7 @@ _02170a80: str r5, [sp, #0xc] str r5, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #4] cmp r0, #0 rsblt r0, r0, #0 @@ -4067,7 +4067,7 @@ _02170b24: bl func_ov00_020a61ac add r0, sp, #0 add r1, sp, #0xc - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 addlt sp, sp, #0x18 ldmltia sp!, {r4, r5, r6, r7, r8, pc} @@ -4086,7 +4086,7 @@ _02170b24: mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 - ldr r1, _02170ca8 ; =data_02050f54 + ldr r1, _02170ca8 ; =gSinCosTable mov r2, r3, lsl #0x1 ldrsh r8, [r1, r2] ldr r5, _02170cac ; =0x0000059a @@ -4152,9 +4152,9 @@ _02170b24: _02170c94: .word data_027e0ffc _02170c98: .word 0x000003a7 _02170c9c: .word data_027e0764 -_02170ca0: .word data_027e0f94 +_02170ca0: .word gPlayerPos _02170ca4: .word data_ov24_021792ac -_02170ca8: .word data_02050f54 +_02170ca8: .word gSinCosTable _02170cac: .word 0x0000059a arm_func_end func_ov24_02170930 @@ -4210,7 +4210,7 @@ _02170d28: bl func_ov24_0216ffb8 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02170d90 ldr r1, [r4, #0x74] @@ -4307,7 +4307,7 @@ func_ov24_02170e8c: ; 0x02170e8c bl func_ov24_0216ffb8 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei mov r0, r4 bl func_ov24_0217009c cmp r0, #0 @@ -4342,7 +4342,7 @@ func_ov24_02170ef8: ; 0x02170ef8 bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02170f38 ; =data_027e0d0c + ldr r0, _02170f38 ; =gVec3p_ZERO str r2, [r1, #0x10] ldr r1, [r0] str r1, [r4, #0x60] @@ -4352,7 +4352,7 @@ func_ov24_02170ef8: ; 0x02170ef8 str r0, [r4, #0x68] ldmia sp!, {r4, pc} .align 2, 0 -_02170f38: .word data_027e0d0c +_02170f38: .word gVec3p_ZERO arm_func_end func_ov24_02170ef8 .global func_ov24_02170f3c @@ -4362,7 +4362,7 @@ func_ov24_02170f3c: ; 0x02170f3c sub sp, sp, #4 mov r4, r0 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add r0, r4, #0x300 ldrh r0, [r0, #0x54] cmp r0, #0 @@ -4436,7 +4436,7 @@ _02171020: _0217102c: mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r0, [r5, #0x330] cmp r4, r0 ldmltia sp!, {r3, r4, r5, pc} @@ -4484,7 +4484,7 @@ func_ov24_021710b4: ; 0x021710b4 bl func_ov24_0216ffb8 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei mov r0, r4 bl func_ov24_0217009c cmp r0, #0 @@ -4534,7 +4534,7 @@ func_ov24_02171120: ; 0x02171120 ble _021711b8 add r0, r4, #0x300 ldrh r0, [r0, #0x52] - ldr r2, _0217120c ; =data_02050f54 + ldr r2, _0217120c ; =gSinCosTable mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 @@ -4587,10 +4587,10 @@ _021711f4: bl func_ov24_0216ffb8 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} .align 2, 0 -_0217120c: .word data_02050f54 +_0217120c: .word gSinCosTable arm_func_end func_ov24_02171120 .global func_ov24_02171210 @@ -4699,7 +4699,7 @@ func_ov24_02171358: ; 0x02171358 sub sp, sp, #0x60 mov r5, r0 add r0, sp, #0x34 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x34 str r1, [sp, #0x50] @@ -4721,7 +4721,7 @@ func_ov24_02171358: ; 0x02171358 bl func_ov00_020c4048 cmp r0, #0 blt _02171420 - ldr r0, _021714d4 ; =data_027e0fe4 + ldr r0, _021714d4 ; =gActorManager add r1, r5, #0x3c0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4799,7 +4799,7 @@ _021714c0: .align 2, 0 _021714cc: .word data_027e0fe8 _021714d0: .word 0x53544c48 -_021714d4: .word data_027e0fe4 +_021714d4: .word gActorManager _021714d8: .word data_ov24_0217a38c _021714dc: .word 0x0000ffff arm_func_end func_ov24_02171358 @@ -5084,7 +5084,7 @@ _02171748: .word 0x00002aab arm_func_start func_ov24_0217174c func_ov24_0217174c: ; 0x0217174c stmdb sp!, {r3, r4, r5, lr} - ldr r2, _0217178c ; =data_027e0fe4 + ldr r2, _0217178c ; =gActorManager mov r3, r0 ldr r0, [r2] mov r5, r1 @@ -5100,7 +5100,7 @@ func_ov24_0217174c: ; 0x0217174c bl func_ov24_021768d8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217178c: .word data_027e0fe4 +_0217178c: .word gActorManager arm_func_end func_ov24_0217174c .global func_ov24_02171790 @@ -5109,7 +5109,7 @@ func_ov24_02171790: ; 0x02171790 stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor4KillEv - ldr r0, _021717cc ; =data_027e0fe4 + ldr r0, _021717cc ; =gActorManager add r1, r4, #0x3c0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5122,7 +5122,7 @@ func_ov24_02171790: ; 0x02171790 bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} .align 2, 0 -_021717cc: .word data_027e0fe4 +_021717cc: .word gActorManager arm_func_end func_ov24_02171790 .global func_ov24_021717d0 @@ -5168,7 +5168,7 @@ _0217184c: mov r2, #0 str r2, [r0, #0x10] ldr r1, [r4, #0x22c] - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager str r2, [r1, #0x14] ldr r0, [r0] add r1, r4, #0x3c0 @@ -5187,7 +5187,7 @@ _02171894: mov r2, #0 str r2, [r0, #0x10] ldr r1, [r4, #0x22c] - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager str r2, [r1, #0x14] ldr r0, [r0] add r1, r4, #0x3c0 @@ -5206,7 +5206,7 @@ _021718dc: mov r2, #0 str r2, [r0, #0x10] ldr r1, [r4, #0x22c] - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager str r2, [r1, #0x14] ldr r0, [r0] add r1, r4, #0x3c0 @@ -5240,7 +5240,7 @@ _02171950: mov r2, #0 str r2, [r0, #0x10] ldr r1, [r4, #0x22c] - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager str r2, [r1, #0x14] ldr r0, [r0] add r1, r4, #0x3c0 @@ -5278,7 +5278,7 @@ _021719f0: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3c0 @@ -5321,7 +5321,7 @@ _02171a8c: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3c0 @@ -5359,7 +5359,7 @@ _02171ad0: str r2, [r0, #4] add r1, r1, #0xf str r1, [r4, #0x13c] - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager add r1, r4, #0x3c0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5396,7 +5396,7 @@ _02171b5c: str r2, [r0, #4] add r1, r1, #0xf str r1, [r4, #0x13c] - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager add r1, r4, #0x3c0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5433,7 +5433,7 @@ _02171be8: str r2, [r0, #4] add r1, r1, #0xf str r1, [r4, #0x13c] - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager add r1, r4, #0x3c0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5482,7 +5482,7 @@ _02171cdc: str r1, [r0, #0x10] add r0, r4, #0x300 mov r2, #0 - ldr r1, _02171e48 ; =data_027e0fe4 + ldr r1, _02171e48 ; =gActorManager strh r2, [r0, #0xbc] ldr r0, [r1] add r1, r4, #0x3c0 @@ -5504,7 +5504,7 @@ _02171d2c: str r1, [r0, #0x10] add r0, r4, #0x300 mov r2, #0 - ldr r1, _02171e48 ; =data_027e0fe4 + ldr r1, _02171e48 ; =gActorManager strh r2, [r0, #0xbc] ldr r0, [r1] add r1, r4, #0x3c0 @@ -5525,7 +5525,7 @@ _02171d7c: mov r2, #0 str r2, [r0, #0x10] ldr r1, [r4, #0x22c] - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager str r2, [r1, #0x14] ldr r0, [r0] add r1, r4, #0x3c0 @@ -5549,7 +5549,7 @@ _02171ddc: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02171e48 ; =data_027e0fe4 + ldr r0, _02171e48 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3c0 @@ -5575,7 +5575,7 @@ _02171e40: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02171e48: .word data_027e0fe4 +_02171e48: .word gActorManager _02171e4c: .word data_027e0e58 _02171e50: .word 0x000001b3 _02171e54: .word gMapManager @@ -5593,7 +5593,7 @@ func_ov24_02171e64: ; 0x02171e64 ldr r0, [r4, #0x160] cmp r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _02171ef0 ; =data_027e0fe4 + ldr r0, _02171ef0 ; =gActorManager add r1, r4, #0x3c0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5625,7 +5625,7 @@ _02171ee0: bl func_ov24_021717d0 ldmia sp!, {r4, pc} .align 2, 0 -_02171ef0: .word data_027e0fe4 +_02171ef0: .word gActorManager arm_func_end func_ov24_02171e64 .global func_ov24_02171ef4 @@ -5742,7 +5742,7 @@ _02172078: ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -5779,7 +5779,7 @@ _021720f4: beq _021721e0 ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -5801,7 +5801,7 @@ _02172148: beq _021721e0 ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -5819,7 +5819,7 @@ _0217219c: beq _021721e0 ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -5968,7 +5968,7 @@ _02172358: ; jump table b _021723a4 ; case 18 _021723a4: mov r1, #0 - ldr r0, _02172bd8 ; =data_027e0fe4 + ldr r0, _02172bd8 ; =gActorManager strb r1, [r4, #0x1a8] ldr r0, [r0] add r1, r4, #0x3c0 @@ -6033,7 +6033,7 @@ _02172478: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02172bd8 ; =data_027e0fe4 + ldr r0, _02172bd8 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3c0 @@ -6355,7 +6355,7 @@ _0217291c: bl func_0202e58c cmp r0, #0 beq _02172bd0 - ldr r0, _02172bd8 ; =data_027e0fe4 + ldr r0, _02172bd8 ; =gActorManager add r1, r4, #0x3c0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6381,7 +6381,7 @@ _02172970: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02172bd8 ; =data_027e0fe4 + ldr r0, _02172bd8 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3c0 @@ -6542,7 +6542,7 @@ _02172bd0: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02172bd8: .word data_027e0fe4 +_02172bd8: .word gActorManager _02172bdc: .word 0x0000019a _02172be0: .word data_027e0764 _02172be4: .word data_027e0ffc @@ -6585,7 +6585,7 @@ func_ov24_02172bf8: ; 0x02172bf8 ldr r2, [sp, #0x38] str r1, [sp, #0xc] ldr r1, [sp, #0x3c] - ldr r0, _02172cf0 ; =data_027e0fe4 + ldr r0, _02172cf0 ; =gActorManager str r3, [sp, #0x10] ldr r3, [sp, #0x40] str r2, [sp, #0x14] @@ -6625,7 +6625,7 @@ _02172ce4: add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02172cf0: .word data_027e0fe4 +_02172cf0: .word gActorManager arm_func_end func_ov24_02172bf8 .global func_ov24_02172cf4 @@ -6635,7 +6635,7 @@ func_ov24_02172cf4: ; 0x02172cf4 sub sp, sp, #0x50 mov r4, r0 add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] @@ -6653,7 +6653,7 @@ func_ov24_02172cf4: ; 0x02172cf4 strh r5, [sp, #0x38] ldrh r0, [r4, #0x78] ldr r2, [r4, #0x48] - ldr r1, _02172e44 ; =data_02050f54 + ldr r1, _02172e44 ; =gSinCosTable mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 @@ -6716,7 +6716,7 @@ func_ov24_02172cf4: ; 0x02172cf4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02172e40: .word data_ov24_021792b8 -_02172e44: .word data_02050f54 +_02172e44: .word gSinCosTable _02172e48: .word data_027e0fe8 _02172e4c: .word 0x53544c42 arm_func_end func_ov24_02172cf4 @@ -6857,7 +6857,7 @@ func_ov24_02172fe0: ; 0x02172fe0 sub sp, sp, #0x60 mov r5, r0 add r0, sp, #0x34 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x34 str r1, [sp, #0x50] @@ -6877,7 +6877,7 @@ func_ov24_02172fe0: ; 0x02172fe0 bl func_ov00_020c4048 cmp r0, #0 blt _021730a0 - ldr r0, _02173104 ; =data_027e0fe4 + ldr r0, _02173104 ; =gActorManager add r1, r5, #0x3bc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6929,7 +6929,7 @@ _021730ac: .align 2, 0 _021730fc: .word data_027e0fe8 _02173100: .word 0x53544c48 -_02173104: .word data_027e0fe4 +_02173104: .word gActorManager _02173108: .word data_ov24_0217a52c _0217310c: .word 0x0000ffff arm_func_end func_ov24_02172fe0 @@ -6969,7 +6969,7 @@ func_ov24_02173134: ; 0x02173134 arm_func_start func_ov24_02173148 func_ov24_02173148: ; 0x02173148 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _02173188 ; =data_027e0fe4 + ldr r2, _02173188 ; =gActorManager mov r3, r0 ldr r0, [r2] mov r5, r1 @@ -6985,7 +6985,7 @@ func_ov24_02173148: ; 0x02173148 bl func_ov24_021768d8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02173188: .word data_027e0fe4 +_02173188: .word gActorManager arm_func_end func_ov24_02173148 .global func_ov24_0217318c @@ -6994,7 +6994,7 @@ func_ov24_0217318c: ; 0x0217318c stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor4KillEv - ldr r0, _021731c8 ; =data_027e0fe4 + ldr r0, _021731c8 ; =gActorManager add r1, r4, #0x3bc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -7007,7 +7007,7 @@ func_ov24_0217318c: ; 0x0217318c bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} .align 2, 0 -_021731c8: .word data_027e0fe4 +_021731c8: .word gActorManager arm_func_end func_ov24_0217318c .global func_ov24_021731cc @@ -7076,7 +7076,7 @@ _021732a0: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02173374 ; =data_027e0fe4 + ldr r0, _02173374 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3bc @@ -7095,7 +7095,7 @@ _021732e4: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02173374 ; =data_027e0fe4 + ldr r0, _02173374 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3bc @@ -7114,7 +7114,7 @@ _02173328: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02173374 ; =data_027e0fe4 + ldr r0, _02173374 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3bc @@ -7131,7 +7131,7 @@ _02173364: .align 2, 0 _0217336c: .word data_027e0e58 _02173370: .word 0x000001b3 -_02173374: .word data_027e0fe4 +_02173374: .word gActorManager arm_func_end func_ov24_021731cc .global func_ov24_02173378 @@ -7143,7 +7143,7 @@ func_ov24_02173378: ; 0x02173378 ldr r0, [r4, #0x160] cmp r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _02173404 ; =data_027e0fe4 + ldr r0, _02173404 ; =gActorManager add r1, r4, #0x3bc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -7175,7 +7175,7 @@ _021733f4: bl func_ov24_021731cc ldmia sp!, {r4, pc} .align 2, 0 -_02173404: .word data_027e0fe4 +_02173404: .word gActorManager arm_func_end func_ov24_02173378 .global func_ov24_02173408 @@ -7266,7 +7266,7 @@ _02173524: ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r5, #4] ldr r1, [r5, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -7295,7 +7295,7 @@ _02173594: beq _02173660 ldr r0, [r5, #4] ldr r1, [r5, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -7313,7 +7313,7 @@ _021735d8: beq _02173660 ldr r0, [r5, #4] ldr r1, [r5, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -7331,7 +7331,7 @@ _0217361c: beq _02173660 ldr r0, [r5, #4] ldr r1, [r5, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -7400,7 +7400,7 @@ func_ov24_021736e4: ; 0x021736e4 cmpne r0, #5 bne _0217373c mov r1, #0 - ldr r0, _02173a10 ; =data_027e0fe4 + ldr r0, _02173a10 ; =gActorManager strb r1, [r4, #0x1a8] ldr r0, [r0] add r1, r4, #0x3bc @@ -7473,7 +7473,7 @@ _021737f0: bl func_0202e58c cmp r0, #0 beq _02173a08 - ldr r0, _02173a10 ; =data_027e0fe4 + ldr r0, _02173a10 ; =gActorManager add r1, r4, #0x3bc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -7499,7 +7499,7 @@ _02173844: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _02173a10 ; =data_027e0fe4 + ldr r0, _02173a10 ; =gActorManager str r2, [r1, #0x10] ldr r0, [r0] add r1, r4, #0x3bc @@ -7615,7 +7615,7 @@ _02173a08: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02173a10: .word data_027e0fe4 +_02173a10: .word gActorManager _02173a14: .word 0x88888889 _02173a18: .word data_027e0764 arm_func_end func_ov24_021736e4 @@ -7647,7 +7647,7 @@ func_ov24_02173a1c: ; 0x02173a1c ldr r2, [sp, #0x38] str r1, [sp, #0xc] ldr r1, [sp, #0x3c] - ldr r0, _02173b14 ; =data_027e0fe4 + ldr r0, _02173b14 ; =gActorManager str r3, [sp, #0x10] ldr r3, [sp, #0x40] str r2, [sp, #0x14] @@ -7687,7 +7687,7 @@ _02173b08: add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02173b14: .word data_027e0fe4 +_02173b14: .word gActorManager arm_func_end func_ov24_02173a1c .global func_ov24_02173b18 @@ -7697,14 +7697,14 @@ func_ov24_02173b18: ; 0x02173b18 sub sp, sp, #0x5c mov r4, r0 add r0, sp, #0x30 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] str r1, [sp, #0x50] bl func_ov00_020c3348 ldr r1, [r4, #8] - ldr r0, _02173ce4 ; =data_027e0f94 + ldr r0, _02173ce4 ; =gPlayerPos str r1, [sp, #0x4c] ldr r1, [r4, #0xc] add r2, sp, #0x24 @@ -7712,10 +7712,10 @@ func_ov24_02173b18: ; 0x02173b18 ldr r3, [r4, #0x158] add r1, r4, #0x48 ldrsh r5, [r3, #0x6a] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldrsh r2, [r4, #0x78] mov r3, r0, asr #0x10 @@ -7749,7 +7749,7 @@ _02173bd8: stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] ldr r9, [r4, #0x48] - ldr r2, _02173cf0 ; =data_02050f54 + ldr r2, _02173cf0 ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -7811,10 +7811,10 @@ _02173bd8: add sp, sp, #0x5c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02173ce4: .word data_027e0f94 +_02173ce4: .word gPlayerPos _02173ce8: .word 0xffff8001 _02173cec: .word data_ov24_021792d0 -_02173cf0: .word data_02050f54 +_02173cf0: .word gSinCosTable _02173cf4: .word data_027e0fe8 _02173cf8: .word 0x53544c42 arm_func_end func_ov24_02173b18 @@ -7993,7 +7993,7 @@ func_ov24_02173f10: ; 0x02173f10 sub sp, sp, #0x60 mov r5, r0 add r0, sp, #0x34 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x34 str r1, [sp, #0x50] @@ -8016,7 +8016,7 @@ func_ov24_02173f10: ; 0x02173f10 bl func_ov00_020c4048 cmp r0, #0 blt _02173fe0 - ldr r0, _02174040 ; =data_027e0fe4 + ldr r0, _02174040 ; =gActorManager add r1, r5, #0x2b8 ldr r0, [r0] add r1, r1, #0x400 @@ -8068,7 +8068,7 @@ _02173fec: .align 2, 0 _02174038: .word data_027e0fe8 _0217403c: .word 0x53544c48 -_02174040: .word data_027e0fe4 +_02174040: .word gActorManager _02174044: .word data_ov24_0217a70c _02174048: .word 0x0000ffff arm_func_end func_ov24_02173f10 @@ -8178,7 +8178,7 @@ func_ov24_0217411c: ; 0x0217411c mov r2, r0, lsl #0x1 add r0, r2, #1 mov lr, #0 - ldr r1, _02174194 ; =data_02050f54 + ldr r1, _02174194 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r5, [r1, r2] mov r0, r0, lsl #0x1 @@ -8190,7 +8190,7 @@ func_ov24_0217411c: ; 0x0217411c str r5, [sp, #0xc] str lr, [sp, #0x10] str ip, [sp, #0x14] - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x2c4 add r2, sp, #0 mov r1, r4 @@ -8199,7 +8199,7 @@ func_ov24_0217411c: ; 0x0217411c add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02174194: .word data_02050f54 +_02174194: .word gSinCosTable arm_func_end func_ov24_0217411c .global func_ov24_02174198 @@ -8448,7 +8448,7 @@ _021743d4: .word 0x00002aab arm_func_start func_ov24_021743d8 func_ov24_021743d8: ; 0x021743d8 stmdb sp!, {r3, r4, r5, lr} - ldr r3, _02174418 ; =data_027e0fe4 + ldr r3, _02174418 ; =gActorManager add r2, r0, #0x2b8 ldr r0, [r3] mov r5, r1 @@ -8464,7 +8464,7 @@ func_ov24_021743d8: ; 0x021743d8 bl func_ov24_021768d8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02174418: .word data_027e0fe4 +_02174418: .word gActorManager arm_func_end func_ov24_021743d8 .global func_ov24_0217441c @@ -8473,7 +8473,7 @@ func_ov24_0217441c: ; 0x0217441c stmdb sp!, {r4, lr} mov r4, r0 bl _ZN5Actor4KillEv - ldr r0, _0217445c ; =data_027e0fe4 + ldr r0, _0217445c ; =gActorManager add r1, r4, #0x2b8 ldr r0, [r0] add r1, r1, #0x400 @@ -8487,7 +8487,7 @@ func_ov24_0217441c: ; 0x0217441c bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} .align 2, 0 -_0217445c: .word data_027e0fe4 +_0217445c: .word gActorManager arm_func_end func_ov24_0217441c .global func_ov24_02174460 @@ -8533,7 +8533,7 @@ _021744d8: str r3, [r0, #0x10] ldr r2, [r4, #0x22c] add r1, r4, #0x2b8 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x14] ldr r0, [r0] add r1, r1, #0x400 @@ -8553,7 +8553,7 @@ _02174524: str r3, [r0, #0x10] ldr r2, [r4, #0x22c] add r1, r4, #0x2b8 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x14] ldr r0, [r0] add r1, r1, #0x400 @@ -8573,7 +8573,7 @@ _02174570: str r3, [r0, #0x10] ldr r2, [r4, #0x22c] add r1, r4, #0x2b8 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x14] ldr r0, [r0] add r1, r1, #0x400 @@ -8608,7 +8608,7 @@ _021745e8: str r3, [r0, #0x10] ldr r2, [r4, #0x22c] add r1, r4, #0x2b8 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x14] ldr r0, [r0] add r1, r1, #0x400 @@ -8647,7 +8647,7 @@ _0217468c: add r1, r4, #0x2b8 ldr r2, [r4, #0x22c] mov r3, #0x1000 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x10] ldr r0, [r0] add r1, r1, #0x400 @@ -8710,7 +8710,7 @@ _0217472c: mla r6, r1, r0, r6 str ip, [r3, #4] add r1, r6, #0x14 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r1, [r4, #0x13c] add r2, r4, #0x2b8 ldr r0, [r0] @@ -8731,7 +8731,7 @@ _021747c4: add r1, r4, #0x2b8 ldr r2, [r4, #0x22c] mov r3, #0x1000 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x10] ldr r0, [r0] add r1, r1, #0x400 @@ -8769,7 +8769,7 @@ _0217480c: orr r2, r2, r3, lsr #28 str r3, [r0, #4] add r2, r2, #0xf - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r2, [r4, #0x13c] ldr r0, [r0] add r1, r1, #0x400 @@ -8807,7 +8807,7 @@ _0217489c: orr r2, r2, r3, lsr #28 str r3, [r0, #4] add r2, r2, #0xf - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r2, [r4, #0x13c] ldr r0, [r0] add r1, r1, #0x400 @@ -8845,7 +8845,7 @@ _0217492c: orr r2, r2, r3, lsr #28 str r3, [r0, #4] add r2, r2, #0xf - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r2, [r4, #0x13c] ldr r0, [r0] add r1, r1, #0x400 @@ -8893,7 +8893,7 @@ _02174a24: add r1, r4, #0x2b8 ldr r2, [r4, #0x22c] mov r3, #0x1000 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x10] ldr r0, [r0] add r1, r1, #0x400 @@ -8941,7 +8941,7 @@ _02174ad4: str r3, [r0, #0x10] ldr r2, [r4, #0x22c] add r1, r4, #0x2b8 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x14] ldr r0, [r0] add r1, r1, #0x400 @@ -8966,7 +8966,7 @@ _02174b38: add r1, r4, #0x2b8 ldr r2, [r4, #0x22c] mov r3, #0x1000 - ldr r0, _02174ba8 ; =data_027e0fe4 + ldr r0, _02174ba8 ; =gActorManager str r3, [r2, #0x10] ldr r0, [r0] add r1, r1, #0x400 @@ -8992,7 +8992,7 @@ _02174ba0: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02174ba8: .word data_027e0fe4 +_02174ba8: .word gActorManager _02174bac: .word data_027e0e58 _02174bb0: .word 0x000001b3 _02174bb4: .word gMapManager @@ -9010,7 +9010,7 @@ func_ov24_02174bc4: ; 0x02174bc4 ldr r0, [r4, #0x160] cmp r0, #1 ldmneia sp!, {r4, pc} - ldr r0, _02174c54 ; =data_027e0fe4 + ldr r0, _02174c54 ; =gActorManager add r1, r4, #0x2b8 ldr r0, [r0] add r1, r1, #0x400 @@ -9043,7 +9043,7 @@ _02174c44: bl func_ov24_02174460 ldmia sp!, {r4, pc} .align 2, 0 -_02174c54: .word data_027e0fe4 +_02174c54: .word gActorManager arm_func_end func_ov24_02174bc4 .global func_ov24_02174c58 @@ -9114,7 +9114,7 @@ _02174d24: ; jump table _02174d44: ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r5, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02175204 ; =0xffff8001 @@ -9142,7 +9142,7 @@ _02174d84: beq _021751fc ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9180,7 +9180,7 @@ _02174e00: _02174e38: ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r5, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02175204 ; =0xffff8001 @@ -9208,7 +9208,7 @@ _02174e78: beq _021751fc ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9237,7 +9237,7 @@ _02174ed4: _02174f10: ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r5, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02175204 ; =0xffff8001 @@ -9265,7 +9265,7 @@ _02174f50: beq _021751fc ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9301,7 +9301,7 @@ _02174ff0: beq _021751fc ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9346,7 +9346,7 @@ _02175094: ldmeqia sp!, {r3, r4, r5, pc} ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9383,7 +9383,7 @@ _02175110: beq _021751fc ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9405,7 +9405,7 @@ _02175164: beq _021751fc ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9423,7 +9423,7 @@ _021751b8: beq _021751fc ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9529,7 +9529,7 @@ _021752e8: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _02175320: - ldr r0, _02175ebc ; =data_027e0fe4 + ldr r0, _02175ebc ; =gActorManager add r1, r4, #0x2b8 ldr r0, [r0] add r1, r1, #0x400 @@ -9587,7 +9587,7 @@ _021753ac: ; jump table b _021753f4 ; case 17 _021753f4: mov r1, #0 - ldr r0, _02175ebc ; =data_027e0fe4 + ldr r0, _02175ebc ; =gActorManager strb r1, [r4, #0x1a8] add r1, r4, #0x2b8 ldr r0, [r0] @@ -9666,7 +9666,7 @@ _021754f4: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, _02175ec4 ; =0x00000b33 - ldr r6, _02175ec8 ; =data_02050f54 + ldr r6, _02175ec8 ; =gSinCosTable str r0, [r4, #0x6b4] ldrh r1, [r4, #0x78] ldr r0, [r4, #0x48] @@ -9720,13 +9720,13 @@ _021754f4: mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 ldr r2, [r3, #0x408] - ldr r0, _02175ecc ; =data_027e0f90 + ldr r0, _02175ecc ; =gPlayer add r1, r2, r1 str r1, [r3, #0x408] ldr r0, [r0] add r1, r3, #0x400 mov r2, #0 - bl _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi + bl _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi cmp r0, #0 beq _02175624 bl func_ov24_02170468 @@ -9790,7 +9790,7 @@ _021756e8: mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r0, r3, #1 - ldr r2, _02175ec8 ; =data_02050f54 + ldr r2, _02175ec8 ; =gSinCosTable mov r3, r3, lsl #0x1 ldrsh ip, [r2, r3] mov r0, r0, lsl #0x1 @@ -9885,7 +9885,7 @@ _02175848: add r1, r4, #0x2b8 ldr r2, [r4, #0x22c] mov r3, #0x1000 - ldr r0, _02175ebc ; =data_027e0fe4 + ldr r0, _02175ebc ; =gActorManager str r3, [r2, #0x10] ldr r0, [r0] add r1, r1, #0x400 @@ -10179,7 +10179,7 @@ _02175c84: bl func_0202e58c cmp r0, #0 beq _02175eac - ldr r0, _02175ebc ; =data_027e0fe4 + ldr r0, _02175ebc ; =gActorManager add r1, r4, #0x2b8 ldr r0, [r0] add r1, r1, #0x400 @@ -10207,7 +10207,7 @@ _02175cdc: add r1, r4, #0x2b8 ldr r2, [r4, #0x22c] mov r3, #0x1000 - ldr r0, _02175ebc ; =data_027e0fe4 + ldr r0, _02175ebc ; =gActorManager str r3, [r2, #0x10] ldr r0, [r0] add r1, r1, #0x400 @@ -10255,7 +10255,7 @@ _02175d50: add r1, r4, #0x2b8 ldr r2, [r4, #0x22c] mov r3, #0x1000 - ldr r0, _02175ebc ; =data_027e0fe4 + ldr r0, _02175ebc ; =gActorManager str r3, [r2, #0x10] ldr r0, [r0] add r1, r1, #0x400 @@ -10327,11 +10327,11 @@ _02175eac: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02175eb8: .word gMapManager -_02175ebc: .word data_027e0fe4 +_02175ebc: .word gActorManager _02175ec0: .word data_ov24_021792e4 _02175ec4: .word 0x00000b33 -_02175ec8: .word data_02050f54 -_02175ecc: .word data_027e0f90 +_02175ec8: .word gSinCosTable +_02175ecc: .word gPlayer _02175ed0: .word gItemManager _02175ed4: .word data_027e0ffc _02175ed8: .word 0x0000ffff @@ -10375,7 +10375,7 @@ func_ov24_02175ef4: ; 0x02175ef4 ldr r3, [sp, #0x34] str r2, [sp, #8] ldr r2, [sp, #0x38] - ldr r0, _02175ff0 ; =data_027e0fe4 + ldr r0, _02175ff0 ; =gActorManager str r4, [sp, #0xc] ldr r4, [sp, #0x3c] str r3, [sp, #0x10] @@ -10417,7 +10417,7 @@ _02175fe4: add sp, sp, #0x60 ldmia sp!, {r4, pc} .align 2, 0 -_02175ff0: .word data_027e0fe4 +_02175ff0: .word gActorManager arm_func_end func_ov24_02175ef4 .global func_ov24_02175ff4 @@ -10785,7 +10785,7 @@ func_ov24_02176408: ; 0x02176408 mov r1, r0, lsl #0x1 mov ip, r1, lsl #0x1 add r1, r1, #1 - ldr r3, _021764d0 ; =data_02050f54 + ldr r3, _021764d0 ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r1, [r3, ip] ldrsh r2, [r3, r2] @@ -10803,7 +10803,7 @@ func_ov24_02176408: ; 0x02176408 .align 2, 0 _021764c8: .word data_ov24_021793ac _021764cc: .word data_02051f54 -_021764d0: .word data_02050f54 +_021764d0: .word gSinCosTable arm_func_end func_ov24_02176408 .global func_ov24_021764d4 @@ -11016,7 +11016,7 @@ func_ov24_02176738: ; 0x02176738 mov r4, r0 bl func_ov00_020ca8a4 ldrh r1, [r4, #0x78] - ldr r3, _021767c8 ; =data_02050f54 + ldr r3, _021767c8 ; =gSinCosTable add r0, r4, #0x394 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11050,7 +11050,7 @@ _021767a4: ldmia sp!, {r4, pc} .align 2, 0 _021767c4: .word data_ov24_0217a908 -_021767c8: .word data_02050f54 +_021767c8: .word gSinCosTable arm_func_end func_ov24_02176738 .global func_ov24_021767cc @@ -11237,7 +11237,7 @@ func_ov24_02176954: ; 0x02176954 bl func_ov00_020ceacc _02176988: ldrh r1, [r4, #0x78] - ldr r3, _021769c4 ; =data_02050f54 + ldr r3, _021769c4 ; =gSinCosTable add r0, r4, #0x394 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11252,7 +11252,7 @@ _02176988: _021769b8: .word 0x0000038e _021769bc: .word data_027e0ffc _021769c0: .word 0x00000283 -_021769c4: .word data_02050f54 +_021769c4: .word gSinCosTable arm_func_end func_ov24_02176954 .global func_ov24_021769c8 @@ -11305,7 +11305,7 @@ func_ov24_02176a34: ; 0x02176a34 add r1, ip, #0x60 mov r2, r0 str r3, [ip, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r3, pc} arm_func_end func_ov24_02176a34 @@ -11343,13 +11343,13 @@ func_ov24_02176a94: ; 0x02176a94 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02176bd4 ; =data_02050f54 + ldr r2, _02176bd4 ; =gSinCosTable mov r3, r1, lsl #0x1 mov r1, r0, lsl #0x1 add r0, r9, #0x60 ldrsh r6, [r2, r3] ldrsh r7, [r2, r1] - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 mov r1, r8 add r0, r9, #0x48 @@ -11416,10 +11416,10 @@ _02176bc0: add r0, r9, #0x48 add r1, r9, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02176bd4: .word data_02050f54 +_02176bd4: .word gSinCosTable _02176bd8: .word 0x0000019a _02176bdc: .word 0xfffffe66 _02176be0: .word 0x00000733 @@ -11544,7 +11544,7 @@ _02176d68: str r1, [r0, #0x10] add r2, r4, #0x300 ldrh r1, [r2, #0xb8] - ldr r5, _02176eac ; =data_02050f54 + ldr r5, _02176eac ; =gSinCosTable mov r0, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -11622,7 +11622,7 @@ _02176e90: str r1, [r0, #0x10] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02176eac: .word data_02050f54 +_02176eac: .word gSinCosTable _02176eb0: .word 0x0000019a _02176eb4: .word 0x00000333 arm_func_end func_ov24_02176be4 @@ -11635,7 +11635,7 @@ func_ov24_02176eb8: ; 0x02176eb8 mov r4, r0 add r0, r4, #0x300 ldrsh r3, [r0, #0x5c] - ldr r2, _0217722c ; =data_027e0fe4 + ldr r2, _0217722c ; =gActorManager add r1, r4, #0x34 add r3, r3, #1 strh r3, [r0, #0x5c] @@ -11727,7 +11727,7 @@ _02176fe4: bl func_020079d8 b _02177048 _02177018: - ldr r0, _0217722c ; =data_027e0fe4 + ldr r0, _0217722c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11756,7 +11756,7 @@ _02177054: _02177078: mov r0, r4 bl func_ov24_02176954 - ldr r0, _0217722c ; =data_027e0fe4 + ldr r0, _0217722c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11800,7 +11800,7 @@ _02177100: _02177118: mov r0, r4 bl func_ov24_02176a34 - ldr r0, _0217722c ; =data_027e0fe4 + ldr r0, _0217722c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11828,7 +11828,7 @@ _02177164: str r3, [sp, #4] str ip, [sp, #8] bl func_ov24_02176a94 - ldr r0, _0217722c ; =data_027e0fe4 + ldr r0, _0217722c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11850,7 +11850,7 @@ _021771b0: bl func_ov24_02176be4 b _02177220 _021771d8: - ldr r0, _0217722c ; =data_027e0fe4 + ldr r0, _0217722c ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11874,7 +11874,7 @@ _02177220: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217722c: .word data_027e0fe4 +_0217722c: .word gActorManager _02177230: .word 0x53544c46 _02177234: .word 0x0000019a arm_func_end func_ov24_02176eb8 @@ -12123,7 +12123,7 @@ func_ov24_0217751c: ; 0x0217751c cmp r1, #0 bne _021775d8 ldrh r3, [r0, #0x78] - ldr r5, _021775e8 ; =data_02050f54 + ldr r5, _021775e8 ; =gSinCosTable mov r2, #0 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x1 @@ -12172,7 +12172,7 @@ _021775d8: str r1, [r0, #0x130] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021775e8: .word data_02050f54 +_021775e8: .word gSinCosTable _021775ec: .word 0x00000333 arm_func_end func_ov24_0217751c @@ -12199,7 +12199,7 @@ func_ov24_021775f0: ; 0x021775f0 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r1, r5, #0x100 ldrsh r3, [r1, #0xb4] mov r2, #0 @@ -12242,7 +12242,7 @@ _021776c8: mov r0, r5 bge _021776fc mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02177700 mov r0, r5 @@ -12274,7 +12274,7 @@ func_ov24_02177718: ; 0x02177718 ldmeqia sp!, {r3, r4, pc} add r0, r4, #0x100 ldrh r1, [r0, #0xb4] - ldr r3, _021777d4 ; =data_02050f54 + ldr r3, _021777d4 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -12311,7 +12311,7 @@ func_ov24_02177718: ; 0x02177718 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_021777d4: .word data_02050f54 +_021777d4: .word gSinCosTable _021777d8: .word 0x000004cd _021777dc: .word 0x0000019a _021777e0: .word data_ov00_020e9370 @@ -12463,7 +12463,7 @@ func_ov24_02177944: ; 0x02177944 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _02177a44 ; =0x00000666 ldr r2, _02177a48 ; =0x00001333 add r0, sp, #0x38 @@ -12472,7 +12472,7 @@ func_ov24_02177944: ; 0x02177944 str r1, [sp, #0x10] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -13181,7 +13181,7 @@ func_ov24_02178234: ; 0x02178234 mov r2, lr str ip, [sp, #0x18] str r3, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _0217831c ; =0x00001333 mov r2, #0x1000 str r1, [sp, #0xc] @@ -13191,7 +13191,7 @@ func_ov24_02178234: ; 0x02178234 str r2, [sp, #8] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -13250,7 +13250,7 @@ func_ov24_02178348: ; 0x02178348 mov r5, r1 bl func_ov24_021786a0 mvn r3, #0 - ldr r1, _02178690 ; =data_027e0fe4 + ldr r1, _02178690 ; =gActorManager add r0, sp, #0x20 ldr r1, [r1] mov r2, #7 @@ -13266,7 +13266,7 @@ func_ov24_02178348: ; 0x02178348 beq _021783f8 str r2, [r6, #0xc8] ldr r1, [sp, #0x34] - ldr r0, _02178690 ; =data_027e0fe4 + ldr r0, _02178690 ; =gActorManager str r1, [r6, #0xcc] ldr r0, [r0] add r1, sp, #0x30 @@ -13331,7 +13331,7 @@ _021783f8: mov r3, #0 bl func_02005dcc mvn r0, #0 - ldr r1, _02178690 ; =data_027e0fe4 + ldr r1, _02178690 ; =gActorManager ldr r2, _02178698 ; =0x57534253 ldr r1, [r1] str r0, [sp, #0x28] @@ -13345,7 +13345,7 @@ _021783f8: str r1, [sp, #0x28] cmp r1, r0 beq _02178504 - ldr r0, _02178690 ; =data_027e0fe4 + ldr r0, _02178690 ; =gActorManager add r1, sp, #0x28 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -13380,11 +13380,11 @@ _0217852c: add r0, sp, #0x50 str r2, [sp, #0x58] mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x50 str r1, [sp, #0x54] - bl func_01ff9cec + bl Vec3p_Length mov r7, r0 ldr r0, _02178694 ; =data_027e0f64 ldr r0, [r0] @@ -13432,7 +13432,7 @@ _0217852c: add r0, sp, #0x44 str r2, [sp, #0x40] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x44] str r0, [r5] ldr r1, [sp, #0x48] @@ -13459,7 +13459,7 @@ _0217866c: add sp, sp, #0xcc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02178690: .word data_027e0fe4 +_02178690: .word gActorManager _02178694: .word data_027e0f64 _02178698: .word 0x57534253 _0217869c: .word gMapManager @@ -13996,7 +13996,7 @@ func_ov24_02178d20: ; 0x02178d20 str ip, [sp, #0x2c] str r3, [sp, #0x30] str ip, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _02178e08 ; =0x0000099a ldr r0, _02178e0c ; =0x00001333 str r1, [sp, #0x20] @@ -14005,7 +14005,7 @@ func_ov24_02178d20: ; 0x02178d20 str r1, [sp, #0x28] add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f ldrh r1, [r4, #0x24] @@ -14310,7 +14310,7 @@ func_ov24_0217912c: ; 0x0217912c sub sp, sp, #0x30 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _021791cc ; =data_02050f54 + ldr r3, _021791cc ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -14347,7 +14347,7 @@ func_ov24_0217912c: ; 0x0217912c add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_021791cc: .word data_02050f54 +_021791cc: .word gSinCosTable arm_func_end func_ov24_0217912c .global func_ov24_021791d0 @@ -15814,7 +15814,7 @@ data_ov24_02179f2c: ; 0x02179f2c .word func_ov24_0216e17c .global data_ov24_02179f30 data_ov24_02179f30: ; 0x02179f30 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_02179f34 data_ov24_02179f34: ; 0x02179f34 .word func_ov24_0216e6f8 @@ -15844,10 +15844,10 @@ data_ov24_02179f54: ; 0x02179f54 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov24_02179f58 data_ov24_02179f58: ; 0x02179f58 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_02179f5c data_ov24_02179f5c: ; 0x02179f5c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov24_02179f60 data_ov24_02179f60: ; 0x02179f60 .word _ZN5Actor8vfunc_4cEPi @@ -15983,7 +15983,7 @@ data_ov24_0217a038: ; 0x0217a038 .word func_ov14_02144b64 .global data_ov24_0217a03c data_ov24_0217a03c: ; 0x0217a03c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_0217a040 data_ov24_0217a040: ; 0x0217a040 .word func_ov24_0216f5d0 @@ -16013,10 +16013,10 @@ data_ov24_0217a060: ; 0x0217a060 .word func_ov24_0216ee18 .global data_ov24_0217a064 data_ov24_0217a064: ; 0x0217a064 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_0217a068 data_ov24_0217a068: ; 0x0217a068 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov24_0217a06c data_ov24_0217a06c: ; 0x0217a06c .word _ZN5Actor8vfunc_4cEPi @@ -16427,7 +16427,7 @@ data_ov24_0217a288: ; 0x0217a288 .word func_ov00_020cad30 .global data_ov24_0217a28c data_ov24_0217a28c: ; 0x0217a28c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_0217a290 data_ov24_0217a290: ; 0x0217a290 .word func_ov00_020cb1c0 @@ -16457,7 +16457,7 @@ data_ov24_0217a2b0: ; 0x0217a2b0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov24_0217a2b4 data_ov24_0217a2b4: ; 0x0217a2b4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_0217a2b8 data_ov24_0217a2b8: ; 0x0217a2b8 .word func_ov24_021701d8 @@ -16742,7 +16742,7 @@ data_ov24_0217a42c: ; 0x0217a42c .word func_ov00_020cad30 .global data_ov24_0217a430 data_ov24_0217a430: ; 0x0217a430 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_0217a434 data_ov24_0217a434: ; 0x0217a434 .word func_ov00_020cb1c0 @@ -16772,7 +16772,7 @@ data_ov24_0217a454: ; 0x0217a454 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov24_0217a458 data_ov24_0217a458: ; 0x0217a458 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_0217a45c data_ov24_0217a45c: ; 0x0217a45c .word func_ov24_02171ef4 @@ -17054,7 +17054,7 @@ data_ov24_0217a5cc: ; 0x0217a5cc .word func_ov00_020cad30 .global data_ov24_0217a5d0 data_ov24_0217a5d0: ; 0x0217a5d0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_0217a5d4 data_ov24_0217a5d4: ; 0x0217a5d4 .word func_ov00_020cb1c0 @@ -17084,7 +17084,7 @@ data_ov24_0217a5f4: ; 0x0217a5f4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov24_0217a5f8 data_ov24_0217a5f8: ; 0x0217a5f8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_0217a5fc data_ov24_0217a5fc: ; 0x0217a5fc .word func_ov24_02173408 @@ -17422,7 +17422,7 @@ data_ov24_0217a7ac: ; 0x0217a7ac .word func_ov00_020cad30 .global data_ov24_0217a7b0 data_ov24_0217a7b0: ; 0x0217a7b0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_0217a7b4 data_ov24_0217a7b4: ; 0x0217a7b4 .word func_ov00_020cb1c0 @@ -17452,7 +17452,7 @@ data_ov24_0217a7d4: ; 0x0217a7d4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov24_0217a7d8 data_ov24_0217a7d8: ; 0x0217a7d8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_0217a7dc data_ov24_0217a7dc: ; 0x0217a7dc .word func_ov24_02174c58 @@ -17803,7 +17803,7 @@ data_ov24_0217a9a8: ; 0x0217a9a8 .word func_ov00_020cad30 .global data_ov24_0217a9ac data_ov24_0217a9ac: ; 0x0217a9ac - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_0217a9b0 data_ov24_0217a9b0: ; 0x0217a9b0 .word func_ov00_020cb1c0 @@ -17833,7 +17833,7 @@ data_ov24_0217a9d0: ; 0x0217a9d0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov24_0217a9d4 data_ov24_0217a9d4: ; 0x0217a9d4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_0217a9d8 data_ov24_0217a9d8: ; 0x0217a9d8 .word func_ov00_020caeb4 @@ -18050,7 +18050,7 @@ data_ov24_0217ab24: ; 0x0217ab24 .word _ZN5Actor8vfunc_18Ej .global data_ov24_0217ab28 data_ov24_0217ab28: ; 0x0217ab28 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_0217ab2c data_ov24_0217ab2c: ; 0x0217ab2c .word func_ov24_02177718 @@ -18080,10 +18080,10 @@ data_ov24_0217ab4c: ; 0x0217ab4c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov24_0217ab50 data_ov24_0217ab50: ; 0x0217ab50 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_0217ab54 data_ov24_0217ab54: ; 0x0217ab54 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov24_0217ab58 data_ov24_0217ab58: ; 0x0217ab58 .word _ZN5Actor8vfunc_4cEPi @@ -18497,7 +18497,7 @@ data_ov24_0217ad78: ; 0x0217ad78 .word _ZN5Actor8vfunc_18Ej .global data_ov24_0217ad7c data_ov24_0217ad7c: ; 0x0217ad7c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov24_0217ad80 data_ov24_0217ad80: ; 0x0217ad80 .word func_ov14_0215152c @@ -18527,10 +18527,10 @@ data_ov24_0217ada0: ; 0x0217ada0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov24_0217ada4 data_ov24_0217ada4: ; 0x0217ada4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov24_0217ada8 data_ov24_0217ada8: ; 0x0217ada8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov24_0217adac data_ov24_0217adac: ; 0x0217adac .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov25.inc b/asm/ov25.inc index c7957b5c..8f4f5444 100644 --- a/asm/ov25.inc +++ b/asm/ov25.inc @@ -1,5 +1,13 @@ #pragma once +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Cross +.extern Vec3p_Distance +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager16MapData_vfunc_78Ev .extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p @@ -11,8 +19,9 @@ .extern _ZN10MapManager18func_ov00_02084164Ev .extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10MapManager18func_ov00_02084be0Eii -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -25,15 +34,17 @@ .extern _ZN14AdventureFlags18func_ov00_020980acEv .extern _ZN14AdventureFlags3GetEj .extern _ZN14AdventureFlags3SetEjb +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor14GetAngleToLinkEv .extern _ZN5Actor14ResetWallTouchEv .extern _ZN5Actor15IsHitboxTouchedEb @@ -41,10 +52,10 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_ov00_020c198cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1d58Ev .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c1fc8Ej .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ .extern _ZN5Actor18func_ov00_020c29ecEi @@ -61,14 +72,14 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -99,7 +110,6 @@ .extern _ZNK11ItemManager19GetActiveFairyLevelEi .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 .extern data_027e0178 .extern data_027e0764 .extern data_027e0c54 @@ -108,18 +118,11 @@ .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -140,18 +143,8 @@ .extern func_01ff9158 .extern func_01ff992c .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffe1cc .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 .extern func_02002c14 .extern func_02016fe8 .extern func_02018450 @@ -255,7 +248,6 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -409,6 +401,14 @@ .extern func_ov30_021872c4 .extern func_ov30_02187304 .extern func_ov30_02187340 +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable .extern strncpy diff --git a/asm/ov25.s b/asm/ov25.s index d10ebcbc..cb950c98 100644 --- a/asm/ov25.s +++ b/asm/ov25.s @@ -62,7 +62,7 @@ _0216d734: str r8, [r10, #4] strh r8, [r10, #0x24] add r0, r10, #0x28 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev str r7, [r10, #0x3c] str r7, [r10, #0x40] str r7, [r10, #0x44] @@ -79,7 +79,7 @@ _0216d734: add r1, r4, #0x900 add r0, r0, #0x800 strh r6, [r1, #0x24] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [r4, #0x93c] str r0, [r4, #0x940] @@ -162,7 +162,7 @@ _0216d860: add r2, r2, #8 cmp r2, r0 blo _0216d860 - ldr r0, _0216da98 ; =data_027e0fe4 + ldr r0, _0216da98 ; =gActorManager mov r9, #0 ldr lr, _0216da9c ; =_ZTV11FilterActor add r8, sp, #0x40 @@ -186,7 +186,7 @@ _0216d860: str r9, [r8, #8] str r7, [sp] str r6, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #8] mov r7, r9 cmp r0, #0 @@ -194,7 +194,7 @@ _0216d860: addle sp, sp, #0xd4 ldmleia sp!, {r4, r5, r6, r7, r8, r9, pc} _0216d8f0: - ldr r0, _0216da98 ; =data_027e0fe4 + ldr r0, _0216da98 ; =gActorManager ldr r1, [sp] ldr r0, [r0] add r1, r1, r9 @@ -305,7 +305,7 @@ _0216da7c: add sp, sp, #0xd4 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0216da98: .word data_027e0fe4 +_0216da98: .word gActorManager _0216da9c: .word _ZTV11FilterActor _0216daa0: .word 0x43425331 arm_func_end func_ov25_0216d844 @@ -330,7 +330,7 @@ _0216dacc: mov r0, r5 str r6, [sp, #0xc] str r6, [sp, #0x10] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r5 str r6, [sp, #0x68] str r6, [sp, #0x6c] @@ -386,7 +386,7 @@ _0216db80: str r2, [sp, #4] str r2, [sp, #8] add r4, r1, #0x800 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x20 str r1, [sp, #0x3c] @@ -394,7 +394,7 @@ _0216db80: bl func_ov00_020c3348 ldrh r2, [r4, #0x24] ldrh r1, [r4, #0x26] - ldr r3, _0216dccc ; =data_027e0f94 + ldr r3, _0216dccc ; =gPlayerPos ldr r0, _0216dcd0 ; =gMapManager strh r1, [sp, #0x22] strh r2, [sp, #0x20] @@ -439,7 +439,7 @@ _0216db80: str r3, [sp, #0x1c] bl _ZN10MapManager18func_ov00_02083f44EP5Vec3p str r0, [r4, #0x18] - ldr r0, _0216dcd4 ; =data_027e0fac + ldr r0, _0216dcd4 ; =gPlayerAngle add r2, r4, #0x14 ldrsh r4, [r0] add r1, sp, #4 @@ -454,9 +454,9 @@ _0216db80: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0216dcc8: .word data_027e0fe8 -_0216dccc: .word data_027e0f94 +_0216dccc: .word gPlayerPos _0216dcd0: .word gMapManager -_0216dcd4: .word data_027e0fac +_0216dcd4: .word gPlayerAngle arm_func_end func_ov25_0216daa4 .global func_ov25_0216dcd8 @@ -720,10 +720,10 @@ func_ov25_0216e024: ; 0x0216e024 mov r0, r1 add r2, sp, #0 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r2, _0216e088 ; =0x0000071c @@ -786,7 +786,7 @@ func_ov25_0216e0dc: ; 0x0216e0dc bl func_0202b154 mov r1, r4 add r0, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _0216e170 ; =0x0000019a cmp r0, r1 bge _0216e124 @@ -828,10 +828,10 @@ func_ov25_0216e174: ; 0x0216e174 mov r0, r1 add r1, r4, #0x48 add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -839,7 +839,7 @@ func_ov25_0216e174: ; 0x0216e174 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0216e230 ; =data_02050f54 + ldr r1, _0216e230 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r2, [r1, r2] mov r0, r0, lsl #0x1 @@ -871,7 +871,7 @@ func_ov25_0216e174: ; 0x0216e174 str r1, [r4, #0x68] ldmia sp!, {r4, pc} .align 2, 0 -_0216e230: .word data_02050f54 +_0216e230: .word gSinCosTable _0216e234: .word 0x00000333 arm_func_end func_ov25_0216e174 @@ -888,7 +888,7 @@ func_ov25_0216e238: ; 0x0216e238 bl func_0202b154 mov r1, r5 add r0, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _0216e374 ; =0x0000019a cmp r0, r1 bge _0216e288 @@ -911,12 +911,12 @@ _0216e2a8: add r2, sp, #0 mov r0, r5 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r4, #0x60 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _0216e378 ; =0x00000fae mov r2, #0 umull ip, r3, r0, r1 @@ -1029,7 +1029,7 @@ func_ov25_0216e430: ; 0x0216e430 mov r0, r5 add r1, r6, #0x48 add r2, r6, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r6, #0x60 mov r3, #0 mov r1, r4 @@ -1056,12 +1056,12 @@ func_ov25_0216e490: ; 0x0216e490 add r2, sp, #0 add r1, r4, #0x48 mov r5, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r4, #0x60 - bl func_01ff9cec + bl Vec3p_Length ldr r1, [sp, #0x20] mov r2, #0 add r1, r0, r1 @@ -1342,7 +1342,7 @@ _0216e880: .word func_ov25_0216e750 arm_func_start func_ov25_0216e884 func_ov25_0216e884: ; 0x0216e884 stmdb sp!, {r4, lr} - ldr r1, _0216e91c ; =data_027e0f94 + ldr r1, _0216e91c ; =gPlayerPos mov r2, #0 ldr r1, [r1] str r1, [r0, #0x6cc] @@ -1380,7 +1380,7 @@ func_ov25_0216e884: ; 0x0216e884 strh r1, [r0, #0xda] ldmia sp!, {r4, pc} .align 2, 0 -_0216e91c: .word data_027e0f94 +_0216e91c: .word gPlayerPos _0216e920: .word data_027e0764 arm_func_end func_ov25_0216e884 @@ -1746,7 +1746,7 @@ func_ov25_0216ecf4: ; 0x0216ecf4 str r5, [sp, #0x40] str r2, [sp, #0x38] ldr r2, [r0, #8] - ldr r1, _0216eedc ; =data_027e0fe4 + ldr r1, _0216eedc ; =gActorManager str r2, [sp, #0x28] ldr r5, [r0, #0xc] ldr r0, [r1] @@ -1757,7 +1757,7 @@ func_ov25_0216ecf4: ; 0x0216ecf4 str r3, [sp, #0x30] str r3, [sp, #0x34] str r4, [sp, #0x74] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mvn r1, #0 ldr r0, [sp, #0x40] mov r6, #0 @@ -1772,7 +1772,7 @@ func_ov25_0216ecf4: ; 0x0216ecf4 str r1, [sp, #0x24] cmp r0, #0 ble _0216ee54 - ldr r10, _0216eedc ; =data_027e0fe4 + ldr r10, _0216eedc ; =gActorManager mov r8, r6 add r4, sp, #8 add r5, sp, #0 @@ -1838,7 +1838,7 @@ _0216eeb4: .align 2, 0 _0216eed4: .word _ZTV11FilterActor _0216eed8: .word 0x43425330 -_0216eedc: .word data_027e0fe4 +_0216eedc: .word gActorManager _0216eee0: .word data_027e0764 arm_func_end func_ov25_0216ecf4 @@ -2155,7 +2155,7 @@ _0216f2e4: str r1, [sp, #0xc] ldrh r1, [r0, #0x5c] ldr r0, [r4, #0x48] - ldr r2, _0216f438 ; =data_02050f54 + ldr r2, _0216f438 ; =gSinCosTable str r0, [r4, #0x63c] ldr r0, [r4, #0x4c] mov r1, r1, asr #0x4 @@ -2231,7 +2231,7 @@ _0216f428: .word data_027e0764 _0216f42c: .word 0x0000038f _0216f430: .word 0x0000071e _0216f434: .word 0x00000aac -_0216f438: .word data_02050f54 +_0216f438: .word gSinCosTable _0216f43c: .word data_027e0e58 arm_func_end func_ov25_0216efb0 @@ -2348,7 +2348,7 @@ _0216f5b8: str r1, [sp, #0x14] ldrh r1, [r0, #0x5c] ldr r0, [r4, #0x48] - ldr r2, _0216f7f0 ; =data_02050f54 + ldr r2, _0216f7f0 ; =gSinCosTable str r0, [r4, #0x63c] ldr r0, [r4, #0x4c] mov r1, r1, asr #0x4 @@ -2471,7 +2471,7 @@ _0216f780: add r1, r4, #0x48 add r2, r2, #0x400 str ip, [sp, #8] - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi mov r0, #0 str r0, [sp] add r1, r4, #0x23c @@ -2485,7 +2485,7 @@ _0216f780: .align 2, 0 _0216f7e8: .word data_027e0e58 _0216f7ec: .word 0x88888889 -_0216f7f0: .word data_02050f54 +_0216f7f0: .word gSinCosTable _0216f7f4: .word data_027e0178 _0216f7f8: .word 0x0000019a _0216f7fc: .word data_027e0ffc @@ -3167,7 +3167,7 @@ _021700c0: ldrsh r0, [r0, #0x20] cmp r0, #0 bgt _0217017c - ldr r0, _021703ac ; =data_027e0fc8 + ldr r0, _021703ac ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -3213,7 +3213,7 @@ _021701f4: cmp r0, #0 add r0, r4, #0x60 beq _02170358 - bl func_01ff9cec + bl Vec3p_Length ldr r1, [r6, #0x620] ldr r2, [r6, #0x624] mov r5, r0 @@ -3249,10 +3249,10 @@ _02170278: add r2, sp, #0x1c add r1, r6, #0x48 str r3, [sp, #0x30] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldr r1, _021703b4 ; =0x00000e39 mov r2, r0, asr #0x10 @@ -3268,7 +3268,7 @@ _021702c8: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _021703b8 ; =data_02050f54 + ldr r1, _021703b8 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r7, [r1, r2] mov r0, r0, lsl #0x1 @@ -3300,7 +3300,7 @@ _021702c8: bl func_ov25_02171e80 b _02170378 _02170358: - bl func_01ff9cec + bl Vec3p_Length mov r2, #0 str r0, [sp, #0x18] add r1, sp, #0x10 @@ -3324,10 +3324,10 @@ _02170390: .align 2, 0 _021703a4: .word 0x43425332 _021703a8: .word data_027e0764 -_021703ac: .word data_027e0fc8 +_021703ac: .word gPlayerLink _021703b0: .word data_ov00_020eec68 _021703b4: .word 0x00000e39 -_021703b8: .word data_02050f54 +_021703b8: .word gSinCosTable arm_func_end func_ov25_0216ff44 .global func_ov25_021703bc @@ -3335,7 +3335,7 @@ _021703b8: .word data_02050f54 func_ov25_021703bc: ; 0x021703bc stmdb sp!, {r4, lr} sub sp, sp, #0xc0 - ldr r1, _02170d54 ; =data_027e0fc8 + ldr r1, _02170d54 ; =gPlayerLink mov r4, r0 ldr r0, [r1] add r1, r4, #0x48 @@ -3790,15 +3790,15 @@ _021709d4: mov r0, r4 str r2, [r1, #0x10] bl func_ov25_0216ef9c - ldr r1, _02170d58 ; =data_027e0fb8 + ldr r1, _02170d58 ; =gPlayerControl mov r0, r4 ldr r1, [r1] mov r2, #1 strb r2, [r1, #0x78] bl _ZN5Actor14GetAngleToLinkEv - ldr r1, _02170d54 ; =data_027e0fc8 + ldr r1, _02170d54 ; =gPlayerLink sub r3, r0, #0x8000 - ldr r2, _02170d5c ; =data_027e0fac + ldr r2, _02170d5c ; =gPlayerAngle ldr r0, [r1] mvn r1, #0 strh r3, [r2] @@ -3815,7 +3815,7 @@ _02170a8c: bl func_ov25_0216f898 b _02170d10 _02170aa8: - ldr r0, _02170d54 ; =data_027e0fc8 + ldr r0, _02170d54 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 @@ -3831,7 +3831,7 @@ _02170aa8: bl func_ov25_0216f898 b _02170d10 _02170ae4: - ldr r0, _02170d54 ; =data_027e0fc8 + ldr r0, _02170d54 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 @@ -3849,7 +3849,7 @@ _02170b1c: mov r0, r4 mov r1, #0 bl func_ov25_0216e08c - ldr r0, _02170d54 ; =data_027e0fc8 + ldr r0, _02170d54 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 @@ -3889,7 +3889,7 @@ _02170b1c: sub r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 - ldr r0, _02170d54 ; =data_027e0fc8 + ldr r0, _02170d54 ; =gPlayerLink add r1, sp, #4 ldr r0, [r0] bl func_ov00_020bcdec @@ -3903,7 +3903,7 @@ _02170bf0: mov r0, r4 mov r1, #0 bl func_ov25_0216e08c - ldr r0, _02170d54 ; =data_027e0fc8 + ldr r0, _02170d54 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 @@ -3933,7 +3933,7 @@ _02170bf0: bl func_ov25_0216f898 b _02170d10 _02170c70: - ldr r0, _02170d54 ; =data_027e0fc8 + ldr r0, _02170d54 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 @@ -3952,7 +3952,7 @@ _02170c70: bl func_ov25_0216f898 b _02170d10 _02170cb8: - ldr r0, _02170d54 ; =data_027e0fc8 + ldr r0, _02170d54 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] mov r2, #0x1000 @@ -3969,7 +3969,7 @@ _02170cb8: bl func_ov00_020875f8 mov r0, r4 bl func_ov00_020cc960 - ldr r0, _02170d54 ; =data_027e0fc8 + ldr r0, _02170d54 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd0a8 mov r0, r4 @@ -3995,9 +3995,9 @@ _02170d38: add sp, sp, #0xc0 ldmia sp!, {r4, pc} .align 2, 0 -_02170d54: .word data_027e0fc8 -_02170d58: .word data_027e0fb8 -_02170d5c: .word data_027e0fac +_02170d54: .word gPlayerLink +_02170d58: .word gPlayerControl +_02170d5c: .word gPlayerAngle _02170d60: .word data_ov25_0217a880 _02170d64: .word data_027e0ff0 _02170d68: .word gAdventureFlags @@ -4094,7 +4094,7 @@ func_ov25_02170e64: ; 0x02170e64 cmp r0, #0 beq _02171110 add r0, sp, #0x68 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x68 str r1, [sp, #0x84] @@ -4110,7 +4110,7 @@ func_ov25_02170e64: ; 0x02170e64 stmia r3, {r0, r1, r2} ldrh r0, [r8, #0x78] ldr r7, [r8, #0x48] - ldr r4, _02171334 ; =data_02050f54 + ldr r4, _02171334 ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -4201,7 +4201,7 @@ _02170fd8: bl func_ov00_020c4048 cmp r0, #0 blt _021710ec - ldr r0, _02171350 ; =data_027e0fe4 + ldr r0, _02171350 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4264,7 +4264,7 @@ _021710f8: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02171110: add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] @@ -4336,7 +4336,7 @@ _02171200: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r8, #0x78] - ldr r4, _02171334 ; =data_02050f54 + ldr r4, _02171334 ; =gSinCosTable ldr r1, [r8, #0x48] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -4394,7 +4394,7 @@ _02171200: addlt sp, sp, #0x94 movlt r0, #0 ldmltia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02171350 ; =data_027e0fe4 + ldr r0, _02171350 ; =gActorManager add r1, r8, #0x2dc ldr r0, [r0] add r1, r1, #0x400 @@ -4409,14 +4409,14 @@ _02171200: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02171330: .word data_ov25_02179340 -_02171334: .word data_02050f54 +_02171334: .word gSinCosTable _02171338: .word data_027e0764 _0217133c: .word 0xffffeaab _02171340: .word 0x00000266 _02171344: .word data_027e0ffc _02171348: .word data_027e0fe8 _0217134c: .word 0x43425332 -_02171350: .word data_027e0fe4 +_02171350: .word gActorManager _02171354: .word 0x000002da _02171358: .word data_ov25_0217934c arm_func_end func_ov25_02170e64 @@ -4425,7 +4425,7 @@ _02171358: .word data_ov25_0217934c arm_func_start func_ov25_0217135c func_ov25_0217135c: ; 0x0217135c stmdb sp!, {r3, lr} - ldr r2, _02171384 ; =data_027e0fe4 + ldr r2, _02171384 ; =gActorManager add r1, r0, #0x2dc ldr r0, [r2] add r1, r1, #0x400 @@ -4435,14 +4435,14 @@ func_ov25_0217135c: ; 0x0217135c movne r0, #0 ldmia sp!, {r3, pc} .align 2, 0 -_02171384: .word data_027e0fe4 +_02171384: .word gActorManager arm_func_end func_ov25_0217135c .global func_ov25_02171388 arm_func_start func_ov25_02171388 func_ov25_02171388: ; 0x02171388 stmdb sp!, {r3, lr} - ldr r2, _021713c0 ; =data_027e0fe4 + ldr r2, _021713c0 ; =gActorManager add r1, r0, #0x2dc ldr r0, [r2] add r1, r1, #0x400 @@ -4457,14 +4457,14 @@ _021713b8: mov r0, #0 ldmia sp!, {r3, pc} .align 2, 0 -_021713c0: .word data_027e0fe4 +_021713c0: .word gActorManager arm_func_end func_ov25_02171388 .global func_ov25_021713c4 arm_func_start func_ov25_021713c4 func_ov25_021713c4: ; 0x021713c4 stmdb sp!, {r3, r4, r5, r6, r7, lr} - ldr r2, _02171474 ; =data_027e0fe4 + ldr r2, _02171474 ; =gActorManager mov r4, r0 add r1, r4, #0x2dc ldr r0, [r2] @@ -4508,7 +4508,7 @@ func_ov25_021713c4: ; 0x021713c4 strgt r1, [r4, #0x69c] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02171474: .word data_027e0fe4 +_02171474: .word gActorManager _02171478: .word data_027e0764 _0217147c: .word 0x00004001 arm_func_end func_ov25_021713c4 @@ -4520,7 +4520,7 @@ func_ov25_02171480: ; 0x02171480 sub sp, sp, #0x44 mov r4, r0 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -4570,7 +4570,7 @@ func_ov25_02171508: ; 0x02171508 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -4596,7 +4596,7 @@ func_ov25_02171508: ; 0x02171508 add r3, sp, #0xc mov r2, r4 bl func_ov00_020c4048 - ldr r0, _021715e8 ; =data_027e0fe4 + ldr r0, _021715e8 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4613,7 +4613,7 @@ func_ov25_02171508: ; 0x02171508 _021715dc: .word gMapManager _021715e0: .word data_027e0fe8 _021715e4: .word 0x4e4b4559 -_021715e8: .word data_027e0fe4 +_021715e8: .word gActorManager arm_func_end func_ov25_02171508 .global func_ov25_021715ec @@ -5016,10 +5016,10 @@ func_ov25_02171abc: ; 0x02171abc mov r0, r2 add r2, sp, #0x24 mov r4, r1 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x24 add r1, sp, #0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [sp] ldr r6, [sp, #8] rsb r2, r1, #0 @@ -5029,11 +5029,11 @@ func_ov25_02171abc: ; 0x02171abc str r6, [sp, #0x18] str r3, [sp, #0x1c] str r2, [sp, #0x20] - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0 add r1, sp, #0x18 add r2, sp, #0xc - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [sp, #0x1c] ldr r1, [sp, #0x18] str r0, [sp, #0x34] @@ -5278,10 +5278,10 @@ func_ov25_02171e30: ; 0x02171e30 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov25_02171e30 @@ -5293,10 +5293,10 @@ func_ov25_02171e58: ; 0x02171e58 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov25_02171e58 @@ -5471,7 +5471,7 @@ _0217204c: add r0, r6, #0x48 bl func_ov25_02171c2c add r0, r6, #0x60 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _021721d8 ; =0x0000119a mov r2, #0 umull r4, r3, r0, r1 @@ -5519,13 +5519,13 @@ _0217210c: bl func_ov00_020ceacc add r0, r6, #0x48 bl func_ov25_02171c2c - ldr r0, _021721e0 ; =data_027e0fe4 + ldr r0, _021721e0 ; =gActorManager add r1, r6, #0x174 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r4, r0 add r0, r6, #0x60 - bl func_01ff9cec + bl Vec3p_Length ldr r1, _021721d8 ; =0x0000119a mov r2, #0 umull r5, r3, r0, r1 @@ -5541,12 +5541,12 @@ _0217210c: add r1, r6, #0x48 add r2, r6, #0x60 movge r5, #0x400 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [r6, #0x64] add r0, r6, #0x60 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [r6, #0x60] smull r1, r0, r5, r0 adds r1, r1, #0x800 @@ -5567,7 +5567,7 @@ _021721d0: .word data_027e0ffc _021721d4: .word 0x000002df _021721d8: .word 0x0000119a _021721dc: .word data_027e0764 -_021721e0: .word data_027e0fe4 +_021721e0: .word gActorManager arm_func_end func_ov25_02171fe8 .global func_ov25_021721e4 @@ -5630,7 +5630,7 @@ _0217229c: beq _02172370 ldr r0, [r5, #0xc4] ldr r1, [r5, #0xcc] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x100 strh r0, [r1, #0x70] ldr r0, _021724e0 ; =data_027e0ffc @@ -5807,7 +5807,7 @@ func_ov25_021724fc: ; 0x021724fc add r0, r4, #0x48 bl func_ov25_02171c2c add r0, sp, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -5824,7 +5824,7 @@ func_ov25_021724fc: ; 0x021724fc add ip, r4, #0x100 ldrh r0, [ip, #0x70] ldr r7, [r4, #0x48] - ldr r6, _021726c8 ; =data_02050f54 + ldr r6, _021726c8 ; =gSinCosTable mov r0, r0, asr #0x4 mov r8, r0, lsl #0x1 str r7, [sp, #0x10] @@ -5917,7 +5917,7 @@ func_ov25_021724fc: ; 0x021724fc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _021726c4: .word data_ov25_02179524 -_021726c8: .word data_02050f54 +_021726c8: .word gSinCosTable _021726cc: .word data_027e0fe8 _021726d0: .word 0x43425334 arm_func_end func_ov25_021724fc @@ -5931,7 +5931,7 @@ func_ov25_021726d4: ; 0x021726d4 add r0, r4, #0x48 bl func_ov25_02171c2c add r0, sp, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -5948,7 +5948,7 @@ func_ov25_021726d4: ; 0x021726d4 add r6, r4, #0x100 ldrh r0, [r6, #0x70] ldr r6, [r4, #0x48] - ldr r5, _021728cc ; =data_02050f54 + ldr r5, _021728cc ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 mov r0, r1, lsl #0x1 @@ -6052,7 +6052,7 @@ func_ov25_021726d4: ; 0x021726d4 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _021728c8: .word data_ov25_02179530 -_021728cc: .word data_02050f54 +_021728cc: .word gSinCosTable _021728d0: .word data_027e0fe8 _021728d4: .word 0x43425334 arm_func_end func_ov25_021726d4 @@ -6564,7 +6564,7 @@ _02172f34: add r0, sp, #0x80 str r1, [sp, #0x14] str r1, [sp, #0x18] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x80 str r1, [sp, #0x9c] @@ -6593,7 +6593,7 @@ _02172fa4: add r0, sp, #0x54 str r1, [sp, #0xc] str r1, [sp, #0x10] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x54 str r1, [sp, #0x70] @@ -6622,7 +6622,7 @@ _02173014: add r0, sp, #0x28 str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x28 str r1, [sp, #0x44] @@ -6806,7 +6806,7 @@ _02173294: bl func_ov25_02173354 mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021732b4: .word 0x00001555 @@ -6856,7 +6856,7 @@ func_ov25_021732fc: ; 0x021732fc bl func_ov25_02173354 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -6866,14 +6866,14 @@ _02173350: .word 0x0000071c .global func_ov25_02173354 arm_func_start func_ov25_02173354 func_ov25_02173354: ; 0x02173354 - ldr ip, _0217336c ; =func_01ff9bc4 + ldr ip, _0217336c ; =Vec3p_Add mov r2, r0 add r0, r2, #0x48 add r1, r2, #0x60 add r2, r2, #0x48 bx ip .align 2, 0 -_0217336c: .word func_01ff9bc4 +_0217336c: .word Vec3p_Add arm_func_end func_ov25_02173354 .global func_ov25_02173370 @@ -6980,11 +6980,11 @@ _021734c4: add r8, r8, #8 cmp r8, r0 blo _021734c4 - ldr r0, _02173588 ; =data_027e0fe4 + ldr r0, _02173588 ; =gActorManager add r1, sp, #0x8c ldr r0, [r0] add r2, sp, #0 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mvn r0, #0 str r0, [r10] str r0, [r10, #4] @@ -6994,7 +6994,7 @@ _021734c4: mov r6, #0 addle sp, sp, #0xd4 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r11, _02173588 ; =data_027e0fe4 + ldr r11, _02173588 ; =gActorManager mov r8, r6 _02173518: ldr r1, [sp] @@ -7027,7 +7027,7 @@ _02173564: .align 2, 0 _02173580: .word _ZTV11FilterActor _02173584: .word 0x53504452 -_02173588: .word data_027e0fe4 +_02173588: .word gActorManager arm_func_end func_ov25_0217345c .global func_ov25_0217358c @@ -7174,7 +7174,7 @@ _02173724: .word 0x00710007 func_ov25_02173728: ; 0x02173728 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x74 - ldr r1, _02173a3c ; =data_027e0fe4 + ldr r1, _02173a3c ; =gActorManager mvn r8, #0 mov r4, r0 mov r7, #0 @@ -7208,7 +7208,7 @@ func_ov25_02173728: ; 0x02173728 str r5, [sp] str r3, [sp, #4] str r7, [sp, #8] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ble _02173a30 ldrh r0, [r4, #0x20] @@ -7225,7 +7225,7 @@ _021737e4: mov r5, r7 cmp r0, #0 ble _02173a30 - ldr r7, _02173a3c ; =data_027e0fe4 + ldr r7, _02173a3c ; =gActorManager add r6, sp, #0xc _021737fc: ldr r0, [r7] @@ -7269,7 +7269,7 @@ _02173878: mov r5, r7 cmp r0, #0 ble _02173a30 - ldr r7, _02173a3c ; =data_027e0fe4 + ldr r7, _02173a3c ; =gActorManager add r6, sp, #0xc _02173890: ldr r0, [r7] @@ -7313,7 +7313,7 @@ _0217390c: mov r5, r7 cmp r0, #0 ble _02173a30 - ldr r7, _02173a3c ; =data_027e0fe4 + ldr r7, _02173a3c ; =gActorManager add r6, sp, #0xc _02173924: ldr r0, [r7] @@ -7357,7 +7357,7 @@ _021739a0: mov r5, r7 cmp r0, #0 ble _02173a30 - ldr r7, _02173a3c ; =data_027e0fe4 + ldr r7, _02173a3c ; =gActorManager add r6, sp, #0xc _021739b8: ldr r0, [r7] @@ -7400,7 +7400,7 @@ _02173a30: add sp, sp, #0x74 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_02173a3c: .word data_027e0fe4 +_02173a3c: .word gActorManager _02173a40: .word _ZTV11FilterActor _02173a44: .word 0x43425331 arm_func_end func_ov25_02173728 @@ -7727,7 +7727,7 @@ _02173e74: mov r2, #0x1000 str r2, [r0, #0x10] mov r2, #0 - ldr r0, _02174040 ; =data_027e0fe4 + ldr r0, _02174040 ; =gActorManager str r2, [r4, #0x12c] ldr r0, [r0] add r1, r1, #0x400 @@ -7764,7 +7764,7 @@ _02173f0c: add r2, r4, #0x48 str r3, [r4, #0x12c] bl func_ov00_020ceacc - ldr r0, _02174040 ; =data_027e0fe4 + ldr r0, _02174040 ; =gActorManager add r1, r4, #0x144 ldr r0, [r0] add r1, r1, #0x400 @@ -7830,7 +7830,7 @@ _02174030: .word 0x000e005c _02174034: .word data_027e0c68 _02174038: .word data_027e0ffc _0217403c: .word 0x000002e1 -_02174040: .word data_027e0fe4 +_02174040: .word gActorManager _02174044: .word 0x0071002d arm_func_end func_ov25_02173ab4 @@ -8238,7 +8238,7 @@ _021745a8: add r2, r2, #0x7b bl func_ov25_021732fc _021745e0: - ldr r1, _02175088 ; =data_027e0f94 + ldr r1, _02175088 ; =gPlayerPos ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] @@ -8301,11 +8301,11 @@ _021746a8: ldrsh r2, [r0, #0x78] add r0, r4, #0x1f8 bl func_ov14_0214aa0c - ldr r1, _02175088 ; =data_027e0f94 + ldr r1, _02175088 ; =gPlayerPos mov r0, r4 mov r2, #0x7b bl func_ov25_021732fc - ldr r1, _02175088 ; =data_027e0f94 + ldr r1, _02175088 ; =gPlayerPos ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] @@ -8397,7 +8397,7 @@ _0217480c: bl func_ov14_0214aa0c mov r0, r4 bl func_ov25_02173250 - ldr r1, _02175088 ; =data_027e0f94 + ldr r1, _02175088 ; =gPlayerPos ldr r0, _0217507c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] @@ -8633,7 +8633,7 @@ _02174aa4: str r2, [sp, #0x314] mov r2, #1 str r5, [sp, #0x318] - ldr r3, _021750a4 ; =data_027e0fe4 + ldr r3, _021750a4 ; =gActorManager str r8, [sp, #0x2bc] add r5, sp, #0x13c strb r7, [sp, #0x31f] @@ -8653,7 +8653,7 @@ _02174aa4: add r1, r0, #0x48 add r0, r4, #0x48 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [sp, #0x13c] mov r1, #0 mov r0, r2, asr #0x1f @@ -8760,17 +8760,17 @@ _02174d9c: add r7, r7, #8 cmp r7, r0 blo _02174d9c - ldr r0, _021750a4 ; =data_027e0fe4 + ldr r0, _021750a4 ; =gActorManager add r1, sp, #0x1e0 ldr r0, [r0] add r2, sp, #0x154 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x15c] mov r6, #1 cmp r0, #0 mov r7, #0 ble _02174e14 - ldr r9, _021750a4 ; =data_027e0fe4 + ldr r9, _021750a4 ; =gActorManager mov r8, r7 mov r5, r7 _02174de4: @@ -8826,7 +8826,7 @@ _02174e90: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r4 bl func_ov14_0214591c mov r0, r4 @@ -8955,14 +8955,14 @@ _02175078: .word 0x00000152 _0217507c: .word gMapManager _02175080: .word 0xb60b60b7 _02175084: .word 0x00000171 -_02175088: .word data_027e0f94 +_02175088: .word gPlayerPos _0217508c: .word 0x00000555 _02175090: .word 0x00001333 _02175094: .word 0x000002aa _02175098: .word data_ov00_020eed2c _0217509c: .word 0x00000bb8 _021750a0: .word data_027e0f64 -_021750a4: .word data_027e0fe4 +_021750a4: .word gActorManager _021750a8: .word data_027e0c68 _021750ac: .word _ZTV11FilterActor _021750b0: .word 0x43425331 @@ -9768,7 +9768,7 @@ func_ov25_02175af0: ; 0x02175af0 func_ov25_02175b08: ; 0x02175b08 stmdb sp!, {r3, r4, r5, r6, r7, r8, lr} sub sp, sp, #0x74 - ldr r1, _02175c48 ; =data_027e0fe4 + ldr r1, _02175c48 ; =gActorManager mvn r8, #0 mov r7, #0 add r5, sp, #0x60 @@ -9802,13 +9802,13 @@ func_ov25_02175b08: ; 0x02175b08 str r7, [r5, #8] str r4, [sp] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ldrgt r0, [sp, #8] movgt r4, r7 cmpgt r0, #0 ble _02175bfc - ldr r7, _02175c48 ; =data_027e0fe4 + ldr r7, _02175c48 ; =gActorManager mov r5, r4 _02175bb8: ldr r1, [sp] @@ -9831,7 +9831,7 @@ _02175bb8: _02175bfc: ldr r0, [sp, #8] add r4, r6, #0x100 - ldr r5, _02175c48 ; =data_027e0fe4 + ldr r5, _02175c48 ; =gActorManager strh r0, [r4, #0x78] add r6, r6, #0x158 mov r7, #0 @@ -9851,7 +9851,7 @@ _02175c30: add sp, sp, #0x74 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_02175c48: .word data_027e0fe4 +_02175c48: .word gActorManager _02175c4c: .word _ZTV11FilterActor _02175c50: .word 0x43425330 arm_func_end func_ov25_02175b08 @@ -9917,7 +9917,7 @@ _02175d18: .word gMapManager arm_func_start func_ov25_02175d1c func_ov25_02175d1c: ; 0x02175d1c stmdb sp!, {r4, r5, r6, lr} - ldr r4, _02175d68 ; =data_027e0fe4 + ldr r4, _02175d68 ; =gActorManager add r6, r0, #0x158 mov r5, #0 _02175d2c: @@ -9938,14 +9938,14 @@ _02175d50: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02175d68: .word data_027e0fe4 +_02175d68: .word gActorManager arm_func_end func_ov25_02175d1c .global func_ov25_02175d6c arm_func_start func_ov25_02175d6c func_ov25_02175d6c: ; 0x02175d6c stmdb sp!, {r4, r5, r6, lr} - ldr r4, _02175db8 ; =data_027e0fe4 + ldr r4, _02175db8 ; =gActorManager add r6, r0, #0x158 mov r5, #0 _02175d7c: @@ -9966,7 +9966,7 @@ _02175da0: mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02175db8: .word data_027e0fe4 +_02175db8: .word gActorManager arm_func_end func_ov25_02175d6c .global func_ov25_02175dbc @@ -9974,7 +9974,7 @@ _02175db8: .word data_027e0fe4 func_ov25_02175dbc: ; 0x02175dbc stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 - ldr r1, _02175e78 ; =data_027e0fe4 + ldr r1, _02175e78 ; =gActorManager mov r5, r0 ldr r1, [r1] ldr r2, _02175e7c ; =0x43425330 @@ -9994,7 +9994,7 @@ func_ov25_02175dbc: ; 0x02175dbc ldmeqia sp!, {r4, r5, r6, r7, r8, pc} add r7, r5, #0x158 ldr r6, _02175e80 ; =data_027e0764 - ldr r5, _02175e78 ; =data_027e0fe4 + ldr r5, _02175e78 ; =gActorManager mov r8, #0 _02175e1c: ldr r1, [r6] @@ -10021,7 +10021,7 @@ _02175e1c: add sp, sp, #8 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02175e78: .word data_027e0fe4 +_02175e78: .word gActorManager _02175e7c: .word 0x43425330 _02175e80: .word data_027e0764 arm_func_end func_ov25_02175dbc @@ -10061,7 +10061,7 @@ _02175ee4: cmp r2, #4 blt _02175ee4 mov r7, #0 - ldr r11, _02175fa8 ; =data_027e0fe4 + ldr r11, _02175fa8 ; =gActorManager mov r9, r7 add r5, r10, #0x158 add r4, sp, #0 @@ -10111,7 +10111,7 @@ _02175f90: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02175fa8: .word data_027e0fe4 +_02175fa8: .word gActorManager arm_func_end func_ov25_02175e84 .global func_ov25_02175fac @@ -10145,7 +10145,7 @@ func_ov25_02175ff8: ; 0x02175ff8 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r8, r0 mov r6, #0 - ldr r4, _02176084 ; =data_027e0fe4 + ldr r4, _02176084 ; =gActorManager mov r5, r6 add r7, r8, #0x158 _02176010: @@ -10162,7 +10162,7 @@ _02176010: ldrsh r0, [r4, #0x78] cmp r0, r6 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} - ldr r5, _02176084 ; =data_027e0fe4 + ldr r5, _02176084 ; =gActorManager strh r6, [r4, #0x78] add r6, r8, #0x158 mov r7, #0 @@ -10181,7 +10181,7 @@ _02176070: blt _02176054 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02176084: .word data_027e0fe4 +_02176084: .word gActorManager arm_func_end func_ov25_02175ff8 .global func_ov25_02176088 @@ -10235,12 +10235,12 @@ _021760ec: add sp, sp, #0x13c ldmia sp!, {r4, r5, r6, r7, pc} _0217613c: - ldr r0, _0217633c ; =data_027e0fc8 + ldr r0, _0217633c ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] blx r1 - ldr r0, _0217633c ; =data_027e0fc8 + ldr r0, _0217633c ; =gPlayerLink mvn r1, #0 ldr r0, [r0] bl func_ov00_020bd070 @@ -10345,7 +10345,7 @@ _021762c4: _021762d0: bl func_ov25_02175dbc add r7, r4, #0x158 - ldr r5, _02176368 ; =data_027e0fe4 + ldr r5, _02176368 ; =gActorManager mov r6, #0 add r4, r4, #0x100 _021762e4: @@ -10376,7 +10376,7 @@ _02176330: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02176338: .word gAdventureFlags -_0217633c: .word data_027e0fc8 +_0217633c: .word gPlayerLink _02176340: .word data_027e0c68 _02176344: .word 0x00710012 _02176348: .word data_027e0db0 @@ -10387,7 +10387,7 @@ _02176358: .word 0x0000038e _0217635c: .word data_ov00_020eec68 _02176360: .word data_027e103c _02176364: .word 0x000e005e -_02176368: .word data_027e0fe4 +_02176368: .word gActorManager arm_func_end func_ov25_02176088 .global func_ov25_0217636c @@ -10521,7 +10521,7 @@ _02176510: mvn r0, #0 cmp r6, r0 beq _02176554 - ldr r0, _02176960 ; =data_027e0fe4 + ldr r0, _02176960 ; =gActorManager add r1, r4, #0x158 ldr r0, [r0] add r1, r1, r6, lsl #3 @@ -10537,7 +10537,7 @@ _02176510: bl func_ov25_0216eb98 _02176554: mov r9, #0 - ldr r5, _02176960 ; =data_027e0fe4 + ldr r5, _02176960 ; =gActorManager add r8, r4, #0x158 mov r7, #1 mov r6, r9 @@ -10616,7 +10616,7 @@ _02176648: cmp r0, #0 addne sp, sp, #0x24 ldmneia sp!, {r4, r5, r6, r7, r8, r9, pc} - ldr r0, _02176968 ; =data_027e0fc8 + ldr r0, _02176968 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd0a8 mov r0, r4 @@ -10625,7 +10625,7 @@ _02176648: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _0217669c: - ldr r8, _02176960 ; =data_027e0fe4 + ldr r8, _02176960 ; =gActorManager add r7, r4, #0x158 mov r6, #0 add r9, sp, #0xc @@ -10671,7 +10671,7 @@ _02176720: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02176744: - ldr r9, _02176960 ; =data_027e0fe4 + ldr r9, _02176960 ; =gActorManager add r7, r4, #0x158 mov r6, #0 add r5, r4, #0x17c @@ -10712,7 +10712,7 @@ _021767b4: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _021767d8: - ldr r5, _02176960 ; =data_027e0fe4 + ldr r5, _02176960 ; =gActorManager add r8, r4, #0x158 mov r7, #0 _021767e4: @@ -10743,7 +10743,7 @@ _02176830: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} _02176848: - ldr r5, _02176960 ; =data_027e0fe4 + ldr r5, _02176960 ; =gActorManager add r7, r4, #0x158 mov r6, #0 _02176854: @@ -10759,7 +10759,7 @@ _02176870: cmp r6, #4 add r7, r7, #8 blt _02176854 - ldr r5, _02176960 ; =data_027e0fe4 + ldr r5, _02176960 ; =gActorManager add r7, r4, #0x158 mov r6, #1 mov r8, #0 @@ -10786,7 +10786,7 @@ _021768c4: ldrsh r0, [r0, #0x78] cmp r0, #1 bne _02176940 - ldr r5, _02176960 ; =data_027e0fe4 + ldr r5, _02176960 ; =gActorManager add r7, r4, #0x158 mov r8, #0 _021768ec: @@ -10824,9 +10824,9 @@ _0217694c: _02176954: .word gMapManager _02176958: .word gAdventureFlags _0217695c: .word data_027e0c68 -_02176960: .word data_027e0fe4 +_02176960: .word gActorManager _02176964: .word data_027e0f64 -_02176968: .word data_027e0fc8 +_02176968: .word gPlayerLink arm_func_end func_ov25_021763a4 .global func_ov25_0217696c @@ -10956,7 +10956,7 @@ _02176ac4: .word 0x000004cd func_ov25_02176ac8: ; 0x02176ac8 stmdb sp!, {r4, lr} ldrh r2, [r0, #0x78] - ldr r4, _02176b80 ; =data_02050f54 + ldr r4, _02176b80 ; =gSinCosTable mov r1, #0 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -11001,7 +11001,7 @@ func_ov25_02176ac8: ; 0x02176ac8 str r2, [r0, #0x68] ldmia sp!, {r4, pc} .align 2, 0 -_02176b80: .word data_02050f54 +_02176b80: .word gSinCosTable _02176b84: .word 0x00000266 arm_func_end func_ov25_02176ac8 @@ -11013,10 +11013,10 @@ func_ov25_02176b88: ; 0x02176b88 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov25_02176b88 @@ -11081,7 +11081,7 @@ func_ov25_02176c10: ; 0x02176c10 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p add r0, r5, #0x14 add r1, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x5000 ble _02176c94 mov r0, r5 @@ -11384,7 +11384,7 @@ func_ov25_02176fbc: ; 0x02176fbc _02176ff8: cmp r1, #0xb blt _02177050 - ldr r0, _0217705c ; =data_027e0fe4 + ldr r0, _0217705c ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -11409,7 +11409,7 @@ _02177050: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217705c: .word data_027e0fe4 +_0217705c: .word gActorManager _02177060: .word 0x424c5354 arm_func_end func_ov25_02176fbc @@ -11423,7 +11423,7 @@ func_ov25_02177064: ; 0x02177064 cmp r0, #1 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} - ldr r0, _021770e4 ; =data_027e0fe4 + ldr r0, _021770e4 ; =gActorManager ldrb r5, [r4, #0x15] ldrb lr, [r4, #0x14] ldr ip, _021770e8 ; =data_ov25_0217a19c @@ -11435,7 +11435,7 @@ func_ov25_02177064: ; 0x02177064 str r3, [sp, #4] strb lr, [sp, #8] strb r5, [sp, #9] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 addgt sp, sp, #0xc ldmgtia sp!, {r4, r5, pc} @@ -11449,7 +11449,7 @@ func_ov25_02177064: ; 0x02177064 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_021770e4: .word data_027e0fe4 +_021770e4: .word gActorManager _021770e8: .word data_ov25_0217a19c _021770ec: .word 0x43425331 arm_func_end func_ov25_02177064 @@ -12317,7 +12317,7 @@ func_ov25_02177bbc: ; 0x02177bbc sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -12330,7 +12330,7 @@ func_ov25_02177bbc: ; 0x02177bbc mov ip, #0 str r0, [sp, #0x30] ldrb r2, [r4, #0x124] - ldr r5, _02177ca4 ; =data_02050f54 + ldr r5, _02177ca4 ; =gSinCosTable ldr r0, _02177ca8 ; =0x000004cd str r2, [sp, #0x34] ldrh lr, [r4, #0x78] @@ -12346,7 +12346,7 @@ func_ov25_02177bbc: ; 0x02177bbc ldrsh ip, [r5, ip] str lr, [sp, #4] str ip, [sp, #0xc] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [sp, #8] mov r1, #0 add r0, r0, #0xcd @@ -12372,7 +12372,7 @@ func_ov25_02177bbc: ; 0x02177bbc add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02177ca4: .word data_02050f54 +_02177ca4: .word gSinCosTable _02177ca8: .word 0x000004cd _02177cac: .word data_027e0fe8 _02177cb0: .word 0x47534642 @@ -12480,19 +12480,19 @@ _02177dc0: .word data_ov25_0217a434 func_ov25_02177dc4: ; 0x02177dc4 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r4, r0 - ldr r0, _02177efc ; =data_027e0f94 + ldr r0, _02177efc ; =gPlayerPos add r1, r4, #0x48 add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [r4, #0x64] ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x100 strh r0, [r1, #0x5c] ldrh r1, [r1, #0x5c] - ldr r3, _02177f00 ; =data_02050f54 + ldr r3, _02177f00 ; =gSinCosTable mov r0, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -12557,8 +12557,8 @@ func_ov25_02177dc4: ; 0x02177dc4 strh r1, [r0, #0x6c] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02177efc: .word data_027e0f94 -_02177f00: .word data_02050f54 +_02177efc: .word gPlayerPos +_02177f00: .word gSinCosTable _02177f04: .word data_027e0764 arm_func_end func_ov25_02177dc4 @@ -12598,7 +12598,7 @@ func_ov25_02177f08: ; 0x02177f08 tst r0, #0xff add r0, r4, #0x100 ldrnesh r0, [r0, #0x5c] - ldr r2, _02178094 ; =data_02050f54 + ldr r2, _02178094 ; =gSinCosTable addne r0, r0, #0x2000 ldreqsh r0, [r0, #0x5c] subeq r0, r0, #0x2000 @@ -12634,7 +12634,7 @@ _02177fe0: bl func_0202dc38 add r1, r4, #0x100 ldrh r0, [r1, #0x6c] - ldr ip, _02178094 ; =data_02050f54 + ldr ip, _02178094 ; =gSinCosTable ldr r2, _02178098 ; =0x0000019a add r0, r0, #0x3b8 add r0, r0, #0x800 @@ -12662,11 +12662,11 @@ _02177fe0: add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x64] - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02178090: .word data_027e0764 -_02178094: .word data_02050f54 +_02178094: .word gSinCosTable _02178098: .word 0x0000019a arm_func_end func_ov25_02177f08 @@ -12928,7 +12928,7 @@ _02178404: ldmia sp!, {r3, r4, r5, pc} _02178430: mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02178450 mov r0, r5 @@ -12993,11 +12993,11 @@ _02178508: .word 0x66666667 .global func_ov25_0217850c arm_func_start func_ov25_0217850c func_ov25_0217850c: ; 0x0217850c - ldr ip, _02178518 ; =func_01fffcec + ldr ip, _02178518 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02178518: .word func_01fffcec +_02178518: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov25_0217850c .global func_ov25_0217851c @@ -13679,19 +13679,19 @@ func_ov25_02178d0c: ; 0x02178d0c addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, pc} - ldr r0, _02178d84 ; =data_027e0f94 + ldr r0, _02178d84 ; =gPlayerPos add r2, sp, #0 add r1, r4, #0x34c - bl func_01ff9bf8 - ldr r0, _02178d88 ; =data_027e0f90 + bl Vec3p_Sub + ldr r0, _02178d88 ; =gPlayer add r1, r4, #0x34c ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 addeq sp, sp, #0xc moveq r0, #0 ldmeqia sp!, {r3, r4, pc} - ldr r0, _02178d88 ; =data_027e0f90 + ldr r0, _02178d88 ; =gPlayer ldrb r1, [r4, #0x124] ldr r0, [r0] add r2, sp, #0 @@ -13702,8 +13702,8 @@ func_ov25_02178d0c: ; 0x02178d0c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02178d84: .word data_027e0f94 -_02178d88: .word data_027e0f90 +_02178d84: .word gPlayerPos +_02178d88: .word gPlayer arm_func_end func_ov25_02178d0c .global func_ov25_02178d8c @@ -15239,7 +15239,7 @@ data_ov25_02179c80: ; 0x02179c80 .word func_ov00_020cad30 .global data_ov25_02179c84 data_ov25_02179c84: ; 0x02179c84 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_02179c88 data_ov25_02179c88: ; 0x02179c88 .word func_ov25_02170db8 @@ -15269,7 +15269,7 @@ data_ov25_02179ca8: ; 0x02179ca8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_02179cac data_ov25_02179cac: ; 0x02179cac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_02179cb0 data_ov25_02179cb0: ; 0x02179cb0 .word func_ov25_0216ff44 @@ -15570,7 +15570,7 @@ data_ov25_02179e64: ; 0x02179e64 .word func_ov25_021724ec ; func_ov61_021724ec .global data_ov25_02179e68 data_ov25_02179e68: ; 0x02179e68 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_02179e6c data_ov25_02179e6c: ; 0x02179e6c .word func_ov25_021724f8 @@ -15600,7 +15600,7 @@ data_ov25_02179e8c: ; 0x02179e8c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_02179e90 data_ov25_02179e90: ; 0x02179e90 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_02179e94 data_ov25_02179e94: ; 0x02179e94 .word func_ov25_02171f9c @@ -15711,7 +15711,7 @@ data_ov25_02179f20: ; 0x02179f20 .word func_ov14_02144b64 .global data_ov25_02179f24 data_ov25_02179f24: ; 0x02179f24 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_02179f28 data_ov25_02179f28: ; 0x02179f28 .word func_ov25_0217536c @@ -15741,10 +15741,10 @@ data_ov25_02179f48: ; 0x02179f48 .word func_ov14_02145974 .global data_ov25_02179f4c data_ov25_02179f4c: ; 0x02179f4c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_02179f50 data_ov25_02179f50: ; 0x02179f50 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov25_02179f54 data_ov25_02179f54: ; 0x02179f54 .word _ZN5Actor8vfunc_4cEPi @@ -15924,7 +15924,7 @@ data_ov25_0217a03c: ; 0x0217a03c .word func_ov25_0217696c .global data_ov25_0217a040 data_ov25_0217a040: ; 0x0217a040 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_0217a044 data_ov25_0217a044: ; 0x0217a044 .word _ZN5Actor8vfunc_20Ei @@ -15954,10 +15954,10 @@ data_ov25_0217a064: ; 0x0217a064 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_0217a068 data_ov25_0217a068: ; 0x0217a068 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_0217a06c data_ov25_0217a06c: ; 0x0217a06c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov25_0217a070 data_ov25_0217a070: ; 0x0217a070 .word _ZN5Actor8vfunc_4cEPi @@ -16065,7 +16065,7 @@ data_ov25_0217a0f8: ; 0x0217a0f8 .word func_ov25_02176d74 .global data_ov25_0217a0fc data_ov25_0217a0fc: ; 0x0217a0fc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_0217a100 data_ov25_0217a100: ; 0x0217a100 .word func_ov25_02176d80 @@ -16095,10 +16095,10 @@ data_ov25_0217a120: ; 0x0217a120 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_0217a124 data_ov25_0217a124: ; 0x0217a124 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_0217a128 data_ov25_0217a128: ; 0x0217a128 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov25_0217a12c data_ov25_0217a12c: ; 0x0217a12c .word _ZN5Actor8vfunc_4cEPi @@ -16425,7 +16425,7 @@ data_ov25_0217a2d8: ; 0x0217a2d8 .word func_ov00_020cad30 .global data_ov25_0217a2dc data_ov25_0217a2dc: ; 0x0217a2dc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_0217a2e0 data_ov25_0217a2e0: ; 0x0217a2e0 .word func_ov00_020cb1c0 @@ -16455,7 +16455,7 @@ data_ov25_0217a300: ; 0x0217a300 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_0217a304 data_ov25_0217a304: ; 0x0217a304 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_0217a308 data_ov25_0217a308: ; 0x0217a308 .word func_ov00_020caeb4 @@ -16712,7 +16712,7 @@ data_ov25_0217a44c: ; 0x0217a44c .word _ZN5Actor8vfunc_18Ej .global data_ov25_0217a450 data_ov25_0217a450: ; 0x0217a450 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_0217a454 data_ov25_0217a454: ; 0x0217a454 .word func_ov25_0217851c @@ -16742,10 +16742,10 @@ data_ov25_0217a474: ; 0x0217a474 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_0217a478 data_ov25_0217a478: ; 0x0217a478 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_0217a47c data_ov25_0217a47c: ; 0x0217a47c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov25_0217a480 data_ov25_0217a480: ; 0x0217a480 .word _ZN5Actor8vfunc_4cEPi @@ -16853,7 +16853,7 @@ data_ov25_0217a508: ; 0x0217a508 .word func_ov25_021787ec .global data_ov25_0217a50c data_ov25_0217a50c: ; 0x0217a50c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_0217a510 data_ov25_0217a510: ; 0x0217a510 .word func_ov14_0215152c @@ -16883,10 +16883,10 @@ data_ov25_0217a530: ; 0x0217a530 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_0217a534 data_ov25_0217a534: ; 0x0217a534 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_0217a538 data_ov25_0217a538: ; 0x0217a538 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov25_0217a53c data_ov25_0217a53c: ; 0x0217a53c .word _ZN5Actor8vfunc_4cEPi @@ -17018,7 +17018,7 @@ data_ov25_0217a5e4: ; 0x0217a5e4 .word _ZN5Actor8vfunc_18Ej .global data_ov25_0217a5e8 data_ov25_0217a5e8: ; 0x0217a5e8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_0217a5ec data_ov25_0217a5ec: ; 0x0217a5ec .word func_ov25_021789c0 @@ -17048,10 +17048,10 @@ data_ov25_0217a60c: ; 0x0217a60c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_0217a610 data_ov25_0217a610: ; 0x0217a610 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_0217a614 data_ov25_0217a614: ; 0x0217a614 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov25_0217a618 data_ov25_0217a618: ; 0x0217a618 .word _ZN5Actor8vfunc_4cEPi @@ -17255,7 +17255,7 @@ data_ov25_0217a720: ; 0x0217a720 .word func_ov00_020cad30 .global data_ov25_0217a724 data_ov25_0217a724: ; 0x0217a724 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov25_0217a728 data_ov25_0217a728: ; 0x0217a728 .word func_ov00_020cb1c0 @@ -17285,7 +17285,7 @@ data_ov25_0217a748: ; 0x0217a748 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov25_0217a74c data_ov25_0217a74c: ; 0x0217a74c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov25_0217a750 data_ov25_0217a750: ; 0x0217a750 .word func_ov25_02178eac diff --git a/asm/ov26.inc b/asm/ov26.inc index 5ecfb24f..3434e375 100644 --- a/asm/ov26.inc +++ b/asm/ov26.inc @@ -37,7 +37,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -47,21 +47,21 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor4KillEv .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -94,7 +94,7 @@ .extern _ZNK11ItemManager19GetActiveFairyLevelEi .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02056be4 .extern data_02063e4c .extern data_027e0194 @@ -107,7 +107,7 @@ .extern data_027e0cbc .extern data_027e0ce0 .extern data_027e0d04 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d18 .extern data_027e0d38 .extern data_027e0d3c @@ -118,14 +118,14 @@ .extern data_027e0f6c .extern data_027e0f7c .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerAngle +.extern gPlayerLink .extern data_027e0fd4 .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -156,17 +156,17 @@ .extern func_01ff9158 .extern func_01ff9b4c .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance .extern func_01ffbe34 .extern func_01ffe468 .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffd04 +.extern _ZN5Actor13func_01fffd04Ei .extern func_020020d0 .extern func_0200250c .extern func_02002540 @@ -222,7 +222,7 @@ .extern func_ov00_02079680 .extern func_ov00_02079ab4 .extern func_ov00_02079e68 -.extern func_ov00_0207a188 +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern func_ov00_0207a1c8 .extern func_ov00_0207b55c .extern func_ov00_0207b820 @@ -316,7 +316,7 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov26.s b/asm/ov26.s index 3dc94461..b9711680 100644 --- a/asm/ov26.s +++ b/asm/ov26.s @@ -481,7 +481,7 @@ func_ov26_0216db44: ; 0x0216db44 mov r4, r0 cmp r1, #0 bne _0216db80 - ldr r1, _0216db98 ; =data_027e0fe4 + ldr r1, _0216db98 ; =gActorManager ldr r2, _0216db9c ; =0x43574d42 ldr r1, [r1] add r0, sp, #0 @@ -500,7 +500,7 @@ _0216db8c: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0216db98: .word data_027e0fe4 +_0216db98: .word gActorManager _0216db9c: .word 0x43574d42 arm_func_end func_ov26_0216db44 @@ -639,7 +639,7 @@ func_ov26_0216dccc: ; 0x0216dccc mov r4, r1 bl _ZN5Actor12GetOffsetPosEP5Vec3p ldrh r0, [r5, #0x78] - ldr r2, _0216dd34 ; =data_02050f54 + ldr r2, _0216dd34 ; =gSinCosTable ldr r1, [r4] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -661,7 +661,7 @@ func_ov26_0216dccc: ; 0x0216dccc str r0, [r4, #8] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0216dd34: .word data_02050f54 +_0216dd34: .word gSinCosTable arm_func_end func_ov26_0216dccc .global func_ov26_0216dd38 @@ -741,12 +741,12 @@ func_ov26_0216dde4: ; 0x0216dde4 ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} ldr r0, [sp, #0x24] - ldr r1, _0216de88 ; =data_027e0f94 + ldr r1, _0216de88 ; =gPlayerPos add r3, r0, #0x1000 add r2, sp, #0x10 mov r0, r5 str r3, [sp, #0x24] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x1000 ldr r1, [sp, #0x10] rsb r0, r0, #0 @@ -759,7 +759,7 @@ func_ov26_0216dde4: ; 0x0216dde4 strgt r0, [sp, #0x10] _0216de54: add r0, sp, #0x10 - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 add r1, sp, #0 mov r0, r4 @@ -772,7 +772,7 @@ _0216de54: add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0216de88: .word data_027e0f94 +_0216de88: .word gPlayerPos arm_func_end func_ov26_0216dde4 .global func_ov26_0216de8c @@ -783,7 +783,7 @@ func_ov26_0216de8c: ; 0x0216de8c mov r4, r0 cmp r1, #0 bne _0216dec8 - ldr r1, _0216dee0 ; =data_027e0fe4 + ldr r1, _0216dee0 ; =gActorManager ldr r2, _0216dee4 ; =0x434f4253 ldr r1, [r1] add r0, sp, #0 @@ -802,7 +802,7 @@ _0216ded4: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0216dee0: .word data_027e0fe4 +_0216dee0: .word gActorManager _0216dee4: .word 0x434f4253 arm_func_end func_ov26_0216de8c @@ -944,7 +944,7 @@ func_ov26_0216dfe4: ; 0x0216dfe4 str r2, [sp] add r0, r4, #0x44 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii ldr r1, _0216e07c ; =data_ov00_020e2f04 mov r0, #1 str r1, [r4, #0x58] @@ -1031,7 +1031,7 @@ func_ov26_0216e11c: ; 0x0216e11c add r1, sp, #0x30 str r3, [sp, #0x30] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrb r0, [r9, #0x14] ldrb r2, [r9, #0x15] cmp r0, #0 @@ -1089,7 +1089,7 @@ _0216e1e4: str r5, [sp, #0x24] str r4, [sp, #0x28] str r3, [sp, #0x2c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, r5 mov r1, #0x3000 str r2, [sp, #0x18] @@ -1099,7 +1099,7 @@ _0216e1e4: str r2, [sp, #0x20] add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -1528,7 +1528,7 @@ _0216e6f8: mov r4, r0, asr #0xc _0216e728: ldr r0, _0216e8b0 ; =data_027e0f64 - ldr r1, _0216e8b4 ; =data_027e0f94 + ldr r1, _0216e8b4 ; =gPlayerPos ldr r0, [r0] ldr r3, [r1] ldr r0, [r0, #4] @@ -1627,7 +1627,7 @@ _0216e728: .align 2, 0 _0216e8ac: .word data_027e0618 _0216e8b0: .word data_027e0f64 -_0216e8b4: .word data_027e0f94 +_0216e8b4: .word gPlayerPos arm_func_end func_ov26_0216e6a8 .global func_ov26_0216e8b8 @@ -2965,7 +2965,7 @@ func_ov26_0216f920: ; 0x0216f920 add r2, sp, #0xc add r1, r4, #0x48 str r3, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc mov r3, #0 mov r2, r0 @@ -3013,7 +3013,7 @@ func_ov26_0216f9f8: ; 0x0216f9f8 func_ov26_0216fa04: ; 0x0216fa04 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r1, _0216fb10 ; =data_027e0f94 + ldr r1, _0216fb10 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -3024,7 +3024,7 @@ func_ov26_0216fa04: ; 0x0216fa04 add r2, sp, #4 add r1, r4, #0x48 str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #4 mov r3, #0 ldr r1, _0216fb14 ; =0x000004cd @@ -3080,7 +3080,7 @@ _0216fa94: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0216fb10: .word data_027e0f94 +_0216fb10: .word gPlayerPos _0216fb14: .word 0x000004cd _0216fb18: .word gMapManager arm_func_end func_ov26_0216fa04 @@ -3140,7 +3140,7 @@ func_ov26_0216fba8: ; 0x0216fba8 mov r5, r0 add r2, r5, #0x400 ldrsh r0, [r2, #0xb2] - ldr r4, _0216fd80 ; =data_027e0f94 + ldr r4, _0216fd80 ; =gPlayerPos cmp r0, #0 subgt r0, r0, #1 strgth r0, [r2, #0xb2] @@ -3172,7 +3172,7 @@ _0216fc2c: add r0, r5, #0x400 ldrh r0, [r0, #0xb0] mov lr, #0 - ldr r1, _0216fd8c ; =data_02050f54 + ldr r1, _0216fd8c ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -3180,19 +3180,19 @@ _0216fc2c: ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 ldrsh ip, [r1, r0] - ldr r2, _0216fd90 ; =data_027e0d0c + ldr r2, _0216fd90 ; =gVec3p_ZERO add r1, sp, #0x10 add r3, sp, #0x28 mov r0, #0x400 str r6, [sp, #0x10] str lr, [sp, #0x14] str ip, [sp, #0x18] - bl func_01ff9e64 + bl Vec3p_Axpy add r1, r5, #0xdc add r0, sp, #0x28 add r2, sp, #0x1c add r1, r1, #0x400 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x1c mov r3, #0 mov r2, r0 @@ -3203,13 +3203,13 @@ _0216fc2c: add r0, r1, #0x400 mov r2, r0 add r1, sp, #0x1c - bl func_01ff9bc4 + bl Vec3p_Add add r1, r5, #0xdc mov r0, #0x1000 add r1, r1, #0x400 mov r2, r4 add r3, sp, #4 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r2, [sp, #4] ldr r1, [r5, #0x48] mov r0, r5 @@ -3255,11 +3255,11 @@ _0216fc2c: add sp, sp, #0x34 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0216fd80: .word data_027e0f94 +_0216fd80: .word gPlayerPos _0216fd84: .word data_027e0764 _0216fd88: .word 0x00008001 -_0216fd8c: .word data_02050f54 -_0216fd90: .word data_027e0d0c +_0216fd8c: .word gSinCosTable +_0216fd90: .word gVec3p_ZERO _0216fd94: .word gMapManager arm_func_end func_ov26_0216fba8 @@ -3287,7 +3287,7 @@ func_ov26_0216fdb0: ; 0x0216fdb0 add r2, sp, #0xc mov r0, r3 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc mov r3, #0 mov r2, r0 @@ -3522,7 +3522,7 @@ func_ov26_02170068: ; 0x02170068 ldmeqia sp!, {r3, pc} mov r1, #1 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldmia sp!, {r3, pc} arm_func_end func_ov26_02170068 @@ -3535,7 +3535,7 @@ func_ov26_02170088: ; 0x02170088 mov r0, r1 add r1, r4, #0x48 add r2, r4, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [r4, #0x64] add r0, r4, #0x60 @@ -3626,7 +3626,7 @@ func_ov26_02170180: ; 0x02170180 func_ov26_02170194: ; 0x02170194 stmdb sp!, {r4, lr} sub sp, sp, #0x10 - ldr r1, _02170258 ; =data_027e0f94 + ldr r1, _02170258 ; =gPlayerPos add r3, sp, #4 mov r4, r0 ldmia r1, {r0, r1, r2} @@ -3638,7 +3638,7 @@ func_ov26_02170194: ; 0x02170194 add r1, r4, #0x48 add r2, r4, #0x60 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r4, #0x60 ldr r1, _0217025c ; =0x000004cd mov r2, r0 @@ -3674,7 +3674,7 @@ func_ov26_02170194: ; 0x02170194 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_02170258: .word data_027e0f94 +_02170258: .word gPlayerPos _0217025c: .word 0x000004cd _02170260: .word gMapManager arm_func_end func_ov26_02170194 @@ -3698,7 +3698,7 @@ func_ov26_0217027c: ; 0x0217027c mov r2, #0 str r2, [r4, #0x60] str r2, [r4, #0x68] - ldr r1, _02170318 ; =data_027e0fac + ldr r1, _02170318 ; =gPlayerAngle str r2, [r4, #0x64] ldrsh r5, [r1] bl _ZN5Actor14GetAngleToLinkEv @@ -3733,7 +3733,7 @@ func_ov26_0217027c: ; 0x0217027c strh r0, [r4, #0x9c] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02170318: .word data_027e0fac +_02170318: .word gPlayerAngle _0217031c: .word data_027e0764 arm_func_end func_ov26_0217027c @@ -3747,17 +3747,17 @@ func_ov26_02170320: ; 0x02170320 ldrsh r3, [r4, #0x78] ldrsh r2, [r6, #0xea] ldr r0, _02170574 ; =0x0000071c - ldr r1, _02170578 ; =data_027e0fac + ldr r1, _02170578 ; =gPlayerAngle smlabb r0, r2, r0, r3 strh r0, [r4, #0x78] ldrsh r0, [r6, #0xe8] - ldr r3, _0217057c ; =data_02050f54 + ldr r3, _0217057c ; =gSinCosTable ldr r11, _02170580 ; =0x0000019a add r0, r0, #0x31c add r0, r0, #0x400 strh r0, [r6, #0xe8] ldrsh lr, [r1] - ldr r0, _02170584 ; =data_027e0f94 + ldr r0, _02170584 ; =gPlayerPos add ip, sp, #8 mov r1, lr, lsl #0x10 mov r1, r1, lsr #0x10 @@ -3805,7 +3805,7 @@ func_ov26_02170320: ; 0x02170320 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 ldrsh r8, [r3, r1] - ldr r1, _02170588 ; =data_027e0fa0 + ldr r1, _02170588 ; =gPlayerVel mov r2, r0 mov r5, r8, asr #0x1f mov r9, r5, lsl #0xa @@ -3853,7 +3853,7 @@ func_ov26_02170320: ; 0x02170320 add r3, r3, #0x300 add r3, r7, r3 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #8] mov r0, r4 str r1, [r4, #0x48] @@ -3862,7 +3862,7 @@ func_ov26_02170320: ; 0x02170320 str r2, [r4, #0x4c] ldr r2, [sp, #0x10] str r2, [r4, #0x50] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei mov r2, #0 add r1, sp, #4 add r0, r4, #0x48 @@ -3891,11 +3891,11 @@ func_ov26_02170320: ; 0x02170320 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02170574: .word 0x0000071c -_02170578: .word data_027e0fac -_0217057c: .word data_02050f54 +_02170578: .word gPlayerAngle +_0217057c: .word gSinCosTable _02170580: .word 0x0000019a -_02170584: .word data_027e0f94 -_02170588: .word data_027e0fa0 +_02170584: .word gPlayerPos +_02170588: .word gPlayerVel _0217058c: .word gMapManager arm_func_end func_ov26_02170320 @@ -3913,7 +3913,7 @@ func_ov26_02170590: ; 0x02170590 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02170648 ; =data_02050f54 + ldr r2, _02170648 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh lr, [r2, r1] mov r1, r0, lsl #0x1 @@ -3949,17 +3949,17 @@ func_ov26_02170590: ; 0x02170590 strh r0, [r4, #0x9c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02170648: .word data_02050f54 +_02170648: .word gSinCosTable _0217064c: .word 0x000004cd arm_func_end func_ov26_02170590 .global func_ov26_02170650 arm_func_start func_ov26_02170650 func_ov26_02170650: ; 0x02170650 - ldr r0, _02170658 ; =data_027e0f94 + ldr r0, _02170658 ; =gPlayerPos bx lr .align 2, 0 -_02170658: .word data_027e0f94 +_02170658: .word gPlayerPos arm_func_end func_ov26_02170650 .global func_ov26_0217065c @@ -4032,7 +4032,7 @@ func_ov26_02170704: ; 0x02170704 str r3, [sp, #8] bl _ZN10MapManager16MapData_vfunc_68Ev str r0, [sp, #0x10] - ldr r1, _02170790 ; =data_027e0f94 + ldr r1, _02170790 ; =gPlayerPos add r0, r4, #0x14 bl func_ov00_020c5464 cmp r0, #0 @@ -4050,7 +4050,7 @@ _02170780: ldmia sp!, {r4, pc} .align 2, 0 _0217078c: .word gMapManager -_02170790: .word data_027e0f94 +_02170790: .word gPlayerPos arm_func_end func_ov26_02170704 .global func_ov26_02170794 @@ -4929,7 +4929,7 @@ _021713b4: bl func_ov26_0216fa04 mov r0, r5 bl func_ov26_02170794 - ldr r0, _0217174c ; =data_027e0f94 + ldr r0, _0217174c ; =gPlayerPos bl func_ov00_020c5288 cmp r0, #0 mov r0, r5 @@ -4958,7 +4958,7 @@ _0217141c: bl func_ov26_0216fba8 mov r0, r5 bl func_ov26_02170794 - ldr r0, _0217174c ; =data_027e0f94 + ldr r0, _0217174c ; =gPlayerPos bl func_ov00_020c5288 cmp r0, #0 mov r0, r5 @@ -4988,7 +4988,7 @@ _02171488: bl func_ov26_02170194 mov r0, r5 bl func_ov26_02170794 - ldr r0, _0217174c ; =data_027e0f94 + ldr r0, _0217174c ; =gPlayerPos bl func_ov00_020c5288 cmp r0, #0 mov r0, r5 @@ -5001,7 +5001,7 @@ _021714b8: cmp r0, #0 beq _02171718 mov r3, #0 - ldr r0, _02171750 ; =data_027e0fc8 + ldr r0, _02171750 ; =gPlayerLink str r3, [sp] ldr r0, [r0] add r2, r5, #8 @@ -5022,7 +5022,7 @@ _02171504: bl func_ov26_02170320 mov r0, r5 bl func_ov26_02170794 - ldr r0, _0217174c ; =data_027e0f94 + ldr r0, _0217174c ; =gPlayerPos bl func_ov00_020c5288 cmp r0, #0 beq _02171718 @@ -5176,8 +5176,8 @@ _0217173c: .word 0x000001c1 _02171740: .word gAdventureFlags _02171744: .word data_ov00_020e8398 _02171748: .word data_027e0ff0 -_0217174c: .word data_027e0f94 -_02171750: .word data_027e0fc8 +_0217174c: .word gPlayerPos +_02171750: .word gPlayerLink arm_func_end func_ov26_02170d60 .global func_ov26_02171754 @@ -5827,7 +5827,7 @@ func_ov26_02171f24: ; 0x02171f24 mov r1, r0, lsl #0x1 add r0, r1, #1 mov r2, r0, lsl #0x1 - ldr r3, _021720ac ; =data_02050f54 + ldr r3, _021720ac ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] @@ -5853,11 +5853,11 @@ func_ov26_02171f24: ; 0x02171f24 add r0, sp, #0x6c add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x6c add r1, sp, #0xc add r2, sp, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp] ldr r1, [sp, #0xc] rsb r0, r0, #0 @@ -5867,11 +5867,11 @@ func_ov26_02171f24: ; 0x02171f24 add r1, sp, #0 mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x60 add r1, sp, #0xc add r2, sp, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x9c] cmp r0, #0 beq _0217207c @@ -5892,7 +5892,7 @@ _0217207c: _021720a0: .word 0xfffff004 _021720a4: .word 0x45800000 _021720a8: .word 0x46800000 -_021720ac: .word data_02050f54 +_021720ac: .word gSinCosTable _021720b0: .word 0x00000547 arm_func_end func_ov26_02171f24 @@ -5931,7 +5931,7 @@ _02172110: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0217220c ; =data_02050f54 + ldr r2, _0217220c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -5961,7 +5961,7 @@ _02172110: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0217220c ; =data_02050f54 + ldr r2, _0217220c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -5988,7 +5988,7 @@ _02172110: .align 2, 0 _02172204: .word 0x45800000 _02172208: .word 0x46800000 -_0217220c: .word data_02050f54 +_0217220c: .word gSinCosTable arm_func_end func_ov26_021720b4 .global func_ov26_02172210 @@ -6182,7 +6182,7 @@ _02172454: str ip, [sp, #0x30] str r3, [sp, #0x34] str ip, [sp, #0x38] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0x800 mov r1, #0x1000 str r1, [sp, #0x28] @@ -6191,7 +6191,7 @@ _02172454: str r2, [sp, #0x24] str r2, [sp, #0x2c] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r5, r0, #7 @@ -6731,7 +6731,7 @@ func_ov26_02172b14: ; 0x02172b14 mov r2, lr str ip, [sp, #0x30] str r3, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _02172d38 ; =0x00001333 add r0, sp, #0x50 str r1, [sp, #0x20] @@ -6741,7 +6741,7 @@ func_ov26_02172b14: ; 0x02172b14 str r1, [sp, #0x28] add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #7 @@ -6788,7 +6788,7 @@ func_ov26_02172b14: ; 0x02172b14 add r1, sp, #0x14 mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x50 ldr ip, _02172d3c ; =0x00002666 mov lr, #0x2000 @@ -6798,7 +6798,7 @@ func_ov26_02172b14: ; 0x02172b14 str lr, [sp, #8] str ip, [sp, #0xc] str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add ldr r3, [sp, #0x5c] ldr r2, [sp, #0x60] ldr r1, [sp, #0x64] @@ -7095,11 +7095,11 @@ _02173010: ldr r0, [r0, #4] add r3, sp, #0xbc bl func_ov00_020888e8 - ldr r0, _021732b0 ; =data_027e0f90 + ldr r0, _021732b0 ; =gPlayer mov r1, #0 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb - ldr r0, _021732b4 ; =data_027e0fe4 + ldr r0, _021732b4 ; =gActorManager mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x18] @@ -7146,11 +7146,11 @@ _02173160: ldr r0, _02173294 ; =data_027e077c mov r1, #1 bl func_0202e740 - ldr r0, _021732b0 ; =data_027e0f90 + ldr r0, _021732b0 ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb - ldr r0, _021732b4 ; =data_027e0fe4 + ldr r0, _021732b4 ; =gActorManager mov r2, #1 ldr r1, [r0] ldr r0, _0217329c ; =data_027e0f64 @@ -7230,8 +7230,8 @@ _021732a0: .word 0x00001555 _021732a4: .word 0x00001733 _021732a8: .word 0xfffff99a _021732ac: .word gAdventureFlags -_021732b0: .word data_027e0f90 -_021732b4: .word data_027e0fe4 +_021732b0: .word gPlayer +_021732b4: .word gActorManager _021732b8: .word data_027e0c68 _021732bc: .word gItemManager _021732c0: .word data_027e0ffc @@ -7415,7 +7415,7 @@ func_ov26_02173474: ; 0x02173474 str r2, [sp] add r0, r4, #0x110 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, #0 str r0, [r4, #0x124] strb r0, [r4, #0x128] @@ -7536,7 +7536,7 @@ func_ov26_021735bc: ; 0x021735bc str r5, [sp, #0x2c] str r3, [sp, #0x30] str r5, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x38 ldr r3, _0217372c ; =0x00001333 add r1, sp, #0x20 @@ -7544,7 +7544,7 @@ func_ov26_021735bc: ; 0x021735bc str r5, [sp, #0x20] str r3, [sp, #0x24] str r5, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov ip, #0 bic r1, ip, #0x1f orr r1, r1, #7 @@ -7705,7 +7705,7 @@ func_ov26_02173884: ; 0x02173884 addeq sp, sp, #0x24 ldmeqia sp!, {r4, r5, pc} ldrh r1, [r5, #0xc] - ldr r3, _02173904 ; =data_02050f54 + ldr r3, _02173904 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -7727,7 +7727,7 @@ func_ov26_02173884: ; 0x02173884 add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02173904: .word data_02050f54 +_02173904: .word gSinCosTable arm_func_end func_ov26_02173884 .global func_ov26_02173908 @@ -8973,7 +8973,7 @@ func_ov26_02174258: ; 0x02174258 lsl r0, r0, #1 add r1, r0, #1 lsl r2, r1, #1 - ldr r1, _021743f4 ; =data_02050f54 + ldr r1, _021743f4 ; =gSinCosTable lsl r0, r0, #1 ldrsh r2, [r1, r2] ldrsh r1, [r1, r0] @@ -8986,7 +8986,7 @@ func_ov26_02174258: ; 0x02174258 lsl r0, r0, #1 add r1, r0, #1 lsl r2, r1, #1 - ldr r1, _021743f4 ; =data_02050f54 + ldr r1, _021743f4 ; =gSinCosTable lsl r0, r0, #1 ldrsh r2, [r1, r2] ldrsh r1, [r1, r0] @@ -8999,7 +8999,7 @@ func_ov26_02174258: ; 0x02174258 lsl r0, r0, #1 add r1, r0, #1 lsl r2, r1, #1 - ldr r1, _021743f4 ; =data_02050f54 + ldr r1, _021743f4 ; =gSinCosTable lsl r0, r0, #1 ldrsh r2, [r1, r2] ldrsh r1, [r1, r0] @@ -9048,7 +9048,7 @@ _021743e4: .word data_ov26_021794e4 _021743e8: .word data_ov26_021794f8 _021743ec: .word data_ov26_0217950c _021743f0: .word data_ov00_020e9360 -_021743f4: .word data_02050f54 +_021743f4: .word gSinCosTable _021743f8: .word 0xfffffc00 _021743fc: .word data_027e0e58 thumb_func_end func_ov26_02174258 @@ -9288,7 +9288,7 @@ func_ov26_02174678: ; 0x02174678 str ip, [sp, #0x14] str r3, [sp, #0x18] str ip, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, _0217478c ; =0x00000666 mov r1, #0x1000 str r1, [sp, #0xc] @@ -9297,7 +9297,7 @@ func_ov26_02174678: ; 0x02174678 str r2, [sp, #8] str r2, [sp, #0x10] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f orr r0, r0, #6 @@ -9777,7 +9777,7 @@ _02174d14: ldr r0, [r0, #4] add r3, sp, #0xbc bl func_ov00_020888e8 - ldr r0, _02174ff0 ; =data_027e0f90 + ldr r0, _02174ff0 ; =gPlayer mov r1, #0 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -9840,7 +9840,7 @@ _02174ea4: ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_020875f8 - ldr r0, _02174ff0 ; =data_027e0f90 + ldr r0, _02174ff0 ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -9922,7 +9922,7 @@ _02174fe0: .word data_027e0f64 _02174fe4: .word 0x0000071c _02174fe8: .word 0x0000199a _02174fec: .word gAdventureFlags -_02174ff0: .word data_027e0f90 +_02174ff0: .word gPlayer _02174ff4: .word data_027e0c68 _02174ff8: .word data_027e1048 _02174ffc: .word data_027e104c @@ -11643,7 +11643,7 @@ func_ov26_0217640c: ; 0x0217640c str r2, [sp] add r0, r4, #0x138 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, #0 strb r0, [r4, #0x7e] strb r0, [r4, #0x88] @@ -11756,7 +11756,7 @@ func_ov26_02176554: ; 0x02176554 str r5, [sp, #0x2c] str r3, [sp, #0x30] str r5, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x38 ldr r3, _021766c0 ; =0x00001333 add r1, sp, #0x20 @@ -11764,7 +11764,7 @@ func_ov26_02176554: ; 0x02176554 str r5, [sp, #0x20] str r3, [sp, #0x24] str r5, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov r3, #0 bic r0, r3, #0x1f orr r0, r0, #7 @@ -12243,7 +12243,7 @@ func_ov26_02176b44: ; 0x02176b44 str r3, [sp, #0x3c] str r5, [sp, #0x4c] str r5, [sp, #0x40] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0x800 ldr r2, _02176cac ; =0x0000059a str r1, [sp, #0x20] @@ -12253,7 +12253,7 @@ func_ov26_02176b44: ; 0x02176b44 str r2, [sp, #0x28] add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r6, #0 bic r0, r6, #0x1f orr r0, r0, #7 @@ -12390,7 +12390,7 @@ func_ov26_02176db0: ; 0x02176db0 mov r4, r0 blx r3 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -12412,7 +12412,7 @@ func_ov26_02176db0: ; 0x02176db0 cmp r4, r0 addeq sp, sp, #0x30 ldmeqia sp!, {r4, pc} - ldr r0, _02176e74 ; =data_027e0fe4 + ldr r0, _02176e74 ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -12431,7 +12431,7 @@ func_ov26_02176db0: ; 0x02176db0 .align 2, 0 _02176e6c: .word data_027e0fe8 _02176e70: .word 0x54415255 -_02176e74: .word data_027e0fe4 +_02176e74: .word gActorManager arm_func_end func_ov26_02176db0 .global func_ov26_02176e78 @@ -12444,7 +12444,7 @@ func_ov26_02176e78: ; 0x02176e78 bne _02176f30 cmp r1, #0xb blt _02176f30 - ldr r0, _02176f38 ; =data_027e0fe4 + ldr r0, _02176f38 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -12491,7 +12491,7 @@ _02176f30: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02176f38: .word data_027e0fe4 +_02176f38: .word gActorManager _02176f3c: .word 0x424c5354 _02176f40: .word 0x41525257 _02176f44: .word 0x424d524e @@ -12673,10 +12673,10 @@ _0217717c: add r2, sp, #0 mov r0, r6 mov r1, r5 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #0x5000 add r2, r6, #0xc mov r5, #0 @@ -12690,13 +12690,13 @@ _0217717c: add r1, sp, #0 mov r3, r2 orr r0, r0, r4, lsl #20 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r6 add r1, r6, #0xc mov r2, r6 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r6, #0xc - bl func_01ff9cec + bl Vec3p_Length ldr r1, [r6, #0x18] add r0, r1, r0 str r0, [r6, #0x18] @@ -14095,7 +14095,7 @@ func_ov26_021782ac: ; 0x021782ac stmia r3, {r0, r1, r2} mov r0, r3 mov r1, r5 - bl func_01ff9ec0 + bl Vec3p_Distance rsb r0, r0, #0xe000 ldrb r2, [r4, #1] ldr r1, _021783ac ; =data_ov26_0217968c @@ -14263,7 +14263,7 @@ func_ov26_0217848c: ; 0x0217848c str r2, [sp] add r0, r4, #0x74 mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii mov r0, r4 add sp, sp, #4 ldmia sp!, {r3, r4, pc} @@ -14396,7 +14396,7 @@ _0217868c: str r5, [sp, #0x14] str r4, [sp, #0x18] str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 str r0, [r10, #0x78] str r0, [r10, #0x7c] @@ -14573,7 +14573,7 @@ _021788fc: ldr r3, [r3, #0x80] blx r3 _02178924: - ldr r0, _02178990 ; =data_027e0fc8 + ldr r0, _02178990 ; =gPlayerLink add r1, r5, #0x5c ldr r0, [r0] bl func_ov00_020bb68c @@ -14603,7 +14603,7 @@ _02178980: .word gAdventureFlags _02178984: .word 0x0000019a _02178988: .word 0xffffeccd _0217898c: .word data_027e0ffc -_02178990: .word data_027e0fc8 +_02178990: .word gPlayerLink arm_func_end func_ov26_0217873c .global func_ov26_02178994 @@ -14718,7 +14718,7 @@ _02178af4: sub r2, r1, #1 str r2, [r4, #0x40] bl func_ov26_02178c1c - ldr r0, _02178b38 ; =data_027e0fc8 + ldr r0, _02178b38 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd0a8 _02178b24: @@ -14728,7 +14728,7 @@ _02178b24: .align 2, 0 _02178b30: .word gAdventureFlags _02178b34: .word data_027e0f64 -_02178b38: .word data_027e0fc8 +_02178b38: .word gPlayerLink arm_func_end func_ov26_021789a4 .global func_ov26_02178b3c @@ -14873,7 +14873,7 @@ func_ov26_02178cbc: ; 0x02178cbc bl func_ov14_021418ec cmp r0, #0 beq _02178d78 - ldr r1, _02178e38 ; =data_027e0fa0 + ldr r1, _02178e38 ; =gPlayerVel add r0, sp, #0x14 ldr r3, [r1] ldr r2, [r1, #4] @@ -14881,7 +14881,7 @@ func_ov26_02178cbc: ; 0x02178cbc str r2, [sp, #0x18] ldr r1, [r1, #8] str r1, [sp, #0x1c] - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02178e3c ; =0x00000102 cmp r0, r1 blt _02178d54 @@ -14920,7 +14920,7 @@ _02178d78: cmp r0, #0 addeq sp, sp, #0x2c ldmeqia sp!, {r4, r5, pc} - ldr r1, _02178e38 ; =data_027e0fa0 + ldr r1, _02178e38 ; =gPlayerVel add r0, sp, #8 ldr r3, [r1] ldr r2, [r1, #4] @@ -14928,7 +14928,7 @@ _02178d78: str r2, [sp, #0xc] ldr r1, [r1, #8] str r1, [sp, #0x10] - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02178e3c ; =0x00000102 cmp r0, r1 blt _02178e0c @@ -14963,7 +14963,7 @@ _02178e0c: add sp, sp, #0x2c ldmia sp!, {r4, r5, pc} .align 2, 0 -_02178e38: .word data_027e0fa0 +_02178e38: .word gPlayerVel _02178e3c: .word 0x00000102 _02178e40: .word data_027e1038 _02178e44: .word data_027e0e58 @@ -15010,7 +15010,7 @@ _02178ea8: ble _02178ecc mov r0, r7 mov r1, r8 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1200 ldmltia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} _02178ecc: @@ -15225,7 +15225,7 @@ func_ov26_02179114: ; 0x02179114 str ip, [sp, #0x14] str r6, [sp, #0x18] str r3, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _02179234 ; =0x00004ccd mov r2, #0x1000 str r1, [sp, #0xc] @@ -15235,7 +15235,7 @@ func_ov26_02179114: ; 0x02179114 str r2, [sp, #8] add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x44 add lr, sp, #0x20 ldmia r0, {r0, r1, r2} @@ -16905,7 +16905,7 @@ data_ov26_0217a080: ; 0x0217a080 .word func_ov14_02144b64 .global data_ov26_0217a084 data_ov26_0217a084: ; 0x0217a084 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov26_0217a088 data_ov26_0217a088: ; 0x0217a088 .word func_ov14_02145100 @@ -16935,10 +16935,10 @@ data_ov26_0217a0a8: ; 0x0217a0a8 .word func_ov14_02145974 .global data_ov26_0217a0ac data_ov26_0217a0ac: ; 0x0217a0ac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov26_0217a0b0 data_ov26_0217a0b0: ; 0x0217a0b0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov26_0217a0b4 data_ov26_0217a0b4: ; 0x0217a0b4 .word _ZN5Actor8vfunc_4cEPi @@ -17100,7 +17100,7 @@ data_ov26_0217a184: ; 0x0217a184 .word func_ov14_02144b64 .global data_ov26_0217a188 data_ov26_0217a188: ; 0x0217a188 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov26_0217a18c data_ov26_0217a18c: ; 0x0217a18c .word func_ov26_0216dd38 @@ -17130,10 +17130,10 @@ data_ov26_0217a1ac: ; 0x0217a1ac .word func_ov14_02145974 .global data_ov26_0217a1b0 data_ov26_0217a1b0: ; 0x0217a1b0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov26_0217a1b4 data_ov26_0217a1b4: ; 0x0217a1b4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov26_0217a1b8 data_ov26_0217a1b8: ; 0x0217a1b8 .word _ZN5Actor8vfunc_4cEPi @@ -17295,7 +17295,7 @@ data_ov26_0217a288: ; 0x0217a288 .word func_ov14_02144b64 .global data_ov26_0217a28c data_ov26_0217a28c: ; 0x0217a28c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov26_0217a290 data_ov26_0217a290: ; 0x0217a290 .word func_ov14_02145100 @@ -17325,10 +17325,10 @@ data_ov26_0217a2b0: ; 0x0217a2b0 .word func_ov14_02145974 .global data_ov26_0217a2b4 data_ov26_0217a2b4: ; 0x0217a2b4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov26_0217a2b8 data_ov26_0217a2b8: ; 0x0217a2b8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov26_0217a2bc data_ov26_0217a2bc: ; 0x0217a2bc .word _ZN5Actor8vfunc_4cEPi @@ -17490,7 +17490,7 @@ data_ov26_0217a38c: ; 0x0217a38c .word func_ov14_02144b64 .global data_ov26_0217a390 data_ov26_0217a390: ; 0x0217a390 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov26_0217a394 data_ov26_0217a394: ; 0x0217a394 .word func_ov14_02145100 @@ -17520,10 +17520,10 @@ data_ov26_0217a3b4: ; 0x0217a3b4 .word func_ov14_02145974 .global data_ov26_0217a3b8 data_ov26_0217a3b8: ; 0x0217a3b8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov26_0217a3bc data_ov26_0217a3bc: ; 0x0217a3bc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov26_0217a3c0 data_ov26_0217a3c0: ; 0x0217a3c0 .word _ZN5Actor8vfunc_4cEPi @@ -18135,7 +18135,7 @@ data_ov26_0217a744: ; 0x0217a744 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov26_0217a748 data_ov26_0217a748: ; 0x0217a748 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov26_0217a74c data_ov26_0217a74c: ; 0x0217a74c .word func_ov26_02170894 @@ -19599,7 +19599,7 @@ data_ov26_0217aec8: ; 0x0217aec8 .word _ZN5Actor8vfunc_18Ej .global data_ov26_0217aecc data_ov26_0217aecc: ; 0x0217aecc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov26_0217aed0 data_ov26_0217aed0: ; 0x0217aed0 .word func_ov26_02177ba8 ; func_ov28_02177ba8 @@ -19629,10 +19629,10 @@ data_ov26_0217aef0: ; 0x0217aef0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov26_0217aef4 data_ov26_0217aef4: ; 0x0217aef4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov26_0217aef8 data_ov26_0217aef8: ; 0x0217aef8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov26_0217aefc data_ov26_0217aefc: ; 0x0217aefc .word _ZN5Actor8vfunc_4cEPi @@ -19848,7 +19848,7 @@ data_ov26_0217afa8: ; 0x0217afa8 .word func_ov26_02177f94 .global data_ov26_0217afac data_ov26_0217afac: ; 0x0217afac - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov26_0217afb0 data_ov26_0217afb0: ; 0x0217afb0 .word func_ov26_02177fa8 @@ -19878,10 +19878,10 @@ data_ov26_0217afd0: ; 0x0217afd0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov26_0217afd4 data_ov26_0217afd4: ; 0x0217afd4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov26_0217afd8 data_ov26_0217afd8: ; 0x0217afd8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov26_0217afdc data_ov26_0217afdc: ; 0x0217afdc .word _ZN5Actor8vfunc_4cEPi @@ -20001,7 +20001,7 @@ data_ov26_0217b074: ; 0x0217b074 .word _ZN5Actor8vfunc_18Ej .global data_ov26_0217b078 data_ov26_0217b078: ; 0x0217b078 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov26_0217b07c data_ov26_0217b07c: ; 0x0217b07c .word _ZN5Actor8vfunc_20Ei @@ -20031,10 +20031,10 @@ data_ov26_0217b09c: ; 0x0217b09c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov26_0217b0a0 data_ov26_0217b0a0: ; 0x0217b0a0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov26_0217b0a4 data_ov26_0217b0a4: ; 0x0217b0a4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov26_0217b0a8 data_ov26_0217b0a8: ; 0x0217b0a8 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov27.inc b/asm/ov27.inc index 7c9c1668..edf9b14d 100644 --- a/asm/ov27.inc +++ b/asm/ov27.inc @@ -1,13 +1,22 @@ #pragma once +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p .extern _ZN10MapManager18func_ov00_020836bcEjPi .extern _ZN10MapManager18func_ov00_020836dcEii .extern _ZN10MapManager18func_ov00_020838e8EjPi +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef +.extern _ZN12TouchControl13func_0202b864EP5Vec3pic +.extern _ZN12TouchControl13func_0202b894EP5Vec3pic .extern _ZN13PlayerControl14IsTouchingFastEv .extern _ZN14AdventureFlags18func_Ov00_02097810Ei .extern _ZN14AdventureFlags18func_ov00_02097738Ev @@ -15,15 +24,17 @@ .extern _ZN14AdventureFlags18func_ov00_02097bccEv .extern _ZN14AdventureFlags3GetEj .extern _ZN14AdventureFlags3SetEjb +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor14DistanceToLinkEv .extern _ZN5Actor14GetAngleToLinkEv .extern _ZN5Actor15IsHitboxTouchedEb @@ -35,21 +46,21 @@ .extern _ZN5Actor18func_ov00_020c198cEv .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor20IncreaseActiveFramesEv .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -81,7 +92,6 @@ .extern _ZNK11ItemManager16GetTreasureCountEj .extern _ZNK11ItemManager19GetMaxTreasureCountEv .extern __register_global_object -.extern data_02050f54 .extern data_02057200 .extern data_027e0618 .extern data_027e0764 @@ -89,23 +99,14 @@ .extern data_027e0c38 .extern data_027e0c68 .extern data_027e0cbc -.extern data_027e0d0c .extern data_027e0d38 .extern data_027e0dbc .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f6c .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fd4 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -128,19 +129,11 @@ .extern func_01ff8e84 .extern func_01ff9158 .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffbe34 .extern func_01ffbe78 .extern func_01fffb4c .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 .extern func_02018450 .extern func_0201b1bc .extern func_0201e388 @@ -148,8 +141,6 @@ .extern func_0202b2e8 .extern func_0202b2f8 .extern func_0202b4e4 -.extern func_0202b864 -.extern func_0202b894 .extern func_0202bbbc .extern func_0202da8c .extern func_0202e030 @@ -234,7 +225,6 @@ .extern func_ov00_020c0ecc .extern func_ov00_020c1424 .extern func_ov00_020c1450 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -345,5 +335,15 @@ .extern func_ov14_0214f668 .extern func_ov14_0214f7f0 .extern func_ov14_0214fa48 +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gPlayerVel +.extern gSinCosTable +.extern gVec3p_ZERO diff --git a/asm/ov27.s b/asm/ov27.s index dbbec93e..0b618f6b 100644 --- a/asm/ov27.s +++ b/asm/ov27.s @@ -215,7 +215,7 @@ _0216d878: strh r1, [r4, #0x9c] bl func_ov27_0216da38 add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x28] str r0, [sp, #0x2c] @@ -236,7 +236,7 @@ _0216d878: add r2, r4, #0x48 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _0216da34 ; =data_027e0fe4 + ldr r0, _0216da34 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -267,7 +267,7 @@ _0216da24: .word data_ov27_02178cfc _0216da28: .word data_027e0ff0 _0216da2c: .word data_027e0fe8 _0216da30: .word 0x504c5344 -_0216da34: .word data_027e0fe4 +_0216da34: .word gActorManager arm_func_end func_ov27_0216d810 .global func_ov27_0216da38 @@ -297,7 +297,7 @@ func_ov27_0216da38: ; 0x0216da38 mov r2, #0x1000 str r2, [r1, #0x10] ldr r0, _0216e914 ; =0x00000ccd - ldr r1, _0216e918 ; =data_027e0d0c + ldr r1, _0216e918 ; =gVec3p_ZERO str r0, [r5, #0x88] ldr r2, [r1] add r0, r5, #0x470 @@ -697,7 +697,7 @@ _0216e05c: bl func_ov27_0217164c b _0216e8fc _0216e084: - ldr r0, _0216e950 ; =data_027e0f94 + ldr r0, _0216e950 ; =gPlayerPos ldr r1, [r5, #0x48] ldr r0, [r0] add r2, r5, #8 @@ -705,7 +705,7 @@ _0216e084: movge r1, #1 movlt r1, #0 str r1, [sp] - ldr r0, _0216e954 ; =data_027e0fc8 + ldr r0, _0216e954 ; =gPlayerLink mov r1, #0x20 ldr r0, [r0] mov r3, #0 @@ -740,7 +740,7 @@ _0216e0d8: stmia r3, {r0, r1, r2} ldrh r1, [r5, #0x78] mov r2, r3 - ldr r3, _0216e95c ; =data_02050f54 + ldr r3, _0216e95c ; =gSinCosTable mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 mov r1, r6, lsl #0x1 @@ -890,10 +890,10 @@ _0216e2b8: mov r0, r3 mov r2, r3 add r1, sp, #0x50 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x44] ldr r1, [sp, #0x4c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldr r1, [sp, #0x18c] @@ -1024,13 +1024,13 @@ _0216e4f4: str r0, [sp, #0x8c] mov r0, #0x1000 str r0, [sp, #0x94] - ldr r0, _0216e950 ; =data_027e0f94 + ldr r0, _0216e950 ; =gPlayerPos add r1, r5, #0x48 add r2, sp, #0x38 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x38] ldr r1, [sp, #0x40] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 ldr r1, [sp, #0x74] @@ -1105,7 +1105,7 @@ _0216e4f4: ldr r2, _0216e974 ; =0x00060009 add r1, r5, #0x158 bl func_02036ce4 - ldr r0, _0216e950 ; =data_027e0f94 + ldr r0, _0216e950 ; =gPlayerPos add r3, sp, #0x2c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -1201,7 +1201,7 @@ _0216e7f8: ldr r2, [r2, #0x34] blx r2 ldrh r1, [r5, #0x78] - ldr r2, _0216e95c ; =data_02050f54 + ldr r2, _0216e95c ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 @@ -1260,7 +1260,7 @@ _0216e8fc: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0216e914: .word 0x00000ccd -_0216e918: .word data_027e0d0c +_0216e918: .word gVec3p_ZERO _0216e91c: .word gMapManager _0216e920: .word data_027e0c68 _0216e924: .word 0x00060003 @@ -1274,10 +1274,10 @@ _0216e940: .word 0x00000233 _0216e944: .word data_ov27_02178dfc _0216e948: .word 0x00000232 _0216e94c: .word 0x00000235 -_0216e950: .word data_027e0f94 -_0216e954: .word data_027e0fc8 +_0216e950: .word gPlayerPos +_0216e954: .word gPlayerLink _0216e958: .word data_027e0f64 -_0216e95c: .word data_02050f54 +_0216e95c: .word gSinCosTable _0216e960: .word data_027e0e58 _0216e964: .word data_ov00_020eec68 _0216e968: .word 0xffffaaab @@ -1336,12 +1336,12 @@ func_ov27_0216ea04: ; 0x0216ea04 mov r4, r0 cmp r1, #0 bne _0216ea64 - ldr r1, _0216ea7c ; =data_027e0fe4 + ldr r1, _0216ea7c ; =gActorManager ldr r2, _0216ea80 ; =0x504c4c42 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0216ea7c ; =data_027e0fe4 + ldr r0, _0216ea7c ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1364,7 +1364,7 @@ _0216ea70: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0216ea7c: .word data_027e0fe4 +_0216ea7c: .word gActorManager _0216ea80: .word 0x504c4c42 arm_func_end func_ov27_0216ea04 @@ -1473,10 +1473,10 @@ _0216eb54: add r0, sp, #0 add r1, r4, #0x48 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r2, #0xfa0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -1678,7 +1678,7 @@ _0216eea4: ldr r1, [r5, #0x14] cmp r1, #0 bne _0216eed0 - ldr r0, _0216f328 ; =data_027e0f94 + ldr r0, _0216f328 ; =gPlayerPos ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp, #0x48] @@ -1697,10 +1697,10 @@ _0216eee8: add r0, sp, #0x48 add r2, sp, #0x3c add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x3c] ldr r1, [sp, #0x44] - bl func_01ffa0f4 + bl Atan2 ldr r1, [r6, #0x130] mov r0, r0, lsl #0x10 cmp r1, #0xa @@ -1938,7 +1938,7 @@ _0216f248: ldr r1, [r5, #0x14] cmp r1, #0 bne _0216f288 - ldr r0, _0216f328 ; =data_027e0f94 + ldr r0, _0216f328 ; =gPlayerPos ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp, #0x18] @@ -1957,10 +1957,10 @@ _0216f2a0: add r0, sp, #0x18 add r2, sp, #0xc add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r4, r0 ldr r0, _0216f32c ; =data_027e0ffc add r2, r6, #0x48 @@ -1991,7 +1991,7 @@ _0216f31c: add sp, sp, #0x54 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0216f328: .word data_027e0f94 +_0216f328: .word gPlayerPos _0216f32c: .word data_027e0ffc _0216f330: .word 0x0000019d _0216f334: .word 0x5342454d @@ -2004,21 +2004,21 @@ _0216f344: .word 0x00006aab .global func_ov27_0216f348 arm_func_start func_ov27_0216f348 func_ov27_0216f348: ; 0x0216f348 - ldr ip, _0216f354 ; =func_01fffcec + ldr ip, _0216f354 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_0216f354: .word func_01fffcec +_0216f354: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov27_0216f348 .global func_ov27_0216f358 arm_func_start func_ov27_0216f358 func_ov27_0216f358: ; 0x0216f358 - ldr ip, _0216f364 ; =func_01fffcec + ldr ip, _0216f364 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_0216f364: .word func_01fffcec +_0216f364: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov27_0216f358 .global func_ov27_0216f368 @@ -2155,7 +2155,7 @@ _0216f544: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 @@ -2222,7 +2222,7 @@ func_ov27_0216f608: ; 0x0216f608 cmp r1, #0 ble _0216f6dc ldrh r1, [r4, #0x78] - ldr r2, _0216f8e0 ; =data_02050f54 + ldr r2, _0216f8e0 ; =gSinCosTable ldr r0, _0216f8e4 ; =0x00000133 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -2318,7 +2318,7 @@ _0216f764: strb r0, [r4, #0x468] ldrsh r0, [r4, #0x78] ldr r1, _0216f8f8 ; =0x0000105b - ldr r2, _0216f8e0 ; =data_02050f54 + ldr r2, _0216f8e0 ; =gSinCosTable strh r0, [sp] ldr r0, [r4, #0x138] sub r3, r1, #0x5b0 @@ -2344,7 +2344,7 @@ _0216f764: ldr r2, [r2, #0x34] blx r2 ldrh r0, [sp] - ldr r2, _0216f8e0 ; =data_02050f54 + ldr r2, _0216f8e0 ; =gSinCosTable mov r1, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -2403,7 +2403,7 @@ _0216f8a8: add sp, sp, #0x1c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0216f8e0: .word data_02050f54 +_0216f8e0: .word gSinCosTable _0216f8e4: .word 0x00000133 _0216f8e8: .word gMapManager _0216f8ec: .word 0x00000171 @@ -2734,7 +2734,7 @@ _0216fce8: bl func_ov00_020b7e6c b _0216fd44 _0216fd14: - ldr r1, _0216fe38 ; =data_027e0d0c + ldr r1, _0216fe38 ; =gVec3p_ZERO add r0, r10, #0x470 ldr r2, [r1] str r2, [r10, #0x60] @@ -2812,7 +2812,7 @@ _0216fe28: .word 0x00000bb8 _0216fe2c: .word data_ov27_02178ee0 _0216fe30: .word data_027e0e58 _0216fe34: .word 0x0000099a -_0216fe38: .word data_027e0d0c +_0216fe38: .word gVec3p_ZERO _0216fe3c: .word data_027e0ffc _0216fe40: .word data_027e0764 arm_func_end func_ov27_0216fc00 @@ -2830,7 +2830,7 @@ func_ov27_0216fe44: ; 0x0216fe44 bl func_ov27_021713d4 b _0216fe84 _0216fe68: - ldr r0, _0216ff30 ; =data_027e0d0c + ldr r0, _0216ff30 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] @@ -2886,7 +2886,7 @@ _0216ff24: bl func_ov27_0216da38 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0216ff30: .word data_027e0d0c +_0216ff30: .word gVec3p_ZERO _0216ff34: .word data_027e0764 arm_func_end func_ov27_0216fe44 @@ -2969,7 +2969,7 @@ _02170020: bl func_ov00_020b7e6c b _02170084 _02170054: - ldr r1, _02170188 ; =data_027e0d0c + ldr r1, _02170188 ; =gVec3p_ZERO add r0, r10, #0x470 ldr r2, [r1] str r2, [r10, #0x60] @@ -3052,7 +3052,7 @@ _02170178: .word 0x00000bb8 _0217017c: .word data_ov27_02178ee0 _02170180: .word data_027e0e58 _02170184: .word 0x0000099a -_02170188: .word data_027e0d0c +_02170188: .word gVec3p_ZERO _0217018c: .word data_027e0ffc _02170190: .word data_027e0764 arm_func_end func_ov27_0216ff38 @@ -3071,7 +3071,7 @@ func_ov27_02170194: ; 0x02170194 mov r1, #0x400 bl func_ov27_021713d4 ldrh r0, [r4, #0x78] - ldr r1, _02170264 ; =data_02050f54 + ldr r1, _02170264 ; =gSinCosTable mov ip, #0 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -3114,7 +3114,7 @@ _02170238: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02170264: .word data_02050f54 +_02170264: .word gSinCosTable _02170268: .word data_027e0ffc arm_func_end func_ov27_02170194 @@ -3271,8 +3271,8 @@ _0217047c: .word data_027e0764 func_ov27_02170480: ; 0x02170480 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr} sub sp, sp, #0x38 - ldr r1, _021708a4 ; =data_027e0fac - ldr r3, _021708a8 ; =data_02050f54 + ldr r1, _021708a4 ; =gPlayerAngle + ldr r3, _021708a8 ; =gSinCosTable ldrh r2, [r1] ldr r1, _021708ac ; =0x00001b85 mov r6, #0 @@ -3296,7 +3296,7 @@ func_ov27_02170480: ; 0x02170480 adds r3, r3, #0x800 mov ip, r8, lsr #0xc orr ip, ip, r5, lsl #20 - ldr r1, _021708b0 ; =data_027e0f94 + ldr r1, _021708b0 ; =gPlayerPos mov r4, r0 add lr, sp, #0x2c ldmia r1, {r0, r1, r2} @@ -3330,7 +3330,7 @@ func_ov27_02170480: ; 0x02170480 cmpeq r0, #0 beq _02170630 ldr r5, [r4, #0x48] - ldr r8, _021708a8 ; =data_02050f54 + ldr r8, _021708a8 ; =gSinCosTable str r5, [sp, #0x2c] ldr r0, [r4, #0x4c] ldr r6, _021708ac ; =0x00001b85 @@ -3373,12 +3373,12 @@ func_ov27_02170480: ; 0x02170480 mov r3, #0x29 str r5, [sp] bl func_0202b4e4 - ldr r0, _021708b8 ; =data_027e0fc8 + ldr r0, _021708b8 ; =gPlayerLink add r1, sp, #0x20 ldr r0, [r0] bl func_ov00_020bd4d8 _02170630: - ldr r1, _021708a4 ; =data_027e0fac + ldr r1, _021708a4 ; =gPlayerAngle mov r0, r4 ldrsh r1, [r1] strh r1, [sp, #4] @@ -3394,7 +3394,7 @@ _02170630: mov r1, r1, asr #0x10 mov r2, #0x16c bl func_0202b154 - ldr r0, _021708b8 ; =data_027e0fc8 + ldr r0, _021708b8 ; =gPlayerLink add r1, sp, #4 ldr r0, [r0] bl func_ov00_020bd4fc @@ -3412,7 +3412,7 @@ _02170630: mov r2, r6 ldrh r6, [r4, #0x78] ldr r3, _021708c4 ; =data_027e0e58 - ldr r7, _021708a8 ; =data_02050f54 + ldr r7, _021708a8 ; =gSinCosTable mov r6, r6, asr #0x4 mov lr, r6, lsl #0x1 mov r6, lr, lsl #0x1 @@ -3454,12 +3454,12 @@ _02170630: add r1, r1, #0x400 add r2, sp, #0x14 bl func_ov00_0207c474 - ldr r0, _021708c8 ; =data_027e0fb8 + ldr r0, _021708c8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14IsTouchingFastEv cmp r0, #0 beq _0217078c - ldr r0, _021708b8 ; =data_027e0fc8 + ldr r0, _021708b8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc210 ldr r0, [r4, #0x490] @@ -3474,7 +3474,7 @@ _0217078c: cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r0, _021708b8 ; =data_027e0fc8 + ldr r0, _021708b8 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bc280 @@ -3499,12 +3499,12 @@ _021707f8: addle sp, sp, #0x38 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldrh r2, [r4, #0x78] - ldr r0, _021708b8 ; =data_027e0fc8 + ldr r0, _021708b8 ; =gPlayerLink mov r1, #0 mov r2, r2, asr #0x4 mov r3, r2, lsl #0x1 add r2, r3, #1 - ldr r5, _021708a8 ; =data_02050f54 + ldr r5, _021708a8 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r2, r2, lsl #0x1 ldrsh r3, [r5, r3] @@ -3514,7 +3514,7 @@ _021707f8: str r1, [sp, #0xc] str r2, [sp, #0x10] bl func_ov00_020bc280 - ldr r0, _021708d0 ; =data_027e0f90 + ldr r0, _021708d0 ; =gPlayer mov r1, #2 ldr r0, [r0] add r2, sp, #8 @@ -3538,18 +3538,18 @@ _021707f8: add sp, sp, #0x38 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_021708a4: .word data_027e0fac -_021708a8: .word data_02050f54 +_021708a4: .word gPlayerAngle +_021708a8: .word gSinCosTable _021708ac: .word 0x00001b85 -_021708b0: .word data_027e0f94 +_021708b0: .word gPlayerPos _021708b4: .word 0x00000333 -_021708b8: .word data_027e0fc8 +_021708b8: .word gPlayerLink _021708bc: .word data_027e0ffc _021708c0: .word 0x00000239 _021708c4: .word data_027e0e58 -_021708c8: .word data_027e0fb8 +_021708c8: .word gPlayerControl _021708cc: .word data_027e0f64 -_021708d0: .word data_027e0f90 +_021708d0: .word gPlayer arm_func_end func_ov27_02170480 .global func_ov27_021708d4 @@ -3869,7 +3869,7 @@ _02170d04: ldr r2, [r2, #0x34] blx r2 ldrh r1, [r4, #0x78] - ldr r2, _02170e20 ; =data_02050f54 + ldr r2, _02170e20 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 @@ -3937,7 +3937,7 @@ _02170dd0: ldmia sp!, {r3, r4, pc} .align 2, 0 _02170e1c: .word 0x0000071c -_02170e20: .word data_02050f54 +_02170e20: .word gSinCosTable arm_func_end func_ov27_02170cbc .global func_ov27_02170e24 @@ -3966,7 +3966,7 @@ func_ov27_02170e24: ; 0x02170e24 mov r1, #2 bl func_ov14_0214a720 ldrh r0, [r4, #0x78] - ldr r3, _02170f7c ; =data_02050f54 + ldr r3, _02170f7c ; =gSinCosTable ldr r1, _02170f80 ; =0x00000266 mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 @@ -4031,7 +4031,7 @@ _02170f5c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02170f78: .word 0x0000071c -_02170f7c: .word data_02050f54 +_02170f7c: .word gSinCosTable _02170f80: .word 0x00000266 _02170f84: .word gMapManager arm_func_end func_ov27_02170e24 @@ -4042,7 +4042,7 @@ func_ov27_02170f88: ; 0x02170f88 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x44 mov r10, r0 - ldr r0, _02171374 ; =data_027e0f94 + ldr r0, _02171374 ; =gPlayerPos mov r9, r1 add r5, sp, #0x38 ldmia r0, {r0, r1, r2} @@ -4077,7 +4077,7 @@ _02171010: add r0, r10, #0x48 mov r1, r5 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r8, #0x3000 mov r7, #0x1f4 bge _02171094 @@ -4111,7 +4111,7 @@ _02171074: _02171094: ldr r0, [sp, #0x2c] ldr r1, [sp, #0x34] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r9, #0 @@ -4134,7 +4134,7 @@ _021710d8: mov r2, r0, lsl #0x1 mov r0, #0 str r0, [sp, #0x30] - ldr r0, _02171384 ; =data_02050f54 + ldr r0, _02171384 ; =gSinCosTable mov r1, r2, lsl #0x1 ldrsh r1, [r0, r1] add r0, r0, r2, lsl #1 @@ -4152,19 +4152,19 @@ _021710d8: mov r1, r4 mov r2, r5 mov r3, r4 - bl func_01ff9e64 + bl Vec3p_Axpy b _02171154 _02171140: mov r0, #0x3000 mov r1, r4 mov r2, r5 mov r3, r4 - bl func_01ff9e64 + bl Vec3p_Axpy _02171154: mov r0, r4 add r1, r10, #0x48 add r2, sp, #0x20 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x24] add r0, sp, #0x20 @@ -4202,7 +4202,7 @@ _02171154: add r0, r10, #0x48 mov r1, r5 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r9, #1 ldr r0, [r10, #0xc4] str r0, [sp, #8] @@ -4229,7 +4229,7 @@ _02171244: sub r0, r0, r6 mov r1, r11 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r10 bl _ZN5Actor14DistanceToLinkEv mov r8, r0 @@ -4245,7 +4245,7 @@ _02171288: add r1, sp, #0x14 add r0, r10, #0x48 mov r2, r1 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #0x1c] ldr r4, [sp, #0x14] smull r1, r0, r2, r2 @@ -4304,11 +4304,11 @@ _02171324: add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02171374: .word data_027e0f94 +_02171374: .word gPlayerPos _02171378: .word 0x00000bb8 _0217137c: .word data_ov27_021794c0 _02171380: .word 0x00001133 -_02171384: .word data_02050f54 +_02171384: .word gSinCosTable _02171388: .word 0x00000266 arm_func_end func_ov27_02170f88 @@ -4355,7 +4355,7 @@ func_ov27_021713d4: ; 0x021713d4 mov r1, #2 bl func_ov14_0214a720 ldrh r1, [r5, #0x78] - ldr r3, _02171484 ; =data_02050f54 + ldr r3, _02171484 ; =gSinCosTable mov r0, r5 mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 @@ -4384,7 +4384,7 @@ func_ov27_021713d4: ; 0x021713d4 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02171484: .word data_02050f54 +_02171484: .word gSinCosTable arm_func_end func_ov27_021713d4 .global func_ov27_02171488 @@ -4763,10 +4763,10 @@ _021718e0: add r1, sp, #0xc mov r0, r3 mov r2, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r2, #0xfa0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -4936,13 +4936,13 @@ func_ov27_02171b14: ; 0x02171b14 add r2, sp, #0x2c add r0, r6, #0xb8 add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x30] add r0, r6, #0x148 add r1, sp, #0x2c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r6, #0xb8] str r0, [r6, #0x48] ldr r0, [r6, #0xbc] @@ -5130,7 +5130,7 @@ func_ov27_02171e10: ; 0x02171e10 ldr r2, [r0] ldr r2, [r2, #0xc] blx r2 - ldr r1, _02171f2c ; =data_027e0d0c + ldr r1, _02171f2c ; =gVec3p_ZERO mov r0, #0x400 ldr r2, [r1] mov lr, #0x1400 @@ -5168,7 +5168,7 @@ func_ov27_02171e10: ; 0x02171e10 ldr r0, [r4, #0x34] cmp r0, r1 beq _02171eec - ldr r0, _02171f38 ; =data_027e0fe4 + ldr r0, _02171f38 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5191,10 +5191,10 @@ _02171eec: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02171f28: .word data_027e0fec -_02171f2c: .word data_027e0d0c +_02171f2c: .word gVec3p_ZERO _02171f30: .word 0x0000099a _02171f34: .word 0x00002710 -_02171f38: .word data_027e0fe4 +_02171f38: .word gActorManager arm_func_end func_ov27_02171e10 .global func_ov27_02171f3c @@ -5230,7 +5230,7 @@ func_ov27_02171f3c: ; 0x02171f3c mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 add r1, r5, #1 - ldr r2, _0217247c ; =data_02050f54 + ldr r2, _0217247c ; =gSinCosTable mov r5, r5, lsl #0x1 ldrsh r5, [r2, r5] mov r1, r1, lsl #0x1 @@ -5251,7 +5251,7 @@ func_ov27_02171f3c: ; 0x02171f3c add r2, r6, #0x368 mov r3, #0x400 str r5, [sp, #8] - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi mov r0, r6 bl func_ov27_0217296c b _0217245c @@ -5273,7 +5273,7 @@ _02172018: ldr r0, _02172478 ; =gAdventureFlags ldrh r1, [r1, #0x78] mov r3, #0 - ldr r2, _0217247c ; =data_02050f54 + ldr r2, _0217247c ; =gSinCosTable mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 add r1, r5, #1 @@ -5297,7 +5297,7 @@ _02172018: add r2, r6, #0x368 mov r3, #0x400 str r5, [sp, #8] - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi b _0217245c _021720c4: bl func_ov27_0216f358 @@ -5323,7 +5323,7 @@ _021720f0: add r1, r6, #0x48 add r0, r6, #0x60 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x5c bl func_ov00_020ccef0 ldrb r0, [r6, #0x398] @@ -5337,13 +5337,13 @@ _021720f0: add r0, r6, #0x48 add r1, sp, #0x5c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02172154: mov r0, r6 bl func_ov27_02172ab8 mov r0, r6 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r6, #0x110] cmp r0, #0 ldreqb r0, [r6, #0x112] @@ -5357,7 +5357,7 @@ _02172154: str r0, [sp, #0x50] str r2, [sp, #0x54] str r1, [sp, #0x58] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 ldrsh r0, [r6, #0x78] mov r2, r1, asr #0x10 @@ -5383,7 +5383,7 @@ _02172154: add r0, r6, #0x300 strh r1, [r0, #0x96] ldrsh r1, [r0, #0x96] - ldr r3, _0217247c ; =data_02050f54 + ldr r3, _0217247c ; =gSinCosTable ldr r0, _02172480 ; =0x0000019a strh r1, [r6, #0x78] ldrh r2, [r6, #0x78] @@ -5490,7 +5490,7 @@ _021722d0: add r1, sp, #0x44 strlt r0, [r6, #0x50] add r0, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x38 bl func_01fffb4c cmp r0, #0 @@ -5509,9 +5509,9 @@ _021723e0: add r0, sp, #0x44 add r1, sp, #0x38 add r2, r6, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add _021723f0: - ldr r0, _02172490 ; =data_027e0d0c + ldr r0, _02172490 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r6, #0x60] ldr r1, [r0, #4] @@ -5549,12 +5549,12 @@ _0217245c: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02172478: .word gAdventureFlags -_0217247c: .word data_02050f54 +_0217247c: .word gSinCosTable _02172480: .word 0x0000019a _02172484: .word gMapManager _02172488: .word 0x00000b33 _0217248c: .word 0xffff699a -_02172490: .word data_027e0d0c +_02172490: .word gVec3p_ZERO _02172494: .word 0x00000333 _02172498: .word data_027e0ff8 arm_func_end func_ov27_02171f3c @@ -5583,7 +5583,7 @@ func_ov27_021724b4: ; 0x021724b4 mov r2, r2, lsr #0x10 mov r2, r2, asr #0x4 mov r3, r2, lsl #0x1 - ldr r4, _02172588 ; =data_02050f54 + ldr r4, _02172588 ; =gSinCosTable mov r2, r3, lsl #0x1 add r3, r3, #1 ldrsh r6, [r4, r2] @@ -5632,7 +5632,7 @@ func_ov27_021724b4: ; 0x021724b4 bl func_ov00_020ceacc ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02172588: .word data_02050f54 +_02172588: .word gSinCosTable _0217258c: .word 0x0000019a _02172590: .word 0x00002710 _02172594: .word data_027e0ffc @@ -5672,7 +5672,7 @@ func_ov27_02172598: ; 0x02172598 str r0, [sp, #0xa4] add r0, r5, #0x300 ldrh r1, [r0, #0x90] - ldr r3, _0217282c ; =data_02050f54 + ldr r3, _0217282c ; =gSinCosTable add r0, sp, #0x78 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -5684,7 +5684,7 @@ func_ov27_02172598: ; 0x02172598 blx func_01ff8214 add r0, r5, #0x300 ldrh r1, [r0, #0x96] - ldr r3, _0217282c ; =data_02050f54 + ldr r3, _0217282c ; =gSinCosTable add r0, sp, #0x54 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -5700,7 +5700,7 @@ func_ov27_02172598: ; 0x02172598 bl func_0202e030 add r0, r5, #0x300 ldrh r1, [r0, #0x94] - ldr r3, _0217282c ; =data_02050f54 + ldr r3, _0217282c ; =gSinCosTable add r0, sp, #0x54 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -5726,7 +5726,7 @@ func_ov27_02172598: ; 0x02172598 add r0, sp, #0x48 add r1, r5, #0x48 add r2, sp, #0x3c - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x300 ldr r4, [r0] add r1, sp, #0x9c @@ -5753,11 +5753,11 @@ func_ov27_02172598: ; 0x02172598 add r1, sp, #0x30 add r0, r5, #0x35c add r2, r5, #0x368 - bl func_01ff9bc4 + bl Vec3p_Add add r2, sp, #0x24 add r0, r5, #0x35c add r1, r5, #0x368 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x24] ldr r0, [sp, #0x28] mov r1, r1, asr #0x1 @@ -5807,7 +5807,7 @@ func_ov27_02172598: ; 0x02172598 add sp, sp, #0xa8 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0217282c: .word data_02050f54 +_0217282c: .word gSinCosTable _02172830: .word 0xfffff99a _02172834: .word 0xfffffa66 _02172838: .word gMapManager @@ -5874,7 +5874,7 @@ func_ov27_02172844: ; 0x02172844 str r3, [r4, #0x370] add r1, r4, #0x35c add r2, sp, #4 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0xc] ldr r0, [sp, #8] mov r3, r1, asr #0x1 @@ -6010,17 +6010,17 @@ func_ov27_02172ab8: ; 0x02172ab8 str r2, [sp, #4] ldr r2, [r4, #0x50] str r2, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02172ccc ; =0x00002666 cmp r0, r1 bge _02172b58 add r1, sp, #0xc add r0, r4, #0x48 mov r2, r1 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, _02172ccc ; =0x00002666 add r0, sp, #0xc bl func_01fffbec @@ -6487,7 +6487,7 @@ func_ov27_02173124: ; 0x02173124 cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} - ldr r1, _021731d0 ; =data_027e0fe4 + ldr r1, _021731d0 ; =gActorManager ldr r2, _021731d4 ; =0x4c4e424b ldr r1, [r1] add r0, sp, #8 @@ -6496,7 +6496,7 @@ func_ov27_02173124: ; 0x02173124 mvn r0, #0 cmp r1, r0 beq _0217317c - ldr r0, _021731d0 ; =data_027e0fe4 + ldr r0, _021731d0 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6507,7 +6507,7 @@ _0217317c: cmp r0, #0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} - ldr r1, _021731d0 ; =data_027e0fe4 + ldr r1, _021731d0 ; =gActorManager ldr r2, _021731d8 ; =0x50524c44 ldr r1, [r1] add r0, sp, #0 @@ -6517,7 +6517,7 @@ _0217317c: cmp r1, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} - ldr r0, _021731d0 ; =data_027e0fe4 + ldr r0, _021731d0 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6525,7 +6525,7 @@ _0217317c: add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_021731d0: .word data_027e0fe4 +_021731d0: .word gActorManager _021731d4: .word 0x4c4e424b _021731d8: .word 0x50524c44 arm_func_end func_ov27_02173124 @@ -6729,7 +6729,7 @@ func_ov27_02173430: ; 0x02173430 addlt sp, sp, #0x44 ldmltia sp!, {r3, r4, pc} add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -6749,7 +6749,7 @@ func_ov27_02173430: ; 0x02173430 ldr r1, _0217355c ; =data_ov27_02178f8c mov r0, r3 mov r2, r3 - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #4 str r1, [sp] ldr r0, _02173560 ; =data_027e0fe8 @@ -6831,7 +6831,7 @@ func_ov27_02173590: ; 0x02173590 cmp r0, #0 addne sp, sp, #8 ldmneia sp!, {r4, pc} - ldr r0, _021736f8 ; =data_027e0f90 + ldr r0, _021736f8 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -6868,7 +6868,7 @@ _02173650: ldreqb r0, [r4, #0x5b3] cmpeq r0, #0 bne _021736dc - ldr r1, _02173704 ; =data_027e0fe4 + ldr r1, _02173704 ; =gActorManager ldr r2, _02173708 ; =0x55424c4e ldr r1, [r1] add r0, sp, #0 @@ -6877,7 +6877,7 @@ _02173650: mvn r0, #0 cmp r1, r0 beq _021736dc - ldr r0, _02173704 ; =data_027e0fe4 + ldr r0, _02173704 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6903,10 +6903,10 @@ _021736dc: ldmia sp!, {r4, pc} .align 2, 0 _021736f4: .word data_027e103c -_021736f8: .word data_027e0f90 +_021736f8: .word gPlayer _021736fc: .word data_027e077c _02173700: .word gItemManager -_02173704: .word data_027e0fe4 +_02173704: .word gActorManager _02173708: .word 0x55424c4e _0217370c: .word data_ov00_020eec68 arm_func_end func_ov27_02173590 @@ -7384,7 +7384,7 @@ func_ov27_02173ce4: ; 0x02173ce4 beq _02173d2c b _02173d54 _02173d04: - ldr r1, _02173d6c ; =data_027e0fe4 + ldr r1, _02173d6c ; =gActorManager ldr r2, _02173d70 ; =0x50524c44 ldr r1, [r1] add r0, sp, #8 @@ -7395,7 +7395,7 @@ _02173d04: str r0, [r4, #0x184] b _02173d60 _02173d2c: - ldr r1, _02173d6c ; =data_027e0fe4 + ldr r1, _02173d6c ; =gActorManager ldr r2, _02173d74 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 @@ -7414,7 +7414,7 @@ _02173d60: add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_02173d6c: .word data_027e0fe4 +_02173d6c: .word gActorManager _02173d70: .word 0x50524c44 _02173d74: .word 0x4e415649 arm_func_end func_ov27_02173ce4 @@ -7926,7 +7926,7 @@ func_ov27_02174320: ; 0x02174320 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -7985,13 +7985,13 @@ _02174450: .word gMapManager func_ov27_02174454: ; 0x02174454 stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x124 - ldr r1, _021746e4 ; =data_027e0f94 + ldr r1, _021746e4 ; =gPlayerPos mov r4, r0 ldr r2, [r1] - ldr r0, _021746e8 ; =data_027e0fac + ldr r0, _021746e8 ; =gPlayerAngle str r2, [r4, #0x48] ldr r2, [r1, #4] - ldr r7, _021746ec ; =data_02050f54 + ldr r7, _021746ec ; =gSinCosTable str r2, [r4, #0x4c] ldr r1, [r1, #8] mov r2, #0x800 @@ -8148,9 +8148,9 @@ func_ov27_02174454: ; 0x02174454 add sp, sp, #0x124 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_021746e4: .word data_027e0f94 -_021746e8: .word data_027e0fac -_021746ec: .word data_02050f54 +_021746e4: .word gPlayerPos +_021746e8: .word gPlayerAngle +_021746ec: .word gSinCosTable _021746f0: .word data_027e0c68 _021746f4: .word 0x00060015 _021746f8: .word gMapManager @@ -8185,7 +8185,7 @@ func_ov27_02174704: ; 0x02174704 func_ov27_02174748: ; 0x02174748 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r2, _021747cc ; =data_027e0d0c + ldr r2, _021747cc ; =gVec3p_ZERO mov r4, r0 ldr r1, [r2] add r0, r4, #0x1d8 @@ -8217,7 +8217,7 @@ func_ov27_02174748: ; 0x02174748 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_021747cc: .word data_027e0d0c +_021747cc: .word gVec3p_ZERO _021747d0: .word gMapManager arm_func_end func_ov27_02174748 @@ -8280,7 +8280,7 @@ _02174888: bl func_ov14_02145508 cmp r0, #0 beq _021748c8 - ldr r0, _021748e4 ; =data_027e0d0c + ldr r0, _021748e4 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r5, #0x60] ldr r1, [r0, #4] @@ -8296,7 +8296,7 @@ _021748d4: .word gMapManager _021748d8: .word 0x00000222 _021748dc: .word gAdventureFlags _021748e0: .word 0x00000266 -_021748e4: .word data_027e0d0c +_021748e4: .word gVec3p_ZERO arm_func_end func_ov27_021747d4 .global func_ov27_021748e8 @@ -9134,7 +9134,7 @@ func_ov27_021752a8: ; 0x021752a8 str r1, [r4, #0x414] mov r1, #0 bl func_ov27_02174df0 - ldr r1, _021753d0 ; =data_027e0d0c + ldr r1, _021753d0 ; =gVec3p_ZERO mov r0, #0 ldr ip, [r1] ldr r3, [r1, #4] @@ -9175,7 +9175,7 @@ _021753c0: .word data_ov27_0217902c _021753c4: .word func_ov27_02174f08 _021753c8: .word data_ov27_0217903c _021753cc: .word func_ov27_02175048 -_021753d0: .word data_027e0d0c +_021753d0: .word gVec3p_ZERO _021753d4: .word gMapManager arm_func_end func_ov27_021752a8 @@ -9234,7 +9234,7 @@ _02175454: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _021754a4: ldr r0, _02175554 ; =gMapManager ldrh r1, [r4, #0x20] @@ -9247,7 +9247,7 @@ _021754a4: mov r1, #9 bl func_ov27_02174e4c _021754cc: - ldr r0, _02175558 ; =data_027e0fc8 + ldr r0, _02175558 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #5 @@ -9286,7 +9286,7 @@ _02175538: .align 2, 0 _02175550: .word data_027e0cbc _02175554: .word gMapManager -_02175558: .word data_027e0fc8 +_02175558: .word gPlayerLink _0217555c: .word data_027e0f6c arm_func_end func_ov27_021753d8 @@ -9396,10 +9396,10 @@ func_ov27_02175660: ; 0x02175660 add r2, sp, #0 add r0, r4, #0x14 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r2, _02175814 ; =0x0000038e @@ -9965,7 +9965,7 @@ _02175e38: bl func_ov14_02145e48 _02175e40: mov r1, #0 - ldr r0, _02175e70 ; =data_027e0d0c + ldr r0, _02175e70 ; =gVec3p_ZERO str r1, [r4, #0x138] ldr r1, [r0] str r1, [r4, #0x60] @@ -9977,7 +9977,7 @@ _02175e40: .align 2, 0 _02175e68: .word data_027e0ffc _02175e6c: .word 0x0000040a -_02175e70: .word data_027e0d0c +_02175e70: .word gVec3p_ZERO arm_func_end func_ov27_02175e00 .global func_ov27_02175e74 @@ -10041,7 +10041,7 @@ _02175f10: ldrb r0, [r4, #0x4e3] cmp r0, #4 bne _02175fd8 - ldr r0, _02176060 ; =data_027e0f90 + ldr r0, _02176060 ; =gPlayer ldr r1, [r0] ldrsh r0, [r1, #0xc] sub r0, r0, #4 @@ -10082,7 +10082,7 @@ _02175fb0: _02175fd8: ldr r0, _02176058 ; =data_027e0ffc ldr r1, _02176074 ; =0x0000040c - ldr r2, _02176078 ; =data_027e0f94 + ldr r2, _02176078 ; =gPlayerPos mov r3, #0 bl func_ov00_020ceacc _02175fec: @@ -10117,13 +10117,13 @@ _02176044: .align 2, 0 _02176058: .word data_027e0ffc _0217605c: .word 0x0000040b -_02176060: .word data_027e0f90 +_02176060: .word gPlayer _02176064: .word data_ov00_020eec9c _02176068: .word 0x0000040d _0217606c: .word 0x0000040e _02176070: .word 0x0000040f _02176074: .word 0x0000040c -_02176078: .word data_027e0f94 +_02176078: .word gPlayerPos arm_func_end func_ov27_02175e74 .global func_ov27_0217607c @@ -10153,7 +10153,7 @@ func_ov27_021760b0: ; 0x021760b0 mov r1, #0x400 bl func_ov27_02176ed0 ldr r0, [r4, #0x4d0] - ldr r1, _02176160 ; =data_02050f54 + ldr r1, _02176160 ; =gSinCosTable sub r0, r0, #0x400 str r0, [r4, #0x4d0] ldrh r0, [r4, #0x78] @@ -10193,7 +10193,7 @@ _0217613c: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02176160: .word data_02050f54 +_02176160: .word gSinCosTable arm_func_end func_ov27_021760b0 .global func_ov27_02176164 @@ -10217,7 +10217,7 @@ func_ov27_02176164: ; 0x02176164 mov r1, #0 str r1, [r0, #0x20] mov r1, #1 - ldr r0, _021761d8 ; =data_027e0d0c + ldr r0, _021761d8 ; =gVec3p_ZERO str r1, [r4, #0x4d4] ldr r1, [r0] str r1, [r4, #0x60] @@ -10229,7 +10229,7 @@ func_ov27_02176164: ; 0x02176164 .align 2, 0 _021761d0: .word data_027e0c68 _021761d4: .word 0x00060027 -_021761d8: .word data_027e0d0c +_021761d8: .word gVec3p_ZERO arm_func_end func_ov27_02176164 .global func_ov27_021761dc @@ -10240,7 +10240,7 @@ func_ov27_021761dc: ; 0x021761dc bl func_ov27_02177bc4 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei mov r0, r4 ldr r1, [r0] ldr r1, [r1, #0xbc] @@ -10623,7 +10623,7 @@ func_ov27_02176744: ; 0x02176744 ldr r0, [r0] ldrsh r0, [r0, #0xc6] cmp r0, #0 - ldrge r0, _021767a4 ; =data_027e0fa0 + ldrge r0, _021767a4 ; =gPlayerVel ldrge r0, [r0, #4] cmpge r0, #0 ldmltia sp!, {r4, pc} @@ -10637,7 +10637,7 @@ func_ov27_02176744: ; 0x02176744 ldmia sp!, {r4, pc} .align 2, 0 _021767a0: .word data_027e0fd4 -_021767a4: .word data_027e0fa0 +_021767a4: .word gPlayerVel arm_func_end func_ov27_02176744 .global func_ov27_021767a8 @@ -10855,7 +10855,7 @@ func_ov27_02176aac: ; 0x02176aac stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x44 mov r10, r0 - ldr r0, _02176e74 ; =data_027e0f94 + ldr r0, _02176e74 ; =gPlayerPos mov r9, r1 add r5, sp, #0x38 ldmia r0, {r0, r1, r2} @@ -10886,7 +10886,7 @@ _02176b24: add r0, r10, #0x48 mov r1, r5 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r8, #0x3000 mov r7, #0x12c bge _02176ba4 @@ -10921,7 +10921,7 @@ _02176ba4: _02176ba8: ldr r0, [sp, #0x2c] ldr r1, [sp, #0x34] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r9, #0 @@ -10944,7 +10944,7 @@ _02176bec: mov r2, r0, lsl #0x1 mov r0, #0 str r0, [sp, #0x30] - ldr r0, _02176e80 ; =data_02050f54 + ldr r0, _02176e80 ; =gSinCosTable mov r1, r2, lsl #0x1 ldrsh r1, [r0, r1] add r0, r0, r2, lsl #1 @@ -10962,19 +10962,19 @@ _02176bec: mov r1, r4 mov r2, r5 mov r3, r4 - bl func_01ff9e64 + bl Vec3p_Axpy b _02176c68 _02176c54: mov r0, #0x3000 mov r1, r4 mov r2, r5 mov r3, r4 - bl func_01ff9e64 + bl Vec3p_Axpy _02176c68: mov r0, r4 add r1, r10, #0x48 add r2, sp, #0x20 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x24] add r0, sp, #0x20 @@ -10991,7 +10991,7 @@ _02176c68: bl func_ov27_02177bc4 mov r0, r10 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r9, #0 beq _02176da0 cmp r6, #0 @@ -11013,7 +11013,7 @@ _02176c68: add r0, r10, #0x48 mov r1, r5 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub cmp r9, #1 ldr r0, [r10, #0xc4] str r0, [sp, #8] @@ -11040,7 +11040,7 @@ _02176d5c: sub r0, r0, r6 mov r1, r11 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r10 bl _ZN5Actor14DistanceToLinkEv mov r8, r0 @@ -11056,7 +11056,7 @@ _02176da0: add r1, sp, #0x14 add r0, r10, #0x48 mov r2, r1 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #0x1c] ldr r4, [sp, #0x14] smull r1, r0, r2, r2 @@ -11109,10 +11109,10 @@ _02176e54: add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02176e74: .word data_027e0f94 +_02176e74: .word gPlayerPos _02176e78: .word data_ov27_02179bc4 _02176e7c: .word 0x00001133 -_02176e80: .word data_02050f54 +_02176e80: .word gSinCosTable _02176e84: .word 0x0000019a arm_func_end func_ov27_02176aac @@ -11135,7 +11135,7 @@ func_ov27_02176e88: ; 0x02176e88 bl func_ov27_02177bc4 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov27_02176e88 @@ -11158,7 +11158,7 @@ func_ov27_02176ed0: ; 0x02176ed0 mov r1, #2 bl func_ov14_0214a720 ldrh r1, [r5, #0x78] - ldr r3, _02176f84 ; =data_02050f54 + ldr r3, _02176f84 ; =gSinCosTable mov r0, r5 mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 @@ -11184,11 +11184,11 @@ func_ov27_02176ed0: ; 0x02176ed0 bl func_ov27_02177bc4 mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02176f84: .word data_02050f54 +_02176f84: .word gSinCosTable arm_func_end func_ov27_02176ed0 .global func_ov27_02176f88 @@ -11309,10 +11309,10 @@ func_ov27_021770e8: ; 0x021770e8 str r3, [sp, #0x1c] str lr, [sp, #0x20] str ip, [sp, #0x24] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x10 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r3, #0x800 str r3, [sp, #0x28] mov r3, #2 @@ -11491,7 +11491,7 @@ _02177358: ; jump table b _0217749c ; case 5 _02177370: mov r1, #1 - ldr r0, _02177670 ; =data_027e0f90 + ldr r0, _02177670 ; =gPlayer strb r1, [r4, #0x4e5] ldr r2, [r0] mov r3, #0xc @@ -11514,7 +11514,7 @@ _02177370: mov r1, #1 ldr r0, [r0] bl func_ov05_02103fc8 - ldr r1, _02177678 ; =data_027e0fb8 + ldr r1, _02177678 ; =gPlayerControl ldr r0, _0217767c ; =data_027e0cbc ldr r1, [r1] mov r2, #0 @@ -11525,7 +11525,7 @@ _02177370: b _02177664 _021773f4: mov r1, #1 - ldr r0, _02177670 ; =data_027e0f90 + ldr r0, _02177670 ; =gPlayer strb r1, [r4, #0x4e8] mov r1, #0 ldr r2, [r0] @@ -11546,7 +11546,7 @@ _021773f4: mov r1, #0 ldr r0, [r0] bl func_ov05_02103fc8 - ldr r0, _02177678 ; =data_027e0fb8 + ldr r0, _02177678 ; =gPlayerControl mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x7a] @@ -11687,9 +11687,9 @@ _02177664: add sp, sp, #0x118 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02177670: .word data_027e0f90 +_02177670: .word gPlayer _02177674: .word data_027e103c -_02177678: .word data_027e0fb8 +_02177678: .word gPlayerControl _0217767c: .word data_027e0cbc _02177680: .word gAdventureFlags _02177684: .word data_027e0f64 @@ -11730,7 +11730,7 @@ func_ov27_021776c0: ; 0x021776c0 ldr r1, [r6, #0x14] cmp r1, #0 bne _02177714 - ldr r0, _0217790c ; =data_027e0f94 + ldr r0, _0217790c ; =gPlayerPos ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp, #0x18] @@ -11749,10 +11749,10 @@ _0217772c: add r0, sp, #0x18 add r2, sp, #0xc add r1, r7, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 ldr r1, [r6, #0x10] mov r0, r0, lsl #0x10 cmp r1, #7 @@ -11876,7 +11876,7 @@ _021778f4: add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0217790c: .word data_027e0f94 +_0217790c: .word gPlayerPos _02177910: .word data_027e0764 _02177914: .word data_ov27_021790b4 _02177918: .word 0x000003e7 @@ -11919,7 +11919,7 @@ func_ov27_02177940: ; 0x02177940 tst r0, #2 addeq sp, sp, #0x28 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _02177bb4 ; =data_027e0f90 + ldr r0, _02177bb4 ; =gPlayer ldr r0, [r0] ldrb r0, [r0, #0x12] cmp r0, #0 @@ -12064,7 +12064,7 @@ _02177a9c: .align 2, 0 _02177bac: .word data_027e0cbc _02177bb0: .word data_027e0618 -_02177bb4: .word data_027e0f90 +_02177bb4: .word gPlayer _02177bb8: .word data_027e0c38 _02177bbc: .word 0x51eb851f _02177bc0: .word 0x66666667 @@ -12276,7 +12276,7 @@ func_ov27_02177e30: ; 0x02177e30 ldmeqia sp!, {r3, pc} cmp r2, #0xb blt _02177ec0 - ldr r0, _02177ec8 ; =data_027e0fe4 + ldr r0, _02177ec8 ; =gActorManager mov r1, r2 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -12314,7 +12314,7 @@ _02177ec0: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_02177ec8: .word data_027e0fe4 +_02177ec8: .word gActorManager _02177ecc: .word 0x46534842 _02177ed0: .word 0x41525257 _02177ed4: .word 0x424d524e @@ -12836,7 +12836,7 @@ _02178588: cmp r3, #0 beq _02178600 ldrh r0, [r6, #0x78] - ldr r2, _02178674 ; =data_02050f54 + ldr r2, _02178674 ; =gSinCosTable ldr ip, [r6, #0x50] mov r0, r0, asr #0x4 mov r7, r0, lsl #0x1 @@ -12895,7 +12895,7 @@ _02178664: .word 0x00001001 _02178668: .word data_027e0ffc _0217866c: .word 0x00000412 _02178670: .word 0x00000413 -_02178674: .word data_02050f54 +_02178674: .word gSinCosTable _02178678: .word data_ov00_020e9370 arm_func_end func_ov27_021783a8 @@ -12949,7 +12949,7 @@ _021786f8: mov r1, #4 blx func_ov03_020f3d74 _02178718: - ldr r0, _02178864 ; =data_027e0fc8 + ldr r0, _02178864 ; =gPlayerLink mov r1, #4 ldr r0, [r0] ldr r2, [r0] @@ -13008,7 +13008,7 @@ _021787e0: mov r0, r4 blx func_ov09_0211cac0 _021787f0: - ldr r0, _02178864 ; =data_027e0fc8 + ldr r0, _02178864 ; =gPlayerLink mov r1, r5 ldr r0, [r0] bl func_ov00_020bce48 @@ -13041,7 +13041,7 @@ _0217884c: _02178858: .word 0x00001001 _0217885c: .word data_ov27_021790dc _02178860: .word data_027e0dbc -_02178864: .word data_027e0fc8 +_02178864: .word gPlayerLink _02178868: .word gItemManager _0217886c: .word data_ov27_02179114 arm_func_end func_ov27_021786ac @@ -13093,7 +13093,7 @@ _021788d4: str ip, [sp, #0x18] str r4, [sp, #0x24] ldrh r4, [r0, #0x78] - ldr r5, _02178a00 ; =data_02050f54 + ldr r5, _02178a00 ; =gSinCosTable ldr r2, [r0, #0x50] mov r4, r4, asr #0x4 mov r7, r4, lsl #0x1 @@ -13127,13 +13127,13 @@ _021788d4: mov r2, #8 mov r1, ip beq _021789c4 - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic cmp r0, #0 bne _021789ac ldr r1, [sp, #0x18] add r0, sp, #0xc mov r2, #8 - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic cmp r0, #0 beq _021789b8 _021789ac: @@ -13145,13 +13145,13 @@ _021789b8: mov r0, #0 ldmia sp!, {r4, r5, r6, r7, pc} _021789c4: - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic cmp r0, #0 bne _021789e8 ldr r1, [sp, #0x18] add r0, sp, #0xc mov r2, #8 - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic cmp r0, #0 beq _021789f4 _021789e8: @@ -13163,7 +13163,7 @@ _021789f4: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02178a00: .word data_02050f54 +_02178a00: .word gSinCosTable arm_func_end func_ov27_021788b4 .global func_ov27_02178a04 @@ -13388,7 +13388,7 @@ func_ov27_02178c14: ; 0x02178c14 bl func_0202bbbc cmp r0, #3 ldreq r0, [r5, #8] - ldr r2, _02178cec ; =data_02050f54 + ldr r2, _02178cec ; =gSinCosTable cmpeq r0, #5 moveq r4, #0 mov r0, r4, asr #0x4 @@ -13407,7 +13407,7 @@ func_ov27_02178c14: ; 0x02178c14 add r0, sp, #0x40 add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #4 str r0, [sp] ldr r0, _02178cf0 ; =data_027e0e58 @@ -13423,7 +13423,7 @@ func_ov27_02178c14: ; 0x02178c14 ldmia sp!, {r4, r5, pc} .align 2, 0 _02178ce8: .word 0x00000333 -_02178cec: .word data_02050f54 +_02178cec: .word gSinCosTable _02178cf0: .word data_027e0e58 _02178cf4: .word 0x00000272 arm_func_end func_ov27_02178c14 @@ -14555,7 +14555,7 @@ data_ov27_02179504: ; 0x02179504 .word func_ov14_02144b64 .global data_ov27_02179508 data_ov27_02179508: ; 0x02179508 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov27_0217950c data_ov27_0217950c: ; 0x0217950c .word func_ov27_0216e97c @@ -14585,7 +14585,7 @@ data_ov27_0217952c: ; 0x0217952c .word func_ov14_02145974 .global data_ov27_02179530 data_ov27_02179530: ; 0x02179530 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov27_02179534 data_ov27_02179534: ; 0x02179534 .word func_ov27_0216edbc @@ -14768,7 +14768,7 @@ data_ov27_02179630: ; 0x02179630 .word func_ov27_0217249c .global data_ov27_02179634 data_ov27_02179634: ; 0x02179634 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov27_02179638 data_ov27_02179638: ; 0x02179638 .word func_ov27_02172598 @@ -14798,10 +14798,10 @@ data_ov27_02179658: ; 0x02179658 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov27_0217965c data_ov27_0217965c: ; 0x0217965c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov27_02179660 data_ov27_02179660: ; 0x02179660 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov27_02179664 data_ov27_02179664: ; 0x02179664 .word _ZN5Actor8vfunc_4cEPi @@ -15049,7 +15049,7 @@ data_ov27_0217979c: ; 0x0217979c .word func_ov14_02144b64 .global data_ov27_021797a0 data_ov27_021797a0: ; 0x021797a0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov27_021797a4 data_ov27_021797a4: ; 0x021797a4 .word func_ov27_02173d78 @@ -15079,10 +15079,10 @@ data_ov27_021797c4: ; 0x021797c4 .word func_ov14_02145974 .global data_ov27_021797c8 data_ov27_021797c8: ; 0x021797c8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov27_021797cc data_ov27_021797cc: ; 0x021797cc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov27_021797d0 data_ov27_021797d0: ; 0x021797d0 .word _ZN5Actor8vfunc_4cEPi @@ -15411,7 +15411,7 @@ data_ov27_02179984: ; 0x02179984 .word func_ov14_02144b64 .global data_ov27_02179988 data_ov27_02179988: ; 0x02179988 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov27_0217998c data_ov27_0217998c: ; 0x0217998c .word func_ov27_0217497c @@ -15441,10 +15441,10 @@ data_ov27_021799ac: ; 0x021799ac .word func_ov14_02145974 .global data_ov27_021799b0 data_ov27_021799b0: ; 0x021799b0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov27_021799b4 data_ov27_021799b4: ; 0x021799b4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov27_021799b8 data_ov27_021799b8: ; 0x021799b8 .word _ZN5Actor8vfunc_4cEPi @@ -15656,7 +15656,7 @@ data_ov27_02179ac0: ; 0x02179ac0 .word func_ov14_02144b64 .global data_ov27_02179ac4 data_ov27_02179ac4: ; 0x02179ac4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov27_02179ac8 data_ov27_02179ac8: ; 0x02179ac8 .word func_ov14_02145100 @@ -15686,10 +15686,10 @@ data_ov27_02179ae8: ; 0x02179ae8 .word func_ov14_02145974 .global data_ov27_02179aec data_ov27_02179aec: ; 0x02179aec - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov27_02179af0 data_ov27_02179af0: ; 0x02179af0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov27_02179af4 data_ov27_02179af4: ; 0x02179af4 .word _ZN5Actor8vfunc_4cEPi @@ -16174,7 +16174,7 @@ data_ov27_02179d68: ; 0x02179d68 .word func_ov14_02145974 .global data_ov27_02179d6c data_ov27_02179d6c: ; 0x02179d6c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov27_02179d70 data_ov27_02179d70: ; 0x02179d70 .word func_ov27_021776c0 @@ -16479,7 +16479,7 @@ data_ov27_02179ef4: ; 0x02179ef4 .word func_ov14_02144b64 .global data_ov27_02179ef8 data_ov27_02179ef8: ; 0x02179ef8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov27_02179efc data_ov27_02179efc: ; 0x02179efc .word func_ov27_021783a8 @@ -16509,10 +16509,10 @@ data_ov27_02179f1c: ; 0x02179f1c .word func_ov27_021788b4 .global data_ov27_02179f20 data_ov27_02179f20: ; 0x02179f20 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov27_02179f24 data_ov27_02179f24: ; 0x02179f24 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov27_02179f28 data_ov27_02179f28: ; 0x02179f28 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov28.inc b/asm/ov28.inc index 490b4a69..121e294b 100644 --- a/asm/ov28.inc +++ b/asm/ov28.inc @@ -26,7 +26,7 @@ .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -38,9 +38,9 @@ .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c198cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c3094Ev .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor20IncreaseActiveFramesEv @@ -48,14 +48,14 @@ .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -89,7 +89,7 @@ .extern _ZNK11ItemManager7HasItemEi .extern _ZNK11ItemManager8GetFairyEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02051054 .extern data_02051154 .extern data_02051354 @@ -107,10 +107,10 @@ .extern data_027e0f6c .extern data_027e0f78 .extern data_027e0f84 -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fec .extern data_027e0ff0 .extern data_027e0ff8 @@ -136,15 +136,15 @@ .extern func_01ff8aa0 .extern func_01ff8abc .extern func_01ff8e84 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01fffbec -.extern func_01fffd04 +.extern _ZN5Actor13func_01fffd04Ei .extern func_020078f4 .extern func_02007908 .extern func_02016fe8 @@ -158,7 +158,7 @@ .extern func_0202b154 .extern func_0202b2e8 .extern func_0202b3bc -.extern func_0202b864 +.extern _ZN12TouchControl13func_0202b864EP5Vec3pic .extern func_0202e030 .extern func_0202e310 .extern func_0202e544 @@ -266,7 +266,7 @@ .extern func_ov00_020bc500 .extern func_ov00_020bce48 .extern func_ov00_020bcec8 -.extern func_ov00_020bd304 +.extern _ZN14PlayerLinkBase18func_ov00_020bd304Ev .extern func_ov00_020bd318 .extern func_ov00_020bd618 .extern func_ov00_020c0c08 diff --git a/asm/ov28.s b/asm/ov28.s index 27e2193e..dc3e0821 100644 --- a/asm/ov28.s +++ b/asm/ov28.s @@ -1122,7 +1122,7 @@ _0216e650: mov r0, #1 ldmia sp!, {r4, pc} _0216e664: - ldr r0, _0216e724 ; =data_027e0fc8 + ldr r0, _0216e724 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 @@ -1136,7 +1136,7 @@ _0216e664: mov r0, #1 ldmia sp!, {r4, pc} _0216e698: - ldr r0, _0216e724 ; =data_027e0fc8 + ldr r0, _0216e724 ; =gPlayerLink mov r1, #0x19 ldr r0, [r0] bl func_ov00_020bce48 @@ -1176,7 +1176,7 @@ _0216e714: .word 0xfffff333 _0216e718: .word 0xfffff99a _0216e71c: .word 0x000004cd _0216e720: .word 0xfffffb33 -_0216e724: .word data_027e0fc8 +_0216e724: .word gPlayerLink arm_func_end func_ov28_0216df0c .global func_ov28_0216e728 @@ -1423,13 +1423,13 @@ _0216ea28: cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} - ldr r0, _0216eab0 ; =data_027e0fc8 + ldr r0, _0216eab0 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} - ldr r0, _0216eab0 ; =data_027e0fc8 + ldr r0, _0216eab0 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd318 cmp r0, #0 @@ -1448,7 +1448,7 @@ _0216ea28: _0216eaa4: .word 0x000031c7 _0216eaa8: .word 0xffffce39 _0216eaac: .word data_ov09_0211f5c4 -_0216eab0: .word data_027e0fc8 +_0216eab0: .word gPlayerLink arm_func_end func_ov28_0216e9b8 .global func_ov28_0216eab4 @@ -1686,7 +1686,7 @@ _0216eddc: _0216edf8: add r2, r5, #0x800 ldrsh r3, [r2, #0xe0] - ldr r0, _0216eed0 ; =data_02050f54 + ldr r0, _0216eed0 ; =gSinCosTable mov r1, #0x7b add r3, r3, #0x3e8 strh r3, [r2, #0xe0] @@ -1710,7 +1710,7 @@ _0216edf8: str r0, [r5, #0x884] sub r0, r1, #0x5b0 ldrsh r4, [r2, #0xd8] - ldr r1, _0216eed0 ; =data_02050f54 + ldr r1, _0216eed0 ; =gSinCosTable sub r0, r4, r0 strh r0, [r2, #0xd8] ldrsh r0, [r2, #0xda] @@ -1739,7 +1739,7 @@ _0216eec0: .word 0x00000333 _0216eec4: .word 0x00000e39 _0216eec8: .word 0x0000011f _0216eecc: .word 0xffffe38e -_0216eed0: .word data_02050f54 +_0216eed0: .word gSinCosTable arm_func_end func_ov28_0216ead4 .global func_ov28_0216eed4 @@ -1754,7 +1754,7 @@ func_ov28_0216eed4: ; 0x0216eed4 str r1, [sp, #0x28] str r1, [sp, #0x2c] ldrh r1, [r0, #0xc8] - ldr r3, _0216ef4c ; =data_02050f54 + ldr r3, _0216ef4c ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1776,7 +1776,7 @@ func_ov28_0216eed4: ; 0x0216eed4 ldmia sp!, {r4, pc} .align 2, 0 _0216ef48: .word 0x00000b33 -_0216ef4c: .word data_02050f54 +_0216ef4c: .word gSinCosTable arm_func_end func_ov28_0216eed4 .global func_ov28_0216ef50 @@ -1791,7 +1791,7 @@ func_ov28_0216ef50: ; 0x0216ef50 str r1, [sp, #0x70] str r1, [sp, #0x74] ldrh r1, [r0, #0xca] - ldr r3, _0216f008 ; =data_02050f54 + ldr r3, _0216f008 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1803,7 +1803,7 @@ func_ov28_0216ef50: ; 0x0216ef50 blx func_01ff8230 add r0, r4, #0x800 ldrh r1, [r0, #0xd6] - ldr r3, _0216f008 ; =data_02050f54 + ldr r3, _0216f008 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1829,7 +1829,7 @@ func_ov28_0216ef50: ; 0x0216ef50 ldmia sp!, {r4, pc} .align 2, 0 _0216f004: .word 0x00000b33 -_0216f008: .word data_02050f54 +_0216f008: .word gSinCosTable arm_func_end func_ov28_0216ef50 .global func_ov28_0216f00c @@ -1844,7 +1844,7 @@ func_ov28_0216f00c: ; 0x0216f00c str r1, [sp, #0x70] str r1, [sp, #0x74] ldrh r1, [r0, #0xcc] - ldr r3, _0216f0c8 ; =data_02050f54 + ldr r3, _0216f0c8 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1856,7 +1856,7 @@ func_ov28_0216f00c: ; 0x0216f00c blx func_01ff8214 add r0, r4, #0x800 ldrh r1, [r0, #0xd0] - ldr r3, _0216f0c8 ; =data_02050f54 + ldr r3, _0216f0c8 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1883,7 +1883,7 @@ func_ov28_0216f00c: ; 0x0216f00c ldmia sp!, {r4, pc} .align 2, 0 _0216f0c4: .word 0x00000b33 -_0216f0c8: .word data_02050f54 +_0216f0c8: .word gSinCosTable arm_func_end func_ov28_0216f00c .global func_ov28_0216f0cc @@ -1898,7 +1898,7 @@ func_ov28_0216f0cc: ; 0x0216f0cc str r1, [sp, #0x28] str r1, [sp, #0x2c] ldrh r1, [r0, #0xce] - ldr r3, _0216f148 ; =data_02050f54 + ldr r3, _0216f148 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1921,7 +1921,7 @@ func_ov28_0216f0cc: ; 0x0216f0cc ldmia sp!, {r4, pc} .align 2, 0 _0216f144: .word 0x00000b33 -_0216f148: .word data_02050f54 +_0216f148: .word gSinCosTable arm_func_end func_ov28_0216f0cc .global func_ov28_0216f14c @@ -1936,7 +1936,7 @@ func_ov28_0216f14c: ; 0x0216f14c str r1, [sp, #0x28] str r1, [sp, #0x2c] ldrh r1, [r0, #0xd2] - ldr r3, _0216f1c4 ; =data_02050f54 + ldr r3, _0216f1c4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1958,7 +1958,7 @@ func_ov28_0216f14c: ; 0x0216f14c ldmia sp!, {r4, pc} .align 2, 0 _0216f1c0: .word 0x00000b33 -_0216f1c4: .word data_02050f54 +_0216f1c4: .word gSinCosTable arm_func_end func_ov28_0216f14c .global func_ov28_0216f1c8 @@ -1966,7 +1966,7 @@ _0216f1c4: .word data_02050f54 func_ov28_0216f1c8: ; 0x0216f1c8 stmdb sp!, {r4, lr} sub sp, sp, #0x30 - ldr r2, _0216f224 ; =data_02050f54 + ldr r2, _0216f224 ; =gSinCosTable mov r3, #0x1000 ldrsh r1, [r2] ldrsh r2, [r2, #2] @@ -1988,7 +1988,7 @@ func_ov28_0216f1c8: ; 0x0216f1c8 add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_0216f224: .word data_02050f54 +_0216f224: .word gSinCosTable arm_func_end func_ov28_0216f1c8 .global func_ov28_0216f228 @@ -3648,7 +3648,7 @@ func_ov28_021706b4: ; 0x021706b4 mov r4, r0 cmp r1, #0 bne _021706f0 - ldr r1, _02170708 ; =data_027e0fe4 + ldr r1, _02170708 ; =gActorManager ldr r2, _0217070c ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 @@ -3667,7 +3667,7 @@ _021706fc: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_02170708: .word data_027e0fe4 +_02170708: .word gActorManager _0217070c: .word 0x4e415649 arm_func_end func_ov28_021706b4 @@ -4057,17 +4057,17 @@ func_ov28_02170b54: ; 0x02170b54 add r1, r4, #0xfc add r0, r0, #0x400 add r1, r1, #0x400 - bl func_01ff9ec0 + bl Vec3p_Distance add r3, r4, #0xfc add r1, r4, #0x108 str r0, [r4, #0x4a8] add r0, r1, #0x400 add r2, sp, #0x14 add r1, r3, #0x400 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x14] ldr r1, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x4a4] @@ -4078,10 +4078,10 @@ func_ov28_02170b54: ; 0x02170b54 mov r3, #0 mov r0, ip str r3, [sp, #0xc] - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 ldr r0, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [r4, #0x4a0] @@ -4115,7 +4115,7 @@ func_ov28_02170c2c: ; 0x02170c2c sub sp, sp, #0x18 ldrh r2, [sp, #0x40] ldr r1, [sp, #0x2c] - ldr ip, _02170ce8 ; =data_02050f54 + ldr ip, _02170ce8 ; =gSinCosTable mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 mov r2, r4, lsl #0x1 @@ -4158,7 +4158,7 @@ func_ov28_02170c2c: ; 0x02170c2c add sp, sp, #0x10 bx lr .align 2, 0 -_02170ce8: .word data_02050f54 +_02170ce8: .word gSinCosTable arm_func_end func_ov28_02170c2c .global func_ov28_02170cec @@ -4339,12 +4339,12 @@ _02170f08: .global func_ov28_02170f10 arm_func_start func_ov28_02170f10 func_ov28_02170f10: ; 0x02170f10 - ldr ip, _02170f20 ; =_ZN5Actor18func_ov00_020c243cEiPi + ldr ip, _02170f20 ; =_ZN5Actor18func_ov00_020c243cEPjPPS_ mov r1, #0 mov r2, r1 bx ip .align 2, 0 -_02170f20: .word _ZN5Actor18func_ov00_020c243cEiPi +_02170f20: .word _ZN5Actor18func_ov00_020c243cEPjPPS_ arm_func_end func_ov28_02170f10 .global func_ov28_02170f24 @@ -4403,7 +4403,7 @@ func_ov28_02170fa0: ; 0x02170fa0 bl _ZN5Actor9GetHitboxEP8Cylinder ldr r0, [r4] ldr r1, [r4, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -4412,7 +4412,7 @@ func_ov28_02170fa0: ; 0x02170fa0 mov r2, r0, lsl #0x1 add r0, r2, #1 ldr ip, [sp, #0xc] - ldr r3, _02171070 ; =data_02050f54 + ldr r3, _02171070 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldr r1, [sp, #4] @@ -4442,7 +4442,7 @@ func_ov28_02170fa0: ; 0x02170fa0 ldmia sp!, {r4, r5, pc} .align 2, 0 _0217106c: .word data_027e0ffc -_02171070: .word data_02050f54 +_02171070: .word gSinCosTable arm_func_end func_ov28_02170fa0 .global func_ov28_02171074 @@ -5004,25 +5004,25 @@ _021716f8: cmpeq r0, #0 addne sp, sp, #0x18 ldmneia sp!, {r4, pc} - ldr r0, _021718cc ; =data_027e0fc8 + ldr r0, _021718cc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd318 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} - ldr r0, _021718cc ; =data_027e0fc8 + ldr r0, _021718cc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba28 cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} - ldr r0, _021718cc ; =data_027e0fc8 + ldr r0, _021718cc ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 addeq sp, sp, #0x18 ldmeqia sp!, {r4, pc} - ldr r0, _021718cc ; =data_027e0fc8 + ldr r0, _021718cc ; =gPlayerLink ldr r0, [r0] ldrsh r1, [r0, #0xa] cmp r1, #0 @@ -5099,7 +5099,7 @@ _021718b0: _021718c0: .word gAdventureFlags _021718c4: .word data_027e077c _021718c8: .word data_027e0c68 -_021718cc: .word data_027e0fc8 +_021718cc: .word gPlayerLink _021718d0: .word 0xfffff8e4 _021718d4: .word data_027e0f64 arm_func_end func_ov28_021716a0 @@ -5462,7 +5462,7 @@ func_ov28_02171d10: ; 0x02171d10 str r5, [sp, #0x4c] str r4, [sp, #0x50] str r3, [sp, #0x54] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x58 mov r4, #0x3000 mov r3, #0x400 @@ -5471,7 +5471,7 @@ func_ov28_02171d10: ; 0x02171d10 str r5, [sp, #0x40] str r4, [sp, #0x44] str r3, [sp, #0x48] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 ldr r2, [r9, #4] bic r0, r1, #0x1f @@ -5717,7 +5717,7 @@ func_ov28_021720e8: ; 0x021720e8 sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02172140 ; =data_02050f54 + ldr r3, _02172140 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -5736,7 +5736,7 @@ func_ov28_021720e8: ; 0x021720e8 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02172140: .word data_02050f54 +_02172140: .word gSinCosTable arm_func_end func_ov28_021720e8 .global func_ov28_02172144 @@ -5881,7 +5881,7 @@ func_ov28_02172280: ; 0x02172280 str r5, [sp, #0x30] str r4, [sp, #0x34] str r3, [sp, #0x38] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r3, _0217244c ; =0x0000059a add r0, sp, #0x3c mov r4, #0x3000 @@ -5890,7 +5890,7 @@ func_ov28_02172280: ; 0x02172280 str r5, [sp, #0x24] str r4, [sp, #0x28] str r3, [sp, #0x2c] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r9, #4] mov r0, r9 orr r1, r1, #0x14 @@ -6118,7 +6118,7 @@ func_ov28_021725fc: ; 0x021725fc sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _02172654 ; =data_02050f54 + ldr r3, _02172654 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -6137,7 +6137,7 @@ func_ov28_021725fc: ; 0x021725fc add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02172654: .word data_02050f54 +_02172654: .word gSinCosTable arm_func_end func_ov28_021725fc .global func_ov28_02172658 @@ -6625,7 +6625,7 @@ func_ov28_02172bc8: ; 0x02172bc8 add r0, r4, #0x48 mov r1, #0x1000 mov r2, #8 - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic cmp r0, #0 ldmeqia sp!, {r4, pc} mov r0, r4 @@ -7184,7 +7184,7 @@ func_ov28_02173330: ; 0x02173330 stmdb sp!, {r4, lr} sub sp, sp, #0x18 ldr ip, _021733b4 ; =0x00008b33 - ldr r0, _021733b8 ; =data_027e0f94 + ldr r0, _021733b8 ; =gPlayerPos ldr r3, _021733bc ; =0xffff9666 sub r4, ip, #0x7800 add lr, sp, #0xc @@ -7195,13 +7195,13 @@ func_ov28_02173330: ; 0x02173330 str ip, [sp] str r4, [sp, #4] str r3, [sp, #8] - bl func_01ff9ec0 + bl Vec3p_Distance mov r4, r0 ldr r0, _021733c0 ; =data_ov00_020eec68 bl func_ov00_020d7180 cmp r0, #0 beq _021733a8 - ldr r0, _021733c4 ; =data_027e0fc8 + ldr r0, _021733c4 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcec8 cmp r0, #0 @@ -7217,10 +7217,10 @@ _021733a8: ldmia sp!, {r4, pc} .align 2, 0 _021733b4: .word 0x00008b33 -_021733b8: .word data_027e0f94 +_021733b8: .word gPlayerPos _021733bc: .word 0xffff9666 _021733c0: .word data_ov00_020eec68 -_021733c4: .word data_027e0fc8 +_021733c4: .word gPlayerLink arm_func_end func_ov28_02173330 .global func_ov28_021733c8 @@ -7286,7 +7286,7 @@ _02173440: ldreq r0, [r0, #4] cmpeq r1, r0 bne _021734e0 - ldr r0, _02173508 ; =data_027e0fc8 + ldr r0, _02173508 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcec8 cmp r0, #0 @@ -7320,7 +7320,7 @@ _021734f8: .align 2, 0 _02173500: .word gAdventureFlags _02173504: .word data_027e077c -_02173508: .word data_027e0fc8 +_02173508: .word gPlayerLink _0217350c: .word data_027e0c68 arm_func_end func_ov28_021733ec @@ -7501,7 +7501,7 @@ func_ov28_021736d0: ; 0x021736d0 mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -7670,7 +7670,7 @@ func_ov28_021738e0: ; 0x021738e0 bl _ZN14AdventureFlags18func_ov00_02097738Ev cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02173948 ; =data_027e0fc8 + ldr r0, _02173948 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcec8 cmp r0, #0 @@ -7685,7 +7685,7 @@ func_ov28_021738e0: ; 0x021738e0 ldmia sp!, {r4, pc} .align 2, 0 _02173944: .word gAdventureFlags -_02173948: .word data_027e0fc8 +_02173948: .word gPlayerLink _0217394c: .word data_ov09_0211f5b4 arm_func_end func_ov28_021738e0 @@ -7725,7 +7725,7 @@ func_ov28_02173998: ; 0x02173998 ldrne r0, [r4, #0x130] cmpne r0, #4 ldmeqia sp!, {r4, pc} - ldr r0, _021739e8 ; =data_027e0fc8 + ldr r0, _021739e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcec8 cmp r0, #0 @@ -7737,7 +7737,7 @@ func_ov28_02173998: ; 0x02173998 bl func_ov28_02173580 ldmia sp!, {r4, pc} .align 2, 0 -_021739e8: .word data_027e0fc8 +_021739e8: .word gPlayerLink _021739ec: .word data_ov09_0211f5b4 arm_func_end func_ov28_02173998 @@ -7792,7 +7792,7 @@ _02173a54: str r2, [sp, #0xc] ldr r2, [r4, #0xc] str r2, [sp, #0x10] - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [sp, #0xc] ldr r2, [sp, #8] rsb r3, r1, #0 @@ -7808,7 +7808,7 @@ _02173a54: add r0, sp, #0x14 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -8308,7 +8308,7 @@ _02174118: ldr r2, [r1, #0xc] mov r1, r0 str r2, [sp, #0x10] - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [sp, #0xc] ldr r2, [sp, #8] rsb r3, r1, #0 @@ -8324,7 +8324,7 @@ _02174118: add r0, sp, #0x14 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -8521,7 +8521,7 @@ _02174428: bne _02174488 add r1, r4, #0x200 ldrh r0, [r1, #0x34] - ldr r2, _021744bc ; =data_02050f54 + ldr r2, _021744bc ; =gSinCosTable add sp, sp, #0x14 add r0, r0, #0xee0 add r0, r0, #0x2000 @@ -8552,7 +8552,7 @@ _02174488: _021744b0: .word gAdventureFlags _021744b4: .word data_027e0e58 _021744b8: .word data_ov00_020eec9c -_021744bc: .word data_02050f54 +_021744bc: .word gSinCosTable arm_func_end func_ov28_02174388 .global func_ov28_021744c0 @@ -8785,7 +8785,7 @@ func_ov28_0217475c: ; 0x0217475c mov r0, r4 mov r2, r1 strb r3, [r4, #0x1c1] - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r4 bl func_ov28_021746cc add r0, r4, #0x48 @@ -9081,7 +9081,7 @@ _02174b40: ldrsh r0, [r4, #0xc] cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02174ba4 ; =data_027e0fc8 + ldr r0, _02174ba4 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd318 cmp r0, #0 @@ -9104,7 +9104,7 @@ _02174b94: .word data_ov00_020eec68 _02174b98: .word data_027e077c _02174b9c: .word data_027e0c68 _02174ba0: .word data_ov00_020eec9c -_02174ba4: .word data_027e0fc8 +_02174ba4: .word gPlayerLink _02174ba8: .word data_ov28_02179c2c arm_func_end func_ov28_02174a5c @@ -9383,7 +9383,7 @@ func_ov28_02174ec4: ; 0x02174ec4 mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 bne _02174f18 mov r0, r4 @@ -10049,7 +10049,7 @@ func_ov28_02175748: ; 0x02175748 mov r4, r0 cmp r1, #0 bne _02175784 - ldr r1, _0217579c ; =data_027e0fe4 + ldr r1, _0217579c ; =gActorManager ldr r2, _021757a0 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 @@ -10068,7 +10068,7 @@ _02175790: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0217579c: .word data_027e0fe4 +_0217579c: .word gActorManager _021757a0: .word 0x4e415649 arm_func_end func_ov28_02175748 @@ -10531,7 +10531,7 @@ _02175d58: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02175f44 ; =data_02050f54 + ldr r2, _02175f44 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] mov r0, r0, lsl #0x1 @@ -10634,7 +10634,7 @@ _02175f3c: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02175f44: .word data_02050f54 +_02175f44: .word gSinCosTable arm_func_end func_ov28_02175d1c .global func_ov28_02175f48 @@ -11209,7 +11209,7 @@ func_ov28_0217671c: ; 0x0217671c sub sp, sp, #0x24 mov r4, r0 ldrh r1, [r4, #0x12] - ldr r3, _02176778 ; =data_02050f54 + ldr r3, _02176778 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11229,7 +11229,7 @@ func_ov28_0217671c: ; 0x0217671c add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02176778: .word data_02050f54 +_02176778: .word gSinCosTable arm_func_end func_ov28_0217671c .global func_ov28_0217677c @@ -11245,7 +11245,7 @@ func_ov28_0217677c: ; 0x0217677c str r2, [sp, #0x28] str r1, [sp, #0x2c] ldrh r1, [r4, #0x12] - ldr r3, _021767f4 ; =data_02050f54 + ldr r3, _021767f4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -11266,7 +11266,7 @@ func_ov28_0217677c: ; 0x0217677c ldmia sp!, {r4, pc} .align 2, 0 _021767f0: .word 0xffffe99a -_021767f4: .word data_02050f54 +_021767f4: .word gSinCosTable arm_func_end func_ov28_0217677c .global func_ov28_021767f8 @@ -11310,7 +11310,7 @@ func_ov28_021767f8: ; 0x021767f8 add r0, sp, #4 add r2, r2, #0x400 bl func_01ff8e84 - ldr r2, _021768d8 ; =data_02050f54 + ldr r2, _021768d8 ; =gSinCosTable add r0, sp, #4 ldrsh r1, [r2] ldrsh r2, [r2, #2] @@ -11329,7 +11329,7 @@ func_ov28_021767f8: ; 0x021767f8 .align 2, 0 _021768d0: .word data_02051354 _021768d4: .word data_02051054 -_021768d8: .word data_02050f54 +_021768d8: .word gSinCosTable arm_func_end func_ov28_021767f8 .global func_ov28_021768dc @@ -11353,7 +11353,7 @@ func_ov28_021768dc: ; 0x021768dc mov r3, #0x400 str ip, [sp] bl func_01ff8988 - ldr r2, _021769d8 ; =data_02050f54 + ldr r2, _021769d8 ; =gSinCosTable add r0, sp, #4 ldrsh r1, [r2, #0xf4] ldrsh r2, [r2, #0xf6] @@ -11399,7 +11399,7 @@ func_ov28_021768dc: ; 0x021768dc ldmia sp!, {r3, r4, pc} .align 2, 0 _021769d4: .word 0x0000063d -_021769d8: .word data_02050f54 +_021769d8: .word gSinCosTable _021769dc: .word data_02051154 _021769e0: .word data_02051f54 _021769e4: .word gItemManager @@ -11445,7 +11445,7 @@ func_ov28_021769e8: ; 0x021769e8 add r0, sp, #0xc add r2, r2, #0x400 bl func_01ff8e84 - ldr r2, _02176bd0 ; =data_02050f54 + ldr r2, _02176bd0 ; =gSinCosTable add r0, sp, #0xc ldrsh r1, [r2] ldrsh r2, [r2, #2] @@ -11534,7 +11534,7 @@ _02176bc0: .word 0xfffffe66 _02176bc4: .word 0x00000333 _02176bc8: .word data_02054054 _02176bcc: .word data_02054b54 -_02176bd0: .word data_02050f54 +_02176bd0: .word gSinCosTable _02176bd4: .word data_027e0e58 arm_func_end func_ov28_021769e8 @@ -11742,7 +11742,7 @@ _02176e40: addne sp, sp, #0x24 ldmneia sp!, {r4, r5, pc} ldr r4, [r4, #0xb4] - ldr r3, _02176ef4 ; =data_02050f54 + ldr r3, _02176ef4 ; =gSinCosTable ldr r1, [r4] add r0, sp, #0 bic r1, r1, #2 @@ -11761,7 +11761,7 @@ _02176e40: mov r2, r1 bl func_0202e030 ldrh r1, [r5, #0x5c] - ldr r3, _02176ef4 ; =data_02050f54 + ldr r3, _02176ef4 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -11779,7 +11779,7 @@ _02176e40: ldmia sp!, {r4, r5, pc} .align 2, 0 _02176ef0: .word data_ov28_021784dc -_02176ef4: .word data_02050f54 +_02176ef4: .word gSinCosTable arm_func_end func_ov28_02176e04 .global func_ov28_02176ef8 @@ -12244,7 +12244,7 @@ func_ov28_021774c4: ; 0x021774c4 mov r4, r0 cmp r1, #0 bne _02177510 - ldr r1, _02177528 ; =data_027e0fe4 + ldr r1, _02177528 ; =gActorManager ldr r2, _0217752c ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 @@ -12267,7 +12267,7 @@ _0217751c: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_02177528: .word data_027e0fe4 +_02177528: .word gActorManager _0217752c: .word 0x4e415649 arm_func_end func_ov28_021774c4 @@ -12432,7 +12432,7 @@ func_ov28_021776f0: ; 0x021776f0 ldr r1, [r5, #0x130] cmp r1, #1 bne _02177798 - ldr r1, _021778ac ; =data_027e0f94 + ldr r1, _021778ac ; =gPlayerPos ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp] @@ -12477,7 +12477,7 @@ _02177798: ldrneb r0, [r5, #0x1e8] cmpne r0, #0 beq _021777fc - ldr r0, _021778b4 ; =data_027e0fe4 + ldr r0, _021778b4 ; =gActorManager add r1, r5, #0x184 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -12497,7 +12497,7 @@ _02177798: mov r1, r0 b _0217783c _021777fc: - ldr r1, _021778ac ; =data_027e0f94 + ldr r1, _021778ac ; =gPlayerPos mov r0, r5 ldr r3, [r1] ldr r2, [r1, #4] @@ -12524,7 +12524,7 @@ _0217783c: add r1, r1, r0 mov r0, r4 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 rsb r0, r0, #0x4000 mov r0, r0, lsl #0x10 ldr r2, _021778b8 ; =0x00001555 @@ -12544,9 +12544,9 @@ _02177890: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_021778ac: .word data_027e0f94 +_021778ac: .word gPlayerPos _021778b0: .word 0x0000238e -_021778b4: .word data_027e0fe4 +_021778b4: .word gActorManager _021778b8: .word 0x00001555 arm_func_end func_ov28_021776f0 @@ -12770,7 +12770,7 @@ _02177b50: .word data_027e0764 func_ov28_02177b54: ; 0x02177b54 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #8 - ldr r1, _02177b90 ; =data_027e0fe4 + ldr r1, _02177b90 ; =gActorManager mov r5, r0 ldr r4, [r1] ldr r2, _02177b94 ; =0x46524253 @@ -12784,7 +12784,7 @@ func_ov28_02177b54: ; 0x02177b54 add sp, sp, #8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02177b90: .word data_027e0fe4 +_02177b90: .word gActorManager _02177b94: .word 0x46524253 arm_func_end func_ov28_02177b54 @@ -12847,7 +12847,7 @@ func_ov28_02177bec: ; 0x02177bec mov r2, #0x21 bl Approach_thunk ldrh r0, [r4, #0x78] - ldr r2, _02178040 ; =data_02050f54 + ldr r2, _02178040 ; =gSinCosTable ldr r6, [r4, #0x188] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -12873,7 +12873,7 @@ func_ov28_02177bec: ; 0x02177bec add r1, r4, #0x60 mov r2, r0 str r3, [r4, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x170 add r1, r4, #8 bl func_ov00_020ccf0c @@ -12883,18 +12883,18 @@ func_ov28_02177bec: ; 0x02177bec add r1, r4, #0x170 mov r3, r2 mov r0, #0x800 - bl func_01ff9e64 + bl Vec3p_Axpy _02177cd0: mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r0, [r4, #0x18c] cmp r0, #0 beq _02177d94 sub r0, r0, #1 str r0, [r4, #0x18c] ldrh r0, [r4, #0x78] - ldr r1, _02178040 ; =data_02050f54 + ldr r1, _02178040 ; =gSinCosTable ldr r3, _02178044 ; =data_027e0e58 mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 @@ -13029,7 +13029,7 @@ _02177ed8: beq _02177f5c ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] - bl func_01ffa0f4 + bl Atan2 ldr r3, _0217804c ; =data_027e0764 ldr r1, _02178050 ; =0x00004001 ldr r5, [r3] @@ -13113,7 +13113,7 @@ _02177fb0: add sp, sp, #0x2c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02178040: .word data_02050f54 +_02178040: .word gSinCosTable _02178044: .word data_027e0e58 _02178048: .word 0x00000b33 _0217804c: .word data_027e0764 @@ -14335,7 +14335,7 @@ data_ov28_02178980: ; 0x02178980 .word func_ov14_02144b64 .global data_ov28_02178984 data_ov28_02178984: ; 0x02178984 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02178988 data_ov28_02178988: ; 0x02178988 .word func_ov28_0216f228 @@ -14365,10 +14365,10 @@ data_ov28_021789a8: ; 0x021789a8 .word func_ov14_02145974 .global data_ov28_021789ac data_ov28_021789ac: ; 0x021789ac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_021789b0 data_ov28_021789b0: ; 0x021789b0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_021789b4 data_ov28_021789b4: ; 0x021789b4 .word _ZN5Actor8vfunc_4cEPi @@ -14696,7 +14696,7 @@ data_ov28_02178be0: ; 0x02178be0 .word func_ov14_02144b64 .global data_ov28_02178be4 data_ov28_02178be4: ; 0x02178be4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02178be8 data_ov28_02178be8: ; 0x02178be8 .word func_ov14_02145100 @@ -14726,10 +14726,10 @@ data_ov28_02178c08: ; 0x02178c08 .word func_ov14_02145974 .global data_ov28_02178c0c data_ov28_02178c0c: ; 0x02178c0c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02178c10 data_ov28_02178c10: ; 0x02178c10 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_02178c14 data_ov28_02178c14: ; 0x02178c14 .word _ZN5Actor8vfunc_4cEPi @@ -14891,7 +14891,7 @@ data_ov28_02178ce4: ; 0x02178ce4 .word func_ov14_02144b64 .global data_ov28_02178ce8 data_ov28_02178ce8: ; 0x02178ce8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02178cec data_ov28_02178cec: ; 0x02178cec .word func_ov14_02145100 @@ -14921,10 +14921,10 @@ data_ov28_02178d0c: ; 0x02178d0c .word func_ov14_02145974 .global data_ov28_02178d10 data_ov28_02178d10: ; 0x02178d10 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02178d14 data_ov28_02178d14: ; 0x02178d14 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_02178d18 data_ov28_02178d18: ; 0x02178d18 .word _ZN5Actor8vfunc_4cEPi @@ -15086,7 +15086,7 @@ data_ov28_02178de8: ; 0x02178de8 .word func_ov14_02144b64 .global data_ov28_02178dec data_ov28_02178dec: ; 0x02178dec - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02178df0 data_ov28_02178df0: ; 0x02178df0 .word func_ov14_02145100 @@ -15116,10 +15116,10 @@ data_ov28_02178e10: ; 0x02178e10 .word func_ov14_02145974 .global data_ov28_02178e14 data_ov28_02178e14: ; 0x02178e14 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02178e18 data_ov28_02178e18: ; 0x02178e18 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_02178e1c data_ov28_02178e1c: ; 0x02178e1c .word _ZN5Actor8vfunc_4cEPi @@ -15281,7 +15281,7 @@ data_ov28_02178eec: ; 0x02178eec .word func_ov14_02144b64 .global data_ov28_02178ef0 data_ov28_02178ef0: ; 0x02178ef0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02178ef4 data_ov28_02178ef4: ; 0x02178ef4 .word func_ov14_02145100 @@ -15311,10 +15311,10 @@ data_ov28_02178f14: ; 0x02178f14 .word func_ov14_02145974 .global data_ov28_02178f18 data_ov28_02178f18: ; 0x02178f18 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02178f1c data_ov28_02178f1c: ; 0x02178f1c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_02178f20 data_ov28_02178f20: ; 0x02178f20 .word _ZN5Actor8vfunc_4cEPi @@ -15544,7 +15544,7 @@ data_ov28_02179040: ; 0x02179040 .word func_ov14_02144b64 .global data_ov28_02179044 data_ov28_02179044: ; 0x02179044 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02179048 data_ov28_02179048: ; 0x02179048 .word func_ov28_02171aa4 @@ -15574,7 +15574,7 @@ data_ov28_02179068: ; 0x02179068 .word func_ov14_02145974 .global data_ov28_0217906c data_ov28_0217906c: ; 0x0217906c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02179070 data_ov28_02179070: ; 0x02179070 .word func_ov28_02170f24 @@ -16041,7 +16041,7 @@ data_ov28_021792cc: ; 0x021792cc .word func_ov14_02144b64 .global data_ov28_021792d0 data_ov28_021792d0: ; 0x021792d0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_021792d4 data_ov28_021792d4: ; 0x021792d4 .word _ZN5Actor8vfunc_20Ei @@ -16071,10 +16071,10 @@ data_ov28_021792f4: ; 0x021792f4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov28_021792f8 data_ov28_021792f8: ; 0x021792f8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_021792fc data_ov28_021792fc: ; 0x021792fc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_02179300 data_ov28_02179300: ; 0x02179300 .word _ZN5Actor8vfunc_4cEPi @@ -16280,7 +16280,7 @@ data_ov28_02179400: ; 0x02179400 .word func_ov14_02144b64 .global data_ov28_02179404 data_ov28_02179404: ; 0x02179404 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02179408 data_ov28_02179408: ; 0x02179408 .word func_ov28_02173c74 @@ -16310,7 +16310,7 @@ data_ov28_02179428: ; 0x02179428 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov28_0217942c data_ov28_0217942c: ; 0x0217942c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02179430 data_ov28_02179430: ; 0x02179430 .word func_ov28_021739f0 @@ -16511,7 +16511,7 @@ data_ov28_02179534: ; 0x02179534 .word func_ov14_02144b64 .global data_ov28_02179538 data_ov28_02179538: ; 0x02179538 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_0217953c data_ov28_0217953c: ; 0x0217953c .word func_ov28_02174830 @@ -16541,7 +16541,7 @@ data_ov28_0217955c: ; 0x0217955c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov28_02179560 data_ov28_02179560: ; 0x02179560 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02179564 data_ov28_02179564: ; 0x02179564 .word func_ov28_021740cc @@ -16825,7 +16825,7 @@ data_ov28_021796cc: ; 0x021796cc .word func_ov28_02174f44 .global data_ov28_021796d0 data_ov28_021796d0: ; 0x021796d0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_021796d4 data_ov28_021796d4: ; 0x021796d4 .word func_ov28_0217547c @@ -16855,7 +16855,7 @@ data_ov28_021796f4: ; 0x021796f4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov28_021796f8 data_ov28_021796f8: ; 0x021796f8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_021796fc data_ov28_021796fc: ; 0x021796fc .word func_ov28_02174fc4 @@ -17029,7 +17029,7 @@ data_ov28_021797dc: ; 0x021797dc .word func_ov14_02144b64 .global data_ov28_021797e0 data_ov28_021797e0: ; 0x021797e0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_021797e4 data_ov28_021797e4: ; 0x021797e4 .word func_ov28_02176bd8 @@ -17059,10 +17059,10 @@ data_ov28_02179804: ; 0x02179804 .word func_ov14_02145974 .global data_ov28_02179808 data_ov28_02179808: ; 0x02179808 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_0217980c data_ov28_0217980c: ; 0x0217980c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_02179810 data_ov28_02179810: ; 0x02179810 .word _ZN5Actor8vfunc_4cEPi @@ -17262,7 +17262,7 @@ data_ov28_02179918: ; 0x02179918 .word func_ov28_02177238 .global data_ov28_0217991c data_ov28_0217991c: ; 0x0217991c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02179920 data_ov28_02179920: ; 0x02179920 .word func_ov28_02177494 @@ -17292,10 +17292,10 @@ data_ov28_02179940: ; 0x02179940 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov28_02179944 data_ov28_02179944: ; 0x02179944 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02179948 data_ov28_02179948: ; 0x02179948 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_0217994c data_ov28_0217994c: ; 0x0217994c .word _ZN5Actor8vfunc_4cEPi @@ -17487,7 +17487,7 @@ data_ov28_02179a44: ; 0x02179a44 .word func_ov28_02177bd8 .global data_ov28_02179a48 data_ov28_02179a48: ; 0x02179a48 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov28_02179a4c data_ov28_02179a4c: ; 0x02179a4c .word func_ov28_02178058 @@ -17517,10 +17517,10 @@ data_ov28_02179a6c: ; 0x02179a6c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov28_02179a70 data_ov28_02179a70: ; 0x02179a70 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov28_02179a74 data_ov28_02179a74: ; 0x02179a74 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov28_02179a78 data_ov28_02179a78: ; 0x02179a78 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov29.inc b/asm/ov29.inc index 5bbb2191..74f0be7c 100644 --- a/asm/ov29.inc +++ b/asm/ov29.inc @@ -1,6 +1,14 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_6cEv .extern _ZN10MapManager18Set_MapData_Unk_16Eci .extern _ZN10MapManager18func_ov00_02082680Eii @@ -11,16 +19,18 @@ .extern _ZN10MapManager18func_ov00_020846a4Ev .extern _ZN10MapManager18func_ov00_02084d24Ecci .extern _ZN11ItemManager18func_ov00_020ae4dcEi -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager18func_ov00_020c3b2cEPi .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags18func_ov00_02097738Ev +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor14GetAngleToLinkEv @@ -28,22 +38,22 @@ .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c2ebcEv .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -70,10 +80,14 @@ .extern _ZN5ActorD2Ev .extern _ZN9ActorTypeC1EjPFP5ActorvEPFivE .extern _ZN9ActorTypeD1Ev +.extern _ZN9EquipRope18func_ov14_0213d420Ev +.extern _ZN9EquipRope18func_ov14_0213d440Ei +.extern _ZN9EquipRope18func_ov14_0213d480Ei +.extern _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder +.extern _ZN9EquipRope18func_ov14_0213ddd4EP5Actor .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 .extern data_02051354 .extern data_02052f54 .extern data_02054b54 @@ -86,7 +100,6 @@ .extern data_027e0c54 .extern data_027e0c68 .extern data_027e0ce0 -.extern data_027e0d0c .extern data_027e0d38 .extern data_027e0db0 .extern data_027e0e58 @@ -94,13 +107,7 @@ .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -122,17 +129,8 @@ .extern func_01ff992c .extern func_01ff9958 .extern func_01ff9b4c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01fffb4c .extern func_01fffbec -.extern func_01fffcec .extern func_02006b14 .extern func_02006b2c .extern func_02006b90 @@ -269,7 +267,6 @@ .extern func_ov00_020c0d4c .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -337,12 +334,7 @@ .extern func_ov09_0211a988 .extern func_ov14_02120998 .extern func_ov14_02122e98 -.extern func_ov14_0213d420 -.extern func_ov14_0213d440 -.extern func_ov14_0213d480 .extern func_ov14_0213d5d0 -.extern func_ov14_0213dadc -.extern func_ov14_0213ddd4 .extern func_ov14_021448d4 .extern func_ov14_021448dc .extern func_ov14_021448e4 @@ -388,7 +380,15 @@ .extern func_ov38_02182e3c .extern func_ov38_021854e4 .extern func_ov38_02185720 +.extern gActorManager .extern gAdventureFlags .extern gItemManager .extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable +.extern gVec3p_ZERO .extern strcpy diff --git a/asm/ov29.s b/asm/ov29.s index bba48869..773dc96c 100644 --- a/asm/ov29.s +++ b/asm/ov29.s @@ -237,7 +237,7 @@ _0216d92c: .word data_ov29_0217a4ac func_ov29_0216d930: ; 0x0216d930 stmdb sp!, {r3, r4, r5, lr} mov r5, r0 - ldr r0, _0216d984 ; =data_027e0fb8 + ldr r0, _0216d984 ; =gPlayerControl movs r4, r1 moveq r2, #1 movne r2, #0 @@ -258,7 +258,7 @@ _0216d968: strb r4, [r5, #0x54] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0216d984: .word data_027e0fb8 +_0216d984: .word gPlayerControl _0216d988: .word data_027e103c arm_func_end func_ov29_0216d930 @@ -566,7 +566,7 @@ func_ov29_0216dcf4: ; 0x0216dcf4 ldreq r0, [r4, #0x38] cmpeq r0, #4 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _0216dd5c ; =data_027e0f90 + ldr r0, _0216dd5c ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #0 @@ -582,7 +582,7 @@ func_ov29_0216dcf4: ; 0x0216dcf4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0216dd58: .word data_027e0618 -_0216dd5c: .word data_027e0f90 +_0216dd5c: .word gPlayer arm_func_end func_ov29_0216dcf4 .global func_ov29_0216dd60 @@ -682,7 +682,7 @@ _0216de94: ldr r0, _0216dffc ; =0x0000099a cmp r1, r0 blt _0216debc - ldr r0, _0216e000 ; =data_027e0fc8 + ldr r0, _0216e000 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbb78 cmp r0, #0 @@ -758,7 +758,7 @@ _0216df70: bl _ZN11ItemManager18func_ov00_020ae4dcEi add r0, r6, r4 add r1, r7, r5 - ldr r3, _0216e000 ; =data_027e0fc8 + ldr r3, _0216e000 ; =gPlayerLink add r0, r0, r0, lsr #31 add r2, r1, r1, lsr #31 mov r1, r0, lsl #0xf @@ -776,7 +776,7 @@ _0216dff0: .word data_ov29_0217a504 _0216dff4: .word data_027e104c _0216dff8: .word data_ov00_020eec9c _0216dffc: .word 0x0000099a -_0216e000: .word data_027e0fc8 +_0216e000: .word gPlayerLink _0216e004: .word data_ov29_0217a504 _0216e008: .word gItemManager arm_func_end func_ov29_0216ddb0 @@ -2894,7 +2894,7 @@ func_ov29_0216fcd4: ; 0x0216fcd4 bl _ZN10MapManager18func_ov00_020836dcEii cmp r0, #0 beq _0216fd6c - ldr r1, _0216fd7c ; =data_027e0f94 + ldr r1, _0216fd7c ; =gPlayerPos ldr r0, _0216fd78 ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] @@ -2930,7 +2930,7 @@ _0216fd6c: ldmia sp!, {pc} .align 2, 0 _0216fd78: .word gMapManager -_0216fd7c: .word data_027e0f94 +_0216fd7c: .word gPlayerPos arm_func_end func_ov29_0216fcd4 .global func_ov29_0216fd80 @@ -3224,19 +3224,19 @@ _02170140: .word data_ov29_02179ac8 arm_func_start func_ov29_02170144 func_ov29_02170144: ; 0x02170144 stmdb sp!, {r3, lr} - ldr r0, _02170174 ; =data_027e0fe4 + ldr r0, _02170174 ; =gActorManager ldr r3, _02170178 ; =data_ov29_02179b08 ldr r0, [r0] add r1, sp, #0 mov r2, #0 str r3, [sp] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, _0217017c ; =data_ov29_0217a60c mov r1, #0 str r1, [r0, #0x20] ldmia sp!, {r3, pc} .align 2, 0 -_02170174: .word data_027e0fe4 +_02170174: .word gActorManager _02170178: .word data_ov29_02179b08 _0217017c: .word data_ov29_0217a60c arm_func_end func_ov29_02170144 @@ -3272,7 +3272,7 @@ func_ov29_02170180: ; 0x02170180 mov r0, #2 str r1, [r4, #0x1d4] str r0, [r4, #0x25c] - ldr r1, _0217022c ; =data_027e0d0c + ldr r1, _0217022c ; =gVec3p_ZERO mov r0, r4 ldr r2, [r1] str r2, [r4, #0x60] @@ -3288,7 +3288,7 @@ func_ov29_02170180: ; 0x02170180 _02170220: .word data_ov29_02179b20 _02170224: .word data_027e0fec _02170228: .word data_ov29_02179aa0 -_0217022c: .word data_027e0d0c +_0217022c: .word gVec3p_ZERO arm_func_end func_ov29_02170180 .global func_ov29_02170230 @@ -3475,12 +3475,12 @@ func_ov29_02170468: ; 0x02170468 add r2, sp, #0x34 add r0, r5, #0x228 add r1, r5, #0x234 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r5, #0x24c] add r1, sp, #0x34 add r2, r5, #0x234 add r3, r5, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r5, #0x24c] ldr r3, [r5, #0x254] mov r0, r0, lsl #0x1 @@ -3524,7 +3524,7 @@ _02170540: cmp r4, #0 beq _021705bc add r0, sp, #8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #8 str r1, [sp, #0x24] @@ -3636,12 +3636,12 @@ func_ov29_021706ac: ; 0x021706ac add r2, sp, #0x34 add r0, r5, #0x228 add r1, r5, #0x234 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r5, #0x24c] add r1, sp, #0x34 add r2, r5, #0x234 add r3, r5, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r5, #0x4c] ldr r0, [r5, #0x22c] subs r0, r1, r0 @@ -3663,7 +3663,7 @@ _02170734: cmp r4, #0 beq _021707b0 add r0, sp, #8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #8 str r1, [sp, #0x24] @@ -3847,12 +3847,12 @@ func_ov29_021709c0: ; 0x021709c0 add r2, sp, #4 add r0, r5, #0x228 add r1, r5, #0x234 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r5, #0x24c] add r1, sp, #4 add r2, r5, #0x234 add r3, r5, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, [r5, #0x24c] ldr ip, [r5, #0x254] mov r0, r0, lsl #0x1 @@ -3885,13 +3885,13 @@ func_ov29_021709c0: ; 0x021709c0 str r0, [r3, #0x20] cmp r0, #3 bne _02170aa8 - ldr r0, _02170ad0 ; =data_027e0fe4 + ldr r0, _02170ad0 ; =gActorManager ldr r4, _02170ad4 ; =data_ov29_02179b14 ldr r0, [r0] add r1, sp, #0 str r2, [r3, #0x20] str r4, [sp] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _02170aa8: @@ -3906,7 +3906,7 @@ _02170aa8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02170acc: .word data_ov29_0217a60c -_02170ad0: .word data_027e0fe4 +_02170ad0: .word gActorManager _02170ad4: .word data_ov29_02179b14 arm_func_end func_ov29_021709c0 @@ -4054,12 +4054,12 @@ func_ov29_02170ca0: ; 0x02170ca0 add r2, sp, #0x34 add r0, r5, #0x228 add r1, r5, #0x234 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r5, #0x24c] add r1, sp, #0x34 add r2, r5, #0x234 add r3, r5, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r2, [r5, #0x24c] ldr r1, _02170e78 ; =0x00000666 mov r0, #0 @@ -4083,7 +4083,7 @@ func_ov29_02170ca0: ; 0x02170ca0 str r0, [r5, #0x248] beq _02170dc8 add r0, sp, #8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #8 str r1, [sp, #0x24] @@ -4222,7 +4222,7 @@ func_ov29_02170f0c: ; 0x02170f0c addne sp, sp, #0x40 strneb r0, [r5, #0x118] ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021710f8 ; =data_027e0f94 + ldr r0, _021710f8 ; =gPlayerPos ldr r1, [r5, #0x22c] ldr r0, [r0, #4] subs r0, r1, r0 @@ -4241,12 +4241,12 @@ _02170f74: add r2, sp, #0x34 add r0, r5, #0x228 add r1, r5, #0x234 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r5, #0x24c] add r1, sp, #0x34 add r2, r5, #0x234 add r3, r5, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r5, #0x4c] ldr r0, [r5, #0x22c] subs r0, r1, r0 @@ -4268,7 +4268,7 @@ _02170ff0: cmp r4, #0 beq _02171070 add r0, sp, #8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #8 str r1, [sp, #0x24] @@ -4333,7 +4333,7 @@ _02171070: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021710f4: .word data_ov38_02189238 -_021710f8: .word data_027e0f94 +_021710f8: .word gPlayerPos _021710fc: .word data_027e0fe8 _02171100: .word 0x474f314d _02171104: .word data_027e0e58 @@ -4464,7 +4464,7 @@ func_ov29_02171280: ; 0x02171280 cmp r0, #2 b _02171454 _021712ac: - ldr r0, _02171534 ; =data_027e0f94 + ldr r0, _02171534 ; =gPlayerPos mov r1, #0 ldr r3, [r0] ldr r2, [r0, #4] @@ -4485,7 +4485,7 @@ _021712ac: ldr r0, [r5, #0xc] add r1, sp, #0x18 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy _02171304: ldrsh r1, [r5, #2] add r0, sp, #0x24 @@ -4497,7 +4497,7 @@ _02171304: str r0, [r4, #8] ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171328: - ldr r0, _02171534 ; =data_027e0f94 + ldr r0, _02171534 ; =gPlayerPos mov r2, #0 ldr r3, [r0] ldr r1, [r0, #4] @@ -4576,7 +4576,7 @@ _02171428: ldmia sp!, {r3, r4, r5, r6, r7, pc} _02171454: ldr r0, _0217153c ; =data_ov38_02189238 - ldr r1, _02171534 ; =data_027e0f94 + ldr r1, _02171534 ; =gPlayerPos ldr r0, [r0] ldr r3, [r1] add r0, r0, #0x1000 @@ -4633,7 +4633,7 @@ _02171504: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02171534: .word data_027e0f94 +_02171534: .word gPlayerPos _02171538: .word data_027e0764 _0217153c: .word data_ov38_02189238 arm_func_end func_ov29_02171280 @@ -4817,17 +4817,17 @@ _0217172c: cmp r0, #0 bne _0217172c _02171744: - ldr r0, _02171768 ; =data_027e0fe4 + ldr r0, _02171768 ; =gActorManager ldr r3, _0217176c ; =data_ov29_02179c64 ldr r0, [r0] add r1, sp, #0 mov r2, #0 str r3, [sp] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02171764: .word data_ov29_0217bc30 -_02171768: .word data_027e0fe4 +_02171768: .word gActorManager _0217176c: .word data_ov29_02179c64 arm_func_end func_ov29_02171714 @@ -5022,7 +5022,7 @@ _021719d8: .word data_ov29_021793d0 func_ov29_021719dc: ; 0x021719dc stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _02171a2c ; =data_027e0fac + ldr r1, _02171a2c ; =gPlayerAngle mov r3, #0 ldrsh r1, [r1] mov r2, #0x1000 @@ -5041,7 +5041,7 @@ func_ov29_021719dc: ; 0x021719dc add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02171a2c: .word data_027e0fac +_02171a2c: .word gPlayerAngle arm_func_end func_ov29_021719dc .global func_ov29_02171a30 @@ -5194,7 +5194,7 @@ _02171bfc: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ ldmia sp!, {r4, pc} arm_func_end func_ov29_02171bd8 @@ -5227,7 +5227,7 @@ _02171c68: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ ldmia sp!, {r4, pc} _02171ca4: ldrb r0, [r4, #0x334] @@ -5235,7 +5235,7 @@ _02171ca4: movne r0, #0 strneb r0, [r4, #0x118] ldmneia sp!, {r4, pc} - ldr r0, _02171cfc ; =data_027e0f94 + ldr r0, _02171cfc ; =gPlayerPos ldr r1, [r4, #0x4c] ldr r0, [r0, #4] subs r0, r1, r0 @@ -5253,7 +5253,7 @@ _02171ca4: ldmia sp!, {r4, pc} .align 2, 0 _02171cf8: .word 0x0000019a -_02171cfc: .word data_027e0f94 +_02171cfc: .word gPlayerPos arm_func_end func_ov29_02171c38 .global func_ov29_02171d00 @@ -5289,17 +5289,17 @@ func_ov29_02171d38: ; 0x02171d38 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _02171d5c: - ldr r0, _02171edc ; =data_027e0f94 + ldr r0, _02171edc ; =gPlayerPos add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} add r2, sp, #0xc mov r0, r3 add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot mov r4, r0 cmp r4, #0x10000 mov r5, #0x16c @@ -5390,11 +5390,11 @@ _02171eb8: mov r1, #0 mov r0, r6 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02171edc: .word data_027e0f94 +_02171edc: .word gPlayerPos _02171ee0: .word data_027e0ffc arm_func_end func_ov29_02171d38 @@ -5448,7 +5448,7 @@ _02171f74: beq _02172028 ldrh r0, [r5, #0x78] mov r1, #0 - ldr r3, _02172070 ; =data_02050f54 + ldr r3, _02172070 ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -5469,7 +5469,7 @@ _02171f74: add r2, r5, #0x48 mov r0, #0x1800 str ip, [sp, #0x20] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0x1c] ldr r0, [sp, #0x10] add r2, r1, #0x800 @@ -5486,7 +5486,7 @@ _02171f74: mov r0, r5 mov r3, #0x800 str ip, [sp, #8] - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi cmp r0, #0 movne r4, #0 _02172028: @@ -5498,7 +5498,7 @@ _02172028: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _0217204c: add r0, r5, #0x290 bl func_0202e58c @@ -5510,7 +5510,7 @@ _0217204c: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02172070: .word data_02050f54 +_02172070: .word gSinCosTable arm_func_end func_ov29_02171f4c .global func_ov29_02172074 @@ -5761,7 +5761,7 @@ _02172360: add r1, r5, #0x1f8 mov r3, r2 mov r0, #0x800 - bl func_01ff9e64 + bl Vec3p_Axpy _021723b4: ldr r0, [r5, #0x4c] mov r2, #0xb800 @@ -5795,7 +5795,7 @@ func_ov29_021723f0: ; 0x021723f0 addeq sp, sp, #0x24 ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] - ldr r3, _02172460 ; =data_02050f54 + ldr r3, _02172460 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -5814,7 +5814,7 @@ func_ov29_021723f0: ; 0x021723f0 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02172460: .word data_02050f54 +_02172460: .word gSinCosTable arm_func_end func_ov29_021723f0 .global func_ov29_02172464 @@ -5862,18 +5862,18 @@ func_ov29_02172494: ; 0x02172494 str r5, [r3, #4] cmp ip, #0x1e bge _02172590 - ldr r0, _021725a0 ; =data_027e0fe4 + ldr r0, _021725a0 ; =gActorManager ldr r3, _021725a4 ; =data_ov29_02179c58 ldr r0, [r0] add r1, sp, #4 str r2, [sp, #8] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #8] cmp r0, #1 bge _02172590 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -5907,7 +5907,7 @@ _02172590: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0217259c: .word data_027e0764 -_021725a0: .word data_027e0fe4 +_021725a0: .word gActorManager _021725a4: .word data_ov29_02179c58 _021725a8: .word data_027e0fe8 _021725ac: .word 0x464c414c @@ -5940,18 +5940,18 @@ func_ov29_021725b0: ; 0x021725b0 str r5, [r3, #4] cmp ip, #0x14 bge _021726ac - ldr r0, _021726bc ; =data_027e0fe4 + ldr r0, _021726bc ; =gActorManager ldr r3, _021726c0 ; =data_ov29_02179c58 ldr r0, [r0] add r1, sp, #4 str r2, [sp, #8] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #8] cmp r0, #1 bge _021726a0 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -5986,7 +5986,7 @@ _021726ac: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _021726b8: .word data_027e0764 -_021726bc: .word data_027e0fe4 +_021726bc: .word gActorManager _021726c0: .word data_ov29_02179c58 _021726c4: .word data_027e0fe8 _021726c8: .word 0x48415254 @@ -6073,7 +6073,7 @@ func_ov29_02172738: ; 0x02172738 str r0, [r4, #0x28c] strb r0, [r4, #0x29d] strb r0, [r4, #0x29e] - ldr r1, _02172814 ; =data_027e0d0c + ldr r1, _02172814 ; =gVec3p_ZERO mov r0, r4 ldr r2, [r1] str r2, [r4, #0x60] @@ -6090,7 +6090,7 @@ _02172804: .word data_ov29_02179e14 _02172808: .word data_02057200 _0217280c: .word data_027e0fec _02172810: .word data_ov29_02179ed0 -_02172814: .word data_027e0d0c +_02172814: .word gVec3p_ZERO arm_func_end func_ov29_02172738 .global func_ov29_02172818 @@ -6194,7 +6194,7 @@ func_ov29_02172938: ; 0x02172938 bne _02172ba0 add r0, r5, #4 add r1, r6, #0x22c - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 bge _02172ba0 ldr r0, [r5, #0x14] @@ -6207,7 +6207,7 @@ func_ov29_02172938: ; 0x02172938 mov r1, #0 mov r0, r3 str r1, [sp, #0x34] - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0xc000 addgt sp, sp, #0x3c movgt r0, #0 @@ -6219,7 +6219,7 @@ func_ov29_02172938: ; 0x02172938 bne _02172ad8 ldrh r0, [r6, #0x78] ldr r1, [r6, #0x48] - ldr r2, _02172bb0 ; =data_02050f54 + ldr r2, _02172bb0 ; =gSinCosTable str r1, [sp, #0x24] ldr r7, [r6, #0x4c] mov r3, r0, asr #0x4 @@ -6299,7 +6299,7 @@ _02172ad8: bl _ZN5Actor9GetHitboxEP8Cylinder ldr r0, [r5, #4] ldr r1, [r5, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -6308,7 +6308,7 @@ _02172ad8: mov r2, r0, lsl #0x1 add r0, r2, #1 ldr r4, [sp, #0x14] - ldr r3, _02172bb0 ; =data_02050f54 + ldr r3, _02172bb0 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r3, r2] @@ -6345,7 +6345,7 @@ _02172ba0: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02172bac: .word 0x41525257 -_02172bb0: .word data_02050f54 +_02172bb0: .word gSinCosTable _02172bb4: .word data_027e0e58 _02172bb8: .word 0x00001001 _02172bbc: .word data_027e0ffc @@ -6500,7 +6500,7 @@ _02172d60: add r0, sp, #0 mov r1, r3 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02172d88: ldr r1, _02172dd8 ; =data_ov38_02189238 add r0, sp, #0 @@ -6514,7 +6514,7 @@ _02172d88: add r0, sp, #0 mov r2, r5 add r1, r1, #0x14 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 @@ -6547,7 +6547,7 @@ _02172e10: _02172e14: mov ip, #0 str ip, [r4, #0x130] - ldr r0, _02172e78 ; =data_027e0d0c + ldr r0, _02172e78 ; =gVec3p_ZERO strb ip, [r4, #0x11a] ldr r1, [r0] mov r2, #1 @@ -6571,7 +6571,7 @@ _02172e14: str r0, [r4, #0x164] ldmia sp!, {r4, pc} .align 2, 0 -_02172e78: .word data_027e0d0c +_02172e78: .word gVec3p_ZERO _02172e7c: .word data_ov29_02179db0 _02172e80: .word data_02057200 arm_func_end func_ov29_02172ddc @@ -6709,7 +6709,7 @@ _0217300c: str r5, [r8, #4] add r0, r3, #0x1e _02173034: - ldr r2, _0217308c ; =data_027e0d0c + ldr r2, _0217308c ; =gVec3p_ZERO str r0, [r4, #0x284] ldr r0, [r2] mov r3, #0x800 @@ -6732,7 +6732,7 @@ _02173034: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02173088: .word data_027e0764 -_0217308c: .word data_027e0d0c +_0217308c: .word gVec3p_ZERO _02173090: .word data_ov29_02179db0 _02173094: .word data_02057200 arm_func_end func_ov29_02172f10 @@ -6767,7 +6767,7 @@ func_ov29_02173098: ; 0x02173098 mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _02173108: ldr r0, [r4, #0x284] cmp r0, #0 @@ -6938,7 +6938,7 @@ func_ov29_02173314: ; 0x02173314 str r3, [sp, #4] ldr r3, [ip, #0x50] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #0x18] ldr r0, [r4, #0x278] ldr r1, _021733f0 ; =0x00000266 @@ -6971,7 +6971,7 @@ func_ov29_02173314: ; 0x02173314 ldr r2, [r4, #0x204] add r1, r2, #0x60 add r2, r2, #0x60 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -7091,7 +7091,7 @@ _02173570: strh r1, [r0, #0x94] str r1, [r4, #0x278] mov r1, #0x1000 - ldr r0, _021735f4 ; =data_027e0d0c + ldr r0, _021735f4 ; =gVec3p_ZERO str r1, [r4, #0x274] ldr r1, [r0] mov r2, #0x800 @@ -7118,7 +7118,7 @@ _021735e4: .word data_027e0764 _021735e8: .word data_ov38_02189238 _021735ec: .word 0x00000fa5 _021735f0: .word 0xfffff05b -_021735f4: .word data_027e0d0c +_021735f4: .word gVec3p_ZERO _021735f8: .word data_ov29_02179db0 _021735fc: .word data_02057200 arm_func_end func_ov29_021733f4 @@ -7154,7 +7154,7 @@ _02173654: ldrsh r3, [r0, #0x94] ldrsh r2, [r1, #0x9a] ldrh r0, [r1, #0x94] - ldr r1, _02173820 ; =data_02050f54 + ldr r1, _02173820 ; =gSinCosTable sub r2, r3, r2 sub r3, r2, #0x8000 mov r2, r0, asr #0x4 @@ -7167,7 +7167,7 @@ _02173690: add r0, r5, #0x200 ldrsh r3, [r0, #0x94] mov r1, #0x8000 - ldr r2, _02173820 ; =data_02050f54 + ldr r2, _02173820 ; =gSinCosTable add r3, r3, #0xc00 strh r3, [r0, #0x94] ldrh r3, [r0, #0x94] @@ -7198,7 +7198,7 @@ _021736d4: add r0, sp, #0xc add r1, sp, #0 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0xc add r0, r5, #0x244 mov r2, #0x400 @@ -7208,7 +7208,7 @@ _021736d4: bl func_ov38_021854e4 ldrsh r0, [r5, #0x78] mov r2, #0 - ldr r1, _02173820 ; =data_02050f54 + ldr r1, _02173820 ; =gSinCosTable add r0, r0, r0, lsr #31 mov r0, r0, lsl #0xf mov r0, r0, lsr #0x10 @@ -7267,7 +7267,7 @@ _021737d4: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02173820: .word data_02050f54 +_02173820: .word gSinCosTable _02173824: .word 0x00001555 _02173828: .word 0x0000019a _0217382c: .word 0x00000ccd @@ -7294,7 +7294,7 @@ func_ov29_02173834: ; 0x02173834 _0217386c: blx r1 _02173870: - ldr r1, _021739c4 ; =data_027e0d0c + ldr r1, _021739c4 ; =gVec3p_ZERO mov r0, #4 str r0, [r4, #0x130] ldr r0, [r1] @@ -7384,7 +7384,7 @@ _02173998: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021739c4: .word data_027e0d0c +_021739c4: .word gVec3p_ZERO _021739c8: .word data_ov38_02189238 _021739cc: .word data_027e0764 _021739d0: .word data_ov29_02179db0 @@ -7467,7 +7467,7 @@ _021739f8: cmp r2, r0 movlt r2, r0 _02173af4: - ldr r0, _02174014 ; =data_027e0f94 + ldr r0, _02174014 ; =gPlayerPos add r5, r3, r2 ldr r2, [r0] ldr r1, [r0, #4] @@ -7480,7 +7480,7 @@ _02173af4: str r3, [sp, #0x28] str r2, [sp, #0x24] mov r5, r1, asr #0x10 - bl func_01ff9cec + bl Vec3p_Length sub r2, r0, #0x400 cmp r2, #0xac00 movgt r2, #0xac00 @@ -7514,7 +7514,7 @@ _02173b44: add r0, r4, #0x25c add r1, sp, #0x14 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub b _02173bbc _02173bb4: sub r0, r0, #1 @@ -7565,7 +7565,7 @@ _02173c0c: add r1, r4, #0x238 add r2, r4, #0x25c mov r0, #0x800 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r0, _02174020 ; =data_027e0e58 mov r5, #0 ldr r6, [r0] @@ -7707,7 +7707,7 @@ _02173e68: mov r0, r4 bl func_ov29_02173314 ldrsh r1, [r4, #0x78] - ldr r6, _02174040 ; =data_02050f54 + ldr r6, _02174040 ; =gSinCosTable add r0, r4, #0x200 add r1, r1, r1, lsr #31 mov r1, r1, lsl #0xf @@ -7812,7 +7812,7 @@ _02174004: .word 0x00000333 _02174008: .word func_ov29_021726fc _0217400c: .word data_ov29_02179db0 _02174010: .word 0x00000eef -_02174014: .word data_027e0f94 +_02174014: .word gPlayerPos _02174018: .word 0x000038e4 _0217401c: .word 0x00001333 _02174020: .word data_027e0e58 @@ -7823,7 +7823,7 @@ _02174030: .word 0x00000e39 _02174034: .word 0x00000ccd _02174038: .word 0x00000266 _0217403c: .word 0x0000019a -_02174040: .word data_02050f54 +_02174040: .word gSinCosTable arm_func_end func_ov29_021739d4 .global func_ov29_02174044 @@ -7855,7 +7855,7 @@ func_ov29_02174054: ; 0x02174054 _0217408c: blx r1 _02174090: - ldr r0, _021742c0 ; =data_027e0d0c + ldr r0, _021742c0 ; =gVec3p_ZERO mov r1, #5 str r1, [r4, #0x130] ldr r1, [r0] @@ -7901,7 +7901,7 @@ _02174090: movne r1, #0x12800 str r1, [r0] ldr r1, [r4, #0x208] - ldr r0, _021742cc ; =data_027e0f94 + ldr r0, _021742cc ; =gPlayerPos str r2, [r1] ldr r1, [r0, #4] ldr r2, [r0] @@ -7912,7 +7912,7 @@ _02174090: add r0, sp, #0x18 str r2, [sp, #0x20] str r1, [sp, #0x1c] - bl func_01ff9cec + bl Vec3p_Length sub r0, r0, #0x400 cmp r0, #0xb000 movgt r0, #0xb000 @@ -8002,10 +8002,10 @@ _02174284: add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_021742c0: .word data_027e0d0c +_021742c0: .word gVec3p_ZERO _021742c4: .word func_ov29_021726fc _021742c8: .word data_ov29_02179db0 -_021742cc: .word data_027e0f94 +_021742cc: .word gPlayerPos _021742d0: .word data_ov38_02189238 _021742d4: .word 0xfffff111 _021742d8: .word 0xffff8001 @@ -8064,7 +8064,7 @@ _02174340: add r1, r4, #0x238 add r2, r4, #0x25c mov r0, #0x800 - bl func_01ff9e64 + bl Vec3p_Axpy ldrb r0, [r4, #0xa4] cmp r0, #0 ldreqb r0, [r4, #0xa5] @@ -8107,7 +8107,7 @@ _02174410: str r0, [r4, #0x284] add r0, r4, #0x200 ldrh r1, [r0, #0x9a] - ldr r3, _02174730 ; =data_02050f54 + ldr r3, _02174730 ; =gSinCosTable mov r0, #0x5000 mov r1, r1, asr #0x4 mov r5, r1, lsl #0x1 @@ -8192,7 +8192,7 @@ _02174514: bl func_ov29_02174cc8 _02174578: ldrsh r1, [r4, #0x78] - ldr r6, _02174730 ; =data_02050f54 + ldr r6, _02174730 ; =gSinCosTable add r0, r4, #0x200 add r1, r1, r1, lsr #31 mov r1, r1, lsl #0xf @@ -8302,7 +8302,7 @@ _02174720: .word 0x00000d9a _02174724: .word data_027e0e58 _02174728: .word data_027e0ffc _0217472c: .word 0x0000043d -_02174730: .word data_02050f54 +_02174730: .word gSinCosTable _02174734: .word 0x00005c72 _02174738: .word 0x00000333 arm_func_end func_ov29_021742e0 @@ -8407,7 +8407,7 @@ func_ov29_02174814: ; 0x02174814 bne _02174910 add r3, r4, #0x200 ldrsh r2, [r3, #0x94] - ldr r1, _0217494c ; =data_02050f54 + ldr r1, _0217494c ; =gSinCosTable mov r0, #0 add r2, r2, #0x710 add r2, r2, #0x2000 @@ -8441,7 +8441,7 @@ func_ov29_02174814: ; 0x02174814 str r1, [r4, #0x21c] ldmia sp!, {r3, r4, pc} _02174910: - ldr r0, _0217494c ; =data_02050f54 + ldr r0, _0217494c ; =gSinCosTable mov r2, #0 ldrsh r1, [r0] str r2, [r4, #0x210] @@ -8457,7 +8457,7 @@ _02174910: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217494c: .word data_02050f54 +_0217494c: .word gSinCosTable arm_func_end func_ov29_02174814 .global func_ov29_02174950 @@ -8472,7 +8472,7 @@ func_ov29_02174950: ; 0x02174950 bl func_0202b2e8 cmp r0, #0 ldrne r0, [r4, #0x248] - ldr r1, _02174cb4 ; =data_02050f54 + ldr r1, _02174cb4 ; =gSinCosTable addne r0, r0, #0x1400 strne r0, [r4, #0x248] add r0, r4, #0x200 @@ -8502,7 +8502,7 @@ func_ov29_02174950: ; 0x02174950 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 - ldr r6, _02174cb4 ; =data_02050f54 + ldr r6, _02174cb4 ; =gSinCosTable add r0, r1, #1 mov r2, r1, lsl #0x1 mov r1, r0, lsl #0x1 @@ -8591,7 +8591,7 @@ _02174b2c: mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 - ldr r6, _02174cb4 ; =data_02050f54 + ldr r6, _02174cb4 ; =gSinCosTable add r0, r1, #1 mov r2, r1, lsl #0x1 mov r1, r0, lsl #0x1 @@ -8683,7 +8683,7 @@ _02174c88: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02174cb4: .word data_02050f54 +_02174cb4: .word gSinCosTable _02174cb8: .word 0x0000019a _02174cbc: .word data_02054b54 _02174cc0: .word 0x00000333 @@ -9251,7 +9251,7 @@ _021753a8: .word data_ov29_02179f4c func_ov29_021753ac: ; 0x021753ac stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x68 - ldr r3, _0217558c ; =data_027e0d0c + ldr r3, _0217558c ; =gVec3p_ZERO mov r4, r0 ldr r1, [r3] mov r0, #0x800 @@ -9340,7 +9340,7 @@ func_ov29_021753ac: ; 0x021753ac strh r0, [r1, #0xbc] ldrh r0, [r1, #0xbc] ldrh r5, [r1, #0xbe] - ldr r2, _021755b0 ; =data_02050f54 + ldr r2, _021755b0 ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -9353,7 +9353,7 @@ func_ov29_021753ac: ; 0x021753ac mov r0, r5, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _021755b0 ; =data_02050f54 + ldr r2, _021755b0 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -9370,7 +9370,7 @@ func_ov29_021753ac: ; 0x021753ac add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0217558c: .word data_027e0d0c +_0217558c: .word gVec3p_ZERO _02175590: .word data_ov29_02179eec _02175594: .word data_ov29_02179ef4 _02175598: .word data_ov29_02179408 @@ -9379,7 +9379,7 @@ _021755a0: .word data_ov38_02189238 _021755a4: .word 0x0000071d _021755a8: .word 0xfffffc72 _021755ac: .word 0xffffe38e -_021755b0: .word data_02050f54 +_021755b0: .word gSinCosTable arm_func_end func_ov29_021753ac .global func_ov29_021755b4 @@ -9395,11 +9395,11 @@ func_ov29_021755b4: ; 0x021755b4 ldreq r0, [r5, #0x130] cmpeq r0, #2 bne _0217564c - ldr r0, _02175674 ; =data_027e0f94 + ldr r0, _02175674 ; =gPlayerPos add r2, sp, #0 add r1, r5, #0x48 mov r4, #0x400 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #8] ldr ip, [sp] smull r1, r0, r2, r2 @@ -9417,7 +9417,7 @@ func_ov29_021755b4: ; 0x021755b4 bl func_01ff9958 mov r1, r0 mov r0, r6 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r5, #0x2bc @@ -9435,7 +9435,7 @@ _0217564c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02175670: .word data_ov29_0217bc78 -_02175674: .word data_027e0f94 +_02175674: .word gPlayerPos arm_func_end func_ov29_021755b4 .global func_ov29_02175678 @@ -9495,7 +9495,7 @@ func_ov29_02175724: ; 0x02175724 mov r1, #0x1000 str r1, [r4, #0x278] str r1, [r4, #0x27c] - ldr r3, _0217578c ; =data_027e0d0c + ldr r3, _0217578c ; =gVec3p_ZERO str r1, [r4, #0x280] ldr r2, [r3] mov r1, #1 @@ -9517,7 +9517,7 @@ func_ov29_02175724: ; 0x02175724 str r0, [r4, #0x15c] ldmia sp!, {r4, pc} .align 2, 0 -_0217578c: .word data_027e0d0c +_0217578c: .word gVec3p_ZERO _02175790: .word data_ov29_02179f20 arm_func_end func_ov29_02175724 @@ -9596,7 +9596,7 @@ _02175850: bl func_ov29_021758f0 mov r1, r5 mov r6, r0 - bl func_ov14_0213ddd4 + bl _ZN9EquipRope18func_ov14_0213ddd4EP5Actor movs r4, r0 bmi _021758d0 ldr r0, _021758ec ; =data_ov29_0217bc78 @@ -9631,11 +9631,11 @@ _021758ec: .word data_ov29_0217bc78 .global func_ov29_021758f0 arm_func_start func_ov29_021758f0 func_ov29_021758f0: ; 0x021758f0 - ldr ip, _021758fc ; =func_01fffcec + ldr ip, _021758fc ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_021758fc: .word func_01fffcec +_021758fc: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov29_021758f0 .global func_ov29_02175900 @@ -9647,11 +9647,11 @@ func_ov29_02175900: ; 0x02175900 bl func_ov29_021758f0 ldr r1, [r6, #8] mov r4, r0 - bl func_ov14_0213d440 + bl _ZN9EquipRope18func_ov14_0213d440Ei movs r5, r0 bmi _02175a94 mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -9666,7 +9666,7 @@ func_ov29_02175900: ; 0x02175900 add r2, sp, #0xc add r0, r6, #0x48 add r1, r6, #0x7c - bl func_01ff9bc4 + bl Vec3p_Add ldrb r0, [r6, #0x2c1] cmp r0, #0 beq _02175a18 @@ -9710,7 +9710,7 @@ func_ov29_02175900: ; 0x02175900 add r1, r6, #0x7c add r2, r6, #0x48 str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub _02175a18: ldr lr, [sp, #0xc] ldr ip, [sp, #0x10] @@ -9721,7 +9721,7 @@ _02175a18: str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r6, #0x284 bl func_01fffb4c cmp r0, #0 @@ -9738,7 +9738,7 @@ _02175a64: add r2, sp, #0xc mov r0, r4 mov r1, r5 - bl func_ov14_0213dadc + bl _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _02175a88: @@ -9748,7 +9748,7 @@ _02175a88: _02175a94: ldr r1, [r6, #8] mov r0, r4 - bl func_ov14_0213d480 + bl _ZN9EquipRope18func_ov14_0213d480Ei cmp r0, #0 addge sp, sp, #0x18 movge r0, #1 @@ -9759,7 +9759,7 @@ _02175ab0: addeq sp, sp, #0x18 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r2, _02175b10 ; =data_027e0d0c + ldr r2, _02175b10 ; =gVec3p_ZERO ldr r1, _02175b14 ; =data_ov29_0217bc78 ldr r0, [r2] mov r3, #0 @@ -9779,7 +9779,7 @@ _02175ab0: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02175b10: .word data_027e0d0c +_02175b10: .word gVec3p_ZERO _02175b14: .word data_ov29_0217bc78 arm_func_end func_ov29_02175900 @@ -9829,13 +9829,13 @@ func_ov29_02175b4c: ; 0x02175b4c add r1, r4, #0x7c add r2, r4, #0x290 strb r3, [r4, #0x2c2] - bl func_01ff9bc4 + bl Vec3p_Add add r2, sp, #0x18 add r0, r4, #0x29c add r1, r4, #0x290 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x18 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 mov r0, #0x1000 bl Divide @@ -9863,7 +9863,7 @@ func_ov29_02175b4c: ; 0x02175b4c mov r0, r3 add r1, r2, #0x60 add r2, r2, #0x60 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02175d34 ; =data_027e0ffc ldr r1, _02175d38 ; =0x00000434 add r2, r4, #0x48 @@ -9892,7 +9892,7 @@ _02175c50: mov r0, r3 add r1, r2, #0x60 add r2, r2, #0x60 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x2b4] sub r0, r0, #1 str r0, [r4, #0x2b4] @@ -9967,7 +9967,7 @@ _02175d70: add r0, r6, #0x200 ldrh r1, [r0, #0xbc] ldrh r4, [r0, #0xbe] - ldr r2, _02175ec8 ; =data_02050f54 + ldr r2, _02175ec8 ; =gSinCosTable mov r0, r1, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -9980,7 +9980,7 @@ _02175d70: mov r0, r4, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02175ec8 ; =data_02050f54 + ldr r2, _02175ec8 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -10043,7 +10043,7 @@ _02175eac: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02175ec4: .word data_ov29_0217bc78 -_02175ec8: .word data_02050f54 +_02175ec8: .word gSinCosTable _02175ecc: .word 0x000004cd arm_func_end func_ov29_02175d40 @@ -10074,7 +10074,7 @@ func_ov29_02175ed0: ; 0x02175ed0 add r0, r5, #0x200 ldrh r1, [r0, #0xbc] ldrh r4, [r0, #0xbe] - ldr r2, _02175fec ; =data_02050f54 + ldr r2, _02175fec ; =gSinCosTable mov r0, r1, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -10087,7 +10087,7 @@ func_ov29_02175ed0: ; 0x02175ed0 mov r0, r4, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02175fec ; =data_02050f54 + ldr r2, _02175fec ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -10102,14 +10102,14 @@ func_ov29_02175ed0: ; 0x02175ed0 ldr r0, _02175ff0 ; =0x00001333 add r1, r5, #0x260 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r1, r5, #0x260 add r0, r5, #0x284 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x260 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize _02175fc0: add r0, r5, #0x160 ldr r4, [r0] @@ -10123,7 +10123,7 @@ _02175fc0: add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02175fec: .word data_02050f54 +_02175fec: .word gSinCosTable _02175ff0: .word 0x00001333 arm_func_end func_ov29_02175ed0 @@ -10347,7 +10347,7 @@ _021762bc: str r0, [r4, #0x6c] cmp r0, #0xa bne _021762e0 - ldr r0, _02176324 ; =data_027e0fc8 + ldr r0, _02176324 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bcfb8 @@ -10371,7 +10371,7 @@ _02176314: .align 2, 0 _0217631c: .word data_027e0ffc _02176320: .word 0x00000666 -_02176324: .word data_027e0fc8 +_02176324: .word gPlayerLink arm_func_end func_ov29_02176180 .global func_ov29_02176328 @@ -10492,7 +10492,7 @@ func_ov29_02176468: ; 0x02176468 str ip, [sp, #0x2c] str r3, [sp, #0x30] str ip, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _02176550 ; =0x0000099a ldr r0, _02176554 ; =0x00001333 str r1, [sp, #0x20] @@ -10501,7 +10501,7 @@ func_ov29_02176468: ; 0x02176468 str r1, [sp, #0x28] add r1, sp, #0x20 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 bic r0, r0, #0x1f ldrh r1, [r4, #0x24] @@ -10548,7 +10548,7 @@ func_ov29_02176558: ; 0x02176558 cmp r0, #1 moveq r0, #1 ldmeqia sp!, {r4, pc} - ldr r0, _021765a8 ; =data_027e0fe4 + ldr r0, _021765a8 ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -10561,7 +10561,7 @@ func_ov29_02176558: ; 0x02176558 ldmia sp!, {r4, pc} .align 2, 0 _021765a4: .word data_027e0d38 -_021765a8: .word data_027e0fe4 +_021765a8: .word gActorManager arm_func_end func_ov29_02176558 .global func_ov29_021765ac @@ -10574,7 +10574,7 @@ func_ov29_021765ac: ; 0x021765ac cmp r0, #1 moveq r0, #0 ldmeqia sp!, {r3, pc} - ldr r0, _021765ec ; =data_027e0fe4 + ldr r0, _021765ec ; =gActorManager mov r1, #0 ldr r0, [r0] bl _ZN12ActorManager18func_ov00_020c3b2cEPi @@ -10584,7 +10584,7 @@ func_ov29_021765ac: ; 0x021765ac ldmia sp!, {r3, pc} .align 2, 0 _021765e8: .word data_027e0d38 -_021765ec: .word data_027e0fe4 +_021765ec: .word gActorManager arm_func_end func_ov29_021765ac .global func_ov29_021765f0 @@ -10824,7 +10824,7 @@ func_ov29_021768a4: ; 0x021768a4 func_ov29_021768dc: ; 0x021768dc stmdb sp!, {r4, lr} sub sp, sp, #0x10 - ldr r3, _021769ac ; =data_027e0d0c + ldr r3, _021769ac ; =gVec3p_ZERO mov r4, r0 ldr r2, [r3] mov ip, #0x800 @@ -10875,7 +10875,7 @@ func_ov29_021768dc: ; 0x021768dc add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_021769ac: .word data_027e0d0c +_021769ac: .word gVec3p_ZERO _021769b0: .word data_ov29_0217a0a4 _021769b4: .word data_ov29_02179418 arm_func_end func_ov29_021768dc @@ -11042,7 +11042,7 @@ _02176b94: add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -11064,7 +11064,7 @@ _02176b94: mov r2, ip add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _02176c8c ; =data_027e0fe4 + ldr r0, _02176c8c ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11089,7 +11089,7 @@ _02176b94: _02176c80: .word 0xfffffa66 _02176c84: .word data_027e0fe8 _02176c88: .word 0x474f3154 -_02176c8c: .word data_027e0fe4 +_02176c8c: .word gActorManager _02176c90: .word data_027e0ffc _02176c94: .word 0x0000043c arm_func_end func_ov29_02176b38 @@ -11596,7 +11596,7 @@ func_ov29_021772f8: ; 0x021772f8 stmdb sp!, {r4, r5, r6, lr} ldr lr, _02177408 ; =data_ov29_0217bce0 mov r3, #0x78 - ldr r2, _0217740c ; =data_027e0fac + ldr r2, _0217740c ; =gPlayerAngle strh r3, [lr, #0x24] ldrh r3, [r2] mov r2, #0 @@ -11616,14 +11616,14 @@ func_ov29_021772f8: ; 0x021772f8 ldr r1, [r1, #8] b _021773b4 _02177350: - ldr r1, _02177410 ; =data_027e0f94 + ldr r1, _02177410 ; =gPlayerPos mov r2, r3, asr #0x4 ldr r3, [r1] mov r5, r2, lsl #0x1 add r4, r5, #1 str r3, [lr, #0x10] ldr r2, [r1, #4] - ldr r6, _02177414 ; =data_02050f54 + ldr r6, _02177414 ; =gSinCosTable str r2, [lr, #0x14] mov r5, r5, lsl #0x1 mov r4, r4, lsl #0x1 @@ -11665,9 +11665,9 @@ _021773b4: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02177408: .word data_ov29_0217bce0 -_0217740c: .word data_027e0fac -_02177410: .word data_027e0f94 -_02177414: .word data_02050f54 +_0217740c: .word gPlayerAngle +_02177410: .word gPlayerPos +_02177414: .word gSinCosTable _02177418: .word data_ov29_0217a244 arm_func_end func_ov29_021772f8 @@ -11696,7 +11696,7 @@ _02177450: cmp r0, #0 beq _02177500 add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] @@ -11720,7 +11720,7 @@ _02177450: ldr r0, [r0] add r3, sp, #0x24 bl func_ov00_020c4048 - ldr r0, _021778c0 ; =data_027e0fe4 + ldr r0, _021778c0 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -11763,7 +11763,7 @@ _02177558: ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, _021778ac ; =data_ov29_0217bce0 - ldr r2, _021778cc ; =data_02050f54 + ldr r2, _021778cc ; =gSinCosTable ldrsh r5, [r0, #0x22] ldr r1, [sp, #0xc] ldr r0, [sp, #0x14] @@ -11993,10 +11993,10 @@ _021778b0: .word data_ov29_0217bce4 _021778b4: .word data_ov29_0217bcf0 _021778b8: .word data_027e0fe8 _021778bc: .word 0x54535350 -_021778c0: .word data_027e0fe4 +_021778c0: .word gActorManager _021778c4: .word data_ov29_0217bd02 _021778c8: .word 0x00007fff -_021778cc: .word data_02050f54 +_021778cc: .word gSinCosTable _021778d0: .word 0x0000019a _021778d4: .word data_027e0d38 _021778d8: .word data_027e0c54 @@ -12369,7 +12369,7 @@ func_ov29_02177db4: ; 0x02177db4 ldrb r0, [r4, #0x25c] cmp r0, #0 beq _02177e54 - ldr r0, _02177e8c ; =data_027e0f94 + ldr r0, _02177e8c ; =gPlayerPos add ip, sp, #0 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} @@ -12383,7 +12383,7 @@ func_ov29_02177db4: ; 0x02177db4 bl func_0202b2e8 add r0, sp, #0 add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02177e94 ; =0x00000ccd ldr ip, [r4, #0x48] ldr r3, [r4, #0x54] @@ -12407,7 +12407,7 @@ _02177e54: add r1, r4, #0x48 add r0, r4, #0x60 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x250] cmp r0, #0 movne r0, #0 @@ -12420,7 +12420,7 @@ _02177e74: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02177e8c: .word data_027e0f94 +_02177e8c: .word gPlayerPos _02177e90: .word 0x00000333 _02177e94: .word 0x00000ccd _02177e98: .word data_02057200 @@ -12431,7 +12431,7 @@ _02177e98: .word data_02057200 func_ov29_02177e9c: ; 0x02177e9c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _02177f18 ; =data_027e0f94 + ldr r1, _02177f18 ; =gPlayerPos add r3, sp, #0 mov r4, r0 ldmia r1, {r0, r1, r2} @@ -12443,7 +12443,7 @@ func_ov29_02177e9c: ; 0x02177e9c add r1, r4, #0x48 add r2, r4, #0x60 str r3, [sp, #4] - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 ldr r1, _02177f1c ; =0x00000333 add r0, r4, #0x60 @@ -12461,7 +12461,7 @@ func_ov29_02177e9c: ; 0x02177e9c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02177f18: .word data_027e0f94 +_02177f18: .word gPlayerPos _02177f1c: .word 0x00000333 _02177f20: .word 0x0000019a _02177f24: .word data_ov29_0217a298 @@ -12472,7 +12472,7 @@ _02177f24: .word data_ov29_0217a298 func_ov29_02177f28: ; 0x02177f28 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _02177fe0 ; =data_027e0f94 + ldr r1, _02177fe0 ; =gPlayerPos add r3, sp, #0 mov r4, r0 ldmia r1, {r0, r1, r2} @@ -12488,7 +12488,7 @@ func_ov29_02177f28: ; 0x02177f28 add r1, r4, #0x48 add r0, r4, #0x60 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x4c] cmp r0, #0x800 bge _02177f98 @@ -12501,7 +12501,7 @@ func_ov29_02177f28: ; 0x02177f28 _02177f98: add r0, sp, #0 add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02177fe8 ; =0x00000ccd cmp r0, r1 bge _02177fc4 @@ -12519,7 +12519,7 @@ _02177fc4: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02177fe0: .word data_027e0f94 +_02177fe0: .word gPlayerPos _02177fe4: .word 0xfffffccd _02177fe8: .word 0x00000ccd _02177fec: .word data_02057200 @@ -12960,7 +12960,7 @@ func_ov29_02178514: ; 0x02178514 mov r4, r0 cmp r1, #0 bne _02178550 - ldr r1, _02178568 ; =data_027e0fe4 + ldr r1, _02178568 ; =gActorManager ldr r2, _0217856c ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 @@ -12979,7 +12979,7 @@ _0217855c: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_02178568: .word data_027e0fe4 +_02178568: .word gActorManager _0217856c: .word 0x4e415649 arm_func_end func_ov29_02178514 @@ -13024,12 +13024,12 @@ func_ov29_02178570: ; 0x02178570 str r1, [r4, #0x510] add r0, r4, #0x500 strh r1, [r0, #0x20] - ldr r1, _02178668 ; =data_027e0fe4 + ldr r1, _02178668 ; =gActorManager ldr r2, _0217866c ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _02178668 ; =data_027e0fe4 + ldr r0, _02178668 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -13049,7 +13049,7 @@ _02178658: .word data_ov29_02179444 _0217865c: .word func_ov29_021783c8 _02178660: .word 0x00000aab _02178664: .word data_ov29_02179438 -_02178668: .word data_027e0fe4 +_02178668: .word gActorManager _0217866c: .word 0x4e415649 arm_func_end func_ov29_02178570 @@ -13254,7 +13254,7 @@ _021788e4: ldr r0, [r4, #0x4fc] bl func_ov00_020ba458 ldr r3, [r4, #0x4fc] - ldr r0, _02178b20 ; =data_027e0fc8 + ldr r0, _02178b20 ; =gPlayerLink ldr r1, [r3, #0x48] ldr r0, [r0] str r1, [sp, #0x18] @@ -13294,7 +13294,7 @@ _021789a4: ldr r0, [r4, #0x4fc] bl func_ov00_020ba458 ldr r3, [r4, #0x4fc] - ldr r0, _02178b20 ; =data_027e0fc8 + ldr r0, _02178b20 ; =gPlayerLink ldr r1, [r3, #0x48] ldr r0, [r0] str r1, [sp, #0xc] @@ -13323,7 +13323,7 @@ _02178a10: ldr r0, [r4, #0x4fc] bl func_ov00_020ba458 ldr r3, [r4, #0x4fc] - ldr r0, _02178b20 ; =data_027e0fc8 + ldr r0, _02178b20 ; =gPlayerLink ldr r1, [r3, #0x48] ldr r0, [r0] str r1, [sp] @@ -13367,7 +13367,7 @@ _02178a50: strb r0, [r4, #0x523] ldmia sp!, {r3, r4, pc} _02178ac4: - ldr r0, _02178b20 ; =data_027e0fc8 + ldr r0, _02178b20 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020bb948 @@ -13393,7 +13393,7 @@ _02178b0c: add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02178b20: .word data_027e0fc8 +_02178b20: .word gPlayerLink _02178b24: .word data_027e0c68 arm_func_end func_ov29_021788b0 @@ -13468,7 +13468,7 @@ _02178bfc: bl func_ov14_0214aa0c add r0, r4, #0x500 ldrh r3, [r0, #0x20] - ldr r2, _02178c9c ; =data_02050f54 + ldr r2, _02178c9c ; =gSinCosTable mov r1, #0x148 add r3, r3, #0x3e8 strh r3, [r0, #0x20] @@ -13498,7 +13498,7 @@ _02178c7c: ldmia sp!, {r3, r4, pc} .align 2, 0 _02178c98: .word 0x00000aab -_02178c9c: .word data_02050f54 +_02178c9c: .word gSinCosTable arm_func_end func_ov29_02178b28 .global func_ov29_02178ca0 @@ -13528,7 +13528,7 @@ _02178ce0: bl Approach_thunk add r1, r4, #0x500 ldrh r2, [r1, #0x20] - ldr r1, _02178da8 ; =data_02050f54 + ldr r1, _02178da8 ; =gSinCosTable mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 ldrsh r1, [r1, r2] @@ -13558,7 +13558,7 @@ _02178d58: ldr r0, [r4, #0x4fc] bl func_ov00_020ba458 ldr r3, [r4, #0x4fc] - ldr r0, _02178dac ; =data_027e0fc8 + ldr r0, _02178dac ; =gPlayerLink ldr r1, [r3, #0x48] ldr r0, [r0] str r1, [sp] @@ -13575,8 +13575,8 @@ _02178d98: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02178da8: .word data_02050f54 -_02178dac: .word data_027e0fc8 +_02178da8: .word gSinCosTable +_02178dac: .word gPlayerLink arm_func_end func_ov29_02178ca0 .global func_ov29_02178db0 @@ -13632,7 +13632,7 @@ func_ov29_02178e00: ; 0x02178e00 ldr r0, [r4, #0x1dc] bl func_020197bc ldrh r1, [r4, #0x78] - ldr r3, _02178f14 ; =data_02050f54 + ldr r3, _02178f14 ; =gSinCosTable add r0, sp, #0x54 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -13689,7 +13689,7 @@ func_ov29_02178e00: ; 0x02178e00 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02178f10: .word data_ov00_020e9360 -_02178f14: .word data_02050f54 +_02178f14: .word gSinCosTable _02178f18: .word data_02051354 arm_func_end func_ov29_02178e00 @@ -13730,7 +13730,7 @@ func_ov29_02178f60: ; 0x02178f60 add r0, r3, #1 str r0, [sp, #4] add r1, r3, #2 - ldr r0, _02178fc4 ; =data_027e0d0c + ldr r0, _02178fc4 ; =gVec3p_ZERO str r1, [sp, #8] str r0, [sp, #0xc] mov r1, #0x41 @@ -13745,7 +13745,7 @@ func_ov29_02178f60: ; 0x02178f60 ldmia sp!, {pc} .align 2, 0 _02178fc0: .word 0x00001025 -_02178fc4: .word data_027e0d0c +_02178fc4: .word gVec3p_ZERO _02178fc8: .word data_027e0e58 _02178fcc: .word data_ov29_0217bd5c arm_func_end func_ov29_02178f60 @@ -13829,7 +13829,7 @@ _021790ac: ldr r0, [r0] ldr r0, [r0, #4] add r0, r0, #0x260 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0xc] ldr r0, [r5, #0xac] rsb r9, r1, #0 @@ -14753,7 +14753,7 @@ data_ov29_02179920: ; 0x02179920 .word func_ov29_0216ea08 .global data_ov29_02179924 data_ov29_02179924: ; 0x02179924 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_02179928 data_ov29_02179928: ; 0x02179928 .word func_ov29_0216ea6c @@ -14783,10 +14783,10 @@ data_ov29_02179948: ; 0x02179948 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov29_0217994c data_ov29_0217994c: ; 0x0217994c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_02179950 data_ov29_02179950: ; 0x02179950 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov29_02179954 data_ov29_02179954: ; 0x02179954 .word _ZN5Actor8vfunc_4cEPi @@ -14918,7 +14918,7 @@ data_ov29_021799fc: ; 0x021799fc .word func_ov29_0216f8f8 .global data_ov29_02179a00 data_ov29_02179a00: ; 0x02179a00 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_02179a04 data_ov29_02179a04: ; 0x02179a04 .word func_ov29_0216fd80 @@ -14948,10 +14948,10 @@ data_ov29_02179a24: ; 0x02179a24 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov29_02179a28 data_ov29_02179a28: ; 0x02179a28 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_02179a2c data_ov29_02179a2c: ; 0x02179a2c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov29_02179a30 data_ov29_02179a30: ; 0x02179a30 .word _ZN5Actor8vfunc_4cEPi @@ -15151,7 +15151,7 @@ data_ov29_02179b38: ; 0x02179b38 .word _ZN5Actor8vfunc_18Ej .global data_ov29_02179b3c data_ov29_02179b3c: ; 0x02179b3c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_02179b40 data_ov29_02179b40: ; 0x02179b40 .word func_ov29_021711f0 @@ -15181,10 +15181,10 @@ data_ov29_02179b60: ; 0x02179b60 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov29_02179b64 data_ov29_02179b64: ; 0x02179b64 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_02179b68 data_ov29_02179b68: ; 0x02179b68 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov29_02179b6c data_ov29_02179b6c: ; 0x02179b6c .word _ZN5Actor8vfunc_4cEPi @@ -15381,7 +15381,7 @@ data_ov29_02179c88: ; 0x02179c88 .word func_ov00_020cad30 .global data_ov29_02179c8c data_ov29_02179c8c: ; 0x02179c8c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_02179c90 data_ov29_02179c90: ; 0x02179c90 .word func_ov29_021723f0 @@ -15411,7 +15411,7 @@ data_ov29_02179cb0: ; 0x02179cb0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov29_02179cb4 data_ov29_02179cb4: ; 0x02179cb4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_02179cb8 data_ov29_02179cb8: ; 0x02179cb8 .word func_ov29_02171a30 @@ -15686,7 +15686,7 @@ data_ov29_02179e2c: ; 0x02179e2c .word func_ov29_02174eac .global data_ov29_02179e30 data_ov29_02179e30: ; 0x02179e30 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_02179e34 data_ov29_02179e34: ; 0x02179e34 .word func_ov29_02174f30 ; func_ov61_02174f30 @@ -15716,7 +15716,7 @@ data_ov29_02179e54: ; 0x02179e54 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov29_02179e58 data_ov29_02179e58: ; 0x02179e58 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_02179e5c data_ov29_02179e5c: ; 0x02179e5c .word func_ov29_02172938 @@ -15890,7 +15890,7 @@ data_ov29_02179f64: ; 0x02179f64 .word _ZN5Actor8vfunc_18Ej .global data_ov29_02179f68 data_ov29_02179f68: ; 0x02179f68 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_02179f6c data_ov29_02179f6c: ; 0x02179f6c .word func_ov29_02175ed0 @@ -15920,10 +15920,10 @@ data_ov29_02179f8c: ; 0x02179f8c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov29_02179f90 data_ov29_02179f90: ; 0x02179f90 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_02179f94 data_ov29_02179f94: ; 0x02179f94 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov29_02179f98 data_ov29_02179f98: ; 0x02179f98 .word _ZN5Actor8vfunc_4cEPi @@ -16191,7 +16191,7 @@ data_ov29_0217a10c: ; 0x0217a10c .word _ZN5Actor8vfunc_18Ej .global data_ov29_0217a110 data_ov29_0217a110: ; 0x0217a110 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_0217a114 data_ov29_0217a114: ; 0x0217a114 .word func_ov29_02176d10 @@ -16221,10 +16221,10 @@ data_ov29_0217a134: ; 0x0217a134 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov29_0217a138 data_ov29_0217a138: ; 0x0217a138 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_0217a13c data_ov29_0217a13c: ; 0x0217a13c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov29_0217a140 data_ov29_0217a140: ; 0x0217a140 .word _ZN5Actor8vfunc_4cEPi @@ -16539,7 +16539,7 @@ data_ov29_0217a2e0: ; 0x0217a2e0 .word func_ov29_02178234 .global data_ov29_0217a2e4 data_ov29_0217a2e4: ; 0x0217a2e4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_0217a2e8 data_ov29_0217a2e8: ; 0x0217a2e8 .word func_ov29_021782cc @@ -16569,10 +16569,10 @@ data_ov29_0217a308: ; 0x0217a308 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov29_0217a30c data_ov29_0217a30c: ; 0x0217a30c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_0217a310 data_ov29_0217a310: ; 0x0217a310 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov29_0217a314 data_ov29_0217a314: ; 0x0217a314 .word _ZN5Actor8vfunc_4cEPi @@ -16692,7 +16692,7 @@ data_ov29_0217a3ac: ; 0x0217a3ac .word func_ov14_02144b64 .global data_ov29_0217a3b0 data_ov29_0217a3b0: ; 0x0217a3b0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov29_0217a3b4 data_ov29_0217a3b4: ; 0x0217a3b4 .word func_ov29_02178db8 @@ -16722,10 +16722,10 @@ data_ov29_0217a3d4: ; 0x0217a3d4 .word func_ov14_02145974 .global data_ov29_0217a3d8 data_ov29_0217a3d8: ; 0x0217a3d8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov29_0217a3dc data_ov29_0217a3dc: ; 0x0217a3dc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov29_0217a3e0 data_ov29_0217a3e0: ; 0x0217a3e0 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov30.inc b/asm/ov30.inc index b17f1027..ef2be201 100644 --- a/asm/ov30.inc +++ b/asm/ov30.inc @@ -1,7 +1,7 @@ #pragma once .extern Divide -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -11,7 +11,7 @@ .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -22,7 +22,7 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1d58Ev .extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii .extern _ZN5Actor18func_ov00_020c23d4EP8ActorRefPS_P8Cylinder @@ -36,14 +36,14 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -74,24 +74,24 @@ .extern _ZNK11ItemManager7HasItemEi .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02063e4c .extern data_027e0764 .extern data_027e0c38 .extern data_027e0c68 .extern data_027e0ce0 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0d3c .extern data_027e0e58 .extern gMapManager .extern data_027e0f64 .extern data_027e0f6c -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -105,16 +105,16 @@ .extern func_01ff8e84 .extern func_01ff9158 .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffbe34 .extern func_01ffbf5c .extern func_01ffe1cc -.extern func_01ffec34 -.extern func_01fffcec +.extern _ZN8Cylinder8OverlapsEPS_ +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_02002c14 .extern func_0200e8f8 .extern func_02018450 @@ -183,7 +183,7 @@ .extern func_ov00_020c0ffc .extern func_ov00_020c10a0 .extern func_ov00_020c10d4 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov30.s b/asm/ov30.s index 4dadd512..8b04b61f 100644 --- a/asm/ov30.s +++ b/asm/ov30.s @@ -1519,7 +1519,7 @@ _0217d04c: arm_func_start func_ov30_0217d054 func_ov30_0217d054: ; 0x0217d054 stmdb sp!, {r3, lr} - ldr r0, _0217d094 ; =data_027e0fe4 + ldr r0, _0217d094 ; =gActorManager mov r1, r2 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -1536,7 +1536,7 @@ _0217d08c: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_0217d094: .word data_027e0fe4 +_0217d094: .word gActorManager _0217d098: .word 0x43525053 arm_func_end func_ov30_0217d054 @@ -1545,12 +1545,12 @@ _0217d098: .word 0x43525053 func_ov30_0217d09c: ; 0x0217d09c stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x58 - ldr r3, _0217d388 ; =data_027e0f90 + ldr r3, _0217d388 ; =gPlayer mov r7, r0 ldr r0, [r3] mov r6, r1 ldr r1, [r0] - ldr r4, _0217d38c ; =data_027e0f94 + ldr r4, _0217d38c ; =gPlayerPos ldr r1, [r1, #4] mov r5, r2 blx r1 @@ -1576,7 +1576,7 @@ func_ov30_0217d09c: ; 0x0217d09c add r2, sp, #0x4c mov r0, r4 add r1, r7, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, r4 add r0, r7, #0x48 bl func_ov00_020c5464 @@ -1596,7 +1596,7 @@ func_ov30_0217d09c: ; 0x0217d09c ldrsh r8, [r0, #0x40] ldr r0, [sp, #0x4c] ldr r1, [sp, #0x54] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r8, r0, asr #16 mov r0, r0, lsl #0x10 @@ -1626,7 +1626,7 @@ _0217d1b0: ldrsh r5, [r0, #0x40] ldr r0, [sp, #0x4c] ldr r1, [sp, #0x54] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 @@ -1654,7 +1654,7 @@ _0217d220: ldrsh r5, [r0, #0x40] ldr r0, [sp, #0x4c] ldr r1, [sp, #0x54] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 @@ -1742,8 +1742,8 @@ _0217d37c: add sp, sp, #0x58 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0217d388: .word data_027e0f90 -_0217d38c: .word data_027e0f94 +_0217d388: .word gPlayer +_0217d38c: .word gPlayerPos _0217d390: .word gMapManager _0217d394: .word 0xffff8001 _0217d398: .word 0x00002aaa @@ -1766,10 +1766,10 @@ func_ov30_0217d3a4: ; 0x0217d3a4 func_ov30_0217d3b8: ; 0x0217d3b8 stmdb sp!, {r3, r4, r5, lr} sub sp, sp, #0x20 - ldr r1, _0217d4d8 ; =data_027e0f90 + ldr r1, _0217d4d8 ; =gPlayer mov r5, r0 ldr r0, [r1] - ldr r4, _0217d4dc ; =data_027e0f94 + ldr r4, _0217d4dc ; =gPlayerPos ldr r1, [r0] ldr r1, [r1, #4] blx r1 @@ -1837,8 +1837,8 @@ func_ov30_0217d3b8: ; 0x0217d3b8 add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217d4d8: .word data_027e0f90 -_0217d4dc: .word data_027e0f94 +_0217d4d8: .word gPlayer +_0217d4dc: .word gPlayerPos _0217d4e0: .word gMapManager _0217d4e4: .word 0x0000019a arm_func_end func_ov30_0217d3b8 @@ -1874,7 +1874,7 @@ func_ov30_0217d4e8: ; 0x0217d4e8 add r2, sp, #0xc mov r0, r4 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, r4 add r0, r5, #0x48 bl func_ov00_020c5464 @@ -1892,7 +1892,7 @@ func_ov30_0217d4e8: ; 0x0217d4e8 ldrsh r6, [r0, #0x40] ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r6, r0, asr #16 mov r0, r0, lsl #0x10 @@ -1920,7 +1920,7 @@ _0217d5e0: ldrsh r6, [r0, #0x40] ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r0, r6, r0, asr #16 mov r0, r0, lsl #0x10 @@ -1965,7 +1965,7 @@ _0217d68c: .word 0x00002aaa func_ov30_0217d690: ; 0x0217d690 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x48 - ldr r4, _0217d7cc ; =data_027e0f94 + ldr r4, _0217d7cc ; =gPlayerPos mov r5, r0 mov r0, r4 bl func_ov00_020c5288 @@ -2043,7 +2043,7 @@ func_ov30_0217d690: ; 0x0217d690 add sp, sp, #0x48 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0217d7cc: .word data_027e0f94 +_0217d7cc: .word gPlayerPos _0217d7d0: .word gMapManager _0217d7d4: .word 0x00000333 arm_func_end func_ov30_0217d690 @@ -2053,7 +2053,7 @@ _0217d7d4: .word 0x00000333 func_ov30_0217d7d8: ; 0x0217d7d8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x30 - ldr r3, _0217d988 ; =data_027e0f94 + ldr r3, _0217d988 ; =gPlayerPos mov r11, #0 ldr r5, [r3] ldr r4, [r3, #4] @@ -2164,7 +2164,7 @@ _0217d97c: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0217d988: .word data_027e0f94 +_0217d988: .word gPlayerPos _0217d98c: .word gMapManager arm_func_end func_ov30_0217d7d8 @@ -2641,7 +2641,7 @@ _0217dfc0: ldr r0, [r7, #0x10] mov r1, #0x1000 str r1, [r0, #0x10] - ldr r2, _0217e090 ; =data_027e0f94 + ldr r2, _0217e090 ; =gPlayerPos add r1, sp, #0 ldr r0, [r2] str r0, [r6, #0xc] @@ -2689,7 +2689,7 @@ _0217e07c: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0217e090: .word data_027e0f94 +_0217e090: .word gPlayerPos arm_func_end func_ov30_0217df58 .global func_ov30_0217e094 @@ -3097,7 +3097,7 @@ _0217e5d4: ldr r0, [r5, #0x844] cmp r0, #2 bne _0217e690 - ldr r4, _0217e760 ; =data_02050f54 + ldr r4, _0217e760 ; =gSinCosTable mov r10, #0 mov r9, #0x3000 add r8, sp, #0x24 @@ -3120,7 +3120,7 @@ _0217e620: str r10, [sp, #0x28] str ip, [sp, #0x24] str lr, [sp, #0x2c] - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r5 mov r1, r7 bl func_ov00_020cca68 @@ -3134,7 +3134,7 @@ _0217e620: _0217e690: cmp r0, #3 bne _0217e71c - ldr r4, _0217e760 ; =data_02050f54 + ldr r4, _0217e760 ; =gSinCosTable mov r10, #0 mov r9, #0x3000 add r8, sp, #0xc @@ -3157,7 +3157,7 @@ _0217e6ac: str r10, [sp, #0x10] str ip, [sp, #0xc] str lr, [sp, #0x14] - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r5 mov r1, r7 bl func_ov00_020cca68 @@ -3188,7 +3188,7 @@ _0217e72c: add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_0217e760: .word data_02050f54 +_0217e760: .word gSinCosTable arm_func_end func_ov30_0217e5a4 .global func_ov30_0217e764 @@ -3521,7 +3521,7 @@ func_ov30_0217ebbc: ; 0x0217ebbc cmp r0, #0x384 addle sp, sp, #0xa4 ldmleia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r2, _0217ece4 ; =data_027e0f94 + ldr r2, _0217ece4 ; =gPlayerPos add r0, r4, #0x14 mov r1, #0x2800 bl func_ov00_020ce284 @@ -3546,7 +3546,7 @@ _0217ec2c: cmp r3, r0 blo _0217ec2c ldr r1, [r4, #8] - ldr r0, _0217ecec ; =data_027e0fe4 + ldr r0, _0217ecec ; =gActorManager str r1, [sp, #8] ldr r5, [r4, #0xc] add r3, sp, #8 @@ -3557,12 +3557,12 @@ _0217ec2c: str r6, [sp, #0x10] str r6, [sp, #0x14] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x20] mov r5, #0 cmp r0, #0 ble _0217eccc - ldr r8, _0217ecec ; =data_027e0fe4 + ldr r8, _0217ecec ; =gActorManager mov r6, r5 _0217ec8c: ldr r1, [sp, #0x18] @@ -3589,9 +3589,9 @@ _0217eccc: add sp, sp, #0xa4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0217ece4: .word data_027e0f94 +_0217ece4: .word gPlayerPos _0217ece8: .word data_ov30_02188b08 -_0217ecec: .word data_027e0fe4 +_0217ecec: .word gActorManager arm_func_end func_ov30_0217ebbc .global func_ov30_0217ecf0 @@ -4077,7 +4077,7 @@ _0217f2f4: strb r2, [sp, #0x23] ldrsb r4, [r5, #0x2c] ldr r0, [r0] - ldr r1, _0217f558 ; =data_027e0f94 + ldr r1, _0217f558 ; =gPlayerPos add r2, sp, #0x30 add r3, sp, #0x20 strb r4, [sp, #0x34] @@ -4112,7 +4112,7 @@ _0217f3b8: cmp r0, #0 ble _0217f43c ldr r9, _0217f55c ; =data_027e10b4 - ldr r8, _0217f560 ; =data_027e0fe4 + ldr r8, _0217f560 ; =gActorManager add r10, sp, #0x50 add r4, sp, #0 _0217f3e0: @@ -4217,9 +4217,9 @@ _0217f548: .word gMapManager _0217f54c: .word data_027e0ffc _0217f550: .word data_ov00_020e8398 _0217f554: .word data_027e0ff0 -_0217f558: .word data_027e0f94 +_0217f558: .word gPlayerPos _0217f55c: .word data_027e10b4 -_0217f560: .word data_027e0fe4 +_0217f560: .word gActorManager arm_func_end func_ov30_0217f1c4 .global func_ov30_0217f564 @@ -4284,7 +4284,7 @@ _0217f5f8: strb r2, [sp, #0x27] ldrsb lr, [r4, #0x2c] ldr r0, [r0] - ldr r1, _0217f74c ; =data_027e0f94 + ldr r1, _0217f74c ; =gPlayerPos add r2, sp, #0x34 add r3, sp, #0x24 strb lr, [sp, #0x38] @@ -4358,7 +4358,7 @@ _0217f730: .align 2, 0 _0217f744: .word data_ov00_020e8398 _0217f748: .word data_027e0ff0 -_0217f74c: .word data_027e0f94 +_0217f74c: .word gPlayerPos _0217f750: .word gMapManager _0217f754: .word data_027e0f64 arm_func_end func_ov30_0217f564 @@ -5208,7 +5208,7 @@ _0218027c: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _021802c8: - ldr r1, _021803fc ; =data_027e0f94 + ldr r1, _021803fc ; =gPlayerPos mov r2, #1 bl func_ov30_02182ecc mov r0, r4 @@ -5246,7 +5246,7 @@ _02180330: mov r2, r0, lsl #0x1 add r0, r2, #1 mov lr, #0 - ldr r1, _02180400 ; =data_02050f54 + ldr r1, _02180400 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 @@ -5258,7 +5258,7 @@ _02180330: str r6, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy add r1, sp, #0xc mov r0, r4 mov r2, #0 @@ -5290,8 +5290,8 @@ _021803f4: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021803fc: .word data_027e0f94 -_02180400: .word data_02050f54 +_021803fc: .word gPlayerPos +_02180400: .word gSinCosTable _02180404: .word 0x0000019a arm_func_end func_ov30_02180208 @@ -6894,7 +6894,7 @@ func_ov30_021812f0: ; 0x021812f0 mov r4, r0 ldr r0, [r1] ldr r1, [r1, #8] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r4, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02181360 ; =0xffff8001 @@ -7262,21 +7262,21 @@ _02181824: .word 0x42494752 .global func_ov30_02181828 arm_func_start func_ov30_02181828 func_ov30_02181828: ; 0x02181828 - ldr ip, _02181834 ; =func_01fffcec + ldr ip, _02181834 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_02181834: .word func_01fffcec +_02181834: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov30_02181828 .global func_ov30_02181838 arm_func_start func_ov30_02181838 func_ov30_02181838: ; 0x02181838 - ldr ip, _02181844 ; =func_01fffcec + ldr ip, _02181844 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #8 bx ip .align 2, 0 -_02181844: .word func_01fffcec +_02181844: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov30_02181838 .global func_ov30_02181848 @@ -7329,7 +7329,7 @@ func_ov30_021818b8: ; 0x021818b8 ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r1, sp, #0x44 bl _ZN5Actor9GetHitboxEP8Cylinder - ldr r1, _021819e0 ; =data_027e0fe4 + ldr r1, _021819e0 ; =gActorManager ldr r2, _021819e4 ; =0x48415254 ldr r1, [r1] add r0, sp, #8 @@ -7339,7 +7339,7 @@ func_ov30_021818b8: ; 0x021818b8 mvn r0, #0 cmp r1, r0 beq _02181944 - ldr r0, _021819e0 ; =data_027e0fe4 + ldr r0, _021819e0 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -7348,13 +7348,13 @@ func_ov30_021818b8: ; 0x021818b8 bl _ZN5Actor9GetHitboxEP8Cylinder add r0, sp, #0x44 add r1, sp, #0x34 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _02181944 mov r0, r4 bl func_ov14_0213a3dc _02181944: - ldr r7, _021819e0 ; =data_027e0fe4 + ldr r7, _021819e0 ; =gActorManager mov r4, #0 add r10, sp, #0 add r8, sp, #0x10 @@ -7384,7 +7384,7 @@ _0218195c: bl _ZN5Actor9GetHitboxEP8Cylinder mov r0, r11 mov r1, r8 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _021819cc mov r0, r9 @@ -7396,7 +7396,7 @@ _021819cc: add sp, sp, #0x54 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_021819e0: .word data_027e0fe4 +_021819e0: .word gActorManager _021819e4: .word 0x48415254 _021819e8: .word data_ov30_021887d0 arm_func_end func_ov30_021818b8 @@ -7539,7 +7539,7 @@ _02181b98: ; jump table b _02181bc0 ; case 9 _02181bc0: mov r0, r4 - ldr r5, _02181d08 ; =data_027e0f94 + ldr r5, _02181d08 ; =gPlayerPos bl func_ov30_0217d690 cmp r0, #0 beq _02181c08 @@ -7629,7 +7629,7 @@ _02181cfc: add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02181d08: .word data_027e0f94 +_02181d08: .word gPlayerPos _02181d0c: .word 0x43485334 arm_func_end func_ov30_02181a70 @@ -7763,7 +7763,7 @@ func_ov30_02181e94: ; 0x02181e94 cmp r0, #0x11 moveq r0, #1 ldmeqia sp!, {r4, pc} - ldr r0, _02181ef4 ; =data_027e0fc8 + ldr r0, _02181ef4 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbb64 cmp r0, #0 @@ -7776,7 +7776,7 @@ _02181eec: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02181ef4: .word data_027e0fc8 +_02181ef4: .word gPlayerLink arm_func_end func_ov30_02181e94 .global func_ov30_02181ef8 @@ -7845,7 +7845,7 @@ _02181fd4: beq _02182038 add r0, r4, #0x800 ldrsh r2, [r0, #0x7c] - ldr r1, _02182318 ; =data_02050f54 + ldr r1, _02182318 ; =gSinCosTable add r2, r2, #0xc00 strh r2, [r0, #0x7c] ldrh r0, [r0, #0x7c] @@ -7871,7 +7871,7 @@ _02182038: add r0, r4, #0x800 beq _0218209c ldrsh r2, [r0, #0x7c] - ldr r1, _02182318 ; =data_02050f54 + ldr r1, _02182318 ; =gSinCosTable add r2, r2, #0xc00 strh r2, [r0, #0x7c] ldrh r0, [r0, #0x7c] @@ -7970,7 +7970,7 @@ _0218219c: add r0, sp, #0x34 bl func_01ffbe34 ldrh r4, [r4, #0x78] - ldr r3, _02182318 ; =data_02050f54 + ldr r3, _02182318 ; =gSinCosTable add r0, sp, #0x24 mov r1, r4, asr #0x4 mov r2, r1, lsl #0x1 @@ -7988,7 +7988,7 @@ _0218219c: mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 add r1, r3, #1 - ldr r2, _02182318 ; =data_02050f54 + ldr r2, _02182318 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh lr, [r2, r3] @@ -8003,7 +8003,7 @@ _0218219c: mov r1, #3 strb r1, [sp, #0x3c] mov r1, #1 - ldr r0, _0218231c ; =data_027e0d0c + ldr r0, _0218231c ; =gVec3p_ZERO mov r3, #0x800 add r6, sp, #0x18 str r2, [sp, #0x34] @@ -8059,8 +8059,8 @@ _0218219c: _0218230c: .word 0x0000ffff _02182310: .word data_027e0d3c _02182314: .word data_02063e4c -_02182318: .word data_02050f54 -_0218231c: .word data_027e0d0c +_02182318: .word gSinCosTable +_0218231c: .word gVec3p_ZERO _02182320: .word data_027e0d38 _02182324: .word data_027e0c38 arm_func_end func_ov30_02181ef8 @@ -8108,7 +8108,7 @@ func_ov30_0218237c: ; 0x0218237c bl func_ov30_0217c588 ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x800 strh r0, [r1, #0x40] add sp, sp, #0xc @@ -8197,10 +8197,10 @@ func_ov30_02182454: ; 0x02182454 arm_func_start func_ov30_02182474 func_ov30_02182474: ; 0x02182474 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _021824bc ; =data_027e0f90 + ldr r1, _021824bc ; =gPlayer mov r5, r0 ldr r0, [r1] - ldr r4, _021824c0 ; =data_027e0f94 + ldr r4, _021824c0 ; =gPlayerPos ldr r1, [r0] ldr r1, [r1, #4] blx r1 @@ -8215,8 +8215,8 @@ func_ov30_02182474: ; 0x02182474 bl func_ov00_020c54a0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021824bc: .word data_027e0f90 -_021824c0: .word data_027e0f94 +_021824bc: .word gPlayer +_021824c0: .word gPlayerPos _021824c4: .word 0x00001b33 _021824c8: .word 0x00001555 arm_func_end func_ov30_02182474 @@ -8279,7 +8279,7 @@ func_ov30_021824cc: ; 0x021824cc ldmia sp!, {r4, r5, pc} _021825a0: bl func_ov00_02081f4c - ldr r1, _0218262c ; =data_027e0fe4 + ldr r1, _0218262c ; =gActorManager ldr r2, _02182630 ; =0x424f4d42 ldr r1, [r1] add r0, sp, #0x14 @@ -8289,7 +8289,7 @@ _021825a0: mvn r0, #0 cmp r1, r0 beq _02182618 - ldr r0, _0218262c ; =data_027e0fe4 + ldr r0, _0218262c ; =gActorManager add r1, sp, #0x14 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8298,7 +8298,7 @@ _021825a0: bl _ZN5Actor9GetHitboxEP8Cylinder add r0, sp, #0x24 add r1, r4, #0x860 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _02182618 add r0, r4, #0x48 @@ -8315,7 +8315,7 @@ _02182618: .align 2, 0 _02182624: .word 0x0000ffff _02182628: .word gMapManager -_0218262c: .word data_027e0fe4 +_0218262c: .word gActorManager _02182630: .word 0x424f4d42 arm_func_end func_ov30_021824cc @@ -8386,7 +8386,7 @@ _0218271c: add r5, r5, #8 cmp r5, r0 blo _0218271c - ldr r0, _02182ac4 ; =data_027e0fe4 + ldr r0, _02182ac4 ; =gActorManager mov r3, #0 ldr r0, [r0] add r6, sp, #0x74 @@ -8396,12 +8396,12 @@ _0218271c: str r3, [sp, #0x70] str r6, [sp, #0x68] str r5, [sp, #0x6c] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x70] mov r5, #0 cmp r0, #0 ble _021827d4 - ldr r7, _02182ac4 ; =data_027e0fe4 + ldr r7, _02182ac4 ; =gActorManager mov r6, r5 add r8, sp, #0x58 _02182778: @@ -8414,7 +8414,7 @@ _02182778: bl _ZN5Actor9GetHitboxEP8Cylinder mov r1, r8 add r0, r4, #0x860 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _021827c0 mov r0, r9 @@ -8432,7 +8432,7 @@ _021827c0: _021827d4: ldrh r0, [r4, #0x78] mov r1, #0 - ldr r3, _02182ac8 ; =data_02050f54 + ldr r3, _02182ac8 ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -8463,7 +8463,7 @@ _021827d4: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r4, #0x78] - ldr r3, _02182ac8 ; =data_02050f54 + ldr r3, _02182ac8 ; =gSinCosTable ldr r0, [r4, #0x48] mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8545,7 +8545,7 @@ _02182960: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] - ldr r3, _02182ac8 ; =data_02050f54 + ldr r3, _02182ac8 ; =gSinCosTable ldr r8, [sp, #0x24] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -8620,8 +8620,8 @@ _02182ab4: .word 0x0000ffff _02182ab8: .word gMapManager _02182abc: .word _ZTV11FilterActor _02182ac0: .word 0x424f4d42 -_02182ac4: .word data_027e0fe4 -_02182ac8: .word data_02050f54 +_02182ac4: .word gActorManager +_02182ac8: .word gSinCosTable _02182acc: .word 0x43485334 _02182ad0: .word data_ov30_021887e4 _02182ad4: .word data_027e0e58 @@ -8641,14 +8641,14 @@ func_ov30_02182ae4: ; 0x02182ae4 cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _02182b44 ; =data_027e0f90 + ldr r0, _02182b44 ; =gPlayer mov r1, r6 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, r5, r6, pc} - ldr r0, _02182b48 ; =data_027e0fc8 + ldr r0, _02182b48 ; =gPlayerLink ldrsh r3, [sp, #0x10] ldr r0, [r0] mov r1, r4 @@ -8658,8 +8658,8 @@ func_ov30_02182ae4: ; 0x02182ae4 blx ip ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02182b44: .word data_027e0f90 -_02182b48: .word data_027e0fc8 +_02182b44: .word gPlayer +_02182b48: .word gPlayerLink arm_func_end func_ov30_02182ae4 .global func_ov30_02182b4c @@ -8674,7 +8674,7 @@ func_ov30_02182b4c: ; 0x02182b4c stmia r4, {r0, r1, r2} ldrh r1, [r3, #0x78] ldr r0, [r3, #0x48] - ldr r4, _02182c54 ; =data_02050f54 + ldr r4, _02182c54 ; =gSinCosTable str r0, [r3, #0x860] ldr r0, [r3, #0x4c] mov r1, r1, asr #0x4 @@ -8732,7 +8732,7 @@ func_ov30_02182b4c: ; 0x02182b4c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02182c50: .word data_ov30_021887fc -_02182c54: .word data_02050f54 +_02182c54: .word gSinCosTable arm_func_end func_ov30_02182b4c .global func_ov30_02182c58 @@ -8796,7 +8796,7 @@ func_ov30_02182cb4: ; 0x02182cb4 beq _02182d34 ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 @@ -9037,7 +9037,7 @@ func_ov30_02182f0c: ; 0x02182f0c add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrh r4, [r5, #0x9c] mov r1, #0 mov r0, r5 @@ -9141,7 +9141,7 @@ func_ov30_02183018: ; 0x02183018 add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -9173,7 +9173,7 @@ _021830c8: add r2, sp, #0x44 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _02183220 ; =data_027e0fe4 + ldr r0, _02183220 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9195,7 +9195,7 @@ _02183118: add r2, sp, #0x44 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _02183220 ; =data_027e0fe4 + ldr r0, _02183220 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9236,7 +9236,7 @@ _021831b8: add r2, sp, #0x44 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _02183220 ; =data_027e0fe4 + ldr r0, _02183220 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9256,7 +9256,7 @@ _02183208: .align 2, 0 _02183218: .word data_027e0fe8 _0218321c: .word 0x4e4b4559 -_02183220: .word data_027e0fe4 +_02183220: .word gActorManager _02183224: .word 0x464f5243 _02183228: .word 0x43525953 arm_func_end func_ov30_02183018 @@ -9275,7 +9275,7 @@ func_ov30_0218322c: ; 0x0218322c add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -9307,7 +9307,7 @@ _021832a8: add r3, sp, #0xc add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _021833e0 ; =data_027e0fe4 + ldr r0, _021833e0 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9326,7 +9326,7 @@ _021832f0: add r3, sp, #0xc add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _021833e0 ; =data_027e0fe4 + ldr r0, _021833e0 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9364,7 +9364,7 @@ _02183380: add r3, sp, #0xc add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _021833e0 ; =data_027e0fe4 + ldr r0, _021833e0 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9382,7 +9382,7 @@ _021833c8: .align 2, 0 _021833d8: .word data_027e0fe8 _021833dc: .word 0x4e4b4559 -_021833e0: .word data_027e0fe4 +_021833e0: .word gActorManager _021833e4: .word 0x464f5243 _021833e8: .word 0x43525953 arm_func_end func_ov30_0218322c @@ -9458,16 +9458,16 @@ _021834e0: add r7, r7, #8 cmp r7, r0 blo _021834e0 - ldr r0, _0218380c ; =data_027e0fe4 + ldr r0, _0218380c ; =gActorManager add r1, sp, #0x274 ldr r0, [r0] add r2, sp, #0x1e8 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x1f0] mov r7, #0 cmp r0, #0 ble _0218358c - ldr r9, _0218380c ; =data_027e0fe4 + ldr r9, _0218380c ; =gActorManager mov r8, r7 add r5, sp, #0 _02183524: @@ -9527,16 +9527,16 @@ _021835e4: add r8, r8, #8 cmp r8, r0 blo _021835e4 - ldr r0, _0218380c ; =data_027e0fe4 + ldr r0, _0218380c ; =gActorManager add r1, sp, #0x1a0 ldr r0, [r0] add r2, sp, #0x114 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x11c] mov r7, #0 cmp r0, #0 ble _02183690 - ldr r9, _0218380c ; =data_027e0fe4 + ldr r9, _0218380c ; =gActorManager mov r8, r7 add r5, sp, #0 _02183628: @@ -9596,16 +9596,16 @@ _021836e8: add r8, r8, #8 cmp r8, r0 blo _021836e8 - ldr r0, _0218380c ; =data_027e0fe4 + ldr r0, _0218380c ; =gActorManager add r1, sp, #0xcc ldr r0, [r0] add r2, sp, #0x40 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x48] mov r7, #0 cmp r0, #0 ble _02183788 - ldr r9, _0218380c ; =data_027e0fe4 + ldr r9, _0218380c ; =gActorManager mov r8, r7 add r5, sp, #0 _0218372c: @@ -9637,7 +9637,7 @@ _02183788: cmp r6, #0 mov r5, #0 ble _021837f4 - ldr r7, _0218380c ; =data_027e0fe4 + ldr r7, _0218380c ; =gActorManager add r8, sp, #0 _0218379c: ldr r0, [r7] @@ -9671,7 +9671,7 @@ _021837f4: _02183800: .word 0x43485334 _02183804: .word _ZTV11FilterActor _02183808: .word 0x464f5243 -_0218380c: .word data_027e0fe4 +_0218380c: .word gActorManager _02183810: .word 0x43525953 _02183814: .word 0x4e4b4559 arm_func_end func_ov30_021833ec @@ -9680,7 +9680,7 @@ _02183814: .word 0x4e4b4559 arm_func_start func_ov30_02183818 func_ov30_02183818: ; 0x02183818 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _021838f4 ; =data_027e0fe4 + ldr r2, _021838f4 ; =gActorManager mov r5, r0 add r1, r5, #0x84 ldr r0, [r2] @@ -9691,7 +9691,7 @@ func_ov30_02183818: ; 0x02183818 ldr r6, [r5, #0x98] add r0, r5, #0x48 add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r6 bge _021838ec ldr r1, [r4, #4] @@ -9742,7 +9742,7 @@ _021838ec: mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021838f4: .word data_027e0fe4 +_021838f4: .word gActorManager _021838f8: .word 0x4e4b4559 _021838fc: .word 0x464f5243 _02183900: .word 0x43525953 @@ -9752,7 +9752,7 @@ _02183900: .word 0x43525953 arm_func_start func_ov30_02183904 func_ov30_02183904: ; 0x02183904 stmdb sp!, {r3, r4, r5, lr} - ldr r3, _02183964 ; =data_027e0fe4 + ldr r3, _02183964 ; =gActorManager add r2, r0, #0x84 ldr r0, [r3] mov r5, r1 @@ -9777,7 +9777,7 @@ _0218395c: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02183964: .word data_027e0fe4 +_02183964: .word gActorManager arm_func_end func_ov30_02183904 .global func_ov30_02183968 @@ -9894,7 +9894,7 @@ _02183ab0: cmp r4, r0 blo _02183ab0 ldr r1, [r6, #8] - ldr r0, _02183b88 ; =data_027e0fe4 + ldr r0, _02183b88 ; =gActorManager str r1, [sp, #0xc] ldr r4, [r6, #0xc] add r3, sp, #0xc @@ -9905,14 +9905,14 @@ _02183ab0: str r5, [sp, #0x14] str r5, [sp, #0x18] str r3, [sp, #8] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ldrgt r0, [sp, #0x24] movgt r4, #0 cmpgt r0, #0 ble _02183b78 ldr r8, _02183b8c ; =0x00002aaa - ldr r7, _02183b88 ; =data_027e0fe4 + ldr r7, _02183b88 ; =gActorManager mov r5, r4 mov r9, #0x2800 _02183b1c: @@ -9946,7 +9946,7 @@ _02183b78: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02183b84: .word data_ov30_02188b08 -_02183b88: .word data_027e0fe4 +_02183b88: .word gActorManager _02183b8c: .word 0x00002aaa arm_func_end func_ov30_02183a78 @@ -9974,7 +9974,7 @@ _02183bc8: cmp r4, r0 blo _02183bc8 ldr r1, [r6, #8] - ldr r0, _02183ca0 ; =data_027e0fe4 + ldr r0, _02183ca0 ; =gActorManager str r1, [sp, #0xc] ldr r4, [r6, #0xc] add r3, sp, #0xc @@ -9985,14 +9985,14 @@ _02183bc8: str r5, [sp, #0x14] str r5, [sp, #0x18] str r3, [sp, #8] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ldrgt r0, [sp, #0x24] movgt r4, #0 cmpgt r0, #0 ble _02183c90 ldr r8, _02183ca4 ; =0x00002aaa - ldr r7, _02183ca0 ; =data_027e0fe4 + ldr r7, _02183ca0 ; =gActorManager mov r5, r4 mov r9, #0x2800 _02183c34: @@ -10026,7 +10026,7 @@ _02183c90: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _02183c9c: .word data_ov30_02188b08 -_02183ca0: .word data_027e0fe4 +_02183ca0: .word gActorManager _02183ca4: .word 0x00002aaa arm_func_end func_ov30_02183b90 @@ -10157,7 +10157,7 @@ func_ov30_02183e30: ; 0x02183e30 ldmeqia sp!, {r3, pc} mov r1, #1 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldmia sp!, {r3, pc} arm_func_end func_ov30_02183e30 @@ -10452,7 +10452,7 @@ func_ov30_021840ec: ; 0x021840ec func_ov30_0218411c: ; 0x0218411c stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #8 - ldr r1, _021842fc ; =data_027e0fc8 + ldr r1, _021842fc ; =gPlayerLink mov r10, r0 ldr r0, [r1] bl func_ov00_020bbb64 @@ -10468,7 +10468,7 @@ func_ov30_0218411c: ; 0x0218411c sub r7, r8, #0x80000001 cmp r0, #0 ble _021841ec - ldr r4, _02184300 ; =data_027e0fe4 + ldr r4, _02184300 ; =gActorManager mov r9, r8 add r11, sp, #0 _02184170: @@ -10577,8 +10577,8 @@ _021842d4: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_021842fc: .word data_027e0fc8 -_02184300: .word data_027e0fe4 +_021842fc: .word gPlayerLink +_02184300: .word gActorManager _02184304: .word data_ov00_020eec68 _02184308: .word gMapManager _0218430c: .word data_ov00_020eec9c @@ -10744,7 +10744,7 @@ _02184404: str r0, [sp, #0xc] ldr r0, [r2, #4] str r0, [sp, #0x10] - ldr r0, _0218454c ; =data_027e0fe4 + ldr r0, _0218454c ; =gActorManager ldr r0, [r0] blx _ZN12ActorManager8GetActorEP8ActorRef add r4, r0, #0 @@ -10906,7 +10906,7 @@ _02184546: add sp, #0x14 pop {r4, r5, r6, r7, pc} nop -_0218454c: .word data_027e0fe4 +_0218454c: .word gActorManager _02184550: .word 0x43485352 thumb_func_end func_ov30_021843ec @@ -10933,7 +10933,7 @@ _02184564: str r0, [sp, #8] str r0, [sp, #0xc] add r0, sp, #0x10 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x2c] @@ -10995,7 +10995,7 @@ _02184564: ldr r1, [r5] ldr r0, [r0] blx func_ov00_020c4048 - ldr r0, _0218463c ; =data_027e0fe4 + ldr r0, _0218463c ; =gActorManager add r1, sp, #8 ldr r0, [r0] blx _ZN12ActorManager8GetActorEP8ActorRef @@ -11027,7 +11027,7 @@ _02184626: pop {r4, r5, r6, r7, pc} .align 2, 0 _02184638: .word data_027e0fe8 -_0218463c: .word data_027e0fe4 +_0218463c: .word gActorManager thumb_func_end func_ov30_02184554 .global func_ov30_02184640 @@ -11095,7 +11095,7 @@ _021846b0: ldr r0, [r1, #4] add r1, sp, #0x10 str r0, [sp, #0x14] - ldr r0, _02184730 ; =data_027e0fe4 + ldr r0, _02184730 ; =gActorManager ldr r0, [r0] blx _ZN12ActorManager8GetActorEP8ActorRef ldr r1, _02184720 ; =0x000012a4 @@ -11146,7 +11146,7 @@ _02184720: .word 0x000012a4 _02184724: .word 0x00001024 _02184728: .word func_ov30_02187f08 _0218472c: .word 0x000012a8 -_02184730: .word data_027e0fe4 +_02184730: .word gActorManager _02184734: .word 0x000008a4 thumb_func_end func_ov30_02184640 @@ -11328,11 +11328,11 @@ _021848f4: add r3, r3, #8 cmp r3, r0 blo _021848f4 - ldr r0, _02185250 ; =data_027e0fe4 + ldr r0, _02185250 ; =gActorManager add r1, sp, #0x24 ldr r0, [r0] add r2, sp, #0x530 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x534] mov r6, #0 str r6, [sp, #0x18] @@ -11341,7 +11341,7 @@ _021848f4: ble _021849cc ldr r9, [sp, #0x18] ldr r11, _02185254 ; =gMapManager - ldr r5, _02185250 ; =data_027e0fe4 + ldr r5, _02185250 ; =gActorManager _02184940: ldr r1, [sp, #0x530] ldr r0, [r5] @@ -11387,13 +11387,13 @@ _021849cc: mov r0, r4 bne _021849f4 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021849f4: mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -11415,12 +11415,12 @@ _02184a34: add r3, r3, #8 cmp r3, r0 blo _02184a34 - ldr r0, _02185250 ; =data_027e0fe4 + ldr r0, _02185250 ; =gActorManager add r2, sp, #0x400 ldr r0, [r0] add r1, sp, #0x1c add r2, r2, #0xa4 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x4a8] mov r6, #0 str r6, [sp, #0x14] @@ -11429,7 +11429,7 @@ _02184a34: ble _02184b10 ldr r9, [sp, #0x14] ldr r11, _02185254 ; =gMapManager - ldr r5, _02185250 ; =data_027e0fe4 + ldr r5, _02185250 ; =gActorManager _02184a84: ldr r1, [sp, #0x4a4] ldr r0, [r5] @@ -11475,13 +11475,13 @@ _02184b10: mov r0, r4 beq _02184b38 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02184b38: mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -11515,12 +11515,12 @@ _02184ba8: add r7, r7, #8 cmp r7, r0 blo _02184ba8 - ldr r0, _02185250 ; =data_027e0fe4 + ldr r0, _02185250 ; =gActorManager add r1, sp, #0x400 ldr r0, [r0] add r1, r1, #0x5c add r2, sp, #0x3d0 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x3d4] mov r6, #0 str r6, [sp, #0x10] @@ -11529,7 +11529,7 @@ _02184ba8: ble _02184c84 ldr r9, [sp, #0x10] ldr r11, _02185254 ; =gMapManager - ldr r5, _02185250 ; =data_027e0fe4 + ldr r5, _02185250 ; =gActorManager _02184bf8: ldr r1, [sp, #0x3d0] ldr r0, [r5] @@ -11575,13 +11575,13 @@ _02184c84: mov r0, r4 beq _02184cac mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02184cac: mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -11614,11 +11614,11 @@ _02184d18: add r7, r7, #8 cmp r7, r0 blo _02184d18 - ldr r0, _02185250 ; =data_027e0fe4 + ldr r0, _02185250 ; =gActorManager add r1, sp, #0x388 ldr r0, [r0] add r2, sp, #0x2fc - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x300] mov r6, #0 str r6, [sp, #0xc] @@ -11627,7 +11627,7 @@ _02184d18: ble _02184df0 ldr r9, [sp, #0xc] ldr r11, _02185254 ; =gMapManager - ldr r5, _02185250 ; =data_027e0fe4 + ldr r5, _02185250 ; =gActorManager _02184d64: ldr r1, [sp, #0x2fc] ldr r0, [r5] @@ -11673,13 +11673,13 @@ _02184df0: mov r0, r4 bne _02184e18 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02184e18: mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -11712,11 +11712,11 @@ _02184e84: add r7, r7, #8 cmp r7, r0 blo _02184e84 - ldr r0, _02185250 ; =data_027e0fe4 + ldr r0, _02185250 ; =gActorManager add r1, sp, #0x2b4 ldr r0, [r0] add r2, sp, #0x228 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x22c] mov r7, #0 str r7, [sp, #8] @@ -11725,7 +11725,7 @@ _02184e84: ble _02184f50 ldr r9, [sp, #8] ldr r5, _02185254 ; =gMapManager - ldr r6, _02185250 ; =data_027e0fe4 + ldr r6, _02185250 ; =gActorManager mov r11, r7 _02184ed4: ldr r1, [sp, #0x228] @@ -11768,13 +11768,13 @@ _02184f50: mov r0, r4 bne _02184f78 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02184f78: mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -11807,11 +11807,11 @@ _02184fe4: add r7, r7, #8 cmp r7, r0 blo _02184fe4 - ldr r0, _02185250 ; =data_027e0fe4 + ldr r0, _02185250 ; =gActorManager add r1, sp, #0x1e0 ldr r0, [r0] add r2, sp, #0x154 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x158] mov r7, #0 str r7, [sp, #4] @@ -11820,7 +11820,7 @@ _02184fe4: ble _021850b0 ldr r9, [sp, #4] ldr r5, _02185254 ; =gMapManager - ldr r6, _02185250 ; =data_027e0fe4 + ldr r6, _02185250 ; =gActorManager mov r11, r7 _02185034: ldr r1, [sp, #0x154] @@ -11863,13 +11863,13 @@ _021850b0: mov r0, r4 bne _021850d8 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _021850d8: mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} @@ -11902,11 +11902,11 @@ _02185144: add r7, r7, #8 cmp r7, r0 blo _02185144 - ldr r0, _02185250 ; =data_027e0fe4 + ldr r0, _02185250 ; =gActorManager add r1, sp, #0x10c ldr r0, [r0] add r2, sp, #0x80 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x84] mov r7, #0 str r7, [sp] @@ -11915,7 +11915,7 @@ _02185144: ble _02185210 ldr r9, [sp] ldr r5, _02185254 ; =gMapManager - ldr r6, _02185250 ; =data_027e0fe4 + ldr r6, _02185250 ; =gActorManager mov r11, r7 _02185194: ldr r1, [sp, #0x80] @@ -11958,20 +11958,20 @@ _02185210: mov r0, r4 bne _02185238 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _02185238: mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _02185240: add sp, sp, #0x1bc add sp, sp, #0x400 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0218524c: .word data_ov30_02188b08 -_02185250: .word data_027e0fe4 +_02185250: .word gActorManager _02185254: .word gMapManager _02185258: .word _ZTV11FilterActor _0218525c: .word 0x57544352 @@ -12265,7 +12265,7 @@ _02185648: bl func_ov00_020c5d74 ldr r0, [r5, #0x10] mov r2, #0x1000 - ldr r1, _021856ec ; =data_027e0f94 + ldr r1, _021856ec ; =gPlayerPos str r2, [r0, #0x10] ldr r2, [r1] add r0, r7, #0x10 @@ -12300,7 +12300,7 @@ _021856d0: .align 2, 0 _021856e4: .word 0x43485334 _021856e8: .word data_027e10b4 -_021856ec: .word data_027e0f94 +_021856ec: .word gPlayerPos arm_func_end func_ov30_0218529c .global func_ov30_021856f0 @@ -12399,7 +12399,7 @@ _0218580c: _02185824: cmp r7, #0 beq _0218587c - ldr r0, _021863d4 ; =data_027e0f94 + ldr r0, _021863d4 ; =gPlayerPos add r3, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -12704,7 +12704,7 @@ _02185c68: add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02185c94: - ldr r1, _021863d4 ; =data_027e0f94 + ldr r1, _021863d4 ; =gPlayerPos mov r0, r4 mov r2, #2 bl func_ov30_02182ecc @@ -13206,7 +13206,7 @@ _021863cc: add sp, sp, #0x68 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_021863d4: .word data_027e0f94 +_021863d4: .word gPlayerPos _021863d8: .word 0x43485334 _021863dc: .word 0x43485336 _021863e0: .word gAdventureFlags @@ -13626,7 +13626,7 @@ func_ov30_0218695c: ; 0x0218695c strb r2, [sp, #3] ldrsb ip, [r0, #0x2c] ldr r0, _021869fc ; =data_027e0ff0 - ldr r1, _02186a00 ; =data_027e0f94 + ldr r1, _02186a00 ; =gPlayerPos ldr r0, [r0] add r2, sp, #0x10 add r3, sp, #0 @@ -13648,7 +13648,7 @@ func_ov30_0218695c: ; 0x0218695c .align 2, 0 _021869f8: .word data_ov00_020e8398 _021869fc: .word data_027e0ff0 -_02186a00: .word data_027e0f94 +_02186a00: .word gPlayerPos arm_func_end func_ov30_0218695c .global func_ov30_02186a04 @@ -14007,18 +14007,18 @@ _02186ed8: add r0, sp, #0x34 add r2, sp, #0x1c add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x28 add r1, sp, #0x34 add r2, sp, #0x10 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x1c] ldr r1, [sp, #0x24] - bl func_01ffa0f4 + bl Atan2 mov r5, r0, lsl #0x10 ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 rsb r0, r0, r5, asr #16 @@ -16954,7 +16954,7 @@ data_ov30_02188d64: ; 0x02188d64 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov30_02188d68 data_ov30_02188d68: ; 0x02188d68 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov30_02188d6c data_ov30_02188d6c: ; 0x02188d6c .word func_ov30_02181364 ; data_ov61_02181364 @@ -17158,7 +17158,7 @@ data_ov30_02188e74: ; 0x02188e74 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov30_02188e78 data_ov30_02188e78: ; 0x02188e78 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov30_02188e7c data_ov30_02188e7c: ; 0x02188e7c .word func_ov30_02181364 ; data_ov61_02181364 @@ -17362,7 +17362,7 @@ data_ov30_02188f84: ; 0x02188f84 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov30_02188f88 data_ov30_02188f88: ; 0x02188f88 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov30_02188f8c data_ov30_02188f8c: ; 0x02188f8c .word func_ov30_02181364 ; data_ov61_02181364 @@ -17566,7 +17566,7 @@ data_ov30_02189094: ; 0x02189094 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov30_02189098 data_ov30_02189098: ; 0x02189098 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov30_0218909c data_ov30_0218909c: ; 0x0218909c .word func_ov30_02181364 ; data_ov61_02181364 @@ -17770,7 +17770,7 @@ data_ov30_021891a4: ; 0x021891a4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov30_021891a8 data_ov30_021891a8: ; 0x021891a8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov30_021891ac data_ov30_021891ac: ; 0x021891ac .word func_ov30_02181364 ; data_ov61_02181364 @@ -18035,7 +18035,7 @@ data_ov30_02189390: ; 0x02189390 .word _ZN5Actor8vfunc_18Ej .global data_ov30_02189394 data_ov30_02189394: ; 0x02189394 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov30_02189398 data_ov30_02189398: ; 0x02189398 .word _ZN5Actor8vfunc_20Ei @@ -18065,10 +18065,10 @@ data_ov30_021893b8: ; 0x021893b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov30_021893bc data_ov30_021893bc: ; 0x021893bc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov30_021893c0 data_ov30_021893c0: ; 0x021893c0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov30_021893c4 data_ov30_021893c4: ; 0x021893c4 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov31.inc b/asm/ov31.inc index b56b1c7c..a5e8c297 100644 --- a/asm/ov31.inc +++ b/asm/ov31.inc @@ -10,7 +10,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -21,14 +21,14 @@ .extern _ZN5Actor8vfunc_08Ev .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -63,7 +63,7 @@ .extern _ZNK11ItemManager7GetAmmoEi .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_0205785c .extern data_02057878 .extern data_027e071c @@ -75,10 +75,10 @@ .extern data_027e0e28 .extern gMapManager .extern data_027e0f64 -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -99,9 +99,9 @@ .extern func_01ff83a0 .extern func_01ff8690 .extern func_01ff88b0 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9d4c +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Normalize .extern func_01fffbec .extern func_020079d8 .extern func_0200e2a4 @@ -114,8 +114,8 @@ .extern func_0202ab64 .extern func_0202ab78 .extern func_0202ac0c -.extern func_0202b864 -.extern func_0202b894 +.extern _ZN12TouchControl13func_0202b864EP5Vec3pic +.extern _ZN12TouchControl13func_0202b894EP5Vec3pic .extern func_0202b8f8 .extern func_0202d77c .extern func_0202e310 @@ -165,7 +165,7 @@ .extern func_ov00_020bc500 .extern func_ov00_020bcdec .extern func_ov00_020bd728 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov31.s b/asm/ov31.s index 5ff16018..987d8bc4 100644 --- a/asm/ov31.s +++ b/asm/ov31.s @@ -341,7 +341,7 @@ _0217c184: str r1, [r4, #0x44] mov r0, #0 str r0, [r4, #0x4c] - ldr r0, _0217c220 ; =data_027e0fc8 + ldr r0, _0217c220 ; =gPlayerLink strb r1, [r4, #0x64] ldr r5, [r0] bl func_ov31_0217cf1c @@ -363,7 +363,7 @@ _0217c184: _0217c214: .word data_027e0f64 _0217c218: .word gMapManager _0217c21c: .word 0x0000ffff -_0217c220: .word data_027e0fc8 +_0217c220: .word gPlayerLink arm_func_end func_ov31_0217bfb4 .global func_ov31_0217c224 @@ -670,7 +670,7 @@ _0217c574: add r1, sp, #0x24 add r0, r0, #0x48 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x24] ldr r0, [sp, #0x28] str r1, [sp, #0xc] @@ -1263,28 +1263,28 @@ _0217cdc8: .global func_ov31_0217cdd8 arm_func_start func_ov31_0217cdd8 func_ov31_0217cdd8: ; 0x0217cdd8 - ldr r2, _0217cdf0 ; =data_027e0fe4 + ldr r2, _0217cdf0 ; =gActorManager add r3, r0, #0x70 ldr ip, _0217cdf4 ; =_ZN12ActorManager8GetActorEP8ActorRef ldr r0, [r2] add r1, r3, r1, lsl #3 bx ip .align 2, 0 -_0217cdf0: .word data_027e0fe4 +_0217cdf0: .word gActorManager _0217cdf4: .word _ZN12ActorManager8GetActorEP8ActorRef arm_func_end func_ov31_0217cdd8 .global func_ov31_0217cdf8 arm_func_start func_ov31_0217cdf8 func_ov31_0217cdf8: ; 0x0217cdf8 - ldr r2, _0217ce10 ; =data_027e0fe4 + ldr r2, _0217ce10 ; =gActorManager add r3, r0, #0x70 ldr ip, _0217ce14 ; =_ZN12ActorManager8GetActorEP8ActorRef ldr r0, [r2] add r1, r3, r1, lsl #3 bx ip .align 2, 0 -_0217ce10: .word data_027e0fe4 +_0217ce10: .word gActorManager _0217ce14: .word _ZN12ActorManager8GetActorEP8ActorRef arm_func_end func_ov31_0217cdf8 @@ -1485,7 +1485,7 @@ func_ov31_0217cfd4: ; 0x0217cfd4 str r2, [r1, #0x10] bl func_ov31_0217d588 add r0, sp, #0x30 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x30 str r1, [sp, #0x4c] @@ -2152,7 +2152,7 @@ _0217d88c: .word data_027e0e28 arm_func_start func_ov31_0217d890 func_ov31_0217d890: ; 0x0217d890 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0217d8cc ; =data_027e0fc8 + ldr r1, _0217d8cc ; =gPlayerLink mov r5, r0 ldr r4, [r1] bl func_ov31_0217bdb8 @@ -2168,7 +2168,7 @@ _0217d8c0: bl func_ov31_0217d8d0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217d8cc: .word data_027e0fc8 +_0217d8cc: .word gPlayerLink arm_func_end func_ov31_0217d890 .global func_ov31_0217d8d0 @@ -2183,7 +2183,7 @@ func_ov31_0217d8d0: ; 0x0217d8d0 arm_func_start func_ov31_0217d8dc func_ov31_0217d8dc: ; 0x0217d8dc stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0217d938 ; =data_027e0fc8 + ldr r1, _0217d938 ; =gPlayerLink mov r5, r0 ldr r4, [r1] bl func_ov31_0217bdb8 @@ -2208,7 +2208,7 @@ _0217d930: bl func_ov31_0217d62c ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217d938: .word data_027e0fc8 +_0217d938: .word gPlayerLink arm_func_end func_ov31_0217d8dc .global func_ov31_0217d93c @@ -2353,7 +2353,7 @@ func_ov31_0217dab8: ; 0x0217dab8 ldmia r0, {r0, r1, r2} add r3, sp, #0xc stmia r3, {r0, r1, r2} - ldr lr, _0217db44 ; =data_027e0f94 + ldr lr, _0217db44 ; =gPlayerPos ldr r3, [sp, #0x14] add ip, sp, #0 ldmia lr, {r0, r1, r2} @@ -2383,7 +2383,7 @@ func_ov31_0217dab8: ; 0x0217dab8 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 -_0217db44: .word data_027e0f94 +_0217db44: .word gPlayerPos arm_func_end func_ov31_0217dab8 .global func_ov31_0217db48 @@ -2415,7 +2415,7 @@ _0217db78: beq _0217dbac mov r2, r5 add r0, r0, #0x48 - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic cmp r0, #0 beq _0217dbc4 mov r0, #1 @@ -2423,7 +2423,7 @@ _0217db78: _0217dbac: mov r2, r4 add r0, r0, #0x48 - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic cmp r0, #0 movne r0, #1 ldmneia sp!, {r4, r5, r6, r7, r8, pc} @@ -4098,10 +4098,10 @@ func_ov31_0217ee74: ; 0x0217ee74 str lr, [sp, #0xc] str ip, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r9 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldrb r0, [r5, #0x174] mov r1, #0x400 cmp r0, #1 @@ -4111,7 +4111,7 @@ func_ov31_0217ee74: ; 0x0217ee74 add r0, r5, #0x48 mov r1, r9 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [sp, #0x28] ldr r0, [r5, #0x4c] cmp r0, r2 @@ -4128,7 +4128,7 @@ _0217ef70: add r0, r5, #0x48 mov r1, r9 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r5, #0x18] ldr r0, [r5, #0x4c] cmp r0, r2 @@ -4340,7 +4340,7 @@ _0217f1c8: bl func_01ff80d4 add r0, r6, #0x100 ldrh r1, [r0, #0x68] - ldr r3, _0217f450 ; =data_02050f54 + ldr r3, _0217f450 ; =gSinCosTable add r0, sp, #0x78 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4356,7 +4356,7 @@ _0217f1c8: bl func_01ff8690 add r0, r6, #0x100 ldrh r1, [r0, #0x6a] - ldr r3, _0217f450 ; =data_02050f54 + ldr r3, _0217f450 ; =gSinCosTable add r0, sp, #0x54 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4372,7 +4372,7 @@ _0217f1c8: bl func_01ff8690 add r0, r6, #0x100 ldrh r1, [r0, #0x6c] - ldr r3, _0217f450 ; =data_02050f54 + ldr r3, _0217f450 ; =gSinCosTable add r0, sp, #0x30 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4400,7 +4400,7 @@ _0217f1c8: add r1, r1, #1 mov r0, r0, asr #0x4 mov r2, r1, lsl #0x1 - ldr r3, _0217f450 ; =data_02050f54 + ldr r3, _0217f450 ; =gSinCosTable mov r1, r0, lsl #0x2 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] @@ -4424,7 +4424,7 @@ _0217f1c8: add r1, r1, #1 mov r0, r0, asr #0x4 mov r2, r1, lsl #0x1 - ldr r3, _0217f450 ; =data_02050f54 + ldr r3, _0217f450 ; =gSinCosTable mov r1, r0, lsl #0x2 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] @@ -4436,7 +4436,7 @@ _0217f1c8: bl func_01ff8690 add r0, r6, #0x100 ldrh r1, [r0, #0x6e] - ldr r3, _0217f450 ; =data_02050f54 + ldr r3, _0217f450 ; =gSinCosTable add r0, sp, #0x78 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4452,7 +4452,7 @@ _0217f1c8: bl func_01ff8690 add r0, r6, #0x100 ldrh r1, [r0, #0x70] - ldr r3, _0217f450 ; =data_02050f54 + ldr r3, _0217f450 ; =gSinCosTable add r0, sp, #0x54 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4468,7 +4468,7 @@ _0217f1c8: bl func_01ff8690 add r0, r6, #0x100 ldrh r1, [r0, #0x72] - ldr r3, _0217f450 ; =data_02050f54 + ldr r3, _0217f450 ; =gSinCosTable add r0, sp, #0x30 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4498,7 +4498,7 @@ _0217f1c8: _0217f444: .word data_ov31_02183e88 _0217f448: .word data_ov00_020e9360 _0217f44c: .word 0x0000199a -_0217f450: .word data_02050f54 +_0217f450: .word gSinCosTable arm_func_end func_ov31_0217f120 .global func_ov31_0217f454 @@ -4584,7 +4584,7 @@ _0217f4cc: add r0, sp, #0x48 add r1, r4, #0x260 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217f634 ; =data_ov31_02183e88 str r5, [sp, #0x3c] ldr r0, [r0, #0x2c8] @@ -4610,7 +4610,7 @@ _0217f4cc: add r1, sp, #0x48 add r0, r6, #0x48 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x24 mov r1, r4 blx func_ov09_0211d090 @@ -6650,7 +6650,7 @@ func_ov31_02180ac8: ; 0x02180ac8 add r0, r4, #0x1d8 bl func_ov14_02145a74 ldr r1, _02180bb4 ; =data_ov31_02181ad4 - ldr r0, _02180bb8 ; =data_027e0fe4 + ldr r0, _02180bb8 ; =gActorManager str r1, [r4, #0x408] ldr r0, [r0] ldrb r0, [r0, #0x29] @@ -6707,7 +6707,7 @@ _02180b90: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02180bb4: .word data_ov31_02181ad4 -_02180bb8: .word data_027e0fe4 +_02180bb8: .word gActorManager _02180bbc: .word data_ov31_02181ac8 _02180bc0: .word data_027e0dbc _02180bc4: .word data_ov31_02181abc @@ -6806,7 +6806,7 @@ _02180cf8: ; jump table b _02180d70 ; case 3 b _02180d78 ; case 4 _02180d0c: - ldr r0, _02180dd4 ; =data_027e0fe4 + ldr r0, _02180dd4 ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 @@ -6838,7 +6838,7 @@ _02180d70: mov r0, #0xa ldmia sp!, {r3, pc} _02180d78: - ldr r0, _02180dd4 ; =data_027e0fe4 + ldr r0, _02180dd4 ; =gActorManager ldr r0, [r0] ldrb r0, [r0, #0x29] cmp r0, #0 @@ -6864,7 +6864,7 @@ _02180dcc: mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_02180dd4: .word data_027e0fe4 +_02180dd4: .word gActorManager _02180dd8: .word gAdventureFlags arm_func_end func_ov31_02180ce8 @@ -8771,7 +8771,7 @@ data_ov31_02182188: ; 0x02182188 .word func_ov14_02144b64 .global data_ov31_0218218c data_ov31_0218218c: ; 0x0218218c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02182190 data_ov31_02182190: ; 0x02182190 .word func_ov31_0217d414 ; data_ov61_0217d414 @@ -8801,10 +8801,10 @@ data_ov31_021821b0: ; 0x021821b0 .word func_ov31_0217db50 ; func_ov35_0217db50 .global data_ov31_021821b4 data_ov31_021821b4: ; 0x021821b4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_021821b8 data_ov31_021821b8: ; 0x021821b8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_021821bc data_ov31_021821bc: ; 0x021821bc .word _ZN5Actor8vfunc_4cEPi @@ -9259,10 +9259,10 @@ data_ov31_02182408: ; 0x02182408 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_0218240c data_ov31_0218240c: ; 0x0218240c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182410 data_ov31_02182410: ; 0x02182410 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182414 data_ov31_02182414: ; 0x02182414 .word _ZN5Actor8vfunc_4cEPi @@ -9406,10 +9406,10 @@ data_ov31_021824cc: ; 0x021824cc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_021824d0 data_ov31_021824d0: ; 0x021824d0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_021824d4 data_ov31_021824d4: ; 0x021824d4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_021824d8 data_ov31_021824d8: ; 0x021824d8 .word _ZN5Actor8vfunc_4cEPi @@ -9553,10 +9553,10 @@ data_ov31_02182590: ; 0x02182590 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182594 data_ov31_02182594: ; 0x02182594 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182598 data_ov31_02182598: ; 0x02182598 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_0218259c data_ov31_0218259c: ; 0x0218259c .word _ZN5Actor8vfunc_4cEPi @@ -9700,10 +9700,10 @@ data_ov31_02182654: ; 0x02182654 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182658 data_ov31_02182658: ; 0x02182658 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_0218265c data_ov31_0218265c: ; 0x0218265c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182660 data_ov31_02182660: ; 0x02182660 .word _ZN5Actor8vfunc_4cEPi @@ -9817,7 +9817,7 @@ data_ov31_021826f0: ; 0x021826f0 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_021826f4 data_ov31_021826f4: ; 0x021826f4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_021826f8 data_ov31_021826f8: ; 0x021826f8 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -9847,10 +9847,10 @@ data_ov31_02182718: ; 0x02182718 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_0218271c data_ov31_0218271c: ; 0x0218271c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182720 data_ov31_02182720: ; 0x02182720 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182724 data_ov31_02182724: ; 0x02182724 .word _ZN5Actor8vfunc_4cEPi @@ -9994,7 +9994,7 @@ data_ov31_021827dc: ; 0x021827dc .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_021827e0 data_ov31_021827e0: ; 0x021827e0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_021827e4 data_ov31_021827e4: ; 0x021827e4 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -10024,10 +10024,10 @@ data_ov31_02182804: ; 0x02182804 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182808 data_ov31_02182808: ; 0x02182808 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_0218280c data_ov31_0218280c: ; 0x0218280c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182810 data_ov31_02182810: ; 0x02182810 .word _ZN5Actor8vfunc_4cEPi @@ -10171,7 +10171,7 @@ data_ov31_021828c8: ; 0x021828c8 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_021828cc data_ov31_021828cc: ; 0x021828cc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_021828d0 data_ov31_021828d0: ; 0x021828d0 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -10201,10 +10201,10 @@ data_ov31_021828f0: ; 0x021828f0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_021828f4 data_ov31_021828f4: ; 0x021828f4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_021828f8 data_ov31_021828f8: ; 0x021828f8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_021828fc data_ov31_021828fc: ; 0x021828fc .word _ZN5Actor8vfunc_4cEPi @@ -10348,7 +10348,7 @@ data_ov31_021829b4: ; 0x021829b4 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_021829b8 data_ov31_021829b8: ; 0x021829b8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_021829bc data_ov31_021829bc: ; 0x021829bc .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -10378,10 +10378,10 @@ data_ov31_021829dc: ; 0x021829dc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_021829e0 data_ov31_021829e0: ; 0x021829e0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_021829e4 data_ov31_021829e4: ; 0x021829e4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_021829e8 data_ov31_021829e8: ; 0x021829e8 .word _ZN5Actor8vfunc_4cEPi @@ -10525,7 +10525,7 @@ data_ov31_02182aa0: ; 0x02182aa0 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_02182aa4 data_ov31_02182aa4: ; 0x02182aa4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02182aa8 data_ov31_02182aa8: ; 0x02182aa8 .word func_ov31_0217f4a4 ; data_ov61_0217f4a4 @@ -10555,10 +10555,10 @@ data_ov31_02182ac8: ; 0x02182ac8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182acc data_ov31_02182acc: ; 0x02182acc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182ad0 data_ov31_02182ad0: ; 0x02182ad0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182ad4 data_ov31_02182ad4: ; 0x02182ad4 .word _ZN5Actor8vfunc_4cEPi @@ -10702,7 +10702,7 @@ data_ov31_02182b8c: ; 0x02182b8c .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_02182b90 data_ov31_02182b90: ; 0x02182b90 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02182b94 data_ov31_02182b94: ; 0x02182b94 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -10732,10 +10732,10 @@ data_ov31_02182bb4: ; 0x02182bb4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182bb8 data_ov31_02182bb8: ; 0x02182bb8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182bbc data_ov31_02182bbc: ; 0x02182bbc - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182bc0 data_ov31_02182bc0: ; 0x02182bc0 .word _ZN5Actor8vfunc_4cEPi @@ -10879,7 +10879,7 @@ data_ov31_02182c78: ; 0x02182c78 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_02182c7c data_ov31_02182c7c: ; 0x02182c7c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02182c80 data_ov31_02182c80: ; 0x02182c80 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -10909,10 +10909,10 @@ data_ov31_02182ca0: ; 0x02182ca0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182ca4 data_ov31_02182ca4: ; 0x02182ca4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182ca8 data_ov31_02182ca8: ; 0x02182ca8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182cac data_ov31_02182cac: ; 0x02182cac .word _ZN5Actor8vfunc_4cEPi @@ -11056,7 +11056,7 @@ data_ov31_02182d64: ; 0x02182d64 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_02182d68 data_ov31_02182d68: ; 0x02182d68 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02182d6c data_ov31_02182d6c: ; 0x02182d6c .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -11086,10 +11086,10 @@ data_ov31_02182d8c: ; 0x02182d8c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182d90 data_ov31_02182d90: ; 0x02182d90 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182d94 data_ov31_02182d94: ; 0x02182d94 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182d98 data_ov31_02182d98: ; 0x02182d98 .word _ZN5Actor8vfunc_4cEPi @@ -11233,7 +11233,7 @@ data_ov31_02182e50: ; 0x02182e50 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_02182e54 data_ov31_02182e54: ; 0x02182e54 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02182e58 data_ov31_02182e58: ; 0x02182e58 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -11263,10 +11263,10 @@ data_ov31_02182e78: ; 0x02182e78 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182e7c data_ov31_02182e7c: ; 0x02182e7c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182e80 data_ov31_02182e80: ; 0x02182e80 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182e84 data_ov31_02182e84: ; 0x02182e84 .word _ZN5Actor8vfunc_4cEPi @@ -11410,7 +11410,7 @@ data_ov31_02182f3c: ; 0x02182f3c .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_02182f40 data_ov31_02182f40: ; 0x02182f40 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02182f44 data_ov31_02182f44: ; 0x02182f44 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -11440,10 +11440,10 @@ data_ov31_02182f64: ; 0x02182f64 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02182f68 data_ov31_02182f68: ; 0x02182f68 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02182f6c data_ov31_02182f6c: ; 0x02182f6c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02182f70 data_ov31_02182f70: ; 0x02182f70 .word _ZN5Actor8vfunc_4cEPi @@ -11587,7 +11587,7 @@ data_ov31_02183028: ; 0x02183028 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_0218302c data_ov31_0218302c: ; 0x0218302c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02183030 data_ov31_02183030: ; 0x02183030 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -11617,10 +11617,10 @@ data_ov31_02183050: ; 0x02183050 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02183054 data_ov31_02183054: ; 0x02183054 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02183058 data_ov31_02183058: ; 0x02183058 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_0218305c data_ov31_0218305c: ; 0x0218305c .word _ZN5Actor8vfunc_4cEPi @@ -11764,7 +11764,7 @@ data_ov31_02183114: ; 0x02183114 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_02183118 data_ov31_02183118: ; 0x02183118 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_0218311c data_ov31_0218311c: ; 0x0218311c .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -11794,10 +11794,10 @@ data_ov31_0218313c: ; 0x0218313c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02183140 data_ov31_02183140: ; 0x02183140 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02183144 data_ov31_02183144: ; 0x02183144 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02183148 data_ov31_02183148: ; 0x02183148 .word _ZN5Actor8vfunc_4cEPi @@ -11941,7 +11941,7 @@ data_ov31_02183200: ; 0x02183200 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_02183204 data_ov31_02183204: ; 0x02183204 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02183208 data_ov31_02183208: ; 0x02183208 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -11971,10 +11971,10 @@ data_ov31_02183228: ; 0x02183228 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_0218322c data_ov31_0218322c: ; 0x0218322c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02183230 data_ov31_02183230: ; 0x02183230 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02183234 data_ov31_02183234: ; 0x02183234 .word _ZN5Actor8vfunc_4cEPi @@ -12118,7 +12118,7 @@ data_ov31_021832ec: ; 0x021832ec .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_021832f0 data_ov31_021832f0: ; 0x021832f0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_021832f4 data_ov31_021832f4: ; 0x021832f4 .word func_ov31_0217f638 ; data_ov61_0217f638 @@ -12148,10 +12148,10 @@ data_ov31_02183314: ; 0x02183314 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02183318 data_ov31_02183318: ; 0x02183318 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_0218331c data_ov31_0218331c: ; 0x0218331c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02183320 data_ov31_02183320: ; 0x02183320 .word _ZN5Actor8vfunc_4cEPi @@ -12295,7 +12295,7 @@ data_ov31_021833d8: ; 0x021833d8 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_021833dc data_ov31_021833dc: ; 0x021833dc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_021833e0 data_ov31_021833e0: ; 0x021833e0 .word func_ov31_0217f454 ; data_ov61_0217f454 @@ -12325,10 +12325,10 @@ data_ov31_02183400: ; 0x02183400 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_02183404 data_ov31_02183404: ; 0x02183404 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02183408 data_ov31_02183408: ; 0x02183408 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_0218340c data_ov31_0218340c: ; 0x0218340c .word _ZN5Actor8vfunc_4cEPi @@ -12472,7 +12472,7 @@ data_ov31_021834c4: ; 0x021834c4 .word func_ov31_0217f090 ; data_ov61_0217f090 .global data_ov31_021834c8 data_ov31_021834c8: ; 0x021834c8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_021834cc data_ov31_021834cc: ; 0x021834cc .word _ZN5Actor8vfunc_20Ei @@ -12502,10 +12502,10 @@ data_ov31_021834ec: ; 0x021834ec .word _ZN5Actor15IsHitboxTouchedEb .global data_ov31_021834f0 data_ov31_021834f0: ; 0x021834f0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_021834f4 data_ov31_021834f4: ; 0x021834f4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_021834f8 data_ov31_021834f8: ; 0x021834f8 .word _ZN5Actor8vfunc_4cEPi @@ -12859,7 +12859,7 @@ data_ov31_02183af8: ; 0x02183af8 .word func_ov14_02144b64 .global data_ov31_02183afc data_ov31_02183afc: ; 0x02183afc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02183b00 data_ov31_02183b00: ; 0x02183b00 .word func_ov31_0217d414 ; data_ov61_0217d414 @@ -12889,10 +12889,10 @@ data_ov31_02183b20: ; 0x02183b20 .word func_ov31_0217db50 ; func_ov35_0217db50 .global data_ov31_02183b24 data_ov31_02183b24: ; 0x02183b24 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02183b28 data_ov31_02183b28: ; 0x02183b28 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02183b2c data_ov31_02183b2c: ; 0x02183b2c .word _ZN5Actor8vfunc_4cEPi @@ -13137,7 +13137,7 @@ data_ov31_02183c60: ; 0x02183c60 .word func_ov14_02144b64 .global data_ov31_02183c64 data_ov31_02183c64: ; 0x02183c64 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02183c68 data_ov31_02183c68: ; 0x02183c68 .word func_ov31_0217d414 ; data_ov61_0217d414 @@ -13167,10 +13167,10 @@ data_ov31_02183c88: ; 0x02183c88 .word func_ov31_0217db50 ; func_ov35_0217db50 .global data_ov31_02183c8c data_ov31_02183c8c: ; 0x02183c8c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02183c90 data_ov31_02183c90: ; 0x02183c90 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02183c94 data_ov31_02183c94: ; 0x02183c94 .word _ZN5Actor8vfunc_4cEPi @@ -13367,7 +13367,7 @@ data_ov31_02183d94: ; 0x02183d94 .word func_ov14_02144b64 .global data_ov31_02183d98 data_ov31_02183d98: ; 0x02183d98 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov31_02183d9c data_ov31_02183d9c: ; 0x02183d9c .word func_ov31_021815e0 ; data_ov61_021815e0 @@ -13397,10 +13397,10 @@ data_ov31_02183dbc: ; 0x02183dbc .word func_ov14_02145974 .global data_ov31_02183dc0 data_ov31_02183dc0: ; 0x02183dc0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov31_02183dc4 data_ov31_02183dc4: ; 0x02183dc4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov31_02183dc8 data_ov31_02183dc8: ; 0x02183dc8 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov32.inc b/asm/ov32.inc index d4db3dfb..bf5f7bc8 100644 --- a/asm/ov32.inc +++ b/asm/ov32.inc @@ -1,14 +1,21 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Vec3p_Length +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager18func_ov00_020836dcEii .extern _ZN10MapManager18func_ov00_02083780Ei .extern _ZN10MapManager18func_ov00_02084be0Eii .extern _ZN10MapManager18func_ov00_02084cc8Ei .extern _ZN10PlayerBase10SetVisibleEb -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags18func_Ov00_02097810Ei @@ -19,13 +26,15 @@ .extern _ZN14AdventureFlags18func_ov00_02098058Ev .extern _ZN14AdventureFlags18func_ov00_02098074Eisiib .extern _ZN14AdventureFlags18func_ov00_0209809cEv +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10GetUnk_08cEP8Cylinder .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor14DistanceToLinkEv .extern _ZN5Actor14GetAngleToLinkEv .extern _ZN5Actor14StopLinkFollowEv @@ -44,7 +53,7 @@ .extern _ZN5Actor4KillEv .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv @@ -74,11 +83,11 @@ .extern _ZN5ActorD2Ev .extern _ZN9ActorTypeC1EjPFP5ActorvEPFivE .extern _ZN9ActorTypeD1Ev +.extern _ZN9EquipRope18func_ov14_0213d480Ei .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 .extern data_02051f54 .extern data_02056be4 .extern data_027e0618 @@ -86,7 +95,6 @@ .extern data_027e077c .extern data_027e080c .extern data_027e0c68 -.extern data_027e0d0c .extern data_027e0d78 .extern data_027e0e58 .extern data_027e0e5c @@ -94,13 +102,7 @@ .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f84 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -117,17 +119,9 @@ .extern func_01ff9158 .extern func_01ff991c .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffa9fc .extern func_01ffbf5c .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 .extern func_020020d0 .extern func_0200250c .extern func_02002540 @@ -256,7 +250,6 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -344,7 +337,14 @@ .extern func_ov14_02127ac4 .extern func_ov14_0213b904 .extern func_ov14_0213b984 -.extern func_ov14_0213d480 +.extern gActorManager .extern gAdventureFlags .extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerLink +.extern gPlayerPos +.extern gPlayerVel +.extern gSinCosTable +.extern gVec3p_ZERO .extern strncpy diff --git a/asm/ov32.s b/asm/ov32.s index 7ce826e8..ad5e047b 100644 --- a/asm/ov32.s +++ b/asm/ov32.s @@ -1472,7 +1472,7 @@ _0217cf34: moveq r2, #1 streq r2, [r0, #0x4b0] ldrh r2, [r0, #0x78] - ldr r3, _0217cfa0 ; =data_02050f54 + ldr r3, _0217cfa0 ; =gSinCosTable mov r2, r2, asr #0x4 mov r2, r2, lsl #0x2 ldrsh r2, [r3, r2] @@ -1496,7 +1496,7 @@ _0217cf34: str r2, [r0, #0x68] bx lr .align 2, 0 -_0217cfa0: .word data_02050f54 +_0217cfa0: .word gSinCosTable arm_func_end func_ov32_0217cf08 .global func_ov32_0217cfa4 @@ -1514,7 +1514,7 @@ _0217cfc0: _0217cfc4: mov r0, r5 bl func_ov32_0217d188 - ldr r0, _0217d170 ; =data_027e0f90 + ldr r0, _0217d170 ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #4] @@ -1593,7 +1593,7 @@ _0217d0a4: strh r1, [r5, #0x78] _0217d0f8: ldrh r1, [r5, #0x78] - ldr r2, _0217d184 ; =data_02050f54 + ldr r2, _0217d184 ; =gSinCosTable mov r0, r5 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -1623,12 +1623,12 @@ _0217d0f8: blx r1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0217d170: .word data_027e0f90 +_0217d170: .word gPlayer _0217d174: .word gMapManager _0217d178: .word 0x0000071c _0217d17c: .word data_027e0764 _0217d180: .word 0x0000038e -_0217d184: .word data_02050f54 +_0217d184: .word gSinCosTable arm_func_end func_ov32_0217cfa4 .global func_ov32_0217d188 @@ -1668,7 +1668,7 @@ func_ov32_0217d1bc: ; 0x0217d1bc mov r0, #2 str r0, [r4, #0x12c] ldrh r0, [r4, #0x9c] - ldr r2, _0217d280 ; =data_02050f54 + ldr r2, _0217d280 ; =gSinCosTable orr r0, r0, #2 strh r0, [r4, #0x9c] ldrh r0, [r4, #0x78] @@ -1702,7 +1702,7 @@ func_ov32_0217d1bc: ; 0x0217d1bc .align 2, 0 _0217d278: .word 0x00000c58 _0217d27c: .word 0x00001f3a -_0217d280: .word data_02050f54 +_0217d280: .word gSinCosTable arm_func_end func_ov32_0217d1bc .global func_ov32_0217d284 @@ -1785,7 +1785,7 @@ func_ov32_0217d354: ; 0x0217d354 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #4] - ldr r1, _0217d3b4 ; =data_027e0f94 + ldr r1, _0217d3b4 ; =gPlayerPos add r2, r0, #0x1800 mov r0, r3 str r2, [sp, #4] @@ -1803,7 +1803,7 @@ _0217d3a8: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217d3b4: .word data_027e0f94 +_0217d3b4: .word gPlayerPos arm_func_end func_ov32_0217d354 .global func_ov32_0217d3b8 @@ -1958,7 +1958,7 @@ _0217d570: ldr r1, [r5, #0x60] add r0, sp, #0x1c strh r1, [sp, #8] - bl func_01ff9cec + bl Vec3p_Length strh r0, [sp, #0xa] ldr r1, [r5, #0x68] add r0, sp, #8 @@ -2901,7 +2901,7 @@ func_ov32_0217e10c: ; 0x0217e10c mov r0, #0x800 str r0, [r4, #0x210] add r0, sp, #8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x24] str r0, [sp, #0x28] @@ -2920,7 +2920,7 @@ func_ov32_0217e10c: ; 0x0217e10c add r2, r4, #0x48 add r3, sp, #8 bl func_ov00_020c4048 - ldr r0, _0217e268 ; =data_027e0fe4 + ldr r0, _0217e268 ; =gActorManager add r1, r4, #0xec ldr r0, [r0] add r1, r1, #0x400 @@ -2936,7 +2936,7 @@ _0217e258: .word data_027e0f6c _0217e25c: .word data_ov32_02185738 _0217e260: .word data_027e0fe8 _0217e264: .word 0x49434848 -_0217e268: .word data_027e0fe4 +_0217e268: .word gActorManager arm_func_end func_ov32_0217e10c .global func_ov32_0217e26c @@ -2954,11 +2954,11 @@ func_ov32_0217e26c: ; 0x0217e26c str r3, [sp] str r3, [sp, #4] str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc add r1, sp, #0 add r2, r4, #0xc - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} arm_func_end func_ov32_0217e26c @@ -3054,7 +3054,7 @@ func_ov32_0217e3c4: ; 0x0217e3c4 _0217e3e0: mov r4, #0x46 _0217e3e4: - ldr r0, _0217e58c ; =data_027e0f90 + ldr r0, _0217e58c ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #4] @@ -3134,7 +3134,7 @@ _0217e4bc: strh r1, [r5, #0x78] _0217e514: ldrh r1, [r5, #0x78] - ldr r2, _0217e5a0 ; =data_02050f54 + ldr r2, _0217e5a0 ; =gSinCosTable mov r0, r5 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -3164,12 +3164,12 @@ _0217e514: blx r1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0217e58c: .word data_027e0f90 +_0217e58c: .word gPlayer _0217e590: .word gMapManager _0217e594: .word 0x0000071c _0217e598: .word data_027e0764 _0217e59c: .word 0x0000038e -_0217e5a0: .word data_02050f54 +_0217e5a0: .word gSinCosTable arm_func_end func_ov32_0217e3c4 .global func_ov32_0217e5a4 @@ -3566,7 +3566,7 @@ _0217eaa0: ldr r1, [r5, #0x60] add r0, sp, #0x34 strh r1, [sp, #0x2c] - bl func_01ff9cec + bl Vec3p_Length strh r0, [sp, #0x2e] add r0, sp, #0x2c ldr r2, [r5, #0x68] @@ -3627,11 +3627,11 @@ _0217ebb0: .word func_01fffcd8 .global func_ov32_0217ebb4 arm_func_start func_ov32_0217ebb4 func_ov32_0217ebb4: ; 0x0217ebb4 - ldr ip, _0217ebc0 ; =func_01fffcec + ldr ip, _0217ebc0 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_0217ebc0: .word func_01fffcec +_0217ebc0: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov32_0217ebb4 .global func_ov32_0217ebc4 @@ -3702,7 +3702,7 @@ _0217eca0: beq _0217ecf4 bl func_ov32_0217edcc ldr r1, [r4, #8] - bl func_ov14_0213d480 + bl _ZN9EquipRope18func_ov14_0213d480Ei cmp r0, #0 ldr r1, [r4, #0x4b8] movge r2, #1 @@ -3782,11 +3782,11 @@ _0217edc8: .word 0x00000201 .global func_ov32_0217edcc arm_func_start func_ov32_0217edcc func_ov32_0217edcc: ; 0x0217edcc - ldr ip, _0217edd8 ; =func_01fffcec + ldr ip, _0217edd8 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_0217edd8: .word func_01fffcec +_0217edd8: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov32_0217edcc .global func_ov32_0217eddc @@ -3811,7 +3811,7 @@ func_ov32_0217eddc: ; 0x0217eddc ldr r0, _0217efc4 ; =0x00007fff ldr r4, [sp, #4] rsb r0, r0, #0 - ldr r8, _0217efc8 ; =data_02050f54 + ldr r8, _0217efc8 ; =gSinCosTable mov r5, r6, asr #0x1f str r0, [sp, #0xc] _0217ee34: @@ -3840,7 +3840,7 @@ _0217ee34: mov r0, r2, asr #0x1f orr r3, r3, r11, lsl #20 str r0, [sp, #8] - ldr r0, _0217efcc ; =data_027e0f90 + ldr r0, _0217efcc ; =gPlayer add r1, sp, #0x1c add r10, r10, r3 mov r3, r1 @@ -3858,10 +3858,10 @@ _0217ee34: add r3, r9, r3 mov r2, r1 str r3, [r2, #8] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _0217ef50 - ldr r0, _0217efd0 ; =data_027e0fac + ldr r0, _0217efd0 ; =gPlayerAngle ldrsh r1, [r7, #0x78] ldrsh r0, [r0] sub r0, r1, r0 @@ -3920,20 +3920,20 @@ _0217ef94: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0217efc4: .word 0x00007fff -_0217efc8: .word data_02050f54 -_0217efcc: .word data_027e0f90 -_0217efd0: .word data_027e0fac +_0217efc8: .word gSinCosTable +_0217efcc: .word gPlayer +_0217efd0: .word gPlayerAngle _0217efd4: .word 0x00005555 arm_func_end func_ov32_0217eddc .global func_ov32_0217efd8 arm_func_start func_ov32_0217efd8 func_ov32_0217efd8: ; 0x0217efd8 - ldr ip, _0217efe4 ; =func_01fffcec + ldr ip, _0217efe4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_0217efe4: .word func_01fffcec +_0217efe4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov32_0217efd8 .global func_ov32_0217efe8 @@ -3955,7 +3955,7 @@ _0217f014: bl func_ov00_020cc1f8 _0217f01c: ldrh r1, [r4, #0x78] - ldr r3, _0217f0dc ; =data_02050f54 + ldr r3, _0217f0dc ; =gSinCosTable add r0, sp, #0xc mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -4006,7 +4006,7 @@ _0217f0c4: add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217f0dc: .word data_02050f54 +_0217f0dc: .word gSinCosTable arm_func_end func_ov32_0217efe8 .global func_ov32_0217f0e0 @@ -4940,7 +4940,7 @@ _0217fbcc: strb r0, [r4, #0x1a2] mov r0, r4 bl func_ov32_0217fca0 - ldr r1, _0217fc88 ; =data_027e0fe4 + ldr r1, _0217fc88 ; =gActorManager str r0, [r4, #0x404] ldr r0, [r1] add r1, r4, #0x34 @@ -4985,7 +4985,7 @@ _0217fbcc: ldmia sp!, {r4, pc} .align 2, 0 _0217fc84: .word 0x0000270f -_0217fc88: .word data_027e0fe4 +_0217fc88: .word gActorManager arm_func_end func_ov32_0217fb90 .global func_ov32_0217fc8c @@ -5096,7 +5096,7 @@ func_ov32_0217fd94: ; 0x0217fd94 mov r1, #0 strh r1, [r0] ldrh r1, [r4, #0x78] - ldr ip, _0217fe50 ; =data_02050f54 + ldr ip, _0217fe50 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -5131,7 +5131,7 @@ func_ov32_0217fd94: ; 0x0217fd94 str r0, [r4, #0x64] ldmia sp!, {r4, pc} .align 2, 0 -_0217fe50: .word data_02050f54 +_0217fe50: .word gSinCosTable arm_func_end func_ov32_0217fd94 .global func_ov32_0217fe54 @@ -5180,7 +5180,7 @@ func_ov32_0217feac: ; 0x0217feac mov r0, r6 bl func_ov32_02180af0 mov r1, #2 - ldr r0, _02180044 ; =data_027e0f90 + ldr r0, _02180044 ; =gPlayer str r1, [r6, #0x12c] ldr r0, [r0] mov r4, #0 @@ -5189,7 +5189,7 @@ func_ov32_0217feac: ; 0x0217feac blx r1 cmp r0, #0 beq _0217ff6c - ldr r1, _02180048 ; =data_027e0f94 + ldr r1, _02180048 ; =gPlayerPos ldr r0, _0218004c ; =gMapManager ldr r3, [r1] ldr r2, [r1, #4] @@ -5242,7 +5242,7 @@ _0217ff84: strh r4, [r6, #0x78] _0217ffd0: ldrh r0, [r6, #0x78] - ldr r2, _02180058 ; =data_02050f54 + ldr r2, _02180058 ; =gSinCosTable ldr r1, [r6, #0x3f8] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -5271,12 +5271,12 @@ _0217ffd0: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02180044: .word data_027e0f90 -_02180048: .word data_027e0f94 +_02180044: .word gPlayer +_02180048: .word gPlayerPos _0218004c: .word gMapManager _02180050: .word data_027e0764 _02180054: .word 0x0000ffff -_02180058: .word data_02050f54 +_02180058: .word gSinCosTable arm_func_end func_ov32_0217feac .global func_ov32_0218005c @@ -5337,7 +5337,7 @@ func_ov32_021800e0: ; 0x021800e0 mov r7, r0 str r1, [r7, #0x64] mov r6, #0 - ldr r4, _02180280 ; =data_02050f54 + ldr r4, _02180280 ; =gSinCosTable str r6, [r7, #0x12c] add r5, r7, #0x48 mov r11, #0x1800 @@ -5398,7 +5398,7 @@ _02180108: blt _02180108 _021801e0: ldrsh r1, [r7, #0x78] - ldr r0, _02180280 ; =data_02050f54 + ldr r0, _02180280 ; =gSinCosTable ldr r2, _02180284 ; =0x00000199 sub r1, r1, #0x8000 mov r1, r1, lsl #0x10 @@ -5438,7 +5438,7 @@ _021801e0: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0218027c: .word 0x000005ed -_02180280: .word data_02050f54 +_02180280: .word gSinCosTable _02180284: .word 0x00000199 arm_func_end func_ov32_021800e0 @@ -5469,7 +5469,7 @@ func_ov32_021802c4: ; 0x021802c4 sub sp, sp, #0x30 mov r4, r0 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -5604,16 +5604,16 @@ func_ov32_021804a4: ; 0x021804a4 ldrsh r1, [r0, #0xfc] ldrsh r2, [r10, #0x78] ldr r0, _0218084c ; =0x0000071c - ldr r3, _02180850 ; =data_027e0fac + ldr r3, _02180850 ; =gPlayerAngle smlabb r1, r1, r0, r2 strh r1, [r10, #0x78] - ldr r0, _02180854 ; =data_027e0f94 + ldr r0, _02180854 ; =gPlayerPos ldrsh r4, [r3] add r8, sp, #0x18 ldmia r0, {r0, r1, r2} stmia r8, {r0, r1, r2} ldrsh r1, [r10, #0x78] - ldr r0, _02180858 ; =data_02050f54 + ldr r0, _02180858 ; =gSinCosTable mov r3, r4, lsl #0x10 sub r1, r1, r4 mov r1, r1, lsl #0x10 @@ -5682,7 +5682,7 @@ func_ov32_021804a4: ; 0x021804a4 str r0, [sp] mov r0, r8 ldr r8, _0218085c ; =0x00000333 - ldr r1, _02180860 ; =data_027e0fa0 + ldr r1, _02180860 ; =gPlayerVel umull ip, r8, r7, r8 str ip, [sp, #0xc] mov ip, #0 @@ -5721,7 +5721,7 @@ func_ov32_021804a4: ; 0x021804a4 orr r4, r4, r3, lsl #20 add r3, r9, r4 str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x18 bl func_ov00_020c5288 cmp r0, #0 @@ -5751,7 +5751,7 @@ _021806d4: add r9, r10, #0xb8 ble _021807b4 ldr r6, _02180864 ; =data_027e0f6c - ldr r5, _02180854 ; =data_027e0f94 + ldr r5, _02180854 ; =gPlayerPos ldr r4, _02180868 ; =0x0000ffff add r11, sp, #0x14 _02180710: @@ -5814,7 +5814,7 @@ _021807b4: str r1, [sp, #0x10] cmp r0, #1 bne _0218081c - ldr r3, _02180854 ; =data_027e0f94 + ldr r3, _02180854 ; =gPlayerPos add r0, r10, #0x21c ldr r2, [r3] mov r1, #3 @@ -5841,11 +5841,11 @@ _02180840: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0218084c: .word 0x0000071c -_02180850: .word data_027e0fac -_02180854: .word data_027e0f94 -_02180858: .word data_02050f54 +_02180850: .word gPlayerAngle +_02180854: .word gPlayerPos +_02180858: .word gSinCosTable _0218085c: .word 0x00000333 -_02180860: .word data_027e0fa0 +_02180860: .word gPlayerVel _02180864: .word data_027e0f6c _02180868: .word 0x0000ffff _0218086c: .word 0x00000a66 @@ -5858,7 +5858,7 @@ func_ov32_02180870: ; 0x02180870 sub sp, sp, #0x1c mov r7, r0 mov r2, #2 - ldr r1, _02180a34 ; =data_027e0f94 + ldr r1, _02180a34 ; =gPlayerPos str r2, [r7, #0x12c] ldr r2, [r1] str r2, [r7, #0x48] @@ -5877,7 +5877,7 @@ func_ov32_02180870: ; 0x02180870 b _0218099c _021808c4: bl _ZN5Actor14GetAngleToLinkEv - ldr r4, _02180a38 ; =data_02050f54 + ldr r4, _02180a38 ; =gSinCosTable strh r0, [r7, #0x78] mov r6, #0 add r5, r7, #0x48 @@ -5942,7 +5942,7 @@ _0218099c: mov r2, #7 bl func_ov14_0213b904 ldrh r0, [r7, #0x78] - ldr r2, _02180a38 ; =data_02050f54 + ldr r2, _02180a38 ; =gSinCosTable ldr r1, [sp, #0xc] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -5971,8 +5971,8 @@ _0218099c: add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02180a34: .word data_027e0f94 -_02180a38: .word data_02050f54 +_02180a34: .word gPlayerPos +_02180a38: .word gSinCosTable _02180a3c: .word 0x0000099a arm_func_end func_ov32_02180870 @@ -6021,7 +6021,7 @@ func_ov32_02180a8c: ; 0x02180a8c blx r1 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei add r1, r4, #0x400 ldrsh r1, [r1, #8] mov r5, r0 @@ -6210,7 +6210,7 @@ _02180d14: bl _ZN5Actor18CollidesWithPlayerEj cmp r0, #0 beq _02180dc8 - ldr r0, _02180df4 ; =data_027e0fc8 + ldr r0, _02180df4 ; =gPlayerLink mov r5, #0 ldr r0, [r0] ldr r1, [r0] @@ -6243,7 +6243,7 @@ _02180d8c: cmp r5, #0 bne _02180dc8 mov r3, #0 - ldr r0, _02180df4 ; =data_027e0fc8 + ldr r0, _02180df4 ; =gPlayerLink str r3, [sp] ldr r0, [r0] add r2, r4, #8 @@ -6269,7 +6269,7 @@ _02180dec: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02180df4: .word data_027e0fc8 +_02180df4: .word gPlayerLink arm_func_end func_ov32_02180c7c .global func_ov32_02180df8 @@ -6290,7 +6290,7 @@ func_ov32_02180e08: ; 0x02180e08 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x29c] cmp r0, #4 beq _02180e3c @@ -6301,7 +6301,7 @@ func_ov32_02180e08: ; 0x02180e08 _02180e3c: mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov32_02180e08 @@ -6331,7 +6331,7 @@ func_ov32_02180e4c: ; 0x02180e4c orr r2, r2, r0, lsl #20 str r2, [sp, #0x4c] ldr r0, [r4, #0x404] - ldr r3, _0218104c ; =data_02050f54 + ldr r3, _0218104c ; =gSinCosTable smull r2, r0, r1, r0 adds r1, r2, #0x800 adc r0, r0, #0 @@ -6352,7 +6352,7 @@ func_ov32_02180e4c: ; 0x02180e4c cmp r0, #3 bne _02180f24 ldrh r1, [r4, #0x78] - ldr r3, _0218104c ; =data_02050f54 + ldr r3, _0218104c ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -6369,7 +6369,7 @@ _02180f24: bne _02180f64 add r0, r4, #0x400 ldrh r1, [r0] - ldr r3, _0218104c ; =data_02050f54 + ldr r3, _0218104c ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -6389,7 +6389,7 @@ _02180f64: ldrsh r2, [r2, #2] blx func_01ff8230 ldrsh r1, [r4, #0x78] - ldr r3, _0218104c ; =data_02050f54 + ldr r3, _0218104c ; =gSinCosTable add r0, sp, #0x24 rsb r1, r1, #0 mov r1, r1, lsl #0x10 @@ -6440,7 +6440,7 @@ _02180fbc: add sp, sp, #0x54 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0218104c: .word data_02050f54 +_0218104c: .word gSinCosTable _02181050: .word data_02051f54 _02181054: .word 0x00000666 _02181058: .word data_ov00_020e9370 @@ -7621,7 +7621,7 @@ _02182080: ldr r0, [r0, #4] add r3, sp, #0xc bl func_ov00_020888e8 - ldr r0, _021822a4 ; =data_027e0f90 + ldr r0, _021822a4 ; =gPlayer mov r1, #0 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -7705,7 +7705,7 @@ _0218223c: ldr r0, _02182294 ; =data_027e077c mov r1, #1 bl func_0202e740 - ldr r0, _021822a4 ; =data_027e0f90 + ldr r0, _021822a4 ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -7730,7 +7730,7 @@ _02182294: .word data_027e077c _02182298: .word data_027e103c _0218229c: .word data_027e0f64 _021822a0: .word 0x00003c72 -_021822a4: .word data_027e0f90 +_021822a4: .word gPlayer _021822a8: .word data_027e0c68 _021822ac: .word 0x0000039a arm_func_end func_ov32_02181d00 @@ -7768,7 +7768,7 @@ func_ov32_021822c0: ; 0x021822c0 mov r0, #1 ldmia sp!, {r4, pc} _021822fc: - ldr r0, _02182380 ; =data_027e0fe4 + ldr r0, _02182380 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -7806,7 +7806,7 @@ _02182378: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02182380: .word data_027e0fe4 +_02182380: .word gActorManager _02182384: .word 0x424c5354 _02182388: .word 0x41525257 _0218238c: .word 0x424d524e @@ -7890,7 +7890,7 @@ func_ov32_02182448: ; 0x02182448 add r0, r4, #0x78 add r1, r4, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r4, pc} .align 2, 0 _0218248c: .word data_ov32_02185c10 @@ -7918,7 +7918,7 @@ func_ov32_02182490: ; 0x02182490 str r0, [sp] str r2, [sp, #4] str r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r4, #0xc] mov r0, r0, lsl #0x10 rsbs r1, r1, r0, asr #16 @@ -7976,7 +7976,7 @@ func_ov32_0218252c: ; 0x0218252c add r0, sp, #0x24 add r1, r4, #0x78 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _0218269c ; =gMapManager mov r0, r4 ldr r5, [r1] @@ -8004,7 +8004,7 @@ func_ov32_0218252c: ; 0x0218252c str r3, [r4, #0x88] add r1, r4, #0x84 str r2, [r4, #0x8c] - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _021826a4 ; =data_027e0e58 str r0, [r4, #0x9c] ldr r0, [r1] @@ -8183,7 +8183,7 @@ func_ov32_0218286c: ; 0x0218286c sub sp, sp, #0x48 mov r4, r0 ldrh r1, [r4, #0xc] - ldr r3, _021829e0 ; =data_02050f54 + ldr r3, _021829e0 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -8204,7 +8204,7 @@ func_ov32_0218286c: ; 0x0218286c str r3, [sp, #0x18] str ip, [sp, #0x1c] str lr, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0xa8 ldr r3, [r0] add r1, sp, #0x24 @@ -8274,7 +8274,7 @@ _02182984: add sp, sp, #0x48 ldmia sp!, {r4, pc} .align 2, 0 -_021829e0: .word data_02050f54 +_021829e0: .word gSinCosTable arm_func_end func_ov32_0218286c .global func_ov32_021829e4 @@ -8737,7 +8737,7 @@ _02182f28: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02183024 ; =data_02050f54 + ldr r2, _02183024 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -8767,7 +8767,7 @@ _02182f28: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02183024 ; =data_02050f54 + ldr r2, _02183024 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -8794,7 +8794,7 @@ _02182f28: .align 2, 0 _0218301c: .word 0x45800000 _02183020: .word 0x46800000 -_02183024: .word data_02050f54 +_02183024: .word gSinCosTable arm_func_end func_ov32_02182ecc .global func_ov32_02183028 @@ -8972,7 +8972,7 @@ func_ov32_0218318c: ; 0x0218318c mla r0, r1, r2, r0 add r1, r6, #1 mov r7, r6, lsl #0x1 - ldr r6, _02183340 ; =data_02050f54 + ldr r6, _02183340 ; =gSinCosTable str r5, [ip, #4] add r2, r0, #0x800 ldrsh r7, [r6, r7] @@ -9035,7 +9035,7 @@ _02183330: .word data_027e0764 _02183334: .word 0x00000e39 _02183338: .word 0xfffff8e4 _0218333c: .word 0x00001801 -_02183340: .word data_02050f54 +_02183340: .word gSinCosTable _02183344: .word gMapManager arm_func_end func_ov32_0218318c @@ -9183,12 +9183,12 @@ func_ov32_02183540: ; 0x02183540 add r2, sp, #0 add r0, r4, #0x230 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, r4, #0x60 add r1, sp, #0 mov r3, r2 mov r0, #0xcd - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x60 ldr r2, _0218359c ; =0x00000333 mov r3, r0 @@ -9230,7 +9230,7 @@ func_ov32_021835a0: ; 0x021835a0 mov r6, r4, lsl #0x1 add r4, r6, #1 str r2, [lr] - ldr r5, _021836f0 ; =data_02050f54 + ldr r5, _021836f0 ; =gSinCosTable mov r6, r6, lsl #0x1 mov r2, r4, lsl #0x1 str r1, [lr, #4] @@ -9292,7 +9292,7 @@ func_ov32_021835a0: ; 0x021835a0 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _021836ec: .word data_027e0764 -_021836f0: .word data_02050f54 +_021836f0: .word gSinCosTable _021836f4: .word 0x00000b34 arm_func_end func_ov32_021835a0 @@ -9307,7 +9307,7 @@ func_ov32_021836f8: ; 0x021836f8 mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0218380c ; =data_02050f54 + ldr r2, _0218380c ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] mov r0, r0, lsl #0x1 @@ -9369,7 +9369,7 @@ func_ov32_021836f8: ; 0x021836f8 str r0, [r4, #0x234] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_0218380c: .word data_02050f54 +_0218380c: .word gSinCosTable _02183810: .word data_027e0764 _02183814: .word 0x00000b34 arm_func_end func_ov32_021836f8 @@ -9379,7 +9379,7 @@ _02183814: .word 0x00000b34 func_ov32_02183818: ; 0x02183818 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 - ldr r1, _021838c8 ; =data_027e0f94 + ldr r1, _021838c8 ; =gPlayerPos add r3, sp, #0x18 mov r4, r0 ldmia r1, {r0, r1, r2} @@ -9401,16 +9401,16 @@ func_ov32_02183818: ; 0x02183818 add r0, sp, #0x18 add r1, r4, #0x230 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x18 add r2, sp, #0xc add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, r4, #0x60 add r1, sp, #0xc mov r3, r2 mov r0, #0xcd - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x60 ldr r1, _021838d0 ; =0x00000333 mov r2, r0 @@ -9422,7 +9422,7 @@ func_ov32_02183818: ; 0x02183818 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_021838c8: .word data_027e0f94 +_021838c8: .word gPlayerPos _021838cc: .word gMapManager _021838d0: .word 0x00000333 arm_func_end func_ov32_02183818 @@ -9911,7 +9911,7 @@ func_ov32_02183ecc: ; 0x02183ecc mov r1, r1, asr #0x4 mov ip, lr, lsr #0xc orr ip, ip, r2, lsl #20 - ldr r0, _02183f80 ; =data_02050f54 + ldr r0, _02183f80 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r0, [r0, r1] ldrsh r2, [r3, #0x2a] @@ -9929,7 +9929,7 @@ func_ov32_02183ecc: ; 0x02183ecc ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02183f7c: .word 0x00e39000 -_02183f80: .word data_02050f54 +_02183f80: .word gSinCosTable arm_func_end func_ov32_02183ecc .global func_ov32_02183f84 @@ -10202,7 +10202,7 @@ func_ov32_021842c0: ; 0x021842c0 ldmltia sp!, {r3, r4, pc} _021842f8: ldrh r1, [r4, #0x78] - ldr r3, _02184390 ; =data_02050f54 + ldr r3, _02184390 ; =gSinCosTable add r0, sp, #0x28 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -10240,7 +10240,7 @@ _021842f8: add sp, sp, #0x4c ldmia sp!, {r3, r4, pc} .align 2, 0 -_02184390: .word data_02050f54 +_02184390: .word gSinCosTable _02184394: .word 0x000004cd _02184398: .word data_ov00_020e9370 arm_func_end func_ov32_021842c0 @@ -10250,7 +10250,7 @@ _02184398: .word data_ov00_020e9370 func_ov32_0218439c: ; 0x0218439c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x84 - ldr r1, _0218453c ; =data_027e0fe4 + ldr r1, _0218453c ; =gActorManager mov r2, #0 mov r4, r0 add r3, sp, #0x70 @@ -10270,26 +10270,26 @@ func_ov32_0218439c: ; 0x0218439c str r2, [r3] str r2, [r3, #4] str r2, [r3, #8] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0x18 addgt sp, sp, #0x84 movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r1, [r4, #8] - ldr r0, _0218453c ; =data_027e0fe4 + ldr r0, _0218453c ; =gActorManager str r1, [sp, #0x44] ldr r3, [r4, #0xc] ldr r0, [r0] add r1, sp, #0x3c mov r2, #0 str r3, [sp, #0x48] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #8 addgt sp, sp, #0x84 movgt r0, #0 ldmgtia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r1, r5 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -10303,7 +10303,7 @@ func_ov32_0218439c: ; 0x0218439c add r0, r4, #0x48 str r2, [sp, #0x2c] ldr r2, [r4, #0xc] - ldr r3, _02184548 ; =data_02050f54 + ldr r3, _02184548 ; =gSinCosTable str r2, [sp, #0x30] str r1, [sp, #0x34] ldmia r0, {r0, r1, r2} @@ -10353,10 +10353,10 @@ func_ov32_0218439c: ; 0x0218439c add sp, sp, #0x84 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0218453c: .word data_027e0fe4 +_0218453c: .word gActorManager _02184540: .word _ZTV11FilterActor _02184544: .word 0x42454530 -_02184548: .word data_02050f54 +_02184548: .word gSinCosTable _0218454c: .word 0x0000019a _02184550: .word data_027e0fe8 arm_func_end func_ov32_0218439c @@ -10552,7 +10552,7 @@ func_ov32_0218477c: ; 0x0218477c ldr r3, _02184878 ; =0x00000666 str r0, [r4, #0x54] ldr r0, [r4, #0x4c] - ldr r1, _0218487c ; =data_027e0d0c + ldr r1, _0218487c ; =gVec3p_ZERO str r0, [r4, #0x58] ldr r0, [r4, #0x50] add r2, r3, #0x1000 @@ -10590,10 +10590,10 @@ func_ov32_0218477c: ; 0x0218477c ldr r2, [r2, #0xc] blx r2 mov r0, #0 - ldr r2, _0218487c ; =data_027e0d0c + ldr r2, _0218487c ; =gVec3p_ZERO str r0, [r4, #0x164] ldr r1, [r2] - ldr r0, _02184884 ; =data_027e0fe4 + ldr r0, _02184884 ; =gActorManager str r1, [r4, #0x60] ldr r3, [r2, #4] add r1, r4, #0x34 @@ -10611,9 +10611,9 @@ func_ov32_0218477c: ; 0x0218477c ldmia sp!, {r4, pc} .align 2, 0 _02184878: .word 0x00000666 -_0218487c: .word data_027e0d0c +_0218487c: .word gVec3p_ZERO _02184880: .word data_027e0fec -_02184884: .word data_027e0fe4 +_02184884: .word gActorManager arm_func_end func_ov32_0218477c .global func_ov32_02184888 @@ -10753,7 +10753,7 @@ func_ov32_02184a00: ; 0x02184a00 cmp r5, #0 bne _02184a68 ldrh r1, [r4, #0x78] - ldr r3, _02184a98 ; =data_02050f54 + ldr r3, _02184a98 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -10787,7 +10787,7 @@ _02184a8c: add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 -_02184a98: .word data_02050f54 +_02184a98: .word gSinCosTable arm_func_end func_ov32_02184a00 .global func_ov32_02184a9c @@ -10801,7 +10801,7 @@ func_ov32_02184a9c: ; 0x02184a9c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrsh r1, [r4, #0x78] - ldr r0, _02184b94 ; =data_02050f54 + ldr r0, _02184b94 ; =gSinCosTable ldr ip, _02184b98 ; =0x00000266 add r1, r1, #0x4000 mov r1, r1, lsl #0x10 @@ -10856,7 +10856,7 @@ func_ov32_02184a9c: ; 0x02184a9c add sp, sp, #0x30 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02184b94: .word data_02050f54 +_02184b94: .word gSinCosTable _02184b98: .word 0x00000266 _02184b9c: .word gMapManager _02184ba0: .word 0x0000059a @@ -11972,7 +11972,7 @@ data_ov32_021855c4: ; 0x021855c4 .word func_ov00_020cad30 .global data_ov32_021855c8 data_ov32_021855c8: ; 0x021855c8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov32_021855cc data_ov32_021855cc: ; 0x021855cc .word func_ov00_020cb1c0 @@ -12002,7 +12002,7 @@ data_ov32_021855ec: ; 0x021855ec .word _ZN5Actor15IsHitboxTouchedEb .global data_ov32_021855f0 data_ov32_021855f0: ; 0x021855f0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov32_021855f4 data_ov32_021855f4: ; 0x021855f4 .word func_ov32_0217d478 @@ -12371,7 +12371,7 @@ data_ov32_021857d8: ; 0x021857d8 .word func_ov00_020cad30 .global data_ov32_021857dc data_ov32_021857dc: ; 0x021857dc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov32_021857e0 data_ov32_021857e0: ; 0x021857e0 .word func_ov00_020cb1c0 @@ -12401,7 +12401,7 @@ data_ov32_02185800: ; 0x02185800 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov32_02185804 data_ov32_02185804: ; 0x02185804 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov32_02185808 data_ov32_02185808: ; 0x02185808 .word func_ov32_0217e730 ; data_ov61_0217e730 @@ -12950,7 +12950,7 @@ data_ov32_02185aec: ; 0x02185aec .word func_ov00_020cad30 .global data_ov32_02185af0 data_ov32_02185af0: ; 0x02185af0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov32_02185af4 data_ov32_02185af4: ; 0x02185af4 .word func_ov00_020cb1c0 @@ -12980,7 +12980,7 @@ data_ov32_02185b14: ; 0x02185b14 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov32_02185b18 data_ov32_02185b18: ; 0x02185b18 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov32_02185b1c data_ov32_02185b1c: ; 0x02185b1c .word func_ov32_02180c00 ; data_ov61_02180c00 @@ -13595,7 +13595,7 @@ data_ov32_02185e48: ; 0x02185e48 .word func_ov00_020cad30 .global data_ov32_02185e4c data_ov32_02185e4c: ; 0x02185e4c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov32_02185e50 data_ov32_02185e50: ; 0x02185e50 .word func_ov00_020cb1c0 @@ -13625,7 +13625,7 @@ data_ov32_02185e70: ; 0x02185e70 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov32_02185e74 data_ov32_02185e74: ; 0x02185e74 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov32_02185e78 data_ov32_02185e78: ; 0x02185e78 .word func_ov00_020caeb4 @@ -13895,7 +13895,7 @@ data_ov32_02185fd8: ; 0x02185fd8 .word func_ov00_020cad30 .global data_ov32_02185fdc data_ov32_02185fdc: ; 0x02185fdc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov32_02185fe0 data_ov32_02185fe0: ; 0x02185fe0 .word func_ov00_020cb1c0 @@ -13925,7 +13925,7 @@ data_ov32_02186000: ; 0x02186000 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov32_02186004 data_ov32_02186004: ; 0x02186004 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov32_02186008 data_ov32_02186008: ; 0x02186008 .word func_ov32_0218408c @@ -14099,7 +14099,7 @@ data_ov32_021860e8: ; 0x021860e8 .word func_ov00_020cad30 .global data_ov32_021860ec data_ov32_021860ec: ; 0x021860ec - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov32_021860f0 data_ov32_021860f0: ; 0x021860f0 .word func_ov00_020cb1c0 @@ -14129,7 +14129,7 @@ data_ov32_02186110: ; 0x02186110 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov32_02186114 data_ov32_02186114: ; 0x02186114 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov32_02186118 data_ov32_02186118: ; 0x02186118 .word func_ov32_02184888 ; func_ov34_02184888, func_ov35_02184888 diff --git a/asm/ov33.inc b/asm/ov33.inc index a5afea63..8f82434e 100644 --- a/asm/ov33.inc +++ b/asm/ov33.inc @@ -6,7 +6,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -28,13 +28,13 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -61,7 +61,7 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_020691a0 .extern data_027e0764 .extern data_027e077c @@ -72,12 +72,12 @@ .extern data_027e0f64 .extern data_027e0f68 .extern data_027e0f6c -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fac -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerAngle +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -87,13 +87,13 @@ .extern data_ov00_020e9370 .extern data_ov00_020eec9c .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffe1cc -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_02016fcc .extern func_02016fe8 .extern func_0201e544 @@ -135,7 +135,7 @@ .extern func_ov00_020c0c08 .extern func_ov00_020c0cc8 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c566c diff --git a/asm/ov33.s b/asm/ov33.s index fd209419..cc327c20 100644 --- a/asm/ov33.s +++ b/asm/ov33.s @@ -380,11 +380,11 @@ _0217c20c: .global func_ov33_0217c218 arm_func_start func_ov33_0217c218 func_ov33_0217c218: ; 0x0217c218 - ldr ip, _0217c224 ; =func_01fffcec + ldr ip, _0217c224 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_0217c224: .word func_01fffcec +_0217c224: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov33_0217c218 .global func_ov33_0217c228 @@ -424,7 +424,7 @@ _0217c27c: bl func_ov33_0217bffc b _0217c34c _0217c2a4: - ldr r0, _0217c360 ; =data_027e0f94 + ldr r0, _0217c360 ; =gPlayerPos add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -476,7 +476,7 @@ _0217c34c: .align 2, 0 _0217c358: .word data_027e0ffc _0217c35c: .word 0x00000246 -_0217c360: .word data_027e0f94 +_0217c360: .word gPlayerPos _0217c364: .word 0x0000019a arm_func_end func_ov33_0217c228 @@ -862,7 +862,7 @@ func_ov33_0217c808: ; 0x0217c808 bl _ZN5Actor14GetAngleToLinkEv strh r0, [r4, #0x78] ldrh r0, [r4, #0x78] - ldr ip, _0217c8f0 ; =data_02050f54 + ldr ip, _0217c8f0 ; =gSinCosTable ldr lr, _0217c8f4 ; =0x00000666 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -901,7 +901,7 @@ func_ov33_0217c808: ; 0x0217c808 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _0217c8ec: .word gMapManager -_0217c8f0: .word data_02050f54 +_0217c8f0: .word gSinCosTable _0217c8f4: .word 0x00000666 _0217c8f8: .word data_027e0ffc arm_func_end func_ov33_0217c808 @@ -964,14 +964,14 @@ func_ov33_0217c98c: ; 0x0217c98c .global func_ov33_0217c9a8 arm_func_start func_ov33_0217c9a8 func_ov33_0217c9a8: ; 0x0217c9a8 - ldr ip, _0217c9c0 ; =func_01ff9bc4 + ldr ip, _0217c9c0 ; =Vec3p_Add mov r2, r0 add r0, r2, #0x48 add r1, r2, #0x60 add r2, r2, #0x48 bx ip .align 2, 0 -_0217c9c0: .word func_01ff9bc4 +_0217c9c0: .word Vec3p_Add arm_func_end func_ov33_0217c9a8 .global func_ov33_0217c9c4 @@ -2141,12 +2141,12 @@ func_ov33_0217d8c0: ; 0x0217d8c0 ldr r0, [r0] bl func_ov05_02103fb4 bl func_ov33_0217dae4 - ldr r1, _0217d930 ; =data_027e0fe4 + ldr r1, _0217d930 ; =gActorManager ldr r2, _0217d934 ; =0x4d524547 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217d930 ; =data_027e0fe4 + ldr r0, _0217d930 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2164,7 +2164,7 @@ func_ov33_0217d8c0: ; 0x0217d8c0 ldmia sp!, {r3, pc} .align 2, 0 _0217d92c: .word data_027e103c -_0217d930: .word data_027e0fe4 +_0217d930: .word gActorManager _0217d934: .word 0x4d524547 _0217d938: .word 0x04001000 arm_func_end func_ov33_0217d8c0 @@ -2174,12 +2174,12 @@ _0217d938: .word 0x04001000 func_ov33_0217d93c: ; 0x0217d93c stmdb sp!, {r3, lr} sub sp, sp, #8 - ldr r1, _0217d974 ; =data_027e0fe4 + ldr r1, _0217d974 ; =gActorManager ldr r2, _0217d978 ; =0x4d524547 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217d974 ; =data_027e0fe4 + ldr r0, _0217d974 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2187,7 +2187,7 @@ func_ov33_0217d93c: ; 0x0217d93c add sp, sp, #8 ldmia sp!, {r3, pc} .align 2, 0 -_0217d974: .word data_027e0fe4 +_0217d974: .word gActorManager _0217d978: .word 0x4d524547 arm_func_end func_ov33_0217d93c @@ -2877,7 +2877,7 @@ func_ov33_0217e1c8: ; 0x0217e1c8 mov r1, ip mla r3, r1, r0, r3 ldr r0, _0217e410 ; =0xffffdc72 - ldr r1, _0217e414 ; =data_02050f54 + ldr r1, _0217e414 ; =gSinCosTable add r0, r3, r0 add r0, r5, r0 mov r0, r0, lsl #0x10 @@ -2898,13 +2898,13 @@ func_ov33_0217e1c8: ; 0x0217e1c8 mov r0, #0x5000 str ip, [sp, #0x1c] str r5, [sp, #0x20] - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} _0217e29c: add r0, r4, #0x14 add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x3000 ble _0217e36c mov r0, r4 @@ -2939,7 +2939,7 @@ _0217e29c: str r6, [r2, #4] mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0217e414 ; =data_02050f54 + ldr r1, _0217e414 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r3, [r1, r2] mov r0, r0, lsl #0x1 @@ -2951,12 +2951,12 @@ _0217e29c: mov r0, #0x5000 str ip, [sp, #0x10] str r5, [sp, #0x14] - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} _0217e36c: ldr lr, _0217e408 ; =data_027e0764 - ldr r2, _0217e414 ; =data_02050f54 + ldr r2, _0217e414 ; =gSinCosTable ldr r1, [lr] ldmib lr, {r0, r3} umull r6, r5, r3, r1 @@ -2991,14 +2991,14 @@ _0217e36c: str r7, [sp] str r6, [sp, #4] str r5, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0217e408: .word data_027e0764 _0217e40c: .word 0x0000471d _0217e410: .word 0xffffdc72 -_0217e414: .word data_02050f54 +_0217e414: .word gSinCosTable _0217e418: .word 0x00002aab arm_func_end func_ov33_0217e1c8 @@ -3031,7 +3031,7 @@ func_ov33_0217e430: ; 0x0217e430 func_ov33_0217e450: ; 0x0217e450 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _0217e4a8 ; =data_027e0f94 + ldr r1, _0217e4a8 ; =gPlayerPos mov r4, r0 add r3, sp, #0 ldmia r1, {r0, r1, r2} @@ -3039,12 +3039,12 @@ func_ov33_0217e450: ; 0x0217e450 mov r1, r3 mov r2, r3 add r0, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r1, sp, #0 add r2, r4, #0x48 mov r3, r1 mov r0, #0xa000 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r2, _0217e4ac ; =0x0000028f add r1, sp, #0 mov r0, r4 @@ -3052,7 +3052,7 @@ func_ov33_0217e450: ; 0x0217e450 add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217e4a8: .word data_027e0f94 +_0217e4a8: .word gPlayerPos _0217e4ac: .word 0x0000028f arm_func_end func_ov33_0217e450 @@ -3066,12 +3066,12 @@ func_ov33_0217e4b0: ; 0x0217e4b0 arm_func_start func_ov33_0217e4b4 func_ov33_0217e4b4: ; 0x0217e4b4 ldr ip, _0217e4c4 ; =func_ov33_0217e174 - ldr r1, _0217e4c8 ; =data_027e0f94 + ldr r1, _0217e4c8 ; =gPlayerPos mov r2, #0x214 bx ip .align 2, 0 _0217e4c4: .word func_ov33_0217e174 -_0217e4c8: .word data_027e0f94 +_0217e4c8: .word gPlayerPos arm_func_end func_ov33_0217e4b4 .global func_ov33_0217e4cc @@ -3128,7 +3128,7 @@ func_ov33_0217e56c: ; 0x0217e56c str r1, [r0, #0x6c] add r2, r0, #0x300 ldrsh r2, [r2, #0xdc] - ldr r4, _0217e614 ; =data_02050f54 + ldr r4, _0217e614 ; =gSinCosTable add r3, r1, #0x148 sub r2, r2, #0x8000 mov r2, r2, lsl #0x10 @@ -3166,7 +3166,7 @@ func_ov33_0217e56c: ; 0x0217e56c str r2, [r0, #0x68] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0217e614: .word data_02050f54 +_0217e614: .word gSinCosTable arm_func_end func_ov33_0217e56c .global func_ov33_0217e618 @@ -3189,12 +3189,12 @@ func_ov33_0217e618: ; 0x0217e618 func_ov33_0217e640: ; 0x0217e640 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r1, _0217e6ec ; =data_027e0f94 + ldr r1, _0217e6ec ; =gPlayerPos add r3, sp, #0x10 mov r4, r0 ldmia r1, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr ip, _0217e6f0 ; =data_027e0fa0 + ldr ip, _0217e6f0 ; =gPlayerVel add r3, sp, #4 ldmia ip, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -3232,8 +3232,8 @@ _0217e6c8: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217e6ec: .word data_027e0f94 -_0217e6f0: .word data_027e0fa0 +_0217e6ec: .word gPlayerPos +_0217e6f0: .word gPlayerVel _0217e6f4: .word 0x000024cd _0217e6f8: .word 0x000038a4 arm_func_end func_ov33_0217e640 @@ -3892,8 +3892,8 @@ _0217efbc: b _0217f1b8 _0217efd8: bl _ZN5Actor18func_ov00_020c195cEv - ldr r1, _0217f3d4 ; =data_027e0fac - ldr r0, _0217f3d8 ; =data_027e0fc8 + ldr r1, _0217f3d4 ; =gPlayerAngle + ldr r0, _0217f3d8 ; =gPlayerLink ldrsh r1, [r1] strh r1, [r4, #0x78] ldr r0, [r0] @@ -3926,7 +3926,7 @@ _0217f040: beq _0217f06c ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x300 strh r0, [r1, #0xdc] b _0217f1b8 @@ -3935,7 +3935,7 @@ _0217f06c: ldrb r0, [r0, #0x6a] cmp r0, #0 beq _0217f0a4 - ldr r0, _0217f3d8 ; =data_027e0fc8 + ldr r0, _0217f3d8 ; =gPlayerLink add r1, r4, #8 ldr r0, [r0] bl func_ov00_020bc7e0 @@ -3955,7 +3955,7 @@ _0217f0b4: ldrb r0, [r0, #0x6a] cmp r0, #0 beq _0217f0ec - ldr r0, _0217f3d8 ; =data_027e0fc8 + ldr r0, _0217f3d8 ; =gPlayerLink add r1, r4, #8 ldr r0, [r0] bl func_ov00_020bc7e0 @@ -4036,7 +4036,7 @@ _0217f1b8: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] - ldr r3, _0217f3e0 ; =data_02050f54 + ldr r3, _0217f3e0 ; =gSinCosTable ldr r2, [r4, #0x48] mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 @@ -4104,7 +4104,7 @@ _0217f2e0: add r0, r4, #0x3d0 bhi _0217f368 bl func_ov00_020b7e6c - ldr r0, _0217f3d8 ; =data_027e0fc8 + ldr r0, _0217f3d8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -4168,21 +4168,21 @@ _0217f3c0: .align 2, 0 _0217f3cc: .word data_027e0ffc _0217f3d0: .word 0x00000242 -_0217f3d4: .word data_027e0fac -_0217f3d8: .word data_027e0fc8 +_0217f3d4: .word gPlayerAngle +_0217f3d8: .word gPlayerLink _0217f3dc: .word data_ov33_0217fb80 -_0217f3e0: .word data_02050f54 +_0217f3e0: .word gSinCosTable _0217f3e4: .word data_027e0e58 arm_func_end func_ov33_0217ecb4 .global func_ov33_0217f3e8 arm_func_start func_ov33_0217f3e8 func_ov33_0217f3e8: ; 0x0217f3e8 - ldr ip, _0217f3f4 ; =func_01fffcec + ldr ip, _0217f3f4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_0217f3f4: .word func_01fffcec +_0217f3f4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov33_0217f3e8 .global func_ov33_0217f3f8 @@ -4215,7 +4215,7 @@ func_ov33_0217f438: ; 0x0217f438 ldrb r0, [r4, #0x11b] cmp r0, #0 beq _0217f46c - ldr r0, _0217f49c ; =data_027e0fc8 + ldr r0, _0217f49c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbe94 cmp r0, #0 @@ -4236,7 +4236,7 @@ _0217f46c: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217f49c: .word data_027e0fc8 +_0217f49c: .word gPlayerLink arm_func_end func_ov33_0217f438 .global func_ov33_0217f4a0 @@ -4246,7 +4246,7 @@ func_ov33_0217f4a0: ; 0x0217f4a0 sub sp, sp, #0x30 mov r4, r0 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -4497,7 +4497,7 @@ func_ov33_0217f744: ; 0x0217f744 mov r1, r5 bl func_ov33_0217dec4 ldr r0, _0217f890 ; =data_027e0764 - ldr r11, _0217f894 ; =data_02050f54 + ldr r11, _0217f894 ; =gSinCosTable ldr r6, [r0, #8] ldr lr, [r0] ldr ip, [r0, #4] @@ -4528,13 +4528,13 @@ func_ov33_0217f744: ; 0x0217f744 add r5, r7, #1 mov r5, r5, lsl #0x1 ldrsh r5, [r11, r5] - ldr r2, _0217f898 ; =data_027e0f94 + ldr r2, _0217f898 ; =gPlayerPos mov r0, #0x7000 add r1, sp, #0 add r3, r4, #0x48 str r6, [sp] str r5, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r4, #0x4c] mov r0, r4 add r1, r1, #0x800 @@ -4553,8 +4553,8 @@ func_ov33_0217f744: ; 0x0217f744 .align 2, 0 _0217f88c: .word 0x00000666 _0217f890: .word data_027e0764 -_0217f894: .word data_02050f54 -_0217f898: .word data_027e0f94 +_0217f894: .word gSinCosTable +_0217f898: .word gPlayerPos arm_func_end func_ov33_0217f744 .global func_ov33_0217f89c @@ -4573,7 +4573,7 @@ func_ov33_0217f8b0: ; 0x0217f8b0 stmdb sp!, {r4, r5, r6, lr} mov ip, r0 ldrh r0, [ip, #0x78] - ldr r3, _0217f94c ; =data_02050f54 + ldr r3, _0217f94c ; =gSinCosTable ldr lr, _0217f950 ; =0x00000333 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -4606,11 +4606,11 @@ func_ov33_0217f8b0: ; 0x0217f8b0 mov r4, r6, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [ip, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0217f94c: .word data_02050f54 +_0217f94c: .word gSinCosTable _0217f950: .word 0x00000333 arm_func_end func_ov33_0217f8b0 @@ -5219,7 +5219,7 @@ data_ov33_0217ff60: ; 0x0217ff60 .word func_ov00_020cad30 .global data_ov33_0217ff64 data_ov33_0217ff64: ; 0x0217ff64 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov33_0217ff68 data_ov33_0217ff68: ; 0x0217ff68 .word func_ov00_020cb1c0 @@ -5249,7 +5249,7 @@ data_ov33_0217ff88: ; 0x0217ff88 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov33_0217ff8c data_ov33_0217ff8c: ; 0x0217ff8c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov33_0217ff90 data_ov33_0217ff90: ; 0x0217ff90 .word func_ov33_0217c134 ; func_ov34_0217c134, func_ov37_0217c134 @@ -5458,7 +5458,7 @@ data_ov33_021800ac: ; 0x021800ac .word func_ov00_020cad30 .global data_ov33_021800b0 data_ov33_021800b0: ; 0x021800b0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov33_021800b4 data_ov33_021800b4: ; 0x021800b4 .word func_ov33_0217cf2c @@ -5488,7 +5488,7 @@ data_ov33_021800d4: ; 0x021800d4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov33_021800d8 data_ov33_021800d8: ; 0x021800d8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov33_021800dc data_ov33_021800dc: ; 0x021800dc .word func_ov33_0217ca08 @@ -5662,7 +5662,7 @@ data_ov33_021801bc: ; 0x021801bc .word func_ov14_02144b64 .global data_ov33_021801c0 data_ov33_021801c0: ; 0x021801c0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov33_021801c4 data_ov33_021801c4: ; 0x021801c4 .word func_ov14_02145100 @@ -5692,10 +5692,10 @@ data_ov33_021801e4: ; 0x021801e4 .word func_ov14_02145974 .global data_ov33_021801e8 data_ov33_021801e8: ; 0x021801e8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov33_021801ec data_ov33_021801ec: ; 0x021801ec - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov33_021801f0 data_ov33_021801f0: ; 0x021801f0 .word _ZN5Actor8vfunc_4cEPi @@ -5955,7 +5955,7 @@ data_ov33_02180348: ; 0x02180348 .word func_ov00_020cad30 .global data_ov33_0218034c data_ov33_0218034c: ; 0x0218034c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov33_02180350 data_ov33_02180350: ; 0x02180350 .word func_ov00_020cb1c0 @@ -5985,7 +5985,7 @@ data_ov33_02180370: ; 0x02180370 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov33_02180374 data_ov33_02180374: ; 0x02180374 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov33_02180378 data_ov33_02180378: ; 0x02180378 .word func_ov33_0217ebf8 ; data_ov61_0217ebf8 @@ -6218,7 +6218,7 @@ data_ov33_021804b8: ; 0x021804b8 .word _ZN5Actor8vfunc_18Ej .global data_ov33_021804bc data_ov33_021804bc: ; 0x021804bc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov33_021804c0 data_ov33_021804c0: ; 0x021804c0 .word func_ov33_0217fa5c ; data_ov61_0217fa5c @@ -6248,10 +6248,10 @@ data_ov33_021804e0: ; 0x021804e0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov33_021804e4 data_ov33_021804e4: ; 0x021804e4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov33_021804e8 data_ov33_021804e8: ; 0x021804e8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov33_021804ec data_ov33_021804ec: ; 0x021804ec .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov34.inc b/asm/ov34.inc index abc71f63..b16309c7 100644 --- a/asm/ov34.inc +++ b/asm/ov34.inc @@ -8,20 +8,20 @@ .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c1fc8Ej .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c2e7cEv .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor4KillEv @@ -29,14 +29,14 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -64,20 +64,20 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02057200 .extern data_027e0194 .extern data_027e03c8 .extern data_027e0764 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0e58 .extern gMapManager .extern data_027e0f64 .extern data_027e0f6c -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -91,14 +91,14 @@ .extern data_ov22_0217a5d4 .extern func_01ff88b0 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffa9fc -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_020078f4 .extern func_02007908 .extern func_02016fe8 @@ -109,8 +109,8 @@ .extern func_0202b154 .extern func_0202b2e8 .extern func_0202b308 -.extern func_0202b864 -.extern func_0202b894 +.extern _ZN12TouchControl13func_0202b864EP5Vec3pic +.extern _ZN12TouchControl13func_0202b894EP5Vec3pic .extern func_0202bac0 .extern func_0202d95c .extern func_0202de3c @@ -171,7 +171,7 @@ .extern func_ov00_020c0d4c .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -231,16 +231,16 @@ .extern func_ov14_02122eb8 .extern func_ov14_021231d4 .extern func_ov14_02123904 -.extern func_ov14_0213d420 -.extern func_ov14_0213d440 -.extern func_ov14_0213d480 +.extern _ZN9EquipRope18func_ov14_0213d420Ev +.extern _ZN9EquipRope18func_ov14_0213d440Ei +.extern _ZN9EquipRope18func_ov14_0213d480Ei .extern func_ov14_0213d594 .extern func_ov14_0213d5d0 -.extern func_ov14_0213d91c -.extern func_ov14_0213dadc +.extern _ZN9EquipRope18func_ov14_0213d91cEi +.extern _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder .extern func_ov14_0213dba4 -.extern func_ov14_0213ddd4 -.extern func_ov14_0213defc +.extern _ZN9EquipRope18func_ov14_0213ddd4EP5Actor +.extern _ZN9EquipRope18func_ov14_0213defcEP5Actor .extern func_ov14_0213dfbc .extern func_ov14_0213e144 .extern func_ov17_02168660 diff --git a/asm/ov34.s b/asm/ov34.s index fb91d737..0a705624 100644 --- a/asm/ov34.s +++ b/asm/ov34.s @@ -912,7 +912,7 @@ _0217c950: mov r1, #1 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _0217c984: mov r0, r5 bl _ZN5Actor4KillEv @@ -937,7 +937,7 @@ _0217c998: add r2, r2, #0x5800 str r1, [r5, #0x90] ldr r1, [r5, #0x84] - ldr r3, _0217cdf0 ; =data_027e0d0c + ldr r3, _0217cdf0 ; =gVec3p_ZERO str r1, [r5, #0x94] ldr r6, [r5, #0x88] ldr r1, _0217cdf4 ; =data_ov34_021861a0 @@ -970,13 +970,13 @@ _0217c998: str r3, [r1, #0x50] ldr r1, [r1, #0x40] add r1, r1, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _0217cdf4 ; =data_ov34_021861a0 ldr r0, _0217cdf8 ; =data_ov34_021861e8 ldr r1, [r1, #0x44] mov r2, r0 add r1, r1, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217cdf4 ; =data_ov34_021861a0 mov r1, #0x2800 ldr r2, [r0, #0x48] @@ -1206,7 +1206,7 @@ _0217cd8c: .align 2, 0 _0217cde8: .word gAdventureFlags _0217cdec: .word 0x00001e66 -_0217cdf0: .word data_027e0d0c +_0217cdf0: .word gVec3p_ZERO _0217cdf4: .word data_ov34_021861a0 _0217cdf8: .word data_ov34_021861e8 _0217cdfc: .word data_027e0fec @@ -1233,12 +1233,12 @@ func_ov34_0217ce2c: ; 0x0217ce2c cmp r0, #0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} - ldr r1, _0217cea8 ; =data_027e0fe4 + ldr r1, _0217cea8 ; =gActorManager ldr r2, _0217ceac ; =0x54534e4d ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217cea8 ; =data_027e0fe4 + ldr r0, _0217cea8 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1258,7 +1258,7 @@ func_ov34_0217ce2c: ; 0x0217ce2c add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0217cea8: .word data_027e0fe4 +_0217cea8: .word gActorManager _0217ceac: .word 0x54534e4d arm_func_end func_ov34_0217ce2c @@ -1273,7 +1273,7 @@ func_ov34_0217ceb0: ; 0x0217ceb0 add r2, sp, #0 mov r1, r6 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r2, [r5] mul r1, r0, r4 @@ -1311,7 +1311,7 @@ func_ov34_0217ceb0: ; 0x0217ceb0 add r3, r4, #0x800 mov r3, r3, asr #0xc str r3, [r5, #8] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov34_0217ceb0 @@ -1587,12 +1587,12 @@ func_ov34_0217d290: ; 0x0217d290 ldr r1, [sp, #0x18] add r2, sp, #0 str ip, [r3, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #0x18] ldr r3, [sp, #0x20] add r1, sp, #0 mov r0, r4 - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0xc ldmia sp!, {r4, r5, pc} arm_func_end func_ov34_0217d290 @@ -1604,7 +1604,7 @@ func_ov34_0217d318: ; 0x0217d318 mov r0, #7 str r0, [r1, #0x190] mov r2, #0x32 - ldr r0, _0217d350 ; =data_027e0d0c + ldr r0, _0217d350 ; =gVec3p_ZERO str r2, [r1, #0x194] ldr r2, [r0] str r2, [r1, #0x180] @@ -1615,7 +1615,7 @@ func_ov34_0217d318: ; 0x0217d318 bx lr .align 2, 0 _0217d34c: .word data_ov34_021861a0 -_0217d350: .word data_027e0d0c +_0217d350: .word gVec3p_ZERO arm_func_end func_ov34_0217d318 .global func_ov34_0217d354 @@ -1697,7 +1697,7 @@ _0217d470: ldr r0, _0217d4ac ; =data_ov34_02186314 mov r4, #0xc00 ldr r1, _0217d4b0 ; =data_ov34_02186320 - ldr r2, _0217d4b4 ; =data_027e0d0c + ldr r2, _0217d4b4 ; =gVec3p_ZERO ldr r3, _0217d4b8 ; =0x0000099a str r4, [sp] bl func_ov34_0217ceb0 @@ -1712,7 +1712,7 @@ _0217d4a4: .word data_ov00_020eec9c _0217d4a8: .word 0x000002ee _0217d4ac: .word data_ov34_02186314 _0217d4b0: .word data_ov34_02186320 -_0217d4b4: .word data_027e0d0c +_0217d4b4: .word gVec3p_ZERO _0217d4b8: .word 0x0000099a arm_func_end func_ov34_0217d354 @@ -1875,7 +1875,7 @@ _0217d6ac: add r1, sp, #0x3c mov r2, #2 bl func_ov00_02089318 - ldr r0, _0217deac ; =data_027e0fc8 + ldr r0, _0217deac ; =gPlayerLink ldr r1, [sp, #0x98] ldr r0, [r0] add r3, r1, #0xf000 @@ -1893,14 +1893,14 @@ _0217d740: add r4, sp, #0x84 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} - ldr r1, _0217deb0 ; =data_027e0f94 + ldr r1, _0217deb0 ; =gPlayerPos ldr r0, [sp, #0x8c] ldr r2, [r1, #4] add r3, r0, #0xf000 mov r0, r4 str r3, [sp, #0x8c] str r2, [sp, #0x88] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 bge _0217de8c ldr r0, _0217de98 ; =data_ov34_021861a0 @@ -2125,7 +2125,7 @@ _0217dad0: ldr r0, _0217dea4 ; =data_ov34_021862fc ldr r1, _0217dec4 ; =data_ov34_02186320 add r2, sp, #0x6c - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [sp, #0x6c] ldr r1, [sp, #0x70] ldr r0, [sp, #0x74] @@ -2159,7 +2159,7 @@ _0217db48: bne _0217db48 ldmia r6, {r0, r1} stmia lr, {r0, r1} - ldr r2, _0217deb0 ; =data_027e0f94 + ldr r2, _0217deb0 ; =gPlayerPos mov lr, #0xfa0 mov ip, #0x20000 add r3, sp, #0x60 @@ -2187,7 +2187,7 @@ _0217db48: ldr r0, _0217dea4 ; =data_ov34_021862fc ldr r1, _0217dec4 ; =data_ov34_02186320 add r2, sp, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x54] ldr r0, [sp, #0x58] str r1, [sp, #0x18] @@ -2316,7 +2316,7 @@ _0217dd9c: bl Approach_thunk mov r4, r0 _0217ddc8: - ldr r0, _0217deb0 ; =data_027e0f94 + ldr r0, _0217deb0 ; =gPlayerPos add r3, sp, #0x48 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -2376,8 +2376,8 @@ _0217de9c: .word data_ov34_021861e8 _0217dea0: .word data_ov34_0218622c _0217dea4: .word data_ov34_021862fc _0217dea8: .word data_027e0f64 -_0217deac: .word data_027e0fc8 -_0217deb0: .word data_027e0f94 +_0217deac: .word gPlayerLink +_0217deb0: .word gPlayerPos _0217deb4: .word data_ov34_0218632c _0217deb8: .word data_ov34_02186294 _0217debc: .word 0x000010cc @@ -2490,7 +2490,7 @@ func_ov34_0217ded4: ; 0x0217ded4 add r1, sp, #0 mov r0, r4 bl func_ov00_020cc908 - ldr r0, _0217e098 ; =data_027e0fc8 + ldr r0, _0217e098 ; =gPlayerLink mov r1, r5 ldr r0, [r0] bl func_ov00_020bd070 @@ -2505,7 +2505,7 @@ _0217e088: .word data_ov34_0218622c _0217e08c: .word data_ov34_021862fc _0217e090: .word data_ov34_02186294 _0217e094: .word data_ov34_02186308 -_0217e098: .word data_027e0fc8 +_0217e098: .word gPlayerLink arm_func_end func_ov34_0217ded4 .global func_ov34_0217e09c @@ -2615,13 +2615,13 @@ _0217e214: mvn r0, #0 str r0, [r5, #0x218] _0217e22c: - ldr r0, _0217e288 ; =data_027e0fc8 + ldr r0, _0217e288 ; =gPlayerLink add r1, r5, #0x104 ldr r0, [r0] ldr r2, _0217e28c ; =0x00000333 add r1, r1, #0x1c00 bl func_ov00_020bb810 - ldr r0, _0217e288 ; =data_027e0fc8 + ldr r0, _0217e288 ; =gPlayerLink add r1, r5, #0x104 ldr r0, [r0] add r1, r1, #0x1c00 @@ -2639,7 +2639,7 @@ _0217e278: .word data_ov34_02186308 _0217e27c: .word data_ov34_021862fc _0217e280: .word data_ov34_0218622c _0217e284: .word data_027e0f64 -_0217e288: .word data_027e0fc8 +_0217e288: .word gPlayerLink _0217e28c: .word 0x00000333 arm_func_end func_ov34_0217e09c @@ -2788,7 +2788,7 @@ func_ov34_0217e410: ; 0x0217e410 mov r1, #0xcb mov r3, #0x7f bl func_ov00_020d70a4 - ldr r0, _0217e508 ; =data_027e0fc8 + ldr r0, _0217e508 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] @@ -2832,7 +2832,7 @@ _0217e474: .align 2, 0 _0217e500: .word data_ov34_021861a0 _0217e504: .word data_ov00_020eec68 -_0217e508: .word data_027e0fc8 +_0217e508: .word gPlayerLink _0217e50c: .word data_027e0ffc _0217e510: .word 0x000002ef _0217e514: .word data_ov22_0217a5d4 @@ -2994,12 +2994,12 @@ func_ov34_0217e674: ; 0x0217e674 ldr r2, [r1, #0xab0] mov r3, r4, lsl #0x1 str r2, [r1, #0xa70] - ldr r2, _0217e8c4 ; =data_02050f54 + ldr r2, _0217e8c4 ; =gSinCosTable ldr r5, [r1, #0xab4] ldrsh r2, [r2, r3] add r3, r4, #1 mov r4, r3, lsl #0x1 - ldr r3, _0217e8c4 ; =data_02050f54 + ldr r3, _0217e8c4 ; =gSinCosTable str r5, [r1, #0xa74] ldrsh r3, [r3, r4] mul r4, lr, r2 @@ -3088,7 +3088,7 @@ _0217e8b4: .word data_027e0764 _0217e8b8: .word 0x00001001 _0217e8bc: .word 0x00005557 _0217e8c0: .word 0xffffd555 -_0217e8c4: .word data_02050f54 +_0217e8c4: .word gSinCosTable _0217e8c8: .word data_ov34_021861a0 _0217e8cc: .word 0xffffe19a _0217e8d0: .word 0x0000019a @@ -3234,13 +3234,13 @@ func_ov34_0217ea88: ; 0x0217ea88 str ip, [sp] bl func_ov34_0217ceb0 add r1, r4, #0x104 - ldr r0, _0217eb18 ; =data_027e0f94 + ldr r0, _0217eb18 ; =gPlayerPos add r2, sp, #4 add r1, r1, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #4] ldr r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r4, #0x1d80 @@ -3259,7 +3259,7 @@ func_ov34_0217ea88: ; 0x0217ea88 ldmia sp!, {r4, pc} .align 2, 0 _0217eb14: .word 0x00000e66 -_0217eb18: .word data_027e0f94 +_0217eb18: .word gPlayerPos arm_func_end func_ov34_0217ea88 .global func_ov34_0217eb1c @@ -3318,13 +3318,13 @@ func_ov34_0217eb94: ; 0x0217eb94 movne r1, #1 strneb r1, [r0, #0xd8c] add r1, r4, #0x104 - ldr r0, _0217ee3c ; =data_027e0f94 + ldr r0, _0217ee3c ; =gPlayerPos add r2, sp, #0x3c add r1, r1, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x3c] ldr r1, [sp, #0x44] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r4, #0x1d80 @@ -3405,7 +3405,7 @@ _0217ece0: str r2, [r1, #0xa78] mvn r1, #0xcc str r1, [r4, #0x68] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -3418,7 +3418,7 @@ _0217ece0: add r2, r4, #0x1000 str r0, [sp, #0x30] ldrsh r0, [r1, #0x80] - ldr r3, _0217ee48 ; =data_02050f54 + ldr r3, _0217ee48 ; =gSinCosTable mov ip, #0 strh r0, [sp, #0x24] ldr r4, [r2, #0xaa4] @@ -3476,10 +3476,10 @@ _0217ece0: add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0217ee3c: .word data_027e0f94 +_0217ee3c: .word gPlayerPos _0217ee40: .word 0x00000e66 _0217ee44: .word data_027e0764 -_0217ee48: .word data_02050f54 +_0217ee48: .word gSinCosTable _0217ee4c: .word data_027e0fe8 _0217ee50: .word 0x47524f42 _0217ee54: .word data_027e0ffc @@ -3514,7 +3514,7 @@ _0217ee90: stmia r4, {r0, r1, r2} mov r1, r4 add r0, r8, #0x1c00 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r5 movlt r5, r0 strlt r6, [r9, #0xd74] @@ -3588,7 +3588,7 @@ func_ov34_0217ef88: ; 0x0217ef88 add r2, sp, #0x10 add r0, r0, #0x18 add r1, r1, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x18] ldr r0, [sp, #0x10] cmp r1, #0x3800 @@ -3604,7 +3604,7 @@ func_ov34_0217ef88: ; 0x0217ef88 _0217eff8: ldr r1, [sp, #0x18] str r0, [sp, #0x10] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r4, #0x1d80 @@ -3719,7 +3719,7 @@ func_ov34_0217f120: ; 0x0217f120 add r2, sp, #0x1c add r0, r0, #0x18 add r1, r1, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x24] ldr r0, [sp, #0x1c] cmp r1, #0x3800 @@ -3735,7 +3735,7 @@ func_ov34_0217f120: ; 0x0217f120 _0217f1d0: ldr r1, [sp, #0x24] str r0, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r4, #0x1d80 @@ -3764,7 +3764,7 @@ _0217f1f0: add r3, r4, #0x1000 add r2, r1, #1 ldr r0, [r3, #0xa7c] - ldr ip, _0217f520 ; =data_02050f54 + ldr ip, _0217f520 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r5, [ip, r1] mov r1, #0x5400 @@ -3952,7 +3952,7 @@ _0217f4c0: .align 2, 0 _0217f518: .word data_027e0ffc _0217f51c: .word 0x000002f7 -_0217f520: .word data_02050f54 +_0217f520: .word gSinCosTable _0217f524: .word 0xfffffccd _0217f528: .word 0x000006cd _0217f52c: .word 0x0000019a @@ -3977,7 +3977,7 @@ func_ov34_0217f540: ; 0x0217f540 strh r3, [r1, #0x82] mov r1, #1 strb r1, [r2, #0xd8e] - ldr r1, _0217f5c8 ; =data_027e0f94 + ldr r1, _0217f5c8 ; =gPlayerPos ldr r3, [r2, #0xab0] ldr ip, [r1] add r2, r3, #0x1800 @@ -4001,7 +4001,7 @@ _0217f598: bx lr .align 2, 0 _0217f5c4: .word data_ov34_021861a0 -_0217f5c8: .word data_027e0f94 +_0217f5c8: .word gPlayerPos arm_func_end func_ov34_0217f540 .global func_ov34_0217f5cc @@ -4012,7 +4012,7 @@ func_ov34_0217f5cc: ; 0x0217f5cc mov r4, r0 add r0, r4, #0x1000 ldr r2, [r0, #0xab0] - ldr r0, _0217f708 ; =data_027e0f94 + ldr r0, _0217f708 ; =gPlayerPos add r1, r2, #0x1800 ldr r3, [r0] sub r0, r2, #0x1800 @@ -4028,13 +4028,13 @@ _0217f604: add r3, r4, #0x104 add ip, r0, #0x3c00 str ip, [r1, #0xa78] - ldr r0, _0217f708 ; =data_027e0f94 + ldr r0, _0217f708 ; =gPlayerPos add r2, sp, #0x10 add r1, r3, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r4, #0x1d80 @@ -4089,7 +4089,7 @@ _0217f6f8: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217f708: .word data_027e0f94 +_0217f708: .word gPlayerPos _0217f70c: .word 0x00000e66 _0217f710: .word data_ov34_021861a0 arm_func_end func_ov34_0217f5cc @@ -4179,13 +4179,13 @@ func_ov34_0217f7c8: ; 0x0217f7c8 cmp r0, #0xf000 bge _0217f860 add r1, r5, #0x104 - ldr r0, _02180074 ; =data_027e0f94 + ldr r0, _02180074 ; =gPlayerPos add r2, sp, #0x74 add r1, r1, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x74] ldr r1, [sp, #0x7c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r5, #0x1d80 @@ -4214,7 +4214,7 @@ _0217f860: add r3, r5, #0x1000 add r2, r1, #1 ldr r0, [r3, #0xa7c] - ldr r4, _02180080 ; =data_02050f54 + ldr r4, _02180080 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh lr, [r4, r1] mov r1, #0x5400 @@ -4599,7 +4599,7 @@ _0217fe74: ldr r0, _021800b8 ; =data_ov34_02185788 add r2, sp, #0x10 add r1, r1, #0x1c00 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x14] add r1, r5, #0x1000 add r0, r0, #0x400 @@ -4703,12 +4703,12 @@ _0217ffc8: bl func_ov34_021800c4 mov r1, r5 mov r4, r0 - bl func_ov14_0213ddd4 + bl _ZN9EquipRope18func_ov14_0213ddd4EP5Actor cmp r0, #0 blt _02180038 mov r0, r4 mov r1, r5 - bl func_ov14_0213defc + bl _ZN9EquipRope18func_ov14_0213defcEP5Actor _02180038: mov r0, r5 mov r1, #0xa @@ -4726,10 +4726,10 @@ _02180038: add sp, sp, #0x80 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02180074: .word data_027e0f94 +_02180074: .word gPlayerPos _02180078: .word data_027e0ffc _0218007c: .word 0x000002f7 -_02180080: .word data_02050f54 +_02180080: .word gSinCosTable _02180084: .word 0xfffffccd _02180088: .word 0x000006cd _0218008c: .word data_ov34_021861e0 @@ -4751,11 +4751,11 @@ _021800c0: .word 0x00001030 .global func_ov34_021800c4 arm_func_start func_ov34_021800c4 func_ov34_021800c4: ; 0x021800c4 - ldr ip, _021800d0 ; =func_01fffcec + ldr ip, _021800d0 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_021800d0: .word func_01fffcec +_021800d0: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov34_021800c4 .global func_ov34_021800d4 @@ -4806,7 +4806,7 @@ func_ov34_0218013c: ; 0x0218013c strh r3, [r1, #0x82] mov r1, #1 strb r1, [r2, #0xd8e] - ldr r1, _021801c4 ; =data_027e0f94 + ldr r1, _021801c4 ; =gPlayerPos ldr r3, [r2, #0xab0] ldr ip, [r1] add r2, r3, #0x1800 @@ -4830,7 +4830,7 @@ _02180194: bx lr .align 2, 0 _021801c0: .word data_ov34_021861a0 -_021801c4: .word data_027e0f94 +_021801c4: .word gPlayerPos arm_func_end func_ov34_0218013c .global func_ov34_021801c8 @@ -4841,7 +4841,7 @@ func_ov34_021801c8: ; 0x021801c8 mov r4, r0 add r0, r4, #0x1000 ldr r2, [r0, #0xab0] - ldr r0, _02180318 ; =data_027e0f94 + ldr r0, _02180318 ; =gPlayerPos add r1, r2, #0x1800 ldr r3, [r0] sub r0, r2, #0x1800 @@ -4857,10 +4857,10 @@ _02180200: add r3, r4, #0x104 add ip, r0, #0x3c00 str ip, [r1, #0xa78] - ldr r0, _02180318 ; =data_027e0f94 + ldr r0, _02180318 ; =gPlayerPos add r2, sp, #0x10 add r1, r3, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x18] ldr r0, [sp, #0x10] cmp r1, #0x5800 @@ -4876,7 +4876,7 @@ _02180200: _02180258: ldr r1, [sp, #0x18] str r0, [sp, #0x10] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r4, #0x1d80 @@ -4924,7 +4924,7 @@ _02180308: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_02180318: .word data_027e0f94 +_02180318: .word gPlayerPos _0218031c: .word 0x00000e66 _02180320: .word data_ov34_021861a0 arm_func_end func_ov34_021801c8 @@ -5008,10 +5008,10 @@ func_ov34_021803c0: ; 0x021803c0 cmp r0, #0xf000 bge _02180488 add r1, r5, #0x104 - ldr r0, _02180818 ; =data_027e0f94 + ldr r0, _02180818 ; =gPlayerPos add r2, sp, #0x44 add r1, r1, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x4c] ldr r0, [sp, #0x44] cmp r1, #0x5800 @@ -5027,7 +5027,7 @@ func_ov34_021803c0: ; 0x021803c0 _02180468: ldr r1, [sp, #0x4c] str r0, [sp, #0x44] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r5, #0x1d80 @@ -5056,7 +5056,7 @@ _02180488: add r3, r5, #0x1000 add r2, r1, #1 ldr r0, [r3, #0xa7c] - ldr r4, _02180824 ; =data_02050f54 + ldr r4, _02180824 ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh lr, [r4, r1] mov r1, #0x5400 @@ -5269,10 +5269,10 @@ _021807c0: add sp, sp, #0x50 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02180818: .word data_027e0f94 +_02180818: .word gPlayerPos _0218081c: .word data_027e0ffc _02180820: .word 0x000002f7 -_02180824: .word data_02050f54 +_02180824: .word gSinCosTable _02180828: .word 0xfffffccd _0218082c: .word 0x000006cd _02180830: .word 0x0000019a @@ -5301,11 +5301,11 @@ func_ov34_02180854: ; 0x02180854 add r2, sp, #0xc add r0, r5, #0x1d40 add r1, r1, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] rsb r0, r0, #0 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldr r1, _02180994 ; =0x000031c7 mov r4, r0, asr #0x10 @@ -5318,7 +5318,7 @@ func_ov34_02180854: ; 0x02180854 _021808a8: ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldr r1, _02180994 ; =0x000031c7 mov r6, r0, asr #0x10 @@ -5340,7 +5340,7 @@ _021808d8: bl func_0202b154 add r0, r5, #0x1d00 ldrh r1, [r0, #0x82] - ldr r0, _02180998 ; =data_02050f54 + ldr r0, _02180998 ; =gSinCosTable add r3, r5, #0x1000 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -5379,7 +5379,7 @@ _02180960: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02180994: .word 0x000031c7 -_02180998: .word data_02050f54 +_02180998: .word gSinCosTable arm_func_end func_ov34_02180854 .global func_ov34_0218099c @@ -5433,7 +5433,7 @@ func_ov34_02180a14: ; 0x02180a14 ldr r0, [r0, #0xa98] cmp r0, #0xf bne _02180ba8 - ldr r0, _021810c4 ; =data_027e0f94 + ldr r0, _021810c4 ; =gPlayerPos ldr r1, [r2, #0xab0] ldr r2, [r0] add r0, r1, #0x2000 @@ -5511,7 +5511,7 @@ _02180a70: mov r0, #0x2000 add r1, sp, #0x80 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0x74] add r0, r4, #0x1000 str r1, [r0, #0xd34] @@ -5546,7 +5546,7 @@ _02180ba8: add r1, sp, #0x68 mov r3, r2 mov r0, #0x2000 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x1000 ldr r1, [r0, #0xcd8] ldr r0, [r0, #0xd68] @@ -5658,7 +5658,7 @@ _02180d84: add r1, sp, #0x68 mov r2, r3 mov r0, #0x4000 - bl func_01ff9e64 + bl Vec3p_Axpy mov r1, #0 mov r0, #0x1000 str r0, [sp, #0x4c] @@ -5690,7 +5690,7 @@ _02180d84: add r1, r1, #0x1c00 add r2, r4, #0x1d40 str r5, [sp, #8] - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi mov r0, r4 add r1, r4, #0x1000 mov r2, #0 @@ -5710,7 +5710,7 @@ _02180d84: cmp r2, #0 ble _02180f2c add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -5733,7 +5733,7 @@ _02180d84: bl func_ov00_020c4048 add r1, r4, #0x1000 ldr r0, [r1, #0xd54] - ldr r2, _021810c4 ; =data_027e0f94 + ldr r2, _021810c4 ; =gPlayerPos add r0, r0, #0x8f add r0, r0, #0x1200 str r0, [r1, #0xd54] @@ -5868,7 +5868,7 @@ _0218109c: add sp, sp, #0x8c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_021810c4: .word data_027e0f94 +_021810c4: .word gPlayerPos _021810c8: .word 0x000002f9 _021810cc: .word data_027e0ffc _021810d0: .word data_027e0e58 @@ -6530,11 +6530,11 @@ func_ov34_02181a00: ; 0x02181a00 bl func_ov34_021800c4 ldr r1, [r6, #8] mov r4, r0 - bl func_ov14_0213d440 + bl _ZN9EquipRope18func_ov14_0213d440Ei movs r5, r0 bmi _02181afc mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -6566,15 +6566,15 @@ func_ov34_02181a00: ; 0x02181a00 add r2, sp, #0x44 mov r0, r4 mov r1, r5 - bl func_ov14_0213dadc + bl _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder add r1, r6, #0x104 add r0, sp, #0x50 add r2, sp, #0x38 add r1, r1, #0x1c00 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x38] ldr r1, [sp, #0x40] - bl func_01ffa0f4 + bl Atan2 add r1, r6, #0x1d00 ldrsh r2, [r1, #0x86] mov r0, r0, lsl #0x10 @@ -6600,7 +6600,7 @@ _02181afc: cmp r5, #0 blt _02181b50 mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -6608,7 +6608,7 @@ _02181afc: beq _02181b50 mov r0, r4 mov r1, r5 - bl func_ov14_0213d91c + bl _ZN9EquipRope18func_ov14_0213d91cEi _02181b50: add r0, r6, #0x104 add r0, r0, #0x1c00 @@ -6634,7 +6634,7 @@ _02181b50: add r0, r0, #0xcd add r1, r5, #1 add r2, r0, #0x400 - ldr r4, _02181d04 ; =data_02050f54 + ldr r4, _02181d04 ; =gSinCosTable mov r0, r1, lsl #0x1 mov r5, r5, lsl #0x1 ldrsh r1, [r4, r5] @@ -6722,7 +6722,7 @@ _02181c8c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02181d00: .word gMapManager -_02181d04: .word data_02050f54 +_02181d04: .word gSinCosTable _02181d08: .word data_027e0ffc _02181d0c: .word 0x000002fa _02181d10: .word data_027e0e58 @@ -6750,7 +6750,7 @@ func_ov34_02181d24: ; 0x02181d24 add r2, sp, #0 add r0, r4, #0x48 add r1, r4, #0x7c - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp] add r0, r4, #0x1000 str r1, [r4, #0x48] @@ -7237,7 +7237,7 @@ _02182380: ldr r0, _02182440 ; =data_ov00_020eec68 mov r1, #5 bl func_ov00_020d716c - ldr r0, _02182444 ; =data_027e0fc8 + ldr r0, _02182444 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -7261,7 +7261,7 @@ _02182434: .word data_027e0ffc _02182438: .word 0x000002fb _0218243c: .word data_ov34_021861e0 _02182440: .word data_ov00_020eec68 -_02182444: .word data_027e0fc8 +_02182444: .word gPlayerLink arm_func_end func_ov34_02182324 .global func_ov34_02182448 @@ -7372,7 +7372,7 @@ _021825cc: add r0, sp, #0x1c add r1, sp, #0x10 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x1000 ldr r0, [r0, #0xcec] cmp r0, #0 @@ -7502,7 +7502,7 @@ _02182790: add r0, sp, #0x30 add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, _02182af0 ; =0x00001003 add r1, r4, #0xec str r2, [sp] @@ -7573,7 +7573,7 @@ _02182860: add r2, sp, #0x18 add r0, r0, #0x1000 add r1, r1, #0x1000 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x1c] ldr r3, [sp, #0x18] ldr r0, [sp, #0x20] @@ -7689,7 +7689,7 @@ _02182a1c: add r2, sp, #0xc add r0, r0, #0x1000 add r1, r1, #0x1000 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x10] ldr r3, [sp, #0xc] ldr r0, [sp, #0x14] @@ -8033,7 +8033,7 @@ _02182ed0: arm_func_start func_ov34_02182ee0 func_ov34_02182ee0: ; 0x02182ee0 ldrh r1, [r1, #0x78] - ldr ip, _02182f18 ; =data_02050f54 + ldr ip, _02182f18 ; =gSinCosTable mov r2, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -8047,7 +8047,7 @@ func_ov34_02182ee0: ; 0x02182ee0 strh r1, [r0, #0x54] bx lr .align 2, 0 -_02182f18: .word data_02050f54 +_02182f18: .word gSinCosTable arm_func_end func_ov34_02182ee0 .global func_ov34_02182f1c @@ -8128,7 +8128,7 @@ func_ov34_02182fc8: ; 0x02182fc8 orr ip, ip, r2, lsl #20 mov r2, r0 str ip, [r3, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r3, pc} arm_func_end func_ov34_02182fc8 @@ -8344,12 +8344,12 @@ _021832fc: mov r2, #8 beq _02183324 ldr r1, [sp, #0xc] - bl func_0202b864 + bl _ZN12TouchControl13func_0202b864EP5Vec3pic mov r2, r0 b _02183330 _02183324: ldr r1, [sp, #0xc] - bl func_0202b894 + bl _ZN12TouchControl13func_0202b894EP5Vec3pic mov r2, r0 _02183330: mov r0, r2 @@ -8366,7 +8366,7 @@ func_ov34_0218333c: ; 0x0218333c mov r0, r1 add r1, r5, #0x48 add r2, r5, #0x7c - bl func_01ff9bf8 + bl Vec3p_Sub str r4, [r5, #0x88] ldmia sp!, {r3, r4, r5, pc} arm_func_end func_ov34_0218333c @@ -8469,7 +8469,7 @@ func_ov34_02183474: ; 0x02183474 ldr r1, _02183cf8 ; =data_ov34_0218577c add r0, r10, #0x48 add r2, r2, #0x1c00 - bl func_01ff9bc4 + bl Vec3p_Add add r4, r10, #0x1000 ldrb r0, [r4, #0xd88] cmp r0, #0 @@ -8499,7 +8499,7 @@ _02183510: ldr r3, [r4, #0xd30] add r2, sp, #0x9c str r3, [sp, #0x4c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r4, #0xd04] add r0, sp, #0x38 str r1, [sp, #0x38] @@ -8509,7 +8509,7 @@ _02183510: ldr r3, [r4, #0xd0c] add r2, sp, #0x90 str r3, [sp, #0x40] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x80 add r1, sp, #0x90 add r2, sp, #0x9c @@ -8644,7 +8644,7 @@ _02183710: mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 - ldr r4, _02183d08 ; =data_02050f54 + ldr r4, _02183d08 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r3, [r4, r3] @@ -8784,7 +8784,7 @@ _02183710: _0218398c: add r1, r10, #0x1d00 ldrsh r1, [r1, #0x86] - ldr r5, _02183d08 ; =data_02050f54 + ldr r5, _02183d08 ; =gSinCosTable add r4, r0, r0, lsr #31 add r0, r1, r1, lsr #31 mov r0, r0, lsl #0xf @@ -9008,7 +9008,7 @@ _02183cf8: .word data_ov34_0218577c _02183cfc: .word 0x000002cb _02183d00: .word data_ov34_021861cc _02183d04: .word 0x00005555 -_02183d08: .word data_02050f54 +_02183d08: .word gSinCosTable _02183d0c: .word 0x00000333 _02183d10: .word data_ov34_02185740 arm_func_end func_ov34_02183474 @@ -9234,11 +9234,11 @@ func_ov34_02184024: ; 0x02184024 bl func_ov34_021800c4 ldr r1, [r6, #8] mov r4, r0 - bl func_ov14_0213d440 + bl _ZN9EquipRope18func_ov14_0213d440Ei movs r5, r0 bmi _02184104 mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -9274,21 +9274,21 @@ _02184084: add r1, sp, #0 add r2, r2, #0x1c00 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r2, sp, #0xc add r0, r6, #0x48 add r1, r6, #0x7c - bl func_01ff9bc4 + bl Vec3p_Add add r2, sp, #0xc mov r0, r4 mov r1, r5 - bl func_ov14_0213dadc + bl _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} _02184104: ldr r1, [r6, #8] mov r0, r4 - bl func_ov14_0213d480 + bl _ZN9EquipRope18func_ov14_0213d480Ei cmp r0, #0 addge sp, sp, #0x18 movge r0, #1 @@ -9344,7 +9344,7 @@ _021841b4: ldr r0, _021843c0 ; =data_ov34_02185788 add r2, sp, #0x18 add r1, r1, #0x1c00 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x1c] add r1, sp, #0x18 sub r3, r0, #0x33 @@ -9368,7 +9368,7 @@ _02184200: stmia r3, {r0, r1, r2} add r0, r5, #0x1d00 ldrh r0, [r0, #0x7e] - ldr r1, _021843c4 ; =data_02050f54 + ldr r1, _021843c4 ; =gSinCosTable ldr r4, [sp, #0xc] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -9409,7 +9409,7 @@ _0218429c: stmia r3, {r0, r1, r2} add r0, r5, #0x1d00 ldrh r1, [r0, #0x7e] - ldr r2, _021843c4 ; =data_02050f54 + ldr r2, _021843c4 ; =gSinCosTable ldr r0, [sp] mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 @@ -9439,7 +9439,7 @@ _02184310: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 bne _0218434c mov r0, r5 @@ -9459,7 +9459,7 @@ _02184364: ldrb r0, [r5, #0x11a] cmp r0, #0 beq _02184384 - ldr r0, _021843d0 ; =data_027e0fc8 + ldr r0, _021843d0 ; =gPlayerLink add r1, r5, #0x104 ldr r0, [r0] add r1, r1, #0x1c00 @@ -9483,10 +9483,10 @@ _021843b4: ldmia sp!, {r4, r5, pc} .align 2, 0 _021843c0: .word data_ov34_02185788 -_021843c4: .word data_02050f54 +_021843c4: .word gSinCosTable _021843c8: .word 0x00001666 _021843cc: .word 0x0000119a -_021843d0: .word data_027e0fc8 +_021843d0: .word gPlayerLink arm_func_end func_ov34_02184130 .global func_ov34_021843d4 @@ -9786,7 +9786,7 @@ _02184774: .word data_ov34_02185fbc func_ov34_02184778: ; 0x02184778 stmdb sp!, {r4, r5, r6, lr} ldrh r1, [r0, #0x20] - ldr r2, _02184878 ; =data_027e0d0c + ldr r2, _02184878 ; =gVec3p_ZERO mov r4, #0x800 str r1, [r0, #0x18c] ldr r1, [r2] @@ -9806,7 +9806,7 @@ func_ov34_02184778: ; 0x02184778 mov r4, #4 str r6, [r0, #0x90] ldr r2, [r2, #8] - ldr r6, _02184880 ; =data_02050f54 + ldr r6, _02184880 ; =gSinCosTable str r2, [r0, #0x94] str lr, [r0, #0x98] strb r1, [r0, #0x9f] @@ -9849,9 +9849,9 @@ func_ov34_02184778: ; 0x02184778 mov r0, #1 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02184878: .word data_027e0d0c +_02184878: .word gVec3p_ZERO _0218487c: .word data_ov34_02186394 -_02184880: .word data_02050f54 +_02184880: .word gSinCosTable _02184884: .word data_ov34_021861fd arm_func_end func_ov34_02184778 @@ -9950,7 +9950,7 @@ func_ov34_02184950: ; 0x02184950 bl func_ov00_020b18d8 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 add sp, sp, #0x34 strh r0, [r4, #0x78] ldmia sp!, {r3, r4, pc} @@ -9991,7 +9991,7 @@ _02184a30: strle ip, [r4, #0x16c] ldrle ip, [r0, #4] _02184a54: - ldr r1, _02184aa0 ; =data_027e0d0c + ldr r1, _02184aa0 ; =gVec3p_ZERO add r0, ip, #0x21c ldr r3, [r1, #8] ldmia r1, {r2, ip} @@ -10011,7 +10011,7 @@ _02184a54: ldmia sp!, {r3, r4, pc} .align 2, 0 _02184a9c: .word data_ov34_021861e0 -_02184aa0: .word data_027e0d0c +_02184aa0: .word gVec3p_ZERO arm_func_end func_ov34_02184950 .global func_ov34_02184aa4 @@ -10081,7 +10081,7 @@ func_ov34_02184b70: ; 0x02184b70 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x18c] add r2, r4, #0x60 cmp r0, #1 @@ -10089,7 +10089,7 @@ func_ov34_02184b70: ; 0x02184b70 movne r1, #4 mov r0, r4 bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p - ldr r1, _02184ca4 ; =data_027e0f94 + ldr r1, _02184ca4 ; =gPlayerPos add r0, r4, #0x4c ldr r1, [r1, #4] mov r2, #0x148 @@ -10141,7 +10141,7 @@ _02184c10: _02184c64: mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02184c8c mov r0, r4 @@ -10157,7 +10157,7 @@ _02184c8c: bl func_ov34_02184950 ldmia sp!, {r4, pc} .align 2, 0 -_02184ca4: .word data_027e0f94 +_02184ca4: .word gPlayerPos arm_func_end func_ov34_02184b70 .global func_ov34_02184ca8 @@ -10208,7 +10208,7 @@ func_ov34_02184cec: ; 0x02184cec mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02184f2c ; =data_02050f54 + ldr r2, _02184f2c ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh r1, [r2, r1] mov r0, r0, lsl #0x1 @@ -10226,7 +10226,7 @@ func_ov34_02184cec: ; 0x02184cec b _02184df8 _02184d84: ldr r2, [r4, #0x188] - ldr r1, _02184f30 ; =data_027e0d0c + ldr r1, _02184f30 ; =gVec3p_ZERO add r0, r4, #0x60 bl func_0202b308 add r1, sp, #8 @@ -10245,7 +10245,7 @@ _02184d84: cmp r0, #0 beq _02184df8 mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev ldrb r0, [r0, #0x16b] cmp r0, #1 beq _02184df8 @@ -10258,7 +10258,7 @@ _02184df8: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x16c] add r0, r4, #0x4c ldr r1, [r1, #0x4c] @@ -10325,7 +10325,7 @@ _02184ea8: _02184efc: mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 addeq sp, sp, #0x30 ldmeqia sp!, {r3, r4, r5, pc} @@ -10336,8 +10336,8 @@ _02184efc: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02184f2c: .word data_02050f54 -_02184f30: .word data_027e0d0c +_02184f2c: .word gSinCosTable +_02184f30: .word gVec3p_ZERO arm_func_end func_ov34_02184cec .global func_ov34_02184f34 @@ -11213,7 +11213,7 @@ func_ov34_02185818: ; 0x02185818 str r3, [r0, #0x264] str r2, [r0, #0x268] str r3, [r0, #0x27c] - ldr r1, _02185964 ; =data_027e0d0c + ldr r1, _02185964 ; =gVec3p_ZERO str r2, [r0, #0x280] ldr r3, _02185968 ; =data_ov34_021861e8 ldmia r1, {r0, r1, r2} @@ -11240,7 +11240,7 @@ _02185954: .word func_ov34_0217c570 _02185958: .word data_ov34_021861c0 _0218595c: .word data_02057200 _02185960: .word data_ov34_02185aa0 -_02185964: .word data_027e0d0c +_02185964: .word gVec3p_ZERO _02185968: .word data_ov34_021861e8 _0218596c: .word data_027e0194 _02185970: .word data_ov34_02186344 @@ -11901,7 +11901,7 @@ data_ov34_02185d68: ; 0x02185d68 .word func_ov34_02184408 .global data_ov34_02185d6c data_ov34_02185d6c: ; 0x02185d6c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov34_02185d70 data_ov34_02185d70: ; 0x02185d70 .word func_ov34_02184698 @@ -11931,7 +11931,7 @@ data_ov34_02185d90: ; 0x02185d90 .word func_ov34_021832c0 .global data_ov34_02185d94 data_ov34_02185d94: ; 0x02185d94 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov34_02185d98 data_ov34_02185d98: ; 0x02185d98 .word func_ov34_02183024 @@ -12253,7 +12253,7 @@ data_ov34_02185fd4: ; 0x02185fd4 .word _ZN5Actor8vfunc_18Ej .global data_ov34_02185fd8 data_ov34_02185fd8: ; 0x02185fd8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov34_02185fdc data_ov34_02185fdc: ; 0x02185fdc .word _ZN5Actor8vfunc_20Ei @@ -12283,10 +12283,10 @@ data_ov34_02185ffc: ; 0x02185ffc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov34_02186000 data_ov34_02186000: ; 0x02186000 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov34_02186004 data_ov34_02186004: ; 0x02186004 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov34_02186008 data_ov34_02186008: ; 0x02186008 .word _ZN5Actor8vfunc_4cEPi @@ -12466,7 +12466,7 @@ data_ov34_021860f0: ; 0x021860f0 .word _ZN5Actor8vfunc_18Ej .global data_ov34_021860f4 data_ov34_021860f4: ; 0x021860f4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov34_021860f8 data_ov34_021860f8: ; 0x021860f8 .word func_ov34_021855d4 @@ -12496,10 +12496,10 @@ data_ov34_02186118: ; 0x02186118 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov34_0218611c data_ov34_0218611c: ; 0x0218611c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov34_02186120 data_ov34_02186120: ; 0x02186120 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov34_02186124 data_ov34_02186124: ; 0x02186124 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov35.inc b/asm/ov35.inc index f209197e..43331e76 100644 --- a/asm/ov35.inc +++ b/asm/ov35.inc @@ -1,10 +1,17 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Distance +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager18func_ov00_020836bcEjPi .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager12GetItemModelEj +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN11ItemManager7AddItemEi .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl14CheckTouchFastEj @@ -16,12 +23,14 @@ .extern _ZN14AdventureFlags18func_ov00_02097ff4Ebb .extern _ZN14AdventureFlags3GetEj .extern _ZN14AdventureFlags3SetEjb +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor14DistanceToLinkEv .extern _ZN5Actor14GetAngleToLinkEv .extern _ZN5Actor15IsHitboxTouchedEb @@ -30,11 +39,11 @@ .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c198cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c1fc8Ej .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor18func_ov00_020c3200Ei .extern _ZN5Actor20IncreaseActiveFramesEv @@ -42,7 +51,7 @@ .extern _ZN5Actor4KillEv .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv @@ -77,7 +86,6 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 .extern data_027e0194 .extern data_027e037c .extern data_027e03c8 @@ -88,18 +96,10 @@ .extern data_027e0764 .extern data_027e0c54 .extern data_027e0c68 -.extern data_027e0d0c .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fcc .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff4 @@ -119,17 +119,9 @@ .extern func_01ff8aa0 .extern func_01ff8e84 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffa9fc .extern func_01ffbe78 .extern func_01fffbec -.extern func_01fffcec -.extern func_01fffd04 .extern func_020079d8 .extern func_02016fe8 .extern func_0201838c @@ -228,7 +220,6 @@ .extern func_ov00_020c0d54 .extern func_ov00_020c0d70 .extern func_ov00_020c0e04 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -295,6 +286,15 @@ .extern func_ov14_02123904 .extern func_ov17_02168660 .extern func_ov17_021687f0 +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable +.extern gVec3p_ZERO .extern strncpy diff --git a/asm/ov35.s b/asm/ov35.s index 6fc10aca..3f0a5619 100644 --- a/asm/ov35.s +++ b/asm/ov35.s @@ -174,7 +174,7 @@ func_ov35_0217bf7c: ; 0x0217bf7c ldr r1, _0217c090 ; =data_ov35_0218598c mov r6, r0 mov r4, #0 - ldr r8, _0217c094 ; =data_027e0fe4 + ldr r8, _0217c094 ; =gActorManager str r1, [r6] add r5, r6, #0x238 mov r9, r4 @@ -244,7 +244,7 @@ _0217bfdc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _0217c090: .word data_ov35_0218598c -_0217c094: .word data_027e0fe4 +_0217c094: .word gActorManager _0217c098: .word func_ov00_020a9aac _0217c09c: .word func_ov00_020a95a4 _0217c0a0: .word func_ov35_0217bf4c @@ -257,7 +257,7 @@ func_ov35_0217c0a4: ; 0x0217c0a4 ldr r1, _0217c1c0 ; =data_ov35_0218598c mov r6, r0 mov r4, #0 - ldr r8, _0217c1c4 ; =data_027e0fe4 + ldr r8, _0217c1c4 ; =gActorManager str r1, [r6] add r5, r6, #0x238 mov r9, r4 @@ -329,7 +329,7 @@ _0217c104: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _0217c1c0: .word data_ov35_0218598c -_0217c1c4: .word data_027e0fe4 +_0217c1c4: .word gActorManager _0217c1c8: .word func_ov00_020a9aac _0217c1cc: .word func_ov00_020a95a4 _0217c1d0: .word func_ov35_0217bf4c @@ -340,7 +340,7 @@ _0217c1d0: .word func_ov35_0217bf4c func_ov35_0217c1d4: ; 0x0217c1d4 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x48 - ldr r1, _0217c498 ; =data_027e0fe4 + ldr r1, _0217c498 ; =gActorManager mov r10, r0 ldr r0, [r1] add r1, r10, #0x34 @@ -360,7 +360,7 @@ func_ov35_0217c1d4: ; 0x0217c1d4 rsb r0, r0, #0x2000 str r0, [r10, #0x88] mov r3, r1, asr #0xc - ldr r1, _0217c4a4 ; =data_027e0d0c + ldr r1, _0217c4a4 ; =gVec3p_ZERO str r3, [r10, #0x98] ldr r2, [r1] ldr r0, _0217c4a8 ; =data_027e0fec @@ -445,7 +445,7 @@ _0217c290: ldrb r1, [r1, #0x125] strb r1, [r10, #0x125] strb r2, [r10, #0x554] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -456,7 +456,7 @@ _0217c290: str r1, [sp, #0x28] ldr r1, [r10, #0xc] ldr r5, _0217c4b8 ; =0x52594448 - ldr r8, _0217c498 ; =data_027e0fe4 + ldr r8, _0217c498 ; =gActorManager ldr r9, _0217c4bc ; =data_027e0fe8 mov r7, #0 str r1, [sp, #0x2c] @@ -519,10 +519,10 @@ _0217c44c: add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0217c498: .word data_027e0fe4 +_0217c498: .word gActorManager _0217c49c: .word 0xfffffe66 _0217c4a0: .word 0x000004cd -_0217c4a4: .word data_027e0d0c +_0217c4a4: .word gVec3p_ZERO _0217c4a8: .word data_027e0fec _0217c4ac: .word data_ov35_0218512c _0217c4b0: .word data_ov35_0218595c @@ -673,7 +673,7 @@ _0217c6b0: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ ldr r0, _0217c700 ; =data_027e0ff4 mov r1, r4 ldr r0, [r0] @@ -791,7 +791,7 @@ _0217c844: add r2, sp, #0x10 add r0, r1, #0x48 add r1, r1, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [sp, #0x10] ldr r1, [sp, #0x14] ldr r0, [sp, #0x18] @@ -824,7 +824,7 @@ _0217c898: ldr r1, [r7, #0x50] sub r1, r2, r1 str r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 ldr r0, [r6, #0x14] mov r1, r1, asr #0x10 @@ -869,7 +869,7 @@ _0217c958: ldr r1, [r1, #0x238] cmp r1, r0 beq _0217c998 - ldr r0, _0217ca80 ; =data_027e0fe4 + ldr r0, _0217ca80 ; =gActorManager add r1, r7, #0x238 ldr r0, [r0] add r1, r1, r2, lsl #3 @@ -942,17 +942,17 @@ _0217ca70: .word 0x000001bd _0217ca74: .word 0x41525257 _0217ca78: .word 0xfffffd9a _0217ca7c: .word 0x00000bb8 -_0217ca80: .word data_027e0fe4 +_0217ca80: .word gActorManager arm_func_end func_ov35_0217c718 .global func_ov35_0217ca84 arm_func_start func_ov35_0217ca84 func_ov35_0217ca84: ; 0x0217ca84 - ldr ip, _0217ca90 ; =func_01fffcec + ldr ip, _0217ca90 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_0217ca90: .word func_01fffcec +_0217ca90: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov35_0217ca84 .global func_ov35_0217ca94 @@ -1025,7 +1025,7 @@ _0217cb3c: add r1, sp, #0x5c add r0, r4, #0x48 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -1088,7 +1088,7 @@ _0217cc74: .word 0x0000018d func_ov35_0217cc78: ; 0x0217cc78 stmdb sp!, {r4, r5, r6, r7, r8, lr} mov r6, r0 - ldr r7, _0217cce4 ; =data_027e0fe4 + ldr r7, _0217cce4 ; =gActorManager add r4, r6, #0x238 mov r5, #0 mvn r8, #0 @@ -1117,7 +1117,7 @@ _0217ccc8: strb r0, [r6, #0x550] ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0217cce4: .word data_027e0fe4 +_0217cce4: .word gActorManager arm_func_end func_ov35_0217cc78 .global func_ov35_0217cce8 @@ -1148,7 +1148,7 @@ func_ov35_0217cce8: ; 0x0217cce8 str r0, [sp] sub r1, r2, r1 str r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 cmp r5, #0 @@ -1580,7 +1580,7 @@ _0217d2b8: ldr r1, [sp] mov r0, r4 mov r2, r4 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217d3a4 ; =data_027e0e58 mov r1, r8 ldr r0, [r0] @@ -1725,7 +1725,7 @@ _0217d468: add r0, sp, #0x6c add r1, r6, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217d754 ; =data_027e0e58 ldr r1, [sp, #0x14] ldr r0, [r0] @@ -1845,7 +1845,7 @@ _0217d680: add r0, sp, #0x6c add r1, r6, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217d754 ; =data_027e0e58 ldr r1, [sp, #4] ldr r0, [r0] @@ -2157,7 +2157,7 @@ func_ov35_0217da38: ; 0x0217da38 mvn r0, #0 cmp r1, r0 beq _0217da78 - ldr r0, _0217dab8 ; =data_027e0fe4 + ldr r0, _0217dab8 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2183,7 +2183,7 @@ _0217da78: ldmia sp!, {r4, pc} .align 2, 0 _0217dab4: .word data_ov35_02185a70 -_0217dab8: .word data_027e0fe4 +_0217dab8: .word gActorManager _0217dabc: .word func_ov00_020b7d74 arm_func_end func_ov35_0217da38 @@ -2198,7 +2198,7 @@ func_ov35_0217dac0: ; 0x0217dac0 mvn r0, #0 cmp r1, r0 beq _0217db00 - ldr r0, _0217db48 ; =data_027e0fe4 + ldr r0, _0217db48 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2226,7 +2226,7 @@ _0217db00: ldmia sp!, {r4, pc} .align 2, 0 _0217db44: .word data_ov35_02185a70 -_0217db48: .word data_027e0fe4 +_0217db48: .word gActorManager _0217db4c: .word func_ov00_020b7d74 arm_func_end func_ov35_0217dac0 @@ -2293,7 +2293,7 @@ func_ov35_0217db50: ; 0x0217db50 mvn r0, #0 cmp r1, r0 beq _0217dc68 - ldr r0, _0217dc78 ; =data_027e0fe4 + ldr r0, _0217dc78 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2309,7 +2309,7 @@ _0217dc68: .align 2, 0 _0217dc70: .word 0x0000099a _0217dc74: .word 0xfffffccd -_0217dc78: .word data_027e0fe4 +_0217dc78: .word gActorManager arm_func_end func_ov35_0217db50 .global func_ov35_0217dc7c @@ -2324,7 +2324,7 @@ func_ov35_0217dc7c: ; 0x0217dc7c mvnne r0, #0 cmpne r1, r0 beq _0217dcdc - ldr r0, _0217dcec ; =data_027e0fe4 + ldr r0, _0217dcec ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2345,7 +2345,7 @@ _0217dcdc: bl func_ov00_020cad30 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217dcec: .word data_027e0fe4 +_0217dcec: .word gActorManager arm_func_end func_ov35_0217dc7c .global func_ov35_0217dcf0 @@ -2359,7 +2359,7 @@ func_ov35_0217dcf0: ; 0x0217dcf0 sub r0, r4, #1 cmp r1, r0 beq _0217dd30 - ldr r0, _0217e2c0 ; =data_027e0fe4 + ldr r0, _0217e2c0 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2390,7 +2390,7 @@ _0217dd70: beq _0217ddd8 mov r0, r5 bl func_ov00_020cc214 - ldr r1, _0217e2c4 ; =data_027e0d0c + ldr r1, _0217e2c4 ; =gVec3p_ZERO mov r0, r5 ldr r2, [r1] str r2, [r5, #0x60] @@ -2401,7 +2401,7 @@ _0217dd70: bl func_ov00_020cb58c cmp r0, #0 bne _0217e294 - ldr r0, _0217e2c8 ; =data_027e0fc8 + ldr r0, _0217e2c8 ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #4 @@ -2422,7 +2422,7 @@ _0217ddd8: bl func_ov00_020cb58c cmp r0, #0 bne _0217e23c - ldr r0, _0217e2c8 ; =data_027e0fc8 + ldr r0, _0217e2c8 ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #4 @@ -2435,7 +2435,7 @@ _0217de24: ldrb r0, [r5, #0x303] cmp r0, #0 beq _0217de6c - ldr r0, _0217e2cc ; =data_027e0f94 + ldr r0, _0217e2cc ; =gPlayerPos add r1, r5, #0x48 bl func_ov00_020ce2f0 cmp r0, #0x7000 @@ -2532,10 +2532,10 @@ _0217df84: add r2, sp, #4 add r0, r5, #0x2e4 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #4] ldr r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 ldr r3, _0217e2d0 ; =data_027e0764 ldr r1, _0217e2dc ; =0x00000e39 ldr r4, [r3] @@ -2657,7 +2657,7 @@ _0217e168: bl func_0202b154 _0217e174: ldrh r1, [r5, #0x78] - ldr r2, _0217e2f4 ; =data_02050f54 + ldr r2, _0217e2f4 ; =gSinCosTable ldr r0, _0217e2f8 ; =0x00000133 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -2690,7 +2690,7 @@ _0217e174: str r1, [r0, #0x10] b _0217e220 _0217e1f8: - ldr r0, _0217e2c4 ; =data_027e0d0c + ldr r0, _0217e2c4 ; =gVec3p_ZERO mov r1, #0 ldr r2, [r0] str r2, [r5, #0x60] @@ -2718,12 +2718,12 @@ _0217e23c: ldr r3, [r5, #0x50] mov r2, r0 str r3, [r5, #0x5c] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 bl func_ov00_020cc3fc mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei strb r0, [r5, #0x302] ldr r0, [r5, #0x48] str r0, [r5, #0x2f0] @@ -2745,10 +2745,10 @@ _0217e2ac: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0217e2c0: .word data_027e0fe4 -_0217e2c4: .word data_027e0d0c -_0217e2c8: .word data_027e0fc8 -_0217e2cc: .word data_027e0f94 +_0217e2c0: .word gActorManager +_0217e2c4: .word gVec3p_ZERO +_0217e2c8: .word gPlayerLink +_0217e2cc: .word gPlayerPos _0217e2d0: .word data_027e0764 _0217e2d4: .word 0x00555600 _0217e2d8: .word 0xffffd555 @@ -2758,7 +2758,7 @@ _0217e2e4: .word 0x00fe9400 _0217e2e8: .word 0xffff80b6 _0217e2ec: .word 0x00000222 _0217e2f0: .word 0x00000444 -_0217e2f4: .word data_02050f54 +_0217e2f4: .word gSinCosTable _0217e2f8: .word 0x00000133 _0217e2fc: .word data_027e0ffc _0217e300: .word 0x00000231 @@ -2864,7 +2864,7 @@ func_ov35_0217e3dc: ; 0x0217e3dc mov r1, r4 bl func_ov00_020cb60c mov r2, #0 - ldr r1, _0217e520 ; =data_027e0d0c + ldr r1, _0217e520 ; =gVec3p_ZERO strb r2, [r5, #0x303] add r0, r5, #0x100 strh r2, [r0, #0x20] @@ -2916,7 +2916,7 @@ _0217e510: ldmia sp!, {r4, r5, pc} .align 2, 0 _0217e51c: .word 0x52594453 -_0217e520: .word data_027e0d0c +_0217e520: .word gVec3p_ZERO arm_func_end func_ov35_0217e3dc .global func_ov35_0217e524 @@ -2937,7 +2937,7 @@ func_ov35_0217e524: ; 0x0217e524 add r0, sp, #8 add r1, r4, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -3052,7 +3052,7 @@ func_ov35_0217e6bc: ; 0x0217e6bc mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _0217e728 ; =data_02050f54 + ldr r2, _0217e728 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -3069,7 +3069,7 @@ func_ov35_0217e6bc: ; 0x0217e6bc add sp, sp, #0x10 bx lr .align 2, 0 -_0217e728: .word data_02050f54 +_0217e728: .word gSinCosTable arm_func_end func_ov35_0217e6bc .global func_ov35_0217e72c @@ -3287,7 +3287,7 @@ _0217e96c: .word data_027e0fe0 func_ov35_0217e970: ; 0x0217e970 stmdb sp!, {r4, lr} ldrh r2, [r1] - ldr r3, _0217e9e8 ; =data_02050f54 + ldr r3, _0217e9e8 ; =gSinCosTable mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 @@ -3316,7 +3316,7 @@ func_ov35_0217e970: ; 0x0217e970 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 -_0217e9e8: .word data_02050f54 +_0217e9e8: .word gSinCosTable arm_func_end func_ov35_0217e970 .global func_ov35_0217e9ec @@ -3387,11 +3387,11 @@ func_ov35_0217e9ec: ; 0x0217e9ec add r0, sp, #0x18 add r1, sp, #0x24 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x24 add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x3c] add r0, sp, #0x24 mov r1, r1, lsl #0x1 @@ -3402,7 +3402,7 @@ func_ov35_0217e9ec: ; 0x0217e9ec add r0, sp, #0x24 add r1, sp, #0x18 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x40] sub r0, r0, r6, asr #16 str r0, [sp, #0x40] @@ -3607,7 +3607,7 @@ _0217edc0: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _0217edf4: mov r0, r4 bl _ZN5Actor4KillEv @@ -3652,7 +3652,7 @@ _0217ee08: mov r2, #0x1000 add r0, sp, #0x10 str r2, [r1, #0x10] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -3673,7 +3673,7 @@ _0217ee08: add r2, r4, #0x48 add r3, sp, #0x10 bl func_ov00_020c4048 - ldr r0, _0217f054 ; =data_027e0fe4 + ldr r0, _0217f054 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3749,7 +3749,7 @@ _0217ef90: add r3, sp, #0x10 add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _0217f054 ; =data_027e0fe4 + ldr r0, _0217f054 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3764,7 +3764,7 @@ _0217f044: .word gAdventureFlags _0217f048: .word 0x00001333 _0217f04c: .word data_027e0fe8 _0217f050: .word 0x52594453 -_0217f054: .word data_027e0fe4 +_0217f054: .word gActorManager _0217f058: .word 0x0000ffff _0217f05c: .word data_ov35_0218536c _0217f060: .word 0x00001610 @@ -4140,7 +4140,7 @@ _0217f5a0: bl _ZN5Actor10SetUnk_11cEc b _02180974 _0217f5c4: - ldr r0, _021800ac ; =data_027e0fc8 + ldr r0, _021800ac ; =gPlayerLink mvn r1, #0 ldr r0, [r0] bl func_ov00_020bd030 @@ -4157,10 +4157,10 @@ _0217f5ec: b _02180974 _0217f5f8: ldr r1, _021800b4 ; =0x00000333 - ldr r0, _021800b8 ; =data_027e0d0c + ldr r0, _021800b8 ; =gVec3p_ZERO str r1, [r4, #0x53c] ldr r1, [r0] - ldr r5, _021800bc ; =data_02050f54 + ldr r5, _021800bc ; =gSinCosTable str r1, [r4, #0x60] ldr r1, [r0, #4] str r1, [r4, #0x64] @@ -4193,11 +4193,11 @@ _0217f5f8: str r0, [r4, #0x68] b _02180974 _0217f688: - ldr r0, _021800ac ; =data_027e0fc8 + ldr r0, _021800ac ; =gPlayerLink mvn r1, #0 ldr r0, [r0] bl func_ov00_020bd070 - ldr r1, _021800b8 ; =data_027e0d0c + ldr r1, _021800b8 ; =gVec3p_ZERO ldr r0, _021800c0 ; =data_027e0c54 ldr r2, [r1] str r2, [r4, #0x60] @@ -4262,7 +4262,7 @@ _0217f740: bl func_ov00_020ceacc b _02180974 _0217f790: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #4 @@ -4275,7 +4275,7 @@ _0217f790: b _02180974 _0217f7bc: ldrh r1, [r4, #0x78] - ldr r2, _021800bc ; =data_02050f54 + ldr r2, _021800bc ; =gSinCosTable ldr r0, _021800e0 ; =0x00000171 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -4307,7 +4307,7 @@ _0217f7bc: bl func_ov00_020c5d74 b _02180974 _0217f83c: - ldr r1, _021800b8 ; =data_027e0d0c + ldr r1, _021800b8 ; =gVec3p_ZERO ldr r2, [r1] str r2, [r4, #0x60] ldr r2, [r1, #4] @@ -4319,7 +4319,7 @@ _0217f83c: beq _0217f888 ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -4336,7 +4336,7 @@ _0217f894: bl func_ov00_020c5d74 b _02180974 _0217f8a4: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #0 @@ -4353,7 +4353,7 @@ _0217f8d0: bl func_ov00_020c5d74 ldr r1, [r4, #0x168] mov r2, #0x2000 - ldr r0, _021800e4 ; =data_027e0f94 + ldr r0, _021800e4 ; =gPlayerPos str r2, [r1, #0x10] add r3, sp, #0x6c ldmia r0, {r0, r1, r2} @@ -4365,7 +4365,7 @@ _0217f8d0: ldr r2, _021800e8 ; =0xfffff333 str r1, [r4, #0x50c] ldr r3, [r4, #0x4c] - ldr r1, _021800bc ; =data_02050f54 + ldr r1, _021800bc ; =gSinCosTable str r3, [r4, #0x510] ldr r3, [r4, #0x50] add r2, r0, r2 @@ -4435,14 +4435,14 @@ _0217fa0c: movge r1, #1 movlt r1, #0 str r1, [sp] - ldr r0, _021800ac ; =data_027e0fc8 + ldr r0, _021800ac ; =gPlayerLink mov r1, #4 ldr r0, [r0] bl func_ov00_020bd3b0 cmp r0, #0 addeq sp, sp, #0x520 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #6 @@ -4452,12 +4452,12 @@ _0217fa0c: ldr r2, [r2, #8] str r2, [r4, #0x68] bl func_ov00_020c5d74 - ldr r0, _021800e4 ; =data_027e0f94 + ldr r0, _021800e4 ; =gPlayerPos add r3, sp, #0x60 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x60] - ldr r5, _021800bc ; =data_02050f54 + ldr r5, _021800bc ; =gSinCosTable str r0, [r4, #0x48] ldr r0, [sp, #0x64] ldr r2, _021800f0 ; =0x00001ccd @@ -4521,7 +4521,7 @@ _0217fa0c: strh r0, [r4, #0x9c] b _02180974 _0217fb7c: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #7 @@ -4533,7 +4533,7 @@ _0217fb7c: bl func_ov00_020c5d74 b _02180974 _0217fba8: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #4 @@ -4706,7 +4706,7 @@ _0217fd30: add sp, sp, #0x520 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} _0217fe50: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #1 @@ -4752,7 +4752,7 @@ _0217fee0: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r4, #0x78] - ldr r2, _021800bc ; =data_02050f54 + ldr r2, _021800bc ; =gSinCosTable ldr r0, _02180108 ; =0x00001b33 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -4822,7 +4822,7 @@ _0217fff0: str r2, [r4, #0x50] bl func_ov00_020c5d74 mov r1, #0x32 - ldr r0, _021800b8 ; =data_027e0d0c + ldr r0, _021800b8 ; =gVec3p_ZERO str r1, [r4, #0x548] ldr r1, [r0] str r1, [r4, #0x60] @@ -4841,7 +4841,7 @@ _0217fff0: _02180058: ldr r1, [r4, #0x4e4] mov r2, #1 - ldr r0, _021800b8 ; =data_027e0d0c + ldr r0, _021800b8 ; =gVec3p_ZERO strb r2, [r1, #0x22f] ldr r1, [r0] str r1, [r4, #0x60] @@ -4862,11 +4862,11 @@ _02180084: _021800a0: .word data_027e0f64 _021800a4: .word gAdventureFlags _021800a8: .word data_027e0c68 -_021800ac: .word data_027e0fc8 +_021800ac: .word gPlayerLink _021800b0: .word data_027e071c _021800b4: .word 0x00000333 -_021800b8: .word data_027e0d0c -_021800bc: .word data_02050f54 +_021800b8: .word gVec3p_ZERO +_021800bc: .word gSinCosTable _021800c0: .word data_027e0c54 _021800c4: .word func_ov35_0217e9ec _021800c8: .word data_027e0ffc @@ -4876,7 +4876,7 @@ _021800d4: .word 0x00080063 _021800d8: .word data_ov00_020eec68 _021800dc: .word data_027e0fcc _021800e0: .word 0x00000171 -_021800e4: .word data_027e0f94 +_021800e4: .word gPlayerPos _021800e8: .word 0xfffff333 _021800ec: .word 0x0000019a _021800f0: .word 0x00001ccd @@ -4902,7 +4902,7 @@ _0218010c: stmia r3, {r0, r1, r2} ldrh r0, [r4, #0x78] mov lr, #0 - ldr r2, _021800bc ; =data_02050f54 + ldr r2, _021800bc ; =gSinCosTable mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 @@ -5031,7 +5031,7 @@ _0218033c: add r0, r4, #0x158 mov r1, #5 bl func_ov00_020c5d74 - ldr r1, _021800b8 ; =data_027e0d0c + ldr r1, _021800b8 ; =gVec3p_ZERO add r0, sp, #0x190 ldr r2, [r1] str r2, [r4, #0x60] @@ -5071,7 +5071,7 @@ _02180370: str r3, [r4, #0x540] b _02180974 _021803e0: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #9 @@ -5096,7 +5096,7 @@ _02180424: movge r1, #1 movlt r1, #0 str r1, [sp] - ldr r0, _021800ac ; =data_027e0fc8 + ldr r0, _021800ac ; =gPlayerLink mov r1, #4 ldr r0, [r0] bl func_ov00_020bd3b0 @@ -5113,7 +5113,7 @@ _0218046c: bl func_ov00_020c5d74 mov r1, #0x1e ldr r0, _021800c8 ; =data_027e0ffc - ldr r2, _021800e4 ; =data_027e0f94 + ldr r2, _021800e4 ; =gPlayerPos str r1, [r4, #0x554] mov r5, #0x5a mov r1, #0x224 @@ -5127,7 +5127,7 @@ _021804a0: bl func_ov00_020c5d74 b _02180974 _021804b0: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #0xc @@ -5139,7 +5139,7 @@ _021804b0: bl func_ov00_020c5d74 b _02180974 _021804dc: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #0xd @@ -5154,7 +5154,7 @@ _021804dc: b _02180974 _02180510: ldrb r1, [r4, #0x564] - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 add r1, r1, #1 strb r1, [r4, #0x564] @@ -5179,7 +5179,7 @@ _02180510: bl func_ov00_020c71fc b _02180974 _02180574: - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #8 @@ -5198,7 +5198,7 @@ _021805ac: cmp r0, #0 addeq sp, sp, #0x520 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _021800ac ; =data_027e0fc8 + ldr r0, _021800ac ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -5206,7 +5206,7 @@ _021805ac: ldr r0, _021800d8 ; =data_ov00_020eec68 mov r1, #5 bl func_ov00_020d716c - ldr r2, _021800b8 ; =data_027e0d0c + ldr r2, _021800b8 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r1, [r2] mvn r3, #0 @@ -5365,7 +5365,7 @@ _02180808: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -5536,10 +5536,10 @@ _02180a98: ldr r3, [r4, #0x50] mov r2, r0 str r3, [r4, #0x5c] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei strb r0, [r4, #0x566] mov r0, r4 bl func_ov35_0218307c @@ -5571,7 +5571,7 @@ _02180b10: ldr r0, [r4, #0x530] cmp r0, #0x1f000 bne _02180b58 - ldr r0, _02180b64 ; =data_027e0fc8 + ldr r0, _02180b64 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 @@ -5580,7 +5580,7 @@ _02180b58: ldmia sp!, {r4, pc} .align 2, 0 _02180b60: .word data_ov35_021854d8 -_02180b64: .word data_027e0fc8 +_02180b64: .word gPlayerLink arm_func_end func_ov35_02180a3c .global func_ov35_02180b68 @@ -5670,7 +5670,7 @@ _02180c48: .word gAdventureFlags func_ov35_02180c4c: ; 0x02180c4c stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _02180cd0 ; =data_027e0f94 + ldr r1, _02180cd0 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -5702,7 +5702,7 @@ func_ov35_02180c4c: ; 0x02180c4c add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02180cd0: .word data_027e0f94 +_02180cd0: .word gPlayerPos _02180cd4: .word data_027e0f64 arm_func_end func_ov35_02180c4c @@ -5764,7 +5764,7 @@ _02180d74: mov r0, #5 strb r0, [r4, #0x3b8] ldrh r2, [r4, #0x78] - ldr r3, _02180eb4 ; =data_02050f54 + ldr r3, _02180eb4 ; =gSinCosTable rsb r1, r0, #0x338 mov r2, r2, asr #0x4 mov r6, r2, lsl #0x1 @@ -5845,7 +5845,7 @@ _02180e8c: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02180eb4: .word data_02050f54 +_02180eb4: .word gSinCosTable _02180eb8: .word data_027e0ffc _02180ebc: .word data_027e0c54 _02180ec0: .word func_ov35_0217e9ec @@ -5857,7 +5857,7 @@ func_ov35_02180ec4: ; 0x02180ec4 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mvn r5, #0x80000000 - ldr r1, _02180fc4 ; =data_027e0d0c + ldr r1, _02180fc4 ; =gVec3p_ZERO ldr r2, _02180fc8 ; =0x00000666 add r0, r4, #0x60 mov r3, #0x29 @@ -5875,10 +5875,10 @@ func_ov35_02180ec4: ; 0x02180ec4 orr r0, r0, r2, lsr #21 mov r1, r1, lsr #0xc orr r1, r1, r0, lsl #20 - ldr r0, _02180fc4 ; =data_027e0d0c + ldr r0, _02180fc4 ; =gVec3p_ZERO str r1, [r4, #0x53c] ldr r1, [r0] - ldr ip, _02180fcc ; =data_02050f54 + ldr ip, _02180fcc ; =gSinCosTable str r1, [r4, #0x60] ldr r1, [r0, #4] str r1, [r4, #0x64] @@ -5919,9 +5919,9 @@ func_ov35_02180ec4: ; 0x02180ec4 bl func_ov35_0217f234 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02180fc4: .word data_027e0d0c +_02180fc4: .word gVec3p_ZERO _02180fc8: .word 0x00000666 -_02180fcc: .word data_02050f54 +_02180fcc: .word gSinCosTable arm_func_end func_ov35_02180ec4 .global func_ov35_02180fd0 @@ -5979,7 +5979,7 @@ _0218107c: mov r0, r4 mov r1, #8 bl func_ov35_0217f234 - ldr r0, _021810b8 ; =data_027e0fc8 + ldr r0, _021810b8 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] @@ -5989,7 +5989,7 @@ _0218107c: _021810ac: .word data_027e0c54 _021810b0: .word data_027e0ffc _021810b4: .word 0x0000022a -_021810b8: .word data_027e0fc8 +_021810b8: .word gPlayerLink arm_func_end func_ov35_02180fd0 .global func_ov35_021810bc @@ -6076,7 +6076,7 @@ _021811b4: bl _ZN14AdventureFlags18func_ov00_02097bccEv _021811f0: mvn r1, #0 - ldr r0, _0218126c ; =data_027e0fc8 + ldr r0, _0218126c ; =gPlayerLink str r1, [r4, #0x544] ldr r0, [r0] bl func_ov00_020bd0a8 @@ -6107,7 +6107,7 @@ _021811f0: _02181260: .word data_027e0f64 _02181264: .word data_027e071c _02181268: .word gAdventureFlags -_0218126c: .word data_027e0fc8 +_0218126c: .word gPlayerLink _02181270: .word data_ov35_02185c70 _02181274: .word data_ov35_02185ce0 arm_func_end func_ov35_021810bc @@ -6143,7 +6143,7 @@ _021812d0: beq _02181314 ldr r0, [r5, #0xc4] ldr r1, [r5, #0xcc] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r5, #0x78] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -6201,14 +6201,14 @@ _0218138c: str r2, [sp, #0x1c] ldr r2, [r5, #0xcc] str r2, [sp, #0x20] - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, _021813f0 ; =0x0000019a add r0, sp, #0x18 bl func_01fffbec add r1, r5, #0x48 add r0, sp, #0x18 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x24 ldmia sp!, {r4, r5, pc} .align 2, 0 @@ -6272,7 +6272,7 @@ _02181484: mov r2, #0x2d8 bl func_0202b154 ldrh r1, [r4, #0x78] - ldr r2, _0218156c ; =data_02050f54 + ldr r2, _0218156c ; =gSinCosTable ldr r0, _02181570 ; =0x00000171 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -6323,7 +6323,7 @@ _02181530: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02181568: .word data_027e0764 -_0218156c: .word data_02050f54 +_0218156c: .word gSinCosTable _02181570: .word 0x00000171 _02181574: .word data_027e0ffc arm_func_end func_ov35_02181410 @@ -6402,11 +6402,11 @@ func_ov35_02181610: ; 0x02181610 add r2, sp, #4 add r0, r0, #0x400 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #4 str r1, [sp, #8] - bl func_01ff9cec + bl Vec3p_Length ldrb r1, [r5, #0x566] mov r4, r0 cmp r1, #0 @@ -6432,7 +6432,7 @@ _021816cc: blt _02181700 ldr r0, [sp, #4] ldr r1, [sp, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r5, #0x78] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -6456,7 +6456,7 @@ _02181714: add r0, r0, #0x400 add r1, r5, #0x48 add r2, r5, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 @@ -6472,12 +6472,12 @@ func_ov35_0218174c: ; 0x0218174c mov r1, #1 mov r4, r0 bl func_ov35_02182fa8 - ldr r0, _021817fc ; =data_027e0fb8 + ldr r0, _021817fc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14IsTouchingFastEv cmp r0, #0 beq _02181788 - ldr r0, _02181800 ; =data_027e0fc8 + ldr r0, _02181800 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc210 ldr r0, [r4, #0x554] @@ -6490,7 +6490,7 @@ _02181788: ldr r1, [r4, #0x548] cmp r1, #1 bne _021817c4 - ldr r0, _02181804 ; =data_027e0f90 + ldr r0, _02181804 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #1 @@ -6503,24 +6503,24 @@ _021817b4: _021817c4: cmp r1, #0 ldmneia sp!, {r4, pc} - ldr r0, _02181800 ; =data_027e0fc8 + ldr r0, _02181800 ; =gPlayerLink mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020bbbd0 ldr r0, _02181808 ; =data_ov00_020eec9c - ldr r2, _0218180c ; =data_027e0f94 + ldr r2, _0218180c ; =gPlayerPos mov r1, #0x124 bl func_ov00_020d7b20 mov r0, #0x5a str r0, [r4, #0x548] ldmia sp!, {r4, pc} .align 2, 0 -_021817fc: .word data_027e0fb8 -_02181800: .word data_027e0fc8 -_02181804: .word data_027e0f90 +_021817fc: .word gPlayerControl +_02181800: .word gPlayerLink +_02181804: .word gPlayer _02181808: .word data_ov00_020eec9c -_0218180c: .word data_027e0f94 +_0218180c: .word gPlayerPos arm_func_end func_ov35_0218174c .global func_ov35_02181810 @@ -6595,7 +6595,7 @@ _021818ec: mvn r0, #0 str r0, [r4, #0x544] ldrh r2, [r4, #0x78] - ldr r3, _0218198c ; =data_02050f54 + ldr r3, _0218198c ; =gSinCosTable ldr r1, _02181990 ; =0xffffe4cd mov r2, r2, asr #0x4 mov r5, r2, lsl #0x1 @@ -6633,7 +6633,7 @@ _021818ec: .align 2, 0 _02181984: .word data_027e0c54 _02181988: .word gAdventureFlags -_0218198c: .word data_02050f54 +_0218198c: .word gSinCosTable _02181990: .word 0xffffe4cd arm_func_end func_ov35_0218187c @@ -6875,10 +6875,10 @@ _02181cd4: add r2, sp, #0 add r0, r0, #0x400 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x500 strh r0, [r1, #0x5c] _02181cfc: @@ -6917,7 +6917,7 @@ func_ov35_02181d1c: ; 0x02181d1c stmia r3, {r0, r1, r2} ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x500 ldrsh r2, [r1, #0x5c] mov r0, r0, lsl #0x10 @@ -6948,7 +6948,7 @@ _02181dd8: str lr, [r4, #0x538] add r0, r4, #0x500 ldrh r1, [r0, #0x5c] - ldr r3, _02181e84 ; =data_02050f54 + ldr r3, _02181e84 ; =gSinCosTable mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 mov r1, ip, lsl #0x1 @@ -6989,7 +6989,7 @@ _02181e60: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02181e84: .word data_02050f54 +_02181e84: .word gSinCosTable arm_func_end func_ov35_02181d1c .global func_ov35_02181e88 @@ -7357,7 +7357,7 @@ _021823ac: bne _0218243c mov r0, r5, asr #0x4 mov ip, r0, lsl #0x1 - ldr r3, _02182468 ; =data_02050f54 + ldr r3, _02182468 ; =gSinCosTable mov r0, ip, lsl #0x1 ldrsh r2, [r3, r0] ldr r1, [r4, #0x53c] @@ -7387,7 +7387,7 @@ _021823ac: add sp, sp, #4 ldmia sp!, {r3, r4, r5, r6, pc} _0218243c: - ldr r0, _02182470 ; =data_027e0d0c + ldr r0, _02182470 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] @@ -7399,9 +7399,9 @@ _0218243c: .align 2, 0 _02182460: .word 0x00000171 _02182464: .word data_027e0764 -_02182468: .word data_02050f54 +_02182468: .word gSinCosTable _0218246c: .word data_027e0ffc -_02182470: .word data_027e0d0c +_02182470: .word gVec3p_ZERO arm_func_end func_ov35_0218221c .global func_ov35_02182474 @@ -7414,8 +7414,8 @@ func_ov35_02182474: ; 0x02182474 add r0, r4, #0x78 mov r2, #0x5b0 bl func_0202b154 - ldr r0, _02182554 ; =data_027e0f94 - ldr ip, _02182558 ; =data_02050f54 + ldr r0, _02182554 ; =gPlayerPos + ldr ip, _02182558 ; =gSinCosTable ldr r2, [r0] ldr r1, _0218255c ; =0xffffe333 str r2, [r4, #0x48] @@ -7464,8 +7464,8 @@ func_ov35_02182474: ; 0x02182474 bl func_ov35_0217f234 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02182554: .word data_027e0f94 -_02182558: .word data_02050f54 +_02182554: .word gPlayerPos +_02182558: .word gSinCosTable _0218255c: .word 0xffffe333 arm_func_end func_ov35_02182474 @@ -7473,14 +7473,14 @@ _0218255c: .word 0xffffe333 arm_func_start func_ov35_02182560 func_ov35_02182560: ; 0x02182560 stmdb sp!, {r4, lr} - ldr r1, _0218260c ; =data_027e0fb8 + ldr r1, _0218260c ; =gPlayerControl mov r4, r0 ldr r0, [r1] mov r1, #1 bl _ZN13PlayerControl14CheckTouchFastEj cmp r0, #0 beq _02182598 - ldr r0, _02182610 ; =data_027e0fc8 + ldr r0, _02182610 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc210 ldr r0, [r4, #0x554] @@ -7493,7 +7493,7 @@ _02182598: ldr r1, [r4, #0x548] cmp r1, #1 bne _021825d4 - ldr r0, _02182614 ; =data_027e0f90 + ldr r0, _02182614 ; =gPlayer ldr r0, [r0] ldrsh r0, [r0, #0xa] cmp r0, #1 @@ -7506,24 +7506,24 @@ _021825c4: _021825d4: cmp r1, #0 ldmneia sp!, {r4, pc} - ldr r0, _02182610 ; =data_027e0fc8 + ldr r0, _02182610 ; =gPlayerLink mov r1, #1 ldr r0, [r0] mov r2, #0 bl func_ov00_020bbbd0 ldr r0, _02182618 ; =data_ov00_020eec9c - ldr r2, _0218261c ; =data_027e0f94 + ldr r2, _0218261c ; =gPlayerPos mov r1, #0x124 bl func_ov00_020d7b20 mov r0, #0x5a str r0, [r4, #0x548] ldmia sp!, {r4, pc} .align 2, 0 -_0218260c: .word data_027e0fb8 -_02182610: .word data_027e0fc8 -_02182614: .word data_027e0f90 +_0218260c: .word gPlayerControl +_02182610: .word gPlayerLink +_02182614: .word gPlayer _02182618: .word data_ov00_020eec9c -_0218261c: .word data_027e0f94 +_0218261c: .word gPlayerPos arm_func_end func_ov35_02182560 .global func_ov35_02182620 @@ -7622,7 +7622,7 @@ _0218271c: .word 0x0000071c func_ov35_02182720: ; 0x02182720 stmdb sp!, {r3, r4, lr} sub sp, sp, #4 - ldr r1, _02182820 ; =data_027e0f90 + ldr r1, _02182820 ; =gPlayer mov r4, r0 ldr r0, [r1] mov r1, #0 @@ -7674,7 +7674,7 @@ _021827cc: add sp, sp, #4 ldmia sp!, {r3, r4, pc} _021827ec: - ldr r0, _02182830 ; =data_027e0fc8 + ldr r0, _02182830 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -7689,11 +7689,11 @@ _02182814: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02182820: .word data_027e0f90 +_02182820: .word gPlayer _02182824: .word data_027e0ffc _02182828: .word 0x00000229 _0218282c: .word 0x0000019a -_02182830: .word data_027e0fc8 +_02182830: .word gPlayerLink arm_func_end func_ov35_02182720 .global func_ov35_02182834 @@ -7727,7 +7727,7 @@ func_ov35_02182834: ; 0x02182834 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02182940 ; =data_027e0e58 add r2, sp, #0xc ldr r0, [r0] @@ -7824,7 +7824,7 @@ func_ov35_021829c0: ; 0x021829c0 mov r0, r0, lsl #0x10 cmp r1, r0, lsr #16 ble _02182a94 - ldr r1, _02182aa0 ; =data_027e0f94 + ldr r1, _02182aa0 ; =gPlayerPos add r0, r4, #0x48 bl func_ov00_020ce2f0 ldr r1, _02182aa4 ; =0x00001e66 @@ -7834,7 +7834,7 @@ func_ov35_021829c0: ; 0x021829c0 cmp r0, #0 movne r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _02182aa8 ; =data_027e0fc8 + ldr r0, _02182aa8 ; =gPlayerLink mov r1, #1 ldr r0, [r0] bl func_ov00_020bbc68 @@ -7875,9 +7875,9 @@ _02182a94: ldmia sp!, {r4, pc} .align 2, 0 _02182a9c: .word 0x00002aab -_02182aa0: .word data_027e0f94 +_02182aa0: .word gPlayerPos _02182aa4: .word 0x00001e66 -_02182aa8: .word data_027e0fc8 +_02182aa8: .word gPlayerLink arm_func_end func_ov35_021829c0 .global func_ov35_02182aac @@ -7895,7 +7895,7 @@ func_ov35_02182aac: ; 0x02182aac mov r0, r0, lsl #0x10 cmp r1, r0, lsr #16 ble _02182b08 - ldr r1, _02182b14 ; =data_027e0f94 + ldr r1, _02182b14 ; =gPlayerPos add r0, r4, #0x48 bl func_ov00_020ce2f0 ldr r1, _02182b18 ; =0x00001ccd @@ -7911,7 +7911,7 @@ _02182b08: ldmia sp!, {r4, pc} .align 2, 0 _02182b10: .word 0x00002aab -_02182b14: .word data_027e0f94 +_02182b14: .word gPlayerPos _02182b18: .word 0x00001ccd arm_func_end func_ov35_02182aac @@ -7932,7 +7932,7 @@ func_ov35_02182b1c: ; 0x02182b1c addhs sp, sp, #0x118 ldmhsia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} ldr r0, _02182f88 ; =data_027e0f64 - ldr r3, _02182f8c ; =data_027e0f94 + ldr r3, _02182f8c ; =gPlayerPos ldr r0, [r0] add r6, sp, #0xac ldr r0, [r0, #4] @@ -8133,7 +8133,7 @@ _02182e40: cmp r5, #0 addne sp, sp, #0x118 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r0, _02182f8c ; =data_027e0f94 + ldr r0, _02182f8c ; =gPlayerPos mov r8, #0 ldr ip, _02182f98 ; =0x0000ffff ldr r7, _02182f9c ; =0x0000099a @@ -8187,7 +8187,7 @@ _02182e40: addne sp, sp, #0x118 ldmneia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} add r0, sp, #0x58 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x58 str r1, [sp, #0x74] @@ -8214,7 +8214,7 @@ _02182e40: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 _02182f88: .word data_027e0f64 -_02182f8c: .word data_027e0f94 +_02182f8c: .word gPlayerPos _02182f90: .word data_027e0764 _02182f94: .word gMapManager _02182f98: .word 0x0000ffff @@ -8306,7 +8306,7 @@ func_ov35_0218307c: ; 0x0218307c ldr r1, _021830c0 ; =data_ov35_02185374 mov r0, r5 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ orrs r0, r4, r0 movne r0, #1 moveq r0, #0 @@ -8490,8 +8490,8 @@ _021832ec: add r0, sp, #0xc add r1, r4, #0x48 mov r2, r0 - bl func_01ff9bc4 - ldr r0, _021833e8 ; =data_027e0fc8 + bl Vec3p_Add + ldr r0, _021833e8 ; =gPlayerLink add r1, sp, #0xc ldr r0, [r0] bl func_ov00_020bd4d8 @@ -8522,8 +8522,8 @@ _0218332c: add r0, sp, #0 add r1, r4, #0x48 mov r2, r0 - bl func_01ff9bc4 - ldr r0, _021833e8 ; =data_027e0fc8 + bl Vec3p_Add + ldr r0, _021833e8 ; =gPlayerLink add r1, sp, #0 ldr r0, [r0] bl func_ov00_020bd4d8 @@ -8547,7 +8547,7 @@ _021833d8: .word data_ov35_0218536c _021833dc: .word data_ov35_02185388 _021833e0: .word data_027e0ffc _021833e4: .word 0x00000225 -_021833e8: .word data_027e0fc8 +_021833e8: .word gPlayerLink _021833ec: .word data_ov35_02185478 _021833f0: .word 0x00000226 arm_func_end func_ov35_02183200 @@ -8605,7 +8605,7 @@ _02183488: mov r0, r3 mov r2, r3 add r1, r1, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x1c] ldr r0, [sp, #0x24] mov r1, r1, asr #0x1 @@ -8626,10 +8626,10 @@ _02183488: add r0, sp, #0x1c add r1, sp, #0 add r2, sp, #0x10 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r5, #0x78] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -8677,7 +8677,7 @@ _021835b0: ldr r1, [r5, #0x50] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 ldr r0, [r4, #0x14] mov r1, r1, asr #0x10 @@ -8743,8 +8743,8 @@ _02183680: ldr r0, [r6, #0x14] cmp r0, #0 bne _021836c4 - ldr r1, _02183758 ; =data_027e0f94 - ldr r0, _0218375c ; =data_027e0fac + ldr r1, _02183758 ; =gPlayerPos + ldr r0, _0218375c ; =gPlayerAngle ldr r3, [r1] ldr r2, [r1, #4] str r3, [sp, #0x18] @@ -8762,10 +8762,10 @@ _021836d4: add r0, sp, #0x18 add r1, sp, #0x28 add r2, sp, #0xc - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r7, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02183760 ; =0x00005554 @@ -8796,8 +8796,8 @@ _0218374c: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02183758: .word data_027e0f94 -_0218375c: .word data_027e0fac +_02183758: .word gPlayerPos +_0218375c: .word gPlayerAngle _02183760: .word 0x00005554 arm_func_end func_ov35_0218361c @@ -8810,7 +8810,7 @@ func_ov35_02183764: ; 0x02183764 mov r4, r0 addeq sp, sp, #0x10 ldmeqia sp!, {r4, pc} - ldr r3, _02183838 ; =data_027e0d0c + ldr r3, _02183838 ; =gVec3p_ZERO add r2, r4, #0x100 ldr ip, [r3] mov r1, #0 @@ -8858,7 +8858,7 @@ func_ov35_02183764: ; 0x02183764 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_02183838: .word data_027e0d0c +_02183838: .word gVec3p_ZERO _0218383c: .word 0x00001333 _02183840: .word data_ov35_02185cb0 _02183844: .word data_ov35_02185c70 @@ -9228,7 +9228,7 @@ _02183d74: _02183d8c: ldrh r0, [r7, #0x78] ldr r3, [sp, #0x28] - ldr r2, _02183e8c ; =data_02050f54 + ldr r2, _02183e8c ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -9291,7 +9291,7 @@ _02183e7c: .word 0xffffe4cd _02183e80: .word 0x0000019a _02183e84: .word 0x00000ccd _02183e88: .word 0x00000555 -_02183e8c: .word data_02050f54 +_02183e8c: .word gSinCosTable _02183e90: .word gMapManager _02183e94: .word data_ov00_020e9370 arm_func_end func_ov35_02183848 @@ -9391,7 +9391,7 @@ _02183f70: bl func_01ff8988 add r0, r4, #0x400 ldrh r1, [r0, #0x1c] - ldr r3, _02184050 ; =data_02050f54 + ldr r3, _02184050 ; =gSinCosTable add r0, sp, #4 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -9423,7 +9423,7 @@ _02183f70: .align 2, 0 _02184048: .word data_ov00_020e9360 _0218404c: .word 0x00001666 -_02184050: .word data_02050f54 +_02184050: .word gSinCosTable arm_func_end func_ov35_02183f0c .global func_ov35_02184054 @@ -9457,7 +9457,7 @@ func_ov35_02184054: ; 0x02184054 add r1, sp, #0x54 add r0, sp, #0x60 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x54] str r0, [r4, #0x48] ldr r0, [sp, #0x58] @@ -9514,7 +9514,7 @@ _02184174: cmp r0, #1 bhi _021841e0 ldr r0, [r4, #0x48] - ldr r2, _02184230 ; =data_02050f54 + ldr r2, _02184230 ; =gSinCosTable str r0, [sp] ldr r0, [r4, #0x4c] ldr r1, _02184234 ; =0x0000011f @@ -9559,7 +9559,7 @@ _021841fc: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02184230: .word data_02050f54 +_02184230: .word gSinCosTable _02184234: .word 0x0000011f arm_func_end func_ov35_02184140 @@ -9590,7 +9590,7 @@ func_ov35_02184238: ; 0x02184238 mov r0, r1, asr #0x4 mov r2, r0, lsl #0x1 bne _02184314 - ldr r1, _02184430 ; =data_02050f54 + ldr r1, _02184430 ; =gSinCosTable add r0, r2, #1 mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 @@ -9622,7 +9622,7 @@ func_ov35_02184238: ; 0x02184238 str r0, [sp, #0x18] b _02184398 _02184314: - ldr r1, _02184430 ; =data_02050f54 + ldr r1, _02184430 ; =gSinCosTable add r0, r2, #1 mov r2, r2, lsl #0x1 ldrsh r5, [r1, r2] @@ -9696,7 +9696,7 @@ _02184420: add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02184430: .word data_02050f54 +_02184430: .word gSinCosTable _02184434: .word data_027e0e58 _02184438: .word data_027e0ffc _0218443c: .word 0x0000022b @@ -9714,7 +9714,7 @@ func_ov35_02184440: ; 0x02184440 ldmneia sp!, {r3, r4, r5, r6, pc} ldrsh r0, [r0, #0x78] ldr r2, _02184510 ; =0x000004cd - ldr r3, _02184514 ; =data_02050f54 + ldr r3, _02184514 ; =gSinCosTable add r0, r0, #0x358 add r0, r0, #0x1800 mov r0, r0, lsl #0x10 @@ -9740,7 +9740,7 @@ func_ov35_02184440: ; 0x02184440 mla ip, r0, r2, ip mov r5, r6, lsr #0xc orr r5, r5, r4, lsl #20 - ldr r1, _02184518 ; =data_027e0fc8 + ldr r1, _02184518 ; =gPlayerLink adc r0, ip, #0 mov r3, lr, lsr #0xc orr r3, r3, r0, lsl #20 @@ -9750,7 +9750,7 @@ func_ov35_02184440: ; 0x02184440 str r2, [sp, #4] str r3, [sp, #8] bl func_ov00_020bc280 - ldr r0, _02184518 ; =data_027e0fc8 + ldr r0, _02184518 ; =gPlayerLink add r1, sp, #0 ldr r0, [r0] mov r2, #1 @@ -9759,8 +9759,8 @@ func_ov35_02184440: ; 0x02184440 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02184510: .word 0x000004cd -_02184514: .word data_02050f54 -_02184518: .word data_027e0fc8 +_02184514: .word gSinCosTable +_02184518: .word gPlayerLink arm_func_end func_ov35_02184440 .global func_ov35_0218451c @@ -9823,7 +9823,7 @@ func_ov35_0218451c: ; 0x0218451c str r1, [sp, #0x18] add r1, sp, #0x14 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -9865,7 +9865,7 @@ func_ov35_0218463c: ; 0x0218463c ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r7, r4, #0x37c ldr r4, _021846d0 ; =data_027e0e58 mov r6, #0 @@ -9899,11 +9899,11 @@ func_ov35_021846d4: ; 0x021846d4 str r2, [sp] str r1, [sp, #4] str r3, [sp, #8] - bl func_01ff9cec + bl Vec3p_Length mov r4, r0 add r0, sp, #0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr lr, [sp] mov r0, #0x6000 ldr r2, [sp, #8] @@ -9927,7 +9927,7 @@ func_ov35_021846d4: ; 0x021846d4 add r0, sp, #0 str r6, [sp] str r1, [sp, #8] - bl func_01ff9cec + bl Vec3p_Length cmp r4, r0 movlt r0, #0 movge r0, #1 @@ -10146,7 +10146,7 @@ func_ov35_021849b4: ; 0x021849b4 arm_func_start func_ov35_021849dc func_ov35_021849dc: ; 0x021849dc stmdb sp!, {r4, lr} - ldr r1, _02184a94 ; =data_027e0fe4 + ldr r1, _02184a94 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x34 @@ -10155,7 +10155,7 @@ func_ov35_021849dc: ; 0x021849dc cmp r0, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r1, _02184a98 ; =data_027e0d0c + ldr r1, _02184a98 ; =gVec3p_ZERO ldr ip, _02184a9c ; =0x00000666 ldr r0, [r1] mvn r3, #0 @@ -10192,8 +10192,8 @@ func_ov35_021849dc: ; 0x021849dc mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02184a94: .word data_027e0fe4 -_02184a98: .word data_027e0d0c +_02184a94: .word gActorManager +_02184a98: .word gVec3p_ZERO _02184a9c: .word 0x00000666 _02184aa0: .word data_027e0fec arm_func_end func_ov35_021849dc @@ -10215,7 +10215,7 @@ func_ov35_02184aa4: ; 0x02184aa4 ldr r3, [r4, #0x50] add r2, r4, #0x60 str r3, [r4, #0x5c] - bl func_01ff9bf8 + bl Vec3p_Sub ldrb r0, [r4, #0x214] mov r1, #0x1a cmp r0, #0 @@ -10226,7 +10226,7 @@ func_ov35_02184aa4: ; 0x02184aa4 ldr r1, _02184b10 ; =data_ov35_02185640 mov r0, r4 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ ldmia sp!, {r4, pc} .align 2, 0 _02184b10: .word data_ov35_02185640 @@ -10293,7 +10293,7 @@ _02184bc4: add r2, sp, #0x38 add r0, r1, #0x48 add r1, r1, #0x54 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [sp, #0x38] ldr r1, [sp, #0x3c] ldr r0, [sp, #0x40] @@ -10323,10 +10323,10 @@ _02184bc4: add r2, sp, #0 str ip, [sp, #0x10] str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsb r1, r4, r0, asr #16 mov r1, r1, lsl #0x10 @@ -10341,9 +10341,9 @@ _02184c7c: mov r4, r0 add r0, sp, #0xc add r1, sp, #0x18 - bl func_01ff9ec0 + bl Vec3p_Distance mov r2, r7, asr #0x4 - ldr r1, _02184d5c ; =data_02050f54 + ldr r1, _02184d5c ; =gSinCosTable mov r2, r2, lsl #0x2 ldrsh r2, [r1, r2] ldr r1, [sp, #0x24] @@ -10365,10 +10365,10 @@ _02184ce0: add r0, sp, #0x18 add r2, sp, #0 add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 ldr r0, [r5, #0x14] mov r1, r1, asr #0x10 @@ -10397,7 +10397,7 @@ _02184d3c: _02184d50: .word data_027e0ffc _02184d54: .word 0x0000019d _02184d58: .word 0x41525257 -_02184d5c: .word data_02050f54 +_02184d5c: .word gSinCosTable arm_func_end func_ov35_02184b28 .global func_ov35_02184d60 @@ -10478,7 +10478,7 @@ func_ov35_02184d90: ; 0x02184d90 sub r0, r1, r0 ldr r1, [sp, #0x18] sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 strh r0, [sp, #0xe] add r1, sp, #8 str r1, [sp] @@ -10613,7 +10613,7 @@ func_ov35_02184f74: ; 0x02184f74 str r5, [r6, #0x50] mov r5, r1, lsl #0x1 add r1, r1, #1 - ldr r3, _02185098 ; =data_02050f54 + ldr r3, _02185098 ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r1, [r3, r5] ldrsh r2, [r3, r2] @@ -10638,7 +10638,7 @@ func_ov35_02184f74: ; 0x02184f74 .align 2, 0 _02185090: .word data_ov35_02185604 _02185094: .word data_ov35_021855f8 -_02185098: .word data_02050f54 +_02185098: .word gSinCosTable arm_func_end func_ov35_02184f74 .global func_ov35_0218509c @@ -11922,7 +11922,7 @@ func_ov35_02185730: ; 0x02185730 ldr r1, _02185878 ; =func_ov35_0217cd98 ldr r2, _021858ac ; =data_ov35_02186fd4 bl __register_global_object - ldr r1, _021858b0 ; =data_027e0d0c + ldr r1, _021858b0 ; =gVec3p_ZERO ldr r0, _02185870 ; =data_ov35_02185c70 ldr r3, [r1] ldr r2, [r1, #4] @@ -11960,7 +11960,7 @@ _021858a0: .word 0x00000d07 _021858a4: .word 0xfffff184 _021858a8: .word data_ov35_02185cc0 _021858ac: .word data_ov35_02186fd4 -_021858b0: .word data_027e0d0c +_021858b0: .word gVec3p_ZERO _021858b4: .word 0x000004cd _021858b8: .word data_ov35_02185cd0 _021858bc: .word data_ov35_02186fe0 @@ -12074,7 +12074,7 @@ data_ov35_021859a4: ; 0x021859a4 .word func_ov35_0217c704 .global data_ov35_021859a8 data_ov35_021859a8: ; 0x021859a8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov35_021859ac data_ov35_021859ac: ; 0x021859ac .word func_ov35_0217cea4 @@ -12104,7 +12104,7 @@ data_ov35_021859cc: ; 0x021859cc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov35_021859d0 data_ov35_021859d0: ; 0x021859d0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov35_021859d4 data_ov35_021859d4: ; 0x021859d4 .word func_ov35_0217c718 @@ -12239,7 +12239,7 @@ data_ov35_02185a88: ; 0x02185a88 .word func_ov35_0217dc7c .global data_ov35_02185a8c data_ov35_02185a8c: ; 0x02185a8c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov35_02185a90 data_ov35_02185a90: ; 0x02185a90 .word func_ov35_0217e320 ; data_ov61_0217e320 @@ -12269,7 +12269,7 @@ data_ov35_02185ab0: ; 0x02185ab0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov35_02185ab4 data_ov35_02185ab4: ; 0x02185ab4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov35_02185ab8 data_ov35_02185ab8: ; 0x02185ab8 .word func_ov35_0217e3dc ; data_ov61_0217e3dc @@ -12727,7 +12727,7 @@ data_ov35_02185d08: ; 0x02185d08 .word func_ov35_02180b68 ; data_ov61_02180b68 .global data_ov35_02185d0c data_ov35_02185d0c: ; 0x02185d0c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov35_02185d10 data_ov35_02185d10: ; 0x02185d10 .word func_ov35_02183848 @@ -12757,7 +12757,7 @@ data_ov35_02185d30: ; 0x02185d30 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov35_02185d34 data_ov35_02185d34: ; 0x02185d34 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov35_02185d38 data_ov35_02185d38: ; 0x02185d38 .word func_ov35_0218361c @@ -12871,7 +12871,7 @@ data_ov35_02185dc8: ; 0x02185dc8 .word func_ov35_02184b14 .global data_ov35_02185dcc data_ov35_02185dcc: ; 0x02185dcc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov35_02185dd0 data_ov35_02185dd0: ; 0x02185dd0 .word func_ov35_02184f30 @@ -12901,7 +12901,7 @@ data_ov35_02185df0: ; 0x02185df0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov35_02185df4 data_ov35_02185df4: ; 0x02185df4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov35_02185df8 data_ov35_02185df8: ; 0x02185df8 .word func_ov35_02184b28 diff --git a/asm/ov36.inc b/asm/ov36.inc index 06ae4519..bce9a9c9 100644 --- a/asm/ov36.inc +++ b/asm/ov36.inc @@ -3,14 +3,14 @@ .extern Divide .extern _ZN10PlayerBase10SetVisibleEb .extern _ZN11ItemManager12GetEquipItemEi -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -25,7 +25,7 @@ .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c1fc8Ej .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor20IncreaseActiveFramesEv .extern _ZN5Actor20KillPickupItemActorsEv @@ -34,7 +34,7 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev @@ -66,27 +66,27 @@ .extern _ZN5ActorD2Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj -.extern data_02050f54 +.extern gSinCosTable .extern data_02063e4c .extern data_027e071c .extern data_027e0764 .extern data_027e077c .extern data_027e0c38 .extern data_027e0c68 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d3c .extern data_027e0e58 .extern gMapManager .extern data_027e0f64 .extern data_027e0f6c -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerVel +.extern gPlayerLink .extern data_027e0fcc .extern data_027e0fd4 .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -105,16 +105,16 @@ .extern func_01ff892c .extern func_01ff8e84 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Atan2 .extern func_01ffbe34 .extern func_01ffe1cc .extern func_01fffbec -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_020078f4 .extern func_02007908 .extern func_020079d8 @@ -215,7 +215,7 @@ .extern func_ov00_020b7e6c .extern func_ov00_020bb5f0 .extern func_ov00_020bb6d4 -.extern func_ov00_020bc46c +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern func_ov00_020bcc78 .extern func_ov00_020bd0a8 .extern func_ov00_020bf008 @@ -224,7 +224,7 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0d4c .extern func_ov00_020c0e04 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c54a0 diff --git a/asm/ov36.s b/asm/ov36.s index 8302771f..413398f5 100644 --- a/asm/ov36.s +++ b/asm/ov36.s @@ -27,7 +27,7 @@ _0217bdb0: .word 0x00001b10 func_ov36_0217bdb4: ; 0x0217bdb4 stmdb sp!, {r4, lr} ldrh r2, [r1] - ldr r3, _0217be2c ; =data_02050f54 + ldr r3, _0217be2c ; =gSinCosTable mov r1, #0x800 mov r2, r2, asr #0x4 mov r4, r2, lsl #0x1 @@ -56,7 +56,7 @@ func_ov36_0217bdb4: ; 0x0217bdb4 strh r2, [r0, #0x54] ldmia sp!, {r4, pc} .align 2, 0 -_0217be2c: .word data_02050f54 +_0217be2c: .word gSinCosTable arm_func_end func_ov36_0217bdb4 .global func_ov36_0217be30 @@ -243,9 +243,9 @@ func_ov36_0217c070: ; 0x0217c070 add r1, sp, #0x24 add r2, sp, #0x30 mov r0, r5 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x1c] - ldr r3, _0217c11c ; =data_02050f54 + ldr r3, _0217c11c ; =gSinCosTable ldrh r1, [r0, #0x78] add r0, sp, #0 mov r1, r1, asr #0x4 @@ -270,7 +270,7 @@ func_ov36_0217c070: ; 0x0217c070 .align 2, 0 _0217c114: .word 0xfffffc39 _0217c118: .word 0x00000ccd -_0217c11c: .word data_02050f54 +_0217c11c: .word gSinCosTable arm_func_end func_ov36_0217c070 .global func_ov36_0217c120 @@ -493,7 +493,7 @@ _0217c370: cmp r0, #2 bne _0217c3e4 ldr r5, [r7, #0xb4] - ldr r3, _0217c518 ; =data_02050f54 + ldr r3, _0217c518 ; =gSinCosTable ldr r1, [r5] add r0, sp, #0x60 bic r1, r1, #2 @@ -598,7 +598,7 @@ _0217c508: .word data_ov36_02186b44 _0217c50c: .word data_ov36_02186b58 _0217c510: .word data_ov36_02186b6c _0217c514: .word data_ov36_02186b80 -_0217c518: .word data_02050f54 +_0217c518: .word gSinCosTable arm_func_end func_ov36_0217c274 .global func_ov36_0217c51c @@ -1627,7 +1627,7 @@ func_ov36_0217d2a0: ; 0x0217d2a0 movne r0, #0 ldmneia sp!, {r3, r4, r5, r6, r7, pc} add r0, sp, #0x44 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x44 str r1, [sp, #0x60] @@ -1652,7 +1652,7 @@ func_ov36_0217d2a0: ; 0x0217d2a0 mvn r0, #0 cmp r1, r0 beq _0217d368 - ldr r0, _0217d68c ; =data_027e0fe4 + ldr r0, _0217d68c ; =gActorManager add r1, sp, #0xc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1663,7 +1663,7 @@ _0217d368: addeq sp, sp, #0x70 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r0, _0217d690 ; =data_027e0d0c + ldr r0, _0217d690 ; =gVec3p_ZERO mvn r3, #0 ldmia r0, {r4, lr} ldr ip, [r0, #8] @@ -1861,8 +1861,8 @@ _0217d56c: _0217d680: .word gAdventureFlags _0217d684: .word data_027e0fe8 _0217d688: .word 0x4c4f4e44 -_0217d68c: .word data_027e0fe4 -_0217d690: .word data_027e0d0c +_0217d68c: .word gActorManager +_0217d690: .word gVec3p_ZERO _0217d694: .word 0x00000b33 _0217d698: .word 0x0000199a _0217d69c: .word func_ov36_0217c24c @@ -2003,7 +2003,7 @@ _0217d844: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r5, #0x78] - ldr r2, _0217d9fc ; =data_02050f54 + ldr r2, _0217d9fc ; =gSinCosTable ldr r1, [sp, #0x10] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -2046,7 +2046,7 @@ _0217d844: ldr r0, [r0] bl func_ov00_02093a5c ldr r0, [r5, #0x48] - ldr r6, _0217d9fc ; =data_02050f54 + ldr r6, _0217d9fc ; =gSinCosTable str r0, [sp, #0xc] ldr r1, [r5, #0x4c] ldr r2, _0217da04 ; =0x0000199a @@ -2104,7 +2104,7 @@ _0217d9d8: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0217d9f8: .word data_027e077c -_0217d9fc: .word data_02050f54 +_0217d9fc: .word gSinCosTable _0217da00: .word data_027e0f6c _0217da04: .word 0x0000199a arm_func_end func_ov36_0217d810 @@ -2158,9 +2158,9 @@ func_ov36_0217da6c: ; 0x0217da6c blt _0217dafc cmp r0, #0x15 bgt _0217dafc - ldr r0, _0217dd64 ; =data_027e0fc8 + ldr r0, _0217dd64 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 beq _0217dac0 ldr r0, [r4, #0x878] @@ -2205,12 +2205,12 @@ _0217db28: ldr r3, [r4, #0x50] mov r2, r0 str r3, [r4, #0x5c] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov36_0218543c mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei mov r0, r4 bl func_ov36_021858f0 add r0, r4, #0x158 @@ -2259,7 +2259,7 @@ _0217dbac: stmia r3, {r0, r1, r2} add r0, r5, #1 mov r2, r5, lsl #0x1 - ldr r1, _0217dd70 ; =data_02050f54 + ldr r1, _0217dd70 ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r7, [r1, r0] mov r0, #4 @@ -2333,17 +2333,17 @@ _0217dbac: cmp r0, #0x16 addge sp, sp, #0x60 ldmgeia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} - ldr r0, _0217dd64 ; =data_027e0fc8 + ldr r0, _0217dd64 ; =gPlayerLink add r1, r4, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0217dd64: .word data_027e0fc8 +_0217dd64: .word gPlayerLink _0217dd68: .word data_027e0f64 _0217dd6c: .word data_ov36_02186768 -_0217dd70: .word data_02050f54 +_0217dd70: .word gSinCosTable _0217dd74: .word 0x0000099a _0217dd78: .word data_027e0ff8 arm_func_end func_ov36_0217da6c @@ -2482,7 +2482,7 @@ _0217df28: ldr r0, [r5, #0x138] cmp r0, #0xc bne _0217df50 - ldr r0, _0217e3a4 ; =data_027e0fc8 + ldr r0, _0217e3a4 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] @@ -2532,7 +2532,7 @@ _0217df94: mov r1, #0x1000 str r1, [r0, #0x10] mov r1, #0 - ldr r0, _0217e3a4 ; =data_027e0fc8 + ldr r0, _0217e3a4 ; =gPlayerLink str r1, [r5, #0x138] ldr r0, [r0] bl func_ov00_020bd0a8 @@ -2601,7 +2601,7 @@ _0217e0c0: str r4, [sp, #0x38] str r3, [sp, #0x3c] str r3, [sp, #0x40] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x38 mov r2, r6 add r0, r5, #0x820 @@ -2713,13 +2713,13 @@ _0217e260: bl _ZN14AdventureFlags18func_ov00_02097bccEv _0217e2a4: mvn r1, #0 - ldr r0, _0217e3a4 ; =data_027e0fc8 + ldr r0, _0217e3a4 ; =gPlayerLink str r1, [r5, #0x66c] ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _0217e2dc - ldr r0, _0217e3a4 ; =data_027e0fc8 + ldr r0, _0217e3a4 ; =gPlayerLink mov r1, #1 ldr r0, [r0] mov r2, r1 @@ -2727,7 +2727,7 @@ _0217e2a4: ldr r3, [r3, #0x7c] blx r3 _0217e2dc: - ldr r1, _0217e3d4 ; =data_027e0fe4 + ldr r1, _0217e3d4 ; =gActorManager ldr r2, _0217e3d8 ; =0x504c444d ldr r1, [r1] add r0, sp, #0x18 @@ -2736,7 +2736,7 @@ _0217e2dc: mvn r0, #0 cmp r1, r0 beq _0217e314 - ldr r0, _0217e3d4 ; =data_027e0fe4 + ldr r0, _0217e3d4 ; =gActorManager add r1, sp, #0x18 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2754,14 +2754,14 @@ _0217e314: ldrh r1, [r5, #0x24] add r0, sp, #8 bl func_ov36_0217c14c - ldr r0, _0217e3d4 ; =data_027e0fe4 + ldr r0, _0217e3d4 ; =gActorManager add r1, sp, #8 ldr r0, [r0] add r2, sp, #0x2c - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 beq _0217e37c - ldr r0, _0217e3d4 ; =data_027e0fe4 + ldr r0, _0217e3d4 ; =gActorManager ldr r1, [sp, #0x2c] ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2780,7 +2780,7 @@ _0217e37c: add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0217e3a4: .word data_027e0fc8 +_0217e3a4: .word gPlayerLink _0217e3a8: .word 0xffffe99a _0217e3ac: .word data_027e103c _0217e3b0: .word 0x000c014f @@ -2792,7 +2792,7 @@ _0217e3c4: .word 0x00000112 _0217e3c8: .word data_027e0ffc _0217e3cc: .word 0x000002c2 _0217e3d0: .word gAdventureFlags -_0217e3d4: .word data_027e0fe4 +_0217e3d4: .word gActorManager _0217e3d8: .word 0x504c444d _0217e3dc: .word 0x0000199a arm_func_end func_ov36_0217decc @@ -2835,7 +2835,7 @@ func_ov36_0217e3e0: ; 0x0217e3e0 mov r2, #0x2000 bl func_ov36_02183070 ldrh r0, [r4, #0x78] - ldr r1, _0217e4ec ; =data_02050f54 + ldr r1, _0217e4ec ; =gSinCosTable mov r2, #0 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 @@ -2868,7 +2868,7 @@ func_ov36_0217e3e0: ; 0x0217e3e0 .align 2, 0 _0217e4e4: .word data_ov36_02186c88 _0217e4e8: .word data_027e0764 -_0217e4ec: .word data_02050f54 +_0217e4ec: .word gSinCosTable _0217e4f0: .word 0x00000112 arm_func_end func_ov36_0217e3e0 @@ -2932,7 +2932,7 @@ _0217e5ac: add r0, r4, #0x78 bl func_0202b154 ldrh r1, [r4, #0x78] - ldr r2, _0217e6b0 ; =data_02050f54 + ldr r2, _0217e6b0 ; =gSinCosTable ldr r0, _0217e6b4 ; =0x00000112 mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -2995,7 +2995,7 @@ _0217e694: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0217e6ac: .word data_027e0764 -_0217e6b0: .word data_02050f54 +_0217e6b0: .word gSinCosTable _0217e6b4: .word 0x00000112 arm_func_end func_ov36_0217e4f4 @@ -3027,7 +3027,7 @@ _0217e6e0: ldr r1, _0217e744 ; =data_ov36_02186c8c add r0, r4, #0x158 bl func_ov36_0217c7e8 - ldr r1, _0217e748 ; =data_027e0d0c + ldr r1, _0217e748 ; =gVec3p_ZERO mov r0, #1 ldr r2, [r1] str r2, [r4, #0x60] @@ -3040,7 +3040,7 @@ _0217e6e0: _0217e73c: .word data_027e0ffc _0217e740: .word 0x000002c2 _0217e744: .word data_ov36_02186c8c -_0217e748: .word data_027e0d0c +_0217e748: .word gVec3p_ZERO arm_func_end func_ov36_0217e6b8 .global func_ov36_0217e74c @@ -3085,7 +3085,7 @@ func_ov36_0217e7a4: ; 0x0217e7a4 ldr r1, _0217e80c ; =data_ov36_02186c90 add r0, r4, #0x158 bl func_ov36_0217c7e8 - ldr r1, _0217e810 ; =data_027e0d0c + ldr r1, _0217e810 ; =gVec3p_ZERO ldr r2, _0217e814 ; =0x00000b33 ldr r3, [r1] mov r0, #1 @@ -3102,7 +3102,7 @@ func_ov36_0217e7a4: ; 0x0217e7a4 ldmia sp!, {r4, pc} .align 2, 0 _0217e80c: .word data_ov36_02186c90 -_0217e810: .word data_027e0d0c +_0217e810: .word gVec3p_ZERO _0217e814: .word 0x00000b33 arm_func_end func_ov36_0217e7a4 @@ -3166,15 +3166,15 @@ _0217e868: cmp r0, #0 beq _0217e934 ldr r1, [r6, #0x878] - ldr r0, _0217eb3c ; =data_027e0fc8 + ldr r0, _0217eb3c ; =gPlayerLink orr r1, r1, #0x100 str r1, [r6, #0x878] str r4, [r6, #0x138] ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _0217e934 - ldr r0, _0217eb3c ; =data_027e0fc8 + ldr r0, _0217eb3c ; =gPlayerLink mov r1, #1 ldr r0, [r0] bl func_ov00_020bb5f0 @@ -3190,7 +3190,7 @@ _0217e934: mvn r0, #0 cmp r1, r0 beq _0217e970 - ldr r0, _0217eb40 ; =data_027e0fe4 + ldr r0, _0217eb40 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3215,7 +3215,7 @@ _0217e978: ldr r4, _0217eb34 ; =0x00000337 bl _ZN10MapManager18func_ov00_02083770Eji ldrh r2, [r6, #0x78] - ldr r5, _0217eb50 ; =data_02050f54 + ldr r5, _0217eb50 ; =gSinCosTable mov r1, #0x3800 mov r2, r2, asr #0x4 mov ip, r2, lsl #0x1 @@ -3244,7 +3244,7 @@ _0217e978: bl func_ov00_0207c474 ldrsh r0, [r6, #0x78] ldr r1, [r6, #0x6a0] - ldr r3, _0217eb50 ; =data_02050f54 + ldr r3, _0217eb50 ; =gSinCosTable add r0, r0, #0x8000 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -3273,7 +3273,7 @@ _0217ea64: beq _0217eacc ldr r0, [r6, #0xc4] ldr r1, [r6, #0xcc] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r6, #0x78] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -3291,7 +3291,7 @@ _0217ea64: _0217eacc: strb r5, [r6, #0x8ab] ldrh r1, [r6, #0x78] - ldr r3, _0217eb50 ; =data_02050f54 + ldr r3, _0217eb50 ; =gSinCosTable mov r0, r6 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -3318,12 +3318,12 @@ _0217eacc: .align 2, 0 _0217eb34: .word 0x00000337 _0217eb38: .word 0x00000112 -_0217eb3c: .word data_027e0fc8 -_0217eb40: .word data_027e0fe4 +_0217eb3c: .word gPlayerLink +_0217eb40: .word gActorManager _0217eb44: .word 0x504c444d _0217eb48: .word 0x0000219a _0217eb4c: .word gMapManager -_0217eb50: .word data_02050f54 +_0217eb50: .word gSinCosTable _0217eb54: .word data_027e0e58 arm_func_end func_ov36_0217e818 @@ -3334,7 +3334,7 @@ func_ov36_0217eb58: ; 0x0217eb58 sub sp, sp, #0x18 mov r4, r0 ldrsh r0, [r4, #0x78] - ldr ip, _0217ecb8 ; =data_02050f54 + ldr ip, _0217ecb8 ; =gSinCosTable ldr r3, _0217ecbc ; =0x000024cd strh r0, [sp, #8] ldrh r1, [sp, #8] @@ -3391,7 +3391,7 @@ func_ov36_0217eb58: ; 0x0217eb58 ldr r1, _0217ecd0 ; =data_ov36_02186c94 add r0, r4, #0x158 bl func_ov36_0217c7e8 - ldr r2, _0217ecd4 ; =data_027e0d0c + ldr r2, _0217ecd4 ; =gVec3p_ZERO ldr r0, _0217ecd8 ; =data_027e0f64 ldr r3, [r2] mov r1, #5 @@ -3419,14 +3419,14 @@ func_ov36_0217eb58: ; 0x0217eb58 add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0217ecb8: .word data_02050f54 +_0217ecb8: .word gSinCosTable _0217ecbc: .word 0x000024cd _0217ecc0: .word func_ov36_0217bdb4 _0217ecc4: .word data_027e0e58 _0217ecc8: .word 0x00001009 _0217eccc: .word 0x0000100a _0217ecd0: .word data_ov36_02186c94 -_0217ecd4: .word data_027e0d0c +_0217ecd4: .word gVec3p_ZERO _0217ecd8: .word data_027e0f64 _0217ecdc: .word data_027e0ffc _0217ece0: .word 0x000002ce @@ -3485,7 +3485,7 @@ func_ov36_0217ed50: ; 0x0217ed50 add r0, r4, #0x158 str r3, [r2, #0x10] bl func_ov36_0217c7e8 - ldr r0, _0217ef08 ; =data_027e0d0c + ldr r0, _0217ef08 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] @@ -3501,7 +3501,7 @@ func_ov36_0217ed50: ; 0x0217ed50 beq _0217ede8 ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -3587,7 +3587,7 @@ _0217eef8: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _0217ef04: .word data_ov36_02186c9c -_0217ef08: .word data_027e0d0c +_0217ef08: .word gVec3p_ZERO _0217ef0c: .word gMapManager arm_func_end func_ov36_0217ed50 @@ -3654,10 +3654,10 @@ _0217efbc: .word data_ov36_02186ca0 arm_func_start func_ov36_0217efc0 func_ov36_0217efc0: ; 0x0217efc0 stmdb sp!, {r4, r5, r6, lr} - ldr r1, _0217f0b4 ; =data_027e0fc8 + ldr r1, _0217f0b4 ; =gPlayerLink mov r6, r0 ldr r0, [r1] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 mov r0, r6 bne _0217f0a0 @@ -3720,7 +3720,7 @@ _0217f0a8: bl func_ov36_02183204 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0217f0b4: .word data_027e0fc8 +_0217f0b4: .word gPlayerLink _0217f0b8: .word 0x00001555 _0217f0bc: .word 0x00002aab arm_func_end func_ov36_0217efc0 @@ -3736,7 +3736,7 @@ func_ov36_0217f0c0: ; 0x0217f0c0 ldr r1, _0217f104 ; =data_ov36_02186ca4 add r0, r4, #0x158 bl func_ov36_0217c7e8 - ldr r1, _0217f108 ; =data_027e0d0c + ldr r1, _0217f108 ; =gVec3p_ZERO mov r0, #1 ldr r2, [r1] str r2, [r4, #0x60] @@ -3747,7 +3747,7 @@ func_ov36_0217f0c0: ; 0x0217f0c0 ldmia sp!, {r4, pc} .align 2, 0 _0217f104: .word data_ov36_02186ca4 -_0217f108: .word data_027e0d0c +_0217f108: .word gVec3p_ZERO arm_func_end func_ov36_0217f0c0 .global func_ov36_0217f10c @@ -3804,7 +3804,7 @@ _0217f1a0: mov r1, #0x13 str r2, [r4, #0x878] bl func_ov36_0217ca34 - ldr r1, _0217f20c ; =data_027e0d0c + ldr r1, _0217f20c ; =gVec3p_ZERO mov r0, r4 ldr r2, [r1] str r2, [r4, #0x60] @@ -3826,7 +3826,7 @@ _0217f1a0: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0217f20c: .word data_027e0d0c +_0217f20c: .word gVec3p_ZERO _0217f210: .word data_ov36_02186ca8 _0217f214: .word data_027e0ffc _0217f218: .word 0x000002c3 @@ -3872,7 +3872,7 @@ _0217f26c: add r0, sp, #0x1c add r1, r1, #1 strb r1, [r4, #0x8a7] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -4024,7 +4024,7 @@ _0217f498: .word 0x00001770 arm_func_start func_ov36_0217f49c func_ov36_0217f49c: ; 0x0217f49c stmdb sp!, {r4, lr} - ldr r2, _0217f4f0 ; =data_027e0d0c + ldr r2, _0217f4f0 ; =gVec3p_ZERO mov r4, r0 ldr r1, [r2] add r0, r4, #0x158 @@ -4045,7 +4045,7 @@ func_ov36_0217f49c: ; 0x0217f49c mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0217f4f0: .word data_027e0d0c +_0217f4f0: .word gVec3p_ZERO arm_func_end func_ov36_0217f49c .global func_ov36_0217f4f4 @@ -4074,16 +4074,16 @@ func_ov36_0217f4f4: ; 0x0217f4f4 str r3, [sp, #0x74] str r2, [sp, #0x78] bl func_ov36_0217f400 - ldr r0, _0217f96c ; =data_027e0fe4 + ldr r0, _0217f96c ; =gActorManager add r1, sp, #4 ldr r0, [r0] add r2, sp, #0x70 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r1, [sp, #0xc] mov r0, r6 cmp r1, r0 beq _0217f608 - ldr r0, _0217f96c ; =data_027e0fe4 + ldr r0, _0217f96c ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4160,7 +4160,7 @@ _0217f650: _0217f68c: str r0, [r5, #0x868] ldrh r1, [r5, #0x78] - ldr r2, _0217f97c ; =data_02050f54 + ldr r2, _0217f97c ; =gSinCosTable ldr r0, _0217f980 ; =0xfffffccd mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -4208,7 +4208,7 @@ _0217f710: _0217f744: str r0, [r5, #0x868] ldrh r1, [r5, #0x78] - ldr r2, _0217f97c ; =data_02050f54 + ldr r2, _0217f97c ; =gSinCosTable ldr r0, _0217f984 ; =0x0000028f mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -4272,7 +4272,7 @@ _0217f7fc: mov r1, #0xb4000 bl Divide ldr r2, [r5, #0x874] - ldr r1, _0217f97c ; =data_02050f54 + ldr r1, _0217f97c ; =gSinCosTable mul r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -4306,7 +4306,7 @@ _0217f7fc: mov r2, #6 add r0, sp, #0x38 strh r2, [r1, #0x7c] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x38 str r1, [sp, #0x54] @@ -4349,11 +4349,11 @@ _0217f940: add sp, sp, #0x7c ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0217f96c: .word data_027e0fe4 +_0217f96c: .word gActorManager _0217f970: .word data_027e0f64 _0217f974: .word data_027e0ffc _0217f978: .word 0x000002cd -_0217f97c: .word data_02050f54 +_0217f97c: .word gSinCosTable _0217f980: .word 0xfffffccd _0217f984: .word 0x0000028f _0217f988: .word 0x000002c5 @@ -4366,7 +4366,7 @@ _0217f994: .word 0x50424652 arm_func_start func_ov36_0217f998 func_ov36_0217f998: ; 0x0217f998 stmdb sp!, {r4, lr} - ldr r2, _0217f9e8 ; =data_027e0d0c + ldr r2, _0217f9e8 ; =gVec3p_ZERO mov r4, r0 ldr r1, [r2] add r0, r4, #0x158 @@ -4386,7 +4386,7 @@ func_ov36_0217f998: ; 0x0217f998 str r1, [r4, #0x878] ldmia sp!, {r4, pc} .align 2, 0 -_0217f9e8: .word data_027e0d0c +_0217f9e8: .word gVec3p_ZERO _0217f9ec: .word data_ov36_02186cac arm_func_end func_ov36_0217f998 @@ -4556,7 +4556,7 @@ _0217fc40: mov r1, r6, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _0217fde8 ; =data_02050f54 + ldr r3, _0217fde8 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] @@ -4659,7 +4659,7 @@ _0217fdd8: .word 0x00000207 _0217fddc: .word data_ov36_02186cb0 _0217fde0: .word 0x000002cb _0217fde4: .word 0x00000ccd -_0217fde8: .word data_02050f54 +_0217fde8: .word gSinCosTable _0217fdec: .word 0x000002c7 arm_func_end func_ov36_0217f9f0 @@ -4667,7 +4667,7 @@ _0217fdec: .word 0x000002c7 arm_func_start func_ov36_0217fdf0 func_ov36_0217fdf0: ; 0x0217fdf0 stmdb sp!, {r4, lr} - ldr r2, _0217fe34 ; =data_027e0d0c + ldr r2, _0217fe34 ; =gVec3p_ZERO mov r4, r0 ldr r1, [r2] add r0, r4, #0x158 @@ -4684,7 +4684,7 @@ func_ov36_0217fdf0: ; 0x0217fdf0 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0217fe34: .word data_027e0d0c +_0217fe34: .word gVec3p_ZERO _0217fe38: .word data_ov36_02186cb4 arm_func_end func_ov36_0217fdf0 @@ -4710,7 +4710,7 @@ func_ov36_0217fe3c: ; 0x0217fe3c mov r1, #0xb4000 bl Divide ldr r2, [r5, #0x874] - ldr r1, _0217ffcc ; =data_02050f54 + ldr r1, _0217ffcc ; =gSinCosTable mul r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -4744,7 +4744,7 @@ func_ov36_0217fe3c: ; 0x0217fe3c mov r2, #6 add r0, sp, #0x1c strh r2, [r1, #0x7c] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -4793,7 +4793,7 @@ _0217ff88: .align 2, 0 _0217ffc4: .word data_027e0ffc _0217ffc8: .word 0x000002c5 -_0217ffcc: .word data_02050f54 +_0217ffcc: .word gSinCosTable _0217ffd0: .word 0x009c4000 _0217ffd4: .word data_027e0fe8 _0217ffd8: .word 0x50424652 @@ -4899,7 +4899,7 @@ _021800fc: arm_func_start func_ov36_0218011c func_ov36_0218011c: ; 0x0218011c stmdb sp!, {r4, lr} - ldr r2, _02180160 ; =data_027e0d0c + ldr r2, _02180160 ; =gVec3p_ZERO mov r4, r0 ldr r1, [r2] add r0, r4, #0x158 @@ -4916,7 +4916,7 @@ func_ov36_0218011c: ; 0x0218011c mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02180160: .word data_027e0d0c +_02180160: .word gVec3p_ZERO _02180164: .word data_ov36_02186cbc arm_func_end func_ov36_0218011c @@ -5313,7 +5313,7 @@ func_ov36_02180664: ; 0x02180664 mov r2, #0 orr r0, r0, #0x400 str r0, [r7, #0x878] - ldr r1, _02180980 ; =data_027e0d0c + ldr r1, _02180980 ; =gVec3p_ZERO str r2, [r7, #0x12c] add r0, r7, #0x800 strh r2, [r0, #0x92] @@ -5361,7 +5361,7 @@ _021806cc: b _02180860 _02180730: ldrsh r1, [r7, #0x78] - ldr r10, _0218098c ; =data_02050f54 + ldr r10, _0218098c ; =gSinCosTable mov r9, #5 strh r1, [r0, #0x9c] add r0, r1, #0x2000 @@ -5512,10 +5512,10 @@ _0218091c: add sp, sp, #0xd4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02180980: .word data_027e0d0c +_02180980: .word gVec3p_ZERO _02180984: .word data_ov36_02186cd4 _02180988: .word data_ov36_02186838 -_0218098c: .word data_02050f54 +_0218098c: .word gSinCosTable _02180990: .word 0x000004cd _02180994: .word gMapManager _02180998: .word data_027e0f64 @@ -5689,15 +5689,15 @@ _02180bd0: addne sp, sp, #0x3c ldmneia sp!, {r3, r4, r5, r6, pc} ldr r1, [r4, #0x878] - ldr r0, _02180d14 ; =data_027e0fc8 + ldr r0, _02180d14 ; =gPlayerLink orr r1, r1, #8 bic r1, r1, #1 str r1, [r4, #0x878] ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _02180c58 - ldr r0, _02180d14 ; =data_027e0fc8 + ldr r0, _02180d14 ; =gPlayerLink mov r1, #0 ldr r0, [r0] mov r2, #1 @@ -5758,7 +5758,7 @@ _02180d04: .word data_027e0f64 _02180d08: .word data_027e0ffc _02180d0c: .word 0x000002c7 _02180d10: .word 0x000002c1 -_02180d14: .word data_027e0fc8 +_02180d14: .word gPlayerLink _02180d18: .word gAdventureFlags arm_func_end func_ov36_021809b0 @@ -5802,7 +5802,7 @@ func_ov36_02180d1c: ; 0x02180d1c mov r0, r3 add r1, r4, #0x48 add r2, sp, #0x2c - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _02180e20 ; =0x00000ccd mov r0, #2 str r1, [sp, #0x38] @@ -5853,7 +5853,7 @@ func_ov36_02180e24: ; 0x02180e24 str ip, [sp, #0x28] str r4, [sp, #0x2c] str r3, [sp, #0x30] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _02181020 ; =0x00000ccd ldr r0, [sp, #0x28] str r1, [sp, #0x44] @@ -5916,7 +5916,7 @@ _02180f44: mvn r0, #0 cmp r1, r0 beq _02181000 - ldr r0, _0218102c ; =data_027e0fe4 + ldr r0, _0218102c ; =gActorManager add r1, r5, #0x18 ldr r0, [r0] add r1, r1, #0x800 @@ -5924,7 +5924,7 @@ _02180f44: movs r4, r0 beq _02181000 ldrh r1, [r4, #0x78] - ldr r2, _02181030 ; =data_02050f54 + ldr r2, _02181030 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 @@ -5972,8 +5972,8 @@ _02181000: _02181020: .word 0x00000ccd _02181024: .word data_027e0ffc _02181028: .word 0x000002c1 -_0218102c: .word data_027e0fe4 -_02181030: .word data_02050f54 +_0218102c: .word gActorManager +_02181030: .word gSinCosTable arm_func_end func_ov36_02180e24 .global func_ov36_02181034 @@ -6591,7 +6591,7 @@ _021818e8: bne _021818e8 _021818fc: mov r2, #0 - ldr r1, _02181b84 ; =data_027e0d0c + ldr r1, _02181b84 ; =gVec3p_ZERO str r2, [r4, #0x12c] add r0, r4, #0x800 strh r2, [r0, #0x92] @@ -6722,13 +6722,13 @@ _021818fc: str r0, [r4, #0x66c] ldr r1, [r4, #0x168] mov r2, #0 - ldr r0, _02181b9c ; =data_027e0fc8 + ldr r0, _02181b9c ; =gPlayerLink str r2, [r1, #0x10] ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _02181b40 - ldr r0, _02181b9c ; =data_027e0fc8 + ldr r0, _02181b9c ; =gPlayerLink mov r1, #0 ldr r0, [r0] mov r2, r11 @@ -6736,7 +6736,7 @@ _021818fc: ldr r3, [r3, #0x7c] blx r3 _02181b40: - ldr r0, _02181ba0 ; =data_027e0f90 + ldr r0, _02181ba0 ; =gPlayer mov r1, #0 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -6754,14 +6754,14 @@ _02181b40: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02181b80: .word data_027e103c -_02181b84: .word data_027e0d0c +_02181b84: .word gVec3p_ZERO _02181b88: .word gAdventureFlags _02181b8c: .word data_ov00_020eec68 _02181b90: .word data_027e0f64 _02181b94: .word 0x0000038e _02181b98: .word 0x00000dac -_02181b9c: .word data_027e0fc8 -_02181ba0: .word data_027e0f90 +_02181b9c: .word gPlayerLink +_02181ba0: .word gPlayer _02181ba4: .word data_027e0e58 arm_func_end func_ov36_021818b4 @@ -6947,7 +6947,7 @@ _02181e34: cmpeq r0, #0 addne sp, sp, #0x14 ldmneia sp!, {r3, r4, pc} - ldr r0, _02181f38 ; =data_027e0f90 + ldr r0, _02181f38 ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -7004,7 +7004,7 @@ _02181f28: .word 0x000002c7 _02181f2c: .word data_027e071c _02181f30: .word gMapManager _02181f34: .word 0x0000011e -_02181f38: .word data_027e0f90 +_02181f38: .word gPlayer arm_func_end func_ov36_02181ba8 .global func_ov36_02181f3c @@ -7231,7 +7231,7 @@ _02182270: cmp r0, #0 addeq sp, sp, #0x228 ldmeqia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} - ldr r0, _0218294c ; =data_027e0f90 + ldr r0, _0218294c ; =gPlayer mov r1, #0 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -7510,7 +7510,7 @@ _02182654: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -7552,7 +7552,7 @@ _02182654: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -7640,7 +7640,7 @@ _0218287c: bl _ZN14AdventureFlags18func_ov00_02097bccEv mvn r1, #0 str r1, [r4, #0x66c] - ldr r0, _0218294c ; =data_027e0f90 + ldr r0, _0218294c ; =gPlayer mov r1, #1 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -7684,7 +7684,7 @@ _02182940: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02182948: .word gAdventureFlags -_0218294c: .word data_027e0f90 +_0218294c: .word gPlayer _02182950: .word 0x00000bb8 _02182954: .word data_027e0f64 _02182958: .word data_ov36_02186ce8 @@ -7736,7 +7736,7 @@ _021829ec: mov r1, #0x2cc mov r3, #0 bl func_ov00_020ceacc - ldr r0, _02182c70 ; =data_027e0fc8 + ldr r0, _02182c70 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -7744,7 +7744,7 @@ _021829ec: ldr r0, _02182c74 ; =data_ov00_020eec68 mov r1, #5 bl func_ov00_020d716c - ldr r2, _02182c78 ; =data_027e0d0c + ldr r2, _02182c78 ; =gVec3p_ZERO add r0, r4, #0x158 ldr r3, [r2] mov r1, #0x1c @@ -7894,9 +7894,9 @@ _02182a7c: _02182c64: .word gMapManager _02182c68: .word data_027e0f64 _02182c6c: .word data_027e0ffc -_02182c70: .word data_027e0fc8 +_02182c70: .word gPlayerLink _02182c74: .word data_ov00_020eec68 -_02182c78: .word data_027e0d0c +_02182c78: .word gVec3p_ZERO _02182c7c: .word gAdventureFlags _02182c80: .word 0x0000038e _02182c84: .word 0x00000dac @@ -7907,7 +7907,7 @@ _02182c84: .word 0x00000dac func_ov36_02182c88: ; 0x02182c88 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 - ldr r1, _02182df4 ; =data_027e0f90 + ldr r1, _02182df4 ; =gPlayer mov r4, r0 ldr r0, [r1] mov r1, #0 @@ -7985,7 +7985,7 @@ _02182d94: add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} _02182dbc: - ldr r0, _02182e0c ; =data_027e0fc8 + ldr r0, _02182e0c ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -8001,13 +8001,13 @@ _02182de4: add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02182df4: .word data_027e0f90 +_02182df4: .word gPlayer _02182df8: .word data_027e0e58 _02182dfc: .word data_027e0f64 _02182e00: .word data_027e0ffc _02182e04: .word 0x000002c7 _02182e08: .word 0x0000019a -_02182e0c: .word data_027e0fc8 +_02182e0c: .word gPlayerLink arm_func_end func_ov36_02182c88 .global func_ov36_02182e10 @@ -8135,7 +8135,7 @@ func_ov36_02182f88: ; 0x02182f88 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02183068 ; =data_027e0e58 add r1, r4, #0x294 ldr r0, [r0] @@ -8220,11 +8220,11 @@ func_ov36_021830e8: ; 0x021830e8 mov r5, r0 ldr r0, [r5, #0x878] tst r0, #0x100000 - ldr r0, _021831fc ; =data_027e0fc8 + ldr r0, _021831fc ; =gPlayerLink moveq r4, #1 ldr r0, [r0] movne r4, #0 - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r4, r0 bne _021831f4 mov r0, r5 @@ -8291,7 +8291,7 @@ _021831f4: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021831fc: .word data_027e0fc8 +_021831fc: .word gPlayerLink _02183200: .word 0x00001555 arm_func_end func_ov36_021830e8 @@ -8330,7 +8330,7 @@ func_ov36_02183204: ; 0x02183204 rsblt r0, r0, #0 cmp r0, #0x1f40 bge _02183360 - ldr r0, _021834f0 ; =data_027e0fc8 + ldr r0, _021834f0 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcc78 cmp r0, #0 @@ -8391,10 +8391,10 @@ _02183338: mov r0, #1 ldmia sp!, {r3, r4, r5, pc} _02183360: - ldr r1, _021834fc ; =data_027e0fa0 + ldr r1, _021834fc ; =gPlayerVel ldr r0, [r1] ldr r1, [r1, #8] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x800 ldrsh r1, [r1, #0x9a] mov r0, r0, lsl #0x10 @@ -8417,7 +8417,7 @@ _02183360: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} _021833c4: - ldr r0, _021834f0 ; =data_027e0fc8 + ldr r0, _021834f0 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcc78 cmp r0, #0 @@ -8499,10 +8499,10 @@ _021834e8: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021834f0: .word data_027e0fc8 +_021834f0: .word gPlayerLink _021834f4: .word 0x00000333 _021834f8: .word data_027e0ffc -_021834fc: .word data_027e0fa0 +_021834fc: .word gPlayerVel _02183500: .word 0x00002aab arm_func_end func_ov36_02183204 @@ -8516,7 +8516,7 @@ func_ov36_02183504: ; 0x02183504 mvn r0, #0 cmp r1, r0 bne _0218354c - ldr r1, _02183a08 ; =data_027e0fe4 + ldr r1, _02183a08 ; =gActorManager ldr r2, _02183a0c ; =0x424d5459 ldr r1, [r1] add r0, sp, #8 @@ -8528,7 +8528,7 @@ func_ov36_02183504: ; 0x02183504 str r0, [r5, #0x814] ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} _0218354c: - ldr r0, _02183a08 ; =data_027e0fe4 + ldr r0, _02183a08 ; =gActorManager add r1, r5, #0x810 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -8539,7 +8539,7 @@ _0218354c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r1, [r5, #0x78] - ldr r2, _02183a10 ; =data_02050f54 + ldr r2, _02183a10 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov r6, r1, lsl #0x1 @@ -8837,9 +8837,9 @@ _021839f4: add sp, sp, #0x14c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02183a08: .word data_027e0fe4 +_02183a08: .word gActorManager _02183a0c: .word 0x424d5459 -_02183a10: .word data_02050f54 +_02183a10: .word gSinCosTable _02183a14: .word data_027e0f64 _02183a18: .word 0x000004cd _02183a1c: .word 0x00001e84 @@ -9044,7 +9044,7 @@ _02183c98: blx r2 b _02183ce8 _02183cbc: - ldr r1, _02184094 ; =data_027e0f94 + ldr r1, _02184094 ; =gPlayerPos ldr r0, _02184098 ; =data_027e0fd4 ldr r3, [r1] ldr r2, [r1, #4] @@ -9068,10 +9068,10 @@ _02183ce8: add r0, sp, #0x48 add r1, sp, #0x3c add r2, sp, #0x30 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x30] ldr r1, [sp, #0x38] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 ldr ip, [r6, #0x864] ldrsh r2, [r6, #0x78] @@ -9083,7 +9083,7 @@ _02183ce8: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0218409c ; =data_02050f54 + ldr r1, _0218409c ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r3, [r1, r0] mov r0, r2, lsl #0x1 @@ -9117,7 +9117,7 @@ _02183ce8: add r0, sp, #0x24 str r11, [sp, #0x28] str r2, [sp, #0x24] - bl func_01ff9cec + bl Vec3p_Length ldr r1, [sp, #0x54] add r0, r1, r0 cmp r0, r10 @@ -9266,7 +9266,7 @@ _02183fd0: ldr r1, [r6, #0x50] sub r0, r3, r0 sub r1, r2, r1 - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 ldr r0, [r5, #0x14] mov r1, r1, asr #0x10 @@ -9309,9 +9309,9 @@ _02184078: .align 2, 0 _0218408c: .word 0x424d5459 _02184090: .word gItemManager -_02184094: .word data_027e0f94 +_02184094: .word gPlayerPos _02184098: .word data_027e0fd4 -_0218409c: .word data_02050f54 +_0218409c: .word gSinCosTable _021840a0: .word 0x0000219a _021840a4: .word 0x5342454d _021840a8: .word data_027e0ffc @@ -9322,11 +9322,11 @@ _021840b0: .word 0x524f5045 .global func_ov36_021840b4 arm_func_start func_ov36_021840b4 func_ov36_021840b4: ; 0x021840b4 - ldr ip, _021840c0 ; =func_01fffcec + ldr ip, _021840c0 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_021840c0: .word func_01fffcec +_021840c0: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov36_021840b4 .global func_ov36_021840c4 @@ -9415,10 +9415,10 @@ _02184160: str r1, [r6, #0x81c] add r1, r6, #0x48 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -9426,7 +9426,7 @@ _02184160: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _02184418 ; =data_02050f54 + ldr r1, _02184418 ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r7, [r1, r0] mov r0, r2, lsl #0x1 @@ -9556,7 +9556,7 @@ _02184408: .word data_027e0ffc _0218440c: .word 0x0000019d _02184410: .word 0x524f5045 _02184414: .word 0x41525257 -_02184418: .word data_02050f54 +_02184418: .word gSinCosTable _0218441c: .word 0x00000ccd _02184420: .word gItemManager _02184424: .word data_027e0f64 @@ -9626,7 +9626,7 @@ _02184508: mov r0, #2 str r0, [sp, #0x2c] ldrh r1, [r5, #0x78] - ldr r2, _0218461c ; =data_02050f54 + ldr r2, _0218461c ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 @@ -9693,7 +9693,7 @@ _0218460c: .word 0x0000ffff _02184610: .word data_027e0d3c _02184614: .word data_02063e4c _02184618: .word data_027e0c68 -_0218461c: .word data_02050f54 +_0218461c: .word gSinCosTable _02184620: .word data_027e0c38 arm_func_end func_ov36_0218442c @@ -9730,7 +9730,7 @@ _02184684: cmp r0, #0 bne _021846c4 ldrh r1, [r4, #0x78] - ldr r3, _021848e4 ; =data_02050f54 + ldr r3, _021848e4 ; =gSinCosTable add r0, sp, #0xa8 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -9745,7 +9745,7 @@ _021846c4: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _021848e4 ; =data_02050f54 + ldr r2, _021848e4 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -9753,7 +9753,7 @@ _021846c4: add r0, sp, #0xa8 blx func_01ff8230 ldrh r1, [r4, #0x78] - ldr r3, _021848e4 ; =data_02050f54 + ldr r3, _021848e4 ; =gSinCosTable add r0, sp, #0x84 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -9785,7 +9785,7 @@ _02184728: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0xa8 add r2, sp, #0x78 add r0, r4, #0x158 @@ -9883,7 +9883,7 @@ _02184898: add sp, sp, #0xcc ldmia sp!, {r4, r5, pc} .align 2, 0 -_021848e4: .word data_02050f54 +_021848e4: .word gSinCosTable _021848e8: .word 0x00000333 _021848ec: .word 0x0000219a _021848f0: .word 0x00000b34 @@ -9926,7 +9926,7 @@ func_ov36_02184938: ; 0x02184938 mov r4, r0 cmp r1, #0 bne _021849c4 - ldr r1, _021849dc ; =data_027e0fe4 + ldr r1, _021849dc ; =gActorManager ldr r2, _021849e0 ; =0x4e415649 ldr r1, [r1] add r0, sp, #8 @@ -9943,11 +9943,11 @@ func_ov36_02184938: ; 0x02184938 str r1, [sp, #0x14] str r2, [sp, #0x18] bl func_ov36_021848fc - ldr r0, _021849dc ; =data_027e0fe4 + ldr r0, _021849dc ; =gActorManager add r1, sp, #0 ldr r0, [r0] add r2, sp, #0x10 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 beq _021849d0 ldr r1, [sp, #0x10] @@ -9965,7 +9965,7 @@ _021849d0: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_021849dc: .word data_027e0fe4 +_021849dc: .word gActorManager _021849e0: .word 0x4e415649 arm_func_end func_ov36_02184938 @@ -10287,9 +10287,9 @@ func_ov36_02184e10: ; 0x02184e10 bl func_ov00_020cfe10 b _02184f2c _02184e60: - ldr r0, _02184f40 ; =data_027e0fc8 + ldr r0, _02184f40 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 ldr r0, [r5, #0x878] bne _02184ed4 @@ -10348,7 +10348,7 @@ _02184f2c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02184f3c: .word data_027e103c -_02184f40: .word data_027e0fc8 +_02184f40: .word gPlayerLink arm_func_end func_ov36_02184e10 .global func_ov36_02184f44 @@ -10436,13 +10436,13 @@ _0218504c: .word gMapManager func_ov36_02185050: ; 0x02185050 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _021850c0 ; =data_027e0fc8 + ldr r1, _021850c0 ; =gPlayerLink mov r4, r0 ldr r0, [r1] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _02185090 - ldr r0, _021850c4 ; =data_027e0f94 + ldr r0, _021850c4 ; =gPlayerPos ldr r2, [r0] ldr r1, [r0, #4] str r2, [sp] @@ -10465,8 +10465,8 @@ _021850ac: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_021850c0: .word data_027e0fc8 -_021850c4: .word data_027e0f94 +_021850c0: .word gPlayerLink +_021850c4: .word gPlayerPos arm_func_end func_ov36_02185050 .global func_ov36_021850c8 @@ -10609,7 +10609,7 @@ func_ov36_02185274: ; 0x02185274 _02185294: add r1, r0, #0x800 ldrh r1, [r1, #0x9a] - ldr ip, _021852f8 ; =data_02050f54 + ldr ip, _021852f8 ; =gSinCosTable ldr r2, [r0, #0x858] mov r1, r1, asr #0x4 mov lr, r1, lsl #0x1 @@ -10633,7 +10633,7 @@ _02185294: str r2, [r0, #0x68] ldmia sp!, {r3, pc} .align 2, 0 -_021852f8: .word data_02050f54 +_021852f8: .word gSinCosTable arm_func_end func_ov36_02185274 .global func_ov36_021852fc @@ -10671,7 +10671,7 @@ _02185368: subeq r1, r2, #1 streqh r1, [r0, #0x88] beq _021853a4 - ldr r0, _0218540c ; =data_027e0fc8 + ldr r0, _0218540c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bcc78 cmp r0, #0 @@ -10712,7 +10712,7 @@ _021853d0: strneh r1, [r0, #0x8c] ldmia sp!, {r4, pc} .align 2, 0 -_0218540c: .word data_027e0fc8 +_0218540c: .word gPlayerLink arm_func_end func_ov36_021852fc .global func_ov36_02185410 @@ -10749,7 +10749,7 @@ func_ov36_0218543c: ; 0x0218543c add r1, r4, #0x800 ldrh r1, [r1, #0x9a] mov ip, #0 - ldr r2, _021854e4 ; =data_02050f54 + ldr r2, _021854e4 ; =gSinCosTable mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 @@ -10773,7 +10773,7 @@ func_ov36_0218543c: ; 0x0218543c str r3, [sp] str ip, [sp, #4] mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x85c] subs r0, r0, #0x148 str r0, [r4, #0x85c] @@ -10782,7 +10782,7 @@ func_ov36_0218543c: ; 0x0218543c add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_021854e4: .word data_02050f54 +_021854e4: .word gSinCosTable arm_func_end func_ov36_0218543c .global func_ov36_021854e8 @@ -10808,9 +10808,9 @@ func_ov36_021854e8: ; 0x021854e8 and r0, r1, r0 cmp r0, #0x1000000 ldmneia sp!, {r4, pc} - ldr r0, _0218557c ; =data_027e0fc8 + ldr r0, _0218557c ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 ldmneia sp!, {r4, pc} add r1, r4, #0x3b4 @@ -10826,7 +10826,7 @@ func_ov36_021854e8: ; 0x021854e8 str r0, [r4, #0x878] ldmia sp!, {r4, pc} .align 2, 0 -_0218557c: .word data_027e0fc8 +_0218557c: .word gPlayerLink _02185580: .word data_027e0c68 _02185584: .word 0x00690332 arm_func_end func_ov36_021854e8 @@ -10908,7 +10908,7 @@ _0218563c: _0218568c: add r1, r6, #0x800 ldrh r3, [r1, #0x98] - ldr r2, _021856c8 ; =data_02050f54 + ldr r2, _021856c8 ; =gSinCosTable mov r0, #0x1f4 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 @@ -10922,7 +10922,7 @@ _0218568c: strh r0, [r1, #0x98] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_021856c8: .word data_02050f54 +_021856c8: .word gSinCosTable arm_func_end func_ov36_021855ec .global func_ov36_021856cc @@ -10934,13 +10934,13 @@ func_ov36_021856cc: ; 0x021856cc mov r6, r2 cmp r1, #0 beq _021857a8 - ldr r1, _02185854 ; =data_027e0fa0 + ldr r1, _02185854 ; =gPlayerVel ldr r0, _02185858 ; =data_027e0fcc ldmia r1, {r2, r5} str r5, [sp, #0x10] str r2, [sp, #0xc] ldr r2, [r1, #8] - ldr r1, _0218585c ; =data_027e0f94 + ldr r1, _0218585c ; =gPlayerPos str r2, [sp, #0x14] ldr r0, [r0] ldr r1, [r1, #4] @@ -10958,7 +10958,7 @@ _0218571c: mov r2, #0 mov r1, r0 str r2, [sp, #0x10] - bl func_01ff9d4c + bl Vec3p_Normalize cmp r4, #0x8000 mov r0, #0x2000 blt _02185768 @@ -10988,11 +10988,11 @@ _0218577c: b _0218581c _021857a8: bl _ZN5Actor14GetAngleToLinkEv - ldr r1, _02185854 ; =data_027e0fa0 + ldr r1, _02185854 ; =gPlayerVel mov r4, r0, lsl #0x10 ldr r0, [r1] ldr r1, [r1, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 add r0, r0, #0x8000 @@ -11017,7 +11017,7 @@ _021857a8: mov r0, #0 str r0, [sp, #0x10] _0218581c: - ldr r0, _02185860 ; =data_027e0fc8 + ldr r0, _02185860 ; =gPlayerLink add r1, sp, #0xc ldr r0, [r0] mov r2, r6 @@ -11032,10 +11032,10 @@ _0218581c: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02185854: .word data_027e0fa0 +_02185854: .word gPlayerVel _02185858: .word data_027e0fcc -_0218585c: .word data_027e0f94 -_02185860: .word data_027e0fc8 +_0218585c: .word gPlayerPos +_02185860: .word gPlayerLink arm_func_end func_ov36_021856cc .global func_ov36_02185864 @@ -11190,7 +11190,7 @@ _02185a24: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 bne _021859d0 ldr r1, [sp, #0x28] @@ -11215,7 +11215,7 @@ _02185a24: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} _02185af4: @@ -11224,7 +11224,7 @@ _02185af4: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 @@ -11297,7 +11297,7 @@ _02185bc0: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x78 str r0, [sp] ldr r1, _02185c7c ; =func_ov36_0217bdb4 @@ -11381,7 +11381,7 @@ func_ov36_02185c84: ; 0x02185c84 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x34] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x48] add r0, sp, #0x50 str r1, [sp, #0x20] @@ -11391,7 +11391,7 @@ func_ov36_02185c84: ; 0x02185c84 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -11446,7 +11446,7 @@ _02185da4: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x48] add r0, sp, #0x38 str r1, [sp, #8] @@ -11456,7 +11456,7 @@ _02185da4: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -11509,7 +11509,7 @@ func_ov36_02185eb8: ; 0x02185eb8 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -11537,7 +11537,7 @@ func_ov36_02185eb8: ; 0x02185eb8 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -11698,7 +11698,7 @@ func_ov36_02186110: ; 0x02186110 str r3, [r0, #0x16c] add r1, r2, #2 str r1, [r0, #0x174] - ldr r1, _021862ac ; =data_027e0d0c + ldr r1, _021862ac ; =gVec3p_ZERO str r3, [r0, #0x178] ldr r3, [r1] mov r2, #0x800 @@ -11736,7 +11736,7 @@ _021861c8: mov r3, #0 str r1, [r0, #0x90] ldr r4, [r0, #0x84] - ldr r1, _021862ac ; =data_027e0d0c + ldr r1, _021862ac ; =gVec3p_ZERO str r4, [r0, #0x94] ldr r4, [r0, #0x88] mov r5, #7 @@ -11746,7 +11746,7 @@ _021861c8: add r7, r6, #0x1000 str r4, [r0, #0xa8] ldr r6, [r1, #4] - ldr r4, _021862b4 ; =data_02050f54 + ldr r4, _021862b4 ; =gSinCosTable str r6, [r0, #0xac] ldr r6, [r1, #8] add r1, r2, #0x264 @@ -11787,9 +11787,9 @@ _021861c8: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _021862a8: .word 0x00001004 -_021862ac: .word data_027e0d0c +_021862ac: .word gVec3p_ZERO _021862b0: .word 0x00001007 -_021862b4: .word data_02050f54 +_021862b4: .word gSinCosTable arm_func_end func_ov36_02186110 .global func_ov36_021862b8 @@ -11810,7 +11810,7 @@ func_ov36_021862b8: ; 0x021862b8 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldrh r0, [r5, #0x20] cmp r0, #0 beq _0218633c @@ -11918,7 +11918,7 @@ _02186470: _02186488: mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r5, #0x111] cmp r0, #0 ldreqb r0, [r5, #0x110] @@ -12000,7 +12000,7 @@ _021865a4: bl func_ov00_020b7e6c add r0, r5, #0x170 bl func_ov00_020b7e6c - ldr r0, _02186640 ; =data_027e0fe4 + ldr r0, _02186640 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -12023,7 +12023,7 @@ _021865f4: ldr r1, _02186644 ; =data_ov36_02186ba8 mov r0, r5 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _02186620: mov r1, r4 add r0, r5, #0xa4 @@ -12034,7 +12034,7 @@ _02186620: .align 2, 0 _02186638: .word data_027e0e58 _0218663c: .word 0x00000333 -_02186640: .word data_027e0fe4 +_02186640: .word gActorManager _02186644: .word data_ov36_02186ba8 arm_func_end func_ov36_021862b8 @@ -13184,7 +13184,7 @@ data_ov36_02186d58: ; 0x02186d58 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov36_02186d5c data_ov36_02186d5c: ; 0x02186d5c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov36_02186d60 data_ov36_02186d60: ; 0x02186d60 .word func_ov36_02183b7c @@ -13470,7 +13470,7 @@ data_ov36_02186f04: ; 0x02186f04 .word _ZN5Actor8vfunc_18Ej .global data_ov36_02186f08 data_ov36_02186f08: ; 0x02186f08 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov36_02186f0c data_ov36_02186f0c: ; 0x02186f0c .word _ZN5Actor8vfunc_20Ei @@ -13500,7 +13500,7 @@ data_ov36_02186f2c: ; 0x02186f2c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov36_02186f30 data_ov36_02186f30: ; 0x02186f30 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov36_02186f34 data_ov36_02186f34: ; 0x02186f34 .word func_ov36_02186648 diff --git a/asm/ov37.inc b/asm/ov37.inc index b86f3704..b922a1c4 100644 --- a/asm/ov37.inc +++ b/asm/ov37.inc @@ -1,34 +1,46 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Cross +.extern Vec3p_Distance +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager18Set_MapData_Unk_16Eci .extern _ZN10MapManager18func_ov00_02083908EcPi .extern _ZN10PlayerBase10SetVisibleEb -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder .extern _ZN11ItemManager12GetItemModelEj +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags18func_ov00_02097968Ei +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p +.extern _ZN5Actor13func_01fffd04Ei .extern _ZN5Actor14GetAngleToLinkEv .extern _ZN5Actor15IsHitboxTouchedEb .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor20IncreaseActiveFramesEv .extern _ZN5Actor20KillPickupItemActorsEv @@ -37,14 +49,14 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -74,19 +86,12 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 .extern data_027e0764 .extern data_027e0c54 -.extern data_027e0d0c .extern data_027e0e58 .extern data_027e0f64 .extern data_027e0f6c -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fa0 -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -102,21 +107,10 @@ .extern func_01ff892c .extern func_01ff8e84 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01ffa9fc .extern func_01ffbe78 .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec -.extern func_01fffd04 .extern func_020079d8 .extern func_02016fe8 .extern func_02018450 @@ -193,7 +187,6 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -273,7 +266,14 @@ .extern func_ov14_02146634 .extern func_ov17_02168660 .extern func_ov17_021687f0 +.extern gActorManager .extern gAdventureFlags .extern gItemManager .extern gMapManager +.extern gPlayer +.extern gPlayerLink +.extern gPlayerPos +.extern gPlayerVel +.extern gSinCosTable +.extern gVec3p_ZERO .extern strncpy diff --git a/asm/ov37.s b/asm/ov37.s index 81f6d41e..1a1a664d 100644 --- a/asm/ov37.s +++ b/asm/ov37.s @@ -25,7 +25,7 @@ _0217bdac: .word data_027e0fe0 arm_func_start func_ov37_0217bdb0 func_ov37_0217bdb0: ; 0x0217bdb0 stmdb sp!, {r3, lr} - ldr r0, _0217be0c ; =data_027e0f94 + ldr r0, _0217be0c ; =gPlayerPos ldr r0, [r0, #4] cmp r0, #0x5000 movgt r0, #1 @@ -36,7 +36,7 @@ func_ov37_0217bdb0: ; 0x0217bdb0 ldrneb r0, [r0, #0x28] cmpne r0, #0 beq _0217bdf4 - ldr r0, _0217be10 ; =data_027e0fa0 + ldr r0, _0217be10 ; =gPlayerVel ldr r0, [r0, #4] cmp r0, #0 movgt r0, #1 @@ -49,8 +49,8 @@ _0217bdf4: moveq r0, #0 ldmia sp!, {r3, pc} .align 2, 0 -_0217be0c: .word data_027e0f94 -_0217be10: .word data_027e0fa0 +_0217be0c: .word gPlayerPos +_0217be10: .word gPlayerVel arm_func_end func_ov37_0217bdb0 .global func_ov37_0217be14 @@ -633,7 +633,7 @@ _0217c53c: ldr r0, [r4, #0x22c] mov r1, #0x1000 str r1, [r0, #0x10] - ldr r1, _0217c908 ; =data_027e0fc8 + ldr r1, _0217c908 ; =gPlayerLink mov r2, #0 add r0, r4, #0x2000 str r2, [r0, #0xfac] @@ -797,13 +797,13 @@ _0217c7b4: bl func_ov00_020c5d74 ldr r1, [r4, #0x22c] mov r2, #0x1000 - ldr r0, _0217c908 ; =data_027e0fc8 + ldr r0, _0217c908 ; =gPlayerLink str r2, [r1, #0x10] ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] blx r1 - ldr r0, _0217c908 ; =data_027e0fc8 + ldr r0, _0217c908 ; =gPlayerLink mvn r1, #0 ldr r0, [r0] bl func_ov00_020bd070 @@ -814,7 +814,7 @@ _0217c808: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} _0217c814: - ldr r0, _0217c918 ; =data_027e0f90 + ldr r0, _0217c918 ; =gPlayer mov r1, r2 ldr r0, [r0] bl _ZN10PlayerBase10SetVisibleEb @@ -878,11 +878,11 @@ _0217c8f8: .align 2, 0 _0217c900: .word 0x0000ffff _0217c904: .word data_ov00_020eec68 -_0217c908: .word data_027e0fc8 +_0217c908: .word gPlayerLink _0217c90c: .word data_ov37_02189160 _0217c910: .word data_027e0c54 _0217c914: .word func_ov37_0217be34 -_0217c918: .word data_027e0f90 +_0217c918: .word gPlayer _0217c91c: .word 0x0000101e _0217c920: .word data_027e0e58 arm_func_end func_ov37_0217c464 @@ -907,12 +907,12 @@ func_ov37_0217c924: ; 0x0217c924 add r6, r0, #0x2c00 ldr r0, _0217cbdc ; =0x00007fff add r1, r8, #0xdf0 - ldr r9, _0217cbe0 ; =data_027e0d0c + ldr r9, _0217cbe0 ; =gVec3p_ZERO add r7, r1, #0x2000 mov r4, #0 rsb r11, r0, #0 _0217c978: - ldr r0, _0217cbe4 ; =data_027e0fe4 + ldr r0, _0217cbe4 ; =gActorManager mov r1, r6 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -945,7 +945,7 @@ _0217c978: mov r0, r7 str r1, [r5, #0x48] ldr r10, [r2, #0xdf4] - ldr r1, _0217cbec ; =data_027e0f94 + ldr r1, _0217cbec ; =gPlayerPos str r10, [r5, #0x4c] ldr r10, [r2, #0xdf8] add r2, sp, #0x18 @@ -957,10 +957,10 @@ _0217c978: str r3, [r5, #0x64] ldr r3, [r9, #8] str r3, [r5, #0x68] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [sp, #8] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -1000,13 +1000,13 @@ _0217caac: add r7, r0, #0x2c00 ldr r0, _0217cbdc ; =0x00007fff add r1, r8, #0x2f4 - ldr r5, _0217cbe0 ; =data_027e0d0c + ldr r5, _0217cbe0 ; =gVec3p_ZERO add r9, r1, #0x2c00 mov r10, #0 rsb r4, r0, #0 mov r11, #7 _0217cadc: - ldr r0, _0217cbe4 ; =data_027e0fe4 + ldr r0, _0217cbe4 ; =gActorManager mov r1, r7 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1028,7 +1028,7 @@ _0217cadc: mov r0, r9 str r1, [r6, #0x48] ldr ip, [r2, #0xef8] - ldr r1, _0217cbec ; =data_027e0f94 + ldr r1, _0217cbec ; =gPlayerPos str ip, [r6, #0x4c] ldr ip, [r2, #0xefc] add r2, sp, #0xc @@ -1040,10 +1040,10 @@ _0217cadc: str r3, [r6, #0x64] ldr r3, [r5, #8] str r3, [r6, #0x68] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [sp, #4] mov r0, r0, lsl #0x10 rsb r0, r1, r0, asr #16 @@ -1075,10 +1075,10 @@ _0217cbc0: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0217cbdc: .word 0x00007fff -_0217cbe0: .word data_027e0d0c -_0217cbe4: .word data_027e0fe4 +_0217cbe0: .word gVec3p_ZERO +_0217cbe4: .word gActorManager _0217cbe8: .word data_ov37_02187dcc -_0217cbec: .word data_027e0f94 +_0217cbec: .word gPlayerPos arm_func_end func_ov37_0217c924 .global func_ov37_0217cbf0 @@ -1415,7 +1415,7 @@ func_ov37_0217cfb0: ; 0x0217cfb0 bl func_ov37_0217cf98 cmp r0, #0 beq _0217d058 - ldr r1, _0217d5bc ; =data_027e0f94 + ldr r1, _0217d5bc ; =gPlayerPos ldr r0, _0217d5c0 ; =0x0000019a ldr r1, [r1, #4] cmp r1, r0 @@ -1819,7 +1819,7 @@ _0217d5a8: add sp, sp, #8 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0217d5bc: .word data_027e0f94 +_0217d5bc: .word gPlayerPos _0217d5c0: .word 0x0000019a _0217d5c4: .word data_027e0ffc _0217d5c8: .word 0x000002b6 @@ -1952,7 +1952,7 @@ _0217d760: add r3, sp, #0x128 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0217e32c ; =data_027e0fc8 + ldr r0, _0217e32c ; =gPlayerLink ldr r1, [sp, #0x12c] ldr r0, [r0] add r2, r1, #0x7000 @@ -2309,7 +2309,7 @@ _0217dcb0: addeq sp, sp, #0x400 ldmeqia sp!, {r4, r5, r6, r7, pc} mvn r1, #0 - ldr r0, _0217e32c ; =data_027e0fc8 + ldr r0, _0217e32c ; =gPlayerLink str r1, [r4, #0x218] ldr r0, [r0] bl func_ov00_020bd0a8 @@ -2715,8 +2715,8 @@ _0217e280: mov r0, r0, lsl #0x10 mov r7, r0, asr #0x10 _0217e290: - ldr r0, _0217e354 ; =data_027e0f94 - ldr lr, _0217e358 ; =data_027e0fa0 + ldr r0, _0217e354 ; =gPlayerPos + ldr lr, _0217e358 ; =gPlayerVel add r3, sp, #0xcc ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -2726,7 +2726,7 @@ _0217e290: mov r1, ip mov r2, r3 mov r0, #0x1e000 - bl func_01ff9e64 + bl Vec3p_Axpy add r1, sp, #0xcc mov r0, r4 bl _ZN5Actor10GetAngleToEP5Vec3p @@ -2756,7 +2756,7 @@ _0217e2f8: mov r0, r0, asr #0x10 b _0217e380 .align 2, 0 -_0217e32c: .word data_027e0fc8 +_0217e32c: .word gPlayerLink _0217e330: .word data_027e0ff8 _0217e334: .word data_027e0f64 _0217e338: .word 0x094f2095 @@ -2766,12 +2766,12 @@ _0217e344: .word 0x00150007 _0217e348: .word data_027e0764 _0217e34c: .word 0x00000222 _0217e350: .word data_027e0ffc -_0217e354: .word data_027e0f94 -_0217e358: .word data_027e0fa0 +_0217e354: .word gPlayerPos +_0217e358: .word gPlayerVel _0217e35c: .word 0xffff8001 _0217e360: .word 0x00000e39 _0217e364: .word 0xfffff8e4 -_0217e368: .word data_02050f54 +_0217e368: .word gSinCosTable _0217e36c: .word data_ov37_02189160 _0217e370: ldr r0, _0217e364 ; =0xfffff8e4 @@ -2784,7 +2784,7 @@ _0217e380: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0217e368 ; =data_02050f54 + ldr r1, _0217e368 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh lr, [r1, r2] mov r0, r0, lsl #0x1 @@ -2797,8 +2797,8 @@ _0217e380: str lr, [sp, #0xb4] str ip, [sp, #0xb8] str r7, [sp, #0xbc] - bl func_01ff9e64 - ldr r0, _0217e354 ; =data_027e0f94 + bl Vec3p_Axpy + ldr r0, _0217e354 ; =gPlayerPos add r1, sp, #0xd8 ldr r6, [r0, #4] add r2, sp, #0xcc @@ -3008,7 +3008,7 @@ _0217e690: mov r2, r0, lsl #0x1 add r0, r2, #1 mov r3, #0 - ldr r1, _0217e368 ; =data_02050f54 + ldr r1, _0217e368 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r6, [r1, r2] mov r0, r0, lsl #0x1 @@ -3092,7 +3092,7 @@ _0217e7ec: mov r3, #0 str r0, [r4, #0x48] ldr r0, [r4, #0x18] - ldr r5, _0217e32c ; =data_027e0fc8 + ldr r5, _0217e32c ; =gPlayerLink str r0, [r4, #0x4c] ldr r0, [r4, #0x1c] add r1, sp, #0x70 @@ -3210,7 +3210,7 @@ _0217e99c: mov r3, #0 str r0, [sp, #0x48] ldr r1, [r4, #0x4c] - ldr r0, _0217e32c ; =data_027e0fc8 + ldr r0, _0217e32c ; =gPlayerLink str r1, [sp, #0x4c] ldr r2, [r4, #0x50] add r1, sp, #0x48 @@ -3378,7 +3378,7 @@ _0217ec60: addeq sp, sp, #0x400 ldmeqia sp!, {r4, r5, r6, r7, pc} mvn r1, #0 - ldr r0, _0217e32c ; =data_027e0fc8 + ldr r0, _0217e32c ; =gPlayerLink str r1, [r4, #0x218] ldr r0, [r0] bl func_ov00_020bd0a8 @@ -3796,7 +3796,7 @@ func_ov37_0217f288: ; 0x0217f288 ldmia r1, {r0, r1, r2} stmia r4, {r0, r1, r2} ldrh r0, [r3, #0x78] - ldr r4, _0217f374 ; =data_02050f54 + ldr r4, _0217f374 ; =gSinCosTable ldr r8, [sp, #8] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -3848,7 +3848,7 @@ func_ov37_0217f288: ; 0x0217f288 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _0217f370: .word data_ov37_02187df4 -_0217f374: .word data_02050f54 +_0217f374: .word gSinCosTable arm_func_end func_ov37_0217f288 .global func_ov37_0217f378 @@ -3862,7 +3862,7 @@ func_ov37_0217f378: ; 0x0217f378 ldmia r1, {r0, r1, r2} stmia r4, {r0, r1, r2} ldrh r0, [r3, #0x78] - ldr r4, _0217f464 ; =data_02050f54 + ldr r4, _0217f464 ; =gSinCosTable ldr r8, [sp, #8] mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -3914,7 +3914,7 @@ func_ov37_0217f378: ; 0x0217f378 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _0217f460: .word data_ov37_02187e00 -_0217f464: .word data_02050f54 +_0217f464: .word gSinCosTable arm_func_end func_ov37_0217f378 .global func_ov37_0217f468 @@ -4077,13 +4077,13 @@ func_ov37_0217f668: ; 0x0217f668 sub r0, r0, #1 str r0, [r3, #0xf90] ldr r1, [r3, #0xf8c] - ldr r0, _0217f6d4 ; =data_027e0f94 + ldr r0, _0217f6d4 ; =gPlayerPos add r1, r1, #0x11 add ip, r1, #0x100 add r2, sp, #4 add r1, r4, #0x2f80 str ip, [r3, #0xf8c] - bl func_01ff9bf8 + bl Vec3p_Sub mov ip, #2 add r2, sp, #4 mov r0, r4 @@ -4094,7 +4094,7 @@ func_ov37_0217f668: ; 0x0217f668 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_0217f6d4: .word data_027e0f94 +_0217f6d4: .word gPlayerPos arm_func_end func_ov37_0217f668 .global func_ov37_0217f6d8 @@ -4105,7 +4105,7 @@ func_ov37_0217f6d8: ; 0x0217f6d8 mov r4, r0 ldrh r0, [r4, #0x78] mov r1, #0 - ldr r3, _0217f76c ; =data_02050f54 + ldr r3, _0217f76c ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -4138,7 +4138,7 @@ func_ov37_0217f6d8: ; 0x0217f6d8 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217f76c: .word data_02050f54 +_0217f76c: .word gSinCosTable arm_func_end func_ov37_0217f6d8 .global func_ov37_0217f770 @@ -4149,7 +4149,7 @@ func_ov37_0217f770: ; 0x0217f770 mov r4, r0 ldrh r0, [r4, #0x78] mov r1, #0 - ldr r3, _0217f808 ; =data_02050f54 + ldr r3, _0217f808 ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -4183,7 +4183,7 @@ func_ov37_0217f770: ; 0x0217f770 add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217f808: .word data_02050f54 +_0217f808: .word gSinCosTable arm_func_end func_ov37_0217f770 .global func_ov37_0217f80c @@ -4205,7 +4205,7 @@ _0217f838: add r1, r0, #0x2000 mov r0, r6 strb r7, [r1, #0xe90] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r6 str r5, [sp, #0x20] str r5, [sp, #0x24] @@ -4237,7 +4237,7 @@ func_ov37_0217f8a4: ; 0x0217f8a4 stmdb sp!, {r3, r4, r5, r6, r7, lr} add r0, r0, #0x29c mov r6, #0 - ldr r4, _0217f8e4 ; =data_027e0fe4 + ldr r4, _0217f8e4 ; =gActorManager add r7, r0, #0x2c00 mov r5, r6 _0217f8bc: @@ -4252,7 +4252,7 @@ _0217f8bc: blt _0217f8bc ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0217f8e4: .word data_027e0fe4 +_0217f8e4: .word gActorManager arm_func_end func_ov37_0217f8a4 .global func_ov37_0217f8e8 @@ -4274,7 +4274,7 @@ _0217f914: add r1, r0, #0x2000 mov r0, r6 strb r7, [r1, #0xe90] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r6 str r5, [sp, #0x20] str r5, [sp, #0x24] @@ -4306,7 +4306,7 @@ func_ov37_0217f980: ; 0x0217f980 stmdb sp!, {r3, r4, r5, r6, r7, lr} add r0, r0, #0x334 mov r6, #0 - ldr r4, _0217f9c0 ; =data_027e0fe4 + ldr r4, _0217f9c0 ; =gActorManager add r7, r0, #0x2c00 mov r5, r6 _0217f998: @@ -4321,7 +4321,7 @@ _0217f998: blt _0217f998 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0217f9c0: .word data_027e0fe4 +_0217f9c0: .word gActorManager arm_func_end func_ov37_0217f980 .global func_ov37_0217f9c4 @@ -4334,7 +4334,7 @@ func_ov37_0217f9c4: ; 0x0217f9c4 add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -4352,7 +4352,7 @@ func_ov37_0217f9c4: ; 0x0217f9c4 add r3, sp, #0xc add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _0217fa88 ; =data_027e0fe4 + ldr r0, _0217fa88 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4366,7 +4366,7 @@ func_ov37_0217f9c4: ; 0x0217f9c4 add r2, r4, #0x48 add r3, sp, #0xc bl func_ov00_020c4048 - ldr r0, _0217fa88 ; =data_027e0fe4 + ldr r0, _0217fa88 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4377,7 +4377,7 @@ func_ov37_0217f9c4: ; 0x0217f9c4 .align 2, 0 _0217fa80: .word data_027e0fe8 _0217fa84: .word 0x57534246 -_0217fa88: .word data_027e0fe4 +_0217fa88: .word gActorManager arm_func_end func_ov37_0217f9c4 .global func_ov37_0217fa8c @@ -4403,7 +4403,7 @@ func_ov37_0217fab8: ; 0x0217fab8 sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -4428,7 +4428,7 @@ func_ov37_0217fab8: ; 0x0217fab8 mov r2, ip add r3, sp, #0x10 bl func_ov00_020c4048 - ldr r0, _0217fba8 ; =data_027e0fe4 + ldr r0, _0217fba8 ; =gActorManager add r1, r4, #0x2ec ldr r0, [r0] add r1, r1, #0x2c00 @@ -4462,14 +4462,14 @@ _0217fb80: .align 2, 0 _0217fba0: .word data_027e0fe8 _0217fba4: .word 0x57534248 -_0217fba8: .word data_027e0fe4 +_0217fba8: .word gActorManager arm_func_end func_ov37_0217fab8 .global func_ov37_0217fbac arm_func_start func_ov37_0217fbac func_ov37_0217fbac: ; 0x0217fbac stmdb sp!, {r3, lr} - ldr r2, _0217fbd4 ; =data_027e0fe4 + ldr r2, _0217fbd4 ; =gActorManager add r1, r0, #0x2ec ldr r0, [r2] add r1, r1, #0x2c00 @@ -4479,7 +4479,7 @@ func_ov37_0217fbac: ; 0x0217fbac strneb r1, [r0, #0x118] ldmia sp!, {r3, pc} .align 2, 0 -_0217fbd4: .word data_027e0fe4 +_0217fbd4: .word gActorManager arm_func_end func_ov37_0217fbac .global func_ov37_0217fbd8 @@ -4492,7 +4492,7 @@ func_ov37_0217fbd8: ; 0x0217fbd8 mov r6, r1 mov r5, r2 mov r4, r3 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -4513,7 +4513,7 @@ func_ov37_0217fbd8: ; 0x0217fbd8 mov r2, r6 add r3, sp, #0x10 bl func_ov00_020c4048 - ldr r0, _0217fcb4 ; =data_027e0fe4 + ldr r0, _0217fcb4 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4542,7 +4542,7 @@ _0217fc6c: .align 2, 0 _0217fcac: .word data_027e0fe8 _0217fcb0: .word 0x57534242 -_0217fcb4: .word data_027e0fe4 +_0217fcb4: .word gActorManager _0217fcb8: .word data_027e0e58 _0217fcbc: .word 0x00001001 _0217fcc0: .word data_027e0ffc @@ -4562,7 +4562,7 @@ func_ov37_0217fccc: ; 0x0217fccc mov r1, #1 mov r4, r0 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r4 bl _ZN5Actor4KillEv ldmia sp!, {r4, pc} @@ -4609,7 +4609,7 @@ func_ov37_0217fd14: ; 0x0217fd14 mov r0, ip, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, asr #0x4 - ldr r0, _0217fd98 ; =data_02050f54 + ldr r0, _0217fd98 ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh ip, [r0, r1] mov r0, r3, lsr #0x1f @@ -4625,7 +4625,7 @@ func_ov37_0217fd14: ; 0x0217fd14 _0217fd8c: .word 0x0005fffa _0217fd90: .word 0x0000059a _0217fd94: .word 0x38e38e39 -_0217fd98: .word data_02050f54 +_0217fd98: .word gSinCosTable arm_func_end func_ov37_0217fd14 .global func_ov37_0217fd9c @@ -5028,7 +5028,7 @@ func_ov37_02180290: ; 0x02180290 cmp r3, r0 bne _02180338 ldr ip, [r4, #0xb4] - ldr r3, _021803cc ; =data_02050f54 + ldr r3, _021803cc ; =gSinCosTable ldr r2, [ip] add r0, sp, #0x24 bic r2, r2, #2 @@ -5066,7 +5066,7 @@ _02180338: ldr r2, [r4, #0xb4] ldr r0, _021803c8 ; =data_ov37_02189190 ldr r1, [r2] - ldr r3, _021803cc ; =data_02050f54 + ldr r3, _021803cc ; =gSinCosTable bic r1, r1, #2 str r1, [r2] ldr r1, [r0] @@ -5093,7 +5093,7 @@ _02180338: ldmia sp!, {r4, pc} .align 2, 0 _021803c8: .word data_ov37_02189190 -_021803cc: .word data_02050f54 +_021803cc: .word gSinCosTable arm_func_end func_ov37_02180290 .global func_ov37_021803d0 @@ -6060,7 +6060,7 @@ _021810fc: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r7, [r5, #0x1c] - ldr r1, _02181ee0 ; =data_02050f54 + ldr r1, _02181ee0 ; =gSinCosTable ldrh r0, [r7, #0x78] ldr r2, [r7, #0x48] ldr r3, [sp, #0x304] @@ -6127,7 +6127,7 @@ _02181204: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r7, [r5, #0x1c] - ldr r1, _02181ee0 ; =data_02050f54 + ldr r1, _02181ee0 ; =gSinCosTable ldrh r0, [r7, #0x78] ldr r2, [r7, #0x48] ldr r3, [sp, #0x2ec] @@ -6227,7 +6227,7 @@ _02181388: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x2c8] @@ -6290,7 +6290,7 @@ _02181480: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x2b0] @@ -6353,7 +6353,7 @@ _02181578: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x298] @@ -6416,7 +6416,7 @@ _02181670: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x280] @@ -6479,7 +6479,7 @@ _02181768: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x268] @@ -6596,7 +6596,7 @@ _0218192c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x250] @@ -6672,7 +6672,7 @@ _02181a58: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x238] @@ -6849,7 +6849,7 @@ _02181d00: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r10, [r5, #0x1c] - ldr r1, _02181ee0 ; =data_02050f54 + ldr r1, _02181ee0 ; =gSinCosTable ldrh r0, [r10, #0x78] ldr r9, [r10, #0x48] ldr r6, [sp, #0x208] @@ -6962,7 +6962,7 @@ _02181e2c: _02181ed4: .word data_027e0ffc _02181ed8: .word data_027e0e58 _02181edc: .word data_ov37_02187fbc -_02181ee0: .word data_02050f54 +_02181ee0: .word gSinCosTable _02181ee4: .word 0x00001018 _02181ee8: .word data_ov37_02187fc8 _02181eec: .word 0x00001017 @@ -7010,7 +7010,7 @@ _02181f70: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x1e4] @@ -7077,7 +7077,7 @@ _02182070: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr ip, [r5, #0x1c] - ldr r1, _02181ee0 ; =data_02050f54 + ldr r1, _02181ee0 ; =gSinCosTable ldrh r0, [ip, #0x78] ldr r11, [ip, #0x48] ldr r8, [sp, #0x1cc] @@ -7207,7 +7207,7 @@ _02182268: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x1a8] @@ -7426,7 +7426,7 @@ _021825a4: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x178] @@ -7498,7 +7498,7 @@ _021826c0: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x160] @@ -7570,7 +7570,7 @@ _021827dc: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x148] @@ -7642,7 +7642,7 @@ _021828f8: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x130] @@ -7714,7 +7714,7 @@ _02182a14: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x118] @@ -7786,7 +7786,7 @@ _02182b30: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x100] @@ -7858,7 +7858,7 @@ _02182c4c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0xe8] @@ -7930,7 +7930,7 @@ _02182d68: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02181ee0 ; =data_02050f54 + ldr r3, _02181ee0 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0xd0] @@ -8002,7 +8002,7 @@ _02182e84: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02183018 ; =data_02050f54 + ldr r3, _02183018 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0xb8] @@ -8074,7 +8074,7 @@ _02182fa0: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02183018 ; =data_02050f54 + ldr r3, _02183018 ; =gSinCosTable b _02183020 .align 2, 0 _02182fd4: .word 0x000002ad @@ -8094,7 +8094,7 @@ _02183008: .word data_ov37_021880ac _0218300c: .word data_027e0e58 _02183010: .word data_027e0ffc _02183014: .word data_ov37_021880b8 -_02183018: .word data_02050f54 +_02183018: .word gSinCosTable _0218301c: .word data_ov37_021880c4 _02183020: ldrh r2, [r11, #0x78] @@ -8168,7 +8168,7 @@ _0218310c: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02183018 ; =data_02050f54 + ldr r3, _02183018 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x88] @@ -8240,7 +8240,7 @@ _02183228: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02183018 ; =data_02050f54 + ldr r3, _02183018 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x70] @@ -8303,7 +8303,7 @@ _02183320: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r11, [r5, #0x1c] - ldr r3, _02183018 ; =data_02050f54 + ldr r3, _02183018 ; =gSinCosTable ldrh r2, [r11, #0x78] ldr r1, [r11, #0x48] ldr r0, [sp, #0x58] @@ -8807,7 +8807,7 @@ _021839c0: str r0, [r6, #0xc] ldr r0, [r7, #0x124] ldr r1, [r7, #0x12c] - bl func_01ffa0f4 + bl Atan2 strh r0, [r5] mov r0, #0x6000 add sp, sp, #0x78 @@ -8844,7 +8844,7 @@ _02183a4c: str r0, [r6, #0xc] ldr r0, [r7, #0x184] ldr r1, [r7, #0x18c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 @@ -8960,7 +8960,7 @@ _02183c04: str r0, [r6, #0xc] ldr r0, [r7, #0x2f8] ldr r1, [r7, #0x300] - bl func_01ffa0f4 + bl Atan2 ldr r1, _02183c50 ; =0x00002aab strh r0, [r5] strh r1, [r4] @@ -9714,7 +9714,7 @@ func_ov37_0218452c: ; 0x0218452c mov r0, r1 add r1, r4, #0x48 add r2, r4, #0x184 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r4, #0x184] cmp r0, #0 ldreq r0, [r4, #0x188] @@ -9730,7 +9730,7 @@ func_ov37_0218452c: ; 0x0218452c _0218457c: add r0, r4, #0x184 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, #0x800 cmp r5, #0 ldrne r0, _02184688 ; =0x0000099a @@ -9757,10 +9757,10 @@ _0218457c: str r1, [r4, #0x68] ldr r0, [r4, #0x184] ldr r1, [r4, #0x18c] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] add r0, r4, #0x60 - bl func_01ff9cec + bl Vec3p_Length str r0, [r4, #0x178] mov r3, #0 mov r1, #0x1000 @@ -9770,11 +9770,11 @@ _0218457c: add r1, r4, #0x184 str r3, [sp, #0xc] str r3, [sp, #0x14] - bl func_01ff9c68 + bl Vec3p_Cross add r1, sp, #0 add r0, r4, #0x184 add r2, sp, #0xc - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [sp] str r0, [r4, #0x190] ldr r0, [sp, #4] @@ -9871,11 +9871,11 @@ func_ov37_02184758: ; 0x02184758 add r2, sp, #0x18 add r0, r4, #0x54 add r1, r4, #0x7c - bl func_01ff9bc4 + bl Vec3p_Add add r2, sp, #0xc add r0, r4, #0x48 add r1, r4, #0x7c - bl func_01ff9bc4 + bl Vec3p_Add add r0, r4, #0x60 str r0, [sp] mov r0, #2 @@ -9886,7 +9886,7 @@ func_ov37_02184758: ; 0x02184758 add r1, sp, #0x18 add r2, sp, #0xc mov r0, r4 - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi cmp r0, #0 addeq sp, sp, #0x24 moveq r0, #0 @@ -9937,7 +9937,7 @@ _02184850: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0x800 ldr r1, [r5, #0x4c] rsb r0, r0, #0 @@ -9953,12 +9953,12 @@ _02184850: mov r1, #0 mov r0, r5 str r1, [r2, #0x34] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _021848cc ldr r0, [r5, #0xc4] ldr r1, [r5, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9971,7 +9971,7 @@ _021848cc: beq _02184928 ldr r0, [r5, #0xc4] ldr r1, [r5, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r5 mov r1, r1, asr #0x10 @@ -9987,7 +9987,7 @@ _021848fc: add r1, r5, #0x60 mov r2, r0 strh ip, [r3, #0x80] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 bl _ZN5Actor12ApplyGravityEv _02184928: @@ -10018,7 +10018,7 @@ func_ov37_0218494c: ; 0x0218494c arm_func_start func_ov37_02184960 func_ov37_02184960: ; 0x02184960 ldrh r1, [r1, #0x78] - ldr ip, _021849a0 ; =data_02050f54 + ldr ip, _021849a0 ; =gSinCosTable mov r2, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -10034,7 +10034,7 @@ func_ov37_02184960: ; 0x02184960 strh r1, [r0, #0x54] bx lr .align 2, 0 -_021849a0: .word data_02050f54 +_021849a0: .word gSinCosTable arm_func_end func_ov37_02184960 .global func_ov37_021849a4 @@ -10069,7 +10069,7 @@ func_ov37_021849a4: ; 0x021849a4 bl func_ov00_020a61ac add r0, sp, #0x20 add r1, sp, #0x2c - bl func_01ff9c2c + bl Vec3p_Dot mov r3, #0x1800 rsb r3, r3, #0 mvn ip, #0 @@ -10084,7 +10084,7 @@ func_ov37_021849a4: ; 0x021849a4 orr r0, r0, r3, lsl #20 add r1, sp, #0x2c mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0x14 mov r1, #0x400 bl func_01fffbec @@ -10103,7 +10103,7 @@ func_ov37_021849a4: ; 0x021849a4 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldrh r0, [r5, #0x78] - ldr lr, _02184b60 ; =data_02050f54 + ldr lr, _02184b60 ; =gSinCosTable ldr r4, _02184b64 ; =0x000004cd mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 @@ -10153,7 +10153,7 @@ _02184b50: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02184b60: .word data_02050f54 +_02184b60: .word gSinCosTable _02184b64: .word 0x000004cd _02184b68: .word data_027e0ffc _02184b6c: .word 0x0000019b @@ -10214,7 +10214,7 @@ func_ov37_02184bc0: ; 0x02184bc0 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0218503c ; =data_02050f54 + ldr r1, _0218503c ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r4, [r1, r2] @@ -10483,7 +10483,7 @@ _02184d70: add sp, sp, #0xb4 ldmia sp!, {r4, r5, pc} .align 2, 0 -_0218503c: .word data_02050f54 +_0218503c: .word gSinCosTable _02185040: .word 0x00000333 _02185044: .word data_ov37_02188508 _02185048: .word 0x010800c0 @@ -10545,7 +10545,7 @@ func_ov37_021850cc: ; 0x021850cc mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _02185104 _021850fc: @@ -10707,17 +10707,17 @@ _021852fc: .word 0x524f5045 .global func_ov37_02185300 arm_func_start func_ov37_02185300 func_ov37_02185300: ; 0x02185300 - ldr ip, _0218530c ; =func_01fffcec + ldr ip, _0218530c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_0218530c: .word func_01fffcec +_0218530c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov37_02185300 .global func_ov37_02185310 arm_func_start func_ov37_02185310 func_ov37_02185310: ; 0x02185310 - ldr r1, _02185360 ; =data_027e0d0c + ldr r1, _02185360 ; =gVec3p_ZERO mov ip, #0x1000 ldr r3, [r1] mov r2, #0x2000 @@ -10738,7 +10738,7 @@ func_ov37_02185310: ; 0x02185310 mov r0, #1 bx lr .align 2, 0 -_02185360: .word data_027e0d0c +_02185360: .word gVec3p_ZERO arm_func_end func_ov37_02185310 .global func_ov37_02185364 @@ -10831,7 +10831,7 @@ func_ov37_02185410: ; 0x02185410 arm_func_start func_ov37_0218544c func_ov37_0218544c: ; 0x0218544c stmdb sp!, {r3, lr} - ldr r1, _021854a4 ; =data_027e0d0c + ldr r1, _021854a4 ; =gVec3p_ZERO ldr ip, _021854a8 ; =0x0000099a ldr r2, [r1] mov r3, #0 @@ -10853,7 +10853,7 @@ func_ov37_0218544c: ; 0x0218544c mov r0, #1 ldmia sp!, {r3, pc} .align 2, 0 -_021854a4: .word data_027e0d0c +_021854a4: .word gVec3p_ZERO _021854a8: .word 0x0000099a arm_func_end func_ov37_0218544c @@ -11443,7 +11443,7 @@ _02185c08: ; jump table _02185c20: ldrh r1, [r4, #0x78] ldr r0, [sp] - ldr r2, _02186178 ; =data_02050f54 + ldr r2, _02186178 ; =gSinCosTable str r0, [r7] ldr r0, [sp, #4] mov r1, r1, asr #0x4 @@ -11500,7 +11500,7 @@ _02185c20: _02185d00: ldrh r1, [r4, #0x78] ldr r0, [sp] - ldr r2, _02186178 ; =data_02050f54 + ldr r2, _02186178 ; =gSinCosTable str r0, [r7] ldr r0, [sp, #4] mov r1, r1, asr #0x4 @@ -11557,7 +11557,7 @@ _02185d00: _02185de0: ldrh r1, [r4, #0x78] ldr r0, [sp] - ldr r2, _02186178 ; =data_02050f54 + ldr r2, _02186178 ; =gSinCosTable str r0, [r7] ldr r0, [sp, #4] mov r1, r1, asr #0x4 @@ -11614,7 +11614,7 @@ _02185de0: _02185ec0: ldrh r1, [r4, #0x78] ldr r0, [sp] - ldr r2, _02186178 ; =data_02050f54 + ldr r2, _02186178 ; =gSinCosTable str r0, [r7] ldr r0, [sp, #4] mov r1, r1, asr #0x4 @@ -11671,7 +11671,7 @@ _02185ec0: _02185fa0: ldrh r1, [r4, #0x78] ldr r0, [sp] - ldr r2, _02186178 ; =data_02050f54 + ldr r2, _02186178 ; =gSinCosTable str r0, [r7] ldr r0, [sp, #4] mov r1, r1, asr #0x4 @@ -11728,7 +11728,7 @@ _02185fa0: _02186080: ldrh r1, [r4, #0x78] ldr r0, [sp] - ldr r2, _02186178 ; =data_02050f54 + ldr r2, _02186178 ; =gSinCosTable str r0, [r7] ldr r0, [sp, #4] mov r1, r1, asr #0x4 @@ -11790,7 +11790,7 @@ _02186168: .word data_ov37_02188658 _0218616c: .word data_ov37_02188664 _02186170: .word data_ov37_02188670 _02186174: .word data_ov37_0218867c -_02186178: .word data_02050f54 +_02186178: .word gSinCosTable arm_func_end func_ov37_02185b6c .global func_ov37_0218617c @@ -11809,14 +11809,14 @@ func_ov37_02186184: ; 0x02186184 bne _021861b4 ldr r0, [r4, #4] bl func_ov37_02186e60 - ldr r0, _02186208 ; =data_027e0fc8 + ldr r0, _02186208 ; =gPlayerLink ldr r1, [r4, #4] ldr r0, [r0] add r1, r1, #0x60 bl func_ov00_020bbbb8 b _02186200 _021861b4: - ldr r0, _0218620c ; =data_027e0fe4 + ldr r0, _0218620c ; =gActorManager mov r1, r2 ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj @@ -11839,8 +11839,8 @@ _02186200: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02186208: .word data_027e0fc8 -_0218620c: .word data_027e0fe4 +_02186208: .word gPlayerLink +_0218620c: .word gActorManager _02186210: .word 0x424b4559 _02186214: .word 0x43525953 _02186218: .word 0x464f5243 @@ -11908,7 +11908,7 @@ func_ov37_021862d0: ; 0x021862d0 stmdb sp!, {r4, lr} ldr r1, _02186380 ; =data_ov37_02188f88 mov r4, r0 - ldr r0, _02186384 ; =data_027e0fe4 + ldr r0, _02186384 ; =gActorManager str r1, [r4] add r1, r4, #4 ldr r0, [r0] @@ -11952,7 +11952,7 @@ _02186300: ldmia sp!, {r4, pc} .align 2, 0 _02186380: .word data_ov37_02188f88 -_02186384: .word data_027e0fe4 +_02186384: .word gActorManager _02186388: .word data_027e0f6c _0218638c: .word func_ov00_020b7d74 arm_func_end func_ov37_021862d0 @@ -11963,7 +11963,7 @@ func_ov37_02186390: ; 0x02186390 stmdb sp!, {r4, lr} ldr r1, _02186448 ; =data_ov37_02188f88 mov r4, r0 - ldr r0, _0218644c ; =data_027e0fe4 + ldr r0, _0218644c ; =gActorManager str r1, [r4] add r1, r4, #4 ldr r0, [r0] @@ -12009,7 +12009,7 @@ _021863c0: ldmia sp!, {r4, pc} .align 2, 0 _02186448: .word data_ov37_02188f88 -_0218644c: .word data_027e0fe4 +_0218644c: .word gActorManager _02186450: .word data_027e0f6c _02186454: .word func_ov00_020b7d74 arm_func_end func_ov37_02186390 @@ -12081,7 +12081,7 @@ func_ov37_02186458: ; 0x02186458 str r3, [sp, #4] blx ip add r0, sp, #0x14 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x14 str r1, [sp, #0x30] @@ -12100,7 +12100,7 @@ func_ov37_02186458: ; 0x02186458 add r3, sp, #0x14 add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _0218666c ; =data_027e0fe4 + ldr r0, _0218666c ; =gActorManager add r1, r4, #4 ldr r0, [r0] add r1, r1, #0x400 @@ -12151,7 +12151,7 @@ _0218665c: .word data_ov37_02188f00 _02186660: .word data_027e0f6c _02186664: .word data_027e0fe8 _02186668: .word 0x57534243 -_0218666c: .word data_027e0fe4 +_0218666c: .word gActorManager _02186670: .word gMapManager arm_func_end func_ov37_02186458 @@ -12239,7 +12239,7 @@ func_ov37_02186720: ; 0x02186720 addgt sp, sp, #0xa4 movgt r0, #0 ldmgtia sp!, {r3, r4, r5, r6, pc} - ldr r0, _02186850 ; =data_027e0fe4 + ldr r0, _02186850 ; =gActorManager add r1, r4, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -12299,7 +12299,7 @@ func_ov37_02186720: ; 0x02186720 add sp, sp, #0xa4 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_02186850: .word data_027e0fe4 +_02186850: .word gActorManager _02186854: .word 0x0000ffff _02186858: .word gMapManager arm_func_end func_ov37_02186720 @@ -12559,13 +12559,13 @@ func_ov37_02186b68: ; 0x02186b68 add r0, r4, #0xc add r1, sp, #0x2c add r0, r0, #0x400 - bl func_01ff9ec0 + bl Vec3p_Distance add r1, r4, #0xc mov r5, r0 add r0, r1, #0x400 add r2, sp, #0x20 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 ldr r3, _02186ca8 ; =0x66666667 str r1, [sp, #0x24] @@ -12664,7 +12664,7 @@ func_ov37_02186cdc: ; 0x02186cdc add r2, sp, #0 add r0, r4, #0x14 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 ldr r1, _02186d38 ; =0x000004cd mov r2, r0 @@ -12712,7 +12712,7 @@ func_ov37_02186d60: ; 0x02186d60 ldrneb r0, [r0, #0x28] cmpne r0, #0 beq _02186dd0 - ldr r0, _02186e58 ; =data_027e0fa0 + ldr r0, _02186e58 ; =gPlayerVel ldr r0, [r0, #4] cmp r0, #0 ble _02186dd0 @@ -12767,7 +12767,7 @@ _02186dd0: add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02186e58: .word data_027e0fa0 +_02186e58: .word gPlayerVel _02186e5c: .word 0xffffe4cd arm_func_end func_ov37_02186d60 @@ -12921,7 +12921,7 @@ _02187034: arm_func_start func_ov37_0218703c func_ov37_0218703c: ; 0x0218703c stmdb sp!, {r4, lr} - ldr r2, _0218707c ; =data_027e0f94 + ldr r2, _0218707c ; =gPlayerPos mov r4, r0 ldr r2, [r2, #4] cmp r2, #0x3000 @@ -12937,7 +12937,7 @@ func_ov37_0218703c: ; 0x0218703c mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0218707c: .word data_027e0f94 +_0218707c: .word gPlayerPos arm_func_end func_ov37_0218703c .global func_ov37_02187080 @@ -12970,7 +12970,7 @@ _021870d0: str r0, [r5, #0x20c] mov r0, r5 bl func_ov37_02187c34 - ldr r0, _02187744 ; =data_027e0fe4 + ldr r0, _02187744 ; =gActorManager add r1, r5, #4 ldr r0, [r0] add r1, r1, #0x400 @@ -12993,7 +12993,7 @@ _021870d0: str r1, [sp, #0x48] add r1, r4, #0x48 add r2, sp, #8 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x44] mov r0, r4 str r1, [r4, #0x48] @@ -13008,7 +13008,7 @@ _021870d0: ldr r1, [sp, #0x10] str r1, [r4, #0x68] bl func_ov37_021854c4 - ldr r0, _02187748 ; =data_027e0fc8 + ldr r0, _02187748 ; =gPlayerLink add r1, sp, #0x44 ldr r0, [r0] bl func_ov00_020bb6d4 @@ -13020,7 +13020,7 @@ _021870d0: cmpne r0, #7 cmpne r0, #8 beq _0218738c - ldr r0, _0218774c ; =data_027e0f94 + ldr r0, _0218774c ; =gPlayerPos ldr r0, [r0, #4] cmp r0, #0x3000 ble _0218738c @@ -13034,7 +13034,7 @@ _021870d0: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _0218738c _021871e8: @@ -13109,7 +13109,7 @@ _02187284: add r2, r5, #0x48 mov r3, #0 bl func_ov00_020ceacc - ldr r0, _02187748 ; =data_027e0fc8 + ldr r0, _02187748 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -13379,7 +13379,7 @@ _021876bc: bl func_ov37_02186d3c cmp r0, #0 beq _02187730 - ldr r0, _02187744 ; =data_027e0fe4 + ldr r0, _02187744 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -13393,7 +13393,7 @@ _021876bc: _02187700: mov r0, r5 bl func_ov37_02186700 - ldr r0, _02187744 ; =data_027e0fe4 + ldr r0, _02187744 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -13410,9 +13410,9 @@ _02187730: add sp, sp, #0x50 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02187744: .word data_027e0fe4 -_02187748: .word data_027e0fc8 -_0218774c: .word data_027e0f94 +_02187744: .word gActorManager +_02187748: .word gPlayerLink +_0218774c: .word gPlayerPos _02187750: .word 0x424d524e _02187754: .word data_027e0ffc _02187758: .word 0x0000019d @@ -13458,7 +13458,7 @@ func_ov37_021877c0: ; 0x021877c0 mov r6, r1 mov r5, r2 mov r4, r3 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -13479,7 +13479,7 @@ func_ov37_021877c0: ; 0x021877c0 mov r2, r6 add r3, sp, #0x1c bl func_ov00_020c4048 - ldr r0, _021878a0 ; =data_027e0fe4 + ldr r0, _021878a0 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -13509,7 +13509,7 @@ _0218786c: .align 2, 0 _02187898: .word data_027e0fe8 _0218789c: .word 0x57534242 -_021878a0: .word data_027e0fe4 +_021878a0: .word gActorManager _021878a4: .word data_027e0e58 _021878a8: .word 0x00001001 arm_func_end func_ov37_021877c0 @@ -13525,7 +13525,7 @@ func_ov37_021878ac: ; 0x021878ac mov r1, #0 bl func_ov37_02185b6c ldrh r0, [r4, #0x78] - ldr r1, _02187bcc ; =data_02050f54 + ldr r1, _02187bcc ; =gSinCosTable mov ip, #0 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -13540,7 +13540,7 @@ func_ov37_021878ac: ; 0x021878ac str lr, [sp] str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x18 add r2, sp, #0xc mov r0, r4 @@ -13552,7 +13552,7 @@ func_ov37_021878ac: ; 0x021878ac bl func_ov37_02185b6c ldrh r2, [r4, #0x78] mov r0, #0 - ldr r1, _02187bcc ; =data_02050f54 + ldr r1, _02187bcc ; =gSinCosTable str r0, [sp, #4] mov r0, r2, asr #0x4 mov r3, r0, lsl #0x1 @@ -13566,7 +13566,7 @@ func_ov37_021878ac: ; 0x021878ac str r1, [sp, #8] add r1, sp, #0x18 add r2, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 add r1, sp, #0x18 add r2, sp, #0xc @@ -13582,7 +13582,7 @@ func_ov37_021878ac: ; 0x021878ac add r2, sp, #0x18 bl func_ov37_02185b6c ldrsh r0, [r4, #0x78] - ldr r1, _02187bcc ; =data_02050f54 + ldr r1, _02187bcc ; =gSinCosTable add r0, r0, #0xab add r0, r0, #0x2a00 mov r0, r0, lsl #0x10 @@ -13603,7 +13603,7 @@ func_ov37_021878ac: ; 0x021878ac add r2, sp, #0xc str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x18 add r2, sp, #0xc mov r0, r4 @@ -13615,7 +13615,7 @@ func_ov37_021878ac: ; 0x021878ac bl func_ov37_02185b6c ldrsh r1, [r4, #0x78] ldr r0, _02187bd8 ; =0xffffd555 - ldr r2, _02187bcc ; =data_02050f54 + ldr r2, _02187bcc ; =gSinCosTable add r0, r1, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -13635,7 +13635,7 @@ func_ov37_021878ac: ; 0x021878ac add r0, sp, #0 add r1, sp, #0x18 add r2, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 add r1, sp, #0x18 add r2, sp, #0xc @@ -13652,7 +13652,7 @@ func_ov37_021878ac: ; 0x021878ac bl func_ov37_02185b6c ldrsh r2, [r4, #0x78] mov r0, #0 - ldr r1, _02187bcc ; =data_02050f54 + ldr r1, _02187bcc ; =gSinCosTable str r0, [sp, #4] add r0, r2, #0xab add r0, r0, #0x2a00 @@ -13672,7 +13672,7 @@ func_ov37_021878ac: ; 0x021878ac str r1, [sp, #8] add r1, sp, #0x18 add r2, sp, #0xc - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x18 add r2, sp, #0xc mov r0, r4 @@ -13684,7 +13684,7 @@ func_ov37_021878ac: ; 0x021878ac bl func_ov37_02185b6c ldrsh r2, [r4, #0x78] ldr r0, _02187bd8 ; =0xffffd555 - ldr r1, _02187bcc ; =data_02050f54 + ldr r1, _02187bcc ; =gSinCosTable add r0, r2, r0 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -13704,7 +13704,7 @@ func_ov37_021878ac: ; 0x021878ac add r2, sp, #0xc str ip, [sp, #4] str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x18 mov r0, r4 add r2, sp, #0xc @@ -13718,7 +13718,7 @@ func_ov37_021878ac: ; 0x021878ac add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02187bcc: .word data_02050f54 +_02187bcc: .word gSinCosTable _02187bd0: .word data_027e0ffc _02187bd4: .word 0x000002b1 _02187bd8: .word 0xffffd555 @@ -13784,11 +13784,11 @@ func_ov37_02187c5c: ; 0x02187c5c stmdb sp!, {r4, lr} sub sp, sp, #0x28 mov r4, r0 - ldr r0, _02187ce4 ; =data_027e0f94 + ldr r0, _02187ce4 ; =gPlayerPos add r2, sp, #0x1c add r1, r4, #0x54 - bl func_01ff9bf8 - ldr r0, _02187ce8 ; =data_027e0f90 + bl Vec3p_Sub + ldr r0, _02187ce8 ; =gPlayer ldr r1, [r4, #0x4c] ldr lr, [r4, #0x50] ldr ip, [r4, #0x48] @@ -13800,12 +13800,12 @@ func_ov37_02187c5c: ; 0x02187c5c str lr, [sp, #0x14] str r3, [sp, #0x10] str r2, [sp, #0x18] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 addeq sp, sp, #0x28 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02187ce8 ; =data_027e0f90 + ldr r0, _02187ce8 ; =gPlayer mov r1, #2 ldr r0, [r0] add r2, sp, #0x1c @@ -13816,8 +13816,8 @@ func_ov37_02187c5c: ; 0x02187c5c add sp, sp, #0x28 ldmia sp!, {r4, pc} .align 2, 0 -_02187ce4: .word data_027e0f94 -_02187ce8: .word data_027e0f90 +_02187ce4: .word gPlayerPos +_02187ce8: .word gPlayer arm_func_end func_ov37_02187c5c .global func_ov37_02187cec @@ -13826,11 +13826,11 @@ func_ov37_02187cec: ; 0x02187cec stmdb sp!, {r4, lr} sub sp, sp, #0x28 mov r4, r0 - ldr r0, _02187d84 ; =data_027e0f94 + ldr r0, _02187d84 ; =gPlayerPos add r2, sp, #0x1c add r1, r4, #0x54 - bl func_01ff9bf8 - ldr r0, _02187d88 ; =data_027e0f90 + bl Vec3p_Sub + ldr r0, _02187d88 ; =gPlayer ldr lr, [r4, #0x4c] ldr ip, [r4, #0x50] ldr r3, [r4, #0x48] @@ -13841,14 +13841,14 @@ func_ov37_02187cec: ; 0x02187cec str lr, [sp, #0x10] str ip, [sp, #0x14] str r2, [sp, #0x18] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _02187d78 mov r0, r4 bl func_ov00_020cca50 cmp r0, #0 beq _02187d78 - ldr r0, _02187d88 ; =data_027e0f90 + ldr r0, _02187d88 ; =gPlayer mov r1, #2 ldr r0, [r0] add r2, sp, #0x1c @@ -13863,8 +13863,8 @@ _02187d78: add sp, sp, #0x28 ldmia sp!, {r4, pc} .align 2, 0 -_02187d84: .word data_027e0f94 -_02187d88: .word data_027e0f90 +_02187d84: .word gPlayerPos +_02187d88: .word gPlayer _02187d8c: .word 0x000024cd arm_func_end func_ov37_02187cec @@ -15772,7 +15772,7 @@ data_ov37_02188ac0: ; 0x02188ac0 .word func_ov37_0217d68c .global data_ov37_02188ac4 data_ov37_02188ac4: ; 0x02188ac4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov37_02188ac8 data_ov37_02188ac8: ; 0x02188ac8 .word func_ov37_0217f120 @@ -15802,7 +15802,7 @@ data_ov37_02188ae8: ; 0x02188ae8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov37_02188aec data_ov37_02188aec: ; 0x02188aec - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov37_02188af0 data_ov37_02188af0: ; 0x02188af0 .word func_ov00_020caeb4 @@ -16192,7 +16192,7 @@ data_ov37_02188cec: ; 0x02188cec .word func_ov37_0218494c .global data_ov37_02188cf0 data_ov37_02188cf0: ; 0x02188cf0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov37_02188cf4 data_ov37_02188cf4: ; 0x02188cf4 .word func_ov37_02184bc0 @@ -16225,7 +16225,7 @@ data_ov37_02188d18: ; 0x02188d18 .word func_ov37_0218468c .global data_ov37_02188d1c data_ov37_02188d1c: ; 0x02188d1c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov37_02188d20 data_ov37_02188d20: ; 0x02188d20 .word _ZN5Actor8vfunc_4cEPi @@ -16333,7 +16333,7 @@ data_ov37_02188da8: ; 0x02188da8 .word _ZN5Actor8vfunc_18Ej .global data_ov37_02188dac data_ov37_02188dac: ; 0x02188dac - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov37_02188db0 data_ov37_02188db0: ; 0x02188db0 .word _ZN5Actor8vfunc_20Ei @@ -16363,7 +16363,7 @@ data_ov37_02188dd0: ; 0x02188dd0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov37_02188dd4 data_ov37_02188dd4: ; 0x02188dd4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov37_02188dd8 data_ov37_02188dd8: ; 0x02188dd8 .word func_ov37_02185178 @@ -16474,7 +16474,7 @@ data_ov37_02188e64: ; 0x02188e64 .word _ZN5Actor8vfunc_18Ej .global data_ov37_02188e68 data_ov37_02188e68: ; 0x02188e68 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov37_02188e6c data_ov37_02188e6c: ; 0x02188e6c .word _ZN5Actor8vfunc_20Ei @@ -16504,7 +16504,7 @@ data_ov37_02188e8c: ; 0x02188e8c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov37_02188e90 data_ov37_02188e90: ; 0x02188e90 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov37_02188e94 data_ov37_02188e94: ; 0x02188e94 .word func_ov37_02185410 @@ -16711,7 +16711,7 @@ data_ov37_02188fa0: ; 0x02188fa0 .word func_ov00_020cad30 .global data_ov37_02188fa4 data_ov37_02188fa4: ; 0x02188fa4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov37_02188fa8 data_ov37_02188fa8: ; 0x02188fa8 .word func_ov00_020cb1c0 @@ -16741,7 +16741,7 @@ data_ov37_02188fc8: ; 0x02188fc8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov37_02188fcc data_ov37_02188fcc: ; 0x02188fcc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov37_02188fd0 data_ov37_02188fd0: ; 0x02188fd0 .word func_ov37_0218703c diff --git a/asm/ov38.inc b/asm/ov38.inc index 59d54df1..9f216de0 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -15,7 +15,7 @@ .extern _ZN14AdventureFlags3SetEjb .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor14GetAngleToLinkEv @@ -25,20 +25,20 @@ .extern _ZN5Actor18func_ov00_020c198cEv .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c2e7cEv .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -68,7 +68,7 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02051054 .extern data_02057200 .extern data_027e01b8 @@ -77,15 +77,15 @@ .extern data_027e0764 .extern data_027e0c68 .extern data_027e0ce0 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0e58 .extern data_027e0e5c .extern data_027e0f64 .extern data_027e0f6c -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -102,21 +102,21 @@ .extern func_01ff8230 .extern func_01ff9958 .extern func_01ff9b4c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Cross +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffa94c .extern func_01ffa9fc .extern func_01fffb4c .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_0200536c .extern func_02005398 .extern func_020053c4 @@ -199,7 +199,7 @@ .extern func_ov00_020c0d4c .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -231,14 +231,14 @@ .extern func_ov14_02122eb8 .extern func_ov14_021231d4 .extern func_ov14_02123904 -.extern func_ov14_0213d420 -.extern func_ov14_0213d440 -.extern func_ov14_0213d480 -.extern func_ov14_0213d81c -.extern func_ov14_0213d91c -.extern func_ov14_0213dadc -.extern func_ov14_0213ddd4 -.extern func_ov14_0213defc +.extern _ZN9EquipRope18func_ov14_0213d420Ev +.extern _ZN9EquipRope18func_ov14_0213d440Ei +.extern _ZN9EquipRope18func_ov14_0213d480Ei +.extern _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p +.extern _ZN9EquipRope18func_ov14_0213d91cEi +.extern _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder +.extern _ZN9EquipRope18func_ov14_0213ddd4EP5Actor +.extern _ZN9EquipRope18func_ov14_0213defcEP5Actor .extern func_ov29_0216d74c .extern func_ov29_0216d77c .extern func_ov29_0216d86c diff --git a/asm/ov38.s b/asm/ov38.s index 6b9c8b22..089f2068 100644 --- a/asm/ov38.s +++ b/asm/ov38.s @@ -158,12 +158,12 @@ func_ov38_0217bf40: ; 0x0217bf40 func_ov38_0217bf48: ; 0x0217bf48 stmdb sp!, {r3, lr} sub sp, sp, #0x18 - ldr r1, _0217c030 ; =data_027e0fe4 + ldr r1, _0217c030 ; =gActorManager ldr r2, _0217c034 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0x10 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217c030 ; =data_027e0fe4 + ldr r0, _0217c030 ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -174,12 +174,12 @@ func_ov38_0217bf48: ; 0x0217bf48 add r0, r0, #0x300 strh r2, [r0, #0xc4] strh r2, [r0, #0xc6] - ldr r1, _0217c030 ; =data_027e0fe4 + ldr r1, _0217c030 ; =gActorManager ldr r2, _0217c03c ; =0x57534e56 ldr r1, [r1] add r0, sp, #8 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217c030 ; =data_027e0fe4 + ldr r0, _0217c030 ; =gActorManager ldr r3, [sp, #8] ldr r2, [sp, #0xc] ldr r0, [r0] @@ -189,7 +189,7 @@ func_ov38_0217bf48: ; 0x0217bf48 bl _ZN12ActorManager8GetActorEP8ActorRef mov r1, #1 strb r1, [r0, #0x28d] - ldr r1, _0217c030 ; =data_027e0fe4 + ldr r1, _0217c030 ; =gActorManager ldr r2, _0217c040 ; =0x46434e56 ldr r1, [r1] add r0, sp, #0 @@ -197,7 +197,7 @@ func_ov38_0217bf48: ; 0x0217bf48 ldr r0, [sp, #4] ldr r1, [sp] str r0, [sp, #0x14] - ldr r0, _0217c030 ; =data_027e0fe4 + ldr r0, _0217c030 ; =gActorManager str r1, [sp, #0x10] ldr r0, [r0] add r1, sp, #0x10 @@ -215,7 +215,7 @@ func_ov38_0217bf48: ; 0x0217bf48 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 -_0217c030: .word data_027e0fe4 +_0217c030: .word gActorManager _0217c034: .word 0x4e415649 _0217c038: .word 0x00004a52 _0217c03c: .word 0x57534e56 @@ -230,24 +230,24 @@ _0217c04c: .word data_ov38_021891e0 func_ov38_0217c050: ; 0x0217c050 stmdb sp!, {r3, lr} sub sp, sp, #0x18 - ldr r1, _0217c128 ; =data_027e0fe4 + ldr r1, _0217c128 ; =gActorManager ldr r2, _0217c12c ; =0x4e415649 ldr r1, [r1] add r0, sp, #0x10 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217c128 ; =data_027e0fe4 + ldr r0, _0217c128 ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r1, #0 strb r1, [r0, #0x28d] strb r1, [r0, #0x3c1] - ldr r1, _0217c128 ; =data_027e0fe4 + ldr r1, _0217c128 ; =gActorManager ldr r2, _0217c130 ; =0x57534e56 ldr r1, [r1] add r0, sp, #8 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217c128 ; =data_027e0fe4 + ldr r0, _0217c128 ; =gActorManager ldr r3, [sp, #8] ldr r2, [sp, #0xc] ldr r0, [r0] @@ -257,7 +257,7 @@ func_ov38_0217c050: ; 0x0217c050 bl _ZN12ActorManager8GetActorEP8ActorRef mov r1, #0 strb r1, [r0, #0x28d] - ldr r1, _0217c128 ; =data_027e0fe4 + ldr r1, _0217c128 ; =gActorManager ldr r2, _0217c134 ; =0x46434e56 ldr r1, [r1] add r0, sp, #0 @@ -265,7 +265,7 @@ func_ov38_0217c050: ; 0x0217c050 ldr r0, [sp, #4] ldr r1, [sp] str r0, [sp, #0x14] - ldr r0, _0217c128 ; =data_027e0fe4 + ldr r0, _0217c128 ; =gActorManager str r1, [sp, #0x10] ldr r0, [r0] add r1, sp, #0x10 @@ -283,7 +283,7 @@ func_ov38_0217c050: ; 0x0217c050 add sp, sp, #0x18 ldmia sp!, {r3, pc} .align 2, 0 -_0217c128: .word data_027e0fe4 +_0217c128: .word gActorManager _0217c12c: .word 0x4e415649 _0217c130: .word 0x57534e56 _0217c134: .word 0x46434e56 @@ -962,10 +962,10 @@ func_ov38_0217ca70: ; 0x0217ca70 mov r0, r7 mov r1, r6 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r1, r0 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, [sp, #0x20] mul r2, r1, r1 cmp r0, r2, asr #12 @@ -998,7 +998,7 @@ _0217cb0c: mov r0, r5 mov r2, r6 mov r3, r6 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} @@ -1015,7 +1015,7 @@ func_ov38_0217cb2c: ; 0x0217cb2c add r2, sp, #0 mov r1, r6 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r3, [r5] smull r2, r1, r0, r4 @@ -1068,7 +1068,7 @@ func_ov38_0217cb2c: ; 0x0217cb2c mov r4, r4, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [r5, #8] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov38_0217cb2c @@ -1267,7 +1267,7 @@ func_ov38_0217ce84: ; 0x0217ce84 ldr r4, [r1, #0xb4] add r0, r0, #0x1000 ldr r1, [r4] - ldr r3, _0217cee4 ; =data_02050f54 + ldr r3, _0217cee4 ; =gSinCosTable bic r1, r1, #2 str r1, [r4] ldrh r1, [r0, #0x88] @@ -1287,7 +1287,7 @@ func_ov38_0217ce84: ; 0x0217ce84 add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217cee4: .word data_02050f54 +_0217cee4: .word gSinCosTable arm_func_end func_ov38_0217ce84 .global func_ov38_0217cee8 @@ -1302,7 +1302,7 @@ func_ov38_0217cee8: ; 0x0217cee8 bic r1, r1, #2 str r1, [r4] ldrh r1, [r0, #0x8c] - ldr r3, _0217cf8c ; =data_02050f54 + ldr r3, _0217cf8c ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1318,7 +1318,7 @@ func_ov38_0217cee8: ; 0x0217cee8 bl func_0202e030 add r0, r5, #0x1000 ldrh r1, [r0, #0x8a] - ldr r3, _0217cf8c ; =data_02050f54 + ldr r3, _0217cf8c ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1335,7 +1335,7 @@ func_ov38_0217cee8: ; 0x0217cee8 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217cf8c: .word data_02050f54 +_0217cf8c: .word gSinCosTable arm_func_end func_ov38_0217cee8 .global func_ov38_0217cf90 @@ -1494,11 +1494,11 @@ _0217cff0: add r0, r0, #0x40 bl func_0201e388 ldr r2, _0217d518 ; =data_ov38_021891e0 - ldr r3, _0217d53c ; =data_027e0d0c + ldr r3, _0217d53c ; =gVec3p_ZERO str r0, [r2, #0x40] ldrsh r0, [r10, #0x78] add r1, r10, #0x1000 - ldr r5, _0217d540 ; =data_02050f54 + ldr r5, _0217d540 ; =gSinCosTable strh r0, [r1, #0x7c] ldr r0, [r3] mov r2, #0 @@ -1564,11 +1564,11 @@ _0217cff0: add r6, sp, #0x18 ldr r5, _0217d548 ; =data_ov38_02189224 ldr r4, _0217d54c ; =data_027e0fe8 - ldr r11, _0217d550 ; =data_027e0fe4 + ldr r11, _0217d550 ; =gActorManager b _0217d360 _0217d30c: mov r0, r8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mov r0, r8 str r7, [sp, #0x50] str r7, [sp, #0x54] @@ -1638,22 +1638,22 @@ _0217d360: add r0, r10, #0x2c8 mov r1, #0 bl func_ov38_0217be04 - ldr r1, _0217d550 ; =data_027e0fe4 + ldr r1, _0217d550 ; =gActorManager ldr r2, _0217d55c ; =0x42524d31 ldr r1, [r1] add r0, sp, #0xc bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217d550 ; =data_027e0fe4 + ldr r0, _0217d550 ; =gActorManager add r1, sp, #0xc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r10, #0xff4] - ldr r1, _0217d550 ; =data_027e0fe4 + ldr r1, _0217d550 ; =gActorManager ldr r2, _0217d560 ; =0x4e415649 ldr r1, [r1] add r0, sp, #4 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217d550 ; =data_027e0fe4 + ldr r0, _0217d550 ; =gActorManager ldr r3, [sp, #4] ldr r2, [sp, #8] ldr r0, [r0] @@ -1709,12 +1709,12 @@ _0217d52c: .word data_ov38_02188a88 _0217d530: .word data_ov38_02188a9c _0217d534: .word data_ov38_02188ab0 _0217d538: .word data_ov38_02188ac4 -_0217d53c: .word data_027e0d0c -_0217d540: .word data_02050f54 +_0217d53c: .word gVec3p_ZERO +_0217d540: .word gSinCosTable _0217d544: .word data_027e01b8 _0217d548: .word data_ov38_02189224 _0217d54c: .word data_027e0fe8 -_0217d550: .word data_027e0fe4 +_0217d550: .word gActorManager _0217d554: .word 0x474f3145 _0217d558: .word 0x000014cd _0217d55c: .word 0x42524d31 @@ -1832,11 +1832,11 @@ func_ov38_0217d6d8: ; 0x0217d6d8 add r2, sp, #0x10 add r0, r4, #0x48 add r1, r4, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x10 str r1, [sp, #0x14] - bl func_01ff9cec + bl Vec3p_Length cmp r0, #0x1400 ble _0217d760 add r0, sp, #0x10 @@ -1848,27 +1848,27 @@ func_ov38_0217d6d8: ; 0x0217d6d8 add r3, r4, #0x48 mov r0, #0x1400 ldr r5, [r4, #0x4c] - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0x10 add r1, r4, #0x60 str r5, [r4, #0x4c] - bl func_01ff9c2c + bl Vec3p_Dot ldr r2, _0217d904 ; =0xffffe99a add r1, sp, #0x10 mul r2, r0, r2 mov r0, r2, asr #0xc add r2, r4, #0x60 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy _0217d760: - ldr r1, _0217d908 ; =data_027e0f94 + ldr r1, _0217d908 ; =gPlayerPos add r2, sp, #0x10 add r0, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x10 str r1, [sp, #0x14] - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 cmp r5, #0x5000 bge _0217d7b8 @@ -1882,12 +1882,12 @@ _0217d760: add r1, sp, #0x10 mov r0, r0, asr #0xc mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy _0217d7b8: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x60] ldr r0, _0217d90c ; =0x00000d9a mov r2, #0x200 @@ -1946,7 +1946,7 @@ _0217d874: blx r2 ldrsh r1, [r4, #0x78] mov r0, #0 - ldr lr, _0217d914 ; =data_02050f54 + ldr lr, _0217d914 ; =gSinCosTable add r1, r1, r1, lsr #31 mov r1, r1, lsl #0xf mov r1, r1, lsr #0x10 @@ -1970,10 +1970,10 @@ _0217d874: ldmia sp!, {r4, r5, pc} .align 2, 0 _0217d904: .word 0xffffe99a -_0217d908: .word data_027e0f94 +_0217d908: .word gPlayerPos _0217d90c: .word 0x00000d9a _0217d910: .word data_027e0ffc -_0217d914: .word data_02050f54 +_0217d914: .word gSinCosTable arm_func_end func_ov38_0217d6d8 .global func_ov38_0217d918 @@ -1986,11 +1986,11 @@ func_ov38_0217d918: ; 0x0217d918 bl func_ov38_0217dac0 ldr r1, [r7, #8] mov r5, r0 - bl func_ov14_0213d440 + bl _ZN9EquipRope18func_ov14_0213d440Ei movs r6, r0 bmi _0217da1c mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, r4 moveq r0, #0 @@ -1999,7 +1999,7 @@ func_ov38_0217d918: ; 0x0217d918 add r2, sp, #0x1c mov r0, r5 mov r1, r6 - bl func_ov14_0213d81c + bl _ZN9EquipRope18func_ov14_0213d81cEiP5Vec3p cmp r0, #0 beq _0217da0c ldr r1, [sp, #0x1c] @@ -2017,10 +2017,10 @@ func_ov38_0217d918: ; 0x0217d918 mov r3, r2, asr #0xc mov r2, r1 str r3, [r7, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add add r0, r7, #0x48 add r1, r7, #0x14 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x3000 bge _0217d9f0 add r1, sp, #0xc @@ -2029,14 +2029,14 @@ func_ov38_0217d918: ; 0x0217d918 add r2, sp, #0xc mov r0, r5 mov r1, r6 - bl func_ov14_0213dadc + bl _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder cmp r0, #0 moveq r4, #0 b _0217da20 _0217d9f0: mov r0, r5 mov r1, r6 - bl func_ov14_0213d91c + bl _ZN9EquipRope18func_ov14_0213d91cEi mov r0, r5 bl func_ov57_02199e24 mov r4, #0 @@ -2064,7 +2064,7 @@ _0217da20: blx r2 ldrsh r1, [r7, #0x78] mov r0, #0 - ldr r6, _0217dabc ; =data_02050f54 + ldr r6, _0217dabc ; =gSinCosTable add r1, r1, r1, lsr #31 mov r1, r1, lsl #0xf mov r1, r1, lsr #0x10 @@ -2090,17 +2090,17 @@ _0217da20: add sp, sp, #0x28 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0217dabc: .word data_02050f54 +_0217dabc: .word gSinCosTable arm_func_end func_ov38_0217d918 .global func_ov38_0217dac0 arm_func_start func_ov38_0217dac0 func_ov38_0217dac0: ; 0x0217dac0 - ldr ip, _0217dacc ; =func_01fffcec + ldr ip, _0217dacc ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_0217dacc: .word func_01fffcec +_0217dacc: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov38_0217dac0 .global func_ov38_0217dad0 @@ -2112,11 +2112,11 @@ func_ov38_0217dad0: ; 0x0217dad0 add r2, sp, #0x10 add r0, r4, #0x48 add r1, r4, #0x14 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x10 str r1, [sp, #0x14] - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 cmp r5, #0x2800 ble _0217db58 @@ -2129,16 +2129,16 @@ func_ov38_0217dad0: ; 0x0217dad0 add r3, r4, #0x48 mov r0, #0x2800 ldr r5, [r4, #0x4c] - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0x10 add r1, r4, #0x60 str r5, [r4, #0x4c] - bl func_01ff9c2c + bl Vec3p_Dot add r2, r4, #0x60 add r1, sp, #0x10 rsb r0, r0, #0 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy b _0217dbbc _0217db58: ldr r0, [r4, #0x2d8] @@ -2166,12 +2166,12 @@ _0217db9c: add r1, sp, #0x10 mov r0, r0, asr #0xc mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy _0217dbbc: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r4, #0x60] ldr r0, _0217dcd4 ; =0x00000f33 mov r1, #0 @@ -2185,7 +2185,7 @@ _0217dbbc: str r0, [r4, #0x68] ldr r0, [sp, #0x10] ldr r1, [sp, #0x18] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r2, #0x400 mov ip, #0xb6 @@ -2216,7 +2216,7 @@ _0217dbbc: blx r2 ldrsh r0, [r4, #0x78] mov ip, #0 - ldr r2, _0217dcd8 ; =data_02050f54 + ldr r2, _0217dcd8 ; =gSinCosTable add r0, r0, r0, lsr #31 mov r0, r0, lsl #0xf mov r0, r0, lsr #0x10 @@ -2240,7 +2240,7 @@ _0217dbbc: ldmia sp!, {r4, r5, pc} .align 2, 0 _0217dcd4: .word 0x00000f33 -_0217dcd8: .word data_02050f54 +_0217dcd8: .word gSinCosTable arm_func_end func_ov38_0217dad0 .global func_ov38_0217dcdc @@ -2248,7 +2248,7 @@ _0217dcd8: .word data_02050f54 func_ov38_0217dcdc: ; 0x0217dcdc stmdb sp!, {r4, lr} sub sp, sp, #0x10 - ldr r1, _0217ddb8 ; =data_027e0d0c + ldr r1, _0217ddb8 ; =gVec3p_ZERO mov r4, r0 ldr r0, [r1] mov r3, #0x10 @@ -2279,7 +2279,7 @@ func_ov38_0217dcdc: ; 0x0217dcdc bl func_ov38_0217ca70 ldrsh r0, [r4, #0x78] mov r2, #0 - ldr lr, _0217ddc4 ; =data_02050f54 + ldr lr, _0217ddc4 ; =gSinCosTable add r0, r0, r0, lsr #31 mov r0, r0, lsl #0xf mov r0, r0, lsr #0x10 @@ -2302,10 +2302,10 @@ func_ov38_0217dcdc: ; 0x0217dcdc add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_0217ddb8: .word data_027e0d0c +_0217ddb8: .word gVec3p_ZERO _0217ddbc: .word 0x0000019a _0217ddc0: .word 0x00000266 -_0217ddc4: .word data_02050f54 +_0217ddc4: .word gSinCosTable arm_func_end func_ov38_0217dcdc .global func_ov38_0217ddc8 @@ -2323,7 +2323,7 @@ func_ov38_0217ddc8: ; 0x0217ddc8 add r0, r4, #0x78 bl func_ov38_0217c994 ldrsh r1, [r4, #0x78] - ldr lr, _0217de54 ; =data_02050f54 + ldr lr, _0217de54 ; =gSinCosTable mov r0, #0 add r1, r1, r1, lsr #31 mov r1, r1, lsl #0xf @@ -2347,7 +2347,7 @@ func_ov38_0217ddc8: ; 0x0217ddc8 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217de54: .word data_02050f54 +_0217de54: .word gSinCosTable arm_func_end func_ov38_0217ddc8 .global func_ov38_0217de58 @@ -2363,7 +2363,7 @@ func_ov38_0217de58: ; 0x0217de58 mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 - ldr r4, _0217debc ; =data_02050f54 + ldr r4, _0217debc ; =gSinCosTable mov lr, r1, lsl #0x1 add r1, r1, #1 mov ip, r1, lsl #0x1 @@ -2379,7 +2379,7 @@ func_ov38_0217de58: ; 0x0217de58 bl func_ov00_020d5cd8 ldmia sp!, {r4, pc} .align 2, 0 -_0217debc: .word data_02050f54 +_0217debc: .word gSinCosTable arm_func_end func_ov38_0217de58 .global func_ov38_0217dec0 @@ -2406,7 +2406,7 @@ func_ov38_0217dec0: ; 0x0217dec0 add r2, sp, #0x3c add r0, r0, #0xc00 str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x40] add r0, sp, #0x3c add r1, r1, #0x1000 @@ -2486,7 +2486,7 @@ func_ov38_0217dfe4: ; 0x0217dfe4 add r2, sp, #0x5c add r0, r0, #0xc00 str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x5c bl func_01fffb4c cmp r0, #0 @@ -2665,11 +2665,11 @@ func_ov38_0217e26c: ; 0x0217e26c add r2, sp, #0x4c add r0, r0, #0xc00 str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x4c mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x4c bl func_01fffb4c cmp r0, #0 @@ -2749,11 +2749,11 @@ func_ov38_0217e3a4: ; 0x0217e3a4 add r2, sp, #0x4c add r0, r0, #0xc00 str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x4c mov r1, r4 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x4c bl func_01fffb4c cmp r0, #0 @@ -2815,24 +2815,24 @@ func_ov38_0217e4e0: ; 0x0217e4e0 sub sp, sp, #0xc mov r7, r0 add r3, r7, #0x1000 - ldr r0, _0217e678 ; =data_027e0f94 + ldr r0, _0217e678 ; =gPlayerPos add r2, sp, #0 add r1, r7, #0x14 ldr r5, [r3, #0x78] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0 str r1, [sp, #4] - bl func_01ff9cec + bl Vec3p_Length add r1, r7, #0x1000 - ldr r2, _0217e678 ; =data_027e0f94 + ldr r2, _0217e678 ; =gPlayerPos ldrsh r3, [r1, #0x94] ldr r6, [r2, #4] mov r4, r0 strh r3, [r1, #0x96] ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 add r1, r7, #0x1000 ldr r2, _0217e67c ; =0x00011fd7 strh r0, [r1, #0x94] @@ -2920,7 +2920,7 @@ _0217e630: add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_0217e678: .word data_027e0f94 +_0217e678: .word gPlayerPos _0217e67c: .word 0x00011fd7 _0217e680: .word 0x0000be66 _0217e684: .word 0x0000bccd @@ -2939,7 +2939,7 @@ func_ov38_0217e688: ; 0x0217e688 bl func_ov38_0217dac0 ldr r1, [r4, #8] mov r5, r0 - bl func_ov14_0213d440 + bl _ZN9EquipRope18func_ov14_0213d440Ei add r1, r4, #0x1000 ldr r2, [r1, #0x5c] mov r6, r0 @@ -2950,7 +2950,7 @@ func_ov38_0217e688: ; 0x0217e688 cmp r6, #0 blt _0217e71c mov r0, r5 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -2962,14 +2962,14 @@ func_ov38_0217e688: ; 0x0217e688 add r2, sp, #0 mov r0, r5 mov r1, r6 - bl func_ov14_0213dadc + bl _ZN9EquipRope18func_ov14_0213dadcEiP8Cylinder add sp, sp, #0x10 mov r0, r7 ldmia sp!, {r3, r4, r5, r6, r7, pc} _0217e71c: ldr r1, [r4, #8] mov r0, r5 - bl func_ov14_0213d480 + bl _ZN9EquipRope18func_ov14_0213d480Ei cmp r0, #0 blt _0217e768 add sp, sp, #0x10 @@ -3002,7 +3002,7 @@ func_ov38_0217e77c: ; 0x0217e77c sub sp, sp, #0x3c mov r5, r0 bl func_ov38_02184120 - ldr r1, _0217e8b4 ; =data_027e0f94 + ldr r1, _0217e8b4 ; =gPlayerPos mov r4, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -3019,11 +3019,11 @@ func_ov38_0217e77c: ; 0x0217e77c str r3, [sp, #0x10] ldr r3, [r5, #0x1c] str r3, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x30 str r1, [sp, #0x34] - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 cmp r6, #0xb800 movgt r6, #0xb800 @@ -3053,7 +3053,7 @@ _0217e820: ldr r3, [r5, #0x1c] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add mov r2, #0 add r1, sp, #0x30 mov r0, r4 @@ -3070,7 +3070,7 @@ _0217e820: add r1, r5, #0x60 add r0, sp, #0x24 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217e8bc ; =data_027e0ffc ldr r1, _0217e8c0 ; =0x00000431 add r2, r5, #0x48 @@ -3079,7 +3079,7 @@ _0217e820: add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0217e8b4: .word data_027e0f94 +_0217e8b4: .word gPlayerPos _0217e8b8: .word 0xfffffe66 _0217e8bc: .word data_027e0ffc _0217e8c0: .word 0x00000431 @@ -3091,7 +3091,7 @@ func_ov38_0217e8c4: ; 0x0217e8c4 stmdb sp!, {r4, r5, r6, r7, r8, lr} sub sp, sp, #0x50 ldr r2, _0217ea44 ; =data_ov38_02188908 - ldr r1, _0217ea48 ; =data_027e0f94 + ldr r1, _0217ea48 ; =gPlayerPos ldrh r5, [r2, #0xc0] ldr r4, [r1] ldr r3, [r1, #4] @@ -3114,11 +3114,11 @@ func_ov38_0217e8c4: ; 0x0217e8c4 strh r6, [sp, #2] strh r5, [sp, #4] str r3, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x44 str r1, [sp, #0x48] - bl func_01ff9cec + bl Vec3p_Length mov r5, r0 cmp r5, #0xb800 movgt r5, #0xb800 @@ -3148,7 +3148,7 @@ _0217e97c: ldr r3, [r4, #0x1c] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r8, #0 str r8, [sp, #0x48] add r7, sp, #0x44 @@ -3179,7 +3179,7 @@ _0217e9c4: add r1, r4, #0x60 add r0, sp, #0x2c mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217ea50 ; =data_027e0ffc ldr r1, _0217ea54 ; =0x00000431 add r2, r4, #0x48 @@ -3189,7 +3189,7 @@ _0217e9c4: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _0217ea44: .word data_ov38_02188908 -_0217ea48: .word data_027e0f94 +_0217ea48: .word gPlayerPos _0217ea4c: .word 0xfffffccd _0217ea50: .word data_027e0ffc _0217ea54: .word 0x00000431 @@ -3272,7 +3272,7 @@ func_ov38_0217eaa0: ; 0x0217eaa0 mov r3, #0x7f strb ip, [r4, #0x11a] bl func_ov00_020d70a4 - ldr r0, _0217eb74 ; =data_027e0fc8 + ldr r0, _0217eb74 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] @@ -3286,7 +3286,7 @@ func_ov38_0217eaa0: ; 0x0217eaa0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0217eb70: .word data_ov00_020eec68 -_0217eb74: .word data_027e0fc8 +_0217eb74: .word gPlayerLink arm_func_end func_ov38_0217eaa0 .global func_ov38_0217eb78 @@ -3633,7 +3633,7 @@ _0217f074: mov r0, r1, lsl #0x10 mov r0, r0, lsr #0x10 mov r1, r0, asr #0x4 - ldr r0, _0217f21c ; =data_02050f54 + ldr r0, _0217f21c ; =gSinCosTable mov r1, r1, lsl #0x2 ldrsh r1, [r0, r1] mov r0, #0x3400 @@ -3648,14 +3648,14 @@ _0217f0a4: cmp r1, #0 bne _0217f0d0 ldr r2, [r0, #0x68] - ldr r1, _0217f220 ; =data_027e0fc8 + ldr r1, _0217f220 ; =gPlayerLink add r2, r2, #1 str r2, [r0, #0x68] ldr r0, [r1] bl func_ov00_020bb9b0 b _0217f114 _0217f0d0: - ldr r0, _0217f220 ; =data_027e0fc8 + ldr r0, _0217f220 ; =gPlayerLink ldr ip, [r4, #0xf5c] ldr r5, [r4, #0xf60] ldr r3, [r4, #0xf58] @@ -3691,7 +3691,7 @@ _0217f114: bl func_ov00_020a61ac add r0, r4, #0x1000 ldrsh r0, [r0, #0x82] - ldr r1, _0217f21c ; =data_02050f54 + ldr r1, _0217f21c ; =gSinCosTable mov r3, #0 add r0, r0, r0, lsr #31 mov r0, r0, lsl #0xf @@ -3742,8 +3742,8 @@ _0217f20c: .word 0x0000042e _0217f210: .word 0x00000733 _0217f214: .word 0x00007fff _0217f218: .word 0x00005555 -_0217f21c: .word data_02050f54 -_0217f220: .word data_027e0fc8 +_0217f21c: .word gSinCosTable +_0217f220: .word gPlayerLink _0217f224: .word data_ov00_020eec9c _0217f228: .word 0x0000042c arm_func_end func_ov38_0217eb78 @@ -4026,7 +4026,7 @@ _0217f608: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r4 mov r1, #0x1a bl _ZN5Actor18func_ov00_020c1fc8Ej @@ -4051,7 +4051,7 @@ _0217f608: add r0, sp, #0x28 add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0xe3c] cmp r0, #0 bne _0217f6b8 @@ -4118,7 +4118,7 @@ _0217f744: add r0, sp, #0x10 add r1, sp, #0x34 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0xe40] cmp r0, #0 bne _0217f7b4 @@ -4365,12 +4365,12 @@ _0217fa8c: bl func_ov38_0217dac0 mov r1, r4 mov r5, r0 - bl func_ov14_0213ddd4 + bl _ZN9EquipRope18func_ov14_0213ddd4EP5Actor cmp r0, #0 blt _0217fae8 mov r0, r5 mov r1, r4 - bl func_ov14_0213defc + bl _ZN9EquipRope18func_ov14_0213defcEP5Actor _0217fae8: add r0, r4, #0x2c8 mov r1, #2 @@ -4394,7 +4394,7 @@ _0217fb24: mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r4 mov r1, #0x1a bl _ZN5Actor18func_ov00_020c1fc8Ej @@ -4506,7 +4506,7 @@ _0217fc7c: mov r0, r4 mov r2, r1 strb r1, [r3, #0xa7] - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r0, r4 mov r1, #0x1a bl _ZN5Actor18func_ov00_020c1fc8Ej @@ -5021,7 +5021,7 @@ _021803c0: .word 0x0000043b arm_func_start func_ov38_021803c4 func_ov38_021803c4: ; 0x021803c4 stmdb sp!, {r4, r5, r6, lr} - ldr r3, _02180444 ; =data_027e0d0c + ldr r3, _02180444 ; =gVec3p_ZERO mov ip, #0 ldr r1, [r3] mov r2, ip @@ -5053,7 +5053,7 @@ func_ov38_021803c4: ; 0x021803c4 bl func_ov38_0217d570 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02180444: .word data_027e0d0c +_02180444: .word gVec3p_ZERO _02180448: .word data_027e0764 arm_func_end func_ov38_021803c4 @@ -5117,7 +5117,7 @@ _02180508: .word 0x00000b33 arm_func_start func_ov38_0218050c func_ov38_0218050c: ; 0x0218050c stmdb sp!, {r4, r5, r6, r7, r8, lr} - ldr r3, _021805d4 ; =data_027e0d0c + ldr r3, _021805d4 ; =gVec3p_ZERO mov r1, #0 ldr r4, [r3] mov r2, r1 @@ -5167,7 +5167,7 @@ func_ov38_0218050c: ; 0x0218050c bl func_ov38_0217d570 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_021805d4: .word data_027e0d0c +_021805d4: .word gVec3p_ZERO _021805d8: .word data_027e0764 arm_func_end func_ov38_0218050c @@ -5292,7 +5292,7 @@ _02180784: beq _02180a20 mov r0, r4 bl func_ov38_02184120 - ldr r1, _02180a48 ; =data_027e0f94 + ldr r1, _02180a48 ; =gPlayerPos mov r5, r0 ldr r2, [r1] ldr r0, [r1, #4] @@ -5309,11 +5309,11 @@ _02180784: str r3, [sp, #0x14] ldr r3, [r4, #0x1c] str r3, [sp, #0x18] - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x34 str r1, [sp, #0x38] - bl func_01ff9cec + bl Vec3p_Length mov r6, r0 cmp r6, #0xb800 movgt r6, #0xb800 @@ -5343,7 +5343,7 @@ _02180840: ldr r3, [r4, #0x1c] mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0x12000 str r0, [sp, #0x38] add r0, r4, #0x1000 @@ -5382,7 +5382,7 @@ _021808cc: add r1, r4, #0x60 add r0, sp, #0x28 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02180a58 ; =data_027e0ffc ldr r1, _02180a5c ; =0x00000432 add r2, r4, #0x48 @@ -5469,7 +5469,7 @@ _02180a20: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _02180a44: .word data_027e0764 -_02180a48: .word data_027e0f94 +_02180a48: .word gPlayerPos _02180a4c: .word data_ov38_02188908 _02180a50: .word data_ov38_02188938 _02180a54: .word 0xfffffe66 @@ -5483,7 +5483,7 @@ _02180a60: .word 0x00000b33 func_ov38_02180a64: ; 0x02180a64 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 - ldr r1, _02180bb4 ; =data_027e0d0c + ldr r1, _02180bb4 ; =gVec3p_ZERO mov r4, r0 ldr r2, [r1] add r0, r4, #0x1000 @@ -5571,7 +5571,7 @@ _02180b74: add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02180bb4: .word data_027e0d0c +_02180bb4: .word gVec3p_ZERO _02180bb8: .word 0x00000171 _02180bbc: .word data_027e0ffc arm_func_end func_ov38_02180a64 @@ -5746,7 +5746,7 @@ _02180dfc: .word data_027e0f6c func_ov38_02180e00: ; 0x02180e00 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x24 - ldr r1, _02180f20 ; =data_027e0d0c + ldr r1, _02180f20 ; =gVec3p_ZERO mov r4, r0 ldr r2, [r1] add r0, r4, #0x1000 @@ -5821,7 +5821,7 @@ _02180ee4: add sp, sp, #0x24 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02180f20: .word data_027e0d0c +_02180f20: .word gVec3p_ZERO _02180f24: .word 0x00000171 _02180f28: .word data_ov00_020eec68 arm_func_end func_ov38_02180e00 @@ -5864,7 +5864,7 @@ _02180f8c: cmp r0, #0 beq _02181098 add r0, sp, #0x24 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x24 str r1, [sp, #0x40] @@ -6058,7 +6058,7 @@ func_ov38_02181254: ; 0x02181254 mov r4, r0 mov r2, #1 add lr, r4, #0x1000 - ldr r1, _02181320 ; =data_027e0d0c + ldr r1, _02181320 ; =gVec3p_ZERO str r2, [lr, #0x70] ldr r3, [r1] mov r5, #0x1e @@ -6105,7 +6105,7 @@ func_ov38_02181254: ; 0x02181254 add sp, sp, #0xc ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 -_02181320: .word data_027e0d0c +_02181320: .word gVec3p_ZERO arm_func_end func_ov38_02181254 .global func_ov38_02181324 @@ -6863,7 +6863,7 @@ _02181dbc: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ add r1, r5, #0x1000 add r0, r5, #0x38 ldr r1, [r1, #0x3c] @@ -6906,7 +6906,7 @@ func_ov38_02181e30: ; 0x02181e30 mov r3, #0x200 str lr, [ip, #0x70] bl func_ov38_0217d570 - ldr r0, _02181f14 ; =data_027e0d0c + ldr r0, _02181f14 ; =gVec3p_ZERO add r1, r4, #0x1000 ldr r2, [r0] mov r3, #0 @@ -6953,7 +6953,7 @@ func_ov38_02181e30: ; 0x02181e30 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_02181f14: .word data_027e0d0c +_02181f14: .word gVec3p_ZERO _02181f18: .word 0x00000133 _02181f1c: .word func_ov38_0217cd70 arm_func_end func_ov38_02181e30 @@ -7137,7 +7137,7 @@ _02182140: str r3, [r1, #0x38] str r0, [r1, #0x3c] ldrh r0, [r1, #0x7c] - ldr r2, _02182224 ; =data_02050f54 + ldr r2, _02182224 ; =gSinCosTable mov r0, r0, asr #0x4 mov r0, r0, lsl #0x2 ldrsh r0, [r2, r0] @@ -7173,7 +7173,7 @@ _021821d4: ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 _02182220: .word data_027e0764 -_02182224: .word data_02050f54 +_02182224: .word gSinCosTable arm_func_end func_ov38_02182094 .global func_ov38_02182228 @@ -7271,7 +7271,7 @@ func_ov38_0218233c: ; 0x0218233c strh r1, [r0, #0x84] add r0, r6, #0x1000 ldrh r1, [r0, #0x84] - ldr r2, _0218254c ; =data_02050f54 + ldr r2, _0218254c ; =gSinCosTable mov r1, r1, asr #0x4 mov r4, r1, lsl #0x1 add r1, r4, #1 @@ -7386,11 +7386,11 @@ _02182528: mov r1, #0 mov r0, r6 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ add sp, sp, #0x10 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0218254c: .word data_02050f54 +_0218254c: .word gSinCosTable _02182550: .word 0x00003d9a _02182554: .word 0x00001e66 _02182558: .word data_027e0ffc @@ -7456,7 +7456,7 @@ _02182610: add r1, r9, #0x1000 ldrsh r2, [r1, #0x84] add r0, r9, #0x38 - ldr r4, _02182d94 ; =data_02050f54 + ldr r4, _02182d94 ; =gSinCosTable add r2, r2, r6 strh r2, [r1, #0x84] ldrh r2, [r1, #0x84] @@ -7538,7 +7538,7 @@ _02182610: str r2, [sp, #0xb0] add r0, r1, #1 mov r3, r1, lsl #0x1 - ldr r2, _02182d94 ; =data_02050f54 + ldr r2, _02182d94 ; =gSinCosTable mov r1, r0, lsl #0x1 ldrsh r3, [r2, r3] ldrsh r2, [r2, r1] @@ -7731,7 +7731,7 @@ _021829c0: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _02182d94 ; =data_02050f54 + ldr r1, _02182d94 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r5, [r1, r2] mov r0, r0, lsl #0x1 @@ -7915,7 +7915,7 @@ _02182cd4: add r0, r9, #0x1000 ldrsh r0, [r0, #0x82] mov r3, r4 - ldr r1, _02182d94 ; =data_02050f54 + ldr r1, _02182d94 ; =gSinCosTable add r0, r0, r0, lsr #31 mov r0, r0, lsl #0xf mov r0, r0, lsr #0x10 @@ -7951,7 +7951,7 @@ _02182d8c: add sp, sp, #0xc4 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02182d94: .word data_02050f54 +_02182d94: .word gSinCosTable _02182d98: .word 0x0000299a _02182d9c: .word data_027e0ffc _02182da0: .word 0x00000446 @@ -8030,7 +8030,7 @@ func_ov38_02182e3c: ; 0x02182e3c ldr r3, [r3, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc bl func_01fffb4c cmp r0, #0 @@ -8041,7 +8041,7 @@ func_ov38_02182e3c: ; 0x02182e3c add r0, r8, #0x60 add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02182ec0: mov r4, #0 ldr r5, _0218306c ; =data_ov38_02189224 @@ -8210,12 +8210,12 @@ _021830a4: mov r1, r5 mov r2, r7 mov r3, r7 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x2c00 mov r1, r5 mov r2, r6 mov r3, r6 - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, r8 mov r1, r7 mov r2, r6 @@ -8460,7 +8460,7 @@ _0218341c: add r2, r8, #0x38 str r3, [sp, #8] mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy _0218348c: mov r0, r6 bl func_ov38_021855c8 @@ -8525,7 +8525,7 @@ _02183528: cmp r2, #0 beq _021835f4 ldrsh r1, [lr, #0x92] - ldr r0, _02183808 ; =data_02050f54 + ldr r0, _02183808 ; =gSinCosTable ldr ip, _0218380c ; =0x00000e39 mov r3, r1, lsl #0x12 mov r3, r3, lsr #0x10 @@ -8590,7 +8590,7 @@ _021835f4: add r2, sp, #0x1c mov r0, r3 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r1, [r5, #0x78] add r0, sp, #0x1c rsb r1, r1, #0 @@ -8630,11 +8630,11 @@ _021836c8: mov r2, r3 rsb r0, r0, #0 add r1, r1, #0xc00 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #4 add r2, sp, #0x1c add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r1, [r5, #0x78] add r0, sp, #0x1c rsb r1, r1, #0 @@ -8655,7 +8655,7 @@ _021836c8: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _0218376c: mov r0, r5 bl func_ov38_02182db8 @@ -8698,7 +8698,7 @@ _021837c4: _021837fc: .word 0x0000099a _02183800: .word 0x00000b33 _02183804: .word 0x00000266 -_02183808: .word data_02050f54 +_02183808: .word gSinCosTable _0218380c: .word 0x00000e39 _02183810: .word 0x00000333 _02183814: .word 0x00001333 @@ -8742,7 +8742,7 @@ _02183870: add r0, r5, #0x388 add r0, r0, #0xc00 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r5, #0x1000 ldrb r0, [r0, #0xab] ldrsh r1, [r5, #0x78] @@ -8784,7 +8784,7 @@ _0218392c: add r0, r5, #0x388 add r0, r0, #0xc00 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r1, [r5, #0x78] add r0, sp, #0x18 rsb r1, r1, #0 @@ -8804,7 +8804,7 @@ _02183980: add r0, r5, #0x358 add r0, r0, #0xc00 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r1, [r5, #0x78] add r0, sp, #0x18 rsb r1, r1, #0 @@ -8829,7 +8829,7 @@ _021839cc: add r2, sp, #0xc add r0, r0, #0xc00 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldrsh r1, [r5, #0x78] add r0, sp, #0xc rsb r1, r1, #0 @@ -8857,7 +8857,7 @@ _02183a28: rsb r0, r0, #0 cmp ip, r0 movle ip, r0 - ldr r0, _02183aa0 ; =data_027e0fc8 + ldr r0, _02183aa0 ; =gPlayerLink ldr r3, [r5, #0xf60] ldr r2, [r5, #0xf58] ldr r0, [r0] @@ -8877,7 +8877,7 @@ _02183a7c: _02183a94: .word 0x0000151f _02183a98: .word 0x00001ccd _02183a9c: .word 0x00000e66 -_02183aa0: .word data_027e0fc8 +_02183aa0: .word gPlayerLink arm_func_end func_ov38_0218381c .global func_ov38_02183aa4 @@ -8966,7 +8966,7 @@ func_ov38_02183b60: ; 0x02183b60 ldr r0, _02183ca8 ; =data_ov00_020eec68 mov r1, #5 bl func_ov00_020d716c - ldr r0, _02183cac ; =data_027e0fc8 + ldr r0, _02183cac ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x84] @@ -8984,7 +8984,7 @@ _02183bf4: bl _ZN5Actor9GetHitboxEP8Cylinder ldr r0, [r4] ldr r1, [r4, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -8993,7 +8993,7 @@ _02183bf4: mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r3, [sp, #0xc] - ldr r2, _02183cb0 ; =data_02050f54 + ldr r2, _02183cb0 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -9026,8 +9026,8 @@ _02183c9c: .word data_027e0e5c _02183ca0: .word data_027e0ffc _02183ca4: .word 0x00000191 _02183ca8: .word data_ov00_020eec68 -_02183cac: .word data_027e0fc8 -_02183cb0: .word data_02050f54 +_02183cac: .word gPlayerLink +_02183cb0: .word gSinCosTable arm_func_end func_ov38_02183b60 .global func_ov38_02183cb4 @@ -9054,20 +9054,20 @@ func_ov38_02183cb4: ; 0x02183cb4 ldrsh r0, [r0, #0x86] cmp r0, #0x14 ble _02183d4c - ldr r1, _02183d60 ; =data_027e0f94 + ldr r1, _02183d60 ; =gPlayerPos add r2, sp, #0xc add r0, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub mov r2, #0 add r0, sp, #0xc add r1, sp, #0 str r2, [sp, #0x10] - bl func_01ff9d4c + bl Vec3p_Normalize add r2, r5, #0x60 ldr r0, _02183d64 ; =0x000004cd add r1, sp, #0 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r5, #0x1000 mov r1, #0 strh r1, [r0, #0x86] @@ -9078,7 +9078,7 @@ _02183d4c: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02183d60: .word data_027e0f94 +_02183d60: .word gPlayerPos _02183d64: .word 0x000004cd arm_func_end func_ov38_02183cb4 @@ -9252,7 +9252,7 @@ _02183f60: str r2, [r6, #0x64] ldr r2, [r5, #0xc] str r2, [r6, #0x68] - bl func_01ff9d4c + bl Vec3p_Normalize ldr r0, [r6, #0x60] add r1, r6, #0x1000 mov r0, r0, lsl #0xa @@ -9319,11 +9319,11 @@ _021840b4: .word 0x524f5045 .global func_ov38_021840b8 arm_func_start func_ov38_021840b8 func_ov38_021840b8: ; 0x021840b8 - ldr ip, _021840c4 ; =func_01fffcec + ldr ip, _021840c4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_021840c4: .word func_01fffcec +_021840c4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov38_021840b8 .global func_ov38_021840c8 @@ -9372,7 +9372,7 @@ func_ov38_02184120: ; 0x02184120 add r0, sp, #0x1c str r1, [sp, #8] str r1, [sp, #0xc] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x1c str r1, [sp, #0x38] @@ -9402,7 +9402,7 @@ func_ov38_02184120: ; 0x02184120 add r2, r4, #0x48 mov r3, #2 bl func_ov00_0207c1b0 - ldr r0, _021841dc ; =data_027e0fe4 + ldr r0, _021841dc ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9413,7 +9413,7 @@ _021841cc: .word data_027e0fe8 _021841d0: .word 0x474f3154 _021841d4: .word data_027e0e58 _021841d8: .word 0x00001037 -_021841dc: .word data_027e0fe4 +_021841dc: .word gActorManager arm_func_end func_ov38_02184120 .global func_ov38_021841e0 @@ -9426,7 +9426,7 @@ func_ov38_021841e0: ; 0x021841e0 add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -9440,7 +9440,7 @@ func_ov38_021841e0: ; 0x021841e0 add r3, sp, #0xc add r2, r4, #0x48 bl func_ov00_020c4048 - ldr r0, _02184258 ; =data_027e0fe4 + ldr r0, _02184258 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9450,7 +9450,7 @@ func_ov38_021841e0: ; 0x021841e0 .align 2, 0 _02184250: .word data_027e0fe8 _02184254: .word 0x474f3150 -_02184258: .word data_027e0fe4 +_02184258: .word gActorManager arm_func_end func_ov38_021841e0 .global func_ov38_0218425c @@ -9485,7 +9485,7 @@ _021842b0: str r0, [sp, #0x14] mov r6, #0x11000 _021842c4: - ldr r0, _02184558 ; =data_027e0f94 + ldr r0, _02184558 ; =gPlayerPos mov r7, #0 ldr r2, [r0] ldr r1, [r0, #4] @@ -9506,7 +9506,7 @@ _021842c4: str r3, [sp, #0x2c] ldr r3, [r5, #0x1c] str r3, [sp, #0x30] - bl func_01ff9bf8 + bl Vec3p_Sub sub r0, r4, r11 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 @@ -9522,7 +9522,7 @@ _021842c4: bl func_ov00_020a61ac add r0, sp, #0xb4 add r1, sp, #0xa8 - bl func_01ff9c2c + bl Vec3p_Dot cmp r0, #0 bge _02184374 mov r1, #0x8000 @@ -9531,7 +9531,7 @@ _021842c4: bl func_ov00_020a61ac _02184374: add r0, sp, #0x7c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x7c str r1, [sp, #0x98] @@ -9619,7 +9619,7 @@ _0218446c: add r0, sp, #0x58 add r1, r5, #0x14 add r2, sp, #0x4c - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x1c] add r3, sp, #0x7c str r0, [sp, #0x20] @@ -9638,7 +9638,7 @@ _0218446c: ldr r0, [r0] add r2, sp, #0x4c bl func_ov00_020c4048 - ldr r0, _02184570 ; =data_027e0fe4 + ldr r0, _02184570 ; =gActorManager add r1, sp, #0x20 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -9654,13 +9654,13 @@ _0218446c: _0218454c: .word 0x00005348 _02184550: .word 0x00006b6c _02184554: .word 0xffffb364 -_02184558: .word data_027e0f94 +_02184558: .word gPlayerPos _0218455c: .word data_ov38_021889cc _02184560: .word data_ov20_021793cc ; data_ov22_021793cc, data_ov23_021793cc, data_ov24_021793cc, data_ov25_021793cc, data_ov26_021793cc, data_ov28_021793cc, data_ov29_021793cc _02184564: .word data_027e0764 _02184568: .word data_027e0fe8 _0218456c: .word 0x474f3154 -_02184570: .word data_027e0fe4 +_02184570: .word gActorManager arm_func_end func_ov38_0218425c .global func_ov38_02184574 @@ -9856,7 +9856,7 @@ _02184808: str r2, [sp, #0x4c] str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -10014,7 +10014,7 @@ func_ov38_02184a18: ; 0x02184a18 ldrsh r1, [r1, #0x20] strh r1, [r2, #0x80] str r3, [r4, #0x12c] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x28 str r1, [sp, #0x44] @@ -10032,12 +10032,12 @@ func_ov38_02184a18: ; 0x02184a18 add r3, sp, #0x28 add r2, r2, #0xc00 bl func_ov00_020c4048 - ldr r0, _02184ba0 ; =data_027e0fe4 + ldr r0, _02184ba0 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef str r0, [r4, #0xff0] - ldr r2, _02184ba4 ; =data_027e0d0c + ldr r2, _02184ba4 ; =gVec3p_ZERO ldr lr, _02184ba8 ; =0x0000119a ldr r5, [r2] ldr r3, [r2, #4] @@ -10095,8 +10095,8 @@ func_ov38_02184a18: ; 0x02184a18 .align 2, 0 _02184b98: .word data_027e0fe8 _02184b9c: .word 0x4c4f4e44 -_02184ba0: .word data_027e0fe4 -_02184ba4: .word data_027e0d0c +_02184ba0: .word gActorManager +_02184ba4: .word gVec3p_ZERO _02184ba8: .word 0x0000119a arm_func_end func_ov38_02184a18 @@ -10110,7 +10110,7 @@ func_ov38_02184bac: ; 0x02184bac strb r5, [r2, #0xa1] ldrsh r1, [r2, #0x8e] mov ip, #2 - ldr r3, _02184c88 ; =data_027e0d0c + ldr r3, _02184c88 ; =gVec3p_ZERO strh r1, [r2, #0x8a] ldrsh lr, [r2, #0x90] mov r1, #6 @@ -10160,7 +10160,7 @@ _02184c74: bl func_ov38_0217be60 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02184c88: .word data_027e0d0c +_02184c88: .word gVec3p_ZERO _02184c8c: .word data_027e0ffc _02184c90: .word 0x00000445 arm_func_end func_ov38_02184bac @@ -10275,12 +10275,12 @@ func_ov38_02184d9c: ; 0x02184d9c str r3, [sp] mov r9, r1 str r3, [r10, #0x234] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0x1000 mov r1, #3 mov r4, #0 bl func_01ff9b4c - ldr r11, _02184ed8 ; =data_027e0d0c + ldr r11, _02184ed8 ; =gVec3p_ZERO mov r5, r0 mov r7, r10 add r8, r10, #0x38 @@ -10296,7 +10296,7 @@ _02184de4: mov r2, r8 str r3, [r7, #0x40] mov r3, r8 - bl func_01ff9e64 + bl Vec3p_Axpy add r6, r6, #1 ldr r1, [r11, #8] ldmia r11, {r0, r2} @@ -10320,7 +10320,7 @@ _02184de4: mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r2, r1, lsl #0x1 - ldr r3, _02184ee0 ; =data_02050f54 + ldr r3, _02184ee0 ; =gSinCosTable str r0, [r10, #0x220] mov r4, #0 add r1, r1, #1 @@ -10348,9 +10348,9 @@ _02184de4: add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02184ed8: .word data_027e0d0c +_02184ed8: .word gVec3p_ZERO _02184edc: .word 0x00000133 -_02184ee0: .word data_02050f54 +_02184ee0: .word gSinCosTable _02184ee4: .word data_ov38_02189224 arm_func_end func_ov38_02184d9c @@ -10391,7 +10391,7 @@ func_ov38_02184ee8: ; 0x02184ee8 ldr r0, _021854c8 ; =0x00000e66 mov r1, r8 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r10, #0x200 ldrsh r1, [r0, #0x3a] add r1, r1, #0x500 @@ -10412,7 +10412,7 @@ func_ov38_02184ee8: ; 0x02184ee8 mov r0, r3 mov r2, r3 add r1, r5, #0x34 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 add r0, sp, #0x80 str r1, [sp, #0x84] @@ -10424,16 +10424,16 @@ func_ov38_02184ee8: ; 0x02184ee8 bl func_ov00_020a61ac add r0, sp, #0x80 add r1, sp, #0x8c - bl func_01ff9c2c + bl Vec3p_Dot add r2, sp, #0x8c rsb r0, r0, #0 add r1, sp, #0x80 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy _0218500c: add r0, r10, #0x200 ldrh r1, [r0, #0x3a] - ldr r0, _021854cc ; =data_02050f54 + ldr r0, _021854cc ; =gSinCosTable mov r2, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -10481,9 +10481,9 @@ _021850ac: add r1, r5, #0x34 add r2, sp, #0xc8 moveq r4, #0 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc8 - bl func_01ff9cec + bl Vec3p_Length str r0, [sp, #8] add r0, sp, #0xc8 bl func_01fffb4c @@ -10508,9 +10508,9 @@ _02185110: add r0, r4, #0x34 add r1, r5, #0x34 add r2, sp, #0xbc - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xbc - bl func_01ff9cec + bl Vec3p_Length str r0, [sp, #0xc] add r0, sp, #0xbc bl func_01fffb4c @@ -10543,9 +10543,9 @@ _02185198: add r0, r10, #0x214 add r1, r5, #0x34 add r2, sp, #0x74 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x74 - bl func_01ff9cec + bl Vec3p_Length sub r0, r0, r11 str r0, [sp] add r0, sp, #0x74 @@ -10560,7 +10560,7 @@ _02185198: add r0, r5, #0x40 add r1, sp, #0x74 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _02185200: ldr r0, _021854d8 ; =0x00000666 sub r11, r11, #0x1600 @@ -10589,15 +10589,15 @@ _02185214: add r0, r5, #0x40 add r1, sp, #0x68 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x40 add r1, sp, #0x5c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, r5, #0x40 add r1, sp, #0x8c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x10] add r0, sp, #0x8c bl func_01fffbec @@ -10622,7 +10622,7 @@ _02185214: ldr r3, [r5, #0x44] sub r3, r3, #0x14 str r3, [r5, #0x44] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r10] cmp r1, #0 beq _02185304 @@ -10634,7 +10634,7 @@ _02185304: add r1, r6, #0x34 add r0, r4, #0x34 mov r2, r8 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r8 bl func_01fffb4c cmp r0, #0 @@ -10642,17 +10642,17 @@ _02185304: mov r0, r8 add r1, sp, #0x98 mov r2, r7 - bl func_01ff9c68 + bl Vec3p_Cross mov r0, r7 mov r1, r7 - bl func_01ff9d4c + bl Vec3p_Normalize mov r0, r7 mov r1, r8 add r2, sp, #0x98 - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0x98 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x98 add r1, r5, #0x10 mov r2, #0x24 @@ -10671,23 +10671,23 @@ _02185378: mov r0, r8 add r1, sp, #0x98 mov r2, r7 - bl func_01ff9c68 + bl Vec3p_Cross mov r0, r7 mov r1, r7 - bl func_01ff9d4c + bl Vec3p_Normalize b _021853e8 _021853bc: add r1, r6, #0x34 add r0, r5, #0x34 mov r2, r8 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r8 add r1, sp, #0x98 mov r2, r7 - bl func_01ff9c68 + bl Vec3p_Cross mov r0, r7 mov r1, r7 - bl func_01ff9d4c + bl Vec3p_Normalize _021853e8: mov r0, #0 str r0, [sp, #0x4c] @@ -10748,7 +10748,7 @@ _021854ac: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _021854c8: .word 0x00000e66 -_021854cc: .word data_02050f54 +_021854cc: .word gSinCosTable _021854d0: .word 0x0000019a _021854d4: .word 0x00000b9a _021854d8: .word 0x00000666 @@ -10779,12 +10779,12 @@ func_ov38_021854e4: ; 0x021854e4 ldr r3, [r1, #8] add r1, r4, #0x214 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0xc mov r1, #0xc00 bl func_01fffbec add r0, sp, #0xc - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 cmp r1, #0x800 ble _0218556c @@ -10797,7 +10797,7 @@ _0218556c: add r0, r4, #0x214 add r1, sp, #0xc mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0x18 ldmia sp!, {r4, pc} arm_func_end func_ov38_021854e4 @@ -11174,7 +11174,7 @@ func_ov38_02185a70: ; 0x02185a70 mov r6, r1 mov r5, r2 mov r4, r3 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -11222,7 +11222,7 @@ func_ov38_02185b14: ; 0x02185b14 mov r4, r3 bl func_ov38_0217e4e0 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x34] str r0, [sp, #0x38] @@ -11238,7 +11238,7 @@ func_ov38_02185b14: ; 0x02185b14 mov r0, #1 strb r0, [sp, #0x21] ldrsh r1, [r4, #0x94] - ldr r0, _02185c38 ; =data_027e0f94 + ldr r0, _02185c38 ; =gPlayerPos add r8, sp, #0xc sub r1, r1, #0x8000 strh r1, [sp, #0x2c] @@ -11247,7 +11247,7 @@ func_ov38_02185b14: ; 0x02185b14 mov r2, r8 ldrh r8, [r4, #0x94] ldr lr, [sp, #0x10] - ldr ip, _02185c3c ; =data_02050f54 + ldr ip, _02185c3c ; =gSinCosTable mov r8, r8, asr #0x4 mov r8, r8, lsl #0x2 add lr, lr, #0xcd @@ -11288,8 +11288,8 @@ func_ov38_02185b14: ; 0x02185b14 add sp, sp, #0x44 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_02185c38: .word data_027e0f94 -_02185c3c: .word data_02050f54 +_02185c38: .word gPlayerPos +_02185c3c: .word gSinCosTable _02185c40: .word data_027e0fe8 _02185c44: .word 0x444d534f _02185c48: .word data_ov29_0217a4ac @@ -11307,7 +11307,7 @@ func_ov38_02185c4c: ; 0x02185c4c mov r1, r8 bl func_ov00_02087d34 ldr r0, _02185d30 ; =data_027e0f64 - ldr r2, _02185d34 ; =data_02050f54 + ldr r2, _02185d34 ; =gSinCosTable ldr r1, [r0] mov r0, #0x53 ldr r3, [r1, #4] @@ -11357,7 +11357,7 @@ func_ov38_02185c4c: ; 0x02185c4c ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02185d30: .word data_027e0f64 -_02185d34: .word data_02050f54 +_02185d34: .word gSinCosTable arm_func_end func_ov38_02185c4c .global func_ov38_02185d38 @@ -11419,12 +11419,12 @@ func_ov38_02185d38: ; 0x02185d38 add ip, r5, ip add r2, sp, #0 str ip, [r3, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #0x20] ldr r3, [sp, #0x28] mov r0, r4 add r1, sp, #0 - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov38_02185d38 @@ -11517,14 +11517,14 @@ _02185f3c: _02185f5c: cmp r3, #0x2d bne _02186144 - ldr r0, _02186a1c ; =data_027e0f94 + ldr r0, _02186a1c ; =gPlayerPos ldr r1, _02186a10 ; =data_ov38_021891e0 ldr ip, [r0] ldr r5, [r0, #4] str ip, [r1, #0x21c] str r5, [r1, #0x220] ldr r2, [r0, #8] - ldr r0, _02186a20 ; =data_027e0fc8 + ldr r0, _02186a20 ; =gPlayerLink str r2, [r1, #0x224] sub r3, r2, #0x1800 ldr r0, [r0] @@ -11682,7 +11682,7 @@ _02186194: str r2, [sp, #0x90] str r0, [sp, #0x94] ldr r0, [r1, #0x10c] - ldr r2, _02186a3c ; =data_02050f54 + ldr r2, _02186a3c ; =gSinCosTable add r3, r0, #0x500 mov r0, r3, lsl #0x10 mov r0, r0, lsr #0x10 @@ -11694,7 +11694,7 @@ _02186194: mov r1, r2, lsl #0x11 mov r1, r1, asr #0x10 bl func_ov00_020a61ac - ldr r1, _02186a1c ; =data_027e0f94 + ldr r1, _02186a1c ; =gPlayerPos add r0, sp, #0x8c ldr r2, [r1, #4] ldr r3, [r1] @@ -11704,8 +11704,8 @@ _02186194: add r1, sp, #0x5c mov r2, r0 str r3, [sp, #0x64] - bl func_01ff9bc4 - ldr r0, _02186a20 ; =data_027e0fc8 + bl Vec3p_Add + ldr r0, _02186a20 ; =gPlayerLink add r1, sp, #0x8c ldr r0, [r0] mov r2, #0x400 @@ -11713,7 +11713,7 @@ _02186194: add sp, sp, #0x154 ldmia sp!, {r4, r5, pc} _02186268: - ldr r1, _02186a1c ; =data_027e0f94 + ldr r1, _02186a1c ; =gPlayerPos mov r5, #0x1000 ldr r2, [r1, #4] ldr r3, [r1] @@ -11729,8 +11729,8 @@ _02186268: add r1, sp, #0x50 mov r2, r0 str r3, [sp, #0x58] - bl func_01ff9bc4 - ldr r0, _02186a20 ; =data_027e0fc8 + bl Vec3p_Add + ldr r0, _02186a20 ; =gPlayerLink add r1, sp, #0x8c ldr r0, [r0] mov r2, #0x200 @@ -11745,7 +11745,7 @@ _021862c8: bl _ZN10MapManager18func_ov00_02084be0Eii cmp r0, #0 beq _02186304 - ldr r0, _02186a20 ; =data_027e0fc8 + ldr r0, _02186a20 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bcfb8 @@ -11803,7 +11803,7 @@ _02186350: str r0, [r1, #0x110] str r2, [r1, #0x210] ldr r2, [r1, #0x20c] - ldr r0, _02186a20 ; =data_027e0fc8 + ldr r0, _02186a20 ; =gPlayerLink add r2, r2, #1 str r2, [r1, #0x20c] ldr r0, [r0] @@ -11904,7 +11904,7 @@ _021864f0: mov r0, r0, asr #0x4 add ip, r4, #0x800 add r1, r2, #0x800 - ldr r4, _02186a3c ; =data_02050f54 + ldr r4, _02186a3c ; =gSinCosTable mov r2, r5, lsl #0x2 mov r0, r0, lsl #0x2 ldrsh r2, [r4, r2] @@ -11924,7 +11924,7 @@ _021864f0: str r4, [r3, #0xf0] mov r4, #0 str r4, [r3, #0xf4] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02186a10 ; =data_ov38_021891e0 ldr r0, [r0, #0x110] cmp r0, #0 @@ -12015,12 +12015,12 @@ _021866d4: str r2, [sp, #0x88] cmp r3, #6 bne _02186710 - ldr r0, _02186a20 ; =data_027e0fc8 + ldr r0, _02186a20 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bd070 _02186710: - ldr r0, _02186a20 ; =data_027e0fc8 + ldr r0, _02186a20 ; =gPlayerLink add r1, sp, #0x80 ldr r0, [r0] mov r2, #0x400 @@ -12080,7 +12080,7 @@ _02186738: str r0, [r1, #0x218] str r0, [r1, #0x210] ldr r2, [r1, #0x118] - ldr r0, _02186a1c ; =data_027e0f94 + ldr r0, _02186a1c ; =gPlayerPos str r2, [r1, #0x180] ldr r2, [r1, #0x11c] add sp, sp, #0x154 @@ -12183,14 +12183,14 @@ _02186914: cmpeq r0, #4 bne _021869a8 ldr r1, _02186a10 ; =data_ov38_021891e0 - ldr r0, _02186a20 ; =data_027e0fc8 + ldr r0, _02186a20 ; =gPlayerLink ldr r2, [r1, #0x20c] ldr r0, [r0] add r2, r2, #1 str r2, [r1, #0x20c] bl func_ov00_020bd0a8 _021869a8: - ldr r0, _02186a20 ; =data_027e0fc8 + ldr r0, _02186a20 ; =gPlayerLink ldr lr, [r4, #0xf60] ldr ip, [r4, #0xf5c] ldr r3, [r4, #0xf58] @@ -12221,15 +12221,15 @@ _021869dc: _02186a10: .word data_ov38_021891e0 _02186a14: .word gMapManager _02186a18: .word 0x00000ccd -_02186a1c: .word data_027e0f94 -_02186a20: .word data_027e0fc8 +_02186a1c: .word gPlayerPos +_02186a20: .word gPlayerLink _02186a24: .word 0x00000333 _02186a28: .word data_027e0f64 _02186a2c: .word data_ov38_02189360 _02186a30: .word data_ov38_021893d4 _02186a34: .word gAdventureFlags _02186a38: .word data_ov38_021892f0 -_02186a3c: .word data_02050f54 +_02186a3c: .word gSinCosTable _02186a40: .word 0x00000f9a _02186a44: .word data_ov38_021893c8 _02186a48: .word data_ov38_021892cc @@ -12252,7 +12252,7 @@ func_ov38_02186a64: ; 0x02186a64 addeq sp, sp, #0xc ldmeqia sp!, {pc} ldr r1, [r2, #0x48] - ldr r0, _02186ac0 ; =data_027e0fc8 + ldr r0, _02186ac0 ; =gPlayerLink str r1, [sp] ldr r1, [r2, #0x4c] ldr r0, [r0] @@ -12268,7 +12268,7 @@ func_ov38_02186a64: ; 0x02186a64 ldmia sp!, {pc} .align 2, 0 _02186abc: .word data_ov38_02189484 -_02186ac0: .word data_027e0fc8 +_02186ac0: .word gPlayerLink arm_func_end func_ov38_02186a64 .global func_ov38_02186ac4 @@ -12277,7 +12277,7 @@ func_ov38_02186ac4: ; 0x02186ac4 stmdb sp!, {lr} sub sp, sp, #0xc ldr r3, [r0, #0xff8] - ldr r0, _02186b04 ; =data_027e0fc8 + ldr r0, _02186b04 ; =gPlayerLink ldr r1, [r3, #0x48] ldr r0, [r0] str r1, [sp] @@ -12291,7 +12291,7 @@ func_ov38_02186ac4: ; 0x02186ac4 add sp, sp, #0xc ldmia sp!, {pc} .align 2, 0 -_02186b04: .word data_027e0fc8 +_02186b04: .word gPlayerLink arm_func_end func_ov38_02186ac4 .global func_ov38_02186b08 @@ -12347,7 +12347,7 @@ func_ov38_02186b08: ; 0x02186b08 bl func_ov00_020a61ac mov r3, #0 str r3, [sp] - ldr r0, _02186c70 ; =data_027e0fc8 + ldr r0, _02186c70 ; =gPlayerLink str r3, [sp, #4] ldr r0, [r0] add r1, sp, #8 @@ -12388,7 +12388,7 @@ _02186c60: .word data_ov38_02189360 _02186c64: .word data_ov38_021893d4 _02186c68: .word data_ov38_02189414 _02186c6c: .word data_027e071c -_02186c70: .word data_027e0fc8 +_02186c70: .word gPlayerLink _02186c74: .word gItemManager _02186c78: .word data_ov38_02188ca0 _02186c7c: .word data_ov00_020eec68 @@ -12700,7 +12700,7 @@ _02187068: ldr r0, [r0, #4] mov r2, #2 bl func_ov00_02089318 - ldr r0, _02187508 ; =data_027e0fc8 + ldr r0, _02187508 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bb9b0 ldr r0, _021874c4 ; =data_ov38_021891e0 @@ -12962,7 +12962,7 @@ _021874f8: .word 0xffffce66 _021874fc: .word 0x00011333 _02187500: .word 0xfffffac4 _02187504: .word 0x000073a0 -_02187508: .word data_027e0fc8 +_02187508: .word gPlayerLink _0218750c: .word data_ov00_020eec68 _02187510: .word gAdventureFlags _02187514: .word data_ov38_02188ca0 @@ -13039,7 +13039,7 @@ _021875f4: str r1, [r0, #0x210] cmp r1, #0xa ldmneia sp!, {r3, pc} - ldr r0, _02187628 ; =data_027e0fc8 + ldr r0, _02187628 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bcfb8 @@ -13047,7 +13047,7 @@ _021875f4: .align 2, 0 _02187620: .word gAdventureFlags _02187624: .word data_ov38_021891e0 -_02187628: .word data_027e0fc8 +_02187628: .word gPlayerLink arm_func_end func_ov38_021875cc .global func_ov38_0218762c @@ -13235,7 +13235,7 @@ func_ov38_0218762c: ; 0x0218762c ldr r3, [sp, #0x38] strb r3, [sp, #0xcc] bl _ZN14AdventureFlags18func_Ov00_02097810Ei - ldr r1, _0218795c ; =data_027e0fc8 + ldr r1, _0218795c ; =gPlayerLink str r0, [r4, #0x2e8] ldr r0, [r1] mov r1, #0 @@ -13258,7 +13258,7 @@ _0218794c: .word data_ov38_02189360 _02187950: .word data_ov38_021893d4 _02187954: .word gAdventureFlags _02187958: .word 0x00000bb8 -_0218795c: .word data_027e0fc8 +_0218795c: .word gPlayerLink _02187960: .word data_ov38_02188ca0 arm_func_end func_ov38_0218762c @@ -13381,7 +13381,7 @@ _02187994: ldmia sp!, {r4, r5, pc} _02187b28: ldr r3, _02188068 ; =data_ov38_021891e0 - ldr r0, _02188078 ; =data_027e0fc8 + ldr r0, _02188078 ; =gPlayerLink ldr r1, [r3, #0x210] add r4, r5, #0x358 add ip, r1, #1 @@ -13390,7 +13390,7 @@ _02187b28: mov r2, #0x400 str ip, [r3, #0x210] bl func_ov00_020bb810 - ldr r0, _02188078 ; =data_027e0fc8 + ldr r0, _02188078 ; =gPlayerLink add r1, r4, #0xc00 ldr r0, [r0] bl func_ov00_020bb8c4 @@ -13443,12 +13443,12 @@ _02187b6c: str r3, [sp, #0x60] str r2, [sp, #0x64] str ip, [sp, #0x68] - bl func_01ff9c2c + bl Vec3p_Dot add r2, sp, #0x60 add r1, sp, #0x6c mov r3, r2 rsb r0, r0, #0 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0x60] ldr r0, _02188068 ; =data_ov38_021891e0 mul r1, r4, r1 @@ -13505,7 +13505,7 @@ _02187cd8: ldr r1, _02188068 ; =data_ov38_021891e0 mov r2, #0 ldr r3, [r1, #0x20c] - ldr r0, _02188078 ; =data_027e0fc8 + ldr r0, _02188078 ; =gPlayerLink add r3, r3, #1 str r3, [r1, #0x20c] str r2, [r1, #0x104] @@ -13537,7 +13537,7 @@ _02187cd8: str r1, [r0, #0x18c] b _02187e98 _02187d90: - ldr r0, _02188078 ; =data_027e0fc8 + ldr r0, _02188078 ; =gPlayerLink add r1, r5, #0x358 ldr r0, [r0] add r1, r1, #0xc00 @@ -13707,7 +13707,7 @@ _02187fac: cmp r1, #0x7000 addle sp, sp, #0x154 ldmleia sp!, {r4, r5, pc} - ldr r1, _0218809c ; =data_027e0f94 + ldr r1, _0218809c ; =gPlayerPos ldr r2, _021880a0 ; =0x00006ccd ldr r1, [r1, #4] mov r3, r4 @@ -13717,7 +13717,7 @@ _02187fac: ldrsh r1, [r0, #0x94] add r0, sp, #0x48 bl func_ov00_020a61ac - ldr r0, _02188078 ; =data_027e0fc8 + ldr r0, _02188078 ; =gPlayerLink add r1, sp, #0x48 ldr r0, [r0] mov r2, #0x800 @@ -13729,7 +13729,7 @@ _02188068: .word data_ov38_021891e0 _0218806c: .word data_ov38_021892e4 _02188070: .word data_027e0f64 _02188074: .word data_ov38_02189360 -_02188078: .word data_027e0fc8 +_02188078: .word gPlayerLink _0218807c: .word 0x00000bb8 _02188080: .word data_ov38_021893c8 _02188084: .word data_ov38_021893d4 @@ -13738,7 +13738,7 @@ _0218808c: .word 0x00001a2c _02188090: .word data_ov38_021893d8 _02188094: .word gAdventureFlags _02188098: .word data_02057200 -_0218809c: .word data_027e0f94 +_0218809c: .word gPlayerPos _021880a0: .word 0x00006ccd arm_func_end func_ov38_02187964 @@ -13773,12 +13773,12 @@ func_ov38_021880d8: ; 0x021880d8 mov r4, r0 strh r3, [r2, #0x20] str r1, [r2, #0x28] - ldr r0, _0218818c ; =data_027e0fe4 + ldr r0, _0218818c ; =gActorManager ldr r2, _02188190 ; =0x4e564d4d ldr r1, [r0] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0218818c ; =data_027e0fe4 + ldr r0, _0218818c ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -13810,7 +13810,7 @@ func_ov38_021880d8: ; 0x021880d8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02188188: .word data_ov38_02189438 -_0218818c: .word data_027e0fe4 +_0218818c: .word gActorManager _02188190: .word 0x4e564d4d _02188194: .word 0xfffff99a _02188198: .word data_ov38_021890f8 @@ -13835,7 +13835,7 @@ _021881bc: ; jump table b _021883dc ; case 4 _021881d0: ldrsh r1, [ip, #0x22] - ldr r5, _021884bc ; =data_02050f54 + ldr r5, _021884bc ; =gSinCosTable ldr r0, _021884c0 ; =data_ov38_0218943c add r1, r1, #0x1000 strh r1, [ip, #0x22] @@ -13972,8 +13972,8 @@ _02188394: str r0, [r1] ldmia sp!, {r3, r4, r5, pc} _021883dc: - ldr r0, _021884d0 ; =data_027e0f94 - ldr r3, _021884bc ; =data_02050f54 + ldr r0, _021884d0 ; =gPlayerPos + ldr r3, _021884bc ; =gSinCosTable ldr r5, [r0] ldr r1, [r0, #4] str r5, [sp] @@ -14031,12 +14031,12 @@ _0218849c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021884b8: .word data_ov38_02189438 -_021884bc: .word data_02050f54 +_021884bc: .word gSinCosTable _021884c0: .word data_ov38_0218943c _021884c4: .word data_027e0c68 _021884c8: .word data_ov38_02189484 _021884cc: .word data_ov38_02189448 -_021884d0: .word data_027e0f94 +_021884d0: .word gPlayerPos _021884d4: .word 0x0000019a _021884d8: .word data_02057200 arm_func_end func_ov38_0218819c @@ -15424,7 +15424,7 @@ data_ov38_02188f50: ; 0x02188f50 .word func_ov38_02183aa4 .global data_ov38_02188f54 data_ov38_02188f54: ; 0x02188f54 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov38_02188f58 data_ov38_02188f58: ; 0x02188f58 .word func_ov38_02184c94 @@ -15454,7 +15454,7 @@ data_ov38_02188f78: ; 0x02188f78 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov38_02188f7c data_ov38_02188f7c: ; 0x02188f7c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov38_02188f80 data_ov38_02188f80: ; 0x02188f80 .word func_ov38_02183d68 @@ -15751,7 +15751,7 @@ data_ov38_02189140: ; 0x02189140 .word func_ov38_021888a0 ; data_ov40_021888a0 .global data_ov38_02189144 data_ov38_02189144: ; 0x02189144 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov38_02189148 data_ov38_02189148: ; 0x02189148 .word _ZN5Actor8vfunc_20Ei @@ -15781,10 +15781,10 @@ data_ov38_02189168: ; 0x02189168 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov38_0218916c data_ov38_0218916c: ; 0x0218916c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov38_02189170 data_ov38_02189170: ; 0x02189170 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov38_02189174 data_ov38_02189174: ; 0x02189174 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov39.inc b/asm/ov39.inc index 4c02cca9..a339b5cf 100644 --- a/asm/ov39.inc +++ b/asm/ov39.inc @@ -1,12 +1,20 @@ #pragma once .extern Approach_thunk +.extern Atan2 .extern Divide +.extern PlaySoundEffect +.extern Vec3p_Add +.extern Vec3p_Distance +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager18func_ov00_02084b38Eiii .extern _ZN10MapManager18func_ov00_02084be0Eii +.extern _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi .extern _ZN10PlayerBase18EquipItem_vfunc_2cEv -.extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi .extern _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13PlayerControl14IsTouchingFastEv @@ -14,11 +22,12 @@ .extern _ZN14AdventureFlags18func_ov00_02097968Ei .extern _ZN14AdventureFlags18func_ov00_02097b9cEv .extern _ZN14AdventureFlags18func_ov00_02097bccEv +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10GetAngleToEP5Vec3p .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -32,12 +41,12 @@ .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor20IncreaseActiveFramesEv .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv @@ -71,7 +80,6 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 .extern data_02057200 .extern data_027e0194 .extern data_027e01b8 @@ -80,15 +88,8 @@ .extern data_027e0c54 .extern data_027e0c68 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -106,15 +107,8 @@ .extern func_01ff8e84 .extern func_01ff9158 .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9ec0 -.extern func_01ffa0f4 .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec .extern func_020078f4 .extern func_020079d8 .extern func_02016fe8 @@ -208,7 +202,6 @@ .extern func_ov00_020c0ecc .extern func_ov00_020c1424 .extern func_ov00_020c1450 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -230,7 +223,6 @@ .extern func_ov00_020d18f4 .extern func_ov00_020d1980 .extern func_ov00_020d716c -.extern PlaySoundEffect .extern func_ov00_020d73f0 .extern func_ov00_020d77e4 .extern func_ov00_020d7ad4 @@ -259,6 +251,14 @@ .extern func_ov29_02177d90 .extern func_ov29_02177ff0 .extern func_ov29_02178060 +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable .extern strncpy diff --git a/asm/ov39.s b/asm/ov39.s index cbf8d756..63f20d2d 100644 --- a/asm/ov39.s +++ b/asm/ov39.s @@ -40,12 +40,12 @@ func_ov39_0217bdc8: ; 0x0217bdc8 mov r4, r0 ldr r0, [r4, #8] bl func_ov39_0217fcbc - ldr r1, _0217bf0c ; =data_027e0fe4 + ldr r1, _0217bf0c ; =gActorManager ldr r2, _0217bf10 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0x10 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217bf0c ; =data_027e0fe4 + ldr r0, _0217bf0c ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -56,7 +56,7 @@ func_ov39_0217bdc8: ; 0x0217bdc8 add r0, r0, #0x300 strh r2, [r0, #0xc4] strh r2, [r0, #0xc6] - ldr r1, _0217bf0c ; =data_027e0fe4 + ldr r1, _0217bf0c ; =gActorManager ldr r2, _0217bf18 ; =0x57534e56 ldr r1, [r1] add r0, sp, #8 @@ -64,14 +64,14 @@ func_ov39_0217bdc8: ; 0x0217bdc8 ldr r0, [sp, #0xc] ldr r1, [sp, #8] str r0, [sp, #0x14] - ldr r0, _0217bf0c ; =data_027e0fe4 + ldr r0, _0217bf0c ; =gActorManager str r1, [sp, #0x10] ldr r0, [r0] add r1, sp, #0x10 bl _ZN12ActorManager8GetActorEP8ActorRef mov r1, #1 strb r1, [r0, #0x28d] - ldr r1, _0217bf0c ; =data_027e0fe4 + ldr r1, _0217bf0c ; =gActorManager ldr r2, _0217bf1c ; =0x46434e56 ldr r1, [r1] add r0, sp, #0 @@ -79,7 +79,7 @@ func_ov39_0217bdc8: ; 0x0217bdc8 ldr r0, [sp, #4] ldr r1, [sp] str r0, [sp, #0x14] - ldr r0, _0217bf0c ; =data_027e0fe4 + ldr r0, _0217bf0c ; =gActorManager str r1, [sp, #0x10] ldr r0, [r0] add r1, sp, #0x10 @@ -120,7 +120,7 @@ _0217bed4: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_0217bf0c: .word data_027e0fe4 +_0217bf0c: .word gActorManager _0217bf10: .word 0x4e415649 _0217bf14: .word 0x00004a52 _0217bf18: .word 0x57534e56 @@ -136,25 +136,25 @@ _0217bf2c: .word data_ov00_020eec68 func_ov39_0217bf30: ; 0x0217bf30 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _0217c01c ; =data_027e0fe4 + ldr r1, _0217c01c ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _0217c020 ; =0x4e415649 add r0, sp, #0x10 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217c01c ; =data_027e0fe4 + ldr r0, _0217c01c ; =gActorManager add r1, sp, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r1, #0 strb r1, [r0, #0x28d] strb r1, [r0, #0x3c1] - ldr r1, _0217c01c ; =data_027e0fe4 + ldr r1, _0217c01c ; =gActorManager ldr r2, _0217c024 ; =0x57534e56 ldr r1, [r1] add r0, sp, #8 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217c01c ; =data_027e0fe4 + ldr r0, _0217c01c ; =gActorManager ldr r1, [sp, #8] ldr r2, [sp, #0xc] str r1, [sp, #0x10] @@ -164,7 +164,7 @@ func_ov39_0217bf30: ; 0x0217bf30 bl _ZN12ActorManager8GetActorEP8ActorRef mov r1, #0 strb r1, [r0, #0x28d] - ldr r1, _0217c01c ; =data_027e0fe4 + ldr r1, _0217c01c ; =gActorManager ldr r2, _0217c028 ; =0x46434e56 ldr r1, [r1] add r0, sp, #0 @@ -172,7 +172,7 @@ func_ov39_0217bf30: ; 0x0217bf30 ldr r0, [sp, #4] ldr r1, [sp] str r0, [sp, #0x14] - ldr r0, _0217c01c ; =data_027e0fe4 + ldr r0, _0217c01c ; =gActorManager str r1, [sp, #0x10] ldr r0, [r0] add r1, sp, #0x10 @@ -194,7 +194,7 @@ func_ov39_0217bf30: ; 0x0217bf30 add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_0217c01c: .word data_027e0fe4 +_0217c01c: .word gActorManager _0217c020: .word 0x4e415649 _0217c024: .word 0x57534e56 _0217c028: .word 0x46434e56 @@ -576,7 +576,7 @@ _0217c4b0: cmpne r1, r0 bne _0217c524 ldr r4, [r5, #0xb4] - ldr r3, _0217c568 ; =data_02050f54 + ldr r3, _0217c568 ; =gSinCosTable ldr r1, [r4] add r0, sp, #0 bic r1, r1, #2 @@ -615,7 +615,7 @@ _0217c558: .word data_ov39_021866fc _0217c55c: .word data_ov39_02186710 _0217c560: .word data_ov39_02186724 _0217c564: .word data_ov39_02186738 -_0217c568: .word data_02050f54 +_0217c568: .word gSinCosTable _0217c56c: .word data_ov39_02186cec arm_func_end func_ov39_0217c338 @@ -1596,7 +1596,7 @@ func_ov39_0217d210: ; 0x0217d210 add r0, r0, #0x800 str r4, [r4, #0xa54] bl func_02018cb8 - ldr r0, _0217d514 ; =data_027e0fc8 + ldr r0, _0217d514 ; =gPlayerLink ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x80] @@ -1679,7 +1679,7 @@ func_ov39_0217d210: ; 0x0217d210 str r0, [sp, #4] str r0, [sp, #8] add r0, sp, #0x1c - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x38] str r0, [sp, #0x3c] @@ -1701,7 +1701,7 @@ func_ov39_0217d210: ; 0x0217d210 mvn r0, #0 cmp r1, r0 beq _0217d46c - ldr r0, _0217d530 ; =data_027e0fe4 + ldr r0, _0217d530 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1750,14 +1750,14 @@ _0217d504: .word gItemManager _0217d508: .word 0x00001333 _0217d50c: .word 0x0000199a _0217d510: .word func_ov39_0217c24c -_0217d514: .word data_027e0fc8 +_0217d514: .word gPlayerLink _0217d518: .word data_027e0fec _0217d51c: .word data_ov00_020eec9c _0217d520: .word data_ov29_0217a4ac _0217d524: .word data_ov39_02186c08 _0217d528: .word data_027e0fe8 _0217d52c: .word 0x4c4f4e44 -_0217d530: .word data_027e0fe4 +_0217d530: .word gActorManager arm_func_end func_ov39_0217d210 .global func_ov39_0217d534 @@ -1780,19 +1780,19 @@ func_ov39_0217d534: ; 0x0217d534 mov r2, #0 str r3, [sp, #0x10] bl _ZN10MapManager16MapData_vfunc_68Ev - ldr r1, _0217d5c8 ; =data_027e0f94 + ldr r1, _0217d5c8 ; =gPlayerPos mov r3, r0 str r0, [r4, #0x4c] add r0, r4, #0x48 add r2, r4, #0x268 str r3, [r4, #0x1b0] - bl func_01ff9bf8 - ldr r1, _0217d5cc ; =data_027e0fe4 + bl Vec3p_Sub + ldr r1, _0217d5cc ; =gActorManager ldr r2, _0217d5d0 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j - ldr r0, _0217d5cc ; =data_027e0fe4 + ldr r0, _0217d5cc ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1801,8 +1801,8 @@ func_ov39_0217d534: ; 0x0217d534 ldmia sp!, {r3, r4, pc} .align 2, 0 _0217d5c4: .word gMapManager -_0217d5c8: .word data_027e0f94 -_0217d5cc: .word data_027e0fe4 +_0217d5c8: .word gPlayerPos +_0217d5cc: .word gActorManager _0217d5d0: .word 0x4e415649 arm_func_end func_ov39_0217d534 @@ -1999,7 +1999,7 @@ _0217d83c: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _0217d86c: ldr r0, [r5, #0x158] tst r0, #0x40 @@ -2075,7 +2075,7 @@ _0217d950: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r5, #0x1b0] ldr r0, [r5, #0x4c] cmp r0, r1 @@ -2119,7 +2119,7 @@ _0217d9a4: ldr r0, [r0, #4] mov r2, r4 bl func_ov00_02087fe0 - ldr r0, _0217dd10 ; =data_027e0fc8 + ldr r0, _0217dd10 ; =gPlayerLink add r1, r5, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 @@ -2160,7 +2160,7 @@ _0217da40: ldr r3, [r5, #0x50] mov r2, r0 str r3, [sp, #0x44] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x6c add r0, r5, #0x238 mov r2, #0x8000 @@ -2211,7 +2211,7 @@ _0217db54: ldr r0, [r5, #0x194] cmp r0, #1 beq _0217dcc4 - ldr r0, _0217dd10 ; =data_027e0fc8 + ldr r0, _0217dd10 ; =gPlayerLink add r1, r5, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 @@ -2258,10 +2258,10 @@ _0217dbec: movne r0, #0x14000 strne r0, [r5, #0x1e8] bne _0217dc74 - ldr r1, _0217dd18 ; =data_027e0f94 + ldr r1, _0217dd18 ; =gPlayerPos add r2, sp, #0x60 add r0, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [r5, #0x1e8] add r1, sp, #0x60 add r0, r5, #0x268 @@ -2271,10 +2271,10 @@ _0217dbec: subge r0, r0, #0x1000 strge r0, [r5, #0x1e8] _0217dc74: - ldr r0, _0217dd18 ; =data_027e0f94 + ldr r0, _0217dd18 ; =gPlayerPos add r2, sp, #0x60 add r1, r5, #0x268 - bl func_01ff9bc4 + bl Vec3p_Add ldr r3, [sp, #0x60] ldr r1, [sp, #0x68] ldr r0, _0217dd0c ; =data_027e0f64 @@ -2287,7 +2287,7 @@ _0217dc74: ldr r0, [r0, #4] add r1, sp, #0 bl func_ov00_02087fe0 - ldr r0, _0217dd10 ; =data_027e0fc8 + ldr r0, _0217dd10 ; =gPlayerLink add r1, r5, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 @@ -2312,9 +2312,9 @@ _0217dd00: .word data_ov00_020eec9c _0217dd04: .word 0x00000325 _0217dd08: .word 0x0000011f _0217dd0c: .word data_027e0f64 -_0217dd10: .word data_027e0fc8 +_0217dd10: .word gPlayerLink _0217dd14: .word 0x000004cd -_0217dd18: .word data_027e0f94 +_0217dd18: .word gPlayerPos arm_func_end func_ov39_0217d790 .global func_ov39_0217dd1c @@ -2349,7 +2349,7 @@ _0217dd7c: add r0, r0, #0xc00 bl func_ov17_021687f0 ldrh r1, [r5, #0x78] - ldr r3, _0217dfac ; =data_02050f54 + ldr r3, _0217dfac ; =gSinCosTable add r0, sp, #0x78 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2490,7 +2490,7 @@ _0217df70: add sp, sp, #0x9c ldmia sp!, {r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_0217dfac: .word data_02050f54 +_0217dfac: .word gSinCosTable _0217dfb0: .word data_027e0194 _0217dfb4: .word 0xffffe8cd _0217dfb8: .word 0x00001666 @@ -2572,7 +2572,7 @@ _0217e05c: mov r1, #0x55 bl func_ov00_02087584 mov r3, #0 - ldr r0, _0217e284 ; =data_027e0fc8 + ldr r0, _0217e284 ; =gPlayerLink str r3, [sp] ldr r0, [r0] add r2, r4, #8 @@ -2654,7 +2654,7 @@ _0217e1ec: b _0217e274 _0217e200: mov r3, #0 - ldr r0, _0217e284 ; =data_027e0fc8 + ldr r0, _0217e284 ; =gPlayerLink str r3, [sp] ldr r0, [r0] add r2, r4, #8 @@ -2690,17 +2690,17 @@ _0217e274: ldmia sp!, {r4, pc} .align 2, 0 _0217e280: .word data_027e0f64 -_0217e284: .word data_027e0fc8 +_0217e284: .word gPlayerLink arm_func_end func_ov39_0217dfc0 .global func_ov39_0217e288 arm_func_start func_ov39_0217e288 func_ov39_0217e288: ; 0x0217e288 - ldr ip, _0217e294 ; =func_01fffcec + ldr ip, _0217e294 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_0217e294: .word func_01fffcec +_0217e294: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov39_0217e288 .global func_ov39_0217e298 @@ -2871,7 +2871,7 @@ _0217e4a0: mov r2, r2, asr #0x4 mov r5, r2, lsl #0x1 add r2, r5, #1 - ldr r4, _0217e554 ; =data_02050f54 + ldr r4, _0217e554 ; =gSinCosTable mov r5, r5, lsl #0x1 mov r2, r2, lsl #0x1 ldrsh r6, [r4, r5] @@ -2912,7 +2912,7 @@ _0217e51c: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0217e554: .word data_02050f54 +_0217e554: .word gSinCosTable _0217e558: .word data_027e0ff8 arm_func_end func_ov39_0217e434 @@ -3012,7 +3012,7 @@ _0217e678: _0217e69c: ldrh r0, [r4, #0x78] mov r9, #0 - ldr r2, _0217e820 ; =data_02050f54 + ldr r2, _0217e820 ; =gSinCosTable mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 @@ -3020,7 +3020,7 @@ _0217e69c: mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] ldrsh r0, [r2, r0] - ldr r11, _0217e824 ; =data_027e0f90 + ldr r11, _0217e824 ; =gPlayer str r9, [sp, #0x1c] str r1, [sp, #0x18] str r0, [sp, #0x20] @@ -3043,7 +3043,7 @@ _0217e6dc: ldr r3, [r4, #0x50] mov r2, r6 str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add ldr r3, [r7, #0x20] ldr r2, [r7, #0x1c] ldr r1, [r7, #0x18] @@ -3062,11 +3062,11 @@ _0217e6dc: ldr r3, [r4, #0x50] mov r2, r5 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r6 mov r1, r5 add r2, sp, #0x24 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r11] mov r10, #0 mov r1, r5 @@ -3077,7 +3077,7 @@ _0217e6dc: movne r10, #1 cmp r10, #0 beq _0217e7ec - ldr r0, _0217e824 ; =data_027e0f90 + ldr r0, _0217e824 ; =gPlayer add r2, sp, #0x18 ldr r0, [r0] mov r1, #4 @@ -3110,8 +3110,8 @@ _0217e810: .word data_ov39_021865d8 _0217e814: .word data_ov39_02186620 _0217e818: .word data_ov39_02186590 _0217e81c: .word 0x0000059a -_0217e820: .word data_02050f54 -_0217e824: .word data_027e0f90 +_0217e820: .word gSinCosTable +_0217e824: .word gPlayer _0217e828: .word data_ov29_0217bd28 arm_func_end func_ov39_0217e5b0 @@ -3128,7 +3128,7 @@ func_ov39_0217e82c: ; 0x0217e82c mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ ldr r0, [r4, #0x130] cmp r0, #0x10 ldmneia sp!, {r4, pc} @@ -3507,13 +3507,13 @@ _0217ecdc: add r1, sp, #0 add r0, r0, #0x400 bl func_ov39_0217c894 - ldr r0, _0217ede8 ; =data_027e0f90 + ldr r0, _0217ede8 ; =gPlayer ldr r3, _0217edec ; =0x00000b33 ldr r0, [r0] add r1, sp, #0 mov r2, #0 str r3, [sp, #0xc] - bl _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi + bl _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi cmp r0, #0 beq _0217edd8 ldr r0, [r4, #0x158] @@ -3564,7 +3564,7 @@ _0217edd8: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0217ede4: .word 0x0000471c -_0217ede8: .word data_027e0f90 +_0217ede8: .word gPlayer _0217edec: .word 0x00000b33 _0217edf0: .word data_027e0ffc arm_func_end func_ov39_0217ec98 @@ -3679,7 +3679,7 @@ _0217ef50: mov r1, #0xf str r1, [r4, #0x180] ldrsh r1, [r4, #0x78] - ldr r3, _0217f030 ; =data_02050f54 + ldr r3, _0217f030 ; =gSinCosTable ldr ip, [r4, #0x1a8] add r1, r1, #0x8000 mov r1, r1, lsl #0x10 @@ -3726,7 +3726,7 @@ _0217f020: .word 0x41525257 _0217f024: .word 0x524f5045 _0217f028: .word 0x424f4d42 _0217f02c: .word 0x0000019a -_0217f030: .word data_02050f54 +_0217f030: .word gSinCosTable arm_func_end func_ov39_0217edf4 .global func_ov39_0217f034 @@ -3802,10 +3802,10 @@ func_ov39_0217f10c: ; 0x0217f10c stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x1c mov r5, r0 - ldr r1, _0217f264 ; =data_027e0fac + ldr r1, _0217f264 ; =gPlayerAngle ldr r4, [r5, #0x138] ldrsh r3, [r1] - ldr r0, _0217f268 ; =data_027e0f94 + ldr r0, _0217f268 ; =gPlayerPos add r8, sp, #0x10 ldmia r0, {r0, r1, r2} strh r3, [sp] @@ -3819,7 +3819,7 @@ func_ov39_0217f10c: ; 0x0217f10c mov r4, r1, lsl #0xc mov r0, r0, asr #0x4 mov r6, r0, lsl #0x1 - ldr r3, _0217f26c ; =data_02050f54 + ldr r3, _0217f26c ; =gSinCosTable mov r2, r6, lsl #0x1 mov r1, r7 ldrsh r7, [r3, r2] @@ -3876,22 +3876,22 @@ func_ov39_0217f10c: ; 0x0217f10c add r0, r1, r0, asr #12 strh r0, [sp] _0217f23c: - ldr r0, _0217f274 ; =data_027e0fc8 + ldr r0, _0217f274 ; =gPlayerLink add r1, sp, #0x10 ldr r0, [r0] bl func_ov00_020bd4d8 - ldr r0, _0217f274 ; =data_027e0fc8 + ldr r0, _0217f274 ; =gPlayerLink add r1, sp, #0 ldr r0, [r0] bl func_ov00_020bd4fc add sp, sp, #0x1c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0217f264: .word data_027e0fac -_0217f268: .word data_027e0f94 -_0217f26c: .word data_02050f54 +_0217f264: .word gPlayerAngle +_0217f268: .word gPlayerPos +_0217f26c: .word gSinCosTable _0217f270: .word 0x00002b33 -_0217f274: .word data_027e0fc8 +_0217f274: .word gPlayerLink arm_func_end func_ov39_0217f10c .global func_ov39_0217f278 @@ -3918,7 +3918,7 @@ func_ov39_0217f278: ; 0x0217f278 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217f320 ; =data_027e0e58 add r2, sp, #0x10 ldr r0, [r0] @@ -4225,7 +4225,7 @@ func_ov39_0217f6dc: ; 0x0217f6dc sub sp, sp, #0x44 mov r4, r0 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -4347,7 +4347,7 @@ _0217f868: cmp r0, #0 beq _0217f97c ldr r0, [r4, #0x158] - ldr r5, _0217fa38 ; =data_02050f54 + ldr r5, _0217fa38 ; =gSinCosTable orr r0, r0, #0x8000000 str r0, [r4, #0x158] ldr r0, [r4, #0x284] @@ -4396,7 +4396,7 @@ _0217f868: mov r2, r3 ldr r3, [sp, #8] str r3, [r5, #0x68] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x284] ldr r0, [sp, #0xc] str r0, [r1, #0x48] @@ -4414,7 +4414,7 @@ _0217f868: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} _0217f97c: ldrsh r0, [r4, #0x78] - ldr r2, _0217fa38 ; =data_02050f54 + ldr r2, _0217fa38 ; =gSinCosTable ldr r1, _0217fa3c ; =0x00000a66 add r0, r0, #0x8000 mov r0, r0, lsl #0x10 @@ -4461,7 +4461,7 @@ _0217f97c: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_0217fa38: .word data_02050f54 +_0217fa38: .word gSinCosTable _0217fa3c: .word 0x00000a66 arm_func_end func_ov39_0217f810 @@ -4522,7 +4522,7 @@ func_ov39_0217faac: ; 0x0217faac ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r7, r4, #0x288 ldr r4, _0217fb44 ; =data_027e0e58 mov r6, #0 @@ -4568,7 +4568,7 @@ func_ov39_0217fb48: ; 0x0217fb48 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _0217fbc4 ; =data_027e0e58 add r2, sp, #0xc ldr r0, [r0] @@ -4587,7 +4587,7 @@ _0217fbc4: .word data_027e0e58 func_ov39_0217fbc8: ; 0x0217fbc8 stmdb sp!, {lr} sub sp, sp, #0x14 - ldr r1, _0217fc40 ; =data_027e0f94 + ldr r1, _0217fc40 ; =gPlayerPos mov ip, r0 add r3, sp, #8 ldmia r1, {r0, r1, r2} @@ -4616,7 +4616,7 @@ func_ov39_0217fbc8: ; 0x0217fbc8 add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 -_0217fc40: .word data_027e0f94 +_0217fc40: .word gPlayerPos _0217fc44: .word data_027e0e58 _0217fc48: .word 0x000001c1 _0217fc4c: .word 0x000001c2 @@ -4814,7 +4814,7 @@ _0217fe9c: bl func_ov39_0217e2e8 cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _0217ff14 ; =data_027e0f94 + ldr r0, _0217ff14 ; =gPlayerPos ldr r1, [r4, #0x4c] ldr r0, [r0, #4] cmp r0, r1 @@ -4829,7 +4829,7 @@ _0217fe9c: bl func_ov39_0217d5d4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217ff14: .word data_027e0f94 +_0217ff14: .word gPlayerPos _0217ff18: .word 0x00003333 arm_func_end func_ov39_0217fe5c @@ -4896,7 +4896,7 @@ _0217ffc0: ldr r1, [r0, #0x44] cmp r1, #0 beq _02180004 - ldr r0, _02180f20 ; =data_027e0fc8 + ldr r0, _02180f20 ; =gPlayerLink ldr r0, [r0] ldr r0, [r0, #4] cmp r1, r0 @@ -5020,7 +5020,7 @@ _02180004: bl func_ov39_02185120 mov r1, #1 str r1, [r5, #0x194] - ldr r0, _02180f20 ; =data_027e0fc8 + ldr r0, _02180f20 ; =gPlayerLink add r1, r5, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 @@ -5031,7 +5031,7 @@ _02180004: ldr r4, [r5, #0x1c] ldr r2, [r5, #0x18] ldr r1, [r5, #0x14] - ldr r0, _02180f38 ; =data_027e0f90 + ldr r0, _02180f38 ; =gPlayer str r1, [r5, #0x48] str r2, [r5, #0x4c] str r4, [r5, #0x50] @@ -5083,7 +5083,7 @@ _021802bc: addle sp, sp, #0x130 ldmleia sp!, {r4, r5, r6, pc} ldrh r1, [r5, #0x78] - ldr r3, _02180f40 ; =data_02050f54 + ldr r3, _02180f40 ; =gSinCosTable mov r0, #0xcd mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -5114,11 +5114,11 @@ _02180328: ldr r0, [r5, #0x280] add r1, sp, #0x5c bl func_ov39_02185208 - ldr r0, _02180f20 ; =data_027e0fc8 + ldr r0, _02180f20 ; =gPlayerLink add r1, r5, #0x48 ldr r0, [r0] bl func_ov00_020bb6d4 - ldr r0, _02180f20 ; =data_027e0fc8 + ldr r0, _02180f20 ; =gPlayerLink add r1, sp, #0x5c ldr r0, [r0] mov r2, #0x400 @@ -5231,7 +5231,7 @@ _02180450: mov r0, r5 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc - ldr r0, _02180f20 ; =data_027e0fc8 + ldr r0, _02180f20 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bb9b0 add sp, sp, #0x130 @@ -5282,11 +5282,11 @@ _02180528: str r0, [sp, #0x50] str r2, [sp, #0x54] str r1, [sp, #0x58] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x100 strh r0, [r1, #0x60] add r0, sp, #0x50 - bl func_01ff9cec + bl Vec3p_Length add sp, sp, #0x130 str r0, [r5, #0x1cc] ldmia sp!, {r4, r5, r6, pc} @@ -5340,7 +5340,7 @@ _021806a8: str r0, [r5, #0x1bc] add r0, r5, #0x100 ldrh r0, [r0, #0x62] - ldr r1, _02180f40 ; =data_02050f54 + ldr r1, _02180f40 ; =gSinCosTable ldr lr, [r5, #0x1b8] mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 @@ -5413,7 +5413,7 @@ _021807c4: ldr r1, [r5, #0x280] add r0, sp, #0x44 add r1, r1, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02180f58 ; =0x00000333 cmp r0, r1 addge sp, sp, #0x130 @@ -5690,7 +5690,7 @@ _02180bd0: ldr r1, _02180f74 ; =data_ov39_02186668 add r2, sp, #0x2c add r0, r5, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x280] add r1, sp, #0x2c bl func_ov39_02185208 @@ -5703,7 +5703,7 @@ _02180c00: ldr r1, _02180f78 ; =data_ov39_02186674 add r2, sp, #0x2c add r0, r5, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r5, #0x1c0] add r0, sp, #0x38 add r1, sp, #0x2c @@ -5729,7 +5729,7 @@ _02180c64: ldr r1, _02180f78 ; =data_ov39_02186674 add r2, sp, #0x2c add r0, r5, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x280] add r1, sp, #0x2c bl func_ov39_02185208 @@ -5742,7 +5742,7 @@ _02180c94: ldr r1, _02180f80 ; =data_ov39_02186680 add r2, sp, #0x2c add r0, r5, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r5, #0x1c0] add r0, sp, #0x38 add r1, sp, #0x2c @@ -5761,7 +5761,7 @@ _02180cdc: ldr r1, _02180f84 ; =data_ov39_0218668c add r2, sp, #0x2c add r0, r5, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r2, [r5, #0x1c0] add r0, sp, #0x38 add r1, sp, #0x2c @@ -5780,7 +5780,7 @@ _02180d24: ldr r1, _02180f84 ; =data_ov39_0218668c add r2, sp, #0x2c add r0, r5, #0x48 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r5, #0x280] add r1, sp, #0x2c bl func_ov39_02185208 @@ -5912,15 +5912,15 @@ _02180f14: ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _02180f1c: .word data_027e071c -_02180f20: .word data_027e0fc8 +_02180f20: .word gPlayerLink _02180f24: .word data_027e0f64 _02180f28: .word gAdventureFlags _02180f2c: .word 0x00001b33 _02180f30: .word 0x00000b33 _02180f34: .word 0x00000666 -_02180f38: .word data_027e0f90 +_02180f38: .word gPlayer _02180f3c: .word gItemManager -_02180f40: .word data_02050f54 +_02180f40: .word gSinCosTable _02180f44: .word data_027e0c68 _02180f48: .word 0x00080015 _02180f4c: .word 0x0008001a @@ -5989,7 +5989,7 @@ func_ov39_02180ff4: ; 0x02180ff4 mov r4, r0 bl func_ov39_0217e298 ldrh r1, [r4, #0x78] - ldr r3, _021810bc ; =data_02050f54 + ldr r3, _021810bc ; =gSinCosTable mov r0, #0xcd mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -6021,7 +6021,7 @@ func_ov39_02180ff4: ; 0x02180ff4 bl func_ov39_0217e2e8 cmp r0, #0 ldmneia sp!, {r4, pc} - ldr r0, _021810c0 ; =data_027e0f94 + ldr r0, _021810c0 ; =gPlayerPos ldr r1, [r4, #0x4c] ldr r0, [r0, #4] cmp r0, r1 @@ -6036,8 +6036,8 @@ func_ov39_02180ff4: ; 0x02180ff4 bl func_ov39_0217d5d4 ldmia sp!, {r4, pc} .align 2, 0 -_021810bc: .word data_02050f54 -_021810c0: .word data_027e0f94 +_021810bc: .word gSinCosTable +_021810c0: .word gPlayerPos _021810c4: .word 0x00003333 arm_func_end func_ov39_02180ff4 @@ -6216,7 +6216,7 @@ _021812c0: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -6452,7 +6452,7 @@ _02181640: mov r0, #0xf str r0, [r4, #0x180] ldrsh r0, [r4, #0x78] - ldr r2, _02181898 ; =data_02050f54 + ldr r2, _02181898 ; =gSinCosTable ldr r3, [r4, #0x1a8] add r0, r0, #0x8000 mov r0, r0, lsl #0x10 @@ -6541,7 +6541,7 @@ _02181748: stmia r6, {r0, r1, r2} str r5, [sp, #0xc] ldr r0, [sp] - ldr r5, _02181898 ; =data_02050f54 + ldr r5, _02181898 ; =gSinCosTable str r0, [r3, #0x7c] ldr r0, [sp, #4] ldr ip, _021818a4 ; =0x00000a66 @@ -6603,7 +6603,7 @@ _02181888: .word data_ov39_02186124 _0218188c: .word 0x00000333 _02181890: .word data_ov39_02186534 _02181894: .word 0x0000019a -_02181898: .word data_02050f54 +_02181898: .word gSinCosTable _0218189c: .word data_027e0764 _021818a0: .word 0x00001333 _021818a4: .word 0x00000a66 @@ -6623,7 +6623,7 @@ func_ov39_021818a8: ; 0x021818a8 strmi r0, [r4, #0x1a8] _021818cc: ldrsh r0, [r4, #0x78] - ldr r2, _02181998 ; =data_02050f54 + ldr r2, _02181998 ; =gSinCosTable ldr r3, [r4, #0x1a8] add r0, r0, #0x8000 mov r0, r0, lsl #0x10 @@ -6676,7 +6676,7 @@ _0218198c: bl func_ov39_0217d5d4 ldmia sp!, {r4, pc} .align 2, 0 -_02181998: .word data_02050f54 +_02181998: .word gSinCosTable arm_func_end func_ov39_021818a8 .global func_ov39_0218199c @@ -6695,7 +6695,7 @@ func_ov39_0218199c: ; 0x0218199c add r0, r7, #0xab mov r3, #0x3800 add r9, r0, #0x2a00 - ldr r2, _02181cbc ; =data_027e0f94 + ldr r2, _02181cbc ; =gPlayerPos mov r1, r9, lsl #0x10 ldr r0, [r2] str r6, [sp, #0x34] @@ -6718,7 +6718,7 @@ func_ov39_0218199c: ; 0x0218199c ldr r3, [r10, #0x27c] mov r2, r0 str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x34 mov r0, r10 bl func_ov39_0217eaa0 @@ -6744,7 +6744,7 @@ func_ov39_0218199c: ; 0x0218199c ldr r3, [r10, #0x27c] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add add r1, sp, #0x34 mov r0, r10 bl func_ov39_0217eaa0 @@ -6774,7 +6774,7 @@ _02181afc: cmp r5, #0 cmpeq r4, #0 bne _02181bcc - ldr r0, _02181cbc ; =data_027e0f94 + ldr r0, _02181cbc ; =gPlayerPos add r3, sp, #0x28 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -6895,7 +6895,7 @@ _02181c14: add sp, sp, #0x40 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_02181cbc: .word data_027e0f94 +_02181cbc: .word gPlayerPos _02181cc0: .word 0xffffd555 _02181cc4: .word data_027e0764 _02181cc8: .word data_027e0ffc @@ -6956,7 +6956,7 @@ _02181d4c: ldr r3, [r5, #0x27c] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0xc] ldr r0, [r5, #0x48] sub r0, r1, r0 @@ -7061,7 +7061,7 @@ _02181ecc: strmi r0, [r4, #0x1a8] _02181efc: ldrsh r0, [r4, #0x78] - ldr r2, _021820dc ; =data_02050f54 + ldr r2, _021820dc ; =gSinCosTable ldr r3, [r4, #0x1a8] add r0, r0, #0x8000 mov r0, r0, lsl #0x10 @@ -7127,7 +7127,7 @@ _02181fd0: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -7188,7 +7188,7 @@ _021820a8: add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 -_021820dc: .word data_02050f54 +_021820dc: .word gSinCosTable _021820e0: .word 0xffffd333 _021820e4: .word 0xffffdccd _021820e8: .word 0x000014cd @@ -7252,7 +7252,7 @@ func_ov39_021820f8: ; 0x021820f8 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -7314,12 +7314,12 @@ func_ov39_02182284: ; 0x02182284 bl func_ov39_0217f10c mov r0, r4 bl func_ov39_0217f278 - ldr r0, _021823e8 ; =data_027e0fb8 + ldr r0, _021823e8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14IsTouchingFastEv cmp r0, #0 beq _021822c8 - ldr r0, _021823ec ; =data_027e0fc8 + ldr r0, _021823ec ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc210 ldr r0, [r4, #0x184] @@ -7329,13 +7329,13 @@ _021822c8: ldr r0, [r4, #0x184] cmp r0, #0 bgt _0218233c - ldr r0, _021823ec ; =data_027e0fc8 + ldr r0, _021823ec ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bc280 bl func_ov39_0218240c mov r1, #0 - ldr r3, _021823f0 ; =data_027e0f94 + ldr r3, _021823f0 ; =gPlayerPos mov r2, r1 bl func_ov05_02106980 bl func_ov39_0217e288 @@ -7361,12 +7361,12 @@ _0218233c: addle sp, sp, #0xc ldmleia sp!, {r3, r4, pc} ldrh r2, [r4, #0x78] - ldr r0, _021823ec ; =data_027e0fc8 + ldr r0, _021823ec ; =gPlayerLink mov r1, #0 mov r2, r2, asr #0x4 mov r3, r2, lsl #0x1 add r2, r3, #1 - ldr ip, _02182400 ; =data_02050f54 + ldr ip, _02182400 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r2, r2, lsl #0x1 ldrsh r3, [ip, r3] @@ -7376,7 +7376,7 @@ _0218233c: str r1, [sp, #4] str r2, [sp, #8] bl func_ov00_020bc280 - ldr r0, _02182404 ; =data_027e0f90 + ldr r0, _02182404 ; =gPlayer mov r1, #2 ldr r0, [r0] add r2, sp, #0 @@ -7400,14 +7400,14 @@ _0218233c: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_021823e8: .word data_027e0fb8 -_021823ec: .word data_027e0fc8 -_021823f0: .word data_027e0f94 +_021823e8: .word gPlayerControl +_021823ec: .word gPlayerLink +_021823f0: .word gPlayerPos _021823f4: .word data_027e0ffc _021823f8: .word 0x000001bd _021823fc: .word data_ov29_0217a4ac -_02182400: .word data_02050f54 -_02182404: .word data_027e0f90 +_02182400: .word gSinCosTable +_02182404: .word gPlayer _02182408: .word data_ov29_0217bd28 arm_func_end func_ov39_02182284 @@ -7868,7 +7868,7 @@ _02182984: bl Approach_thunk add r0, r5, #0x100 ldrh r0, [r0, #0x60] - ldr r2, _02182f24 ; =data_02050f54 + ldr r2, _02182f24 ; =gSinCosTable ldr ip, [r5, #0x1a8] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -7899,7 +7899,7 @@ _02182984: strne r0, [r5, #0x1a8] ldr r0, [r5, #0x60] ldr r1, [r5, #0x68] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x100 strh r0, [r1, #0x60] ldrsh r1, [r1, #0x5e] @@ -7975,7 +7975,7 @@ _02182b08: ldr r3, [r5, #0x50] mov r2, r0 str r3, [sp, #0x1c] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] @@ -8064,7 +8064,7 @@ _02182cb8: _02182ccc: add r0, r5, #0x100 ldrh r0, [r0, #0x60] - ldr r2, _02182f24 ; =data_02050f54 + ldr r2, _02182f24 ; =gSinCosTable ldr ip, [r5, #0x1a8] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -8099,7 +8099,7 @@ _02182ccc: beq _02182d98 add r0, sp, #0x2c mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0x2c mov r1, #0x1000 bl func_01fffbec @@ -8112,7 +8112,7 @@ _02182ccc: ldr r3, [r5, #0x68] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add _02182d98: add r1, sp, #0x2c mov r0, r5 @@ -8130,7 +8130,7 @@ _02182d98: beq _02182de4 ldr r0, [r5, #0x60] ldr r1, [r5, #0x68] - bl func_01ffa0f4 + bl Atan2 add r1, r5, #0x100 strh r0, [r1, #0x60] _02182de4: @@ -8219,7 +8219,7 @@ _02182ef4: ldmia sp!, {r4, r5, pc} .align 2, 0 _02182f20: .word 0x0000011f -_02182f24: .word data_02050f54 +_02182f24: .word gSinCosTable _02182f28: .word data_027e0f64 _02182f2c: .word 0xffffd333 _02182f30: .word 0x000014cd @@ -8243,7 +8243,7 @@ func_ov39_02182f58: ; 0x02182f58 strh r0, [r4, #0x78] ldrsh r2, [r4, #0x78] add r1, r4, #0x100 - ldr ip, _02182ff4 ; =data_02050f54 + ldr ip, _02182ff4 ; =gSinCosTable add r2, r2, #0x8000 strh r2, [r1, #0x60] ldrh r2, [r1, #0x60] @@ -8277,7 +8277,7 @@ func_ov39_02182f58: ; 0x02182f58 mov r0, #1 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02182ff4: .word data_02050f54 +_02182ff4: .word gSinCosTable _02182ff8: .word 0x00000666 arm_func_end func_ov39_02182f58 @@ -8295,7 +8295,7 @@ func_ov39_02182ffc: ; 0x02182ffc bl Approach_thunk add r0, r4, #0x100 ldrh r0, [r0, #0x60] - ldr r2, _021830d4 ; =data_02050f54 + ldr r2, _021830d4 ; =gSinCosTable ldr lr, [r4, #0x1a8] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -8326,7 +8326,7 @@ func_ov39_02182ffc: ; 0x02182ffc strne r0, [r4, #0x1a8] ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x100 strh r0, [r1, #0x60] ldr r0, [r4, #0x7fc] @@ -8339,7 +8339,7 @@ func_ov39_02182ffc: ; 0x02182ffc bl func_ov39_0217d5d4 ldmia sp!, {r4, pc} .align 2, 0 -_021830d4: .word data_02050f54 +_021830d4: .word gSinCosTable arm_func_end func_ov39_02182ffc .global func_ov39_021830d8 @@ -8353,7 +8353,7 @@ func_ov39_021830d8: ; 0x021830d8 add r2, sp, #0 mov r1, r6 mov r4, r3 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r3, [r5] smull r2, r1, r0, r4 @@ -8406,7 +8406,7 @@ func_ov39_021830d8: ; 0x021830d8 mov r4, r4, lsr #0xc orr r4, r4, r3, lsl #20 str r4, [r5, #8] - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, r5, r6, pc} arm_func_end func_ov39_021830d8 @@ -8417,7 +8417,7 @@ func_ov39_021831d8: ; 0x021831d8 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldr r1, [r4, #0x174] - ldr r0, _021832bc ; =data_027e0f90 + ldr r0, _021832bc ; =gPlayer add r1, r1, #1 str r1, [r4, #0x174] ldr r0, [r0] @@ -8435,7 +8435,7 @@ _0218321c: mov r0, #3 str r0, [r4, #0x16c] ldr r0, [r4, #0x48] - ldr r3, _021832c4 ; =data_02050f54 + ldr r3, _021832c4 ; =gSinCosTable str r0, [r4, #0x214] ldr r0, [r4, #0x4c] ldr r1, _021832c8 ; =0x00000666 @@ -8473,9 +8473,9 @@ _0218321c: str r2, [r4, #0x68] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_021832bc: .word data_027e0f90 +_021832bc: .word gPlayer _021832c0: .word data_ov29_0217a4ac -_021832c4: .word data_02050f54 +_021832c4: .word gSinCosTable _021832c8: .word 0x00000666 arm_func_end func_ov39_021831d8 @@ -8561,7 +8561,7 @@ func_ov39_021833a4: ; 0x021833a4 mov r0, r5, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02183514 ; =data_02050f54 + ldr r2, _02183514 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -8639,7 +8639,7 @@ _02183504: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02183510: .word 0x000006b8 -_02183514: .word data_02050f54 +_02183514: .word gSinCosTable _02183518: .word 0x00001022 _0218351c: .word data_027e0f64 _02183520: .word gAdventureFlags @@ -8667,7 +8667,7 @@ func_ov39_02183528: ; 0x02183528 _02183564: add r0, r4, #0x100 ldrh r1, [r0, #0x60] - ldr r3, _0218368c ; =data_02050f54 + ldr r3, _0218368c ; =gSinCosTable ldr ip, [r4, #0x1a8] mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -8743,7 +8743,7 @@ _0218367c: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0218368c: .word data_02050f54 +_0218368c: .word gSinCosTable _02183690: .word data_027e0e58 _02183694: .word data_027e0ffc _02183698: .word 0x0000031b @@ -8792,7 +8792,7 @@ func_ov39_021836e0: ; 0x021836e0 _0218371c: add r0, r4, #0x100 ldrh r0, [r0, #0x60] - ldr r2, _02183808 ; =data_02050f54 + ldr r2, _02183808 ; =gSinCosTable ldr r3, [r4, #0x1a8] mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -8852,7 +8852,7 @@ _021837c4: add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02183808: .word data_02050f54 +_02183808: .word gSinCosTable _0218380c: .word data_027e0e58 _02183810: .word data_027e0ffc _02183814: .word 0x0000031b @@ -8929,7 +8929,7 @@ func_ov39_021838c4: ; 0x021838c4 mov r1, #0 str r1, [r4, #0x60] str r1, [r4, #0x64] - ldr r0, _02183c18 ; =data_027e0fc8 + ldr r0, _02183c18 ; =gPlayerLink str r1, [r4, #0x68] ldr r0, [r0] ldr r1, [r0] @@ -9106,7 +9106,7 @@ func_ov39_021838c4: ; 0x021838c4 add r0, sp, #0 add r1, r4, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #4] ldr r3, [sp] add r0, r0, #0x66 @@ -9132,7 +9132,7 @@ func_ov39_021838c4: ; 0x021838c4 .align 2, 0 _02183c10: .word data_027e0ffc _02183c14: .word 0x00000321 -_02183c18: .word data_027e0fc8 +_02183c18: .word gPlayerLink _02183c1c: .word 0x00000326 _02183c20: .word gAdventureFlags _02183c24: .word data_027e0f64 @@ -9317,7 +9317,7 @@ func_ov39_02183ccc: ; 0x02183ccc add r0, sp, #0x38 add r1, r7, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [sp, #0x3c] ldr r3, [sp, #0x38] add r0, r0, #0x66 @@ -9353,7 +9353,7 @@ _02183f0c: mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 mov r3, r0, lsl #0x1 - ldr r1, _02184318 ; =data_02050f54 + ldr r1, _02184318 ; =gSinCosTable mov r5, r6, lsl #0x1 ldrsh ip, [r1, r5] ldr r5, [sp, #0x5c] @@ -9370,7 +9370,7 @@ _02183f0c: orr r4, r4, r3, lsl #20 bl Divide add r2, r6, #1 - ldr r1, _02184318 ; =data_02050f54 + ldr r1, _02184318 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r1, [r1, r2] ldr r3, [r7, #0x4c] @@ -9393,7 +9393,7 @@ _02183f0c: add r0, sp, #0x2c add r1, r7, #0x220 str r2, [sp, #0x30] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [sp, #0x5c] str r0, [r7, #0x1dc] mov r0, #0 @@ -9513,7 +9513,7 @@ _02183f0c: ldr r3, [r7, #0x50] mov r2, r0 str r3, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov r1, r4 str r1, [sp] str r1, [sp, #4] @@ -9596,7 +9596,7 @@ _02183f0c: _0218430c: .word data_027e0f64 _02184310: .word 0x000009c4 _02184314: .word gAdventureFlags -_02184318: .word data_02050f54 +_02184318: .word gSinCosTable _0218431c: .word data_027e071c _02184320: .word 0x000014cd _02184324: .word 0x0000019a @@ -9810,7 +9810,7 @@ _021845e0: mov r2, r1, lsl #0x1 add r1, r2, #1 ldr r4, [r6, #0x1cc] - ldr r3, _02184780 ; =data_02050f54 + ldr r3, _02184780 ; =gSinCosTable mov r2, r2, lsl #0x1 add r0, r4, r0 ldr r4, [r6, #0x1d0] @@ -9845,13 +9845,13 @@ _021845e0: ldr r2, [sp, #0x24] mov r1, r0 sub r0, r3, r2 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r2, r0, asr #0x10 add r0, sp, #8 add r1, sp, #0x20 str r2, [sp, #0xa4] - bl func_01ff9ec0 + bl Vec3p_Distance str r0, [sp, #0xac] add r0, sp, #8 add r1, sp, #0x14 @@ -9860,13 +9860,13 @@ _021845e0: ldr r2, [sp, #0xc] ldr r0, [sp, #0x18] sub r0, r2, r0 - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 str r0, [sp, #0x3c] add r0, sp, #8 add r1, sp, #0x14 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r2, [sp, #0xa4] ldr r1, [sp, #0x3c] str r0, [sp, #0x44] @@ -9898,7 +9898,7 @@ _021845e0: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0218477c: .word 0x0000099a -_02184780: .word data_02050f54 +_02184780: .word gSinCosTable _02184784: .word data_027e0f64 arm_func_end func_ov39_021843c0 @@ -10231,7 +10231,7 @@ func_ov39_02184bb8: ; 0x02184bb8 ldmeqia sp!, {r3, r4, r5, pc} ldrsh r1, [r0, #0x44] mov lr, #0x29 - ldr r4, _02184c84 ; =data_02050f54 + ldr r4, _02184c84 ; =gSinCosTable mov r3, r1, lsl #0x12 mov r3, r3, lsr #0x10 mov r3, r3, asr #0x4 @@ -10273,7 +10273,7 @@ func_ov39_02184bb8: ; 0x02184bb8 bl func_ov39_02184ab4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02184c84: .word data_02050f54 +_02184c84: .word gSinCosTable _02184c88: .word 0x00000e39 _02184c8c: .word 0x00000266 arm_func_end func_ov39_02184bb8 @@ -10289,7 +10289,7 @@ func_ov39_02184c90: ; 0x02184c90 addne sp, sp, #0x48 ldmneia sp!, {r3, r4, r5, pc} ldr r5, [r1, #0xb4] - ldr r3, _02184d3c ; =data_02050f54 + ldr r3, _02184d3c ; =gSinCosTable ldr r1, [r5] bic r1, r1, #2 str r1, [r5] @@ -10307,7 +10307,7 @@ func_ov39_02184c90: ; 0x02184c90 mov r0, r4, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02184d3c ; =data_02050f54 + ldr r2, _02184d3c ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -10325,7 +10325,7 @@ func_ov39_02184c90: ; 0x02184c90 add sp, sp, #0x48 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02184d3c: .word data_02050f54 +_02184d3c: .word gSinCosTable arm_func_end func_ov39_02184c90 .global func_ov39_02184d40 @@ -10464,7 +10464,7 @@ _02184ec8: ldr r3, [r5, #0x50] add r2, sp, #0x18 str r3, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, _021850ec ; =data_ov39_02186cc0 add r0, sp, #0x18 ldr r1, [r1, #0x2c] @@ -10802,7 +10802,7 @@ _02185374: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl _ZN5Actor20IncreaseActiveFramesEv mov r0, r4 @@ -10830,7 +10830,7 @@ _02185374: add r1, r1, #0x300 add r0, r4, #0x60 str r1, [sp, #4] - bl func_01ff9cec + bl Vec3p_Length add r1, r4, #0x200 ldrsh r3, [r1, #0x20] mov r1, #0x3000 @@ -11535,23 +11535,23 @@ func_ov39_02185c3c: ; 0x02185c3c add r1, sp, #0x28 add r2, sp, #0x1c add r0, r5, #0x208 - bl func_01ff9bf8 - ldr r1, _02185e8c ; =data_027e0fac + bl Vec3p_Sub + ldr r1, _02185e8c ; =gPlayerAngle ldr r0, [sp, #0x1c] ldrsh r4, [r1] ldr r1, [sp, #0x24] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 rsbs r1, r4, r0, asr #16 ldr r0, _02185e90 ; =0x000031c7 rsbmi r1, r1, #0 cmp r1, r0 bgt _02185d1c - ldr r0, _02185e94 ; =data_027e0f90 + ldr r0, _02185e94 ; =gPlayer add r1, sp, #0x28 ldr r0, [r0] mov r2, #1 - bl _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi + bl _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi cmp r0, #0 beq _02185d1c bl func_ov39_02185ea8 @@ -11566,7 +11566,7 @@ func_ov39_02185c3c: ; 0x02185c3c _02185d1c: ldrh r0, [r5, #0x78] mov r4, #0 - ldr r1, _02185e98 ; =data_02050f54 + ldr r1, _02185e98 ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -11662,10 +11662,10 @@ _02185e50: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02185e88: .word 0x00000e66 -_02185e8c: .word data_027e0fac +_02185e8c: .word gPlayerAngle _02185e90: .word 0x000031c7 -_02185e94: .word data_027e0f90 -_02185e98: .word data_02050f54 +_02185e94: .word gPlayer +_02185e98: .word gSinCosTable _02185e9c: .word data_027e0ffc _02185ea0: .word 0x00000313 _02185ea4: .word 0x00000312 @@ -11674,11 +11674,11 @@ _02185ea4: .word 0x00000312 .global func_ov39_02185ea8 arm_func_start func_ov39_02185ea8 func_ov39_02185ea8: ; 0x02185ea8 - ldr ip, _02185eb4 ; =func_01fffcec + ldr ip, _02185eb4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02185eb4: .word func_01fffcec +_02185eb4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov39_02185ea8 .global func_ov39_02185eb8 @@ -13388,7 +13388,7 @@ data_ov39_02186a50: ; 0x02186a50 .word func_ov39_0217d704 .global data_ov39_02186a54 data_ov39_02186a54: ; 0x02186a54 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov39_02186a58 data_ov39_02186a58: ; 0x02186a58 .word func_ov39_0217dd1c @@ -13418,7 +13418,7 @@ data_ov39_02186a78: ; 0x02186a78 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov39_02186a7c data_ov39_02186a7c: ; 0x02186a7c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov39_02186a80 data_ov39_02186a80: ; 0x02186a80 .word func_ov39_0217dfc0 diff --git a/asm/ov40.inc b/asm/ov40.inc index 785fa3e5..d5149c02 100644 --- a/asm/ov40.inc +++ b/asm/ov40.inc @@ -17,7 +17,7 @@ .extern _ZN14AdventureFlags3SetEjb .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -30,14 +30,14 @@ .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_14Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -65,7 +65,7 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02057840 .extern data_02057878 .extern data_020579f8 @@ -94,11 +94,11 @@ .extern data_027e0f6c .extern data_027e0f78 .extern data_027e0f80 -.extern data_027e0f90 +.extern gPlayer .extern data_027e0fc4 .extern data_027e0fcc .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -130,12 +130,12 @@ .extern func_01ff98f0 .extern func_01ff9b4c .extern func_01ff9b88 -.extern func_01ff9bc4 -.extern func_01ff9bf8 +.extern Vec3p_Add +.extern Vec3p_Sub .extern func_01ffa8d4 .extern func_01ffbe34 .extern func_01fffcd8 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_02004e4c .extern func_020050e4 .extern func_020052e4 @@ -311,7 +311,7 @@ .extern func_ov00_020c0d1c .extern func_ov00_020c0d4c .extern func_ov00_020c0e04 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c42d8 diff --git a/asm/ov40.s b/asm/ov40.s index 2692cb98..c431b7a5 100644 --- a/asm/ov40.s +++ b/asm/ov40.s @@ -810,7 +810,7 @@ _0217c850: str r6, [sp, #0x2c] str r5, [sp, #0x30] str r3, [sp, #0x34] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x68 mov r5, #0 mov r3, #0x5000 @@ -819,7 +819,7 @@ _0217c850: str r6, [sp, #0x20] str r5, [sp, #0x24] str r3, [sp, #0x28] - bl func_01ff9bc4 + bl Vec3p_Add b _0217c8e4 _0217c8a0: add r0, sp, #0x74 @@ -830,7 +830,7 @@ _0217c8a0: str r5, [sp, #0x14] str r3, [sp, #0x18] str r5, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x68 mov r3, #0 add r1, sp, #8 @@ -838,7 +838,7 @@ _0217c8a0: str r5, [sp, #8] str r3, [sp, #0xc] str r5, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add _0217c8e4: add r0, sp, #0x74 add r6, sp, #0x50 @@ -970,7 +970,7 @@ _0217caac: str ip, [sp, #0x24] str r5, [sp, #0x28] str r3, [sp, #0x2c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x48 mov ip, #0xa000 mov r5, #0 @@ -980,7 +980,7 @@ _0217caac: str ip, [sp, #0x18] str r5, [sp, #0x1c] str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add b _0217cb44 _0217cb00: add r0, sp, #0x54 @@ -991,7 +991,7 @@ _0217cb00: str r5, [sp, #0xc] str r3, [sp, #0x10] str r5, [sp, #0x14] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x48 mov r3, #0 add r1, sp, #0 @@ -999,7 +999,7 @@ _0217cb00: str r5, [sp] str r3, [sp, #4] str r5, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add _0217cb44: add r0, sp, #0x54 add r5, sp, #0x30 @@ -2589,7 +2589,7 @@ func_ov40_0217df74: ; 0x0217df74 mov r4, r0 str r3, [r4, #0x5c] ldr r0, [r1, #4] - ldr r3, _0217dfec ; =data_02050f54 + ldr r3, _0217dfec ; =gSinCosTable str r0, [r4, #0x60] ldr r1, [r1, #8] add r0, r4, #0x6c @@ -2614,7 +2614,7 @@ func_ov40_0217df74: ; 0x0217df74 add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0217dfec: .word data_02050f54 +_0217dfec: .word gSinCosTable arm_func_end func_ov40_0217df74 .global func_ov40_0217dff0 @@ -4794,7 +4794,7 @@ func_ov40_0217fa44: ; 0x0217fa44 ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0x44 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x44 str r1, [sp, #0x60] @@ -4835,7 +4835,7 @@ _0217fae8: _0217fb0c: mov r0, #0 strb r0, [r5, #0xd6] - ldr r0, _0217fbcc ; =data_027e0fe4 + ldr r0, _0217fbcc ; =gActorManager strb r1, [r5, #0xd7] ldr r1, [r0] add r0, sp, #4 @@ -4854,7 +4854,7 @@ _0217fb0c: ldr r0, [r0] bl _ZN10MapManager17GetMapData_Unk_d0EP5Vec3p add r0, sp, #0xc - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -4869,7 +4869,7 @@ _0217fb0c: add r3, sp, #0xc bl func_ov00_020c4048 _0217fb98: - ldr r0, _0217fbcc ; =data_027e0fe4 + ldr r0, _0217fbcc ; =gActorManager add r1, r5, #0xdc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4883,7 +4883,7 @@ _0217fbbc: .word 0x444d4b53 _0217fbc0: .word 0x444d5350 _0217fbc4: .word 0x444d4847 _0217fbc8: .word data_027e0fe8 -_0217fbcc: .word data_027e0fe4 +_0217fbcc: .word gActorManager arm_func_end func_ov40_0217fa44 .global func_ov40_0217fbd0 @@ -4893,7 +4893,7 @@ func_ov40_0217fbd0: ; 0x0217fbd0 ldrb r1, [r0, #0xd6] cmp r1, #0 ldmeqia sp!, {r3, pc} - ldr r2, _0217fc00 ; =data_027e0fe4 + ldr r2, _0217fc00 ; =gActorManager add r1, r0, #0xdc ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4902,7 +4902,7 @@ func_ov40_0217fbd0: ; 0x0217fbd0 strneb r1, [r0, #0x118] ldmia sp!, {r3, pc} .align 2, 0 -_0217fc00: .word data_027e0fe4 +_0217fc00: .word gActorManager arm_func_end func_ov40_0217fbd0 .global func_ov40_0217fc04 @@ -4990,7 +4990,7 @@ _0217fd10: .word 0x00000126 func_ov40_0217fd14: ; 0x0217fd14 stmdb sp!, {r4, r5, lr} sub sp, sp, #0x7c - ldr r1, _0217fe00 ; =data_027e0fe4 + ldr r1, _0217fe00 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0xdc @@ -5048,7 +5048,7 @@ func_ov40_0217fd14: ; 0x0217fd14 add sp, sp, #0x7c ldmia sp!, {r4, r5, pc} .align 2, 0 -_0217fe00: .word data_027e0fe4 +_0217fe00: .word gActorManager arm_func_end func_ov40_0217fd14 .global func_ov40_0217fe04 @@ -5060,7 +5060,7 @@ func_ov40_0217fe04: ; 0x0217fe04 ldrb r0, [r4, #0xd7] cmp r0, #0 beq _0217fe38 - ldr r0, _0217fe70 ; =data_027e0fe4 + ldr r0, _0217fe70 ; =gActorManager add r1, r4, #0xdc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5083,7 +5083,7 @@ _0217fe38: strb r0, [r4, #0xd5] ldmia sp!, {r4, pc} .align 2, 0 -_0217fe70: .word data_027e0fe4 +_0217fe70: .word gActorManager arm_func_end func_ov40_0217fe04 .global func_ov40_0217fe74 @@ -5095,7 +5095,7 @@ func_ov40_0217fe74: ; 0x0217fe74 cmp r2, #0 mvneq r0, #0 ldmeqia sp!, {r4, pc} - ldr r2, _0217febc ; =data_027e0fe4 + ldr r2, _0217febc ; =gActorManager add r1, r0, #0xdc ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5108,7 +5108,7 @@ func_ov40_0217fe74: ; 0x0217fe74 blx r2 ldmia sp!, {r4, pc} .align 2, 0 -_0217febc: .word data_027e0fe4 +_0217febc: .word gActorManager arm_func_end func_ov40_0217fe74 .global func_ov40_0217fec0 @@ -5124,7 +5124,7 @@ func_ov40_0217fec0: ; 0x0217fec0 cmp r5, #0 movlt r0, #0 ldmltia sp!, {r3, r4, r5, pc} - ldr r2, _0217ff1c ; =data_027e0fe4 + ldr r2, _0217ff1c ; =gActorManager add r1, r0, #0xdc ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5138,7 +5138,7 @@ func_ov40_0217fec0: ; 0x0217fec0 blx r3 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217ff1c: .word data_027e0fe4 +_0217ff1c: .word gActorManager arm_func_end func_ov40_0217fec0 .global func_ov40_0217ff20 @@ -5151,7 +5151,7 @@ func_ov40_0217ff20: ; 0x0217ff20 cmp r3, #0 moveq r0, #0 ldmeqia sp!, {r3, r4, r5, pc} - ldr r2, _0217ff70 ; =data_027e0fe4 + ldr r2, _0217ff70 ; =gActorManager add r1, r0, #0xdc ldr r0, [r2] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5165,7 +5165,7 @@ func_ov40_0217ff20: ; 0x0217ff20 blx r3 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0217ff70: .word data_027e0fe4 +_0217ff70: .word gActorManager arm_func_end func_ov40_0217ff20 .global func_ov40_0217ff74 @@ -5175,7 +5175,7 @@ func_ov40_0217ff74: ; 0x0217ff74 sub sp, sp, #0x7c mov r4, r0 bl func_ov40_0217fa44 - ldr r0, _0218005c ; =data_027e0fe4 + ldr r0, _0218005c ; =gActorManager add r1, r4, #0xdc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5230,14 +5230,14 @@ func_ov40_0217ff74: ; 0x0217ff74 add sp, sp, #0x7c ldmia sp!, {r4, r5, pc} .align 2, 0 -_0218005c: .word data_027e0fe4 +_0218005c: .word gActorManager arm_func_end func_ov40_0217ff74 .global func_ov40_02180060 arm_func_start func_ov40_02180060 func_ov40_02180060: ; 0x02180060 stmdb sp!, {r4, lr} - ldr r1, _02180098 ; =data_027e0fe4 + ldr r1, _02180098 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0xdc @@ -5252,7 +5252,7 @@ _0218008c: bl func_ov40_0217fbd0 ldmia sp!, {r4, pc} .align 2, 0 -_02180098: .word data_027e0fe4 +_02180098: .word gActorManager arm_func_end func_ov40_02180060 .global func_ov40_0218009c @@ -5799,7 +5799,7 @@ func_ov40_02180680: ; 0x02180680 str ip, [sp, #0x6c] str lr, [sp, #0x70] bl func_ov40_02180a18 - ldr r0, _02180748 ; =data_027e0f90 + ldr r0, _02180748 ; =gPlayer add r1, sp, #0 ldr r0, [r0] ldr r2, [r0] @@ -5813,7 +5813,7 @@ func_ov40_02180680: ; 0x02180680 add sp, sp, #0x74 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02180748: .word data_027e0f90 +_02180748: .word gPlayer arm_func_end func_ov40_02180680 .global func_ov40_0218074c @@ -5925,7 +5925,7 @@ func_ov40_0218081c: ; 0x0218081c str ip, [sp, #0x6c] str lr, [sp, #0x70] bl func_ov40_02180a18 - ldr r0, _021808e4 ; =data_027e0f90 + ldr r0, _021808e4 ; =gPlayer add r1, sp, #0 ldr r0, [r0] ldr r2, [r0] @@ -5939,21 +5939,21 @@ func_ov40_0218081c: ; 0x0218081c add sp, sp, #0x74 ldmia sp!, {r3, r4, pc} .align 2, 0 -_021808e4: .word data_027e0f90 +_021808e4: .word gPlayer arm_func_end func_ov40_0218081c .global func_ov40_021808e8 arm_func_start func_ov40_021808e8 func_ov40_021808e8: ; 0x021808e8 stmdb sp!, {r3, lr} - ldr r0, _02180904 ; =data_027e0f90 + ldr r0, _02180904 ; =gPlayer ldr r0, [r0] ldr r1, [r0] ldr r1, [r1, #0x4c] blx r1 ldmia sp!, {r3, pc} .align 2, 0 -_02180904: .word data_027e0f90 +_02180904: .word gPlayer arm_func_end func_ov40_021808e8 .global func_ov40_02180908 @@ -10024,11 +10024,11 @@ _02183a04: .word gAdventureFlags .global func_ov40_02183a08 arm_func_start func_ov40_02183a08 func_ov40_02183a08: ; 0x02183a08 - ldr ip, _02183a14 ; =func_01fffcec + ldr ip, _02183a14 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02183a14: .word func_01fffcec +_02183a14: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov40_02183a08 .global func_ov40_02183a18 @@ -10188,7 +10188,7 @@ _02183c24: mov r1, r0, lsl #0x1 add r0, r1, #1 mov r5, r1, lsl #0x1 - ldr r3, _02183d08 ; =data_02050f54 + ldr r3, _02183d08 ; =gSinCosTable mov r2, r0, lsl #0x1 mov r0, r4 mov r1, #0 @@ -10240,7 +10240,7 @@ _02183c24: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02183d04: .word gItemManager -_02183d08: .word data_02050f54 +_02183d08: .word gSinCosTable arm_func_end func_ov40_02183a6c .global func_ov40_02183d0c @@ -12191,7 +12191,7 @@ func_ov40_02185514: ; 0x02185514 addeq sp, sp, #0x78 ldmeqia sp!, {r4, r5, r6, r7, r8, pc} ldrh r1, [r5, #0x78] - ldr r3, _02185628 ; =data_02050f54 + ldr r3, _02185628 ; =gSinCosTable add r0, sp, #0x54 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -12247,13 +12247,13 @@ func_ov40_02185514: ; 0x02185514 str lr, [sp, #0x4c] str ip, [sp, #0x50] str ip, [r5, #0x804] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #1 strb r0, [r5, #0x7f8] add sp, sp, #0x78 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02185628: .word data_02050f54 +_02185628: .word gSinCosTable arm_func_end func_ov40_02185514 .global func_ov40_0218562c @@ -14140,7 +14140,7 @@ _02186df8: add r0, r2, r0 str r0, [r4, #0xc] ldrsh r0, [r4, #8] - ldr r2, _02186f88 ; =data_02050f54 + ldr r2, _02186f88 ; =gSinCosTable smulbb r0, r0, r1 mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 @@ -14159,7 +14159,7 @@ _02186e50: mov r1, #0xc000 bl Divide ldr r2, [r4, #0xc] - ldr r1, _02186f88 ; =data_02050f54 + ldr r1, _02186f88 ; =gSinCosTable add r0, r2, r0 str r0, [r4, #0xc] ldrsh r0, [r4, #8] @@ -14237,7 +14237,7 @@ _02186f0c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02186f84: .word 0x00000924 -_02186f88: .word data_02050f54 +_02186f88: .word gSinCosTable _02186f8c: .word data_027e0c38 _02186f90: .word 0x00007fff arm_func_end func_ov40_02186cfc @@ -16725,7 +16725,7 @@ data_ov40_021886a0: ; 0x021886a0 .word func_ov40_0217d3f8 .global data_ov40_021886a4 data_ov40_021886a4: ; 0x021886a4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov40_021886a8 data_ov40_021886a8: ; 0x021886a8 .word func_ov40_0217d40c @@ -16755,10 +16755,10 @@ data_ov40_021886c8: ; 0x021886c8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov40_021886cc data_ov40_021886cc: ; 0x021886cc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov40_021886d0 data_ov40_021886d0: ; 0x021886d0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov40_021886d4 data_ov40_021886d4: ; 0x021886d4 .word _ZN5Actor8vfunc_4cEPi @@ -18179,7 +18179,7 @@ data_ov40_021891ec: ; 0x021891ec .word func_ov40_02184188 .global data_ov40_021891f0 data_ov40_021891f0: ; 0x021891f0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov40_021891f4 data_ov40_021891f4: ; 0x021891f4 .word func_ov40_0218419c @@ -18209,10 +18209,10 @@ data_ov40_02189214: ; 0x02189214 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov40_02189218 data_ov40_02189218: ; 0x02189218 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov40_0218921c data_ov40_0218921c: ; 0x0218921c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov40_02189220 data_ov40_02189220: ; 0x02189220 .word _ZN5Actor8vfunc_4cEPi @@ -18501,7 +18501,7 @@ data_ov40_02189398: ; 0x02189398 .word func_ov40_0217d3f8 .global data_ov40_0218939c data_ov40_0218939c: ; 0x0218939c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov40_021893a0 data_ov40_021893a0: ; 0x021893a0 .word func_ov40_02184dc4 @@ -18531,10 +18531,10 @@ data_ov40_021893c0: ; 0x021893c0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov40_021893c4 data_ov40_021893c4: ; 0x021893c4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov40_021893c8 data_ov40_021893c8: ; 0x021893c8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov40_021893cc data_ov40_021893cc: ; 0x021893cc .word _ZN5Actor8vfunc_4cEPi @@ -18655,7 +18655,7 @@ data_ov40_02189478: ; 0x02189478 .word func_ov40_0218502c .global data_ov40_0218947c data_ov40_0218947c: ; 0x0218947c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov40_02189480 data_ov40_02189480: ; 0x02189480 .word func_ov40_02185040 @@ -18685,10 +18685,10 @@ data_ov40_021894a0: ; 0x021894a0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov40_021894a4 data_ov40_021894a4: ; 0x021894a4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov40_021894a8 data_ov40_021894a8: ; 0x021894a8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov40_021894ac data_ov40_021894ac: ; 0x021894ac .word _ZN5Actor8vfunc_4cEPi @@ -19017,7 +19017,7 @@ data_ov40_02189650: ; 0x02189650 .word func_ov40_0217d3f8 .global data_ov40_02189654 data_ov40_02189654: ; 0x02189654 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov40_02189658 data_ov40_02189658: ; 0x02189658 .word func_ov40_02185514 @@ -19047,10 +19047,10 @@ data_ov40_02189678: ; 0x02189678 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov40_0218967c data_ov40_0218967c: ; 0x0218967c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov40_02189680 data_ov40_02189680: ; 0x02189680 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov40_02189684 data_ov40_02189684: ; 0x02189684 .word _ZN5Actor8vfunc_4cEPi @@ -19167,7 +19167,7 @@ data_ov40_02189718: ; 0x02189718 .word _ZN5Actor8vfunc_18Ej .global data_ov40_0218971c data_ov40_0218971c: ; 0x0218971c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov40_02189720 data_ov40_02189720: ; 0x02189720 .word _ZN5Actor8vfunc_20Ei @@ -19197,10 +19197,10 @@ data_ov40_02189740: ; 0x02189740 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov40_02189744 data_ov40_02189744: ; 0x02189744 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov40_02189748 data_ov40_02189748: ; 0x02189748 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov40_0218974c data_ov40_0218974c: ; 0x0218974c .word _ZN5Actor8vfunc_4cEPi @@ -19579,7 +19579,7 @@ data_ov40_02189948: ; 0x02189948 .word func_ov40_0217d3f8 .global data_ov40_0218994c data_ov40_0218994c: ; 0x0218994c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov40_02189950 data_ov40_02189950: ; 0x02189950 .word func_ov40_0218755c @@ -19609,10 +19609,10 @@ data_ov40_02189970: ; 0x02189970 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov40_02189974 data_ov40_02189974: ; 0x02189974 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov40_02189978 data_ov40_02189978: ; 0x02189978 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov40_0218997c data_ov40_0218997c: ; 0x0218997c .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov41.inc b/asm/ov41.inc index fb7fb6f9..c0d8f827 100644 --- a/asm/ov41.inc +++ b/asm/ov41.inc @@ -1,18 +1,24 @@ #pragma once +.extern Atan2 +.extern Vec3p_Add +.extern Vec3p_Axpy +.extern Vec3p_Sub .extern _ZN10MapManager16MapData_vfunc_68Ev .extern _ZN10MapManager16MapData_vfunc_7cEv .extern _ZN10MapManager18func_ov00_020836dcEii .extern _ZN10MapManager18func_ov00_02083770Eji .extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags3GetEj .extern _ZN17LinkStateInteract18func_ov00_020ab934EP5Vec3p +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor14DistanceToLinkEv @@ -25,7 +31,7 @@ .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor18func_ov00_020c31c0Ei .extern _ZN5Actor4KillEv @@ -34,13 +40,13 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -71,7 +77,6 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 .extern data_02057200 .extern data_027e0764 .extern data_027e077c @@ -79,17 +84,11 @@ .extern data_027e0d04 .extern data_027e0e58 .extern data_027e0e5c -.extern gMapManager .extern data_027e0f68 .extern data_027e0f6c .extern data_027e0f78 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fc8 .extern data_027e0fd0 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -109,11 +108,6 @@ .extern func_01ff8214 .extern func_01ff8e84 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9e64 -.extern func_01ffa0f4 -.extern func_01fffcec .extern func_02018450 .extern func_020196bc .extern func_020196fc @@ -167,7 +161,7 @@ .extern func_ov00_020bbb18 .extern func_ov00_020bc500 .extern func_ov00_020bcf50 -.extern func_ov00_020bd304 +.extern _ZN14PlayerLinkBase18func_ov00_020bd304Ev .extern func_ov00_020bf008 .extern func_ov00_020c0c08 .extern func_ov00_020c0ec0 @@ -175,7 +169,6 @@ .extern func_ov00_020c0ffc .extern func_ov00_020c10a0 .extern func_ov00_020c10d4 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -303,5 +296,12 @@ .extern func_ov14_0214aa0c .extern func_ov26_02175f30 .extern func_ov26_02175f68 +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayer +.extern gPlayerAngle +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable diff --git a/asm/ov41.s b/asm/ov41.s index 4e3b0628..8ec11441 100644 --- a/asm/ov41.s +++ b/asm/ov41.s @@ -377,13 +377,13 @@ func_ov41_02189a14: ; 0x02189a14 beq _02189ac0 b _02189ae8 _02189a34: - ldr r1, _02189b00 ; =data_027e0fe4 + ldr r1, _02189b00 ; =gActorManager ldr r2, _02189b04 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0x18 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r0, [sp, #0x18] - ldr r1, _02189b00 ; =data_027e0fe4 + ldr r1, _02189b00 ; =gActorManager str r0, [r4, #0x180] ldr r2, [sp, #0x1c] add r0, sp, #8 @@ -398,7 +398,7 @@ _02189a34: str r1, [sp, #0x1c] cmp r2, r0 bne _02189aac - ldr r1, _02189b00 ; =data_027e0fe4 + ldr r1, _02189b00 ; =gActorManager ldr r2, _02189b0c ; =0x4c4e4232 ldr r1, [r1] add r0, sp, #0 @@ -414,7 +414,7 @@ _02189aac: str r0, [r4, #0x18c] b _02189af4 _02189ac0: - ldr r1, _02189b00 ; =data_027e0fe4 + ldr r1, _02189b00 ; =gActorManager ldr r2, _02189b04 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0x10 @@ -433,7 +433,7 @@ _02189af4: add sp, sp, #0x20 ldmia sp!, {r4, pc} .align 2, 0 -_02189b00: .word data_027e0fe4 +_02189b00: .word gActorManager _02189b04: .word 0x4e415649 _02189b08: .word 0x4c4e424b _02189b0c: .word 0x4c4e4232 @@ -776,7 +776,7 @@ func_ov41_02189ec4: ; 0x02189ec4 str r5, [sp, #0x14] str r3, [sp, #0x18] str r5, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x38 ldr r3, _0218a010 ; =0x00000ccd add r1, sp, #8 @@ -784,7 +784,7 @@ func_ov41_02189ec4: ; 0x02189ec4 str r5, [sp, #8] str r3, [sp, #0xc] str r5, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add mov ip, #0 bic r0, ip, #0x1f orr r3, r0, #7 @@ -881,7 +881,7 @@ _0218a060: .word func_ov41_02189cc0 func_ov41_0218a064: ; 0x0218a064 stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r1, _0218a0a0 ; =data_027e0fe4 + ldr r1, _0218a0a0 ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _0218a0a4 ; =0x4e415649 @@ -895,7 +895,7 @@ func_ov41_0218a064: ; 0x0218a064 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0218a0a0: .word data_027e0fe4 +_0218a0a0: .word gActorManager _0218a0a4: .word 0x4e415649 arm_func_end func_ov41_0218a064 @@ -1254,7 +1254,7 @@ func_ov41_0218a4d8: ; 0x0218a4d8 mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _0218a510 _0218a508: @@ -1565,14 +1565,14 @@ _0218a904: mov r4, #1 b _0218a938 _0218a90c: - ldr r0, _0218a954 ; =data_027e0fc8 + ldr r0, _0218a954 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbabc cmp r0, #0 movne r4, #1 b _0218a938 _0218a924: - ldr r0, _0218a954 ; =data_027e0fc8 + ldr r0, _0218a954 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bbb18 cmp r0, #0 @@ -1586,17 +1586,17 @@ _0218a938: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0218a954: .word data_027e0fc8 +_0218a954: .word gPlayerLink arm_func_end func_ov41_0218a8b0 .global func_ov41_0218a958 arm_func_start func_ov41_0218a958 func_ov41_0218a958: ; 0x0218a958 - ldr ip, _0218a964 ; =func_01fffcec + ldr ip, _0218a964 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_0218a964: .word func_01fffcec +_0218a964: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov41_0218a958 .global func_ov41_0218a968 @@ -1661,7 +1661,7 @@ func_ov41_0218a9c0: ; 0x0218a9c0 bl func_020196fc ldrh r1, [r4, #0x78] add r0, r4, #0x1c4 - ldr r3, _0218aab4 ; =data_02050f54 + ldr r3, _0218aab4 ; =gSinCosTable mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 @@ -1694,7 +1694,7 @@ func_ov41_0218a9c0: ; 0x0218a9c0 ldmia sp!, {r4, pc} .align 2, 0 _0218aab0: .word data_027e0f78 -_0218aab4: .word data_02050f54 +_0218aab4: .word gSinCosTable _0218aab8: .word 0x00000666 _0218aabc: .word data_ov00_020e9370 arm_func_end func_ov41_0218a9c0 @@ -2170,7 +2170,7 @@ func_ov41_0218b054: ; 0x0218b054 movne r4, #0 bne _0218b0b8 _0218b07c: - ldr r0, _0218b0cc ; =data_027e0fc8 + ldr r0, _0218b0cc ; =gPlayerLink mov r4, #5 ldr r0, [r0] bl func_ov00_020bbb18 @@ -2193,7 +2193,7 @@ _0218b0b8: bl func_ov41_0218b1e8 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0218b0cc: .word data_027e0fc8 +_0218b0cc: .word gPlayerLink _0218b0d0: .word data_027e0ffc _0218b0d4: .word 0x000001bd arm_func_end func_ov41_0218b054 @@ -2230,7 +2230,7 @@ _0218b130: bl _ZN5Actor9GetHitboxEP8Cylinder ldr r0, [r4] ldr r1, [r4, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -2239,7 +2239,7 @@ _0218b130: mov r1, r0, lsl #0x1 add r0, r1, #1 ldr r3, [sp, #0xc] - ldr r2, _0218b1e4 ; =data_02050f54 + ldr r2, _0218b1e4 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -2271,7 +2271,7 @@ _0218b130: _0218b1d8: .word data_027e0e5c _0218b1dc: .word data_027e0ffc _0218b1e0: .word 0x00000191 -_0218b1e4: .word data_02050f54 +_0218b1e4: .word gSinCosTable arm_func_end func_ov41_0218b0d8 .global func_ov41_0218b1e8 @@ -2329,7 +2329,7 @@ func_ov41_0218b260: ; 0x0218b260 ldmeqia sp!, {r3, r4, r5, pc} _0218b288: mov r1, #0 - ldr r0, _0218b30c ; =data_027e0fc8 + ldr r0, _0218b30c ; =gPlayerLink strb r1, [r5, #0x526] ldr r0, [r0] bl func_ov00_020bbb18 @@ -2365,7 +2365,7 @@ _0218b304: mov r0, #0 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0218b30c: .word data_027e0fc8 +_0218b30c: .word gPlayerLink _0218b310: .word data_027e0c68 arm_func_end func_ov41_0218b260 @@ -2405,7 +2405,7 @@ func_ov41_0218b34c: ; 0x0218b34c mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _0218b384 _0218b37c: @@ -2790,14 +2790,14 @@ _0218b84c: beq _0218b8d4 b _0218bda8 _0218b870: - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 beq _0218bda8 - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 beq _0218bda8 add r0, r4, #0x1d8 @@ -2941,7 +2941,7 @@ _0218ba88: ldrsb r0, [r0, #0x1d] cmp r0, #3 blt _0218bacc - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #1 @@ -2977,14 +2977,14 @@ _0218bb10: beq _0218bba4 b _0218bda8 _0218bb2c: - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 beq _0218bda8 - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 beq _0218bda8 ldrsh r0, [r4, #0x12] @@ -3090,7 +3090,7 @@ _0218bcac: strb r0, [r4, #0x51c] b _0218bda8 _0218bcd0: - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #1 @@ -3118,7 +3118,7 @@ _0218bd10: add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink ldr r1, [sp, #8] ldr r0, [r0] add r1, r1, #0x4000 @@ -3126,7 +3126,7 @@ _0218bd10: bl func_ov00_020bc500 cmp r0, #0 bne _0218bda8 - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink add r1, sp, #0 ldr r0, [r0] mov r2, #0x1000 @@ -3139,7 +3139,7 @@ _0218bd10: strb r0, [r4, #0x51c] b _0218bda8 _0218bd88: - ldr r0, _0218bdfc ; =data_027e0fc8 + ldr r0, _0218bdfc ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 @@ -3171,7 +3171,7 @@ _0218bdd4: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0218bdfc: .word data_027e0fc8 +_0218bdfc: .word gPlayerLink _0218be00: .word data_027e0ffc _0218be04: .word 0x00000329 _0218be08: .word data_ov00_020eec68 @@ -3212,7 +3212,7 @@ _0218be3c: addeq r8, r8, #0x5000 addeq r6, r6, #0x2800 _0218be84: - ldr r0, _0218bf0c ; =data_027e0fe4 + ldr r0, _0218bf0c ; =gActorManager mov r1, r9 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3248,7 +3248,7 @@ _0218bef4: add sp, sp, #0x14 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0218bf0c: .word data_027e0fe4 +_0218bf0c: .word gActorManager _0218bf10: .word data_027e0e58 _0218bf14: .word data_027e0ffc _0218bf18: .word 0x00000482 @@ -3337,7 +3337,7 @@ _0218bff0: mov r3, #0 bl func_ov00_020ceacc mov r0, r5 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev str r7, [sp, #0x24] str r7, [sp, #0x28] mov r0, r5 @@ -3384,7 +3384,7 @@ _0218c0d8: .word 0x4f53574f arm_func_start func_ov41_0218c0dc func_ov41_0218c0dc: ; 0x0218c0dc stmdb sp!, {r4, r5, r6, lr} - ldr r4, _0218c118 ; =data_027e0fe4 + ldr r4, _0218c118 ; =gActorManager add r6, r0, #0x470 mov r5, #0 _0218c0ec: @@ -3401,7 +3401,7 @@ _0218c104: blt _0218c0ec ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0218c118: .word data_027e0fe4 +_0218c118: .word gActorManager arm_func_end func_ov41_0218c0dc .global func_ov41_0218c11c @@ -3495,8 +3495,8 @@ func_ov41_0218c1c4: ; 0x0218c1c4 func_ov41_0218c204: ; 0x0218c204 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _0218c3bc ; =data_027e0f94 - ldr r3, _0218c3c0 ; =data_027e0fc8 + ldr r1, _0218c3bc ; =gPlayerPos + ldr r3, _0218c3c0 ; =gPlayerLink mov r4, r0 add ip, sp, #0xc ldmia r1, {r0, r1, r2} @@ -3531,7 +3531,7 @@ func_ov41_0218c204: ; 0x0218c204 bl _ZN14AdventureFlags3GetEj cmp r0, #0 beq _0218c3b0 - ldr r0, _0218c3cc ; =data_027e0fe4 + ldr r0, _0218c3cc ; =gActorManager add r1, r4, #0x530 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3551,7 +3551,7 @@ func_ov41_0218c204: ; 0x0218c204 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0218c3d0 ; =data_02050f54 + ldr r1, _0218c3d0 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r2] @@ -3607,12 +3607,12 @@ _0218c3b0: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_0218c3bc: .word data_027e0f94 -_0218c3c0: .word data_027e0fc8 +_0218c3bc: .word gPlayerPos +_0218c3c0: .word gPlayerLink _0218c3c4: .word 0x0000319a _0218c3c8: .word gAdventureFlags -_0218c3cc: .word data_027e0fe4 -_0218c3d0: .word data_02050f54 +_0218c3cc: .word gActorManager +_0218c3d0: .word gSinCosTable arm_func_end func_ov41_0218c204 .global func_ov41_0218c3d4 @@ -3997,7 +3997,7 @@ func_ov41_0218c834: ; 0x0218c834 addne sp, sp, #0x18 movne r0, #1 ldmneia sp!, {r4, r5, r6, pc} - ldr r1, _0218cbe4 ; =data_027e0fc8 + ldr r1, _0218cbe4 ; =gPlayerLink mvn r0, #0 ldr r2, [r1] ldr r1, [r2, #0x3c] @@ -4006,7 +4006,7 @@ func_ov41_0218c834: ; 0x0218c834 ldrne r0, [r2, #0x40] add r1, r6, #0x74 strne r0, [r6, #0x478] - ldr r0, _0218cbe8 ; =data_027e0fe4 + ldr r0, _0218cbe8 ; =gActorManager add r1, r1, #0x400 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4046,7 +4046,7 @@ func_ov41_0218c834: ; 0x0218c834 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0218cbf0 ; =data_02050f54 + ldr r1, _0218cbf0 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r2] @@ -4097,9 +4097,9 @@ _0218c9c4: _0218ca08: cmp r4, #0 bne _0218cbd0 - ldr r0, _0218cbe4 ; =data_027e0fc8 + ldr r0, _0218cbe4 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 beq _0218cbd0 mov r0, r6 @@ -4115,9 +4115,9 @@ _0218ca3c: bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x2000 bge _0218ca80 - ldr r0, _0218cbe4 ; =data_027e0fc8 + ldr r0, _0218cbe4 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 beq _0218ca80 mov r0, r6 @@ -4152,7 +4152,7 @@ _0218ca80: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0218cbf0 ; =data_02050f54 + ldr r1, _0218cbf0 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r3, [r1, r2] @@ -4201,9 +4201,9 @@ _0218cb5c: bl _ZN5Actor14DistanceToLinkEv cmp r0, #0x2000 bge _0218cbd0 - ldr r0, _0218cbe4 ; =data_027e0fc8 + ldr r0, _0218cbe4 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bd304 + bl _ZN14PlayerLinkBase18func_ov00_020bd304Ev cmp r0, #0 beq _0218cbd0 mov r0, r6 @@ -4219,10 +4219,10 @@ _0218cbd0: .align 2, 0 _0218cbdc: .word data_027e0f68 _0218cbe0: .word gAdventureFlags -_0218cbe4: .word data_027e0fc8 -_0218cbe8: .word data_027e0fe4 +_0218cbe4: .word gPlayerLink +_0218cbe8: .word gActorManager _0218cbec: .word gMapManager -_0218cbf0: .word data_02050f54 +_0218cbf0: .word gSinCosTable _0218cbf4: .word 0x4b4f4b4f arm_func_end func_ov41_0218c834 @@ -4540,7 +4540,7 @@ func_ov41_0218cfa8: ; 0x0218cfa8 mov r2, r0, lsl #0x1 add r0, r2, #1 mov lr, #0 - ldr r1, _0218d01c ; =data_02050f54 + ldr r1, _0218d01c ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r5, [r1, r2] mov r0, r0, lsl #0x1 @@ -4552,7 +4552,7 @@ func_ov41_0218cfa8: ; 0x0218cfa8 str r5, [sp, #0xc] str lr, [sp, #0x10] str ip, [sp, #0x14] - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0 mov r1, r4 add r0, r4, #0x4f0 @@ -4560,7 +4560,7 @@ func_ov41_0218cfa8: ; 0x0218cfa8 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0218d01c: .word data_02050f54 +_0218d01c: .word gSinCosTable arm_func_end func_ov41_0218cfa8 .global func_ov41_0218d020 @@ -4576,7 +4576,7 @@ func_ov41_0218d020: ; 0x0218d020 mov r2, r0, lsl #0x1 add r0, r2, #1 mov lr, #0 - ldr r1, _0218d0a8 ; =data_02050f54 + ldr r1, _0218d0a8 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r5, [r1, r2] mov r0, r0, lsl #0x1 @@ -4588,7 +4588,7 @@ func_ov41_0218d020: ; 0x0218d020 str r5, [sp, #0xc] str lr, [sp, #0x10] str ip, [sp, #0x14] - bl func_01ff9e64 + bl Vec3p_Axpy add r2, sp, #0 mov r1, r4 add r0, r4, #0x4f0 @@ -4601,7 +4601,7 @@ func_ov41_0218d020: ; 0x0218d020 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0218d0a8: .word data_02050f54 +_0218d0a8: .word gSinCosTable arm_func_end func_ov41_0218d020 .global func_ov41_0218d0ac @@ -4680,7 +4680,7 @@ _0218d19c: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _0218d204 ; =data_02050f54 + ldr r1, _0218d204 ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh lr, [r1, r2] mov r0, r0, lsl #0x1 @@ -4693,7 +4693,7 @@ _0218d19c: str lr, [sp] str ip, [sp, #4] str r4, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r2, _0218d208 ; =0x0000023d ldr r3, _0218d20c ; =0x0000071c add r1, sp, #0xc @@ -4702,7 +4702,7 @@ _0218d19c: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0218d204: .word data_02050f54 +_0218d204: .word gSinCosTable _0218d208: .word 0x0000023d _0218d20c: .word 0x0000071c arm_func_end func_ov41_0218d11c @@ -4712,14 +4712,14 @@ _0218d20c: .word 0x0000071c func_ov41_0218d210: ; 0x0218d210 stmdb sp!, {r4, r5, r6, lr} sub sp, sp, #0x18 - ldr r1, _0218d310 ; =data_027e0f94 - ldr r3, _0218d314 ; =data_027e0f90 + ldr r1, _0218d310 ; =gPlayerPos + ldr r3, _0218d314 ; =gPlayer mov r6, r0 add r4, sp, #0xc ldmia r1, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r0, [r3] - ldr r1, _0218d318 ; =data_027e0fac + ldr r1, _0218d318 ; =gPlayerAngle ldr r2, [r0] ldrsh r4, [r1] ldr r2, [r2, #4] @@ -4777,9 +4777,9 @@ _0218d2fc: add sp, sp, #0x18 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0218d310: .word data_027e0f94 -_0218d314: .word data_027e0f90 -_0218d318: .word data_027e0fac +_0218d310: .word gPlayerPos +_0218d314: .word gPlayer +_0218d318: .word gPlayerAngle _0218d31c: .word gMapManager _0218d320: .word 0xffff8001 arm_func_end func_ov41_0218d210 @@ -4797,13 +4797,13 @@ func_ov41_0218d324: ; 0x0218d324 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x510] - ldr r1, _0218d394 ; =data_027e0f90 + ldr r1, _0218d394 ; =gPlayer add r0, r0, r0, lsr #31 mov r2, r0, asr #0x1 ldr r0, [r1] mov r1, r3 str r2, [sp, #0xc] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _0218d388 mov r0, r4 @@ -4817,7 +4817,7 @@ _0218d388: add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_0218d394: .word data_027e0f90 +_0218d394: .word gPlayer arm_func_end func_ov41_0218d324 .global func_ov41_0218d398 @@ -5308,7 +5308,7 @@ func_ov41_0218d9ec: ; 0x0218d9ec ldmia r1, {r0, r1, r2} stmia r4, {r0, r1, r2} ldr r0, _0218daf4 ; =0x00000ccd - ldr r4, _0218daf8 ; =data_02050f54 + ldr r4, _0218daf8 ; =gSinCosTable str r0, [r3, #0x510] ldrh r1, [r3, #0x78] ldr r0, [r3, #0x48] @@ -5368,7 +5368,7 @@ func_ov41_0218d9ec: ; 0x0218d9ec .align 2, 0 _0218daf0: .word data_ov41_0218e038 _0218daf4: .word 0x00000ccd -_0218daf8: .word data_02050f54 +_0218daf8: .word gSinCosTable arm_func_end func_ov41_0218d9ec .global func_ov41_0218dafc @@ -6250,7 +6250,7 @@ data_ov41_0218e360: ; 0x0218e360 .word func_ov14_02144b64 .global data_ov41_0218e364 data_ov41_0218e364: ; 0x0218e364 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov41_0218e368 data_ov41_0218e368: ; 0x0218e368 .word func_ov41_02189b10 @@ -6280,10 +6280,10 @@ data_ov41_0218e388: ; 0x0218e388 .word func_ov14_02145974 .global data_ov41_0218e38c data_ov41_0218e38c: ; 0x0218e38c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov41_0218e390 data_ov41_0218e390: ; 0x0218e390 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov41_0218e394 data_ov41_0218e394: ; 0x0218e394 .word _ZN5Actor8vfunc_4cEPi @@ -6481,7 +6481,7 @@ data_ov41_0218e494: ; 0x0218e494 .word func_ov14_02144b64 .global data_ov41_0218e498 data_ov41_0218e498: ; 0x0218e498 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov41_0218e49c data_ov41_0218e49c: ; 0x0218e49c .word func_ov41_0218a2c8 @@ -6511,10 +6511,10 @@ data_ov41_0218e4bc: ; 0x0218e4bc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov41_0218e4c0 data_ov41_0218e4c0: ; 0x0218e4c0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov41_0218e4c4 data_ov41_0218e4c4: ; 0x0218e4c4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov41_0218e4c8 data_ov41_0218e4c8: ; 0x0218e4c8 .word _ZN5Actor8vfunc_4cEPi @@ -6664,7 +6664,7 @@ data_ov41_0218e588: ; 0x0218e588 .word func_ov41_0218a8a4 .global data_ov41_0218e58c data_ov41_0218e58c: ; 0x0218e58c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov41_0218e590 data_ov41_0218e590: ; 0x0218e590 .word func_ov41_0218a9c0 @@ -6694,7 +6694,7 @@ data_ov41_0218e5b0: ; 0x0218e5b0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov41_0218e5b4 data_ov41_0218e5b4: ; 0x0218e5b4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov41_0218e5b8 data_ov41_0218e5b8: ; 0x0218e5b8 .word func_ov41_0218a968 @@ -6861,7 +6861,7 @@ data_ov41_0218e684: ; 0x0218e684 .word func_ov14_02144b64 .global data_ov41_0218e688 data_ov41_0218e688: ; 0x0218e688 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov41_0218e68c data_ov41_0218e68c: ; 0x0218e68c .word func_ov41_0218c3d4 @@ -6891,7 +6891,7 @@ data_ov41_0218e6ac: ; 0x0218e6ac .word func_ov14_02145974 .global data_ov41_0218e6b0 data_ov41_0218e6b0: ; 0x0218e6b0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov41_0218e6b4 data_ov41_0218e6b4: ; 0x0218e6b4 .word func_ov41_0218b260 @@ -7050,7 +7050,7 @@ data_ov41_0218e780: ; 0x0218e780 .word func_ov14_02144b64 .global data_ov41_0218e784 data_ov41_0218e784: ; 0x0218e784 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov41_0218e788 data_ov41_0218e788: ; 0x0218e788 .word func_ov14_02145100 @@ -7080,10 +7080,10 @@ data_ov41_0218e7a8: ; 0x0218e7a8 .word func_ov14_02145974 .global data_ov41_0218e7ac data_ov41_0218e7ac: ; 0x0218e7ac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov41_0218e7b0 data_ov41_0218e7b0: ; 0x0218e7b0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov41_0218e7b4 data_ov41_0218e7b4: ; 0x0218e7b4 .word _ZN5Actor8vfunc_4cEPi @@ -7335,7 +7335,7 @@ data_ov41_0218e8fc: ; 0x0218e8fc .word func_ov00_020cad30 .global data_ov41_0218e900 data_ov41_0218e900: ; 0x0218e900 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov41_0218e904 data_ov41_0218e904: ; 0x0218e904 .word func_ov00_020cb1c0 @@ -7365,7 +7365,7 @@ data_ov41_0218e924: ; 0x0218e924 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov41_0218e928 data_ov41_0218e928: ; 0x0218e928 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov41_0218e92c data_ov41_0218e92c: ; 0x0218e92c .word func_ov00_020caeb4 diff --git a/asm/ov42.inc b/asm/ov42.inc index d4addeab..e8063009 100644 --- a/asm/ov42.inc +++ b/asm/ov42.inc @@ -2,25 +2,27 @@ .extern _ZN10MapManager18func_ov00_02083918EiPi .extern _ZN11ItemManager14ForceEquipItemEi .extern _ZN11ItemManager20ClearForcedEquipItemEv +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN14AdventureFlags3GetEj .extern _ZN17LinkStateInteract18func_ov00_020ab6c8Ev +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb .extern _ZN5Actor15TrySetTransformEP9Transform .extern _ZN5Actor16CollidesWithLinkEv -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_08Ev .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv @@ -54,7 +56,6 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 .extern data_027e05f4 .extern data_027e0618 .extern data_027e0764 @@ -62,14 +63,9 @@ .extern data_027e0d44 .extern data_027e0de4 .extern data_027e0e58 -.extern gMapManager .extern data_027e0f64 .extern data_027e0f78 -.extern data_027e0f94 -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -84,7 +80,6 @@ .extern func_01ff8230 .extern func_01ff8690 .extern func_01ffbe34 -.extern func_01fffcec .extern func_020196bc .extern func_020196fc .extern func_0201e388 @@ -121,7 +116,6 @@ .extern func_ov00_020bc500 .extern func_ov00_020bcdec .extern func_ov00_020bcf50 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -185,7 +179,13 @@ .extern func_ov14_02145f0c .extern func_ov14_0214a92c .extern func_ov14_0214aa0c +.extern gActorManager .extern gAdventureFlags .extern gItemManager +.extern gMapManager +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerPos +.extern gSinCosTable .extern strcat .extern strcpy diff --git a/asm/ov42.s b/asm/ov42.s index 8ea76ad3..dd03f0f2 100644 --- a/asm/ov42.s +++ b/asm/ov42.s @@ -327,7 +327,7 @@ _02189918: mov r1, #5 ldr r0, [r0] blx _ZN11ItemManager14ForceEquipItemEi - ldr r1, _02189b00 ; =data_027e0fc8 + ldr r1, _02189b00 ; =gPlayerLink mov r0, r7 ldr r4, [r1] bl func_ov42_02189560 @@ -355,7 +355,7 @@ _02189918: mov r0, #0 strb r0, [r7, #0x66] add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x2c] str r0, [sp, #0x30] @@ -425,7 +425,7 @@ _02189a74: moveq r0, #5 movne r0, #0x78 str r0, [r7, #0x60] - ldr r0, _02189b14 ; =data_027e0fb8 + ldr r0, _02189b14 ; =gPlayerControl ldr r1, [r0] ldr r0, _02189b18 ; =data_ov00_020eec68 strb r2, [r1, #0x7a] @@ -449,12 +449,12 @@ _02189a74: _02189af4: .word gMapManager _02189af8: .word data_027e0f64 _02189afc: .word gItemManager -_02189b00: .word data_027e0fc8 +_02189b00: .word gPlayerLink _02189b04: .word data_ov42_0218c6f4 _02189b08: .word 0x4d544748 _02189b0c: .word data_027e0fe8 _02189b10: .word 0x4d544752 -_02189b14: .word data_027e0fb8 +_02189b14: .word gPlayerControl _02189b18: .word data_ov00_020eec68 _02189b1c: .word data_027e0ffc arm_func_end func_ov42_02189834 @@ -465,7 +465,7 @@ func_ov42_02189b20: ; 0x02189b20 stmdb sp!, {r4, lr} mov r4, r0 mov r1, #0 - ldr r0, _02189b7c ; =data_027e0fb8 + ldr r0, _02189b7c ; =gPlayerControl strb r1, [r4, #0x65] ldr r0, [r0] strb r1, [r0, #0x79] @@ -486,7 +486,7 @@ func_ov42_02189b20: ; 0x02189b20 strb r2, [r0, #0x24] ldmia sp!, {r4, pc} .align 2, 0 -_02189b7c: .word data_027e0fb8 +_02189b7c: .word gPlayerControl _02189b80: .word data_027e0ffc arm_func_end func_ov42_02189b20 @@ -496,7 +496,7 @@ func_ov42_02189b84: ; 0x02189b84 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} mov r4, r0 mov r8, #0 - ldr r5, _02189ccc ; =data_027e0fe4 + ldr r5, _02189ccc ; =gActorManager add r9, r4, #0x10 mov r7, r8 mvn r6, #0 @@ -514,7 +514,7 @@ _02189ba0: add r9, r9, #8 blt _02189ba0 mov r8, #0 - ldr r5, _02189ccc ; =data_027e0fe4 + ldr r5, _02189ccc ; =gActorManager add r9, r4, #0x28 mov r7, r8 mvn r6, #0 @@ -536,7 +536,7 @@ _02189be4: blx _ZN11ItemManager20ClearForcedEquipItemEv bl func_ov42_02189ce8 mov r1, #0 - ldr r2, _02189cd4 ; =data_027e0fb8 + ldr r2, _02189cd4 ; =gPlayerControl strb r1, [r0, #0xb] ldr r2, [r2] mov r3, #1 @@ -579,9 +579,9 @@ _02189c88: strb r1, [r0, #0x24] ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 -_02189ccc: .word data_027e0fe4 +_02189ccc: .word gActorManager _02189cd0: .word gItemManager -_02189cd4: .word data_027e0fb8 +_02189cd4: .word gPlayerControl _02189cd8: .word data_027e0f64 _02189cdc: .word data_ov09_0211f5b4 _02189ce0: .word data_ov00_020eec68 @@ -591,11 +591,11 @@ _02189ce4: .word data_027e0ffc .global func_ov42_02189ce8 arm_func_start func_ov42_02189ce8 func_ov42_02189ce8: ; 0x02189ce8 - ldr ip, _02189cf4 ; =func_01fffcec + ldr ip, _02189cf4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #5 bx ip .align 2, 0 -_02189cf4: .word func_01fffcec +_02189cf4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov42_02189ce8 .global func_ov42_02189cf8 @@ -608,7 +608,7 @@ func_ov42_02189cf8: ; 0x02189cf8 ldrb r0, [r4, #0x64] cmp r0, #0 bne _02189d64 - ldr r0, _02189e4c ; =data_027e0fc8 + ldr r0, _02189e4c ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 @@ -617,14 +617,14 @@ func_ov42_02189cf8: ; 0x02189cf8 bl func_ov42_0218aa8c mov r3, #1 mov r2, #0x8000 - ldr r0, _02189e50 ; =data_027e0fb8 + ldr r0, _02189e50 ; =gPlayerControl strb r3, [r4, #0x64] ldr r1, [r0] - ldr r0, _02189e4c ; =data_027e0fc8 + ldr r0, _02189e4c ; =gPlayerLink strb r3, [r1, #0x79] strb r3, [r1, #0x7b] ldr r0, [r0] - ldr r1, _02189e54 ; =data_027e0f94 + ldr r1, _02189e54 ; =gPlayerPos rsb r2, r2, #0 bl func_ov00_020bcdec ldmia sp!, {r4, pc} @@ -694,9 +694,9 @@ _02189e44: bl func_ov42_02189e88 ldmia sp!, {r4, pc} .align 2, 0 -_02189e4c: .word data_027e0fc8 -_02189e50: .word data_027e0fb8 -_02189e54: .word data_027e0f94 +_02189e4c: .word gPlayerLink +_02189e50: .word gPlayerControl +_02189e54: .word gPlayerPos _02189e58: .word data_ov00_020eec9c _02189e5c: .word 0x88888889 arm_func_end func_ov42_02189cf8 @@ -705,7 +705,7 @@ _02189e5c: .word 0x88888889 arm_func_start func_ov42_02189e60 func_ov42_02189e60: ; 0x02189e60 stmdb sp!, {r3, lr} - ldr r0, _02189e84 ; =data_027e0fb8 + ldr r0, _02189e84 ; =gPlayerControl mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x79] @@ -714,7 +714,7 @@ func_ov42_02189e60: ; 0x02189e60 bl func_ov42_0218afa8 ldmia sp!, {r3, pc} .align 2, 0 -_02189e84: .word data_027e0fb8 +_02189e84: .word gPlayerControl arm_func_end func_ov42_02189e60 .global func_ov42_02189e88 @@ -804,7 +804,7 @@ _02189f54: cmp r0, #4 blt _02189f54 mov r7, #0 - ldr r4, _0218a058 ; =data_027e0fe4 + ldr r4, _0218a058 ; =gActorManager add r9, r10, #0x28 mov r6, r7 mov r11, #3 @@ -830,7 +830,7 @@ _02189fe4: cmp r7, #3 add r9, r9, #8 blt _02189fc0 - ldr r0, _0218a058 ; =data_027e0fe4 + ldr r0, _0218a058 ; =gActorManager add r1, r10, #0x10 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -851,7 +851,7 @@ _0218a034: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0218a054: .word data_027e0764 -_0218a058: .word data_027e0fe4 +_0218a058: .word gActorManager arm_func_end func_ov42_02189efc .global func_ov42_0218a05c @@ -1324,7 +1324,7 @@ func_ov42_0218a63c: ; 0x0218a63c cmp r7, #0 mov r4, #0 ble _0218a6c8 - ldr r10, _0218a730 ; =data_027e0fe4 + ldr r10, _0218a730 ; =gActorManager add r5, r9, #0x28 _0218a678: ldr r0, [r10] @@ -1354,7 +1354,7 @@ _0218a6c8: mov r5, #0 cmp r8, #0 ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} - ldr r4, _0218a730 ; =data_027e0fe4 + ldr r4, _0218a730 ; =gActorManager add r7, r9, #0x10 _0218a6dc: ldr r0, [r4] @@ -1382,7 +1382,7 @@ _0218a71c: blt _0218a6dc ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc} .align 2, 0 -_0218a730: .word data_027e0fe4 +_0218a730: .word gActorManager arm_func_end func_ov42_0218a63c .global func_ov42_0218a734 @@ -1460,7 +1460,7 @@ func_ov42_0218a7a4: ; 0x0218a7a4 ldr r4, [r6, #0xb4] add r0, r5, #0x400 ldr r1, [r4] - ldr r3, _0218a894 ; =data_02050f54 + ldr r3, _0218a894 ; =gSinCosTable bic r1, r1, #2 str r1, [r4] ldrsh r1, [r0, #0x70] @@ -1482,7 +1482,7 @@ func_ov42_0218a7a4: ; 0x0218a7a4 bl func_01ff8690 add r0, r5, #0x400 ldrh r1, [r0, #0x72] - ldr r3, _0218a894 ; =data_02050f54 + ldr r3, _0218a894 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -1500,7 +1500,7 @@ func_ov42_0218a7a4: ; 0x0218a7a4 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 _0218a890: .word data_ov42_0218c728 -_0218a894: .word data_02050f54 +_0218a894: .word gSinCosTable arm_func_end func_ov42_0218a7a4 .global func_ov42_0218a898 @@ -1689,12 +1689,12 @@ func_ov42_0218aab0: ; 0x0218aab0 .global func_ov42_0218aad4 arm_func_start func_ov42_0218aad4 func_ov42_0218aad4: ; 0x0218aad4 - ldr ip, _0218aae4 ; =_ZN5Actor18func_ov00_020c243cEiPi + ldr ip, _0218aae4 ; =_ZN5Actor18func_ov00_020c243cEPjPPS_ mov r1, #0 mov r2, r1 bx ip .align 2, 0 -_0218aae4: .word _ZN5Actor18func_ov00_020c243cEiPi +_0218aae4: .word _ZN5Actor18func_ov00_020c243cEPjPPS_ arm_func_end func_ov42_0218aad4 .global func_ov42_0218aae8 @@ -3410,7 +3410,7 @@ func_ov42_0218c034: ; 0x0218c034 bl func_020196fc ldrh r1, [r4, #0x78] add r0, r4, #0x1c0 - ldr r3, _0218c0e8 ; =data_02050f54 + ldr r3, _0218c0e8 ; =gSinCosTable mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 @@ -3429,7 +3429,7 @@ func_ov42_0218c034: ; 0x0218c034 ldmia sp!, {r4, pc} .align 2, 0 _0218c0e4: .word data_027e0f78 -_0218c0e8: .word data_02050f54 +_0218c0e8: .word gSinCosTable arm_func_end func_ov42_0218c034 .global func_ov42_0218c0ec @@ -3813,7 +3813,7 @@ func_ov42_0218c620: ; 0x0218c620 ldmneia sp!, {r3, pc} ldr r1, _0218c640 ; =data_ov42_0218c73c mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ ldmia sp!, {r3, pc} .align 2, 0 _0218c640: .word data_ov42_0218c73c @@ -3828,7 +3828,7 @@ func_ov42_0218c644: ; 0x0218c644 mvn r0, #0 cmp r1, r0 ldmeqia sp!, {r4, pc} - ldr r0, _0218c68c ; =data_027e0fe4 + ldr r0, _0218c68c ; =gActorManager add r1, r4, #0x15c ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3841,7 +3841,7 @@ func_ov42_0218c644: ; 0x0218c644 str r0, [r4, #0x160] ldmia sp!, {r4, pc} .align 2, 0 -_0218c68c: .word data_027e0fe4 +_0218c68c: .word gActorManager arm_func_end func_ov42_0218c644 .global func_ov42_0218c690 @@ -4228,7 +4228,7 @@ data_ov42_0218c934: ; 0x0218c934 .word func_ov14_02144b64 .global data_ov42_0218c938 data_ov42_0218c938: ; 0x0218c938 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov42_0218c93c data_ov42_0218c93c: ; 0x0218c93c .word func_ov42_0218b7fc @@ -4258,7 +4258,7 @@ data_ov42_0218c95c: ; 0x0218c95c .word func_ov14_02145974 .global data_ov42_0218c960 data_ov42_0218c960: ; 0x0218c960 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov42_0218c964 data_ov42_0218c964: ; 0x0218c964 .word func_ov42_0218aae8 @@ -4457,7 +4457,7 @@ data_ov42_0218caf0: ; 0x0218caf0 .word func_ov42_0218bf70 .global data_ov42_0218caf4 data_ov42_0218caf4: ; 0x0218caf4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov42_0218caf8 data_ov42_0218caf8: ; 0x0218caf8 .word func_ov42_0218c034 @@ -4487,7 +4487,7 @@ data_ov42_0218cb18: ; 0x0218cb18 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov42_0218cb1c data_ov42_0218cb1c: ; 0x0218cb1c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov42_0218cb20 data_ov42_0218cb20: ; 0x0218cb20 .word func_ov42_0218bf84 @@ -4601,7 +4601,7 @@ data_ov42_0218cbb0: ; 0x0218cbb0 .word func_ov42_0218bf70 .global data_ov42_0218cbb4 data_ov42_0218cbb4: ; 0x0218cbb4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov42_0218cbb8 data_ov42_0218cbb8: ; 0x0218cbb8 .word func_ov42_0218c034 @@ -4631,7 +4631,7 @@ data_ov42_0218cbd8: ; 0x0218cbd8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov42_0218cbdc data_ov42_0218cbdc: ; 0x0218cbdc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov42_0218cbe0 data_ov42_0218cbe0: ; 0x0218cbe0 .word func_ov42_0218bf84 @@ -4745,7 +4745,7 @@ data_ov42_0218cc70: ; 0x0218cc70 .word func_ov42_0218bf70 .global data_ov42_0218cc74 data_ov42_0218cc74: ; 0x0218cc74 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov42_0218cc78 data_ov42_0218cc78: ; 0x0218cc78 .word func_ov42_0218c034 @@ -4775,7 +4775,7 @@ data_ov42_0218cc98: ; 0x0218cc98 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov42_0218cc9c data_ov42_0218cc9c: ; 0x0218cc9c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov42_0218cca0 data_ov42_0218cca0: ; 0x0218cca0 .word func_ov42_0218bf84 diff --git a/asm/ov43.inc b/asm/ov43.inc index e16801bc..ffe01368 100644 --- a/asm/ov43.inc +++ b/asm/ov43.inc @@ -1,7 +1,7 @@ #pragma once .extern Divide -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN5Actor10GetAngleToEP5Vec3p @@ -9,7 +9,7 @@ .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -27,7 +27,7 @@ .extern _ZN5Actor18func_ov00_020c3200Ei .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv @@ -57,32 +57,32 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZTV11FilterActor -.extern data_02050f54 +.extern gSinCosTable .extern data_027e0764 .extern data_027e0c68 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0e58 .extern gMapManager .extern data_027e0f64 .extern data_027e0f6c -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerAngle +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc .extern data_ov00_020e9370 .extern data_ov00_020eec9c .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9e64 -.extern func_01ffa0f4 -.extern func_01fffcec -.extern func_01fffd04 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Axpy +.extern Atan2 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_0201e544 .extern func_0202b154 .extern func_0202da8c @@ -114,13 +114,13 @@ .extern func_ov00_020b7d74 .extern func_ov00_020b7df0 .extern func_ov00_020b7e6c -.extern func_ov00_020bc46c +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern func_ov00_020c070c .extern func_ov00_020c0c08 .extern func_ov00_020c0cc8 .extern func_ov00_020c0d4c .extern func_ov00_020c0e04 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov43.s b/asm/ov43.s index 4542ea1e..aae44026 100644 --- a/asm/ov43.s +++ b/asm/ov43.s @@ -286,7 +286,7 @@ func_ov43_02189904: ; 0x02189904 sub sp, sp, #8 mov r4, r0 ldr r1, _0218999c ; =data_ov43_0218d888 - ldr r0, _021899a0 ; =data_027e0fe4 + ldr r0, _021899a0 ; =gActorManager str r1, [r4] ldr r1, [r0] ldr r2, _021899a4 ; =0x504c4c42 @@ -296,7 +296,7 @@ func_ov43_02189904: ; 0x02189904 mvn r0, #0 cmp r1, r0 beq _0218995c - ldr r0, _021899a0 ; =data_027e0fe4 + ldr r0, _021899a0 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -323,7 +323,7 @@ _0218995c: ldmia sp!, {r4, pc} .align 2, 0 _0218999c: .word data_ov43_0218d888 -_021899a0: .word data_027e0fe4 +_021899a0: .word gActorManager _021899a4: .word 0x504c4c42 _021899a8: .word func_ov00_020b7d74 arm_func_end func_ov43_02189904 @@ -335,7 +335,7 @@ func_ov43_021899ac: ; 0x021899ac sub sp, sp, #8 mov r4, r0 ldr r1, _02189a4c ; =data_ov43_0218d888 - ldr r0, _02189a50 ; =data_027e0fe4 + ldr r0, _02189a50 ; =gActorManager str r1, [r4] ldr r1, [r0] ldr r2, _02189a54 ; =0x504c4c42 @@ -345,7 +345,7 @@ func_ov43_021899ac: ; 0x021899ac mvn r0, #0 cmp r1, r0 beq _02189a04 - ldr r0, _02189a50 ; =data_027e0fe4 + ldr r0, _02189a50 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -374,7 +374,7 @@ _02189a04: ldmia sp!, {r4, pc} .align 2, 0 _02189a4c: .word data_ov43_0218d888 -_02189a50: .word data_027e0fe4 +_02189a50: .word gActorManager _02189a54: .word 0x504c4c42 _02189a58: .word func_ov00_020b7d74 arm_func_end func_ov43_021899ac @@ -386,7 +386,7 @@ func_ov43_02189a5c: ; 0x02189a5c sub sp, sp, #8 mov r4, r0 ldr r1, _02189af4 ; =data_ov43_0218d888 - ldr r0, _02189af8 ; =data_027e0fe4 + ldr r0, _02189af8 ; =gActorManager str r1, [r4] ldr r1, [r0] ldr r2, _02189afc ; =0x504c4c42 @@ -396,7 +396,7 @@ func_ov43_02189a5c: ; 0x02189a5c mvn r0, #0 cmp r1, r0 beq _02189ab4 - ldr r0, _02189af8 ; =data_027e0fe4 + ldr r0, _02189af8 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -423,7 +423,7 @@ _02189ab4: ldmia sp!, {r4, pc} .align 2, 0 _02189af4: .word data_ov43_0218d888 -_02189af8: .word data_027e0fe4 +_02189af8: .word gActorManager _02189afc: .word 0x504c4c42 _02189b00: .word func_ov00_020b7d74 arm_func_end func_ov43_02189a5c @@ -581,7 +581,7 @@ _02189c88: .word 0x0000071c func_ov43_02189c8c: ; 0x02189c8c stmdb sp!, {r3, r4, r5, r6, r7, lr} sub sp, sp, #0x18 - ldr ip, _02189e78 ; =data_027e0f94 + ldr ip, _02189e78 ; =gPlayerPos add r3, sp, #0xc mov r7, r0 mov r6, r1 @@ -597,10 +597,10 @@ func_ov43_02189c8c: ; 0x02189c8c add r0, r7, #0x48 add r1, sp, #0xc add r2, sp, #0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 cmp r6, #0 @@ -622,7 +622,7 @@ _02189d1c: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _02189e7c ; =data_02050f54 + ldr r1, _02189e7c ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r2, [r1, r2] @@ -644,11 +644,11 @@ _02189d70: add r2, sp, #0xc mov r0, r4 mov r3, r1 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, sp, #0 add r1, r7, #0x48 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 mov r3, #0 mov r1, r5 @@ -660,7 +660,7 @@ _02189d70: ldr r1, [sp, #8] str r1, [r7, #0x68] ldr r0, [r7, #0x60] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r7, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02189e80 ; =0xffff8001 @@ -709,8 +709,8 @@ _02189e58: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02189e78: .word data_027e0f94 -_02189e7c: .word data_02050f54 +_02189e78: .word gPlayerPos +_02189e7c: .word gSinCosTable _02189e80: .word 0xffff8001 _02189e84: .word 0x00000ccd arm_func_end func_ov43_02189c8c @@ -742,7 +742,7 @@ _02189ebc: add r1, r1, #8 cmp r1, r0 blo _02189ebc - ldr r0, _02189f94 ; =data_027e0fe4 + ldr r0, _02189f94 ; =gActorManager mov r7, #0 ldr lr, _02189f98 ; =_ZTV11FilterActor add r5, sp, #0x40 @@ -766,14 +766,14 @@ _02189ebc: str r7, [r5, #8] str r4, [sp] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ldrgt r0, [sp, #8] movgt r4, r7 cmpgt r0, #0 addle sp, sp, #0xd4 ldmleia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r7, _02189f94 ; =data_027e0fe4 + ldr r7, _02189f94 ; =gActorManager mov r5, r4 _02189f54: ldr r1, [sp] @@ -794,7 +794,7 @@ _02189f78: add sp, sp, #0xd4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_02189f94: .word data_027e0fe4 +_02189f94: .word gActorManager _02189f98: .word _ZTV11FilterActor _02189f9c: .word 0x50424c4e arm_func_end func_ov43_02189ea4 @@ -814,7 +814,7 @@ _02189fb8: add r1, r1, #8 cmp r1, r0 blo _02189fb8 - ldr r0, _0218a0ec ; =data_027e0fe4 + ldr r0, _0218a0ec ; =gActorManager mov r4, #0 ldr ip, _0218a0f0 ; =_ZTV11FilterActor add r6, sp, #0x40 @@ -838,13 +838,13 @@ _02189fb8: str r4, [r6, #8] str r5, [sp] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 ldrgt r0, [sp, #8] movgt r5, r4 cmpgt r0, #0 ble _0218a080 - ldr r8, _0218a0ec ; =data_027e0fe4 + ldr r8, _0218a0ec ; =gActorManager mov r6, r5 _0218a04c: ldr r1, [sp] @@ -893,7 +893,7 @@ _0218a0dc: add sp, sp, #0xd4 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0218a0ec: .word data_027e0fe4 +_0218a0ec: .word gActorManager _0218a0f0: .word _ZTV11FilterActor _0218a0f4: .word 0x50424c4e _0218a0f8: .word data_027e0ffc @@ -1300,7 +1300,7 @@ func_ov43_0218a674: ; 0x0218a674 str r1, [sp, #0x20] ldrh r0, [r4, #0x78] ldr r10, [r4, #0x48] - ldr r3, _0218a850 ; =data_02050f54 + ldr r3, _0218a850 ; =gSinCosTable mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 add r0, r5, #1 @@ -1317,7 +1317,7 @@ func_ov43_0218a674: ; 0x0218a674 adds r0, r0, #0x800 str r1, [sp, #0x18] ldr r9, [r4, #0x50] - ldr r2, _0218a854 ; =data_027e0f90 + ldr r2, _0218a854 ; =gPlayer mov r8, r0, lsr #0xc ldr r0, [r2] add r2, r1, #0x800 @@ -1344,10 +1344,10 @@ func_ov43_0218a674: ; 0x0218a674 str r9, [sp, #0x1c] add r2, r9, r3 str r2, [r1, #8] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _0218a7ac - ldr r0, _0218a858 ; =data_027e0fac + ldr r0, _0218a858 ; =gPlayerAngle ldrsh r2, [r4, #0x78] ldrsh r0, [r0] ldr r1, _0218a85c ; =0xffff8001 @@ -1375,7 +1375,7 @@ _0218a784: _0218a7ac: ldrh r0, [r4, #0x78] mov r1, #0 - ldr r3, _0218a850 ; =data_02050f54 + ldr r3, _0218a850 ; =gSinCosTable mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 @@ -1416,9 +1416,9 @@ _0218a834: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _0218a84c: .word 0x0000099a -_0218a850: .word data_02050f54 -_0218a854: .word data_027e0f90 -_0218a858: .word data_027e0fac +_0218a850: .word gSinCosTable +_0218a854: .word gPlayer +_0218a858: .word gPlayerAngle _0218a85c: .word 0xffff8001 _0218a860: .word 0x00005555 _0218a864: .word 0x50424c4e @@ -1428,11 +1428,11 @@ _0218a868: .word data_027e0ffc .global func_ov43_0218a86c arm_func_start func_ov43_0218a86c func_ov43_0218a86c: ; 0x0218a86c - ldr ip, _0218a878 ; =func_01fffcec + ldr ip, _0218a878 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_0218a878: .word func_01fffcec +_0218a878: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov43_0218a86c .global func_ov43_0218a87c @@ -2575,7 +2575,7 @@ func_ov43_0218b720: ; 0x0218b720 cmp r0, #2 addhs sp, sp, #8 ldmhsia sp!, {r4, pc} - ldr r1, _0218b7b0 ; =data_027e0fe4 + ldr r1, _0218b7b0 ; =gActorManager ldr r2, _0218b7b4 ; =0x50574253 ldr r1, [r1] add r0, sp, #0 @@ -2585,7 +2585,7 @@ func_ov43_0218b720: ; 0x0218b720 cmp r1, r0 addeq sp, sp, #8 ldmeqia sp!, {r4, pc} - ldr r0, _0218b7b0 ; =data_027e0fe4 + ldr r0, _0218b7b0 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2605,7 +2605,7 @@ func_ov43_0218b720: ; 0x0218b720 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_0218b7b0: .word data_027e0fe4 +_0218b7b0: .word gActorManager _0218b7b4: .word 0x50574253 arm_func_end func_ov43_0218b720 @@ -2650,7 +2650,7 @@ _0218b820: ldr r0, [r5, #0x3bc] cmp r0, #0 bne _0218b910 - ldr r1, _0218ba14 ; =data_027e0fe4 + ldr r1, _0218ba14 ; =gActorManager ldr r2, _0218ba18 ; =0x50574253 ldr r1, [r1] add r0, sp, #8 @@ -2659,7 +2659,7 @@ _0218b820: mvn r0, #0 cmp r1, r0 beq _0218b8c8 - ldr r0, _0218ba14 ; =data_027e0fe4 + ldr r0, _0218ba14 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2684,7 +2684,7 @@ _0218b820: strne r0, [r5, #0x214] b _0218b9fc _0218b8c8: - ldr r1, _0218ba14 ; =data_027e0fe4 + ldr r1, _0218ba14 ; =gActorManager ldr r2, _0218ba1c ; =0x504c444d ldr r1, [r1] add r0, sp, #0 @@ -2696,7 +2696,7 @@ _0218b8c8: str r1, [sp, #0xc] cmp r2, r0 beq _0218b9fc - ldr r0, _0218ba14 ; =data_027e0fe4 + ldr r0, _0218ba14 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2707,7 +2707,7 @@ _0218b910: str r0, [r5, #0x3c0] b _0218b9fc _0218b91c: - ldr r3, _0218ba20 ; =data_027e0d0c + ldr r3, _0218ba20 ; =gVec3p_ZERO ldr r2, _0218ba24 ; =0x00000333 ldr r1, [r3] add r0, r5, #0x28c @@ -2776,10 +2776,10 @@ _0218b9fc: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0218ba10: .word 0x0000ffff -_0218ba14: .word data_027e0fe4 +_0218ba14: .word gActorManager _0218ba18: .word 0x50574253 _0218ba1c: .word 0x504c444d -_0218ba20: .word data_027e0d0c +_0218ba20: .word gVec3p_ZERO _0218ba24: .word 0x00000333 _0218ba28: .word data_027e0c68 _0218ba2c: .word 0x00690331 @@ -2819,7 +2819,7 @@ _0218ba78: mvn r0, #0 cmp r1, r0 beq _0218bb0c - ldr r0, _0218c97c ; =data_027e0fe4 + ldr r0, _0218c97c ; =gActorManager add r1, r4, #0x3c4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2930,7 +2930,7 @@ _0218bbf8: strb r2, [sp, #0x14b] strb r2, [sp, #0x14c] strb r2, [sp, #0x14d] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x64 str r1, [sp, #0x80] @@ -2982,7 +2982,7 @@ _0218bcfc: mvn r0, #0 cmp r1, r0 beq _0218bd3c - ldr r0, _0218c97c ; =data_027e0fe4 + ldr r0, _0218c97c ; =gActorManager add r1, r4, #0x3c4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -3025,7 +3025,7 @@ _0218bd3c: strb r1, [sp, #0xeb] strb r1, [sp, #0xec] strb r1, [sp, #0xed] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x38 str r1, [sp, #0x54] @@ -3109,7 +3109,7 @@ _0218bed4: beq _0218bf54 mov r0, r4 bl func_ov00_020cc214 - ldr r1, _0218c990 ; =data_027e0d0c + ldr r1, _0218c990 ; =gVec3p_ZERO mov r0, r4 ldr r2, [r1] str r2, [r4, #0x60] @@ -3141,12 +3141,12 @@ _0218bf54: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc45c mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r0, [r4, #0x2a0] cmp r0, #0 moveq r6, #2 @@ -3266,9 +3266,9 @@ _0218c128: ldr r0, _0218c99c ; =data_ov00_020eec9c mov r1, #0x3a bl func_ov00_020d77e4 - ldr r0, _0218c9a0 ; =data_027e0fc8 + ldr r0, _0218c9a0 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _0218c32c ldr r2, [r4, #0x3c0] @@ -3428,7 +3428,7 @@ _0218c32c: cmp r2, #0x2000 ble _0218c3bc _0218c39c: - ldr r0, _0218c990 ; =data_027e0d0c + ldr r0, _0218c990 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] @@ -3456,7 +3456,7 @@ _0218c3bc: bl func_ov43_0218b7b8 _0218c400: ldrh r0, [r4, #0x78] - ldr r2, _0218c9c4 ; =data_02050f54 + ldr r2, _0218c9c4 ; =gSinCosTable mov r1, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -3491,7 +3491,7 @@ _0218c474: add r0, r4, #0x28c mov r1, #2 bl func_ov43_0218b1a0 - ldr r0, _0218c990 ; =data_027e0d0c + ldr r0, _0218c990 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] @@ -3582,7 +3582,7 @@ _0218c59c: mov r1, #6 bl func_ov43_0218b7b8 ldrh r0, [r4, #0x78] - ldr r3, _0218c9c4 ; =data_02050f54 + ldr r3, _0218c9c4 ; =gSinCosTable ldr r1, [r4, #0x3d0] mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 @@ -3636,12 +3636,12 @@ _0218c690: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc45c mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei mov r0, r4 bl func_ov00_020cb58c cmp r0, #0 @@ -3691,7 +3691,7 @@ _0218c730: bl func_ov00_020ceacc _0218c76c: ldrh r0, [r4, #0x78] - ldr r3, _0218c9c4 ; =data_02050f54 + ldr r3, _0218c9c4 ; =gSinCosTable ldr r1, [r4, #0x3d0] mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 @@ -3715,7 +3715,7 @@ _0218c76c: str r1, [r4, #0x68] b _0218c7e8 _0218c7cc: - ldr r0, _0218c990 ; =data_027e0d0c + ldr r0, _0218c990 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x60] ldr r1, [r0, #4] @@ -3728,12 +3728,12 @@ _0218c7e8: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc45c mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldr r0, [r4, #0x29c] add r0, r0, #0xc bl func_0202e58c @@ -3834,16 +3834,16 @@ _0218c970: add sp, sp, #0x150 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0218c97c: .word data_027e0fe4 +_0218c97c: .word gActorManager _0218c980: .word 0x0000ffff _0218c984: .word data_027e0fe8 _0218c988: .word 0x50425a4b _0218c98c: .word gMapManager -_0218c990: .word data_027e0d0c +_0218c990: .word gVec3p_ZERO _0218c994: .word data_027e0c68 _0218c998: .word 0x00690330 _0218c99c: .word data_ov00_020eec9c -_0218c9a0: .word data_027e0fc8 +_0218c9a0: .word gPlayerLink _0218c9a4: .word 0x000c00a4 _0218c9a8: .word data_027e0764 _0218c9ac: .word 0x00fffe00 @@ -3852,7 +3852,7 @@ _0218c9b4: .word 0x00000333 _0218c9b8: .word 0x00000222 _0218c9bc: .word 0x0000038e _0218c9c0: .word 0x00000133 -_0218c9c4: .word data_02050f54 +_0218c9c4: .word gSinCosTable _0218c9c8: .word data_027e0ffc _0218c9cc: .word 0x00000327 _0218c9d0: .word gAdventureFlags @@ -3945,9 +3945,9 @@ _0218cab4: ldr r0, [r5, #0x3bc] cmp r0, #0 beq _0218cb0c - ldr r0, _0218cd24 ; =data_027e0fc8 + ldr r0, _0218cd24 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _0218cb0c mov r0, #0 @@ -3966,9 +3966,9 @@ _0218cb0c: mov r1, #4 bl func_ov43_0218b7b8 _0218cb34: - ldr r0, _0218cd24 ; =data_027e0fc8 + ldr r0, _0218cd24 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 bne _0218cd10 cmp r4, #0 @@ -4093,7 +4093,7 @@ _0218cd10: .align 2, 0 _0218cd1c: .word 0x50424652 _0218cd20: .word 0x50425a4b -_0218cd24: .word data_027e0fc8 +_0218cd24: .word gPlayerLink _0218cd28: .word data_027e0f64 _0218cd2c: .word gAdventureFlags _0218cd30: .word 0x00000333 @@ -4131,13 +4131,13 @@ func_ov43_0218cd7c: ; 0x0218cd7c mov r10, r0 ldrsh r4, [r10, #0x78] mov r8, r2 - ldr r0, _0218cf84 ; =data_027e0fc8 + ldr r0, _0218cf84 ; =gPlayerLink strh r4, [r8] ldr r0, [r0] mov r9, r1 mov r7, r3 ldr r6, [sp, #0x40] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _0218ce34 mov r0, r10 @@ -4146,7 +4146,7 @@ func_ov43_0218cd7c: ; 0x0218cd7c mov r0, r10 bl _ZN5Actor14GetAngleToLinkEv strh r0, [r6] - ldr r0, _0218cf88 ; =data_027e0f94 + ldr r0, _0218cf88 ; =gPlayerPos ldr r1, [r10, #0x3c0] ldr r11, [r0] cmp r1, #0 @@ -4203,7 +4203,7 @@ _0218ce8c: str r0, [r9] mov r0, r10 bl _ZN5Actor14GetAngleToLinkEv - ldr r2, _0218cf88 ; =data_027e0f94 + ldr r2, _0218cf88 ; =gPlayerPos strh r0, [r8] ldmia r2, {r0, r1, r3} _0218ceac: @@ -4266,8 +4266,8 @@ _0218cf78: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_0218cf84: .word data_027e0fc8 -_0218cf88: .word data_027e0f94 +_0218cf84: .word gPlayerLink +_0218cf88: .word gPlayerPos _0218cf8c: .word gMapManager arm_func_end func_ov43_0218cd7c @@ -4295,12 +4295,12 @@ func_ov43_0218cf90: ; 0x0218cf90 ldr r0, [r4, #0x130] cmp r0, #7 ldmeqia sp!, {r4, pc} - ldr r0, _0218d028 ; =data_027e0fc8 + ldr r0, _0218d028 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _0218d014 - ldr r0, _0218d028 ; =data_027e0fc8 + ldr r0, _0218d028 ; =gPlayerLink mov r1, #0 ldr r0, [r0] mov r2, r1 @@ -4314,7 +4314,7 @@ _0218d014: strb r0, [r1, #0x8a8] ldmia sp!, {r4, pc} .align 2, 0 -_0218d028: .word data_027e0fc8 +_0218d028: .word gPlayerLink arm_func_end func_ov43_0218cf90 .global func_ov43_0218d02c @@ -4325,18 +4325,18 @@ func_ov43_0218d02c: ; 0x0218d02c ldrb r0, [r4, #0x3e6] cmp r0, #0 beq _0218d054 - ldr r0, _0218d084 ; =data_027e0fc8 + ldr r0, _0218d084 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 beq _0218d074 _0218d054: ldrb r0, [r4, #0x3e6] cmp r0, #0 bne _0218d07c - ldr r0, _0218d084 ; =data_027e0fc8 + ldr r0, _0218d084 ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 beq _0218d07c _0218d074: @@ -4346,7 +4346,7 @@ _0218d07c: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0218d084: .word data_027e0fc8 +_0218d084: .word gPlayerLink arm_func_end func_ov43_0218d02c .global func_ov43_0218d088 @@ -4381,7 +4381,7 @@ _0218d0e4: cmp r1, r0 addeq sp, sp, #0x1c ldmeqia sp!, {r3, r4, pc} - ldr r0, _0218d198 ; =data_027e0fe4 + ldr r0, _0218d198 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -4390,13 +4390,13 @@ _0218d0e4: cmp r2, r1 addne sp, sp, #0x1c ldmneia sp!, {r3, r4, pc} - ldr r3, _0218d1a0 ; =data_027e0fc8 + ldr r3, _0218d1a0 ; =gPlayerLink add r0, r0, #0x48 add ip, sp, #0x10 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} ldr r0, [r3] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #1 bne _0218d168 ldr r0, _0218d1a4 ; =data_ov00_020eec9c @@ -4423,9 +4423,9 @@ _0218d168: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0218d198: .word data_027e0fe4 +_0218d198: .word gActorManager _0218d19c: .word 0x504c444d -_0218d1a0: .word data_027e0fc8 +_0218d1a0: .word gPlayerLink _0218d1a4: .word data_ov00_020eec9c _0218d1a8: .word data_027e0c68 _0218d1ac: .word 0x000c00a6 @@ -4952,7 +4952,7 @@ data_ov43_0218d680: ; 0x0218d680 .word func_ov00_020cad30 .global data_ov43_0218d684 data_ov43_0218d684: ; 0x0218d684 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov43_0218d688 data_ov43_0218d688: ; 0x0218d688 .word func_ov00_020cb1c0 @@ -4982,7 +4982,7 @@ data_ov43_0218d6a8: ; 0x0218d6a8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov43_0218d6ac data_ov43_0218d6ac: ; 0x0218d6ac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov43_0218d6b0 data_ov43_0218d6b0: ; 0x0218d6b0 .word func_ov00_020caeb4 @@ -5156,7 +5156,7 @@ data_ov43_0218d790: ; 0x0218d790 .word func_ov00_020cad30 .global data_ov43_0218d794 data_ov43_0218d794: ; 0x0218d794 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov43_0218d798 data_ov43_0218d798: ; 0x0218d798 .word func_ov00_020cb1c0 @@ -5186,7 +5186,7 @@ data_ov43_0218d7b8: ; 0x0218d7b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov43_0218d7bc data_ov43_0218d7bc: ; 0x0218d7bc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov43_0218d7c0 data_ov43_0218d7c0: ; 0x0218d7c0 .word func_ov00_020caeb4 @@ -5360,7 +5360,7 @@ data_ov43_0218d8a0: ; 0x0218d8a0 .word func_ov00_020cad30 .global data_ov43_0218d8a4 data_ov43_0218d8a4: ; 0x0218d8a4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov43_0218d8a8 data_ov43_0218d8a8: ; 0x0218d8a8 .word func_ov00_020cb1c0 @@ -5390,7 +5390,7 @@ data_ov43_0218d8c8: ; 0x0218d8c8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov43_0218d8cc data_ov43_0218d8cc: ; 0x0218d8cc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov43_0218d8d0 data_ov43_0218d8d0: ; 0x0218d8d0 .word func_ov00_020caeb4 @@ -5579,7 +5579,7 @@ data_ov43_0218d9c4: ; 0x0218d9c4 .word func_ov43_0218c9ec .global data_ov43_0218d9c8 data_ov43_0218d9c8: ; 0x0218d9c8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov43_0218d9cc data_ov43_0218d9cc: ; 0x0218d9cc .word func_ov00_020cb1c0 @@ -5609,7 +5609,7 @@ data_ov43_0218d9ec: ; 0x0218d9ec .word _ZN5Actor15IsHitboxTouchedEb .global data_ov43_0218d9f0 data_ov43_0218d9f0: ; 0x0218d9f0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov43_0218d9f4 data_ov43_0218d9f4: ; 0x0218d9f4 .word func_ov43_0218ca54 diff --git a/asm/ov44.inc b/asm/ov44.inc index b8293509..3b588164 100644 --- a/asm/ov44.inc +++ b/asm/ov44.inc @@ -1,13 +1,13 @@ #pragma once .extern Approach_thunk .extern Divide -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -29,13 +29,13 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -64,14 +64,14 @@ .extern _ZNK11ItemManager19GetActiveFairyLevelEi .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_027e0194 .extern data_027e0764 .extern data_027e0e58 .extern gMapManager -.extern data_027e0f94 +.extern gPlayerPos .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff0 @@ -81,12 +81,12 @@ .extern data_ov00_020e9370 .extern func_01ff8214 .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9e64 -.extern func_01ffa0f4 -.extern func_01fffcec -.extern func_01fffd04 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Axpy +.extern Atan2 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_02002bf4 .extern func_02016fe8 .extern func_0201e544 @@ -102,7 +102,7 @@ .extern func_0202e58c .extern _ZN9ActorTypeC1EjPFP5ActorvEPFivE .extern _ZN9ActorTypeD1Ev -.extern func_02042f74 +.extern abs .extern func_0204f614 .extern func_0204f754 .extern func_ov00_0207a1c8 @@ -124,7 +124,7 @@ .extern func_ov00_020c0c08 .extern func_ov00_020c0cc8 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov44.s b/asm/ov44.s index dc1c6591..001f86b2 100644 --- a/asm/ov44.s +++ b/asm/ov44.s @@ -236,7 +236,7 @@ _021897d4: .word 0xfffffe66 func_ov44_021897d8: ; 0x021897d8 stmdb sp!, {lr} sub sp, sp, #0x14 - ldr r1, _02189818 ; =data_027e0f94 + ldr r1, _02189818 ; =gPlayerPos add r3, sp, #8 mov ip, r0 ldmia r1, {r0, r1, r2} @@ -251,7 +251,7 @@ func_ov44_021897d8: ; 0x021897d8 add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 -_02189818: .word data_027e0f94 +_02189818: .word gPlayerPos arm_func_end func_ov44_021897d8 .global func_ov44_0218981c @@ -259,7 +259,7 @@ _02189818: .word data_027e0f94 func_ov44_0218981c: ; 0x0218981c stmdb sp!, {lr} sub sp, sp, #0x14 - ldr r1, _0218985c ; =data_027e0f94 + ldr r1, _0218985c ; =gPlayerPos add r3, sp, #8 mov ip, r0 ldmia r1, {r0, r1, r2} @@ -274,7 +274,7 @@ func_ov44_0218981c: ; 0x0218981c add sp, sp, #0x14 ldmia sp!, {pc} .align 2, 0 -_0218985c: .word data_027e0f94 +_0218985c: .word gPlayerPos arm_func_end func_ov44_0218981c .global func_ov44_02189860 @@ -1019,7 +1019,7 @@ _0218a19c: .word 0x00000119 arm_func_start func_ov44_0218a1a0 func_ov44_0218a1a0: ; 0x0218a1a0 stmdb sp!, {r4, lr} - ldr r1, _0218a1c8 ; =data_027e0fe4 + ldr r1, _0218a1c8 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x318 @@ -1029,7 +1029,7 @@ func_ov44_0218a1a0: ; 0x0218a1a0 str r0, [r4, #0x74] ldmia sp!, {r4, pc} .align 2, 0 -_0218a1c8: .word data_027e0fe4 +_0218a1c8: .word gActorManager arm_func_end func_ov44_0218a1a0 .global func_ov44_0218a1cc @@ -1037,7 +1037,7 @@ _0218a1c8: .word data_027e0fe4 func_ov44_0218a1cc: ; 0x0218a1cc stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr r1, _0218a290 ; =data_027e0fe4 + ldr r1, _0218a290 ; =gActorManager mov r5, r0 ldr r0, [r1] add r1, r5, #0x318 @@ -1087,18 +1087,18 @@ _0218a26c: add r2, r4, #0x48 add r3, r5, #0x48 str ip, [sp, #4] - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0218a290: .word data_027e0fe4 +_0218a290: .word gActorManager arm_func_end func_ov44_0218a1cc .global func_ov44_0218a294 arm_func_start func_ov44_0218a294 func_ov44_0218a294: ; 0x0218a294 stmdb sp!, {r4, lr} - ldr r1, _0218a2cc ; =data_027e0fe4 + ldr r1, _0218a2cc ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x318 @@ -1112,7 +1112,7 @@ func_ov44_0218a294: ; 0x0218a294 movge r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_0218a2cc: .word data_027e0fe4 +_0218a2cc: .word gActorManager arm_func_end func_ov44_0218a294 .global func_ov44_0218a2d0 @@ -1159,7 +1159,7 @@ _0218a348: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x74] bl func_0202bba8 strh r0, [r4, #0x78] @@ -1301,7 +1301,7 @@ _0218a4a4: str ip, [r2, #4] add r1, r5, #0xa str r1, [r4, #0x13c] - ldr r0, _0218a600 ; =data_027e0fe4 + ldr r0, _0218a600 ; =gActorManager add r1, r4, #0x318 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1340,14 +1340,14 @@ _0218a564: mov r0, r4 str r2, [r1, #0x10] bl func_ov44_0218a1a0 - ldr r0, _0218a600 ; =data_027e0fe4 + ldr r0, _0218a600 ; =gActorManager add r1, r4, #0x320 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r5, r0 addeq sp, sp, #0xc ldmeqia sp!, {r4, r5, pc} - ldr r0, _0218a600 ; =data_027e0fe4 + ldr r0, _0218a600 ; =gActorManager add r1, r4, #0x318 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1373,7 +1373,7 @@ _0218a5f4: ldmia sp!, {r4, r5, pc} .align 2, 0 _0218a5fc: .word data_027e0764 -_0218a600: .word data_027e0fe4 +_0218a600: .word gActorManager arm_func_end func_ov44_0218a468 .global func_ov44_0218a604 @@ -1413,7 +1413,7 @@ _0218a66c: ; jump table b _0218a868 ; case 2 b _0218a8a8 ; case 3 _0218a67c: - ldr r0, _0218a8f8 ; =data_027e0fe4 + ldr r0, _0218a8f8 ; =gActorManager add r1, r4, #0x318 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1491,7 +1491,7 @@ _0218a79c: ldrb r0, [r4, #0x342] cmp r0, #0 bne _0218a7fc - ldr r0, _0218a900 ; =data_027e0f94 + ldr r0, _0218a900 ; =gPlayerPos add r3, sp, #0x14 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -1517,7 +1517,7 @@ _0218a7fc: bl func_ov44_0218a3fc cmp r0, #0 beq _0218a8ec - ldr r1, _0218a8f8 ; =data_027e0fe4 + ldr r1, _0218a8f8 ; =gActorManager ldr r2, _0218a904 ; =0x52415448 ldr r1, [r1] add r0, sp, #0 @@ -1550,7 +1550,7 @@ _0218a868: ldr r1, [r4, #0x138] cmp r1, r0, asr #12 ble _0218a8ec - ldr r0, _0218a8f8 ; =data_027e0fe4 + ldr r0, _0218a8f8 ; =gActorManager add r1, r4, #0x318 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1565,7 +1565,7 @@ _0218a8a8: bl func_ov44_0218a294 cmp r0, #0 beq _0218a8ec - ldr r0, _0218a8f8 ; =data_027e0fe4 + ldr r0, _0218a8f8 ; =gActorManager add r1, r4, #0x320 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1582,9 +1582,9 @@ _0218a8ec: add sp, sp, #0x20 ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_0218a8f8: .word data_027e0fe4 +_0218a8f8: .word gActorManager _0218a8fc: .word data_027e0764 -_0218a900: .word data_027e0f94 +_0218a900: .word gPlayerPos _0218a904: .word 0x52415448 arm_func_end func_ov44_0218a604 @@ -1619,7 +1619,7 @@ func_ov44_0218a954: ; 0x0218a954 sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -1901,7 +1901,7 @@ _0218ac5c: add r1, sp, #0x30 add r2, sp, #0x24 add r0, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x24 mov r1, #0x800 mov r2, r0 @@ -1913,11 +1913,11 @@ _0218ac5c: add r0, sp, #0x24 add r1, sp, #0x30 add r2, sp, #0x18 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x18 add r2, sp, #0xc add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] str r0, [r4, #0x60] ldr r0, [sp, #0x14] @@ -1928,11 +1928,11 @@ _0218accc: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 ldr r5, [r4, #0x64] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r4, #0x111] cmp r0, #0 addeq sp, sp, #0x3c @@ -1971,7 +1971,7 @@ _0218ad78: add r2, sp, #0 add r0, r4, #0x164 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 ldr r1, _0218ae40 ; =0x0000019a mov r2, r0 @@ -1985,7 +1985,7 @@ _0218ad78: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x168] ldr r0, [r4, #0x4c] cmp r0, r1 @@ -2060,7 +2060,7 @@ func_ov44_0218ae78: ; 0x0218ae78 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, pc} ldrh r1, [r4, #0x78] - ldr r3, _0218af2c ; =data_02050f54 + ldr r3, _0218af2c ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2092,7 +2092,7 @@ func_ov44_0218ae78: ; 0x0218ae78 add sp, sp, #0x3c ldmia sp!, {r3, r4, pc} .align 2, 0 -_0218af2c: .word data_02050f54 +_0218af2c: .word gSinCosTable _0218af30: .word 0x00000266 _0218af34: .word data_ov00_020e9370 arm_func_end func_ov44_0218ae78 @@ -2136,7 +2136,7 @@ func_ov44_0218af88: ; 0x0218af88 sub sp, sp, #0x44 mov r4, r0 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -2165,7 +2165,7 @@ func_ov44_0218af88: ; 0x0218af88 ldr r1, _0218b034 ; =0x4e4b4559 mov r2, r5 bl func_ov00_020c4048 - ldr r0, _0218b038 ; =data_027e0fe4 + ldr r0, _0218b038 ; =gActorManager add r1, sp, #4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2177,7 +2177,7 @@ func_ov44_0218af88: ; 0x0218af88 .align 2, 0 _0218b030: .word data_027e0fe8 _0218b034: .word 0x4e4b4559 -_0218b038: .word data_027e0fe4 +_0218b038: .word gActorManager arm_func_end func_ov44_0218af88 .global func_ov44_0218b03c @@ -2595,7 +2595,7 @@ _0218b3b4: .word 0x00000404 func_ov44_0218b3b8: ; 0x0218b3b8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x14 - ldr r1, _0218b430 ; =data_027e0f94 + ldr r1, _0218b430 ; =gPlayerPos mov r4, r0 add r3, sp, #8 ldmia r1, {r0, r1, r2} @@ -2625,7 +2625,7 @@ _0218b408: add sp, sp, #0x14 ldmia sp!, {r3, r4, pc} .align 2, 0 -_0218b430: .word data_027e0f94 +_0218b430: .word gPlayerPos _0218b434: .word 0x00001555 arm_func_end func_ov44_0218b3b8 @@ -2647,7 +2647,7 @@ func_ov44_0218b450: ; 0x0218b450 sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -2658,7 +2658,7 @@ func_ov44_0218b450: ; 0x0218b450 mov ip, #0 strh r0, [sp, #0x24] ldr r2, [r4, #8] - ldr r5, _0218b528 ; =data_02050f54 + ldr r5, _0218b528 ; =gSinCosTable str r2, [sp, #0x2c] ldr r2, [r4, #0xc] ldr r0, _0218b52c ; =0x00000666 @@ -2676,7 +2676,7 @@ func_ov44_0218b450: ; 0x0218b450 ldrsh ip, [r5, ip] str lr, [sp, #4] str ip, [sp, #0xc] - bl func_01ff9e64 + bl Vec3p_Axpy mov r0, #0 str r0, [sp] ldr r0, _0218b530 ; =data_027e0fe8 @@ -2698,7 +2698,7 @@ func_ov44_0218b450: ; 0x0218b450 add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0218b528: .word data_02050f54 +_0218b528: .word gSinCosTable _0218b52c: .word 0x00000666 _0218b530: .word data_027e0fe8 _0218b534: .word 0x4f435348 @@ -2811,7 +2811,7 @@ _0218b660: ; jump table b _0218b6a8 ; case 3 _0218b670: ldr r1, [r4, #0x50] - ldr r0, _0218b6f8 ; =data_027e0f94 + ldr r0, _0218b6f8 ; =gPlayerPos str r1, [sp, #4] ldr r1, [r0, #8] ldr r2, _0218b6fc ; =0x0000019a @@ -2825,7 +2825,7 @@ _0218b670: str r0, [r4, #0x68] b _0218b6dc _0218b6a8: - ldr r0, _0218b6f8 ; =data_027e0f94 + ldr r0, _0218b6f8 ; =gPlayerPos ldr r3, [r4, #0x48] ldr r1, [r0] ldr r2, _0218b6fc ; =0x0000019a @@ -2847,7 +2847,7 @@ _0218b6dc: ldmia sp!, {r4, pc} .align 2, 0 _0218b6f4: .word 0x00001555 -_0218b6f8: .word data_027e0f94 +_0218b6f8: .word gPlayerPos _0218b6fc: .word 0x0000019a arm_func_end func_ov44_0218b630 @@ -3964,10 +3964,10 @@ func_ov44_0218c4b8: ; 0x0218c4b8 strgt r0, [r5, #0x16c] add r0, r5, #0x48 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 mov r0, r5 beq _0218c53c @@ -3990,13 +3990,13 @@ _0218c56c: ldr r1, [r5, #0x48] ldr r0, [r5, #0x14] sub r0, r1, r0 - bl func_02042f74 + bl abs cmp r0, #0xa000 bge _0218c59c ldr r1, [r5, #0x50] ldr r0, [r5, #0x1c] sub r0, r1, r0 - bl func_02042f74 + bl abs cmp r0, #0xa000 blt _0218c5a8 _0218c59c: @@ -4024,11 +4024,11 @@ _0218c5cc: .global func_ov44_0218c5e0 arm_func_start func_ov44_0218c5e0 func_ov44_0218c5e0: ; 0x0218c5e0 - ldr ip, _0218c5ec ; =func_01fffcec + ldr ip, _0218c5ec ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_0218c5ec: .word func_01fffcec +_0218c5ec: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov44_0218c5e0 .global func_ov44_0218c5f0 @@ -4506,7 +4506,7 @@ func_ov44_0218cac4: ; 0x0218cac4 add r2, sp, #0 add r0, r4, #0x14 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #8] ldr ip, [sp] smull r1, r0, r2, r2 @@ -4545,7 +4545,7 @@ _0218cb44: _0218cb68: strh r0, [r4, #0x78] ldrh r1, [r4, #0x78] - ldr r3, _0218cc68 ; =data_02050f54 + ldr r3, _0218cc68 ; =gSinCosTable mov r0, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -4603,13 +4603,13 @@ _0218cc18: ldmeqia sp!, {r3, r4, pc} ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 _0218cc64: .word 0xfffff8e4 -_0218cc68: .word data_02050f54 +_0218cc68: .word gSinCosTable _0218cc6c: .word 0x0000019a arm_func_end func_ov44_0218cac4 @@ -4633,17 +4633,17 @@ func_ov44_0218cc70: ; 0x0218cc70 add r0, sp, #0xc add r2, sp, #0 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r2, _0218cd94 ; =0x0000038e add r0, r4, #0x78 bl func_0202b154 ldrh r1, [r4, #0x78] - ldr r3, _0218cd98 ; =data_02050f54 + ldr r3, _0218cd98 ; =gSinCosTable ldr r0, _0218cd9c ; =0x0000019a mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -4693,7 +4693,7 @@ _0218cd78: ldmia sp!, {r4, pc} .align 2, 0 _0218cd94: .word 0x0000038e -_0218cd98: .word data_02050f54 +_0218cd98: .word gSinCosTable _0218cd9c: .word 0x0000019a arm_func_end func_ov44_0218cc70 @@ -4701,7 +4701,7 @@ _0218cd9c: .word 0x0000019a arm_func_start func_ov44_0218cda0 func_ov44_0218cda0: ; 0x0218cda0 stmdb sp!, {r4, lr} - ldr r1, _0218ce98 ; =data_027e0f94 + ldr r1, _0218ce98 ; =gPlayerPos mov r4, r0 ldr r2, [r4, #0x48] ldr r0, [r1] @@ -4717,7 +4717,7 @@ func_ov44_0218cda0: ; 0x0218cda0 mov r2, #0x2d8 bl func_0202b154 ldrh r1, [r4, #0x78] - ldr r3, _0218ce9c ; =data_02050f54 + ldr r3, _0218ce9c ; =gSinCosTable ldr r0, _0218cea0 ; =0x0000019a mov r1, r1, asr #0x4 mov r1, r1, lsl #0x2 @@ -4765,8 +4765,8 @@ _0218ce80: blx r1 ldmia sp!, {r4, pc} .align 2, 0 -_0218ce98: .word data_027e0f94 -_0218ce9c: .word data_02050f54 +_0218ce98: .word gPlayerPos +_0218ce9c: .word gSinCosTable _0218cea0: .word 0x0000019a arm_func_end func_ov44_0218cda0 @@ -4997,7 +4997,7 @@ _0218d168: beq _0218d234 ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] mov r0, r4 mov r1, #0 @@ -5037,7 +5037,7 @@ _0218d1fc: beq _0218d234 ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] mov r0, r4 mov r1, #0 @@ -5474,7 +5474,7 @@ _0218d720: .word func_ov44_0218d658 func_ov44_0218d724: ; 0x0218d724 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _0218d7c8 ; =data_027e0fe4 + ldr r1, _0218d7c8 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x318 @@ -5492,7 +5492,7 @@ _0218d760: add r2, sp, #0xc add r0, r0, #0x48 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x14] cmp r0, #0 movgt r0, #2 @@ -5504,7 +5504,7 @@ _0218d78c: add r2, sp, #0 add r0, r0, #0x48 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] cmp r0, #0 movgt r0, #0 @@ -5518,7 +5518,7 @@ _0218d7b4: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_0218d7c8: .word data_027e0fe4 +_0218d7c8: .word gActorManager arm_func_end func_ov44_0218d724 .global func_ov44_0218d7cc @@ -5535,7 +5535,7 @@ _0218d7d4: .word func_ov44_0218d658 func_ov44_0218d7d8: ; 0x0218d7d8 stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _0218d874 ; =data_027e0fe4 + ldr r1, _0218d874 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x318 @@ -5543,7 +5543,7 @@ func_ov44_0218d7d8: ; 0x0218d7d8 add r2, sp, #0 add r0, r0, #0x48 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r4, #0x74] cmp r0, #3 addls pc, pc, r0, lsl #2 @@ -5577,7 +5577,7 @@ _0218d868: add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0218d874: .word data_027e0fe4 +_0218d874: .word gActorManager _0218d878: .word 0x0000019a arm_func_end func_ov44_0218d7d8 @@ -5586,7 +5586,7 @@ _0218d878: .word 0x0000019a func_ov44_0218d87c: ; 0x0218d87c stmdb sp!, {r3, r4, lr} sub sp, sp, #0xc - ldr r1, _0218d8d8 ; =data_027e0fe4 + ldr r1, _0218d8d8 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x318 @@ -5594,10 +5594,10 @@ func_ov44_0218d87c: ; 0x0218d87c add r2, sp, #0 add r0, r0, #0x48 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp] ldr r1, [sp, #8] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl func_0202bbbc @@ -5608,7 +5608,7 @@ func_ov44_0218d87c: ; 0x0218d87c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_0218d8d8: .word data_027e0fe4 +_0218d8d8: .word gActorManager arm_func_end func_ov44_0218d87c .global func_ov44_0218d8dc @@ -5624,7 +5624,7 @@ _0218d8e4: .word func_ov44_0218d658 arm_func_start func_ov44_0218d8e8 func_ov44_0218d8e8: ; 0x0218d8e8 stmdb sp!, {r4, lr} - ldr r1, _0218d914 ; =data_027e0fe4 + ldr r1, _0218d914 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x318 @@ -5635,7 +5635,7 @@ func_ov44_0218d8e8: ; 0x0218d8e8 bl func_ov00_020ce284 ldmia sp!, {r4, pc} .align 2, 0 -_0218d914: .word data_027e0fe4 +_0218d914: .word gActorManager _0218d918: .word 0x00000666 arm_func_end func_ov44_0218d8e8 @@ -5643,7 +5643,7 @@ _0218d918: .word 0x00000666 arm_func_start func_ov44_0218d91c func_ov44_0218d91c: ; 0x0218d91c stmdb sp!, {r4, lr} - ldr r1, _0218d944 ; =data_027e0fe4 + ldr r1, _0218d944 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x318 @@ -5653,14 +5653,14 @@ func_ov44_0218d91c: ; 0x0218d91c str r0, [r4, #0x74] ldmia sp!, {r4, pc} .align 2, 0 -_0218d944: .word data_027e0fe4 +_0218d944: .word gActorManager arm_func_end func_ov44_0218d91c .global func_ov44_0218d948 arm_func_start func_ov44_0218d948 func_ov44_0218d948: ; 0x0218d948 stmdb sp!, {r3, r4, r5, lr} - ldr r1, _0218d984 ; =data_027e0fe4 + ldr r1, _0218d984 ; =gActorManager mov r5, r0 ldr r0, [r1] add r1, r5, #0x318 @@ -5675,7 +5675,7 @@ func_ov44_0218d948: ; 0x0218d948 bl func_ov44_0218e6b4 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0218d984: .word data_027e0fe4 +_0218d984: .word gActorManager arm_func_end func_ov44_0218d948 .global func_ov44_0218d988 @@ -5724,7 +5724,7 @@ _0218d9fc: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r4, pc} .align 2, 0 _0218da24: .word 0x00000266 @@ -5867,14 +5867,14 @@ _0218dbe4: _0218dbf8: str r2, [r4, #0x12c] bl func_ov44_0218d91c - ldr r0, _0218dd68 ; =data_027e0fe4 + ldr r0, _0218dd68 ; =gActorManager add r1, r4, #0x320 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef movs r5, r0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, r5, r6, pc} - ldr r0, _0218dd68 ; =data_027e0fe4 + ldr r0, _0218dd68 ; =gActorManager add r1, r4, #0x318 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5919,7 +5919,7 @@ _0218dc74: str r6, [r1, #4] add r1, r5, #0xa str r1, [r4, #0x13c] - ldr r0, _0218dd68 ; =data_027e0fe4 + ldr r0, _0218dd68 ; =gActorManager add r1, r4, #0x320 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5951,7 +5951,7 @@ _0218dcf4: str r5, [r1, #4] add r1, ip, #0xa str r1, [r4, #0x13c] - ldr r0, _0218dd68 ; =data_027e0fe4 + ldr r0, _0218dd68 ; =gActorManager add r1, r4, #0x318 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -5962,7 +5962,7 @@ _0218dd5c: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _0218dd64: .word data_027e0764 -_0218dd68: .word data_027e0fe4 +_0218dd68: .word gActorManager arm_func_end func_ov44_0218da70 .global func_ov44_0218dd6c @@ -6012,7 +6012,7 @@ _0218ddf4: ldr r0, [r4, #0x13c] cmp r1, r0 blt _0218e180 - ldr r1, _0218e18c ; =data_027e0fe4 + ldr r1, _0218e18c ; =gActorManager ldr r2, _0218e190 ; =0x52415448 ldr r1, [r1] add r0, sp, #0 @@ -6161,7 +6161,7 @@ _0218e018: ldr r1, [r4, #0x138] cmp r1, r0, asr #12 ble _0218e180 - ldr r0, _0218e18c ; =data_027e0fe4 + ldr r0, _0218e18c ; =gActorManager add r1, r4, #0x318 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6202,7 +6202,7 @@ _0218e0bc: bl func_ov44_0218da70 b _0218e180 _0218e0cc: - ldr r0, _0218e18c ; =data_027e0fe4 + ldr r0, _0218e18c ; =gActorManager add r1, r4, #0x318 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -6253,7 +6253,7 @@ _0218e180: add sp, sp, #0x14 ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_0218e18c: .word data_027e0fe4 +_0218e18c: .word gActorManager _0218e190: .word 0x52415448 _0218e194: .word data_027e0764 _0218e198: .word 0x00000266 @@ -6290,7 +6290,7 @@ func_ov44_0218e1e8: ; 0x0218e1e8 sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -6491,7 +6491,7 @@ func_ov44_0218e3e0: ; 0x0218e3e0 addeq sp, sp, #0x3c ldmeqia sp!, {r4, r5, pc} ldrh r1, [r4, #0x78] - ldr r3, _0218e498 ; =data_02050f54 + ldr r3, _0218e498 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -6502,7 +6502,7 @@ func_ov44_0218e3e0: ; 0x0218e3e0 ldrsh r2, [r3, r2] blx func_01ff8214 ldrh r0, [r4, #0x78] - ldr r1, _0218e498 ; =data_02050f54 + ldr r1, _0218e498 ; =gSinCosTable mov lr, #0 mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 @@ -6518,7 +6518,7 @@ func_ov44_0218e3e0: ; 0x0218e3e0 str r5, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x158 ldr r3, [r0] add r1, sp, #0x18 @@ -6528,7 +6528,7 @@ func_ov44_0218e3e0: ; 0x0218e3e0 add sp, sp, #0x3c ldmia sp!, {r4, r5, pc} .align 2, 0 -_0218e498: .word data_02050f54 +_0218e498: .word gSinCosTable _0218e49c: .word 0xfffff852 arm_func_end func_ov44_0218e3e0 @@ -6560,7 +6560,7 @@ _0218e4ec: add r1, sp, #0x38 mvn r3, #0 ldr r5, _0218e590 ; =0x5053424c - ldr r0, _0218e594 ; =data_027e0fe4 + ldr r0, _0218e594 ; =gActorManager str r5, [sp, #8] str ip, [sp, #4] str r3, [sp, #0xc] @@ -6588,7 +6588,7 @@ _0218e4ec: str r4, [sp, #0x28] str r2, [sp, #0x2c] str r3, [sp, #0x30] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 movgt r0, #0 movle r0, r5 @@ -6598,7 +6598,7 @@ _0218e4ec: _0218e588: .word gMapManager _0218e58c: .word _ZTV11FilterActor _0218e590: .word 0x5053424c -_0218e594: .word data_027e0fe4 +_0218e594: .word gActorManager arm_func_end func_ov44_0218e4a0 .global func_ov44_0218e598 @@ -6616,7 +6616,7 @@ _0218e5b0: add r2, r2, #8 cmp r2, r0 blo _0218e5b0 - ldr r0, _0218e6a4 ; =data_027e0fe4 + ldr r0, _0218e6a4 ; =gActorManager mov lr, #0 ldr r7, _0218e6a8 ; =_ZTV11FilterActor add ip, sp, #0x40 @@ -6640,7 +6640,7 @@ _0218e5b0: str lr, [ip, #8] str r5, [sp] str r3, [sp, #4] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #8] cmp r0, #0 movle r5, #0 @@ -6674,7 +6674,7 @@ _0218e684: add sp, sp, #0x154 ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0218e6a4: .word data_027e0fe4 +_0218e6a4: .word gActorManager _0218e6a8: .word _ZTV11FilterActor _0218e6ac: .word 0x52415448 _0218e6b0: .word data_027e0764 @@ -6726,7 +6726,7 @@ _0218e734: sub r0, ip, #0x1000 add r2, r2, #0x48 str ip, [sp, #4] - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0xc ldmia sp!, {pc} arm_func_end func_ov44_0218e6b4 @@ -6840,7 +6840,7 @@ _0218e870: .word func_ov00_020c6c78 func_ov44_0218e874: ; 0x0218e874 stmdb sp!, {r4, r5, lr} sub sp, sp, #0xc - ldr ip, _0218e8b0 ; =data_027e0f94 + ldr ip, _0218e8b0 ; =gPlayerPos add r3, sp, #0 mov r5, r0 mov r4, r1 @@ -6854,7 +6854,7 @@ func_ov44_0218e874: ; 0x0218e874 add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0218e8b0: .word data_027e0f94 +_0218e8b0: .word gPlayerPos arm_func_end func_ov44_0218e874 .global func_ov44_0218e8b4 @@ -7766,7 +7766,7 @@ data_ov44_0218f2a0: ; 0x0218f2a0 .word func_ov00_020cad30 .global data_ov44_0218f2a4 data_ov44_0218f2a4: ; 0x0218f2a4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov44_0218f2a8 data_ov44_0218f2a8: ; 0x0218f2a8 .word func_ov00_020cb1c0 @@ -7796,7 +7796,7 @@ data_ov44_0218f2c8: ; 0x0218f2c8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov44_0218f2cc data_ov44_0218f2cc: ; 0x0218f2cc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov44_0218f2d0 data_ov44_0218f2d0: ; 0x0218f2d0 .word func_ov00_020caeb4 @@ -8137,7 +8137,7 @@ data_ov44_0218f484: ; 0x0218f484 .word func_ov00_020cad30 .global data_ov44_0218f488 data_ov44_0218f488: ; 0x0218f488 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov44_0218f48c data_ov44_0218f48c: ; 0x0218f48c .word func_ov00_020cb1c0 @@ -8167,7 +8167,7 @@ data_ov44_0218f4ac: ; 0x0218f4ac .word _ZN5Actor15IsHitboxTouchedEb .global data_ov44_0218f4b0 data_ov44_0218f4b0: ; 0x0218f4b0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov44_0218f4b4 data_ov44_0218f4b4: ; 0x0218f4b4 .word func_ov00_020caeb4 @@ -8397,7 +8397,7 @@ data_ov44_0218f5d4: ; 0x0218f5d4 .word _ZN5Actor8vfunc_18Ej .global data_ov44_0218f5d8 data_ov44_0218f5d8: ; 0x0218f5d8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov44_0218f5dc data_ov44_0218f5dc: ; 0x0218f5dc .word func_ov44_0218ae78 @@ -8427,10 +8427,10 @@ data_ov44_0218f5fc: ; 0x0218f5fc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov44_0218f600 data_ov44_0218f600: ; 0x0218f600 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov44_0218f604 data_ov44_0218f604: ; 0x0218f604 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov44_0218f608 data_ov44_0218f608: ; 0x0218f608 .word _ZN5Actor8vfunc_4cEPi @@ -8730,7 +8730,7 @@ data_ov44_0218f790: ; 0x0218f790 .word func_ov00_020cad30 .global data_ov44_0218f794 data_ov44_0218f794: ; 0x0218f794 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov44_0218f798 data_ov44_0218f798: ; 0x0218f798 .word func_ov00_020cb1c0 @@ -8760,7 +8760,7 @@ data_ov44_0218f7b8: ; 0x0218f7b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov44_0218f7bc data_ov44_0218f7bc: ; 0x0218f7bc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov44_0218f7c0 data_ov44_0218f7c0: ; 0x0218f7c0 .word func_ov00_020caeb4 @@ -9078,7 +9078,7 @@ data_ov44_0218f97c: ; 0x0218f97c .word _ZN5Actor8vfunc_18Ej .global data_ov44_0218f980 data_ov44_0218f980: ; 0x0218f980 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov44_0218f984 data_ov44_0218f984: ; 0x0218f984 .word func_ov44_0218c5f0 @@ -9108,10 +9108,10 @@ data_ov44_0218f9a4: ; 0x0218f9a4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov44_0218f9a8 data_ov44_0218f9a8: ; 0x0218f9a8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov44_0218f9ac data_ov44_0218f9ac: ; 0x0218f9ac - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov44_0218f9b0 data_ov44_0218f9b0: ; 0x0218f9b0 .word _ZN5Actor8vfunc_4cEPi @@ -9371,7 +9371,7 @@ data_ov44_0218faf8: ; 0x0218faf8 .word func_ov00_020cad30 .global data_ov44_0218fafc data_ov44_0218fafc: ; 0x0218fafc - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov44_0218fb00 data_ov44_0218fb00: ; 0x0218fb00 .word func_ov00_020cb1c0 @@ -9401,7 +9401,7 @@ data_ov44_0218fb20: ; 0x0218fb20 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov44_0218fb24 data_ov44_0218fb24: ; 0x0218fb24 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov44_0218fb28 data_ov44_0218fb28: ; 0x0218fb28 .word func_ov44_0218cfc4 @@ -9762,7 +9762,7 @@ data_ov44_0218fd08: ; 0x0218fd08 .word func_ov00_020cad30 .global data_ov44_0218fd0c data_ov44_0218fd0c: ; 0x0218fd0c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov44_0218fd10 data_ov44_0218fd10: ; 0x0218fd10 .word func_ov00_020cb1c0 @@ -9792,7 +9792,7 @@ data_ov44_0218fd30: ; 0x0218fd30 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov44_0218fd34 data_ov44_0218fd34: ; 0x0218fd34 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov44_0218fd38 data_ov44_0218fd38: ; 0x0218fd38 .word func_ov00_020caeb4 @@ -9981,7 +9981,7 @@ data_ov44_0218fe2c: ; 0x0218fe2c .word _ZN5Actor8vfunc_18Ej .global data_ov44_0218fe30 data_ov44_0218fe30: ; 0x0218fe30 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov44_0218fe34 data_ov44_0218fe34: ; 0x0218fe34 .word func_ov44_0218e3e0 @@ -10011,10 +10011,10 @@ data_ov44_0218fe54: ; 0x0218fe54 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov44_0218fe58 data_ov44_0218fe58: ; 0x0218fe58 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov44_0218fe5c data_ov44_0218fe5c: ; 0x0218fe5c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov44_0218fe60 data_ov44_0218fe60: ; 0x0218fe60 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov45.inc b/asm/ov45.inc index e4ea15e2..c6f3eb35 100644 --- a/asm/ov45.inc +++ b/asm/ov45.inc @@ -7,7 +7,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -16,13 +16,13 @@ .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -60,9 +60,9 @@ .extern data_027e0e28 .extern data_027e0e58 .extern data_027e0f64 -.extern data_027e0f94 -.extern data_027e0fb8 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerControl +.extern gPlayerLink .extern data_027e0fe0 .extern data_027e0ff8 .extern data_027e0ffc @@ -75,7 +75,7 @@ .extern data_ov09_0211f524 .extern data_ov09_0211f52c .extern func_01ff9158 -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ffbe34 .extern func_020052e4 .extern func_02007908 diff --git a/asm/ov45.s b/asm/ov45.s index f7dfb2be..bfea5169 100644 --- a/asm/ov45.s +++ b/asm/ov45.s @@ -228,7 +228,7 @@ func_ov45_02189764: ; 0x02189764 mov r0, r4 mov r1, #1 bl _ZN5Actor10SetUnk_11cEc - ldr r0, _02189894 ; =data_027e0fb8 + ldr r0, _02189894 ; =gPlayerControl mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x78] @@ -247,7 +247,7 @@ _02189884: .word data_ov45_0218e4c0 _02189888: .word data_ov45_0218e4c4 _0218988c: .word gAdventureFlags _02189890: .word 0x0000010a -_02189894: .word data_027e0fb8 +_02189894: .word gPlayerControl arm_func_end func_ov45_02189764 .global func_ov45_02189898 @@ -520,7 +520,7 @@ _02189c18: blx r1 cmp r0, #0 beq _02189c54 - ldr r0, _02189d1c ; =data_027e0fb8 + ldr r0, _02189d1c ; =gPlayerControl mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x78] @@ -584,7 +584,7 @@ _02189d0c: .word 0x00000101 _02189d10: .word 0x00000102 _02189d14: .word 0x00000103 _02189d18: .word 0x0000011f -_02189d1c: .word data_027e0fb8 +_02189d1c: .word gPlayerControl arm_func_end func_ov45_02189ab4 .global func_ov45_02189d20 @@ -1983,7 +1983,7 @@ _0218ae00: sub r4, lr, #0x18 blx func_ov09_0211cac0 _0218ae0c: - ldr r0, _0218ae30 ; =data_027e0fc8 + ldr r0, _0218ae30 ; =gPlayerLink mov r1, r4 ldr r0, [r0] bl func_ov00_020bce48 @@ -1993,14 +1993,14 @@ _0218ae0c: _0218ae24: .word data_ov45_0218e6c4 _0218ae28: .word data_ov00_020ec7dc _0218ae2c: .word 0x38e38e39 -_0218ae30: .word data_027e0fc8 +_0218ae30: .word gPlayerLink arm_func_end func_ov45_0218ad80 .global func_ov45_0218ae34 arm_func_start func_ov45_0218ae34 func_ov45_0218ae34: ; 0x0218ae34 stmdb sp!, {r4, lr} - ldr r1, _0218ae5c ; =data_027e0fc8 + ldr r1, _0218ae5c ; =gPlayerLink mov r4, r0 ldr r0, [r1] bl func_ov00_020bc500 @@ -2010,7 +2010,7 @@ func_ov45_0218ae34: ; 0x0218ae34 bl func_ov45_0218ae60 ldmia sp!, {r4, pc} .align 2, 0 -_0218ae5c: .word data_027e0fc8 +_0218ae5c: .word gPlayerLink arm_func_end func_ov45_0218ae34 .global func_ov45_0218ae60 @@ -2032,7 +2032,7 @@ _0218ae80: .word data_ov45_0218e6c4 arm_func_start func_ov45_0218ae84 func_ov45_0218ae84: ; 0x0218ae84 stmdb sp!, {r4, lr} - ldr r1, _0218aec4 ; =data_027e0fc8 + ldr r1, _0218aec4 ; =gPlayerLink mov r4, r0 ldr r0, [r1] bl func_ov00_020bc500 @@ -2048,7 +2048,7 @@ func_ov45_0218ae84: ; 0x0218ae84 bl func_ov45_0218acf8 ldmia sp!, {r4, pc} .align 2, 0 -_0218aec4: .word data_027e0fc8 +_0218aec4: .word gPlayerLink arm_func_end func_ov45_0218ae84 .global func_ov45_0218aec8 @@ -4349,11 +4349,11 @@ func_ov45_0218cb5c: ; 0x0218cb5c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [sp, #0x18] - ldr r1, _0218cbbc ; =data_027e0f94 + ldr r1, _0218cbbc ; =gPlayerPos add r2, r0, #0x1000 mov r0, r3 str r2, [sp, #0x18] - bl func_01ff9ec0 + bl Vec3p_Distance mov r4, r0 add r1, sp, #0 mov r0, r5 @@ -4366,7 +4366,7 @@ func_ov45_0218cb5c: ; 0x0218cb5c add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} .align 2, 0 -_0218cbbc: .word data_027e0f94 +_0218cbbc: .word gPlayerPos arm_func_end func_ov45_0218cb5c .global func_ov45_0218cbc0 @@ -6686,7 +6686,7 @@ data_ov45_0218e4ec: ; 0x0218e4ec .word func_ov14_02144b64 .global data_ov45_0218e4f0 data_ov45_0218e4f0: ; 0x0218e4f0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov45_0218e4f4 data_ov45_0218e4f4: ; 0x0218e4f4 .word func_ov45_02189d20 @@ -6716,10 +6716,10 @@ data_ov45_0218e514: ; 0x0218e514 .word func_ov14_02145974 .global data_ov45_0218e518 data_ov45_0218e518: ; 0x0218e518 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov45_0218e51c data_ov45_0218e51c: ; 0x0218e51c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov45_0218e520 data_ov45_0218e520: ; 0x0218e520 .word _ZN5Actor8vfunc_4cEPi @@ -7194,7 +7194,7 @@ data_ov45_0218e76c: ; 0x0218e76c .word func_ov14_02144b64 .global data_ov45_0218e770 data_ov45_0218e770: ; 0x0218e770 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov45_0218e774 data_ov45_0218e774: ; 0x0218e774 .word func_ov45_0218b024 @@ -7224,10 +7224,10 @@ data_ov45_0218e794: ; 0x0218e794 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov45_0218e798 data_ov45_0218e798: ; 0x0218e798 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov45_0218e79c data_ov45_0218e79c: ; 0x0218e79c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov45_0218e7a0 data_ov45_0218e7a0: ; 0x0218e7a0 .word _ZN5Actor8vfunc_4cEPi @@ -7511,7 +7511,7 @@ data_ov45_0218e970: ; 0x0218e970 .word func_ov14_02144b64 .global data_ov45_0218e974 data_ov45_0218e974: ; 0x0218e974 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov45_0218e978 data_ov45_0218e978: ; 0x0218e978 .word func_ov14_02145100 @@ -7541,10 +7541,10 @@ data_ov45_0218e998: ; 0x0218e998 .word func_ov14_02145974 .global data_ov45_0218e99c data_ov45_0218e99c: ; 0x0218e99c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov45_0218e9a0 data_ov45_0218e9a0: ; 0x0218e9a0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov45_0218e9a4 data_ov45_0218e9a4: ; 0x0218e9a4 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov46.inc b/asm/ov46.inc index ad641334..69ce30c0 100644 --- a/asm/ov46.inc +++ b/asm/ov46.inc @@ -13,7 +13,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -21,19 +21,19 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -64,22 +64,22 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager16GetTreasureCountEj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02057200 .extern data_027e0160 .extern data_027e0764 .extern data_027e077c .extern data_027e0c68 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0d38 .extern data_027e0dbc .extern data_027e0e58 .extern data_027e0f6c -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fcc .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -97,17 +97,17 @@ .extern func_01ff8214 .extern func_01ff8230 .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9c68 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Cross +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy .extern func_01fffb4c .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_02007908 .extern func_02018cb8 .extern func_0201e388 @@ -139,7 +139,7 @@ .extern func_ov00_020bd268 .extern func_ov00_020bf008 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov46.s b/asm/ov46.s index a18c2500..a7eaf333 100644 --- a/asm/ov46.s +++ b/asm/ov46.s @@ -370,7 +370,7 @@ func_ov46_021904c4: ; 0x021904c4 beq _0219050c b _02190568 _021904e4: - ldr r1, _02190580 ; =data_027e0fe4 + ldr r1, _02190580 ; =gActorManager ldr r2, _02190584 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0x10 @@ -381,13 +381,13 @@ _021904e4: str r0, [r4, #0x184] b _02190574 _0219050c: - ldr r1, _02190580 ; =data_027e0fe4 + ldr r1, _02190580 ; =gActorManager ldr r2, _02190584 ; =0x4e415649 ldr r1, [r1] add r0, sp, #8 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r0, [sp, #8] - ldr r1, _02190580 ; =data_027e0fe4 + ldr r1, _02190580 ; =gActorManager str r0, [r4, #0x180] ldr r2, [sp, #0xc] add r0, sp, #0 @@ -413,7 +413,7 @@ _02190574: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02190580: .word data_027e0fe4 +_02190580: .word gActorManager _02190584: .word 0x4e415649 _02190588: .word 0x53574f4e arm_func_end func_ov46_021904c4 @@ -1264,11 +1264,11 @@ _02190fec: add r0, r1, #0x1a8 add r1, r1, #0x19c add r2, r2, #0x400 - bl func_01ff9bf8 + bl Vec3p_Sub add r1, r5, #0x94 add r0, r1, #0x400 add r1, r1, #0x400 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r5, #0x400 ldrsh r1, [r0, #0xcc] add r1, r1, #1 @@ -1286,11 +1286,11 @@ _02191048: add r0, r1, #0x1b4 add r1, r1, #0x1a8 add r2, r2, #0x400 - bl func_01ff9bf8 + bl Vec3p_Sub add r1, r5, #0x94 add r0, r1, #0x400 add r1, r1, #0x400 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r5, #0x400 ldrsh r1, [r0, #0xcc] add r1, r1, #1 @@ -1315,7 +1315,7 @@ _021910c8: cmp r1, #0 bne _02191258 ldrsh r1, [r0, #0xce] - ldr r0, _021912ac ; =data_027e0fc8 + ldr r0, _021912ac ; =gPlayerLink ldr r4, [r0] cmp r1, #4 addls pc, pc, r1, lsl #2 @@ -1362,10 +1362,10 @@ _02191128: add r2, r5, #0x4a0 add r0, r1, #0x1a8 add r1, r1, #0x19c - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r5, #0x4a0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r5, #0x400 ldrsh r1, [r0, #0xce] add r1, r1, #1 @@ -1385,10 +1385,10 @@ _021911b0: add r2, r5, #0x4a0 add r0, r1, #0x1c0 add r1, r1, #0x1a8 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, r5, #0x4a0 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize add r0, r5, #0x400 ldrsh r1, [r0, #0xce] add r1, r1, #1 @@ -1430,7 +1430,7 @@ _02191260: add r1, sp, #0x10 ldr r2, [r2, #0x34] blx r2 - ldr r0, _021912ac ; =data_027e0fc8 + ldr r0, _021912ac ; =gPlayerLink add r1, sp, #0x10 ldr r0, [r0] mov r2, #0x400 @@ -1440,7 +1440,7 @@ _02191260: .align 2, 0 _021912a4: .word 0x00000aab _021912a8: .word 0x00000133 -_021912ac: .word data_027e0fc8 +_021912ac: .word gPlayerLink _021912b0: .word data_027e0fcc arm_func_end func_ov46_02190f54 @@ -1496,7 +1496,7 @@ _0219131c: ; jump table b _02191384 ; case 2 b _02191398 ; case 3 _0219132c: - ldr r0, _021913b0 ; =data_027e0fe4 + ldr r0, _021913b0 ; =gActorManager mov r1, #1 strb r1, [r4, #0x4d5] ldr r1, [r0] @@ -1504,7 +1504,7 @@ _0219132c: add r0, sp, #0 add r3, r4, #0x48 bl _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - ldr r0, _021913b0 ; =data_027e0fe4 + ldr r0, _021913b0 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1534,7 +1534,7 @@ _021913a4: add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_021913b0: .word data_027e0fe4 +_021913b0: .word gActorManager _021913b4: .word 0x414e4353 arm_func_end func_ov46_021912f4 @@ -1909,7 +1909,7 @@ func_ov46_02191884: ; 0x02191884 beq _021918cc b _02191928 _021918a4: - ldr r1, _02191940 ; =data_027e0fe4 + ldr r1, _02191940 ; =gActorManager ldr r2, _02191944 ; =0x4e415649 ldr r1, [r1] add r0, sp, #0x10 @@ -1920,13 +1920,13 @@ _021918a4: str r0, [r4, #0x184] b _02191934 _021918cc: - ldr r1, _02191940 ; =data_027e0fe4 + ldr r1, _02191940 ; =gActorManager ldr r2, _02191944 ; =0x4e415649 ldr r1, [r1] add r0, sp, #8 bl _ZN12ActorManager15FindActorByTypeEP8ActorRefPS_j ldr r0, [sp, #8] - ldr r1, _02191940 ; =data_027e0fe4 + ldr r1, _02191940 ; =gActorManager str r0, [r4, #0x180] ldr r2, [sp, #0xc] add r0, sp, #0 @@ -1952,7 +1952,7 @@ _02191934: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02191940: .word data_027e0fe4 +_02191940: .word gActorManager _02191944: .word 0x4e415649 _02191948: .word 0x53574f4e arm_func_end func_ov46_02191884 @@ -1989,11 +1989,11 @@ func_ov46_0219194c: ; 0x0219194c ldr r0, _02191e30 ; =data_027e0160 mov r1, r6 mov r2, r4 - bl func_01ff9c68 + bl Vec3p_Cross mov r0, r6 mov r1, r4 mov r2, r5 - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [r7, #0x45c] ldr r2, [r4] ldr r1, [r4, #4] @@ -2108,11 +2108,11 @@ _02191b68: ldr r0, _02191e30 ; =data_027e0160 ldr r1, _02191e44 ; =data_ov46_02194c2c ldr r2, _02191e48 ; =data_ov46_02194c14 - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, _02191e44 ; =data_ov46_02194c2c ldr r1, _02191e48 ; =data_ov46_02194c14 ldr r2, _02191e4c ; =data_ov46_02194c20 - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, _02191e48 ; =data_ov46_02194c14 ldr r3, _02191e50 ; =0x0000059a ldr r8, [r0] @@ -2241,7 +2241,7 @@ _02191b68: str r1, [sp, #0x40] mla r5, r4, ip, r5 ldr r4, [sp, #0x40] - ldr r0, _02191e54 ; =data_027e0f94 + ldr r0, _02191e54 ; =gPlayerPos mla r5, r4, r3, r5 adds r4, r6, #0x800 adc r3, r5, #0 @@ -2285,7 +2285,7 @@ _02191e44: .word data_ov46_02194c2c _02191e48: .word data_ov46_02194c14 _02191e4c: .word data_ov46_02194c20 _02191e50: .word 0x0000059a -_02191e54: .word data_027e0f94 +_02191e54: .word gPlayerPos _02191e58: .word data_ov46_02194c38 arm_func_end func_ov46_0219194c @@ -2478,7 +2478,7 @@ func_ov46_02192040: ; 0x02192040 ldr r4, [r4, #0xb4] add r0, r5, #0x1f8 ldr r1, [r4] - ldr r3, _02192134 ; =data_02050f54 + ldr r3, _02192134 ; =gSinCosTable bic r1, r1, #2 str r1, [r4] ldrsh r1, [r0, #0x68] @@ -2500,7 +2500,7 @@ func_ov46_02192040: ; 0x02192040 bl func_0202e030 add r0, r5, #0x1f8 ldrh r1, [r0, #0x6a] - ldr r3, _02192134 ; =data_02050f54 + ldr r3, _02192134 ; =gSinCosTable add r0, sp, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -2518,7 +2518,7 @@ func_ov46_02192040: ; 0x02192040 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02192130: .word data_ov46_02194464 -_02192134: .word data_02050f54 +_02192134: .word gSinCosTable arm_func_end func_ov46_02192040 .global func_ov46_02192138 @@ -3443,7 +3443,7 @@ func_ov46_02192c90: ; 0x02192c90 mov r5, #0x1000 str r0, [r4, #0x8c] ldr r0, [r4, #0x80] - ldr r3, _02192fb0 ; =data_027e0d0c + ldr r3, _02192fb0 ; =gVec3p_ZERO str r0, [r4, #0x90] ldr r0, [r4, #0x84] ldr r6, _02192fb4 ; =data_ov46_021944a8 @@ -3527,7 +3527,7 @@ func_ov46_02192c90: ; 0x02192c90 mov r6, r0, lsl #0x1 add r5, r6, #1 add r3, r7, #1 - ldr r0, _02192fbc ; =data_02050f54 + ldr r0, _02192fbc ; =gSinCosTable mov r9, r6, lsl #0x1 mov r8, r7, lsl #0x1 mov r7, r5, lsl #0x1 @@ -3628,10 +3628,10 @@ func_ov46_02192c90: ; 0x02192c90 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02192fac: .word data_ov46_0219448c -_02192fb0: .word data_027e0d0c +_02192fb0: .word gVec3p_ZERO _02192fb4: .word data_ov46_021944a8 _02192fb8: .word data_027e0764 -_02192fbc: .word data_02050f54 +_02192fbc: .word gSinCosTable arm_func_end func_ov46_02192c90 .global func_ov46_02192fc0 @@ -3718,7 +3718,7 @@ func_ov46_021930a8: ; 0x021930a8 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x4c] cmp r0, #0x800 ldmgtia sp!, {r4, pc} @@ -3787,7 +3787,7 @@ _02193144: mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r5, r0, lsl #0x1 - ldr r2, _0219349c ; =data_02050f54 + ldr r2, _0219349c ; =gSinCosTable ldr r1, [sp, #0x2c] str r6, [r3] str r1, [r3, #4] @@ -3803,19 +3803,19 @@ _02193144: ldrsh r5, [r2, r5] add r0, r0, #1 mov r2, r0, lsl #0x1 - ldr r0, _0219349c ; =data_02050f54 + ldr r0, _0219349c ; =gSinCosTable mov r1, r1, lsl #0x1 ldrsh lr, [r0, r2] mov r0, r5, asr #0x1f str r0, [sp, #8] - ldr r0, _0219349c ; =data_02050f54 + ldr r0, _0219349c ; =gSinCosTable mov r2, r1, lsl #0x1 ldrsh r0, [r0, r2] mov r2, #0 str r0, [sp, #0x30] add r0, r1, #1 mov r1, r0, lsl #0x1 - ldr r0, _0219349c ; =data_02050f54 + ldr r0, _0219349c ; =gSinCosTable ldrsh ip, [r0, r1] ldr r0, [sp, #0x30] mov r1, #0x800 @@ -3849,7 +3849,7 @@ _02193144: mov r0, r0, lsl #0x1 add r3, r0, #1 mov r6, r3, lsl #0x1 - ldr r3, _0219349c ; =data_02050f54 + ldr r3, _0219349c ; =gSinCosTable ldrsh r10, [r3, r6] ldr r3, [sp, #0x30] smull r7, r6, r3, r5 @@ -3861,7 +3861,7 @@ _02193144: mov r9, r10, asr #0x1f str r3, [sp, #0x18] mov r3, r0, lsl #0x1 - ldr r0, _0219349c ; =data_02050f54 + ldr r0, _0219349c ; =gSinCosTable ldrsh r7, [r0, r3] umull r3, r0, ip, lr adds r3, r3, r1 @@ -3973,7 +3973,7 @@ _02193144: .align 2, 0 _02193494: .word data_ov46_0219449c _02193498: .word data_027e0764 -_0219349c: .word data_02050f54 +_0219349c: .word gSinCosTable arm_func_end func_ov46_021930e0 .global func_ov46_021934a0 @@ -4061,7 +4061,7 @@ func_ov46_02193574: ; 0x02193574 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r3, _02193b14 ; =0x0000019a ldr r1, [r4, #0x60] sub r2, r3, #0x334 @@ -4088,7 +4088,7 @@ func_ov46_02193574: ; 0x02193574 mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 bne _0219367c ldr r0, [r4, #0x158] @@ -4198,7 +4198,7 @@ _02193710: mov r0, r0, lsl #0xf mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 - ldr r2, _02193b28 ; =data_02050f54 + ldr r2, _02193b28 ; =gSinCosTable mov r3, r0, lsl #0x1 mov r0, r3, lsl #0x1 ldrsh r10, [r2, r0] @@ -4413,7 +4413,7 @@ _02193b18: .word data_027e0e58 _02193b1c: .word data_ov22_0217a5d4 _02193b20: .word data_027e0764 _02193b24: .word 0x00004001 -_02193b28: .word data_02050f54 +_02193b28: .word gSinCosTable _02193b2c: .word data_ov34_021861e8 arm_func_end func_ov46_02193574 @@ -4455,7 +4455,7 @@ func_ov46_02193b30: ; 0x02193b30 cmp r0, #2 bne _02193c04 add r0, sp, #8 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #8 str r1, [sp, #0x24] @@ -4622,14 +4622,14 @@ _02193d6c: str r4, [sp, #0x10] str r3, [sp, #0x14] str r4, [sp, #0x18] - bl func_01ff9c68 + bl Vec3p_Cross add r0, sp, #0x28 mov r1, #0xcd bl func_01fffbec add r0, r5, #0x60 add r1, sp, #0x28 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x1c mov r1, #0x800 bl func_01fffbec @@ -4668,11 +4668,11 @@ _02193e80: .word 0x00000ddb .global func_ov46_02193e84 arm_func_start func_ov46_02193e84 func_ov46_02193e84: ; 0x02193e84 - ldr ip, _02193e90 ; =func_01fffcec + ldr ip, _02193e90 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_02193e90: .word func_01fffcec +_02193e90: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov46_02193e84 .global func_ov46_02193e94 @@ -4719,14 +4719,14 @@ _02193ec0: str ip, [sp, #0x10] str r3, [sp, #0x14] str ip, [sp, #0x18] - bl func_01ff9c68 + bl Vec3p_Cross ldr r1, _02193fa8 ; =0x00000333 add r0, sp, #0x28 bl func_01fffbec add r0, r4, #0x60 add r1, sp, #0x28 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x1c mov r1, #0x1000 bl func_01fffbec @@ -4793,11 +4793,11 @@ func_ov46_02194000: ; 0x02194000 add r2, sp, #0x18 add r0, r5, #0x48 add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, sp, #0xc add r0, r5, #0x60 add r1, r6, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [sp, #0x18] ldr r3, [sp, #0x20] smull r0, r2, r1, r1 @@ -4840,23 +4840,23 @@ func_ov46_02194000: ; 0x02194000 _021940cc: add r0, sp, #0x18 add r1, sp, #0 - bl func_01ff9d4c + bl Vec3p_Normalize _021940d8: add r2, r6, #0x48 add r1, sp, #0 rsb r0, r4, #0 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, r5, #0x48 add r1, sp, #0 mov r0, r4 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy mov r2, #0 add r0, sp, #0 add r1, sp, #0xc str r2, [sp, #0x10] - bl func_01ff9c2c + bl Vec3p_Dot add r2, r6, #0x60 mov r4, #0xc00 mov ip, #0 @@ -4871,12 +4871,12 @@ _021940d8: add r1, sp, #0 mov r3, r2 mov r0, r4 - bl func_01ff9e64 + bl Vec3p_Axpy add r2, r5, #0x60 rsb r0, r4, #0 add r1, sp, #0 mov r3, r2 - bl func_01ff9e64 + bl Vec3p_Axpy add sp, sp, #0x24 ldmia sp!, {r4, r5, r6, r7, pc} arm_func_end func_ov46_02194000 @@ -4908,13 +4908,13 @@ _02194184: ldr r3, [r6, #0x50] mov r2, r4 str r3, [sp, #0x24] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #0 str r0, [sp, #0x14] ldr r1, [r6, #0x88] mov r0, r4 sub r8, r1, #0x29 - bl func_01ff9cec + bl Vec3p_Length mov r7, r0 cmp r7, r8 bge _021942d8 @@ -4953,7 +4953,7 @@ _02194264: add r1, r6, #0x48 mov r0, r4 mov r2, r1 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [sp, #0x10] mov r0, #0 mov r1, r1, lsl #0x14 @@ -4963,7 +4963,7 @@ _02194264: mov r1, r1, lsr #0x10 mov r1, r1, asr #0x4 mov r7, r1, lsl #0x1 - ldr r1, _021942f0 ; =data_02050f54 + ldr r1, _021942f0 ; =gSinCosTable mov r2, r7, lsl #0x1 ldrsh r3, [r1, r2] add r1, r1, r7, lsl #1 @@ -4985,7 +4985,7 @@ _021942d8: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _021942ec: .word data_027e0764 -_021942f0: .word data_02050f54 +_021942f0: .word gSinCosTable arm_func_end func_ov46_0219416c .rodata @@ -5461,7 +5461,7 @@ data_ov46_021946b0: ; 0x021946b0 .word func_ov14_02144b64 .global data_ov46_021946b4 data_ov46_021946b4: ; 0x021946b4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov46_021946b8 data_ov46_021946b8: ; 0x021946b8 .word func_ov14_02145100 @@ -5491,10 +5491,10 @@ data_ov46_021946d8: ; 0x021946d8 .word func_ov14_02145974 .global data_ov46_021946dc data_ov46_021946dc: ; 0x021946dc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov46_021946e0 data_ov46_021946e0: ; 0x021946e0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov46_021946e4 data_ov46_021946e4: ; 0x021946e4 .word _ZN5Actor8vfunc_4cEPi @@ -5688,7 +5688,7 @@ data_ov46_021947e0: ; 0x021947e0 .word func_ov14_02144b64 .global data_ov46_021947e4 data_ov46_021947e4: ; 0x021947e4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov46_021947e8 data_ov46_021947e8: ; 0x021947e8 .word func_ov46_0219194c @@ -5718,10 +5718,10 @@ data_ov46_02194808: ; 0x02194808 .word func_ov14_02145974 .global data_ov46_0219480c data_ov46_0219480c: ; 0x0219480c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov46_02194810 data_ov46_02194810: ; 0x02194810 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov46_02194814 data_ov46_02194814: ; 0x02194814 .word _ZN5Actor8vfunc_4cEPi @@ -6011,7 +6011,7 @@ data_ov46_02194988: ; 0x02194988 .word func_ov14_02144b64 .global data_ov46_0219498c data_ov46_0219498c: ; 0x0219498c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov46_02194990 data_ov46_02194990: ; 0x02194990 .word func_ov46_021925c4 @@ -6041,10 +6041,10 @@ data_ov46_021949b0: ; 0x021949b0 .word func_ov14_02145974 .global data_ov46_021949b4 data_ov46_021949b4: ; 0x021949b4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov46_021949b8 data_ov46_021949b8: ; 0x021949b8 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov46_021949bc data_ov46_021949bc: ; 0x021949bc .word _ZN5Actor8vfunc_4cEPi @@ -6300,7 +6300,7 @@ data_ov46_02194b04: ; 0x02194b04 .word _ZN5Actor8vfunc_18Ej .global data_ov46_02194b08 data_ov46_02194b08: ; 0x02194b08 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov46_02194b0c data_ov46_02194b0c: ; 0x02194b0c .word func_ov46_02193018 @@ -6330,7 +6330,7 @@ data_ov46_02194b2c: ; 0x02194b2c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov46_02194b30 data_ov46_02194b30: ; 0x02194b30 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov46_02194b34 data_ov46_02194b34: ; 0x02194b34 .word func_ov46_02193cdc diff --git a/asm/ov47.inc b/asm/ov47.inc index 85980699..67ec7d3c 100644 --- a/asm/ov47.inc +++ b/asm/ov47.inc @@ -1,9 +1,9 @@ #pragma once -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12KillInBoundsEv .extern _ZN5Actor12SetTransformEP9Transform @@ -14,7 +14,7 @@ .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18CollidesWithShieldEP8Cylinder .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1da0EiP5Vec3p .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p @@ -27,14 +27,14 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -62,13 +62,13 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager19GetActiveFairyLevelEi -.extern data_02050f54 +.extern gSinCosTable .extern data_027e0764 .extern data_027e0e58 .extern gMapManager .extern data_027e0f6c -.extern data_027e0f90 -.extern data_027e0f94 +.extern gPlayer +.extern gPlayerPos .extern data_027e0fe0 .extern data_027e0fe8 .extern data_027e0fec @@ -81,18 +81,18 @@ .extern func_01ff8214 .extern func_01ff8690 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c2c -.extern func_01ff9cec -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Dot +.extern Vec3p_Length +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 .extern func_01ffbe78 .extern func_01fffb4c .extern func_01fffbec -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_02018450 .extern func_0201b1bc .extern func_0201e388 @@ -144,7 +144,7 @@ .extern func_ov00_020bf008 .extern func_ov00_020c070c .extern func_ov00_020c0c08 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov47.s b/asm/ov47.s index 6101347c..d895ee1a 100644 --- a/asm/ov47.s +++ b/asm/ov47.s @@ -114,7 +114,7 @@ func_ov47_0219017c: ; 0x0219017c sub sp, sp, #0x30 mov r4, r0 add r0, sp, #4 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -347,7 +347,7 @@ func_ov47_02190380: ; 0x02190380 ldr r0, _0219053c ; =0xfffff666 mov r1, lr mov r2, r3 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0x28] ldr r0, [sp, #0x2c] strh r1, [sp, #8] @@ -650,7 +650,7 @@ func_ov47_02190878: ; 0x02190878 mov r1, #0 str r1, [r0, #0x64] ldrh r3, [r0, #0x78] - ldr ip, _02190900 ; =data_02050f54 + ldr ip, _02190900 ; =gSinCosTable ldr r2, _02190904 ; =0x00000206 mov r3, r3, asr #0x4 mov r3, r3, lsl #0x2 @@ -681,7 +681,7 @@ func_ov47_02190878: ; 0x02190878 str r2, [r0, #0x68] ldmia sp!, {r4, pc} .align 2, 0 -_02190900: .word data_02050f54 +_02190900: .word gSinCosTable _02190904: .word 0x00000206 arm_func_end func_ov47_02190878 @@ -740,7 +740,7 @@ _02190964: str r3, [sp, #0x1c] ldr r3, [r4, #0x68] str r3, [sp, #0x20] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r8, #0x48] add r0, sp, #0x78 str r1, [sp, #0x78] @@ -756,10 +756,10 @@ _02190964: str r3, [sp, #0x10] ldr r3, [r8, #0x68] str r3, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x84 add r1, sp, #0x78 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02190ddc ; =0x00001666 cmp r0, r1 bgt _02190a84 @@ -817,10 +817,10 @@ _02190ab8: mov r2, r0 str r5, [sp, #0x68] str r3, [sp, #0x64] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r4, #0x17c] cmp r0, #0 beq _02190b14 @@ -837,7 +837,7 @@ _02190b14: str r1, [sp, #4] ldr r1, [r4, #0x68] str r1, [sp, #8] - bl func_01ff9cec + bl Vec3p_Length ldr r2, [r4, #0x178] ldr r1, _02190dec ; =0x00002ccc add r0, r2, r0 @@ -897,7 +897,7 @@ _02190bf8: add r0, r4, #0x48 add r1, sp, #0x60 mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r3, [r4, #0xcc] ldr r2, [r4, #0xc4] mov r1, #0 @@ -914,7 +914,7 @@ _02190bf8: bl func_01fffb4c add r0, sp, #0x54 add r1, sp, #0x48 - bl func_01ff9c2c + bl Vec3p_Dot ldr r1, _02190df0 ; =0xfffff266 cmp r0, r1 bge _02190c88 @@ -931,7 +931,7 @@ _02190bf8: _02190c88: add r0, sp, #0x54 add r1, sp, #0x60 - bl func_01ff9c2c + bl Vec3p_Dot add r1, sp, #0x54 mov r5, r0 add r3, sp, #0x3c @@ -947,7 +947,7 @@ _02190c88: mov r0, r3 mov r2, r3 add r1, sp, #0x3c - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x30 bl func_01fffb4c ldr ip, _02190df4 ; =data_027e0764 @@ -1268,7 +1268,7 @@ func_ov47_021910fc: ; 0x021910fc blx func_01ff8214 add r0, r4, #0x100 ldrh r1, [r0, #0x74] - ldr r3, _0219120c ; =data_02050f54 + ldr r3, _0219120c ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -1312,7 +1312,7 @@ func_ov47_021910fc: ; 0x021910fc add sp, sp, #0x78 ldmia sp!, {r4, pc} .align 2, 0 -_0219120c: .word data_02050f54 +_0219120c: .word gSinCosTable _02191210: .word 0x0000099a _02191214: .word data_ov00_020e9370 arm_func_end func_ov47_021910fc @@ -1768,7 +1768,7 @@ func_ov47_02191794: ; 0x02191794 stmdb sp!, {r3, r4, r5, r6, r7, lr} mov r4, r0 ldrh r2, [r4, #0x78] - ldr r3, _02191828 ; =data_02050f54 + ldr r3, _02191828 ; =gSinCosTable ldr r1, _0219182c ; =0x00000666 mov r2, r2, asr #0x4 mov r6, r2, lsl #0x1 @@ -1803,7 +1803,7 @@ func_ov47_02191794: ; 0x02191794 blx r1 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02191828: .word data_02050f54 +_02191828: .word gSinCosTable _0219182c: .word 0x00000666 arm_func_end func_ov47_02191794 @@ -2442,7 +2442,7 @@ _02191fc8: ; jump table _02191fe4: ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r5, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02192310 ; =0xffff8001 @@ -2524,7 +2524,7 @@ _021920f0: _02192110: ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r2, [r5, #0x78] mov r0, r0, lsl #0x10 ldr r1, _02192310 ; =0xffff8001 @@ -2564,7 +2564,7 @@ _02192188: _021921a4: ldr r0, [r4, #4] ldr r1, [r4, #0xc] - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r5, #0x78] mov r0, r0, lsl #0x10 ldr r2, _02192310 ; =0xffff8001 @@ -2676,21 +2676,21 @@ _0219232c: .word 0x524f5045 .global func_ov47_02192330 arm_func_start func_ov47_02192330 func_ov47_02192330: ; 0x02192330 - ldr ip, _0219233c ; =func_01fffcec + ldr ip, _0219233c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_0219233c: .word func_01fffcec +_0219233c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov47_02192330 .global func_ov47_02192340 arm_func_start func_ov47_02192340 func_ov47_02192340: ; 0x02192340 - ldr ip, _0219234c ; =func_01fffcec + ldr ip, _0219234c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_0219234c: .word func_01fffcec +_0219234c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov47_02192340 .global func_ov47_02192350 @@ -3501,7 +3501,7 @@ _02192eb4: mov r1, #1 mov r0, r6 mov r2, r1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii _02192ecc: ldr r0, [r6, #0x130] cmp r0, #1 @@ -3588,7 +3588,7 @@ func_ov47_02192fcc: ; 0x02192fcc stmdb sp!, {r3, r4, r5, r6, r7, lr} ldrh r1, [r1, #0x78] mov r2, #0x800 - ldr r4, _02193054 ; =data_02050f54 + ldr r4, _02193054 ; =gSinCosTable mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 mov r3, r1, lsl #0x1 @@ -3620,7 +3620,7 @@ func_ov47_02192fcc: ; 0x02192fcc strh r2, [r0, #0x54] ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02193054: .word data_02050f54 +_02193054: .word gSinCosTable _02193058: .word 0x00000ee1 arm_func_end func_ov47_02192fcc @@ -3631,14 +3631,14 @@ func_ov47_0219305c: ; 0x0219305c sub sp, sp, #0x44 mov r4, r0 add r0, sp, #0x18 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] str r1, [sp, #0x38] bl func_ov00_020c3348 ldr r0, [r4, #8] - ldr r1, _02193208 ; =data_02050f54 + ldr r1, _02193208 ; =gSinCosTable str r0, [sp, #0x34] ldr r0, [r4, #0xc] mov r3, #2 @@ -3735,7 +3735,7 @@ func_ov47_0219305c: ; 0x0219305c add sp, sp, #0x44 ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02193208: .word data_02050f54 +_02193208: .word gSinCosTable _0219320c: .word 0x00000e3d _02193210: .word func_ov47_02192fcc _02193214: .word data_027e0e58 @@ -4012,7 +4012,7 @@ _02193568: ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} ldr r0, [r4, #0x1c] - ldr r2, _021939c8 ; =data_02050f54 + ldr r2, _021939c8 ; =gSinCosTable ldrh r0, [r0, #0x78] ldr r6, [sp, #0x28] ldr r7, [sp, #0x20] @@ -4101,7 +4101,7 @@ _021936c4: addeq sp, sp, #0x38 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} ldr r2, [r4, #0x1c] - ldr r4, _021939c8 ; =data_02050f54 + ldr r4, _021939c8 ; =gSinCosTable ldrh r0, [r2, #0x78] ldr r1, [r2, #0x48] mov r3, #0x800 @@ -4298,7 +4298,7 @@ _021939b8: .word data_027e0ffc _021939bc: .word 0x0000028d _021939c0: .word data_027e0e58 _021939c4: .word data_ov47_02194218 -_021939c8: .word data_02050f54 +_021939c8: .word gSinCosTable _021939cc: .word 0x000001c3 _021939d0: .word 0x00000293 _021939d4: .word 0x00000292 @@ -4583,7 +4583,7 @@ _02193d18: .word data_027e0e58 func_ov47_02193d1c: ; 0x02193d1c stmdb sp!, {r3, r4, r5, lr} ldrh r2, [r0, #0x78] - ldr r4, _02193de4 ; =data_02050f54 + ldr r4, _02193de4 ; =gSinCosTable mov r1, #0 mov r2, r2, asr #0x4 mov r2, r2, lsl #0x1 @@ -4632,7 +4632,7 @@ func_ov47_02193d1c: ; 0x02193d1c str r3, [r0, #0x6c] ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02193de4: .word data_02050f54 +_02193de4: .word gSinCosTable _02193de8: .word 0x000004cd arm_func_end func_ov47_02193d1c @@ -4645,10 +4645,10 @@ func_ov47_02193dec: ; 0x02193dec add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov47_02193dec @@ -4656,7 +4656,7 @@ func_ov47_02193dec: ; 0x02193dec arm_func_start func_ov47_02193e18 func_ov47_02193e18: ; 0x02193e18 ldrsh r1, [r1, #0x78] - ldr ip, _02193e64 ; =data_02050f54 + ldr ip, _02193e64 ; =gSinCosTable mov r2, #0 sub r1, r1, #0x8000 mov r1, r1, lsl #0x10 @@ -4675,7 +4675,7 @@ func_ov47_02193e18: ; 0x02193e18 strh r1, [r0, #0x54] bx lr .align 2, 0 -_02193e64: .word data_02050f54 +_02193e64: .word gSinCosTable arm_func_end func_ov47_02193e18 .global func_ov47_02193e68 @@ -4788,7 +4788,7 @@ func_ov47_02193f78: ; 0x02193f78 add r1, sp, #0 mov r0, r5 bl _ZN5Actor9GetHitboxEP8Cylinder - ldr r1, _02194104 ; =data_027e0f94 + ldr r1, _02194104 ; =gPlayerPos ldr r0, _02194108 ; =gItemManager ldr r2, [r1, #4] ldr r0, [r0] @@ -4813,13 +4813,13 @@ func_ov47_02193f78: ; 0x02193f78 add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _02194028: - ldr r0, _0219410c ; =data_027e0f90 + ldr r0, _0219410c ; =gPlayer add r1, sp, #0 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _0219407c - ldr r0, _0219410c ; =data_027e0f90 + ldr r0, _0219410c ; =gPlayer ldrb r1, [r5, #0x124] ldr r0, [r0] add r2, r5, #0x60 @@ -4872,9 +4872,9 @@ _021940ec: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02194104: .word data_027e0f94 +_02194104: .word gPlayerPos _02194108: .word gItemManager -_0219410c: .word data_027e0f90 +_0219410c: .word gPlayer arm_func_end func_ov47_02193f78 .global func_ov47_02194110 @@ -5322,7 +5322,7 @@ data_ov47_02194520: ; 0x02194520 .word _ZN5Actor8vfunc_18Ej .global data_ov47_02194524 data_ov47_02194524: ; 0x02194524 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov47_02194528 data_ov47_02194528: ; 0x02194528 .word _ZN5Actor8vfunc_20Ei @@ -5352,10 +5352,10 @@ data_ov47_02194548: ; 0x02194548 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov47_0219454c data_ov47_0219454c: ; 0x0219454c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov47_02194550 data_ov47_02194550: ; 0x02194550 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov47_02194554 data_ov47_02194554: ; 0x02194554 .word _ZN5Actor8vfunc_4cEPi @@ -5463,7 +5463,7 @@ data_ov47_021945dc: ; 0x021945dc .word _ZN5Actor8vfunc_18Ej .global data_ov47_021945e0 data_ov47_021945e0: ; 0x021945e0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov47_021945e4 data_ov47_021945e4: ; 0x021945e4 .word func_ov47_021910fc @@ -5493,10 +5493,10 @@ data_ov47_02194604: ; 0x02194604 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov47_02194608 data_ov47_02194608: ; 0x02194608 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov47_0219460c data_ov47_0219460c: ; 0x0219460c - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov47_02194610 data_ov47_02194610: ; 0x02194610 .word _ZN5Actor8vfunc_4cEPi @@ -5780,7 +5780,7 @@ data_ov47_02194778: ; 0x02194778 .word func_ov00_020cad30 .global data_ov47_0219477c data_ov47_0219477c: ; 0x0219477c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov47_02194780 data_ov47_02194780: ; 0x02194780 .word func_ov00_020cb1c0 @@ -5810,7 +5810,7 @@ data_ov47_021947a0: ; 0x021947a0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov47_021947a4 data_ov47_021947a4: ; 0x021947a4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov47_021947a8 data_ov47_021947a8: ; 0x021947a8 .word func_ov47_02191fac @@ -6121,7 +6121,7 @@ data_ov47_02194934: ; 0x02194934 .word _ZN5Actor8vfunc_18Ej .global data_ov47_02194938 data_ov47_02194938: ; 0x02194938 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov47_0219493c data_ov47_0219493c: ; 0x0219493c .word func_ov47_02194110 @@ -6151,10 +6151,10 @@ data_ov47_0219495c: ; 0x0219495c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov47_02194960 data_ov47_02194960: ; 0x02194960 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov47_02194964 data_ov47_02194964: ; 0x02194964 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov47_02194968 data_ov47_02194968: ; 0x02194968 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov48.inc b/asm/ov48.inc index 83d1fe0e..134ffca2 100644 --- a/asm/ov48.inc +++ b/asm/ov48.inc @@ -1,14 +1,14 @@ #pragma once .extern Divide -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder .extern _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i .extern _ZN10PlayerBase6LookAtEP5Vec3p -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -20,9 +20,9 @@ .extern _ZN5Actor18CollidesWithShieldEP8Cylinder .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1d58Ev -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor18func_ov00_020c3200Ei .extern _ZN5Actor20IncreaseActiveFramesEv @@ -32,7 +32,7 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev @@ -63,12 +63,12 @@ .extern _ZN5Actor9GetHitboxEP8Cylinder .extern _ZN5ActorC2Ev .extern _ZN5ActorD2Ev -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor12XzDistanceToEP5Vec3p @@ -80,9 +80,9 @@ .extern _ZN5Actor18CollidesWithShieldEP8Cylinder .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1d58Ev -.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii +.extern _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor18func_ov00_020c3200Ei .extern _ZN5Actor20IncreaseActiveFramesEv @@ -92,7 +92,7 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev @@ -128,17 +128,17 @@ .extern _ZNK11ItemManager19GetActiveFairyLevelEi .extern _ZTV11FilterActor .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_027e0764 .extern data_027e0d38 .extern data_027e0e58 .extern data_027e0e5c .extern gMapManager -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac +.extern gPlayer +.extern gPlayerPos +.extern gPlayerAngle .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ffc @@ -146,15 +146,15 @@ .extern func_01ff81f8 .extern func_01ff8214 .extern func_01ff992c -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9c68 -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Cross +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Atan2 .extern func_01ffbf5c -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_02002c14 .extern func_02016fe8 .extern func_020197bc @@ -206,7 +206,7 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov48.s b/asm/ov48.s index ab91b4a8..30cbdffc 100644 --- a/asm/ov48.s +++ b/asm/ov48.s @@ -770,24 +770,24 @@ func_ov48_021908ac: ; 0x021908ac addeq sp, sp, #0x1c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} - ldr r0, _0219093c ; =data_027e0f94 + ldr r0, _0219093c ; =gPlayerPos add r2, sp, #0x10 add r1, r5, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub add r1, sp, #0 mov r0, r5 bl _ZN5Actor9GetHitboxEP8Cylinder - ldr r0, _02190940 ; =data_027e0f90 + ldr r0, _02190940 ; =gPlayer ldr r2, _02190944 ; =0x000004cd ldr r0, [r0] add r1, sp, #0 str r2, [sp, #0xc] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 addeq sp, sp, #0x1c moveq r0, #0 ldmeqia sp!, {r4, r5, pc} - ldr r0, _02190940 ; =data_027e0f90 + ldr r0, _02190940 ; =gPlayer ldrb r1, [r5, #0x124] ldr r0, [r0] add r2, sp, #0x10 @@ -798,8 +798,8 @@ func_ov48_021908ac: ; 0x021908ac add sp, sp, #0x1c ldmia sp!, {r4, r5, pc} .align 2, 0 -_0219093c: .word data_027e0f94 -_02190940: .word data_027e0f90 +_0219093c: .word gPlayerPos +_02190940: .word gPlayer _02190944: .word 0x000004cd arm_func_end func_ov48_021908ac @@ -1330,7 +1330,7 @@ func_ov48_02190e80: ; 0x02190e80 mov r1, #0 str r1, [r4, r0] add r0, sp, #0x1c - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x38] @@ -1356,7 +1356,7 @@ func_ov48_02190e80: ; 0x02190e80 ldr r0, [r0] add r3, sp, #0x1c blx func_ov00_020c4048 - ldr r0, _02190f68 ; =data_027e0fe4 + ldr r0, _02190f68 ; =gActorManager add r1, sp, #4 ldr r0, [r0] blx _ZN12ActorManager8GetActorEP8ActorRef @@ -1396,7 +1396,7 @@ _02190f58: .word data_ov48_02194d50 _02190f5c: .word 0x00000534 _02190f60: .word 0x424d5345 _02190f64: .word data_027e0fe8 -_02190f68: .word data_027e0fe4 +_02190f68: .word gActorManager thumb_func_end func_ov48_02190e80 .global func_ov48_02190f6c @@ -1429,7 +1429,7 @@ func_ov48_02190f6c: ; 0x02190f6c add r4, r5, #1 ldr r2, [ip, #0x500] ldr r1, [sp, #0x10] - ldr r0, _02191118 ; =data_02050f54 + ldr r0, _02191118 ; =gSinCosTable add r1, r2, r1 str r1, [ip, #0x500] mov r5, r5, lsl #0x1 @@ -1512,7 +1512,7 @@ _021910d8: ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 _02191114: .word data_ov48_0219467c -_02191118: .word data_02050f54 +_02191118: .word gSinCosTable arm_func_end func_ov48_02190f6c .global func_ov48_0219111c @@ -1770,11 +1770,11 @@ _02191464: .word 0x524f5045 .global func_ov48_02191468 arm_func_start func_ov48_02191468 func_ov48_02191468: ; 0x02191468 - ldr ip, _02191474 ; =func_01fffcec + ldr ip, _02191474 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #0 bx ip .align 2, 0 -_02191474: .word func_01fffcec +_02191474: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov48_02191468 .global func_ov48_02191478 @@ -1796,7 +1796,7 @@ func_ov48_02191478: ; 0x02191478 mov r1, #0 ldr r0, [r4, #0x530] mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _021915f8 ldr r2, [r4, #0x530] @@ -1837,7 +1837,7 @@ func_ov48_02191478: ; 0x02191478 add r0, r0, #0x400 bl func_ov00_020c71fc ldr r0, [r4, #0x4fc] - ldr r6, _02191c04 ; =data_02050f54 + ldr r6, _02191c04 ; =gSinCosTable str r0, [sp, #0x90] ldr r0, [r4, #0x500] add r2, sp, #0x90 @@ -1859,7 +1859,7 @@ func_ov48_02191478: ; 0x02191478 str ip, [sp, #0x84] str r7, [sp, #0x88] str r6, [sp, #0x8c] - bl func_01ff9e64 + bl Vec3p_Axpy ldrsh r1, [r5, #0x78] add r0, sp, #0x90 sub r3, sp, #8 @@ -1929,7 +1929,7 @@ _02191694: ldrnesh r1, [r0, #0xf8] subne r1, r1, #0xb6 strh r1, [r0, #0xf8] - ldr r0, _02191c0c ; =data_027e0f94 + ldr r0, _02191c0c ; =gPlayerPos ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r4 @@ -1951,7 +1951,7 @@ _02191694: add r0, r4, #0x400 ldrsh r5, [r0, #0xf8] ldrsh r0, [r4, #0x78] - ldr r3, _02191c04 ; =data_02050f54 + ldr r3, _02191c04 ; =gSinCosTable add r1, sp, #0x5c add r0, r5, r0 mov r0, r0, lsl #0x10 @@ -1979,7 +1979,7 @@ _02191694: str r5, [sp, #0x4c] str r0, [sp, #0x48] ldr r0, [r4, #0x518] - bl func_01ff9e64 + bl Vec3p_Axpy ldr r3, _02191c14 ; =data_ov48_0219542c ldr r1, [sp, #0x48] ldr r0, [r3, #0x2c] @@ -2071,8 +2071,8 @@ _021918a4: add r1, sp, #0x5c add r3, sp, #0x38 add r2, r4, #0x48 - bl func_01ff9e64 - ldr r0, _02191c38 ; =data_027e0f90 + bl Vec3p_Axpy + ldr r0, _02191c38 ; =gPlayer ldr r3, _02191c2c ; =0x00000333 ldr r0, [r0] add r1, sp, #0x44 @@ -2080,7 +2080,7 @@ _021918a4: bl _ZN10PlayerBase18func_ov00_020a7c60EP5Vec3pS1_i cmp r0, #0 beq _02191964 - ldr r1, _02191c3c ; =data_027e0fac + ldr r1, _02191c3c ; =gPlayerAngle mov r0, r4 ldrsh r6, [r1] bl _ZN5Actor14GetAngleToLinkEv @@ -2093,7 +2093,7 @@ _021918a4: mov r1, #0xf9 mov r3, #0 bl func_ov00_020c070c - ldr r0, _02191c38 ; =data_027e0f90 + ldr r0, _02191c38 ; =gPlayer add r1, r4, #0x48 ldr r0, [r0] bl _ZN10PlayerBase6LookAtEP5Vec3p @@ -2116,13 +2116,13 @@ _02191984: add r1, sp, #0x5c add r3, sp, #0x38 add r2, r4, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy cmp r5, #0 bne _021919dc add r0, sp, #0x78 add r2, sp, #0x50 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x50 str r0, [sp] ldrb r0, [r4, #0x124] @@ -2133,7 +2133,7 @@ _02191984: mov r0, r4 rsb r3, r5, #0x334 str r5, [sp, #8] - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi _021919dc: mov r0, #1 strb r0, [r4, #0x514] @@ -2284,9 +2284,9 @@ _02191be4: ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02191c00: .word 0x41525257 -_02191c04: .word data_02050f54 +_02191c04: .word gSinCosTable _02191c08: .word 0xfffffccd -_02191c0c: .word data_027e0f94 +_02191c0c: .word gPlayerPos _02191c10: .word 0x00000666 _02191c14: .word data_ov48_0219542c _02191c18: .word data_ov00_020e892c @@ -2297,8 +2297,8 @@ _02191c28: .word 0x0000ffff _02191c2c: .word 0x00000333 _02191c30: .word gMapManager _02191c34: .word gItemManager -_02191c38: .word data_027e0f90 -_02191c3c: .word data_027e0fac +_02191c38: .word gPlayer +_02191c3c: .word gPlayerAngle _02191c40: .word 0x00000b33 _02191c44: .word data_027e0e58 _02191c48: .word data_027e0ffc @@ -2308,11 +2308,11 @@ _02191c4c: .word 0x00000249 .global func_ov48_02191c50 arm_func_start func_ov48_02191c50 func_ov48_02191c50: ; 0x02191c50 - ldr ip, _02191c5c ; =func_01fffcec + ldr ip, _02191c5c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02191c5c: .word func_01fffcec +_02191c5c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov48_02191c50 .global func_ov48_02191c60 @@ -2339,7 +2339,7 @@ func_ov48_02191c74: ; 0x02191c74 add r0, r4, #0x400 ldrsh r1, [r0, #0xf8] add r0, r4, #0x200 - ldr r3, _02191d44 ; =data_02050f54 + ldr r3, _02191d44 ; =gSinCosTable strh r1, [r0, #0x78] ldrh r1, [r4, #0x78] add r0, sp, #0xc @@ -2382,7 +2382,7 @@ _02191d04: add sp, sp, #0x30 ldmia sp!, {r4, pc} .align 2, 0 -_02191d44: .word data_02050f54 +_02191d44: .word gSinCosTable arm_func_end func_ov48_02191c74 .global func_ov48_02191d48 @@ -2572,7 +2572,7 @@ _02191e9a: str r0, [sp, #4] _02191ed2: add r0, sp, #0x58 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x74] @@ -2595,7 +2595,7 @@ _02191ed2: add r3, sp, #0x58 ldr r0, [r0] blx func_ov00_020c4048 - ldr r0, _02192054 ; =data_027e0fe4 + ldr r0, _02192054 ; =gActorManager add r1, sp, #0x20 ldr r0, [r0] blx _ZN12ActorManager8GetActorEP8ActorRef @@ -2756,7 +2756,7 @@ _02192044: .word 0x000004b4 _02192048: .word 0x000004ac _0219204c: .word 0x54414c42 _02192050: .word data_027e0fe8 -_02192054: .word data_027e0fe4 +_02192054: .word gActorManager _02192058: .word 0x0000052c _0219205c: .word 0x00000666 thumb_func_end func_ov48_02191e10 @@ -2769,14 +2769,14 @@ func_ov48_02192060: ; 0x02192060 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r4 bl func_ov00_020cc3fc mov r0, r4 bl func_ov00_020cc438 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov48_02192060 @@ -2871,7 +2871,7 @@ _021921bc: strh r0, [r4, #0x78] _021921cc: ldrh r0, [r4, #0x78] - ldr r3, _02192304 ; =data_02050f54 + ldr r3, _02192304 ; =gSinCosTable mov r1, #0 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 @@ -2926,11 +2926,11 @@ _021921cc: ldr r0, [r4, #0xc4] ldr r1, [r4, #0xcc] bge _021922b8 - bl func_01ffa0f4 + bl Atan2 strh r0, [r4, #0x78] ldmia sp!, {r4, pc} _021922b8: - bl func_01ffa0f4 + bl Atan2 ldrsh r1, [r4, #0x78] mov r0, r0, lsl #0x10 sub r1, r1, #0x8000 @@ -2950,7 +2950,7 @@ _021922b8: .align 2, 0 _021922fc: .word data_027e0764 _02192300: .word 0xfffff8e4 -_02192304: .word data_02050f54 +_02192304: .word gSinCosTable _02192308: .word 0x0000013f arm_func_end func_ov48_021920f8 @@ -2972,14 +2972,14 @@ _02192324: .word func_ov00_020cd0a8 func_ov48_02192328: ; 0x02192328 ldr ip, _02192344 ; =func_ov00_020cd120 add r0, r0, #0x138 - ldr r1, _02192348 ; =data_027e0f94 + ldr r1, _02192348 ; =gPlayerPos ldr r2, _0219234c ; =0x0000013f ldr r3, _02192350 ; =0x0000071c add r0, r0, #0x400 bx ip .align 2, 0 _02192344: .word func_ov00_020cd120 -_02192348: .word data_027e0f94 +_02192348: .word gPlayerPos _0219234c: .word 0x0000013f _02192350: .word 0x0000071c arm_func_end func_ov48_02192328 @@ -3000,7 +3000,7 @@ func_ov48_02192354: ; 0x02192354 mov r2, r0, lsl #0x1 add r0, r2, #1 mov lr, #0 - ldr r1, _021923dc ; =data_02050f54 + ldr r1, _021923dc ; =gSinCosTable mov r2, r2, lsl #0x1 ldrsh r5, [r1, r2] mov r0, r0, lsl #0x1 @@ -3012,7 +3012,7 @@ func_ov48_02192354: ; 0x02192354 str r5, [sp] str lr, [sp, #4] str ip, [sp, #8] - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x138 ldr r2, _021923e0 ; =0x0000013f ldr r3, _021923e4 ; =0x0000071c @@ -3022,7 +3022,7 @@ func_ov48_02192354: ; 0x02192354 add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021923dc: .word data_02050f54 +_021923dc: .word gSinCosTable _021923e0: .word 0x0000013f _021923e4: .word 0x0000071c arm_func_end func_ov48_02192354 @@ -3132,7 +3132,7 @@ _021924c0: add r2, sp, #0x18 add r0, r0, #0x400 add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r4, #0x4ac] add r0, r4, #0xc4 str r1, [r5, #0x48] @@ -3150,7 +3150,7 @@ _021924c0: str r1, [r5, #0x68] ldr r5, [r4, #0x530] add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r1, [r4, #0x4c4] add r0, r4, #0xdc str r1, [r5, #0x48] @@ -3168,7 +3168,7 @@ _021924c0: str r1, [r5, #0x68] ldr r5, [r4, #0x534] add r1, r5, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [r4, #0x4dc] str r0, [r5, #0x48] ldr r0, [r4, #0x4e0] @@ -3277,7 +3277,7 @@ _02192714: ldr r1, _02193168 ; =0x00000247 add r2, r9, #0x48 bl func_ov00_020cec60 - ldr r0, _0219316c ; =data_027e0f94 + ldr r0, _0219316c ; =gPlayerPos add r3, sp, #0x6c ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} @@ -3323,7 +3323,7 @@ _021927dc: str r7, [r3, r5, lsl #2] cmp r8, #3 blt _021927a4 - ldr r10, _02193170 ; =data_027e0f90 + ldr r10, _02193170 ; =gPlayer mov r6, #0 add r4, sp, #0x44 add r5, sp, #0x60 @@ -3340,7 +3340,7 @@ _02192804: mov r1, #0 mov r0, r8 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 beq _02192b5c _0219283c: @@ -3568,14 +3568,14 @@ _02192b5c: bl _ZN5Actor9GetHitboxEP8Cylinder ldr r0, [r10] mov r1, r4 - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _02192bc4 add r0, sp, #0x6c add r2, sp, #0x38 add r1, r8, #0x48 - bl func_01ff9bf8 - ldr r0, _02193170 ; =data_027e0f90 + bl Vec3p_Sub + ldr r0, _02193170 ; =gPlayer ldrb r1, [r9, #0x124] ldr r0, [r0] add r2, sp, #0x38 @@ -3632,12 +3632,12 @@ _02192c34: mov r0, r6 mov r1, r7 mov r2, r5 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r11 mov r1, r5 mov r2, r7 mov r3, r6 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [r9, #0x340] ldr r0, [r9, #0x338] add r0, r1, r0 @@ -3723,7 +3723,7 @@ _02192da4: mov r2, r4 add r0, r10, #0x400 add r1, r9, #0x4d0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #8] cmp r0, #0 ldreq r0, [sp, #0x10] @@ -3731,7 +3731,7 @@ _02192da4: beq _02192e18 mov r0, r4 mov r1, r4 - bl func_01ff9d4c + bl Vec3p_Normalize b _02192e18 _02192de0: add r1, r8, #1 @@ -3739,7 +3739,7 @@ _02192de0: mla r0, r1, r0, r11 mov r1, r6 mov r2, r4 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #8] cmp r0, #0 ldreq r0, [sp, #0x10] @@ -3747,13 +3747,13 @@ _02192de0: beq _02192e18 mov r0, r4 mov r1, r4 - bl func_01ff9d4c + bl Vec3p_Normalize _02192e18: mov r0, r5 mov r1, r4 mov r2, r6 mov r3, r7 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r8, #1 mov r0, r0, lsl #0x10 mov r8, r0, asr #0x10 @@ -3984,8 +3984,8 @@ _02193154: _02193160: .word gItemManager _02193164: .word data_027e0ffc _02193168: .word 0x00000247 -_0219316c: .word data_027e0f94 -_02193170: .word data_027e0f90 +_0219316c: .word gPlayerPos +_02193170: .word gPlayer _02193174: .word 0x00000191 _02193178: .word 0x5342454d _0219317c: .word 0x424d524e @@ -4008,7 +4008,7 @@ func_ov48_0219319c: ; 0x0219319c mov r1, #0x1800 add r8, r0, #0x400 add r0, r10, #0xac - ldr r6, _02193358 ; =data_02050f54 + ldr r6, _02193358 ; =gSinCosTable mov r9, r8 str r1, [sp, #0x84] str r1, [sp, #0x88] @@ -4051,10 +4051,10 @@ _02193240: bne _021932c4 mov r1, r9 add r2, sp, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x54] ldr r1, [sp, #0x5c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -4080,10 +4080,10 @@ _02193240: _021932c4: mov r1, r9 add r2, sp, #0x24 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 mov r0, r0, lsl #0x10 @@ -4117,7 +4117,7 @@ _02193330: add sp, sp, #0x90 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02193358: .word data_02050f54 +_02193358: .word gSinCosTable arm_func_end func_ov48_0219319c .global func_ov48_0219335c @@ -4502,7 +4502,7 @@ func_ov48_02193658: ; 0x02193658 beq _0219389c add r0, r10, #0x100 ldrh r0, [r0, #0x5c] - ldr r2, _02193f28 ; =data_02050f54 + ldr r2, _02193f28 ; =gSinCosTable add r5, r10, #0x16c mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 @@ -4549,7 +4549,7 @@ _02193758: mov r3, r5 mov r0, r0, lsl #0xb add r2, r10, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0xb0] ldr r0, [r11] add r1, r1, #0x800 @@ -4588,7 +4588,7 @@ _021937e8: mov r3, r5 rsb r0, r0, #0 add r2, r10, #0x48 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0xb0] ldr r0, [r11] add r1, r1, #0x800 @@ -4669,7 +4669,7 @@ _02193910: str r0, [sp, #0x10] _02193924: ldr r0, [sp, #0x10] - ldr r1, _02193f28 ; =data_02050f54 + ldr r1, _02193f28 ; =gSinCosTable mov r0, r0, lsl #0x10 mov r0, r0, lsr #0x10 mov r0, r0, asr #0x4 @@ -4724,12 +4724,12 @@ _02193924: str r5, [sp, #4] str r2, [sp, #8] add r2, r10, #0x1cc - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi ldr r0, [r10, #0x158] cmp r0, #1 bne _02193b5c ldr r0, [r10, #0x48] - ldr r6, _02193f28 ; =data_02050f54 + ldr r6, _02193f28 ; =gSinCosTable str r0, [r10, #0x1d8] ldr r0, [r10, #0x4c] mov r5, #0 @@ -4809,7 +4809,7 @@ _02193924: ldr r3, _02193f30 ; =0x000004cd add r1, r10, #0x48 add r2, r10, #0x1d8 - bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_ii + bl _ZN5Actor18func_ov00_020c1f5cEP5Vec3pS1_iS1_hi _02193b5c: ldr r0, _02193f34 ; =data_ov48_02194688 add r3, sp, #0x94 @@ -4818,7 +4818,7 @@ _02193b5c: mov r0, r10 mov r1, r3 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ mov r2, #0 add r1, sp, #0x258 mvn r3, #0 @@ -4847,16 +4847,16 @@ _02193bd4: add r6, r6, #8 cmp r6, r0 blo _02193bd4 - ldr r0, _02193f40 ; =data_027e0fe4 + ldr r0, _02193f40 ; =gActorManager add r1, sp, #0x224 ldr r0, [r0] add r2, sp, #0x198 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0x1a0] mov r5, #0 cmp r0, #0 ble _02193d10 - ldr r11, _02193f40 ; =data_027e0fe4 + ldr r11, _02193f40 ; =gActorManager mov r9, r5 add r4, sp, #0x84 _02193c18: @@ -4954,11 +4954,11 @@ _02193d68: add r6, r6, #8 cmp r6, r0 blo _02193d68 - ldr r0, _02193f40 ; =data_027e0fe4 + ldr r0, _02193f40 ; =gActorManager add r1, sp, #0x150 ldr r0, [r0] add r2, sp, #0xc4 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, [sp, #0xcc] mov r5, #0 cmp r0, #0 @@ -4967,7 +4967,7 @@ _02193d68: add r4, sp, #0x74 mov r11, #1 _02193dac: - ldr r0, _02193f40 ; =data_027e0fe4 + ldr r0, _02193f40 ; =gActorManager ldr r1, [sp, #0xc4] ldr r0, [r0] add r1, r1, r9 @@ -5072,13 +5072,13 @@ _02193f10: add sp, sp, #0x26c ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02193f28: .word data_02050f54 +_02193f28: .word gSinCosTable _02193f2c: .word data_027e0e58 _02193f30: .word 0x000004cd _02193f34: .word data_ov48_02194688 _02193f38: .word _ZTV11FilterActor _02193f3c: .word 0x424f4d42 -_02193f40: .word data_027e0fe4 +_02193f40: .word gActorManager _02193f44: .word 0x424d5459 arm_func_end func_ov48_02193658 @@ -5376,7 +5376,7 @@ func_ov48_02194250: ; 0x02194250 cmp r0, r1 ldmneia sp!, {r3, r4, r5, pc} ldr r1, [r4, #0xb4] - ldr r3, _021942d0 ; =data_02050f54 + ldr r3, _021942d0 ; =gSinCosTable ldr r0, [r1] bic r0, r0, #2 str r0, [r1] @@ -5394,7 +5394,7 @@ func_ov48_02194250: ; 0x02194250 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021942cc: .word data_ov48_02194694 -_021942d0: .word data_02050f54 +_021942d0: .word gSinCosTable arm_func_end func_ov48_02194250 .global func_ov48_021942d4 @@ -5594,10 +5594,10 @@ func_ov48_0219451c: ; 0x0219451c mov r0, r2 add r2, sp, #0x24 mov r4, r1 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x24 add r1, sp, #0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, [sp] ldr r6, [sp, #8] rsb r2, r1, #0 @@ -5607,11 +5607,11 @@ func_ov48_0219451c: ; 0x0219451c str r6, [sp, #0x18] str r3, [sp, #0x1c] str r2, [sp, #0x20] - bl func_01ff9d4c + bl Vec3p_Normalize add r0, sp, #0 add r1, sp, #0x18 add r2, sp, #0xc - bl func_01ff9c68 + bl Vec3p_Cross ldr r0, [sp, #0x1c] ldr r1, [sp, #0x18] str r0, [sp, #0x34] @@ -6249,7 +6249,7 @@ data_ov48_02194be0: ; 0x02194be0 .word func_ov00_020cad30 .global data_ov48_02194be4 data_ov48_02194be4: ; 0x02194be4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov48_02194be8 data_ov48_02194be8: ; 0x02194be8 .word func_ov00_020cb1c0 @@ -6279,7 +6279,7 @@ data_ov48_02194c08: ; 0x02194c08 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov48_02194c0c data_ov48_02194c0c: ; 0x02194c0c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov48_02194c10 data_ov48_02194c10: ; 0x02194c10 .word func_ov48_021907f4 @@ -6640,7 +6640,7 @@ data_ov48_02194df0: ; 0x02194df0 .word func_ov00_020cad30 .global data_ov48_02194df4 data_ov48_02194df4: ; 0x02194df4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov48_02194df8 data_ov48_02194df8: ; 0x02194df8 .word func_ov48_02191c74 @@ -6670,7 +6670,7 @@ data_ov48_02194e18: ; 0x02194e18 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov48_02194e1c data_ov48_02194e1c: ; 0x02194e1c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov48_02194e20 data_ov48_02194e20: ; 0x02194e20 .word func_ov48_021912a0 @@ -7008,7 +7008,7 @@ data_ov48_02194fd0: ; 0x02194fd0 .word func_ov00_020cad30 .global data_ov48_02194fd4 data_ov48_02194fd4: ; 0x02194fd4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov48_02194fd8 data_ov48_02194fd8: ; 0x02194fd8 .word func_ov00_020cb1c0 @@ -7038,7 +7038,7 @@ data_ov48_02194ff8: ; 0x02194ff8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov48_02194ffc data_ov48_02194ffc: ; 0x02194ffc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov48_02195000 data_ov48_02195000: ; 0x02195000 .word func_ov00_020caeb4 @@ -7212,7 +7212,7 @@ data_ov48_021950e0: ; 0x021950e0 .word _ZN5Actor8vfunc_18Ej .global data_ov48_021950e4 data_ov48_021950e4: ; 0x021950e4 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov48_021950e8 data_ov48_021950e8: ; 0x021950e8 .word func_ov48_02193f48 @@ -7242,7 +7242,7 @@ data_ov48_02195108: ; 0x02195108 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov48_0219510c data_ov48_0219510c: ; 0x0219510c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov48_02195110 data_ov48_02195110: ; 0x02195110 .word func_ov48_02193644 @@ -7353,7 +7353,7 @@ data_ov48_0219519c: ; 0x0219519c .word _ZN5Actor8vfunc_18Ej .global data_ov48_021951a0 data_ov48_021951a0: ; 0x021951a0 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov48_021951a4 data_ov48_021951a4: ; 0x021951a4 .word _ZN5Actor8vfunc_20Ei @@ -7383,7 +7383,7 @@ data_ov48_021951c4: ; 0x021951c4 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov48_021951c8 data_ov48_021951c8: ; 0x021951c8 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov48_021951cc data_ov48_021951cc: ; 0x021951cc .word func_ov48_02194028 @@ -7494,7 +7494,7 @@ data_ov48_02195258: ; 0x02195258 .word _ZN5Actor8vfunc_18Ej .global data_ov48_0219525c data_ov48_0219525c: ; 0x0219525c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov48_02195260 data_ov48_02195260: ; 0x02195260 .word _ZN5Actor8vfunc_20Ei @@ -7524,7 +7524,7 @@ data_ov48_02195280: ; 0x02195280 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov48_02195284 data_ov48_02195284: ; 0x02195284 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov48_02195288 data_ov48_02195288: ; 0x02195288 .word func_ov48_02194100 diff --git a/asm/ov49.inc b/asm/ov49.inc index b77fe9ce..e74cd81b 100644 --- a/asm/ov49.inc +++ b/asm/ov49.inc @@ -1,7 +1,7 @@ #pragma once .extern Divide .extern _ZN10ActorRupee18func_ov14_0213b5f4EjiP5Vec3pb -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder .extern _ZN11ItemManager10GiveRupeesEsb .extern _ZN11ItemManager10RemoveItemEi .extern _ZN11ItemManager12GetItemModelEj @@ -12,7 +12,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor14DistanceToLinkEv @@ -24,7 +24,7 @@ .extern _ZN5Actor18CollidesWithPlayerEj .extern _ZN5Actor18func_Ov00_020c1bfcEi .extern _ZN5Actor18func_ov00_020c198cEv -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c2c0cEv .extern _ZN5Actor18func_ov00_020c2c70Ev .extern _ZN5Actor18func_ov00_020c313cEj @@ -36,14 +36,14 @@ .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_20Ei .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -72,15 +72,15 @@ .extern _ZN9SysObjectnwEmPjj .extern _ZNK11ItemManager7HasItemEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02052f54 .extern data_027e0764 .extern data_027e0e58 .extern gMapManager .extern data_027e0f64 -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerLink .extern data_027e0fe0 .extern data_027e0fe8 .extern data_027e0fec @@ -95,11 +95,11 @@ .extern func_01ff8214 .extern func_01ff8690 .extern func_01ff9158 -.extern func_01ff9bc4 -.extern func_01ff9ec0 +.extern Vec3p_Add +.extern Vec3p_Distance .extern func_01fffbec .extern func_01fffcd8 -.extern func_01fffd04 +.extern _ZN5Actor13func_01fffd04Ei .extern func_02016fe8 .extern func_02018450 .extern func_02019534 @@ -155,7 +155,7 @@ .extern func_ov00_020b7e6c .extern func_ov00_020bbc68 .extern func_ov00_020bc1c8 -.extern func_ov00_020bc46c +.extern _ZN14PlayerLinkBase19GetCurrentCharacterEv .extern func_ov00_020bc500 .extern func_ov00_020bce48 .extern func_ov00_020bd030 @@ -167,7 +167,7 @@ .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 .extern func_ov00_020c0e24 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov49.s b/asm/ov49.s index e55eb9d2..c2bf1c8a 100644 --- a/asm/ov49.s +++ b/asm/ov49.s @@ -414,7 +414,7 @@ func_ov49_02195930: ; 0x02195930 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0x18] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r4, #0x48] add r0, sp, #0x40 str r1, [sp, #4] @@ -424,7 +424,7 @@ func_ov49_02195930: ; 0x02195930 ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x4c add ip, sp, #0x28 ldmia r0, {r0, r1, r2} @@ -511,7 +511,7 @@ func_ov49_02195b94: ; 0x02195b94 add r0, sp, #0xc str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0xc str r1, [sp, #0x28] @@ -696,7 +696,7 @@ func_ov49_02195e10: ; 0x02195e10 add r2, r4, #0x48 mov r1, #0x308 bl func_ov00_020cec60 - ldr r0, _02195e98 ; =data_027e0f94 + ldr r0, _02195e98 ; =gPlayerPos add ip, sp, #0xc ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} @@ -721,7 +721,7 @@ func_ov49_02195e10: ; 0x02195e10 ldmia sp!, {r4, pc} .align 2, 0 _02195e94: .word data_027e0ffc -_02195e98: .word data_027e0f94 +_02195e98: .word gPlayerPos _02195e9c: .word 0x0000071c arm_func_end func_ov49_02195e10 @@ -774,7 +774,7 @@ func_ov49_02195f1c: ; 0x02195f1c ldmeqia sp!, {r3, r4, pc} mov r1, #0 str r1, [sp] - ldr r0, _02195f84 ; =data_027e0fc8 + ldr r0, _02195f84 ; =gPlayerLink add r2, r4, #8 ldr r0, [r0] mov r1, #0x10 @@ -792,14 +792,14 @@ func_ov49_02195f1c: ; 0x02195f1c add sp, sp, #4 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02195f84: .word data_027e0fc8 +_02195f84: .word gPlayerLink arm_func_end func_ov49_02195f1c .global func_ov49_02195f88 arm_func_start func_ov49_02195f88 func_ov49_02195f88: ; 0x02195f88 stmdb sp!, {r4, lr} - ldr r0, _02195ff4 ; =data_027e0fc8 + ldr r0, _02195ff4 ; =gPlayerLink mov r4, #1 ldr r0, [r0] bl func_ov00_020bc500 @@ -815,7 +815,7 @@ _02195fb8: moveq r4, #0 cmp r4, #0 beq _02195fec - ldr r0, _02195ff4 ; =data_027e0fc8 + ldr r0, _02195ff4 ; =gPlayerLink ldr r0, [r0] ldrh r1, [r0, #0x48] tst r1, #0x10 @@ -829,7 +829,7 @@ _02195fec: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02195ff4: .word data_027e0fc8 +_02195ff4: .word gPlayerLink arm_func_end func_ov49_02195f88 .global func_ov49_02195ff8 @@ -1068,7 +1068,7 @@ _0219632c: add r0, r5, #0x1b4 str r1, [r5, #0x5b4] ldr r1, [r5, #0x4c] - ldr r2, _021965d8 ; =data_027e0fc8 + ldr r2, _021965d8 ; =gPlayerLink str r1, [r5, #0x5b8] ldr r3, [r5, #0x50] add r1, r0, #0x400 @@ -1147,7 +1147,7 @@ _0219641c: add r0, r0, #0x400 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} - ldr r0, _021965d8 ; =data_027e0fc8 + ldr r0, _021965d8 ; =gPlayerLink mov r1, r3 ldr r6, [sp, #0xc] ldr r3, _021965ec ; =0xfffff382 @@ -1247,7 +1247,7 @@ _021965b4: _021965cc: .word data_027e0764 _021965d0: .word data_027e0ffc _021965d4: .word 0x00000303 -_021965d8: .word data_027e0fc8 +_021965d8: .word gPlayerLink _021965dc: .word data_027e103c _021965e0: .word 0x00000305 _021965e4: .word data_027e0e58 @@ -1270,7 +1270,7 @@ func_ov49_021965f4: ; 0x021965f4 movne r0, #0 ldmneia sp!, {r4, pc} _0219661c: - ldr r0, _0219670c ; =data_027e0fc8 + ldr r0, _0219670c ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #0x10 @@ -1337,7 +1337,7 @@ _021966e4: mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_0219670c: .word data_027e0fc8 +_0219670c: .word gPlayerLink arm_func_end func_ov49_021965f4 .global func_ov49_02196710 @@ -1355,7 +1355,7 @@ func_ov49_02196710: ; 0x02196710 cmp r0, #2 cmpne r0, #3 bne _02196788 - ldr r0, _02196fec ; =data_027e0fc8 + ldr r0, _02196fec ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #0x10 @@ -1363,12 +1363,12 @@ func_ov49_02196710: ; 0x02196710 add r1, sp, #0x98 mov r0, r5 bl _ZN5Actor9GetHitboxEP8Cylinder - ldr r0, _02196ff0 ; =data_027e0f90 + ldr r0, _02196ff0 ; =gPlayer ldr r2, _02196ff4 ; =0x00000ccd ldr r0, [r0] add r1, sp, #0x98 str r2, [sp, #0xa4] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _02196788 mov r0, r5 @@ -1453,7 +1453,7 @@ _0219689c: bgt _021968bc add r0, r5, #0x14 add r1, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x8000 ble _02196e34 _021968bc: @@ -1476,7 +1476,7 @@ _021968e4: blt _0219690c add r0, r5, #0x14 add r1, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x2000 ble _02196918 _0219690c: @@ -1492,7 +1492,7 @@ _02196918: _0219692c: add r0, r5, #0x14 add r1, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x200 mov r0, r5 bge _0219695c @@ -1628,7 +1628,7 @@ _02196ac0: ldr r3, [r5, #0x50] mov r2, r0 str r3, [sp, #0x24] - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] ldr r3, [r5, #8] @@ -1643,7 +1643,7 @@ _02196ac0: mov r2, #0 str r1, [sp, #0x74] ldr r1, [r5, #0x50] - ldr r4, _0219700c ; =data_02050f54 + ldr r4, _0219700c ; =gSinCosTable str r1, [sp, #0x78] str r0, [sp, #0x7c] ldrh r3, [r5, #0x78] @@ -1663,10 +1663,10 @@ _02196ac0: add r0, sp, #0x70 add r1, sp, #0x64 mov r2, r0 - bl func_01ff9bc4 - ldr r0, _02196fec ; =data_027e0fc8 + bl Vec3p_Add + ldr r0, _02196fec ; =gPlayerLink ldr r0, [r0] - bl func_ov00_020bc46c + bl _ZN14PlayerLinkBase19GetCurrentCharacterEv cmp r0, #0 movne r4, #1 ldr r0, [r5, #0x138] @@ -1676,10 +1676,10 @@ _02196ac0: cmp r4, #0 beq _02196e34 _02196bec: - ldr r0, _02196ff0 ; =data_027e0f90 + ldr r0, _02196ff0 ; =gPlayer add r1, sp, #0x70 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 beq _02196c54 mov r0, r5 @@ -1687,7 +1687,7 @@ _02196bec: cmp r0, #0 beq _02196c54 mov r1, #0 - ldr r0, _02196fec ; =data_027e0fc8 + ldr r0, _02196fec ; =gPlayerLink str r1, [sp] ldr r0, [r0] add r2, r5, #8 @@ -1720,7 +1720,7 @@ _02196c80: bl func_ov49_021960fc b _02196e34 _02196c90: - ldr r0, _02196fec ; =data_027e0fc8 + ldr r0, _02196fec ; =gPlayerLink add r1, r5, #0x1b4 ldr r0, [r0] add r1, r1, #0x400 @@ -1758,7 +1758,7 @@ _02196d04: ldr r1, _02197014 ; =0x00000306 add r2, r5, #0x48 bl func_ov00_020cec60 - ldr r0, _02196fec ; =data_027e0fc8 + ldr r0, _02196fec ; =gPlayerLink add r1, r5, #0x1b4 ldr r0, [r0] add r1, r1, #0x400 @@ -1768,7 +1768,7 @@ _02196d04: ldrb r0, [r5, #0x5cd] cmp r0, #0 bne _02196d5c - ldr r0, _02196fec ; =data_027e0fc8 + ldr r0, _02196fec ; =gPlayerLink ldr r0, [r0] ldrh r0, [r0, #0x48] tst r0, #0x10 @@ -1879,7 +1879,7 @@ _02196e94: ldr r3, [r5, #0x50] mov r2, r0 str r3, [sp, #0x18] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, [r5, #0x48] add r0, sp, #0x4c str r1, [sp, #4] @@ -1889,7 +1889,7 @@ _02196e94: ldr r3, [r5, #0x50] mov r2, r0 str r3, [sp, #0xc] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x58 add r4, sp, #0x34 ldmia r0, {r0, r1, r2} @@ -1912,7 +1912,7 @@ _02196e94: mov r0, r0, lsl #0x1 mov r2, r0, lsl #0x1 add r0, r0, #1 - ldr r3, _0219700c ; =data_02050f54 + ldr r3, _0219700c ; =gSinCosTable mov r1, #0 ldrsh r2, [r3, r2] mov r0, r0, lsl #0x1 @@ -1948,15 +1948,15 @@ _02196fe0: add sp, sp, #0xa8 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02196fec: .word data_027e0fc8 -_02196ff0: .word data_027e0f90 +_02196fec: .word gPlayerLink +_02196ff0: .word gPlayer _02196ff4: .word 0x00000ccd _02196ff8: .word 0x00004333 _02196ffc: .word 0x0000071c _02197000: .word data_027e0ffc _02197004: .word 0x00000303 _02197008: .word 0x0000038e -_0219700c: .word data_02050f54 +_0219700c: .word gSinCosTable _02197010: .word 0x00000614 _02197014: .word 0x00000306 _02197018: .word 0x00000307 @@ -2007,7 +2007,7 @@ _021970ac: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _021971c8 ; =data_02050f54 + ldr r2, _021971c8 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -2079,7 +2079,7 @@ _021971bc: add sp, sp, #0x60 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021971c8: .word data_02050f54 +_021971c8: .word gSinCosTable _021971cc: .word 0x0000099a _021971d0: .word data_ov00_020e9370 _021971d4: .word 0xfffff47b @@ -2127,7 +2127,7 @@ _0219725c: str r1, [sp, #0x40] str r1, [sp, #0x44] ldrh r1, [r4, #0x78] - ldr r3, _02197344 ; =data_02050f54 + ldr r3, _02197344 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2154,7 +2154,7 @@ _0219725c: ldr r3, [r4, #0x50] mov r2, r0 str r3, [sp, #8] - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4, #0x130] cmp r0, #6 beq _021972f8 @@ -2185,7 +2185,7 @@ _02197308: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02197340: .word 0x00001333 -_02197344: .word data_02050f54 +_02197344: .word gSinCosTable arm_func_end func_ov49_021971d8 .global func_ov49_02197348 @@ -2643,11 +2643,11 @@ _021978a8: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, r5 mov r1, #0 ldr r4, [r5, #0x64] - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r0, [r5, #0x111] cmp r0, #0 beq _021979e0 @@ -2766,7 +2766,7 @@ _02197a64: add sp, sp, #0x10 ldmia sp!, {r3, r4, r5, pc} _02197a88: - ldr r0, _02197b20 ; =data_027e0fc8 + ldr r0, _02197b20 ; =gPlayerLink ldr r1, [r5, #0x158] ldr r0, [r0] bl func_ov00_020bce48 @@ -2776,7 +2776,7 @@ _02197a88: mov r0, r5 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii mov r0, r5 bl _ZN5Actor4KillEv add sp, sp, #0x10 @@ -2808,7 +2808,7 @@ _02197b10: .word gMapManager _02197b14: .word data_027e0ffc _02197b18: .word 0x000001ab _02197b1c: .word 0xfffffe66 -_02197b20: .word data_027e0fc8 +_02197b20: .word gPlayerLink arm_func_end func_ov49_02197860 .global func_ov49_02197b24 @@ -2874,7 +2874,7 @@ func_ov49_02197b98: ; 0x02197b98 str r3, [sp, #0x74] blx func_01ff81f8 ldrh r1, [r4, #0x78] - ldr r3, _02197c98 ; =data_02050f54 + ldr r3, _02197c98 ; =gSinCosTable add r0, sp, #0x24 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2920,7 +2920,7 @@ func_ov49_02197b98: ; 0x02197b98 .align 2, 0 _02197c90: .word data_02052f54 _02197c94: .word 0x0000199a -_02197c98: .word data_02050f54 +_02197c98: .word gSinCosTable _02197c9c: .word 0x000005f3 _02197ca0: .word data_ov00_020e9370 arm_func_end func_ov49_02197b98 @@ -3101,7 +3101,7 @@ _02197e70: bl _ZN5Actor18func_ov00_020c198cEv cmp r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _02197efc ; =data_027e0fc8 + ldr r0, _02197efc ; =gPlayerLink mov r1, #7 ldr r0, [r0] ldr r2, [r0] @@ -3131,7 +3131,7 @@ _02197ed0: bl func_ov49_02198040 ldmia sp!, {r4, pc} .align 2, 0 -_02197efc: .word data_027e0fc8 +_02197efc: .word gPlayerLink _02197f00: .word gAdventureFlags arm_func_end func_ov49_02197e10 @@ -3268,7 +3268,7 @@ _021980b8: ldr r0, [r0] ldr r0, [r0, #4] bl func_ov00_02088000 - ldr r0, _02198158 ; =data_027e0fc8 + ldr r0, _02198158 ; =gPlayerLink mov r1, #0 ldr r0, [r0] bl func_ov00_020bd030 @@ -3285,17 +3285,17 @@ _021980e0: mov r0, r4 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii b _02198144 _02198114: mvn r3, #0 mov r1, #0 mov r2, #1 str r3, [r4, #0x158] - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii cmp r5, #0 bne _0219813c - ldr r0, _02198158 ; =data_027e0fc8 + ldr r0, _02198158 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd0a8 _0219813c: @@ -3308,7 +3308,7 @@ _02198144: .align 2, 0 _02198150: .word gAdventureFlags _02198154: .word data_027e0f64 -_02198158: .word data_027e0fc8 +_02198158: .word gPlayerLink _0219815c: .word data_ov00_020eec9c _02198160: .word 0x0000048e arm_func_end func_ov49_02198040 @@ -3805,7 +3805,7 @@ data_ov49_02198580: ; 0x02198580 .word func_ov00_020cad30 .global data_ov49_02198584 data_ov49_02198584: ; 0x02198584 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov49_02198588 data_ov49_02198588: ; 0x02198588 .word func_ov00_020cb1c0 @@ -3835,7 +3835,7 @@ data_ov49_021985a8: ; 0x021985a8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov49_021985ac data_ov49_021985ac: ; 0x021985ac - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov49_021985b0 data_ov49_021985b0: ; 0x021985b0 .word func_ov49_021965f4 @@ -4207,7 +4207,7 @@ data_ov49_021987b4: ; 0x021987b4 .word func_ov49_02197b58 .global data_ov49_021987b8 data_ov49_021987b8: ; 0x021987b8 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov49_021987bc data_ov49_021987bc: ; 0x021987bc .word func_ov49_02197b98 @@ -4237,10 +4237,10 @@ data_ov49_021987dc: ; 0x021987dc .word _ZN5Actor15IsHitboxTouchedEb .global data_ov49_021987e0 data_ov49_021987e0: ; 0x021987e0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov49_021987e4 data_ov49_021987e4: ; 0x021987e4 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov49_021987e8 data_ov49_021987e8: ; 0x021987e8 .word _ZN5Actor8vfunc_4cEPi @@ -4348,7 +4348,7 @@ data_ov49_02198870: ; 0x02198870 .word func_ov49_02197f04 .global data_ov49_02198874 data_ov49_02198874: ; 0x02198874 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov49_02198878 data_ov49_02198878: ; 0x02198878 .word _ZN5Actor8vfunc_20Ei @@ -4378,10 +4378,10 @@ data_ov49_02198898: ; 0x02198898 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov49_0219889c data_ov49_0219889c: ; 0x0219889c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov49_021988a0 data_ov49_021988a0: ; 0x021988a0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov49_021988a4 data_ov49_021988a4: ; 0x021988a4 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov50.inc b/asm/ov50.inc index b6644b51..48e7af45 100644 --- a/asm/ov50.inc +++ b/asm/ov50.inc @@ -5,8 +5,8 @@ .extern _ZN10MapManager16MapData_vfunc_78Ev .extern _ZN10MapManager18func_ov00_02083a1cEiPS_P5Vec3p .extern _ZN10MapManager18func_ov00_020840dcEv -.extern _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN10PlayerBase12CollidesWithEP8Cylinder +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager13FindActorByIdEj .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef @@ -17,7 +17,7 @@ .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p .extern _ZN5Actor12ApplyGravityEv -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor14GetAngleToLinkEv @@ -26,7 +26,7 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor16XzDistanceToLinkEv .extern _ZN5Actor18func_Ov00_020c1bfcEi -.extern _ZN5Actor18func_ov00_020c1c20Eiii +.extern _ZN5Actor18func_ov00_020c1c20Eii .extern _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ .extern _ZN5Actor18func_ov00_020c313cEj @@ -37,7 +37,7 @@ .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv @@ -72,19 +72,19 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02054954 .extern data_027e0194 .extern data_027e0764 .extern data_027e0e58 .extern data_027e0f64 .extern data_027e0f6c -.extern data_027e0f90 -.extern data_027e0f94 -.extern data_027e0fac -.extern data_027e0fc8 +.extern gPlayer +.extern gPlayerPos +.extern gPlayerAngle +.extern gPlayerLink .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fec .extern data_027e0ffc .extern data_ov00_020e2dd8 @@ -95,16 +95,16 @@ .extern func_01ff8214 .extern func_01ff8230 .extern func_01ff8690 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ff9ec0 -.extern func_01ffa0f4 -.extern func_01ffec34 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Vec3p_Distance +.extern Atan2 +.extern _ZN8Cylinder8OverlapsEPS_ .extern func_01fffbec -.extern func_01fffd04 +.extern _ZN5Actor13func_01fffd04Ei .extern func_0202b154 .extern func_0202bb78 .extern func_0202bbbc diff --git a/asm/ov50.s b/asm/ov50.s index 02321634..16778493 100644 --- a/asm/ov50.s +++ b/asm/ov50.s @@ -266,7 +266,7 @@ func_ov50_021957b4: ; 0x021957b4 str r5, [sp, #0x14] str r3, [sp, #0x18] str r5, [sp, #0x1c] - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0x38 mov r3, #0x1000 add r1, sp, #8 @@ -274,7 +274,7 @@ func_ov50_021957b4: ; 0x021957b4 str r3, [sp, #0xc] str r5, [sp, #8] str r5, [sp, #0x10] - bl func_01ff9bc4 + bl Vec3p_Add add r0, sp, #0x44 add r5, sp, #0x20 ldmia r0, {r0, r1, r2} @@ -365,7 +365,7 @@ _021959c8: add r0, r6, #0x48 add r1, r6, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, _02195ca8 ; =data_ov50_021989d0 add r1, sp, #0x20 str r0, [sp, #0x20] @@ -373,7 +373,7 @@ _021959c8: str r1, [r6, #0xa0] mov r0, r6 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldrb r1, [r6, #0x110] mov r4, r0 cmp r1, #0 @@ -615,7 +615,7 @@ _02195d2c: cmp r0, #0 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, r5, r6, pc} - ldr r0, _021960a4 ; =data_027e0fc8 + ldr r0, _021960a4 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba00 cmp r0, #0 @@ -724,7 +724,7 @@ _02195eb0: str r2, [sp, #0x24] str r1, [sp, #0x28] str r3, [sp, #0x2c] - bl func_01ff9cec + bl Vec3p_Length movs r4, r0 addeq sp, sp, #0x3c ldmeqia sp!, {r3, r4, r5, r6, pc} @@ -733,11 +733,11 @@ _02195eb0: beq _02195f34 ldr r0, [sp, #0x24] ldr r1, [sp, #0x2c] - bl func_01ffa0f4 + bl Atan2 mov r6, r0, lsl #0x10 ldr r0, [r5, #0xc4] ldr r1, [r5, #0xcc] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, r6, asr #16 @@ -852,7 +852,7 @@ _0219609c: add sp, sp, #0x3c ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 -_021960a4: .word data_027e0fc8 +_021960a4: .word gPlayerLink _021960a8: .word 0x00001333 _021960ac: .word gAdventureFlags _021960b0: .word data_027e0f64 @@ -938,7 +938,7 @@ _02196184: cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r0, _021963e8 ; =data_027e0fc8 + ldr r0, _021963e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba48 add sp, sp, #0xbc @@ -948,7 +948,7 @@ _021961e4: bl _ZN5Actor9IsGrabbedEv cmp r0, #0 beq _02196200 - ldr r0, _021963e8 ; =data_027e0fc8 + ldr r0, _021963e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba48 _02196200: @@ -1010,7 +1010,7 @@ _021962c8: bl _ZN5Actor9IsGrabbedEv cmp r0, #0 beq _021962e4 - ldr r0, _021963e8 ; =data_027e0fc8 + ldr r0, _021963e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba48 _021962e4: @@ -1055,7 +1055,7 @@ _02196358: mov r0, r5 mov r1, #0 mov r2, #1 - bl _ZN5Actor18func_ov00_020c1c20Eiii + bl _ZN5Actor18func_ov00_020c1c20Eii ldrh r0, [r5, #0x20] cmp r0, #1 bne _0219639c @@ -1074,7 +1074,7 @@ _021963ac: cmp r0, #0 addeq sp, sp, #0xbc ldmeqia sp!, {r3, r4, r5, r6, r7, r8, pc} - ldr r0, _021963e8 ; =data_027e0fc8 + ldr r0, _021963e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba48 _021963d4: @@ -1084,7 +1084,7 @@ _021963d4: _021963dc: .word data_027e0ffc _021963e0: .word 0x00000396 _021963e4: .word gMapManager -_021963e8: .word data_027e0fc8 +_021963e8: .word gPlayerLink _021963ec: .word gAdventureFlags arm_func_end func_ov50_021960c8 @@ -1140,7 +1140,7 @@ _02196494: .word data_ov00_020e9370 arm_func_start func_ov50_02196498 func_ov50_02196498: ; 0x02196498 stmdb sp!, {r3, r4, r5, lr} - ldr r2, _021964cc ; =data_027e0fac + ldr r2, _021964cc ; =gPlayerAngle mov r5, r0 ldrsh r0, [r2] mov r4, r1 @@ -1153,7 +1153,7 @@ func_ov50_02196498: ; 0x02196498 bl func_ov14_02148334 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021964cc: .word data_027e0fac +_021964cc: .word gPlayerAngle arm_func_end func_ov50_02196498 .global func_ov50_021964d0 @@ -1207,10 +1207,10 @@ func_ov50_02196508: ; 0x02196508 str r3, [sp] str ip, [sp, #4] str lr, [sp, #8] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r5 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r1, _021965b0 ; =0x0000030a mov r0, r5 bl func_01fffbec @@ -1331,7 +1331,7 @@ func_ov50_02196698: ; 0x02196698 str ip, [sp, #0x18] str r3, [sp, #0x1c] str ip, [sp, #0x20] - bl func_01ff9bf8 + bl Vec3p_Sub mov ip, #0x800 add r0, sp, #0x3c mov r3, #0x1000 @@ -1340,7 +1340,7 @@ func_ov50_02196698: ; 0x02196698 str ip, [sp, #0xc] str r3, [sp, #0x10] str ip, [sp, #0x14] - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _0219683c ; =gMapManager add r0, sp, #8 ldr r1, [r1] @@ -1643,7 +1643,7 @@ _02196b38: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02196c00 ; =data_02050f54 + ldr r2, _02196c00 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -1691,7 +1691,7 @@ _02196bec: ldmia sp!, {r4, pc} .align 2, 0 _02196bfc: .word 0x00000111 -_02196c00: .word data_02050f54 +_02196c00: .word gSinCosTable arm_func_end func_ov50_021969ec .global func_ov50_02196c04 @@ -1730,7 +1730,7 @@ _02196c30: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02196d24 ; =data_02050f54 + ldr r2, _02196d24 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -1758,7 +1758,7 @@ _02196ca0: mov r0, r0, asr #0x4 mov r1, r0, lsl #0x1 add r0, r1, #1 - ldr r2, _02196d24 ; =data_02050f54 + ldr r2, _02196d24 ; =gSinCosTable mov r1, r1, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh r1, [r2, r1] @@ -1774,19 +1774,19 @@ _02196d08: ldmia sp!, {r3, r4, pc} .align 2, 0 _02196d20: .word data_ov50_021989c0 -_02196d24: .word data_02050f54 +_02196d24: .word gSinCosTable arm_func_end func_ov50_02196c04 .global func_ov50_02196d28 arm_func_start func_ov50_02196d28 func_ov50_02196d28: ; 0x02196d28 stmdb sp!, {r4, r5, r6, lr} - ldr r2, _02196d8c ; =data_027e0fac + ldr r2, _02196d8c ; =gPlayerAngle mov r6, r0 ldrsh r0, [r2] mov r5, r1 bl func_0202bbbc - ldr r1, _02196d90 ; =data_027e0fc8 + ldr r1, _02196d90 ; =gPlayerLink mov r4, r0 ldr r0, [r1] bl func_ov00_020bba14 @@ -1807,8 +1807,8 @@ _02196d64: str r0, [r6, #0x164] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02196d8c: .word data_027e0fac -_02196d90: .word data_027e0fc8 +_02196d8c: .word gPlayerAngle +_02196d90: .word gPlayerLink arm_func_end func_ov50_02196d28 .global func_ov50_02196d94 @@ -1853,21 +1853,21 @@ func_ov50_02196d94: ; 0x02196d94 add r4, sp, #4 ldmia r0, {r0, r1, r2} stmia r4, {r0, r1, r2} - ldr r0, _02196ed8 ; =data_027e0fe4 + ldr r0, _02196ed8 ; =gActorManager ldr r3, [sp, #0x24] ldr r0, [r0] add r1, sp, #0 add r2, sp, #0x28 str r3, [r4, #0xc] str r11, [sp, #0x14] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList mov r8, r0 cmp r8, #0 mov r9, r7 addle sp, sp, #0x8c ldmleia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r4, _02196edc ; =0x42494752 - ldr r5, _02196ed8 ; =data_027e0fe4 + ldr r5, _02196ed8 ; =gActorManager add r10, sp, #0x34 add r6, sp, #0x74 _02196e74: @@ -1898,7 +1898,7 @@ _02196ebc: ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02196ed4: .word data_ov50_021989f0 -_02196ed8: .word data_027e0fe4 +_02196ed8: .word gActorManager _02196edc: .word 0x42494752 arm_func_end func_ov50_02196d94 @@ -1916,10 +1916,10 @@ func_ov50_02196ee4: ; 0x02196ee4 add r1, sp, #0x18 mov r4, r0 bl _ZN5Actor9GetHitboxEP8Cylinder - ldr r0, _02196f70 ; =data_027e0f90 + ldr r0, _02196f70 ; =gPlayer add r1, sp, #0x18 ldr r0, [r0] - bl _ZN10PlayerBase18func_ov00_020a7c1cEP8Cylinder + bl _ZN10PlayerBase12CollidesWithEP8Cylinder cmp r0, #0 addne sp, sp, #0x28 movne r0, #1 @@ -1930,14 +1930,14 @@ func_ov50_02196ee4: ; 0x02196ee4 add ip, sp, #4 ldmia r0, {r0, r1, r2} stmia ip, {r0, r1, r2} - ldr r0, _02196f78 ; =data_027e0fe4 + ldr r0, _02196f78 ; =gActorManager ldr r3, [sp, #0x24] ldr r0, [r0] add r1, sp, #0 mov r2, #0 str r3, [ip, #0xc] str r4, [sp, #0x14] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 movgt r0, #1 movle r0, #0 @@ -1947,9 +1947,9 @@ func_ov50_02196ee4: ; 0x02196ee4 add sp, sp, #0x28 ldmia sp!, {r4, pc} .align 2, 0 -_02196f70: .word data_027e0f90 +_02196f70: .word gPlayer _02196f74: .word data_ov50_021989f0 -_02196f78: .word data_027e0fe4 +_02196f78: .word gActorManager arm_func_end func_ov50_02196ee4 .global func_ov50_02196f7c @@ -2128,7 +2128,7 @@ func_ov50_021971a4: ; 0x021971a4 bl _ZN5Actor10GetUnk_08cEP8Cylinder add r1, sp, #0 add r0, r4, #4 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -2256,7 +2256,7 @@ _0219729c: ldr r0, _02197450 ; =0xfffff829 mov r1, lr mov r2, r3 - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0x2c] ldr r0, [sp, #0x30] strh r1, [sp, #8] @@ -2364,7 +2364,7 @@ _021974dc: func_ov50_021974e4: ; 0x021974e4 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _0219755c ; =data_027e0fe4 + ldr r1, _0219755c ; =gActorManager mov r4, r0 ldr r0, [r1] mov r1, r2 @@ -2394,7 +2394,7 @@ _02197550: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_0219755c: .word data_027e0fe4 +_0219755c: .word gActorManager _02197560: .word 0x42494752 arm_func_end func_ov50_021974e4 @@ -2649,7 +2649,7 @@ func_ov50_0219782c: ; 0x0219782c bl _ZN5Actor14GetAngleToLinkEv strh r0, [r4, #0x78] ldrh r1, [r4, #0x78] - ldr r3, _021978f8 ; =data_02050f54 + ldr r3, _021978f8 ; =gSinCosTable mov r0, #0 mov r1, r1, asr #0x4 mov r1, r1, lsl #0x1 @@ -2696,7 +2696,7 @@ func_ov50_0219782c: ; 0x0219782c strh r2, [r4, #0x9c] ldmia sp!, {r4, pc} .align 2, 0 -_021978f8: .word data_02050f54 +_021978f8: .word gSinCosTable arm_func_end func_ov50_0219782c .global func_ov50_021978fc @@ -2704,7 +2704,7 @@ _021978f8: .word data_02050f54 func_ov50_021978fc: ; 0x021978fc stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _021979a8 ; =data_027e0f94 + ldr r1, _021979a8 ; =gPlayerPos mov r4, r0 add r3, sp, #0xc ldmia r1, {r0, r1, r2} @@ -2712,12 +2712,12 @@ func_ov50_021978fc: ; 0x021978fc add r2, sp, #0 mov r0, r3 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, r4, #0x60 add r1, sp, #0 mov r3, r2 mov r0, #0x1d - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x60 ldr r2, _021979ac ; =0x00000333 mov r1, #0 @@ -2725,7 +2725,7 @@ func_ov50_021978fc: ; 0x021978fc bl func_0202db30 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r2, _021979b0 ; =0x0000071c @@ -2746,7 +2746,7 @@ func_ov50_021978fc: ; 0x021978fc add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_021979a8: .word data_027e0f94 +_021979a8: .word gPlayerPos _021979ac: .word 0x00000333 _021979b0: .word 0x0000071c arm_func_end func_ov50_021978fc @@ -2756,7 +2756,7 @@ _021979b0: .word 0x0000071c func_ov50_021979b4: ; 0x021979b4 stmdb sp!, {r4, lr} sub sp, sp, #8 - ldr r1, _021979f8 ; =data_027e0fe4 + ldr r1, _021979f8 ; =gActorManager mov r4, r0 ldr r1, [r1] ldr r2, _021979fc ; =0x52555059 @@ -2772,7 +2772,7 @@ func_ov50_021979b4: ; 0x021979b4 add sp, sp, #8 ldmia sp!, {r4, pc} .align 2, 0 -_021979f8: .word data_027e0fe4 +_021979f8: .word gActorManager _021979fc: .word 0x52555059 arm_func_end func_ov50_021979b4 @@ -2781,7 +2781,7 @@ _021979fc: .word 0x52555059 func_ov50_02197a00: ; 0x02197a00 stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _02197ad0 ; =data_027e0fe4 + ldr r1, _02197ad0 ; =gActorManager mov r4, r0 ldr r0, [r1] add r1, r4, #0x31c @@ -2798,12 +2798,12 @@ func_ov50_02197a00: ; 0x02197a00 add r2, sp, #0 mov r0, r3 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub add r2, r4, #0x60 add r1, sp, #0 mov r3, r2 mov r0, #0x29 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x60 ldr r2, _02197ad4 ; =0x00000199 mov r1, #0 @@ -2812,7 +2812,7 @@ func_ov50_02197a00: ; 0x02197a00 _02197a78: ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 ldr r2, _02197ad8 ; =0x00000aab @@ -2833,7 +2833,7 @@ _02197a78: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02197ad0: .word data_027e0fe4 +_02197ad0: .word gActorManager _02197ad4: .word 0x00000199 _02197ad8: .word 0x00000aab arm_func_end func_ov50_02197a00 @@ -2868,7 +2868,7 @@ func_ov50_02197b10: ; 0x02197b10 mov r4, r0 ldr r0, [r4, #0x60] ldr r1, [r4, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r1, r0, asr #0x10 add r0, r4, #0x78 @@ -2884,7 +2884,7 @@ func_ov50_02197b10: ; 0x02197b10 mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 add r1, r0, #1 - ldr r2, _02197c14 ; =data_02050f54 + ldr r2, _02197c14 ; =gSinCosTable mov r0, r0, lsl #0x1 ldrsh r5, [r2, r0] mov r0, #0x14 @@ -2930,7 +2930,7 @@ func_ov50_02197b10: ; 0x02197b10 blx r1 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_02197c14: .word data_02050f54 +_02197c14: .word gSinCosTable _02197c18: .word 0x00000333 arm_func_end func_ov50_02197b10 @@ -2943,7 +2943,7 @@ func_ov50_02197c1c: ; 0x02197c1c mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 add r1, r3, #1 - ldr r2, _02197cb0 ; =data_02050f54 + ldr r2, _02197cb0 ; =gSinCosTable mov r3, r3, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r4, [r2, r3] @@ -2975,7 +2975,7 @@ func_ov50_02197c1c: ; 0x02197c1c strh r1, [r0, #0x9c] ldmia sp!, {r4, r5, r6, pc} .align 2, 0 -_02197cb0: .word data_02050f54 +_02197cb0: .word gSinCosTable arm_func_end func_ov50_02197c1c .global func_ov50_02197cb4 @@ -3245,13 +3245,13 @@ _02197ff8: bl _ZN5Actor18func_ov00_020c1e2cEiP5Vec3p cmp r0, #0 beq _02198130 - ldr r0, _0219857c ; =data_027e0f94 + ldr r0, _0219857c ; =gPlayerPos add r2, sp, #0x2c add r1, r4, #0x54 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x2c] ldr r1, [sp, #0x34] - bl func_01ffa0f4 + bl Atan2 ldr r1, _02198580 ; =data_027e0764 mov r0, r0, lsl #0x10 ldr r3, [r1] @@ -3277,7 +3277,7 @@ _02197ff8: mov r0, r0, asr #0x4 mov r2, r0, lsl #0x1 add r0, r2, #1 - ldr r1, _02198584 ; =data_02050f54 + ldr r1, _02198584 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r0, r0, lsl #0x1 ldrsh lr, [r1, r2] @@ -3300,7 +3300,7 @@ _02197ff8: mov r5, lr, lsr #0xc orr r3, r3, r6, lsl #20 orr r5, r5, r0, lsl #20 - ldr ip, _0219858c ; =data_027e0fc8 + ldr ip, _0219858c ; =gPlayerLink add r2, sp, #0x2c ldr r0, [ip] str r1, [sp, #0x30] @@ -3413,7 +3413,7 @@ _02198258: stmia r3, {r0, r1, r2} ldr r0, [sp, #0x20] ldr r1, [sp, #0x28] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -3436,7 +3436,7 @@ _021982d4: ldr r0, [r4, #0x138] cmp r0, #0x1e blt _02198340 - ldr r1, _02198590 ; =data_027e0fe4 + ldr r1, _02198590 ; =gActorManager ldr r2, _02198594 ; =0x52555059 ldr r1, [r1] add r0, sp, #0 @@ -3446,14 +3446,14 @@ _021982d4: mvn r0, #0 cmp r1, r0 beq _02198340 - ldr r0, _02198590 ; =data_027e0fe4 + ldr r0, _02198590 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef mov r5, r0 add r0, r4, #0x48 add r1, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x800 bge _02198340 mov r0, r5 @@ -3472,7 +3472,7 @@ _02198340: stmia r3, {r0, r1, r2} ldr r0, [sp, #0x14] ldr r1, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -3510,7 +3510,7 @@ _021983c4: stmia r3, {r0, r1, r2} ldr r0, [sp, #8] ldr r1, [sp, #0x10] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r1, r1, asr #0x10 @@ -3616,12 +3616,12 @@ _02198570: add sp, sp, #0x38 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_0219857c: .word data_027e0f94 +_0219857c: .word gPlayerPos _02198580: .word data_027e0764 -_02198584: .word data_02050f54 +_02198584: .word gSinCosTable _02198588: .word 0x0000019a -_0219858c: .word data_027e0fc8 -_02198590: .word data_027e0fe4 +_0219858c: .word gPlayerLink +_02198590: .word gActorManager _02198594: .word 0x52555059 arm_func_end func_ov50_02197fd4 @@ -3639,7 +3639,7 @@ func_ov50_02198598: ; 0x02198598 cmp r1, #6 bne _0219863c ldrh r1, [r4, #0x78] - ldr r3, _02198674 ; =data_02050f54 + ldr r3, _02198674 ; =gSinCosTable add r0, sp, #0x30 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -3686,7 +3686,7 @@ _02198668: add sp, sp, #0x54 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02198674: .word data_02050f54 +_02198674: .word gSinCosTable _02198678: .word data_02054954 arm_func_end func_ov50_02198598 @@ -4083,7 +4083,7 @@ data_ov50_02198a1c: ; 0x02198a1c .word func_ov50_02195cd4 .global data_ov50_02198a20 data_ov50_02198a20: ; 0x02198a20 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov50_02198a24 data_ov50_02198a24: ; 0x02198a24 .word func_ov50_021963f0 @@ -4113,7 +4113,7 @@ data_ov50_02198a44: ; 0x02198a44 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov50_02198a48 data_ov50_02198a48: ; 0x02198a48 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov50_02198a4c data_ov50_02198a4c: ; 0x02198a4c .word func_ov50_021964d0 @@ -4368,7 +4368,7 @@ data_ov50_02198b98: ; 0x02198b98 .word func_ov00_020cad30 .global data_ov50_02198b9c data_ov50_02198b9c: ; 0x02198b9c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov50_02198ba0 data_ov50_02198ba0: ; 0x02198ba0 .word func_ov00_020cb1c0 @@ -4398,7 +4398,7 @@ data_ov50_02198bc0: ; 0x02198bc0 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov50_02198bc4 data_ov50_02198bc4: ; 0x02198bc4 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov50_02198bc8 data_ov50_02198bc8: ; 0x02198bc8 .word func_ov00_020caeb4 diff --git a/asm/ov51.inc b/asm/ov51.inc index 43a42cd2..23131a67 100644 --- a/asm/ov51.inc +++ b/asm/ov51.inc @@ -1,9 +1,9 @@ #pragma once -.extern _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi +.extern _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor15IsHitboxTouchedEb @@ -17,7 +17,7 @@ .extern _ZN5Actor18func_ov00_020c1ef8EP8CylinderP5Vec3pii .extern _ZN5Actor18func_ov00_020c1fc8Ej .extern _ZN5Actor18func_ov00_020c23c4EP8ActorRefPS_ -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor18func_ov00_020c3200Ei .extern _ZN5Actor20IncreaseActiveFramesEv @@ -26,13 +26,13 @@ .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -58,15 +58,15 @@ .extern _ZN5ActorD2Ev .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj -.extern data_02050f54 +.extern gSinCosTable .extern data_027e0764 .extern data_027e0e58 .extern gMapManager .extern data_027e0f6c -.extern data_027e0f90 -.extern data_027e0f94 +.extern gPlayer +.extern gPlayerPos .extern data_027e0fe0 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -80,14 +80,14 @@ .extern func_01ff8214 .extern func_01ff8690 .extern func_01ff9958 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9d4c -.extern func_01ff9e64 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Normalize +.extern Vec3p_Axpy +.extern Atan2 .extern func_01ffe1cc -.extern func_01fffcec -.extern func_01fffd04 +.extern _ZN11ItemManager21GetEquipItemUncheckedEi +.extern _ZN5Actor13func_01fffd04Ei .extern func_02002c14 .extern func_02016fe8 .extern func_020197fc @@ -128,7 +128,7 @@ .extern func_ov00_020c0c08 .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 diff --git a/asm/ov51.s b/asm/ov51.s index 1628f352..4c1ee1ee 100644 --- a/asm/ov51.s +++ b/asm/ov51.s @@ -249,7 +249,7 @@ func_ov51_02195804: ; 0x02195804 sub sp, sp, #0x3c mov r4, r0 add r0, sp, #0x10 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x10 str r1, [sp, #0x2c] @@ -493,14 +493,14 @@ func_ov51_02195b00: ; 0x02195b00 movs r4, r1 mov r5, r0 bne _02195bec - ldr r0, _02195c00 ; =data_027e0f94 + ldr r0, _02195c00 ; =gPlayerPos add r3, sp, #0 ldmia r0, {r0, r1, r2} stmia r3, {r0, r1, r2} mov r0, r3 add r1, r5, #0x48 add r2, r5, #0x60 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 str r1, [r5, #0x64] ldr r0, [r5, #0x60] @@ -515,7 +515,7 @@ func_ov51_02195b00: ; 0x02195b00 _02195b60: add r0, r5, #0x60 mov r1, r0 - bl func_01ff9d4c + bl Vec3p_Normalize ldr r2, [r5, #0x60] ldr r0, _02195c04 ; =0x0000011f mov r1, #0 @@ -555,7 +555,7 @@ _02195bec: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_02195c00: .word data_027e0f94 +_02195c00: .word gPlayerPos _02195c04: .word 0x0000011f arm_func_end func_ov51_02195b00 @@ -597,11 +597,11 @@ _02195c68: .global func_ov51_02195c70 arm_func_start func_ov51_02195c70 func_ov51_02195c70: ; 0x02195c70 - ldr ip, _02195c7c ; =func_01fffcec + ldr ip, _02195c7c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #1 bx ip .align 2, 0 -_02195c7c: .word func_01fffcec +_02195c7c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov51_02195c70 .global func_ov51_02195c80 @@ -628,8 +628,8 @@ func_ov51_02195c80: ; 0x02195c80 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 - ldr r0, _02195e98 ; =data_027e0fe4 + bl Vec3p_Add + ldr r0, _02195e98 ; =gActorManager add r1, r5, #0x34 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -653,7 +653,7 @@ _02195d14: mov r1, #0 mov r0, r5 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ cmp r0, #0 bne _02195e80 mov r0, r5 @@ -733,7 +733,7 @@ _02195e48: mov r0, r5 bge _02195e7c mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei cmp r0, #0 beq _02195e80 mov r0, r5 @@ -749,7 +749,7 @@ _02195e80: add sp, sp, #0x18 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_02195e98: .word data_027e0fe4 +_02195e98: .word gActorManager _02195e9c: .word gMapManager arm_func_end func_ov51_02195c80 @@ -1181,7 +1181,7 @@ _02196324: blt _02196324 add r0, r10, #0x6c ldr r11, _021964f8 ; =0x000004cd - ldr r4, _021964fc ; =data_027e0f90 + ldr r4, _021964fc ; =gPlayer mov r8, r10 add r9, r0, #0x400 mov r7, #0 @@ -1189,7 +1189,7 @@ _02196324: add r5, sp, #4 _021963d4: ldr r1, [r8, #0x46c] - ldr r0, _02196500 ; =data_027e0f94 + ldr r0, _02196500 ; =gPlayerPos str r1, [sp, #4] ldr r2, [r8, #0x470] mov r1, r9 @@ -1198,7 +1198,7 @@ _021963d4: mov r2, r6 str r3, [sp, #0xc] str r11, [sp, #0x10] - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, #5 str r0, [sp] ldrb r3, [r10, #0x124] @@ -1209,7 +1209,7 @@ _021963d4: ldr r0, [r4] mov r1, r5 mov r2, #0 - bl _ZN10PlayerBase18EquipItem_vfunc_3cEP8Cylinderi + bl _ZN10PlayerBase17EquipCollidesWithEP8Cylinderi cmp r0, #0 beq _02196450 ldr r0, [r4] @@ -1270,8 +1270,8 @@ _021964e0: .align 2, 0 _021964f4: .word data_027e0e58 _021964f8: .word 0x000004cd -_021964fc: .word data_027e0f90 -_02196500: .word data_027e0f94 +_021964fc: .word gPlayer +_02196500: .word gPlayerPos _02196504: .word data_027e0ffc _02196508: .word 0x00000262 arm_func_end func_ov51_021962b4 @@ -1439,7 +1439,7 @@ func_ov51_021966e4: ; 0x021966e4 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 add r1, r2, #1 - ldr r3, _0219679c ; =data_02050f54 + ldr r3, _0219679c ; =gSinCosTable mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r2, [r3, r2] @@ -1479,7 +1479,7 @@ func_ov51_021966e4: ; 0x021966e4 add sp, sp, #0x10 ldmia sp!, {r4, pc} .align 2, 0 -_0219679c: .word data_02050f54 +_0219679c: .word gSinCosTable _021967a0: .word func_ov51_021966c8 _021967a4: .word data_027e0e58 _021967a8: .word 0x000001c3 @@ -1514,10 +1514,10 @@ func_ov51_021967e8: ; 0x021967e8 mov r0, r1 add r2, sp, #0x18 add r1, r6, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r3, r0, asr #0x10 mov r0, r3, lsl #0x10 @@ -1533,7 +1533,7 @@ func_ov51_021967e8: ; 0x021967e8 mov r3, r0, lsl #0x10 ldmia r2, {r0, r1, r2} stmia r5, {r0, r1, r2} - ldr r0, _0219690c ; =data_02050f54 + ldr r0, _0219690c ; =gSinCosTable ldr r5, [r6, #0x88] mov r2, r3, asr #0x10 str r5, [sp, #8] @@ -1582,7 +1582,7 @@ func_ov51_021967e8: ; 0x021967e8 ldmia sp!, {r4, r5, r6, r7, pc} .align 2, 0 _02196908: .word data_ov51_02198268 -_0219690c: .word data_02050f54 +_0219690c: .word gSinCosTable arm_func_end func_ov51_021967e8 .global func_ov51_02196910 @@ -1659,7 +1659,7 @@ func_ov51_02196924: ; 0x02196924 str r3, [sp, #0x60] ldr r2, [r2, #0x48] str r2, [sp, #0x64] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 sub r0, r0, #0x8000 @@ -1674,7 +1674,7 @@ func_ov51_02196924: ; 0x02196924 ldr r3, [r1, #0x4c] ldr ip, [r5, #0xc] ldr r11, [r5, #4] - ldr r5, _02196b48 ; =data_02050f54 + ldr r5, _02196b48 ; =gSinCosTable add r8, sp, #4 ldmia r0, {r0, r1, r2} mov r6, r7, lsl #0x1 @@ -1737,7 +1737,7 @@ _02196b38: .word func_ov51_02196b4c _02196b3c: .word func_ov51_02196b50 _02196b40: .word data_027e0f6c _02196b44: .word data_ov51_02198274 -_02196b48: .word data_02050f54 +_02196b48: .word gSinCosTable arm_func_end func_ov51_02196924 .global func_ov51_02196b4c @@ -1962,7 +1962,7 @@ func_ov51_02196dc4: ; 0x02196dc4 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldmia sp!, {r4, pc} arm_func_end func_ov51_02196dc4 @@ -1978,7 +1978,7 @@ func_ov51_02196dec: ; 0x02196dec bl func_ov51_02196dc4 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov51_02196dec @@ -1987,7 +1987,7 @@ func_ov51_02196dec: ; 0x02196dec func_ov51_02196e18: ; 0x02196e18 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, lr} sub sp, sp, #0x30 - ldr r1, _02196f00 ; =data_027e0f94 + ldr r1, _02196f00 ; =gPlayerPos add r8, sp, #0x24 mov r10, r0 ldmia r1, {r0, r1, r2} @@ -2046,7 +2046,7 @@ _02196ee0: add sp, sp, #0x30 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02196f00: .word data_027e0f94 +_02196f00: .word gPlayerPos _02196f04: .word gMapManager arm_func_end func_ov51_02196e18 @@ -2135,7 +2135,7 @@ _02197018: bl func_ov51_02196dc4 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} .align 2, 0 _02197030: .word 0x00000199 @@ -2156,7 +2156,7 @@ func_ov51_02197038: ; 0x02197038 bl func_ov51_02196dc4 mov r0, r4 mov r1, #0 - bl func_01fffd04 + bl _ZN5Actor13func_01fffd04Ei ldmia sp!, {r4, pc} arm_func_end func_ov51_02197038 @@ -2201,7 +2201,7 @@ func_ov51_021970a0: ; 0x021970a0 beq _02197260 ldr r0, [r7, #0x60] ldr r1, [r7, #0x68] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 mov r0, r0, asr #0x10 bl func_0202bbbc @@ -2213,7 +2213,7 @@ func_ov51_021970a0: ; 0x021970a0 bl func_ov00_020ccf7c cmp r0, #0 beq _021971e4 - ldr r0, _02197278 ; =data_027e0fe4 + ldr r0, _02197278 ; =gActorManager add r1, sp, #0 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -2225,7 +2225,7 @@ func_ov51_021970a0: ; 0x021970a0 add r2, sp, #0x14 add r0, r6, #0x48 add r1, r7, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r2, [sp, #0x1c] ldr ip, [sp, #0x14] smull r1, r0, r2, r2 @@ -2245,7 +2245,7 @@ func_ov51_021970a0: ; 0x021970a0 ble _021971d8 ldr r0, [sp, #0x14] ldr r1, [sp, #0x1c] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 sub r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 @@ -2284,7 +2284,7 @@ _021971e4: stmia r3, {r0, r1, r2} ldr r0, [sp, #8] ldr r1, [sp, #0x10] - bl func_01ffa0f4 + bl Atan2 mov r0, r0, lsl #0x10 sub r0, r5, r0, asr #16 mov r0, r0, lsl #0x10 @@ -2311,7 +2311,7 @@ _02197260: ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 _02197274: .word 0x4e545250 -_02197278: .word data_027e0fe4 +_02197278: .word gActorManager _0219727c: .word 0x0000019a _02197280: .word 0xffff8001 _02197284: .word 0x00005555 @@ -2417,7 +2417,7 @@ func_ov51_02197314: ; 0x02197314 mov r1, r3 mov r0, r4 mov r2, #0 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ _021973d8: add r0, r4, #0x100 ldrsh r1, [r0, #0xd6] @@ -2637,7 +2637,7 @@ func_ov51_02197690: ; 0x02197690 stmia r3, {r0, r1, r2} add r0, r4, #0x100 ldrh r1, [r0, #0xd0] - ldr r3, _02197750 ; =data_02050f54 + ldr r3, _02197750 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -2671,7 +2671,7 @@ func_ov51_02197690: ; 0x02197690 ldmia sp!, {r4, pc} .align 2, 0 _0219774c: .word data_ov51_0219828c -_02197750: .word data_02050f54 +_02197750: .word gSinCosTable _02197754: .word 0x000004cd _02197758: .word data_ov00_020e9370 arm_func_end func_ov51_02197690 @@ -2987,7 +2987,7 @@ _02197b1c: mov r0, r0, asr #0x4 mov r0, r0, lsl #0x1 mov r3, r0, lsl #0x1 - ldr r2, _02197dc4 ; =data_02050f54 + ldr r2, _02197dc4 ; =gSinCosTable add r0, r0, #1 mov r0, r0, lsl #0x1 ldrsh r6, [r2, r3] @@ -3021,7 +3021,7 @@ _02197bc0: mov r0, r0, asr #0x4 mov r5, r0, lsl #0x1 add r0, r5, #1 - ldr r3, _02197dc4 ; =data_02050f54 + ldr r3, _02197dc4 ; =gSinCosTable mov r5, r5, lsl #0x1 ldrsh r5, [r3, r5] mov r0, r0, lsl #0x1 @@ -3056,7 +3056,7 @@ _02197c48: add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] ldr r3, [r4, #8] @@ -3159,7 +3159,7 @@ _02197da0: bl func_ov00_020ceacc ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02197dc4: .word data_02050f54 +_02197dc4: .word gSinCosTable _02197dc8: .word data_027e0ffc _02197dcc: .word 0x00000206 _02197dd0: .word 0x00000207 @@ -3201,7 +3201,7 @@ func_ov51_02197e08: ; 0x02197e08 str r0, [sp, #0x88] str r0, [sp, #0x8c] ldrh r1, [r4, #0x78] - ldr r3, _02198018 ; =data_02050f54 + ldr r3, _02198018 ; =gSinCosTable add r0, sp, #0x60 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -3213,7 +3213,7 @@ func_ov51_02197e08: ; 0x02197e08 blx func_01ff8214 add r0, r4, #0x100 ldrh r1, [r0, #0xe4] - ldr r3, _02198018 ; =data_02050f54 + ldr r3, _02198018 ; =gSinCosTable add r0, sp, #0x18 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -3280,7 +3280,7 @@ _02197f48: mov r1, r6 mov r2, r7 mov r3, r7 - bl func_01ff9e64 + bl Vec3p_Axpy add r0, r4, #0x158 ldr ip, [r0] mov r1, r11 @@ -3304,7 +3304,7 @@ _02197f94: mov r2, r3 sub r0, r0, #1 mov r0, r0, lsl #0xb - bl func_01ff9e64 + bl Vec3p_Axpy ldr r1, [sp, #0x40] ldr r0, _0219801c ; =0x000004cd sub r1, r1, #0xd7 @@ -3328,7 +3328,7 @@ _02197f94: add sp, sp, #0x90 ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 -_02198018: .word data_02050f54 +_02198018: .word gSinCosTable _0219801c: .word 0x000004cd _02198020: .word data_ov00_020e9370 arm_func_end func_ov51_02197e08 @@ -3446,7 +3446,7 @@ func_ov51_02198184: ; 0x02198184 add r1, sp, #0x1c ldr r2, [r2, #0x20] blx r2 - ldr r0, _02198264 ; =data_027e0f90 + ldr r0, _02198264 ; =gPlayer add r1, sp, #0xc ldr r0, [r0] ldr r2, [r0] @@ -3464,7 +3464,7 @@ func_ov51_02198184: ; 0x02198184 add r1, sp, #0 add r0, sp, #0xc mov r2, r1 - bl func_01ff9bf8 + bl Vec3p_Sub mov r1, #0 str r1, [sp, #4] ldr r0, [r4, #0x74] @@ -3497,7 +3497,7 @@ _0219824c: add sp, sp, #0x34 ldmia sp!, {r3, r4, pc} .align 2, 0 -_02198264: .word data_027e0f90 +_02198264: .word gPlayer arm_func_end func_ov51_02198184 .rodata @@ -3754,7 +3754,7 @@ data_ov51_02198500: ; 0x02198500 .word _ZN5Actor8vfunc_18Ej .global data_ov51_02198504 data_ov51_02198504: ; 0x02198504 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov51_02198508 data_ov51_02198508: ; 0x02198508 .word func_ov51_02195800 @@ -3784,10 +3784,10 @@ data_ov51_02198528: ; 0x02198528 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov51_0219852c data_ov51_0219852c: ; 0x0219852c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov51_02198530 data_ov51_02198530: ; 0x02198530 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov51_02198534 data_ov51_02198534: ; 0x02198534 .word _ZN5Actor8vfunc_4cEPi @@ -3951,7 +3951,7 @@ data_ov51_021985fc: ; 0x021985fc .word _ZN5Actor8vfunc_18Ej .global data_ov51_02198600 data_ov51_02198600: ; 0x02198600 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov51_02198604 data_ov51_02198604: ; 0x02198604 .word func_ov51_02195ea0 @@ -3981,7 +3981,7 @@ data_ov51_02198624: ; 0x02198624 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov51_02198628 data_ov51_02198628: ; 0x02198628 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov51_0219862c data_ov51_0219862c: ; 0x0219862c .word func_ov51_02195c08 @@ -4188,7 +4188,7 @@ data_ov51_02198738: ; 0x02198738 .word func_ov00_020cad30 .global data_ov51_0219873c data_ov51_0219873c: ; 0x0219873c - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov51_02198740 data_ov51_02198740: ; 0x02198740 .word func_ov00_020cb1c0 @@ -4218,7 +4218,7 @@ data_ov51_02198760: ; 0x02198760 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov51_02198764 data_ov51_02198764: ; 0x02198764 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov51_02198768 data_ov51_02198768: ; 0x02198768 .word func_ov00_020caeb4 @@ -4412,7 +4412,7 @@ data_ov51_02198874: ; 0x02198874 .word _ZN5Actor8vfunc_18Ej .global data_ov51_02198878 data_ov51_02198878: ; 0x02198878 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov51_0219887c data_ov51_0219887c: ; 0x0219887c .word func_ov51_02197690 @@ -4442,7 +4442,7 @@ data_ov51_0219889c: ; 0x0219889c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov51_021988a0 data_ov51_021988a0: ; 0x021988a0 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov51_021988a4 data_ov51_021988a4: ; 0x021988a4 .word func_ov51_02197640 @@ -4633,7 +4633,7 @@ data_ov51_02198990: ; 0x02198990 .word _ZN5Actor8vfunc_18Ej .global data_ov51_02198994 data_ov51_02198994: ; 0x02198994 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov51_02198998 data_ov51_02198998: ; 0x02198998 .word func_ov51_02197e08 @@ -4663,10 +4663,10 @@ data_ov51_021989b8: ; 0x021989b8 .word _ZN5Actor15IsHitboxTouchedEb .global data_ov51_021989bc data_ov51_021989bc: ; 0x021989bc - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov51_021989c0 data_ov51_021989c0: ; 0x021989c0 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov51_021989c4 data_ov51_021989c4: ; 0x021989c4 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov52.inc b/asm/ov52.inc index 9b4eb2c7..ee08f6b9 100644 --- a/asm/ov52.inc +++ b/asm/ov52.inc @@ -1,4 +1,7 @@ #pragma once +.extern GiveShipPart +.extern Vec3p_Add +.extern Vec3p_Length .extern _ZN10MapManager18func_ov00_02082b3cEi .extern _ZN10MapManager18func_ov00_020836dcEii .extern _ZN10MapManager18func_ov00_020838e8EjPi @@ -10,10 +13,11 @@ .extern _ZN14AdventureFlags3GetEj .extern _ZN14AdventureFlags3SetEjb .extern _ZN14OverlayManager15LoadIfNotLoadedEjj +.extern _ZN19Actor_UnkStruct_020C1Ev .extern _ZN5Actor10SetUnk_11bEv .extern _ZN5Actor10SetUnk_11cEc .extern _ZN5Actor11SetVelocityEP5Vec3p -.extern _ZN5Actor12CollidesWithEPKS_ +.extern _ZN5Actor12CollidesWithEPS_ .extern _ZN5Actor12GetOffsetPosEP5Vec3p .extern _ZN5Actor12SetTransformEP9Transform .extern _ZN5Actor14DistanceToLinkEv @@ -23,20 +27,20 @@ .extern _ZN5Actor16CollidesWithLinkEv .extern _ZN5Actor18func_ov00_020c1cf8Ev .extern _ZN5Actor18func_ov00_020c1fc8Ej -.extern _ZN5Actor18func_ov00_020c243cEiPi +.extern _ZN5Actor18func_ov00_020c243cEPjPPS_ .extern _ZN5Actor18func_ov00_020c313cEj .extern _ZN5Actor6GetPosEv .extern _ZN5Actor8vfunc_08Ev .extern _ZN5Actor8vfunc_0cEv .extern _ZN5Actor8vfunc_10Ej .extern _ZN5Actor8vfunc_18Ej -.extern _ZN5Actor8vfunc_1cEt +.extern _ZN5Actor8vfunc_1cEPt .extern _ZN5Actor8vfunc_24Ev .extern _ZN5Actor8vfunc_28Ev .extern _ZN5Actor8vfunc_2cEv .extern _ZN5Actor8vfunc_30Ev .extern _ZN5Actor8vfunc_38Ev -.extern _ZN5Actor8vfunc_48Ei +.extern _ZN5Actor8vfunc_48EP9Knockback .extern _ZN5Actor8vfunc_4cEPi .extern _ZN5Actor8vfunc_54Ev .extern _ZN5Actor8vfunc_60Ev @@ -65,7 +69,6 @@ .extern _ZN9SysObjectdlEPv .extern _ZN9SysObjectnwEmPjj .extern __register_global_object -.extern data_02050f54 .extern data_02063e4c .extern data_027e0618 .extern data_027e0764 @@ -75,11 +78,7 @@ .extern data_027e0e58 .extern data_027e0f68 .extern data_027e0f78 -.extern data_027e0fa0 -.extern data_027e0fb8 -.extern data_027e0fc8 .extern data_027e0fe0 -.extern data_027e0fe4 .extern data_027e0fe8 .extern data_027e0fec .extern data_027e0ff8 @@ -93,8 +92,6 @@ .extern data_ov09_0211f5b4 .extern func_01ff80d4 .extern func_01ff8214 -.extern func_01ff9bc4 -.extern func_01ff9cec .extern func_01ffbe34 .extern func_020078f4 .extern func_020196bc @@ -140,7 +137,6 @@ .extern func_ov00_020c0c08 .extern func_ov00_020c0cc8 .extern func_ov00_020c0e04 -.extern func_ov00_020c1500 .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020c4588 @@ -167,7 +163,6 @@ .extern func_ov05_021082e4 .extern func_ov09_0211c724 .extern func_ov09_0211c808 -.extern GiveShipPart .extern func_ov09_0211cac0 .extern func_ov14_021448f4 .extern func_ov14_02144a90 @@ -206,7 +201,12 @@ .extern func_ov14_02145f0c .extern func_ov14_0214a92c .extern func_ov14_0214aa0c +.extern gActorManager .extern gAdventureFlags .extern gMapManager .extern gOverlayManager +.extern gPlayerControl +.extern gPlayerLink +.extern gPlayerVel +.extern gSinCosTable .extern strcpy diff --git a/asm/ov52.s b/asm/ov52.s index 570ffa82..5a1e9c68 100644 --- a/asm/ov52.s +++ b/asm/ov52.s @@ -432,7 +432,7 @@ func_ov52_02195908: ; 0x02195908 ldr r2, _02195a14 ; =0x00000005 mov r1, #2 blx _ZN14OverlayManager15LoadIfNotLoadedEjj - ldr r1, _02195a18 ; =data_027e0fb8 + ldr r1, _02195a18 ; =gPlayerControl mov r2, #0 ldr r3, [r1] ldr r0, _02195a1c ; =data_027e103c @@ -453,7 +453,7 @@ _02195a08: .word gMapManager _02195a0c: .word gOverlayManager _02195a10: .word 0x00000004 _02195a14: .word 0x00000005 -_02195a18: .word data_027e0fb8 +_02195a18: .word gPlayerControl _02195a1c: .word data_027e103c arm_func_end func_ov52_02195908 @@ -508,7 +508,7 @@ _02195a60: ldr r2, _02195b44 ; =0x00000005 mov r1, #2 blx _ZN14OverlayManager15LoadIfNotLoadedEjj - ldr r0, _02195b48 ; =data_027e0fb8 + ldr r0, _02195b48 ; =gPlayerControl mov r1, r4 ldr r3, [r0] ldr r0, _02195b4c ; =data_ov52_02197c6c @@ -536,7 +536,7 @@ _02195b38: .word gMapManager _02195b3c: .word gOverlayManager _02195b40: .word 0x00000004 _02195b44: .word 0x00000005 -_02195b48: .word data_027e0fb8 +_02195b48: .word gPlayerControl _02195b4c: .word data_ov52_02197c6c _02195b50: .word data_ov52_02197c68 _02195b54: .word data_ov52_02197c70 @@ -1482,8 +1482,8 @@ _02196768: _021967ec: mov r0, r5 bl func_ov52_0219699c - ldr r0, _021968a8 ; =data_027e0fa0 - bl func_01ff9cec + ldr r0, _021968a8 ; =gPlayerVel + bl Vec3p_Length ldr r1, _021968ac ; =0x0000019a cmp r0, r1 ble _0219682c @@ -1533,7 +1533,7 @@ _02196890: add sp, sp, #0x20 ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_021968a8: .word data_027e0fa0 +_021968a8: .word gPlayerVel _021968ac: .word 0x0000019a _021968b0: .word 0x0000099a _021968b4: .word data_027e0ff8 @@ -1568,7 +1568,7 @@ func_ov52_021968c4: ; 0x021968c4 add r0, r4, #0x48 add r1, r4, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add add sp, sp, #0xc ldmia sp!, {r3, r4, pc} arm_func_end func_ov52_021968c4 @@ -1634,7 +1634,7 @@ func_ov52_0219699c: ; 0x0219699c mov r1, #0 mov r0, r4 mov r2, r1 - bl _ZN5Actor18func_ov00_020c243cEiPi + bl _ZN5Actor18func_ov00_020c243cEPjPPS_ ldmia sp!, {r4, pc} arm_func_end func_ov52_0219699c @@ -1862,7 +1862,7 @@ func_ov52_02196c4c: ; 0x02196c4c bl func_020196fc ldrh r1, [r4, #0x78] add r0, r4, #0x1bc - ldr r3, _02196d28 ; =data_02050f54 + ldr r3, _02196d28 ; =gSinCosTable mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 mov r1, r2, lsl #0x1 @@ -1882,7 +1882,7 @@ func_ov52_02196c4c: ; 0x02196c4c .align 2, 0 _02196d20: .word data_ov00_020e9360 _02196d24: .word data_027e0f78 -_02196d28: .word data_02050f54 +_02196d28: .word gSinCosTable arm_func_end func_ov52_02196c4c .global func_ov52_02196d2c @@ -2040,7 +2040,7 @@ func_ov52_02196ea8: ; 0x02196ea8 cmp r0, #0 beq _02196f6c add r0, sp, #0x50 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x50 str r1, [sp, #0x6c] @@ -2086,7 +2086,7 @@ _02196fa4: add r0, sp, #0x18 str r1, [sp, #4] str r1, [sp, #8] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x18 str r1, [sp, #0x34] @@ -2114,7 +2114,7 @@ _02196fa4: add r3, sp, #0x18 bl func_ov00_020c4048 mov r1, r0 - ldr r0, _02197084 ; =data_027e0fe4 + ldr r0, _02197084 ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager13FindActorByIdEj cmp r0, #0 @@ -2137,7 +2137,7 @@ _02197074: .word data_027e0fe8 _02197078: .word 0x4d544354 _0219707c: .word 0x00870005 _02197080: .word 0x47524d47 -_02197084: .word data_027e0fe4 +_02197084: .word gActorManager arm_func_end func_ov52_02196ea8 .global func_ov52_02197088 @@ -2201,7 +2201,7 @@ func_ov52_02197118: ; 0x02197118 cmp r0, #0 bne _021971b0 add r0, sp, #0x28 - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #0x28 str r1, [sp, #0x44] @@ -2230,7 +2230,7 @@ func_ov52_02197118: ; 0x02197118 bl func_ov00_020c4048 b _021971d4 _021971b0: - ldr r1, _0219722c ; =data_027e0fe4 + ldr r1, _0219722c ; =gActorManager ldr r2, _02197228 ; =0x47524d47 ldr r1, [r1] add r0, sp, #0xc @@ -2241,7 +2241,7 @@ _021971b0: str r0, [sp, #0x18] _021971d4: ldr r0, [sp, #0x14] - ldr r1, _0219722c ; =data_027e0fe4 + ldr r1, _0219722c ; =gActorManager str r0, [r4, #0x188] ldr r2, [sp, #0x18] add r0, sp, #4 @@ -2263,7 +2263,7 @@ _021971d4: _02197220: .word 0x00870005 _02197224: .word data_027e0fe8 _02197228: .word 0x47524d47 -_0219722c: .word data_027e0fe4 +_0219722c: .word gActorManager _02197230: .word 0x4e415649 arm_func_end func_ov52_02197118 @@ -2312,13 +2312,13 @@ func_ov52_0219726c: ; 0x0219726c cmp r0, #0 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} - ldr r0, _02197308 ; =data_027e0fc8 + ldr r0, _02197308 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 addeq sp, sp, #0xc ldmeqia sp!, {r3, r4, pc} - ldr r0, _02197308 ; =data_027e0fc8 + ldr r0, _02197308 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bd318 cmp r0, #0 @@ -2329,7 +2329,7 @@ func_ov52_0219726c: ; 0x0219726c add sp, sp, #0xc ldmia sp!, {r3, r4, pc} .align 2, 0 -_02197308: .word data_027e0fc8 +_02197308: .word gPlayerLink arm_func_end func_ov52_0219726c .global func_ov52_0219730c @@ -2574,7 +2574,7 @@ _021975fc: mov r0, #1 ldmia sp!, {r4, pc} _02197604: - ldr r0, _02197660 ; =data_027e0fc8 + ldr r0, _02197660 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bc500 cmp r0, #6 @@ -2588,7 +2588,7 @@ _02197604: mov r0, #1 ldmia sp!, {r4, pc} _02197638: - ldr r0, _02197660 ; =data_027e0fc8 + ldr r0, _02197660 ; =gPlayerLink mov r1, #0x2b ldr r0, [r0] bl func_ov00_020bce48 @@ -2600,7 +2600,7 @@ _02197658: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_02197660: .word data_027e0fc8 +_02197660: .word gPlayerLink arm_func_end func_ov52_021975bc .global func_ov52_02197664 @@ -3096,7 +3096,7 @@ data_ov52_02197a6c: ; 0x02197a6c .word _ZN5Actor15IsHitboxTouchedEb .global data_ov52_02197a70 data_ov52_02197a70: ; 0x02197a70 - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov52_02197a74 data_ov52_02197a74: ; 0x02197a74 .word func_ov52_02196978 @@ -3275,7 +3275,7 @@ data_ov52_02197b50: ; 0x02197b50 .word func_ov14_02144b64 .global data_ov52_02197b54 data_ov52_02197b54: ; 0x02197b54 - .word _ZN5Actor8vfunc_1cEt + .word _ZN5Actor8vfunc_1cEPt .global data_ov52_02197b58 data_ov52_02197b58: ; 0x02197b58 .word func_ov14_02145100 @@ -3305,10 +3305,10 @@ data_ov52_02197b78: ; 0x02197b78 .word func_ov14_02145974 .global data_ov52_02197b7c data_ov52_02197b7c: ; 0x02197b7c - .word _ZN5Actor12CollidesWithEPKS_ + .word _ZN5Actor12CollidesWithEPS_ .global data_ov52_02197b80 data_ov52_02197b80: ; 0x02197b80 - .word _ZN5Actor8vfunc_48Ei + .word _ZN5Actor8vfunc_48EP9Knockback .global data_ov52_02197b84 data_ov52_02197b84: ; 0x02197b84 .word _ZN5Actor8vfunc_4cEPi diff --git a/asm/ov53.inc b/asm/ov53.inc index 58bb5851..425505b5 100644 --- a/asm/ov53.inc +++ b/asm/ov53.inc @@ -1,6 +1,6 @@ #pragma once .extern _ZN11ItemManager12GetItemModelEj -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase14GetPlayerAngleEv .extern _ZN13LinkStateBase18func_ov00_020a81fcEv @@ -17,25 +17,25 @@ .extern _ZN5ActorC2Ev .extern _ZN9SysObjectdlEPv .extern __register_global_object -.extern data_02050f54 -.extern data_027e0d0c +.extern gSinCosTable +.extern gVec3p_ZERO .extern data_027e0de4 .extern gMapManager .extern data_027e0f64 -.extern data_027e0f94 -.extern data_027e0fb8 -.extern data_027e0fe4 +.extern gPlayerPos +.extern gPlayerControl +.extern gActorManager .extern data_027e0fe8 .extern data_027e0ffc .extern data_ov00_020ee6f8 .extern data_ov14_02155cfc -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9ec0 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Distance .extern func_01ffa9fc .extern func_01ffbe78 -.extern func_01ffec34 -.extern func_01fffcec +.extern _ZN8Cylinder8OverlapsEPS_ +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_0202b4e4 .extern func_0204f614 .extern func_ov00_0207bb1c @@ -60,7 +60,7 @@ .extern func_ov00_020bece0 .extern func_ov00_020bed7c .extern func_ov00_020bedcc -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020ceacc @@ -73,6 +73,6 @@ .extern func_ov14_021235bc .extern func_ov14_0213d098 .extern func_ov14_0213d0bc -.extern func_ov14_0213d15c +.extern _ZN14EquipBoomerang8GetActorEv .extern func_ov14_0213d1b0 .extern gItemManager diff --git a/asm/ov53.s b/asm/ov53.s index 5feda18d..8afaae36 100644 --- a/asm/ov53.s +++ b/asm/ov53.s @@ -151,7 +151,7 @@ _02198eb8: bl _ZN5Actor9GetHitboxEP8Cylinder ldr r1, [r5, #4] add r0, sp, #0 - bl func_01ffec34 + bl _ZN8Cylinder8OverlapsEPS_ cmp r0, #0 beq _02198f2c mov r0, r4 @@ -237,7 +237,7 @@ _02198fcc: arm_func_start func_ov53_02198fd4 func_ov53_02198fd4: ; 0x02198fd4 stmdb sp!, {r3, lr} - ldr r0, _0219900c ; =data_027e0fe4 + ldr r0, _0219900c ; =gActorManager ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 @@ -251,7 +251,7 @@ func_ov53_02198fd4: ; 0x02198fd4 blx r1 ldmia sp!, {r3, pc} .align 2, 0 -_0219900c: .word data_027e0fe4 +_0219900c: .word gActorManager _02199010: .word 0x46425331 arm_func_end func_ov53_02198fd4 @@ -336,7 +336,7 @@ _021990cc: .word data_ov53_0219a1b0 func_ov53_021990d0: ; 0x021990d0 stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv cmp r0, #0 ldmneia sp!, {r4, pc} mov r0, r4 @@ -380,7 +380,7 @@ _02199138: .word data_ov53_0219a5e4 func_ov53_0219913c: ; 0x0219913c stmdb sp!, {r4, lr} mov r4, r0 - bl func_ov14_0213d15c + bl _ZN14EquipBoomerang8GetActorEv cmp r0, #0 bne _02199158 mov r0, r4 @@ -482,7 +482,7 @@ _02199280: addge sp, sp, #0x2c ldmgeia sp!, {r4, r5, r6, r7, r8, r9, r10, r11, pc} ldr r6, _02199310 ; =data_ov53_0219a5e4 - ldr r8, _02199314 ; =data_027e0fe4 + ldr r8, _02199314 ; =gActorManager add r4, sp, #0x10 add r5, sp, #8 _021992a8: @@ -515,7 +515,7 @@ _02199304: .word data_ov53_0219a580 _02199308: .word data_ov53_0219a5bc _0219930c: .word gMapManager _02199310: .word data_ov53_0219a5e4 -_02199314: .word data_027e0fe4 +_02199314: .word gActorManager arm_func_end func_ov53_021991ec .global func_ov53_02199318 @@ -544,7 +544,7 @@ func_ov53_02199318: ; 0x02199318 _02199368: cmp r5, #0 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _021993d8 ; =data_027e0fb8 + ldr r0, _021993d8 ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x7d] cmp r0, #0 @@ -571,7 +571,7 @@ _02199368: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021993d4: .word data_ov53_0219a180 -_021993d8: .word data_027e0fb8 +_021993d8: .word gPlayerControl _021993dc: .word data_027e0de4 _021993e0: .word func_ov53_02199014 _021993e4: .word func_ov53_02199020 @@ -607,7 +607,7 @@ func_ov53_02199410: ; 0x02199410 add r0, sp, #4 add r1, r1, #0x800 str r1, [sp, #0x34] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r0, #0 str r0, [sp, #0x20] str r0, [sp, #0x24] @@ -664,7 +664,7 @@ func_ov53_021994cc: ; 0x021994cc bl func_ov53_0219902c mov r1, r0 mov r0, r5 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x800 ble _021996cc _02199518: @@ -757,15 +757,15 @@ _02199518: mov r1, ip mov r2, ip str r3, [sp, #0x34] - bl func_01ff9bc4 - ldr r0, _021996f0 ; =data_027e0fe4 + bl Vec3p_Add + ldr r0, _021996f0 ; =gActorManager ldr r1, _021996f4 ; =data_ov53_0219a180 add r2, sp, #0x28 str r2, [r1, #0x468] ldr r0, [r0] ldr r1, _021996f8 ; =data_ov53_0219a5e4 mov r2, #0 - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList ldr r0, _021996e4 ; =data_ov53_0219a580 ldrh r1, [r0, #0x40] ldrh r0, [r0, #0x6c] @@ -788,7 +788,7 @@ _021996e0: .word 0x0000ffff _021996e4: .word data_ov53_0219a580 _021996e8: .word data_ov53_0219a5bc _021996ec: .word gMapManager -_021996f0: .word data_027e0fe4 +_021996f0: .word gActorManager _021996f4: .word data_ov53_0219a180 _021996f8: .word data_ov53_0219a5e4 _021996fc: .word data_027e0ffc @@ -824,8 +824,8 @@ func_ov53_02199730: ; 0x02199730 mov r2, #1 mov r4, r0 bl _ZN13LinkStateBase18func_ov00_020a89bcEii - ldr r1, _02199774 ; =data_027e0d0c - ldr r0, _02199778 ; =data_027e0fb8 + ldr r1, _02199774 ; =gVec3p_ZERO + ldr r0, _02199778 ; =gPlayerControl ldr r2, [r1] str r2, [r4, #0x44] ldr r2, [r1, #4] @@ -837,8 +837,8 @@ func_ov53_02199730: ; 0x02199730 ldmia sp!, {r4, pc} .align 2, 0 _02199770: .word data_ov53_0219a0f4 -_02199774: .word data_027e0d0c -_02199778: .word data_027e0fb8 +_02199774: .word gVec3p_ZERO +_02199778: .word gPlayerControl arm_func_end func_ov53_02199730 .global func_ov53_0219977c @@ -855,7 +855,7 @@ func_ov53_0219977c: ; 0x0219977c ldr r1, [r1, #8] cmp r1, r0 bne _021998b0 - ldr r0, _021999fc ; =data_027e0fb8 + ldr r0, _021999fc ; =gPlayerControl add r1, sp, #0x38 ldr r0, [r0] add r3, r5, #0x44 @@ -882,7 +882,7 @@ _021997ec: bl _ZN13LinkStateBase18func_ov00_020a81fcEv b _02199850 _0219980c: - ldr r0, _021999fc ; =data_027e0fb8 + ldr r0, _021999fc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14IsUntouchedNowEv cmp r0, #0 @@ -908,15 +908,15 @@ _02199850: cmp r0, #0 addeq sp, sp, #0x44 ldmeqia sp!, {r4, r5, pc} - ldr r1, _02199a08 ; =data_027e0f94 + ldr r1, _02199a08 ; =gPlayerPos add r2, sp, #0x2c add r0, r5, #0x44 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _02199a04 ; =data_027e0f64 - ldr r3, _02199a0c ; =data_027e0d0c + ldr r3, _02199a0c ; =gVec3p_ZERO ldr r0, [r0] add r2, sp, #0x2c ldr r0, [r0, #4] @@ -953,7 +953,7 @@ _0219990c: bl _ZN13LinkStateBase18func_ov00_020a8b3cEi cmp r0, #0 beq _02199938 - ldr r0, _021999fc ; =data_027e0fb8 + ldr r0, _021999fc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl20UpdateUsingEquipItemEv mov r0, r5 @@ -983,9 +983,9 @@ _02199938: str r4, [sp] bl func_0202b4e4 add r0, sp, #0x20 - ldr r1, _02199a08 ; =data_027e0f94 + ldr r1, _02199a08 ; =gPlayerPos mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r4 str r0, [sp] add r0, r5, #0x44 @@ -993,15 +993,15 @@ _02199938: mov r2, #0x800 mov r3, #0 bl func_0202b4e4 - ldr r1, _02199a08 ; =data_027e0f94 + ldr r1, _02199a08 ; =gPlayerPos add r0, r5, #0x44 add r2, sp, #0x14 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] ldr r0, _02199a04 ; =data_027e0f64 - ldr r3, _02199a0c ; =data_027e0d0c + ldr r3, _02199a0c ; =gVec3p_ZERO ldr r0, [r0] mov r1, #2 ldr r0, [r0, #4] @@ -1011,21 +1011,21 @@ _02199938: ldmia sp!, {r4, r5, pc} .align 2, 0 _021999f8: .word data_ov53_0219a0ec -_021999fc: .word data_027e0fb8 +_021999fc: .word gPlayerControl _02199a00: .word data_ov53_0219a104 _02199a04: .word data_027e0f64 -_02199a08: .word data_027e0f94 -_02199a0c: .word data_027e0d0c +_02199a08: .word gPlayerPos +_02199a0c: .word gVec3p_ZERO arm_func_end func_ov53_0219977c .global func_ov53_02199a10 arm_func_start func_ov53_02199a10 func_ov53_02199a10: ; 0x02199a10 - ldr ip, _02199a1c ; =func_01fffcec + ldr ip, _02199a1c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #2 bx ip .align 2, 0 -_02199a1c: .word func_01fffcec +_02199a1c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov53_02199a10 .global func_ov53_02199a20 @@ -1151,7 +1151,7 @@ func_ov53_02199b94: ; 0x02199b94 strh r2, [r4, #0x9c] bl func_ov14_0212357c ldrh r1, [r4, #0x78] - ldr r2, _02199c30 ; =data_02050f54 + ldr r2, _02199c30 ; =gSinCosTable mov r0, #0x800 mov r1, r1, asr #0x4 mov ip, r1, lsl #0x1 @@ -1181,7 +1181,7 @@ func_ov53_02199b94: ; 0x02199b94 mov r0, #1 ldmia sp!, {r4, pc} .align 2, 0 -_02199c30: .word data_02050f54 +_02199c30: .word gSinCosTable arm_func_end func_ov53_02199b94 .global func_ov53_02199c34 @@ -1357,7 +1357,7 @@ _02199e50: ble _02199ed4 mov r1, r3 add r0, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _02199f84 ; =0x00000555 cmp r0, r1 ble _02199ed4 diff --git a/asm/ov54.inc b/asm/ov54.inc index c0e3c208..c51d7380 100644 --- a/asm/ov54.inc +++ b/asm/ov54.inc @@ -5,7 +5,7 @@ .extern _ZN10MapManager18func_ov00_02085594Ev .extern _ZN10MapManager18func_ov00_02085a34Eii .extern _ZN11ItemManager12GetItemModelEj -.extern _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList +.extern _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList .extern _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p .extern _ZN12ActorManager8GetActorEP8ActorRef .extern _ZN13LinkStateBase12GetPlayerPosEv @@ -27,22 +27,22 @@ .extern _ZNK11ItemManager16GetEquippedFairyEv .extern _ZNK11ItemManager8GetFairyEi .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_02054654 .extern data_027e0d38 .extern data_027e0e58 .extern gMapManager -.extern data_027e0fb8 +.extern gPlayerControl .extern data_027e0fcc .extern data_027e0fd4 -.extern data_027e0fe4 +.extern gActorManager .extern data_ov00_020eec9c .extern func_01ff8230 -.extern func_01ff9bc4 -.extern func_01ff9cec -.extern func_01ff9ec0 +.extern Vec3p_Add +.extern Vec3p_Length +.extern Vec3p_Distance .extern func_01ffa9fc -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_0202af4c .extern func_ov00_0207c1b0 .extern func_ov00_0207c2e8 diff --git a/asm/ov54.s b/asm/ov54.s index ca62c49b..a73c779c 100644 --- a/asm/ov54.s +++ b/asm/ov54.s @@ -68,10 +68,10 @@ func_ov54_02198d68: ; 0x02198d68 cmp r0, #0 movne r0, #0 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _02198e00 ; =data_027e0fb8 + ldr r0, _02198e00 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14GetFollowActorEv - ldr r1, _02198e00 ; =data_027e0fb8 + ldr r1, _02198e00 ; =gPlayerControl cmp r5, #0 ldr r1, [r1] ldr r1, [r1, #0xa0] @@ -100,7 +100,7 @@ _02198dec: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _02198dfc: .word data_027e0fd4 -_02198e00: .word data_027e0fb8 +_02198e00: .word gPlayerControl arm_func_end func_ov54_02198d68 .global func_ov54_02198e04 @@ -275,7 +275,7 @@ _02198fcc: add r0, sp, #0x24 sub r1, r2, r1 str r1, [sp, #0x2c] - bl func_01ff9cec + bl Vec3p_Length ldr r1, _02199294 ; =0x00000333 cmp r0, r1 movle r6, #1 @@ -287,7 +287,7 @@ _02198fcc: bl _ZN13LinkStateBase12GetPlayerPosEv mov r1, r0 add r0, r7, #0x38 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 bge _021991f8 _02199050: @@ -301,7 +301,7 @@ _02199050: cmpeq r6, #0 bne _021990c4 ldr r1, _02199298 ; =data_ov54_02199a00 - ldr r0, _0219929c ; =data_027e0fe4 + ldr r0, _0219929c ; =gActorManager str r1, [sp, #0x14] ldr r1, [r7, #0x38] ldr r0, [r0] @@ -312,7 +312,7 @@ _02199050: ldr r3, [r7, #0x40] mov r2, r4 str r3, [sp, #0x20] - bl _ZN12ActorManager12FilterActorsEP15ActorFilterBaseP9ActorList + bl _ZN12ActorManager12FilterActorsEP15FilterActorBaseP9ActorList cmp r0, #0 bgt _021990c4 ldr r0, _02199290 ; =gMapManager @@ -381,7 +381,7 @@ _0219919c: mov r0, r7 bl _ZN13LinkStateBase18func_ov00_020a89bcEii _021991a8: - ldr r0, _021992c0 ; =data_027e0fb8 + ldr r0, _021992c0 ; =gPlayerControl mov r2, #0 ldr r1, [r0] strb r2, [r1, #0x7a] @@ -412,19 +412,19 @@ _0219920c: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02199218: - ldr r0, _021992c0 ; =data_027e0fb8 + ldr r0, _021992c0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl14GetFollowActorEv cmp r0, #0 beq _02199244 - ldr r0, _021992c0 ; =data_027e0fb8 + ldr r0, _021992c0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl20UpdateUsingEquipItemEv add sp, sp, #0x30 mov r0, #1 ldmia sp!, {r3, r4, r5, r6, r7, pc} _02199244: - ldr r0, _021992c0 ; =data_027e0fb8 + ldr r0, _021992c0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv cmp r0, r4 @@ -432,7 +432,7 @@ _02199244: ldr r0, [r7, #0x58] cmp r0, #0 bne _02199284 - ldr r0, _021992c0 ; =data_027e0fb8 + ldr r0, _021992c0 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv mov r2, #0 @@ -448,7 +448,7 @@ _02199284: _02199290: .word gMapManager _02199294: .word 0x00000333 _02199298: .word data_ov54_02199a00 -_0219929c: .word data_027e0fe4 +_0219929c: .word gActorManager _021992a0: .word data_ov54_021999c8 _021992a4: .word func_ov54_02198ee0 _021992a8: .word data_027e0e58 @@ -457,7 +457,7 @@ _021992b0: .word data_ov54_021999e8 _021992b4: .word 0x00000216 _021992b8: .word data_ov00_020eec9c _021992bc: .word data_ov54_021999d8 -_021992c0: .word data_027e0fb8 +_021992c0: .word gPlayerControl _021992c4: .word gItemManager arm_func_end func_ov54_02198efc @@ -491,7 +491,7 @@ _02199310: ldr r1, _021997b0 ; =0x00000ccd mov r0, r4 bl func_ov54_02198efc - ldr r0, _021997b4 ; =data_027e0fb8 + ldr r0, _021997b4 ; =gPlayerControl mov r1, #1 ldr r3, [r0] ldrb r2, [r3, #0x7b] @@ -535,13 +535,13 @@ _02199394: bl func_ov00_020a5e9c cmp r0, #0x18 bne _0219978c - ldr r1, _021997c0 ; =data_027e0fe4 + ldr r1, _021997c0 ; =gActorManager ldr r2, _021997c4 ; =0x44475447 ldr r1, [r1] add r0, sp, #8 add r3, r4, #0x38 bl _ZN12ActorManager22FindNearestActorOfTypeEP8ActorRefPS_jP5Vec3p - ldr r0, _021997c0 ; =data_027e0fe4 + ldr r0, _021997c0 ; =gActorManager add r1, sp, #8 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -558,7 +558,7 @@ _02199394: str r2, [sp, #0x14] ldr r2, [r5, #0x50] str r2, [sp, #0x18] - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x800 bgt _0219978c ldr r0, _021997b8 ; =data_ov00_020eec9c @@ -591,7 +591,7 @@ _02199490: ldr r1, _021997b0 ; =0x00000ccd mov r0, r4 bl func_ov54_02198efc - ldr r0, _021997b4 ; =data_027e0fb8 + ldr r0, _021997b4 ; =gPlayerControl mov r1, #1 ldr r3, [r0] ldrb r2, [r3, #0x7b] @@ -620,7 +620,7 @@ _021994d0: mov r0, r4 bl _ZN13LinkStateBase14GetPlayerAngleEv ldrh r1, [r0] - ldr r2, _021997cc ; =data_02050f54 + ldr r2, _021997cc ; =gSinCosTable ldr r0, [sp, #0x28] mov r1, r1, asr #0x4 mov r3, r1, lsl #0x1 @@ -702,7 +702,7 @@ _02199640: ldr r1, _021997b0 ; =0x00000ccd mov r0, r4 bl func_ov54_02198efc - ldr r0, _021997b4 ; =data_027e0fb8 + ldr r0, _021997b4 ; =gPlayerControl mov r1, #1 ldr r3, [r0] ldrb r2, [r3, #0x7b] @@ -758,7 +758,7 @@ _021996f8: mov r1, r0 add r0, sp, #0x1c mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] str r0, [sp, #4] @@ -784,7 +784,7 @@ _0219975c: _02199788: bl func_ov54_02198efc _0219978c: - ldr r1, _021997b4 ; =data_027e0fb8 + ldr r1, _021997b4 ; =gPlayerControl mov r0, r4 ldr r1, [r1] ldrb r4, [r1, #0x7a] @@ -795,13 +795,13 @@ _0219978c: .align 2, 0 _021997ac: .word data_ov54_02199980 _021997b0: .word 0x00000ccd -_021997b4: .word data_027e0fb8 +_021997b4: .word gPlayerControl _021997b8: .word data_ov00_020eec9c _021997bc: .word data_027e0d38 -_021997c0: .word data_027e0fe4 +_021997c0: .word gActorManager _021997c4: .word 0x44475447 _021997c8: .word 0x00000406 -_021997cc: .word data_02050f54 +_021997cc: .word gSinCosTable _021997d0: .word data_027e0e58 _021997d4: .word 0x00000255 _021997d8: .word 0x00000256 @@ -811,11 +811,11 @@ _021997dc: .word data_ov54_02199914 .global func_ov54_021997e0 arm_func_start func_ov54_021997e0 func_ov54_021997e0: ; 0x021997e0 - ldr ip, _021997ec ; =func_01fffcec + ldr ip, _021997ec ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #3 bx ip .align 2, 0 -_021997ec: .word func_01fffcec +_021997ec: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov54_021997e0 .global func_ov54_021997f0 @@ -823,7 +823,7 @@ _021997ec: .word func_01fffcec func_ov54_021997f0: ; 0x021997f0 stmdb sp!, {r3, r4, lr} sub sp, sp, #0x1c - ldr r0, _021998cc ; =data_027e0fb8 + ldr r0, _021998cc ; =gPlayerControl add r1, sp, #0 ldr r0, [r0] mov r2, #0 @@ -861,11 +861,11 @@ func_ov54_021997f0: ; 0x021997f0 _02199884: cmp r4, #0 beq _02199898 - ldr r0, _021998cc ; =data_027e0fb8 + ldr r0, _021998cc ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl13StopFollowingEv _02199898: - ldr r0, _021998cc ; =data_027e0fb8 + ldr r0, _021998cc ; =gPlayerControl ldr r3, [r0] ldrb r1, [r3, #0x7a] cmp r1, #0 @@ -879,7 +879,7 @@ _02199898: add sp, sp, #0x1c ldmia sp!, {r3, r4, pc} .align 2, 0 -_021998cc: .word data_027e0fb8 +_021998cc: .word gPlayerControl _021998d0: .word gMapManager arm_func_end func_ov54_021997f0 @@ -896,7 +896,7 @@ func_ov54_021998d4: ; 0x021998d4 ldmneia sp!, {r3, pc} add r0, r0, #4 add r1, r1, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x800 movle r0, #1 movgt r0, #0 diff --git a/asm/ov55.inc b/asm/ov55.inc index ddf48887..eea8f5dc 100644 --- a/asm/ov55.inc +++ b/asm/ov55.inc @@ -27,17 +27,17 @@ .extern data_027e0c54 .extern gMapManager .extern data_027e0f64 -.extern data_027e0f90 -.extern data_027e0fb8 +.extern gPlayer +.extern gPlayerControl .extern data_027e0fcc -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e103c .extern data_ov00_020eec68 .extern data_ov00_020eec9c -.extern func_01ff9bc4 +.extern Vec3p_Add .extern func_01ffa9fc -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_02019570 .extern func_020385b8 .extern _ZN10MapManager18func_ov00_02083f44EP5Vec3p @@ -55,7 +55,7 @@ .extern func_ov00_020be99c .extern func_ov00_020beb30 .extern func_ov00_020c0d68 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020cf9dc diff --git a/asm/ov55.s b/asm/ov55.s index 7c07ab84..080dd6ea 100644 --- a/asm/ov55.s +++ b/asm/ov55.s @@ -71,7 +71,7 @@ func_ov55_02198da4: ; 0x02198da4 add r6, r0, #0x24 cmp r7, r6 ldmeqia sp!, {r3, r4, r5, r6, r7, pc} - ldr r4, _02198df4 ; =data_027e0fe4 + ldr r4, _02198df4 ; =gActorManager mvn r5, #0 _02198dc0: ldr r0, [r7] @@ -89,7 +89,7 @@ _02198de4: bne _02198dc0 ldmia sp!, {r3, r4, r5, r6, r7, pc} .align 2, 0 -_02198df4: .word data_027e0fe4 +_02198df4: .word gActorManager arm_func_end func_ov55_02198da4 .global func_ov55_02198df8 @@ -144,7 +144,7 @@ func_ov55_02198e60: ; 0x02198e60 add r0, sp, #4 add r1, r1, #0x1000 str r1, [sp, #0x34] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -192,7 +192,7 @@ _02198f40: mov r1, #0 ldr r2, [r2, #0x28] blx r2 - ldr r0, _02198f74 ; =data_027e0fe4 + ldr r0, _02198f74 ; =gActorManager mov r1, r4 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -201,7 +201,7 @@ _02198f40: .align 2, 0 _02198f6c: .word data_027e0fe8 _02198f70: .word 0x424f4d42 -_02198f74: .word data_027e0fe4 +_02198f74: .word gActorManager arm_func_end func_ov55_02198e60 .global func_ov55_02198f78 @@ -228,7 +228,7 @@ func_ov55_02198f90: ; 0x02198f90 bl _ZN13LinkStateBase12GetGrabActorEv cmp r0, #0 ldmneia sp!, {r3, r4, r5, pc} - ldr r0, _0219900c ; =data_027e0fb8 + ldr r0, _0219900c ; =gPlayerControl ldr r0, [r0] ldrb r0, [r0, #0x79] cmp r0, #0 @@ -246,22 +246,22 @@ func_ov55_02198f90: ; 0x02198f90 ldr r1, [r0] ldr r1, [r1, #0x58] blx r1 - ldr r0, _0219900c ; =data_027e0fb8 + ldr r0, _0219900c ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl20UpdateUsingEquipItemEv ldmia sp!, {r3, r4, r5, pc} .align 2, 0 -_0219900c: .word data_027e0fb8 +_0219900c: .word gPlayerControl arm_func_end func_ov55_02198f90 .global func_ov55_02199010 arm_func_start func_ov55_02199010 func_ov55_02199010: ; 0x02199010 - ldr ip, _0219901c ; =func_01fffcec + ldr ip, _0219901c ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #4 bx ip .align 2, 0 -_0219901c: .word func_01fffcec +_0219901c: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov55_02199010 .global func_ov55_02199020 @@ -296,7 +296,7 @@ _0219907c: bl _ZN13LinkStateBase18func_ov00_020a8b80Ev cmp r0, #0 beq _02199128 - ldr r0, _021991a4 ; =data_027e0fb8 + ldr r0, _021991a4 ; =gPlayerControl add r1, sp, #8 ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p @@ -310,13 +310,13 @@ _0219907c: mov r1, r0 add r0, sp, #8 add r2, r4, #0x38 - bl func_01ff9bc4 + bl Vec3p_Add bl func_020385b8 add r1, r4, #0x38 bl _ZN17LinkStateInteract24SetNormalizedThrowOffsetEP5Vec3p b _02199128 _021990dc: - ldr r0, _021991a4 ; =data_027e0fb8 + ldr r0, _021991a4 ; =gPlayerControl add r1, sp, #8 ldr r0, [r0] mov r2, r5 @@ -331,7 +331,7 @@ _021990dc: mov r1, r0 add r0, sp, #8 add r2, r4, #0x38 - bl func_01ff9bc4 + bl Vec3p_Add bl func_020385b8 add r1, r4, #0x38 bl _ZN17LinkStateInteract14SetThrowOffsetEP5Vec3p @@ -348,7 +348,7 @@ _02199128: ldr r1, [r0] ldr r1, [r1, #0x58] blx r1 - ldr r0, _021991a4 ; =data_027e0fb8 + ldr r0, _021991a4 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl20UpdateUsingEquipItemEv mov r0, r4 @@ -357,7 +357,7 @@ _02199128: add sp, sp, #0x14 ldmia sp!, {r4, r5, pc} _02199178: - ldr r0, _021991a4 ; =data_027e0fb8 + ldr r0, _021991a4 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b034cEv mov r1, r0 @@ -369,7 +369,7 @@ _02199178: ldmia sp!, {r4, r5, pc} .align 2, 0 _021991a0: .word data_ov55_02199840 -_021991a4: .word data_027e0fb8 +_021991a4: .word gPlayerControl arm_func_end func_ov55_02199020 .global func_ov55_021991a8 @@ -405,7 +405,7 @@ func_ov55_021991b0: ; 0x021991b0 beq _0219922c b _02199244 _021991f4: - ldr r0, _02199270 ; =data_027e0f90 + ldr r0, _02199270 ; =gPlayer mov r1, #0x18 ldr r0, [r0] ldr r2, [r0] @@ -413,7 +413,7 @@ _021991f4: blx r2 b _02199244 _02199210: - ldr r0, _02199270 ; =data_027e0f90 + ldr r0, _02199270 ; =gPlayer mov r1, #0x20 ldr r0, [r0] ldr r2, [r0] @@ -421,7 +421,7 @@ _02199210: blx r2 b _02199244 _0219922c: - ldr r0, _02199270 ; =data_027e0f90 + ldr r0, _02199270 ; =gPlayer mov r1, #0x3e8 ldr r0, [r0] ldr r2, [r0] @@ -440,7 +440,7 @@ _02199244: .align 2, 0 _02199268: .word data_027e103c _0219926c: .word gItemManager -_02199270: .word data_027e0f90 +_02199270: .word gPlayer arm_func_end func_ov55_021991b0 .global func_ov55_02199274 diff --git a/asm/ov56.inc b/asm/ov56.inc index 2a5b7f75..94fc9842 100644 --- a/asm/ov56.inc +++ b/asm/ov56.inc @@ -11,16 +11,16 @@ .extern _ZN13PlayerControl18func_ov00_020b0e54EP5Vec3pS1_ .extern _ZN13PlayerControl6SetAimEv .extern data_027e0764 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0f64 -.extern data_027e0f94 -.extern data_027e0fb8 +.extern gPlayerPos +.extern gPlayerControl .extern data_027e0fe8 .extern data_027e0ffc -.extern func_01ff9bc4 +.extern Vec3p_Add .extern func_01ffa9fc .extern func_01fffcd8 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern __register_global_object .extern func_ov00_02087f08 .extern func_ov00_0208967c @@ -32,7 +32,7 @@ .extern func_ov00_020b41c4 .extern func_ov00_020be990 .extern func_ov00_020beb30 -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020cebcc diff --git a/asm/ov56.s b/asm/ov56.s index 0e710422..79e8b82a 100644 --- a/asm/ov56.s +++ b/asm/ov56.s @@ -229,7 +229,7 @@ _02198f84: add r0, sp, #4 add r1, r1, #0x800 str r1, [sp, #0x34] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -306,10 +306,10 @@ func_ov56_021990c0: ; 0x021990c0 mov r4, r0 bl _ZN13LinkStateBase18func_ov00_020a89bcEii mov r0, #0 - ldr r1, _02199114 ; =data_027e0d0c + ldr r1, _02199114 ; =gVec3p_ZERO strh r0, [r4, #0x2c] ldr r2, [r1] - ldr r0, _02199118 ; =data_027e0fb8 + ldr r0, _02199118 ; =gPlayerControl str r2, [r4, #0x44] ldr r2, [r1, #4] str r2, [r4, #0x48] @@ -322,8 +322,8 @@ func_ov56_021990c0: ; 0x021990c0 ldmia sp!, {r4, pc} .align 2, 0 _02199110: .word data_ov56_021993e0 -_02199114: .word data_027e0d0c -_02199118: .word data_027e0fb8 +_02199114: .word gVec3p_ZERO +_02199118: .word gPlayerControl arm_func_end func_ov56_021990c0 .global func_ov56_0219911c @@ -342,7 +342,7 @@ func_ov56_0219911c: ; 0x0219911c mov r5, r0 cmp r1, #5 ble _021991b0 - ldr r0, _021992d0 ; =data_027e0fb8 + ldr r0, _021992d0 ; =gPlayerControl mov r1, #1 ldr r0, [r0] bl _ZN13PlayerControl13CheckTouchingEj @@ -367,7 +367,7 @@ func_ov56_0219911c: ; 0x0219911c strh r0, [r4, #0x2c] ldmia sp!, {r3, r4, r5, pc} _021991b0: - ldr r0, _021992d0 ; =data_027e0fb8 + ldr r0, _021992d0 ; =gPlayerControl add r1, sp, #0x14 ldr r0, [r0] add r2, r4, #0x44 @@ -425,15 +425,15 @@ _0219925c: cmp r0, #0 addeq sp, sp, #0x20 ldmeqia sp!, {r3, r4, r5, pc} - ldr r1, _021992e0 ; =data_027e0f94 + ldr r1, _021992e0 ; =gPlayerPos add r2, sp, #8 add r0, r4, #0x44 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _021992dc ; =data_027e0f64 - ldr r3, _021992e4 ; =data_027e0d0c + ldr r3, _021992e4 ; =gVec3p_ZERO ldr r0, [r0] add r2, sp, #8 ldr r0, [r0, #4] @@ -443,22 +443,22 @@ _0219925c: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _021992cc: .word data_ov56_021993c0 -_021992d0: .word data_027e0fb8 +_021992d0: .word gPlayerControl _021992d4: .word data_ov56_021993f0 _021992d8: .word data_ov56_021993e0 _021992dc: .word data_027e0f64 -_021992e0: .word data_027e0f94 -_021992e4: .word data_027e0d0c +_021992e0: .word gPlayerPos +_021992e4: .word gVec3p_ZERO arm_func_end func_ov56_0219911c .global func_ov56_021992e8 arm_func_start func_ov56_021992e8 func_ov56_021992e8: ; 0x021992e8 - ldr ip, _021992f4 ; =func_01fffcec + ldr ip, _021992f4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #5 bx ip .align 2, 0 -_021992f4: .word func_01fffcec +_021992f4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov56_021992e8 .global func_ov56_021992f8 diff --git a/asm/ov57.inc b/asm/ov57.inc index 767a9d3c..3aa599da 100644 --- a/asm/ov57.inc +++ b/asm/ov57.inc @@ -25,34 +25,34 @@ .extern _ZN5ActorC2Ev .extern _ZN9SysObjectdlEPv .extern __register_global_object -.extern data_02050f54 +.extern gSinCosTable .extern data_027e03c8 -.extern data_027e0d0c +.extern gVec3p_ZERO .extern data_027e0de4 .extern data_027e0e58 .extern gMapManager .extern data_027e0f64 .extern data_027e0f6c -.extern data_027e0f94 -.extern data_027e0fb8 -.extern data_027e0fc8 -.extern data_027e0fe4 +.extern gPlayerPos +.extern gPlayerControl +.extern gPlayerLink +.extern gActorManager .extern data_027e0fe8 .extern data_027e0ffc .extern data_ov00_020eec9c .extern data_ov14_02155df8 .extern func_01ff8aa0 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9ec0 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Distance .extern func_01ffa9fc .extern func_01ffbe78 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_0202af4c .extern func_0202b2f8 .extern func_0202d95c -.extern func_ov00_0207a188 +.extern _ZN19Actor_UnkStruct_0a4C1Eiiii .extern func_ov00_0207bb1c .extern func_ov00_0207c1f8 .extern func_ov00_0207c444 @@ -78,7 +78,7 @@ .extern func_ov00_020bece0 .extern func_ov00_020bed7c .extern func_ov00_020bedcc -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020ceacc @@ -95,7 +95,7 @@ .extern func_ov14_0213d248 .extern func_ov14_0213d3d4 .extern func_ov14_0213d404 -.extern func_ov14_0213d420 +.extern _ZN9EquipRope18func_ov14_0213d420Ev .extern func_ov14_0213d6e0 .extern func_ov14_0213db60 .extern func_ov14_0213dda0 diff --git a/asm/ov57.s b/asm/ov57.s index bc621483..ada6d3ea 100644 --- a/asm/ov57.s +++ b/asm/ov57.s @@ -12,9 +12,9 @@ func_ov57_02198d00: ; 0x02198d00 add r2, sp, #0 mov r5, r0 mov r4, r1 - bl func_01ff9bf8 + bl Vec3p_Sub add r0, sp, #0 - bl func_01ff9cec + bl Vec3p_Length mov r1, r0 cmp r1, r6 addle sp, sp, #0xc @@ -193,7 +193,7 @@ _02198f54: mov r0, #1 ldmia sp!, {r3, r4, r5, r6, pc} _02198f60: - ldr r0, _02198fbc ; =data_027e0fe4 + ldr r0, _02198fbc ; =gActorManager add r1, r4, #0xc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -218,7 +218,7 @@ _02198fac: ldmia sp!, {r3, r4, r5, r6, pc} .align 2, 0 _02198fb8: .word gMapManager -_02198fbc: .word data_027e0fe4 +_02198fbc: .word gActorManager arm_func_end func_ov57_02198e80 .global func_ov57_02198fc0 @@ -316,12 +316,12 @@ func_ov57_021990b4: ; 0x021990b4 cmp r4, #0 moveq r0, #0 ldmeqia sp!, {r4, pc} - ldr r0, _021990e8 ; =data_027e0fc8 + ldr r0, _021990e8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba28 ldmia sp!, {r4, pc} .align 2, 0 -_021990e8: .word data_027e0fc8 +_021990e8: .word gPlayerLink arm_func_end func_ov57_021990b4 .global func_ov57_021990ec @@ -622,7 +622,7 @@ _02199470: moveq r0, #0 ldmia sp!, {r3, pc} _02199490: - ldr r0, _021994bc ; =data_027e0fe4 + ldr r0, _021994bc ; =gActorManager add r1, r1, #0xc ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -635,7 +635,7 @@ _021994b0: ldmia sp!, {r3, pc} .align 2, 0 _021994b8: .word gMapManager -_021994bc: .word data_027e0fe4 +_021994bc: .word gActorManager arm_func_end func_ov57_02199454 .global func_ov57_021994c0 @@ -680,7 +680,7 @@ _02199500: beq _02199564 add r0, r4, #0x78 add r1, r4, #0x18 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0xb000 ble _02199590 _02199564: @@ -707,7 +707,7 @@ _02199590: beq _021995c4 add r0, r4, #0x18 add r1, r4, #0x34 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0xb000 ble _021995fc _021995c4: @@ -782,7 +782,7 @@ func_ov57_021996b0: ; 0x021996b0 stmdb sp!, {r3, r4, r5, lr} mov r4, r0 mov r5, r1 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 beq _0219972c mov r0, r4 @@ -791,9 +791,9 @@ func_ov57_021996b0: ; 0x021996b0 mov r1, r5 mov r2, r5 add r0, r4, #0x18 - bl func_01ff9bf8 + bl Vec3p_Sub mov r0, r5 - bl func_01ff9cec + bl Vec3p_Length ldr r3, [r4, #0x74] ldr r1, _02199740 ; =0x000006e1 mov r2, #0 @@ -891,7 +891,7 @@ _021997f8: str r1, [r0, #0x30] b _0219989c _02199848: - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev movs r3, r0 beq _0219989c add r0, r3, #0x100 @@ -981,7 +981,7 @@ _02199920: mov r1, r3 bl func_0202af4c ldrh r1, [r5, #0x6e] - ldr r3, _02199ac0 ; =data_02050f54 + ldr r3, _02199ac0 ; =gSinCosTable add r0, sp, #0x38 mov r1, r1, asr #0x4 mov r2, r1, lsl #0x1 @@ -994,7 +994,7 @@ _02199920: add r0, sp, #0x68 add r2, sp, #0x5c add r1, r5, #0x78 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _02199ac4 ; =data_027e03c8 mov r0, #0x17 mov r2, #0xc @@ -1012,7 +1012,7 @@ _021999e4: add r1, sp, #0x68 add r2, sp, #0x2c add r0, r5, #0x78 - bl func_01ff9bc4 + bl Vec3p_Add mov r2, #0 add r0, sp, #8 add r1, r5, #0x78 @@ -1062,7 +1062,7 @@ _02199a44: ldmia sp!, {r4, r5, pc} .align 2, 0 _02199abc: .word data_ov57_0219a994 -_02199ac0: .word data_02050f54 +_02199ac0: .word gSinCosTable _02199ac4: .word data_027e03c8 _02199ac8: .word gAdventureFlags _02199acc: .word data_027e0de4 @@ -1221,7 +1221,7 @@ _02199cb8: bl func_ov00_020be9e4 b _02199d2c _02199cf8: - ldr r0, _02199d50 ; =data_027e0fe4 + ldr r0, _02199d50 ; =gActorManager mov r1, r9 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef @@ -1245,7 +1245,7 @@ _02199d2c: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, r10, r11, pc} .align 2, 0 _02199d4c: .word gMapManager -_02199d50: .word data_027e0fe4 +_02199d50: .word gActorManager arm_func_end func_ov57_02199c78 .global func_ov57_02199d54 @@ -1267,7 +1267,7 @@ func_ov57_02199d54: ; 0x02199d54 add r0, sp, #4 add r1, r1, #0x800 str r1, [sp, #0x34] - bl func_ov00_020c1500 + bl _ZN19Actor_UnkStruct_020C1Ev mvn r1, #0 add r0, sp, #4 str r1, [sp, #0x20] @@ -1345,7 +1345,7 @@ func_ov57_02199e64: ; 0x02199e64 mov r2, #1 mov r4, r0 bl _ZN13LinkStateBase18func_ov00_020a89bcEii - ldr r0, _02199ec0 ; =data_027e0d0c + ldr r0, _02199ec0 ; =gVec3p_ZERO ldr r1, [r0] str r1, [r4, #0x44] ldr r1, [r0, #4] @@ -1355,7 +1355,7 @@ func_ov57_02199e64: ; 0x02199e64 bl func_ov57_02199ecc mov r1, #1 bl func_ov57_021992b4 - ldr r0, _02199ec4 ; =data_027e0fb8 + ldr r0, _02199ec4 ; =gPlayerControl ldr r1, _02199ec8 ; =data_ov57_0219ab14 mov r2, #0 ldr r0, [r0] @@ -1364,19 +1364,19 @@ func_ov57_02199e64: ; 0x02199e64 ldmia sp!, {r4, pc} .align 2, 0 _02199ebc: .word data_ov57_0219aa60 -_02199ec0: .word data_027e0d0c -_02199ec4: .word data_027e0fb8 +_02199ec0: .word gVec3p_ZERO +_02199ec4: .word gPlayerControl _02199ec8: .word data_ov57_0219ab14 arm_func_end func_ov57_02199e64 .global func_ov57_02199ecc arm_func_start func_ov57_02199ecc func_ov57_02199ecc: ; 0x02199ecc - ldr ip, _02199ed8 ; =func_01fffcec + ldr ip, _02199ed8 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #6 bx ip .align 2, 0 -_02199ed8: .word func_01fffcec +_02199ed8: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov57_02199ecc .global func_ov57_02199edc @@ -1401,7 +1401,7 @@ func_ov57_02199edc: ; 0x02199edc mov r0, r5 mov r2, #1 bl _ZN13LinkStateBase18func_ov00_020a8a4cEii - ldr r0, _0219a1e8 ; =data_027e0fb8 + ldr r0, _0219a1e8 ; =gPlayerControl mov r1, #0 ldr r0, [r0] strb r1, [r0, #0x7a] @@ -1428,7 +1428,7 @@ _02199f58: ldrb r0, [r4, #0x69] cmp r0, #0 beq _02199fb8 - ldr r0, _0219a1e8 ; =data_027e0fb8 + ldr r0, _0219a1e8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl20UpdateUsingEquipItemEv ldrb r0, [r4, #0x6a] @@ -1441,7 +1441,7 @@ _02199f58: ldmia sp!, {r4, r5, r6, pc} _02199fb8: mov r0, r4 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev movs r6, r0 bne _02199fe4 ldr r1, _0219a1f0 ; =data_ov57_0219aa60 @@ -1456,7 +1456,7 @@ _02199fe4: bl _ZN13LinkStateBase18func_ov00_020a8b80Ev cmp r0, #0 bne _0219a180 - ldr r0, _0219a1e8 ; =data_027e0fb8 + ldr r0, _0219a1e8 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl20UpdateUsingEquipItemEv mov r0, r6 @@ -1493,7 +1493,7 @@ _0219a054: bl _ZN13LinkStateBase18func_ov00_020a89bcEii b _0219a180 _0219a07c: - ldr r0, _0219a1e8 ; =data_027e0fb8 + ldr r0, _0219a1e8 ; =gPlayerControl mov r1, #1 ldr r0, [r0] bl _ZN13PlayerControl17CheckUntouchedNowEj @@ -1522,7 +1522,7 @@ _0219a0d4: cmp r0, #0 addne r1, r4, #0x18 str r1, [sp] - ldr r0, _0219a1e8 ; =data_027e0fb8 + ldr r0, _0219a1e8 ; =gPlayerControl add r1, sp, #0x2c ldr r0, [r0] bl _ZN13PlayerControl18func_ov00_020b1058EP5Vec3piS1_S1_ @@ -1571,15 +1571,15 @@ _0219a180: cmp r0, #0 addeq sp, sp, #0x38 ldmeqia sp!, {r4, r5, r6, pc} - ldr r1, _0219a200 ; =data_027e0f94 + ldr r1, _0219a200 ; =gPlayerPos add r2, sp, #8 add r0, r5, #0x44 - bl func_01ff9bc4 + bl Vec3p_Add mov r1, #0 str r1, [sp] str r1, [sp, #4] ldr r0, _0219a1fc ; =data_027e0f64 - ldr r3, _0219a204 ; =data_027e0d0c + ldr r3, _0219a204 ; =gVec3p_ZERO ldr r0, [r0] add r2, sp, #8 ldr r0, [r0, #4] @@ -1590,14 +1590,14 @@ _0219a180: .align 2, 0 _0219a1e0: .word data_ov57_0219ab14 _0219a1e4: .word data_ov57_0219aa40 -_0219a1e8: .word data_027e0fb8 +_0219a1e8: .word gPlayerControl _0219a1ec: .word data_ov57_0219aa40 _0219a1f0: .word data_ov57_0219aa60 _0219a1f4: .word data_ov57_0219aa70 _0219a1f8: .word data_ov57_0219aa50 _0219a1fc: .word data_027e0f64 -_0219a200: .word data_027e0f94 -_0219a204: .word data_027e0d0c +_0219a200: .word gPlayerPos +_0219a204: .word gVec3p_ZERO arm_func_end func_ov57_02199edc .global func_ov57_0219a208 @@ -1608,7 +1608,7 @@ func_ov57_0219a208: ; 0x0219a208 mov r4, r0 bl func_ov57_02199ecc mov r5, r0 - bl func_ov14_0213d420 + bl _ZN9EquipRope18func_ov14_0213d420Ev cmp r0, #0 movne r0, #1 moveq r0, #0 @@ -1621,7 +1621,7 @@ func_ov57_0219a208: ; 0x0219a208 mov r0, r4 bl _ZN13LinkStateBase12GetPlayerVelEv mov r2, #0 - ldr r1, _0219a320 ; =data_027e0fb8 + ldr r1, _0219a320 ; =gPlayerControl str r2, [r0, #8] ldr r0, [r1] bl _ZN13PlayerControl20UpdateUsingEquipItemEv @@ -1668,7 +1668,7 @@ _0219a2b4: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} _0219a300: - ldr r0, _0219a320 ; =data_027e0fb8 + ldr r0, _0219a320 ; =gPlayerControl ldr r0, [r0] bl _ZN13PlayerControl20UpdateUsingEquipItemEv mov r0, r4 @@ -1677,7 +1677,7 @@ _0219a300: add sp, sp, #0xc ldmia sp!, {r4, r5, pc} .align 2, 0 -_0219a320: .word data_027e0fb8 +_0219a320: .word gPlayerControl _0219a324: .word data_ov57_0219ab14 _0219a328: .word data_ov00_020eec9c arm_func_end func_ov57_0219a208 @@ -1694,13 +1694,13 @@ func_ov57_0219a32c: ; 0x0219a32c mov r0, r4 bl func_ov14_0213db60 _0219a34c: - ldr r0, _0219a360 ; =data_027e0fb8 + ldr r0, _0219a360 ; =gPlayerControl mov r1, #1 ldr r0, [r0] strb r1, [r0, #0x7a] ldmia sp!, {r4, pc} .align 2, 0 -_0219a360: .word data_027e0fb8 +_0219a360: .word gPlayerControl arm_func_end func_ov57_0219a32c .global func_ov57_0219a364 @@ -1811,11 +1811,11 @@ func_ov57_0219a460: ; 0x0219a460 str r2, [sp] add r0, r4, #0x18c mov r3, r1 - blx func_ov00_0207a188 + blx _ZN19Actor_UnkStruct_0a4C1Eiiii add r0, r4, #0x8c bl func_ov14_0212382c bl func_ov14_0212384c - ldr r2, _0219a564 ; =data_027e0d0c + ldr r2, _0219a564 ; =gVec3p_ZERO mvn ip, #0 ldr r3, [r2] add r1, r4, #0x100 @@ -1853,7 +1853,7 @@ func_ov57_0219a460: ; 0x0219a460 .align 2, 0 _0219a55c: .word data_ov14_02155df8 _0219a560: .word gItemManager -_0219a564: .word data_027e0d0c +_0219a564: .word gVec3p_ZERO arm_func_end func_ov57_0219a460 .global func_ov57_0219a568 @@ -1901,7 +1901,7 @@ func_ov57_0219a5ac: ; 0x0219a5ac _0219a5ec: mov r1, r8 add r0, r10, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldrh r1, [r4, #0x68] mov r7, r0 cmp r1, #0 @@ -1967,7 +1967,7 @@ func_ov57_0219a6b8: ; 0x0219a6b8 add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add mov r0, #0 str r0, [sp] ldr r3, [r5, #8] @@ -2088,7 +2088,7 @@ func_ov57_0219a850: ; 0x0219a850 _0219a888: add r1, sp, #4 add r0, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, _0219a95c ; =0x00000e66 cmp r0, r1 bgt _0219a918 @@ -2132,7 +2132,7 @@ _0219a918: add r0, r5, #0x48 add r1, r5, #0x60 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add _0219a938: mov r0, #0 str r0, [sp] diff --git a/asm/ov58.inc b/asm/ov58.inc index 4ce7c74e..417fec26 100644 --- a/asm/ov58.inc +++ b/asm/ov58.inc @@ -23,11 +23,11 @@ .extern data_027e0de4 .extern gMapManager .extern data_027e0f6c -.extern data_027e0f94 -.extern data_027e0fb8 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerControl +.extern gPlayerLink .extern data_027e0fd4 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0fe8 .extern data_027e103c .extern data_027e1098 @@ -36,16 +36,16 @@ .extern data_ov00_020ee6f8 .extern data_ov00_020eec9c .extern data_ov14_02155fb0 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ff9cec -.extern func_01ff9d4c +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Vec3p_Length +.extern Vec3p_Normalize .extern func_01ffbe34 .extern func_01ffbe78 .extern func_01ffbf5c .extern func_01fffb4c .extern func_01fffbec -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_0200388c .extern func_020197bc .extern func_0201987c @@ -106,7 +106,7 @@ .extern func_ov00_020c0c44 .extern func_ov00_020c0e04 .extern func_ov00_020c0e5c -.extern func_ov00_020c1500 +.extern _ZN19Actor_UnkStruct_020C1Ev .extern func_ov00_020c3348 .extern func_ov00_020c4048 .extern func_ov00_020cf01c diff --git a/asm/ov58.s b/asm/ov58.s index b470c4a7..30f9c777 100644 --- a/asm/ov58.s +++ b/asm/ov58.s @@ -77,7 +77,7 @@ func_ov58_02198d00: ; 0x02198d00 str ip, [sp, #8] str r3, [sp, #0xc] str r2, [sp, #0x10] - bl func_01ff9d4c + bl Vec3p_Normalize mov r1, #0x400 add r0, sp, #8 rsb r1, r1, #0 @@ -85,7 +85,7 @@ func_ov58_02198d00: ; 0x02198d00 add r0, sp, #0x14 add r1, sp, #8 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr r1, _02198ef0 ; =gMapManager add r0, sp, #4 ldr r6, [r1] @@ -152,7 +152,7 @@ func_ov58_02198ef8: ; 0x02198ef8 func_ov58_02198efc: ; 0x02198efc stmdb sp!, {r4, lr} sub sp, sp, #0x18 - ldr r1, _02198f6c ; =data_027e0fe4 + ldr r1, _02198f6c ; =gActorManager mov r4, r0 ldr r0, [r1] mov r1, r2 @@ -180,7 +180,7 @@ _02198f60: add sp, sp, #0x18 ldmia sp!, {r4, pc} .align 2, 0 -_02198f6c: .word data_027e0fe4 +_02198f6c: .word gActorManager _02198f70: .word 0x50574253 arm_func_end func_ov58_02198efc @@ -304,7 +304,7 @@ func_ov58_0219906c: ; 0x0219906c add r0, r5, #0 add r0, #0x44 strh r1, [r0] - ldr r0, _02199158 ; =data_027e0fb8 + ldr r0, _02199158 ; =gPlayerControl ldr r0, [r0] blx _ZN13PlayerControl14IsUntouchedNowEv cmp r0, #0 @@ -352,9 +352,9 @@ _021990b6: str r0, [r3] add r0, r2, #0 add r1, #0x20 - blx func_01ff9bf8 + blx Vec3p_Sub add r0, sp, #0 - blx func_01ff9cec + blx Vec3p_Length add r4, r0, #0 ldr r0, _02199168 ; =0x00000333 cmp r4, r0 @@ -390,7 +390,7 @@ _0219912a: add r0, #0x20 add r1, sp, #0 add r2, r0, #0 - blx func_01ff9bc4 + blx Vec3p_Add b _02199144 _02199138: ldr r0, [r5, #0x2c] @@ -400,7 +400,7 @@ _02199138: ldr r0, [r5, #0x34] str r0, [r5, #0x28] _02199144: - ldr r0, _0219916c ; =data_027e0fc8 + ldr r0, _0219916c ; =gPlayerLink add r5, #0x20 mov r2, #2 ldr r0, [r0] @@ -411,12 +411,12 @@ _02199154: add sp, #0xc pop {r4, r5, pc} .align 2, 0 -_02199158: .word data_027e0fb8 +_02199158: .word gPlayerControl _0219915c: .word data_027e103c _02199160: .word data_ov58_0219b0a0 _02199164: .word data_027e077c _02199168: .word 0x00000333 -_0219916c: .word data_027e0fc8 +_0219916c: .word gPlayerLink thumb_func_end func_ov58_0219906c .global func_ov58_02199170 @@ -626,7 +626,7 @@ _02199314: ldmleia sp!, {r3, r4, r5, pc} cmp r4, #0 beq _021993e0 - ldr r0, _021993f8 ; =data_027e0fc8 + ldr r0, _021993f8 ; =gPlayerLink ldr r0, [r0] bl func_ov00_020bba28 cmp r0, #0 @@ -679,7 +679,7 @@ _021993e8: .word gMapManager _021993ec: .word data_027e0c54 _021993f0: .word data_027e0d38 _021993f4: .word data_027e0fd4 -_021993f8: .word data_027e0fc8 +_021993f8: .word gPlayerLink _021993fc: .word data_027e077c arm_func_end func_ov58_021992c4 @@ -714,7 +714,7 @@ _0219941a: add r0, r1, r0 str r0, [sp, #0x34] add r0, sp, #4 - blx func_ov00_020c1500 + blx _ZN19Actor_UnkStruct_020C1Ev mov r0, #0 mvn r0, r0 str r0, [sp, #0x20] @@ -924,7 +924,7 @@ _021995c6: ldr r0, [r5, #0x18] cmp r0, #0 bgt _021995e2 - ldr r1, _021997f8 ; =data_027e0f94 + ldr r1, _021997f8 ; =gPlayerPos ldr r0, [r1] ldr r6, [r1, #4] str r0, [sp, #0x18] @@ -969,12 +969,12 @@ _02199606: str r0, [sp, #0x118] add r0, sp, #0x188 add r2, r0, #0 - blx func_01ff9bf8 + blx Vec3p_Sub ldr r7, [sp, #0x18c] mov r0, #0 str r0, [sp, #0x18c] add r0, sp, #0x188 - blx func_01ff9cec + blx Vec3p_Length str r0, [sp, #0x20] mov r0, #0 str r0, [sp, #0x1c] @@ -1193,7 +1193,7 @@ _021997ec: .align 2, 0 _021997f0: .word data_ov58_0219aec0 _021997f4: .word gMapManager -_021997f8: .word data_027e0f94 +_021997f8: .word gPlayerPos _021997fc: .word 0x00000999 _02199800: .word 0x00001333 _02199804: .word 0x0000ffff @@ -1447,7 +1447,7 @@ _021999d2: str r0, [sp, #0xc4] add r0, sp, #0x164 add r2, r0, #0 - blx func_01ff9bf8 + blx Vec3p_Sub ldr r0, [sp, #0x16c] cmp r0, #0 bge _021999fa @@ -1479,7 +1479,7 @@ _02199a10: str r0, [sp, #0x178] add r0, sp, #0x170 add r2, r0, #0 - blx func_01ff9bc4 + blx Vec3p_Add b _02199a38 _02199a30: add sp, #0x1fc @@ -2053,7 +2053,7 @@ _02199e8a: str r0, [sp, #0x13c] add r0, sp, #0x134 add r2, r0, #0 - blx func_01ff9bf8 + blx Vec3p_Sub ldr r2, [sp, #0x1b4] ldr r1, [sp, #0x1b8] ldr r0, [sp, #0x1b0] @@ -2121,7 +2121,7 @@ _02199f40: mov r0, r5 mov r1, r6 mov r2, r5 - bl func_01ff9bc4 + bl Vec3p_Add cmp r8, #0 ldr r0, [r4] mov r2, #0 @@ -2239,7 +2239,7 @@ _0219a0d8: mov r1, r5 str r2, [r10, #8] mov r2, r10 - bl func_01ff9bc4 + bl Vec3p_Add ldr r0, [r4] mov r1, r10 mov r2, r11 @@ -2545,7 +2545,7 @@ func_ov58_0219a47c: ; 0x0219a47c mov r0, r5 add r1, sp, #4 bl _ZN13LinkStateBase6LookAtEP5Vec3p - ldr r0, _0219a5b4 ; =data_027e0fb8 + ldr r0, _0219a5b4 ; =gPlayerControl mov r1, #0 ldr r2, [r0] mov r0, r5 @@ -2569,17 +2569,17 @@ _0219a59c: _0219a5a8: .word data_027e077c _0219a5ac: .word data_027e103c _0219a5b0: .word gMapManager -_0219a5b4: .word data_027e0fb8 +_0219a5b4: .word gPlayerControl arm_func_end func_ov58_0219a47c .global func_ov58_0219a5b8 arm_func_start func_ov58_0219a5b8 func_ov58_0219a5b8: ; 0x0219a5b8 - ldr ip, _0219a5c4 ; =func_01fffcec + ldr ip, _0219a5c4 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #7 bx ip .align 2, 0 -_0219a5c4: .word func_01fffcec +_0219a5c4: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov58_0219a5b8 .global func_ov58_0219a5c8 @@ -2730,7 +2730,7 @@ _0219a790: ldr r0, _0219a814 ; =data_ov00_020eec9c mov r1, #0x11 bl func_ov00_020d77e4 - ldr r0, _0219a818 ; =data_027e0fb8 + ldr r0, _0219a818 ; =gPlayerControl mov r1, #0 ldr r2, [r0] mov r0, #1 @@ -2765,7 +2765,7 @@ _0219a80c: ldmia sp!, {r4, pc} .align 2, 0 _0219a814: .word data_ov00_020eec9c -_0219a818: .word data_027e0fb8 +_0219a818: .word gPlayerControl _0219a81c: .word data_027e1098 arm_func_end func_ov58_0219a76c @@ -2796,7 +2796,7 @@ func_ov58_0219a820: ; 0x0219a820 mov r1, #0 str r1, [sp] ldr r0, _0219a98c ; =data_027e0d3c - ldr r1, _0219a990 ; =data_027e0f94 + ldr r1, _0219a990 ; =gPlayerPos ldr r0, [r0] add r2, sp, #8 add r3, sp, #4 @@ -2874,7 +2874,7 @@ _0219a97c: _0219a984: .word data_027e077c _0219a988: .word data_027e0d78 _0219a98c: .word data_027e0d3c -_0219a990: .word data_027e0f94 +_0219a990: .word gPlayerPos _0219a994: .word gItemManager arm_func_end func_ov58_0219a820 @@ -2943,7 +2943,7 @@ _0219aa44: str r1, [sp, #4] str r1, [sp] ldr r0, _0219aac8 ; =data_027e0d3c - ldr r1, _0219aacc ; =data_027e0f94 + ldr r1, _0219aacc ; =gPlayerPos ldr r0, [r0] add r2, sp, #8 add r3, sp, #4 @@ -2960,7 +2960,7 @@ _0219aabc: .word data_027e0618 _0219aac0: .word data_027e077c _0219aac4: .word data_027e1098 _0219aac8: .word data_027e0d3c -_0219aacc: .word data_027e0f94 +_0219aacc: .word gPlayerPos arm_func_end func_ov58_0219a998 .global func_ov58_0219aad0 diff --git a/asm/ov59.inc b/asm/ov59.inc index b1008d20..9afc5b96 100644 --- a/asm/ov59.inc +++ b/asm/ov59.inc @@ -15,16 +15,16 @@ .extern _ZNK11ItemManager16GetEquippedFairyEv .extern _ZNK11ItemManager18func_ov00_020ad538Ei .extern _ZNK11ItemManager8GetFairyEi -.extern data_02050f54 +.extern gSinCosTable .extern data_027e0d38 .extern data_027e0e58 .extern gMapManager -.extern data_027e0f94 -.extern data_027e0fb8 -.extern data_027e0fc8 +.extern gPlayerPos +.extern gPlayerControl +.extern gPlayerLink .extern data_027e0fd0 .extern data_027e0fd4 -.extern data_027e0fe4 +.extern gActorManager .extern data_027e0ffc .extern data_027e1038 .extern data_ov00_020dc7d0 @@ -32,12 +32,12 @@ .extern data_ov00_020e9370 .extern func_01ff8214 .extern func_01ff88b0 -.extern func_01ff9bc4 -.extern func_01ff9bf8 -.extern func_01ffa0f4 +.extern Vec3p_Add +.extern Vec3p_Sub +.extern Atan2 .extern func_01ffbf5c .extern func_01fffcd8 -.extern func_01fffcec +.extern _ZN11ItemManager21GetEquipItemUncheckedEi .extern func_0202af4c .extern func_0202b154 .extern func_0202b2f8 diff --git a/asm/ov59.s b/asm/ov59.s index 60ac51c7..4188d1dd 100644 --- a/asm/ov59.s +++ b/asm/ov59.s @@ -61,7 +61,7 @@ _02198da4: bl func_ov00_020a5e9c cmp r0, #0x2f beq _02198e10 - ldr r0, _02198e24 ; =data_027e0fc8 + ldr r0, _02198e24 ; =gPlayerLink mov r4, #0 ldr r0, [r0] bl func_ov00_020bc500 @@ -85,7 +85,7 @@ _02198e10: _02198e18: .word data_027e0fd4 _02198e1c: .word gItemManager _02198e20: .word data_027e0d38 -_02198e24: .word data_027e0fc8 +_02198e24: .word gPlayerLink _02198e28: .word data_027e0fd0 arm_func_end func_ov59_02198d00 @@ -291,10 +291,10 @@ func_ov59_02198ffc: ; 0x02198ffc add r0, sp, #0xc str r2, [sp, #8] mov r2, r0 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xc] ldr r1, [sp, #0x14] - bl func_01ffa0f4 + bl Atan2 mov r1, r0, lsl #0x10 mov r0, r4 mov r4, r1, asr #0x10 @@ -347,7 +347,7 @@ _021990c4: ldr r1, [r1, #0x20] cmp r1, r0 bne _02199180 - ldr r0, _021992f8 ; =data_027e0fb8 + ldr r0, _021992f8 ; =gPlayerControl ldr r2, [r0] ldr r1, [r2, #0xbc] str r1, [r6, #0x38] @@ -394,7 +394,7 @@ _02199180: bl _ZN13LinkStateBase18func_ov00_020a8b3cEi cmp r0, #0 bne _021991c4 - ldr r0, _021992f8 ; =data_027e0fb8 + ldr r0, _021992f8 ; =gPlayerControl add r1, r6, #0x38 ldr r0, [r0] bl _ZN13PlayerControl14UpdateAimWorldEP5Vec3p @@ -419,7 +419,7 @@ _021991d8: cmp r1, r0 bne _021992c0 _02199204: - ldr r0, _021992f8 ; =data_027e0fb8 + ldr r0, _021992f8 ; =gPlayerControl add r1, r6, #0x38 ldr r0, [r0] bl _ZN13PlayerControl14UpdateAimWorldEP5Vec3p @@ -434,7 +434,7 @@ _02199204: add r1, r6, #0x38 bl _ZN13LinkStateBase6LookAtEP5Vec3p _0219923c: - ldr r0, _021992f8 ; =data_027e0fb8 + ldr r0, _021992f8 ; =gPlayerControl mov r1, #1 ldr r0, [r0] bl _ZN13PlayerControl13CheckTouchingEj @@ -485,7 +485,7 @@ _021992d0: .align 2, 0 _021992f0: .word gItemManager _021992f4: .word data_ov59_0219b160 -_021992f8: .word data_027e0fb8 +_021992f8: .word gPlayerControl _021992fc: .word data_ov59_0219b190 _02199300: .word data_ov59_0219b180 _02199304: .word data_ov59_0219b1b0 @@ -495,11 +495,11 @@ _02199308: .word data_ov59_0219b1a0 .global func_ov59_0219930c arm_func_start func_ov59_0219930c func_ov59_0219930c: ; 0x0219930c - ldr ip, _02199318 ; =func_01fffcec + ldr ip, _02199318 ; =_ZN11ItemManager21GetEquipItemUncheckedEi mov r0, #8 bx ip .align 2, 0 -_02199318: .word func_01fffcec +_02199318: .word _ZN11ItemManager21GetEquipItemUncheckedEi arm_func_end func_ov59_0219930c .global func_ov59_0219931c @@ -551,17 +551,17 @@ _02199360: ldr r2, [r2, #0xdc] blx r2 _021993b4: - ldr r0, _0219a064 ; =data_027e0fb8 + ldr r0, _0219a064 ; =gPlayerControl add r1, sp, #0xb0 ldr r0, [r0] bl _ZN13PlayerControl14UpdateAimWorldEP5Vec3p add r0, sp, #0xb0 add r2, sp, #0xa4 add r1, r4, #0x48 - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0xa4] ldr r1, [sp, #0xac] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x300 strh r0, [r1, #0x40] ldr r0, [r4, #0x344] @@ -582,17 +582,17 @@ _02199408: ldr r0, [r1, #8] cmp r0, r5 beq _021998b8 - ldr r0, _0219a064 ; =data_027e0fb8 + ldr r0, _0219a064 ; =gPlayerControl add r1, sp, #0x98 ldr r0, [r0] bl _ZN13PlayerControl14UpdateAimWorldEP5Vec3p - ldr r1, _0219a070 ; =data_027e0f94 + ldr r1, _0219a070 ; =gPlayerPos add r0, sp, #0x98 add r2, sp, #0x8c - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x8c] ldr r1, [sp, #0x94] - bl func_01ffa0f4 + bl Atan2 add r2, r4, #0x300 strh r0, [r2, #0x40] ldr r1, [sp, #0x98] @@ -602,7 +602,7 @@ _02199408: mvn r1, #0 str r3, [r4, #0x15c] ldr r6, [sp, #0xa0] - ldr r3, _0219a078 ; =data_02050f54 + ldr r3, _0219a078 ; =gSinCosTable str r6, [r4, #0x160] ldr r8, [r4, #0x344] ldrh r2, [r2, #0x40] @@ -645,7 +645,7 @@ _02199408: cmpne r0, #0 movne r2, #1 cmp r2, #0 - ldreq r0, _0219a070 ; =data_027e0f94 + ldreq r0, _0219a070 ; =gPlayerPos ldreq r0, [r0, #4] streq r0, [sp, #0x9c] ldr r0, [r4, #0x3b4] @@ -740,7 +740,7 @@ _02199620: ldr ip, [r4, #0x50] ldr r6, [r4, #0x58] ldr r0, [sp, #0x98] - ldr r2, _0219a070 ; =data_027e0f94 + ldr r2, _0219a070 ; =gPlayerPos str r0, [r4, #0x48] ldr r0, [sp, #0x9c] ldr r8, _0219a084 ; =0x0000ffff @@ -823,7 +823,7 @@ _021997a4: adds ip, r7, #0x800 mla r0, r5, r1, r0 add r1, r2, #1 - ldr r7, _0219a078 ; =data_02050f54 + ldr r7, _0219a078 ; =gSinCosTable mov r2, r2, lsl #0x1 mov r1, r1, lsl #0x1 ldrsh r3, [r7, r2] @@ -885,8 +885,8 @@ _021998b8: mov r1, #0 str r1, [r4, #0x60] str r1, [r4, #0x68] - ldr r0, _0219a064 ; =data_027e0fb8 - ldr r1, _0219a070 ; =data_027e0f94 + ldr r0, _0219a064 ; =gPlayerControl + ldr r1, _0219a070 ; =gPlayerPos ldr r5, [r0] add r0, sp, #0x74 ldr r2, [r5, #0xbc] @@ -896,10 +896,10 @@ _021998b8: str r3, [sp, #0x78] ldr r3, [r5, #0xc4] str r3, [sp, #0x7c] - bl func_01ff9bf8 + bl Vec3p_Sub ldr r0, [sp, #0x68] ldr r1, [sp, #0x70] - bl func_01ffa0f4 + bl Atan2 add r1, r4, #0x300 strh r0, [r1, #0x40] ldr r0, [r4, #0x348] @@ -935,7 +935,7 @@ _02199968: add r5, sp, #0x5c ldmia r0, {r0, r1, r2} stmia r5, {r0, r1, r2} - ldr r3, _0219a070 ; =data_027e0f94 + ldr r3, _0219a070 ; =gPlayerPos add r0, r4, #0x300 ldr r2, [r3, #4] ldr r3, _0219a090 ; =0x00000666 @@ -952,7 +952,7 @@ _02199968: adds r1, lr, #0x800 add r6, ip, #1 str r2, [sp, #0x3c] - ldr lr, _0219a078 ; =data_02050f54 + ldr lr, _0219a078 ; =gSinCosTable mov ip, ip, lsl #0x1 mov r5, r6, lsl #0x1 ldrsh ip, [lr, ip] @@ -996,7 +996,7 @@ _02199968: ldrb r0, [r1, #0x1d] cmp r0, #0 beq _02199b70 - ldr r1, _0219a094 ; =data_027e0fe4 + ldr r1, _0219a094 ; =gActorManager ldr r2, _0219a098 ; =0x57534253 ldr r1, [r1] add r0, sp, #0x14 @@ -1008,13 +1008,13 @@ _02199968: movne r0, #0 cmp r0, #0 bne _02199b38 - ldr r0, _0219a094 ; =data_027e0fe4 + ldr r0, _0219a094 ; =gActorManager add r1, sp, #0x14 ldr r0, [r0] bl _ZN12ActorManager8GetActorEP8ActorRef cmp r0, #0 beq _02199b00 - ldr r1, _0219a064 ; =data_027e0fb8 + ldr r1, _0219a064 ; =gPlayerControl ldr r1, [r1] add r1, r1, #0xc8 bl func_ov37_0217fd9c @@ -1379,7 +1379,7 @@ _0219a018: ldr r0, [r4, #0x348] cmp r0, #0 bgt _0219a04c - ldr r1, _0219a070 ; =data_027e0f94 + ldr r1, _0219a070 ; =gPlayerPos mov r0, r4 ldr r2, [r1, #4] mov r1, #3 @@ -1398,19 +1398,19 @@ _0219a058: add sp, sp, #0x11c ldmia sp!, {r3, r4, r5, r6, r7, r8, pc} .align 2, 0 -_0219a064: .word data_027e0fb8 +_0219a064: .word gPlayerControl _0219a068: .word gItemManager _0219a06c: .word data_ov59_0219b110 -_0219a070: .word data_027e0f94 +_0219a070: .word gPlayerPos _0219a074: .word 0xfffff99a -_0219a078: .word data_02050f54 +_0219a078: .word gSinCosTable _0219a07c: .word data_027e0e58 _0219a080: .word data_027e0ffc _0219a084: .word 0x0000ffff _0219a088: .word gMapManager _0219a08c: .word 0xfffff999 _0219a090: .word 0x00000666 -_0219a094: .word data_027e0fe4 +_0219a094: .word gActorManager _0219a098: .word 0x57534253 _0219a09c: .word 0x0000099a _0219a0a0: .word 0x00000b33 @@ -1447,7 +1447,7 @@ func_ov59_0219a0ac: ; 0x0219a0ac cmp r0, #0 bne _0219a4ec ldr r1, [r10, #0x54] - ldr r0, _0219a9f0 ; =data_027e0f94 + ldr r0, _0219a9f0 ; =gPlayerPos str r1, [sp, #0x94] ldr r1, [r10, #0x58] ldr r0, [r0, #4] @@ -1465,7 +1465,7 @@ func_ov59_0219a0ac: ; 0x0219a0ac add r1, r10, #0x300 str r0, [sp, #0x90] ldr r7, [r10, #0x48] - ldr r2, _0219a9f8 ; =data_02050f54 + ldr r2, _0219a9f8 ; =gSinCosTable str r7, [sp, #0x7c] ldr r0, [r10, #0x4c] mov r9, #1 @@ -1588,7 +1588,7 @@ _0219a24c: mov r7, r5, lsr #0x10 mov r8, r2, lsl #0x1 add r2, r8, #1 - ldr r5, _0219a9f8 ; =data_02050f54 + ldr r5, _0219a9f8 ; =gSinCosTable mov r8, r8, lsl #0x1 mov r2, r2, lsl #0x1 ldrsh r8, [r5, r8] @@ -1724,7 +1724,7 @@ _0219a4ec: adds r3, r3, #0x800 mla r2, r4, r0, r2 add r9, r11, #1 - ldr r5, _0219a9f8 ; =data_02050f54 + ldr r5, _0219a9f8 ; =gSinCosTable mov r7, r11, lsl #0x1 mov r4, r9, lsl #0x1 ldrsh r11, [r5, r7] @@ -2030,9 +2030,9 @@ _0219a998: .align 2, 0 _0219a9e8: .word gItemManager _0219a9ec: .word data_ov59_0219b110 -_0219a9f0: .word data_027e0f94 +_0219a9f0: .word gPlayerPos _0219a9f4: .word 0x00000666 -_0219a9f8: .word data_02050f54 +_0219a9f8: .word gSinCosTable _0219a9fc: .word gMapManager _0219aa00: .word 0xfffff99a _0219aa04: .word 0x0000ffff @@ -2058,7 +2058,7 @@ func_ov59_0219aa08: ; 0x0219aa08 add r0, r0, #0x300 str r0, [sp, #0x58] ldrsh r1, [r1, #0x40] - ldr r3, _0219ab98 ; =data_02050f54 + ldr r3, _0219ab98 ; =gSinCosTable add r0, sp, #0x30 sub r1, r1, #0x4000 mov r1, r1, lsl #0x10 @@ -2111,7 +2111,7 @@ func_ov59_0219aa08: ; 0x0219aa08 add r0, r5, #0x334 add r1, sp, #0x54 mov r2, r0 - bl func_01ff9bc4 + bl Vec3p_Add ldr lr, [r5, #0x344] ldr r2, [r5, #0x338] ldr r3, _0219aba0 ; =0x00000333 @@ -2142,7 +2142,7 @@ func_ov59_0219aa08: ; 0x0219aa08 add sp, sp, #0x60 ldmia sp!, {r4, r5, r6, r7, r8, pc} .align 2, 0 -_0219ab98: .word data_02050f54 +_0219ab98: .word gSinCosTable _0219ab9c: .word 0x00000666 _0219aba0: .word 0x00000333 _0219aba4: .word data_ov00_020e9370 @@ -2168,7 +2168,7 @@ _0219abcc: cmpne r0, #0 bne _0219ae74 ldr r0, _0219aef4 ; =data_027e0fd4 - ldr r3, _0219aef8 ; =data_027e0f94 + ldr r3, _0219aef8 ; =gPlayerPos ldr r0, [r0] ldr r3, [r3, #4] add r0, r0, #0x20 @@ -2253,14 +2253,14 @@ _0219ad18: cmpne r0, #0 bne _0219ae74 ldr r0, _0219aef4 ; =data_027e0fd4 - ldr r3, _0219aef8 ; =data_027e0f94 + ldr r3, _0219aef8 ; =gPlayerPos ldr r0, [r0] add r6, sp, #0x50 add r0, r0, #0x20 ldmia r0, {r0, r1, r2} stmia r6, {r0, r1, r2} ldr r1, [r3, #4] - ldr r0, _0219af04 ; =data_027e0fb8 + ldr r0, _0219af04 ; =gPlayerControl add r2, r1, #0x800 ldr r0, [r0] add r1, sp, #0x44 @@ -2372,10 +2372,10 @@ _0219aebc: ldmia sp!, {r3, r4, r5, r6, r7, r8, r9, pc} .align 2, 0 _0219aef4: .word data_027e0fd4 -_0219aef8: .word data_027e0f94 +_0219aef8: .word gPlayerPos _0219aefc: .word 0x0000ffff _0219af00: .word gMapManager -_0219af04: .word data_027e0fb8 +_0219af04: .word gPlayerControl _0219af08: .word gItemManager _0219af0c: .word data_ov00_020dc7d0 _0219af10: .word data_ov00_020dc7e4 @@ -2449,7 +2449,7 @@ func_ov59_0219afc4: ; 0x0219afc4 beq _0219b00c b _0219b014 _0219aff0: - ldr r1, _0219b01c ; =data_027e0f94 + ldr r1, _0219b01c ; =gPlayerPos mov r0, #1 ldr r1, [r1, #4] add r1, r1, #0x66 @@ -2463,7 +2463,7 @@ _0219b014: mov r0, #0 ldmia sp!, {r4, pc} .align 2, 0 -_0219b01c: .word data_027e0f94 +_0219b01c: .word gPlayerPos arm_func_end func_ov59_0219afc4 .global func_ov59_0219b020 @@ -2510,7 +2510,7 @@ _0219b0a4: ldr r0, [r4, #0x50] str r0, [r4, #0x160] _0219b0bc: - ldr r0, _0219b10c ; =data_027e0fb8 + ldr r0, _0219b10c ; =gPlayerControl ldr r1, [r4, #0x158] ldr r2, [r0] str r1, [r2, #0xbc] @@ -2531,7 +2531,7 @@ _0219b0bc: ldmia sp!, {r3, r4, r5, pc} .align 2, 0 _0219b108: .word gItemManager -_0219b10c: .word data_027e0fb8 +_0219b10c: .word gPlayerControl arm_func_end func_ov59_0219b020 .rodata diff --git a/docs/inline_assembler.md b/docs/inline_assembler.md index 72339c4e..2ca7d5de 100644 --- a/docs/inline_assembler.md +++ b/docs/inline_assembler.md @@ -21,7 +21,7 @@ dcd 0x1234 #### `ldconst`: Loads a literal 32-bit value ```asm -ldconst r0, 0x1234 +ldconst r0, #0x1234 bx lr ``` This code is equivalent to the above example using `dcd`. diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index c5b71193..29d4da2a 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -6,21 +6,25 @@ #include "lib/math.h" #include "Actor/ActorRef.hpp" +#include "Actor/ActorType.hpp" #include "Actor/FilterActorBase.hpp" #include "Physics/Cylinder.hpp" #include "Physics/Transform.hpp" #include "Player/EquipBoomerang.hpp" +#include "System/SysNew.hpp" struct Actor_UnkStruct_020 { /* 00 */ unk16 mUnk_00[4]; - /* 08 */ unk8 mUnk_08[2]; - /* 0a */ unk8 mUnk_0a[2]; + /* 08 */ u8 mUnk_08[2]; + /* 0a */ u8 mUnk_0a[2]; /* 0c */ unk8 mUnk_0c; - /* 0c */ unk8 mUnk_0d; - /* 0c */ unk8 mUnk_0e; - /* 0c */ unk8 mUnk_0f; + /* 0d */ unk8 mUnk_0d; + /* 0e */ unk8 mUnk_0e; + /* 0f */ unk8 mUnk_0f; /* 10 */ unk32 mUnk_10; /* 14 */ + + Actor_UnkStruct_020(); }; struct Actor_UnkStruct_09c { @@ -41,11 +45,14 @@ struct Actor_UnkStruct_0a4 { /* 04 */ Vec3p mUnk_04; /* 10 */ s32 mUnk_10; /* 14 */ + + Actor_UnkStruct_0a4(q20 x, q20 y, q20 z, s32 unk_10); }; -class KillPickupItemActors : public FilterActorBase { - /* 0 (base) */ - /* 4 */ +class KillPickupsFilter: FilterActorReturn, public FilterActorBase { +public: + /* 00 (base) */ + /* 04 */ /* 0 */ virtual bool Filter(Actor *actor) override; /* 4 */ @@ -60,41 +67,50 @@ enum PlayerCollide_ { PlayerCollide_Hammer = 0x10, }; -class Actor { +struct Knockback { + /* 00 */ u8 mUnk_00; + /* 04 */ Vec3p vec; + /* 10 */ unk32 mUnk_10; + /* 14 */ Actor *actor; + + inline Knockback(): + mUnk_00(0), + mUnk_10(0xb), + actor(NULL) + {} +}; + +class Actor : public SysObject { public: /* 000 (vtable) */ - /* 004 */ unk32 mType; - /* 008 */ unk32 mId; - /* 00c */ unk32 mIndex; - /* 010 */ unk8 mUnk_010; - /* 011 */ unk8 mUnk_011; + /* 004 */ ActorTypeId mType; + /* 008 */ ActorRef mRef; + /* 010 */ u8 mUnk_010; + /* 011 */ u8 mUnk_011; /* 012 */ unk16 mUnk_012; - /* 014 */ unk32 mUnk_014; - /* 018 */ unk32 mUnk_018; - /* 01c */ unk32 mUnk_01c; + /* 014 */ Vec3p mUnk_014; /* 020 */ Actor_UnkStruct_020 mUnk_020; /* 034 */ unk32 mUnk_034; /* 038 */ unk32 mUnk_038; /* 03c */ unk32 mUnk_03c; - /* 040 */ unk32 mUnk_040; - /* 044 */ unk32 mUnk_044; + /* 040 */ ActorRef mUnk_040; /* 048 */ Vec3p mPos; /* 054 */ Vec3p mPrevPos; /* 060 */ Vec3p mVel; /* 06c */ unk32 mGravity; /* 070 */ unk32 mMaxFall; /* 074 */ unk32 mUnk_074; - /* 078 */ s16 mRotation; - /* 07a */ unk16 mUnk_07a; + /* 078 */ u16 mAngle; + /* 07a */ u16 mUnk_07a; /* 07c */ Cylinder mHitbox; /* 08c */ Cylinder mUnk_08c; /* 09c */ Actor_UnkStruct_09c mUnk_09c; /* 0a4 */ Actor_UnkStruct_0a4 mUnk_0a4; /* 0b8 */ unk8 mUnk_0b8[0x24]; - /* 0dc */ unk16 mUnk_0dc; - /* 0de */ unk16 mUnk_0de; - /* 0e0 */ unk16 mUnk_0e0; - /* 0e2 */ unk16 mUnk_0e2; + /* 0dc */ u16 mUnk_0dc; + /* 0de */ u16 mUnk_0de; + /* 0e0 */ u16 mUnk_0e0; + /* 0e2 */ u16 mUnk_0e2; /* 0e4 */ unk16 mUnk_0e4; /* 0e6 */ unk8 mUnk_0e6[0x20]; /* 106 */ unk8 mUnk_106; @@ -111,17 +127,17 @@ public: /* 116 */ unk8 mUnk_116; /* 117 */ unk8 mUnk_117; /* 118 */ bool mAlive; - /* 119 */ unk8 mUnk_119; + /* 119 */ u8 mUnk_119; /* 11a */ bool mVisible; - /* 11b */ unk8 mUnk_11b; + /* 11b */ bool mUnk_11b; /* 11c */ unk8 mUnk_11c; - /* 11d */ unk8 mUnk_11d; - /* 11e */ q4 yOffset; + /* 11d */ bool mUnk_11d; + /* 11e */ q4 mYOffset; /* 120 */ s16 mUnk_120; /* 122 */ unk16 mUnk_122; - /* 124 */ unk8 mUnk_124; - /* 125 */ unk8 mUnk_125; - /* 126 */ unk16 mUnk_126; + /* 124 */ u8 mUnk_124; + /* 125 */ u8 mUnk_125; + /* 126 */ u16 mUnk_126; /* 128 */ bool mUnk_128; /* 129 */ bool mUnk_129; /* 12a */ unk8 mUnk_12a; @@ -143,7 +159,7 @@ public: /* 10 */ virtual void vfunc_10(u32 param1); /* 14 */ virtual void vfunc_14(u32 param1); /* 18 */ virtual void vfunc_18(u32 param1); - /* 1c */ virtual void vfunc_1c(u16 param1); + /* 1c */ virtual void vfunc_1c(u16 *param1); /* 20 */ virtual void vfunc_20(s32 param1); /* 24 */ virtual void vfunc_24(); /* 28 */ virtual void vfunc_28(); @@ -153,12 +169,12 @@ public: /* 38 */ virtual unk32 vfunc_38(); /* 3c */ virtual bool CollidesWithLink(); /* 40 */ virtual bool IsHitboxTouched(bool param1); - /* 44 */ virtual bool CollidesWith(const Actor *other); - /* 48 */ virtual bool vfunc_48(unk32 param1); + /* 44 */ virtual bool CollidesWith(Actor *other); + /* 48 */ virtual bool vfunc_48(Knockback *param1); /* 4c */ virtual bool vfunc_4c(unk32 *param1); /* 50 */ virtual Vec3p* GetPos(); /* 54 */ virtual void vfunc_54(); - /* 58 */ virtual void SetUnk_11b(); + /* 58 */ virtual bool SetUnk_11b(); /* 5c */ virtual bool SetVelocity(Vec3p *vel); /* 60 */ virtual bool vfunc_60(); /* 64 */ virtual void vfunc_64(); @@ -171,7 +187,7 @@ public: /* 80 */ virtual void vfunc_80(); /* 84 */ virtual void vfunc_84(); /* 88 */ virtual void vfunc_88(); - /* 8c */ virtual void vfunc_8c(); + /* 8c */ virtual bool vfunc_8c(); /* 90 */ virtual bool vfunc_90(); /* 94 */ virtual void vfunc_94(); /* 98 */ virtual bool vfunc_98(); @@ -184,40 +200,43 @@ public: /* b4 */ Actor(); - void func_ov00_020c1788(); + + bool func_01fffd04(s32 param1); + + unk8 func_ov00_020c1788(); void SetUnk_129(bool value); void SetUnk_11c(unk8 value); bool func_ov00_020c195c(); bool func_ov00_020c198c(); void KillPickupItemActors(); void func_Ov00_020c1bfc(s32 param1); - void func_ov00_020c1c20(s32 param1, unk32 param2, unk32 param3); + void func_ov00_020c1c20(s32 param1, unk32 param2); bool IsNearLink(); void func_ov00_020c1cf8(); bool func_ov00_020c1d58(); bool func_ov00_020c1da0(s32 param1, Vec3p *param2); bool func_ov00_020c1e2c(s32 param1, Vec3p *param2); bool func_ov00_020c1ef8(Cylinder *param1, Vec3p *param2, s32 param3, s32 param4); - bool func_ov00_020c1f5c(Vec3p *param1, Vec3p *param2, s32 param3, Vec3p *param4, s32 param5, s32 param6); + bool func_ov00_020c1f5c(Vec3p *param1, Vec3p *param2, s32 param3, Vec3p *param4, u8 param5, s32 param6); bool func_ov00_020c1fc8(PlayerCollide flags); bool CollidesWithShield(Cylinder *param1); bool CollidesWithPlayer(PlayerCollide flags); static void func_ov00_020c23c4(ActorRef *ref, Actor *actor); static void func_ov00_020c23d4(ActorRef *ref, Actor *actor, Cylinder *cylinder); - bool func_ov00_020c243c(unk32 param1, s32 *param2); + bool func_ov00_020c243c(ActorTypeId *actorTypes, Actor **result); bool func_ov00_020c27a8(unk32 param1); bool IsFollowedByLink(); void StopLinkFollow(); bool IsGrabbed(); - s32 XzDistanceTo(Vec3p *vec); - s32 DistanceToLink(); - s32 XzDistanceToLink(); - s32 GetAngleTo(Vec3p *vec); + q20 XzDistanceTo(Vec3p *vec); + q20 DistanceToLink(); + q20 XzDistanceToLink(); + s16 GetAngleTo(Vec3p *vec); s32 GetAngleToLink(); - void func_ov00_020c2988(Vec3p *param1, s32 param2, Vec3p *param3); + void func_ov00_020c2988(Vec3p *param1, q20 param2, Vec3p *param3); void ResetWallTouch(); - bool func_ov00_020c29ec(s32 param1); - void GetHitbox(Cylinder *param1); + bool func_ov00_020c29ec(q20 param1); + void GetHitbox(Cylinder *hitbox); void GetUnk_08c(Cylinder *param1); void IncreaseActiveFrames(); bool func_ov00_020c2c0c(); @@ -236,7 +255,6 @@ public: void Kill(); void KillInBounds(); void func_ov00_020c31c0(unk32 param1); - void vfunc_ac_Thunk(); void func_ov00_020c3200(s32 param1); void GetLinkPos(Vec3p *result); void GetLinkDummyPos(Vec3p *result); diff --git a/include/Actor/ActorManager.hpp b/include/Actor/ActorManager.hpp index bf659965..9222bc6d 100644 --- a/include/Actor/ActorManager.hpp +++ b/include/Actor/ActorManager.hpp @@ -83,14 +83,16 @@ public: Actor* FindActorById(u32 id); Actor* GetActor(ActorRef *ref); s32 FilterActors(FilterActorBase *filter, ActorList *filteredActors); - static void FindActorByType(ActorRef *ref, ActorManager *manager, u32 type); - static void FindNearestActorOfType(ActorRef *ref, ActorManager *manager, u32 type, Vec3p *pos); - void func_ov00_020c398c(); - void func_ov00_020c399c(); - void func_ov00_020c39ac(u32 index, u32 *actorTypes, bool param3); + static void FindActorByType(ActorRef *ref, ActorManager *manager, ActorTypeId type); + static void FindNearestActorOfType(ActorRef *ref, ActorManager *manager, ActorTypeId type, Vec3p *pos); + bool func_ov00_020c398c(u32 index); + void func_ov00_020c399c(u32 index, Cylinder *cylinder); + Actor* func_ov00_020c39ac(u32 index, const ActorTypeId *actorTypes, bool param3); s32 func_ov00_020c3b2c(s32 *param1); s32 func_ov00_020c3bb0(unk32 param1, s32 *param2); void func_ov00_020c3ce8(unk32 param1, unk32 param2); void Actor_vfunc_28(); - static bool ActorTypeIsOneOf(u32 type, u32 *types); + static bool ActorTypeIsOneOf(u32 type, ActorTypeId *types); }; + +extern ActorManager *gActorManager; diff --git a/include/Actor/ActorPlayerDummy.hpp b/include/Actor/ActorPlayerDummy.hpp new file mode 100644 index 00000000..ceedc688 --- /dev/null +++ b/include/Actor/ActorPlayerDummy.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include "global.h" +#include "types.h" + +#include "Actor/Actor.hpp" +#include "Actor/ActorType.hpp" + +class ActorPlayerDummy : public Actor { +public: + static ActorType gType; + + /* 000 (base) */ + /* 158 */ void *mUnk_158; + /* 15c */ u32 mUnk_15c; + /* 160 */ unk32 mUnk_160; + /* 164 */ u32 mUnk_164; + /* 168 */ unk32 mUnk_168; + /* 16c */ unk16 mUnk_16c; + /* 16e */ unk16 mUnk_16e; + /* 170 */ unk16 mUnk_170; + /* 172 */ unk8 mUnk_172[2]; + /* 174 */ unk32 mUnk_174; + /* 178 */ +}; diff --git a/include/Actor/ActorRef.hpp b/include/Actor/ActorRef.hpp index b98c86a9..be82f8a8 100644 --- a/include/Actor/ActorRef.hpp +++ b/include/Actor/ActorRef.hpp @@ -7,4 +7,15 @@ struct ActorRef { /* 0 */ s32 id; /* 4 */ s32 index; /* 8 */ + + inline ActorRef() {} + inline ActorRef(s32 id, s32 index): + id(id), + index(index) + {} + + inline void Reset() { + id = -1; + index = -1; + } }; diff --git a/include/Actor/ActorType.hpp b/include/Actor/ActorType.hpp index 07f1c493..06fd3b59 100644 --- a/include/Actor/ActorType.hpp +++ b/include/Actor/ActorType.hpp @@ -3,68 +3,133 @@ #include "global.h" #include "types.h" -#include "Actor/Actor.hpp" - -#define __ACTOR_TYPE_ID(a,b,c,d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d)) +#define __ACTOR_TYPE_A 'A' +#define __ACTOR_TYPE_B 'B' +#define __ACTOR_TYPE_C 'C' +#define __ACTOR_TYPE_D 'D' +#define __ACTOR_TYPE_E 'E' +#define __ACTOR_TYPE_F 'F' +#define __ACTOR_TYPE_G 'G' +#define __ACTOR_TYPE_H 'H' +#define __ACTOR_TYPE_I 'I' +#define __ACTOR_TYPE_J 'J' +#define __ACTOR_TYPE_K 'K' +#define __ACTOR_TYPE_L 'L' +#define __ACTOR_TYPE_M 'M' +#define __ACTOR_TYPE_N 'N' +#define __ACTOR_TYPE_O 'O' +#define __ACTOR_TYPE_P 'P' +#define __ACTOR_TYPE_Q 'Q' +#define __ACTOR_TYPE_R 'R' +#define __ACTOR_TYPE_S 'S' +#define __ACTOR_TYPE_T 'T' +#define __ACTOR_TYPE_U 'U' +#define __ACTOR_TYPE_V 'V' +#define __ACTOR_TYPE_W 'W' +#define __ACTOR_TYPE_X 'X' +#define __ACTOR_TYPE_Y 'Y' +#define __ACTOR_TYPE_Z 'Z' +#define __ACTOR_TYPE_0 '0' +#define __ACTOR_TYPE_1 '1' +#define __ACTOR_TYPE_2 '2' +#define __ACTOR_TYPE_3 '3' +#define __ACTOR_TYPE_4 '4' +#define __ACTOR_TYPE_5 '5' +#define __ACTOR_TYPE_6 '6' +#define __ACTOR_TYPE_7 '7' +#define __ACTOR_TYPE_8 '8' +#define __ACTOR_TYPE_9 '9' +#define __CONCAT(a,b) a ## b +#define __EVAL(x) x +#define __ACTOR_TYPE_ID(a,b,c,d) ( \ + (__EVAL(__CONCAT(__ACTOR_TYPE_,a)) << 24) \ + | (__EVAL(__CONCAT(__ACTOR_TYPE_,b)) << 16) \ + | (__EVAL(__CONCAT(__ACTOR_TYPE_,c)) << 8) \ + | (__EVAL(__CONCAT(__ACTOR_TYPE_,d))) \ +) typedef u32 ActorTypeId; enum ActorTypeId_ { - ActorTypeId_Navi = __ACTOR_TYPE_ID('N','A','V','I'), - ActorTypeId_ForceNavi = __ACTOR_TYPE_ID('F','C','N','V'), - ActorTypeId_WisdomNavi = __ACTOR_TYPE_ID('W','S','N','V'), + ActorTypeId_Null = __ACTOR_TYPE_ID(N,U,L,L), - ActorTypeId_TreasureMap = __ACTOR_TYPE_ID('T','M','A','P'), - ActorTypeId_DigSpot = __ACTOR_TYPE_ID('D','G','T','G'), + ActorTypeId_Navi = __ACTOR_TYPE_ID(N,A,V,I), + ActorTypeId_ForceNavi = __ACTOR_TYPE_ID(F,C,N,V), + ActorTypeId_WisdomNavi = __ACTOR_TYPE_ID(W,S,N,V), - ActorTypeId_ShopItemBombchus = __ACTOR_TYPE_ID('I','T','B','T'), - ActorTypeId_ShopItemBombs = __ACTOR_TYPE_ID('I','T','B','M'), - ActorTypeId_ShopItemTreasure = __ACTOR_TYPE_ID('I','T','T','R'), - ActorTypeId_ShopItemHeartContainer = __ACTOR_TYPE_ID('I','T','H','U'), - ActorTypeId_ShopItemQuiver = __ACTOR_TYPE_ID('I','T','A','P'), - ActorTypeId_ShopItemBombBag = __ACTOR_TYPE_ID('I','T','B','B'), - ActorTypeId_ShopItemRedPotion = __ACTOR_TYPE_ID('I','T','P','B'), - ActorTypeId_ShopItemCourageGem = __ACTOR_TYPE_ID('I','T','S','R'), - ActorTypeId_ShopItemShield = __ACTOR_TYPE_ID('I','T','S','L'), - ActorTypeId_ShopItemSoldOut = __ACTOR_TYPE_ID('I','T','S','O'), + ActorTypeId_TreasureMap = __ACTOR_TYPE_ID(T,M,A,P), + ActorTypeId_DigSpot = __ACTOR_TYPE_ID(D,G,T,G), - ActorTypeId_Heart = __ACTOR_TYPE_ID('H','A','R','T'), - ActorTypeId_Rupee = __ACTOR_TYPE_ID('R','U','P','Y'), + ActorTypeId_ShopItemBombchus = __ACTOR_TYPE_ID(I,T,B,T), + ActorTypeId_ShopItemBombs = __ACTOR_TYPE_ID(I,T,B,M), + ActorTypeId_ShopItemTreasure = __ACTOR_TYPE_ID(I,T,T,R), + ActorTypeId_ShopItemHeartContainer = __ACTOR_TYPE_ID(I,T,H,U), + ActorTypeId_ShopItemQuiver = __ACTOR_TYPE_ID(I,T,A,P), + ActorTypeId_ShopItemBombBag = __ACTOR_TYPE_ID(I,T,B,B), + ActorTypeId_ShopItemRedPotion = __ACTOR_TYPE_ID(I,T,P,B), + ActorTypeId_ShopItemCourageGem = __ACTOR_TYPE_ID(I,T,S,R), + ActorTypeId_ShopItemShield = __ACTOR_TYPE_ID(I,T,S,L), + ActorTypeId_ShopItemSoldOut = __ACTOR_TYPE_ID(I,T,S,O), - ActorTypeId_Bomb = __ACTOR_TYPE_ID('B','O','M','B'), - ActorTypeId_Arrow = __ACTOR_TYPE_ID('A','R','R','W'), + ActorTypeId_Heart = __ACTOR_TYPE_ID(H,A,R,T), + ActorTypeId_Rupee = __ACTOR_TYPE_ID(R,U,P,Y), - ActorTypeId_PlayerDummy = __ACTOR_TYPE_ID('P','L','D','M'), - ActorTypeId_PushBlock = __ACTOR_TYPE_ID('P','S','B','L'), - ActorTypeId_WindBlock = __ACTOR_TYPE_ID('W','B','L','K'), - ActorTypeId_StorageDrum = __ACTOR_TYPE_ID('D','R','U','M'), + ActorTypeId_Bomb = __ACTOR_TYPE_ID(B,O,M,B), + ActorTypeId_Arrow = __ACTOR_TYPE_ID(A,R,R,W), - ActorTypeId_SmallKey = __ACTOR_TYPE_ID('N','K','E','Y'), + ActorTypeId_PlayerDummy = __ACTOR_TYPE_ID(P,L,D,M), + ActorTypeId_PushBlock = __ACTOR_TYPE_ID(P,S,B,L), + ActorTypeId_WindBlock = __ACTOR_TYPE_ID(W,B,L,K), + ActorTypeId_StorageDrum = __ACTOR_TYPE_ID(D,R,U,M), - ActorTypeId_Sandworm = __ACTOR_TYPE_ID('M','L','D','W'), - ActorTypeId_Tektite = __ACTOR_TYPE_ID('T','E','K','T'), - ActorTypeId_PolsVoice = __ACTOR_TYPE_ID('P','L','S','V'), - ActorTypeId_Yook = __ACTOR_TYPE_ID('Y','E','T','I'), - ActorTypeId_Armos = __ACTOR_TYPE_ID('A','M','O','S'), - ActorTypeId_Stalfos = __ACTOR_TYPE_ID('S','T','L','F'), - ActorTypeId_StalfosWarrior = __ACTOR_TYPE_ID('S','T','L','W'), - ActorTypeId_ChuChu = __ACTOR_TYPE_ID('C','H','U','C'), - ActorTypeId_Gel = __ACTOR_TYPE_ID('G','E','L','L'), - ActorTypeId_Bee = __ACTOR_TYPE_ID('B','E','E','0'), - ActorTypeId_BeeHive = __ACTOR_TYPE_ID('B','E','E','H'), - ActorTypeId_Cucco = __ACTOR_TYPE_ID('K','O','K','O'), - ActorTypeId_Rope = __ACTOR_TYPE_ID('S','N','A','K'), - ActorTypeId_Octorok = __ACTOR_TYPE_ID('O','C','T','A'), - ActorTypeId_Keese = __ACTOR_TYPE_ID('K','E','T','H'), - ActorTypeId_Rat = __ACTOR_TYPE_ID('R','A','T','0'), - ActorTypeId_Beamos = __ACTOR_TYPE_ID('B','M','O','S'), - ActorTypeId_LikeLike = __ACTOR_TYPE_ID('L','K','L','K'), - ActorTypeId_Crow = __ACTOR_TYPE_ID('C','R','O','W'), + ActorTypeId_SmallKey = __ACTOR_TYPE_ID(N,K,E,Y), - ActorTypeId_Linebeck = __ACTOR_TYPE_ID('L','N','B','K'), - ActorTypeId_Mailbox = __ACTOR_TYPE_ID('P','O','S','T'), - ActorTypeId_Postman = __ACTOR_TYPE_ID('P','S','T','M'), + ActorTypeId_Sandworm = __ACTOR_TYPE_ID(M,L,D,W), + ActorTypeId_Tektite = __ACTOR_TYPE_ID(T,E,K,T), + ActorTypeId_PolsVoice = __ACTOR_TYPE_ID(P,L,S,V), + ActorTypeId_Yook = __ACTOR_TYPE_ID(Y,E,T,I), + ActorTypeId_Armos = __ACTOR_TYPE_ID(A,M,O,S), + ActorTypeId_Stalfos = __ACTOR_TYPE_ID(S,T,L,F), + ActorTypeId_StalfosWarrior = __ACTOR_TYPE_ID(S,T,L,W), + ActorTypeId_ChuChu = __ACTOR_TYPE_ID(C,H,U,C), + ActorTypeId_Gel = __ACTOR_TYPE_ID(G,E,L,L), + ActorTypeId_Bee = __ACTOR_TYPE_ID(B,E,E,0), + ActorTypeId_BeeHive = __ACTOR_TYPE_ID(B,E,E,H), + ActorTypeId_Cucco = __ACTOR_TYPE_ID(K,O,K,O), + ActorTypeId_Rope = __ACTOR_TYPE_ID(S,N,A,K), + ActorTypeId_Octorok = __ACTOR_TYPE_ID(O,C,T,A), + ActorTypeId_Keese = __ACTOR_TYPE_ID(K,E,T,H), + ActorTypeId_Rat = __ACTOR_TYPE_ID(R,A,T,0), + ActorTypeId_Beamos = __ACTOR_TYPE_ID(B,M,O,S), + ActorTypeId_LikeLike = __ACTOR_TYPE_ID(L,K,L,K), + ActorTypeId_Crow = __ACTOR_TYPE_ID(C,R,O,W), + + ActorTypeId_Linebeck = __ACTOR_TYPE_ID(L,N,B,K), + ActorTypeId_Mailbox = __ACTOR_TYPE_ID(P,O,S,T), + ActorTypeId_Postman = __ACTOR_TYPE_ID(P,S,T,M), + + ActorTypeId_BIGR = __ACTOR_TYPE_ID(B,I,G,R), + ActorTypeId_BKEY = __ACTOR_TYPE_ID(B,K,E,Y), + ActorTypeId_BLST = __ACTOR_TYPE_ID(B,L,S,T), + ActorTypeId_BMRN = __ACTOR_TYPE_ID(B,M,R,N), + ActorTypeId_BMTY = __ACTOR_TYPE_ID(B,M,T,Y), + ActorTypeId_BTRF = __ACTOR_TYPE_ID(B,T,R,F), + ActorTypeId_CBLS = __ACTOR_TYPE_ID(C,B,L,S), + ActorTypeId_FLAL = __ACTOR_TYPE_ID(F,L,A,L), + ActorTypeId_FLBM = __ACTOR_TYPE_ID(F,L,B,M), + ActorTypeId_FLBT = __ACTOR_TYPE_ID(F,L,B,T), + ActorTypeId_FLTB = __ACTOR_TYPE_ID(F,L,T,B), + ActorTypeId_FLTM = __ACTOR_TYPE_ID(F,L,T,M), + ActorTypeId_FORC = __ACTOR_TYPE_ID(F,O,R,C), + ActorTypeId_ROPE = __ACTOR_TYPE_ID(R,O,P,E), + ActorTypeId_SBEM = __ACTOR_TYPE_ID(S,B,E,M), + ActorTypeId_STNE = __ACTOR_TYPE_ID(S,T,N,E), + ActorTypeId_TARU = __ACTOR_TYPE_ID(T,A,R,U), + ActorTypeId_TSBH = __ACTOR_TYPE_ID(T,S,B,H), + ActorTypeId_TSUB = __ACTOR_TYPE_ID(T,S,U,B), + ActorTypeId_VLR0 = __ACTOR_TYPE_ID(V,L,R,0), }; +class Actor; typedef Actor* (*ActorCreateFunc)(); struct ActorType { diff --git a/include/Actor/FilterActorBase.hpp b/include/Actor/FilterActorBase.hpp index 6a969411..092987a7 100644 --- a/include/Actor/FilterActorBase.hpp +++ b/include/Actor/FilterActorBase.hpp @@ -3,6 +3,8 @@ #include "global.h" #include "types.h" +#include "Actor/ActorRef.hpp" + class Actor; class FilterActorBase { @@ -13,3 +15,18 @@ public: /* 0 */ virtual bool Filter(Actor *actor) = 0; /* 4 */ }; + +class FilterActorReturn { +public: + /* 00 */ ActorRef refs[20]; + + inline FilterActorReturn() { + ActorRef *ref = refs; + ActorRef *end; + do { + end = &refs[20]; + ref->Reset(); + ref++; + } while (ref < end); + } +}; diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index e50fb673..3dcb77b9 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -251,8 +251,8 @@ public: void Sword_vfunc_38(unk32 param1); void Shield_vfunc_38(unk32 param1); void EquipItem_vfunc_38(unk32 param1); - bool EquipItem_vfunc_3c(Vec4p *param1, ItemFlag equipId); - void EquipItem_vfunc_2c(ItemFlag equipId); + bool EquipCollidesWith(Cylinder *cylinder, ItemFlag equipId); + s32 EquipItem_vfunc_2c(ItemFlag equipId); EquipItem* GetEquipItem(ItemFlag equipId); bool func_ov00_020ad790(unk32 param1); bool SetEquippedItem(ItemFlag equipId); @@ -260,6 +260,7 @@ public: void ForceEquipItem(ItemFlag equipId); bool ClearForcedEquipItem(); void UpdateSwordShieldInUse(); + static EquipItem* GetEquipItemUnchecked(ItemFlag equipId); // Ammo u16 GetAmmo(ItemFlag equipId) const; diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index e773ef19..3a7ab48b 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -167,7 +167,7 @@ public: unk8 MapData_vfunc_60(); static unk8 func_ov00_02083e70(); unk8 MapData_vfunc_68(); - void func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3); + s32 func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3, unk32 param_4); void func_ov00_02083f44(Vec3p *param_2); unk8 MapData_vfunc_6c(); unk8 MapData_vfunc_70(); diff --git a/include/Physics/Cylinder.hpp b/include/Physics/Cylinder.hpp index d25eaf22..1ba5e7b7 100644 --- a/include/Physics/Cylinder.hpp +++ b/include/Physics/Cylinder.hpp @@ -8,4 +8,14 @@ struct Cylinder { Vec3p pos; q20 size; // height and radius + + inline Cylinder() {} + inline Cylinder(q20 size) { + pos.x = 0; + pos.y = size; + pos.z = 0; + this->size = size; + } + + bool Overlaps(Cylinder *other); }; diff --git a/include/Physics/Transform.hpp b/include/Physics/Transform.hpp index 20dae584..6b72af57 100644 --- a/include/Physics/Transform.hpp +++ b/include/Physics/Transform.hpp @@ -7,6 +7,6 @@ struct Transform { Vec3p pos; - s16 rotation; + s16 angle; bool visible; }; diff --git a/include/Player/EquipBoomerang.hpp b/include/Player/EquipBoomerang.hpp index 9b17f103..3b33bbd9 100644 --- a/include/Player/EquipBoomerang.hpp +++ b/include/Player/EquipBoomerang.hpp @@ -1,15 +1,20 @@ #pragma once +#include "global.h" #include "types.h" + +#include "Actor/ActorRef.hpp" #include "Player/EquipItem.hpp" +class Actor; + class EquipBoomerang : public EquipItem { private: /* 00 (base) */ /* 09 */ u8 mUnk_09[3]; /* 0c */ void *mUnk_0c; - /* 10 */ u32 mUnk_10; - /* 14 */ u8 mUnk_18[8]; + /* 10 */ ActorRef mRef; + /* 18 */ u8 mUnk_18[8]; /* 20 */ u32 mUnk_20; /* 24 */ u32 mUnk_24; /* 28 */ u32 mUnk_28; @@ -29,4 +34,6 @@ public: /* 30 */ virtual void vfunc_30() override; // func_ov53_0219913c /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov53_02199318 /* 50 */ + + Actor* GetActor(); }; diff --git a/include/Player/EquipHammer.hpp b/include/Player/EquipHammer.hpp index 8015d5f4..934b3386 100644 --- a/include/Player/EquipHammer.hpp +++ b/include/Player/EquipHammer.hpp @@ -31,7 +31,7 @@ public: /* 2c */ virtual unk32 vfunc_2c() override; // func_ov59_02198fcc /* 30 */ virtual void vfunc_30() override; // func_ov59_02198e6c /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_0v59_02198fc8 - /* 3c */ virtual bool vfunc_3c(Vec4p *param1) const override; // func_ov14_0213ee10 + /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov14_0213ee10 /* 4c */ virtual s32 vfunc_4c() const override; // func_ov14_0213eea8 /* 50 */ }; diff --git a/include/Player/EquipItem.hpp b/include/Player/EquipItem.hpp index c4159185..93fe9e3e 100644 --- a/include/Player/EquipItem.hpp +++ b/include/Player/EquipItem.hpp @@ -4,6 +4,7 @@ #include "global.h" #include "Item/Item.hpp" +#include "Physics/Cylinder.hpp" #include "System/SysNew.hpp" class EquipItem : public SysObject { @@ -33,7 +34,7 @@ public: /* 30 */ virtual void vfunc_30() = 0; /* 34 */ virtual void vfunc_34(unk16 *param1); // func_ov00_020be96c /* 38 */ virtual void vfunc_38(unk32 param1) = 0; - /* 3c */ virtual bool vfunc_3c(Vec4p *param1) const; // func_ov00_020beb90 + /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; // func_ov00_020beb90 /* 40 */ virtual unk32 vfunc_40() const; // func_ov00_020be970 /* 44 */ virtual unk32 vfunc_44(unk32 param1) const; // func_ov00_020be978 /* 48 */ virtual unk32 vfunc_48(unk32 param1) const; // func_ov00_020be980 diff --git a/include/Player/EquipRope.hpp b/include/Player/EquipRope.hpp index 994cc1b2..19aa6997 100644 --- a/include/Player/EquipRope.hpp +++ b/include/Player/EquipRope.hpp @@ -1,17 +1,32 @@ #pragma once +#include "global.h" #include "types.h" +#include "lib/math.h" + +#include "Actor/ActorRef.hpp" +#include "Physics/Cylinder.hpp" #include "Player/EquipItem.hpp" +struct EquipRope_Unk_18 { + /* 00 */ Vec3p vec; + /* 0c */ unk8 mUnk_0c[0x10]; + /* 1c */ +}; + +class Actor; + class EquipRope : public EquipItem { -private: +public: /* 00 (base) */ /* 09 */ unk8 mUnk_09; /* 0a */ unk16 mUnk_0a; /* 0c */ unk8 mUnk_0c[4]; - /* 10 */ unk32 mUnk_10; - /* 14 */ unk32 mUnk_14; - /* 18 */ unk8 mUnk_18[0x54]; + /* 10 */ ActorRef mRef; + /* 18 */ EquipRope_Unk_18 mUnk_18[2]; + /* 50 */ unk8 mUnk_50[0x1a]; + /* 6a */ bool mUnk_6a; + /* 6b */ unk8 mUnk_6b; /* 6c */ unk16 mUnk_6c; /* 6e */ unk8 mUnk_6e[2]; /* 70 */ unk16 mUnk_70; @@ -21,7 +36,6 @@ private: /* a0 */ unk32 mUnk_a0; /* a4 */ -public: EquipRope(); /* 04 */ virtual ~EquipRope() override; @@ -36,4 +50,13 @@ public: /* 30 */ virtual void vfunc_30() override; // func_ov57_02199744 /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov57_021998f0 /* 50 */ + + Actor* func_ov14_0213d420(); + s32 func_ov14_0213d440(s32 actorId); + s32 func_ov14_0213d480(s32 actorId); + bool func_ov14_0213d81c(s32 index, Vec3p *vec); + void func_ov14_0213d91c(s32 index); + bool func_ov14_0213dadc(s32 index, Cylinder *cylinder); + s32 func_ov14_0213ddd4(Actor *actor); + bool func_ov14_0213defc(Actor *actor); }; diff --git a/include/Player/EquipShield.hpp b/include/Player/EquipShield.hpp index a66da083..8bf435df 100644 --- a/include/Player/EquipShield.hpp +++ b/include/Player/EquipShield.hpp @@ -30,6 +30,6 @@ public: /* 30 */ virtual void vfunc_30() override; // func_ov00_020c0804 /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov00_020c086c - /* 3c */ virtual bool vfunc_3c(Vec4p *param1) const; // func_ov00_020c0a88 + /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const; // func_ov00_020c0a88 /* 50 */ }; diff --git a/include/Player/EquipSword.hpp b/include/Player/EquipSword.hpp index 57b64443..988ccdda 100644 --- a/include/Player/EquipSword.hpp +++ b/include/Player/EquipSword.hpp @@ -2,6 +2,7 @@ #include "types.h" #include "Player/EquipItem.hpp" +#include "Player/EquipRope.hpp" class EquipSword : public EquipItem { private: @@ -53,6 +54,8 @@ public: /* 2c */ virtual u32 vfunc_2c() override; // func_ov00_020c0674 /* 30 */ virtual void vfunc_30() override; // func_ov00_020bf538 /* 38 */ virtual void vfunc_38(unk32 param1) override; // func_ov00_020bff94 - /* 3c */ virtual bool vfunc_3c(Vec4p *param1) const override; // func_ov00_020c01dc + /* 3c */ virtual bool GetHitbox(Cylinder *hitbox) const override; // func_ov00_020c01dc /* 50 */ + + static EquipRope* GetEquipRope(); }; diff --git a/include/Player/PlayerBase.hpp b/include/Player/PlayerBase.hpp index 7fac1b3c..0b6a5187 100644 --- a/include/Player/PlayerBase.hpp +++ b/include/Player/PlayerBase.hpp @@ -53,9 +53,14 @@ public: EquipShield* GetEquipShield(); void LookAt(Vec3p *target); bool func_ov00_020a7c00(s32 param1); - bool func_ov00_020a7c1c(Cylinder *cylinder); + bool CollidesWith(Cylinder *cylinder); bool func_ov00_020a7c60(Vec3p *param1, Vec3p *param2, s32 param3); - void EquipItem_vfunc_3c(Cylinder *cylinder, ItemFlag equipId); - void EquipItem_vfunc_2c(); + bool EquipCollidesWith(Cylinder *cylinder, ItemFlag equipId); + s32 EquipItem_vfunc_2c(); void SetHealth(s16 health); }; + +extern PlayerBase *gPlayer; +extern Vec3p gPlayerPos; +extern Vec3p gPlayerVel; +extern s16 gPlayerAngle; diff --git a/include/Player/PlayerControl.hpp b/include/Player/PlayerControl.hpp index 47c94d7a..5b424979 100644 --- a/include/Player/PlayerControl.hpp +++ b/include/Player/PlayerControl.hpp @@ -126,3 +126,5 @@ public: bool IsTappedNow(); bool func_ov00_020b13c4(); }; + +extern PlayerControl *gPlayerControl; diff --git a/include/Player/PlayerLinkBase.hpp b/include/Player/PlayerLinkBase.hpp index e708f235..09eefeb1 100644 --- a/include/Player/PlayerLinkBase.hpp +++ b/include/Player/PlayerLinkBase.hpp @@ -19,6 +19,7 @@ enum PlayerCharacter_ { }; class PlayerLinkBase: public PlayerBase { +public: /* 00 (base) */ /* 14 */ Vec3p mPos; /* 20 */ Vec3p mVel; @@ -68,9 +69,18 @@ class PlayerLinkBase: public PlayerBase { /* 6c */ virtual void vfunc_6c(); /* 70 */ virtual void vfunc_70(s32 param1, Vec3p *param2, unk32 param3); /* 74 */ virtual void vfunc_74(); - /* 78 */ virtual bool vfunc_78(); + /* 78 */ virtual unk32 vfunc_78(); /* 7c */ virtual void vfunc_7c(); /* 80 */ virtual void SetUnk_5e(); /* 84 */ virtual void ResetUnk_5e(); /* 88 */ + + bool func_ov00_020bbd80(s32 param1); + void func_ov00_020bc854(Vec3p *param1); + bool func_ov00_020bd304(); + bool GongoronCollidesWith(Cylinder *hitbox); + s32 GetGrabActorId(); + PlayerCharacter GetCurrentCharacter(); }; + +extern PlayerLinkBase *gPlayerLink; diff --git a/include/Player/TouchControl.hpp b/include/Player/TouchControl.hpp index b5c79750..480ee42c 100644 --- a/include/Player/TouchControl.hpp +++ b/include/Player/TouchControl.hpp @@ -3,6 +3,7 @@ #include "global.h" #include "types.h" #include "lib/touch.h" +#include "lib/math.h" typedef u16 TouchFlags; enum TouchFlag_ { @@ -43,4 +44,7 @@ public: void UpdateConditionally(TouchState *state, u16 speed); void func_ov00_0207af38(u16 speed, bool param2); ~TouchControl(); + + static bool func_0202b864(Vec3p *param1, s32 size, unk8 param3); + static bool func_0202b894(Vec3p *param1, s32 size, unk8 param3); }; diff --git a/include/lib/math.h b/include/lib/math.h index a8951eb4..8242284e 100644 --- a/include/lib/math.h +++ b/include/lib/math.h @@ -10,8 +10,15 @@ typedef s16 q4; #define INT_TO_Q20(n) ((s32)((n) << 12)) #define FLOAT_TO_Q20(n) ((s32)(((n) * 8192 + 1) / 2)) - #define ROUND_Q20(n) (((s32)(n) + 0x800) >> 12) +#define MUL_Q20(a,b) (q20)((((s64)(a)) * ((s64)(b)) + 0x800) >> 12) + +#define DEG_TO_ANG(n) ((n) * 0x10000 / 360) +#define SIN(n) (gSinCosTable[2 * ((n) >> 4)]) +#define COS(n) (gSinCosTable[2 * ((n) >> 4) + 1]) + +extern "C" s32 Atan2(s32 x, s32 y); +extern q4 gSinCosTable[]; typedef struct { /* 0 */ s8 x; @@ -32,6 +39,38 @@ typedef struct { /* c */ } Vec3p; +extern const Vec3p gVec3p_ZERO; + +extern "C" void Vec3p_Add(Vec3p *a, Vec3p *b, Vec3p *out); +extern "C" void Vec3p_Sub(Vec3p *a, Vec3p *b, Vec3p *out); +extern "C" q20 Vec3p_Dot(Vec3p *a, Vec3p *b); +extern "C" void Vec3p_Cross(Vec3p *a, Vec3p *b, Vec3p *out); +extern "C" q20 Vec3p_Length(Vec3p *a); +extern "C" void Vec3p_Normalize(Vec3p *vec, Vec3p *out); +extern "C" void Vec3p_Axpy(q20 a, Vec3p *x, Vec3p *y, Vec3p *out); +extern "C" q20 Vec3p_Distance(Vec3p *a, Vec3p *b); + +inline void Vec3p_Rotate(Vec3p *vec, q20 sin, q20 cos, Vec3p *out) { + out->x += MUL_Q20(vec->z, sin); + out->z += MUL_Q20(vec->z, cos); + out->x += MUL_Q20(vec->x, cos); + out->z += MUL_Q20(vec->x, -sin); +} + +inline void Vec3p_CopyXZ(Vec3p *vec, Vec3p *out) { + q20 z = vec->z; + q20 x = vec->x; + out->x = x; + out->y = 0; + out->z = z; +} + +inline void Vec3p_Copy(Vec3p *vec, Vec3p *out) { + out->x = vec->x; + out->y = vec->y; + out->z = vec->z; +} + typedef struct { /* 00 */ q20 x; /* 04 */ q20 y; @@ -51,4 +90,3 @@ extern "C" u32 FastDivide(u32 a, u32 b); extern "C" u32 Divide(u32 a, u32 b); extern "C" bool Approach(unk32 *src, unk32 dest, unk32 step); extern "C" bool Approach_thunk(unk32 *src, unk32 dest, unk32 step); -extern "C" bool func_01ffec34(Vec4p *param1, Vec4p *param2); diff --git a/include/types.h b/include/types.h index baa3fb32..a0952eff 100644 --- a/include/types.h +++ b/include/types.h @@ -1,10 +1,12 @@ #ifndef PH_TYPES_H #define PH_TYPES_H +typedef unsigned long long u64; typedef unsigned int u32; typedef unsigned short u16; typedef unsigned char u8; +typedef long long s64; typedef int s32; typedef short s16; typedef char s8; diff --git a/libs/c/include/stdlib.h b/libs/c/include/stdlib.h new file mode 100644 index 00000000..0f078d8a --- /dev/null +++ b/libs/c/include/stdlib.h @@ -0,0 +1,6 @@ +#ifndef _C_STRLIB_H +#define _C_STRLIB_H + +int abs(int n); + +#endif diff --git a/src/00_Core/Actor/Actor.cpp b/src/00_Core/Actor/Actor.cpp index 06633177..b15fee13 100644 --- a/src/00_Core/Actor/Actor.cpp +++ b/src/00_Core/Actor/Actor.cpp @@ -1,105 +1,982 @@ -#include "Actor/Actor.hpp" +extern "C" { + #include +} + +#include "Actor/Actor.hpp" +#include "Actor/ActorManager.hpp" +#include "Actor/ActorPlayerDummy.hpp" +#include "Item/ItemManager.hpp" +#include "Map/MapManager.hpp" +#include "Player/EquipSword.hpp" +#include "Player/PlayerControl.hpp" +#include "Player/PlayerLinkBase.hpp" +#include "Player/TouchControl.hpp" +#include "Save/AdventureFlags.hpp" + +static char *sShipTypes[] = { "brg", "anc", "bow", "hul", "can", "dco", "pdl", "fnl" }; + +struct UnkStruct3 { + /* 0 */ s16 mUnk_0; + /* 2 */ u8 mUnk_2; + /* 3 */ +}; +const UnkStruct3 sUnkTable[] = { + { 0xff, 2 }, + { 0xff, 2 }, + { 0xff, 2 }, + { 0xff, 2 }, + { 0xff, 2 }, + { 6, 2 }, + { 4, 2 }, + { 4, 2 }, + { 4, 2 }, + { 1, 2 }, + { 12, 2 }, + { 4, 2 }, + { 4, 2 }, + { 8, 2 }, + { 12, 2 }, + { 2, 2 }, + { 2, 2 }, + { 20, 2 }, + { 20, 2 }, + { 1, 2 }, + { 4, 2 }, + { 4, 2 }, + { 4, 2 }, + { 8, 2 }, + { 4, 2 }, + { 0xff, 2 }, + { 20, 2 }, + { 6, 2 }, + { 6, 2 }, + { 2, 2 }, +}; + +KILL(_ZN19Actor_UnkStruct_020C2Ev) +Actor_UnkStruct_020::Actor_UnkStruct_020(): + mUnk_0c(-1), + mUnk_0d(0), + mUnk_0e(1), + mUnk_10(-1) +{ + for (s32 i = 0; i < 4; ++i) { + mUnk_00[i] = 0; + } + for (s32 i = 0; i < 2; ++i) { + mUnk_08[i] = 0; + mUnk_0a[i] = 0; + } +} + +KILL(_ZN5ActorC1Ev) +ARM Actor::Actor(): + mType(ActorTypeId_Null), + mRef(-1, -1), + mUnk_010(0), + mUnk_011(0), + mUnk_012(0), + mUnk_034(-1), + mUnk_038(-1), + mUnk_03c(-1), + mUnk_040(-1, -1), + mGravity(FLOAT_TO_Q20(0.0498)), + mMaxFall(FLOAT_TO_Q20(0.5)), + mUnk_074(2), + mAngle(0), + mUnk_07a(-1), + mHitbox(FLOAT_TO_Q20(0.5)), + mUnk_08c(mHitbox), + mUnk_0a4(0, FLOAT_TO_Q20(1.0), 0, FLOAT_TO_Q20(1.0)), + mUnk_0dc(0xffff), + mUnk_0de(0xffff), + mUnk_0e0(0xffff), + mUnk_0e2(0xffff), + mUnk_0e4(0), + mUnk_106(0), + mUnk_107(0), + mUnk_108(0), + mUnk_109(0), + mUnk_110(0), + mUnk_111(0), + mUnk_112(0), + mUnk_113(0), + mUnk_114(0), + mUnk_115(0), + mAlive(true), + mUnk_119(1), + mVisible(true), + mUnk_11b(false), + mUnk_11c(0), + mUnk_11d(false), + mYOffset(0), + mUnk_120(4), + mUnk_122(0xff), + mUnk_124(1), + mUnk_125(4), + mUnk_126(3), + mUnk_128(false), + mUnk_129(false), + mUnk_12a(0), + mUnk_12c(0), + mUnk_130(-1), + mUnk_134(-1), + mActiveFrames(0), + mUnk_13c(0), + mUnk_140(0), + mUnk_144(0) +{ + mUnk_014.x = 0; + mUnk_014.y = 0; + mUnk_014.z = 0; + mPos.x = 0; + mPos.y = 0; + mPos.z = 0; + mPrevPos.x = 0; + mPrevPos.y = 0; + mPrevPos.z = 0; + mVel.x = 0; + mVel.y = 0; + mVel.z = 0; +} + +ARM Actor::~Actor() {} + +ARM bool Actor::vfunc_08() { + return true; +} + +ARM void Actor::vfunc_0c() {} +ARM void Actor::vfunc_10(u32 param1) {} +ARM void Actor::vfunc_24() {} +ARM void Actor::vfunc_28() {} + +ARM void Actor::GetOffsetPos(Vec3p *pos) { + *pos = mPos; + pos->y += mYOffset; +} + +extern "C" unk32 func_ov00_02087ef0(); +ARM unk32 Actor::vfunc_38() { + return func_ov00_02087ef0(); +} + +ARM unk8 Actor::func_ov00_020c1788() { + return gMapManager->func_ov00_02083570(mUnk_010, mUnk_011); +} + +ARM s32 Actor::vfunc_2c() { + return -1; +} + +ARM unk32 Actor::vfunc_30() { + return 0; +} + +ARM void Actor::vfunc_14(u32 param1) {} + +extern "C" void func_ov00_0207a1c8(Actor_UnkStruct_0a4 *param1, u32 param2, Vec3p *param3); +ARM void Actor::vfunc_18(u32 param1) { + func_ov00_0207a1c8(&mUnk_0a4, param1, &mPos); +} + +struct UnkStruct1 { + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk8 mUnk_08; + /* 09 */ unk8 mUnk_09; + /* 0a */ unk8 mUnk_0a; + /* 0b */ unk8 mUnk_0b; + /* 0c */ unk32 mUnk_0c; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk8 mUnk_14; + /* 15 */ unk8 mUnk_15; + /* 16 */ unk16 mUnk_16; + /* 18 */ unk32 mUnk_18; + /* 1c */ unk32 mUnk_1c; + /* 20 */ +}; +extern void *data_027e0d3c; +extern unk32 data_02063e4c; +extern "C" bool func_ov00_02079470(void *param1, Vec3p *param2, unk32 param3, unk32 param4, unk32 *param5, unk32 *param6, unk32 param7, unk32 param8); +extern "C" void func_01ffbe34(UnkStruct1 *param1); +extern "C" void func_020313c8(unk32 *param1, unk32 param2, unk32 param3, u32 param4, UnkStruct1 *param5); +ARM void Actor::vfunc_1c(u16 *param1) { + u16 unk1 = mUnk_07a; + if (mUnk_129) unk1 = mUnk_126; + if (unk1 != 0xffff) { + if ((*param1 & 4) == 0 && (*param1 & 8) == 0) return; + unk32 unk2; + unk32 unk3; + if (func_ov00_02079470(data_027e0d3c, &mPos, 0, 0, &unk2, &unk3, 0, 0)) { + UnkStruct1 unk4; + func_01ffbe34(&unk4); + unk4.mUnk_04 = 1; + func_020313c8(&data_02063e4c, unk2, unk3, unk1, &unk4); + } + } +} + +ARM void Actor::vfunc_20(s32 param1) {} + +ARM void Actor::SetUnk_129(bool value) { + if (mUnk_128) mUnk_129 = value; +} + +ARM bool Actor::SetUnk_11b() { + if (mUnk_11b) return false; + mUnk_11b = true; + return true; +} + +ARM bool Actor::SetVelocity(Vec3p *vel) { + if (!mUnk_11b) return false; + mVel = *vel; + mUnk_11b = false; + return true; +} + +ARM bool Actor::vfunc_60() { + return false; +} + +ARM void Actor::vfunc_64() {} + +ARM void Actor::SetUnk_11c(unk8 value) { + mUnk_11c = value; +} + +ARM void Actor::vfunc_68() {} + +ARM bool Actor::vfunc_6c() { + return true; +} + +ARM bool Actor::vfunc_70() { + return true; +} + +ARM void Actor::vfunc_74() {} +ARM void Actor::vfunc_7c() {} + +ARM bool Actor::vfunc_78() { + return true; +} + +ARM void Actor::vfunc_80() {} +ARM void Actor::vfunc_84() {} +ARM void Actor::vfunc_88() {} + +ARM bool Actor::vfunc_8c() { + return true; +} + +ARM bool Actor::vfunc_90() { + return true; +} + +ARM void Actor::vfunc_94() {} +ARM bool Actor::vfunc_98() {} +ARM bool Actor::vfunc_9c() {} + +ARM bool Actor::func_ov00_020c195c() { + if (!mUnk_11b) return false; + gPlayerLink->func_ov00_020bc854(&mPos); + return true; +} + +struct UnkStruct2 { + /* 0 */ u32 mUnk_0; + /* 4 */ u32 mUnk_4; + /* 8 */ +}; +extern UnkStruct2 data_027e077c; +extern u8 data_02056be4[]; +extern "C" bool func_ov05_02103f4c(s32 param1); +extern s32 data_027e103c; +ARM bool Actor::func_ov00_020c198c() { + u32 unk1 = data_027e077c.mUnk_0; + u32 unk2 = data_027e077c.mUnk_4; + if ( + data_027e077c.mUnk_0 != data_027e077c.mUnk_4 + || (data_02056be4[unk1] & 1) != 0 + || (data_02056be4[unk2] & 4) != 0 + || func_ov05_02103f4c(data_027e103c) + || gPlayer->mHealth <= 0 + ) { + return false; + } + if (gPlayerLink && !gPlayerLink->func_ov00_020bd304()) return false; + return true; +} + +ARM bool KillPickupsFilter::Filter(Actor *actor) { + switch (actor->mType) { + case ActorTypeId_Rupee: + case ActorTypeId_Heart: + case ActorTypeId_Bomb: + case ActorTypeId_Arrow: + case ActorTypeId_BMRN: + case ActorTypeId_BMTY: + case ActorTypeId_FLAL: + case ActorTypeId_FLBM: + case ActorTypeId_FLBT: + case ActorTypeId_FLTM: + { + actor->Kill(); + return true; + } + + default: return false; + } +} + +ARM void Actor::KillPickupItemActors() { + KillPickupsFilter killPickups; + gActorManager->FilterActors(&killPickups, NULL); +} + +ARM bool Actor::TrySetTransform(Transform *transform) { + mPrevPos = mPos; + mPos = transform->pos; + mAngle = transform->angle; + mVisible = transform->visible; + return true; +} + +ARM void Actor::SetTransform(Transform *transform) { + mPrevPos = mPos; + mPos = transform->pos; + mAngle = transform->angle; + mVisible = transform->visible; +} + +ARM void Actor::vfunc_a8() {} + +ARM void Actor::func_Ov00_020c1bfc(s32 param1) { + gMapManager->func_ov00_02084be0(mUnk_020.mUnk_0a[param1], mUnk_020.mUnk_08[param1]); +} + +ARM void Actor::func_ov00_020c1c20(s32 param1, unk32 param2) { + gMapManager->func_ov00_02084b38(mUnk_020.mUnk_0a[param1], mUnk_020.mUnk_08[param1], param2); +} + +ARM bool Actor::vfunc_48(Knockback *param1) { + return true; +} + +extern "C" void func_ov00_020c8398(ActorTypeId type, Vec3p *pos, unk32 param2); +ARM bool Actor::vfunc_4c(unk32 *param1) { + if ((*param1 & 0x1f) == 0x8) { + func_ov00_020c8398(mType, &mPos, 1); + this->Kill(); + return true; + } + this->Kill(); + return true; +} + +ARM bool Actor::IsNearLink() { + Vec3p playerPos = gPlayerPos; + q20 z = playerPos.z; + q20 dx = abs(playerPos.x - mPos.x); + if (dx > FLOAT_TO_Q20(10.0)) return false; + q20 dz = abs(playerPos.z - mPos.z); + return dz <= FLOAT_TO_Q20(10.0); +} + +ARM void Actor::func_ov00_020c1cf8() { + if (mUnk_0a4.mUnk_00 || mUnk_0a4.mUnk_01 || mUnk_129 == true || mUnk_11d == true || mUnk_11b == true) { + mInactive = 0; + } else { + if (this->IsNearLink()) { + mInactive = 1; + } else { + mInactive = 2; + } + } +} + +ARM bool Actor::func_ov00_020c1d58() { + if (gAdventureFlags->func_ov00_02097738()) return false; + return gPlayer->vfunc_04() != false; +} + +ARM bool Actor::func_ov00_020c1da0(s32 param1, Vec3p *param2) { + if (!this->func_ov00_020c1d58()) return false; + + Vec3p vec; + if (param2) { + vec = *param2; + } else { + Vec3p_Sub(&gPlayerPos, &mPrevPos, &vec); + } + + return gPlayer->vfunc_30(mUnk_124, &vec, param1); +} + +ARM bool Actor::func_ov00_020c1e2c(s32 param1, Vec3p *param2) { + if (!this->func_ov00_020c1d58()) return false; + if (mHitbox.size < 0) return false; + + Vec3p vec; + if (param2) { + vec = *param2; + } else { + Vec3p_Sub(&gPlayerPos, &mPrevPos, &vec); + } + + Cylinder hitbox; + this->GetHitbox(&hitbox); + if (gPlayer->CollidesWith(&hitbox)) { + return gPlayer->vfunc_30(mUnk_124, &vec, param1); + } + return false; +} + +ARM bool Actor::func_ov00_020c1ef8(Cylinder *param1, Vec3p *param2, s32 param3, s32 param4) { + if (!this->func_ov00_020c1d58()) return false; + if (gPlayer->CollidesWith(param1)) { + return gPlayer->vfunc_30(param3, param2, param4); + } + return false; +} + +ARM bool Actor::func_ov00_020c1f5c(Vec3p *param1, Vec3p *param2, s32 param3, Vec3p *param4, u8 param5, s32 param6) { + if (!this->func_ov00_020c1d58()) return false; + if (gPlayer->func_ov00_020a7c60(param1, param2, param3)) { + return gPlayer->vfunc_30(param5, param4, param6); + } + return false; +} + +ARM bool Actor::func_ov00_020c1fc8(PlayerCollide flags) { + if (gAdventureFlags->func_ov00_02097738()) return false; + bool result = false; + if (mHitbox.size >= 0) { + Vec3p vecFromPlayer; + Vec3p_Sub(&mPos, &gPlayerPos, &vecFromPlayer); + if (this->CollidesWithPlayer(flags & PlayerCollide_Sword)) { + Knockback knockback; + knockback.mUnk_00 = gPlayer->EquipItem_vfunc_2c(); + knockback.vec = vecFromPlayer; + knockback.mUnk_10 = 0; + knockback.actor = NULL; + result = this->vfunc_48(&knockback); + } else if (this->CollidesWithPlayer(flags & PlayerCollide_Shield)) { + Knockback knockback; + knockback.mUnk_00 = 0; + knockback.vec = vecFromPlayer; + if ((s32) gItemManager->GetActiveFairyLevel(FairyId_Wisdom) >= 1) { + knockback.mUnk_10 = 3; + } else { + knockback.mUnk_10 = 2; + } + knockback.actor = NULL; + result = this->vfunc_48(&knockback); + } else if (this->CollidesWithPlayer(flags & PlayerCollide_Hammer)) { + Knockback knockback; + knockback.mUnk_00 = gPlayer->EquipItem_vfunc_2c(); + knockback.vec = vecFromPlayer; + knockback.mUnk_10 = 4; + knockback.actor = NULL; + result = this->vfunc_48(&knockback); + } else if (this->CollidesWithPlayer(flags & PlayerCollide_Gongoron)) { + Knockback knockback; + knockback.mUnk_00 = gPlayerLink->vfunc_78(); + knockback.vec = vecFromPlayer; + if (knockback.mUnk_00 != 0) { + knockback.mUnk_10 = 9; + } else { + knockback.mUnk_10 = 2; + } + knockback.actor = NULL; + result = this->vfunc_48(&knockback); + } + } + return result; +} + +ARM bool Actor::CollidesWithShield(Cylinder *param1) { + Vec3p vecFromPlayer; + Vec3p_Sub(&mPos, &gPlayerPos, &vecFromPlayer); + s32 currAngle = gPlayerAngle; + s32 angle = Atan2(vecFromPlayer.x, vecFromPlayer.z); + s32 angleDiff = (s16)angle - currAngle; + if (angleDiff < 0) angleDiff = -angleDiff; + if (angleDiff <= DEG_TO_ANG(90) && gPlayer->EquipCollidesWith(param1, ItemFlag_WoodenShield)) { + return true; + } + return false; +} + +ARM bool Actor::CollidesWithPlayer(PlayerCollide flags) { + if (flags != 0 && mHitbox.size >= 0) { + Cylinder hitbox; + this->GetHitbox(&hitbox); + if (flags & PlayerCollide_Player) { + if (gPlayer->CollidesWith(&hitbox)) return true; + } + if (flags & PlayerCollide_Sword) { + if (gPlayer->EquipCollidesWith(&hitbox, ItemFlag_OshusSword)) return true; + } + if (flags & PlayerCollide_Shield) { + if (this->CollidesWithShield(&hitbox)) return true; + } + if (flags & PlayerCollide_Gongoron) { + if (gPlayerLink && gPlayerLink->GongoronCollidesWith(&hitbox)) return true; + } + if (flags & PlayerCollide_Hammer) { + if (gPlayer->EquipCollidesWith(&hitbox, ItemFlag_Hammer)) return true; + } + } + return false; +} + +ARM void Actor::func_ov00_020c23c4(ActorRef *ref, Actor *actor) { + Actor::func_ov00_020c23d4(ref, actor, &actor->mHitbox); +} + +ARM void Actor::func_ov00_020c23d4(ActorRef *ref, Actor *actor, Cylinder *cylinder) { + *ref = actor->mUnk_040; + if (!gActorManager->func_ov00_020c398c(actor->mRef.index)) { + ref->Reset(); + } + actor->mUnk_040.Reset(); + gActorManager->func_ov00_020c399c(actor->mRef.index, cylinder); +} + +ARM bool Actor::func_ov00_020c243c(ActorTypeId *actorTypes, Actor **out) { + if (out) *out = NULL; + if (gAdventureFlags->func_ov00_02097738()) return false; + + bool result = false; + if (mHitbox.size >= 0) { + Actor *actor = gActorManager->func_ov00_020c39ac(mRef.index, actorTypes, false); + if (actor) { + Knockback knockback; + if (actor->mType == ActorTypeId_Arrow || actor->mType == ActorTypeId_SBEM) { + q20 cos = COS(actor->mAngle); + q20 sin = SIN(actor->mAngle); + knockback.vec.x = sin; + knockback.vec.y = 0; + knockback.vec.z = cos; + } else { + Vec3p_Sub(&mPos, &actor->mPrevPos, &knockback.vec); + } + knockback.mUnk_00 = actor->mUnk_125; + knockback.actor = actor; + + switch (actor->mType) { + case ActorTypeId_SBEM: { + knockback.mUnk_10 = 1; + } break; + + case ActorTypeId_Arrow: { + knockback.mUnk_10 = 7; + } break; + + case ActorTypeId_BMRN: { + knockback.mUnk_10 = 5; + } break; + + case ActorTypeId_ROPE: { + knockback.mUnk_10 = 8; + } break; + + case ActorTypeId_Bomb: + case ActorTypeId_BLST: + case ActorTypeId_BMTY: + case ActorTypeId_CBLS: { + knockback.mUnk_10 = 6; + } break; + + case ActorTypeId_TSBH: + case ActorTypeId_BIGR: + case ActorTypeId_BTRF: + case ActorTypeId_STNE: + case ActorTypeId_TARU: + case ActorTypeId_BKEY: + case ActorTypeId_FORC: + case ActorTypeId_FLTB: + case ActorTypeId_TSUB: + { + knockback.mUnk_10 = 10; + } break; + + case ActorTypeId_VLR0: { + knockback.mUnk_10 = 4; + } break; + + default: { + knockback.mUnk_10 = 11; + } break; + } + + result = this->vfunc_48(&knockback); + if (result) { + actor->mUnk_040 = this->mRef; + if (out) *out = actor; + } + } + } + return result; +} + +ARM bool Actor::CollidesWith(Actor *other) { + bool collides = false; + if (other->mAlive) { + if (other->mHitbox.size >= 0 && mHitbox.size >= 0) { + Cylinder a, b; + this->GetHitbox(&a); + other->GetHitbox(&b); + if (a.Overlaps(&b)) collides = true; + } + } + return collides; +} + +ARM bool Actor::func_ov00_020c27a8(unk32 param1) { + if (mUnk_11b) return false; + if (param1 == 0) return mUnk_12c != 0; + return mUnk_12c == param1; +} + +ARM bool Actor::CollidesWithLink() { + Cylinder hitbox; + this->GetHitbox(&hitbox); + // Link's hitbox has a radius of 1, hence why they add 1.0 here + return this->DistanceToLink() < hitbox.size + FLOAT_TO_Q20(1.0); +} + +ARM bool Actor::IsFollowedByLink() { + return mRef.id == gPlayerControl->mFollowRef.id; +} + +ARM void Actor::StopLinkFollow() { + if (!this->IsFollowedByLink()) return; + gPlayerControl->StopFollowing(); +} + +ARM bool Actor::IsGrabbed() { + s32 id = mRef.id; + return id == gPlayerLink->GetGrabActorId(); +} + +ARM q20 Actor::XzDistanceTo(Vec3p *vec) { + Vec3p src, dest; + Vec3p_CopyXZ(&mPos, &src); + Vec3p_CopyXZ(vec, &dest); + return Vec3p_Distance(&src, &dest); +} + +ARM q20 Actor::DistanceToLink() { + return Vec3p_Distance(&mPos, &gPlayerPos); +} + +ARM q20 Actor::XzDistanceToLink() { + Vec3p src; + Vec3p_CopyXZ(&mPos, &src); + Vec3p dest = gPlayerPos; + dest.y = 0; + return Vec3p_Distance(&src, &dest); +} + +ARM s16 Actor::GetAngleTo(Vec3p *vec) { + s16 angle = mAngle; + q20 dz = vec->z - mPos.z; + q20 dx = vec->x - mPos.x; + if (dx != 0 || dz != 0) { + angle = Atan2(dx, dz); + } + return angle; +} + +ARM s32 Actor::GetAngleToLink() { + return this->GetAngleTo(&gPlayerPos); +} + +extern "C" void func_0202d95c(Vec3p *param1, q20 param2); +ARM void Actor::func_ov00_020c2988(Vec3p *param1, q20 param2, Vec3p *param3) { + q20 z1 = param1->z; + q20 z0 = mPos.z; + param3->x = param1->x - mPos.x; + param3->y = 0; + param3->z = z1 - z0; + q20 dist = this->XzDistanceTo(param1); + if (dist < param2) param2 = dist; + func_0202d95c(param3, param2); +} + +ARM void Actor::ResetWallTouch() { + mWallTouch.x = 0; + mWallTouch.y = 0; + mWallTouch.z = 0; +} + +ARM bool Actor::func_ov00_020c29ec(q20 param1) { + return Vec3p_Length(&mWallTouch) > param1; +} + +ARM void Actor::GetHitbox(Cylinder *hitbox) { + hitbox->size = mHitbox.size; + u32 angle = 2 * (mAngle >> 4); + hitbox->pos.x = mPos.x; + hitbox->pos.y = mPos.y; + hitbox->pos.z = mPos.z; + hitbox->pos.y += mHitbox.pos.y; + + q20 sin = gSinCosTable[angle]; + q20 cos = gSinCosTable[angle + 1]; + Vec3p_Rotate(&mHitbox.pos, sin, cos, &hitbox->pos); +} + +ARM void Actor::GetUnk_08c(Cylinder *param1) { + param1->size = mUnk_08c.size; + u32 angle = 2 * (mAngle >> 4); + param1->pos.x = mPos.x; + param1->pos.y = mPos.y; + param1->pos.z = mPos.z; + param1->pos.y += mUnk_08c.pos.y; + + q20 sin = gSinCosTable[angle]; + q20 cos = gSinCosTable[angle + 1]; + Vec3p_Rotate(&mUnk_08c.pos, sin, cos, ¶m1->pos); +} + +ARM void Actor::IncreaseActiveFrames() { + mActiveFrames += 1; + if (mActiveFrames < 0) mActiveFrames = 0; +} + +ARM bool Actor::func_ov00_020c2c0c() { + const ActorTypeId types[] = { + ActorTypeId_BMRN, + ActorTypeId_Null, + }; + return mHitbox.size >= 0 && gActorManager->func_ov00_020c39ac(mRef.index, types, false); +} + +ARM bool Actor::func_ov00_020c2c70() { + Vec3p vel; + Actor *boomerang = this->GetEquipBoomerang()->GetActor(); + if (boomerang) { + Vec3p_Sub(&boomerang->mPos, &mPos, &vel); + if (Vec3p_Length(&vel) > FLOAT_TO_Q20(1.0)) { + func_0202d95c(&vel, FLOAT_TO_Q20(1.0)); + } + } else { + PlayerCharacter character = gPlayerLink->GetCurrentCharacter(); + if (character == PlayerCharacter_Gongoron) { + Vec3p pos; + this->GetLinkPos(&pos); + Vec3p_Sub(&pos, &mPos, &vel); + } else { + Vec3p_Sub(&gPlayerPos, &mPos, &vel); + } + } + Vec3p_Add(&mPos, &vel, &mPos); + mVel = vel; + return boomerang != NULL; +} + +ARM EquipBoomerang* Actor::GetEquipBoomerang() { + return (EquipBoomerang*) ItemManager::GetEquipItemUnchecked(ItemFlag_Boomerang); +} + +ARM bool Actor::func_ov00_020c2d54() { + const ActorTypeId types[] = { + ActorTypeId_ROPE, + ActorTypeId_Null, + }; + if (mHitbox.size >= 0) { + Actor *actor = gActorManager->func_ov00_020c39ac(mRef.index, types, false); + if (actor) { + EquipRope *rope = EquipSword::GetEquipRope(); + if (rope->func_ov14_0213d480(mRef.id) < 0) { + actor->mUnk_040 = mRef; + return true; + } + } + } + return false; +} + +ARM bool Actor::func_ov00_020c2de4() { + Vec3p vel; + + EquipRope *rope = EquipSword::GetEquipRope(); + Actor *actor = rope->func_ov14_0213d420(); + if (actor) { + Vec3p_Sub(&actor->mPos, &mPos, &vel); + if (Vec3p_Length(&vel) > FLOAT_TO_Q20(1.0)) { + func_0202d95c(&vel, FLOAT_TO_Q20(1.0)); + } + } else { + Vec3p_Sub(&gPlayerPos, &mPos, &vel); + } + Vec3p_Add(&mPos, &vel, &mPos); + mVel = vel; + return actor != NULL; +} + +ARM bool Actor::func_ov00_020c2e7c() { + bool result = false; + EquipRope *rope = EquipSword::GetEquipRope(); + if (!mUnk_11d) { + s32 unk1 = rope->func_ov14_0213ddd4(this); + s32 unk2 = unk1; + if (unk1 >= 0) { + unk1 = rope->mUnk_70; + if (unk1 >= unk2) result = true; + } + } + return result; +} + +ARM bool Actor::func_ov00_020c2ebc() { + EquipRope *rope = EquipSword::GetEquipRope(); + return rope->func_ov14_0213defc(this); +} + +ARM bool Actor::func_ov00_020c2ed4() { + EquipRope *rope = EquipSword::GetEquipRope(); + s32 index = rope->func_ov14_0213d440(mRef.id); + if (index >= 0) { + bool unk1 = rope->func_ov14_0213d420(); + if (unk1) { + Vec3p vel; + if (rope->func_ov14_0213d81c(index, &vel)) { + mVel = vel; + Vec3p_Add(&mPos, &mVel, &mPos); + if (!this->func_01fffd04(1)) { + Cylinder hitbox; + this->GetHitbox(&hitbox); + return rope->func_ov14_0213dadc(index, &hitbox); + } + rope->func_ov14_0213d91c(index); + return false; + } else { + return true; + } + } + } else { + index = rope->func_ov14_0213d480(mRef.id); + if (index >= 0) return true; + } + if (rope->mUnk_6a) mVel = gVec3p_ZERO; + return false; +} + +ARM bool Actor::IsHitboxTouched(bool param1) { + q20 size = mHitbox.size; + bool result = false; + if (size >= 0) { + Vec3p pos = mPos; + pos.y += size; + if (param1) { + result = TouchControl::func_0202b864(&pos, size, 8); + } else { + result = TouchControl::func_0202b894(&pos, size, 8); + } + } + return result; +} + +ARM void Actor::ApplyGravity() { + mVel.y -= mGravity; + if (mVel.y < -mMaxFall) mVel.y = -mMaxFall; +} + +ARM bool Actor::func_ov00_020c3094() { + bool result = false; + Vec3p pos, prevPos; + Vec3p_Copy(&mPos, &pos); + Vec3p_Copy(&mPrevPos, &prevPos); + s32 unk1 = gMapManager->func_ov00_02083ef8(&pos, &prevPos, 0); + if (mPos.y <= unk1) { + result = true; + mPos.y = unk1; + } + return result; +} + +ARM Vec3p* Actor::GetPos() { + return &mPos; +} + +ARM void Actor::vfunc_54() {} + +extern "C" bool func_ov00_020c5924(Vec3p *param1, unk16 param2, ActorRef *param3, unk32 param4, ActorRef *param5); +ARM bool Actor::func_ov00_020c3118(unk16 param1) { + return func_ov00_020c5924(&mPos, param1, &mRef, 2, NULL); +} + +extern u8 data_027e0c54; +ARM bool Actor::func_ov00_020c313c(u32 param1) { + return param1 == data_027e0c54; +} + +ARM void Actor::func_ov00_020c3158() { + if (mUnk_03c < 0) return; + gMapManager->func_ov00_02084c5c(mUnk_03c, 1); +} + +ARM void Actor::Kill() { + mAlive = false; + if (mUnk_119 == 0) return; + this->func_ov00_020c3158(); +} + +ARM void Actor::KillInBounds() { + if (mPos.y >= -FLOAT_TO_Q20(10.0)) return; + this->Kill(); +} + +extern unk32 data_ov00_020e9c88; +extern "C" void func_ov00_0207b89c(unk32 *param1, s32 param2, Vec3p *param3, void *param4, Actor *param5); +void vfunc_ac_Thunk(Actor *actor); +ARM void Actor::func_ov00_020c31c0(unk32 param1) { + func_ov00_0207b89c(&data_ov00_020e9c88, param1, &mPos, &vfunc_ac_Thunk, this); +} + +ARM void vfunc_ac_Thunk(Actor *actor) { + actor->vfunc_ac(); +} + +ARM void Actor::vfunc_ac() {} + +ARM void Actor::func_ov00_020c3200(s32 param1) { + const UnkStruct3 *entry = &sUnkTable[param1]; + mUnk_122 = sUnkTable[param1].mUnk_0; + mUnk_120 = sUnkTable[param1].mUnk_0; + mUnk_124 = entry->mUnk_2; +} + +ARM void Actor::vfunc_b0() {} + +ARM void Actor::GetLinkPos(Vec3p *result) { + if (gPlayerLink != NULL && gPlayerLink->GetCurrentCharacter() != PlayerCharacter_Link) { + return this->GetLinkDummyPos(result); + } + *result = gPlayerPos; +} + +ARM void Actor::GetLinkDummyPos(Vec3p *result) { + ActorRef dummyRef; + ActorManager::FindActorByType(&dummyRef, gActorManager, ActorTypeId_PlayerDummy); + ActorPlayerDummy *dummy = (ActorPlayerDummy*) gActorManager->GetActor(&dummyRef); + if (dummy != NULL && dummy->mUnk_16e == 0) { + *result = dummy->mPos; + return; + } + *result = gPlayerPos; +} + +Actor_UnkStruct_09c::Actor_UnkStruct_09c() { + mUnk_0 = 0xff; + mUnk_2 = 1; + mUnk_3 = 0; + mUnk_4 = 0; +} -Actor::Actor() {} -Actor::~Actor() {} -bool Actor::vfunc_08() {} -void Actor::vfunc_0c() {} -void Actor::vfunc_10(u32 param1) {} -void Actor::vfunc_24() {} -void Actor::vfunc_28() {} -void Actor::GetOffsetPos(Vec3p *pos) {} -unk32 Actor::vfunc_38() {} -void Actor::func_ov00_020c1788() {} -s32 Actor::vfunc_2c() {} -unk32 Actor::vfunc_30() {} -void Actor::vfunc_14(u32 param1) {} -void Actor::vfunc_18(u32 param1) {} -void Actor::vfunc_1c(u16 param1) {} -void Actor::vfunc_20(s32 param1) {} -void Actor::SetUnk_129(bool value) {} -void Actor::SetUnk_11b() {} -bool Actor::SetVelocity(Vec3p *vel) {} -bool Actor::vfunc_60() {} -void Actor::vfunc_64() {} -void Actor::SetUnk_11c(unk8 value) {} -void Actor::vfunc_68() {} -bool Actor::vfunc_6c() {} -bool Actor::vfunc_70() {} -void Actor::vfunc_74() {} -void Actor::vfunc_7c() {} -bool Actor::vfunc_78() {} -void Actor::vfunc_80() {} -void Actor::vfunc_84() {} -void Actor::vfunc_88() {} -void Actor::vfunc_8c() {} -bool Actor::vfunc_90() {} -void Actor::vfunc_94() {} -bool Actor::vfunc_98() {} -bool Actor::vfunc_9c() {} -bool Actor::func_ov00_020c195c() {} -bool Actor::func_ov00_020c198c() {} -bool KillPickupItemActors::Filter(Actor *actor) {} -void Actor::KillPickupItemActors() {} -bool Actor::TrySetTransform(Transform *transform) {} -void Actor::SetTransform(Transform *transform) {} -void Actor::vfunc_a8() {} -void Actor::func_Ov00_020c1bfc(s32 param1) {} -void Actor::func_ov00_020c1c20(s32 param1, unk32 param2, unk32 param3) {} -bool Actor::vfunc_48(unk32 param1) {} -bool Actor::vfunc_4c(unk32 *param1) {} -bool Actor::IsNearLink() {} -void Actor::func_ov00_020c1cf8() {} -bool Actor::func_ov00_020c1d58() {} -bool Actor::func_ov00_020c1da0(s32 param1, Vec3p *param2) {} -bool Actor::func_ov00_020c1e2c(s32 param1, Vec3p *param2) {} -bool Actor::func_ov00_020c1ef8(Cylinder *param1, Vec3p *param2, s32 param3, s32 param4) {} -bool Actor::func_ov00_020c1f5c(Vec3p *param1, Vec3p *param2, s32 param3, Vec3p *param4, s32 param5, s32 param6) {} -bool Actor::func_ov00_020c1fc8(PlayerCollide flags) {} -bool Actor::CollidesWithShield(Cylinder *param1) {} -bool Actor::CollidesWithPlayer(PlayerCollide flags) {} -void Actor::func_ov00_020c23c4(ActorRef *ref, Actor *actor) {} -void Actor::func_ov00_020c23d4(ActorRef *ref, Actor *actor, Cylinder *cylinder) {} -bool Actor::func_ov00_020c243c(unk32 param1, s32 *param2) {} -bool Actor::CollidesWith(const Actor *other) {} -bool Actor::func_ov00_020c27a8(unk32 param1) {} -bool Actor::CollidesWithLink() {} -bool Actor::IsFollowedByLink() {} -void Actor::StopLinkFollow() {} -bool Actor::IsGrabbed() {} -s32 Actor::XzDistanceTo(Vec3p *vec) {} -s32 Actor::DistanceToLink() {} -s32 Actor::XzDistanceToLink() {} -s32 Actor::GetAngleTo(Vec3p *vec) {} -s32 Actor::GetAngleToLink() {} -void Actor::func_ov00_020c2988(Vec3p *param1, s32 param2, Vec3p *param3) {} -void Actor::ResetWallTouch() {} -bool Actor::func_ov00_020c29ec(s32 param1) {} -void Actor::GetHitbox(Cylinder *param1) {} -void Actor::GetUnk_08c(Cylinder *param1) {} -void Actor::IncreaseActiveFrames() {} -bool Actor::func_ov00_020c2c0c() {} -bool Actor::func_ov00_020c2c70() {} -EquipBoomerang* Actor::GetEquipBoomerang() {} -bool Actor::func_ov00_020c2d54() {} -bool Actor::func_ov00_020c2de4() {} -bool Actor::func_ov00_020c2e7c() {} -bool Actor::func_ov00_020c2ebc() {} -bool Actor::func_ov00_020c2ed4() {} -bool Actor::IsHitboxTouched(bool param1) {} -void Actor::ApplyGravity() {} -bool Actor::func_ov00_020c3094() {} -Vec3p* Actor::GetPos() {} -void Actor::vfunc_54() {} -bool Actor::func_ov00_020c3118(unk16 param1) {} -bool Actor::func_ov00_020c313c(u32 param1) {} -void Actor::func_ov00_020c3158() {} -void Actor::Kill() {} -void Actor::KillInBounds() {} -void Actor::func_ov00_020c31c0(unk32 param1) {} -void Actor::vfunc_ac_Thunk() {} -void Actor::vfunc_ac() {} -void Actor::func_ov00_020c3200(s32 param1) {} -void Actor::vfunc_b0() {} -void Actor::GetLinkPos(Vec3p *result) {} -void Actor::GetLinkDummyPos(Vec3p *result) {} -Actor_UnkStruct_09c::Actor_UnkStruct_09c() {} diff --git a/src/00_Core/Actor/ActorManager.cpp b/src/00_Core/Actor/ActorManager.cpp index a8a202b3..472eede2 100644 --- a/src/00_Core/Actor/ActorManager.cpp +++ b/src/00_Core/Actor/ActorManager.cpp @@ -7,13 +7,14 @@ Actor* ActorManager::FindActorById(u32 id) {} Actor* ActorManager::GetActor(ActorRef *ref) {} bool FilterActor::Filter(Actor *actor) {} s32 ActorManager::FilterActors(FilterActorBase *filter, ActorList *filteredActors) {} -void ActorManager::FindActorByType(ActorRef *ref, ActorManager *manager, u32 type) {} -void ActorManager::FindNearestActorOfType(ActorRef *ref, ActorManager *manager, u32 type, Vec3p *pos) {} -void ActorManager::func_ov00_020c398c() {} -void ActorManager::func_ov00_020c399c() {} -void ActorManager::func_ov00_020c39ac(u32 index, u32 *actorTypes, bool param3) {} +void ActorManager::FindActorByType(ActorRef *ref, ActorManager *manager, ActorTypeId type) {} +void ActorManager::FindNearestActorOfType(ActorRef *ref, ActorManager *manager, ActorTypeId type, Vec3p *pos) {} +bool ActorManager::func_ov00_020c398c(u32 index) {} +void ActorManager::func_ov00_020c399c(u32 index, Cylinder *cylinder) {} +Actor* ActorManager::func_ov00_020c39ac(u32 index, const ActorTypeId *actorTypes, bool param3) {} s32 ActorManager::func_ov00_020c3b2c(s32 *param1) {} s32 ActorManager::func_ov00_020c3bb0(unk32 param1, s32 *param2) {} void ActorManager::func_ov00_020c3ce8(unk32 param1, unk32 param2) {} void ActorManager::Actor_vfunc_28() {} -bool ActorManager::ActorTypeIsOneOf(u32 type, u32 *types) {} +bool ActorManager::ActorTypeIsOneOf(u32 type, ActorTypeId *types) {} + diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index d34e9a40..e20081d4 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -1,4 +1,5 @@ #include "Item/ItemManager.hpp" +#include "Player/PlayerLinkBase.hpp" static const char *sShipPartTypes[] = { "anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg" }; @@ -198,20 +199,20 @@ ARM void ItemManager::EquipItem_vfunc_38(unk32 param1) { (*mEquipItems)[equip]->vfunc_38(param1); } -ARM bool ItemManager::EquipItem_vfunc_3c(Vec4p *param1, ItemFlag equipId) { - Vec4p result; - if ((*mEquipItems)[equipId]->vfunc_3c(&result)) { +ARM bool ItemManager::EquipCollidesWith(Cylinder *hitbox, ItemFlag equipId) { + Cylinder equipHitbox; + if ((*mEquipItems)[equipId]->GetHitbox(&equipHitbox)) { s32 step = (*mEquipItems)[equipId]->vfunc_4c(); if (step > 0) { - Approach_thunk(&result.y, param1->y, step); + Approach_thunk(&equipHitbox.pos.y, hitbox->pos.y, step); } - return func_01ffec34(param1, &result); + return hitbox->Overlaps(&equipHitbox); } return false; } -ARM void ItemManager::EquipItem_vfunc_2c(ItemFlag equipId) { - (*mEquipItems)[equipId]->vfunc_2c(); +ARM s32 ItemManager::EquipItem_vfunc_2c(ItemFlag equipId) { + return (*mEquipItems)[equipId]->vfunc_2c(); } ARM EquipItem* ItemManager::GetEquipItem(ItemFlag equipId) { @@ -237,8 +238,7 @@ extern void *data_027e10a4; extern "C" bool func_ov15_02136670(void *param1); extern unk8 data_ov29_0217a4ac[]; extern "C" bool _ZN10MapManager18func_ov00_020849f8Ei(void *param1); -extern unk32 data_027e0fc8; -extern "C" bool func_ov00_020bbd80(unk32 param1, unk32 param2); +extern "C" bool _ZN14PlayerLinkBase18func_ov00_020bbd80Ei(unk32 param1, unk32 param2); extern "C" bool _ZNK11ItemManager7HasItemEi(); extern "C" void _ZN11ItemManager12GetEquipItemEi(); ARM bool NONMATCH(ItemManager::func_ov00_020ad790)(unk32 param1) { @@ -258,7 +258,7 @@ ARM bool NONMATCH(ItemManager::func_ov00_020ad790)(unk32 param1) { if ( mEquippedItem != ItemFlag_None && (unk2 || (u32) mEquippedItem - 9 <= 1) && - (data_027e0fc8 == 0 || func_ov00_020bbd80(data_027e0fc8, param1)) && + (gPlayerLink == 0 || gPlayerLink->func_ov00_020bbd80(param1)) && this->HasItem(mEquippedItem) ) { equipId = mEquippedItem; diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp index b335e0fe..93dc3579 100644 --- a/src/00_Core/Map/MapManager.cpp +++ b/src/00_Core/Map/MapManager.cpp @@ -127,7 +127,7 @@ unk8 MapManager::func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4) { unk8 MapManager::MapData_vfunc_60() {} unk8 MapManager::func_ov00_02083e70() {} unk8 MapManager::MapData_vfunc_68() {} -void MapManager::func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3) {} +s32 MapManager::func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3, unk32 param_4) {} void MapManager::func_ov00_02083f44(Vec3p *param_2) {} unk8 MapManager::MapData_vfunc_6c() {} unk8 MapManager::MapData_vfunc_70() {} diff --git a/src/00_Core/Player/PlayerBase.cpp b/src/00_Core/Player/PlayerBase.cpp index a9d83c5b..4736b928 100644 --- a/src/00_Core/Player/PlayerBase.cpp +++ b/src/00_Core/Player/PlayerBase.cpp @@ -1,4 +1,4 @@ -#include "Player/PlayerLinkBase.hpp" +#include "Player/PlayerBase.hpp" bool PlayerBase::vfunc_04() {} ItemFlag PlayerBase::GetEquipId() {} @@ -9,10 +9,10 @@ EquipSword* PlayerBase::GetEquipSword() {} EquipShield* PlayerBase::GetEquipShield() {} void PlayerBase::LookAt(Vec3p *target) {} bool PlayerBase::func_ov00_020a7c00(s32 param1) {} -bool PlayerBase::func_ov00_020a7c1c(Cylinder *cylinder) {} +bool PlayerBase::CollidesWith(Cylinder *cylinder) {} bool PlayerBase::func_ov00_020a7c60(Vec3p *param1, Vec3p *param2, s32 param3) {} -void PlayerBase::EquipItem_vfunc_3c(Cylinder *cylinder, ItemFlag equipId) {} -void PlayerBase::EquipItem_vfunc_2c() {} +bool PlayerBase::EquipCollidesWith(Cylinder *cylinder, ItemFlag equipId) {} +s32 PlayerBase::EquipItem_vfunc_2c() {} void PlayerBase::SetHealth(s16 health) {} void PlayerBase::AddHealth(s16 amount) {} bool PlayerBase::Teleport(Vec3p *pos, s16 angle, unk32 param3, bool param4, bool param5) {} diff --git a/tools/elf/elfkill.cpp b/tools/elf/elfkill.cpp index da4d77d1..d86d378d 100644 --- a/tools/elf/elfkill.cpp +++ b/tools/elf/elfkill.cpp @@ -128,7 +128,7 @@ bool GetFunctionSymbols(const elfio &elf, std::vector &outSymbols) { if (symbol.name.find("@", 0) == 0) continue; if (symbol.name.find("$", 0) == 0) continue; if (symbol.name.find(".", 0) == 0) continue; - if (symbol.section.name != ".text") continue; + if (symbol.section.name != ".text" && symbol.section.name != ".data") continue; symbols.push_back(symbol); } @@ -141,6 +141,7 @@ bool FindSymbolsToKill(const char *srcFile, std::unordered_set &out std::ifstream file(srcFile); const std::string killMacro = "KILL("; + const std::string lineComment = "//"; std::string line; size_t row = 0; std::unordered_set symbolsToKill; @@ -150,6 +151,9 @@ bool FindSymbolsToKill(const char *srcFile, std::unordered_set &out while (true) { size_t macroOffset = line.find(killMacro, endOffset); if (macroOffset == std::string::npos) break; + + size_t commentOffset = line.find(lineComment, endOffset); + if (macroOffset > commentOffset) break; size_t symbolOffset = macroOffset + killMacro.length(); symbolOffset = line.find_first_not_of(" \t", symbolOffset);