diff --git a/asm/itcm.s b/asm/itcm.s index 1e350ab4..5405e3d9 100644 --- a/asm/itcm.s +++ b/asm/itcm.s @@ -2328,9 +2328,9 @@ Vec3p_Axpy: ; 0x01ff9e64 ldmia sp!, {r4, pc} 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 @@ -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 diff --git a/asm/main/main_02000000.inc b/asm/main/main_02000000.inc index 69fcba78..08b53190 100644 --- a/asm/main/main_02000000.inc +++ b/asm/main/main_02000000.inc @@ -280,7 +280,7 @@ .extern Vec3p_Cross .extern Vec3p_Length .extern Vec3p_Normalize -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ff9f3c .extern Atan2 .extern func_01ffa29c diff --git a/asm/main/main_02000000.s b/asm/main/main_02000000.s index d84c391c..6b6c9956 100644 --- a/asm/main/main_02000000.s +++ b/asm/main/main_02000000.s @@ -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] @@ -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 diff --git a/asm/ov00/Actor/Actor.inc b/asm/ov00/Actor/Actor.inc index 7a105cea..36a22de8 100644 --- a/asm/ov00/Actor/Actor.inc +++ b/asm/ov00/Actor/Actor.inc @@ -37,7 +37,7 @@ .extern Vec3p_Add .extern Vec3p_Sub .extern Vec3p_Length -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffbe34 .extern _ZN8Cylinder8OverlapsEPS_ diff --git a/asm/ov00/Actor/Actor.s b/asm/ov00/Actor/Actor.s index a0b19400..a3dadc26 100644 --- a/asm/ov00/Actor/Actor.s +++ b/asm/ov00/Actor/Actor.s @@ -1671,7 +1671,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,12 +1679,12 @@ _ZN5Actor12XzDistanceToEP5Vec3p: ; 0x020c288c .global _ZN5Actor14DistanceToLinkEv arm_func_start _ZN5Actor14DistanceToLinkEv _ZN5Actor14DistanceToLinkEv: ; 0x020c28d4 - ldr ip, _020c28e4 ; =func_01ff9ec0 + ldr ip, _020c28e4 ; =Vec3p_Distance ldr r1, _020c28e8 ; =gPlayerPos add r0, r0, #0x48 bx ip .align 2, 0 -_020c28e4: .word func_01ff9ec0 +_020c28e4: .word Vec3p_Distance _020c28e8: .word gPlayerPos arm_func_end _ZN5Actor14DistanceToLinkEv @@ -1706,7 +1706,7 @@ _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 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 fc92a651..665f1734 100644 --- a/asm/ov00/Actor/ActorManager.s +++ b/asm/ov00/Actor/ActorManager.s @@ -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] diff --git a/asm/ov00/Map/MapManager.inc b/asm/ov00/Map/MapManager.inc index dcc9b89f..9f837b37 100644 --- a/asm/ov00/Map/MapManager.inc +++ b/asm/ov00/Map/MapManager.inc @@ -64,7 +64,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ffbe78 .extern func_01ffe61c .extern func_01fffb4c diff --git a/asm/ov00/Map/MapManager.s b/asm/ov00/Map/MapManager.s index 4328e994..dec10ce5 100644 --- a/asm/ov00/Map/MapManager.s +++ b/asm/ov00/Map/MapManager.s @@ -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 @@ -5468,7 +5468,7 @@ _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 @@ -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,7 +5563,7 @@ _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 @@ -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 diff --git a/asm/ov00/Player/PlayerControl.inc b/asm/ov00/Player/PlayerControl.inc index 755edfd9..76aa87e3 100644 --- a/asm/ov00/Player/PlayerControl.inc +++ b/asm/ov00/Player/PlayerControl.inc @@ -45,7 +45,7 @@ .extern Vec3p_Dot .extern Vec3p_Length .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffe468 .extern func_02002c14 diff --git a/asm/ov00/Player/PlayerControl.s b/asm/ov00/Player/PlayerControl.s index 8a21b1e6..8cba0ae9 100644 --- a/asm/ov00/Player/PlayerControl.s +++ b/asm/ov00/Player/PlayerControl.s @@ -713,7 +713,7 @@ _ZN13PlayerControl18func_ov00_020af6e4EP5Vec3pii: ; 0x020af6e4 cmp r5, #0 ble _020af72c ldr r0, _020af770 ; =gPlayerPos - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, r5 addge sp, sp, #4 ldmgeia sp!, {r3, r4, r5, r6, pc} @@ -1055,7 +1055,7 @@ _020afbcc: beq _020afce8 ldr r0, _020afe78 ; =gPlayerPos add r1, r5, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance mov r6, r0 add r1, sp, #0x10 mov r0, r5 @@ -1210,7 +1210,7 @@ _020afdc4: _020afe10: ldr r0, _020afe78 ; =gPlayerPos add r1, sp, #4 - bl func_01ff9ec0 + bl Vec3p_Distance mov r6, r0 b _020afe2c _020afe24: @@ -1823,7 +1823,7 @@ _ZN13PlayerControl18func_ov00_020b05e8EP5Vec3p: ; 0x020b05e8 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 diff --git a/asm/ov00/ov00_0207afa0.inc b/asm/ov00/ov00_0207afa0.inc index efe6aedc..1ed4353e 100644 --- a/asm/ov00/ov00_0207afa0.inc +++ b/asm/ov00/ov00_0207afa0.inc @@ -44,7 +44,7 @@ .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 e2bc0ab1..4350be09 100644 --- a/asm/ov00/ov00_0207afa0.s +++ b/asm/ov00/ov00_0207afa0.s @@ -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 diff --git a/asm/ov00/ov00_02086cd0.inc b/asm/ov00/ov00_02086cd0.inc index 34c722e6..f29f79d4 100644 --- a/asm/ov00/ov00_02086cd0.inc +++ b/asm/ov00/ov00_02086cd0.inc @@ -169,7 +169,7 @@ .extern Vec3p_Cross .extern Vec3p_Length .extern Vec3p_Normalize -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa8d4 .extern func_01ffa9fc diff --git a/asm/ov00/ov00_02086cd0.s b/asm/ov00/ov00_02086cd0.s index c0a22721..60563c82 100644 --- a/asm/ov00/ov00_02086cd0.s +++ b/asm/ov00/ov00_02086cd0.s @@ -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 @@ -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 @@ -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 @@ -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 @@ -11736,7 +11736,7 @@ _02090688: _020906a8: ldr r1, _0209076c ; =gPlayerPos add r0, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 bgt _020906fc mov r0, r4 @@ -11749,7 +11749,7 @@ _020906cc: blt _020906fc ldr r1, _0209076c ; =gPlayerPos add r0, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 ble _020906fc mov r0, r4 diff --git a/asm/ov00/ov00_020980f4.inc b/asm/ov00/ov00_020980f4.inc index 2bea3e39..64c77ad0 100644 --- a/asm/ov00/ov00_020980f4.inc +++ b/asm/ov00/ov00_020980f4.inc @@ -144,7 +144,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa8d4 .extern func_01ffbf5c diff --git a/asm/ov00/ov00_020980f4.s b/asm/ov00/ov00_020980f4.s index 84a6d219..a02d40bd 100644 --- a/asm/ov00/ov00_020980f4.s +++ b/asm/ov00/ov00_020980f4.s @@ -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 diff --git a/asm/ov00/ov00_020b1498.inc b/asm/ov00/ov00_020b1498.inc index 89a7e78e..1cc1d7d6 100644 --- a/asm/ov00/ov00_020b1498.inc +++ b/asm/ov00/ov00_020b1498.inc @@ -234,7 +234,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01ffb7ec diff --git a/asm/ov00/ov00_020b1498.s b/asm/ov00/ov00_020b1498.s index c25e4a8d..4ccc2124 100644 --- a/asm/ov00/ov00_020b1498.s +++ b/asm/ov00/ov00_020b1498.s @@ -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: diff --git a/asm/ov00/ov00_020c3e54.inc b/asm/ov00/ov00_020c3e54.inc index bb0bad1c..ed7f797d 100644 --- a/asm/ov00/ov00_020c3e54.inc +++ b/asm/ov00/ov00_020c3e54.inc @@ -334,7 +334,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ff9f3c .extern Atan2 .extern func_01ffa8d4 diff --git a/asm/ov00/ov00_020c3e54.s b/asm/ov00/ov00_020c3e54.s index 7965aee7..3ed4ca3d 100644 --- a/asm/ov00/ov00_020c3e54.s +++ b/asm/ov00/ov00_020c3e54.s @@ -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 @@ -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 @@ -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 @@ -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 @@ -19945,7 +19945,7 @@ _020d372c: ldmneia sp!, {r4, r5, r6, pc} ldr r1, _020d37cc ; =gPlayerPos add r0, r0, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance ldr r1, [r5] tst r1, #4 movne r2, #1 diff --git a/asm/ov04.inc b/asm/ov04.inc index 346ce059..939b3098 100644 --- a/asm/ov04.inc +++ b/asm/ov04.inc @@ -274,7 +274,7 @@ .extern func_01ff892c .extern Vec3p_Add .extern Vec3p_Sub -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa8d4 .extern func_01ffec78 diff --git a/asm/ov04.s b/asm/ov04.s index 2e61221d..e18b418f 100644 --- a/asm/ov04.s +++ b/asm/ov04.s @@ -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 diff --git a/asm/ov05.inc b/asm/ov05.inc index c888a438..e207e087 100644 --- a/asm/ov05.inc +++ b/asm/ov05.inc @@ -266,7 +266,7 @@ .extern Vec3p_Sub .extern Vec3p_Length .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa8d4 .extern func_01ffa9fc diff --git a/asm/ov05.s b/asm/ov05.s index 1d03ad77..ed184224 100644 --- a/asm/ov05.s +++ b/asm/ov05.s @@ -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] @@ -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 @@ -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 @@ -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 diff --git a/asm/ov12.inc b/asm/ov12.inc index e3e4facd..798e48f5 100644 --- a/asm/ov12.inc +++ b/asm/ov12.inc @@ -202,7 +202,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01ffbe34 diff --git a/asm/ov12.s b/asm/ov12.s index b15398c7..f69a0908 100644 --- a/asm/ov12.s +++ b/asm/ov12.s @@ -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 diff --git a/asm/ov14/ov14_0211f640.inc b/asm/ov14/ov14_0211f640.inc index f8f6e84a..27b6aaa8 100644 --- a/asm/ov14/ov14_0211f640.inc +++ b/asm/ov14/ov14_0211f640.inc @@ -212,7 +212,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01ffbe34 diff --git a/asm/ov14/ov14_0211f640.s b/asm/ov14/ov14_0211f640.s index 5bdf4bfb..861f3cfb 100644 --- a/asm/ov14/ov14_0211f640.s +++ b/asm/ov14/ov14_0211f640.s @@ -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] diff --git a/asm/ov14/ov14_0213b778.inc b/asm/ov14/ov14_0213b778.inc index 82664f2a..dd8fc5a5 100644 --- a/asm/ov14/ov14_0213b778.inc +++ b/asm/ov14/ov14_0213b778.inc @@ -233,7 +233,7 @@ .extern Vec3p_Dot .extern Vec3p_Length .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01ffbe34 diff --git a/asm/ov14/ov14_0213b778.s b/asm/ov14/ov14_0213b778.s index 44870c57..6c78d6f0 100644 --- a/asm/ov14/ov14_0213b778.s +++ b/asm/ov14/ov14_0213b778.s @@ -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 @@ -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 @@ -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] diff --git a/asm/ov15.inc b/asm/ov15.inc index e73c546d..bab51fd7 100644 --- a/asm/ov15.inc +++ b/asm/ov15.inc @@ -299,7 +299,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ff9f3c .extern Atan2 .extern func_01ffa8d4 diff --git a/asm/ov15.s b/asm/ov15.s index ac97568a..39fe9fad 100644 --- a/asm/ov15.s +++ b/asm/ov15.s @@ -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 @@ -7617,7 +7617,7 @@ _02125e44: 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 @@ -8054,7 +8054,7 @@ 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} @@ -10146,7 +10146,7 @@ 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} @@ -10700,7 +10700,7 @@ 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} @@ -11467,7 +11467,7 @@ 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} @@ -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 @@ -20644,7 +20644,7 @@ _02130a70: bne _02130aa8 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} @@ -20745,7 +20745,7 @@ func_ov15_02130bbc: ; 0x02130bbc ldmeqia sp!, {r4, pc} ldr r0, _02130c34 ; =gPlayerPos add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x6000 bge _02130c28 mov r0, r4 @@ -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] @@ -25390,7 +25390,7 @@ _02134c70: beq _02134cdc 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 @@ -25430,7 +25430,7 @@ func_ov15_02134cfc: ; 0x02134cfc beq _02134d5c 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 @@ -25950,7 +25950,7 @@ func_ov15_0213543c: ; 0x0213543c bne _02135470 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 @@ -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 @@ -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] @@ -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} @@ -35334,7 +35334,7 @@ _0213d53c: mov r0, #0xc smlabb r0, r2, r0, r1 ldr r1, _0213d5e8 ; =gPlayerPos - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x2000 bge _0213d5b4 ldrsh r0, [r5, #0xe] @@ -35412,7 +35412,7 @@ _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 @@ -43870,7 +43870,7 @@ _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] @@ -46736,7 +46736,7 @@ 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 @@ -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 @@ -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 @@ -60300,7 +60300,7 @@ 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] @@ -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] @@ -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] @@ -72264,7 +72264,7 @@ _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 @@ -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 @@ -98230,7 +98230,7 @@ _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 @@ -98522,7 +98522,7 @@ _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] @@ -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 @@ -109046,7 +109046,7 @@ _0217c738: beq _0217c7a4 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 @@ -115243,7 +115243,7 @@ func_ov15_02181b5c: ; 0x02181b5c bl func_0202b2e8 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} @@ -116071,7 +116071,7 @@ _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] @@ -116779,7 +116779,7 @@ _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 @@ -118716,7 +118716,7 @@ func_ov15_02184a40: ; 0x02184a40 tst r0, #0xff ldmneia sp!, {r3, r4, r5, pc} ldr r0, _02184a88 ; =gPlayerPos - bl func_01ff9ec0 + bl Vec3p_Distance mov r1, r0 mov r0, r5 mov r2, r4 @@ -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 diff --git a/asm/ov17.inc b/asm/ov17.inc index ce726941..91a63325 100644 --- a/asm/ov17.inc +++ b/asm/ov17.inc @@ -140,7 +140,7 @@ .extern Vec3p_Add .extern Vec3p_Sub .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01ffbe34 diff --git a/asm/ov17.s b/asm/ov17.s index 254a40a8..15c690f1 100644 --- a/asm/ov17.s +++ b/asm/ov17.s @@ -4513,7 +4513,7 @@ _0215edf4: _0215ee1c: ldr r0, _0215ee58 ; =gPlayerPos add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 ble _0215ee3c mov r0, r4 @@ -5167,7 +5167,7 @@ _0215f6a4: _0215f6cc: ldr r0, _0215f714 ; =gPlayerPos add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x1000 ble _0215f6ec mov r0, r4 @@ -13871,7 +13871,7 @@ 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 @@ -15512,7 +15512,7 @@ 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 @@ -17644,7 +17644,7 @@ func_ov17_02169354: ; 0x02169354 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 @@ -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] diff --git a/asm/ov18.inc b/asm/ov18.inc index af5f06d2..97faab74 100644 --- a/asm/ov18.inc +++ b/asm/ov18.inc @@ -139,7 +139,7 @@ .extern Vec3p_Add .extern Vec3p_Sub .extern Vec3p_Length -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa8d4 .extern func_01ffa9fc diff --git a/asm/ov18.s b/asm/ov18.s index a716dfb6..eb5a4c06 100644 --- a/asm/ov18.s +++ b/asm/ov18.s @@ -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] @@ -13844,7 +13844,7 @@ 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 @@ -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 @@ -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] diff --git a/asm/ov20.inc b/asm/ov20.inc index 25bd4f21..9af18679 100644 --- a/asm/ov20.inc +++ b/asm/ov20.inc @@ -139,7 +139,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffbe78 .extern func_01fffbec diff --git a/asm/ov20.s b/asm/ov20.s index 797fc3f9..bd41c2ae 100644 --- a/asm/ov20.s +++ b/asm/ov20.s @@ -7663,7 +7663,7 @@ func_ov20_02173ce4: ; 0x02173ce4 add r2, r1, #0x1000 ldr r1, _02173e34 ; =gPlayerPos str r2, [sp, #0x44] - bl func_01ff9ec0 + bl Vec3p_Distance mov r4, r0 add r1, sp, #0x14 mov r0, r6 diff --git a/asm/ov22.inc b/asm/ov22.inc index 78e9bb73..d5ab01c4 100644 --- a/asm/ov22.inc +++ b/asm/ov22.inc @@ -147,7 +147,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffbe78 .extern func_01fffb4c diff --git a/asm/ov22.s b/asm/ov22.s index abfb895c..30f12a39 100644 --- a/asm/ov22.s +++ b/asm/ov22.s @@ -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 diff --git a/asm/ov23.inc b/asm/ov23.inc index 0b112b09..076d1faa 100644 --- a/asm/ov23.inc +++ b/asm/ov23.inc @@ -193,7 +193,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffbe34 .extern func_01ffbe78 diff --git a/asm/ov23.s b/asm/ov23.s index aea8bb02..46c139c5 100644 --- a/asm/ov23.s +++ b/asm/ov23.s @@ -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 diff --git a/asm/ov25.inc b/asm/ov25.inc index 08df3cea..951345c9 100644 --- a/asm/ov25.inc +++ b/asm/ov25.inc @@ -146,7 +146,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffe1cc .extern func_01fffcd8 diff --git a/asm/ov25.s b/asm/ov25.s index 586b75a2..d28fd760 100644 --- a/asm/ov25.s +++ b/asm/ov25.s @@ -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 @@ -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 @@ -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 diff --git a/asm/ov26.inc b/asm/ov26.inc index cace4021..cfeae53d 100644 --- a/asm/ov26.inc +++ b/asm/ov26.inc @@ -161,7 +161,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ffbe34 .extern func_01ffe468 .extern func_01fffbec diff --git a/asm/ov26.s b/asm/ov26.s index e250dffa..345156c4 100644 --- a/asm/ov26.s +++ b/asm/ov26.s @@ -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 @@ -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: diff --git a/asm/ov27.inc b/asm/ov27.inc index 278966d5..26482e1e 100644 --- a/asm/ov27.inc +++ b/asm/ov27.inc @@ -132,7 +132,7 @@ .extern Vec3p_Sub .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffbe34 .extern func_01ffbe78 diff --git a/asm/ov27.s b/asm/ov27.s index e1cc6665..60ad1055 100644 --- a/asm/ov27.s +++ b/asm/ov27.s @@ -6010,7 +6010,7 @@ 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 diff --git a/asm/ov28.inc b/asm/ov28.inc index 272c490a..a6cb9ed6 100644 --- a/asm/ov28.inc +++ b/asm/ov28.inc @@ -141,7 +141,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01fffbec .extern func_01fffd04 diff --git a/asm/ov28.s b/asm/ov28.s index 887e9df0..96a77978 100644 --- a/asm/ov28.s +++ b/asm/ov28.s @@ -4057,7 +4057,7 @@ 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] @@ -7195,7 +7195,7 @@ 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 diff --git a/asm/ov29.inc b/asm/ov29.inc index a07f4b51..838d84c3 100644 --- a/asm/ov29.inc +++ b/asm/ov29.inc @@ -128,7 +128,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01fffb4c .extern func_01fffbec diff --git a/asm/ov29.s b/asm/ov29.s index f429c2c5..fcebbac1 100644 --- a/asm/ov29.s +++ b/asm/ov29.s @@ -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] @@ -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 diff --git a/asm/ov30.inc b/asm/ov30.inc index fe2bef77..7553b9da 100644 --- a/asm/ov30.inc +++ b/asm/ov30.inc @@ -108,7 +108,7 @@ .extern Vec3p_Add .extern Vec3p_Sub .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffbe34 .extern func_01ffbf5c diff --git a/asm/ov30.s b/asm/ov30.s index 2105b230..684397a2 100644 --- a/asm/ov30.s +++ b/asm/ov30.s @@ -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] diff --git a/asm/ov32.inc b/asm/ov32.inc index 092dd4e8..4b2fcd1b 100644 --- a/asm/ov32.inc +++ b/asm/ov32.inc @@ -121,7 +121,7 @@ .extern Vec3p_Sub .extern Vec3p_Length .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01ffbf5c diff --git a/asm/ov32.s b/asm/ov32.s index d3538ab4..8e6ac2fb 100644 --- a/asm/ov32.s +++ b/asm/ov32.s @@ -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] diff --git a/asm/ov33.inc b/asm/ov33.inc index 9d7ee15b..33aaf2f3 100644 --- a/asm/ov33.inc +++ b/asm/ov33.inc @@ -90,7 +90,7 @@ .extern Vec3p_Add .extern Vec3p_Sub .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffe1cc .extern func_01fffcec diff --git a/asm/ov33.s b/asm/ov33.s index 0a9dd092..efdedd10 100644 --- a/asm/ov33.s +++ b/asm/ov33.s @@ -2904,7 +2904,7 @@ func_ov33_0217e1c8: ; 0x0217e1c8 _0217e29c: add r0, r4, #0x14 add r1, r4, #0x48 - bl func_01ff9ec0 + bl Vec3p_Distance cmp r0, #0x3000 ble _0217e36c mov r0, r4 diff --git a/asm/ov34.inc b/asm/ov34.inc index 582fe3b2..aff8348d 100644 --- a/asm/ov34.inc +++ b/asm/ov34.inc @@ -94,7 +94,7 @@ .extern Vec3p_Add .extern Vec3p_Sub .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01fffcec diff --git a/asm/ov34.s b/asm/ov34.s index 8f6f90d5..e50dc1df 100644 --- a/asm/ov34.s +++ b/asm/ov34.s @@ -1900,7 +1900,7 @@ _0217d740: 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 @@ -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] diff --git a/asm/ov35.inc b/asm/ov35.inc index 2a3b0bb2..a4527abe 100644 --- a/asm/ov35.inc +++ b/asm/ov35.inc @@ -123,7 +123,7 @@ .extern Vec3p_Sub .extern Vec3p_Length .extern Vec3p_Normalize -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01ffbe78 diff --git a/asm/ov35.s b/asm/ov35.s index 423b28af..54501783 100644 --- a/asm/ov35.s +++ b/asm/ov35.s @@ -10341,7 +10341,7 @@ _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 ; =gSinCosTable mov r2, r2, lsl #0x2 diff --git a/asm/ov37.inc b/asm/ov37.inc index 64a7e88e..c0cb50ff 100644 --- a/asm/ov37.inc +++ b/asm/ov37.inc @@ -109,7 +109,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa9fc .extern func_01ffbe78 diff --git a/asm/ov37.s b/asm/ov37.s index cee381c5..76e9cec3 100644 --- a/asm/ov37.s +++ b/asm/ov37.s @@ -12559,7 +12559,7 @@ 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 diff --git a/asm/ov38.inc b/asm/ov38.inc index 065cfcf8..0719ba58 100644 --- a/asm/ov38.inc +++ b/asm/ov38.inc @@ -109,7 +109,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffa94c .extern func_01ffa9fc diff --git a/asm/ov38.s b/asm/ov38.s index 190c8700..44d2e6a7 100644 --- a/asm/ov38.s +++ b/asm/ov38.s @@ -2020,7 +2020,7 @@ func_ov38_0217d918: ; 0x0217d918 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 diff --git a/asm/ov39.inc b/asm/ov39.inc index aa2121de..aedcf25f 100644 --- a/asm/ov39.inc +++ b/asm/ov39.inc @@ -110,7 +110,7 @@ .extern Vec3p_Sub .extern Vec3p_Length .extern Vec3p_Normalize -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01fffbec .extern func_01fffcd8 diff --git a/asm/ov39.s b/asm/ov39.s index f9f6e7c5..ca423bf6 100644 --- a/asm/ov39.s +++ b/asm/ov39.s @@ -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 @@ -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 @@ -9851,7 +9851,7 @@ _021845e0: 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 @@ -9866,7 +9866,7 @@ _021845e0: 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] diff --git a/asm/ov45.inc b/asm/ov45.inc index 81d19265..c6f3eb35 100644 --- a/asm/ov45.inc +++ b/asm/ov45.inc @@ -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 f6dd8ff9..bfea5169 100644 --- a/asm/ov45.s +++ b/asm/ov45.s @@ -4353,7 +4353,7 @@ func_ov45_0218cb5c: ; 0x0218cb5c 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 diff --git a/asm/ov47.inc b/asm/ov47.inc index c95fedcc..a3392c79 100644 --- a/asm/ov47.inc +++ b/asm/ov47.inc @@ -86,7 +86,7 @@ .extern Vec3p_Dot .extern Vec3p_Length .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern func_01ffbe78 .extern func_01fffb4c diff --git a/asm/ov47.s b/asm/ov47.s index 6eb75cc0..65fea84b 100644 --- a/asm/ov47.s +++ b/asm/ov47.s @@ -759,7 +759,7 @@ _02190964: 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 diff --git a/asm/ov49.inc b/asm/ov49.inc index ea9542b7..80b2b3ad 100644 --- a/asm/ov49.inc +++ b/asm/ov49.inc @@ -96,7 +96,7 @@ .extern func_01ff8690 .extern func_01ff9158 .extern Vec3p_Add -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01fffbec .extern func_01fffcd8 .extern func_01fffd04 diff --git a/asm/ov49.s b/asm/ov49.s index c09c25e0..e877b818 100644 --- a/asm/ov49.s +++ b/asm/ov49.s @@ -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 diff --git a/asm/ov50.inc b/asm/ov50.inc index dce43e28..4591ac82 100644 --- a/asm/ov50.inc +++ b/asm/ov50.inc @@ -100,7 +100,7 @@ .extern Vec3p_Length .extern Vec3p_Normalize .extern Vec3p_Axpy -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern Atan2 .extern _ZN8Cylinder8OverlapsEPS_ .extern func_01fffbec diff --git a/asm/ov50.s b/asm/ov50.s index 4687abb5..4228f49c 100644 --- a/asm/ov50.s +++ b/asm/ov50.s @@ -3453,7 +3453,7 @@ _021982d4: 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 diff --git a/asm/ov53.inc b/asm/ov53.inc index 7c9bc895..ef956ed4 100644 --- a/asm/ov53.inc +++ b/asm/ov53.inc @@ -31,7 +31,7 @@ .extern data_ov14_02155cfc .extern Vec3p_Add .extern Vec3p_Sub -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ffa9fc .extern func_01ffbe78 .extern _ZN8Cylinder8OverlapsEPS_ diff --git a/asm/ov53.s b/asm/ov53.s index 4af9f62c..a06dd2c0 100644 --- a/asm/ov53.s +++ b/asm/ov53.s @@ -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: @@ -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 45e972ca..550c3f95 100644 --- a/asm/ov54.inc +++ b/asm/ov54.inc @@ -40,7 +40,7 @@ .extern func_01ff8230 .extern Vec3p_Add .extern Vec3p_Length -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ffa9fc .extern func_01fffcec .extern func_0202af4c diff --git a/asm/ov54.s b/asm/ov54.s index c997494c..2de5a6b0 100644 --- a/asm/ov54.s +++ b/asm/ov54.s @@ -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: @@ -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 @@ -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/ov57.inc b/asm/ov57.inc index e5fff255..745b7f8b 100644 --- a/asm/ov57.inc +++ b/asm/ov57.inc @@ -45,7 +45,7 @@ .extern Vec3p_Add .extern Vec3p_Sub .extern Vec3p_Length -.extern func_01ff9ec0 +.extern Vec3p_Distance .extern func_01ffa9fc .extern func_01ffbe78 .extern func_01fffcec diff --git a/asm/ov57.s b/asm/ov57.s index 10b1e34d..a806ea54 100644 --- a/asm/ov57.s +++ b/asm/ov57.s @@ -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: @@ -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 @@ -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 diff --git a/include/lib/math.h b/include/lib/math.h index a4f4086e..16b5cdd1 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) ROUND_Q20((a) * (b)) + +#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" s16 Atan2(s32 x, s32 y); +extern q4 gSinCosTable[]; typedef struct { /* 0 */ s8 x; @@ -39,6 +46,19 @@ 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, s16 angle, Vec3p *out) { + q20 sin = SIN(angle); + q20 zSin = MUL_Q20(vec->z, sin); + out->x += zSin; + q20 cos = COS(angle); + q20 zCos = MUL_Q20(vec->z, cos); + out->z += zCos; + q20 xCos = MUL_Q20(vec->x, cos); + out->x += xCos; + q20 xSin = MUL_Q20(vec->x, -sin); + out->z += xSin; +} typedef struct { /* 00 */ q20 x; @@ -55,13 +75,6 @@ typedef struct { /* 24 */ } Mat3p; -#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" s16 Atan2(s32 x, s32 y); -extern s16 gSinCosTable[]; - 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);