@nativewrappers/fivem 0.0.17 → 0.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -33
- package/client/Events.js +1 -3
- package/client/models/Vehicle.d.ts +2 -6
- package/client/models/Vehicle.js +7 -11
- package/client/utils/Quaternion.d.ts +1 -1
- package/client/utils/Quaternion.js +1 -1
- package/common/utils/Vector.d.ts +101 -0
- package/common/utils/Vector.js +202 -0
- package/common/utils/Vector2.d.ts +1 -58
- package/common/utils/Vector2.js +1 -113
- package/common/utils/Vector3.d.ts +1 -73
- package/common/utils/Vector3.js +1 -147
- package/common/utils/Vector4.d.ts +1 -66
- package/common/utils/Vector4.js +1 -131
- package/package.json +1 -1
- package/client/utils/Vector2.d.ts +0 -54
- package/client/utils/Vector2.js +0 -106
- package/client/utils/Vector3.d.ts +0 -69
- package/client/utils/Vector3.js +0 -140
- package/client/utils/Vector4.d.ts +0 -62
- package/client/utils/Vector4.js +0 -124
- package/server/Anticheat.d.ts +0 -0
- package/server/Anticheat.js +0 -25
|
@@ -1,73 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export interface Vec3 {
|
|
3
|
-
x: number;
|
|
4
|
-
y: number;
|
|
5
|
-
z: number;
|
|
6
|
-
}
|
|
7
|
-
export type Vector = Vector3 | Vec3;
|
|
8
|
-
export declare class Vector3 implements Vec3 {
|
|
9
|
-
x: number;
|
|
10
|
-
y: number;
|
|
11
|
-
z: number;
|
|
12
|
-
type: string;
|
|
13
|
-
static readonly Zero: Vector3;
|
|
14
|
-
static create(v1: Vec3 | number): Vector3;
|
|
15
|
-
/**
|
|
16
|
-
* Creates a vector from an array of numbers
|
|
17
|
-
* @param primitive An array of numbers (usually returned by a native)
|
|
18
|
-
* @example ```ts
|
|
19
|
-
* const entityPos = Vector3.fromArray(GetEntityCoords(entity))
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
static fromArray(primitive: [number, number, number] | number[]): Vector3;
|
|
23
|
-
/**
|
|
24
|
-
* Creates an array of vectors from an array number arrays
|
|
25
|
-
* @param primitives A multi-dimensional array of number arrays
|
|
26
|
-
* @example ```ts
|
|
27
|
-
* const [forward, right, up, position] = Vector3.fromArrays(GetEntityMatrix(entity))
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
static fromArrays(primitives: [number, number, number][] | number[][]): Vector3[];
|
|
31
|
-
static fromBuffer({ buffer }: MsgpackBuffer): Vector3;
|
|
32
|
-
static clone(v1: Vec3): Vector3;
|
|
33
|
-
static add(v1: Vector, v2: Vector | number): Vector3;
|
|
34
|
-
static addX(vec: Vector, x: number): Vector3;
|
|
35
|
-
static addY(vec: Vector, y: number): Vector3;
|
|
36
|
-
static addZ(vec: Vector, z: number): Vector3;
|
|
37
|
-
static subtract(v1: Vector, v2: Vector | number): Vector3;
|
|
38
|
-
static multiply(v1: Vector, v2: Vector | number): Vector3;
|
|
39
|
-
static divide(v1: Vector, v2: Vector | number): Vector3;
|
|
40
|
-
static dotProduct(v1: Vector, v2: Vector): number;
|
|
41
|
-
static crossProduct(v1: Vector, v2: Vector): Vector3;
|
|
42
|
-
static normalize(v: Vector3): Vector3;
|
|
43
|
-
constructor(x: number, y: number, z: number);
|
|
44
|
-
toString(): string;
|
|
45
|
-
clone(): Vector3;
|
|
46
|
-
/**
|
|
47
|
-
* The product of the Euclidean magnitudes of this and another Vector3.
|
|
48
|
-
*
|
|
49
|
-
* @param v Vector3 to find Euclidean magnitude between.
|
|
50
|
-
* @returns Euclidean magnitude with another vector.
|
|
51
|
-
*/
|
|
52
|
-
distanceSquared(v: Vector): number;
|
|
53
|
-
/**
|
|
54
|
-
* The distance between two Vectors.
|
|
55
|
-
*
|
|
56
|
-
* @param v Vector3 to find distance between.
|
|
57
|
-
* @returns Distance between this and another vector.
|
|
58
|
-
*/
|
|
59
|
-
distance(v: Vector): number;
|
|
60
|
-
get normalize(): Vector3;
|
|
61
|
-
crossProduct(v: Vector): Vector3;
|
|
62
|
-
dotProduct(v: Vector): number;
|
|
63
|
-
add(v: Vector | number): Vector3;
|
|
64
|
-
addX(x: number): Vector3;
|
|
65
|
-
addY(y: number): Vector3;
|
|
66
|
-
addZ(z: number): Vector3;
|
|
67
|
-
subtract(v: Vector): Vector3;
|
|
68
|
-
multiply(v: Vector | number): Vector3;
|
|
69
|
-
divide(v: Vector | number): Vector3;
|
|
70
|
-
toArray(): [number, number, number];
|
|
71
|
-
replace(v: Vector): void;
|
|
72
|
-
get Length(): number;
|
|
73
|
-
}
|
|
1
|
+
export { Vector3 } from './Vector';
|
package/common/utils/Vector3.js
CHANGED
|
@@ -1,147 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
static create(v1) {
|
|
3
|
-
if (typeof v1 === 'number')
|
|
4
|
-
return new Vector3(v1, v1, v1);
|
|
5
|
-
return new Vector3(v1.x, v1.y, v1.z);
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Creates a vector from an array of numbers
|
|
9
|
-
* @param primitive An array of numbers (usually returned by a native)
|
|
10
|
-
* @example ```ts
|
|
11
|
-
* const entityPos = Vector3.fromArray(GetEntityCoords(entity))
|
|
12
|
-
* ```
|
|
13
|
-
*/
|
|
14
|
-
static fromArray(primitive) {
|
|
15
|
-
return new Vector3(primitive[0], primitive[1], primitive[2]);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Creates an array of vectors from an array number arrays
|
|
19
|
-
* @param primitives A multi-dimensional array of number arrays
|
|
20
|
-
* @example ```ts
|
|
21
|
-
* const [forward, right, up, position] = Vector3.fromArrays(GetEntityMatrix(entity))
|
|
22
|
-
* ```
|
|
23
|
-
*/
|
|
24
|
-
static fromArrays(primitives) {
|
|
25
|
-
return primitives.map(prim => new Vector3(prim[0], prim[1], prim[2]));
|
|
26
|
-
}
|
|
27
|
-
static fromBuffer({ buffer }) {
|
|
28
|
-
return new Vector3(buffer.readFloatLE(0), buffer.readFloatLE(4), buffer.readFloatLE(8));
|
|
29
|
-
}
|
|
30
|
-
static clone(v1) {
|
|
31
|
-
return Vector3.create(v1);
|
|
32
|
-
}
|
|
33
|
-
static add(v1, v2) {
|
|
34
|
-
if (typeof v2 === 'number')
|
|
35
|
-
return new Vector3(v1.x + v2, v1.y + v2, v1.z + v2);
|
|
36
|
-
return new Vector3(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z);
|
|
37
|
-
}
|
|
38
|
-
static addX(vec, x) {
|
|
39
|
-
return new Vector3(vec.x + x, vec.y, vec.z);
|
|
40
|
-
}
|
|
41
|
-
static addY(vec, y) {
|
|
42
|
-
return new Vector3(vec.x, vec.y + y, vec.z);
|
|
43
|
-
}
|
|
44
|
-
static addZ(vec, z) {
|
|
45
|
-
return new Vector3(vec.x, vec.y, vec.z + z);
|
|
46
|
-
}
|
|
47
|
-
static subtract(v1, v2) {
|
|
48
|
-
if (typeof v2 === 'number')
|
|
49
|
-
return new Vector3(v1.x - v2, v1.y - v2, v1.z - v2);
|
|
50
|
-
return new Vector3(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z);
|
|
51
|
-
}
|
|
52
|
-
static multiply(v1, v2) {
|
|
53
|
-
if (typeof v2 === 'number')
|
|
54
|
-
return new Vector3(v1.x * v2, v1.y * v2, v1.z * v2);
|
|
55
|
-
return new Vector3(v1.x * v2.x, v1.y * v2.y, v1.z * v2.z);
|
|
56
|
-
}
|
|
57
|
-
static divide(v1, v2) {
|
|
58
|
-
if (typeof v2 === 'number')
|
|
59
|
-
return new Vector3(v1.x / v2, v1.y / v2, v1.z / v2);
|
|
60
|
-
return new Vector3(v1.x / v2.x, v1.y / v2.y, v1.z / v2.z);
|
|
61
|
-
}
|
|
62
|
-
static dotProduct(v1, v2) {
|
|
63
|
-
return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;
|
|
64
|
-
}
|
|
65
|
-
static crossProduct(v1, v2) {
|
|
66
|
-
const x = v1.y * v2.z - v1.z * v2.y;
|
|
67
|
-
const y = v1.z * v2.x - v1.x * v2.z;
|
|
68
|
-
const z = v1.x * v2.y - v1.y * v2.x;
|
|
69
|
-
return new Vector3(x, y, z);
|
|
70
|
-
}
|
|
71
|
-
static normalize(v) {
|
|
72
|
-
return Vector3.divide(v, v.Length);
|
|
73
|
-
}
|
|
74
|
-
constructor(x, y, z) {
|
|
75
|
-
this.x = x;
|
|
76
|
-
this.y = y;
|
|
77
|
-
this.z = z;
|
|
78
|
-
this.type = 'vec3';
|
|
79
|
-
}
|
|
80
|
-
toString() {
|
|
81
|
-
return `${this.type}(${this.x}, ${this.y}, ${this.z})`;
|
|
82
|
-
}
|
|
83
|
-
clone() {
|
|
84
|
-
return new Vector3(this.x, this.y, this.z);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* The product of the Euclidean magnitudes of this and another Vector3.
|
|
88
|
-
*
|
|
89
|
-
* @param v Vector3 to find Euclidean magnitude between.
|
|
90
|
-
* @returns Euclidean magnitude with another vector.
|
|
91
|
-
*/
|
|
92
|
-
distanceSquared(v) {
|
|
93
|
-
const w = this.subtract(v);
|
|
94
|
-
return Vector3.dotProduct(w, w);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* The distance between two Vectors.
|
|
98
|
-
*
|
|
99
|
-
* @param v Vector3 to find distance between.
|
|
100
|
-
* @returns Distance between this and another vector.
|
|
101
|
-
*/
|
|
102
|
-
distance(v) {
|
|
103
|
-
return Math.sqrt(this.distanceSquared(v));
|
|
104
|
-
}
|
|
105
|
-
get normalize() {
|
|
106
|
-
return Vector3.normalize(this);
|
|
107
|
-
}
|
|
108
|
-
crossProduct(v) {
|
|
109
|
-
return Vector3.crossProduct(this, v);
|
|
110
|
-
}
|
|
111
|
-
dotProduct(v) {
|
|
112
|
-
return Vector3.dotProduct(this, v);
|
|
113
|
-
}
|
|
114
|
-
add(v) {
|
|
115
|
-
return Vector3.add(this, v);
|
|
116
|
-
}
|
|
117
|
-
addX(x) {
|
|
118
|
-
return Vector3.addX(this, x);
|
|
119
|
-
}
|
|
120
|
-
addY(y) {
|
|
121
|
-
return Vector3.addY(this, y);
|
|
122
|
-
}
|
|
123
|
-
addZ(z) {
|
|
124
|
-
return Vector3.addZ(this, z);
|
|
125
|
-
}
|
|
126
|
-
subtract(v) {
|
|
127
|
-
return Vector3.subtract(this, v);
|
|
128
|
-
}
|
|
129
|
-
multiply(v) {
|
|
130
|
-
return Vector3.multiply(this, v);
|
|
131
|
-
}
|
|
132
|
-
divide(v) {
|
|
133
|
-
return Vector3.divide(this, v);
|
|
134
|
-
}
|
|
135
|
-
toArray() {
|
|
136
|
-
return [this.x, this.y, this.z];
|
|
137
|
-
}
|
|
138
|
-
replace(v) {
|
|
139
|
-
this.x = v.x;
|
|
140
|
-
this.y = v.y;
|
|
141
|
-
this.z = v.z;
|
|
142
|
-
}
|
|
143
|
-
get Length() {
|
|
144
|
-
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
Vector3.Zero = new Vector3(0, 0, 0);
|
|
1
|
+
export { Vector3 } from './Vector';
|
|
@@ -1,66 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Vector3 } from './Vector3';
|
|
3
|
-
export interface Vec4 {
|
|
4
|
-
x: number;
|
|
5
|
-
y: number;
|
|
6
|
-
z: number;
|
|
7
|
-
w: number;
|
|
8
|
-
}
|
|
9
|
-
export type Vector4Type = Vector4 | Vec4;
|
|
10
|
-
export declare class Vector4 implements Vec4 {
|
|
11
|
-
x: number;
|
|
12
|
-
y: number;
|
|
13
|
-
z: number;
|
|
14
|
-
w: number;
|
|
15
|
-
type: string;
|
|
16
|
-
static create(v1: Vec4 | number): Vector4;
|
|
17
|
-
/**
|
|
18
|
-
* Creates a vector from an array of numbers
|
|
19
|
-
* @param primitive An array of numbers (usually returned by a native)
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
static fromArray(primitive: [number, number, number, number] | number[]): Vector4;
|
|
23
|
-
/**
|
|
24
|
-
* Creates an array of vectors from an array number arrays
|
|
25
|
-
* @param primitives A multi-dimensional array of number arrays
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
static fromArrays(primitives: [number, number, number, number][] | number[][]): Vector4[];
|
|
29
|
-
static fromBuffer({ buffer }: MsgpackBuffer): Vector4;
|
|
30
|
-
static clone(v1: Vec4): Vector4;
|
|
31
|
-
static add(v1: Vector4Type, v2: Vector4Type | number): Vector4;
|
|
32
|
-
static subtract(v1: Vector4Type, v2: Vector4Type | number): Vector4;
|
|
33
|
-
static multiply(v1: Vector4Type, v2: Vector4Type | number): Vector4;
|
|
34
|
-
static divide(v1: Vector4Type, v2: Vector4Type | number): Vector4;
|
|
35
|
-
static dotProduct(v1: Vector4Type, v2: Vector4Type): number;
|
|
36
|
-
static crossProduct(v1: Vector4Type, v2: Vector4Type): Vector4;
|
|
37
|
-
static normalize(v: Vector4): Vector4;
|
|
38
|
-
constructor(x: number, y: number, z: number, w: number);
|
|
39
|
-
toString(): string;
|
|
40
|
-
clone(): Vector4;
|
|
41
|
-
/**
|
|
42
|
-
* The product of the Euclidean magnitudes of this and another Vector4.
|
|
43
|
-
*
|
|
44
|
-
* @param v Vector4 to find Euclidean magnitude between.
|
|
45
|
-
* @returns Euclidean magnitude with another vector.
|
|
46
|
-
*/
|
|
47
|
-
distanceSquared(v: Vector4Type): number;
|
|
48
|
-
/**
|
|
49
|
-
* The distance between two Vectors.
|
|
50
|
-
*
|
|
51
|
-
* @param v Vector4 to find distance between.
|
|
52
|
-
* @returns Distance between this and another vector.
|
|
53
|
-
*/
|
|
54
|
-
distance(v: Vector4Type): number;
|
|
55
|
-
get normalize(): Vector4;
|
|
56
|
-
crossProduct(v: Vector4Type): Vector4;
|
|
57
|
-
dotProduct(v: Vector4Type): number;
|
|
58
|
-
add(v: Vector4Type | number): Vector4;
|
|
59
|
-
subtract(v: Vector4Type): Vector4;
|
|
60
|
-
multiply(v: Vector4Type | number): Vector4;
|
|
61
|
-
divide(v: Vector4Type | number): Vector4;
|
|
62
|
-
toArray(): [number, number, number, number];
|
|
63
|
-
toVec3(): Vector3;
|
|
64
|
-
replace(v: Vector4Type): void;
|
|
65
|
-
get Length(): number;
|
|
66
|
-
}
|
|
1
|
+
export { Vector4 } from './Vector';
|
package/common/utils/Vector4.js
CHANGED
|
@@ -1,131 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { Vector3 } from './Vector3';
|
|
3
|
-
export class Vector4 {
|
|
4
|
-
static create(v1) {
|
|
5
|
-
if (typeof v1 === 'number')
|
|
6
|
-
return new Vector4(v1, v1, v1, v1);
|
|
7
|
-
return new Vector4(v1.x, v1.y, v1.z, v1.w);
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Creates a vector from an array of numbers
|
|
11
|
-
* @param primitive An array of numbers (usually returned by a native)
|
|
12
|
-
* ```
|
|
13
|
-
*/
|
|
14
|
-
static fromArray(primitive) {
|
|
15
|
-
return new Vector4(primitive[0], primitive[1], primitive[2], primitive[3]);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Creates an array of vectors from an array number arrays
|
|
19
|
-
* @param primitives A multi-dimensional array of number arrays
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
static fromArrays(primitives) {
|
|
23
|
-
return primitives.map(prim => new Vector4(prim[0], prim[1], prim[2], prim[3]));
|
|
24
|
-
}
|
|
25
|
-
static fromBuffer({ buffer }) {
|
|
26
|
-
return new Vector4(buffer.readFloatLE(0), buffer.readFloatLE(4), buffer.readFloatLE(8), buffer.readFloatLE(12));
|
|
27
|
-
}
|
|
28
|
-
static clone(v1) {
|
|
29
|
-
return Vector4.create(v1);
|
|
30
|
-
}
|
|
31
|
-
static add(v1, v2) {
|
|
32
|
-
if (typeof v2 === 'number')
|
|
33
|
-
return new Vector4(v1.x + v2, v1.y + v2, v1.z + v2, v1.w + v2);
|
|
34
|
-
return new Vector4(v1.x + v2.x, v1.y + v2.y, v1.z + v2.z, v1.w + v2.w);
|
|
35
|
-
}
|
|
36
|
-
static subtract(v1, v2) {
|
|
37
|
-
if (typeof v2 === 'number')
|
|
38
|
-
return new Vector4(v1.x - v2, v1.y - v2, v1.z - v2, v1.w - v2);
|
|
39
|
-
return new Vector4(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z, v1.w - v2.w);
|
|
40
|
-
}
|
|
41
|
-
static multiply(v1, v2) {
|
|
42
|
-
if (typeof v2 === 'number')
|
|
43
|
-
return new Vector4(v1.x * v2, v1.y * v2, v1.z * v2, v1.w * v2);
|
|
44
|
-
return new Vector4(v1.x * v2.x, v1.y * v2.y, v1.z * v2.z, v1.w * v2.w);
|
|
45
|
-
}
|
|
46
|
-
static divide(v1, v2) {
|
|
47
|
-
if (typeof v2 === 'number')
|
|
48
|
-
return new Vector4(v1.x / v2, v1.y / v2, v1.z / v2, v1.w / v2);
|
|
49
|
-
return new Vector4(v1.x / v2.x, v1.y / v2.y, v1.z / v2.z, v1.w / v2.w);
|
|
50
|
-
}
|
|
51
|
-
static dotProduct(v1, v2) {
|
|
52
|
-
return v1.x * v2.x + v1.y * v2.y + v1.z * v2.z + v1.w * v2.w;
|
|
53
|
-
}
|
|
54
|
-
static crossProduct(v1, v2) {
|
|
55
|
-
const x = v1.y * v2.z - v1.z * v2.y;
|
|
56
|
-
const y = v1.z * v2.x - v1.x * v2.z;
|
|
57
|
-
const z = v1.x * v2.y - v1.y * v2.x;
|
|
58
|
-
return new Vector4(x, y, z, v1.w);
|
|
59
|
-
}
|
|
60
|
-
static normalize(v) {
|
|
61
|
-
return Vector4.divide(v, v.Length);
|
|
62
|
-
}
|
|
63
|
-
constructor(x, y, z, w) {
|
|
64
|
-
this.x = x;
|
|
65
|
-
this.y = y;
|
|
66
|
-
this.z = z;
|
|
67
|
-
this.w = w;
|
|
68
|
-
this.type = 'vec4';
|
|
69
|
-
}
|
|
70
|
-
toString() {
|
|
71
|
-
return `${this.type}(${this.x}, ${this.y}, ${this.z}, ${this.w})`;
|
|
72
|
-
}
|
|
73
|
-
clone() {
|
|
74
|
-
return new Vector4(this.x, this.y, this.z, this.w);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* The product of the Euclidean magnitudes of this and another Vector4.
|
|
78
|
-
*
|
|
79
|
-
* @param v Vector4 to find Euclidean magnitude between.
|
|
80
|
-
* @returns Euclidean magnitude with another vector.
|
|
81
|
-
*/
|
|
82
|
-
distanceSquared(v) {
|
|
83
|
-
const w = this.subtract(v);
|
|
84
|
-
return Vector4.dotProduct(w, w);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* The distance between two Vectors.
|
|
88
|
-
*
|
|
89
|
-
* @param v Vector4 to find distance between.
|
|
90
|
-
* @returns Distance between this and another vector.
|
|
91
|
-
*/
|
|
92
|
-
distance(v) {
|
|
93
|
-
return Math.sqrt(this.distanceSquared(v));
|
|
94
|
-
}
|
|
95
|
-
get normalize() {
|
|
96
|
-
return Vector4.normalize(this);
|
|
97
|
-
}
|
|
98
|
-
crossProduct(v) {
|
|
99
|
-
return Vector4.crossProduct(this, v);
|
|
100
|
-
}
|
|
101
|
-
dotProduct(v) {
|
|
102
|
-
return Vector4.dotProduct(this, v);
|
|
103
|
-
}
|
|
104
|
-
add(v) {
|
|
105
|
-
return Vector4.add(this, v);
|
|
106
|
-
}
|
|
107
|
-
subtract(v) {
|
|
108
|
-
return Vector4.subtract(this, v);
|
|
109
|
-
}
|
|
110
|
-
multiply(v) {
|
|
111
|
-
return Vector4.multiply(this, v);
|
|
112
|
-
}
|
|
113
|
-
divide(v) {
|
|
114
|
-
return Vector4.divide(this, v);
|
|
115
|
-
}
|
|
116
|
-
toArray() {
|
|
117
|
-
return [this.x, this.y, this.z, this.w];
|
|
118
|
-
}
|
|
119
|
-
toVec3() {
|
|
120
|
-
return new Vector3(this.x, this.y, this.z);
|
|
121
|
-
}
|
|
122
|
-
replace(v) {
|
|
123
|
-
this.x = v.x;
|
|
124
|
-
this.y = v.y;
|
|
125
|
-
this.z = v.z;
|
|
126
|
-
this.w = v.w;
|
|
127
|
-
}
|
|
128
|
-
get Length() {
|
|
129
|
-
return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
1
|
+
export { Vector4 } from './Vector';
|
package/package.json
CHANGED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
export interface Vec2 {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
}
|
|
5
|
-
export type Vector2Type = Vector2 | Vec2;
|
|
6
|
-
export declare class Vector2 implements Vec2 {
|
|
7
|
-
x: number;
|
|
8
|
-
y: number;
|
|
9
|
-
static create(v1: Vec2 | number): Vector2;
|
|
10
|
-
/**
|
|
11
|
-
* Creates a vector from an array of numbers
|
|
12
|
-
* @param primitive An array of numbers (usually returned by a native)
|
|
13
|
-
* ```
|
|
14
|
-
*/
|
|
15
|
-
static fromArray(primitive: [number, number] | number[]): Vector2;
|
|
16
|
-
/**
|
|
17
|
-
* Creates an array of vectors from an array number arrays
|
|
18
|
-
* @param primitives A multi-dimensional array of number arrays
|
|
19
|
-
* ```
|
|
20
|
-
*/
|
|
21
|
-
static fromArrays(primitives: [number, number][] | number[][]): Vector2[];
|
|
22
|
-
static clone(v1: Vec2): Vector2;
|
|
23
|
-
static add(v1: Vector2Type, v2: Vector2Type | number): Vector2;
|
|
24
|
-
static subtract(v1: Vector2Type, v2: Vector2Type | number): Vector2;
|
|
25
|
-
static multiply(v1: Vector2Type, v2: Vector2Type | number): Vector2;
|
|
26
|
-
static divide(v1: Vector2Type, v2: Vector2Type | number): Vector2;
|
|
27
|
-
static dotProduct(v1: Vector2Type, v2: Vector2Type): number;
|
|
28
|
-
static normalize(v: Vector2): Vector2;
|
|
29
|
-
constructor(x: number, y: number);
|
|
30
|
-
clone(): Vector2;
|
|
31
|
-
/**
|
|
32
|
-
* The product of the Euclidean magnitudes of this and another Vector2.
|
|
33
|
-
*
|
|
34
|
-
* @param v Vector2 to find Euclidean magnitude between.
|
|
35
|
-
* @returns Euclidean magnitude with another vector.
|
|
36
|
-
*/
|
|
37
|
-
distanceSquared(v: Vector2Type): number;
|
|
38
|
-
/**
|
|
39
|
-
* The distance between two Vectors.
|
|
40
|
-
*
|
|
41
|
-
* @param v Vector2 to find distance between.
|
|
42
|
-
* @returns Distance between this and another vector.
|
|
43
|
-
*/
|
|
44
|
-
distance(v: Vector2Type): number;
|
|
45
|
-
get normalize(): Vector2;
|
|
46
|
-
dotProduct(v: Vector2Type): number;
|
|
47
|
-
add(v: Vector2Type | number): Vector2;
|
|
48
|
-
subtract(v: Vector2Type): Vector2;
|
|
49
|
-
multiply(v: Vector2Type | number): Vector2;
|
|
50
|
-
divide(v: Vector2Type | number): Vector2;
|
|
51
|
-
toArray(): [number, number];
|
|
52
|
-
replace(v: Vector2Type): void;
|
|
53
|
-
get Length(): number;
|
|
54
|
-
}
|
package/client/utils/Vector2.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
export class Vector2 {
|
|
2
|
-
static create(v1) {
|
|
3
|
-
if (typeof v1 === 'number')
|
|
4
|
-
return new Vector2(v1, v1);
|
|
5
|
-
return new Vector2(v1.x, v1.y);
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Creates a vector from an array of numbers
|
|
9
|
-
* @param primitive An array of numbers (usually returned by a native)
|
|
10
|
-
* ```
|
|
11
|
-
*/
|
|
12
|
-
static fromArray(primitive) {
|
|
13
|
-
return new Vector2(primitive[0], primitive[1]);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Creates an array of vectors from an array number arrays
|
|
17
|
-
* @param primitives A multi-dimensional array of number arrays
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
static fromArrays(primitives) {
|
|
21
|
-
return primitives.map(prim => new Vector2(prim[0], prim[1]));
|
|
22
|
-
}
|
|
23
|
-
static clone(v1) {
|
|
24
|
-
return Vector2.create(v1);
|
|
25
|
-
}
|
|
26
|
-
static add(v1, v2) {
|
|
27
|
-
if (typeof v2 === 'number')
|
|
28
|
-
return new Vector2(v1.x + v2, v1.y + v2);
|
|
29
|
-
return new Vector2(v1.x + v2.x, v1.y + v2.y);
|
|
30
|
-
}
|
|
31
|
-
static subtract(v1, v2) {
|
|
32
|
-
if (typeof v2 === 'number')
|
|
33
|
-
return new Vector2(v1.x - v2, v1.y - v2);
|
|
34
|
-
return new Vector2(v1.x - v2.x, v1.y - v2.y);
|
|
35
|
-
}
|
|
36
|
-
static multiply(v1, v2) {
|
|
37
|
-
if (typeof v2 === 'number')
|
|
38
|
-
return new Vector2(v1.x * v2, v1.y * v2);
|
|
39
|
-
return new Vector2(v1.x * v2.x, v1.y * v2.y);
|
|
40
|
-
}
|
|
41
|
-
static divide(v1, v2) {
|
|
42
|
-
if (typeof v2 === 'number')
|
|
43
|
-
return new Vector2(v1.x / v2, v1.y / v2);
|
|
44
|
-
return new Vector2(v1.x / v2.x, v1.y / v2.y);
|
|
45
|
-
}
|
|
46
|
-
static dotProduct(v1, v2) {
|
|
47
|
-
return v1.x * v2.x + v1.y * v2.y;
|
|
48
|
-
}
|
|
49
|
-
static normalize(v) {
|
|
50
|
-
return Vector2.divide(v, v.Length);
|
|
51
|
-
}
|
|
52
|
-
constructor(x, y) {
|
|
53
|
-
this.x = x;
|
|
54
|
-
this.y = y;
|
|
55
|
-
}
|
|
56
|
-
clone() {
|
|
57
|
-
return new Vector2(this.x, this.y);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* The product of the Euclidean magnitudes of this and another Vector2.
|
|
61
|
-
*
|
|
62
|
-
* @param v Vector2 to find Euclidean magnitude between.
|
|
63
|
-
* @returns Euclidean magnitude with another vector.
|
|
64
|
-
*/
|
|
65
|
-
distanceSquared(v) {
|
|
66
|
-
const w = this.subtract(v);
|
|
67
|
-
return Vector2.dotProduct(w, w);
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* The distance between two Vectors.
|
|
71
|
-
*
|
|
72
|
-
* @param v Vector2 to find distance between.
|
|
73
|
-
* @returns Distance between this and another vector.
|
|
74
|
-
*/
|
|
75
|
-
distance(v) {
|
|
76
|
-
return Math.sqrt(this.distanceSquared(v));
|
|
77
|
-
}
|
|
78
|
-
get normalize() {
|
|
79
|
-
return Vector2.normalize(this);
|
|
80
|
-
}
|
|
81
|
-
dotProduct(v) {
|
|
82
|
-
return Vector2.dotProduct(this, v);
|
|
83
|
-
}
|
|
84
|
-
add(v) {
|
|
85
|
-
return Vector2.add(this, v);
|
|
86
|
-
}
|
|
87
|
-
subtract(v) {
|
|
88
|
-
return Vector2.subtract(this, v);
|
|
89
|
-
}
|
|
90
|
-
multiply(v) {
|
|
91
|
-
return Vector2.multiply(this, v);
|
|
92
|
-
}
|
|
93
|
-
divide(v) {
|
|
94
|
-
return Vector2.divide(this, v);
|
|
95
|
-
}
|
|
96
|
-
toArray() {
|
|
97
|
-
return [this.x, this.y];
|
|
98
|
-
}
|
|
99
|
-
replace(v) {
|
|
100
|
-
this.x = v.x;
|
|
101
|
-
this.y = v.y;
|
|
102
|
-
}
|
|
103
|
-
get Length() {
|
|
104
|
-
return Math.sqrt(this.x * this.x + this.y * this.y);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
export interface Vec3 {
|
|
2
|
-
x: number;
|
|
3
|
-
y: number;
|
|
4
|
-
z: number;
|
|
5
|
-
}
|
|
6
|
-
export type Vector = Vector3 | Vec3;
|
|
7
|
-
export declare class Vector3 implements Vec3 {
|
|
8
|
-
x: number;
|
|
9
|
-
y: number;
|
|
10
|
-
z: number;
|
|
11
|
-
static readonly Zero: Vector3;
|
|
12
|
-
static create(v1: Vec3 | number): Vector3;
|
|
13
|
-
/**
|
|
14
|
-
* Creates a vector from an array of numbers
|
|
15
|
-
* @param primitive An array of numbers (usually returned by a native)
|
|
16
|
-
* @example ```ts
|
|
17
|
-
* const entityPos = Vector3.fromArray(GetEntityCoords(entity))
|
|
18
|
-
* ```
|
|
19
|
-
*/
|
|
20
|
-
static fromArray(primitive: [number, number, number] | number[]): Vector3;
|
|
21
|
-
/**
|
|
22
|
-
* Creates an array of vectors from an array number arrays
|
|
23
|
-
* @param primitives A multi-dimensional array of number arrays
|
|
24
|
-
* @example ```ts
|
|
25
|
-
* const [forward, right, up, position] = Vector3.fromArrays(GetEntityMatrix(entity))
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
static fromArrays(primitives: [number, number, number][] | number[][]): Vector3[];
|
|
29
|
-
static clone(v1: Vec3): Vector3;
|
|
30
|
-
static add(v1: Vector, v2: Vector | number): Vector3;
|
|
31
|
-
static addX(vec: Vector, x: number): Vector3;
|
|
32
|
-
static addY(vec: Vector, y: number): Vector3;
|
|
33
|
-
static addZ(vec: Vector, z: number): Vector3;
|
|
34
|
-
static subtract(v1: Vector, v2: Vector | number): Vector3;
|
|
35
|
-
static multiply(v1: Vector, v2: Vector | number): Vector3;
|
|
36
|
-
static divide(v1: Vector, v2: Vector | number): Vector3;
|
|
37
|
-
static dotProduct(v1: Vector, v2: Vector): number;
|
|
38
|
-
static crossProduct(v1: Vector, v2: Vector): Vector3;
|
|
39
|
-
static normalize(v: Vector3): Vector3;
|
|
40
|
-
constructor(x: number, y: number, z: number);
|
|
41
|
-
clone(): Vector3;
|
|
42
|
-
/**
|
|
43
|
-
* The product of the Euclidean magnitudes of this and another Vector3.
|
|
44
|
-
*
|
|
45
|
-
* @param v Vector3 to find Euclidean magnitude between.
|
|
46
|
-
* @returns Euclidean magnitude with another vector.
|
|
47
|
-
*/
|
|
48
|
-
distanceSquared(v: Vector): number;
|
|
49
|
-
/**
|
|
50
|
-
* The distance between two Vectors.
|
|
51
|
-
*
|
|
52
|
-
* @param v Vector3 to find distance between.
|
|
53
|
-
* @returns Distance between this and another vector.
|
|
54
|
-
*/
|
|
55
|
-
distance(v: Vector): number;
|
|
56
|
-
get normalize(): Vector3;
|
|
57
|
-
crossProduct(v: Vector): Vector3;
|
|
58
|
-
dotProduct(v: Vector): number;
|
|
59
|
-
add(v: Vector | number): Vector3;
|
|
60
|
-
addX(x: number): Vector3;
|
|
61
|
-
addY(y: number): Vector3;
|
|
62
|
-
addZ(z: number): Vector3;
|
|
63
|
-
subtract(v: Vector): Vector3;
|
|
64
|
-
multiply(v: Vector | number): Vector3;
|
|
65
|
-
divide(v: Vector | number): Vector3;
|
|
66
|
-
toArray(): [number, number, number];
|
|
67
|
-
replace(v: Vector): void;
|
|
68
|
-
get Length(): number;
|
|
69
|
-
}
|