UNPKG

anomaly-packer

Version:

Anomaly Packer is a utility package for STALKER Anomaly creators to help them develop addons at speed with TypeScript's type-safety and game-oriented build tools.

123 lines (122 loc) 3.66 kB
/** @customConstructor vector */ declare class vector { constructor() x: number y: number z: number set(x: number, y: number, z: number): vector set(v: vector): vector add(value: number): vector add(v: vector): vector add(a: vector, b: vector): vector add(v: vector, value: number): vector sub(value: number): vector sub(v: vector): vector sub(a: vector, b: vector): vector sub(v: vector, value: number): vector mul(value: number): vector mul(v: vector): vector mul(a: vector, b: vector): vector mul(v: vector, value: number): vector div(value: number): vector div(v: vector): vector div(a: vector, b: vector): vector div(v: vector, value: number): vector invert(): vector invert(v: vector): vector min(v: vector): vector min(a: vector, b: vector): vector max(v: vector): vector max(a: vector, b: vector): vector abs(v: vector): vector similar(v: vector, epsilon?: number): boolean set_length(length: number): vector align(): vector clamp(v: vector): vector clamp(min: vector, max: vector): vector inertion(v: vector, factor: number): vector average(v: vector): vector average(a: vector, b: vector): vector lerp(a: vector, b: vector, factor: number): vector mad(dir: vector, value: number): vector mad(a: vector, b: vector): vector mad(a: vector, b: vector, value: number): vector mad(a: vector, b: vector, c: vector): vector magnitude(): number normalize(): vector normalize(v: vector): vector normalize_safe(): vector normalize_safe(v: vector): vector dotproduct(v: vector): number crossproduct(a: vector, b: vector): vector distance_to_xz(v: vector): number distance_to_sqr(pos: vector): number distance_to(to: vector): number setHP(h: number, p: number): vector getH(): number getP(): number reflect(dir: vector, normal: vector): vector slide(dir: vector, normal: vector): vector } /** * 4x3/4x4 float matrix. Rows `i`/`j`/`k` are the basis vectors, `c` is translation; * `_14_`/`_24_`/`_34_`/`_44_` are the fourth column. * @customConstructor matrix */ declare class matrix { constructor() i: vector _14_: number j: vector _24_: number k: vector _34_: number c: vector _44_: number set(m: matrix): matrix set(i: vector, j: vector, k: vector, c: vector): matrix identity(): matrix /** Build transform from a quaternion rotation and a translation */ mk_xform(rotation: quaternion, translate: vector): matrix mul(a: matrix, b: matrix): matrix mul(m: matrix, scalar: number): matrix mul(scalar: number): matrix div(m: matrix, scalar: number): matrix div(scalar: number): matrix setHPB(h: number, p: number, b: number): matrix setXYZ(x: number, y: number, z: number): matrix setXYZi(x: number, y: number, z: number): matrix getHPB(): vector } /** * Quaternion rotation (`Fquaternion`). The engine has no luabind registration for it, * so it cannot be constructed or read from script — it exists only as the rotation * argument type of {@link matrix.mk_xform}. */ declare class quaternion { private constructor() } /** @customConstructor vector2 */ declare class vector2 { constructor() x: number y: number set(x: number, y: number): vector2 set(v: vector2): vector2 } /** * RGBA float color (`Fcolor`, luabind class `fcolor`). Components are floats, * conventionally in the `0..1` range. * @customConstructor fcolor */ declare class fcolor { constructor() r: number g: number b: number a: number set(r: number, g: number, b: number, a: number): fcolor set(c: fcolor): fcolor /** @param packed packed `u32` color (`0xAARRGGBB`) */ set(packed: number): fcolor }