5053 lines
126 KiB
Plaintext
5053 lines
126 KiB
Plaintext
|
ALL ARGUMENTS ARE FLOATS UNLESS STATED OTHERWISE
|
||
|
"T": Any type
|
||
|
|
||
|
----------------------------------------------> [Base Script] <----------------------------------------------
|
||
|
|
||
|
--------------------------------> New Constants <--------------------------------
|
||
|
|
||
|
M_PI = pi ; 3.14159265358979323846
|
||
|
M_PI_2 = M_PI / 2 ; 1.57079632679489661923
|
||
|
M_PI_4 = M_PI / 4 ; 0.78539816339744830962
|
||
|
M_PI_X2 = M_PI * 2 ; 6.28318530717958647693
|
||
|
M_PI_X4 = M_PI * 4 ; 12.5663706143591729539
|
||
|
M_1_PI = 1 / M_PI ; 0.31830988618379067154
|
||
|
M_2_PI = 2 / M_PI ; 0.63661977236758134308
|
||
|
M_SQRTPI = sqrt(M_PI) ; 1.772453850905516027298
|
||
|
M_1_SQRTPI = 1 / sqrt(M_PI) ; 0.56418958354775628695
|
||
|
M_2_SQRTPI = 2 / sqrt(M_PI) ; 1.128379167095512573896
|
||
|
M_SQRT2 = sqrt(2) ; 1.4142135623730950488
|
||
|
M_SQRT2_2 = sqrt(2) / 2 ; 0.7071067811865475244
|
||
|
M_SQRT2_X2 = sqrt(2) * 2 ; 2.8284271247461900976
|
||
|
M_E = e ; 2.71828182845904523536
|
||
|
M_LOG2E = log2(e) ; 1.44269504088896340736
|
||
|
M_LOG10E = log10(e) ; 0.43429448190325182765
|
||
|
M_LN2 = ln(2) ; 0.69314718055994530942
|
||
|
M_LN10 = ln(10) ; 2.30258509299404568402
|
||
|
M_PHI = (1 + sqrt(5)) / 2 ; 1.61803398874989484821
|
||
|
M_1_PHI = 1 / M_PHI ; 0.6180339887498948482
|
||
|
|
||
|
INF = infinity float
|
||
|
NAN = NaN float
|
||
|
|
||
|
--------------------------------> Basic Operations <--------------------------------
|
||
|
|
||
|
__DEBUG_BREAK
|
||
|
Description:
|
||
|
Triggers a debug break. For developers.
|
||
|
|
||
|
wait
|
||
|
Arguments:
|
||
|
1) (int) frame
|
||
|
Description:
|
||
|
Pauses the execution for the given amount of frames.
|
||
|
|
||
|
Much faster than loop(n){yield;}
|
||
|
|
||
|
typeof
|
||
|
Arguments:
|
||
|
1) (T) value
|
||
|
Returns:
|
||
|
(int) type
|
||
|
Description:
|
||
|
Returns the type of the given value.
|
||
|
|
||
|
Example:
|
||
|
-60i -> VAR_INT
|
||
|
920 -> VAR_FLOAT
|
||
|
false -> VAR_BOOL
|
||
|
"str" -> VAR_STRING
|
||
|
[8, 0, 2] -> VAR_ARRAY
|
||
|
|
||
|
ftypeof
|
||
|
Arguments:
|
||
|
1) (T) value
|
||
|
Returns:
|
||
|
(int) type
|
||
|
Description:
|
||
|
Returns the root type of the given value.
|
||
|
|
||
|
Example:
|
||
|
920 -> VAR_FLOAT
|
||
|
false -> VAR_BOOL
|
||
|
"str" -> VAR_CHAR
|
||
|
[8, 0, 2] -> VAR_FLOAT
|
||
|
[[["a"]]] -> VAR_CHAR
|
||
|
|
||
|
resize
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
2) (int) new size
|
||
|
Returns:
|
||
|
(T[]) result
|
||
|
Description:
|
||
|
Resizes the given array.
|
||
|
The array must not be a null array.
|
||
|
|
||
|
resize (Overload)
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
2) (int) new size
|
||
|
3) (T) fill value
|
||
|
Returns:
|
||
|
(T[]) result
|
||
|
Description:
|
||
|
Overloaded with 3 arguments.
|
||
|
|
||
|
Resizes the given array.
|
||
|
|
||
|
If the new size is larger than the old size, newly inserted elements will be assigned the fill value.
|
||
|
Unless the array is a null array, the fill value's type must be convertible to the array's element type.
|
||
|
|
||
|
insert
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
2) (int) insert position
|
||
|
3) (T) value
|
||
|
Returns:
|
||
|
(T[]) result
|
||
|
Description:
|
||
|
Inserts the given value into the given position of the array.
|
||
|
Insertion method is "insert-before".
|
||
|
|
||
|
contains
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
2) (T) value
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Checks if the given value is present as an element of the given array.
|
||
|
|
||
|
replace
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
2) (T) replace from
|
||
|
2) (T) replace to
|
||
|
Returns:
|
||
|
(T[]) result
|
||
|
Description:
|
||
|
Replaces all occurences of the given element with the other in the array.
|
||
|
|
||
|
remove
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
2) (T) value
|
||
|
Returns:
|
||
|
(T[]) result
|
||
|
Description:
|
||
|
Removes all occurences of the given element in the array.
|
||
|
|
||
|
--------------------------------> Type Casting <--------------------------------
|
||
|
|
||
|
as_int
|
||
|
Arguments:
|
||
|
1) (T) value
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Returns the given value casted to an int value.
|
||
|
|
||
|
as_float
|
||
|
Arguments:
|
||
|
1) (T) value
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the given value casted to a float value.
|
||
|
|
||
|
as_bool
|
||
|
Arguments:
|
||
|
1) (T) value
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns the given value casted to a bool value.
|
||
|
|
||
|
as_char
|
||
|
Arguments:
|
||
|
1) (T) value
|
||
|
Returns:
|
||
|
(char) result
|
||
|
Description:
|
||
|
Returns the given value casted to a char value.
|
||
|
|
||
|
as_int_array
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
Returns:
|
||
|
(int[]) result
|
||
|
Description:
|
||
|
Casts array elements to ints, then returns the result.
|
||
|
|
||
|
Casting is recursive.
|
||
|
|
||
|
Example:
|
||
|
as_int_array([[true, true], [false, true]]); //-> [[1, 1], [0, 1]]
|
||
|
|
||
|
as_float_array
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
Returns:
|
||
|
(float[]) result
|
||
|
Description:
|
||
|
Casts array elements to floats, then returns the result.
|
||
|
|
||
|
Casting is recursive.
|
||
|
|
||
|
as_bool_array
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
Returns:
|
||
|
(bool[]) result
|
||
|
Description:
|
||
|
Casts array elements to bools, then returns the result.
|
||
|
|
||
|
Casting is recursive.
|
||
|
|
||
|
as_char_array
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
Returns:
|
||
|
(char[]) result
|
||
|
Description:
|
||
|
Casts array elements to chars, then returns the result.
|
||
|
|
||
|
Casting is recursive.
|
||
|
Not an alias of ToString.
|
||
|
|
||
|
as_x_array
|
||
|
Arguments:
|
||
|
1) (T[]) array
|
||
|
2) (const) type
|
||
|
Returns:
|
||
|
(T[]) result
|
||
|
Description:
|
||
|
Casts array elements to the given type, then returns the result.
|
||
|
|
||
|
Supported types:
|
||
|
VAR_INT
|
||
|
VAR_FLOAT
|
||
|
VAR_BOOL
|
||
|
VAR_CHAR
|
||
|
|
||
|
Casting is recursive.
|
||
|
|
||
|
--------------------------------> Bitwise Operations <--------------------------------
|
||
|
|
||
|
bit_not
|
||
|
Arguments:
|
||
|
1) (int) value
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Performs a bitwise NOT operation.
|
||
|
|
||
|
bit_and
|
||
|
Arguments:
|
||
|
1) (int) value 1
|
||
|
2) (int) value 2
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Performs a bitwise AND operation.
|
||
|
|
||
|
bit_or
|
||
|
Arguments:
|
||
|
1) (int) value 1
|
||
|
2) (int) value 2
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Performs a bitwise OR operation.
|
||
|
|
||
|
bit_xor
|
||
|
Arguments:
|
||
|
1) (int) value 1
|
||
|
2) (int) value 2
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Performs a bitwise XOR operation.
|
||
|
|
||
|
bit_left
|
||
|
Arguments:
|
||
|
1) (int) value
|
||
|
2) (int) shift factor
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Performs a bitwise left shift operation.
|
||
|
|
||
|
bit_right
|
||
|
Arguments:
|
||
|
1) (int) value
|
||
|
2) (int) shift factor
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Performs a bitwise right shift operation.
|
||
|
|
||
|
--------------------------------> Float Utilities <--------------------------------
|
||
|
|
||
|
Float_Classify
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(const) result
|
||
|
Description:
|
||
|
Classifies the given float value.
|
||
|
|
||
|
Possible return values:
|
||
|
- FLOAT_TYPE_ZERO ; Value is either +0 or -0.
|
||
|
- FLOAT_TYPE_NORMAL ; Value is a normal float.
|
||
|
- FLOAT_TYPE_SUBNORMAL ; Value is a subnormal float. (https://en.wikipedia.org/wiki/Subnormal_number)
|
||
|
- FLOAT_TYPE_INFINITY ; Value is either +infinity or -infinity.
|
||
|
- FLOAT_TYPE_NAN ; Value is not-a-number.
|
||
|
|
||
|
Float_IsNan
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns true if the given float is NaN.
|
||
|
|
||
|
Float_IsInf
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns true if the given float is +infinity or -infinity.
|
||
|
|
||
|
Float_GetSign
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(float) sign
|
||
|
Description:
|
||
|
Returns +1.0 if the given float is positive, and -1.0 if the given float is negative.
|
||
|
|
||
|
Float_CopySign
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Copies the sign of x to y, and returns the result.
|
||
|
|
||
|
--------------------------------> Maths <--------------------------------
|
||
|
|
||
|
clamp
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) lower bound
|
||
|
3) upper bound
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns x clamped between the specified range.
|
||
|
|
||
|
log2
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns base-2 logarithm of x.
|
||
|
|
||
|
logn
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) base
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns base-n logarithm of x.
|
||
|
|
||
|
erf
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the error function value of x.
|
||
|
|
||
|
erf(x) = (2/sqrt(pi)) * integral(0, x, "e^(-t^2) dt")
|
||
|
|
||
|
gamma
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the gamma function value of x.
|
||
|
|
||
|
gamma(z + 1) = integral(0, infinity, "(x^z)(e^(-x)) dx")
|
||
|
|
||
|
exp
|
||
|
Arguments:
|
||
|
1) value
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns e (Euler's number) raised to the power of x.
|
||
|
|
||
|
sqrt
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the square root of x.
|
||
|
Much faster than pow(x, 0.5).
|
||
|
|
||
|
cbrt
|
||
|
Arguments:
|
||
|
1) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the cube root of x.
|
||
|
Equivalent to (x ^ (1/3)).
|
||
|
|
||
|
nroot
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) root
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the nth root of x.
|
||
|
Equivalent to pow(x, 1 / root).
|
||
|
|
||
|
hypot
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the hypotenuse of the triangle formed by the two given values.
|
||
|
|
||
|
hypot(a, b) = sqrt(a * a + b * b)
|
||
|
|
||
|
distance
|
||
|
Arguments:
|
||
|
1) x1
|
||
|
2) y1
|
||
|
3) x2
|
||
|
4) y2
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns distance between the given two points.
|
||
|
|
||
|
distance(x1, y1, x2, y2) = hypot(x1 - x2, y1 - y2)
|
||
|
|
||
|
distancesq
|
||
|
Arguments:
|
||
|
1) x1
|
||
|
2) y1
|
||
|
3) x2
|
||
|
4) y2
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns square of the distance between the given two points.
|
||
|
|
||
|
distancesq(x1, y1, x2, y2) = (x1 - x2)^2 + (y1 - y2)^2
|
||
|
|
||
|
dottheta
|
||
|
Arguments:
|
||
|
1) x1
|
||
|
2) y1
|
||
|
3) x2
|
||
|
4) y2
|
||
|
Returns:
|
||
|
(float) result (degrees)
|
||
|
Description:
|
||
|
Returns angle (in degrees) between the given two points.
|
||
|
|
||
|
dottheta(x1, y1, x2, y2) = atan2(y2 - y1, x2 - x1)
|
||
|
|
||
|
rdottheta
|
||
|
Arguments:
|
||
|
1) x1
|
||
|
2) y1
|
||
|
3) x2
|
||
|
4) y2
|
||
|
Returns:
|
||
|
(float) result (radians)
|
||
|
Description:
|
||
|
Returns angle (in radians) between the given two points.
|
||
|
|
||
|
rdottheta(x1, y1, x2, y2) = ratan2(y2 - y1, x2 - x1)
|
||
|
|
||
|
--------------------------------> Trigonometry and Angular Maths <--------------------------------
|
||
|
|
||
|
sincos
|
||
|
Arguments:
|
||
|
1) angle
|
||
|
Returns:
|
||
|
(float[2]) [sin(angle), cos(angle)]
|
||
|
|
||
|
rsin
|
||
|
Arguments:
|
||
|
1) angle
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
sin() for radians input.
|
||
|
|
||
|
rcos
|
||
|
Arguments:
|
||
|
1) angle (radians)
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
cos() for radians input.
|
||
|
|
||
|
rtan
|
||
|
Arguments:
|
||
|
1) angle (radians)
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
tan() for radians input.
|
||
|
|
||
|
rsincos
|
||
|
Arguments:
|
||
|
1) angle (radians)
|
||
|
Returns:
|
||
|
(float[2]) result
|
||
|
Description:
|
||
|
sincos() for radians input.
|
||
|
|
||
|
rasin
|
||
|
Arguments:
|
||
|
1) value
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
asin() for radians output.
|
||
|
|
||
|
racos
|
||
|
Arguments:
|
||
|
1) value
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
acos() for radians output.
|
||
|
|
||
|
ratan
|
||
|
Arguments:
|
||
|
1) y
|
||
|
2) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
atan() for radians output.
|
||
|
|
||
|
ratan2
|
||
|
Arguments:
|
||
|
1) value
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
atan2() for radians output.
|
||
|
|
||
|
ToDegrees
|
||
|
Arguments:
|
||
|
1) angle
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Converts the given angle to degrees.
|
||
|
|
||
|
ToRadians
|
||
|
Arguments:
|
||
|
1) angle
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Converts the given angle to radians.
|
||
|
|
||
|
NormalizeAngle
|
||
|
Arguments:
|
||
|
1) angle (degrees)
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Normalizes the given angle. (Range = [0, 360))
|
||
|
|
||
|
NormalizeAngleR
|
||
|
Arguments:
|
||
|
1) angle (radians)
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Normalizes the given angle. (Range = [0, 2pi))
|
||
|
|
||
|
AngularDistance
|
||
|
Arguments:
|
||
|
1) angle from (degrees)
|
||
|
2) angle to (degrees)
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Calculates the shortest angular distance between the given angles. (Range = [-180, 180))
|
||
|
|
||
|
AngularDistanceR
|
||
|
Arguments:
|
||
|
1) angle from (radians)
|
||
|
2) angle to (radians)
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Calculates the shortest angular distance between the given angles. (Range = [-pi, pi))
|
||
|
|
||
|
ReflectAngle
|
||
|
Arguments:
|
||
|
1) ray angle (degrees)
|
||
|
2) surface angle (degrees)
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Calculates the given ray's angle of reflection upon a surface of the given angle. (Range = [0, 360))
|
||
|
|
||
|
ReflectAngleR
|
||
|
Arguments:
|
||
|
1) ray angle (radians)
|
||
|
2) surface angle (radians)
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Calculates the given ray's angle of reflection upon a surface of the given angle. (Range = [0, 2pi))
|
||
|
|
||
|
--------------------------------> Interpolation <--------------------------------
|
||
|
|
||
|
For the functions in this section, refer to these Desmos graph plot.
|
||
|
"Basic" interpolations -> https://www.desmos.com/calculator/m8dnz348cq
|
||
|
Bezier interpolations -> https://www.desmos.com/calculator/q1uptzx8ti
|
||
|
|
||
|
Interpolate_Linear
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) x
|
||
|
Returns:
|
||
|
IF a, b are not arrays
|
||
|
(float) result
|
||
|
ELSE
|
||
|
(float[]) result array
|
||
|
Description:
|
||
|
Returns the result of interpolation between a and b, using x as the interpolation value.
|
||
|
Interpolation method is linear.
|
||
|
Direct formula is (a + (b - a) * (x))
|
||
|
Represented by the red graph.
|
||
|
|
||
|
When interpolating between two arrays, they must be of the same size.
|
||
|
|
||
|
Interpolate_Smooth
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) x
|
||
|
Returns:
|
||
|
IF a, b are not arrays
|
||
|
(float) result
|
||
|
ELSE
|
||
|
(float[]) result array
|
||
|
Description:
|
||
|
Returns the result of interpolation between a and b, using x as the interpolation value.
|
||
|
Interpolation method is first-order smoothstep curve.
|
||
|
Direct formula is (a + (b - a) * (x^2 * (3 - 2 * x)))
|
||
|
Represented by the blue graph.
|
||
|
|
||
|
When interpolating between two arrays, they must be of the same size.
|
||
|
|
||
|
Interpolate_Smoother
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) x
|
||
|
Returns:
|
||
|
IF a, b are not arrays
|
||
|
(float) result
|
||
|
ELSE
|
||
|
(float[]) result array
|
||
|
Description:
|
||
|
Returns the result of interpolation between a and b, using x as the interpolation value.
|
||
|
Interpolation method is second-order smoothstep curve.
|
||
|
Direct formula is (a + (b - a) * (x^3 * (x * (x * 6 - 15) + 10)))
|
||
|
Represented by the green graph.
|
||
|
|
||
|
When interpolating between two arrays, they must be of the same size.
|
||
|
|
||
|
Interpolate_Accelerate
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) x
|
||
|
Returns:
|
||
|
IF a, b are not arrays
|
||
|
(float) result
|
||
|
ELSE
|
||
|
(float[]) result array
|
||
|
Description:
|
||
|
Returns the result of interpolation between a and b, using x as the interpolation value.
|
||
|
Interpolation method is parabolic.
|
||
|
Direct formula is (a + (b - a) * (x^2))
|
||
|
Represented by the purple graph.
|
||
|
|
||
|
When interpolating between two arrays, they must be of the same size.
|
||
|
|
||
|
Interpolate_Decelerate
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) x
|
||
|
Returns:
|
||
|
IF a, b are not arrays
|
||
|
(float) result
|
||
|
ELSE
|
||
|
(float[]) result array
|
||
|
Description:
|
||
|
Returns the result of interpolation between a and b, using x as the interpolation value.
|
||
|
Interpolation method is inverse parabolic.
|
||
|
Direct formula is (a + (b - a) * (1 - (1 - x)^2))
|
||
|
Represented by the black graph.
|
||
|
|
||
|
When interpolating between two arrays, they must be of the same size.
|
||
|
|
||
|
Interpolate_Modulate
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) c
|
||
|
4) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the result of interpolation between a and b, using x as the interpolation value.
|
||
|
Interpolation method is sine.
|
||
|
Direct formula is (a + (b - a) * (x + (rsin(2pi * x) / (2pi)) * c))
|
||
|
Represented by the dotted red graph.
|
||
|
|
||
|
Interpolate_Overshoot
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) c
|
||
|
4) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Returns the result of interpolation between a and b, using x as the interpolation value.
|
||
|
Interpolation method is half sine.
|
||
|
Direct formula is (a + (b - a) * (x + (rsin(pi * x) / pi) * c))
|
||
|
Represented by the dotted blue graph.
|
||
|
|
||
|
Interpolate_QuadraticBezier
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) c
|
||
|
4) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Calculates a coordinate component of a quadratic Bezier curve.
|
||
|
Direct formula is ((a * (1 - x)^2) + (2 * c * x * (1 - x)) + (b * x^2))
|
||
|
Represented by the red graph.
|
||
|
|
||
|
Interpolate_CubicBezier
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) c1
|
||
|
4) c2
|
||
|
5) x
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Calculates a coordinate component of a cubic Bezier curve.
|
||
|
Direct formula is ((a * (1 - x)^3) + (3 * c1 * x * (1 - x)^2) + (3 * c2 * x^2 * (1 - x)) + (b * x^3))
|
||
|
Represented by the red graph.
|
||
|
|
||
|
Interpolate_Hermite
|
||
|
Arguments:
|
||
|
1) start x
|
||
|
2) start y
|
||
|
3) end x
|
||
|
4) end y
|
||
|
5) starting point tangent vector magnitude
|
||
|
6) starting point tangent vector angle (degrees)
|
||
|
5) ending point tangent vector magnitude
|
||
|
6) ending point tangent vector angle (degrees)
|
||
|
9) x
|
||
|
Returns:
|
||
|
(float[2]) [x, y]
|
||
|
Description:
|
||
|
Calculates the position along the given cubic Hermite spline curve.
|
||
|
|
||
|
https://en.wikipedia.org/wiki/Cubic_Hermite_spline
|
||
|
|
||
|
Interpolate_X
|
||
|
Arguments:
|
||
|
1) a
|
||
|
2) b
|
||
|
3) x
|
||
|
4) (int) interpolation type
|
||
|
Returns:
|
||
|
IF a, b are not arrays
|
||
|
(float) result
|
||
|
ELSE
|
||
|
(float[]) result array
|
||
|
Description:
|
||
|
Interpolates between a and b using x with the given interpolation type.
|
||
|
|
||
|
Available interpolation types:
|
||
|
LERP_LINEAR:
|
||
|
Interpolate_Linear
|
||
|
LERP_SMOOTH:
|
||
|
Interpolate_Smooth
|
||
|
LERP_SMOOTHER:
|
||
|
Interpolate_Smoother
|
||
|
LERP_ACCELERATE:
|
||
|
Interpolate_Accelerate
|
||
|
LERP_DECELERATE:
|
||
|
Interpolate_Decelerate
|
||
|
|
||
|
Interpolate_X_PackedInt
|
||
|
Arguments:
|
||
|
1) (int) a
|
||
|
2) (int) b
|
||
|
3) x
|
||
|
4) (int) interpolation type
|
||
|
Returns:
|
||
|
(int[]) result array
|
||
|
Description:
|
||
|
Divides a and b (both 8-byte ints) into eight 1-byte chunks, performs interpolation on each pair, and recombines them to return the result.
|
||
|
|
||
|
Example:
|
||
|
Interpolate_X_PackedInt(0x37ff4040, 0xaa001010, 0.5, LERP_LINEAR); //result = 0x707f2828
|
||
|
|
||
|
Interpolate_X_Angle
|
||
|
Arguments:
|
||
|
1) a (degrees)
|
||
|
2) b (degrees)
|
||
|
3) x
|
||
|
4) (int) interpolation type
|
||
|
Returns:
|
||
|
(float) angle (degrees)
|
||
|
Description:
|
||
|
Interpolates between angles a and b using x with the given interpolation type.
|
||
|
|
||
|
Equivalent to:
|
||
|
NormalizeAngle(a + Interpolate_X(0, AngularDistance(a, b), x, type));
|
||
|
|
||
|
Interpolate_X_AngleR
|
||
|
Arguments:
|
||
|
1) a (radians)
|
||
|
2) b (radians)
|
||
|
3) x
|
||
|
4) (int) interpolation type
|
||
|
Returns:
|
||
|
(float) angle (radians)
|
||
|
Description:
|
||
|
Interpolates between angles a and b using x with the given interpolation type.
|
||
|
|
||
|
Equivalent to:
|
||
|
NormalizeAngleR(a + Interpolate_X(0, AngularDistanceR(a, b), x, type));
|
||
|
|
||
|
Interpolate_X_Array
|
||
|
Arguments:
|
||
|
1) (T[]) values
|
||
|
2) x
|
||
|
3) (int) interpolation type
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Interpolates between multiple elements of the array.
|
||
|
|
||
|
Examples:
|
||
|
Interpolate_X_Array([a, b, c, d], 0.2, LERP_LINEAR);
|
||
|
= Interpolate_X(a, b, 0.2, LERP_LINEAR);
|
||
|
|
||
|
Interpolate_X_Array([a, b, c, d], 1.5, LERP_LINEAR);
|
||
|
= Interpolate_X(b, c, 0.5, LERP_LINEAR);
|
||
|
|
||
|
Interpolate_X_Array([a, b, c, d], 2.9, LERP_LINEAR);
|
||
|
= Interpolate_X(c, d, 0.9, LERP_LINEAR);
|
||
|
|
||
|
--------------------------------> Random <--------------------------------
|
||
|
|
||
|
rand_int
|
||
|
Arguments:
|
||
|
1) (int) min
|
||
|
2) (int) max
|
||
|
Returns:
|
||
|
(int) random integer
|
||
|
Description:
|
||
|
Returns a random integer within the range [a, b].
|
||
|
|
||
|
rand_int(a, b) = as_int(rand(a, b + 0.99999))
|
||
|
|
||
|
prand
|
||
|
Arguments:
|
||
|
1) min
|
||
|
2) max
|
||
|
Returns:
|
||
|
(float) random value
|
||
|
Description:
|
||
|
Exactly like rand(), but the seed of which doesn't get saved to replays, and does not affect the state of rand().
|
||
|
|
||
|
prand_int
|
||
|
Arguments:
|
||
|
1) (int) min
|
||
|
2) (int) max
|
||
|
Returns:
|
||
|
(int) random integer
|
||
|
Description:
|
||
|
Returns a random integer within the range [a, b] using the prand() function.
|
||
|
|
||
|
prand_int(a, b) = as_int(prand(as_int(a), as_int(b) + 0.99999))
|
||
|
|
||
|
psrand
|
||
|
Arguments:
|
||
|
1) (int) seed
|
||
|
Description:
|
||
|
Sets the seed for prand and prand_int.
|
||
|
|
||
|
count_rand
|
||
|
Returns:
|
||
|
(int) count
|
||
|
Description:
|
||
|
Returns the amount of number rand or rand_int have been used.
|
||
|
|
||
|
Resets when restarting the game or exiting to the script select menu.
|
||
|
|
||
|
count_prand
|
||
|
Returns:
|
||
|
(int) count
|
||
|
Description:
|
||
|
Returns the amount of number prand or prand_int have been used.
|
||
|
|
||
|
Resets when restarting the game or exiting to the script select menu.
|
||
|
|
||
|
reset_count_rand
|
||
|
Description:
|
||
|
Sets the rand count to 0.
|
||
|
|
||
|
reset_count_prand
|
||
|
Description:
|
||
|
Sets the prand count to 0.
|
||
|
|
||
|
--------------------------------> Rotation Maths <--------------------------------
|
||
|
|
||
|
Rotate2D
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
3) angle
|
||
|
Returns:
|
||
|
(float[2]) rotated position [x, y]
|
||
|
Description:
|
||
|
Rotates the given (x, y) point around the origin (0, 0).
|
||
|
|
||
|
Direct formula is:
|
||
|
x = x * cos(angle) - y * sin(angle)
|
||
|
y = x * sin(angle) + y * cos(angle)
|
||
|
|
||
|
Rotate2D (overload)
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
3) angle
|
||
|
4) origin x
|
||
|
5) origin y
|
||
|
Returns:
|
||
|
(float[2]) rotated position [x, y]
|
||
|
Description:
|
||
|
Overloaded with 5 arguments.
|
||
|
|
||
|
Rotates the given (x, y) point around the given origin.
|
||
|
|
||
|
Direct formula is:
|
||
|
_x = x - ox
|
||
|
_y = y - oy
|
||
|
x = ox + (_x * cos(angle) - _y * sin(angle))
|
||
|
y = oy + (_x * sin(angle) + _y * cos(angle))
|
||
|
|
||
|
Rotate3D
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
3) z
|
||
|
4) X angle
|
||
|
5) Y angle
|
||
|
6) Z angle
|
||
|
Returns:
|
||
|
(float[3]) rotated position [x, y, z]
|
||
|
Description:
|
||
|
Rotates the given (x, y, z) point around the origin (0, 0) with the given Euler angles.
|
||
|
|
||
|
Direct formula is:
|
||
|
x = x * (cos(angY) * cos(angZ) - sin(angX) * sin(angY) * sin(angZ)) + y * (-cos(angX) * sin(angZ)) + z * (sin(angY) * cos(angZ) + sin(angX) * cos(angY) * sin(angZ))
|
||
|
y = x * (cos(angY) * sin(angZ) + sin(angX) * sin(angY) * cos(angZ)) + y * (cos(angX) * cos(angZ)) + z * (sin(angY) * sin(angZ) - sin(angX) * cos(angY) * cos(angZ))
|
||
|
z = x * (-cos(angX) * sin(angY)) + y * (sin(angX)) + z * (cos(angX) * cos(angY))
|
||
|
|
||
|
Rotate3D (overload)
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
3) z
|
||
|
4) X angle
|
||
|
5) Y angle
|
||
|
6) Z angle
|
||
|
7) origin x
|
||
|
8) origin y
|
||
|
9) origin z
|
||
|
Returns:
|
||
|
(float[3]) rotated position [x, y, z]
|
||
|
Description:
|
||
|
Rotates the given (x, y, z) point around the given origin with the given Euler angles.
|
||
|
|
||
|
Direct formula is:
|
||
|
_x = x - ox
|
||
|
_y = y - oy
|
||
|
_z = z - oz
|
||
|
x = ox + (_x * (cos(angY) * cos(angZ) - sin(angX) * sin(angY) * sin(angZ)) + _y * (-cos(angX) * sin(angZ)) + _z * (sin(angY) * cos(angZ) + sin(angX) * cos(angY) * sin(angZ)))
|
||
|
y = oy + (_x * (cos(angY) * sin(angZ) + sin(angX) * sin(angY) * cos(angZ)) + _y * (cos(angX) * cos(angZ)) + _z * (sin(angY) * sin(angZ) - sin(angX) * cos(angY) * cos(angZ)))
|
||
|
z = oz + (_x * (-cos(angX) * sin(angY)) + _y * (sin(angX)) + _z * (cos(angX) * cos(angY)))
|
||
|
|
||
|
--------------------------------> String <--------------------------------
|
||
|
|
||
|
atoi (overload)
|
||
|
Arguments:
|
||
|
1) (string) value
|
||
|
2) (int) base
|
||
|
Returns:
|
||
|
(int) value
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Converts the string into an integer with the specified base.
|
||
|
|
||
|
Examples:
|
||
|
atoi("3511", 10); //3511
|
||
|
atoi("3511", 16); //13585
|
||
|
atoi("0x7f3", 16); //2035
|
||
|
|
||
|
SplitString2
|
||
|
Arguments:
|
||
|
1) (string) source string
|
||
|
2) (string) pattern
|
||
|
Returns:
|
||
|
(string[]) split result
|
||
|
Description:
|
||
|
Splits the string at the given pattern.
|
||
|
|
||
|
Examples:
|
||
|
SplitString2("ab3cd3ef3g", "3");
|
||
|
//Result: ["ab", "cd", "ef", "g"]
|
||
|
|
||
|
SplitString2("1b23abc45a6abc789c", "abc");
|
||
|
//Result: ["1b23", "45a6", "789c"]
|
||
|
|
||
|
SplitString("1b23abc45a6abc789c", "abc");
|
||
|
//Result: ["1", "23", "", "", "45", "6", "", "", "789", ""]
|
||
|
|
||
|
StringFormat
|
||
|
Arguments:
|
||
|
1) (string) source string
|
||
|
2) (string) argument types
|
||
|
3+) (T) format arguments...
|
||
|
Returns:
|
||
|
(string) formatted string
|
||
|
Description:
|
||
|
Formats the string in the style of sprintf.
|
||
|
|
||
|
The number of format arguments must match the number of argument types.
|
||
|
|
||
|
Make sure that the amount of format arguments match the formatting tokens in the source string,
|
||
|
the game may crash if the formatting token count exceeds the format argument count.
|
||
|
|
||
|
Available argument types:
|
||
|
- d: Argument is passed a 32-bit integer (int).
|
||
|
- l: Argument is passed a 64-bit integer (long int).
|
||
|
- f: Argument is passed a floating point number (double).
|
||
|
- s: Argument is passed a string (wstring).
|
||
|
|
||
|
Example:
|
||
|
StringFormat("This is a %s", "s", "string.");
|
||
|
//Result: This is a string.
|
||
|
|
||
|
StringFormat("The value is %s", "s", 32);
|
||
|
//Result: The value is 32.000000
|
||
|
|
||
|
StringFormat("%f + %d = %.2f", "fdf", 1.15836, 2.12, 3.27836);
|
||
|
//Result: 1.158360 + 2 = 3.28
|
||
|
|
||
|
StringFormat("0x%08x is %d", "ll", 8023465, 8023465);
|
||
|
//Result: 0x007a6da9 is 8023465
|
||
|
|
||
|
StringFormat("0x%016llx %s %lld", "lsl", 2275101568023465, "is", 2275101568023465);
|
||
|
//Result: 0x000815315cca3ba9 is 2275101568023465
|
||
|
|
||
|
RegexMatch
|
||
|
Arguments:
|
||
|
1) (string) source string
|
||
|
2) (string) pattern
|
||
|
Returns:
|
||
|
(string[]) match groups
|
||
|
Description:
|
||
|
Uses regular expression to match patterns in a given string.
|
||
|
Returns a string array of matches.
|
||
|
|
||
|
Example:
|
||
|
RegexMatch("Voyage 1969", "[0-9]+");
|
||
|
//Result: ["1969"]
|
||
|
|
||
|
RegexMatch("S231 A001 S101 S000", "S([0-9]{3})");
|
||
|
//Result: "S231", "231"]
|
||
|
|
||
|
RegexMatchRepeated
|
||
|
Arguments:
|
||
|
1) (string) source string
|
||
|
2) (string) pattern
|
||
|
Returns:
|
||
|
(string[][]) array of match groups
|
||
|
Description:
|
||
|
Behaves like RegexMatch, but returns all matches in the string rather than only the first match.
|
||
|
|
||
|
Example:
|
||
|
RegexMatchRepeated("Voyage 1969", "[0-9]+");
|
||
|
//Result: [["1969"]]
|
||
|
|
||
|
RegexMatchRepeated("S231 A001 S101 S0040", "S([0-9]{3})");
|
||
|
//Result: [["S231", "231"], ["S101", "101"], ["S004", "004"]]
|
||
|
|
||
|
RegexReplace
|
||
|
Arguments:
|
||
|
1) (string) source string
|
||
|
2) (string) pattern
|
||
|
2) (string) replacing string
|
||
|
Returns:
|
||
|
(string) replace result
|
||
|
Description:
|
||
|
Uses regular expression to replace patterns in a given string.
|
||
|
Returns the pattern-replaced string.
|
||
|
|
||
|
Example:
|
||
|
RegexReplace("Voyage 1969", "[0-9]+", "1970");
|
||
|
//Result: "Voyage 1970"
|
||
|
|
||
|
RegexReplace("Example String", "(a|e|i)", "*");
|
||
|
//Result: "Ex*mpl* Str*ng"
|
||
|
|
||
|
RegexReplace("Red, Green, and Blue", "[A-Z]+[a-zA-Z]*", "\'$&\'");
|
||
|
//Result: "'Red', 'Green', and 'Blue'"
|
||
|
|
||
|
--------------------------------> File Path and Archives <--------------------------------
|
||
|
|
||
|
GetArchiveFilePathList
|
||
|
Arguments:
|
||
|
1) (string) archive path
|
||
|
2) (bool) print full path
|
||
|
Returns:
|
||
|
(string[]) file names of stored entries
|
||
|
Description:
|
||
|
Returns an array of all filepaths stored inside the specified archive.
|
||
|
The archive must have already been loaded with AddArchiveFile, otherwise an empty array will be returned.
|
||
|
|
||
|
GetWorkingDirectory
|
||
|
Returns:
|
||
|
(string) working directory
|
||
|
Description:
|
||
|
Returns the working directory of the engine.
|
||
|
|
||
|
The working directory is the directory in which the engine is operating in,
|
||
|
and will always be in the same directory as the exe's if the engine was started normally.
|
||
|
But there are some cases where the working directory won't necessary be the same as the exe's, such as when the game is started via Steam.
|
||
|
|
||
|
GetModuleName
|
||
|
Returns:
|
||
|
(string) module name
|
||
|
Description:
|
||
|
Returns the file name of the engine, without the extension.
|
||
|
|
||
|
GetFileDirectoryFromModule
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(string) directory name
|
||
|
Description:
|
||
|
Returns the directory of the given file path, without the directory of the engine.
|
||
|
The given path does not need to actually exist.
|
||
|
|
||
|
GetFileTopDirectory
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(string) directory name
|
||
|
Description:
|
||
|
Returns the topmost directory of the given file path.
|
||
|
The given path does not need to actually exist.
|
||
|
|
||
|
GetFileName
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(string) file name
|
||
|
Description:
|
||
|
Returns the file name of the given file path.
|
||
|
The given path does not need to actually exist.
|
||
|
|
||
|
GetFileNameWithoutExtension
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(string) file name
|
||
|
Description:
|
||
|
Returns the file name of the given file path, without its extension.
|
||
|
The given path does not need to actually exist.
|
||
|
|
||
|
GetFileExtension
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(string) file extension
|
||
|
Description:
|
||
|
Returns the file extension of the given file path.
|
||
|
The given path does not need to actually exist.
|
||
|
|
||
|
IsFileExists
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns true if the given file exists.
|
||
|
|
||
|
IsDirectoryExists
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns true if the given directory exists.
|
||
|
|
||
|
--------------------------------> Time <--------------------------------
|
||
|
|
||
|
GetSystemTimeMilliS
|
||
|
Returns:
|
||
|
(int) time
|
||
|
Description:
|
||
|
Returns the time of the system clock in milliseconds.
|
||
|
|
||
|
GetSystemTimeNanoS
|
||
|
Returns:
|
||
|
(int) time
|
||
|
Description:
|
||
|
Returns the time of the system clock in nanoseconds.
|
||
|
|
||
|
--------------------------------> Debugging <--------------------------------
|
||
|
|
||
|
WriteLog
|
||
|
Arguments:
|
||
|
1+) (T) value...
|
||
|
Description:
|
||
|
Change.
|
||
|
|
||
|
Writes the values of the given arguments to the LogWindow.
|
||
|
|
||
|
RaiseMessageWindow
|
||
|
Arguments:
|
||
|
1) (string) title text
|
||
|
2) (string) description text
|
||
|
3) (int) window flags
|
||
|
Returns:
|
||
|
(int) window result
|
||
|
Description:
|
||
|
Raises a message window similar to RaiseError, but does not terminate the script.
|
||
|
The game will be paused until the message window is addressed. The LogWindow will not be affected.
|
||
|
|
||
|
For the list of window flags, refer to this page:
|
||
|
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messagebox
|
||
|
|
||
|
The following flags are not allowed and will be automatically deleted:
|
||
|
MB_SETFOREGROUND
|
||
|
MB_DEFAULT_DESKTOP_ONLY
|
||
|
MB_SERVICE_NOTIFICATION
|
||
|
MB_SYSTEMMODAL
|
||
|
MB_TASKMODAL
|
||
|
The following flags are forced:
|
||
|
MB_APPLMODAL
|
||
|
|
||
|
The return value is dependent on the user's interaction with the message window.
|
||
|
Refer to the same page for the list and explaination of return values.
|
||
|
|
||
|
RaiseMessageWindow (Overload)
|
||
|
Arguments:
|
||
|
1) (string) title text
|
||
|
2) (string) description text
|
||
|
Returns:
|
||
|
(int) window result
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Triggers RaiseMessageWindow with MB_OK as the window flag value.
|
||
|
|
||
|
--------------------------------> Common Data <--------------------------------
|
||
|
|
||
|
GetCommonData (Overload)
|
||
|
Arguments:
|
||
|
1) (string) key
|
||
|
Returns:
|
||
|
(T) stored value
|
||
|
Description:
|
||
|
Overloaded with 1 argument.
|
||
|
|
||
|
A variant of GetCommonData(key, default) where the "default value" argument is omitted.
|
||
|
A null value will be returned if the requested key-value pair does not exist.
|
||
|
|
||
|
GetAreaCommonData (Overload)
|
||
|
Arguments:
|
||
|
1) (string) area
|
||
|
2) (string) key
|
||
|
Returns:
|
||
|
(T) stored value
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
A variant of GetAreaCommonData(area, key, default) where the "default value" argument is omitted.
|
||
|
A null value will be returned if the requested key-value pair does not exist.
|
||
|
|
||
|
DeleteWholeAreaCommonData
|
||
|
Arguments:
|
||
|
1) (string) name
|
||
|
Description:
|
||
|
Deletes the whole area common data, not just the key-value list.
|
||
|
To use the area common data again, it must be recreated with CreateCommonDataArea.
|
||
|
|
||
|
LoadCommonDataValuePointer
|
||
|
Arguments:
|
||
|
1) (string) key
|
||
|
2) (T) initial value
|
||
|
Returns:
|
||
|
(pointer) value pointer
|
||
|
Description:
|
||
|
Obtains a value pointer to the common data value in the default area.
|
||
|
|
||
|
If the requested common data does not exist, it will be created and initialized with the provided value.
|
||
|
|
||
|
LoadCommonDataValuePointer (Overload)
|
||
|
Arguments:
|
||
|
1) (string) key
|
||
|
Returns:
|
||
|
(pointer) value pointer
|
||
|
Description:
|
||
|
Overloaded with 1 argument.
|
||
|
|
||
|
Obtains a value pointer to the common data value in the default area.
|
||
|
|
||
|
If the requested common data does not exist, a null pointer will be returned.
|
||
|
|
||
|
LoadAreaCommonDataValuePointer
|
||
|
Arguments:
|
||
|
1) (string) area
|
||
|
2) (string) key
|
||
|
3) (T) initial value
|
||
|
Returns:
|
||
|
(pointer) value pointer
|
||
|
Description:
|
||
|
Obtains a value pointer to the common data value in the given area.
|
||
|
|
||
|
If the requested common data does not exist, it will be created and initialized with the provided value.
|
||
|
|
||
|
LoadAreaCommonDataValuePointer (Overload)
|
||
|
Arguments:
|
||
|
1) (string) area
|
||
|
2) (string) key
|
||
|
Returns:
|
||
|
(pointer) value pointer
|
||
|
Description:
|
||
|
Overloaded with 1 argument.
|
||
|
|
||
|
Obtains a value pointer to the common data value in the given area.
|
||
|
|
||
|
If the requested common data does not exist, a null pointer will be returned.
|
||
|
|
||
|
IsValidCommonDataValuePointer
|
||
|
Arguments:
|
||
|
1) (pointer) value pointer
|
||
|
Returns:
|
||
|
(bool) valid
|
||
|
Description:
|
||
|
Returns if the given value is a valid common data value pointer.
|
||
|
|
||
|
SetCommonDataPtr
|
||
|
Arguments:
|
||
|
1) (pointer) value pointer
|
||
|
2) (T) value
|
||
|
Description:
|
||
|
SetCommonData/SetAreaCommonData using pointers.
|
||
|
|
||
|
The use of direct pointers mitigate the need for map traversals present in regular common data accesses,
|
||
|
and thus would remarkably improve speed.
|
||
|
Using an invalid pointer may cause a memory access violation.
|
||
|
|
||
|
GetCommonDataPtr
|
||
|
Arguments:
|
||
|
1) (pointer) value pointer
|
||
|
2) (T) default value
|
||
|
Returns:
|
||
|
(T) stored value
|
||
|
Description:
|
||
|
GetCommonData/GetAreaCommonData using pointers.
|
||
|
|
||
|
The use of direct pointers mitigate the need for map traversals present in regular common data accesses,
|
||
|
and thus would remarkably improve speed.
|
||
|
Using an invalid pointer may cause a memory access violation.
|
||
|
|
||
|
GetCommonDataPtr (Overload)
|
||
|
Arguments:
|
||
|
1) (pointer) value pointer
|
||
|
Returns:
|
||
|
(T) stored value
|
||
|
Description:
|
||
|
Overloaded with 1 argument.
|
||
|
|
||
|
GetCommonData/GetAreaCommonData using pointers.
|
||
|
|
||
|
The use of direct pointers mitigate the need for map traversals present in regular common data accesses,
|
||
|
and thus would remarkably improve speed.
|
||
|
Using an invalid pointer may cause a memory access violation.
|
||
|
|
||
|
--------------------------------> Engine Utilities <--------------------------------
|
||
|
|
||
|
IsEngineFastMode
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns whether the engine is in the "fast mode" state.
|
||
|
(Note: Normally triggered with the LCtrl key.)
|
||
|
|
||
|
GetConfigWindowSizeIndex
|
||
|
Returns:
|
||
|
(int) index
|
||
|
Description:
|
||
|
Returns the config's selected window size index.
|
||
|
|
||
|
GetConfigWindowSizeList
|
||
|
Returns:
|
||
|
(int[][]) available window sizes
|
||
|
Description:
|
||
|
Returns an array of the window sizes specified in th_dnh.def.
|
||
|
|
||
|
GetConfigVirtualKeyMapping
|
||
|
Arguments:
|
||
|
1) (int) virtual key
|
||
|
Returns:
|
||
|
(int[2]) keys mapping
|
||
|
Description:
|
||
|
Returns the key mapping [keyboard, pad] as set in the config.
|
||
|
|
||
|
Mappings will not change if keys are reassigned in-game.
|
||
|
|
||
|
GetConfigWindowTitle
|
||
|
Returns:
|
||
|
(string) window title
|
||
|
Description:
|
||
|
Returns the engine's default window title, or the one specified in th_dnh.def if it exists.
|
||
|
|
||
|
SetWindowTitle
|
||
|
Arguments:
|
||
|
1) (string) window title
|
||
|
Description:
|
||
|
Sets the window title.
|
||
|
|
||
|
Passing in an empty string will reset the window title to the default.
|
||
|
|
||
|
SetEnableUnfocusedProcessing
|
||
|
Arguments:
|
||
|
1) (bool) enables
|
||
|
Description:
|
||
|
Enables or disables unfocused processing.
|
||
|
|
||
|
GetLastFrameUpdateSpeed
|
||
|
Returns:
|
||
|
(int) milliseconds
|
||
|
Description:
|
||
|
Returns the time the engine took to update scripts in the previous frame in milliseconds.
|
||
|
|
||
|
GetLastFrameRenderSpeed
|
||
|
Returns:
|
||
|
(int) milliseconds
|
||
|
Description:
|
||
|
Returns the time the engine took to render the previous frame in milliseconds.
|
||
|
|
||
|
--------------------------------> Stage Information <--------------------------------
|
||
|
|
||
|
SetScore
|
||
|
Arguments:
|
||
|
1) (int) score
|
||
|
Description:
|
||
|
Sets the score value.
|
||
|
|
||
|
SetGraze
|
||
|
Arguments:
|
||
|
1) (int) graze
|
||
|
Description:
|
||
|
Sets the graze count.
|
||
|
|
||
|
SetPoint
|
||
|
Arguments:
|
||
|
1) (int) point
|
||
|
Description:
|
||
|
Sets the default point item value.
|
||
|
|
||
|
--------------------------------> Archive <--------------------------------
|
||
|
|
||
|
AddArchiveFile (Overload)
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
2) (int) offset
|
||
|
Returns:
|
||
|
(bool) load successful
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Loads a .dat archive, with the added capability to specify the read offset.
|
||
|
|
||
|
GetArchiveFilePathList
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
2) (bool) full path
|
||
|
Returns:
|
||
|
(string[]) paths
|
||
|
Description:
|
||
|
Lists out the stored file entries in the given .dat archive.
|
||
|
Archive must have already been loaded.
|
||
|
|
||
|
--------------------------------> Screenshot <--------------------------------
|
||
|
|
||
|
SaveSnapShotA3
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
2) (int) rect left
|
||
|
3) (int) rect top
|
||
|
4) (int) rect right
|
||
|
5) (int) rect bottom
|
||
|
6) (const) format
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Renders the whole screen to a texture and saves the specified rectangular area of the texture to a file with the given name.
|
||
|
Returns true if the save was successful.
|
||
|
|
||
|
Available formats:
|
||
|
IFF_BMP: Bitmap file. (.bmp) (default)
|
||
|
IFF_JPG: Joint Photographic Experts Group graphics file. (.jpeg)
|
||
|
IFF_TGA: TARGA bitmap file. (.tga)
|
||
|
IFF_PNG: Portable Network Graphics file. (.png)
|
||
|
IFF_DDS: DirectDraw Surface file. (.dds)
|
||
|
IFF_PPM: Portable PixelMap graphics file. (.ppm)
|
||
|
|
||
|
--------------------------------> Script <--------------------------------
|
||
|
|
||
|
UnloadScript
|
||
|
Arguments:
|
||
|
1) (int) script ID
|
||
|
Description:
|
||
|
Unloads a script that was loaded with LoadScript or LoadScriptInThread.
|
||
|
|
||
|
UnloadScriptFromCache
|
||
|
Arguments:
|
||
|
1) (string) script path
|
||
|
Description:
|
||
|
Unloads the given given from the script source cache.
|
||
|
|
||
|
Does nothing if the script does not exist in the cache.
|
||
|
|
||
|
StartScript (Overload)
|
||
|
Arguments:
|
||
|
1) (int) script ID
|
||
|
2) (bool) unload
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Starts the given script, and whether or not to remove the script from the "Loaded Scripts" cache. (NOT the "Script Source" cache)
|
||
|
A script that is often restarted would benefit from this overload by using LoadScript only once,
|
||
|
and then using StartScript(idScript, false) to avoid having to repeatedly call LoadScript.
|
||
|
|
||
|
*StartScript(idScript) = StartScript(idScript, true)
|
||
|
|
||
|
PauseScript
|
||
|
Arguments:
|
||
|
1) (int) script ID
|
||
|
2) (bool) pause
|
||
|
Description:
|
||
|
Pauses or unpauses the specified script. Not guaranteed to work flawlessly.
|
||
|
Causes an error is the script ID is the ID of the script from which the function was called,
|
||
|
aka; "a script cannot pause itself".
|
||
|
|
||
|
GetScriptStatus
|
||
|
Arguments:
|
||
|
1) (int) script ID
|
||
|
Returns:
|
||
|
(const) status
|
||
|
Description:
|
||
|
Returns the status of the specified script.
|
||
|
|
||
|
Possible return values:
|
||
|
- STATUS_LOADING ; Script is currently loading.
|
||
|
- STATUS_LOADED ; Script has been loaded.
|
||
|
- STATUS_RUNNING ; Script is running.
|
||
|
- STATUS_PAUSED ; Script has been paused.
|
||
|
- STATUS_CLOSING ; Script is closing.
|
||
|
- STATUS_INVALID ; Any other cases, or invalid script ID.
|
||
|
|
||
|
--------------------------------> Event <--------------------------------
|
||
|
|
||
|
GetEventArgumentCount
|
||
|
Returns:
|
||
|
(int) count
|
||
|
Description:
|
||
|
Returns the event argument count of the active event.
|
||
|
|
||
|
NotifyEvent
|
||
|
Arguments:
|
||
|
1) (int) script ID
|
||
|
2) (int) event type
|
||
|
3+) (T) arguments...
|
||
|
Returns:
|
||
|
(T) event result
|
||
|
Description:
|
||
|
Change.
|
||
|
|
||
|
It is possible to pass as many event arguments as you want.
|
||
|
|
||
|
*Scripts paused with PauseScript will still be able to run events.
|
||
|
|
||
|
NotifyEventOwn
|
||
|
Arguments:
|
||
|
1) (int) event type
|
||
|
2+) (T) arguments...
|
||
|
Returns:
|
||
|
(T) event result
|
||
|
Description:
|
||
|
NotifyEvent's the script in which it was called.
|
||
|
|
||
|
It is possible to pass as many event arguments as you want.
|
||
|
|
||
|
*Scripts paused with PauseScript will still be able to run events.
|
||
|
|
||
|
NotifyEventAll
|
||
|
Arguments:
|
||
|
1) (int) event type
|
||
|
2+) (T) arguments...
|
||
|
Description:
|
||
|
Change.
|
||
|
NotifyEvent's all actively running scripts.
|
||
|
|
||
|
It is possible to pass as many event arguments as you want.
|
||
|
|
||
|
*Scripts paused with PauseScript will still be able to run events.
|
||
|
|
||
|
--------------------------------> Matrix <--------------------------------
|
||
|
|
||
|
A "matrix" here is a 16-member array representing a 4x4 matrix arranged row-by-row.
|
||
|
Ex: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] (The identity matrix)
|
||
|
A "vector" here is a float value array of the specified size.
|
||
|
Ex: [3, 4, 5] -> VECTOR3
|
||
|
[5, 5, 0, 2] -> VECTOR4
|
||
|
|
||
|
MatrixIdentity
|
||
|
Returns:
|
||
|
(matrix) the identity matrix
|
||
|
Description:
|
||
|
Contructs an identity matrix.
|
||
|
|
||
|
MatrixInverse
|
||
|
Arguments:
|
||
|
1) (matrix) matrix
|
||
|
Returns:
|
||
|
(matrix) result
|
||
|
Description:
|
||
|
Inverses the given matrix.
|
||
|
|
||
|
MatrixAdd
|
||
|
Arguments:
|
||
|
1) (matrix) matrix1
|
||
|
2) (matrix) matrix2
|
||
|
Returns:
|
||
|
(matrix) result
|
||
|
Description:
|
||
|
Adds two matrices together.
|
||
|
Note: Directly using the "+" operator also works.
|
||
|
|
||
|
MatrixSubtract
|
||
|
Arguments:
|
||
|
1) (matrix) matrix1
|
||
|
2) (matrix) matrix2
|
||
|
Returns:
|
||
|
(matrix) result
|
||
|
Description:
|
||
|
Subtracts two matrices.
|
||
|
Note: Directly using the "-" operator also works.
|
||
|
|
||
|
MatrixMultiply
|
||
|
Arguments:
|
||
|
1) (matrix) matrix1
|
||
|
2) (matrix) matrix2
|
||
|
Returns:
|
||
|
(matrix) result
|
||
|
Description:
|
||
|
Multiplies two matrices together.
|
||
|
|
||
|
MatrixDivide
|
||
|
Arguments:
|
||
|
1) (matrix) matrix1
|
||
|
2) (matrix) matrix2
|
||
|
Returns:
|
||
|
(matrix) result
|
||
|
Description:
|
||
|
Divides two matrices.
|
||
|
|
||
|
MatrixTranspose
|
||
|
Arguments:
|
||
|
1) (matrix) matrix
|
||
|
Returns:
|
||
|
(matrix) result
|
||
|
Description:
|
||
|
Transposes the given matrix.
|
||
|
|
||
|
MatrixDeterminant
|
||
|
Arguments:
|
||
|
1) (matrix) matrix
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Calculates the determinant of the given matrix.
|
||
|
|
||
|
MatrixLookAtLH
|
||
|
Arguments:
|
||
|
1) (VECTOR3) eye vector
|
||
|
2) (VECTOR3) destination vector
|
||
|
3) (VECTOR3) orientation vector
|
||
|
Returns:
|
||
|
(matrix) result
|
||
|
Description:
|
||
|
Constructs a left-handed look-at matrix.
|
||
|
|
||
|
MatrixLookAtRH
|
||
|
Arguments:
|
||
|
1) (VECTOR3) eye vector
|
||
|
2) (VECTOR3) destination vector
|
||
|
3) (VECTOR3) orientation vector
|
||
|
Returns:
|
||
|
(matrix) result
|
||
|
Description:
|
||
|
Constructs a right-handed look-at matrix.
|
||
|
|
||
|
MatrixTransformVector
|
||
|
Arguments:
|
||
|
1) (VECTOR3) position
|
||
|
2) (matrix) transformation matrix
|
||
|
Returns:
|
||
|
(VECTOR4) result
|
||
|
Description:
|
||
|
Transforms the given (x, y, z, 1) point with the given matrix.
|
||
|
|
||
|
--------------------------------> Screen Status <--------------------------------
|
||
|
|
||
|
GetMonitorWidth
|
||
|
Returns:
|
||
|
(int) monitor width
|
||
|
Description:
|
||
|
Returns the width of the primary display monitor.
|
||
|
|
||
|
GetMonitorHeight
|
||
|
Returns:
|
||
|
(int) monitor height
|
||
|
Description:
|
||
|
Returns the height of the primary display monitor.
|
||
|
|
||
|
GetScreenWidth
|
||
|
Returns:
|
||
|
(int) screen width
|
||
|
Description:
|
||
|
Returns the width of the engine screen. (specified in th_dnh.def as "screen.width")
|
||
|
|
||
|
GetScreenHeight
|
||
|
Returns:
|
||
|
(int) screen height
|
||
|
Description:
|
||
|
Returns the height of the engine screen. (specified in th_dnh.def as "screen.height")
|
||
|
|
||
|
GetWindowedWidth
|
||
|
Returns:
|
||
|
(int) window width
|
||
|
Description:
|
||
|
Returns the width of the windowed mode.
|
||
|
|
||
|
GetWindowedHeight
|
||
|
Returns:
|
||
|
(int) window width
|
||
|
Description:
|
||
|
Returns the height of the windowed mode.
|
||
|
|
||
|
IsFullscreenMode
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns whether or not the game is in fullscreen mode.
|
||
|
Both pseudo and true fullscreen modes register as true.
|
||
|
|
||
|
--------------------------------> Sound <--------------------------------
|
||
|
|
||
|
SetSoundDivisionVolumeRate
|
||
|
Arguments:
|
||
|
1) (const) division
|
||
|
2) rate
|
||
|
Description:
|
||
|
Sets the volume rate of the given sound division.
|
||
|
The volume rates of all sound objects assigned to the division are multiplied by the division's rate.
|
||
|
|
||
|
GetSoundDivisionVolumeRate
|
||
|
Arguments:
|
||
|
1) (const) division
|
||
|
Returns:
|
||
|
(float) volume rate
|
||
|
Description:
|
||
|
Returns the volume rate of the given sound division.
|
||
|
|
||
|
--------------------------------> Input <--------------------------------
|
||
|
|
||
|
GetVirtualKeyMapping
|
||
|
Arguments:
|
||
|
1) (int) virtual key
|
||
|
Returns:
|
||
|
(int[2]) keys mapping
|
||
|
Description:
|
||
|
Returns the current key mapping [keyboard, pad].
|
||
|
|
||
|
--------------------------------> Resource Loading <--------------------------------
|
||
|
|
||
|
LoadTextureEx
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
2) (bool) use mipmap
|
||
|
3) (bool) use non-power-of-two
|
||
|
Returns:
|
||
|
(bool) loading result
|
||
|
Description:
|
||
|
Returns a boolean value of whether loading was successful.
|
||
|
|
||
|
Loads a texture with more options.
|
||
|
Mipmap option generates a mipmap chain, causes textures to look better when scaled down when used with mipmap filtering.
|
||
|
Non-power-of-two option prevents blurring when the source texture's dimensions are not powers of two. (Due to DirectX's nature, may cause rendering to be slightly slower.)
|
||
|
|
||
|
LoadTextureInLoadThreadEx
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
2) (bool) use mipmap
|
||
|
3) (bool) use non-power-of-two
|
||
|
Returns:
|
||
|
(bool) loading result
|
||
|
Description:
|
||
|
Returns a boolean value of whether initial loading was successful.
|
||
|
|
||
|
LoadTextureEx in the load thread.
|
||
|
|
||
|
LoadShader
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(bool) loading result
|
||
|
Description:
|
||
|
Loads a shader file, and returns a boolean value of whether loading was successful.
|
||
|
|
||
|
RemoveShader
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Description:
|
||
|
Removes a shader data that was previously loaded with LoadShader.
|
||
|
|
||
|
LoadMesh
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Returns:
|
||
|
(bool) loading result
|
||
|
Description:
|
||
|
Loads a mesh data file, and returns a boolean value of whether loading was successful.
|
||
|
|
||
|
RemoveMesh
|
||
|
Arguments:
|
||
|
1) (string) path
|
||
|
Description:
|
||
|
Removes a mesh data that was previously loaded with LoadMesh.
|
||
|
|
||
|
--------------------------------> Render Target <--------------------------------
|
||
|
|
||
|
CreateRenderTargetEx
|
||
|
Arguments:
|
||
|
1) (string) name
|
||
|
2) (int) width
|
||
|
3) (int) height
|
||
|
Returns:
|
||
|
(bool) creation result
|
||
|
Description:
|
||
|
Returns a boolean value of whether creation was successful.
|
||
|
|
||
|
Creates a render target with the specified name, width, and height.
|
||
|
Fails if either value is not a positive integer.
|
||
|
|
||
|
ClearRenderTargetA1
|
||
|
Arguments:
|
||
|
1) (string) name
|
||
|
Returns:
|
||
|
(bool) clear result
|
||
|
Description:
|
||
|
Previously [SetRenderTarget].
|
||
|
|
||
|
Returns a boolean value of whether the operation was successful.
|
||
|
|
||
|
Clears the render target.
|
||
|
|
||
|
ClearRenderTargetA2
|
||
|
Arguments:
|
||
|
1) (string) name
|
||
|
2) (int) clear color red
|
||
|
3) (int) clear color green
|
||
|
4) (int) clear color blue
|
||
|
5) (int) clear color alpha
|
||
|
Returns:
|
||
|
(bool) clear result
|
||
|
Description:
|
||
|
Returns a boolean value of whether the operation was successful.
|
||
|
|
||
|
Clears the render target and fills it with the specified color and alpha.
|
||
|
|
||
|
ClearRenderTargetA3
|
||
|
Arguments:
|
||
|
1) (string) name
|
||
|
2) (int) clear color red
|
||
|
3) (int) clear color green
|
||
|
4) (int) clear color blue
|
||
|
5) (int) clear color alpha
|
||
|
6) (int) rect left
|
||
|
7) (int) rect top
|
||
|
8) (int) rect right
|
||
|
9) (int) rect bottom
|
||
|
Returns:
|
||
|
(bool) clear result
|
||
|
Description:
|
||
|
Returns a boolean value of whether the operation was successful.
|
||
|
|
||
|
Clears the render target in the specified rectangular area and fills that area with the specified color and alpha.
|
||
|
|
||
|
SaveRenderedTextureA3
|
||
|
Arguments:
|
||
|
1) (string) name
|
||
|
2) (string) path
|
||
|
3) (int) rect left
|
||
|
4) (int) rect top
|
||
|
5) (int) rect right
|
||
|
6) (int) rect bottom
|
||
|
7) (const) format
|
||
|
Returns:
|
||
|
(bool) save result
|
||
|
Description:
|
||
|
SaveRenderedTextureA2, with the added ability of image format specification.
|
||
|
|
||
|
Available formats are:
|
||
|
IFF_BMP: Bitmap file. (.bmp) (default)
|
||
|
IFF_JPG: Joint Photographic Experts Group graphics file. (.jpeg)
|
||
|
IFF_TGA: TARGA bitmap file. (.tga)
|
||
|
IFF_PNG: Portable Network Graphics file. (.png)
|
||
|
IFF_DDS: DirectDraw Surface file. (.dds)
|
||
|
IFF_PPM: Portable PixelMap graphics file. (.ppm)
|
||
|
|
||
|
--------------------------------> Device Capabilities <--------------------------------
|
||
|
|
||
|
IsVertexShaderSupported
|
||
|
Arguments:
|
||
|
1) (int) major
|
||
|
2) (int) minor
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Checks if the video card on the device supports the given vertex shader version.
|
||
|
|
||
|
--------------------------------> Fog <--------------------------------
|
||
|
|
||
|
SetFogParam (Overload)
|
||
|
Arguments:
|
||
|
1) fog start
|
||
|
2) fog end
|
||
|
3) (int) fog hex color
|
||
|
Description:
|
||
|
Overloaded with 3 arguments.
|
||
|
|
||
|
Sets the fog color as an XRGB hexadecimal color value.
|
||
|
|
||
|
Example:
|
||
|
SetFogParam(0, 1024, 0xFF7B32); //-> SetFogParam(0, 1024, 255, 123, 50);
|
||
|
|
||
|
--------------------------------> 3D Camera <--------------------------------
|
||
|
|
||
|
SetCameraMode
|
||
|
Arguments:
|
||
|
1) (const) mode
|
||
|
Description:
|
||
|
Switches the 3D camera between available modes.
|
||
|
Modes:
|
||
|
CAMERA_NORMAL
|
||
|
- The normal 3D camera mode, positioned with elevation and azimuth angles.
|
||
|
CAMERA_LOOKAT
|
||
|
- The new 3D camera mode for maths enthusiasts, with the ability to directly specify camera position and view target position.
|
||
|
Configured with SetCameraFocusX/Y/Z or SetCameraPosEye and SetCameraPosLookAt.
|
||
|
|
||
|
SetCameraPosEye
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
3) z
|
||
|
Description:
|
||
|
Literally just SetCameraFocusXYZ with a different name.
|
||
|
|
||
|
SetCameraPosLookAt
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
3) z
|
||
|
Description:
|
||
|
Used with CAMERA_LOOKAT mode.
|
||
|
Sets the camera's "look-at" position.
|
||
|
|
||
|
GetCameraViewMatrix
|
||
|
Returns:
|
||
|
(matrix) view matrix
|
||
|
Description:
|
||
|
Returns the 3D camera's view matrix.
|
||
|
|
||
|
GetCameraProjectionMatrix
|
||
|
Returns:
|
||
|
(matrix) projection matrix
|
||
|
Description:
|
||
|
Returns the 3D camera's projection matrix.
|
||
|
|
||
|
GetCameraViewProjectionMatrix
|
||
|
Returns:
|
||
|
(matrix) view-projection matrix
|
||
|
Description:
|
||
|
Returns the 3D camera's view-projection matrix.
|
||
|
|
||
|
--------------------------------> Intersection <--------------------------------
|
||
|
|
||
|
IsIntersected_Point_Polygon
|
||
|
Arguments:
|
||
|
1) point - x
|
||
|
2) point - y
|
||
|
3) (float[2][]) polygon vertices
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given point intersects with the polygon.
|
||
|
|
||
|
The polygon can be convex, concave, or complex (self-intersecting).
|
||
|
|
||
|
IsIntersected_Point_Circle
|
||
|
Arguments:
|
||
|
1) point - x
|
||
|
2) point - y
|
||
|
3) circle - x
|
||
|
4) circle - y
|
||
|
5) circle - radius
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given point intersects with the circle.
|
||
|
|
||
|
IsIntersected_Point_Ellipse
|
||
|
Arguments:
|
||
|
1) point - x
|
||
|
2) point - y
|
||
|
3) ellipse - x
|
||
|
4) ellipse - y
|
||
|
5) ellipse - x radius
|
||
|
6) ellipse - y radius
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given point intersects with the ellipse.
|
||
|
|
||
|
IsIntersected_Point_Line
|
||
|
Arguments:
|
||
|
1) point - x
|
||
|
2) point - y
|
||
|
3) line - start x
|
||
|
4) line - start y
|
||
|
5) line - end x
|
||
|
6) line - end y
|
||
|
7) line - width
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given point intersects with the line.
|
||
|
|
||
|
IsIntersected_Point_RegularPolygon
|
||
|
Arguments:
|
||
|
1) point - x
|
||
|
2) point - y
|
||
|
3) polygon - x
|
||
|
4) polygon - y
|
||
|
5) polygon - radius
|
||
|
6) (int) polygon - edge count
|
||
|
7) polygon - angle (degrees)
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given point intersects with the regular polygon.
|
||
|
|
||
|
IsIntersected_Circle_Polygon
|
||
|
Arguments:
|
||
|
1) circle - x
|
||
|
2) circle - y
|
||
|
3) circle - radius
|
||
|
4) (float[2][]) polygon vertices
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given circle intersects with the polygon.
|
||
|
|
||
|
The polygon can be convex, concave, or complex (self-intersecting).
|
||
|
|
||
|
IsIntersected_Circle_Circle
|
||
|
Arguments:
|
||
|
1) circle 1 - x
|
||
|
2) circle 1 - y
|
||
|
3) circle 1 - radius
|
||
|
4) circle 2 - x
|
||
|
5) circle 2 - y
|
||
|
6) circle 2 - radius
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given circles intersect.
|
||
|
|
||
|
IsIntersected_Circle_Ellipse
|
||
|
Arguments:
|
||
|
1) circle - x
|
||
|
2) circle - y
|
||
|
3) circle - radius
|
||
|
4) ellipse - x
|
||
|
5) ellipse - y
|
||
|
6) ellipse - x radius
|
||
|
7) ellipse - y radius
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given circle intersects with the ellipse.
|
||
|
|
||
|
IsIntersected_Circle_RegularPolygon
|
||
|
Arguments:
|
||
|
1) circle - x
|
||
|
2) circle - y
|
||
|
3) circle - radius
|
||
|
4) polygon - x
|
||
|
5) polygon - y
|
||
|
6) polygon - radius
|
||
|
7) (int) polygon - edge count
|
||
|
8) polygon - angle (degrees)
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given circle intersects with the regular polygon.
|
||
|
|
||
|
IsIntersected_Line_Polygon
|
||
|
Arguments:
|
||
|
1) line - start x
|
||
|
2) line - start y
|
||
|
3) line - end x
|
||
|
4) line - end y
|
||
|
5) line - width
|
||
|
6) (float[2][]) polygon vertices
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given line intersects with the polygon.
|
||
|
|
||
|
The polygon can be convex, concave, or complex (self-intersecting).
|
||
|
|
||
|
IsIntersected_Line_Circle
|
||
|
Arguments:
|
||
|
1) line - start x
|
||
|
2) line - start y
|
||
|
3) line - end x
|
||
|
4) line - end y
|
||
|
5) line - width
|
||
|
6) circle - x
|
||
|
7) circle - y
|
||
|
8) circle - radius
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given line intersects with the circle.
|
||
|
|
||
|
IsIntersected_Line_Ellipse
|
||
|
Arguments:
|
||
|
1) line - start x
|
||
|
2) line - start y
|
||
|
3) line - end x
|
||
|
4) line - end y
|
||
|
5) line - width
|
||
|
6) ellipse - x
|
||
|
7) ellipse - y
|
||
|
8) ellipse - x radius
|
||
|
9) ellipse - y radius
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given line intersects with the ellipse.
|
||
|
|
||
|
IsIntersected_Line_Line
|
||
|
Arguments:
|
||
|
1) line 1 - start x
|
||
|
2) line 1 - start y
|
||
|
3) line 1 - end x
|
||
|
4) line 1 - end y
|
||
|
5) line 1 - width
|
||
|
6) line 2 - start x
|
||
|
7) line 2 - start y
|
||
|
8) line 2 - end x
|
||
|
9) line 2 - end y
|
||
|
10) line 2 - width
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given lines intersect.
|
||
|
|
||
|
IsIntersected_Line_RegularPolygon
|
||
|
Arguments:
|
||
|
1) line - start x
|
||
|
2) line - start y
|
||
|
3) line - end x
|
||
|
4) line - end y
|
||
|
5) line - width
|
||
|
6) polygon - x
|
||
|
7) polygon - y
|
||
|
8) polygon - radius
|
||
|
9) (int) polygon - edge count
|
||
|
10) polygon - angle (degrees)
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given line intersects with the regular polygon.
|
||
|
|
||
|
IsIntersected_Polygon_Polygon
|
||
|
Arguments:
|
||
|
1) (float[2][]) polygon 1 vertices
|
||
|
2) (float[2][]) polygon 2 vertices
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given polygons intersect.
|
||
|
|
||
|
The polygons can be convex, concave, or complex (self-intersecting).
|
||
|
|
||
|
IsIntersected_Polygon_Ellipse
|
||
|
Arguments:
|
||
|
1) (float[2][]) polygon vertices
|
||
|
2) ellipse - x
|
||
|
3) ellipse - y
|
||
|
4) ellipse - x radius
|
||
|
5) ellipse - y radius
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given polygon intersects with the ellipse.
|
||
|
|
||
|
The polygon can be convex, concave, or complex (self-intersecting).
|
||
|
|
||
|
IsIntersected_Polygon_RegularPolygon
|
||
|
Arguments:
|
||
|
1) (float[2][]) polygon 1 vertices
|
||
|
2) polygon 2 - x
|
||
|
3) polygon 2 - y
|
||
|
4) polygon 2 - radius
|
||
|
5) (int) polygon 2 - edge count
|
||
|
6) polygon 2 - angle (degrees)
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if the given polygon intersects with the regular polygon.
|
||
|
|
||
|
The polygon can be convex, concave, or complex (self-intersecting).
|
||
|
|
||
|
--------------------------------> Color Utility <--------------------------------
|
||
|
|
||
|
ColorARGBToHex
|
||
|
Arguments:
|
||
|
1) (int) alpha
|
||
|
2) (int) red
|
||
|
3) (int) green
|
||
|
4) (int) blue
|
||
|
Returns:
|
||
|
(int) hex color
|
||
|
Description:
|
||
|
Returns an ARGB hexadecimal color value of the given colors.
|
||
|
|
||
|
Example:
|
||
|
ColorARGBToHex(255, 255, 255, 255);
|
||
|
//Result: 0xFFFFFFFF
|
||
|
|
||
|
ColorARGBToHex(67, 255, 0, 125);
|
||
|
//Result: 0x43FF007D
|
||
|
|
||
|
ColorARGBToHex (Overload)
|
||
|
Arguments:
|
||
|
1) (int[4]) color
|
||
|
Returns:
|
||
|
(int) hex color
|
||
|
Description:
|
||
|
Overloaded with 1 argument.
|
||
|
|
||
|
Returns ColorARGBToHex(color[0], color[1], color[2], color[3]);
|
||
|
|
||
|
ColorHexToARGB
|
||
|
Arguments:
|
||
|
1) (int) hex color
|
||
|
Returns:
|
||
|
(int[4]) ARGB color
|
||
|
Description:
|
||
|
Returns an ARGB color array of the given hexadecimal color (D3DCOLOR).
|
||
|
|
||
|
Example:
|
||
|
ColorHexToARGB(0xFFFFFFFF);
|
||
|
//Result: [255, 255, 255, 255]
|
||
|
|
||
|
ColorHexToARGB(0x43FF007D);
|
||
|
//Result: [67, 255, 0, 125]
|
||
|
|
||
|
ColorHexToARGB (Overload)
|
||
|
Arguments:
|
||
|
1) (int) hex color
|
||
|
2) (int) control
|
||
|
Returns:
|
||
|
(int[]) color array
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Returns an ARGB color array of the given hexadecimal color (D3DCOLOR), controlled by the control argument.
|
||
|
|
||
|
The control value dictates which color channels to output, and in which order.
|
||
|
The bit format is:
|
||
|
MSB LSB (16 bit)
|
||
|
000000 00 00 00 00 00
|
||
|
Unused Count 1st 2nd 3rd 4th
|
||
|
|
||
|
- Bits 0-5 are unused.
|
||
|
- Bits 6-7 control the amount of color channels to return, subtracted by 1.
|
||
|
(11 is 4 channels, 10 is 3, 01 is 2, 00 is 1)
|
||
|
- Bits 8-15 control the order of the color channels, duplication is allowed.
|
||
|
00 (0) signifies the A channel.
|
||
|
01 (1) signifies the R channel.
|
||
|
10 (2) signifies the G channel.
|
||
|
11 (3) signifies the B channel.
|
||
|
|
||
|
Examples:
|
||
|
0b1100011011 (0x31b) -> [A, R, G, B]
|
||
|
0b1101101100 (0x36c) -> [R, G, B, A]
|
||
|
0b1100000000 (0x300) -> [A, A, A, A]
|
||
|
0b1001101100 (0x26c) -> [R, G, B]
|
||
|
0b0001000000 (0x040) -> [R]
|
||
|
|
||
|
For people whose brain lacks the required amount of sanity (or lack thereof) to understand the control argument, here are some constants:
|
||
|
COLOR_PERMUTE_ARGB
|
||
|
COLOR_PERMUTE_RGBA
|
||
|
COLOR_PERMUTE_BGRA
|
||
|
COLOR_PERMUTE_RGB
|
||
|
COLOR_PERMUTE_BGR
|
||
|
COLOR_PERMUTE_A
|
||
|
COLOR_PERMUTE_R
|
||
|
COLOR_PERMUTE_G
|
||
|
COLOR_PERMUTE_B
|
||
|
|
||
|
Example:
|
||
|
ColorHexToARGB(0xFFFFFFFF, 0x31b);
|
||
|
//Result: [255, 255, 255, 255]
|
||
|
|
||
|
ColorHexToARGB(0xFFFFFFFF, 0x000);
|
||
|
//Result: [255]
|
||
|
|
||
|
ColorHexToARGB(0x43FF007D, 0x31b)
|
||
|
//Result: [67, 255, 0, 125]
|
||
|
|
||
|
ColorHexToARGB(0x43FF007D, 0x36c);
|
||
|
//Result: [255, 0, 125, 67]
|
||
|
|
||
|
ColorHexToARGB(0x43FF007D, 0x2e4);
|
||
|
//Result: [125, 0, 255]
|
||
|
|
||
|
ColorRGBtoHSV
|
||
|
Arguments:
|
||
|
1) (int) red
|
||
|
2) (int) green
|
||
|
3) (int) blue
|
||
|
Returns:
|
||
|
(int[3]) color array
|
||
|
Description:
|
||
|
Returns the given RGB color as a HSV color array.
|
||
|
|
||
|
ColorHexRGBtoHSV
|
||
|
Arguments:
|
||
|
1) (int) hex color
|
||
|
Returns:
|
||
|
(int[3]) color array
|
||
|
Description:
|
||
|
Returns the given XRGB hexadecimal color as a HSV color array.
|
||
|
|
||
|
ColorHSVtoRGB
|
||
|
Arguments:
|
||
|
1) (int) hue
|
||
|
2) (int) saturation
|
||
|
3) (int) value
|
||
|
Returns:
|
||
|
(int[3]) color array
|
||
|
Description:
|
||
|
Returns the given HSV color as an RGB color array.
|
||
|
|
||
|
ColorHSVtoHexRGB
|
||
|
Arguments:
|
||
|
1) (int) hue
|
||
|
2) (int) saturation
|
||
|
3) (int) value
|
||
|
Returns:
|
||
|
(int) hex color
|
||
|
Description:
|
||
|
Returns the given HSV color as an XRGB hexadecimal color.
|
||
|
|
||
|
--------------------------------> Base Object Functions <--------------------------------
|
||
|
|
||
|
SetInvalidPositionReturn
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
Description:
|
||
|
Sets the default position that position-fetching functions will return if the object does not exist.
|
||
|
|
||
|
The default value is (0, 0).
|
||
|
|
||
|
GetObjectDistance
|
||
|
Arguments:
|
||
|
1) (int) object 1 ID
|
||
|
2) (int) object 2 ID
|
||
|
Returns:
|
||
|
(float) distance
|
||
|
Description:
|
||
|
Change.
|
||
|
|
||
|
The Z positions will not be included in the calculation if neither objects are 3D-valid.
|
||
|
|
||
|
GetObjectDistanceSq
|
||
|
Arguments:
|
||
|
1) (int) object 1 ID
|
||
|
2) (int) object 2 ID
|
||
|
Returns:
|
||
|
(float) distance
|
||
|
Description:
|
||
|
Returns the square of the distance between two objects.
|
||
|
|
||
|
The Z positions will not be included in the calculation if neither objects are 3D-valid.
|
||
|
|
||
|
GetObjectDeltaAngle
|
||
|
Arguments:
|
||
|
1) (int) object 1 ID
|
||
|
2) (int) object 2 ID
|
||
|
Returns:
|
||
|
(float) angle
|
||
|
Description:
|
||
|
Returns the angle between two objects.
|
||
|
|
||
|
The Z positions will not be included in the calculation if neither objects are 3D-valid.
|
||
|
|
||
|
Obj_GetValueI
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) key
|
||
|
Returns:
|
||
|
(T) value
|
||
|
Description:
|
||
|
Obj_GetValue with int value key.
|
||
|
|
||
|
Obj_GetValueDI
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) key
|
||
|
3) default
|
||
|
Returns:
|
||
|
(T) value
|
||
|
Description:
|
||
|
Obj_GetValueD with int value key.
|
||
|
|
||
|
Obj_SetValueI
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) key
|
||
|
3) value
|
||
|
Returns:
|
||
|
(T) value
|
||
|
Description:
|
||
|
Obj_SetValue with int value key.
|
||
|
|
||
|
Obj_DeleteValueI
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) key
|
||
|
Returns:
|
||
|
(T) value
|
||
|
Description:
|
||
|
Obj_DeleteValue with int value key.
|
||
|
|
||
|
Obj_IsValueExistsI
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) key
|
||
|
Returns:
|
||
|
(T) value
|
||
|
Description:
|
||
|
Obj_IsValueExists with int value key.
|
||
|
|
||
|
Obj_GetValueCount
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) count
|
||
|
Description:
|
||
|
Returns the number of stored values in the object's string-indexed value table.
|
||
|
|
||
|
Obj_GetValueCountI
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) count
|
||
|
Description:
|
||
|
Returns the number of stored values in the object's int-indexed value table.
|
||
|
|
||
|
Obj_CopyValueTable
|
||
|
Arguments:
|
||
|
1) (int) destination object ID
|
||
|
2) (int) source object ID
|
||
|
3) (int) mode
|
||
|
Returns:
|
||
|
(int) source object's object value amount
|
||
|
Description:
|
||
|
Copies the source's object value table to the destination's object value table.
|
||
|
|
||
|
Available modes:
|
||
|
0 - Object value table is cleared before the copy.
|
||
|
1 - Value will be overwritten in case of key conflicts.
|
||
|
2 - Value will not be overwritten in case of key conflicts.
|
||
|
|
||
|
--------------------------------> Shader Object Functions <--------------------------------
|
||
|
|
||
|
ObjShader_SetShaderT
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (string) shader name
|
||
|
2) (string) shader source
|
||
|
Returns:
|
||
|
(bool) success
|
||
|
Description:
|
||
|
Compiles a shader from the given string. Returns whether the operation was successful.
|
||
|
Shader name should be unique.
|
||
|
|
||
|
--------------------------------> Render Object Functions <--------------------------------
|
||
|
|
||
|
[---------------------------> Blending <---------------------------]
|
||
|
|
||
|
ObjRender_SetBlendType
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
BLEND_ALPHA_INV - Alpha blending with source color inversion.
|
||
|
|
||
|
[---------------------------> Scale <---------------------------]
|
||
|
|
||
|
ObjRender_SetScaleXYZ (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) scale
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the object's XYZ scale.
|
||
|
|
||
|
Example:
|
||
|
ObjRender_SetScaleXYZ(obj, 2); //-> ObjRender_SetScaleXYZ(obj, 2, 2, 2);
|
||
|
|
||
|
[---------------------------> Color & Alpha <---------------------------]
|
||
|
|
||
|
ObjRender_SetColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the object's color as an XRGB hexadecimal color value.
|
||
|
|
||
|
Example:
|
||
|
ObjRender_SetColor(obj, 0xFF7B32); //-> ObjRender_SetColor(obj, 255, 123, 50);
|
||
|
|
||
|
ObjRender_SetColorHSV
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) color hue
|
||
|
3) (int) color saturation
|
||
|
4) (int) color value
|
||
|
Description:
|
||
|
Sets the object's RGB color as a HSV color.
|
||
|
|
||
|
ObjRender_GetColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int[3]) color
|
||
|
Description:
|
||
|
Returns an [r, g, b] array of the object's color.
|
||
|
|
||
|
ObjRender_GetColorHex
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) hex color
|
||
|
Description:
|
||
|
Returns the object's color an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjRender_GetAlpha
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) alpha
|
||
|
Description:
|
||
|
Returns the object's alpha value.
|
||
|
|
||
|
[---------------------------> Texture Filtering <---------------------------]
|
||
|
|
||
|
ObjRender_SetTextureFilterMin
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) mode
|
||
|
Description:
|
||
|
Sets the minification filtering mode for the render object.
|
||
|
|
||
|
Filtering modes:
|
||
|
FILTER_NONE
|
||
|
FILTER_POINT
|
||
|
FILTER_LINEAR
|
||
|
FILTER_ANISOTROPIC
|
||
|
|
||
|
Default is FILTER_LINEAR.
|
||
|
|
||
|
ObjRender_SetTextureFilterMag
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) mode
|
||
|
Description:
|
||
|
Sets the magnification filtering mode for the render object.
|
||
|
|
||
|
Default is FILTER_LINEAR.
|
||
|
|
||
|
ObjRender_SetTextureFilterMip
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) mode
|
||
|
Description:
|
||
|
Sets the mipmap filtering mode for the render object.
|
||
|
|
||
|
Default is FILTER_NONE.
|
||
|
|
||
|
ObjRender_SetTextureFilter
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) filter min
|
||
|
3) (const) filter mag
|
||
|
4) (const) filter mip
|
||
|
Description:
|
||
|
Fused ObjRender_SetTextureFilterMin+Mag+Mip.
|
||
|
|
||
|
[---------------------------> Vertex Shader <---------------------------]
|
||
|
|
||
|
ObjRender_SetVertexShaderRenderingMode
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) use vertex shader mode
|
||
|
Description:
|
||
|
Sets whether the render object will be rendered with support for vertex shaders.
|
||
|
Default is false.
|
||
|
|
||
|
Rendering will not be performed without an attached shader object when this is set to true.
|
||
|
When using vertex shader rendering mode with 3D objects, fog must be manually computed with the shader.
|
||
|
|
||
|
ObjRender_SetEnableDefaultTransformMatrix
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
Sets whether the render object will calculate its transformation matrix.
|
||
|
Default is true.
|
||
|
|
||
|
The transformation matrix contains the object's scale, angle, and position data, along with the 2D camera matrix.
|
||
|
If set to false, the transformation matrix will only contain the 2D camera matrix.
|
||
|
|
||
|
[---------------------------> Lighting <---------------------------]
|
||
|
|
||
|
ObjRender_SetLightingEnable
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) lighting enable
|
||
|
2) (bool) specular lighting enable
|
||
|
Description:
|
||
|
Enables or disables the 3D directional lighting and specular lighting for the render object.
|
||
|
|
||
|
The default values are false and false.
|
||
|
For mesh objects, the default values are true and false.
|
||
|
|
||
|
If it is not necessary, I recommend you not use specular lighting, as it's quite computationally expensive.
|
||
|
|
||
|
ObjRender_SetLightingDiffuseColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) r
|
||
|
3) (int) g
|
||
|
4) (int) b
|
||
|
Description:
|
||
|
Sets the diffuse color of the lighting.
|
||
|
|
||
|
The default color value is (128, 128, 128).
|
||
|
|
||
|
ObjRender_SetLightingDiffuseColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the object's diffuse lighting color as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjRender_SetLightingSpecularColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) r
|
||
|
3) (int) g
|
||
|
4) (int) b
|
||
|
Description:
|
||
|
Sets the specular color of the lighting.
|
||
|
|
||
|
The default color value is (0, 0, 0).
|
||
|
|
||
|
ObjRender_SetLightingSpecularColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the object's specular lighting color as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjRender_SetLightingAmbientColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) r
|
||
|
3) (int) g
|
||
|
4) (int) b
|
||
|
Description:
|
||
|
Sets the ambient color of the lighting.
|
||
|
|
||
|
The default color value is (128, 128, 128).
|
||
|
|
||
|
ObjRender_SetLightingAmbientColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the object's ambient lighting color as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjRender_SetLightingDirection
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) x component
|
||
|
3) y component
|
||
|
4) z component
|
||
|
Description:
|
||
|
Sets the direction vector of the lighting.
|
||
|
Vector does not need to be normalized, but should have a non-zero length.
|
||
|
|
||
|
The default direction vector is (-1, -1, -1).
|
||
|
|
||
|
--------------------------------> Primitive Object Functions <--------------------------------
|
||
|
|
||
|
ObjPrim_GetTexture
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(string) texture name
|
||
|
Description:
|
||
|
Returns the path/name of the primitive object's texture.
|
||
|
|
||
|
ObjPrim_SetVertexColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) vertex index
|
||
|
3) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 3 arguments.
|
||
|
|
||
|
Sets the vertex color as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjPrim_SetVertexColorHSV
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) vertex index
|
||
|
3) color hue
|
||
|
4) color saturation
|
||
|
5) color value
|
||
|
Description:
|
||
|
Sets the vertex color of the primitive object as a HSV color.
|
||
|
|
||
|
ObjPrim_GetVertexColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) vertex index
|
||
|
Returns:
|
||
|
(int[3]) color
|
||
|
Description:
|
||
|
Returns the vertex color as an [r, g, b] array.
|
||
|
|
||
|
ObjPrim_GetVertexColorHex
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) vertex index
|
||
|
Returns:
|
||
|
(int) hex color
|
||
|
Description:
|
||
|
Returns the vertex color as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjPrim_GetVertexAlpha
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) vertex index
|
||
|
Returns:
|
||
|
(int) alpha
|
||
|
Description:
|
||
|
Returns the vertex alpha value.
|
||
|
|
||
|
ObjPrim_SetVertexIndex
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int[]) indices
|
||
|
Description:
|
||
|
Sets vertex indices to the primitive object.
|
||
|
Required for particle list objects.
|
||
|
|
||
|
Example:
|
||
|
ObjPrim_SetPrimitiveType(obj, PRIMITIVE_TRIANGLELIST);
|
||
|
ObjPrim_SetVertexCount(obj, 4);
|
||
|
ObjPrim_SetVertexPosition(obj, 0, 0, 0);
|
||
|
ObjPrim_SetVertexPosition(obj, 1, 32, 0);
|
||
|
ObjPrim_SetVertexPosition(obj, 2, 0, 32);
|
||
|
ObjPrim_SetVertexPosition(obj, 3, 32, 32);
|
||
|
ObjPrim_SetVertexIndex(obj, [0, 1, 2, 1, 2, 3]);
|
||
|
|
||
|
--------------------------------> 2D Sprite Object Functions <--------------------------------
|
||
|
|
||
|
ObjSprite2D_SetSourceRect (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int[4]) rect
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
ObjSprite2D_SetSourceRect(obj, rect[0], rect[1], rect[2], rect[3]);
|
||
|
|
||
|
ObjSprite2D_SetDestRect (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (float[4]) rect
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
ObjSprite2D_SetDestRect(obj, rect[0], rect[1], rect[2], rect[3]);
|
||
|
|
||
|
--------------------------------> 2D Sprite List Object Functions <--------------------------------
|
||
|
|
||
|
ObjSpriteList2D_SetSourceRect (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int[4]) rect
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
ObjSpriteList2D_SetSourceRect(obj, rect[0], rect[1], rect[2], rect[3]);
|
||
|
|
||
|
ObjSpriteList2D_SetDestRect (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (float[4]) rect
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
ObjSpriteList2D_SetDestRect(obj, rect[0], rect[1], rect[2], rect[3]);
|
||
|
|
||
|
ObjSpriteList2D_SetAutoClearVertexCount
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) clear
|
||
|
Description:
|
||
|
Sets whether the 2D sprite list object will clear its vertices upon rendering.
|
||
|
|
||
|
--------------------------------> 3D Sprite Object Functions <--------------------------------
|
||
|
|
||
|
ObjSprite3D_SetSourceRect (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int[4]) rect
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
ObjSprite3D_SetSourceRect(obj, rect[0], rect[1], rect[2], rect[3]);
|
||
|
|
||
|
ObjSprite3D_SetDestRect (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (float[4]) rect
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
ObjSprite3D_SetDestRect(obj, rect[0], rect[1], rect[2], rect[3]);
|
||
|
|
||
|
ObjSprite3D_SetSourceDestRect (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (float[4]) rect
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
ObjSprite3D_SetSourceDestRect(obj, rect[0], rect[1], rect[2], rect[3]);
|
||
|
|
||
|
--------------------------------> Particle List Object Functions <--------------------------------
|
||
|
|
||
|
ObjParticleList_Create
|
||
|
Arguments:
|
||
|
1) (const) type
|
||
|
Description:
|
||
|
Creates a new particle list object and returns its ID.
|
||
|
Available types are:
|
||
|
OBJ_PARTICLE_LIST_2D
|
||
|
OBJ_PARTICLE_LIST_3D
|
||
|
Vertex shader rendering is always on, and rendering will fail if an improper custom shader is used.
|
||
|
Not using a custom shader will result in the default shader being used.
|
||
|
|
||
|
ObjParticleList_SetPosition
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) X position
|
||
|
3) Y position
|
||
|
4) Z position
|
||
|
Description:
|
||
|
Sets the instance position data.
|
||
|
|
||
|
ObjParticleList_SetScaleX
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) X scale
|
||
|
Description:
|
||
|
Sets the instance X scale data.
|
||
|
|
||
|
ObjParticleList_SetScaleY
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) Y scale
|
||
|
Description:
|
||
|
Sets the instance Y scale data.
|
||
|
|
||
|
ObjParticleList_SetScaleZ
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) Z scale
|
||
|
Description:
|
||
|
Sets the instance Z scale data.
|
||
|
|
||
|
ObjParticleList_SetScale
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) X scale
|
||
|
3) Y scale
|
||
|
4) Z scale
|
||
|
Description:
|
||
|
Sets the instance scale data.
|
||
|
|
||
|
ObjParticleList_SetScale (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) scale
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the instance scale data.
|
||
|
|
||
|
ObjParticleList_SetScale(obj, 2); //-> ObjParticleList_SetScale(obj, 2, 2, 2);
|
||
|
|
||
|
ObjParticleList_SetAngleX
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) X angle
|
||
|
Description:
|
||
|
Sets the instance X angle data.
|
||
|
|
||
|
ObjParticleList_SetAngleY
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) Y angle
|
||
|
Description:
|
||
|
Sets the instance Y angle data.
|
||
|
|
||
|
ObjParticleList_SetAngleZ
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) Z angle
|
||
|
Description:
|
||
|
Sets the instance Z angle data.
|
||
|
|
||
|
ObjParticleList_SetAngleXYZ
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) X angle
|
||
|
3) Y angle
|
||
|
3) Z angle
|
||
|
Description:
|
||
|
Sets the instance XYZ angle data.
|
||
|
|
||
|
ObjParticleList_SetColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) red
|
||
|
3) (int) green
|
||
|
4) (int) blue
|
||
|
Description:
|
||
|
Sets the instance RGB color data.
|
||
|
|
||
|
ObjParticleList_SetColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the instance color data as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjParticleList_SetAlpha
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) alpha
|
||
|
Description:
|
||
|
Sets the instance alpha data.
|
||
|
|
||
|
ObjParticleList_SetExtraData
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) data 1
|
||
|
2) data 2
|
||
|
2) data 3
|
||
|
Description:
|
||
|
Sets instance extra data.
|
||
|
These can be freely utilized by the scripters in case a custom shader is used.
|
||
|
|
||
|
ObjParticleList_AddInstance
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Description:
|
||
|
Submits the current data to the next instance.
|
||
|
|
||
|
ObjParticleList_ClearInstance
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Description:
|
||
|
Clears all previously submitted instance data of the current frame.
|
||
|
|
||
|
--------------------------------> Mesh Object Functions <--------------------------------
|
||
|
|
||
|
ObjMesh_SetColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the mesh object's color as an XRGB hexadecimal color value.
|
||
|
|
||
|
--------------------------------> Text Object Functions <--------------------------------
|
||
|
|
||
|
ObjText_GetText
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(string) text
|
||
|
Description:
|
||
|
Returns the text of the text object.
|
||
|
|
||
|
ObjText_SetFixedWidth
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) width
|
||
|
Description:
|
||
|
Activates and sets the width of monospacing mode for the text object.
|
||
|
|
||
|
If width is <= 0, the spacing mode returns to regular dynamic spacing.
|
||
|
|
||
|
ObjText_SetFontWeight
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) weight
|
||
|
Description:
|
||
|
Sets the font weight for the following text object.
|
||
|
|
||
|
Weight ranges from 0 to 1000, with 0 being the lightest and 1000 being the thickest. -1 for the default weight.
|
||
|
Some fonts may not support all weight values.
|
||
|
|
||
|
*ObjText_SetFontBold(a, b) is equivalent to ObjText_SetFontWeight(a, b ? 700 : 400).
|
||
|
|
||
|
ObjText_SetFontCharacterSet
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) charset
|
||
|
Description:
|
||
|
Sets the charset for the following text object.
|
||
|
|
||
|
The following constants are defined:
|
||
|
CHARSET_ANSI
|
||
|
CHARSET_DEFAULT
|
||
|
CHARSET_SHIFTJIS
|
||
|
CHARSET_HANGUL
|
||
|
CHARSET_JOHAB
|
||
|
CHARSET_CHINESEBIG5
|
||
|
CHARSET_TURKISH
|
||
|
CHARSET_VIETNAMESE
|
||
|
CHARSET_HEBREW
|
||
|
CHARSET_ARABIC
|
||
|
CHARSET_THAI
|
||
|
|
||
|
For the full list of all charset values, refer to here:
|
||
|
https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-wmf/0d0b32ac-a836-4bd2-a112-b6000a1b4fc9
|
||
|
Avoid using CHARSET_DEFAULT, as it may be device-dependent.
|
||
|
|
||
|
To ensure that font glyphs generate correctly, match the text object's charset with the font's charset.
|
||
|
*The font charset is reset to either CHARSET_ANSI or CHARSET_SHIFTJIS every time ObjText_SetFontType is used.
|
||
|
|
||
|
ObjText_SetFontColorTop (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the text object's font's top color as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjText_SetFontColorBottom (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the text object's font's bottom color as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjText_SetFontBorderColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the text object's font's border color as an XRGB hexadecimal color value.
|
||
|
|
||
|
ObjText_SetVertexColor (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Overloaded with 2 arguments.
|
||
|
|
||
|
Sets the text object's color as an ARGB hexadecimal color value.
|
||
|
|
||
|
--------------------------------> Sound Object Functions <--------------------------------
|
||
|
|
||
|
ObjSound_SetResumeEnable
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) resume enable
|
||
|
Description:
|
||
|
Formerly ObjSound_SetRestartEnable.
|
||
|
Function unchanged.
|
||
|
|
||
|
If set to true, using ObjSound_Play on the sound object that was previously stopped with ObjSound_Stop will resume playing where it last left off.
|
||
|
|
||
|
ObjSound_Seek
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) time
|
||
|
Description:
|
||
|
Seeks to the specified time in the audio.
|
||
|
|
||
|
ObjSound_SeekSampleCount
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) sample
|
||
|
Description:
|
||
|
Seeks to the specified sample in the audio.
|
||
|
|
||
|
ObjSound_SetFrequency
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frequency
|
||
|
Description:
|
||
|
Sets the frequency of the audio in sample rate.
|
||
|
Can be used to increase or decrease play speed.
|
||
|
|
||
|
An input of 0 will reset the value to the audio's original frequency.
|
||
|
|
||
|
ObjSound_GetInfo
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) type
|
||
|
Returns:
|
||
|
[varies]
|
||
|
Description:
|
||
|
Returns the value of the requested information about the sound object.
|
||
|
|
||
|
List of available information types:
|
||
|
INFO_FORMAT
|
||
|
- The format of the audio file.
|
||
|
- SOUND_UNKNOWN
|
||
|
- SOUND_WAVE
|
||
|
- SOUND_OGG
|
||
|
- SOUND_MP3
|
||
|
- SOUND_AWAVE
|
||
|
- SOUND_MIDI
|
||
|
INFO_CHANNEL
|
||
|
- The number of channels.
|
||
|
INFO_SAMPLE_RATE
|
||
|
- The sample rate of the audio in hertz.
|
||
|
- ObjSound_SetFrequency does not affect this value.
|
||
|
INFO_AVG_BYTE_PER_SEC
|
||
|
- The average byte per one second of audio.
|
||
|
INFO_BLOCK_ALIGN
|
||
|
- The block align. (channel * bytePerSample)
|
||
|
INFO_BIT_PER_SAMPLE
|
||
|
- The bits per sample of the audio.
|
||
|
INFO_POSITION
|
||
|
- The current reading position of the audio in seconds.
|
||
|
INFO_POSITION_SAMPLE
|
||
|
- The current reading position of the audio in sample count.
|
||
|
INFO_LENGTH
|
||
|
- The total length of the audio in seconds.
|
||
|
INFO_LENGTH_SAMPLE
|
||
|
- The total length of the audio in sample count.
|
||
|
|
||
|
--------------------------------> Text File Object Functions <--------------------------------
|
||
|
|
||
|
ObjFileT_SetLineText
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) line number
|
||
|
3) (string) new text
|
||
|
Description:
|
||
|
Sets the text of the given line of the text file object.
|
||
|
|
||
|
*Note that the actual file content is only updated upon calling ObjFile_Store.
|
||
|
|
||
|
--------------------------------> Binary File Object Functions <--------------------------------
|
||
|
|
||
|
ObjFileB_GetLastRead
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Returns the amount of bytes read at the last read operation.
|
||
|
|
||
|
A result of 0 may indicate an end-of-file.
|
||
|
|
||
|
ObjFileB_ReadBoolean
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Change.
|
||
|
No longer throws an error upon attempting to read past the end-of-file.
|
||
|
|
||
|
Reads a boolean value from the binary file object.
|
||
|
Advances the read pointer by 1.
|
||
|
|
||
|
ObjFileB_ReadByte
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Change.
|
||
|
No longer throws an error upon attempting to read past the end-of-file.
|
||
|
|
||
|
Reads a byte value from the binary file object.
|
||
|
Advances the read pointer by 1.
|
||
|
|
||
|
ObjFileB_ReadShort
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Change.
|
||
|
No longer throws an error upon attempting to read past the end-of-file.
|
||
|
|
||
|
Reads a short integer value from the binary file object.
|
||
|
Advances the read pointer by 2.
|
||
|
|
||
|
ObjFileB_ReadInteger
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Change.
|
||
|
No longer throws an error upon attempting to read past the end-of-file.
|
||
|
|
||
|
Reads an integer value from the binary file object.
|
||
|
Advances the read pointer by 4.
|
||
|
|
||
|
ObjFileB_ReadLong
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int) result
|
||
|
Description:
|
||
|
Change.
|
||
|
No longer throws an error upon attempting to read past the end-of-file.
|
||
|
|
||
|
Reads a long integer value from the binary file object.
|
||
|
Advances the read pointer by 8.
|
||
|
|
||
|
ObjFileB_ReadFloat
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Change.
|
||
|
No longer throws an error upon attempting to read past the end-of-file.
|
||
|
|
||
|
Reads a single-precision float value from the binary file object.
|
||
|
Advances the read pointer by 4.
|
||
|
|
||
|
ObjFileB_ReadDouble
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(float) result
|
||
|
Description:
|
||
|
Change.
|
||
|
No longer throws an error upon attempting to read past the end-of-file.
|
||
|
|
||
|
Reads a double-precision float value from the binary file object.
|
||
|
Advances the read pointer by 8.
|
||
|
|
||
|
ObjFileB_WriteBoolean
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) value
|
||
|
Returns:
|
||
|
(int) bytes written
|
||
|
Description:
|
||
|
Writes a boolean value to the binary file object at the current write pointer.
|
||
|
Advances the write pointer by 1.
|
||
|
|
||
|
ObjFileB_WriteByte
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) value
|
||
|
Returns:
|
||
|
(int) bytes written
|
||
|
Description:
|
||
|
Writes a boolean value to the binary file object at the current write pointer.
|
||
|
Advances the write pointer by 1.
|
||
|
|
||
|
ObjFileB_WriteShort
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) value
|
||
|
Returns:
|
||
|
(int) bytes written
|
||
|
Description:
|
||
|
Writes a short integer value to the binary file object at the current write pointer.
|
||
|
Advances the write pointer by 2.
|
||
|
|
||
|
ObjFileB_WriteInteger
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) value
|
||
|
Returns:
|
||
|
(int) bytes written
|
||
|
Description:
|
||
|
Writes an integer value to the binary file object at the current write pointer.
|
||
|
Advances the write pointer by 4.
|
||
|
|
||
|
ObjFileB_WriteLong
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) value
|
||
|
Returns:
|
||
|
(int) bytes written
|
||
|
Description:
|
||
|
Writes a long integer value to the binary file object at the current write pointer.
|
||
|
Advances the write pointer by 8.
|
||
|
|
||
|
ObjFileB_WriteFloat
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) value
|
||
|
Returns:
|
||
|
(int) bytes written
|
||
|
Description:
|
||
|
Writes a single-precision float value to the binary file object at the current write pointer.
|
||
|
Advances the write pointer by 4.
|
||
|
|
||
|
ObjFileB_WriteDouble
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) value
|
||
|
Returns:
|
||
|
(int) bytes written
|
||
|
Description:
|
||
|
Writes a double-precision float value to the binary file object at the current write pointer.
|
||
|
Advances the write pointer by 8.
|
||
|
|
||
|
----------------------------------------------> [Stage Script] <----------------------------------------------
|
||
|
|
||
|
--------------------------------> Basic Stage Functions <--------------------------------
|
||
|
|
||
|
SetStgFrame (Overload)
|
||
|
Arguments:
|
||
|
1) (int) frame left
|
||
|
2) (int) frame top
|
||
|
3) (int) frame right
|
||
|
4) (int) frame bottom
|
||
|
5) (int) STG frame render priority - starting (inclusive)
|
||
|
6) (int) STG frame render priority - ending (exclusive)
|
||
|
7) (int) 2D camera render priority
|
||
|
Description:
|
||
|
Overloaded with 7 arguments.
|
||
|
|
||
|
Additional ability to change the render priority of the 2D camera.
|
||
|
|
||
|
SetIntersectionVisualization
|
||
|
Arguments:
|
||
|
1) (bool) enable
|
||
|
Description:
|
||
|
Enables active visualization of all intersection object hitboxes.
|
||
|
|
||
|
Color codes:
|
||
|
Green : Player hitbox+grazebox
|
||
|
Blue : Player shot
|
||
|
Cyan : Player spell
|
||
|
Yellow : Enemy hitbox+killbox
|
||
|
Red : Enemy shot
|
||
|
|
||
|
SetIntersectionVisualizationRenderPriority
|
||
|
Arguments:
|
||
|
1) (int) render priority
|
||
|
Description:
|
||
|
Sets the render priority of hitbox visualizations.
|
||
|
|
||
|
Default value is 68. (GetCameraFocusPermitPriorityI() - 1)
|
||
|
|
||
|
--------------------------------> Player Functions <--------------------------------
|
||
|
|
||
|
GetPlayerScriptID
|
||
|
Returns:
|
||
|
(int) script ID
|
||
|
Description:
|
||
|
Returns the script ID of the player object.
|
||
|
|
||
|
GetPlayerAutoItemCollectLine
|
||
|
Returns:
|
||
|
(float) position
|
||
|
Description:
|
||
|
Returns the position of the player's item autocollection line.
|
||
|
|
||
|
SetPlayerItemScope
|
||
|
Arguments:
|
||
|
1) (int) value
|
||
|
Description:
|
||
|
Sets the player's item collection scope radius.
|
||
|
Effect equivalent to CollectItemsInCircle.
|
||
|
|
||
|
GetPlayerItemScope
|
||
|
Returns:
|
||
|
(float) scope size
|
||
|
Description:
|
||
|
Gets the player's item collection scope radius.
|
||
|
|
||
|
SetPlayerInvincibleGraze
|
||
|
Arguments:
|
||
|
1) (bool) enable
|
||
|
Description:
|
||
|
Sets whether the player can graze during invincbility period.
|
||
|
True by default. All hail ZUN's engine.
|
||
|
|
||
|
SetPlayerIntersectionEraseShot
|
||
|
Arguments:
|
||
|
1) (bool) enable
|
||
|
Description:
|
||
|
Sets whether shots colliding with the player would get automatically deleted.
|
||
|
True by default. All hail ZUN's engine. Again. LOUDER!
|
||
|
|
||
|
SetPlayerStateEndEnable
|
||
|
Arguments:
|
||
|
1) (bool) enable
|
||
|
Description:
|
||
|
Sets whether STATE_END is permitted to activate.
|
||
|
If set to false, player life will continue below 0 upon each death without limit.
|
||
|
False by default if the main script is a package script.
|
||
|
|
||
|
SetPlayerShootdownEventEnable
|
||
|
Arguments:
|
||
|
1) (bool) enable
|
||
|
Description:
|
||
|
Sets whether EV_PLAYER_SHOOTDOWN will be notified upon the player's death.
|
||
|
Setting it to false would also disable STATE_DOWN and STATE_END from ever occuring.
|
||
|
|
||
|
SetPlayerRebirthPosition
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
Description:
|
||
|
Sets the respawn point of the player.
|
||
|
Use REBIRTH_DEFAULT in either position to reset it to its default value.
|
||
|
|
||
|
--------------------------------> Enemy Functions <--------------------------------
|
||
|
|
||
|
SetEnemyAutoDeleteClip
|
||
|
Arguments:
|
||
|
1) (int) left
|
||
|
2) (int) top
|
||
|
3) (int) right
|
||
|
4) (int) bottom
|
||
|
Description:
|
||
|
Sets the margin that enemy objects are allowed to traverse past the edges of the STG field before getting automatically deleted.
|
||
|
|
||
|
Basically, SetShotAutoDeleteClip for enemies.
|
||
|
|
||
|
--------------------------------> Shot Functions <--------------------------------
|
||
|
|
||
|
CreateShotA2 (overload)
|
||
|
Arguments:
|
||
|
1) x
|
||
|
2) y
|
||
|
3) speed
|
||
|
4) angle
|
||
|
5) acceleration
|
||
|
6) max speed
|
||
|
7) angular velocity
|
||
|
8) (int) shot graphic ID
|
||
|
9) (int) delay
|
||
|
Returns:
|
||
|
(int) object ID
|
||
|
Description:
|
||
|
Overloaded with 9 arguments.
|
||
|
|
||
|
CreateShotA2 with an additional argument for angular velocity.
|
||
|
|
||
|
CreateShotC1
|
||
|
Arguments:
|
||
|
1) position x
|
||
|
2) position y
|
||
|
3) x speed
|
||
|
4) y speed
|
||
|
5) angular offset
|
||
|
6) (int) shot graphic ID
|
||
|
7) (int) delay
|
||
|
Returns:
|
||
|
(int) object ID
|
||
|
Description:
|
||
|
Creates a shot object using the C-movement mode and returns its object ID.
|
||
|
|
||
|
C-movement pattern:
|
||
|
The C-movement pattern is essentially B-movement with a twist.
|
||
|
There is an additional "angle offset" property which acts as a rotation vector for the X and Y speeds.
|
||
|
|
||
|
To be precise:
|
||
|
realSpeedXY = Rotate2D(speedX, speedY, angleOffset);
|
||
|
|
||
|
CreateShotC2
|
||
|
Arguments:
|
||
|
1) position x
|
||
|
2) position y
|
||
|
3) x speed
|
||
|
4) y speed
|
||
|
5) x acceleration
|
||
|
6) y acceleration
|
||
|
7) x max speed
|
||
|
8) y max speed
|
||
|
9) angle offset
|
||
|
10) angle offset acceleration
|
||
|
11) (int) shot graphic ID
|
||
|
12) (int) delay
|
||
|
Returns:
|
||
|
(int) object ID
|
||
|
Description:
|
||
|
Creates a shot object using the C-movement mode and returns its object ID.
|
||
|
|
||
|
CreateShotOC1
|
||
|
Arguments:
|
||
|
1) (int) parent object
|
||
|
2) x speed
|
||
|
3) y speed
|
||
|
4) angular offset
|
||
|
5) (int) shot graphic ID
|
||
|
6) (int) delay
|
||
|
Returns:
|
||
|
(int) object ID
|
||
|
Description:
|
||
|
Creates a shot object using the C-movement mode on the position of the parent object and returns its object ID.
|
||
|
|
||
|
GetAllShotID
|
||
|
Arguments:
|
||
|
1) (const) type
|
||
|
Returns:
|
||
|
(int[]) shot object IDs
|
||
|
Description:
|
||
|
Returns an array of all shot object IDs of the given type.
|
||
|
|
||
|
Available types:
|
||
|
TARGET_ALL
|
||
|
TARGET_PLAYER
|
||
|
TARGET_ENEMY
|
||
|
|
||
|
GetShotDataInfoA1
|
||
|
Returns:
|
||
|
[varies]
|
||
|
Description:
|
||
|
Addition + Change.
|
||
|
|
||
|
No longer throws an error if the given shot graphic ID is invalid.
|
||
|
|
||
|
INFO_EXISTS - Returns whether the given shot graphic ID exists.
|
||
|
INFO_PATH - Returns the image path of the given shot graphic ID.
|
||
|
INFO_IS_FIXED_ANGLE - Returns whether the given shot graphic ID has had fixed_angle enabled.
|
||
|
|
||
|
SetShotTextureFilter
|
||
|
Arguments:
|
||
|
1) (const) filter min
|
||
|
2) (const) filter mag
|
||
|
Description:
|
||
|
Sets the min and mag texture filtering modes for rendering shot objects.
|
||
|
|
||
|
The default filtering modes are FILTER_LINEAR and FILTER_LINEAR.
|
||
|
|
||
|
--------------------------------> Item Functions <--------------------------------
|
||
|
|
||
|
SetItemAutoDeleteClip
|
||
|
Arguments:
|
||
|
1) (int) left
|
||
|
2) (int) top
|
||
|
3) (int) right
|
||
|
4) (int) bottom
|
||
|
Description:
|
||
|
Sets the margin that item objects are allowed to traverse past the edges of the STG field before getting automatically deleted.
|
||
|
|
||
|
Basically, SetShotAutoDeleteClip for items.
|
||
|
|
||
|
GetItemIdInCircleA1
|
||
|
Arguments:
|
||
|
1) circle x
|
||
|
2) circle y
|
||
|
3) circle radius
|
||
|
Returns:
|
||
|
(int[]) item object IDs
|
||
|
Description:
|
||
|
Returns the object ID of all item objects within the specified circle.
|
||
|
|
||
|
GetItemIdInCircleA2
|
||
|
Arguments:
|
||
|
1) circle x
|
||
|
2) circle y
|
||
|
3) circle radius
|
||
|
4) (int) item type
|
||
|
Returns:
|
||
|
(int[]) item object IDs
|
||
|
Description:
|
||
|
Returns the object ID of all item objects of the specified type within the specified circle.
|
||
|
|
||
|
SetItemTextureFilter
|
||
|
Arguments:
|
||
|
1) (const) filter min
|
||
|
2) (const) filter mag
|
||
|
Description:
|
||
|
Sets the min and mag texture filtering modes for rendering item objects.
|
||
|
|
||
|
The default filtering modes are FILTER_LINEAR and FILTER_LINEAR.
|
||
|
|
||
|
--------------------------------> Intersection Functions <--------------------------------
|
||
|
|
||
|
IsIntersected_Obj_Obj
|
||
|
Arguments:
|
||
|
1) (int) object ID 1
|
||
|
2) (int) object ID 2
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if any of both object's hitboxes intersect at least once.
|
||
|
|
||
|
IsIntersected_Obj_Obj_All
|
||
|
Arguments:
|
||
|
1) (int) object ID 1
|
||
|
2) (int) object ID 2
|
||
|
Returns:
|
||
|
(bool) intersection
|
||
|
Description:
|
||
|
Returns true if all of both object's hitboxes intersect with any of each other's at least once.
|
||
|
|
||
|
--------------------------------> Move Object Functions <--------------------------------
|
||
|
|
||
|
ObjMove_SetSpeed
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
Also works on B-pattern and C-pattern movements.
|
||
|
|
||
|
ObjMove_SetAngle
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
Also works on B-pattern and C-pattern movements.
|
||
|
|
||
|
ObjMove_SetAcceleration
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
Also works on B-pattern and C-pattern movements.
|
||
|
|
||
|
ObjMove_SetMaxSpeed
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
Also works on B-pattern and C-pattern movements.
|
||
|
|
||
|
ObjMove_SetAngularVelocity
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
Also works on C-pattern movement.
|
||
|
|
||
|
ObjMove_SetAngularAcceleration
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) angular acceleration
|
||
|
Description:
|
||
|
Sets the move object's angular acceleration.
|
||
|
|
||
|
Works on A-pattern and C-pattern movements.
|
||
|
|
||
|
ObjMove_SetAngularMaxVelocity
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) angular max velocity
|
||
|
Description:
|
||
|
Sets the move object's angular max velocity.
|
||
|
|
||
|
Works on A-pattern and C-pattern movements.
|
||
|
|
||
|
ObjMove_SetSpeedX
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) speed
|
||
|
Description:
|
||
|
Sets the move object's X speed.
|
||
|
|
||
|
Works on A-pattern, B-pattern, and C-pattern movements.
|
||
|
|
||
|
ObjMove_SetSpeedY
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) speed
|
||
|
Description:
|
||
|
Sets the move object's Y speed.
|
||
|
|
||
|
Works on A-pattern, B-pattern, and C-pattern movements.
|
||
|
|
||
|
ObjMove_SetSpeedXY
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) x speed
|
||
|
2) y speed
|
||
|
Description:
|
||
|
Sets the move object's X and Y speeds.
|
||
|
|
||
|
Works on A-pattern, B-pattern, and C-pattern movements.
|
||
|
|
||
|
ObjMove_GetSpeedX
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(float) x speed
|
||
|
Description:
|
||
|
Gets the move object's X speed.
|
||
|
|
||
|
ObjMove_GetSpeedY
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(float) y speed
|
||
|
Description:
|
||
|
Gets the move object's Y speed.
|
||
|
|
||
|
ObjMove_SetDestAtFrame (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) target x
|
||
|
3) target y
|
||
|
4) (int) frame
|
||
|
5) (const) interpolation mode
|
||
|
Description:
|
||
|
Overloaded with 5 arguments.
|
||
|
|
||
|
Moves the object to the target position in the given frames using the specified interpolation mode.
|
||
|
|
||
|
Available movement interpolation modes:
|
||
|
LERP_LINEAR:
|
||
|
Linear interpolation.
|
||
|
LERP_SMOOTH:
|
||
|
Smooth interpolation.
|
||
|
LERP_SMOOTHER:
|
||
|
Smoother interpolation.
|
||
|
LERP_ACCELERATE:
|
||
|
Accelerating interpolation.
|
||
|
LERP_DECELERATE:
|
||
|
Decelerating interpolation.
|
||
|
|
||
|
ObjMove_AddPatternA2 (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) speed
|
||
|
4) angle
|
||
|
5) acceleration
|
||
|
6) max speed
|
||
|
7) angular velocity
|
||
|
Description:
|
||
|
Overloaded with 7 arguments.
|
||
|
|
||
|
Additional ability to specify angular velocity.
|
||
|
|
||
|
ObjMove_AddPatternA3
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) speed
|
||
|
4) angle
|
||
|
5) acceleration
|
||
|
6) max speed
|
||
|
7) angular velocity
|
||
|
8) (int) shot graphic ID
|
||
|
Description:
|
||
|
Change.
|
||
|
|
||
|
Swapped max speed and angular velocity.
|
||
|
|
||
|
ObjMove_AddPatternA4
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) speed
|
||
|
4) angle
|
||
|
5) acceleration
|
||
|
6) max speed
|
||
|
7) angular velocity
|
||
|
8) (int) shot graphic ID
|
||
|
9) (int) relative object ID
|
||
|
Description:
|
||
|
Change.
|
||
|
|
||
|
Swapped max speed and angular velocity.
|
||
|
|
||
|
ObjMove_AddPatternA5
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) speed
|
||
|
4) angle
|
||
|
5) acceleration
|
||
|
6) max speed
|
||
|
7) angular velocity
|
||
|
8) angular acceleration
|
||
|
9) angular max velocity
|
||
|
10) (int) shot graphic ID
|
||
|
11) (int) relative object ID
|
||
|
Description:
|
||
|
Self-explanatory.
|
||
|
|
||
|
ObjMove_AddPatternC1
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) x speed
|
||
|
4) y speed
|
||
|
5) angle offset
|
||
|
Description:
|
||
|
Adds a C-movement pattern to the object that will activate after the specified frames after the function call.
|
||
|
|
||
|
ObjMove_AddPatternC2
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) x speed
|
||
|
4) y speed
|
||
|
5) x acceleration
|
||
|
6) y acceleration
|
||
|
7) x max speed
|
||
|
8) y max speed
|
||
|
10) angle offset
|
||
|
11) angle offset velocity
|
||
|
Description:
|
||
|
Self-explanatory.
|
||
|
|
||
|
ObjMove_AddPatternC3
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) x speed
|
||
|
4) y speed
|
||
|
5) x acceleration
|
||
|
6) y acceleration
|
||
|
7) x max speed
|
||
|
8) y max speed
|
||
|
10) angle offset
|
||
|
11) angle offset velocity
|
||
|
12) (int) shot graphic ID
|
||
|
Description:
|
||
|
Self-explanatory.
|
||
|
|
||
|
ObjMove_AddPatternC4
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) x speed
|
||
|
4) y speed
|
||
|
5) x acceleration
|
||
|
6) y acceleration
|
||
|
7) x max speed
|
||
|
8) y max speed
|
||
|
9) angle offset
|
||
|
10) angle offset velocity
|
||
|
11) angle offset acceleration
|
||
|
12) angle offset max speed
|
||
|
13) (int) shot graphic ID
|
||
|
Description:
|
||
|
Self-explanatory.
|
||
|
|
||
|
ObjMove_AddPatternD1
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) target x
|
||
|
4) target y
|
||
|
5) speed
|
||
|
Description:
|
||
|
An AddPattern version of ObjMove_SetDestAtSpeed.
|
||
|
|
||
|
ObjMove_AddPatternD2
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) target x
|
||
|
4) target y
|
||
|
5) (int) frame duration
|
||
|
Description:
|
||
|
An AddPattern version of ObjMove_SetDestAtFrame.
|
||
|
|
||
|
ObjMove_AddPatternD2 (overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) target x
|
||
|
4) target y
|
||
|
5) (int) frame duration
|
||
|
6) (const) interpolation mode
|
||
|
Description:
|
||
|
Overloaded with 6 arguments.
|
||
|
|
||
|
An AddPattern version of ObjMove_SetDestAtFrame.
|
||
|
|
||
|
ObjMove_AddPatternD3
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
3) target x
|
||
|
4) target y
|
||
|
5) weight
|
||
|
6) max speed
|
||
|
Description:
|
||
|
An AddPattern version of ObjMove_SetDestAtWeight.
|
||
|
|
||
|
ObjMove_SetProcessMovement
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
Sets whether the object will be allowed to execute movement-related routines.
|
||
|
|
||
|
*ObjMove_SetX/Y/Position would still alter the object's position.
|
||
|
|
||
|
ObjMove_GetProcessMovement
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns true if the object is allowed to execute movement-related routines.
|
||
|
|
||
|
ObjMove_GetMovementType
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(const) movement type
|
||
|
Description:
|
||
|
Returns the current movement type of the move object.
|
||
|
|
||
|
Possible return values:
|
||
|
MOVE_NONE ; The object doesn't have an active movement function. (May be caused by ObjMove_CancelMovement.)
|
||
|
MOVE_ANGLE ; A-pattern movement. (Angle)
|
||
|
MOVE_XY ; B-pattern movement. (XY)
|
||
|
MOVE_XY_ANGLE ; C-pattern movement. (XY-Angle)
|
||
|
MOVE_LINE ; D-pattern movement. (Line, ObjMove_SetDestAtXXX)
|
||
|
MOVE_OTHER ; Other movements.
|
||
|
|
||
|
ObjMove_CancelMovement
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Description:
|
||
|
Cancels the object's current movement routine.
|
||
|
|
||
|
--------------------------------> Enemy Object Functions <--------------------------------
|
||
|
|
||
|
ObjEnemy_GetInfo
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
INFO_DAMAGE_PREVIOUS_FRAME:
|
||
|
Returns the amount of damage the enemy received in the previous frame.
|
||
|
|
||
|
ObjEnemy_SetAutoDelete
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) auto delete
|
||
|
Description:
|
||
|
ObjShot_SetAutoDelete, but for enemy objects.
|
||
|
|
||
|
See: SetEnemyAutoDeleteClip
|
||
|
|
||
|
Default value is false.
|
||
|
|
||
|
ObjEnemy_SetDeleteFrame
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
Description:
|
||
|
ObjShot_SetDeleteFrame, but for enemy objects.
|
||
|
|
||
|
ObjEnemy_AddLifeEx
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) life
|
||
|
Description:
|
||
|
Adds life to the enemy object with respect to the enemy object's maximum damage.
|
||
|
|
||
|
Negative value (damaging) will count towards the maximum damage as if getting hit by a player shot.
|
||
|
Positive value (healing) will reduce the damage count and allow more damage to be dealt in the frame equal to how much the healing was.
|
||
|
|
||
|
ObjEnemy_SetMaximumDamage
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) maximum damage
|
||
|
Description:
|
||
|
Sets the maximum amount of damage that the enemy object can receive through normal means in a single frame.
|
||
|
|
||
|
Default value is, for all intents and purposes, infinity.
|
||
|
|
||
|
ObjEnemy_GetIntersectionCircleListToShot
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(float[3][]) intersection circles
|
||
|
Description:
|
||
|
Returns an array of arrays of the enemy object's intersection circle to player shot.
|
||
|
e.g. [[x1, y1, radius1], [x2, y2, radius2], ...]
|
||
|
|
||
|
ObjEnemy_GetIntersectionCircleListToPlayer
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(float[3][]) intersection circles
|
||
|
Description:
|
||
|
Returns an array of arrays of the enemy object's intersection circle to player hitbox.
|
||
|
e.g. [[x1, y1, radius1], [x2, y2, radius2], ...]
|
||
|
|
||
|
ObjEnemy_SetEnableIntersectionPositionFetching
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
If set to false, the following functions will not include the specified enemy object's hitboxes.
|
||
|
GetEnemyIntersectionPosition
|
||
|
GetEnemyIntersectionPositionByIdA1
|
||
|
GetEnemyIntersectionPositionByIdA2
|
||
|
GetAllEnemyIntersectionPosition
|
||
|
|
||
|
--------------------------------> Enemy Boss Scene Object Functions <--------------------------------
|
||
|
|
||
|
ObjEnemyBossScene_GetInfo
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
INFO_IS_REQUIRE_ALL_DOWN:
|
||
|
Returns if EV_REQUEST_REQUIRE_ALL_DOWN was set to true.
|
||
|
|
||
|
ObjEnemyBossScene_EndSpell
|
||
|
Arguments:
|
||
|
1) (int) boss scene object ID
|
||
|
Description:
|
||
|
Marks the current single as being not-a-spell.
|
||
|
|
||
|
I literally do not know why I added this.
|
||
|
|
||
|
ObjEnemyBossScene_SetUnloadCache
|
||
|
Arguments:
|
||
|
1) (int) boss scene object ID
|
||
|
2) (bool) unload
|
||
|
Description:
|
||
|
If set to true, will unload all added scripts from the script source cache upon boss scene end or object deletion.
|
||
|
|
||
|
--------------------------------> Shot Object Functions <--------------------------------
|
||
|
|
||
|
ObjShot_SetOwnerType
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) type
|
||
|
Description:
|
||
|
Sets the shot object's owner type.
|
||
|
Available types are:
|
||
|
OWNER_PLAYER
|
||
|
OWNER_ENEMY
|
||
|
Shots created inside a player script are set to OWNER_PLAYER by default, OWNER_ENEMY otherwise.
|
||
|
|
||
|
ObjShot_GetIntersectionEnable
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(bool) intersection enable
|
||
|
Description:
|
||
|
Returns whether ObjShot_SetIntersectionEnable was set on the shot object.
|
||
|
|
||
|
ObjShot_SetIntersectionScaleX
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) scale
|
||
|
Description:
|
||
|
Sets the shot object's X hitbox scale.
|
||
|
For normal shots, the true scale is the half-point between the X and Y scales.
|
||
|
|
||
|
ObjShot_SetIntersectionScaleY
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) scale
|
||
|
Description:
|
||
|
Sets the shot object's Y hitbox scale.
|
||
|
For normal shots, the true scale is the half-point between the X and Y scales.
|
||
|
|
||
|
ObjShot_SetIntersectionScaleXY
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) X scale
|
||
|
3) Y scale
|
||
|
Description:
|
||
|
Sets the shot object's X and Y hitbox scales.
|
||
|
For normal shots, the true scale is the half-point between the X and Y scales.
|
||
|
|
||
|
Note: Sorry folks, no ellipse hitboxes for you.
|
||
|
|
||
|
ObjShot_SetPositionRounding
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
If set to true, will cause the shot object to only render in non-floating point coordinates.
|
||
|
|
||
|
See: Official Touhou games
|
||
|
|
||
|
ObjShot_SetAngleRounding
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) snap angle
|
||
|
Description:
|
||
|
Causes the shot render angle to be rounded to the nearest multiple of the given angle.
|
||
|
If the angle is <= 0, angle rounding will be disabled.
|
||
|
|
||
|
See: PC-98 Touhou games
|
||
|
|
||
|
ObjShot_SetDelayMotionEnable
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
If set to true, will enable the shot object to move in its delay period.
|
||
|
Only works on regular shots.
|
||
|
Default is false.
|
||
|
|
||
|
ObjShot_SetDelayGraphic
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) image ID
|
||
|
Description:
|
||
|
Sets the image ID of the shot object's delay cloud.
|
||
|
A negative value will reset the delay cloud graphic to default.
|
||
|
|
||
|
ObjShot_SetDelayScaleParameter
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) parameter 1 (Designated "S0")
|
||
|
3) parameter 2 (Designated "S1")
|
||
|
4) parameter 3 (Designated "S2")
|
||
|
Description:
|
||
|
Sets the properties of the shot object's delay cloud's scale.
|
||
|
|
||
|
DELAY_DEFAULT:
|
||
|
scale = min(S0 + delay / S2, S1)
|
||
|
DELAY_LERP:
|
||
|
scale = lerpFunction(S0, S1, delay / S2)
|
||
|
|
||
|
ObjShot_SetDelayAlphaParameter
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) parameter 1 (Designated "A0")
|
||
|
3) parameter 2 (Designated "A1")
|
||
|
4) parameter 3 (Designated "A2")
|
||
|
Description:
|
||
|
Sets the properties of the shot object's delay cloud's alpha.
|
||
|
Alpha value range is 0 to 1.
|
||
|
|
||
|
DELAY_DEFAULT:
|
||
|
alpha = min(A0 + delay / A2, A1)
|
||
|
DELAY_LERP:
|
||
|
alpha = lerpFunction(A0, A1, delay / A2)
|
||
|
|
||
|
ObjShot_SetDelayMode
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) delay mode
|
||
|
3) (const) scale interpolation mode
|
||
|
4) (const) alpha interpolation mode
|
||
|
Description:
|
||
|
Sets the properties of the shot object's delay cloud.
|
||
|
|
||
|
Available delay modes:
|
||
|
DELAY_DEFAULT:
|
||
|
Default Danmakufu delay.
|
||
|
DELAY_LERP:
|
||
|
ZUN-like delay.
|
||
|
Available delay interpolation modes:
|
||
|
LERP_LINEAR:
|
||
|
Linear interpolation.
|
||
|
LERP_SMOOTH:
|
||
|
Smooth interpolation.
|
||
|
LERP_SMOOTHER:
|
||
|
Smoother interpolation.
|
||
|
LERP_ACCELERATE:
|
||
|
Accelerating interpolation.
|
||
|
LERP_DECELERATE:
|
||
|
Decelerating interpolation.
|
||
|
|
||
|
ObjShot_SetDelayColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) hex color
|
||
|
Description:
|
||
|
Sets the color of the shot object's delay cloud as an ARGB hexadecimal color value.
|
||
|
|
||
|
Set to 0 to revert to using the shot data's delay color.
|
||
|
|
||
|
ObjShot_SetDelayColoringEnable
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
When set to true, enables the object color to affect the shot object's delay cloud.
|
||
|
|
||
|
ObjShot_SetGrazeInvalidFrame
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) cooldown frame
|
||
|
Description:
|
||
|
Sets the shot object's graze cooldown frame.
|
||
|
After being grazed, the shot will be put on graze cooldown, wherein it cannot be grazed for the duration.
|
||
|
|
||
|
For lasers, the default value is 20.
|
||
|
For normal shots, the default value is 2147483647.
|
||
|
|
||
|
ObjShot_SetGrazeFrame
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) frame
|
||
|
Description:
|
||
|
Sets the shot object's graze frame.
|
||
|
|
||
|
Internally, this value is reset to the graze invalid frame every time a graze is performed.
|
||
|
This value decreases by 1 every frame, and the shot object is eligible for a graze if it is equal to or less than 0.
|
||
|
|
||
|
ObjShot_IsValidGraze
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(bool) graze validity
|
||
|
Description:
|
||
|
Returns whether the shot object is currently able to be grazed.
|
||
|
|
||
|
ObjShot_SetPenetrateShotEnable
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
If set to false, the shot will not lose penetration upon collision with another enemy shot.
|
||
|
Intended to be used with players shots, in tandem with ObjShot_SetEraseShot.
|
||
|
|
||
|
Default is true.
|
||
|
|
||
|
ObjShot_SetEnemyIntersectionInvalidFrame
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) cooldown
|
||
|
Description:
|
||
|
Sets the enemy intersection cooldown duration in frames for the shot object.
|
||
|
|
||
|
Intersection with an enemy will add the enemy to the shot's cooldown list.
|
||
|
The shot will not be able to intersect enemy objects still on hit cooldown.
|
||
|
|
||
|
Cooldown is maintained by the shot, not the enemy.
|
||
|
Shot A intersecting and putting an enemy on cooldown will not stop Shot B from registering intersection with the same enemy.
|
||
|
|
||
|
ObjShot_SetFixedAngle
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) fixed angle
|
||
|
Description:
|
||
|
If set to true, the shot will not visually rotate along its movement angle.
|
||
|
|
||
|
The default value is specified in the graphic's shot data as "fixed_angle", this function allows you to override that value.
|
||
|
|
||
|
ObjShot_SetSpinAngularVelocity
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) spin angular velocity
|
||
|
Description:
|
||
|
Sets the Z angle spin speed of the shot graphic.
|
||
|
|
||
|
The default spin speed is specified in the graphic's shot data as "angular_velocity", this function allows you to override that value.
|
||
|
|
||
|
ObjShot_SetDelayAngularVelocity
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) delay angular velocity
|
||
|
Description:
|
||
|
Sets the Z angle spin speed of the shot's delay cloud.
|
||
|
|
||
|
The default delay spin speed is 0.
|
||
|
|
||
|
--------------------------------> Straight Laser Object Functions <--------------------------------
|
||
|
|
||
|
ObjLaser_SetInvalidLength
|
||
|
Description:
|
||
|
Change.
|
||
|
|
||
|
Both invalid lengths now scale from 0 to 1 rather than 0 to 100.
|
||
|
|
||
|
ObjStLaser_SetEnd
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) set
|
||
|
Description:
|
||
|
Sets whether a delay cloud will appear at the end of the straight laser object.
|
||
|
|
||
|
ObjStLaser_SetEndGraphic
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) graphic ID
|
||
|
Description:
|
||
|
Sets the shot image ID of the straight laser object "end" delay cloud.
|
||
|
|
||
|
See: ObjShot_SetDelayGraphic
|
||
|
|
||
|
ObjStLaser_SetDelayScale
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) source scale multiplier
|
||
|
3) end scale multiplier
|
||
|
Description:
|
||
|
Sets the scale multipliers of the straight laser object's delay clouds.
|
||
|
The default values are (1, 1).
|
||
|
|
||
|
ObjStLaser_SetPermitExpand
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
Sets whether the straight laser will expand after the delay period.
|
||
|
Intended for use in delay lines.
|
||
|
|
||
|
ObjStLaser_GetPermitExpand
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(bool) permit expand
|
||
|
Description:
|
||
|
Returns whether the straight laser is permitted to expand after the delay period.
|
||
|
|
||
|
--------------------------------> Curvy Laser Object Functions <--------------------------------
|
||
|
|
||
|
ObjCrLaser_SetTipCapping
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
Sets whether the curvy laser will attempt to keep its graphic's tips proportional to the upper and lower halves of its sprite.
|
||
|
|
||
|
The exact middle of the sprite will be stretched along the laser's body between the tips.
|
||
|
Can be used to emulate PC-98-styled "cheeto lasers".
|
||
|
|
||
|
ObjCrLaser_GetNodePointer
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) node index
|
||
|
Returns:
|
||
|
(pointer) node pointer
|
||
|
Description:
|
||
|
Returns the pointer value of the specified node index.
|
||
|
The pointer is used in other node-related functions.
|
||
|
|
||
|
As node traversal is relatively expensive, it is not recommended to repeatedly use this function.
|
||
|
|
||
|
At each frame, the node at the laser's end is invalidated if the laser is able to move.
|
||
|
Using an invalid pointer may cause a memory access violation.
|
||
|
|
||
|
ObjCrLaser_GetNodePointerList
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(pointer[]) node pointers
|
||
|
Description:
|
||
|
Returns a list of node pointers of the curvy laser object.
|
||
|
The pointers are used in other node-related functions.
|
||
|
|
||
|
At each frame, the node at the laser's end is invalidated if the laser is able to move.
|
||
|
Using an invalid pointer may cause a memory access violation.
|
||
|
|
||
|
ObjCrLaser_GetNodePosition
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
Returns:
|
||
|
(float[2]) node position
|
||
|
Description:
|
||
|
Returns the [x, y] position array of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_GetNodeAngle
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
Returns:
|
||
|
(float) node angle
|
||
|
Description:
|
||
|
Returns the facing angle of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_GetNodeWidthScale
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
Returns:
|
||
|
(float) node width
|
||
|
Description:
|
||
|
Returns the render width scale of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_GetNodeColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
Returns:
|
||
|
(int[4]) node color
|
||
|
Description:
|
||
|
Returns the [a, r, g, b] color array of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_GetNodeColorHex
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
Returns:
|
||
|
(int) hex color
|
||
|
Description:
|
||
|
Returns the ARGB hexadecimal color value of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_SetNode
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
3) node X
|
||
|
4) node Y
|
||
|
5) node angle
|
||
|
6) (int) node hex color
|
||
|
Description:
|
||
|
Sets the position, angle, and color of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_SetNode (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
3) node X
|
||
|
4) node Y
|
||
|
5) node angle
|
||
|
6) (int) node hex color
|
||
|
7) =node width scale
|
||
|
Description:
|
||
|
Overloaded with 7 arguments.
|
||
|
|
||
|
Additional ability to set node render width render.
|
||
|
|
||
|
ObjCrLaser_SetNodePosition
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
3) node X
|
||
|
4) node Y
|
||
|
Description:
|
||
|
Sets the position of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_SetNodeAngle
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
3) node angle
|
||
|
Description:
|
||
|
Sets the angle of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_SetNodeWidthScale
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
3) node scale
|
||
|
Description:
|
||
|
Sets the render width scale of the specified node.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_SetNodeColor
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (pointer) node pointer
|
||
|
3) (int) node hex color
|
||
|
Description:
|
||
|
Sets the color of the specified node as an ARGB hexadecimal color value.
|
||
|
|
||
|
The node pointer is obtained with ObjCrLaser_GetNodePointer[List], do NOT pass in any other values.
|
||
|
|
||
|
ObjCrLaser_AddNode
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) node X
|
||
|
3) node Y
|
||
|
4) node angle
|
||
|
5) (int) node hex color
|
||
|
Description:
|
||
|
Adds a laser node at the end of the curvy laser with the specified position, angle, and color.
|
||
|
|
||
|
ObjCrLaser_AddNode (Overload)
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) node X
|
||
|
3) node Y
|
||
|
4) node angle
|
||
|
5) (int) node hex color
|
||
|
6) node width scale
|
||
|
Description:
|
||
|
Overloaded with 6 arguments.
|
||
|
|
||
|
Additional ability to specify node render width render.
|
||
|
|
||
|
--------------------------------> Shot Pattern Object Functions <--------------------------------
|
||
|
|
||
|
ObjPatternShot_Create
|
||
|
Description:
|
||
|
Creates a pattern shot object and returns its object ID.
|
||
|
|
||
|
Can be used for firing a large amount of bullets with only a few function calls, like in ZUN's ECL scripts.
|
||
|
|
||
|
ObjPatternShot_Fire
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Description:
|
||
|
Fires the shot pattern defined by the given shot pattern object.
|
||
|
|
||
|
ObjPatternShot_FireReturn
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(int[]) shot IDs
|
||
|
Description:
|
||
|
Fires the shot pattern defined by the given shot pattern object and returns the IDs of the created shots in an array.
|
||
|
|
||
|
ObjPatternShot_SetParentObject
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) parent object ID
|
||
|
Description:
|
||
|
Sets the parent object of the given shot pattern object.
|
||
|
|
||
|
ObjPatternShot_SetPatternType
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) type
|
||
|
Description:
|
||
|
Sets the firing pattern of the given shot pattern object.
|
||
|
Available pattern types:
|
||
|
PATTERN_FAN
|
||
|
PATTERN_FAN_AIMED
|
||
|
PATTERN_RING
|
||
|
PATTERN_RING_AIMED
|
||
|
PATTERN_ARROW
|
||
|
PATTERN_ARROW_AIMED
|
||
|
PATTERN_POLYGON
|
||
|
- [way]: Number of polygon vertices.
|
||
|
- [stack]: Number of shots per sides.
|
||
|
- [angle argument]: Edge skip, should normally be 1. Other values will result in polygrams.
|
||
|
- [speed argument]: No effect.
|
||
|
PATTERN_POLYGON_AIMED
|
||
|
PATTERN_ELLIPSE
|
||
|
- [stack]: No effect.
|
||
|
- [angle argument]: Angle of the ellipse. (Not of the shots)
|
||
|
- [base speed]: Max speed at the ends of the primary axis.
|
||
|
- [speed argument]: Max speed at the ends of the secondary axis.
|
||
|
PATTERN_ELLIPSE_AIMED
|
||
|
PATTERN_SCATTER_ANGLE
|
||
|
PATTERN_SCATTER_SPEED
|
||
|
PATTERN_SCATTER
|
||
|
PATTERN_LINE
|
||
|
PATTERN_ROSE
|
||
|
- [way]: Number of "petals".
|
||
|
- [stack]: Number of shots per petals.
|
||
|
|
||
|
ObjPatternShot_SetShotType
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) type
|
||
|
Description:
|
||
|
Sets the shot type of the given shot pattern object.
|
||
|
Supported types:
|
||
|
OBJ_SHOT
|
||
|
OBJ_LOOSE_LASER
|
||
|
OBJ_CURVE_LASER
|
||
|
|
||
|
ObjPatternShot_SetInitialBlendMode
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) blend type
|
||
|
Description:
|
||
|
Sets the initial blend type of the shots.
|
||
|
See ObjRender_SetBlendType for the list of blend types.
|
||
|
|
||
|
ObjPatternShot_SetShotCount
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) way
|
||
|
3) (int) stack
|
||
|
Description:
|
||
|
Sets the shot way and shot stack of the given shot pattern object.
|
||
|
|
||
|
ObjPatternShot_SetSpeed
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) base speed
|
||
|
3) speed argument
|
||
|
Description:
|
||
|
Sets the shot speed and argument of the given shot pattern object.
|
||
|
|
||
|
ObjPatternShot_SetAngle
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) base angle
|
||
|
3) angle argument
|
||
|
Description:
|
||
|
Sets the shot angle and argument of the given shot pattern object.
|
||
|
|
||
|
ObjPatternShot_SetBasePoint
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) X position
|
||
|
3) Y position
|
||
|
Description:
|
||
|
Sets the base firing position of the given shot pattern object.
|
||
|
Defaults to the parent object's position if not used.
|
||
|
|
||
|
Use PATTERN_BASEPOINT_RESET in either arguments to reset it to the parent object's position.
|
||
|
|
||
|
ObjPatternShot_SetBasePointOffset
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) X offset
|
||
|
3) Y offset
|
||
|
Description:
|
||
|
Sets the firing position offset of the given shot pattern object from its base point.
|
||
|
|
||
|
ObjPatternShot_SetBasePointOffsetCircle
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) angle
|
||
|
3) radius
|
||
|
Description:
|
||
|
Sets the firing position offset in a circular manner of the given shot pattern object from its base point.
|
||
|
|
||
|
Equivalent to ObjPatternShot_SetBasePointOffset(obj, radius * cos(angle), radius * sin(angle));
|
||
|
|
||
|
ObjPatternShot_SetShootRadius
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) radius
|
||
|
Description:
|
||
|
Causes the shots to be fired a certain radius away from their base points.
|
||
|
|
||
|
ObjPatternShot_SetDelay
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) delay
|
||
|
Description:
|
||
|
Sets the shot delay of the given shot pattern object.
|
||
|
|
||
|
ObjPatternShot_SetGraphic
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) graphic
|
||
|
Description:
|
||
|
Sets the shot image ID of the given shot pattern object.
|
||
|
|
||
|
ObjPatternShot_SetLaserParameter
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) width
|
||
|
3) length
|
||
|
Description:
|
||
|
Sets the length and width of the given shot pattern object.
|
||
|
Has no effect if the pattern is firing normal shots.
|
||
|
|
||
|
ObjPatternShot_CopySettings
|
||
|
Arguments:
|
||
|
1) (int) destination object ID
|
||
|
2) (int) source object ID
|
||
|
Description:
|
||
|
Copies the settings of a shot pattern object to another.
|
||
|
|
||
|
ObjPatternShot_AddTransform
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) transform type
|
||
|
3+) transform arguments...
|
||
|
Description:
|
||
|
Adds a transformation to the shot pattern object.
|
||
|
|
||
|
Transforms arguments will be designated, in order: [arg0], [arg1], [arg2], etc...
|
||
|
|
||
|
Available transformations are:
|
||
|
TRANSFORM_WAIT (argc = 1)
|
||
|
- Delays the next transformation for [arg0] frames.
|
||
|
TRANSFORM_ADD_SPEED_ANGLE (argc = 4)
|
||
|
- Waits for [arg1] frames. (Does not delay the next transformation)
|
||
|
- For [arg0] frames, sets acceleration to [arg2].
|
||
|
- For [arg0] frames, sets angular velocity to [arg3].
|
||
|
TRANSFORM_ANGULAR_MOVE (argc = 3)
|
||
|
- For [arg0] frames, sets angular velocity to [arg1].
|
||
|
- Sets shot graphic "spin" to [arg2].
|
||
|
TRANSFORM_N_DECEL_CHANGE (argc = 5)
|
||
|
- For [arg1] times, decelerates/accelerates the shot to a complete halt in [arg0] frames. (See: Aunn's first spell)
|
||
|
- Movement will then change depending on [arg2].
|
||
|
- 0: Changes the movement angle to [arg4].
|
||
|
- 1: Increments the movement angle by [arg4].
|
||
|
- 2: Aims to the player with an added randomness factor of -[arg4] to [arg4].
|
||
|
- 3: Aims to the player with an increment of [arg4].
|
||
|
- 4: Angle becomes random.
|
||
|
- 5, other: No angle change.
|
||
|
- All modes sets the speed to [arg3].
|
||
|
- Delay the next transformation by ([arg0] * [arg1]) frames.
|
||
|
TRANSFORM_GRAPHIC_CHANGE (argc = 1)
|
||
|
- Changes the shot graphic to [arg0].
|
||
|
TRANSFORM_BLEND_CHANGE (argc = 1)
|
||
|
- Changes the shot blend type to [arg0].
|
||
|
TRANSFORM_TO_SPEED_ANGLE (argc = 3)
|
||
|
- Gradually changes the shot's speed to [arg1] in [arg0] frames.
|
||
|
- Gradually changes the shot's angle to [arg2] in [arg0] frames.
|
||
|
- Using TOPLAYER_CHANGE will aim the shot to the player object.
|
||
|
- NO_CHANGE can be used for [arg1] and [arg2].
|
||
|
TRANSFORM_ADDPATTERN_A1 (argc = 3)
|
||
|
- Applies [ObjMove_AddPatternA1(obj, [arg0], [arg1], [arg2])]
|
||
|
TRANSFORM_ADDPATTERN_A2 (argc = 8)
|
||
|
- Applies [ObjMove_AddPatternA4(obj, [arg0], [arg1], [arg2], [arg3], [arg4], [arg5], [arg6], [arg7])]
|
||
|
TRANSFORM_ADDPATTERN_B1 (argc = 3)
|
||
|
- Applies [ObjMove_AddPatternB1(obj, [arg0], [arg1], [arg2])]
|
||
|
TRANSFORM_ADDPATTERN_B2 (argc = 8)
|
||
|
- Applies [ObjMove_AddPatternB3(obj, [arg0], [arg1], [arg2], [arg3], [arg4], [arg5], [arg6], [arg7])]
|
||
|
TRANSFORM_ADDPATTERN_C1 (argc = 3)
|
||
|
- Applies [ObjMove_AddPatternC1(obj, [arg0], [arg1], [arg2])]
|
||
|
TRANSFORM_ADDPATTERN_C2 (argc = 10)
|
||
|
- Applies [ObjMove_AddPatternC3(obj, [arg0], [arg1], [arg2], [arg3], [arg4], [arg5], [arg6], [arg7], [arg8], [arg9])]
|
||
|
|
||
|
ObjPatternShot_SetTransform
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) transform index
|
||
|
3) (const) transform type
|
||
|
4+) transform arguments...
|
||
|
Description:
|
||
|
Sets transformation to the specified transform index.
|
||
|
|
||
|
--------------------------------> Collision Object Functions <--------------------------------
|
||
|
|
||
|
ObjCol_GetListOfIntersectedShotID
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) shot owner type
|
||
|
Returns:
|
||
|
(int[]) intersected shot IDs
|
||
|
Description:
|
||
|
Returns an array of all shot objects of the specified owner type currently intersecting with the object.
|
||
|
|
||
|
Available owner types are:
|
||
|
OWNER_PLAYER
|
||
|
OWNER_ENEMY
|
||
|
|
||
|
--------------------------------> Item Object Functions <--------------------------------
|
||
|
|
||
|
ObjItem_SetAutoCollectEnableFlags
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) flags
|
||
|
Description:
|
||
|
Sets the autocollection enable flags of the item object.
|
||
|
Autocollection enable flags dictate which autocollection types will affect the item object.
|
||
|
|
||
|
Available flags:
|
||
|
ITEM_AUTOCOLLECT_PLAYER_SCOPE
|
||
|
ITEM_AUTOCOLLECT_COLLECT_ALL
|
||
|
ITEM_AUTOCOLLECT_POC_LINE
|
||
|
ITEM_AUTOCOLLECT_COLLECT_CIRCLE
|
||
|
ITEM_AUTOCOLLECT_ALL
|
||
|
|
||
|
Flags can be combined with bitwise OR.
|
||
|
Using 0 will cause the item object to be impervious to all autocollection types.
|
||
|
|
||
|
ObjItem_GetInfo
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (const) info type
|
||
|
Returns:
|
||
|
[varies]
|
||
|
Description:
|
||
|
Addition.
|
||
|
|
||
|
INFO_ITEM_MOVE_TYPE:
|
||
|
Returns the move type of the item object.
|
||
|
Returned values are the possible inputs of ObjItem_SetDefinedMovePatternA1.
|
||
|
|
||
|
INFO_ITEM_TYPE:
|
||
|
Returns the graphic ID of the item object.
|
||
|
|
||
|
ObjItem_SetMoveToPlayer
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) move to player
|
||
|
Description:
|
||
|
Causes the item object to start or stop moving to the player.
|
||
|
|
||
|
If set to true, EV_COLLECT_ITEM will be notified.
|
||
|
If set to false, EV_CANCEL_ITEM will be notified.
|
||
|
|
||
|
ObjItem_IsMoveToPlayer
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(bool) result
|
||
|
Description:
|
||
|
Returns whether the item object is moving to the player.
|
||
|
|
||
|
ObjItem_Collect
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Description:
|
||
|
Causes the item object to be instantly collected.
|
||
|
|
||
|
Not affected by ObjItem_SetIntersectionEnable.
|
||
|
|
||
|
ObjItem_SetAutoDelete
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) auto delete
|
||
|
Description:
|
||
|
Sets whether the item will be subject to the auto-deletion clip.
|
||
|
|
||
|
The auto-deletion clip size can be altered using SetItemAutoDeleteClip.
|
||
|
|
||
|
ObjItem_SetIntersectionRadius
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (int) radius
|
||
|
Description:
|
||
|
Sets the item object's player intersection radius.
|
||
|
|
||
|
ObjItem_SetIntersectionEnable
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
Sets whether the item object is allowed to directly intersect with the player.
|
||
|
|
||
|
ObjItem_GetIntersectionEnable
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
Returns:
|
||
|
(bool) enable
|
||
|
Description:
|
||
|
Returns whether the item object has intersection enabled.
|
||
|
|
||
|
ObjItem_SetDefaultCollectMovement
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
Sets whether the item object will use the built-in autocollection behaviour.
|
||
|
|
||
|
Intended to be used in tandem with EV_COLLECT_ITEM.
|
||
|
|
||
|
ObjItem_SetPositionRounding
|
||
|
Arguments:
|
||
|
1) (int) object ID
|
||
|
2) (bool) enable
|
||
|
Description:
|
||
|
If set to true, will cause the item object to only render in non-floating point coordinates.
|
||
|
|
||
|
----------------------------------------------> [Item Script] <----------------------------------------------
|
||
|
|
||
|
--------------------------------> Events <--------------------------------
|
||
|
|
||
|
EV_DELETE_SHOT_TO_ITEM is notified when an item is deleted and turned into an item.
|
||
|
Actions that trigger this event:
|
||
|
- Using ObjShot_ToItem.
|
||
|
- Using DeleteShotAll or DeleteShotInCircle with TYPE_ITEM.
|
||
|
|
||
|
Event arguments:
|
||
|
1) (int) shot object ID
|
||
|
2) (float[]) position [x, y]
|
||
|
3) (bool) collided with player
|
||
|
If true, the shot was deleted from coliision with a player hitbox.
|
||
|
4) (int) shot image ID
|
||
|
|
||
|
EV_COLLECT_ITEM is notified when an item is autocollected.
|
||
|
Actions that trigger this event:
|
||
|
- Collision with the player's item scope.
|
||
|
- The player moving up into the item autocollection line.
|
||
|
- Using CollectItemsInCircle, CollectAllItems, or ObjItem_SetMoveToPlayer.
|
||
|
|
||
|
Event arguments:
|
||
|
1) (int) item object ID
|
||
|
2) (int) item type
|
||
|
3) (int) collection type
|
||
|
0 - Player scope
|
||
|
1 - Player autocollection line
|
||
|
2 - Via CollectItemsInCircle
|
||
|
3 - Via CollectAllItems
|
||
|
4 - Via ObjItem_SetMoveToPlayer
|
||
|
4) (float) collection info
|
||
|
Varies with collection type:
|
||
|
Type 0 -> Player item scope radius
|
||
|
Type 1 -> Player autocollection line position
|
||
|
Type 2 -> Collection circle size
|
||
|
Type 3 -> 0
|
||
|
Type 4 -> 0
|
||
|
|
||
|
EV_CANCEL_ITEM is notified when an item's autocollection is canceled.
|
||
|
Actions that trigger this event:
|
||
|
- The player leaving STATE_NORMAL while the item is in the middle of being collected.
|
||
|
- Using CancelCollectItems or ObjItem_SetMoveToPlayer.
|
||
|
|
||
|
Event arguments:
|
||
|
1) (int) item object ID
|
||
|
2) (int) item type
|
||
|
3) (int) cancel type
|
||
|
0 - Player died
|
||
|
1 - Via CancelCollectItems
|
||
|
2 - Via ObjItem_SetMoveToPlayer
|
||
|
|
||
|
----------------------------------------------> [Player Script] <----------------------------------------------
|
||
|
|
||
|
--------------------------------> Normal Functions <--------------------------------
|
||
|
|
||
|
KillPlayer
|
||
|
Description:
|
||
|
Kills the player.
|
||
|
|
||
|
--------------------------------> Shot Functions <--------------------------------
|
||
|
|
||
|
CreatePlayerShotA1
|
||
|
Description:
|
||
|
Change.
|
||
|
No longer returns a null value if SetForbidPlayerShot was set to true.
|
||
|
|
||
|
--------------------------------> Events <--------------------------------
|
||
|
|
||
|
EV_DELETE_SHOT_PLAYER is notified to the player script when a player shot is deleted upon collision with an enemy intersection.
|
||
|
ObjShot_SetPenetration(obj, 0) can also be used to manually activate the event.
|
||
|
|
||
|
Event arguments:
|
||
|
1) (int) shot object ID
|
||
|
2) (float[2]) position
|
||
|
3) (int) shot graphic ID
|
||
|
4) (int) object ID that the shot collided with
|
||
|
- Will be ID_INVALID in case of manual activation.
|