diff --git a/.gitignore b/.gitignore
index c7606c635..f94f8fd71 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,5 @@
-citizen/system_resources/
\ No newline at end of file
+cache/
+citizen/
+crashes/
+db/
+Extra Files/
\ No newline at end of file
diff --git a/CoreRT.dll b/CoreRT.dll
index b77fd7f67..552a72ee8 100644
Binary files a/CoreRT.dll and b/CoreRT.dll differ
diff --git a/FXServer.exe b/FXServer.exe
index 99d182048..d73679d88 100644
Binary files a/FXServer.exe and b/FXServer.exe differ
diff --git a/botan.dll b/botan.dll
index 9ffb8340c..32d3f972f 100644
Binary files a/botan.dll and b/botan.dll differ
diff --git a/cfx_curl_x86_64.dll b/cfx_curl_x86_64.dll
index 69c283ba2..d9f193d8d 100644
Binary files a/cfx_curl_x86_64.dll and b/cfx_curl_x86_64.dll differ
diff --git a/citizen-devtools.dll b/citizen-devtools.dll
index 48c5cbe43..61812b205 100644
Binary files a/citizen-devtools.dll and b/citizen-devtools.dll differ
diff --git a/citizen-resources-core.dll b/citizen-resources-core.dll
index 48268fe95..50dea7d6d 100644
Binary files a/citizen-resources-core.dll and b/citizen-resources-core.dll differ
diff --git a/citizen-resources-metadata-lua.dll b/citizen-resources-metadata-lua.dll
index 840709042..7f207bb61 100644
Binary files a/citizen-resources-metadata-lua.dll and b/citizen-resources-metadata-lua.dll differ
diff --git a/citizen-scripting-core.dll b/citizen-scripting-core.dll
index 147fb0cfc..010f45a3e 100644
Binary files a/citizen-scripting-core.dll and b/citizen-scripting-core.dll differ
diff --git a/citizen-scripting-lua.dll b/citizen-scripting-lua.dll
index 9526f8102..e24d85b62 100644
Binary files a/citizen-scripting-lua.dll and b/citizen-scripting-lua.dll differ
diff --git a/citizen-scripting-lua54.dll b/citizen-scripting-lua54.dll
index 583c1d001..b757a7940 100644
Binary files a/citizen-scripting-lua54.dll and b/citizen-scripting-lua54.dll differ
diff --git a/citizen-scripting-mono-v2.dll b/citizen-scripting-mono-v2.dll
index c39b65223..1cef18b4b 100644
Binary files a/citizen-scripting-mono-v2.dll and b/citizen-scripting-mono-v2.dll differ
diff --git a/citizen-scripting-mono.dll b/citizen-scripting-mono.dll
index bab56987f..bd5569549 100644
Binary files a/citizen-scripting-mono.dll and b/citizen-scripting-mono.dll differ
diff --git a/citizen-scripting-v8node.dll b/citizen-scripting-v8node.dll
index 0be67057c..1b30c3f66 100644
Binary files a/citizen-scripting-v8node.dll and b/citizen-scripting-v8node.dll differ
diff --git a/citizen-server-fxdk.dll b/citizen-server-fxdk.dll
index 6c2e990f6..99bce9c82 100644
Binary files a/citizen-server-fxdk.dll and b/citizen-server-fxdk.dll differ
diff --git a/citizen-server-gui.dll b/citizen-server-gui.dll
index 3f067330f..8e17881c4 100644
Binary files a/citizen-server-gui.dll and b/citizen-server-gui.dll differ
diff --git a/citizen-server-impl.dll b/citizen-server-impl.dll
index 772ec0149..1c431a23c 100644
Binary files a/citizen-server-impl.dll and b/citizen-server-impl.dll differ
diff --git a/citizen-server-instance.dll b/citizen-server-instance.dll
index a36f1b518..fb1693707 100644
Binary files a/citizen-server-instance.dll and b/citizen-server-instance.dll differ
diff --git a/citizen-server-main.dll b/citizen-server-main.dll
index 9ce9c0ba0..089526ac3 100644
Binary files a/citizen-server-main.dll and b/citizen-server-main.dll differ
diff --git a/citizen-server-monitor.dll b/citizen-server-monitor.dll
index 1f79a41a7..84cd7b0ec 100644
Binary files a/citizen-server-monitor.dll and b/citizen-server-monitor.dll differ
diff --git a/citizen-server-net.dll b/citizen-server-net.dll
index 433400c2e..1639c3098 100644
Binary files a/citizen-server-net.dll and b/citizen-server-net.dll differ
diff --git a/citizen-server-state-fivesv.dll b/citizen-server-state-fivesv.dll
index 934736254..aeaa097d4 100644
Binary files a/citizen-server-state-fivesv.dll and b/citizen-server-state-fivesv.dll differ
diff --git a/citizen-server-state-rdr3sv.dll b/citizen-server-state-rdr3sv.dll
index a05470b04..00966b0ba 100644
Binary files a/citizen-server-state-rdr3sv.dll and b/citizen-server-state-rdr3sv.dll differ
diff --git a/citizen/clr2/cfg/mono/4.5/machine.config b/citizen/clr2/cfg/mono/4.5/machine.config
deleted file mode 100644
index 399d91be8..000000000
--- a/citizen/clr2/cfg/mono/4.5/machine.config
+++ /dev/null
@@ -1,313 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.Server.dll b/citizen/clr2/lib/mono/4.5/CitizenFX.Core.Server.dll
deleted file mode 100644
index 319343163..000000000
Binary files a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.Server.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.Server.sym b/citizen/clr2/lib/mono/4.5/CitizenFX.Core.Server.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.dll b/citizen/clr2/lib/mono/4.5/CitizenFX.Core.dll
deleted file mode 100644
index 25a112b71..000000000
Binary files a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.pdb b/citizen/clr2/lib/mono/4.5/CitizenFX.Core.pdb
deleted file mode 100644
index aa170afb4..000000000
Binary files a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.pdb and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.sym b/citizen/clr2/lib/mono/4.5/CitizenFX.Core.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.xml b/citizen/clr2/lib/mono/4.5/CitizenFX.Core.xml
deleted file mode 100644
index a997c45e0..000000000
--- a/citizen/clr2/lib/mono/4.5/CitizenFX.Core.xml
+++ /dev/null
@@ -1,13787 +0,0 @@
-
-
-
- CitizenFX.Core
-
-
-
-
- An event containing callbacks to attempt to schedule on every game tick.
- A callback will only be rescheduled once the associated task completes.
-
-
-
-
- Returns a task that will delay scheduling of the current interval function by the passed amount of time.
-
-
- await Delay(500);
-
- The amount of time by which to delay scheduling this interval function.
- An awaitable task.
-
-
-
- Broadcasts an event to all connected players.
-
- The name of the event.
- Arguments to pass to the event.
-
-
-
- Broadcasts an event to all connected players.
-
- The name of the event.
- Arguments to pass to the event.
-
-
-
- Provides fast reading and writing of generic structures to a memory location using IL emitted functions.
-
-
-
-
- Retrieve a pointer to the passed generic structure type. This is achieved by emitting a to retrieve a pointer to the structure.
-
-
-
- A pointer to the provided structure in memory.
-
-
-
-
- Loads the generic value type from a pointer. This is achieved by emitting a that returns the value in the memory location as a .
- The equivalent non-generic C# code:
-
- unsafe MyStruct ReadFromPointer(byte* pointer)
- {
- return *(MyStruct*)pointer;
- }
-
-
- Any value/structure type
- Unsafe pointer to memory to load the value from
- The newly loaded value
-
-
-
- Writes the generic value type to the location specified by a pointer. This is achieved by emitting a that copies the value from the referenced structure into the specified memory location.
- There is no exact equivalent possible in C#, the closest possible (generates the same IL) is the following code:
-
- unsafe void WriteToPointer(ref SharedHeader dest, ref SharedHeader src)
- {
- dest = src;
- }
-
-
-
-
-
-
-
-
- Retrieve the cached size of a structure
-
-
-
- Caches the size by type
-
-
-
-
- Reads a number of elements from a memory location into the provided buffer starting at the specified index.
-
- The structure type
- The destination buffer.
- The source memory location.
- The start index within .
- The number of elements to read.
-
-
-
- Writes a number of elements to a memory location from the provided buffer starting at the specified index.
-
- The structure type
- The destination memory location.
- The source buffer.
- The start index within .
- The number of elements to write.
-
-
-
- Emits optimized IL for the reading and writing of structures to/from memory.
- For a 32-byte structure with 1 million iterations:
- The method performs approx. 20x faster than
- (8ms vs 160ms), and about 1.6x slower than the non-generic equivalent (8ms vs 5ms)
- The method performs approx. 8x faster than
- (4ms vs 34ms).
-
-
-
-
-
- Delegate that returns a pointer to the provided structure. Use with extreme caution.
-
-
-
-
-
-
- Delegate for loading a structure from the specified memory address
-
-
-
-
-
-
- Delegate for writing a structure to the specified memory address
-
-
-
-
-
-
- The delegate for the generated IL to retrieve a pointer to the structure
-
-
-
-
- The delegate for the generated IL to retrieve a structure from a specified memory address.
-
-
-
-
- The delegate for the generated IL to store a structure at the specified memory address.
-
-
-
-
- Cached size of T as determined by .
-
-
-
-
- Performs once of type compatibility check.
-
- Thrown if the type T is incompatible
-
-
-
- The value for which all absolute numbers smaller than are considered equal to zero.
-
-
-
-
- A value specifying the approximation of π which is 180 degrees.
-
-
-
-
- A value specifying the approximation of 2Ï€ which is 360 degrees.
-
-
-
-
- Mathematical term for 2Ï€, which is equivalent to 360 degrees.
-
-
-
-
- A value specifying the approximation of π/2 which is 90 degrees.
-
-
-
-
- A value specifying the approximation of π/4 which is 45 degrees.
-
-
-
-
- Checks if a and b are almost equals, taking into account the magnitude of floating point numbers (unlike method). See Remarks.
- See remarks.
-
- The left value to compare.
- The right value to compare.
- true if a almost equal to b, false otherwise
-
- The code is using the technique described by Bruce Dawson in
- Comparing Floating point numbers 2012 edition.
-
-
-
-
- Determines whether the specified value is close to zero (0.0f).
-
- The floating value.
- true if the specified value is close to zero (0.0f); otherwise, false.
-
-
-
- Determines whether the specified value is close to one (1.0f).
-
- The floating value.
- true if the specified value is close to one (1.0f); otherwise, false.
-
-
-
- Checks if a - b are almost equals within a float epsilon.
-
- The left value to compare.
- The right value to compare.
- Epsilon value
- true if a almost equal to b within a float epsilon, false otherwise
-
-
-
- Converts revolutions to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Converts revolutions to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts revolutions to gradians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts degrees to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts degrees to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to gradians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Clamps the specified value.
-
- The value.
- The min.
- The max.
- The result of clamping a value between min and max
-
-
-
- Clamps the specified value.
-
- The value.
- The min.
- The max.
- The result of clamping a value between min and max
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Performs smooth (cubic Hermite) interpolation between 0 and 1.
-
-
- See https://en.wikipedia.org/wiki/Smoothstep
-
- Value between 0 and 1 indicating interpolation amount.
-
-
-
- Performs a smooth(er) interpolation between 0 and 1 with 1st and 2nd order derivatives of zero at endpoints.
-
-
- See https://en.wikipedia.org/wiki/Smoothstep
-
- Value between 0 and 1 indicating interpolation amount.
-
-
-
- Calculates the modulo of the specified value.
-
- The value.
- The modulo.
- The result of the modulo applied to value
-
-
-
- Calculates the modulo 2*PI of the specified value.
-
- The value.
- The result of the modulo applied to value
-
-
-
- Wraps the specified value into a range [min, max]
-
- The value to wrap.
- The min.
- The max.
- Result of the wrapping.
- Is thrown when is greater than .
-
-
-
- Wraps the specified value into a range [min, max[
-
- The value.
- The min.
- The max.
- Result of the wrapping.
- Is thrown when is greater than .
-
-
-
- Gauss function.
-
- Curve amplitude.
- Position X.
- Position Y
- Radius X.
- Radius Y.
- Curve sigma X.
- Curve sigma Y.
- The result of Gaussian function.
-
-
-
- Gauss function.
-
- Curve amplitude.
- Position X.
- Position Y
- Radius X.
- Radius Y.
- Curve sigma X.
- Curve sigma Y.
- The result of Gaussian function.
-
-
-
- Represents a 4x4 mathematical matrix.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The identity .
-
-
-
-
- Value at row 1 column 1 of the matrix.
-
-
-
-
- Value at row 1 column 2 of the matrix.
-
-
-
-
- Value at row 1 column 3 of the matrix.
-
-
-
-
- Value at row 1 column 4 of the matrix.
-
-
-
-
- Value at row 2 column 1 of the matrix.
-
-
-
-
- Value at row 2 column 2 of the matrix.
-
-
-
-
- Value at row 2 column 3 of the matrix.
-
-
-
-
- Value at row 2 column 4 of the matrix.
-
-
-
-
- Value at row 3 column 1 of the matrix.
-
-
-
-
- Value at row 3 column 2 of the matrix.
-
-
-
-
- Value at row 3 column 3 of the matrix.
-
-
-
-
- Value at row 3 column 4 of the matrix.
-
-
-
-
- Value at row 4 column 1 of the matrix.
-
-
-
-
- Value at row 4 column 2 of the matrix.
-
-
-
-
- Value at row 4 column 3 of the matrix.
-
-
-
-
- Value at row 4 column 4 of the matrix.
-
-
-
-
- Gets or sets the up of the matrix; that is M21, M22, and M23.
-
-
-
-
- Gets or sets the down of the matrix; that is -M21, -M22, and -M23.
-
-
-
-
- Gets or sets the right of the matrix; that is M11, M12, and M13.
-
-
-
-
- Gets or sets the left of the matrix; that is -M11, -M12, and -M13.
-
-
-
-
- Gets or sets the forward of the matrix; that is -M31, -M32, and -M33.
-
-
-
-
- Gets or sets the backward of the matrix; that is M31, M32, and M33.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value to assign at row 1 column 1 of the matrix.
- The value to assign at row 1 column 2 of the matrix.
- The value to assign at row 1 column 3 of the matrix.
- The value to assign at row 1 column 4 of the matrix.
- The value to assign at row 2 column 1 of the matrix.
- The value to assign at row 2 column 2 of the matrix.
- The value to assign at row 2 column 3 of the matrix.
- The value to assign at row 2 column 4 of the matrix.
- The value to assign at row 3 column 1 of the matrix.
- The value to assign at row 3 column 2 of the matrix.
- The value to assign at row 3 column 3 of the matrix.
- The value to assign at row 3 column 4 of the matrix.
- The value to assign at row 4 column 1 of the matrix.
- The value to assign at row 4 column 2 of the matrix.
- The value to assign at row 4 column 3 of the matrix.
- The value to assign at row 4 column 4 of the matrix.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the components of the matrix. This must be an array with sixteen elements.
- Thrown when is null.
- Thrown when contains more or less than sixteen elements.
-
-
-
- Gets or sets the first row in the matrix; that is M11, M12, M13, and M14.
-
-
-
-
- Gets or sets the second row in the matrix; that is M21, M22, M23, and M24.
-
-
-
-
- Gets or sets the third row in the matrix; that is M31, M32, M33, and M34.
-
-
-
-
- Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44.
-
-
-
-
- Gets or sets the first column in the matrix; that is M11, M21, M31, and M41.
-
-
-
-
- Gets or sets the second column in the matrix; that is M12, M22, M32, and M42.
-
-
-
-
- Gets or sets the third column in the matrix; that is M13, M23, M33, and M43.
-
-
-
-
- Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44.
-
-
-
-
- Gets or sets the translation of the matrix; that is M41, M42, and M43.
-
-
-
-
- Gets or sets the scale of the matrix; that is M11, M22, and M33.
-
-
-
-
- Gets a value indicating whether this instance is an identity matrix.
-
-
- true if this instance is an identity matrix; otherwise, false.
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the matrix component, depending on the index.
- The zero-based index of the component to access.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 15].
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the matrix component, depending on the index.
- The row of the matrix to access.
- The column of the matrix to access.
- The value of the component at the specified index.
- Thrown when the or is out of the range [0, 3].
-
-
-
- Calculates the determinant of the matrix.
-
- The determinant of the matrix.
-
-
-
- Inverts the matrix.
-
-
-
-
- Transposes the matrix.
-
-
-
-
- Orthogonalizes the specified matrix.
-
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R.
-
- When the method completes, contains the orthonormalized matrix of the decomposition.
- When the method completes, contains the right triangular matrix of the decomposition.
-
-
-
- Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q.
-
- When the method completes, contains the lower triangular matrix of the decomposition.
- When the method completes, contains the orthonormalized matrix of the decomposition.
-
-
-
- Decomposes a matrix into a scale, rotation, and translation.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
- When the method completes, contains the translation component of the decomposed matrix.
-
- This method is designed to decompose an SRT transformation matrix only.
-
-
-
-
- Decomposes a uniform scale matrix into a scale, rotation, and translation.
- A uniform scale matrix has the same scale in every axis.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
- When the method completes, contains the translation component of the decomposed matrix.
-
- This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
-
-
-
-
- Exchanges two rows in the matrix.
-
- The first row to exchange. This is an index of the row starting at zero.
- The second row to exchange. This is an index of the row starting at zero.
-
-
-
- Exchanges two columns in the matrix.
-
- The first column to exchange. This is an index of the column starting at zero.
- The second column to exchange. This is an index of the column starting at zero.
-
-
-
- Creates an array containing the elements of the matrix.
-
- A sixteen-element array containing the components of the matrix.
-
-
-
- Determines the sum of two matrices.
-
- The first matrix to add.
- The second matrix to add.
- When the method completes, contains the sum of the two matrices.
-
-
-
- Determines the sum of two matrices.
-
- The first matrix to add.
- The second matrix to add.
- The sum of the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- When the method completes, contains the difference between the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- The difference between the two matrices.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- When the method completes, contains the scaled matrix.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Determines the product of two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Determines the product of two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- When the method completes, contains the scaled matrix.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Determines the quotient of two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- When the method completes, contains the quotient of the two matrices.
-
-
-
- Determines the quotient of two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- The quotient of the two matrices.
-
-
-
- Performs the exponential operation on a matrix.
-
- The matrix to perform the operation on.
- The exponent to raise the matrix to.
- When the method completes, contains the exponential matrix.
- Thrown when the is negative.
-
-
-
- Performs the exponential operation on a matrix.
-
- The matrix to perform the operation on.
- The exponent to raise the matrix to.
- The exponential matrix.
- Thrown when the is negative.
-
-
-
- Negates a matrix.
-
- The matrix to be negated.
- When the method completes, contains the negated matrix.
-
-
-
- Negates a matrix.
-
- The matrix to be negated.
- The negated matrix.
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two matrices.
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two matrices.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified matrix.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified matrix.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- The transpose of the specified matrix.
-
-
-
- Calculates the inverse of the specified matrix.
-
- The matrix whose inverse is to be calculated.
- When the method completes, contains the inverse of the specified matrix.
-
-
-
- Calculates the inverse of the specified matrix.
-
- The matrix whose inverse is to be calculated.
- The inverse of the specified matrix.
-
-
-
- Orthogonalizes the specified matrix.
-
- The matrix to orthogonalize.
- When the method completes, contains the orthogonalized matrix.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthogonalizes the specified matrix.
-
- The matrix to orthogonalize.
- The orthogonalized matrix.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
- The matrix to orthonormalize.
- When the method completes, contains the orthonormalized matrix.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
- The matrix to orthonormalize.
- The orthonormalized matrix.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Brings the matrix into upper triangular form using elementary row operations.
-
- The matrix to put into upper triangular form.
- When the method completes, contains the upper triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into upper triangular form using elementary row operations.
-
- The matrix to put into upper triangular form.
- The upper triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into lower triangular form using elementary row operations.
-
- The matrix to put into lower triangular form.
- When the method completes, contains the lower triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into lower triangular form using elementary row operations.
-
- The matrix to put into lower triangular form.
- The lower triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into row echelon form using elementary row operations;
-
- The matrix to put into row echelon form.
- When the method completes, contains the row echelon form of the matrix.
-
-
-
- Brings the matrix into row echelon form using elementary row operations;
-
- The matrix to put into row echelon form.
- When the method completes, contains the row echelon form of the matrix.
-
-
-
- Brings the matrix into reduced row echelon form using elementary row operations.
-
- The matrix to put into reduced row echelon form.
- The fifth column of the matrix.
- When the method completes, contains the resultant matrix after the operation.
- When the method completes, contains the resultant fifth column of the matrix.
-
- The fifth column is often called the augmented part of the matrix. This is because the fifth
- column is really just an extension of the matrix so that there is a place to put all of the
- non-zero components after the operation is complete.
- Often times the resultant matrix will the identity matrix or a matrix similar to the identity
- matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear.
- This method can be used to solve systems of linear equations. Upon completion of this method,
- the will contain the solution for the system. It is up to the user
- to analyze both the input and the result to determine if a solution really exists.
-
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard matrix.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard matrix.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard matrix.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard matrix.
-
-
-
- Creates a left-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at matrix.
-
-
-
- Creates a left-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at matrix.
-
-
-
- Creates a right-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at matrix.
-
-
-
- Creates a right-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at matrix.
-
-
-
- Creates a left-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- The created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- The created scaling matrix.
-
-
-
- Creates a matrix that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- The created scaling matrix.
-
-
-
- Creates a matrix that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix from a quaternion.
-
- The quaternion to use to build the matrix.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix from a quaternion.
-
- The quaternion to use to build the matrix.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a rotation matrix with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- The created rotation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- The offset for all three coordinate planes.
- When the method completes, contains the created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- The offset for all three coordinate planes.
- The created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- X-coordinate offset.
- Y-coordinate offset.
- Z-coordinate offset.
- When the method completes, contains the created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- X-coordinate offset.
- Y-coordinate offset.
- Z-coordinate offset.
- The created translation matrix.
-
-
-
- Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle.
- shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane.
- The effect is such that the skewed rotation vector has the specified angle with rotation itself.
-
- The rotation angle.
- The rotation vector
- The translation vector
- Contains the created skew/shear matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created transformation matrix.
-
-
-
- Creates a transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created transformation matrix.
-
-
-
- Creates a 2D transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created transformation matrix.
-
-
-
- Creates a 2D transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created transformation matrix.
-
-
-
- Adds two matrices.
-
- The first matrix to add.
- The second matrix to add.
- The sum of the two matrices.
-
-
-
- Assert a matrix (return it unchanged).
-
- The matrix to assert (unchanged).
- The asserted (unchanged) matrix.
-
-
-
- Subtracts two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- The difference between the two matrices.
-
-
-
- Negates a matrix.
-
- The matrix to negate.
- The negated matrix.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Multiplies two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Divides two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- The quotient of the two matrices.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a 3x3 Matrix ( contains only Scale and Rotation ).
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The identity .
-
-
-
-
- Value at row 1 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 1 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 1 column 3 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 3 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 3 of the Matrix3x3.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value to assign at row 1 column 1 of the Matrix3x3.
- The value to assign at row 1 column 2 of the Matrix3x3.
- The value to assign at row 1 column 3 of the Matrix3x3.
- The value to assign at row 2 column 1 of the Matrix3x3.
- The value to assign at row 2 column 2 of the Matrix3x3.
- The value to assign at row 2 column 3 of the Matrix3x3.
- The value to assign at row 3 column 1 of the Matrix3x3.
- The value to assign at row 3 column 2 of the Matrix3x3.
- The value to assign at row 3 column 3 of the Matrix3x3.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the components of the Matrix3x3. This must be an array with sixteen elements.
- Thrown when is null.
- Thrown when contains more or less than sixteen elements.
-
-
-
- Gets or sets the first row in the Matrix3x3; that is M11, M12, M13
-
-
-
-
- Gets or sets the second row in the Matrix3x3; that is M21, M22, M23
-
-
-
-
- Gets or sets the third row in the Matrix3x3; that is M31, M32, M33
-
-
-
-
- Gets or sets the first column in the Matrix3x3; that is M11, M21, M31
-
-
-
-
- Gets or sets the second column in the Matrix3x3; that is M12, M22, M32
-
-
-
-
- Gets or sets the third column in the Matrix3x3; that is M13, M23, M33
-
-
-
-
- Gets or sets the scale of the Matrix3x3; that is M11, M22, and M33.
-
-
-
-
- Gets a value indicating whether this instance is an identity Matrix3x3.
-
-
- true if this instance is an identity Matrix3x3; otherwise, false.
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the Matrix3x3 component, depending on the index.
- The zero-based index of the component to access.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 15].
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the Matrix3x3 component, depending on the index.
- The row of the Matrix3x3 to access.
- The column of the Matrix3x3 to access.
- The value of the component at the specified index.
- Thrown when the or is out of the range [0, 3].
-
-
-
- Calculates the determinant of the Matrix3x3.
-
- The determinant of the Matrix3x3.
-
-
-
- Inverts the Matrix3x3.
-
-
-
-
- Transposes the Matrix3x3.
-
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Decomposes a Matrix3x3 into an orthonormalized Matrix3x3 Q and a right triangular Matrix3x3 R.
-
- When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
- When the method completes, contains the right triangular Matrix3x3 of the decomposition.
-
-
-
- Decomposes a Matrix3x3 into a lower triangular Matrix3x3 L and an orthonormalized Matrix3x3 Q.
-
- When the method completes, contains the lower triangular Matrix3x3 of the decomposition.
- When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
-
-
-
- Decomposes a Matrix3x3 into a scale, rotation, and translation.
-
- When the method completes, contains the scaling component of the decomposed Matrix3x3.
- When the method completes, contains the rotation component of the decomposed Matrix3x3.
-
- This method is designed to decompose an SRT transformation Matrix3x3 only.
-
-
-
-
- Decomposes a uniform scale matrix into a scale, rotation, and translation.
- A uniform scale matrix has the same scale in every axis.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
-
- This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
-
-
-
-
- Exchanges two rows in the Matrix3x3.
-
- The first row to exchange. This is an index of the row starting at zero.
- The second row to exchange. This is an index of the row starting at zero.
-
-
-
- Exchanges two columns in the Matrix3x3.
-
- The first column to exchange. This is an index of the column starting at zero.
- The second column to exchange. This is an index of the column starting at zero.
-
-
-
- Creates an array containing the elements of the Matrix3x3.
-
- A 9-element array containing the components of the Matrix3x3.
-
-
-
- Determines the sum of two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- When the method completes, contains the sum of the two matrices.
-
-
-
- Determines the sum of two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- The sum of the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- When the method completes, contains the difference between the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- The difference between the two matrices.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- When the method completes, contains the scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Determines the product of two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Determines the product of two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- When the method completes, contains the scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Determines the quotient of two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- When the method completes, contains the quotient of the two matrices.
-
-
-
- Determines the quotient of two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- The quotient of the two matrices.
-
-
-
- Performs the exponential operation on a Matrix3x3.
-
- The Matrix3x3 to perform the operation on.
- The exponent to raise the Matrix3x3 to.
- When the method completes, contains the exponential Matrix3x3.
- Thrown when the is negative.
-
-
-
- Performs the exponential operation on a Matrix3x3.
-
- The Matrix3x3 to perform the operation on.
- The exponent to raise the Matrix3x3 to.
- The exponential Matrix3x3.
- Thrown when the is negative.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to be negated.
- When the method completes, contains the negated Matrix3x3.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to be negated.
- The negated Matrix3x3.
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two matrices.
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two matrices.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified Matrix3x3.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified Matrix3x3.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- The transpose of the specified Matrix3x3.
-
-
-
- Calculates the inverse of the specified Matrix3x3.
-
- The Matrix3x3 whose inverse is to be calculated.
- When the method completes, contains the inverse of the specified Matrix3x3.
-
-
-
- Calculates the inverse of the specified Matrix3x3.
-
- The Matrix3x3 whose inverse is to be calculated.
- The inverse of the specified Matrix3x3.
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthogonalize.
- When the method completes, contains the orthogonalized Matrix3x3.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthogonalize.
- The orthogonalized Matrix3x3.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthonormalize.
- When the method completes, contains the orthonormalized Matrix3x3.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthonormalize.
- The orthonormalized Matrix3x3.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Brings the Matrix3x3 into upper triangular form using elementary row operations.
-
- The Matrix3x3 to put into upper triangular form.
- When the method completes, contains the upper triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into upper triangular form using elementary row operations.
-
- The Matrix3x3 to put into upper triangular form.
- The upper triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into lower triangular form using elementary row operations.
-
- The Matrix3x3 to put into lower triangular form.
- When the method completes, contains the lower triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into lower triangular form using elementary row operations.
-
- The Matrix3x3 to put into lower triangular form.
- The lower triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into row echelon form using elementary row operations;
-
- The Matrix3x3 to put into row echelon form.
- When the method completes, contains the row echelon form of the Matrix3x3.
-
-
-
- Brings the Matrix3x3 into row echelon form using elementary row operations;
-
- The Matrix3x3 to put into row echelon form.
- When the method completes, contains the row echelon form of the Matrix3x3.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard Matrix3x3.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard Matrix3x3.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard Matrix3x3.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard Matrix3x3.
-
-
-
- Creates a left-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at Matrix3x3.
-
-
-
- Creates a left-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at Matrix3x3.
-
-
-
- Creates a right-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at Matrix3x3.
-
-
-
- Creates a right-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 from a quaternion.
-
- The quaternion to use to build the Matrix3x3.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 from a quaternion.
-
- The quaternion to use to build the Matrix3x3.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- The created rotation Matrix3x3.
-
-
-
- Adds two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- The sum of the two matrices.
-
-
-
- Assert a Matrix3x3 (return it unchanged).
-
- The Matrix3x3 to assert (unchanged).
- The asserted (unchanged) Matrix3x3.
-
-
-
- Subtracts two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- The difference between the two matrices.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to negate.
- The negated Matrix3x3.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Multiplies two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Divides two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- The quotient of the two matrices.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Convert the 3x3 Matrix to a 4x4 Matrix.
-
- A 4x4 Matrix with zero translation and M44=1
-
-
-
- Convert the 4x4 Matrix to a 3x3 Matrix.
-
- A 3x3 Matrix
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified are equal.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a four dimensional mathematical quaternion.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The identity (0, 0, 0, 1).
-
-
-
-
- The X component of the quaternion.
-
-
-
-
- The Y component of the quaternion.
-
-
-
-
- The Z component of the quaternion.
-
-
-
-
- The W component of the quaternion.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the components.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X, Y, and Z components.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the quaternion.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the quaternion.
- Initial value for the Y component of the quaternion.
- Initial value for the Z component of the quaternion.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements.
- Thrown when is null.
- Thrown when contains more or less than four elements.
-
-
-
- Gets a value indicating whether this instance is equivalent to the identity quaternion.
-
-
- true if this instance is an identity quaternion; otherwise, false.
-
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets the angle of the quaternion.
-
- The quaternion's angle.
-
-
-
- Gets the axis components of the quaternion.
-
- The axis components of the quaternion.
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, Z, or W component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 3].
-
-
-
- Conjugates the quaternion.
-
-
-
-
- Conjugates and renormalizes the quaternion.
-
-
-
-
- Calculates the length of the quaternion.
-
- The length of the quaternion.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the quaternion.
-
- The squared length of the quaternion.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the quaternion into a unit quaternion.
-
-
-
-
- Creates an array containing the elements of the quaternion.
-
- A four-element array containing the components of the quaternion.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- When the method completes, contains the sum of the two quaternions.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- The sum of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- When the method completes, contains the difference of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- The difference of the two quaternions.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- When the method completes, contains the scaled quaternion.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- When the method completes, contains the multiplied quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- The multiplied quaternion.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- When the method completes, contains a quaternion facing in the opposite direction.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- A quaternion facing in the opposite direction.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Conjugates a quaternion.
-
- The quaternion to conjugate.
- When the method completes, contains the conjugated quaternion.
-
-
-
- Conjugates a quaternion.
-
- The quaternion to conjugate.
- The conjugated quaternion.
-
-
-
- Calculates the dot product of two quaternions.
-
- First source quaternion.
- Second source quaternion.
- When the method completes, contains the dot product of the two quaternions.
-
-
-
- Calculates the dot product of two quaternions.
-
- First source quaternion.
- Second source quaternion.
- The dot product of the two quaternions.
-
-
-
- Exponentiates a quaternion.
-
- The quaternion to exponentiate.
- When the method completes, contains the exponentiated quaternion.
-
-
-
- Exponentiates a quaternion.
-
- The quaternion to exponentiate.
- The exponentiated quaternion.
-
-
-
- Conjugates and renormalizes the quaternion.
-
- The quaternion to conjugate and renormalize.
- When the method completes, contains the conjugated and renormalized quaternion.
-
-
-
- Conjugates and renormalizes the quaternion.
-
- The quaternion to conjugate and renormalize.
- The conjugated and renormalized quaternion.
-
-
-
- Performs a linear interpolation between two quaternions.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two quaternions.
-
- This method performs the linear interpolation based on the following formula.
- start + (end - start) * amount
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two quaternion.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two quaternions.
-
- This method performs the linear interpolation based on the following formula.
- start + (end - start) * amount
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Calculates the natural logarithm of the specified quaternion.
-
- The quaternion whose logarithm will be calculated.
- When the method completes, contains the natural logarithm of the quaternion.
-
-
-
- Calculates the natural logarithm of the specified quaternion.
-
- The quaternion whose logarithm will be calculated.
- The natural logarithm of the quaternion.
-
-
-
- Converts the quaternion into a unit quaternion.
-
- The quaternion to normalize.
- When the method completes, contains the normalized quaternion.
-
-
-
- Converts the quaternion into a unit quaternion.
-
- The quaternion to normalize.
- The normalized quaternion.
-
-
-
- Creates a quaternion given a rotation and an axis.
-
- The axis of rotation.
- The angle of rotation.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a rotation and an axis.
-
- The axis of rotation.
- The angle of rotation.
- The newly created quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard quaternion.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard quaternion.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard quaternion.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- The newly created quaternion.
-
-
-
- Creates a quaternion given a yaw, pitch, and roll value.
-
- The yaw of rotation.
- The pitch of rotation.
- The roll of rotation.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a yaw, pitch, and roll value.
-
- The yaw of rotation.
- The pitch of rotation.
- The roll of rotation.
- The newly created quaternion.
-
-
-
- Interpolates between two quaternions, using spherical linear interpolation.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the spherical linear interpolation of the two quaternions.
-
-
-
- Interpolates between two quaternions, using spherical linear interpolation.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- The spherical linear interpolation of the two quaternions.
-
-
-
- Interpolates between quaternions, using spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- Value between 0 and 1 indicating the weight of interpolation.
- When the method completes, contains the spherical quadrangle interpolation of the quaternions.
-
-
-
- Interpolates between quaternions, using spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- Value between 0 and 1 indicating the weight of interpolation.
- The spherical quadrangle interpolation of the quaternions.
-
-
-
- Sets up control points for spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- An array of three quaternions that represent control points for spherical quadrangle interpolation.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- The sum of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- The difference of the two quaternions.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- A quaternion facing in the opposite direction.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- The multiplied quaternion.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a two dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0).
-
-
-
-
- The Y unit (0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- Copies to a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X and Y components of the vector. This must be an array with two elements.
- Thrown when is null.
- Thrown when contains more or less than two elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X or Y component, depending on the index.
- The index of the component to access. Use 0 for the X component and 1 for the Y component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 1].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A two-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 2D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 2D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Saturates this instance in the range [0,1]
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- When the method completes, contains the reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- The reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 2D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 2D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 2D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 2D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 2D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- When the method completes, contains the transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- The transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation on an array of vectors using the given .
-
- The array of coordinate vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- When the method completes, contains the transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- The transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation on an array of vectors using the given .
-
- The array of normal vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a three dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0, 0).
-
-
-
-
- The Y unit (0, 1, 0).
-
-
-
-
- The Z unit (0, 0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- A unit designating up (0, 0, 1).
-
-
-
-
- A unit designating down (0, 0, -1).
-
-
-
-
- A unit designating left (-1, 0, 0).
-
-
-
-
- A unit designating right (1, 0, 0).
-
-
-
-
- A unit designating forward in a right-handed coordinate system (0, 1, 0).
-
-
-
-
- A unit designating forward in a left-handed coordinate system (0, -1, 0).
-
-
-
-
- A unit designating backward in a right-handed coordinate system (0, -1, 0).
-
-
-
-
- A unit designating backward in a left-handed coordinate system (0, 1, 0).
-
-
-
-
-
-
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- The Z component of the vector.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
- Initial value for the Z component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.
- Thrown when is null.
- Thrown when contains more or less than three elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, or Z component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 2].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A three-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiply a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiply a vector with another by performing component-wise multiplication.
-
- The first vector to Multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
-
- A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 3D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
-
- A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 3D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Calculates the cross product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains he cross product of the two vectors.
-
-
-
- Calculates the cross product of two vectors.
-
- First source vector.
- Second source vector.
- The cross product of the two vectors.
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Tests whether one 3D vector is near another 3D vector.
-
- The left vector.
- The right vector.
- The epsilon.
- true if left and right are near another 3D, false otherwise
-
-
-
- Tests whether one 3D vector is near another 3D vector.
-
- The left vector.
- The right vector.
- The epsilon.
- true if left and right are near another 3D, false otherwise
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- When the method completes, contains the vector in screen space.
-
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- The vector in screen space.
-
-
-
- Projects a 3D vector from screen space into object space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- When the method completes, contains the vector in object space.
-
-
-
- Projects a 3D vector from screen space into object space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- The vector in object space.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- When the method completes, contains the reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- The reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 3D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 3D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- When the method completes, contains the transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- The transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation on an array of vectors using the given .
-
- The array of coordinate vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- When the method completes, contains the transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- The transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation on an array of vectors using the given .
-
- The array of normal vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with added scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a four dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0, 0, 0).
-
-
-
-
- The Y unit (0, 1, 0, 0).
-
-
-
-
- The Z unit (0, 0, 1, 0).
-
-
-
-
- The W unit (0, 0, 0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- The Z component of the vector.
-
-
-
-
- The W component of the vector.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
- Initial value for the Z component of the vector.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X, Y, and Z components.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the vector.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
- Thrown when is null.
- Thrown when contains more or less than four elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, Z, or W component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 3].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A four-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 4D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 4D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 4D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 4D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 4D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 4D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
-
-
-
-
- Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
- Can be used for objects, vehicles and peds.
-
- Example of enemy:
- 
- Example of friend:
- 
-
-
-
-
- Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
-
- Example image:
- 
-
-
-
-
- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
- collection - PedDecorationCollection filename hash
- overlay - Item name hash
- Example:
- Entry inside "mpbeach_overlays.xml" -
- <Item>
- <uvPos x="0.500000" y="0.500000" />
- <scale x="0.600000" y="0.500000" />
- <rotation value="0.000000" />
- <nameHash>FM_Hair_Fuzz</nameHash>
- <txdHash>mp_hair_fuzz</txdHash>
- <txtHash>mp_hair_fuzz</txtHash>
- <zone>ZONE_HEAD</zone>
- <type>TYPE_TATTOO</type>
- <faction>FM</faction>
- <garment>All</garment>
- <gender>GENDER_DONTCARE</gender>
- <award />
- <awardLevel />
- </Item>
- Code:
- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
-
-
-
-
- Adds a handler for changes to a state bag.
-
- The function called expects to match the following signature:
-
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
-
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
-
- At this time, the change handler can't opt to reject changes.
-
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
-
-
- Applies a force to the specified entity.
-
- **List of force types (p1)**:
-
- ```
- public enum ForceType
- {
- MinForce = 0,
- MaxForceRot = 1,
- MinForce2 = 2,
- MaxForceRot2 = 3,
- ForceNoRot = 4,
- ForceRotPlusForce = 5
- }
- ```
-
- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- Returns whether or not the specified player has enough information to start a commerce session for.
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- CLEAR_PED_SECONDARY_TASK
-
-
-
-
- Clear a ped's tasks. Stop animations and other tasks created by scripts.
-
-
-
-
- Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
-
-
-
-
- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);
- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.
-
-
-
-
- Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
-
-
- Creates an object (prop) with the specified model centered at the specified position.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
-
-
- Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
- (e.g. using REQUEST_MODEL).
-
-
-
-
- CREATE_PED_INSIDE_VEHICLE
-
-
-
-
- Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
- ```
- NativeDB Added Parameter 8: BOOL p7
- ```
-
-
-
-
- Equivalent to CREATE_VEHICLE, but it uses 'server setter' logic (like the former CREATE_AUTOMOBILE) as a workaround for
- reliability concerns regarding entity creation RPC.
-
- Unlike CREATE_AUTOMOBILE, this supports other vehicle types as well.
-
-
-
-
- Deletes the specified entity.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
-
-
- Nonsynchronous [DELETE_RESOURCE_KVP](#\_0x7389B5DF) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- DOES_BOAT_SINK_WHEN_WRECKED
-
-
-
-
- DOES_ENTITY_EXIST
-
-
-
-
- Requests whether or not the player owns the specified SKU.
-
-
-
-
- Requests whether or not the player owns the specified package.
-
-
-
-
- DROP_PLAYER
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- ENABLE_ENHANCED_HOST_SUPPORT
-
-
-
-
- END_FIND_KVP
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
-
-
- FLAG_SERVER_AS_PRIVATE
-
-
-
-
- Nonsynchronous operations will not wait for a disk/filesystem flush before returning from a write or delete call. They will be much faster than their synchronous counterparts (e.g., bulk operations), however, a system crash may lose the data to some recent operations.
-
- This native ensures all `_NO_SYNC` operations are synchronized with the disk/filesystem.
-
-
-
-
- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.
-
-
-
-
- GET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
-
-
-
-
- Returns all object handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns all peds handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns all vehicle handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns the current console output buffer.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
-
-
- Returns the name of the currently executing resource.
-
-
-
-
- Gets the entity that this entity is attached to.
-
-
-
-
- GET_ENTITY_COLLISION_DISABLED
-
-
-
-
- Gets the current coordinates for a specified entity. This native is used server side when using OneSync.
-
- See [GET_ENTITY_COORDS](#\_0x3FEF770D40960D5A) for client side.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
-
-
- GET_ENTITY_HEADING
-
-
-
-
- Only works for vehicle and peds
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- GET_ENTITY_MODEL
-
-
-
-
- This native gets an entity's population type.
-
-
-
-
- GET_ENTITY_ROTATION
-
-
-
-
- GET_ENTITY_ROTATION_VELOCITY
-
-
-
-
- Gets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- GET_ENTITY_SCRIPT
-
-
-
-
- Gets the current speed of the entity in meters per second.
-
- ```
- To convert to MPH: speed * 2.236936
- To convert to KPH: speed * 3.6
- ```
-
-
-
-
- Gets the entity type (as an integer), which can be one of the following defined down below:
-
- **The following entities will return type `1`:**
-
- * Ped
- * Player
- * Animal (Red Dead Redemption 2)
- * Horse (Red Dead Redemption 2)
-
- **The following entities will return type `2`:**
-
- * Automobile
- * Bike
- * Boat
- * Heli
- * Plane
- * Submarine
- * Trailer
- * Train
- * DraftVeh (Red Dead Redemption 2)
-
- **The following entities will return type `3`:**
-
- * Object
- * Door
- * Pickup
-
- Otherwise, a value of `0` will be returned.
-
-
-
-
- GET_ENTITY_VELOCITY
-
-
-
-
- Returns the internal build number of the current game being executed.
-
- Possible values:
-
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * 2944
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
-
-
- Returns the current game being executed.
-
- Possible values:
-
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
-
-
- Gets the current game timer in milliseconds.
-
-
-
-
- This native converts the passed string to a hash.
-
-
-
-
- GET_HELI_MAIN_ROTOR_HEALTH
-
-
-
-
- GET_HELI_TAIL_ROTOR_HEALTH
-
-
-
-
- GET_HOST_ID
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- GET_IS_VEHICLE_ENGINE_RUNNING
-
-
-
-
- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
-
-
-
-
- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
-
-
-
-
- See the client-side [GET_LANDING_GEAR_STATE](#\_0x9B0F3DCA3DB0F4CD) native for a description of landing gear states.
-
-
-
-
- GET_LAST_PED_IN_VEHICLE_SEAT
-
-
-
-
- GET_NUM_PLAYER_IDENTIFIERS
-
-
-
-
- GET_NUM_PLAYER_INDICES
-
-
-
-
- GET_NUM_PLAYER_TOKENS
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- GET_PASSWORD_HASH
-
-
-
-
- GET_PED_ARMOUR
-
-
-
-
- GET_PED_CAUSE_OF_DEATH
-
-
-
-
- GET_PED_DESIRED_HEADING
-
-
-
-
- GET_PED_IN_VEHICLE_SEAT
-
-
-
-
- GET_PED_MAX_HEALTH
-
-
-
-
- Gets the script task command currently assigned to the ped.
-
-
-
-
- Gets the stage of the peds scripted task.
-
-
-
-
- Get the last entity that damaged the ped. This native is used server side when using OneSync.
-
-
-
-
- Get the entity that killed the ped. This native is used server side when using OneSync.
-
-
-
-
- Gets the type of a ped's specific task given an index of the CPedTaskSpecificDataNode nodes.
- A ped will typically have a task at index 0, if a ped has multiple tasks at once they will be in the order 0, 1, 2, etc.
-
-
-
-
- GET_PED_STEALTH_MOVEMENT
-
-
-
-
- Gets the current camera rotation for a specified player. This native is used server side when using OneSync.
-
-
-
-
- GET_PLAYER_ENDPOINT
-
-
-
-
- Gets the current fake wanted level for a specified player. This native is used server side when using OneSync.
-
-
-
-
- GET_PLAYER_FROM_INDEX
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
-
-
- GET_PLAYER_GUID
-
-
-
-
- GET_PLAYER_IDENTIFIER
-
-
-
-
- Get an identifier from a player by the type of the identifier.
-
-
-
-
- GET_PLAYER_INVINCIBLE
-
-
-
-
- GET_PLAYER_LAST_MSG
-
-
-
-
- GET_PLAYER_MAX_ARMOUR
-
-
-
-
- GET_PLAYER_MAX_HEALTH
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
-
-
- GET_PLAYER_NAME
-
-
-
-
- GET_PLAYER_PED
-
-
-
-
- GET_PLAYER_PING
-
-
-
-
- Gets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- GET_PLAYER_TEAM
-
-
-
-
- Gets the amount of time player has spent evading the cops.
- Counter starts and increments only when cops are chasing the player.
- If the player is evading, the timer will pause.
-
-
-
-
- Gets a player's token. Tokens can be used to enhance banning logic, however are specific to a server.
-
-
-
-
- Gets the current known coordinates for the specified player from cops perspective. This native is used server side when using OneSync.
-
-
-
-
- Returns given players wanted level server-side.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
-
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- Returns the physical on-disk path of the specified resource.
-
-
-
-
- Returns the current state of the specified resource.
-
-
-
-
- Returns a hash of selected ped weapon.
-
-
-
-
- Returns the value of a state bag key.
-
-
-
-
- GET_TRAIN_CARRIAGE_ENGINE
-
-
-
-
- GET_TRAIN_CARRIAGE_INDEX
-
-
-
-
- GET_VEHICLE_BODY_HEALTH
-
-
-
-
- GET_VEHICLE_COLOURS
-
-
-
-
- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
-
-
-
-
- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
-
-
-
-
- GET_VEHICLE_DASHBOARD_COLOUR
-
-
-
-
- GET_VEHICLE_DIRT_LEVEL
-
-
-
-
- Currently it only works when set to "all players".
-
-
-
-
- ```lua
- enum_VehicleLockStatus = {
- None = 0,
- Locked = 2,
- LockedForPlayer = 3,
- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
- CanBeBrokenIntoPersist = 8, -- Can be broken into persist
- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
- }
- ```
-
- It should be [noted](https://forum.cfx.re/t/4863241) that while the [client-side command](#\_0x25BC98A59C2EA962) and its
- setter distinguish between states 0 (unset) and 1 (unlocked), the game will synchronize both as state 0, so the server-side
- command will return only '0' if unlocked.
-
-
-
-
- GET_VEHICLE_DOOR_STATUS
-
-
-
-
- GET_VEHICLE_ENGINE_HEALTH
-
-
-
-
- GET_VEHICLE_EXTRA_COLOURS
-
-
-
-
- Gets the flight nozzel position for the specified vehicle. See the client-side [\_GET_VEHICLE_FLIGHT_NOZZLE_POSITION](#\_0xDA62027C8BDB326E) native for usage examples.
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_HEADLIGHTS_COLOUR
-
-
-
-
- Gets the lock on state for the specified vehicle. See the client-side [GET_VEHICLE_HOMING_LOCKON_STATE](#\_0xE6B0E8CFC3633BF0) native for a description of lock on states.
-
-
-
-
- GET_VEHICLE_INTERIOR_COLOUR
-
-
-
-
- GET_VEHICLE_LIGHTS_STATE
-
-
-
-
- GET_VEHICLE_LIVERY
-
-
-
-
- Gets the vehicle that is locked on to for the specified vehicle.
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
-
-
-
-
- Gets the vehicle the specified Ped is/was in depending on bool value. This native is used server side when using OneSync.
-
-
-
-
- GET_VEHICLE_PETROL_TANK_HEALTH
-
-
-
-
- GET_VEHICLE_RADIO_STATION_INDEX
-
-
-
-
- GET_VEHICLE_ROOF_LIVERY
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- Returns the type of the passed vehicle.
-
- ### Vehicle types
-
- * automobile
- * bike
- * boat
- * heli
- * plane
- * submarine
- * trailer
- * train
-
-
-
-
- GET_VEHICLE_TYRE_SMOKE_COLOR
-
-
-
-
- GET_VEHICLE_WHEEL_TYPE
-
-
-
-
- GET_VEHICLE_WINDOW_TINT
-
-
-
-
- GIVE_WEAPON_COMPONENT_TO_PED
-
-
-
-
- GIVE_WEAPON_TO_PED
-
-
-
-
- HAS_ENTITY_BEEN_MARKED_AS_NO_LONGER_NEEDED
-
-
-
-
- HAS_VEHICLE_BEEN_DAMAGED_BY_BULLETS
-
-
-
-
- HAS_VEHICLE_BEEN_OWNED_BY_PLAYER
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- IS_BOAT_ANCHORED_AND_FROZEN
-
-
-
-
- IS_BOAT_WRECKED
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
-
-
- A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
-
-
-
-
- This native checks if the given entity is visible.
-
-
-
-
- IS_FLASH_LIGHT_ON
-
-
-
-
- This native checks if the given ped is a player.
-
-
-
-
- IS_PED_HANDCUFFED
-
-
-
-
- IS_PED_RAGDOLL
-
-
-
-
- IS_PED_STRAFING
-
-
-
-
- IS_PED_USING_ACTION_MODE
-
-
-
-
- IS_PLAYER_ACE_ALLOWED
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded.
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded from Tebex.
-
-
-
-
- This will return true if the player is evading wanted level, meaning that the wanted level stars are blink.
- Otherwise will return false.
-
- If the player is not wanted, it simply returns false.
-
-
-
-
- IS_PLAYER_USING_SUPER_JUMP
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- IS_VEHICLE_EXTRA_TURNED_ON
-
-
-
-
- IS_VEHICLE_SIREN_ON
-
-
-
-
- IS_VEHICLE_TYRE_BURST
-
-
-
-
- See the client-side [IS_VEHICLE_WINDOW_INTACT](https://docs.fivem.net/natives/?\_0x46E571A0E20D01F1) for a window indexes list.
-
-
-
-
- Requests the commerce data for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
-
-
- Requests the commerce data from Tebex for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
-
-
- Create a permanent voice channel.
-
-
-
-
- Checks if the player is currently muted
-
-
-
-
- Mutes or unmutes the specified player
-
-
-
-
- NETWORK_GET_ENTITY_FROM_NETWORK_ID
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
-
-
- Returns the first owner ID of the specified entity.
-
-
-
-
- NETWORK_GET_NETWORK_ID_FROM_ENTITY
-
-
-
-
- NETWORK_GET_VOICE_PROXIMITY_OVERRIDE
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL_EX
-
-
-
-
- Prints 'structured trace' data to the server `file descriptor 3` channel. This is not generally useful outside of
- server monitoring utilities.
-
-
-
-
- Scope entry for profiler.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
-
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
-
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
-
- **Example result**:
-
- 
-
-
-
-
- Registers a listener for console output messages.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Registers a cached resource asset with the resource system, similar to the automatic scanning of the `stream/` folder.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
-
-
- Registers a build task factory for resources.
- The function should return an object (msgpack map) with the following fields:
-
- ```
- {
- // returns whether the specific resource should be built
- shouldBuild = func(resourceName: string): bool,
-
- // asynchronously start building the specific resource.
- // call cb when completed
- build = func(resourceName: string, cb: func(success: bool, status: string): void): void
- }
- ```
-
-
-
-
- Parameter `p1` does not seem to be used or referenced in game binaries.\
- **Note:** When called for networked entities, a `CRemoveAllWeaponsEvent` will be created per request.
-
-
-
-
- Removes the blip from your map.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Removes a handler for changes to a state bag.
-
-
-
-
- REMOVE_WEAPON_COMPONENT_FROM_PED
-
-
-
-
- This native removes a specified weapon from your selected ped.
- Weapon Hashes: pastebin.com/0wwDZgkF
- Example:
- C#:
- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);
- C++:
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);
- The code above removes the knife from the player.
-
-
-
-
- Requests the specified player to buy the passed SKU. This'll pop up a prompt on the client, which upon acceptance
- will open the browser prompting further purchase details.
-
-
-
-
- Writes the specified data to a file in the specified resource.
- Using a length of `-1` will automatically detect the length assuming the data is a C string.
-
-
-
-
- Scans the resources in the specified resource root. This function is only available in the 'monitor mode' process and is
- not available for user resources.
-
-
-
-
- Schedules the specified resource to run a tick as soon as possible, bypassing the server's fixed tick rate.
-
-
-
-
- <!--
- _loc1_.map((name, idx) => `| ${idx} | ${name} |  |`).join('\n')
- -->
-
- Sets the displayed sprite for a specific blip.
-
- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
-
-
-
-
- SET_CONVAR
-
-
-
-
- Used to replicate a server variable onto clients.
-
-
-
-
- SET_CONVAR_SERVER_INFO
-
-
-
-
- SET_CURRENT_PED_WEAPON
-
-
-
-
- Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
-
-
-
-
- It overrides the default distance culling radius of an entity. Set to `0.0` to reset.
- If you want to interact with an entity outside of your players' scopes set the radius to a huge number.
-
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
-
-
- Set the heading of an entity in degrees also known as "Yaw".
-
-
-
-
- It allows to flag an entity to ignore the request control filter policy.
-
-
-
-
- SET_ENTITY_ROTATION
-
-
-
-
- Sets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
-
-
-
-
- SET_GAME_TYPE
-
-
-
-
- Sets the handler for HTTP requests made to the executing resource.
-
- Example request URL: `http://localhost:30120/http-test/ping` - this request will be sent to the `http-test` resource with the `/ping` path.
-
- The handler function assumes the following signature:
-
- ```ts
- function HttpHandler(
- request: {
- address: string;
- headers: Record<string, string>;
- method: string;
- path: string;
- setDataHandler(handler: (data: string) => void): void;
- setDataHandler(handler: (data: ArrayBuffer) => void, binary: 'binary'): void;
- setCancelHandler(handler: () => void): void;
- },
- response: {
- writeHead(code: number, headers?: Record<string, string | string[]>): void;
- write(data: string): void;
- send(data?: string): void;
- }
- ): void;
- ```
-
- * **request**: The request object.
- * **address**: The IP address of the request sender.
- * **path**: The path to where the request was sent.
- * **headers**: The headers sent with the request.
- * **method**: The request method.
- * **setDataHandler**: Sets the handler for when a data body is passed with the request. Additionally you can pass the `'binary'` argument to receive a `BufferArray` in JavaScript or `System.Byte[]` in C# (has no effect in Lua).
- * **setCancelHandler**: Sets the handler for when the request is cancelled.
- * **response**: An object to control the response.
- * **writeHead**: Sets the status code & headers of the response. Can be only called once and won't work if called after running other response functions.
- * **write**: Writes to the response body without sending it. Can be called multiple times.
- * **send**: Writes to the response body and then sends it along with the status code & headers, finishing the request.
-
-
-
-
- SET_MAP_NAME
-
-
-
-
- NativeDB Added Parameter 4: BOOL p3
-
-
-
-
- Sets the armor of the specified ped.
- ped: The Ped to set the armor of.
- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.
-
-
-
-
- SET_PED_CAN_RAGDOLL
-
-
-
-
- This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of components
-
- **0**: Face\
- **1**: Mask\
- **2**: Hair\
- **3**: Torso\
- **4**: Leg\
- **5**: Parachute / bag\
- **6**: Shoes\
- **7**: Accessory\
- **8**: Undershirt\
- **9**: Kevlar\
- **10**: Badge\
- **11**: Torso 2
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
-
- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
-
-
- cpp
- // Potential names and hash collisions included as comments
- enum ePedConfigFlags {
- _0x67D1A445 = 0,
- _0xC63DE95E = 1,
- CPED_CONFIG_FLAG_NoCriticalHits = 2,
- CPED_CONFIG_FLAG_DrownsInWater = 3,
- CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
- _0x37D196F4 = 5,
- _0xE2462399 = 6,
- CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
- _0xEDDEB838 = 8,
- _0xB398B6FD = 9,
- _0xF6664E68 = 10,
- _0xA05E7CA3 = 11,
- _0xCE394045 = 12,
- CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
- _0xCD8D1411 = 14,
- _0xB031F1A9 = 15,
- _0xFE65BEE3 = 16,
- CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
- _0x380165BD = 18,
- _0x07C045C7 = 19,
- _0x583B5E2D = 20,
- _0x475EDA58 = 21,
- _0x8629D05B = 22,
- _0x1522968B = 23,
- CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
- _0x4CC09C4B = 25,
- _0x034F3053 = 26,
- _0xD91BA7CC = 27,
- _0x5C8DC66E = 28,
- _0x8902EAA0 = 29,
- _0x6580B9D2 = 30,
- _0x0EF7A297 = 31,
- _0x6BF86E5B = 32,
- CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
- CPED_CONFIG_FLAG_HasHelmet = 34,
- CPED_CONFIG_FLAG_UseHelmet = 35,
- _0xEEB3D630 = 36,
- _0xB130D17B = 37,
- _0x5F071200 = 38,
- CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
- _0xC287AAFF = 40,
- _0x203328CC = 41,
- CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
- CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
- CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
- _0xEC4A8ACF = 45,
- _0xDB115BFA = 46,
- CPED_CONFIG_FLAG_PedBeingDeleted = 47,
- CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
- _0xF8E99565 = 49,
- _0xDD17FEE6 = 50,
- _0x7ED9B2C9 = 51,
- _0x655E8618 = 52,
- _0x5A6C1F6E = 53,
- _0xD749FC41 = 54,
- _0x357F63F3 = 55,
- _0xC5E60961 = 56,
- _0x29275C3E = 57,
- CPED_CONFIG_FLAG_IsFiring = 58,
- CPED_CONFIG_FLAG_WasFiring = 59,
- CPED_CONFIG_FLAG_IsStanding = 60,
- CPED_CONFIG_FLAG_WasStanding = 61,
- CPED_CONFIG_FLAG_InVehicle = 62,
- CPED_CONFIG_FLAG_OnMount = 63,
- CPED_CONFIG_FLAG_AttachedToVehicle = 64,
- CPED_CONFIG_FLAG_IsSwimming = 65,
- CPED_CONFIG_FLAG_WasSwimming = 66,
- CPED_CONFIG_FLAG_IsSkiing = 67,
- CPED_CONFIG_FLAG_IsSitting = 68,
- CPED_CONFIG_FLAG_KilledByStealth = 69,
- CPED_CONFIG_FLAG_KilledByTakedown = 70,
- CPED_CONFIG_FLAG_Knockedout = 71,
- _0x3E3C4560 = 72,
- _0x2994C7B7 = 73,
- _0x6D59D275 = 74,
- CPED_CONFIG_FLAG_UsingCoverPoint = 75,
- CPED_CONFIG_FLAG_IsInTheAir = 76,
- _0x2D493FB7 = 77,
- CPED_CONFIG_FLAG_IsAimingGun = 78,
- _0x14D69875 = 79,
- _0x40B05311 = 80,
- _0x8B230BC5 = 81,
- _0xC74E5842 = 82,
- _0x9EA86147 = 83,
- _0x674C746C = 84,
- _0x3E56A8C2 = 85,
- _0xC144A1EF = 86,
- _0x0548512D = 87,
- _0x31C93909 = 88,
- _0xA0269315 = 89,
- _0xD4D59D4D = 90,
- _0x411D4420 = 91,
- _0xDF4AEF0D = 92,
- CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
- _0x300E4CD3 = 94,
- _0xF1C5BF04 = 95,
- _0x89C2EF13 = 96,
- CPED_CONFIG_FLAG_VaultFromCover = 97,
- _0x02A852C8 = 98,
- _0x3D9407F1 = 99,
- _0x319B4558 = 100,
- CPED_CONFIG_FLAG_ForcedAim = 101,
- _0xB942D71A = 102,
- _0xD26C55A8 = 103,
- _0xB89E703B = 104,
- CPED_CONFIG_FLAG_ForceReload = 105,
- _0xD9E73DA2 = 106,
- _0xFF71DC2C = 107,
- _0x1E27E8D8 = 108,
- _0xF2C53966 = 109,
- _0xC4DBE247 = 110,
- _0x83C0A4BF = 111,
- _0x0E0FAF8C = 112,
- _0x26616660 = 113,
- _0x43B80B79 = 114,
- _0x0D2A9309 = 115,
- _0x12C1C983 = 116,
- CPED_CONFIG_FLAG_BumpedByPlayer = 117,
- _0xE586D504 = 118,
- _0x52374204 = 119,
- CPED_CONFIG_FLAG_IsHandCuffed = 120,
- CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
- CPED_CONFIG_FLAG_DisableMelee = 122,
- _0xFE714397 = 123,
- _0xB3E660BD = 124,
- _0x5FED6BFD = 125,
- _0xC9D6F66F = 126,
- _0x519BC986 = 127,
- CPED_CONFIG_FLAG_CanBeAgitated = 128,
- _0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
- _0xDAB70E9F = 130,
- _0xE569438A = 131,
- _0xBBC77D6D = 132,
- _0xCB59EF0F = 133,
- _0x8C5EA971 = 134,
- CPED_CONFIG_FLAG_IsScuba = 135,
- CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
- _0xDCE59B58 = 137,
- CPED_CONFIG_FLAG_RidingTrain = 138,
- CPED_CONFIG_FLAG_ArrestResult = 139,
- CPED_CONFIG_FLAG_CanAttackFriendly = 140,
- _0x98A4BE43 = 141,
- _0x6901E731 = 142,
- _0x9EC9BF6C = 143,
- _0x42841A8F = 144,
- CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
- CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
- CPED_CONFIG_FLAG_StairsDetected = 147,
- CPED_CONFIG_FLAG_SlopeDetected = 148,
- _0x1A15670B = 149,
- _0x61786EE5 = 150,
- _0xCB9186BD = 151,
- _0xF0710152 = 152,
- _0x43DFE310 = 153,
- _0xC43C624E = 154,
- CPED_CONFIG_FLAG_CanPerformArrest = 155,
- CPED_CONFIG_FLAG_CanPerformUncuff = 156,
- CPED_CONFIG_FLAG_CanBeArrested = 157,
- _0xF7960FF5 = 158,
- _0x59564113 = 159,
- _0x0C6C3099 = 160,
- _0x645F927A = 161,
- _0xA86549B9 = 162,
- _0x8AAF337A = 163,
- _0x13BAA6E7 = 164,
- _0x5FB9D1F5 = 165,
- CPED_CONFIG_FLAG_IsInjured = 166,
- _0x6398A20B = 167,
- _0xD8072639 = 168,
- _0xA05B1845 = 169,
- _0x83F6D220 = 170,
- _0xD8430331 = 171,
- _0x4B547520 = 172,
- _0xE66E1406 = 173,
- _0x1C4BFE0C = 174,
- _0x90008BFA = 175,
- _0x07C7A910 = 176,
- _0xF15F8191 = 177,
- _0xCE4E8BE2 = 178,
- _0x1D46E4F2 = 179,
- CPED_CONFIG_FLAG_IsInCustody = 180,
- _0xE4FD9B3A = 181,
- _0x67AE0812 = 182,
- CPED_CONFIG_FLAG_IsAgitated = 183,
- CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
- _0x7B2D325E = 185,
- CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
- CPED_CONFIG_FLAG_HasHurtStarted = 187,
- CPED_CONFIG_FLAG_DisableHurt = 188,
- CPED_CONFIG_FLAG_PlayerIsWeird = 189,
- _0x32FC208B = 190,
- _0x0C296E5A = 191,
- _0xE63B73EC = 192,
- _0x04E9CC80 = 193,
- CPED_CONFIG_FLAG_UsingScenario = 194,
- CPED_CONFIG_FLAG_VisibleOnScreen = 195,
- _0xD88C58A1 = 196,
- _0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
- _0xEA02B420 = 198,
- _0x3F559CFF = 199,
- _0x8C55D029 = 200,
- _0x5E6466F6 = 201,
- _0xEB5AD706 = 202,
- _0x0EDDDDE7 = 203,
- _0xA64F7B1D = 204,
- _0x48532CBA = 205,
- _0xAA25A9E7 = 206,
- _0x415B26B9 = 207,
- CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
- CPED_CONFIG_FLAG_DodgedPlayer = 209,
- _0x67405504 = 210,
- _0x75DDD68C = 211,
- _0x2AD879B4 = 212,
- _0x51486F91 = 213,
- _0x32F79E21 = 214,
- _0xBF099213 = 215,
- _0x054AC8E2 = 216,
- _0x14E495CC = 217,
- _0x3C7DF9DF = 218,
- _0x848FFEF2 = 219,
- CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
- _0x2618E1CF = 221,
- _0x84F722FA = 222,
- _0xD1B87B1F = 223,
- _0x728AA918 = 224,
- CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
- CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
- _0x59E91185 = 227,
- _0x1EA7225F = 228,
- CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
- _0x6DCA7D88 = 230,
- _0xFC3E572D = 231,
- _0x08E9F9CF = 232,
- _0x2D3BA52D = 233,
- _0xFD2F53EA = 234,
- _0x31A1B03B = 235,
- CPED_CONFIG_FLAG_IsHoldingProp = 236,
- _0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
- _0xCE57C9A3 = 238,
- _0x26149198 = 239,
- _0x1B33B598 = 240,
- _0x719B6E87 = 241,
- _0x13E8E8E8 = 242,
- _0xF29739AE = 243,
- _0xABEA8A74 = 244,
- _0xB60EA2BA = 245,
- _0x536B0950 = 246,
- _0x0C754ACA = 247,
- CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
- _0x12659168 = 249,
- _0x1BDF2F04 = 250,
- _0x7728FAA3 = 251,
- _0x6A807ED8 = 252,
- CPED_CONFIG_FLAG_OnStairs = 253,
- _0xE1A2F73F = 254,
- _0x5B3697C8 = 255,
- _0xF1EB20A9 = 256,
- _0x8B7DF407 = 257,
- _0x329DCF1A = 258,
- _0x8D90DD1B = 259,
- _0xB8A292B7 = 260,
- _0x8374B087 = 261,
- _0x2AF558F0 = 262,
- _0x82251455 = 263,
- _0x30CF498B = 264,
- _0xE1CD50AF = 265,
- _0x72E4AE48 = 266,
- _0xC2657EA1 = 267,
- _0x29FF6030 = 268,
- _0x8248A5EC = 269,
- CPED_CONFIG_FLAG_OnStairSlope = 270,
- _0xA0897933 = 271,
- CPED_CONFIG_FLAG_DontBlipCop = 272,
- CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
- _0xF7823618 = 274,
- _0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
- CPED_CONFIG_FLAG_EdgeDetected = 276,
- _0x92B67896 = 277,
- _0xCAD677C9 = 278,
- CPED_CONFIG_FLAG_AvoidTearGas = 279,
- _0x5276AC7B = 280,
- _0x1032692A = 281,
- _0xDA23E7F1 = 282,
- _0x9139724D = 283,
- _0xA1457461 = 284,
- _0x4186E095 = 285,
- _0xAC68E2EB = 286,
- CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
- CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
- _0x1B9EE8A1 = 289,
- _0xF3F5758C = 290,
- _0x2A9307F1 = 291,
- _0x7403D216 = 292,
- _0xA06A3C6C = 293,
- CPED_CONFIG_FLAG_DisableShockingEvents = 294,
- _0xF8DA25A5 = 295,
- _0x7EF55802 = 296,
- _0xB31F1187 = 297,
- _0x84315402 = 298,
- _0x0FD69867 = 299,
- _0xC7829B67 = 300,
- CPED_CONFIG_FLAG_DisablePedConstraints = 301,
- _0x6D23CF25 = 302,
- _0x2ADA871B = 303,
- _0x47BC8A58 = 304,
- _0xEB692FA5 = 305,
- _0x4A133C50 = 306,
- _0xC58099C3 = 307,
- _0xF3D76D41 = 308,
- _0xB0EEE9F2 = 309,
- CPED_CONFIG_FLAG_IsInCluster = 310,
- _0x0FA153EF = 311,
- _0xD73F5CD3 = 312,
- _0xD4136C22 = 313,
- _0xE404CA6B = 314,
- _0xB9597446 = 315,
- _0xD5C98277 = 316,
- _0xD5060A9C = 317,
- _0x3E5F1CBB = 318,
- _0xD8BE1D54 = 319,
- _0x0B1F191F = 320,
- _0xC995167A = 321,
- CPED_CONFIG_FLAG_HasHighHeels = 322,
- _0x86B01E54 = 323,
- _0x3A56FE15 = 324,
- _0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
- _0xBBF47729 = 326,
- _0x22B668A8 = 327,
- _0x2624D4D4 = 328,
- CPED_CONFIG_FLAG_DisableTalkTo = 329,
- CPED_CONFIG_FLAG_DontBlip = 330,
- CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
- _0x630F55F3 = 332,
- _0x150468FD = 333,
- _0x914EBD6B = 334,
- _0x79AF3B6D = 335,
- _0x75C7A632 = 336,
- _0x52D530E2 = 337,
- _0xDB2A90E0 = 338,
- _0x5922763D = 339,
- _0x12ADB567 = 340,
- _0x105C8518 = 341,
- _0x106F703D = 342,
- _0xED152C3E = 343,
- _0xA0EFE6A8 = 344,
- _0xBF348C82 = 345,
- _0xCDDFE830 = 346,
- _0x7B59BD9B = 347,
- _0x0124C788 = 348,
- CPED_CONFIG_FLAG_EquipJetpack = 349,
- _0x08D361A5 = 350,
- _0xE13D1F7C = 351,
- _0x40E25FB9 = 352,
- _0x930629D9 = 353,
- _0xECCF0C7F = 354,
- _0xB6E9613B = 355,
- _0x490C0478 = 356,
- _0xE8865BEA = 357,
- _0xF3C34A29 = 358,
- CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
- _0xF660E115 = 360,
- _0xAB0E6DED = 361,
- CPED_CONFIG_FLAG_HasReserveParachute = 362,
- CPED_CONFIG_FLAG_UseReserveParachute = 363,
- _0x5C5D9CD3 = 364,
- _0x8F7701F3 = 365,
- _0xBC4436AD = 366,
- _0xD7E07D37 = 367,
- _0x03C4FD24 = 368,
- _0x7675789A = 369,
- _0xB7288A88 = 370,
- _0xC06B6291 = 371,
- _0x95A4A805 = 372,
- _0xA8E9A042 = 373,
- CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
- _0xBAC674B3 = 375,
- _0x147F1FFB = 376,
- _0x4376DD79 = 377,
- _0xCD3DB518 = 378,
- _0xFE4BA4B6 = 379,
- _0x5DF03A55 = 380,
- _0xBCD816CD = 381,
- _0xCF02DD69 = 382,
- _0xF73AFA2E = 383,
- _0x80B9A9D0 = 384,
- _0xF601F7EE = 385,
- _0xA91350FC = 386,
- _0x3AB23B96 = 387,
- CPED_CONFIG_FLAG_IsClimbingLadder = 388,
- CPED_CONFIG_FLAG_HasBareFeet = 389,
- _0xB4B1CD4C = 390,
- _0x5459AFB8 = 391,
- _0x54F27667 = 392,
- _0xC11D3E8F = 393,
- _0x5419EB3E = 394,
- _0x82D8DBB4 = 395,
- _0x33B02D2F = 396,
- _0xAE66176D = 397,
- _0xA2692593 = 398,
- _0x714C7E31 = 399,
- _0xEC488AC7 = 400,
- _0xAE398504 = 401,
- _0xABC58D72 = 402,
- _0x5E5B9591 = 403,
- _0x6BA1091E = 404,
- _0x77840177 = 405,
- _0x1C7ACAC4 = 406,
- _0x124420E9 = 407,
- _0x75A65587 = 408,
- _0xDFD2D55B = 409,
- _0xBDD39919 = 410,
- _0x43DEC267 = 411,
- _0xE42B7797 = 412,
- CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
- _0x4F8149F5 = 414,
- _0xDD9ECA7A = 415,
- _0x9E7EF9D2 = 416,
- _0x2C6ED942 = 417,
- CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
- _0xA488727D = 419,
- _0xCFF5F6DE = 420,
- _0x6D614599 = 421,
- CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
- _0xFE401D26 = 423,
- CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
- _0x2B42AE82 = 425,
- _0x7A95734F = 426,
- _0xDF4D8617 = 427,
- _0x578F1F14 = 428,
- CPED_CONFIG_FLAG_DisableStartEngine = 429,
- CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
- _0x153C9500 = 431,
- _0xCB7A632E = 432,
- _0xDE727981 = 433,
- CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
- _0x12BBB935 = 435,
- _0xAD0A1277 = 436,
- _0xEA6AA46A = 437,
- CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
- _0xCB7F3A1E = 439,
- _0x50178878 = 440,
- _0x051B4F0D = 441,
- _0x2FC3DECC = 442,
- _0xC0030B0B = 443,
- _0xBBDAF1E9 = 444,
- _0x944FE59C = 445,
- _0x506FBA39 = 446,
- _0xDD45FE84 = 447,
- _0xE698AE75 = 448,
- _0x199633F8 = 449,
- CPED_CONFIG_FLAG_PedIsArresting = 450,
- CPED_CONFIG_FLAG_IsDecoyPed = 451,
- _0x3A251D83 = 452,
- _0xA56F6986 = 453,
- _0x1D19C622 = 454,
- _0xB68D3EAB = 455,
- CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
- _0x4BD5EBAD = 457,
- }
-
-
-
-
- Sets Ped Default Clothes
-
-
-
-
- For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
-
- **Other information:**
-
- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
-
- This native function is often called prior to calling natives such as:
-
- * [`SetPedHairColor`](#0xBB43F090)
- * [`SetPedHeadOverlayColor`](#0x78935A27)
- * [`SetPedHeadOverlay`](#0xD28DBA90)
- * [`SetPedFaceFeature`](#0x6C8D4458)
-
-
-
-
- ```
- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.
- overlayID Part Index, to disable
- 0 Blemishes 0 - 23, 255
- 1 Facial Hair 0 - 28, 255
- 2 Eyebrows 0 - 33, 255
- 3 Ageing 0 - 14, 255
- 4 Makeup 0 - 74, 255
- 5 Blush 0 - 6, 255
- 6 Complexion 0 - 11, 255
- 7 Sun Damage 0 - 10, 255
- 8 Lipstick 0 - 9, 255
- 9 Moles/Freckles 0 - 17, 255
- 10 Chest Hair 0 - 16, 255
- 11 Body Blemishes 0 - 11, 255
- 12 Add Body Blemishes 0 - 1, 255
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- SET_PED_INTO_VEHICLE
-
-
-
-
- This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of props
-
- **0**: Hat\
- **1**: Glass\
- **2**: Ear\
- **6**: Watch\
- **7**: Bracelet
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
-
- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
-
-
- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.
-
- List of component/props ID:
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
- Known values:
-
-
-
-
- p4/p5: Unusued in TU27
-
- ### Ragdoll Types
-
- **0**: CTaskNMRelax
- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
- **Else**: CTaskNMBalance
-
-
-
-
- Return variable is never used in R*'s scripts.
- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
- x, y, and z are coordinates, most likely to where the ped will fall.
- p7 is probably the force of the fall, but untested, so I left the variable name the same.
- p8 to p13 are always 0f in R*'s scripts.
- (Simplified) Example of the usage of the function from R*'s scripts:
- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
-
-
-
-
- Flags:
- SPC_AMBIENT_SCRIPT = (1 << 1),
- SPC_CLEAR_TASKS = (1 << 2),
- SPC_REMOVE_FIRES = (1 << 3),
- SPC_REMOVE_EXPLOSIONS = (1 << 4),
- SPC_REMOVE_PROJECTILES = (1 << 5),
- SPC_DEACTIVATE_GADGETS = (1 << 6),
- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
- SPC_ALLOW_PAD_SHAKE = (1 << 12)
- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
-
-
-
-
- Sets the culling radius for the specified player.
- Set to `0.0` to reset.
-
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
-
-
- Simply sets you as invincible (Health will not deplete).
- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:
- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);
-
-
-
-
- Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
-
- As per usual, make sure to request the model first and wait until it has loaded.
-
-
-
-
- Sets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect
- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files
- disableNoMission- Disables When Off Mission- appears to always be false
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP](#\_0x21C7A35B) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- Sets the entity lockdown mode for a specific routing bucket.
-
- Lockdown modes are:
-
- | Mode | Meaning |
- | ---------- | ---------------------------------------------------------- |
- | `strict` | No entities can be created by clients at all. |
- | `relaxed` | Only script-owned entities created by clients are blocked. |
- | `inactive` | Clients can create any entity they want. |
-
-
-
-
- Sets whether or not the specified routing bucket has automatically-created population enabled.
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- SET_VEHICLE_ALARM
-
-
-
-
- p2 often set to 1000.0 in the decompiled scripts.
-
-
-
-
- colorPrimary & colorSecondary are the paint indexes for the vehicle.
-
- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
-
-
-
-
- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
-
- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- Sets the dirt level of the passed vehicle.
-
-
-
-
- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
- // They use 10 in am_mp_property_int, don't know what it does atm.
- enum eCarLock {
- CARLOCK_NONE = 0,
- CARLOCK_UNLOCKED = 1,
- CARLOCK_LOCKED = 2,
- CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
- CARLOCK_LOCKED_PLAYER_INSIDE = 4,
- CARLOCK_LOCKED_INITIALLY = 5,
- CARLOCK_FORCE_SHUT_DOORS = 6,
- CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
- };
-
-
-
-
- See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
-
-
-
-
- SET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- START_FIND_KVP
-
-
-
-
- START_RESOURCE
-
-
-
-
- STOP_RESOURCE
-
-
-
-
- Makes the specified ped attack the target ped.
- p2 should be 0
- p3 should be 16
-
-
-
-
- Example:
- TASK::TASK_DRIVE_BY(l_467[1 -- [[22]] ], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
- Needs working example. Doesn't seem to do anything.
- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
-
-
-
-
- speed 1.0 = walk, 2.0 = run
- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle
- p6 is always 0
-
-
-
-
- TASK_EVERYONE_LEAVE_VEHICLE
-
-
-
-
- TASK_GO_STRAIGHT_TO_COORD
-
-
-
-
- example from fm_mission_controller
- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
-
-
-
-
- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
-
-
-
-
- In the scripts, p3 was always -1.
- p3 seems to be duration or timeout of turn animation.
- Also facingPed can be 0 or -1 so ped will just raise hands up.
-
-
-
-
- Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
-
-
-
-
- Flags from decompiled scripts:
- 0 = normal exit and closes door.
- 1 = normal exit and closes door.
- 16 = teleports outside, door kept closed. (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
- 64 = normal exit and closes door, maybe a bit slower animation than 0.
- 256 = normal exit but does not close the door.
- 4160 = ped is throwing himself out, even when the vehicle is still.
- 262144 = ped moves to passenger seat first, then exits normally
- Others to be tried out: 320, 512, 131072.
-
-
-
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
- ```
- float blendInSpeed > normal speed is 8.0f
- ----------------------
- float blendOutSpeed > normal speed is 8.0f
- ----------------------
- int duration: time in millisecond
- ----------------------
- -1 _ _ _ _ _ _ _> Default (see flag)
- 0 _ _ _ _ _ _ _ > Not play at all
- Small value _ _ > Slow down animation speed
- Other _ _ _ _ _ > freeze player control until specific time (ms) has
- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be
- _ _ _ _ _ _ _ _ _ controllable.)
- int flag:
- ----------------------
- enum eAnimationFlags
- {
- ANIM_FLAG_NORMAL = 0,
- ANIM_FLAG_REPEAT = 1,
- ANIM_FLAG_STOP_LAST_FRAME = 2,
- ANIM_FLAG_UPPERBODY = 16,
- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,
- ANIM_FLAG_CANCELABLE = 120,
- };
- Odd number : loop infinitely
- Even number : Freeze at last frame
- Multiple of 4: Freeze at last frame but controllable
- 01 to 15 > Full body
- 10 to 31 > Upper body
- 32 to 47 > Full body > Controllable
- 48 to 63 > Upper body > Controllable
- ...
- 001 to 255 > Normal
- 256 to 511 > Garbled
- ...
- playbackRate:
- values are between 0.0 and 1.0
- lockX:
- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3
- > 1 for mini@sprunk
- lockY:
- 0 in most cases
- 1 for missfam5_yoga, missfra1mcs_2_crew_react
- lockZ:
- 0 for single player
- Can be 1 but only for MP
- ```
-
-
-
-
- It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
-
-
-
- TASK_REACT_AND_FLEE_PED
-
-
-
-
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
- Entity aimedentity;
- Player player = PLAYER::PLAYER_ID();
- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
- //bg is an array of peds
- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- TASK_WARP_PED_INTO_VEHICLE
-
-
-
-
- TEMP_BAN_PLAYER
-
-
-
-
- The backing function for TriggerClientEvent.
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- The backing function for TriggerLatentClientEvent.
-
-
-
-
- VERIFY_PASSWORD_HASH
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
-
-
- Adds a rectangular blip for the specified coordinates/area.
-
- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
-
- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
-
- Example image:
- 
- 
-
- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
-
-
-
-
- Used for freemode (online) characters.
-
- Indices:
-
- 1. black
- 2. very light blue/green
- 3. dark blue
- 4. brown
- 5. darker brown
- 6. light brown
- 7. blue
- 8. light blue
- 9. pink
- 10. yellow
- 11. purple
- 12. black
- 13. dark green
- 14. light brown
- 15. yellow/black pattern
- 16. light colored spiral pattern
- 17. shiny red
- 18. shiny half blue/half red
- 19. half black/half light blue
- 20. white/red perimter
- 21. green snake
- 22. red snake
- 23. dark blue snake
- 24. dark yellow
- 25. bright yellow
- 26. all black
- 27. red small pupil
- 28. devil blue/black
- 29. white small pupil
- 30. glossed over
-
-
-
-
- Sets the various freemode face features, e.g. nose length, chin shape.
-
- **Indexes (From 0 to 19):**
-
- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
-
- * **0**: Nose Width (Thin/Wide)
- * **1**: Nose Peak (Up/Down)
- * **2**: Nose Length (Long/Short)
- * **3**: Nose Bone Curveness (Crooked/Curved)
- * **4**: Nose Tip (Up/Down)
- * **5**: Nose Bone Twist (Left/Right)
- * **6**: Eyebrow (Up/Down)
- * **7**: Eyebrow (In/Out)
- * **8**: Cheek Bones (Up/Down)
- * **9**: Cheek Sideways Bone Size (In/Out)
- * **10**: Cheek Bones Width (Puffed/Gaunt)
- * **11**: Eye Opening (Both) (Wide/Squinted)
- * **12**: Lip Thickness (Both) (Fat/Thin)
- * **13**: Jaw Bone Width (Narrow/Wide)
- * **14**: Jaw Bone Shape (Round/Square)
- * **15**: Chin Bone (Up/Down)
- * **16**: Chin Bone Length (In/Out or Backward/Forward)
- * **17**: Chin Bone Shape (Pointed/Square)
- * **18**: Chin Hole (Chin Bum)
- * **19**: Neck Thickness (Thin/Thick)
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- Used for freemode (online) characters.
-
-
-
-
- ```
- Used for freemode (online) characters.
- Called after SET_PED_HEAD_OVERLAY().
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- Adds a rectangular blip for the specified coordinates/area.
- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
- Example image:
- 
- 
- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
-
-
- The X coordinate of the center of the blip.
-
-
- The Y coordinate of the center of the blip.
-
-
- The Z coordinate of the center of the blip.
-
-
- The width of the blip.
-
-
- The height of the blip.
-
-
- A handle to the blip.
-
-
-
-
- Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
-
-
- The X coordinate to create the blip on.
-
-
- The Y coordinate.
-
-
- The Z coordinate.
-
-
- A blip handle.
-
-
-
-
- Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
- Can be used for objects, vehicles and peds.
- Example of enemy:
- 
- Example of friend:
- 
-
-
- The entity handle to create the blip.
-
-
- A blip handle.
-
-
-
-
- Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
- Example image:
- 
-
-
- The x position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The y position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The z position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The number that defines the radius of the blip circle
-
-
- The blip handle that can be manipulated with every `SetBlip` natives
-
-
-
-
- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
- collection - PedDecorationCollection filename hash
- overlay - Item name hash
- Example:
- Entry inside "mpbeach_overlays.xml" -
- <Item>
- <uvPos x="0.500000" y="0.500000" />
- <scale x="0.600000" y="0.500000" />
- <rotation value="0.000000" />
- <nameHash>FM_Hair_Fuzz</nameHash>
- <txdHash>mp_hair_fuzz</txdHash>
- <txtHash>mp_hair_fuzz</txtHash>
- <zone>ZONE_HEAD</zone>
- <type>TYPE_TATTOO</type>
- <faction>FM</faction>
- <garment>All</garment>
- <gender>GENDER_DONTCARE</gender>
- <award />
- <awardLevel />
- </Item>
- Code:
- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
-
-
-
-
- Adds a handler for changes to a state bag.
- The function called expects to match the following signature:
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
- At this time, the change handler can't opt to reject changes.
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
- The key to check for, or null for no filter.
-
-
- The bag ID to check for such as `entity:65535`, or null for no filter.
-
-
- The handler function.
-
-
- A cookie to remove the change handler.
-
-
-
-
- Applies a force to the specified entity.
- **List of force types (p1)**:
- ```
- public enum ForceType
- {
- MinForce = 0,
- MaxForceRot = 1,
- MinForce2 = 2,
- MaxForceRot2 = 3,
- ForceNoRot = 4,
- ForceRotPlusForce = 5
- }
- ```
- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
-
-
- The entity you want to apply a force on
-
-
- See native description above for a list of commonly used values
-
-
- Force amount (X)
-
-
- Force amount (Y)
-
-
- Force amount (Z)
-
-
- Rotation/offset force (X)
-
-
- Rotation/offset force (Y)
-
-
- Rotation/offset force (Z)
-
-
- (Often 0) Entity bone index
-
-
- (Usually false) Vector defined in local (body-fixed) coordinate frame
-
-
- (Usually true)
-
-
- (Usually true) When true, force gets multiplied with the objects mass and different objects will have the same acceleration
-
-
- (Usually false)
-
-
- (Usually true)
-
-
-
-
- Returns whether or not the specified player has enough information to start a commerce session for.
-
-
- The player handle
-
-
- True or false.
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- CLEAR_PED_SECONDARY_TASK
-
-
-
-
- Clear a ped's tasks. Stop animations and other tasks created by scripts.
-
-
- Ped id. Use PlayerPedId() for your own character.
-
-
-
-
- Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
-
-
- Ped id.
-
-
-
-
- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);
- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.
-
-
-
-
- Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
- The model to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component, 'ground level'.
-
-
- Whether to create a network object for the object. If false, the object exists only locally.
-
-
- Whether to register the object as pinned to the script host in the R\* network model.
-
-
- False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
-
-
- A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
-
-
-
-
- Creates an object (prop) with the specified model centered at the specified position.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
- The model to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Whether to create a network object for the object. If false, the object exists only locally.
-
-
- Whether to register the object as pinned to the script host in the R\* network model.
-
-
- False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
-
-
- A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
-
-
-
-
- Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
- (e.g. using REQUEST_MODEL).
-
-
- Unused. Peds get set to CIVMALE/CIVFEMALE/etc. no matter the value specified.
-
-
- The model of ped to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- Whether to create a network object for the ped. If false, the ped exists only locally.
-
-
- Whether to register the ped as pinned to the script host in the R\* network model.
-
-
- A script handle (fwScriptGuid index) for the ped, or `0` if the ped failed to be created.
-
-
-
-
- CREATE_PED_INSIDE_VEHICLE
-
-
- See [`CREATE_PED`](#\_0xD49F9B0955C367DE)
-
-
-
-
- Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
- ```
- NativeDB Added Parameter 8: BOOL p7
- ```
-
-
- The model of vehicle to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- Whether to create a network object for the vehicle. If false, the vehicle exists only locally.
-
-
- Whether to register the vehicle as pinned to the script host in the R\* network model.
-
-
- A script handle (fwScriptGuid index) for the vehicle, or `0` if the vehicle failed to be created.
-
-
-
-
- Equivalent to CREATE_VEHICLE, but it uses 'server setter' logic (like the former CREATE_AUTOMOBILE) as a workaround for
- reliability concerns regarding entity creation RPC.
- Unlike CREATE_AUTOMOBILE, this supports other vehicle types as well.
-
-
- The model of vehicle to spawn.
-
-
- The appropriate vehicle type for the model info. Can be one of `automobile`, `bike`, `boat`, `heli`, `plane`, `submarine`, `trailer`, and (potentially), `train`. This should be the same type as the `type` field in `vehicles.meta`.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- A script handle for the vehicle.
-
-
-
-
- Deletes the specified entity.
-
-
- The entity to delete.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
- The key to delete
-
-
-
-
- Nonsynchronous [DELETE_RESOURCE_KVP](#\_0x7389B5DF) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to delete
-
-
-
-
- DOES_BOAT_SINK_WHEN_WRECKED
-
-
- The target vehicle.
-
-
- Returns whether or not the boat sinks when wrecked.
-
-
-
-
- DOES_ENTITY_EXIST
-
-
-
-
- Requests whether or not the player owns the specified SKU.
-
-
- The player handle
-
-
- The ID of the SKU.
-
-
- A boolean.
-
-
-
-
- Requests whether or not the player owns the specified package.
-
-
- The player handle
-
-
- The package ID on Tebex.
-
-
- A boolean.
-
-
-
-
- DROP_PLAYER
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- ENABLE_ENHANCED_HOST_SUPPORT
-
-
-
-
- END_FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- FLAG_SERVER_AS_PRIVATE
-
-
-
-
- Nonsynchronous operations will not wait for a disk/filesystem flush before returning from a write or delete call. They will be much faster than their synchronous counterparts (e.g., bulk operations), however, a system crash may lose the data to some recent operations.
- This native ensures all `_NO_SYNC` operations are synchronized with the disk/filesystem.
-
-
-
-
- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.
-
-
- The entity to freeze/unfreeze.
-
-
- Freeze or unfreeze entity.
-
-
-
-
- GET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
-
-
- The player handle
-
-
-
-
- Returns all object handles known to the server.
- The data returned adheres to the following layout:
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of object handles.
-
-
-
-
- Returns all peds handles known to the server.
- The data returned adheres to the following layout:
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of peds handles.
-
-
-
-
- Returns all vehicle handles known to the server.
- The data returned adheres to the following layout:
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of vehicle handles.
-
-
-
-
- Returns the current console output buffer.
-
-
- The most recent game console output, as a string.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
- The console variable to look up.
-
-
- The default value to set if none is found.
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
- The console variable to look up.
-
-
- The default value to set if none is found (variable not set using [SET_CONVAR](#\_0x341B16D2), or not accessible).
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Returns the name of the currently executing resource.
-
-
- The name of the resource.
-
-
-
-
- Gets the entity that this entity is attached to.
-
-
- The entity to check.
-
-
- The attached entity handle. 0 returned if the entity is not attached.
-
-
-
-
- GET_ENTITY_COLLISION_DISABLED
-
-
- The target entity.
-
-
- Returns whether or not entity collisions are disabled.
-
-
-
-
- Gets the current coordinates for a specified entity. This native is used server side when using OneSync.
- See [GET_ENTITY_COORDS](#\_0x3FEF770D40960D5A) for client side.
-
-
- The entity to get the coordinates from.
-
-
- The current entity coordinates.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The entity handle or 0 if the state bag name did not refer to an entity, or the entity does not exist.
-
-
-
-
- GET_ENTITY_HEADING
-
-
-
-
- Only works for vehicle and peds
-
-
- The entity to check the health of
-
-
- If the entity is a vehicle it will return 0-1000
- If the entity is a ped it will return 0-200
- If the entity is an object it will return 0
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- GET_ENTITY_MODEL
-
-
-
-
- This native gets an entity's population type.
-
-
- the entity to obtain the population type from
-
-
- Returns the population type ID, defined by the below enumeration:```cpp
- enum ePopulationType
- {
- POPTYPE_UNKNOWN = 0,
- POPTYPE_RANDOM_PERMANENT,
- POPTYPE_RANDOM_PARKED,
- POPTYPE_RANDOM_PATROL,
- POPTYPE_RANDOM_SCENARIO,
- POPTYPE_RANDOM_AMBIENT,
- POPTYPE_PERMANENT,
- POPTYPE_MISSION,
- POPTYPE_REPLAY,
- POPTYPE_CACHE,
- POPTYPE_TOOL
- };
- ```
-
-
-
-
- GET_ENTITY_ROTATION
-
-
-
-
- GET_ENTITY_ROTATION_VELOCITY
-
-
-
-
- Gets the routing bucket for the specified entity.
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The entity to get the routing bucket for.
-
-
- The routing bucket ID.
-
-
-
-
- GET_ENTITY_SCRIPT
-
-
-
-
- Gets the current speed of the entity in meters per second.
- ```
- To convert to MPH: speed * 2.236936
- To convert to KPH: speed * 3.6
- ```
-
-
- The entity to get the speed of
-
-
- The speed of the entity in meters per second
-
-
-
-
- Gets the entity type (as an integer), which can be one of the following defined down below:
- **The following entities will return type `1`:**
- * Ped
- * Player
- * Animal (Red Dead Redemption 2)
- * Horse (Red Dead Redemption 2)
- **The following entities will return type `2`:**
- * Automobile
- * Bike
- * Boat
- * Heli
- * Plane
- * Submarine
- * Trailer
- * Train
- * DraftVeh (Red Dead Redemption 2)
- **The following entities will return type `3`:**
- * Object
- * Door
- * Pickup
- Otherwise, a value of `0` will be returned.
-
-
- The entity to get the type of.
-
-
- The entity type returned as an integer value.
-
-
-
-
- GET_ENTITY_VELOCITY
-
-
-
-
- Returns the internal build number of the current game being executed.
- Possible values:
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * 2944
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
- The build number, or **0** if no build number is known.
-
-
-
-
- Returns the current game being executed.
- Possible values:
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
- The game the script environment is running in.
-
-
-
-
- Gets the current game timer in milliseconds.
-
-
- The game time.
-
-
-
-
- This native converts the passed string to a hash.
-
-
-
-
- GET_HELI_MAIN_ROTOR_HEALTH
-
-
- The target vehicle.
-
-
- See the client-side [GET_HELI_MAIN_ROTOR_HEALTH](https://docs.fivem.net/natives/?\_0xE4CB7541F413D2C5) for the return value.
-
-
-
-
- GET_HELI_TAIL_ROTOR_HEALTH
-
-
- The target vehicle.
-
-
- See the client-side [GET_HELI_TAIL_ROTOR_HEALTH](https://docs.fivem.net/natives/?\_0xAE8CE82A4219AC8C) for the return value.
-
-
-
-
- GET_HOST_ID
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- GET_IS_VEHICLE_ENGINE_RUNNING
-
-
-
-
- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
-
-
-
-
- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
-
-
-
-
- See the client-side [GET_LANDING_GEAR_STATE](#\_0x9B0F3DCA3DB0F4CD) native for a description of landing gear states.
-
-
- The vehicle to check.
-
-
- The current state of the vehicles landing gear.
-
-
-
-
- GET_LAST_PED_IN_VEHICLE_SEAT
-
-
- The target vehicle.
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
- The last ped in the specified seat of the passed vehicle. Returns 0 if the specified seat was never occupied or the last ped does not exist anymore.
-
-
-
-
- GET_NUM_PLAYER_IDENTIFIERS
-
-
-
-
- GET_NUM_PLAYER_INDICES
-
-
-
-
- GET_NUM_PLAYER_TOKENS
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key to look up in the resource manifest.
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- GET_PASSWORD_HASH
-
-
-
-
- GET_PED_ARMOUR
-
-
-
-
- GET_PED_CAUSE_OF_DEATH
-
-
-
-
- GET_PED_DESIRED_HEADING
-
-
- The target ped
-
-
- Returns ped's desired heading.
-
-
-
-
- GET_PED_IN_VEHICLE_SEAT
-
-
- The target vehicle.
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
- The ped in the specified seat of the passed vehicle. Returns 0 if the specified seat is not occupied.
-
-
-
-
- GET_PED_MAX_HEALTH
-
-
-
-
- Gets the script task command currently assigned to the ped.
-
-
- The target ped.
-
-
- The script task command currently assigned to the ped. A value of 0x811E343C denotes no script task is assigned.
-
-
-
-
- Gets the stage of the peds scripted task.
-
-
- The target ped.
-
-
- The stage of the ped's scripted task. A value of 3 denotes no script task is assigned.
-
-
-
-
- Get the last entity that damaged the ped. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- The entity id. Returns 0 if the ped has not been damaged recently.
-
-
-
-
- Get the entity that killed the ped. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- The entity id. Returns 0 if the ped has no killer.
-
-
-
-
- Gets the type of a ped's specific task given an index of the CPedTaskSpecificDataNode nodes.
- A ped will typically have a task at index 0, if a ped has multiple tasks at once they will be in the order 0, 1, 2, etc.
-
-
- The target ped.
-
-
- A zero-based index with a maximum value of 7.
-
-
- The type of the specific task.
- 1604: A value of 530 denotes no script task is assigned or an invalid input was given.
- 2060+: A value of 531 denotes no script task is assigned or an invalid input was given.
-
-
-
-
- GET_PED_STEALTH_MOVEMENT
-
-
- The target ped.
-
-
- Whether or not the ped is stealthy.
-
-
-
-
- Gets the current camera rotation for a specified player. This native is used server side when using OneSync.
-
-
- The player handle.
-
-
- The player's camera rotation. Values are in radians.
-
-
-
-
- GET_PLAYER_ENDPOINT
-
-
-
-
- Gets the current fake wanted level for a specified player. This native is used server side when using OneSync.
-
-
- The target player
-
-
- The fake wanted level
-
-
-
-
- GET_PLAYER_FROM_INDEX
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The player handle or 0 if the state bag name did not refer to a player, or the player does not exist.
-
-
-
-
- GET_PLAYER_GUID
-
-
-
-
- GET_PLAYER_IDENTIFIER
-
-
-
-
- Get an identifier from a player by the type of the identifier.
-
-
- The player to get the identifier for
-
-
- The string to match in an identifier, this can be `"license"` for example.
-
-
- The identifier that matches the string provided
-
-
-
-
- GET_PLAYER_INVINCIBLE
-
-
- The player handle
-
-
- A boolean to tell if the player is invincible.
-
-
-
-
- GET_PLAYER_LAST_MSG
-
-
-
-
- GET_PLAYER_MAX_ARMOUR
-
-
- The player handle
-
-
-
-
- GET_PLAYER_MAX_HEALTH
-
-
- The player handle
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
- The player index.
-
-
- Returns player melee weapon damage modifier value.
-
-
-
-
- GET_PLAYER_NAME
-
-
-
-
- GET_PLAYER_PED
-
-
-
-
- GET_PLAYER_PING
-
-
-
-
- Gets the routing bucket for the specified player.
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The player to get the routing bucket for.
-
-
- The routing bucket ID.
-
-
-
-
- GET_PLAYER_TEAM
-
-
- The player handle
-
-
-
-
- Gets the amount of time player has spent evading the cops.
- Counter starts and increments only when cops are chasing the player.
- If the player is evading, the timer will pause.
-
-
- The target player
-
-
- False = CurrentPursuit, True = LastPursuit
-
-
- Returns -1, if the player is not wanted or wasn't in pursuit before, depending on the lastPursuit parameter
- Returns 0, if lastPursuit == False and the player has a wanted level, but the pursuit has not started yet
- Otherwise, will return the milliseconds of the pursuit.
-
-
-
-
- Gets a player's token. Tokens can be used to enhance banning logic, however are specific to a server.
-
-
- A player.
-
-
- Index between 0 and GET_NUM_PLAYER_TOKENS.
-
-
- A token value.
-
-
-
-
- Gets the current known coordinates for the specified player from cops perspective. This native is used server side when using OneSync.
-
-
- The target player
-
-
- The player's position known by police. Vector zero if the player has no wanted level.
-
-
-
-
- Returns given players wanted level server-side.
-
-
- The target player
-
-
- The wanted level
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
- The player index.
-
-
- The value of player weapon damage modifier.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
- The player index.
-
-
- The value of player weapon defense modifier.
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
- The player index.
-
-
- The value of player weapon defense modifier 2.
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
- An object containing registered commands.
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
- The index of the resource (starting at 0)
-
-
- The resource name as a `string`
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
- The key to fetch
-
-
- The floating-point value stored under the specified key, or 0.0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
- The key to fetch
-
-
- The integer value stored under the specified key, or 0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
- The key to fetch
-
-
- The string value stored under the specified key, or nil/null if not found.
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key in the resource manifest.
-
-
- The value index, in a range from \[0..GET_NUM_RESOURCE_METDATA-1].
-
-
-
-
- Returns the physical on-disk path of the specified resource.
-
-
- The name of the resource.
-
-
- The resource directory name, possibly without trailing slash.
-
-
-
-
- Returns the current state of the specified resource.
-
-
- The name of the resource.
-
-
- The resource state. One of `"missing", "started", "starting", "stopped", "stopping", "uninitialized" or "unknown"`.
-
-
-
-
- Returns a hash of selected ped weapon.
-
-
- The target ped.
-
-
- The weapon hash.
-
-
-
-
- Returns the value of a state bag key.
-
-
- Value.
-
-
-
-
- GET_TRAIN_CARRIAGE_ENGINE
-
-
- The entity handle.
-
-
- The train engine carriage.
-
-
-
-
- GET_TRAIN_CARRIAGE_INDEX
-
-
- The entity handle.
-
-
- The carriage index. -1 returned if invalid result.
-
-
-
-
- GET_VEHICLE_BODY_HEALTH
-
-
-
-
- GET_VEHICLE_COLOURS
-
-
-
-
- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
-
-
-
-
- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
-
-
-
-
- GET_VEHICLE_DASHBOARD_COLOUR
-
-
-
-
- GET_VEHICLE_DIRT_LEVEL
-
-
-
-
- ```lua
- enum_VehicleLockStatus = {
- None = 0,
- Locked = 2,
- LockedForPlayer = 3,
- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
- CanBeBrokenIntoPersist = 8, -- Can be broken into persist
- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
- }
- ```
- It should be [noted](https://forum.cfx.re/t/4863241) that while the [client-side command](#\_0x25BC98A59C2EA962) and its
- setter distinguish between states 0 (unset) and 1 (unlocked), the game will synchronize both as state 0, so the server-side
- command will return only '0' if unlocked.
-
-
- A vehicle handle.
-
-
- The door lock status for the specified vehicle.
-
-
-
-
- GET_VEHICLE_DOOR_STATUS
-
-
- A number from 0 to 7.
-
-
-
-
- Currently it only works when set to "all players".
-
-
-
-
- GET_VEHICLE_ENGINE_HEALTH
-
-
-
-
- GET_VEHICLE_EXTRA_COLOURS
-
-
-
-
- Gets the flight nozzel position for the specified vehicle. See the client-side [\_GET_VEHICLE_FLIGHT_NOZZLE_POSITION](#\_0xDA62027C8BDB326E) native for usage examples.
-
-
- The vehicle to check.
-
-
- The flight nozzel position between 0.0 (flying normally) and 1.0 (VTOL mode)
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_HEADLIGHTS_COLOUR
-
-
-
-
- Gets the lock on state for the specified vehicle. See the client-side [GET_VEHICLE_HOMING_LOCKON_STATE](#\_0xE6B0E8CFC3633BF0) native for a description of lock on states.
-
-
- The vehicle to check.
-
-
- The lock on state.
-
-
-
-
- GET_VEHICLE_INTERIOR_COLOUR
-
-
-
-
- GET_VEHICLE_LIGHTS_STATE
-
-
-
-
- GET_VEHICLE_LIVERY
-
-
-
-
- Gets the vehicle that is locked on to for the specified vehicle.
-
-
- The vehicle to check.
-
-
- The vehicle that is locked on. 0 returned if no vehicle is locked on.
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
-
-
-
-
- Gets the vehicle the specified Ped is/was in depending on bool value. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- False = CurrentVehicle, True = LastVehicle
-
-
- The vehicle id. Returns 0 if the ped is/was not in a vehicle.
-
-
-
-
- GET_VEHICLE_PETROL_TANK_HEALTH
-
-
-
-
- GET_VEHICLE_RADIO_STATION_INDEX
-
-
-
-
- GET_VEHICLE_ROOF_LIVERY
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- Returns the type of the passed vehicle.
- ### Vehicle types
- * automobile
- * bike
- * boat
- * heli
- * plane
- * submarine
- * trailer
- * train
-
-
- The vehicle's entity handle.
-
-
- If the entity is a vehicle, the vehicle type. If it is not a vehicle, the return value will be null.
-
-
-
-
- GET_VEHICLE_TYRE_SMOKE_COLOR
-
-
-
-
- GET_VEHICLE_WHEEL_TYPE
-
-
-
-
- GET_VEHICLE_WINDOW_TINT
-
-
-
-
- GIVE_WEAPON_COMPONENT_TO_PED
-
-
-
-
- GIVE_WEAPON_TO_PED
-
-
-
-
- HAS_ENTITY_BEEN_MARKED_AS_NO_LONGER_NEEDED
-
-
-
-
- HAS_VEHICLE_BEEN_DAMAGED_BY_BULLETS
-
-
- The target vehicle.
-
-
- Returns whether or not the target vehicle has been damaged by bullets.
-
-
-
-
- HAS_VEHICLE_BEEN_OWNED_BY_PLAYER
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- IS_BOAT_ANCHORED_AND_FROZEN
-
-
- The target vehicle.
-
-
- Returns whether or not the boat is anchored and frozen.
-
-
-
-
- IS_BOAT_WRECKED
-
-
- The target vehicle.
-
-
- Returns whether or not the boat is wrecked.
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
- A boolean value.
-
-
-
-
- A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
-
-
- The entity to check for
-
-
- Boolean stating if it is frozen or not.
-
-
-
-
- This native checks if the given entity is visible.
-
-
- Returns `true` if the entity is visible, `false` otherwise.
-
-
-
-
- IS_FLASH_LIGHT_ON
-
-
- The target ped.
-
-
- Whether or not the ped's flash light is on.
-
-
-
-
- This native checks if the given ped is a player.
-
-
- Returns `true` if the ped is a player, `false` otherwise.
-
-
-
-
- IS_PED_HANDCUFFED
-
-
- The target ped.
-
-
- Whether or not the ped is handcuffed.
-
-
-
-
- IS_PED_RAGDOLL
-
-
- The target ped.
-
-
- Whether or not the ped is ragdolling.
-
-
-
-
- IS_PED_STRAFING
-
-
- The target ped.
-
-
- Whether or not the ped is strafing.
-
-
-
-
- IS_PED_USING_ACTION_MODE
-
-
- The target ped.
-
-
- Whether or not the ped is using action mode.
-
-
-
-
- IS_PLAYER_ACE_ALLOWED
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded.
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded from Tebex.
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- This will return true if the player is evading wanted level, meaning that the wanted level stars are blink.
- Otherwise will return false.
- If the player is not wanted, it simply returns false.
-
-
- The target player
-
-
- boolean value, depending if the player is evading his wanted level or not.
-
-
-
-
- IS_PLAYER_USING_SUPER_JUMP
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- IS_VEHICLE_EXTRA_TURNED_ON
-
-
-
-
- IS_VEHICLE_SIREN_ON
-
-
-
-
- IS_VEHICLE_TYRE_BURST
-
-
-
-
- See the client-side [IS_VEHICLE_WINDOW_INTACT](https://docs.fivem.net/natives/?\_0x46E571A0E20D01F1) for a window indexes list.
-
-
- The target vehicle.
-
-
- The window index.
-
-
-
-
- Requests the commerce data for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
- The player handle
-
-
-
-
- Requests the commerce data from Tebex for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
- The player handle
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
- The resource name.
-
-
- The file in the resource.
-
-
- The file contents
-
-
-
-
- Create a permanent voice channel.
-
-
- ID of the channel.
-
-
-
-
- Checks if the player is currently muted
-
-
- The player to get the mute state for
-
-
- Whether or not the player is muted
-
-
-
-
- Mutes or unmutes the specified player
-
-
- The player to set the mute state of
-
-
- Whether to mute or unmute the player
-
-
-
-
- NETWORK_GET_ENTITY_FROM_NETWORK_ID
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
- The entity to get the owner for.
-
-
- On the server, the server ID of the entity owner. On the client, returns the player/slot ID of the entity owner.
-
-
-
-
- Returns the first owner ID of the specified entity.
-
-
- The entity to get the first owner for.
-
-
- The server ID of the first entity owner.
-
-
-
-
- NETWORK_GET_NETWORK_ID_FROM_ENTITY
-
-
-
-
- NETWORK_GET_VOICE_PROXIMITY_OVERRIDE
-
-
- The player handle
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL_EX
-
-
-
-
- Prints 'structured trace' data to the server `file descriptor 3` channel. This is not generally useful outside of
- server monitoring utilities.
-
-
- JSON data to submit as `payload` in the `script_structured_trace` event.
-
-
-
-
- Scope entry for profiler.
-
-
- Scope name.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
- True or false.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
- **Example result**:
- 
-
-
- The command you want to register.
-
-
- A handler function that gets called whenever the command is executed.
-
-
- If this is a server command and you set this to true, then players will need the command.yourCommandName ace permission to execute this command.
-
-
-
-
- Registers a listener for console output messages.
-
-
- A function of `(channel: string, message: string) => void`. The message might contain `\n`.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
- An event name, or "\*" to disable HLL event filtering for this resource.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
- Registers a cached resource asset with the resource system, similar to the automatic scanning of the `stream/` folder.
-
-
- The resource to add the asset to.
-
-
- A file name in the resource.
-
-
- A cache string to pass to `REGISTER_STREAMING_FILE_FROM_CACHE` on the client.
-
-
-
-
- Registers a build task factory for resources.
- The function should return an object (msgpack map) with the following fields:
- ```
- {
- // returns whether the specific resource should be built
- shouldBuild = func(resourceName: string): bool,
- // asynchronously start building the specific resource.
- // call cb when completed
- build = func(resourceName: string, cb: func(success: bool, status: string): void): void
- }
- ```
-
-
- The identifier for the build task.
-
-
- The factory function.
-
-
-
-
- Parameter `p1` does not seem to be used or referenced in game binaries.\
- **Note:** When called for networked entities, a `CRemoveAllWeaponsEvent` will be created per request.
-
-
- The ped entity
-
-
-
-
- Removes the blip from your map.
-
-
- Blip handle to remove.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
- Removes a handler for changes to a state bag.
-
-
- The cookie.
-
-
-
-
- REMOVE_WEAPON_COMPONENT_FROM_PED
-
-
-
-
- This native removes a specified weapon from your selected ped.
- Weapon Hashes: pastebin.com/0wwDZgkF
- Example:
- C#:
- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);
- C++:
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);
- The code above removes the knife from the player.
-
-
-
-
- Requests the specified player to buy the passed SKU. This'll pop up a prompt on the client, which upon acceptance
- will open the browser prompting further purchase details.
-
-
- The player handle
-
-
- The ID of the SKU.
-
-
-
-
- Writes the specified data to a file in the specified resource.
- Using a length of `-1` will automatically detect the length assuming the data is a C string.
-
-
- The name of the resource.
-
-
- The name of the file.
-
-
- The data to write to the file.
-
-
- The length of the written data.
-
-
- A value indicating if the write succeeded.
-
-
-
-
- Scans the resources in the specified resource root. This function is only available in the 'monitor mode' process and is
- not available for user resources.
-
-
- The resource directory to scan.
-
-
- A callback that will receive an object with results.
-
-
-
-
- Schedules the specified resource to run a tick as soon as possible, bypassing the server's fixed tick rate.
-
-
- The resource to tick.
-
-
-
-
- <!--
- _loc1_.map((name, idx) => `| ${idx} | ${name} |  |`).join('\n')
- -->
- Sets the displayed sprite for a specific blip.
- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
-
-
- The blip to change.
-
-
- The sprite ID to set.
-
-
-
-
- SET_CONVAR
-
-
-
-
- Used to replicate a server variable onto clients.
-
-
- The console variable name.
-
-
- The value to set for the given console variable.
-
-
-
-
- SET_CONVAR_SERVER_INFO
-
-
-
-
- SET_CURRENT_PED_WEAPON
-
-
-
-
- Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
-
-
- The entity to change coordinates for.
-
-
- The X coordinate.
-
-
- The Y coordinate.
-
-
- The Z coordinate, ground level.
-
-
- Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive.
-
-
- Whether to disable physics for dead peds, too, and not just living peds.
-
-
- A special flag used for ragdolling peds.
-
-
- Whether to clear any entities in the target area.
-
-
-
-
- It overrides the default distance culling radius of an entity. Set to `0.0` to reset.
- If you want to interact with an entity outside of your players' scopes set the radius to a huge number.
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
- The entity handle to override the distance culling radius.
-
-
- The new distance culling radius.
-
-
-
-
- Set the heading of an entity in degrees also known as "Yaw".
-
-
- The entity to set the heading for.
-
-
- The heading in degrees.
-
-
-
-
- It allows to flag an entity to ignore the request control filter policy.
-
-
- The entity handle to ignore the request control filter.
-
-
- Define if the entity ignores the request control filter policy.
-
-
-
-
- SET_ENTITY_ROTATION
-
-
- The order yaw pitch roll are applied, see [`GET_ENTITY_ROTATION`](#\_0xAFBD61CC738D9EB9).
-
-
-
-
- Sets the routing bucket for the specified entity.
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The entity to set the routing bucket for.
-
-
- The bucket ID.
-
-
-
-
- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
-
-
-
-
- SET_GAME_TYPE
-
-
-
-
- Sets the handler for HTTP requests made to the executing resource.
- Example request URL: `http://localhost:30120/http-test/ping` - this request will be sent to the `http-test` resource with the `/ping` path.
- The handler function assumes the following signature:
- ```ts
- function HttpHandler(
- request: {
- address: string;
- headers: Record<string, string>;
- method: string;
- path: string;
- setDataHandler(handler: (data: string) => void): void;
- setDataHandler(handler: (data: ArrayBuffer) => void, binary: 'binary'): void;
- setCancelHandler(handler: () => void): void;
- },
- response: {
- writeHead(code: number, headers?: Record<string, string | string[]>): void;
- write(data: string): void;
- send(data?: string): void;
- }
- ): void;
- ```
- * **request**: The request object.
- * **address**: The IP address of the request sender.
- * **path**: The path to where the request was sent.
- * **headers**: The headers sent with the request.
- * **method**: The request method.
- * **setDataHandler**: Sets the handler for when a data body is passed with the request. Additionally you can pass the `'binary'` argument to receive a `BufferArray` in JavaScript or `System.Byte[]` in C# (has no effect in Lua).
- * **setCancelHandler**: Sets the handler for when the request is cancelled.
- * **response**: An object to control the response.
- * **writeHead**: Sets the status code & headers of the response. Can be only called once and won't work if called after running other response functions.
- * **write**: Writes to the response body without sending it. Can be called multiple times.
- * **send**: Writes to the response body and then sends it along with the status code & headers, finishing the request.
-
-
- The handler function.
-
-
-
-
- SET_MAP_NAME
-
-
-
-
- NativeDB Added Parameter 4: BOOL p3
-
-
-
-
- Sets the armor of the specified ped.
- ped: The Ped to set the armor of.
- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.
-
-
-
-
- SET_PED_CAN_RAGDOLL
-
-
-
-
- This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
- ### MP Freemode list of components
- **0**: Face\
- **1**: Mask\
- **2**: Hair\
- **3**: Torso\
- **4**: Leg\
- **5**: Parachute / bag\
- **6**: Shoes\
- **7**: Accessory\
- **8**: Undershirt\
- **9**: Kevlar\
- **10**: Badge\
- **11**: Torso 2
- ### Related and useful natives
- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
- The ped handle.
-
-
- The component that you want to set.
-
-
- The drawable id that is going to be set.
-
-
- The texture id of the drawable.
-
-
- 0 to 3.
-
-
-
-
- cpp
- // Potential names and hash collisions included as comments
- enum ePedConfigFlags {
- _0x67D1A445 = 0,
- _0xC63DE95E = 1,
- CPED_CONFIG_FLAG_NoCriticalHits = 2,
- CPED_CONFIG_FLAG_DrownsInWater = 3,
- CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
- _0x37D196F4 = 5,
- _0xE2462399 = 6,
- CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
- _0xEDDEB838 = 8,
- _0xB398B6FD = 9,
- _0xF6664E68 = 10,
- _0xA05E7CA3 = 11,
- _0xCE394045 = 12,
- CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
- _0xCD8D1411 = 14,
- _0xB031F1A9 = 15,
- _0xFE65BEE3 = 16,
- CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
- _0x380165BD = 18,
- _0x07C045C7 = 19,
- _0x583B5E2D = 20,
- _0x475EDA58 = 21,
- _0x8629D05B = 22,
- _0x1522968B = 23,
- CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
- _0x4CC09C4B = 25,
- _0x034F3053 = 26,
- _0xD91BA7CC = 27,
- _0x5C8DC66E = 28,
- _0x8902EAA0 = 29,
- _0x6580B9D2 = 30,
- _0x0EF7A297 = 31,
- _0x6BF86E5B = 32,
- CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
- CPED_CONFIG_FLAG_HasHelmet = 34,
- CPED_CONFIG_FLAG_UseHelmet = 35,
- _0xEEB3D630 = 36,
- _0xB130D17B = 37,
- _0x5F071200 = 38,
- CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
- _0xC287AAFF = 40,
- _0x203328CC = 41,
- CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
- CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
- CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
- _0xEC4A8ACF = 45,
- _0xDB115BFA = 46,
- CPED_CONFIG_FLAG_PedBeingDeleted = 47,
- CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
- _0xF8E99565 = 49,
- _0xDD17FEE6 = 50,
- _0x7ED9B2C9 = 51,
- _0x655E8618 = 52,
- _0x5A6C1F6E = 53,
- _0xD749FC41 = 54,
- _0x357F63F3 = 55,
- _0xC5E60961 = 56,
- _0x29275C3E = 57,
- CPED_CONFIG_FLAG_IsFiring = 58,
- CPED_CONFIG_FLAG_WasFiring = 59,
- CPED_CONFIG_FLAG_IsStanding = 60,
- CPED_CONFIG_FLAG_WasStanding = 61,
- CPED_CONFIG_FLAG_InVehicle = 62,
- CPED_CONFIG_FLAG_OnMount = 63,
- CPED_CONFIG_FLAG_AttachedToVehicle = 64,
- CPED_CONFIG_FLAG_IsSwimming = 65,
- CPED_CONFIG_FLAG_WasSwimming = 66,
- CPED_CONFIG_FLAG_IsSkiing = 67,
- CPED_CONFIG_FLAG_IsSitting = 68,
- CPED_CONFIG_FLAG_KilledByStealth = 69,
- CPED_CONFIG_FLAG_KilledByTakedown = 70,
- CPED_CONFIG_FLAG_Knockedout = 71,
- _0x3E3C4560 = 72,
- _0x2994C7B7 = 73,
- _0x6D59D275 = 74,
- CPED_CONFIG_FLAG_UsingCoverPoint = 75,
- CPED_CONFIG_FLAG_IsInTheAir = 76,
- _0x2D493FB7 = 77,
- CPED_CONFIG_FLAG_IsAimingGun = 78,
- _0x14D69875 = 79,
- _0x40B05311 = 80,
- _0x8B230BC5 = 81,
- _0xC74E5842 = 82,
- _0x9EA86147 = 83,
- _0x674C746C = 84,
- _0x3E56A8C2 = 85,
- _0xC144A1EF = 86,
- _0x0548512D = 87,
- _0x31C93909 = 88,
- _0xA0269315 = 89,
- _0xD4D59D4D = 90,
- _0x411D4420 = 91,
- _0xDF4AEF0D = 92,
- CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
- _0x300E4CD3 = 94,
- _0xF1C5BF04 = 95,
- _0x89C2EF13 = 96,
- CPED_CONFIG_FLAG_VaultFromCover = 97,
- _0x02A852C8 = 98,
- _0x3D9407F1 = 99,
- _0x319B4558 = 100,
- CPED_CONFIG_FLAG_ForcedAim = 101,
- _0xB942D71A = 102,
- _0xD26C55A8 = 103,
- _0xB89E703B = 104,
- CPED_CONFIG_FLAG_ForceReload = 105,
- _0xD9E73DA2 = 106,
- _0xFF71DC2C = 107,
- _0x1E27E8D8 = 108,
- _0xF2C53966 = 109,
- _0xC4DBE247 = 110,
- _0x83C0A4BF = 111,
- _0x0E0FAF8C = 112,
- _0x26616660 = 113,
- _0x43B80B79 = 114,
- _0x0D2A9309 = 115,
- _0x12C1C983 = 116,
- CPED_CONFIG_FLAG_BumpedByPlayer = 117,
- _0xE586D504 = 118,
- _0x52374204 = 119,
- CPED_CONFIG_FLAG_IsHandCuffed = 120,
- CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
- CPED_CONFIG_FLAG_DisableMelee = 122,
- _0xFE714397 = 123,
- _0xB3E660BD = 124,
- _0x5FED6BFD = 125,
- _0xC9D6F66F = 126,
- _0x519BC986 = 127,
- CPED_CONFIG_FLAG_CanBeAgitated = 128,
- _0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
- _0xDAB70E9F = 130,
- _0xE569438A = 131,
- _0xBBC77D6D = 132,
- _0xCB59EF0F = 133,
- _0x8C5EA971 = 134,
- CPED_CONFIG_FLAG_IsScuba = 135,
- CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
- _0xDCE59B58 = 137,
- CPED_CONFIG_FLAG_RidingTrain = 138,
- CPED_CONFIG_FLAG_ArrestResult = 139,
- CPED_CONFIG_FLAG_CanAttackFriendly = 140,
- _0x98A4BE43 = 141,
- _0x6901E731 = 142,
- _0x9EC9BF6C = 143,
- _0x42841A8F = 144,
- CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
- CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
- CPED_CONFIG_FLAG_StairsDetected = 147,
- CPED_CONFIG_FLAG_SlopeDetected = 148,
- _0x1A15670B = 149,
- _0x61786EE5 = 150,
- _0xCB9186BD = 151,
- _0xF0710152 = 152,
- _0x43DFE310 = 153,
- _0xC43C624E = 154,
- CPED_CONFIG_FLAG_CanPerformArrest = 155,
- CPED_CONFIG_FLAG_CanPerformUncuff = 156,
- CPED_CONFIG_FLAG_CanBeArrested = 157,
- _0xF7960FF5 = 158,
- _0x59564113 = 159,
- _0x0C6C3099 = 160,
- _0x645F927A = 161,
- _0xA86549B9 = 162,
- _0x8AAF337A = 163,
- _0x13BAA6E7 = 164,
- _0x5FB9D1F5 = 165,
- CPED_CONFIG_FLAG_IsInjured = 166,
- _0x6398A20B = 167,
- _0xD8072639 = 168,
- _0xA05B1845 = 169,
- _0x83F6D220 = 170,
- _0xD8430331 = 171,
- _0x4B547520 = 172,
- _0xE66E1406 = 173,
- _0x1C4BFE0C = 174,
- _0x90008BFA = 175,
- _0x07C7A910 = 176,
- _0xF15F8191 = 177,
- _0xCE4E8BE2 = 178,
- _0x1D46E4F2 = 179,
- CPED_CONFIG_FLAG_IsInCustody = 180,
- _0xE4FD9B3A = 181,
- _0x67AE0812 = 182,
- CPED_CONFIG_FLAG_IsAgitated = 183,
- CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
- _0x7B2D325E = 185,
- CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
- CPED_CONFIG_FLAG_HasHurtStarted = 187,
- CPED_CONFIG_FLAG_DisableHurt = 188,
- CPED_CONFIG_FLAG_PlayerIsWeird = 189,
- _0x32FC208B = 190,
- _0x0C296E5A = 191,
- _0xE63B73EC = 192,
- _0x04E9CC80 = 193,
- CPED_CONFIG_FLAG_UsingScenario = 194,
- CPED_CONFIG_FLAG_VisibleOnScreen = 195,
- _0xD88C58A1 = 196,
- _0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
- _0xEA02B420 = 198,
- _0x3F559CFF = 199,
- _0x8C55D029 = 200,
- _0x5E6466F6 = 201,
- _0xEB5AD706 = 202,
- _0x0EDDDDE7 = 203,
- _0xA64F7B1D = 204,
- _0x48532CBA = 205,
- _0xAA25A9E7 = 206,
- _0x415B26B9 = 207,
- CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
- CPED_CONFIG_FLAG_DodgedPlayer = 209,
- _0x67405504 = 210,
- _0x75DDD68C = 211,
- _0x2AD879B4 = 212,
- _0x51486F91 = 213,
- _0x32F79E21 = 214,
- _0xBF099213 = 215,
- _0x054AC8E2 = 216,
- _0x14E495CC = 217,
- _0x3C7DF9DF = 218,
- _0x848FFEF2 = 219,
- CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
- _0x2618E1CF = 221,
- _0x84F722FA = 222,
- _0xD1B87B1F = 223,
- _0x728AA918 = 224,
- CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
- CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
- _0x59E91185 = 227,
- _0x1EA7225F = 228,
- CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
- _0x6DCA7D88 = 230,
- _0xFC3E572D = 231,
- _0x08E9F9CF = 232,
- _0x2D3BA52D = 233,
- _0xFD2F53EA = 234,
- _0x31A1B03B = 235,
- CPED_CONFIG_FLAG_IsHoldingProp = 236,
- _0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
- _0xCE57C9A3 = 238,
- _0x26149198 = 239,
- _0x1B33B598 = 240,
- _0x719B6E87 = 241,
- _0x13E8E8E8 = 242,
- _0xF29739AE = 243,
- _0xABEA8A74 = 244,
- _0xB60EA2BA = 245,
- _0x536B0950 = 246,
- _0x0C754ACA = 247,
- CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
- _0x12659168 = 249,
- _0x1BDF2F04 = 250,
- _0x7728FAA3 = 251,
- _0x6A807ED8 = 252,
- CPED_CONFIG_FLAG_OnStairs = 253,
- _0xE1A2F73F = 254,
- _0x5B3697C8 = 255,
- _0xF1EB20A9 = 256,
- _0x8B7DF407 = 257,
- _0x329DCF1A = 258,
- _0x8D90DD1B = 259,
- _0xB8A292B7 = 260,
- _0x8374B087 = 261,
- _0x2AF558F0 = 262,
- _0x82251455 = 263,
- _0x30CF498B = 264,
- _0xE1CD50AF = 265,
- _0x72E4AE48 = 266,
- _0xC2657EA1 = 267,
- _0x29FF6030 = 268,
- _0x8248A5EC = 269,
- CPED_CONFIG_FLAG_OnStairSlope = 270,
- _0xA0897933 = 271,
- CPED_CONFIG_FLAG_DontBlipCop = 272,
- CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
- _0xF7823618 = 274,
- _0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
- CPED_CONFIG_FLAG_EdgeDetected = 276,
- _0x92B67896 = 277,
- _0xCAD677C9 = 278,
- CPED_CONFIG_FLAG_AvoidTearGas = 279,
- _0x5276AC7B = 280,
- _0x1032692A = 281,
- _0xDA23E7F1 = 282,
- _0x9139724D = 283,
- _0xA1457461 = 284,
- _0x4186E095 = 285,
- _0xAC68E2EB = 286,
- CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
- CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
- _0x1B9EE8A1 = 289,
- _0xF3F5758C = 290,
- _0x2A9307F1 = 291,
- _0x7403D216 = 292,
- _0xA06A3C6C = 293,
- CPED_CONFIG_FLAG_DisableShockingEvents = 294,
- _0xF8DA25A5 = 295,
- _0x7EF55802 = 296,
- _0xB31F1187 = 297,
- _0x84315402 = 298,
- _0x0FD69867 = 299,
- _0xC7829B67 = 300,
- CPED_CONFIG_FLAG_DisablePedConstraints = 301,
- _0x6D23CF25 = 302,
- _0x2ADA871B = 303,
- _0x47BC8A58 = 304,
- _0xEB692FA5 = 305,
- _0x4A133C50 = 306,
- _0xC58099C3 = 307,
- _0xF3D76D41 = 308,
- _0xB0EEE9F2 = 309,
- CPED_CONFIG_FLAG_IsInCluster = 310,
- _0x0FA153EF = 311,
- _0xD73F5CD3 = 312,
- _0xD4136C22 = 313,
- _0xE404CA6B = 314,
- _0xB9597446 = 315,
- _0xD5C98277 = 316,
- _0xD5060A9C = 317,
- _0x3E5F1CBB = 318,
- _0xD8BE1D54 = 319,
- _0x0B1F191F = 320,
- _0xC995167A = 321,
- CPED_CONFIG_FLAG_HasHighHeels = 322,
- _0x86B01E54 = 323,
- _0x3A56FE15 = 324,
- _0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
- _0xBBF47729 = 326,
- _0x22B668A8 = 327,
- _0x2624D4D4 = 328,
- CPED_CONFIG_FLAG_DisableTalkTo = 329,
- CPED_CONFIG_FLAG_DontBlip = 330,
- CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
- _0x630F55F3 = 332,
- _0x150468FD = 333,
- _0x914EBD6B = 334,
- _0x79AF3B6D = 335,
- _0x75C7A632 = 336,
- _0x52D530E2 = 337,
- _0xDB2A90E0 = 338,
- _0x5922763D = 339,
- _0x12ADB567 = 340,
- _0x105C8518 = 341,
- _0x106F703D = 342,
- _0xED152C3E = 343,
- _0xA0EFE6A8 = 344,
- _0xBF348C82 = 345,
- _0xCDDFE830 = 346,
- _0x7B59BD9B = 347,
- _0x0124C788 = 348,
- CPED_CONFIG_FLAG_EquipJetpack = 349,
- _0x08D361A5 = 350,
- _0xE13D1F7C = 351,
- _0x40E25FB9 = 352,
- _0x930629D9 = 353,
- _0xECCF0C7F = 354,
- _0xB6E9613B = 355,
- _0x490C0478 = 356,
- _0xE8865BEA = 357,
- _0xF3C34A29 = 358,
- CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
- _0xF660E115 = 360,
- _0xAB0E6DED = 361,
- CPED_CONFIG_FLAG_HasReserveParachute = 362,
- CPED_CONFIG_FLAG_UseReserveParachute = 363,
- _0x5C5D9CD3 = 364,
- _0x8F7701F3 = 365,
- _0xBC4436AD = 366,
- _0xD7E07D37 = 367,
- _0x03C4FD24 = 368,
- _0x7675789A = 369,
- _0xB7288A88 = 370,
- _0xC06B6291 = 371,
- _0x95A4A805 = 372,
- _0xA8E9A042 = 373,
- CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
- _0xBAC674B3 = 375,
- _0x147F1FFB = 376,
- _0x4376DD79 = 377,
- _0xCD3DB518 = 378,
- _0xFE4BA4B6 = 379,
- _0x5DF03A55 = 380,
- _0xBCD816CD = 381,
- _0xCF02DD69 = 382,
- _0xF73AFA2E = 383,
- _0x80B9A9D0 = 384,
- _0xF601F7EE = 385,
- _0xA91350FC = 386,
- _0x3AB23B96 = 387,
- CPED_CONFIG_FLAG_IsClimbingLadder = 388,
- CPED_CONFIG_FLAG_HasBareFeet = 389,
- _0xB4B1CD4C = 390,
- _0x5459AFB8 = 391,
- _0x54F27667 = 392,
- _0xC11D3E8F = 393,
- _0x5419EB3E = 394,
- _0x82D8DBB4 = 395,
- _0x33B02D2F = 396,
- _0xAE66176D = 397,
- _0xA2692593 = 398,
- _0x714C7E31 = 399,
- _0xEC488AC7 = 400,
- _0xAE398504 = 401,
- _0xABC58D72 = 402,
- _0x5E5B9591 = 403,
- _0x6BA1091E = 404,
- _0x77840177 = 405,
- _0x1C7ACAC4 = 406,
- _0x124420E9 = 407,
- _0x75A65587 = 408,
- _0xDFD2D55B = 409,
- _0xBDD39919 = 410,
- _0x43DEC267 = 411,
- _0xE42B7797 = 412,
- CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
- _0x4F8149F5 = 414,
- _0xDD9ECA7A = 415,
- _0x9E7EF9D2 = 416,
- _0x2C6ED942 = 417,
- CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
- _0xA488727D = 419,
- _0xCFF5F6DE = 420,
- _0x6D614599 = 421,
- CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
- _0xFE401D26 = 423,
- CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
- _0x2B42AE82 = 425,
- _0x7A95734F = 426,
- _0xDF4D8617 = 427,
- _0x578F1F14 = 428,
- CPED_CONFIG_FLAG_DisableStartEngine = 429,
- CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
- _0x153C9500 = 431,
- _0xCB7A632E = 432,
- _0xDE727981 = 433,
- CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
- _0x12BBB935 = 435,
- _0xAD0A1277 = 436,
- _0xEA6AA46A = 437,
- CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
- _0xCB7F3A1E = 439,
- _0x50178878 = 440,
- _0x051B4F0D = 441,
- _0x2FC3DECC = 442,
- _0xC0030B0B = 443,
- _0xBBDAF1E9 = 444,
- _0x944FE59C = 445,
- _0x506FBA39 = 446,
- _0xDD45FE84 = 447,
- _0xE698AE75 = 448,
- _0x199633F8 = 449,
- CPED_CONFIG_FLAG_PedIsArresting = 450,
- CPED_CONFIG_FLAG_IsDecoyPed = 451,
- _0x3A251D83 = 452,
- _0xA56F6986 = 453,
- _0x1D19C622 = 454,
- _0xB68D3EAB = 455,
- CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
- _0x4BD5EBAD = 457,
- }
-
-
-
-
- Sets Ped Default Clothes
-
-
-
-
- Used for freemode (online) characters.
- Indices:
- 1. black
- 2. very light blue/green
- 3. dark blue
- 4. brown
- 5. darker brown
- 6. light brown
- 7. blue
- 8. light blue
- 9. pink
- 10. yellow
- 11. purple
- 12. black
- 13. dark green
- 14. light brown
- 15. yellow/black pattern
- 16. light colored spiral pattern
- 17. shiny red
- 18. shiny half blue/half red
- 19. half black/half light blue
- 20. white/red perimter
- 21. green snake
- 22. red snake
- 23. dark blue snake
- 24. dark yellow
- 25. bright yellow
- 26. all black
- 27. red small pupil
- 28. devil blue/black
- 29. white small pupil
- 30. glossed over
-
-
-
-
- Sets the various freemode face features, e.g. nose length, chin shape.
- **Indexes (From 0 to 19):**
- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
- * **0**: Nose Width (Thin/Wide)
- * **1**: Nose Peak (Up/Down)
- * **2**: Nose Length (Long/Short)
- * **3**: Nose Bone Curveness (Crooked/Curved)
- * **4**: Nose Tip (Up/Down)
- * **5**: Nose Bone Twist (Left/Right)
- * **6**: Eyebrow (Up/Down)
- * **7**: Eyebrow (In/Out)
- * **8**: Cheek Bones (Up/Down)
- * **9**: Cheek Sideways Bone Size (In/Out)
- * **10**: Cheek Bones Width (Puffed/Gaunt)
- * **11**: Eye Opening (Both) (Wide/Squinted)
- * **12**: Lip Thickness (Both) (Fat/Thin)
- * **13**: Jaw Bone Width (Narrow/Wide)
- * **14**: Jaw Bone Shape (Round/Square)
- * **15**: Chin Bone (Up/Down)
- * **16**: Chin Bone Length (In/Out or Backward/Forward)
- * **17**: Chin Bone Shape (Pointed/Square)
- * **18**: Chin Hole (Chin Bum)
- * **19**: Neck Thickness (Thin/Thick)
- **Note:**
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- An integer ranging from 0 to 19
-
-
- A float ranging from -1.0 to 1.0
-
-
-
-
- Used for freemode (online) characters.
-
-
-
-
- For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
- **Other information:**
- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
- This native function is often called prior to calling natives such as:
- * [`SetPedHairColor`](#0xBB43F090)
- * [`SetPedHeadOverlayColor`](#0x78935A27)
- * [`SetPedHeadOverlay`](#0xD28DBA90)
- * [`SetPedFaceFeature`](#0x6C8D4458)
-
-
- The ped entity
-
-
- Controls the shape of the first ped's face
-
-
- Controls the shape of the second ped's face
-
-
- Controls the shape of the third ped's face
-
-
- Controls the first id's skin tone
-
-
- Controls the second id's skin tone
-
-
- Controls the third id's skin tone
-
-
- 0.0 - 1.0 Of whose characteristics to take Mother -> Father (shapeFirstID and shapeSecondID)
-
-
- 0.0 - 1.0 Of whose characteristics to take Mother -> Father (skinFirstID and skinSecondID)
-
-
- Overrides the others in favor of the third IDs.
-
-
- IsParent is set for "children" of the player character's grandparents during old-gen character creation. It has unknown effect otherwise.
-
-
-
-
- ```
- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.
- overlayID Part Index, to disable
- 0 Blemishes 0 - 23, 255
- 1 Facial Hair 0 - 28, 255
- 2 Eyebrows 0 - 33, 255
- 3 Ageing 0 - 14, 255
- 4 Makeup 0 - 74, 255
- 5 Blush 0 - 6, 255
- 6 Complexion 0 - 11, 255
- 7 Sun Damage 0 - 10, 255
- 8 Lipstick 0 - 9, 255
- 9 Moles/Freckles 0 - 17, 255
- 10 Chest Hair 0 - 16, 255
- 11 Body Blemishes 0 - 11, 255
- 12 Add Body Blemishes 0 - 1, 255
- ```
- **Note:**
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- The overlay id displayed up above.
-
-
- An integer representing the index (from 0 to `_GET_NUM_OVERLAY_VALUES(overlayID)-1`)
-
-
- A float ranging from 0.0 to 1.0
-
-
-
-
- ```
- Used for freemode (online) characters.
- Called after SET_PED_HEAD_OVERLAY().
- ```
- **Note:**
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- An integer representing the overlay id
-
-
- 1 for eyebrows, beards, and chest hair; 2 for blush and lipstick; and 0 otherwise, though not called in those cases.
-
-
- An integer representing the primary color id
-
-
- An integer representing the secondary color id
-
-
-
-
- SET_PED_INTO_VEHICLE
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669). -2 for the first available seat.
-
-
-
-
- This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
- ### MP Freemode list of props
- **0**: Hat\
- **1**: Glass\
- **2**: Ear\
- **6**: Watch\
- **7**: Bracelet
- ### Related and useful natives
- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
- The ped handle.
-
-
- The component that you want to set.
-
-
- The drawable id that is going to be set.
-
-
- The texture id of the drawable.
-
-
- Attached or not.
-
-
-
-
- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.
- List of component/props ID:
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
- Known values:
-
-
-
-
- p4/p5: Unusued in TU27
- ### Ragdoll Types
- **0**: CTaskNMRelax
- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
- **Else**: CTaskNMBalance
-
-
- Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1.
-
-
-
-
- Return variable is never used in R*'s scripts.
- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
- x, y, and z are coordinates, most likely to where the ped will fall.
- p7 is probably the force of the fall, but untested, so I left the variable name the same.
- p8 to p13 are always 0f in R*'s scripts.
- (Simplified) Example of the usage of the function from R*'s scripts:
- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
-
-
-
-
- Flags:
- SPC_AMBIENT_SCRIPT = (1 << 1),
- SPC_CLEAR_TASKS = (1 << 2),
- SPC_REMOVE_FIRES = (1 << 3),
- SPC_REMOVE_EXPLOSIONS = (1 << 4),
- SPC_REMOVE_PROJECTILES = (1 << 5),
- SPC_DEACTIVATE_GADGETS = (1 << 6),
- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
- SPC_ALLOW_PAD_SHAKE = (1 << 12)
- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
-
-
-
-
- Sets the culling radius for the specified player.
- Set to `0.0` to reset.
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
- The player to set the culling radius for.
-
-
- The radius.
-
-
-
-
- Simply sets you as invincible (Health will not deplete).
- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:
- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);
-
-
-
-
- Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
- As per usual, make sure to request the model first and wait until it has loaded.
-
-
- The player to set the model for
-
-
- The model to use
-
-
-
-
- Sets the routing bucket for the specified player.
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The player to set the routing bucket for.
-
-
- The bucket ID.
-
-
-
-
- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect
- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files
- disableNoMission- Disables When Off Mission- appears to always be false
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP](#\_0x21C7A35B) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Sets the entity lockdown mode for a specific routing bucket.
- Lockdown modes are:
- | Mode | Meaning |
- | ---------- | ---------------------------------------------------------- |
- | `strict` | No entities can be created by clients at all. |
- | `relaxed` | Only script-owned entities created by clients are blocked. |
- | `inactive` | Clients can create any entity they want. |
-
-
- The routing bucket ID to adjust.
-
-
- One of aforementioned modes.
-
-
-
-
- Sets whether or not the specified routing bucket has automatically-created population enabled.
-
-
- The routing bucket ID to adjust.
-
-
- `true` to enable population, `false` to disable population.
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- SET_VEHICLE_ALARM
-
-
-
-
- p2 often set to 1000.0 in the decompiled scripts.
-
-
-
-
- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
-
-
- The vehicle to modify.
-
-
- One of the default color values of the vehicle.
-
-
-
-
- colorPrimary & colorSecondary are the paint indexes for the vehicle.
- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- Sets the dirt level of the passed vehicle.
-
-
- The vehicle to set.
-
-
- A number between 0.0 and 15.0 representing the vehicles dirt level.
-
-
-
-
- See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
-
-
-
-
- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
- // They use 10 in am_mp_property_int, don't know what it does atm.
- enum eCarLock {
- CARLOCK_NONE = 0,
- CARLOCK_UNLOCKED = 1,
- CARLOCK_LOCKED = 2,
- CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
- CARLOCK_LOCKED_PLAYER_INSIDE = 4,
- CARLOCK_LOCKED_INITIALLY = 5,
- CARLOCK_FORCE_SHUT_DOORS = 6,
- CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
- };
-
-
-
-
- SET_VEHICLE_NUMBER_PLATE_TEXT
-
-
- The vehicle to set the plate for
-
-
- The text to set the plate to, 8 chars maximum
-
-
-
-
- START_FIND_KVP
-
-
- A prefix match
-
-
- A KVP find handle to use with [FIND_KVP](#\_0xBD7BEBC5) and close with [END_FIND_KVP](#\_0xB3210203)
-
-
-
-
- START_RESOURCE
-
-
-
-
- STOP_RESOURCE
-
-
-
-
- Makes the specified ped attack the target ped.
- p2 should be 0
- p3 should be 16
-
-
-
-
- Example:
- TASK::TASK_DRIVE_BY(l_467[1 -- [[22]] ], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
- Needs working example. Doesn't seem to do anything.
- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
-
-
-
-
- speed 1.0 = walk, 2.0 = run
- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle
- p6 is always 0
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
-
-
- TASK_EVERYONE_LEAVE_VEHICLE
-
-
-
-
- TASK_GO_STRAIGHT_TO_COORD
-
-
- The ped handle.
-
-
- The x coordinate.
-
-
- The y coordinate.
-
-
- The z coordinate.
-
-
- The ped movement speed.
-
-
- \-1 , other values appear to break the ped movement.
-
-
- The heading you want the ped to be on x,y,z coord.
-
-
- The distance from x,y,z where the ped will start sliding.
-
-
-
-
- example from fm_mission_controller
- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
-
-
-
-
- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
-
-
-
-
- In the scripts, p3 was always -1.
- p3 seems to be duration or timeout of turn animation.
- Also facingPed can be 0 or -1 so ped will just raise hands up.
-
-
-
-
- Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
-
-
-
-
- Flags from decompiled scripts:
- 0 = normal exit and closes door.
- 1 = normal exit and closes door.
- 16 = teleports outside, door kept closed. (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
- 64 = normal exit and closes door, maybe a bit slower animation than 0.
- 256 = normal exit but does not close the door.
- 4160 = ped is throwing himself out, even when the vehicle is still.
- 262144 = ped moves to passenger seat first, then exits normally
- Others to be tried out: 320, 512, 131072.
-
-
-
-
- [Animations list](https://alexguirre.github.io/animations-list/)
- ```
- float blendInSpeed > normal speed is 8.0f
- ----------------------
- float blendOutSpeed > normal speed is 8.0f
- ----------------------
- int duration: time in millisecond
- ----------------------
- -1 _ _ _ _ _ _ _> Default (see flag)
- 0 _ _ _ _ _ _ _ > Not play at all
- Small value _ _ > Slow down animation speed
- Other _ _ _ _ _ > freeze player control until specific time (ms) has
- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be
- _ _ _ _ _ _ _ _ _ controllable.)
- int flag:
- ----------------------
- enum eAnimationFlags
- {
- ANIM_FLAG_NORMAL = 0,
- ANIM_FLAG_REPEAT = 1,
- ANIM_FLAG_STOP_LAST_FRAME = 2,
- ANIM_FLAG_UPPERBODY = 16,
- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,
- ANIM_FLAG_CANCELABLE = 120,
- };
- Odd number : loop infinitely
- Even number : Freeze at last frame
- Multiple of 4: Freeze at last frame but controllable
- 01 to 15 > Full body
- 10 to 31 > Upper body
- 32 to 47 > Full body > Controllable
- 48 to 63 > Upper body > Controllable
- ...
- 001 to 255 > Normal
- 256 to 511 > Garbled
- ...
- playbackRate:
- values are between 0.0 and 1.0
- lockX:
- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3
- > 1 for mini@sprunk
- lockY:
- 0 in most cases
- 1 for missfam5_yoga, missfra1mcs_2_crew_react
- lockZ:
- 0 for single player
- Can be 1 but only for MP
- ```
-
-
-
-
- It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
- [Animations list](https://alexguirre.github.io/animations-list/)
-
-
- The target ped
-
-
- Name of the animation dictionary
-
-
- Name of the animation
-
-
- Initial X position of the task
-
-
- Initial Y position of the task
-
-
- Initial Z position of the task
-
-
- Initial X rotation of the task, doesn't seem to have any effect
-
-
- Initial Y rotation of the task, doesn't seem to have any effect
-
-
- Initial Z rotation of the task
-
-
- Adjust character speed to fully enter animation
-
-
- Adjust character speed to fully exit animation (useless `ClearPedTasksImmediately()` is called)
-
-
- Time in milliseconds
-
-
- Value between 0.0 and 1.0, lets you start an animation from the given point
-
-
-
-
- TASK_REACT_AND_FLEE_PED
-
-
-
-
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
- Entity aimedentity;
- Player player = PLAYER::PLAYER_ID();
- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
- //bg is an array of peds
- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- TASK_WARP_PED_INTO_VEHICLE
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
-
-
- TEMP_BAN_PLAYER
-
-
-
-
- The backing function for TriggerClientEvent.
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- The backing function for TriggerLatentClientEvent.
-
-
-
-
- VERIFY_PASSWORD_HASH
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
- A boolean.
-
-
-
-
- Gets or sets the position of this .
-
-
- The position in world space.
-
-
-
-
- Gets or sets the rotation of this .
-
-
- The yaw, pitch, roll rotation values.
-
-
-
-
- Gets or sets the heading of this .
-
-
- The heading in degrees.
-
-
-
-
- Sets a value indicating whether this should be frozen.
-
-
- true if this position should be frozen; otherwise, false.
-
-
-
-
- Gets or sets the velocity of this .
-
-
-
-
- Gets the rotation velocity of this .
-
-
-
-
- Gets the model of the this .
-
-
-
-
- Gets the network owner of the this .
-
- Returns the of the network owner.
- Returns null if this is in an unowned state.
-
-
-
- Gets the network ID of the this .
-
-
-
-
- Gets the type of this .
-
- Returns 1 if this is a Ped.
- Returns 2 if this is a Vehicle.
- Returns 3 if this is a Prop.
-
-
-
- Gets the of this
-
-
-
-
- Creates a new instance of an from the given handle.
-
- The entity handle.
- Returns a if this handle corresponds to a Ped.
- Returns a if this handle corresponds to a Vehicle.
- Returns a if this handle corresponds to a Prop.
- Returns null if no exists this the specified
-
-
-
- Creates a new instance of an from the given network ID.
-
- The entity network ID.
- Returns a if this network ID corresponds to a Ped.
- Returns a if this network ID corresponds to a Vehicle.
- Returns a if this network ID corresponds to a Prop.
- Returns null if no exists this the specified
-
-
-
- Checks if two s refer to the same
-
- The other .
- true if they are the same ; otherwise, false
-
-
-
- Creates a new instance of an from the given player handle.
-
- The players handle.
- Returns the of the player.
- Returns null if no exists for the specified player
-
-
-
-
-
-
-
-
-
- Gets the identifier value of a particular type.
-
-
- string steamId = player.Identifiers["steam"];
-
- The identifier type to return.
- The identifier value (without prefix), or null if it could not be found.
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized Color Structure
-
-
-
-
- Equality Operator
-
-
-
- Compares two Color objects. The return value is
- based on the equivalence of the A,R,G,B properties
- of the two Colors.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two Color objects. The return value is
- based on the equivalence of the A,R,G,B properties
- of the two colors.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates transparent black. R,G,B = 0; A=0?
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this Color and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- ToString Method
-
-
-
- Formats the Color as a string in ARGB notation.
-
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized Point Structure.
-
-
-
-
- Ceiling Shared Method
-
-
-
- Produces a Point structure from a PointF structure by
- taking the ceiling of the X and Y properties.
-
-
-
-
- Round Shared Method
-
-
-
- Produces a Point structure from a PointF structure by
- rounding the X and Y properties.
-
-
-
-
- Truncate Shared Method
-
-
-
- Produces a Point structure from a PointF structure by
- truncating the X and Y properties.
-
-
-
-
- Addition Operator
-
-
-
- Translates a Point using the Width and Height
- properties of the given Size.
-
-
-
-
- Equality Operator
-
-
-
- Compares two Point objects. The return value is
- based on the equivalence of the X and Y properties
- of the two points.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two Point objects. The return value is
- based on the equivalence of the X and Y properties
- of the two points.
-
-
-
-
- Subtraction Operator
-
-
-
- Translates a Point using the negation of the Width
- and Height properties of the given Size.
-
-
-
-
- Point to Size Conversion
-
-
-
- Returns a Size based on the Coordinates of a given
- Point. Requires explicit cast.
-
-
-
-
- Point to PointF Conversion
-
-
-
- Creates a PointF based on the coordinates of a given
- Point. No explicit cast is required.
-
-
-
-
- Point Constructor
-
-
-
- Creates a Point from an integer which holds the Y
- coordinate in the high order 16 bits and the X
- coordinate in the low order 16 bits.
-
-
-
-
- Point Constructor
-
-
-
- Creates a Point from a Size value.
-
-
-
-
- Point Constructor
-
-
-
- Creates a Point from a specified x,y coordinate pair.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates if both X and Y are zero.
-
-
-
-
- X Property
-
-
-
- The X coordinate of the Point.
-
-
-
-
- Y Property
-
-
-
- The Y coordinate of the Point.
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this Point and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- Offset Method
-
-
-
- Moves the Point a specified distance.
-
-
-
-
- ToString Method
-
-
-
- Formats the Point as a string in coordinate notation.
-
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized PointF Structure.
-
-
-
-
- Addition Operator
-
-
-
- Translates a PointF using the Width and Height
- properties of the given Size.
-
-
-
-
- Equality Operator
-
-
-
- Compares two PointF objects. The return value is
- based on the equivalence of the X and Y properties
- of the two points.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two PointF objects. The return value is
- based on the equivalence of the X and Y properties
- of the two points.
-
-
-
-
- Subtraction Operator
-
-
-
- Translates a PointF using the negation of the Width
- and Height properties of the given Size.
-
-
-
-
- PointF Constructor
-
-
-
- Creates a PointF from a specified x,y coordinate pair.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates if both X and Y are zero.
-
-
-
-
- X Property
-
-
-
- The X coordinate of the PointF.
-
-
-
-
- Y Property
-
-
-
- The Y coordinate of the PointF.
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this PointF and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- ToString Method
-
-
-
- Formats the PointF as a string in coordinate notation.
-
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized Size Structure.
-
-
-
-
- Ceiling Shared Method
-
-
-
- Produces a Size structure from a SizeF structure by
- taking the ceiling of the Width and Height properties.
-
-
-
-
- Round Shared Method
-
-
-
- Produces a Size structure from a SizeF structure by
- rounding the Width and Height properties.
-
-
-
-
- Truncate Shared Method
-
-
-
- Produces a Size structure from a SizeF structure by
- truncating the Width and Height properties.
-
-
-
-
- Addition Operator
-
-
-
- Addition of two Size structures.
-
-
-
-
- Equality Operator
-
-
-
- Compares two Size objects. The return value is
- based on the equivalence of the Width and Height
- properties of the two Sizes.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two Size objects. The return value is
- based on the equivalence of the Width and Height
- properties of the two Sizes.
-
-
-
-
- Subtraction Operator
-
-
-
- Subtracts two Size structures.
-
-
-
-
- Size to Point Conversion
-
-
-
- Returns a Point based on the dimensions of a given
- Size. Requires explicit cast.
-
-
-
-
- Size to SizeF Conversion
-
-
-
- Creates a SizeF based on the dimensions of a given
- Size. No explicit cast is required.
-
-
-
-
- Size Constructor
-
-
-
- Creates a Size from a Point value.
-
-
-
-
- Size Constructor
-
-
-
- Creates a Size from specified dimensions.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates if both Width and Height are zero.
-
-
-
-
- Width Property
-
-
-
- The Width coordinate of the Size.
-
-
-
-
- Height Property
-
-
-
- The Height coordinate of the Size.
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this Size and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- ToString Method
-
-
-
- Formats the Size as a string in coordinate notation.
-
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized SizeF Structure.
-
-
-
-
- Addition Operator
-
-
-
- Addition of two SizeF structures.
-
-
-
-
- Equality Operator
-
-
-
- Compares two SizeF objects. The return value is
- based on the equivalence of the Width and Height
- properties of the two Sizes.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two SizeF objects. The return value is
- based on the equivalence of the Width and Height
- properties of the two Sizes.
-
-
-
-
- Subtraction Operator
-
-
-
- Subtracts two SizeF structures.
-
-
-
-
- SizeF to PointF Conversion
-
-
-
- Returns a PointF based on the dimensions of a given
- SizeF. Requires explicit cast.
-
-
-
-
- SizeF Constructor
-
-
-
- Creates a SizeF from a PointF value.
-
-
-
-
- SizeF Constructor
-
-
-
- Creates a SizeF from an existing SizeF value.
-
-
-
-
- SizeF Constructor
-
-
-
- Creates a SizeF from specified dimensions.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates if both Width and Height are zero.
-
-
-
-
- Width Property
-
-
-
- The Width coordinate of the SizeF.
-
-
-
-
- Height Property
-
-
-
- The Height coordinate of the SizeF.
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this SizeF and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- ToString Method
-
-
-
- Formats the SizeF as a string in coordinate notation.
-
-
-
-
- Gets the column number in the file that contains the code that is executing.
- This information is typically extracted from the debugging symbols for the executable.
-
- The file column number, or 0 (zero) if the file column number cannot be determined.
-
-
-
- Gets the line number in the file that contains the code that is executing.
- This information is typically extracted from the debugging symbols for the executable.
-
- The file line number, or 0 (zero) if the file line number cannot be determined.
-
-
-
- Gets the file name that contains the code that is executing.
- This information is typically extracted from the debugging symbols for the executable.
-
- The file name, or null if the file name cannot be determined.
-
-
-
- Gets the offset from the start of the Microsoft intermediate language (MSIL)
- code for the method that is executing. This offset might be an approximation
- depending on whether or not the just-in-time (JIT) compiler is generating debugging
- code. The generation of this debugging information is controlled by the System.Diagnostics.DebuggableAttribute.
-
- The offset from the start of the MSIL code for the method that is executing.
-
-
-
- Gets the method in which the frame is executing.
-
- The method in which the frame is executing.
-
-
-
- Gets the offset from the start of the native just-in-time (JIT)-compiled code
- for the method that is being executed. The generation of this debugging information
- is controlled by the System.Diagnostics.DebuggableAttribute class.
-
- The offset from the start of the JIT-compiled code for the method that is being executed.
-
-
-
- Builds a readable representation of the stack trace.
-
- A readable representation of the stack trace.
-
-
-
- Gets the number of frames in the stack trace.
-
- The number of frames in the stack trace.
-
-
-
- Gets the specified stack frame.
-
- The index of the stack frame requested.
- The specified stack frame.
-
-
-
- Returns a copy of all stack frames in the current stack trace.
-
-
- An array of type System.Diagnostics.StackFrame representing the function calls
- in the stack trace.
-
-
-
-
- Builds a readable representation of the stack trace.
-
- A readable representation of the stack trace.
-
-
-
- Tries to convert a given to a full path.
- Returns original value if the conversion isn't possible or a given path is relative.
-
-
-
-
-
-
-
- Demystifies the given and tracks the original stack traces for the whole exception tree.
-
-
-
-
- Gets demystified string representation of the .
-
-
- method mutates the exception instance that can cause
- issues if a system relies on the stack trace be in the specific form.
- Unlike this method is pure. It calls first,
- computes a demystified string representation and then restores the original state of the exception back.
-
-
-
-
- A helper class that contains utilities methods for dealing with reflection.
-
-
-
-
- Returns true if is System.Runtime.CompilerServices.IsReadOnlyAttribute.
-
-
-
-
- Returns true if the is a value tuple type.
-
-
-
-
- Returns true if the given is of type TupleElementNameAttribute.
-
-
- To avoid compile-time depencency hell with System.ValueTuple, this method uses reflection and not checks statically that
- the given is TupleElementNameAttribute.
-
-
-
-
- Returns 'TransformNames' property value from a given .
-
-
- To avoid compile-time depencency hell with System.ValueTuple, this method uses reflection
- instead of casting the attribute to a specific type.
-
-
-
-
- Pretty print a type name.
-
- The .
- true to print a fully qualified name.
- true to include generic parameter names.
- The pretty printed type name.
-
-
-
- Returns a name of given generic type without '`'.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Primitives.dll
deleted file mode 100644
index 20c701682..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Registry.AccessControl.dll b/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Registry.AccessControl.dll
deleted file mode 100644
index 60c6239fc..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Registry.AccessControl.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Registry.dll b/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Registry.dll
deleted file mode 100644
index b772d22d6..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/Microsoft.Win32.Registry.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/Mono.Data.Sqlite.dll b/citizen/clr2/lib/mono/4.5/Facades/Mono.Data.Sqlite.dll
deleted file mode 100644
index ca77e6f85..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/Mono.Data.Sqlite.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.AppContext.dll b/citizen/clr2/lib/mono/4.5/Facades/System.AppContext.dll
deleted file mode 100644
index ac9d1bb1b..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.AppContext.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Collections.Concurrent.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Collections.Concurrent.dll
deleted file mode 100644
index b8887da50..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Collections.Concurrent.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Collections.NonGeneric.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Collections.NonGeneric.dll
deleted file mode 100644
index c8538c025..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Collections.NonGeneric.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Collections.Specialized.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Collections.Specialized.dll
deleted file mode 100644
index a0b56bf56..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Collections.Specialized.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Collections.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Collections.dll
deleted file mode 100644
index 70fa632ed..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Collections.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Annotations.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Annotations.dll
deleted file mode 100644
index 59582e5a8..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Annotations.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Composition.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Composition.dll
deleted file mode 100644
index 3518298da..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Composition.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.EventBasedAsync.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.EventBasedAsync.dll
deleted file mode 100644
index 63744b5f5..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.EventBasedAsync.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Primitives.dll
deleted file mode 100644
index 401c1d0cd..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.TypeConverter.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.TypeConverter.dll
deleted file mode 100644
index 9dacba119..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.TypeConverter.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.dll
deleted file mode 100644
index 1f9fd7c19..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ComponentModel.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Console.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Console.dll
deleted file mode 100644
index f26c32570..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Console.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Data.Common.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Data.Common.dll
deleted file mode 100644
index 6542c650e..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Data.Common.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Data.SqlClient.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Data.SqlClient.dll
deleted file mode 100644
index 659344a14..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Data.SqlClient.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Contracts.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Contracts.dll
deleted file mode 100644
index 02ef278d4..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Contracts.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Debug.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Debug.dll
deleted file mode 100644
index 918cd030e..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Debug.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.FileVersionInfo.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.FileVersionInfo.dll
deleted file mode 100644
index 51b56f482..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.FileVersionInfo.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Process.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Process.dll
deleted file mode 100644
index c3bd07e82..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Process.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.StackTrace.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.StackTrace.dll
deleted file mode 100644
index c4f9f0c81..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.StackTrace.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TextWriterTraceListener.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TextWriterTraceListener.dll
deleted file mode 100644
index c26efcd39..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TextWriterTraceListener.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Tools.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Tools.dll
deleted file mode 100644
index 4017378fb..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Tools.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TraceEvent.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TraceEvent.dll
deleted file mode 100644
index d930a2359..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TraceEvent.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TraceSource.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TraceSource.dll
deleted file mode 100644
index 12d0ce81d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.TraceSource.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Tracing.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Tracing.dll
deleted file mode 100644
index 85ede1ffe..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Diagnostics.Tracing.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Drawing.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Drawing.Primitives.dll
deleted file mode 100644
index 0f16ea427..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Drawing.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Dynamic.Runtime.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Dynamic.Runtime.dll
deleted file mode 100644
index af97fa834..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Dynamic.Runtime.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.Calendars.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.Calendars.dll
deleted file mode 100644
index 00e217535..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.Calendars.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.Extensions.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.Extensions.dll
deleted file mode 100644
index 71c2befa1..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.Extensions.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.dll
deleted file mode 100644
index 27de85e60..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Globalization.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.Compression.ZipFile.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.Compression.ZipFile.dll
deleted file mode 100644
index a72c568f4..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.Compression.ZipFile.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.AccessControl.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.AccessControl.dll
deleted file mode 100644
index 4f3be9aa9..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.AccessControl.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.DriveInfo.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.DriveInfo.dll
deleted file mode 100644
index 47316db9d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.DriveInfo.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.Primitives.dll
deleted file mode 100644
index de7a08885..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.Watcher.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.Watcher.dll
deleted file mode 100644
index 42b8aa0d5..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.Watcher.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.dll
deleted file mode 100644
index 40b1789ac..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.FileSystem.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.IsolatedStorage.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.IsolatedStorage.dll
deleted file mode 100644
index ce77370dc..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.IsolatedStorage.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.MemoryMappedFiles.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.MemoryMappedFiles.dll
deleted file mode 100644
index 657bdeeb6..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.MemoryMappedFiles.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.Pipes.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.Pipes.dll
deleted file mode 100644
index 48d18a58d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.Pipes.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.UnmanagedMemoryStream.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.UnmanagedMemoryStream.dll
deleted file mode 100644
index a3d26ff01..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.UnmanagedMemoryStream.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.IO.dll b/citizen/clr2/lib/mono/4.5/Facades/System.IO.dll
deleted file mode 100644
index 77e6d6882..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.IO.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Expressions.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Expressions.dll
deleted file mode 100644
index cb62b6ba1..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Expressions.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Parallel.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Parallel.dll
deleted file mode 100644
index 10bf45e0e..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Parallel.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Queryable.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Queryable.dll
deleted file mode 100644
index 41053bf71..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Linq.Queryable.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Linq.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Linq.dll
deleted file mode 100644
index 164b0dd36..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Linq.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.AuthenticationManager.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.AuthenticationManager.dll
deleted file mode 100644
index 008dc97eb..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.AuthenticationManager.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Cache.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Cache.dll
deleted file mode 100644
index 6e9475309..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Cache.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Http.Rtc.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Http.Rtc.dll
deleted file mode 100644
index e01921220..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Http.Rtc.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.HttpListener.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.HttpListener.dll
deleted file mode 100644
index add8b58e5..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.HttpListener.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Mail.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Mail.dll
deleted file mode 100644
index b84113e1c..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Mail.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.NameResolution.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.NameResolution.dll
deleted file mode 100644
index 193c604ee..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.NameResolution.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.NetworkInformation.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.NetworkInformation.dll
deleted file mode 100644
index dfe86104a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.NetworkInformation.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Ping.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Ping.dll
deleted file mode 100644
index 174356ae4..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Ping.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Primitives.dll
deleted file mode 100644
index 7946150db..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Requests.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Requests.dll
deleted file mode 100644
index 58db872cc..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Requests.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Security.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Security.dll
deleted file mode 100644
index 1ec0a357e..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Security.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.ServicePoint.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.ServicePoint.dll
deleted file mode 100644
index dcbdbe5c8..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.ServicePoint.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Sockets.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Sockets.dll
deleted file mode 100644
index 75c68c047..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Sockets.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Utilities.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.Utilities.dll
deleted file mode 100644
index 0f37bc77a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.Utilities.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebHeaderCollection.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebHeaderCollection.dll
deleted file mode 100644
index d9e51172c..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebHeaderCollection.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebSockets.Client.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebSockets.Client.dll
deleted file mode 100644
index 5d1f66688..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebSockets.Client.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebSockets.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebSockets.dll
deleted file mode 100644
index 95c80a58f..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Net.WebSockets.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ObjectModel.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ObjectModel.dll
deleted file mode 100644
index c63dfb3a0..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ObjectModel.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.ILGeneration.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.ILGeneration.dll
deleted file mode 100644
index 2917f20f8..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.ILGeneration.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.Lightweight.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.Lightweight.dll
deleted file mode 100644
index 552be073a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.Lightweight.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.dll
deleted file mode 100644
index bac61f40e..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Emit.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Extensions.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Extensions.dll
deleted file mode 100644
index 405aa7e59..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Extensions.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Primitives.dll
deleted file mode 100644
index e0718612a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.TypeExtensions.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.TypeExtensions.dll
deleted file mode 100644
index 79dcd1d9c..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.TypeExtensions.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.dll
deleted file mode 100644
index 62303158d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Reflection.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Resources.Reader.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Resources.Reader.dll
deleted file mode 100644
index 2ea42f43c..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Resources.Reader.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Resources.ReaderWriter.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Resources.ReaderWriter.dll
deleted file mode 100644
index e9d669995..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Resources.ReaderWriter.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Resources.ResourceManager.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Resources.ResourceManager.dll
deleted file mode 100644
index 75b01484f..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Resources.ResourceManager.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Resources.Writer.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Resources.Writer.dll
deleted file mode 100644
index 1e16a169b..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Resources.Writer.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.CompilerServices.VisualC.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.CompilerServices.VisualC.dll
deleted file mode 100644
index fd4ed47cb..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.CompilerServices.VisualC.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Extensions.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Extensions.dll
deleted file mode 100644
index 4bdef3efc..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Extensions.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Handles.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Handles.dll
deleted file mode 100644
index f4cf64581..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Handles.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll
deleted file mode 100644
index c236ba152..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.InteropServices.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.InteropServices.dll
deleted file mode 100644
index 8ea2885ef..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.InteropServices.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Numerics.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Numerics.dll
deleted file mode 100644
index ff22c987f..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Numerics.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Formatters.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Formatters.dll
deleted file mode 100644
index f24543490..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Formatters.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Json.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Json.dll
deleted file mode 100644
index c4b44ed87..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Json.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Primitives.dll
deleted file mode 100644
index cc2d8f19d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Xml.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Xml.dll
deleted file mode 100644
index 5d5324241..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.Serialization.Xml.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.dll
deleted file mode 100644
index 12078287c..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Runtime.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.AccessControl.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.AccessControl.dll
deleted file mode 100644
index 584958ed9..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.AccessControl.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Claims.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Claims.dll
deleted file mode 100644
index 693bbb384..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Claims.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Algorithms.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Algorithms.dll
deleted file mode 100644
index d0b4c2b80..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Algorithms.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Csp.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Csp.dll
deleted file mode 100644
index fa2662066..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Csp.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.DeriveBytes.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.DeriveBytes.dll
deleted file mode 100644
index f40c71da7..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.DeriveBytes.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encoding.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encoding.dll
deleted file mode 100644
index 7378559be..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encoding.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.Aes.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.Aes.dll
deleted file mode 100644
index 1732d1495..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.Aes.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll
deleted file mode 100644
index bb805e70a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.ECDsa.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.ECDsa.dll
deleted file mode 100644
index 84b7515ed..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.ECDsa.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.dll
deleted file mode 100644
index 22875fc1d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Encryption.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Hashing.Algorithms.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Hashing.Algorithms.dll
deleted file mode 100644
index 54036b3c6..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Hashing.Algorithms.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Hashing.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Hashing.dll
deleted file mode 100644
index b85e035cb..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Hashing.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Primitives.dll
deleted file mode 100644
index 9932b5d6a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.ProtectedData.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.ProtectedData.dll
deleted file mode 100644
index cff03f30e..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.ProtectedData.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.RSA.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.RSA.dll
deleted file mode 100644
index dda9ca946..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.RSA.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.RandomNumberGenerator.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.RandomNumberGenerator.dll
deleted file mode 100644
index b80ee792f..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.RandomNumberGenerator.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.X509Certificates.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.X509Certificates.dll
deleted file mode 100644
index a283258de..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Cryptography.X509Certificates.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Principal.Windows.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Principal.Windows.dll
deleted file mode 100644
index 77d7b25f2..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Principal.Windows.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Principal.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.Principal.dll
deleted file mode 100644
index ac02fe49d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.Principal.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.SecureString.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.SecureString.dll
deleted file mode 100644
index 8dc691067..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.SecureString.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Security.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Security.dll
deleted file mode 100644
index 25392cd04..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Security.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Duplex.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Duplex.dll
deleted file mode 100644
index 25fb9848b..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Duplex.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Http.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Http.dll
deleted file mode 100644
index 6bf82874f..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Http.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.NetTcp.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.NetTcp.dll
deleted file mode 100644
index ed1bebb75..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.NetTcp.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Primitives.dll
deleted file mode 100644
index bcc28ec61..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Security.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Security.dll
deleted file mode 100644
index 8c51dcdaa..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceModel.Security.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceProcess.ServiceController.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ServiceProcess.ServiceController.dll
deleted file mode 100644
index f211f2f5d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceProcess.ServiceController.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceProcess.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ServiceProcess.dll
deleted file mode 100644
index 60a2839bf..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ServiceProcess.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.CodePages.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.CodePages.dll
deleted file mode 100644
index e08b5a4b0..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.CodePages.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.Extensions.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.Extensions.dll
deleted file mode 100644
index c22a42260..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.Extensions.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.dll
deleted file mode 100644
index e1d38aa14..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Text.Encoding.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Text.RegularExpressions.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Text.RegularExpressions.dll
deleted file mode 100644
index c5ddf2f94..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Text.RegularExpressions.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.AccessControl.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Threading.AccessControl.dll
deleted file mode 100644
index bc1a1663a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.AccessControl.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Overlapped.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Overlapped.dll
deleted file mode 100644
index 851a80113..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Overlapped.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Tasks.Parallel.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Tasks.Parallel.dll
deleted file mode 100644
index 6d32018ff..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Tasks.Parallel.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Tasks.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Tasks.dll
deleted file mode 100644
index afee687bd..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Tasks.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Thread.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Thread.dll
deleted file mode 100644
index 1e1a9fcd4..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Thread.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.ThreadPool.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Threading.ThreadPool.dll
deleted file mode 100644
index 94daad569..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.ThreadPool.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Timer.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Timer.dll
deleted file mode 100644
index 9d06e6519..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.Timer.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Threading.dll
deleted file mode 100644
index 8c2a9f044..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Threading.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.ValueTuple.dll b/citizen/clr2/lib/mono/4.5/Facades/System.ValueTuple.dll
deleted file mode 100644
index a91b98e3d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.ValueTuple.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.ReaderWriter.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Xml.ReaderWriter.dll
deleted file mode 100644
index 01824e2b4..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.ReaderWriter.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XDocument.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XDocument.dll
deleted file mode 100644
index c25c6a2ed..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XDocument.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XPath.XDocument.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XPath.XDocument.dll
deleted file mode 100644
index 535da3f23..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XPath.XDocument.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XPath.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XPath.dll
deleted file mode 100644
index bf8a59ee5..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XPath.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XmlDocument.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XmlDocument.dll
deleted file mode 100644
index 8ea885463..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XmlDocument.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XmlSerializer.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XmlSerializer.dll
deleted file mode 100644
index a94b0fc40..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.XmlSerializer.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.Xsl.Primitives.dll b/citizen/clr2/lib/mono/4.5/Facades/System.Xml.Xsl.Primitives.dll
deleted file mode 100644
index e3a5587da..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/System.Xml.Xsl.Primitives.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Facades/netstandard.dll b/citizen/clr2/lib/mono/4.5/Facades/netstandard.dll
deleted file mode 100644
index e727b3028..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Facades/netstandard.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/I18N.CJK.dll b/citizen/clr2/lib/mono/4.5/I18N.CJK.dll
deleted file mode 100644
index 2bdda1719..000000000
Binary files a/citizen/clr2/lib/mono/4.5/I18N.CJK.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/I18N.MidEast.dll b/citizen/clr2/lib/mono/4.5/I18N.MidEast.dll
deleted file mode 100644
index c3598c904..000000000
Binary files a/citizen/clr2/lib/mono/4.5/I18N.MidEast.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/I18N.Other.dll b/citizen/clr2/lib/mono/4.5/I18N.Other.dll
deleted file mode 100644
index 4f8b61f34..000000000
Binary files a/citizen/clr2/lib/mono/4.5/I18N.Other.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/I18N.Rare.dll b/citizen/clr2/lib/mono/4.5/I18N.Rare.dll
deleted file mode 100644
index 658a1edd2..000000000
Binary files a/citizen/clr2/lib/mono/4.5/I18N.Rare.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/I18N.West.dll b/citizen/clr2/lib/mono/4.5/I18N.West.dll
deleted file mode 100644
index 0f50b7e6f..000000000
Binary files a/citizen/clr2/lib/mono/4.5/I18N.West.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/I18N.dll b/citizen/clr2/lib/mono/4.5/I18N.dll
deleted file mode 100644
index d9dc3d0c8..000000000
Binary files a/citizen/clr2/lib/mono/4.5/I18N.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Microsoft.CSharp.dll b/citizen/clr2/lib/mono/4.5/Microsoft.CSharp.dll
deleted file mode 100644
index ae62887ac..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Microsoft.CSharp.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Mono.CSharp.dll b/citizen/clr2/lib/mono/4.5/Mono.CSharp.dll
deleted file mode 100644
index 924faf5e6..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Mono.CSharp.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Mono.Posix.dll b/citizen/clr2/lib/mono/4.5/Mono.Posix.dll
deleted file mode 100644
index c264ace3e..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Mono.Posix.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Mono.Security.Win32.dll b/citizen/clr2/lib/mono/4.5/Mono.Security.Win32.dll
deleted file mode 100644
index 8e55d740b..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Mono.Security.Win32.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/Mono.Security.dll b/citizen/clr2/lib/mono/4.5/Mono.Security.dll
deleted file mode 100644
index ea0ebe51c..000000000
Binary files a/citizen/clr2/lib/mono/4.5/Mono.Security.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/MsgPack.dll b/citizen/clr2/lib/mono/4.5/MsgPack.dll
deleted file mode 100644
index 2cbc628ee..000000000
Binary files a/citizen/clr2/lib/mono/4.5/MsgPack.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/MsgPack.sym b/citizen/clr2/lib/mono/4.5/MsgPack.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/MsgPack.xml b/citizen/clr2/lib/mono/4.5/MsgPack.xml
deleted file mode 100644
index 153efcdf7..000000000
--- a/citizen/clr2/lib/mono/4.5/MsgPack.xml
+++ /dev/null
@@ -1,10473 +0,0 @@
-
-
-
- MsgPack
-
-
-
-
- Define bit operations which enforce big endian.
-
-
-
-
- Defines binary related utilities.
-
-
-
-
- Singleton empty [].
-
-
-
-
- Debugger type proxy for .
-
- The element type of the collection.
-
-
-
- Debugger type proxy for .
-
- The key type of the dictionary.
- The value type of the dictionary.
-
-
-
- Provides bit access for .
-
-
-
-
- Value as .
-
-
-
-
- Most significant byte of current endian.
-
-
-
-
- 2nd bit from most significant byte of current endian.
-
-
-
-
- 3rd byte from most significant byte of current endian.
-
-
-
-
- Least byte of current endian.
-
-
-
-
- Initializes a new instance of the type from specified .
-
- Value of .
-
-
-
- Initializes a new instance of the type from specified [] which is big endian.
-
- Array of which contains bytes in big endian.
- Offset to read.
-
-
-
- Provides bit access for .
-
-
-
-
- Value as .
-
-
-
-
- Most significant byte of current endian.
-
-
-
-
- 2nd bit from most significant byte of current endian.
-
-
-
-
- 3rd byte from most significant byte of current endian.
-
-
-
-
- 4th byte from most significant byte of current endian.
-
-
-
-
- 5th byte from most significant byte of current endian.
-
-
-
-
- 6th byte from most significant byte of current endian.
-
-
-
-
- 7th byte from most significant byte of current endian.
-
-
-
-
- Least significant byte of current endian.
-
-
-
-
- Initializes a new instance of the type from specified [] which is big endian.
-
- Array of which contains bytes in big endian.
- Offset to read.
-
-
-
- Exception occured when inbound stream is invalid as serialized Message Pack stream.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Represents objects which knows how to pack ifself using specified .
-
-
-
-
- Pack this instance itself using specified .
-
- .
- Packing options. This value can be null.
- is null.
-
-
-
- Implements deserializing feature of MsgPack.
-
-
- implements three mode, that is 'Streaming', 'Enumerating', 'Skipping', and 'Subtree'.
-
- -
-
- Streaming
-
-
- When the is called, unpacker go into 'Streaming' mode.
- In this mode, unpacker unpacks individual entries as via property.
- If the underlying stream is ended unexpectedly, then returns false, and will be null.
- Note that if the underlying stream is feeded, that is the is expanded and its is not forwarded,
- subsequent invocation will success, and is set as complete entry which reflects feeded binary.
-
-
- If the reading of the entry is completed, that is the is not null, unpacker can transit other mode.
-
-
- -
-
- Enumerating
-
-
- When the is called and the enumeration is started, unpacker go into 'Enumerating' mode.
- In this mode, unpacker unpacks individual entries as via property.
- If the underlying stream is ended unexpectedly, enumeration is interrupted.
- The interrupted unpacker cannot be resume.
-
-
- Once the enumeration is completed gracefully, unpacker can transit other mode.
-
-
- -
-
- Skipping
-
-
- When the is called, unpacker go into 'Skipping' mode.
- In this mode, unpacker scans the subtree where the root is current item, then returns skipped byte length.
- If the underlying stream is ended unexpectedly, it returns null.
- Note that if the underlying stream is feeded, that is the is expanded and its is not forwarded,
- subsequent invocation will success, and returns length as complete entry which reflects feeded binary.
-
- If the underlying is cannot be seeked (that is, is false),
- DO NOT use this method.
- You can buffering the content via instead, for example.
-
-
-
- If the skipping of the subtree is completed, that is the return value is not null, unpacker can transit other mode.
-
-
- -
-
- Subtree
-
-
- When the is called, unpacker go into 'Subtree' mode.
- In this mode, any operation for this unpacker instance is invalid.
- Instead of use this instance itself, you can use subtree unpacker returned from .
- The subtree unpacker is the instance which scope is limited to the subtree where the root is the current entry when is called.
- The subtree unpacker also have its own mode and state.
-
- of the subtree unpacker must be called to indicate subtree unpacking is gracefully completed.
- When the extra entries are remained in the subtree, these will be skipped on the disposal process.
-
-
-
- Once the subtree unpacking is completed gracefully, that is, on the subtree unpacker called, the parant unpacker can transit other mode.
-
-
-
-
-
-
-
-
- Verifies the mode.
-
- The mode to be.
-
- Already disposed.
-
-
- Is in incompatible mode.
-
-
-
-
- Verifies this instance is not disposed.
-
-
-
-
- Returns new exception instance to notify invalid mode transition.
-
- New exception instance to notify invalid mode transition.
-
-
-
- Creates the new from specified stream.
-
- The stream to be unpacked. This stream will be closed when is called.
- instance.
-
-
-
- Creates the new from specified stream.
-
- The stream to be unpacked.
-
- true to close when this instance is disposed;
- false, otherwise.
-
- instance.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Releases all managed resources.
-
-
-
-
- Releases unmanaged and optionally managed resources.
-
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Starts unpacking of current subtree.
-
-
- to unpack current subtree.
- This will not be null.
-
-
- This unpacker is not positioned on the header of array nor map.
- Or this unpacker already returned for subtree and it has not been closed yet.
-
-
- While subtree unpacker is used, this instance will be 'locked' (called 'subtree' mode) and be unavailable.
- When you finish to unpack subtree, you must invoke ,
- or you faces when you use the parent instance.
- Subtree unpacker can only unpack subtree, so you can handle collection deserialization easily.
-
-
-
-
- Starts unpacking of current subtree.
-
-
- to unpack current subtree.
- This will not be null.
-
-
-
-
- Ends the read subtree.
-
-
- This method only be called from subtree unpacker.
- Custom subtree unpacker implementation must call this method from its method.
-
-
-
-
- Reads next Message Pack entry.
-
-
- true, if position is sucessfully move to next entry;
- false, if position reaches the tail of the Message Pack stream.
-
-
- This instance is in 'subtree' mode.
-
-
- The underying stream unexpectedly ended.
-
-
-
-
- Reads next Message Pack entry.
-
-
- true, if position is sucessfully move to next entry;
- false, if position reaches the tail of the Message Pack stream.
-
-
-
-
- Gets to enumerate from source stream.
-
- to enumerate from source stream.
-
-
-
- Skips the subtree where the root is the current entry, and returns skipped byte length.
-
-
- Skipped byte length.
- If the subtree is not completed, then null.
-
-
-
-
- Skips the subtree where the root is the current entry, and returns skipped byte length.
-
-
- Skipped byte length.
- If the subtree is not completed, then null.
-
-
-
-
- Gets a current item or collection as single from the stream.
-
-
- A read item or collection from the stream.
- Or null when stream is ended.
-
-
-
-
- Gets a current item or collection as single from the stream.
-
-
- A read item or collection from the stream.
-
- The stream unexpectedly ends.
-
-
-
- Unpacks current subtree and returns subtree root as array or map.
-
-
- An unpacked array or map when current position is array or map header.
- null when current position is not array nor map header.
-
-
-
-
- Unpacks current subtree and returns subtree root as array or map.
-
-
- An unpacked array or map when current position is array or map header.
- Or when current position is not array nor map header.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next array length value from current stream.
-
-
- The array length read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not an array.
-
-
-
-
- Reads next map length value from current stream.
-
-
- The map length read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not a map.
-
-
-
-
- Reads next byte array value from current stream.
-
-
- The byte array read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not a raw.
-
-
-
-
- Reads next utf-8 encoded string value from current stream.
-
-
- The decoded utf-8 encoded string read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not a raw.
-
-
-
-
- Reads next value from current stream.
-
-
- The which represents a value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
-
-
- Gets a last unpacked data.
-
- A last unpacked data.
-
-
- In default implementation, this property never returning null even if it had not been unpacked any objects.
-
- If you use any of direct APIs (methods which return non-),
- then this property to be invalidated.
- Note that the actual value of invalidated this property is undefined.
-
-
-
-
- Gets a last unpacked data.
-
- A last unpacked data. Initial value is .
-
- If you use any of direct APIs (methods which return non-),
- then this property to be invalidated.
- Note that the actual value of invalidated this property is undefined.
-
-
-
-
- Gets a value indicating whether this instance is positioned to array header.
-
-
- true if this instance is positioned to array header; otherwise, false.
-
-
-
-
- Gets a value indicating whether this instance is positioned to map header.
-
-
- true if this instance is positioned to map header; otherwise, false.
-
-
-
-
- Gets a value indicating whether this instance is positioned to array or map header.
-
-
- true if this instance is positioned to array or map header; otherwise, false.
-
-
-
-
- Gets the items count for current array or map.
-
-
- The items count for current array or map.
-
-
- Both of the and are false.
-
-
-
-
- Gets the underlying stream to handle direct API.
-
-
- This instance does not supoort direct API.
-
-
-
-
- Starts unpacking of current subtree.
-
-
- to unpack current subtree.
- This will not be null.
-
-
-
-
- Read subtree item from current stream.
-
-
- true, if position is sucessfully move to next entry;
- false, if position reaches the tail of the Message Pack stream.
-
-
- This method only be called from .
-
-
-
-
- Defines interface for object which can be deserialzed from MessagePack object.
-
-
-
-
- Restore object state from specified .
-
- .
- is null.
- Cannot restore state from the stream.
-
-
-
- Exception occurs when serialized stream contains structures or features which will never be supported by MsgPack/CLI implementation.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Define common convert rountines specific to MessagePack.
-
-
-
-
- Encode specified string by default encoding.
-
- String value.
- Encoded .
-
- is null.
-
-
-
-
- Decode specified byte[] by default encoding.
-
- Byte[] value.
- Decoded .
-
- is null.
-
-
- contains non-UTF-8 bits.
-
-
-
-
- Convert specified to .
-
-
- value which is unpacked from packed message and may represent date-time value.
-
-
- . Offset of this value always 0.
-
-
-
-
- Convert specified to .
-
-
- value which is unpacked from packed message and may represent date-time value.
-
-
- . This value is always UTC.
-
-
-
-
- Convert specified to as MessagePack defacto-standard.
-
- .
-
- UTC epoc time from 1970/1/1 0:00:00, in milliseconds.
-
-
-
-
- Convert specified to as MessagePack defacto-standard.
-
- .
-
- UTC epoc time from 1970/1/1 0:00:00, in milliseconds.
-
-
-
-
- Represents Message Pack extended type object.
-
-
-
-
- A type code of this object.
-
-
-
-
- A binary value portion of this object.
-
-
-
-
- Gets a copy of the binary value portion of this object.
-
-
- A copy of the binary value portion of this object. This value will not be null.
-
-
-
-
- Initializes a new instance of the struct.
-
- A type code of this extension object.
- A binary value portion.
-
- The is over 127. Higher values are reserved for MessagePack format specification.
-
- The is null.
-
-
-
- Creates a new instance of the struct.
-
- A type code of this extension object.
- A binary value portion.
- The is null.
-
- This method allows reserved type code. It means that this method does not throw exception when the is reserved value (greater then 0x7F).
-
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified s are equal.
-
- A .
- A .
-
- true if the specified s are equal; otherwise, false.
-
-
-
-
- Determines whether the specified s are not equal.
-
- A .
- A .
-
- true if the specified s are not equal; otherwise, false.
-
-
-
-
- Gets a type code of this object.
-
-
- A type code. Note that values over are reserved for MsgPack spec itself.
-
-
-
-
- Gets a binary value portion of this object.
-
-
- A binary value portion of this object. This value will not be null.
-
-
-
-
- Gets a value indicating whether this instance is valid.
-
-
- true if this instance is valid; otherwise, false.
-
-
-
-
- Represents deserialized object of MsgPack.
-
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the [] type which wraps [] instance with specified manner.
-
- A bytes array to be wrapped.
-
- This constructor invokes with false, that means if you pass tha bytes array which is valid utf-8, resulting object can be ,
- and its should be .
-
-
-
-
- Initializes a new instance of the [] type which wraps [] instance with specified manner.
-
- A bytes array to be wrapped.
- true if always should be binary; false, otherwise.
-
- When the is true, then resulting object represents binary even if the is valid utf-8 sequence,
- that is, its should be [].
- On the other hand, when contrast, the is false, and if the is valid utf-8,
- then the resulting object can be ,
- and its should be .
-
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to [] instance.
-
- [] instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert []instance to instance.
-
- [] instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to [] instance.
-
- instance.
- [] instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Instance represents nil. This is equal to default value.
-
-
-
-
- Initializes a new instance wraps .
-
-
- The collection to be copied.
-
-
-
-
- Initializes a new instance wraps .
-
-
- The collection to be copied or used.
-
-
- true if the is immutable collection;
- othereise, false.
-
-
- When the collection is truely immutable or dedicated, you can specify true to the .
- When is true, this constructor does not copy its contents,
- or copies its contents otherwise.
-
- Note that both of IReadOnlyList and is NOT immutable
- because the modification to the underlying collection will be reflected to the read-only collection.
-
-
-
-
-
- Initializes a new instance wraps .
-
-
- The dictitonary to be copied.
-
-
-
-
- Initializes a new instance wraps .
-
-
- The dictitonary to be copied or used.
-
-
- true if the is immutable collection;
- othereise, false.
-
-
- When the collection is truely immutable or dedicated, you can specify true to the .
- When is true, this constructor does not copy its contents,
- or copies its contents otherwise.
-
- Note that both of IReadOnlyDictionary and ReadOnlyDictionary is NOT immutable
- because the modification to the underlying collection will be reflected to the read-only collection.
-
-
-
-
-
- Initializes a new instance wraps .
-
- which represents byte array or UTF-8 encoded string.
-
-
-
- Compare two instances are equal.
-
- instance.
-
- If is and its value is equal to this instance, then true.
- Otherwise false.
-
-
-
-
- Compare two instances are equal.
-
- instance.
-
- Whether value of is equal to this instance or not.
-
-
-
-
- Get hash code of this instance.
-
- Hash code of this instance.
-
-
-
- Returns a string that represents the current object.
-
-
- A string that represents the current object.
-
-
-
- DO NOT use this value programmically.
- The purpose of this method is informational, so format of this value subject to change.
-
-
-
-
-
- Determine whether the underlying value of this instance is specified type or not.
-
- Target type.
- If the underlying value of this instance is then true, otherwise false.
-
-
-
- Determine whether the underlying value of this instance is specified type or not.
-
- Target type.
- If the underlying value of this instance is then true, otherwise false.
- is null.
-
-
-
- Pack this instance itself using specified .
-
- .
- Packing options. This value can be null.
- is null.
-
-
-
- Gets the underlying value as string encoded with specified .
-
-
- The string.
- Note that some returns null if the binary is not valid encoded string.
-
-
-
-
- Get underlying value as UTF8 string.
-
- Underlying raw binary.
-
-
-
- Get underlying value as UTF-16 string.
-
- Underlying string.
-
- This method detects BOM. If BOM is not exist, them bytes should be Big-Endian UTF-16.
-
-
-
-
- Get underlying value as UTF-16 charcter array.
-
- Underlying string.
-
-
-
- Get underlying value as .
-
- Underlying .
-
-
-
- Get underlying value as .
-
- Underlying .
-
-
-
- Get underlying value as .
-
- Underlying .
-
-
-
- Wraps specified object as recursively.
-
- Object to be wrapped.
- wrapps .
-
- is not primitive value type, list of ,
- dictionary of , , [], or null.
-
-
-
-
- Get boxed underlying value for this object.
-
- Boxed underlying value for this object.
-
-
-
- Compare two instances are equal.
-
- instance.
- instance.
-
- Whether value of and are equal each other or not.
-
-
-
-
- Compare two instances are not equal.
-
- instance.
- instance.
-
- Whether value of and are not equal each other or are equal.
-
-
-
-
- Convert [] instance to instance.
-
- [] instance.
- instance corresponds to .
-
-
-
- Get whether this instance represents nil.
-
- If this instance represents nil object, then true.
-
-
-
- Get the value indicates whether this instance wraps raw binary (or string) or not.
-
- This instance wraps raw binary (or string) then true.
-
-
-
- Get the value indicates whether this instance wraps list (array) or not.
-
- This instance wraps list (array) then true.
-
-
-
- Get the value indicates whether this instance wraps list (array) or not.
-
- This instance wraps list (array) then true.
-
-
-
- Get the value indicates whether this instance wraps dictionary (map) or not.
-
- This instance wraps dictionary (map) then true.
-
-
-
- Get the value indicates whether this instance wraps dictionary (map) or not.
-
- This instance wraps dictionary (map) then true.
-
-
-
- Get underlying type of this instance.
-
- Underlying .
-
-
-
- Implements for .
-
-
- This dictionary handles type semantics for the key.
- Additionally, this dictionary implements 'freezing' feature.
- For details, see , , and .
-
-
-
-
- Initializes an empty new instance of the class with default capacity.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Initializes an empty new instance of the class with specified initial capacity.
-
- The initial capacity.
-
- is negative.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Initializes a new instance of the class.
-
- The dictionary to be copied from.
-
- is null.
-
-
- Failed to copy from .
-
-
- This constructor takes O(N) time, N is of .
- Initial capacity will be of .
-
-
-
-
- Determines whether the contains an element with the specified key.
-
- The key to locate in the .
-
- is .
-
-
- true if the contains an element with the key; otherwise, false.
-
-
- This method approaches an O(1) operation.
-
-
-
-
- Determines whether the contains an element with the specified value.
-
- The value to locate in the .
-
- true if the contains an element with the value; otherwise, false.
-
-
- This method approaches an O(N) operation where N is .
-
-
-
-
- Gets the value associated with the specified key.
-
-
- The key whose value to get.
-
-
- When this method returns, the value associated with the specified key, if the key is found;
- otherwise, the default value for the type of the parameter.
- This parameter is passed uninitialized.
-
-
- true if this dictionary contains an element with the specified key; otherwise, false.
-
-
- is .
-
-
-
- Note that tiny integers are considered equal regardless of its CLI ,
- and UTF-8 encoded bytes are considered equals to .
-
-
- This method approaches an O(1) operation.
-
-
-
-
-
- Adds the specified key and value to the dictionary.
-
-
- The key of the element to add.
-
-
- The value of the element to add. The value can be null for reference types.
-
-
- An element with the same key already does not exist in the dictionary and sucess to add then newly added node;
- otherwise null.
-
-
- already exists in this dictionary.
- Note that tiny integers are considered equal regardless of its CLI ,
- and UTF-8 encoded bytes are considered equals to .
-
-
- is .
-
-
- If is less than the capacity, this method approaches an O(1) operation.
- If the capacity must be increased to accommodate the new element,
- this method becomes an O(N) operation, where N is .
-
-
-
-
- Removes the element with the specified key from the .
-
- The key of the element to remove.
-
- true if the element is successfully removed; otherwise, false.
- This method also returns false if was not found in the original .
-
-
- is .
-
-
- This method approaches an O(1) operation.
-
-
-
-
- Removes all items from the .
-
-
- This method approaches an O(N) operation, where N is .
-
-
-
-
- Returns an enumerator that iterates through the .
-
-
- Returns an enumerator that iterates through the .
-
-
- This method is an O(1) operation.
-
-
-
-
- Freezes this instance.
-
-
- This instance itself.
- This value will not be null and its is true.
-
-
- This method freezes this instance itself.
- This operation is an O(1) operation.
-
-
-
-
- Gets a copy of this instance as frozen instance.
-
-
- New instance which contains same items as this instance.
- This value will not be null and its is true.
-
-
- This method does not freeze this instance itself.
- This operation is an O(N) operation where O(N) of items.
-
-
-
-
- Gets a value indicating whether this instance is frozen.
-
-
- true if this instance is frozen; otherwise, false.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Gets the number of elements contained in the .
-
-
- The number of elements contained in the .
-
-
- This operation is an O(1) operation.
-
-
-
-
- Gets or sets the element with the specified key.
-
-
- The element with the specified key.
-
- Key for geting or seting value.
-
- is .
-
-
- The property is retrieved and is not found.
-
-
- The property is set and this instance is frozen.
-
-
-
- Note that tiny integers are considered equal regardless of its CLI ,
- and UTF-8 encoded bytes are considered equals to .
-
-
- This method approaches an O(1) operation.
-
-
-
-
-
- Gets an containing the keys of the .
-
-
- An containing the keys of the object.
- This value will not be null.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Gets an containing the values of the .
-
-
- An containing the values of the object.
- This value will not be null.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Enumerates the elements of a in order.
-
-
-
-
- Releases all resources used by the this instance.
-
-
-
-
- Advances the enumerator to the next element of the underlying collection.
-
-
- true if the enumerator was successfully advanced to the next element;
- false if the enumerator has passed the end of the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the underlying collection at the current position of the enumerator.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the collection at the current position of the enumerator, as an .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Enumerates the elements of a in order.
-
-
-
-
- Advances the enumerator to the next element of the underlying collection.
-
-
- true if the enumerator was successfully advanced to the next element;
- false if the enumerator has passed the end of the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the collection at the current position of the enumerator, as an .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the dictionary at the current position of the enumerator, as a .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Gets the key of the element at the current position of the enumerator.
-
-
- The key of the element in the dictionary at the current position of the enumerator.
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Gets the value of the element at the current position of the enumerator.
-
-
- The value of the element in the dictionary at the current position of the enumerator.
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Represents the set of keys.
-
-
-
-
- Copies the entire collection to a compatible one-dimensional array, starting at the beginning of the target array.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
-
-
- Copies the entire collection to a compatible one-dimensional array,
- starting at the specified index of the target array.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
- The zero-based index in at which copying begins.
-
-
-
-
- Copies a range of elements from this collection to a compatible one-dimensional array,
- starting at the specified index of the target array.
-
-
- The zero-based index in the source dictionary at which copying begins.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
- The zero-based index in at which copying begins.
-
-
- The number of elements to copy.
-
-
-
-
- Determines whether this collection contains a specific value.
-
-
- The object to locate in this collection.
-
- true if is found in this collection; otherwise, false.
-
-
-
-
- Returns an enumerator that iterates through this collction.
-
-
- Returns an enumerator that iterates through this collction.
-
-
-
-
- Gets the number of elements contained in the .
-
-
- The number of elements contained in the .
-
-
-
-
- Enumerates the elements of a .
-
-
-
-
- Releases all resources used by the this instance.
-
-
-
-
- Advances the enumerator to the next element of the underlying collection.
-
-
- true if the enumerator was successfully advanced to the next element;
- false if the enumerator has passed the end of the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the underlying collection at the current position of the enumerator.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the collection at the current position of the enumerator, as an .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Represents the collection of values in a .
-
-
-
-
- Copies the entire collection to a compatible one-dimensional array, starting at the beginning of the target array.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
-
-
- Copies the entire collection to a compatible one-dimensional array,
- starting at the specified index of the target array.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
- The zero-based index in at which copying begins.
-
-
-
-
- Copies a range of elements from this collection to a compatible one-dimensional array,
- starting at the specified index of the target array.
-
-
- The zero-based index in the source dictionary at which copying begins.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
- The zero-based index in at which copying begins.
-
-
- The number of elements to copy.
-
-
-
-
- Determines whether this collection contains a specific value.
-
-
- The object to locate in this collection.
-
- true if is found in this collection; otherwise, false.
-
-
-
-
- Returns an enumerator that iterates through this collction.
-
-
- Returns an enumerator that iterates through this collction.
-
-
-
-
- Gets the number of elements contained in the .
-
-
- The number of elements contained in the .
-
-
-
-
- Enumerates the elements of a .
-
-
-
-
- Releases all resources used by the this instance.
-
-
-
-
- Advances the enumerator to the next element of the underlying collection.
-
-
- true if the enumerator was successfully advanced to the next element;
- false if the enumerator has passed the end of the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the underlying collection at the current position of the enumerator.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the collection at the current position of the enumerator, as an .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Implements of .
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Determines whether two objects of type are equal.
-
- The first object to compare.
- The second object to compare.
-
- true if the specified objects are equal; otherwise, false.
-
-
-
-
- Returns a hash code for the specified .
-
- The .
-
- A hash code for , suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Encapselates and its serialized UTF-8 bytes.
-
-
-
-
- Represents unpacking error when message type is unknown or unavailable.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Implements serialization feature of MsgPack.
-
-
-
-
- Initializes a new instance of the class with .
-
-
-
-
- Initializes a new instance of the class with specified .
-
- A which specifies compatibility options.
-
-
-
- Create standard Safe instancde wrapping specified with .
-
- object. This stream will be closed when is called.
- Safe . This will not be null.
- is null.
-
- You can specify any derived class like FileStream, ,
- NetworkStream, UnmanagedMemoryStream, or so.
-
-
-
-
- Create standard Safe instancde wrapping specified with specified .
-
- object. This stream will be closed when is called.
- A which specifies compatibility options.
- Safe . This will not be null.
- is null.
-
- You can specify any derived class like FileStream, ,
- NetworkStream, UnmanagedMemoryStream, or so.
-
-
-
-
- Create standard Safe instancde wrapping specified with .
-
- object.
-
- true to close when this instance is disposed;
- false, otherwise.
-
- Safe . This will not be null.
- is null.
-
- You can specify any derived class like FileStream, ,
- NetworkStream, UnmanagedMemoryStream, or so.
-
-
-
-
- Create standard Safe instancde wrapping specified with specified .
-
- object.
- A which specifies compatibility options.
-
- true to close when this instance is disposed;
- false, otherwise.
-
- Safe . This will not be null.
- is null.
-
- You can specify any derived class like FileStream, ,
- NetworkStream, UnmanagedMemoryStream, or so.
-
-
-
-
- Clean up internal resources.
-
-
-
-
- When overridden by derived class, release all unmanaged resources, optionally release managed resources.
-
- If true, release managed resources too.
-
-
-
- When overridden by derived class, change current position to specified offset.
-
- Offset. You shoud not specify the value which causes underflow or overflow.
-
- A class of this instance does not support seek.
-
-
-
-
- When overridden by derived class, writes specified byte to stream using implementation specific manner.
-
- A byte to be written.
-
-
-
- Writes specified bytes to stream using implementation specific most efficient manner.
-
- Collection of bytes to be written.
-
-
-
- Writes specified bytes to stream using implementation specific most efficient manner.
-
- Bytes to be written.
- If the can be treat as immutable (that is, can be used safely without copying) then true.
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
-
-
-
- Bookkeep array length to be packed on current stream.
-
- Array length.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep array length to be packed on current stream.
-
- Array length.
- This instance.
-
-
-
- Bookkeep dictionary items count to be packed on current stream.
-
- Dictionary items count.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep dictionary items count to be packed on current stream.
-
- Dictionary items count.
- This instance.
-
-
-
- Bookkeep byte length to be packed on current stream.
-
- Byte length.
- This instance.
- This instance has been disposed.
-
- This method acts as alias of for compatibility.
-
-
-
-
- Bookkeep byte length to be packed on current stream as the bytes may represent well formed encoded string.
-
- Byte length.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep byte length to be packed on current stream as the bytes do not represent well formed encoded string.
-
- Byte length.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep byte length to be packed on current stream.
-
- Byte length.
- This instance.
-
- This method acts as alias of for compatibility.
-
-
-
-
- Bookkeep byte length to be packed on current stream as the bytes may represent well formed encoded string.
-
- Byte length.
- This instance.
-
-
-
- Bookkeep byte length to be packed on current stream as the bytes do not represent well formed encoded string.
-
- Byte length.
- This instance.
-
-
-
- Packs specified byte stream to current stream.
-
- Source bytes its size is not known.
- This instance.
- This instance has been disposed.
-
- This method use str types (previously known as raw types) for compability.
-
-
-
-
- Packs specified byte stream to current stream.
-
- Source bytes its size is known.
- This instance.
- This instance has been disposed.
-
- This method use str types (previously known as raw types) for compability.
-
-
-
-
- Packs specified byte array to current stream.
-
- Source byte array.
- This instance.
- This instance has been disposed.
-
- This method use str types (previously known as raw types) for compability.
-
-
-
-
- Packs specified byte array to current stream without any header.
-
- Source byte array.
- This instance.
- This instance has been disposed.
-
- If you forget to write header first, then resulting stream will be corrupsed.
-
-
-
-
- Packs specified byte sequence to current stream without any header.
-
- Source byte array.
- This instance.
- This instance has been disposed.
-
- If you forget to write header first, then resulting stream will be corrupsed.
-
-
-
-
- Packs specified char stream to current stream with UTF-8 .
-
- Source chars its size is not known.
- This instance.
- This instance has been disposed.
-
-
-
- Packs specified string to current stream with UTF-8 .
-
- Source string.
- This instance.
- This instance has been disposed.
-
-
-
- Packs specified char stream to current stream with specified .
-
- Source chars its size is not known.
- to be used.
- This instance.
- This instance has been disposed.
-
-
-
- Packs specified string to current stream with specified .
-
- Source string.
- to be used.
- This instance.
- This instance has been disposed.
-
-
-
- Packs specified char stream to current stream with specified .
-
- Source chars its size is not known.
- to be used.
-
-
-
- Packs specified string to current stream with specified .
-
- Source string.
- to be used.
-
-
-
- Packs specified byte stream to current stream.
-
- Source bytes its size is not known.
- This instance.
- This instance has been disposed.
-
- This method use bin types unless contains .
-
-
-
-
- Packs specified byte stream to current stream.
-
- Source bytes its size is known.
- This instance.
- This instance has been disposed.
-
- This method use bin types unless contains .
-
-
-
-
- Packs specified byte array to current stream.
-
- Source byte array.
- This instance.
- This instance has been disposed.
-
- This method use bin types unless contains .
-
-
-
-
- Bookkeep collection count to be packed on current stream.
-
- Collection count to be written.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep dictionary count to be packed on current stream.
-
- Dictionary count to be written.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream as tiny fix num.
-
- Maybe tiny value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Try packs value to current stream as tiny fix num.
-
- Maybe tiny value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs a null value to current stream.
-
- This instance.
- This instance has been disposed.
-
-
-
- Packs an extended type value.
-
- A type code of the extended type value.
- A binary value portion of the extended type value.
- This instance.
- is null.
- property contains .
- This instance has been disposed.
-
-
-
- Packs an extended type value.
-
- A to be packed.
- This instance.
- of is false.
- property contains .
- This instance has been disposed.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Gets or sets the default for all instances.
-
-
- The default .
- The default value is .
-
-
-
- Note that modification of this value will affect all new instances from the point.
- Existent instances are not afectted by the modification.
-
-
- This property is intended to be set in application initialization code.
-
-
- Note that the default value is , not .
-
-
-
-
-
- Get whether this class supports seek operation and quering property.
-
- If this class supports seek operation and quering property then true.
-
-
-
- Get current position of underlying stream.
-
- Opaque position value of underlying stream.
-
- A class of this instance does not support seek.
-
-
-
-
- Gets a compatibility options for this instance.
-
-
- The compatibility options.
-
-
-
-
- Defines compatibility options for .
-
-
-
-
- No compatibility options. s use newest behavior.
-
-
-
-
- Packs byte array as raw(str) value, and also prohibits usage of str8 type for legacy unpacker implementations.
-
-
-
-
- Prohibits usage of any ext types for legacy unpacker implementations.
-
-
-
-
- s should be use classic behavior. That is, do not use str8 and any ext types, and byte arrays must be packed as raw.
-
-
-
-
- Defines extension method to pack or unpack various objects.
-
-
-
-
- Packs specified value with the default context.
-
- The type of the value.
- The .
- The value to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified value with the specified context.
-
- The type of the value.
- The .
- The value to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the default context.
-
- The type of items of the collection.
- The .
- The collection to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the specified context.
-
- The type of items of the collection.
- The .
- The collection to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the default context.
-
- The type of items of the collection.
- The .
- The collection to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the specified context.
-
- The type of items of the collection.
- The .
- The collection to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified dictionary with the default context.
-
- The type of keys of the dictionary.
- The type of values of the dictionary.
- The .
- The dictionary to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified dictionary with the specified context.
-
- The type of keys of the dictionary.
- The type of values of the dictionary.
- The .
- The dictionary to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified dictionary with the default context.
-
- The type of keys of the dictionary.
- The type of values of the dictionary.
- The .
- The dictionary to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified dictionary with the specified context.
-
- The type of keys of the dictionary.
- The type of values of the dictionary.
- The .
- The dictionary to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the default context.
-
- The type of the value.
- The .
- The collection to be serialized.
- .
-
- is null.
-
-
- Cannot serialize the item of .
-
-
-
-
- Packs specified value with the specified context.
-
- The type of the value.
- The .
- The collection to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize the item of .
-
-
-
-
- Packs specified value with the default context.
-
- The .
- The value to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified value with the specified context.
-
- The .
- The value to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Unpacks specified type value with the default context.
-
- The type of the value.
- The .
- The deserialized value.
-
- is null.
-
-
- Cannot deserialize value.
-
-
-
-
- Unpacks specified type value with the specified context.
-
- The type of the value.
- The .
- The holds shared serializers.
- The deserialized value.
-
- is null.
- Or is null.
-
-
- Cannot deserialize value.
-
-
-
-
- Represents options of packing.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Get encoding for string.
-
-
- for string. Default is UTF-8 encoding without BOM.
-
-
-
-
- void PackUnderlyingValueTo(Packer, TEnum)
-
-
-
-
- TEnum UnpackFromUnderlyingValue(MessagePackObject)
-
-
-
-
- Defines a common interface for code construct which abstracts code constructs used in serializer builders.
-
-
-
-
- Gets the context type of this construct.
-
-
- The context type of this construct.
- This value will not be null, but might be .
-
-
- A context type represents evaluation context for IL emitting or expression type for Expression Tree.
-
-
-
-
- Defines a common interface for serializer builder.
-
- The type of the serializing object.
-
-
-
- Builds the serializer and returns its new instance.
-
- The context information.
-
- Newly created serializer object.
- This value will not be null.
-
-
-
-
- Defines common features for serializer builder.
-
- The type of the context which holds global information for generating serializer.
- The type of the construct which abstracts code constructs.
- The type of the object which will be target of the generating serializer.
-
-
-
- Emits the method prologue of general serializer.
-
- The generation context.
- The kind of implementing general serializer method.
-
-
-
- Emits the method prologue of enum serializer.
-
- The generation context.
- The kind of implementing enum serializer method.
-
-
-
- Emits the method epiloigue of general serializer.
-
- The generation context.
- The kind of implementing general serializer method.
- The construct which represent method statements in order. Null entry should be ignored.
-
-
-
- Emits the method epiloigue of enum serializer.
-
- The generation context.
- The kind of implementing enum serializer method.
- The construct which represent method statements in order. Null entry should be ignored.
-
-
-
- Emits anonymous null reference literal.
-
- The generation context.
- The type of null reference.
- The generated construct.
-
-
-
- Emits the constant value reference.
-
- The generation context.
- The constant value.
- The generated construct.
-
-
-
- Emits the constant value reference.
-
- The generation context.
- The constant value.
- The generated construct.
-
-
-
- Emits the constant value reference.
-
- The generation context.
- The constant value.
- The generated construct.
-
-
-
- Emits the constant enum value reference.
-
- The generation context.
- The type the enum.
- The constant value.
- The generated construct.
- is not enum.
-
-
-
- Emits the loading this reference expression.
-
- The generation context.
- The generated construct.
-
-
-
- Emits the box expression.
-
- The generation context.
- Type of the value to be boxed.
- The value to be boxed.
- The generated construct.
-
-
-
- Emits the cast or unbox expression.
-
- The generation context.
- Type of the value to be casted or be unboxed.
- The value to be casted or be unboxed.
- The generated construct.
-
-
-
- Emits the not expression.
-
- The generation context.
- The boolean expression to be .
- The generated construct.
-
-
-
- Emits the equals expression.
-
- The generation context.
- The left expression.
- The right expression.
- The generated construct.
-
-
-
- Emits the not equals expression.
-
- The generation context.
- The left expression.
- The right expression.
- The generated construct.
-
-
-
- Emits the greater than expression.
-
- The generation context.
- The left expression.
- The right expression.
- The generated construct.
-
-
-
- Emits the less than expression.
-
- The generation context.
- The left expression.
- The right expression.
- The generated construct.
-
-
-
- Emits the unary increment expression.
-
- The generation context.
- The int32 value to be incremented.
- The generated construct.
-
-
-
- Emits the elementType-of expression.
-
- The generation context.
- The elementType.
- The generated construct.
-
-
-
- Emits the sequential statements. Note that the context elementType is void.
-
- The generation context.
- The type of context.
- The statements.
- The generated construct.
-
-
-
- Emits the sequential statements. Note that the context elementType is void.
-
- The generation context.
- The type of context.
- The statements.
- The generated construct.
-
-
-
- Creates the argument reference.
-
- The generation context.
- The type of the parameter for debugging puropose.
- The name of the parameter.
- The index of the parameters.
-
- The generated construct which represents an argument reference.
-
-
-
-
- Declares the local variable.
-
- The generation context.
- The elementType of the variable.
- The name of the variable for debugging puropose.
-
- The generated construct which represents local variable declaration AND initialization, and reference.
-
-
-
-
- Emits the create new object expression.
-
- The generation context.
- The variable which will store created value type object.
- The constructor.
- The arguments.
-
- The generated construct which represents new obj instruction.
- Note that created object remains in context.
-
-
-
-
- Emits the invoke void method.
-
- The generation context.
- The instance for instance method invocation. null for static method.
- The method to be invoked.
- The arguments to be passed.
-
- The generated construct.
-
-
- The derived class must emits codes which discard return non-void value.
-
-
-
-
- Emits the invoke non-void method.
-
- The generation context.
- The instance for instance method invocation. null for static method.
- The method to be invoked.
- The arguments to be passed.
-
- The generated construct which represents new obj instruction.
- Note that returned value remains in context.
-
-
-
-
- Emits the invoke non-void method.
-
- The generation context.
- The instance for instance method invocation. null for static method.
- The method to be invoked.
- The arguments to be passed.
-
- The generated construct which represents new obj instruction.
- Note that returned value remains in context.
-
-
-
-
- Emits the get member(field or property) value expression.
-
- The generation context.
- The instance which stores instance member value.
- The member to be accessed.
- The generated construct.
-
-
-
- Emits the get property value expression.
-
- The generation context.
- The instance which stores instance member value.
- The property to be accessed.
- The generated construct.
-
-
-
- Emits the get field value expression.
-
- The generation context.
- The instance which stores instance member value.
- The field to be accessed.
- The generated construct.
-
-
-
- Emits the set member(property or field) value statement.
-
- The generation context.
- The instance which stores instance member value.
- The member to be accessed.
- The value to be stored.
- The generated construct.
-
- This method generates collection.Add(value) constructs for a read-only member.
-
-
-
-
- Emits the 'methodof' expression.
-
- The generation context.
- The method to be retrieved.
- The generated construct.
-
-
-
- Emits the set property value statement.
-
- The generation context.
- The instance which stores instance member value.
- The property to be accessed.
- The value to be stored.
- The generated construct.
-
-
-
- Emits the 'fieldof' expression.
-
- The generation context.
- The field to be retrieved.
- The generated construct.
-
-
-
- Emits the set field value statement.
-
- The generation context.
- The instance which stores instance member value.
- The field to be accessed.
- The value to be stored.
- The generated construct.
-
-
-
- Emits the statement which loads value from the local variable.
-
- The generation context.
- The variable to be loaded.
- The generated construct.
-
-
-
- Emits the statement which stores context value to the local variable.
-
- The generation context.
- The variable to be stored.
- The generated construct.
-
-
-
- Emits the statement which stores specified value to the local variable.
-
- The generation context.
- The variable to be stored.
- The value to be stored. null for context value.
- The generated construct.
-
-
-
- Emits the throwing exception statement.
-
- The generation context.
- Type of the entire expression elementType.
- The factory method which creates exception object with .
- The arguments of .
- The generated construct.
-
- The expression elementType is required to acomplish condition expression.
-
-
-
-
- Emits the throwing exception statement.
-
- The generation context.
- Type of the entire expression elementType.
- The expression of throwing exception.
- The generated construct.
-
- The expression elementType is required to acomplish condition expression.
-
-
-
-
- Emits the try-finally expression.
-
- The generation context.
- The try expression.
- The finally statement.
- The generated construct which elementType is elementType of .
-
-
-
- Emits the invariant with .
-
- The generation context.
- The format string literal.
- The arguments to be used.
- The generated construct.
-
-
-
- Emits the create new array expression.
-
- The generation context.
- The elementType of the array element.
- The length of the array.
- The initial elements of the array.
- The generated code construct.
-
-
-
- Emits the code which gets collection count.
-
- The generation context.
- The collection reference.
- The collection traits.
- The generated code construct.
-
-
-
- Emits the get serializer expression.
-
- The generation context.
- Type of the target of the serializer.
- The metadata of the packing/unpacking member.
- The generated code construct.
-
- The serializer reference methodology is implication specific.
-
-
-
-
- Emits the pack item expression.
-
- The generation context.
- The packer.
- Type of the item.
- The nil implication of the member.
- Name of the member.
- The item to be packed.
- The metadata of packing member. null for non-object member (collection or tuple items).
- The generated code construct.
-
-
-
- Emits the get items count expression.
-
- The generation context.
- The target unpacker.
- The generated code construct.
-
-
-
- Emits the UnpackFrom body for collection which delegates UnpackTo.
-
- The generation context.
- The constructor of the newly creating collection.
- The newly creating collection capacity.
- The unpacker.
- The unpacking collection.
- The generated code construct.
-
-
-
- Emits the unpack item value expression.
-
- The context.
- Type of the item.
- The nil implication.
- The reference to the unpacker.
- Index of the item.
- Name of the member.
-
- The reference to items count init-only local variable which remember unpackable items count.
- This value will be null for tuples and collections.
-
-
- The reference to unpacked items count local variable which remember unpacked items count.
- This value will be null for tuples and collections.
-
- The metadata of unpacking member.
-
- The delegate which generates statement for storing unpacked value.
- 1st parameter is unpacked value, and return value is generated statement.
-
- The sequential statement.
-
-
-
- Emits the unpack item value expression.
-
- The context.
- Type of the item.
- The nil implication.
- The reference to the unpacker.
- Index of the item.
- Name of the member.
-
- The reference to items count init-only local variable which remember unpackable items count.
- This value will be null for tuples and collections.
-
-
- The reference to unpacked items count local variable which remember unpacked items count.
- This value will be null for tuples and collections.
-
- The metadata of unpacking member.
-
- The delegate which generates statement for storing unpacked value.
- 1st parameter is unpacked value, and return value is generated statement.
-
- The elements of sequential statement.
-
-
-
- Emits the using expression.
-
- The generation context.
- Type of the disposable.
- The expression which instantiate object.
- The using body which takes disposable object and returns actual statement.
- The using statement.
-
-
-
- Emits the deserialize item expression.
-
- The generation context.
- The unpacker expression.
- Type of the item to be deserialized.
- The variable which stores unpacked item.
- The metadata of unpacking member.
- The expression which returns deserialized item.
-
-
-
- Emits the conditional expression (cond?then:else).
-
- The generation context.
- The expression which represents conditional.
- The expression which is used when condition is true.
- The expression which is used when condition is false.
- The conditional expression.
-
-
-
- Emits the conditional expression (cond?then:else) which has short circuit and expression.
-
- The generation context.
- The expression which represents short circuit and expression.
- The expression which is used when condition is true.
- The expression which is used when condition is false.
- The conditional expression.
-
-
-
- Emits string switch statement.
-
- The generation context.
- Target string expression.
- The case statements. The keys are case condition, and values are actual statement.
- The switch statement.
-
-
-
- Emits the return statement
-
- The generation context.
- The expression to be returned.
- The return statement.
-
-
-
- Emits the for loop.
-
- The generation context.
- The count reference for loop terminiation condition.
- The loop body emitter which takes for loop context then returns loop body construct.
- The for loop.
-
-
-
- Emits the for-each loop.
-
- The generation context.
- The traits of the collection.
- The collection reference.
- The loop body emitter which takes item reference then returns loop body construct.
- The for each loop.
-
-
-
- Emits the append collection item.
-
- The code generation context.
- The read only collection member metadata. null for collection item.
- The traits of the collection.
- The collection to be appended.
- The unpacked item.
-
-
-
-
-
-
- Retrieves a default constructor of the specified elementType.
-
- The target elementType.
- A default constructor of the .
-
-
-
- Retrieves a constructor with elementType capacity parameter or default constructor of the .
-
- The target elementType.
- A constructor of the .
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Builds the serializer and returns its new instance.
-
- The context information.
-
- Newly created serializer object.
- This value will not be null.
-
-
-
-
- Creates the code generation context for serializer instance creation.
-
- The serialization context.
-
- The code generation context for serializer instance creation.
- This value will not be null.
-
-
-
-
- Builds the serializer and returns its new instance.
-
- The context information. This value will not be null.
-
- Newly created serializer object.
- This value will not be null.
-
-
-
-
- Creates the serializer type and returns its constructor.
-
- The code generation context.
-
- which refers newly created constructor.
- This value will not be null.
-
-
-
-
- Creates the enum serializer type and returns its constructor.
-
- The code generation context.
-
- which refers newly created constructor.
- This value will not be null.
-
-
-
-
- Represents for-loop context information.
-
-
-
-
- Gets the counter variable (i).
-
-
- The counter variable.
-
-
-
-
- Defines base features to handle nil implication.
-
- The type of the actual action for handking.
- The type of the condition for packing value nil check.
- The type of the implementation specific on-packing methods parameter.
- The type of the implementation specific on-unpacked methods parameter.
-
-
-
- Defines common interface for parameter of method and its template methods.
-
-
-
-
- Defines common interface for parameter of method and its template methods.
-
-
-
-
- Represents dictionary key to remember fields which store dependent serializer instance.
-
-
-
-
- Type of serializing/deserializing type.
-
-
-
-
- Enum serialization method for specific member.
-
-
-
-
- Defines common interfaces and features for context objects for serializer generation.
-
- The contextType of the code construct for serializer builder.
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
-
-
-
- Resets internal states for specified target type.
-
- Type of the serialization target.
-
-
-
- Resets internal states for specified target type.
-
- Type of the serialization target.
-
-
-
- Gets the serialization context which holds various serialization configuration.
-
-
- The serialization context. This value will not be null.
-
-
-
-
- Gets the code construct which represents the argument for the packer.
-
-
- The code construct which represents the argument for the packer.
- This value will not be null.
-
-
-
-
- Gets the code construct which represents the argument for the packing target object tree root.
-
-
- The code construct which represents the argument for the packing target object tree root.
- This value will not be null.
-
-
-
-
- Gets the code construct which represents the argument for the unpacker.
-
-
- The code construct which represents the argument for the unpacker.
- This value will not be null.
-
-
-
-
- Gets the code construct which represents the argument for the collection which will hold unpacked items.
-
-
- The code construct which represents the argument for the collection which will hold unpacked items.
- This value will not be null.
-
-
-
-
- Gets the configured nil-implication for collection items.
-
-
- The configured nil-implication for collection items.
-
-
-
-
- Gets the configured nil-implication for dictionary keys.
-
-
- The configured nil-implication for dictionary keys.
-
-
-
-
- Gets the configured nil-implication for tuple items.
-
-
- The configured nil-implication for tuple items.
-
-
-
-
- based on reflection, opt-out based.
-
-
-
-
-
- Defines base contract for object serialization.
-
- Target type.
-
-
- This class implements strongly typed serialization and deserialization.
-
-
- When the underlying stream does not contain strongly typed or contains dynamically typed objects,
- you should use directly and take advantage of .
-
-
-
-
-
-
-
- Defines non-generic message pack serializer interface for byte array which contains a single object.
-
-
-
-
- Defines non-generic message pack serializer interface.
-
-
-
-
- Serialize specified object with specified .
-
- which packs values in .
- Object to be serialized.
-
- is null.
-
-
- is not compatible for this serializer.
-
-
- The type of is not serializable etc.
-
-
-
-
- Deserialize object with specified .
-
- which unpacks values of resulting object tree.
- Deserialized object.
-
- is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Deserializing type is abstract type.
-
-
-
-
- Deserialize collection items with specified and stores them to .
-
- which unpacks values of resulting object tree.
- Collection that the items to be stored.
-
- is null.
- Or is null.
-
-
- is not compatible for this serializer.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- The type of is not serializable etc.
-
-
-
-
- Serialize specified object to the array of .
-
- Object to be serialized.
- An array of which stores serialized value.
-
- is not serializable etc.
-
-
-
-
- Deserialize a single object from the array of which contains a serialized object.
-
- An array of serialized value to be stored.
- A bytes of serialized binary.
-
- is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
-
- This method assumes that contains single serialized object dedicatedly,
- so this method does not return any information related to actual consumed bytes.
-
-
- This method is a counter part of .
-
-
-
-
-
- Initializes a new instance of the class with .
-
-
- This method supports backword compatibility with 0.3.
-
-
-
-
- Initializes a new instance of the class with default context..
-
- The for new packer creation.
-
- This method supports backword compatibility with 0.4.
-
-
-
-
- Initializes a new instance of the class.
-
- A which owns this serializer.
- is null.
-
-
-
- Initializes a new instance of the class with explicitly specified compatibility option.
-
- A which owns this serializer.
- The for new packer creation.
- is null.
-
- This method also supports backword compatibility with 0.4.
-
-
-
-
- Serializes specified object to the .
-
- Destination .
- Object to be serialized.
-
- is null.
-
-
- is not serializable etc.
-
-
-
-
- Deserialize object from the .
-
- Source .
- Deserialized object.
-
- is null.
-
-
- is not serializable etc.
-
-
-
-
- Serializes specified object with specified .
-
- which packs values in .
- Object to be serialized.
-
- is null.
-
-
- is not serializable etc.
-
-
-
-
- Serializes specified object with specified .
-
- which packs values in . This value will not be null.
- Object to be serialized.
-
- is not serializable etc.
-
-
-
-
- Deserializes object with specified .
-
- which unpacks values of resulting object tree.
- Deserialized object.
-
- is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is abstract type.
-
-
-
-
- Deserializes object with specified .
-
- which unpacks values of resulting object tree. This value will not be null.
- Deserialized object.
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is abstract type.
-
-
-
-
- Deserializes collection items with specified and stores them to .
-
- which unpacks values of resulting object tree.
- Collection that the items to be stored.
-
- is null.
- Or is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is not collection.
-
-
-
-
- Deserializes collection items with specified and stores them to .
-
- which unpacks values of resulting object tree. This value will not be null.
- Collection that the items to be stored. This value will not be null.
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is not collection.
-
-
-
-
- Serializes specified object to the array of .
-
- Object to be serialized.
- An array of which stores serialized value.
-
- is not serializable etc.
-
-
-
-
- Deserializes a single object from the array of which contains a serialized object.
-
- An array of serialized value to be stored.
- A bytes of serialized binary.
-
- is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
-
- This method assumes that contains single serialized object dedicatedly,
- so this method does not return any information related to actual consumed bytes.
-
-
- This method is a counter part of .
-
-
-
-
-
- Gets the packer compatibility options for this instance.
-
-
- The packer compatibility options for this instance
-
-
-
-
- Gets a which owns this serializer.
-
-
- A which owns this serializer.
-
-
-
-
- Serialize specified object with specified .
-
- which packs values in . This value will not be null.
- Object to be serialized.
-
-
-
- Deserialize object with specified .
-
- which unpacks values of resulting object tree. This value will not be null.
- Deserialized object.
-
-
-
- Deserialize collection items with specified and stores them to .
-
- which unpacks values of resulting object tree. This value will not be null.
- Collection that the items to be stored. This value will not be null.
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is not collection.
-
-
-
-
- Callback based to implement context-based serialization.
-
- The type of target emum type.
-
-
-
- Defines basic features for enum object serializers.
-
- The type of enum type itself.
-
- This class supports auto-detect on deserialization. So the constructor parameter only affects serialization behavior.
-
-
-
-
- Represents customizable enum serializer.
-
-
-
-
- Gets a copy with specified method.
-
- Enum serialization method.
- This instance or copied instance corresponds to the specified serialization method.
-
-
-
- Initializes a new instance of the class.
-
- A which owns this serializer.
- The which determines serialization form of the enums.
- TEnum is not enum type.
-
-
-
- Serializes specified object with specified .
-
- which packs values in . This value will not be null.
- Object to be serialized.
-
-
-
- Packs enum value as its underlying value.
-
- The packer.
- The enum value to be packed.
-
-
-
- Deserializes object with specified .
-
- which unpacks values of resulting object tree. This value will not be null.
- Deserialized object.
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
-
-
- Unpacks enum value from underlying integral value.
-
- The message pack object which represents some integral value.
-
- An enum value.
-
- The type of integral value is not compatible with underlying type of the enum.
-
-
-
- Callback based to implement context-based serialization.
-
- The type of target type.
-
-
-
- Represents member's data contract.
-
-
-
-
- Initializes a new instance of the struct.
-
- The target member.
-
-
-
- Initializes a new instance of the struct.
-
- The target member.
- The name of member.
- The implication of the nil value for the member.
- The ID of the member. This value cannot be negative and must be unique in the type.
-
-
-
- Initializes a new instance of the struct from .
-
- The target member.
- The MessagePack member attribute.
-
-
-
- Gets the name of the member.
-
-
- The name of the member.
-
-
-
-
- Gets the ID of the member.
-
-
- The ID of the member. Default is -1.
-
-
-
-
- Gets the nil implication.
-
-
- The nil implication.
-
-
-
-
- Repository of known concrete collection type for abstract collection type.
-
-
-
-
- Gets the default type for the collection.
-
- Type of the abstract collection.
-
- Type of default concrete collection.
- If concrete collection type of , then returns null.
-
-
- is null.
-
-
- By default, following types are registered:
-
-
- Abstract Collection Type
- Concrete Default Collection Type
-
- -
-
-
-
- -
-
-
-
- -
- (.NET 4 or lator)
-
-
- -
-
-
-
- -
-
-
-
- -
-
- of .
-
- -
-
- of .
-
- -
-
- of .
-
- -
-
-
-
-
-
-
-
-
- Registers the default type of the collection.
-
- Type of the abstract collection.
- Default concrete type of the .
-
- is null.
- Or is null.
-
-
- is not collection type.
- Or is abstract class or interface.
- Or is open generic type but is closed generic type.
- Or is closed generic type but is open generic type.
- Or does not have same arity for .
- Or is not assignable to
- or the constructed type from will not be assignable to the constructed type from .
-
-
- If you want to overwrite default type for collection interfaces, you can use this method.
- Note that this method only supports collection interface, that is subtype of the interface.
-
- If you register invalid type for , then runtime exception will be occurred.
- For example, you register of and pair, but it will cause runtime error.
-
-
-
-
-
-
- Unregisters the default type of the collection.
-
- Type of the abstract collection.
-
- true if default collection type is removed successfully;
- otherwise, false.
-
-
-
-
- Collection interface serializer.
-
- The type of the item of collection.
-
-
-
- Provides basic features for non-dictionary generic collection serializers.
-
- The type of the collection.
- The type of the item of the collection.
-
-
-
- Dictionary interface serializer.
-
- The type of the key of dictionary.
- The type of the value of dictionary.
-
-
-
- Enumerable interface serializer.
-
- The type of the item of collection.
-
-
-
- Defines serializer factory for well known structured types.
-
-
-
-
- Defines non-generic factory method.
-
-
-
-
- List interface serializer.
-
- The type of the item of collection.
-
-
-
- Invokes in deserializaton manner.
-
- .
- A deserialized value.
- is not expected type.
-
-
-
- Non generic collection interface serializer.
-
-
-
-
- Provides basic features for non dictionary, non-generic collection interface serializers.
-
- The type of the item of collection.
-
-
-
- Dictionary interface serializer.
-
-
-
-
- Non generic enumerable interface serializer.
-
-
-
-
- Non generic list interface serializer.
-
-
-
-
- Provides default implementation for .
-
- The type of keys of the .
- The type of values of the .
-
-
-
- Provides default implementation for .
-
- The type of items of the .
-
-
-
- Determines emitter strategy.
-
-
-
-
- Uses in each case of the members (de)serialization.
- It may cause more contentions but is available in WP7.
-
-
-
-
- Caches serializers for the members (de)serialization.
- It is default.
-
-
-
-
- Uses expression tree to (de)serialization.
- It may have more overhead but is available in WinRT.
-
-
-
-
- Uses code DOM code generation to (de)serialization.
- It requires a long time but prevents runtime code generation at all.
-
-
-
-
- Uses reflection to (de)serialization.
- It requires additional resources but may work on most environment.
-
-
-
-
- Represents code construct for s.
-
-
-
-
- Initializes a new instance of the class.
-
- The type.
-
-
-
- Evaluates this construct that is executing this construct as instruction.
-
- The .
-
- This construct does not have eval semantics.
-
-
-
-
- Loads value from the storage represented by this construct.
-
- The .
-
- true, if value type value should be pushed its address instead of bits; otherwise, false.
-
-
- This construct does not have load value semantics.
-
-
-
-
- Stores value to the storage represented by this construct.
-
- The .
-
- This construct does not have store value semantics.
-
-
-
-
- Evaluates this construct as branch instruction.
-
- The .
- The which points the head of 'else' instructions.
-
- This construct does not have branch semantics.
-
-
-
-
- Gets the context type of this construct.
-
-
- The context type of this construct.
- This value will not be null, but might be .
-
-
- A context type represents the type of the evaluation context.
-
-
-
-
- Gets a value indicating whether this instance is terminating.
-
-
- true if this instruction terminates method; otherwise, false.
-
-
-
-
- A code generation context for .
-
-
-
-
- Implements for .
-
-
-
-
- Gets the type of the serializer.
-
- Type of the serialization target.
- Type of the serializer.
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
-
- The factory for to be used.
-
-
- The factory for to be used.
-
-
-
-
- Resets internal states for specified target type.
-
- Type of the serialization target.
-
-
-
- Gets or sets the to emit IL for current method.
-
-
- The to emit IL for current method.
-
-
-
-
- Gets the .
-
-
- The .
-
-
-
-
- Gets the .
-
-
- The .
-
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
- Type of the serialization target.
-
- The factory for to be used.
-
-
- The factory for to be used.
-
-
-
-
- An implementation of with .
-
- The type of the serializing object.
-
-
-
- Implements common features for IL emitter based serializer builders.
-
- The type of the code generation context.
- The type of the serialization target object.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class for instance creation.
-
-
-
-
- Genereates enum serialization methods which can be save to file.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Releases all managed resources.
-
-
-
-
- Releases unmanaged and optionally managed resources.
-
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Creates the serializer type built now and returns its new instance.
-
- Target type to be serialized/deserialized.
- The to holds serializers.
- The which determines serialization form of the enums.
-
- Newly built instance.
- This value will not be null.
-
-
-
-
- Creates instance constructor delegates.
-
- Target type to be serialized/deserialized.
- A delegate for serializer constructor.
-
-
-
- using to hold serializers for target members.
-
-
-
-
- Genereates serialization methods which can be save to file.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Releases all managed resources.
-
-
-
-
- Releases unmanaged and optionally managed resources.
-
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
-
-
- When this method is called, will be overridden.
- This value will not be null.
-
-
-
-
- Creates the serializer type built now and returns its new instance.
-
- Target type to be serialized/deserialized.
- The to holds serializers.
-
- Newly built instance.
- This value will not be null.
-
-
-
-
- Creates instance constructor delegates.
-
- Target type to be serialized/deserialized.
- A delegate for serializer constructor.
-
-
-
- Regisgters of target type usage to the current emitting session.
-
- The type of the member to be serialized/deserialized.
- The enum serialization method of the member to be serialized/deserialized.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder, normally 0 (this pointer).
- This value will not be null.
-
-
-
-
- Regisgters usage to the current emitting session.
-
- The to be registered.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder, normally 0 (this pointer).
- This value will not be null.
-
-
-
-
- Regisgters usage to the current emitting session.
-
- The to be registered.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder, normally 0 (this pointer).
- This value will not be null.
-
-
-
-
- Initializes a new instance of the class.
-
- Type of the target.
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
-
-
-
-
- Creates the serializer type built now and returns its constructor.
-
- The type of serialization target.
-
- Newly built type constructor.
- This value will not be null.
-
-
-
-
- Regisgter using target type to the current emitting session.
-
- The type of the member to be serialized/deserialized.
- The enum serialization method of the member to be serialized/deserialized.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder.
- This value will not be null.
-
-
-
-
- Manages serializer generators.
-
-
-
-
- Defines common features and interfaces for .
-
-
-
-
- Get the appropriate for the current configuration.
-
-
- The appropriate for the current configuration.
- This value will not be null.
-
-
-
-
- Get the appropriate for specified options.
-
- .
-
- The appropriate for specified options.
- This value will not be null.
-
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
- New which corresponds to the specified .
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
- New which corresponds to the specified .
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
- New which corresponds to the specified .
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
- New which corresponds to the specified .
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
-
- New which corresponds to the specified .
-
-
-
-
- Get the singleton instance for fast mode.
-
-
-
-
- Implements for .
-
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
- Type of the serialization target.
-
- The factory for to be used.
-
-
- The factory for to be used.
-
-
-
-
- Gets the code construct which represents 'context' parameter of generated methods.
-
-
- The code construct which represents 'context' parameter of generated methods.
- Its type is , and it holds dependent serializers.
- This value will not be null.
-
-
-
-
- An implementation of using dynamic methods.
-
- The type of the serializing object.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- using instance fields to hold serializers for target members.
-
-
-
-
- Initializes a new instance of the class.
-
- The host .
- The sequence number to name new type.
- Type of the serialization target.
- Set to true when is debuggable.
-
-
-
- using instance fields to hold serializers for target members.
-
-
-
-
- Initializes a new instance of the class.
-
- The host .
- The sequence number to name new type.
- Type of the serialization target.
- Set to true when is debuggable.
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
-
-
-
-
- Creates the serializer type built now and returns its constructor.
-
- The type of serialization target.
-
- Newly built type constructor.
- This value will not be null.
-
-
-
-
- Regisgter using target type to the current emitting session.
-
- The type of the member to be serialized/deserialized.
- The enum serialization method of the member to be serialized/deserialized.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder.
- This value will not be null.
-
-
-
-
- Represents individual enum typed member serialization method.
-
-
-
-
- Respects setting in enum type itself or system default.
-
-
-
-
- Enums are serialized with their name. It is more torelant to versioning but less efficient.
-
-
-
-
- Enums are serialized with their underlying value. It is more efficient but less torelant to versioning.
-
-
-
-
- This is intened to MsgPack for CLI internal use. Do not use this type from application directly.
- Helper methods for enum message pack serializer.
-
-
-
-
- Determines for the target.
-
- Context information.
- The target enum type.
- The method argued by the member.
- Determined for the target.
-
- is null.
- Or is null.
-
-
-
-
- Implements for enums.
- This class accepts as a provider parameter.
-
-
-
-
- Defines basic features and interfaces for serializer provider which is stored in repository and controlls returning serializer with its own parameter.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets a serializer instance for specified parameter.
-
- A serialization context which holds global settings.
- A provider specific parameter.
- A serializer object for specified parameter.
-
-
-
- Initializes a new instance of the class.
-
- A type of the enum.
- The serializer implements .
-
-
-
- Gets a serializer instance for specified parameter.
-
- A serialization context which holds global settings.
- A provider specific parameter.
-
- A serializer object for specified parameter.
-
-
-
-
- Represents enum type serialization method.
-
-
-
-
- Enums are serialized with their name. It is more torelant to versioning but less efficient.
-
-
-
-
- Enums are serialized with their underlying value. It is more efficient but less torelant to versioning.
-
-
-
-
- A helper for .
-
- The type of the serialization target.
-
-
-
- A helper for .
-
- The type of the serialization target.
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
- The delegate to PackToCore method body. This value must not be null.
- The delegate to UnpackFromCore method body. This value must not be null.
- The delegate to UnpackToCore method body. This value can be null.
-
-
-
- Represents a code construct for .
-
-
-
-
- Initializes a new instance of the class, not significant reference.
-
- The .
-
-
-
- Initializes a new instance of the class.
-
- The .
-
- true if this instance is significant reference; otherwise, false.
-
-
-
-
- Gets the for this construct.
-
-
- The for this construct.
- This value will not be null.
-
-
-
-
- Gets a value indicating whether this instance is significant reference.
-
-
- true if this instance is significant reference; otherwise, false.
-
-
- 'Significant' reference should be appeared in block expression to represent single parameter/variable reference.
-
-
-
-
- Gets the context type of this construct.
-
-
- The context type of this construct.
- This value will not be null, but might be .
-
-
- This property wraps property for property.
-
-
-
-
- Takes text dump for expression tree supporting block expression etc.
-
-
-
-
- Implements for .
-
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
-
-
-
- Creates the type of the delegate.
-
- The type of serialization target.
- The method to be created.
-
- The of delegate which can refer to the generating method.
- This value will not be null.
-
-
- is unknown.
-
-
-
-
- Creates the type of the delegate.
-
- The type of serialization target.
- The method to be created.
-
- The of delegate which can refer to the generating method.
- This value will not be null.
-
-
- is unknown.
-
-
-
-
- Gets the s for specified method.
-
- The method to be created.
-
- The s for specified method.
- This value will not be null.
-
-
-
-
- Gets the s for specified method.
-
- The type of the serialization target.
- The method to be created.
-
- The s for specified method.
- This value will not be null.
-
-
-
-
- Sets the specified delegate object for specified method.
-
- The method to be created.
- The delegate which refers the generated method.
-
-
-
- Sets the specified delegate object for specified method.
-
- The method to be created.
- The delegate which refers the generated method.
-
-
-
- Gets the delegate which refers created PackToCore(SerializationContext,Packer,T) instance method for .
-
- The type of serialization target.
-
- The delegate which was set for PackToCore method.
-
-
-
-
- Gets the delegate which refers created UnpackFromCore(SerializationContext,Unpacker) instance method for .
-
- The type of deserialization target.
-
- The delegate which was set for UnpackFromCore method.
-
-
-
-
- Gets the delegate which refers created UnpackToCore(SerializationContext,Unpacker,T) instance method for .
-
- The type of deserialization target.
-
- The delegate which was set for UnpackToCore method.
-
-
-
-
- Gets the delegate which refers created PackUnderlyingValueTo(Packer,T) instance method for .
-
- The type of deserialization target.
-
- The delegate which was set for UnpackToCore method.
-
-
-
-
- Gets the delegate which refers created UnpackFromUnderlyingValue(MessagePackObject) instance method for .
-
- The type of deserialization target.
-
- The delegate which was set for UnpackFromCore method.
-
-
-
-
- Gets the code construct which represents 'context' parameter of generated methods.
-
-
- The code construct which represents 'context' parameter of generated methods.
- Its type is , and it holds dependent serializers.
- This value will not be null.
-
-
-
-
- Gets the code construct which represents 'this' reference.
-
-
- The code construct which represents 'this' reference.
-
-
-
-
- An implementation of using expression tree.
-
- The type of the serializing object.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Utilities related to member/type ID.
-
-
-
-
- Lazy initialized serializer which delegates actual work for the other serializer implementation.
-
-
- The type of target type.
-
-
- This serializer is intended to support self-composit structure like directories or XML nodes.
-
-
-
-
- Initializes a new instance of the class.
-
-
- The serialization context to support lazy retrieval.
-
- A provider parameter to be passed in future.
-
-
-
- Marks that this enum type has special characteristics on MessagePack serialization.
-
-
- Enum types which are not marked with this attribute will be serialized as value.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the default serialization method for this enum type.
-
-
- The default serialization method for this enum type.
- Note that the method for individual enum typed members will be overrided with .
-
-
-
-
- Marks that this enum typed member has special characteristics on MessagePack serialization.
-
-
- If this attributes is used for non-enum typed members, this attribute will be ignored.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the default serialization method for this enum typed member.
-
-
- The default serialization method for this enum typed member.
- Note that the method for the enum type will be overrided with this.
-
-
-
-
- Marks a field or a property to be serialized with MessagePack Serializer and defines some required informations to serialize.
-
-
-
-
- Initializes a new instance of the class.
-
-
- The ID of the member. This value cannot be negative and must be unique in the type.
-
-
-
-
- Gets the ID of the member.
-
-
- The ID of the member.
-
-
-
-
- Gets or sets the name of this member.
-
-
- The name which will be used in map key on serialized MessagePack stream.
-
-
-
-
- Gets or sets the implication of the nil value.
-
-
- The implication of the nil value.
- Default value is .
-
-
-
-
- Defines entry points for usage.
-
-
-
-
- Creates new instance with .
-
- Target type.
-
- New instance to serialize/deserialize the object tree which the top is .
-
-
-
-
- Creates new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
-
- New instance to serialize/deserialize the object tree which the top is .
-
-
- is null.
-
-
-
-
- Gets existing or new instance with default context ().
-
- Target type.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- This method simply invokes with for the context.
-
-
-
-
- Gets existing or new instance with default context ().
-
- Target type.
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- This method simply invokes with for the context.
-
-
-
-
- Gets existing or new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
- This method simply invokes with null for the providerParameter.
-
-
-
-
- Gets existing or new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Currently, only following provider parameters are supported.
-
-
- Target type
- Provider parameter
-
- -
- or its descendants.
- . The returning instance corresponds to this value for serialization.
-
-
- null is valid value for and it indeicates default behavior of parameter.
-
-
-
-
-
- Creates new instance with .
-
- Target type.
-
- New instance to serialize/deserialize the object tree which the top is .
-
-
- is null.
-
-
- To avoid boxing and strongly typed API is prefered, use instead when possible.
-
-
-
-
- Creates new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
-
- New instance to serialize/deserialize the object tree which the top is .
-
-
- is null.
- Or, is null.
-
-
- To avoid boxing and strongly typed API is prefered, use instead when possible.
-
-
-
-
- Gets existing or new instance with default context ().
-
- Target type.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
-
- Gets existing or new instance with default context ().
-
- Target type.
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
-
- Gets existing or new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
- Or, is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
-
- Gets existing or new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
- Or, is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
-
- Defines convinient extension methods for interfaces.
-
-
-
-
- Serializes specified object to the with default .
-
- object.
- Destination .
- Object to be serialized.
-
- is null.
- Or is null.
-
-
- Failed to serialize .
-
-
-
-
- Serializes specified object to the .
-
- object.
- Destination .
- Object to be serialized.
- A which specifies compatibility options.
-
- is null.
- Or is null.
-
-
- Failed to serialize .
-
-
-
-
- Deserialize object from the .
-
- object.
- Source .
- Deserialized object.
-
- is null.
- Or is null.
-
-
- Failed to deserialize from .
-
-
-
-
- Specifies nil implication in serialization/deserialization.
-
-
-
-
- A nil is interpreted as default value of the member.
-
-
-
- This value affects only deserialization.
-
-
- If the unpacking value is nil, the serializer will not set any value to the member.
-
-
- This value corresponds to optional on the IDL.
-
-
- This is default option because the most safe option.
-
-
-
-
-
- A nil is interpreted as null.
-
-
-
- This value affects only deserialization.
-
-
- If the unpacking value is nil, the serializer will set null to the member.
- If the member is non-nullable value type and the packed value is nil, then will be thrown.
-
-
- This value corresponds to nullable required on the IDL.
-
-
- If the destination end point sends nil for the value type member like type,
- you can avoid the exception with change the type of the member to nullable value type.
-
-
-
-
-
- A nil is prohibitted.
-
-
-
- This value affects both of serialization and deserialization.
-
-
- If the packing value is null or the unpacking value is nil,
- the serializer will throw exception.
-
-
- This value corresponds to required on the IDL.
-
-
- When you specify this value to newly added member,
- it means that you BREAK backword compatibility.
-
-
-
-
-
- Wrapper to simulate type argument variance.
-
- Actual collection type.
-
-
-
- Implements reflection-based enum serializer for restricted platforms.
-
-
-
-
- Implements reflection-based object serializer for restricted platforms.
-
-
-
-
- Helper static methods for reflection serializers.
-
-
-
-
- Implements reflection-based tuple serializer for restricted platforms.
-
-
-
-
- Define utility extension method for generic type.
-
-
-
-
- Determine whether the source type implements specified generic type or its built type.
-
- Target type.
- Generic interface type.
-
- true if implements ,
- or built closed generic interface type;
- otherwise false.
-
-
-
-
- Get name of type without namespace and assembly name of itself and its generic arguments.
-
- Target type.
- Simple name of type.
-
-
-
- Get full name of type including namespace and excluding assembly name of itself and its generic arguments.
-
- Target type.
- Full name of type.
-
-
-
- Defines utility extension method for reflection API.
-
-
-
-
- Determines whether specified can be assigned to source .
-
- The source type.
- The type to compare with the source type.
-
- true if and represent the same type,
- or if is in the inheritance hierarchy of ,
- or if is an interface that implements,
- or if is a generic type parameter and represents one of the constraints of .
- false if none of these conditions are true, or if is false.
-
-
-
-
- like IL stream builder with tracing.
-
-
-
-
- Emit 'call' or 'callvirt' appropriately.
-
- to be called.
-
-
-
- Emit property getter invocation.
- Pre condition is there is target instance on the top of evaluation stack when is instance property.
- Post condition are that target instance will be removed from the stack for instance property, and property value will be placed on there.
-
- for target property.
-
-
-
- Emit apprpriate 'ldarg.*' instruction.
- Post condition is that the loaded value will be added on the evaluation stack.
-
-
- Index of argument to be fetched.
-
-
-
-
- Emit apprpriate 'ldloc.*' instruction.
- Post condition is that the loaded value will be added on the evaluation stack.
-
-
- Index of local variable to be fetched.
-
-
-
-
- Emit array initialization code with initializer.
- Pre condition is that the storing value is placed on the top of evaluation stack and its type is valid.
- Post condition is that the stored value will be removed from the evaluation stack.
-
-
- Index of local variable which stores the array.
-
-
-
-
- Emit array initialization code without initializer.
- Post condition is evaluation stack will no be modified as previous state.
- Note that initialized array is not placed on the top of evaluation stack.
-
- of array element. This can be generaic parameter.
- Size of array.
-
-
-
- Emit efficient integer constant loading.
- Post condition is that exactly one integer will be added on the top of stack.
-
- Integer value.
-
-
-
- Emit 'typeof' expression.
- Post condition is instance for will be placed on the top of evaluation stack.
-
- Target .
-
-
-
- Initializes a new instance of the class.
-
- The dynamic method.
- The trace writer.
-
-
-
- Initializes a new instance of the class.
-
- The method builder.
- The trace writer.
- true if the underlying builders are debuggable; othersie false.
-
-
-
- Initializes a new instance of the class.
-
- The constructor builder.
- The trace writer.
- true if the underlying builders are debuggable; othersie false.
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Emit 'ret' instruction with specified arguments.
-
-
-
-
- Declare local with name for debugging and without pinning.
- Note that this method is not enabled for dynamic method.
-
- of local variable.
- Name of the local variable.
- to refer declared local variable.
-
-
-
- Begin exception block (try in C#) here.
- Note that you do not have to emit leave or laeve.s instrauction at tail of the body.
-
- will to be end of begun exception block.
-
-
-
- Begin finally block.
- Note that you do not have to emit endfinally instrauction at tail of the body.
-
-
-
-
- End current exception block and its last clause.
-
-
-
-
- Define new with name for tracing.
-
- Name of label. Note that debugging information will not have this name.
- which will be target of branch instructions.
-
-
-
- Mark current position using specifieid .
-
- .
-
-
-
- Write trace message.
-
- The string.
-
-
-
- Write trace line break.
-
-
-
-
- Write trace message followed by line break.
-
- The string.
-
-
-
- Write trace message followed by line break.
-
- The format string.
- Format argument.
-
-
-
- Emit 'ldarg.0' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg.1' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg.2' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg.3' instruction with specified arguments.
-
-
-
-
- Emit 'ldloc.0' instruction with specified arguments.
-
-
-
-
- Emit 'ldloc.1' instruction with specified arguments.
-
-
-
-
- Emit 'ldloc.2' instruction with specified arguments.
-
-
-
-
- Emit 'ldloc.3' instruction with specified arguments.
-
-
-
-
- Emit 'stloc.0' instruction with specified arguments.
-
-
-
-
- Emit 'stloc.1' instruction with specified arguments.
-
-
-
-
- Emit 'stloc.2' instruction with specified arguments.
-
-
-
-
- Emit 'stloc.3' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldarga.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldloc.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldloca.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'stloc.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldnull' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.m1' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.0' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.1' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.2' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.3' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.4' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.5' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.6' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.7' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.8' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldc.i4' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldc.i8' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'pop' instruction with specified arguments.
-
-
-
-
- Emit 'call' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'br' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'brfalse' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'brtrue' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'blt' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'add' instruction with specified arguments.
-
-
-
-
- Emit 'and' instruction with specified arguments.
-
-
-
-
- Emit 'callvirt' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'ldstr' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'newobj' instruction with specified arguments.
-
- as constructor.
-
-
-
- Emit 'throw' instruction with specified arguments.
-
-
-
-
- Emit 'ldfld' instruction with specified arguments.
-
- as field.
-
-
-
- Emit 'ldflda' instruction with specified arguments.
-
- as field.
-
-
-
- Emit 'stfld' instruction with specified arguments.
-
- as field.
-
-
-
- Emit 'box' instruction with specified arguments.
-
- as type.
-
-
-
- Emit 'newarr' instruction with specified arguments.
-
- as type.
-
-
-
- Emit 'stelem' instruction with specified arguments.
-
- as type.
-
-
-
- Emit 'unbox.any' instruction with specified arguments.
-
- as type.
-
-
-
- Emit 'ldtoken' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'ldtoken' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'ldtoken' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'ceq' instruction with specified arguments.
-
-
-
-
- Emit 'cgt' instruction with specified arguments.
-
-
-
-
- Emit 'clt' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg' instruction with specified arguments.
-
- as index.
-
-
-
- Emit 'ldarga' instruction with specified arguments.
-
- as index.
-
-
-
- Emit 'ldloc' instruction with specified arguments.
-
- as index.
-
-
-
- Emit 'ldloca' instruction with specified arguments.
-
- as index.
-
-
-
- Emit 'stloc' instruction with specified arguments.
-
- as index.
-
-
-
- Get for end of method.
-
-
- for end of method.
-
-
-
-
- Get whether there are any exception blocks in current positon.
-
-
- If there are any exception blocks in current positon then true; otherwise, false.
-
-
-
-
- Get whether this IL stream is ended with 'ret'.
-
-
- When this IL stream is ended with 'ret' then true; otherwise, false.
-
-
-
-
- Represents compatibility options of serialization runtime.
-
-
-
-
- Gets or sets a value indicating whether System.Runtime.Serialization.DataMemberAttribute.Order should be started with 1 instead of 0.
-
-
- true if System.Runtime.Serialization.DataMemberAttribute.Order should be started with 1 instead of 0; otherwise, false.
- Default is false.
-
-
- Using this value, you can switch between MessagePack for CLI and ProtoBuf.NET seamlessly.
-
-
-
-
- Gets or sets the .
-
-
- The . The default is .
-
-
-
- Changing this property value does not affect already built serializers -- especially built-in (default) serializers.
- You must specify enumeration to the constructor of to
- change built-in serializers' behavior.
-
-
-
-
-
- This is intened to MsgPack for CLI internal use. Do not use this type from application directly.
- Represents serialization context information for internal serialization logic.
-
-
-
-
- Initializes a new instance of the class with copy of .
-
-
-
-
- Initializes a new instance of the class with copy of for specified .
-
- which will be used on built-in serializers.
-
-
-
- Gets the with this instance without provider parameter.
-
- Type of serialization/deserialization target.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- This method automatically register new instance via .
-
-
-
-
- Gets the with this instance.
-
- Type of serialization/deserialization target.
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
-
- This method automatically register new instance via .
-
-
- Currently, only following provider parameters are supported.
-
-
- Target type
- Provider parameter
-
- -
- or its descendants.
- . The returning instance corresponds to this value for serialization.
-
-
- null is valid value for and it indeicates default behavior of parameter.
-
-
-
-
-
- Gets the serializer for the specified .
-
- Type of the serialization target.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
- Gets the serializer for the specified .
-
- Type of the serialization target.
- A provider specific parameter. See remarks section of for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
- Gets or sets the default instance.
-
-
- The default instance.
-
- The setting value is null.
-
-
-
- Gets the current .
-
-
- The current .
-
-
-
-
- Gets or sets the .
-
-
- The
-
-
- For testing purposes.
-
-
-
-
- Gets the compatibility options.
-
-
- The which stores compatibility options. This value will not be null.
-
-
-
-
- Gets or sets the to determine serialization strategy.
-
-
- The to determine serialization strategy.
-
-
-
-
- Gets or sets the to determine default serialization strategy of enum types.
-
-
- The to determine default serialization strategy of enum types.
-
-
- A serialization strategy for specific member is determined as following:
-
- - If the member is marked with and its value is not , then it will be used.
- - Otherwise, if the enum type itself is marked with , then it will be used.
- - Otherwise, the value of this property will be used.
-
- Note that the default value of this property is , it is not size efficient but tolerant to unexpected enum definition change.
-
-
-
-
- Gets or sets the to control code generation.
-
-
- The .
-
-
-
-
- Gets the default collection types.
-
-
- The default collection types. This value will not be null.
-
-
-
-
- Gets or sets a value indicating whether runtime generation is disabled or not.
-
-
- true if runtime generation is disabled; otherwise, false.
-
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Defines common exception factory methods.
-
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot be null on deserialization.
-
- The name of the member.
- The type of the member.
- The type that declares the member.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot be null on deserialization.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot serialize.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot deserialize.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot deserialize.
-
- The target type.
- The name of deserializing member.
- The inner exception.
- instance. It will not be null.
-
-
-
- of method.
-
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that item is not found on the unpacking stream.
-
- The index to be unpacking.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that target type is not serializable because it does not have public default constructor.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that target type is not serializable because it does not have both of public default constructor and public constructor with an Int32 parameter.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that there are no serializable fields and properties on the target type.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that required field is not found on the unpacking stream.
-
- The name of the property.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that unpacking stream ends on unexpectedly position.
-
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that target collection type does not declare appropriate Add(T) method.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that unpacker is not in the array header, that is the state is invalid.
-
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that unpacker is not in the array header, that is the state is invalid.
-
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that operation is not supported because cannot be instanciated.
-
- Type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the array length does not match to expected tuple cardinality.
-
- The expected cardinality of the tuple.
- The actual serialized array length.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the underlying stream is not correct semantically because failed to unpack items count of array/map.
-
- The inner exception for the debug. The value is implementation specific.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the unpacking collection is too large to represents in the current runtime environment.
-
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the member cannot be null or the unpacking value cannot be nil because nil value is explicitly prohibitted.
-
- The name of the member.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the unpacking value cannot be nil because the target member is read only and its type is collection.
-
- The name of the member.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the unpacking collection value is not a collection.
-
- The name of the member.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the unpacking array size is not expected length.
-
- Expected, required for deserialization array length.
- Actual array length.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that it is failed to deserialize member.
-
- Deserializing type.
- The name of the deserializing member.
- The exception which caused current error.
- instance. It will not be null.
-
-
-
- Represents serialization method for complex types.
-
-
-
-
- The object will be serialized as array which is ordered by member ID.
- This is default and more interoperable option.
-
-
-
-
- The object will be serialized as map which is ordered by member ID.
- This is a bit slower than array, but more stable for forward/backward compatibility.
-
-
-
-
- Define options of serializer generation.
-
-
-
-
- Prefer performance. This options is default.
-
-
-
-
- Implements serialization target member extraction logics.
-
-
-
-
- Holds debugging support information.
-
-
-
-
- Traces the specific event.
-
- The format string.
- The args for formatting.
-
-
-
- Flushes the trace data.
-
-
-
-
- Resets debugging states.
-
-
-
-
- Gets or sets a value indicating whether instruction/expression tracing is enabled or not.
-
-
- true if instruction/expression tracing is enabled; otherwise, false.
-
-
-
-
- Gets or sets a value indicating whether IL dump is enabled or not.
-
-
- true if IL dump is enabled; otherwise, false.
-
-
-
-
- Gets or sets a value indicating whether generic serializer for array, , ,
- or is not used.
-
-
- true if generic serializer is not used; otherwise, false.
-
-
-
-
- Gets the for IL tracing.
-
-
- The for IL tracing.
- This value will not be null.
-
-
-
-
- Repository of known s.
-
-
-
-
- Initializes a new empty instance of the class.
-
-
-
-
- Initializes a new instance of the class which has copied serializers.
-
- The repository which will be copied its contents.
-
- is null.
-
-
-
-
- This method does not perform any operation.
-
-
-
-
- Gets the registered from this repository without provider parameter.
-
- Type of the object to be marshaled/unmarshaled.
- A serialization context.
-
- . If no appropriate mashalers has benn registered, then null.
-
-
-
-
- Gets the registered from this repository with specified provider parameter.
-
- Type of the object to be marshaled/unmarshaled.
- A serialization context.
- A provider specific parameter. See remarks section of for details.
-
- . If no appropriate mashalers has benn registered, then null.
-
-
-
-
-
- Registers a .
-
- The type of serialization target.
- instance.
-
- true if success to register; otherwise, false.
-
-
- is null.
-
-
-
-
- Registers a forcibley.
-
- The type of serialization target.
- instance.
-
- is null.
-
-
-
-
- Gets the system default repository bound to default context.
-
- for default serializers must use.
-
- The system default repository.
- This value will not be null.
- Note that the repository is frozen.
-
- is invalid.
-
-
-
- Gets the system default repository bound for specified context.
-
- A which will be bound to default serializers.
- is null.
-
- The system default repository.
- This value will not be null.
- Note that the repository is frozen.
-
-
-
-
- Gets the system default repository bound to default context.
-
-
- The system default repository.
- This value will not be null.
- Note that the repository is frozen.
-
-
-
-
- Specialized for serializers.
-
-
-
-
- Repository for key type with RWlock scheme.
-
-
-
-
- Represents serializing member information.
-
-
-
-
- This is intened to MsgPack for CLI internal use. Do not use this type from application directly.
- Defines serialization helper APIs.
-
-
-
-
- Unpacks the array to the specified array.
-
- The type of the array element.
- The unpacker to unpack the underlying stream.
- The serializer to deserialize array.
- The array instance to be filled.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the collection with the specified method as colletion of .
-
- The unpacker to unpack the underlying stream.
- The non-generic collection instance to be added unpacked elements.
- The delegate which contains the instance method of the . The parameter is unpacked object.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the dictionary with the specified method as colletion of .
-
- The type of elements.
- The unpacker to unpack the underlying stream.
- The serializer to deserialize elements.
- The generic collection instance to be added unpacked elements.
- The delegate which contains the instance method of the . The parameter is unpacked object.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the collection with the specified method as colletion of .
-
- The return type of Add method.
- The unpacker to unpack the underlying stream.
- The non-generic collection instance to be added unpacked elements.
- The delegate which contains the instance method of the . The parameter is unpacked object.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the dictionary with the specified method as colletion of .
-
- The type of elements.
- The return type of Add method.
- The unpacker to unpack the underlying stream.
- The serializer to deserialize elements.
- The generic collection instance to be added unpacked elements.
- The delegate which contains the instance method of the . The parameter is unpacked object.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the dictionary with the specified method as colletion of .
-
- The type of keys.
- The type of values.
- The unpacker to unpack the underlying stream.
- The serializer to deserialize key elements.
- The serializer to deserialize value elements.
- The generic dictionary instance to be added unpacked elements.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the dictionary with the specified method as colletion of .
-
- The unpacker to unpack the underlying stream.
- The non-generic dictionary instance to be added unpacked elements.
-
- Failed to deserialization.
-
-
-
-
- Gets the items count as .
-
- The unpacker.
- The items count as .
- is null.
- The items count is greater than .
-
- The items count of the collection can be between and ,
- but most collections do not support so big count.
-
-
-
-
- Ensures the boxed type is not null thus it cannot be unboxing.
-
- The type of the member.
- The boxed deserializing value.
- The name of the member.
- The type of the target.
- The unboxed value.
-
-
-
- Invokes FAMANDASM method directly.
-
- The type of deserializing object.
- The invocation target .
- The unpacker to be passed to the method.
- A deserialized value.
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Boolean type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Boolean type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Byte type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Byte type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int16 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int16 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int32 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int32 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int64 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int64 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack SByte type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack SByte type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt16 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt16 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt32 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt32 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt64 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt64 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Single type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Single type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Double type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Double type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack string type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack byte array type value from underlying stream.
-
-
-
-
- Basic implementation using managed .
-
-
-
-
- Defines subtree unpacking unpacker.
-
-
-
-
- Defines helper method for items of tuple type.
-
-
-
-
- Creates type list for nested tuples.
-
- The type list of tuple items, in order.
-
- The type list for nested tuples.
- The order is from outer to inner.
-
-
-
-
- Represents unpacking error when message type is not valid because 0xC1 will never be assigned.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Represents generic unpacking error.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Defines direct conversion value from/to Message Pack binary stream without intermediate .
-
-
- This class provides convinient way to unpack objects from wellknown seekable stream.
- This class does not support stream feeding.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the array from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the array and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the array from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the array and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the array value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the array value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The items count of the underlying collection body is over .
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks length of the array from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of nullable which contains unpacked length of the array and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to nullable .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks length of the array from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of nullable which contains unpacked length of the array and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to nullable .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks length of the array value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked length of the array value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to nullable .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the dictionary from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the dictionary and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the dictionary from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the dictionary and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the dictionary value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the dictionary value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The items count of the underlying collection body is over .
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks count of the dictionary entries from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of nullable which contains unpacked count of the dictionary entries and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to nullable .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks count of the dictionary entries from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of nullable which contains unpacked count of the dictionary entries and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to nullable .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks count of the dictionary entries value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked count of the dictionary entries value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to nullable .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the raw binary from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of [] which contains unpacked the raw binary and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to [].
-
-
- The items count of the underlying collection body is over .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the raw binary from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of [] which contains unpacked the raw binary and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to [].
-
-
- The items count of the underlying collection body is over .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the raw binary value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the raw binary value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to [].
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The items count of the underlying collection body is over .
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the boolean from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the boolean and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the boolean from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the boolean and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the boolean value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the boolean value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the nil from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the nil and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the nil from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the nil and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the nil value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the nil value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the which represents the value which has MessagePack type semantics. from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the which represents the value which has MessagePack type semantics. and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the which represents the value which has MessagePack type semantics. from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the which represents the value which has MessagePack type semantics. and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the which represents the value which has MessagePack type semantics. value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the which represents the value which has MessagePack type semantics. value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the which represents the extended type value. from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the which represents the extended type value. and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the which represents the extended type value. from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the which represents the extended type value. and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the which represents the extended type value. value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the which represents the extended type value. value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The items count of the underlying collection body is over .
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks raw value from the specified as .
-
- The which contains Message Pack binary stream.
-
- The which represents raw value stream.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- does not own , so still should be closed.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks raw value from the specified as with UTF-8 encoding.
-
- The which contains Message Pack binary stream.
-
- The which represents raw value stream as UTF-8 string.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- if contains invalid sequence as UTF-8 encoding string,
- the may occurs on read char.
-
-
- does not own , so still should be closed.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks raw value from the specified as with specified encoding.
-
- The which contains Message Pack binary stream.
- The to decode binary stream.
-
- The which represents raw value stream as UTF-8 string.
-
-
- is null.
- Or, is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- if contains invalid sequence as specified encoding string,
- the may occurs on read char.
-
-
- does not own , so still should be closed.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array with UTF-8 encoding.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
- Or, the unpacked result in the is invalid as UTF-8 encoded byte stream.
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array with specified encoding.
-
- The byte array which contains Message Pack binary stream.
- The to decode binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
- Or, is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
- Or, the unpacked result in the is invalid as UTF-8 encoded byte stream.
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from specified offsetted byte array with UTF-8 encoding.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not greater than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
- Or, the unpacked result in the is invalid as specified encoding byte stream.
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from specified offsetted byte array with specified encoding.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
- The to decode binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
- Or, is null.
-
-
- is empty.
- Or, the length of is not greater than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
- Or, the unpacked result in the is invalid as specified encoding byte stream.
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified with UTF-8 encoding.
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Or, the unpacked result in the is invalid as UTF-8 encoded byte stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified with specified encoding.
-
- The which contains Message Pack binary stream.
- The to decode binary stream.
-
- The unpacked value.
-
-
- is null.
- Or is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Or, the unpacked result in the is invalid as specified encoding byte stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Represents raw binary as read only .
-
-
-
- This object behaves as wrapper of the underlying which contains message pack encoded byte array.
- But, this object does not own the stream, so that stream is not closed when this stream is closed.
-
-
- The value of , timeout, and async API depends on the underlying stream.
-
-
-
-
-
- Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
-
-
- An array of bytes. When this method returns,
- the buffer contains the specified byte array with the values between and ( + - 1)
- replaced by the bytes read from the current source.
-
-
- The zero-based byte offset in at which to begin storing the data read from the current stream.
-
-
- The maximum number of bytes to be read from the current stream.
-
-
- The total number of bytes read into the buffer.
- This can be less than the number of bytes requested if that many bytes are not currently available,
- or zero (0) if the end of the stream has been reached.
-
-
- The sum of and is larger than the buffer length.
-
-
- is null.
-
-
- or is negative.
-
-
- An I/O error occurs.
-
-
- Methods were called after the stream was closed.
-
-
-
- Arguments might be passed to the underlying without any validation.
-
-
-
-
-
- Overrides so that no action is performed.
-
-
-
-
- Throws .
-
- Never used.
-
- Always thrown.
-
-
-
-
- Throws .
-
- Never used.
- Never used.
- Never used.
-
- Always thrown.
-
-
-
-
- Gets a value indicating whether the current stream supports reading.
-
- Always true.
-
-
-
- Gets a value indicating whether the current stream supports writing.
-
- Always false.
-
-
-
- Gets the length in bytes of the stream.
-
-
- A long value representing the length of the raw binary length.
- This value must be between 0 and .
-
-
- Methods were called after the stream was closed.
-
-
- This property never throws even if is false.
-
-
-
-
- Gets a value that determines whether the current stream can time out.
-
-
- A value that determines whether the current stream can time out.
-
-
- Methods were called after the stream was closed.
-
-
-
-
- Implements which reads raw binary with specific .
-
-
-
-
- Gets the length of the underlying raw binary length.
-
-
- The length of the underlying raw binary length.
- This value will not be negative.
-
-
-
-
- Represents result of direct conversion from the byte array.
-
- Type of value.
-
-
-
- Compare two instances are equal.
-
- instance.
-
- If is and its value is equal to this instance, then true.
- Otherwise false.
-
-
-
-
- Compare two instances are equal.
-
- instance.
-
- Whether value of is equal to this instance or not.
-
-
-
-
- Get hash code of this instance.
-
- Hash code of this instance.
-
-
-
- Get string representation of this object.
-
- String representation of this object.
-
-
- DO NOT use this value programmically.
- The purpose of this method is informational, so format of this value subject to change.
-
-
-
-
-
- Compare two instances are equal.
-
- instance.
- instance.
-
- Whether value of and are equal each other or not.
-
-
-
-
- Compare two instances are not equal.
-
- instance.
- instance.
-
- Whether value of and are not equal each other or are equal.
-
-
-
-
- Get read bytes count from input byte array.
-
-
- Read bytes count from input byte array.
- If this value equals to old offset, then a value of property is not undifined.
-
-
-
-
- Get retrieved value from the byte array.
-
-
- Retrieved value from the byte array.
- If equals to old offset, then a value of this property is not undefined.
-
-
-
-
- System.Threading.LockRecursionPolicy alternative.
-
-
-
-
- System.Threading.ReaderWriterLockSlim alternative.
-
-
-
-
- System.Diagnostics.SourceLevels alternative.
-
-
-
-
- System.Diagnostics.SourceSwitch alternative.
-
-
-
-
- System.Diagnostics.TraceEventType alternative.
-
-
-
-
- System.Diagnostics.TraceSource alternative.
-
-
-
-
diff --git a/citizen/clr2/lib/mono/4.5/System.Collections.Immutable.dll b/citizen/clr2/lib/mono/4.5/System.Collections.Immutable.dll
deleted file mode 100644
index 049149f17..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Collections.Immutable.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Collections.Immutable.sym b/citizen/clr2/lib/mono/4.5/System.Collections.Immutable.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/System.ComponentModel.DataAnnotations.dll b/citizen/clr2/lib/mono/4.5/System.ComponentModel.DataAnnotations.dll
deleted file mode 100644
index e070544ed..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.ComponentModel.DataAnnotations.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Configuration.dll b/citizen/clr2/lib/mono/4.5/System.Configuration.dll
deleted file mode 100644
index 3ce3923df..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Configuration.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Core.dll b/citizen/clr2/lib/mono/4.5/System.Core.dll
deleted file mode 100644
index 77e2f4f93..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Core.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Data.dll b/citizen/clr2/lib/mono/4.5/System.Data.dll
deleted file mode 100644
index 2fe67f8a0..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Data.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Drawing.dll b/citizen/clr2/lib/mono/4.5/System.Drawing.dll
deleted file mode 100644
index a36a3d65b..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Drawing.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.EnterpriseServices.dll b/citizen/clr2/lib/mono/4.5/System.EnterpriseServices.dll
deleted file mode 100644
index 0382c3732..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.EnterpriseServices.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.IO.Compression.FileSystem.dll b/citizen/clr2/lib/mono/4.5/System.IO.Compression.FileSystem.dll
deleted file mode 100644
index 117ca56d3..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.IO.Compression.FileSystem.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.IO.Compression.dll b/citizen/clr2/lib/mono/4.5/System.IO.Compression.dll
deleted file mode 100644
index d2a1c527a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.IO.Compression.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Management.dll b/citizen/clr2/lib/mono/4.5/System.Management.dll
deleted file mode 100644
index 29d534e46..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Management.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Net.Http.WebRequest.dll b/citizen/clr2/lib/mono/4.5/System.Net.Http.WebRequest.dll
deleted file mode 100644
index ba8c4c900..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Net.Http.WebRequest.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Net.Http.dll b/citizen/clr2/lib/mono/4.5/System.Net.Http.dll
deleted file mode 100644
index b8347ee0d..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Net.Http.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Net.dll b/citizen/clr2/lib/mono/4.5/System.Net.dll
deleted file mode 100644
index d4ab2145a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Net.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Numerics.Vectors.dll b/citizen/clr2/lib/mono/4.5/System.Numerics.Vectors.dll
deleted file mode 100644
index 89ebfe0bd..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Numerics.Vectors.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Numerics.dll b/citizen/clr2/lib/mono/4.5/System.Numerics.dll
deleted file mode 100644
index a9d04fbd9..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Numerics.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Reflection.Metadata.dll b/citizen/clr2/lib/mono/4.5/System.Reflection.Metadata.dll
deleted file mode 100644
index 52082366b..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Reflection.Metadata.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Reflection.Metadata.sym b/citizen/clr2/lib/mono/4.5/System.Reflection.Metadata.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/System.Runtime.InteropServices.RuntimeInformation.dll b/citizen/clr2/lib/mono/4.5/System.Runtime.InteropServices.RuntimeInformation.dll
deleted file mode 100644
index 3ffd9185b..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Runtime.InteropServices.RuntimeInformation.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Runtime.Serialization.dll b/citizen/clr2/lib/mono/4.5/System.Runtime.Serialization.dll
deleted file mode 100644
index d6ea0478b..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Runtime.Serialization.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.ServiceModel.Internals.dll b/citizen/clr2/lib/mono/4.5/System.ServiceModel.Internals.dll
deleted file mode 100644
index 9caceab7e..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.ServiceModel.Internals.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.ServiceModel.dll b/citizen/clr2/lib/mono/4.5/System.ServiceModel.dll
deleted file mode 100644
index a12e12761..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.ServiceModel.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Transactions.dll b/citizen/clr2/lib/mono/4.5/System.Transactions.dll
deleted file mode 100644
index b4b174ad6..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Transactions.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Web.dll b/citizen/clr2/lib/mono/4.5/System.Web.dll
deleted file mode 100644
index a16831919..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Web.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Xml.Linq.dll b/citizen/clr2/lib/mono/4.5/System.Xml.Linq.dll
deleted file mode 100644
index 43b978547..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Xml.Linq.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.Xml.dll b/citizen/clr2/lib/mono/4.5/System.Xml.dll
deleted file mode 100644
index c73d6a735..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.Xml.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/System.dll b/citizen/clr2/lib/mono/4.5/System.dll
deleted file mode 100644
index 050e5978a..000000000
Binary files a/citizen/clr2/lib/mono/4.5/System.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/mscorlib.dll b/citizen/clr2/lib/mono/4.5/mscorlib.dll
deleted file mode 100644
index 44c103903..000000000
Binary files a/citizen/clr2/lib/mono/4.5/mscorlib.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.dll b/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.dll
deleted file mode 100644
index 7bde9ea56..000000000
Binary files a/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.pdb b/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.pdb
deleted file mode 100644
index b477abec9..000000000
Binary files a/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.pdb and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.sym b/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.xml b/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.xml
deleted file mode 100644
index a997c45e0..000000000
--- a/citizen/clr2/lib/mono/4.5/ref/CitizenFX.Core.Server.xml
+++ /dev/null
@@ -1,13787 +0,0 @@
-
-
-
- CitizenFX.Core
-
-
-
-
- An event containing callbacks to attempt to schedule on every game tick.
- A callback will only be rescheduled once the associated task completes.
-
-
-
-
- Returns a task that will delay scheduling of the current interval function by the passed amount of time.
-
-
- await Delay(500);
-
- The amount of time by which to delay scheduling this interval function.
- An awaitable task.
-
-
-
- Broadcasts an event to all connected players.
-
- The name of the event.
- Arguments to pass to the event.
-
-
-
- Broadcasts an event to all connected players.
-
- The name of the event.
- Arguments to pass to the event.
-
-
-
- Provides fast reading and writing of generic structures to a memory location using IL emitted functions.
-
-
-
-
- Retrieve a pointer to the passed generic structure type. This is achieved by emitting a to retrieve a pointer to the structure.
-
-
-
- A pointer to the provided structure in memory.
-
-
-
-
- Loads the generic value type from a pointer. This is achieved by emitting a that returns the value in the memory location as a .
- The equivalent non-generic C# code:
-
- unsafe MyStruct ReadFromPointer(byte* pointer)
- {
- return *(MyStruct*)pointer;
- }
-
-
- Any value/structure type
- Unsafe pointer to memory to load the value from
- The newly loaded value
-
-
-
- Writes the generic value type to the location specified by a pointer. This is achieved by emitting a that copies the value from the referenced structure into the specified memory location.
- There is no exact equivalent possible in C#, the closest possible (generates the same IL) is the following code:
-
- unsafe void WriteToPointer(ref SharedHeader dest, ref SharedHeader src)
- {
- dest = src;
- }
-
-
-
-
-
-
-
-
- Retrieve the cached size of a structure
-
-
-
- Caches the size by type
-
-
-
-
- Reads a number of elements from a memory location into the provided buffer starting at the specified index.
-
- The structure type
- The destination buffer.
- The source memory location.
- The start index within .
- The number of elements to read.
-
-
-
- Writes a number of elements to a memory location from the provided buffer starting at the specified index.
-
- The structure type
- The destination memory location.
- The source buffer.
- The start index within .
- The number of elements to write.
-
-
-
- Emits optimized IL for the reading and writing of structures to/from memory.
- For a 32-byte structure with 1 million iterations:
- The method performs approx. 20x faster than
- (8ms vs 160ms), and about 1.6x slower than the non-generic equivalent (8ms vs 5ms)
- The method performs approx. 8x faster than
- (4ms vs 34ms).
-
-
-
-
-
- Delegate that returns a pointer to the provided structure. Use with extreme caution.
-
-
-
-
-
-
- Delegate for loading a structure from the specified memory address
-
-
-
-
-
-
- Delegate for writing a structure to the specified memory address
-
-
-
-
-
-
- The delegate for the generated IL to retrieve a pointer to the structure
-
-
-
-
- The delegate for the generated IL to retrieve a structure from a specified memory address.
-
-
-
-
- The delegate for the generated IL to store a structure at the specified memory address.
-
-
-
-
- Cached size of T as determined by .
-
-
-
-
- Performs once of type compatibility check.
-
- Thrown if the type T is incompatible
-
-
-
- The value for which all absolute numbers smaller than are considered equal to zero.
-
-
-
-
- A value specifying the approximation of π which is 180 degrees.
-
-
-
-
- A value specifying the approximation of 2Ï€ which is 360 degrees.
-
-
-
-
- Mathematical term for 2Ï€, which is equivalent to 360 degrees.
-
-
-
-
- A value specifying the approximation of π/2 which is 90 degrees.
-
-
-
-
- A value specifying the approximation of π/4 which is 45 degrees.
-
-
-
-
- Checks if a and b are almost equals, taking into account the magnitude of floating point numbers (unlike method). See Remarks.
- See remarks.
-
- The left value to compare.
- The right value to compare.
- true if a almost equal to b, false otherwise
-
- The code is using the technique described by Bruce Dawson in
- Comparing Floating point numbers 2012 edition.
-
-
-
-
- Determines whether the specified value is close to zero (0.0f).
-
- The floating value.
- true if the specified value is close to zero (0.0f); otherwise, false.
-
-
-
- Determines whether the specified value is close to one (1.0f).
-
- The floating value.
- true if the specified value is close to one (1.0f); otherwise, false.
-
-
-
- Checks if a - b are almost equals within a float epsilon.
-
- The left value to compare.
- The right value to compare.
- Epsilon value
- true if a almost equal to b within a float epsilon, false otherwise
-
-
-
- Converts revolutions to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Converts revolutions to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts revolutions to gradians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts degrees to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts degrees to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to gradians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Clamps the specified value.
-
- The value.
- The min.
- The max.
- The result of clamping a value between min and max
-
-
-
- Clamps the specified value.
-
- The value.
- The min.
- The max.
- The result of clamping a value between min and max
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Performs smooth (cubic Hermite) interpolation between 0 and 1.
-
-
- See https://en.wikipedia.org/wiki/Smoothstep
-
- Value between 0 and 1 indicating interpolation amount.
-
-
-
- Performs a smooth(er) interpolation between 0 and 1 with 1st and 2nd order derivatives of zero at endpoints.
-
-
- See https://en.wikipedia.org/wiki/Smoothstep
-
- Value between 0 and 1 indicating interpolation amount.
-
-
-
- Calculates the modulo of the specified value.
-
- The value.
- The modulo.
- The result of the modulo applied to value
-
-
-
- Calculates the modulo 2*PI of the specified value.
-
- The value.
- The result of the modulo applied to value
-
-
-
- Wraps the specified value into a range [min, max]
-
- The value to wrap.
- The min.
- The max.
- Result of the wrapping.
- Is thrown when is greater than .
-
-
-
- Wraps the specified value into a range [min, max[
-
- The value.
- The min.
- The max.
- Result of the wrapping.
- Is thrown when is greater than .
-
-
-
- Gauss function.
-
- Curve amplitude.
- Position X.
- Position Y
- Radius X.
- Radius Y.
- Curve sigma X.
- Curve sigma Y.
- The result of Gaussian function.
-
-
-
- Gauss function.
-
- Curve amplitude.
- Position X.
- Position Y
- Radius X.
- Radius Y.
- Curve sigma X.
- Curve sigma Y.
- The result of Gaussian function.
-
-
-
- Represents a 4x4 mathematical matrix.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The identity .
-
-
-
-
- Value at row 1 column 1 of the matrix.
-
-
-
-
- Value at row 1 column 2 of the matrix.
-
-
-
-
- Value at row 1 column 3 of the matrix.
-
-
-
-
- Value at row 1 column 4 of the matrix.
-
-
-
-
- Value at row 2 column 1 of the matrix.
-
-
-
-
- Value at row 2 column 2 of the matrix.
-
-
-
-
- Value at row 2 column 3 of the matrix.
-
-
-
-
- Value at row 2 column 4 of the matrix.
-
-
-
-
- Value at row 3 column 1 of the matrix.
-
-
-
-
- Value at row 3 column 2 of the matrix.
-
-
-
-
- Value at row 3 column 3 of the matrix.
-
-
-
-
- Value at row 3 column 4 of the matrix.
-
-
-
-
- Value at row 4 column 1 of the matrix.
-
-
-
-
- Value at row 4 column 2 of the matrix.
-
-
-
-
- Value at row 4 column 3 of the matrix.
-
-
-
-
- Value at row 4 column 4 of the matrix.
-
-
-
-
- Gets or sets the up of the matrix; that is M21, M22, and M23.
-
-
-
-
- Gets or sets the down of the matrix; that is -M21, -M22, and -M23.
-
-
-
-
- Gets or sets the right of the matrix; that is M11, M12, and M13.
-
-
-
-
- Gets or sets the left of the matrix; that is -M11, -M12, and -M13.
-
-
-
-
- Gets or sets the forward of the matrix; that is -M31, -M32, and -M33.
-
-
-
-
- Gets or sets the backward of the matrix; that is M31, M32, and M33.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value to assign at row 1 column 1 of the matrix.
- The value to assign at row 1 column 2 of the matrix.
- The value to assign at row 1 column 3 of the matrix.
- The value to assign at row 1 column 4 of the matrix.
- The value to assign at row 2 column 1 of the matrix.
- The value to assign at row 2 column 2 of the matrix.
- The value to assign at row 2 column 3 of the matrix.
- The value to assign at row 2 column 4 of the matrix.
- The value to assign at row 3 column 1 of the matrix.
- The value to assign at row 3 column 2 of the matrix.
- The value to assign at row 3 column 3 of the matrix.
- The value to assign at row 3 column 4 of the matrix.
- The value to assign at row 4 column 1 of the matrix.
- The value to assign at row 4 column 2 of the matrix.
- The value to assign at row 4 column 3 of the matrix.
- The value to assign at row 4 column 4 of the matrix.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the components of the matrix. This must be an array with sixteen elements.
- Thrown when is null.
- Thrown when contains more or less than sixteen elements.
-
-
-
- Gets or sets the first row in the matrix; that is M11, M12, M13, and M14.
-
-
-
-
- Gets or sets the second row in the matrix; that is M21, M22, M23, and M24.
-
-
-
-
- Gets or sets the third row in the matrix; that is M31, M32, M33, and M34.
-
-
-
-
- Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44.
-
-
-
-
- Gets or sets the first column in the matrix; that is M11, M21, M31, and M41.
-
-
-
-
- Gets or sets the second column in the matrix; that is M12, M22, M32, and M42.
-
-
-
-
- Gets or sets the third column in the matrix; that is M13, M23, M33, and M43.
-
-
-
-
- Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44.
-
-
-
-
- Gets or sets the translation of the matrix; that is M41, M42, and M43.
-
-
-
-
- Gets or sets the scale of the matrix; that is M11, M22, and M33.
-
-
-
-
- Gets a value indicating whether this instance is an identity matrix.
-
-
- true if this instance is an identity matrix; otherwise, false.
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the matrix component, depending on the index.
- The zero-based index of the component to access.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 15].
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the matrix component, depending on the index.
- The row of the matrix to access.
- The column of the matrix to access.
- The value of the component at the specified index.
- Thrown when the or is out of the range [0, 3].
-
-
-
- Calculates the determinant of the matrix.
-
- The determinant of the matrix.
-
-
-
- Inverts the matrix.
-
-
-
-
- Transposes the matrix.
-
-
-
-
- Orthogonalizes the specified matrix.
-
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R.
-
- When the method completes, contains the orthonormalized matrix of the decomposition.
- When the method completes, contains the right triangular matrix of the decomposition.
-
-
-
- Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q.
-
- When the method completes, contains the lower triangular matrix of the decomposition.
- When the method completes, contains the orthonormalized matrix of the decomposition.
-
-
-
- Decomposes a matrix into a scale, rotation, and translation.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
- When the method completes, contains the translation component of the decomposed matrix.
-
- This method is designed to decompose an SRT transformation matrix only.
-
-
-
-
- Decomposes a uniform scale matrix into a scale, rotation, and translation.
- A uniform scale matrix has the same scale in every axis.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
- When the method completes, contains the translation component of the decomposed matrix.
-
- This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
-
-
-
-
- Exchanges two rows in the matrix.
-
- The first row to exchange. This is an index of the row starting at zero.
- The second row to exchange. This is an index of the row starting at zero.
-
-
-
- Exchanges two columns in the matrix.
-
- The first column to exchange. This is an index of the column starting at zero.
- The second column to exchange. This is an index of the column starting at zero.
-
-
-
- Creates an array containing the elements of the matrix.
-
- A sixteen-element array containing the components of the matrix.
-
-
-
- Determines the sum of two matrices.
-
- The first matrix to add.
- The second matrix to add.
- When the method completes, contains the sum of the two matrices.
-
-
-
- Determines the sum of two matrices.
-
- The first matrix to add.
- The second matrix to add.
- The sum of the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- When the method completes, contains the difference between the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- The difference between the two matrices.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- When the method completes, contains the scaled matrix.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Determines the product of two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Determines the product of two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- When the method completes, contains the scaled matrix.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Determines the quotient of two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- When the method completes, contains the quotient of the two matrices.
-
-
-
- Determines the quotient of two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- The quotient of the two matrices.
-
-
-
- Performs the exponential operation on a matrix.
-
- The matrix to perform the operation on.
- The exponent to raise the matrix to.
- When the method completes, contains the exponential matrix.
- Thrown when the is negative.
-
-
-
- Performs the exponential operation on a matrix.
-
- The matrix to perform the operation on.
- The exponent to raise the matrix to.
- The exponential matrix.
- Thrown when the is negative.
-
-
-
- Negates a matrix.
-
- The matrix to be negated.
- When the method completes, contains the negated matrix.
-
-
-
- Negates a matrix.
-
- The matrix to be negated.
- The negated matrix.
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two matrices.
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two matrices.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified matrix.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified matrix.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- The transpose of the specified matrix.
-
-
-
- Calculates the inverse of the specified matrix.
-
- The matrix whose inverse is to be calculated.
- When the method completes, contains the inverse of the specified matrix.
-
-
-
- Calculates the inverse of the specified matrix.
-
- The matrix whose inverse is to be calculated.
- The inverse of the specified matrix.
-
-
-
- Orthogonalizes the specified matrix.
-
- The matrix to orthogonalize.
- When the method completes, contains the orthogonalized matrix.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthogonalizes the specified matrix.
-
- The matrix to orthogonalize.
- The orthogonalized matrix.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
- The matrix to orthonormalize.
- When the method completes, contains the orthonormalized matrix.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
- The matrix to orthonormalize.
- The orthonormalized matrix.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Brings the matrix into upper triangular form using elementary row operations.
-
- The matrix to put into upper triangular form.
- When the method completes, contains the upper triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into upper triangular form using elementary row operations.
-
- The matrix to put into upper triangular form.
- The upper triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into lower triangular form using elementary row operations.
-
- The matrix to put into lower triangular form.
- When the method completes, contains the lower triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into lower triangular form using elementary row operations.
-
- The matrix to put into lower triangular form.
- The lower triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into row echelon form using elementary row operations;
-
- The matrix to put into row echelon form.
- When the method completes, contains the row echelon form of the matrix.
-
-
-
- Brings the matrix into row echelon form using elementary row operations;
-
- The matrix to put into row echelon form.
- When the method completes, contains the row echelon form of the matrix.
-
-
-
- Brings the matrix into reduced row echelon form using elementary row operations.
-
- The matrix to put into reduced row echelon form.
- The fifth column of the matrix.
- When the method completes, contains the resultant matrix after the operation.
- When the method completes, contains the resultant fifth column of the matrix.
-
- The fifth column is often called the augmented part of the matrix. This is because the fifth
- column is really just an extension of the matrix so that there is a place to put all of the
- non-zero components after the operation is complete.
- Often times the resultant matrix will the identity matrix or a matrix similar to the identity
- matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear.
- This method can be used to solve systems of linear equations. Upon completion of this method,
- the will contain the solution for the system. It is up to the user
- to analyze both the input and the result to determine if a solution really exists.
-
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard matrix.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard matrix.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard matrix.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard matrix.
-
-
-
- Creates a left-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at matrix.
-
-
-
- Creates a left-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at matrix.
-
-
-
- Creates a right-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at matrix.
-
-
-
- Creates a right-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at matrix.
-
-
-
- Creates a left-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- The created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- The created scaling matrix.
-
-
-
- Creates a matrix that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- The created scaling matrix.
-
-
-
- Creates a matrix that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix from a quaternion.
-
- The quaternion to use to build the matrix.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix from a quaternion.
-
- The quaternion to use to build the matrix.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a rotation matrix with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- The created rotation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- The offset for all three coordinate planes.
- When the method completes, contains the created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- The offset for all three coordinate planes.
- The created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- X-coordinate offset.
- Y-coordinate offset.
- Z-coordinate offset.
- When the method completes, contains the created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- X-coordinate offset.
- Y-coordinate offset.
- Z-coordinate offset.
- The created translation matrix.
-
-
-
- Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle.
- shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane.
- The effect is such that the skewed rotation vector has the specified angle with rotation itself.
-
- The rotation angle.
- The rotation vector
- The translation vector
- Contains the created skew/shear matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created transformation matrix.
-
-
-
- Creates a transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created transformation matrix.
-
-
-
- Creates a 2D transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created transformation matrix.
-
-
-
- Creates a 2D transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created transformation matrix.
-
-
-
- Adds two matrices.
-
- The first matrix to add.
- The second matrix to add.
- The sum of the two matrices.
-
-
-
- Assert a matrix (return it unchanged).
-
- The matrix to assert (unchanged).
- The asserted (unchanged) matrix.
-
-
-
- Subtracts two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- The difference between the two matrices.
-
-
-
- Negates a matrix.
-
- The matrix to negate.
- The negated matrix.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Multiplies two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Divides two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- The quotient of the two matrices.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a 3x3 Matrix ( contains only Scale and Rotation ).
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The identity .
-
-
-
-
- Value at row 1 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 1 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 1 column 3 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 3 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 3 of the Matrix3x3.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value to assign at row 1 column 1 of the Matrix3x3.
- The value to assign at row 1 column 2 of the Matrix3x3.
- The value to assign at row 1 column 3 of the Matrix3x3.
- The value to assign at row 2 column 1 of the Matrix3x3.
- The value to assign at row 2 column 2 of the Matrix3x3.
- The value to assign at row 2 column 3 of the Matrix3x3.
- The value to assign at row 3 column 1 of the Matrix3x3.
- The value to assign at row 3 column 2 of the Matrix3x3.
- The value to assign at row 3 column 3 of the Matrix3x3.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the components of the Matrix3x3. This must be an array with sixteen elements.
- Thrown when is null.
- Thrown when contains more or less than sixteen elements.
-
-
-
- Gets or sets the first row in the Matrix3x3; that is M11, M12, M13
-
-
-
-
- Gets or sets the second row in the Matrix3x3; that is M21, M22, M23
-
-
-
-
- Gets or sets the third row in the Matrix3x3; that is M31, M32, M33
-
-
-
-
- Gets or sets the first column in the Matrix3x3; that is M11, M21, M31
-
-
-
-
- Gets or sets the second column in the Matrix3x3; that is M12, M22, M32
-
-
-
-
- Gets or sets the third column in the Matrix3x3; that is M13, M23, M33
-
-
-
-
- Gets or sets the scale of the Matrix3x3; that is M11, M22, and M33.
-
-
-
-
- Gets a value indicating whether this instance is an identity Matrix3x3.
-
-
- true if this instance is an identity Matrix3x3; otherwise, false.
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the Matrix3x3 component, depending on the index.
- The zero-based index of the component to access.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 15].
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the Matrix3x3 component, depending on the index.
- The row of the Matrix3x3 to access.
- The column of the Matrix3x3 to access.
- The value of the component at the specified index.
- Thrown when the or is out of the range [0, 3].
-
-
-
- Calculates the determinant of the Matrix3x3.
-
- The determinant of the Matrix3x3.
-
-
-
- Inverts the Matrix3x3.
-
-
-
-
- Transposes the Matrix3x3.
-
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Decomposes a Matrix3x3 into an orthonormalized Matrix3x3 Q and a right triangular Matrix3x3 R.
-
- When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
- When the method completes, contains the right triangular Matrix3x3 of the decomposition.
-
-
-
- Decomposes a Matrix3x3 into a lower triangular Matrix3x3 L and an orthonormalized Matrix3x3 Q.
-
- When the method completes, contains the lower triangular Matrix3x3 of the decomposition.
- When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
-
-
-
- Decomposes a Matrix3x3 into a scale, rotation, and translation.
-
- When the method completes, contains the scaling component of the decomposed Matrix3x3.
- When the method completes, contains the rotation component of the decomposed Matrix3x3.
-
- This method is designed to decompose an SRT transformation Matrix3x3 only.
-
-
-
-
- Decomposes a uniform scale matrix into a scale, rotation, and translation.
- A uniform scale matrix has the same scale in every axis.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
-
- This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
-
-
-
-
- Exchanges two rows in the Matrix3x3.
-
- The first row to exchange. This is an index of the row starting at zero.
- The second row to exchange. This is an index of the row starting at zero.
-
-
-
- Exchanges two columns in the Matrix3x3.
-
- The first column to exchange. This is an index of the column starting at zero.
- The second column to exchange. This is an index of the column starting at zero.
-
-
-
- Creates an array containing the elements of the Matrix3x3.
-
- A 9-element array containing the components of the Matrix3x3.
-
-
-
- Determines the sum of two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- When the method completes, contains the sum of the two matrices.
-
-
-
- Determines the sum of two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- The sum of the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- When the method completes, contains the difference between the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- The difference between the two matrices.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- When the method completes, contains the scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Determines the product of two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Determines the product of two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- When the method completes, contains the scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Determines the quotient of two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- When the method completes, contains the quotient of the two matrices.
-
-
-
- Determines the quotient of two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- The quotient of the two matrices.
-
-
-
- Performs the exponential operation on a Matrix3x3.
-
- The Matrix3x3 to perform the operation on.
- The exponent to raise the Matrix3x3 to.
- When the method completes, contains the exponential Matrix3x3.
- Thrown when the is negative.
-
-
-
- Performs the exponential operation on a Matrix3x3.
-
- The Matrix3x3 to perform the operation on.
- The exponent to raise the Matrix3x3 to.
- The exponential Matrix3x3.
- Thrown when the is negative.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to be negated.
- When the method completes, contains the negated Matrix3x3.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to be negated.
- The negated Matrix3x3.
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two matrices.
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two matrices.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified Matrix3x3.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified Matrix3x3.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- The transpose of the specified Matrix3x3.
-
-
-
- Calculates the inverse of the specified Matrix3x3.
-
- The Matrix3x3 whose inverse is to be calculated.
- When the method completes, contains the inverse of the specified Matrix3x3.
-
-
-
- Calculates the inverse of the specified Matrix3x3.
-
- The Matrix3x3 whose inverse is to be calculated.
- The inverse of the specified Matrix3x3.
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthogonalize.
- When the method completes, contains the orthogonalized Matrix3x3.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthogonalize.
- The orthogonalized Matrix3x3.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthonormalize.
- When the method completes, contains the orthonormalized Matrix3x3.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthonormalize.
- The orthonormalized Matrix3x3.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Brings the Matrix3x3 into upper triangular form using elementary row operations.
-
- The Matrix3x3 to put into upper triangular form.
- When the method completes, contains the upper triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into upper triangular form using elementary row operations.
-
- The Matrix3x3 to put into upper triangular form.
- The upper triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into lower triangular form using elementary row operations.
-
- The Matrix3x3 to put into lower triangular form.
- When the method completes, contains the lower triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into lower triangular form using elementary row operations.
-
- The Matrix3x3 to put into lower triangular form.
- The lower triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into row echelon form using elementary row operations;
-
- The Matrix3x3 to put into row echelon form.
- When the method completes, contains the row echelon form of the Matrix3x3.
-
-
-
- Brings the Matrix3x3 into row echelon form using elementary row operations;
-
- The Matrix3x3 to put into row echelon form.
- When the method completes, contains the row echelon form of the Matrix3x3.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard Matrix3x3.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard Matrix3x3.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard Matrix3x3.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard Matrix3x3.
-
-
-
- Creates a left-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at Matrix3x3.
-
-
-
- Creates a left-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at Matrix3x3.
-
-
-
- Creates a right-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at Matrix3x3.
-
-
-
- Creates a right-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 from a quaternion.
-
- The quaternion to use to build the Matrix3x3.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 from a quaternion.
-
- The quaternion to use to build the Matrix3x3.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- The created rotation Matrix3x3.
-
-
-
- Adds two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- The sum of the two matrices.
-
-
-
- Assert a Matrix3x3 (return it unchanged).
-
- The Matrix3x3 to assert (unchanged).
- The asserted (unchanged) Matrix3x3.
-
-
-
- Subtracts two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- The difference between the two matrices.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to negate.
- The negated Matrix3x3.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Multiplies two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Divides two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- The quotient of the two matrices.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Convert the 3x3 Matrix to a 4x4 Matrix.
-
- A 4x4 Matrix with zero translation and M44=1
-
-
-
- Convert the 4x4 Matrix to a 3x3 Matrix.
-
- A 3x3 Matrix
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified are equal.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a four dimensional mathematical quaternion.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The identity (0, 0, 0, 1).
-
-
-
-
- The X component of the quaternion.
-
-
-
-
- The Y component of the quaternion.
-
-
-
-
- The Z component of the quaternion.
-
-
-
-
- The W component of the quaternion.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the components.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X, Y, and Z components.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the quaternion.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the quaternion.
- Initial value for the Y component of the quaternion.
- Initial value for the Z component of the quaternion.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements.
- Thrown when is null.
- Thrown when contains more or less than four elements.
-
-
-
- Gets a value indicating whether this instance is equivalent to the identity quaternion.
-
-
- true if this instance is an identity quaternion; otherwise, false.
-
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets the angle of the quaternion.
-
- The quaternion's angle.
-
-
-
- Gets the axis components of the quaternion.
-
- The axis components of the quaternion.
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, Z, or W component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 3].
-
-
-
- Conjugates the quaternion.
-
-
-
-
- Conjugates and renormalizes the quaternion.
-
-
-
-
- Calculates the length of the quaternion.
-
- The length of the quaternion.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the quaternion.
-
- The squared length of the quaternion.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the quaternion into a unit quaternion.
-
-
-
-
- Creates an array containing the elements of the quaternion.
-
- A four-element array containing the components of the quaternion.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- When the method completes, contains the sum of the two quaternions.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- The sum of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- When the method completes, contains the difference of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- The difference of the two quaternions.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- When the method completes, contains the scaled quaternion.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- When the method completes, contains the multiplied quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- The multiplied quaternion.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- When the method completes, contains a quaternion facing in the opposite direction.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- A quaternion facing in the opposite direction.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Conjugates a quaternion.
-
- The quaternion to conjugate.
- When the method completes, contains the conjugated quaternion.
-
-
-
- Conjugates a quaternion.
-
- The quaternion to conjugate.
- The conjugated quaternion.
-
-
-
- Calculates the dot product of two quaternions.
-
- First source quaternion.
- Second source quaternion.
- When the method completes, contains the dot product of the two quaternions.
-
-
-
- Calculates the dot product of two quaternions.
-
- First source quaternion.
- Second source quaternion.
- The dot product of the two quaternions.
-
-
-
- Exponentiates a quaternion.
-
- The quaternion to exponentiate.
- When the method completes, contains the exponentiated quaternion.
-
-
-
- Exponentiates a quaternion.
-
- The quaternion to exponentiate.
- The exponentiated quaternion.
-
-
-
- Conjugates and renormalizes the quaternion.
-
- The quaternion to conjugate and renormalize.
- When the method completes, contains the conjugated and renormalized quaternion.
-
-
-
- Conjugates and renormalizes the quaternion.
-
- The quaternion to conjugate and renormalize.
- The conjugated and renormalized quaternion.
-
-
-
- Performs a linear interpolation between two quaternions.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two quaternions.
-
- This method performs the linear interpolation based on the following formula.
- start + (end - start) * amount
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two quaternion.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two quaternions.
-
- This method performs the linear interpolation based on the following formula.
- start + (end - start) * amount
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Calculates the natural logarithm of the specified quaternion.
-
- The quaternion whose logarithm will be calculated.
- When the method completes, contains the natural logarithm of the quaternion.
-
-
-
- Calculates the natural logarithm of the specified quaternion.
-
- The quaternion whose logarithm will be calculated.
- The natural logarithm of the quaternion.
-
-
-
- Converts the quaternion into a unit quaternion.
-
- The quaternion to normalize.
- When the method completes, contains the normalized quaternion.
-
-
-
- Converts the quaternion into a unit quaternion.
-
- The quaternion to normalize.
- The normalized quaternion.
-
-
-
- Creates a quaternion given a rotation and an axis.
-
- The axis of rotation.
- The angle of rotation.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a rotation and an axis.
-
- The axis of rotation.
- The angle of rotation.
- The newly created quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard quaternion.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard quaternion.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard quaternion.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- The newly created quaternion.
-
-
-
- Creates a quaternion given a yaw, pitch, and roll value.
-
- The yaw of rotation.
- The pitch of rotation.
- The roll of rotation.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a yaw, pitch, and roll value.
-
- The yaw of rotation.
- The pitch of rotation.
- The roll of rotation.
- The newly created quaternion.
-
-
-
- Interpolates between two quaternions, using spherical linear interpolation.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the spherical linear interpolation of the two quaternions.
-
-
-
- Interpolates between two quaternions, using spherical linear interpolation.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- The spherical linear interpolation of the two quaternions.
-
-
-
- Interpolates between quaternions, using spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- Value between 0 and 1 indicating the weight of interpolation.
- When the method completes, contains the spherical quadrangle interpolation of the quaternions.
-
-
-
- Interpolates between quaternions, using spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- Value between 0 and 1 indicating the weight of interpolation.
- The spherical quadrangle interpolation of the quaternions.
-
-
-
- Sets up control points for spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- An array of three quaternions that represent control points for spherical quadrangle interpolation.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- The sum of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- The difference of the two quaternions.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- A quaternion facing in the opposite direction.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- The multiplied quaternion.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a two dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0).
-
-
-
-
- The Y unit (0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- Copies to a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X and Y components of the vector. This must be an array with two elements.
- Thrown when is null.
- Thrown when contains more or less than two elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X or Y component, depending on the index.
- The index of the component to access. Use 0 for the X component and 1 for the Y component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 1].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A two-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 2D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 2D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Saturates this instance in the range [0,1]
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- When the method completes, contains the reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- The reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 2D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 2D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 2D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 2D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 2D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- When the method completes, contains the transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- The transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation on an array of vectors using the given .
-
- The array of coordinate vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- When the method completes, contains the transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- The transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation on an array of vectors using the given .
-
- The array of normal vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a three dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0, 0).
-
-
-
-
- The Y unit (0, 1, 0).
-
-
-
-
- The Z unit (0, 0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- A unit designating up (0, 0, 1).
-
-
-
-
- A unit designating down (0, 0, -1).
-
-
-
-
- A unit designating left (-1, 0, 0).
-
-
-
-
- A unit designating right (1, 0, 0).
-
-
-
-
- A unit designating forward in a right-handed coordinate system (0, 1, 0).
-
-
-
-
- A unit designating forward in a left-handed coordinate system (0, -1, 0).
-
-
-
-
- A unit designating backward in a right-handed coordinate system (0, -1, 0).
-
-
-
-
- A unit designating backward in a left-handed coordinate system (0, 1, 0).
-
-
-
-
-
-
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- The Z component of the vector.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
- Initial value for the Z component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.
- Thrown when is null.
- Thrown when contains more or less than three elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, or Z component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 2].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A three-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiply a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiply a vector with another by performing component-wise multiplication.
-
- The first vector to Multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
-
- A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 3D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
-
- A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 3D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Calculates the cross product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains he cross product of the two vectors.
-
-
-
- Calculates the cross product of two vectors.
-
- First source vector.
- Second source vector.
- The cross product of the two vectors.
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Tests whether one 3D vector is near another 3D vector.
-
- The left vector.
- The right vector.
- The epsilon.
- true if left and right are near another 3D, false otherwise
-
-
-
- Tests whether one 3D vector is near another 3D vector.
-
- The left vector.
- The right vector.
- The epsilon.
- true if left and right are near another 3D, false otherwise
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- When the method completes, contains the vector in screen space.
-
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- The vector in screen space.
-
-
-
- Projects a 3D vector from screen space into object space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- When the method completes, contains the vector in object space.
-
-
-
- Projects a 3D vector from screen space into object space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- The vector in object space.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- When the method completes, contains the reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- The reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 3D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 3D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- When the method completes, contains the transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- The transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation on an array of vectors using the given .
-
- The array of coordinate vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- When the method completes, contains the transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- The transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation on an array of vectors using the given .
-
- The array of normal vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with added scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a four dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0, 0, 0).
-
-
-
-
- The Y unit (0, 1, 0, 0).
-
-
-
-
- The Z unit (0, 0, 1, 0).
-
-
-
-
- The W unit (0, 0, 0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- The Z component of the vector.
-
-
-
-
- The W component of the vector.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
- Initial value for the Z component of the vector.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X, Y, and Z components.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the vector.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
- Thrown when is null.
- Thrown when contains more or less than four elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, Z, or W component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 3].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A four-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 4D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 4D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 4D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 4D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 4D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 4D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
-
-
-
-
- Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
- Can be used for objects, vehicles and peds.
-
- Example of enemy:
- 
- Example of friend:
- 
-
-
-
-
- Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
-
- Example image:
- 
-
-
-
-
- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
- collection - PedDecorationCollection filename hash
- overlay - Item name hash
- Example:
- Entry inside "mpbeach_overlays.xml" -
- <Item>
- <uvPos x="0.500000" y="0.500000" />
- <scale x="0.600000" y="0.500000" />
- <rotation value="0.000000" />
- <nameHash>FM_Hair_Fuzz</nameHash>
- <txdHash>mp_hair_fuzz</txdHash>
- <txtHash>mp_hair_fuzz</txtHash>
- <zone>ZONE_HEAD</zone>
- <type>TYPE_TATTOO</type>
- <faction>FM</faction>
- <garment>All</garment>
- <gender>GENDER_DONTCARE</gender>
- <award />
- <awardLevel />
- </Item>
- Code:
- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
-
-
-
-
- Adds a handler for changes to a state bag.
-
- The function called expects to match the following signature:
-
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
-
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
-
- At this time, the change handler can't opt to reject changes.
-
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
-
-
- Applies a force to the specified entity.
-
- **List of force types (p1)**:
-
- ```
- public enum ForceType
- {
- MinForce = 0,
- MaxForceRot = 1,
- MinForce2 = 2,
- MaxForceRot2 = 3,
- ForceNoRot = 4,
- ForceRotPlusForce = 5
- }
- ```
-
- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- Returns whether or not the specified player has enough information to start a commerce session for.
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- CLEAR_PED_SECONDARY_TASK
-
-
-
-
- Clear a ped's tasks. Stop animations and other tasks created by scripts.
-
-
-
-
- Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
-
-
-
-
- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);
- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.
-
-
-
-
- Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
-
-
- Creates an object (prop) with the specified model centered at the specified position.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
-
-
- Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
- (e.g. using REQUEST_MODEL).
-
-
-
-
- CREATE_PED_INSIDE_VEHICLE
-
-
-
-
- Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
- ```
- NativeDB Added Parameter 8: BOOL p7
- ```
-
-
-
-
- Equivalent to CREATE_VEHICLE, but it uses 'server setter' logic (like the former CREATE_AUTOMOBILE) as a workaround for
- reliability concerns regarding entity creation RPC.
-
- Unlike CREATE_AUTOMOBILE, this supports other vehicle types as well.
-
-
-
-
- Deletes the specified entity.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
-
-
- Nonsynchronous [DELETE_RESOURCE_KVP](#\_0x7389B5DF) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- DOES_BOAT_SINK_WHEN_WRECKED
-
-
-
-
- DOES_ENTITY_EXIST
-
-
-
-
- Requests whether or not the player owns the specified SKU.
-
-
-
-
- Requests whether or not the player owns the specified package.
-
-
-
-
- DROP_PLAYER
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- ENABLE_ENHANCED_HOST_SUPPORT
-
-
-
-
- END_FIND_KVP
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
-
-
- FLAG_SERVER_AS_PRIVATE
-
-
-
-
- Nonsynchronous operations will not wait for a disk/filesystem flush before returning from a write or delete call. They will be much faster than their synchronous counterparts (e.g., bulk operations), however, a system crash may lose the data to some recent operations.
-
- This native ensures all `_NO_SYNC` operations are synchronized with the disk/filesystem.
-
-
-
-
- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.
-
-
-
-
- GET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
-
-
-
-
- Returns all object handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns all peds handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns all vehicle handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns the current console output buffer.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
-
-
- Returns the name of the currently executing resource.
-
-
-
-
- Gets the entity that this entity is attached to.
-
-
-
-
- GET_ENTITY_COLLISION_DISABLED
-
-
-
-
- Gets the current coordinates for a specified entity. This native is used server side when using OneSync.
-
- See [GET_ENTITY_COORDS](#\_0x3FEF770D40960D5A) for client side.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
-
-
- GET_ENTITY_HEADING
-
-
-
-
- Only works for vehicle and peds
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- GET_ENTITY_MODEL
-
-
-
-
- This native gets an entity's population type.
-
-
-
-
- GET_ENTITY_ROTATION
-
-
-
-
- GET_ENTITY_ROTATION_VELOCITY
-
-
-
-
- Gets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- GET_ENTITY_SCRIPT
-
-
-
-
- Gets the current speed of the entity in meters per second.
-
- ```
- To convert to MPH: speed * 2.236936
- To convert to KPH: speed * 3.6
- ```
-
-
-
-
- Gets the entity type (as an integer), which can be one of the following defined down below:
-
- **The following entities will return type `1`:**
-
- * Ped
- * Player
- * Animal (Red Dead Redemption 2)
- * Horse (Red Dead Redemption 2)
-
- **The following entities will return type `2`:**
-
- * Automobile
- * Bike
- * Boat
- * Heli
- * Plane
- * Submarine
- * Trailer
- * Train
- * DraftVeh (Red Dead Redemption 2)
-
- **The following entities will return type `3`:**
-
- * Object
- * Door
- * Pickup
-
- Otherwise, a value of `0` will be returned.
-
-
-
-
- GET_ENTITY_VELOCITY
-
-
-
-
- Returns the internal build number of the current game being executed.
-
- Possible values:
-
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * 2944
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
-
-
- Returns the current game being executed.
-
- Possible values:
-
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
-
-
- Gets the current game timer in milliseconds.
-
-
-
-
- This native converts the passed string to a hash.
-
-
-
-
- GET_HELI_MAIN_ROTOR_HEALTH
-
-
-
-
- GET_HELI_TAIL_ROTOR_HEALTH
-
-
-
-
- GET_HOST_ID
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- GET_IS_VEHICLE_ENGINE_RUNNING
-
-
-
-
- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
-
-
-
-
- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
-
-
-
-
- See the client-side [GET_LANDING_GEAR_STATE](#\_0x9B0F3DCA3DB0F4CD) native for a description of landing gear states.
-
-
-
-
- GET_LAST_PED_IN_VEHICLE_SEAT
-
-
-
-
- GET_NUM_PLAYER_IDENTIFIERS
-
-
-
-
- GET_NUM_PLAYER_INDICES
-
-
-
-
- GET_NUM_PLAYER_TOKENS
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- GET_PASSWORD_HASH
-
-
-
-
- GET_PED_ARMOUR
-
-
-
-
- GET_PED_CAUSE_OF_DEATH
-
-
-
-
- GET_PED_DESIRED_HEADING
-
-
-
-
- GET_PED_IN_VEHICLE_SEAT
-
-
-
-
- GET_PED_MAX_HEALTH
-
-
-
-
- Gets the script task command currently assigned to the ped.
-
-
-
-
- Gets the stage of the peds scripted task.
-
-
-
-
- Get the last entity that damaged the ped. This native is used server side when using OneSync.
-
-
-
-
- Get the entity that killed the ped. This native is used server side when using OneSync.
-
-
-
-
- Gets the type of a ped's specific task given an index of the CPedTaskSpecificDataNode nodes.
- A ped will typically have a task at index 0, if a ped has multiple tasks at once they will be in the order 0, 1, 2, etc.
-
-
-
-
- GET_PED_STEALTH_MOVEMENT
-
-
-
-
- Gets the current camera rotation for a specified player. This native is used server side when using OneSync.
-
-
-
-
- GET_PLAYER_ENDPOINT
-
-
-
-
- Gets the current fake wanted level for a specified player. This native is used server side when using OneSync.
-
-
-
-
- GET_PLAYER_FROM_INDEX
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
-
-
- GET_PLAYER_GUID
-
-
-
-
- GET_PLAYER_IDENTIFIER
-
-
-
-
- Get an identifier from a player by the type of the identifier.
-
-
-
-
- GET_PLAYER_INVINCIBLE
-
-
-
-
- GET_PLAYER_LAST_MSG
-
-
-
-
- GET_PLAYER_MAX_ARMOUR
-
-
-
-
- GET_PLAYER_MAX_HEALTH
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
-
-
- GET_PLAYER_NAME
-
-
-
-
- GET_PLAYER_PED
-
-
-
-
- GET_PLAYER_PING
-
-
-
-
- Gets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- GET_PLAYER_TEAM
-
-
-
-
- Gets the amount of time player has spent evading the cops.
- Counter starts and increments only when cops are chasing the player.
- If the player is evading, the timer will pause.
-
-
-
-
- Gets a player's token. Tokens can be used to enhance banning logic, however are specific to a server.
-
-
-
-
- Gets the current known coordinates for the specified player from cops perspective. This native is used server side when using OneSync.
-
-
-
-
- Returns given players wanted level server-side.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
-
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- Returns the physical on-disk path of the specified resource.
-
-
-
-
- Returns the current state of the specified resource.
-
-
-
-
- Returns a hash of selected ped weapon.
-
-
-
-
- Returns the value of a state bag key.
-
-
-
-
- GET_TRAIN_CARRIAGE_ENGINE
-
-
-
-
- GET_TRAIN_CARRIAGE_INDEX
-
-
-
-
- GET_VEHICLE_BODY_HEALTH
-
-
-
-
- GET_VEHICLE_COLOURS
-
-
-
-
- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
-
-
-
-
- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
-
-
-
-
- GET_VEHICLE_DASHBOARD_COLOUR
-
-
-
-
- GET_VEHICLE_DIRT_LEVEL
-
-
-
-
- Currently it only works when set to "all players".
-
-
-
-
- ```lua
- enum_VehicleLockStatus = {
- None = 0,
- Locked = 2,
- LockedForPlayer = 3,
- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
- CanBeBrokenIntoPersist = 8, -- Can be broken into persist
- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
- }
- ```
-
- It should be [noted](https://forum.cfx.re/t/4863241) that while the [client-side command](#\_0x25BC98A59C2EA962) and its
- setter distinguish between states 0 (unset) and 1 (unlocked), the game will synchronize both as state 0, so the server-side
- command will return only '0' if unlocked.
-
-
-
-
- GET_VEHICLE_DOOR_STATUS
-
-
-
-
- GET_VEHICLE_ENGINE_HEALTH
-
-
-
-
- GET_VEHICLE_EXTRA_COLOURS
-
-
-
-
- Gets the flight nozzel position for the specified vehicle. See the client-side [\_GET_VEHICLE_FLIGHT_NOZZLE_POSITION](#\_0xDA62027C8BDB326E) native for usage examples.
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_HEADLIGHTS_COLOUR
-
-
-
-
- Gets the lock on state for the specified vehicle. See the client-side [GET_VEHICLE_HOMING_LOCKON_STATE](#\_0xE6B0E8CFC3633BF0) native for a description of lock on states.
-
-
-
-
- GET_VEHICLE_INTERIOR_COLOUR
-
-
-
-
- GET_VEHICLE_LIGHTS_STATE
-
-
-
-
- GET_VEHICLE_LIVERY
-
-
-
-
- Gets the vehicle that is locked on to for the specified vehicle.
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
-
-
-
-
- Gets the vehicle the specified Ped is/was in depending on bool value. This native is used server side when using OneSync.
-
-
-
-
- GET_VEHICLE_PETROL_TANK_HEALTH
-
-
-
-
- GET_VEHICLE_RADIO_STATION_INDEX
-
-
-
-
- GET_VEHICLE_ROOF_LIVERY
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- Returns the type of the passed vehicle.
-
- ### Vehicle types
-
- * automobile
- * bike
- * boat
- * heli
- * plane
- * submarine
- * trailer
- * train
-
-
-
-
- GET_VEHICLE_TYRE_SMOKE_COLOR
-
-
-
-
- GET_VEHICLE_WHEEL_TYPE
-
-
-
-
- GET_VEHICLE_WINDOW_TINT
-
-
-
-
- GIVE_WEAPON_COMPONENT_TO_PED
-
-
-
-
- GIVE_WEAPON_TO_PED
-
-
-
-
- HAS_ENTITY_BEEN_MARKED_AS_NO_LONGER_NEEDED
-
-
-
-
- HAS_VEHICLE_BEEN_DAMAGED_BY_BULLETS
-
-
-
-
- HAS_VEHICLE_BEEN_OWNED_BY_PLAYER
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- IS_BOAT_ANCHORED_AND_FROZEN
-
-
-
-
- IS_BOAT_WRECKED
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
-
-
- A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
-
-
-
-
- This native checks if the given entity is visible.
-
-
-
-
- IS_FLASH_LIGHT_ON
-
-
-
-
- This native checks if the given ped is a player.
-
-
-
-
- IS_PED_HANDCUFFED
-
-
-
-
- IS_PED_RAGDOLL
-
-
-
-
- IS_PED_STRAFING
-
-
-
-
- IS_PED_USING_ACTION_MODE
-
-
-
-
- IS_PLAYER_ACE_ALLOWED
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded.
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded from Tebex.
-
-
-
-
- This will return true if the player is evading wanted level, meaning that the wanted level stars are blink.
- Otherwise will return false.
-
- If the player is not wanted, it simply returns false.
-
-
-
-
- IS_PLAYER_USING_SUPER_JUMP
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- IS_VEHICLE_EXTRA_TURNED_ON
-
-
-
-
- IS_VEHICLE_SIREN_ON
-
-
-
-
- IS_VEHICLE_TYRE_BURST
-
-
-
-
- See the client-side [IS_VEHICLE_WINDOW_INTACT](https://docs.fivem.net/natives/?\_0x46E571A0E20D01F1) for a window indexes list.
-
-
-
-
- Requests the commerce data for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
-
-
- Requests the commerce data from Tebex for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
-
-
- Create a permanent voice channel.
-
-
-
-
- Checks if the player is currently muted
-
-
-
-
- Mutes or unmutes the specified player
-
-
-
-
- NETWORK_GET_ENTITY_FROM_NETWORK_ID
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
-
-
- Returns the first owner ID of the specified entity.
-
-
-
-
- NETWORK_GET_NETWORK_ID_FROM_ENTITY
-
-
-
-
- NETWORK_GET_VOICE_PROXIMITY_OVERRIDE
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL_EX
-
-
-
-
- Prints 'structured trace' data to the server `file descriptor 3` channel. This is not generally useful outside of
- server monitoring utilities.
-
-
-
-
- Scope entry for profiler.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
-
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
-
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
-
- **Example result**:
-
- 
-
-
-
-
- Registers a listener for console output messages.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Registers a cached resource asset with the resource system, similar to the automatic scanning of the `stream/` folder.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
-
-
- Registers a build task factory for resources.
- The function should return an object (msgpack map) with the following fields:
-
- ```
- {
- // returns whether the specific resource should be built
- shouldBuild = func(resourceName: string): bool,
-
- // asynchronously start building the specific resource.
- // call cb when completed
- build = func(resourceName: string, cb: func(success: bool, status: string): void): void
- }
- ```
-
-
-
-
- Parameter `p1` does not seem to be used or referenced in game binaries.\
- **Note:** When called for networked entities, a `CRemoveAllWeaponsEvent` will be created per request.
-
-
-
-
- Removes the blip from your map.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Removes a handler for changes to a state bag.
-
-
-
-
- REMOVE_WEAPON_COMPONENT_FROM_PED
-
-
-
-
- This native removes a specified weapon from your selected ped.
- Weapon Hashes: pastebin.com/0wwDZgkF
- Example:
- C#:
- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);
- C++:
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);
- The code above removes the knife from the player.
-
-
-
-
- Requests the specified player to buy the passed SKU. This'll pop up a prompt on the client, which upon acceptance
- will open the browser prompting further purchase details.
-
-
-
-
- Writes the specified data to a file in the specified resource.
- Using a length of `-1` will automatically detect the length assuming the data is a C string.
-
-
-
-
- Scans the resources in the specified resource root. This function is only available in the 'monitor mode' process and is
- not available for user resources.
-
-
-
-
- Schedules the specified resource to run a tick as soon as possible, bypassing the server's fixed tick rate.
-
-
-
-
- <!--
- _loc1_.map((name, idx) => `| ${idx} | ${name} |  |`).join('\n')
- -->
-
- Sets the displayed sprite for a specific blip.
-
- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
-
-
-
-
- SET_CONVAR
-
-
-
-
- Used to replicate a server variable onto clients.
-
-
-
-
- SET_CONVAR_SERVER_INFO
-
-
-
-
- SET_CURRENT_PED_WEAPON
-
-
-
-
- Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
-
-
-
-
- It overrides the default distance culling radius of an entity. Set to `0.0` to reset.
- If you want to interact with an entity outside of your players' scopes set the radius to a huge number.
-
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
-
-
- Set the heading of an entity in degrees also known as "Yaw".
-
-
-
-
- It allows to flag an entity to ignore the request control filter policy.
-
-
-
-
- SET_ENTITY_ROTATION
-
-
-
-
- Sets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
-
-
-
-
- SET_GAME_TYPE
-
-
-
-
- Sets the handler for HTTP requests made to the executing resource.
-
- Example request URL: `http://localhost:30120/http-test/ping` - this request will be sent to the `http-test` resource with the `/ping` path.
-
- The handler function assumes the following signature:
-
- ```ts
- function HttpHandler(
- request: {
- address: string;
- headers: Record<string, string>;
- method: string;
- path: string;
- setDataHandler(handler: (data: string) => void): void;
- setDataHandler(handler: (data: ArrayBuffer) => void, binary: 'binary'): void;
- setCancelHandler(handler: () => void): void;
- },
- response: {
- writeHead(code: number, headers?: Record<string, string | string[]>): void;
- write(data: string): void;
- send(data?: string): void;
- }
- ): void;
- ```
-
- * **request**: The request object.
- * **address**: The IP address of the request sender.
- * **path**: The path to where the request was sent.
- * **headers**: The headers sent with the request.
- * **method**: The request method.
- * **setDataHandler**: Sets the handler for when a data body is passed with the request. Additionally you can pass the `'binary'` argument to receive a `BufferArray` in JavaScript or `System.Byte[]` in C# (has no effect in Lua).
- * **setCancelHandler**: Sets the handler for when the request is cancelled.
- * **response**: An object to control the response.
- * **writeHead**: Sets the status code & headers of the response. Can be only called once and won't work if called after running other response functions.
- * **write**: Writes to the response body without sending it. Can be called multiple times.
- * **send**: Writes to the response body and then sends it along with the status code & headers, finishing the request.
-
-
-
-
- SET_MAP_NAME
-
-
-
-
- NativeDB Added Parameter 4: BOOL p3
-
-
-
-
- Sets the armor of the specified ped.
- ped: The Ped to set the armor of.
- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.
-
-
-
-
- SET_PED_CAN_RAGDOLL
-
-
-
-
- This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of components
-
- **0**: Face\
- **1**: Mask\
- **2**: Hair\
- **3**: Torso\
- **4**: Leg\
- **5**: Parachute / bag\
- **6**: Shoes\
- **7**: Accessory\
- **8**: Undershirt\
- **9**: Kevlar\
- **10**: Badge\
- **11**: Torso 2
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
-
- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
-
-
- cpp
- // Potential names and hash collisions included as comments
- enum ePedConfigFlags {
- _0x67D1A445 = 0,
- _0xC63DE95E = 1,
- CPED_CONFIG_FLAG_NoCriticalHits = 2,
- CPED_CONFIG_FLAG_DrownsInWater = 3,
- CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
- _0x37D196F4 = 5,
- _0xE2462399 = 6,
- CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
- _0xEDDEB838 = 8,
- _0xB398B6FD = 9,
- _0xF6664E68 = 10,
- _0xA05E7CA3 = 11,
- _0xCE394045 = 12,
- CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
- _0xCD8D1411 = 14,
- _0xB031F1A9 = 15,
- _0xFE65BEE3 = 16,
- CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
- _0x380165BD = 18,
- _0x07C045C7 = 19,
- _0x583B5E2D = 20,
- _0x475EDA58 = 21,
- _0x8629D05B = 22,
- _0x1522968B = 23,
- CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
- _0x4CC09C4B = 25,
- _0x034F3053 = 26,
- _0xD91BA7CC = 27,
- _0x5C8DC66E = 28,
- _0x8902EAA0 = 29,
- _0x6580B9D2 = 30,
- _0x0EF7A297 = 31,
- _0x6BF86E5B = 32,
- CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
- CPED_CONFIG_FLAG_HasHelmet = 34,
- CPED_CONFIG_FLAG_UseHelmet = 35,
- _0xEEB3D630 = 36,
- _0xB130D17B = 37,
- _0x5F071200 = 38,
- CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
- _0xC287AAFF = 40,
- _0x203328CC = 41,
- CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
- CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
- CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
- _0xEC4A8ACF = 45,
- _0xDB115BFA = 46,
- CPED_CONFIG_FLAG_PedBeingDeleted = 47,
- CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
- _0xF8E99565 = 49,
- _0xDD17FEE6 = 50,
- _0x7ED9B2C9 = 51,
- _0x655E8618 = 52,
- _0x5A6C1F6E = 53,
- _0xD749FC41 = 54,
- _0x357F63F3 = 55,
- _0xC5E60961 = 56,
- _0x29275C3E = 57,
- CPED_CONFIG_FLAG_IsFiring = 58,
- CPED_CONFIG_FLAG_WasFiring = 59,
- CPED_CONFIG_FLAG_IsStanding = 60,
- CPED_CONFIG_FLAG_WasStanding = 61,
- CPED_CONFIG_FLAG_InVehicle = 62,
- CPED_CONFIG_FLAG_OnMount = 63,
- CPED_CONFIG_FLAG_AttachedToVehicle = 64,
- CPED_CONFIG_FLAG_IsSwimming = 65,
- CPED_CONFIG_FLAG_WasSwimming = 66,
- CPED_CONFIG_FLAG_IsSkiing = 67,
- CPED_CONFIG_FLAG_IsSitting = 68,
- CPED_CONFIG_FLAG_KilledByStealth = 69,
- CPED_CONFIG_FLAG_KilledByTakedown = 70,
- CPED_CONFIG_FLAG_Knockedout = 71,
- _0x3E3C4560 = 72,
- _0x2994C7B7 = 73,
- _0x6D59D275 = 74,
- CPED_CONFIG_FLAG_UsingCoverPoint = 75,
- CPED_CONFIG_FLAG_IsInTheAir = 76,
- _0x2D493FB7 = 77,
- CPED_CONFIG_FLAG_IsAimingGun = 78,
- _0x14D69875 = 79,
- _0x40B05311 = 80,
- _0x8B230BC5 = 81,
- _0xC74E5842 = 82,
- _0x9EA86147 = 83,
- _0x674C746C = 84,
- _0x3E56A8C2 = 85,
- _0xC144A1EF = 86,
- _0x0548512D = 87,
- _0x31C93909 = 88,
- _0xA0269315 = 89,
- _0xD4D59D4D = 90,
- _0x411D4420 = 91,
- _0xDF4AEF0D = 92,
- CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
- _0x300E4CD3 = 94,
- _0xF1C5BF04 = 95,
- _0x89C2EF13 = 96,
- CPED_CONFIG_FLAG_VaultFromCover = 97,
- _0x02A852C8 = 98,
- _0x3D9407F1 = 99,
- _0x319B4558 = 100,
- CPED_CONFIG_FLAG_ForcedAim = 101,
- _0xB942D71A = 102,
- _0xD26C55A8 = 103,
- _0xB89E703B = 104,
- CPED_CONFIG_FLAG_ForceReload = 105,
- _0xD9E73DA2 = 106,
- _0xFF71DC2C = 107,
- _0x1E27E8D8 = 108,
- _0xF2C53966 = 109,
- _0xC4DBE247 = 110,
- _0x83C0A4BF = 111,
- _0x0E0FAF8C = 112,
- _0x26616660 = 113,
- _0x43B80B79 = 114,
- _0x0D2A9309 = 115,
- _0x12C1C983 = 116,
- CPED_CONFIG_FLAG_BumpedByPlayer = 117,
- _0xE586D504 = 118,
- _0x52374204 = 119,
- CPED_CONFIG_FLAG_IsHandCuffed = 120,
- CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
- CPED_CONFIG_FLAG_DisableMelee = 122,
- _0xFE714397 = 123,
- _0xB3E660BD = 124,
- _0x5FED6BFD = 125,
- _0xC9D6F66F = 126,
- _0x519BC986 = 127,
- CPED_CONFIG_FLAG_CanBeAgitated = 128,
- _0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
- _0xDAB70E9F = 130,
- _0xE569438A = 131,
- _0xBBC77D6D = 132,
- _0xCB59EF0F = 133,
- _0x8C5EA971 = 134,
- CPED_CONFIG_FLAG_IsScuba = 135,
- CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
- _0xDCE59B58 = 137,
- CPED_CONFIG_FLAG_RidingTrain = 138,
- CPED_CONFIG_FLAG_ArrestResult = 139,
- CPED_CONFIG_FLAG_CanAttackFriendly = 140,
- _0x98A4BE43 = 141,
- _0x6901E731 = 142,
- _0x9EC9BF6C = 143,
- _0x42841A8F = 144,
- CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
- CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
- CPED_CONFIG_FLAG_StairsDetected = 147,
- CPED_CONFIG_FLAG_SlopeDetected = 148,
- _0x1A15670B = 149,
- _0x61786EE5 = 150,
- _0xCB9186BD = 151,
- _0xF0710152 = 152,
- _0x43DFE310 = 153,
- _0xC43C624E = 154,
- CPED_CONFIG_FLAG_CanPerformArrest = 155,
- CPED_CONFIG_FLAG_CanPerformUncuff = 156,
- CPED_CONFIG_FLAG_CanBeArrested = 157,
- _0xF7960FF5 = 158,
- _0x59564113 = 159,
- _0x0C6C3099 = 160,
- _0x645F927A = 161,
- _0xA86549B9 = 162,
- _0x8AAF337A = 163,
- _0x13BAA6E7 = 164,
- _0x5FB9D1F5 = 165,
- CPED_CONFIG_FLAG_IsInjured = 166,
- _0x6398A20B = 167,
- _0xD8072639 = 168,
- _0xA05B1845 = 169,
- _0x83F6D220 = 170,
- _0xD8430331 = 171,
- _0x4B547520 = 172,
- _0xE66E1406 = 173,
- _0x1C4BFE0C = 174,
- _0x90008BFA = 175,
- _0x07C7A910 = 176,
- _0xF15F8191 = 177,
- _0xCE4E8BE2 = 178,
- _0x1D46E4F2 = 179,
- CPED_CONFIG_FLAG_IsInCustody = 180,
- _0xE4FD9B3A = 181,
- _0x67AE0812 = 182,
- CPED_CONFIG_FLAG_IsAgitated = 183,
- CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
- _0x7B2D325E = 185,
- CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
- CPED_CONFIG_FLAG_HasHurtStarted = 187,
- CPED_CONFIG_FLAG_DisableHurt = 188,
- CPED_CONFIG_FLAG_PlayerIsWeird = 189,
- _0x32FC208B = 190,
- _0x0C296E5A = 191,
- _0xE63B73EC = 192,
- _0x04E9CC80 = 193,
- CPED_CONFIG_FLAG_UsingScenario = 194,
- CPED_CONFIG_FLAG_VisibleOnScreen = 195,
- _0xD88C58A1 = 196,
- _0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
- _0xEA02B420 = 198,
- _0x3F559CFF = 199,
- _0x8C55D029 = 200,
- _0x5E6466F6 = 201,
- _0xEB5AD706 = 202,
- _0x0EDDDDE7 = 203,
- _0xA64F7B1D = 204,
- _0x48532CBA = 205,
- _0xAA25A9E7 = 206,
- _0x415B26B9 = 207,
- CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
- CPED_CONFIG_FLAG_DodgedPlayer = 209,
- _0x67405504 = 210,
- _0x75DDD68C = 211,
- _0x2AD879B4 = 212,
- _0x51486F91 = 213,
- _0x32F79E21 = 214,
- _0xBF099213 = 215,
- _0x054AC8E2 = 216,
- _0x14E495CC = 217,
- _0x3C7DF9DF = 218,
- _0x848FFEF2 = 219,
- CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
- _0x2618E1CF = 221,
- _0x84F722FA = 222,
- _0xD1B87B1F = 223,
- _0x728AA918 = 224,
- CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
- CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
- _0x59E91185 = 227,
- _0x1EA7225F = 228,
- CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
- _0x6DCA7D88 = 230,
- _0xFC3E572D = 231,
- _0x08E9F9CF = 232,
- _0x2D3BA52D = 233,
- _0xFD2F53EA = 234,
- _0x31A1B03B = 235,
- CPED_CONFIG_FLAG_IsHoldingProp = 236,
- _0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
- _0xCE57C9A3 = 238,
- _0x26149198 = 239,
- _0x1B33B598 = 240,
- _0x719B6E87 = 241,
- _0x13E8E8E8 = 242,
- _0xF29739AE = 243,
- _0xABEA8A74 = 244,
- _0xB60EA2BA = 245,
- _0x536B0950 = 246,
- _0x0C754ACA = 247,
- CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
- _0x12659168 = 249,
- _0x1BDF2F04 = 250,
- _0x7728FAA3 = 251,
- _0x6A807ED8 = 252,
- CPED_CONFIG_FLAG_OnStairs = 253,
- _0xE1A2F73F = 254,
- _0x5B3697C8 = 255,
- _0xF1EB20A9 = 256,
- _0x8B7DF407 = 257,
- _0x329DCF1A = 258,
- _0x8D90DD1B = 259,
- _0xB8A292B7 = 260,
- _0x8374B087 = 261,
- _0x2AF558F0 = 262,
- _0x82251455 = 263,
- _0x30CF498B = 264,
- _0xE1CD50AF = 265,
- _0x72E4AE48 = 266,
- _0xC2657EA1 = 267,
- _0x29FF6030 = 268,
- _0x8248A5EC = 269,
- CPED_CONFIG_FLAG_OnStairSlope = 270,
- _0xA0897933 = 271,
- CPED_CONFIG_FLAG_DontBlipCop = 272,
- CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
- _0xF7823618 = 274,
- _0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
- CPED_CONFIG_FLAG_EdgeDetected = 276,
- _0x92B67896 = 277,
- _0xCAD677C9 = 278,
- CPED_CONFIG_FLAG_AvoidTearGas = 279,
- _0x5276AC7B = 280,
- _0x1032692A = 281,
- _0xDA23E7F1 = 282,
- _0x9139724D = 283,
- _0xA1457461 = 284,
- _0x4186E095 = 285,
- _0xAC68E2EB = 286,
- CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
- CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
- _0x1B9EE8A1 = 289,
- _0xF3F5758C = 290,
- _0x2A9307F1 = 291,
- _0x7403D216 = 292,
- _0xA06A3C6C = 293,
- CPED_CONFIG_FLAG_DisableShockingEvents = 294,
- _0xF8DA25A5 = 295,
- _0x7EF55802 = 296,
- _0xB31F1187 = 297,
- _0x84315402 = 298,
- _0x0FD69867 = 299,
- _0xC7829B67 = 300,
- CPED_CONFIG_FLAG_DisablePedConstraints = 301,
- _0x6D23CF25 = 302,
- _0x2ADA871B = 303,
- _0x47BC8A58 = 304,
- _0xEB692FA5 = 305,
- _0x4A133C50 = 306,
- _0xC58099C3 = 307,
- _0xF3D76D41 = 308,
- _0xB0EEE9F2 = 309,
- CPED_CONFIG_FLAG_IsInCluster = 310,
- _0x0FA153EF = 311,
- _0xD73F5CD3 = 312,
- _0xD4136C22 = 313,
- _0xE404CA6B = 314,
- _0xB9597446 = 315,
- _0xD5C98277 = 316,
- _0xD5060A9C = 317,
- _0x3E5F1CBB = 318,
- _0xD8BE1D54 = 319,
- _0x0B1F191F = 320,
- _0xC995167A = 321,
- CPED_CONFIG_FLAG_HasHighHeels = 322,
- _0x86B01E54 = 323,
- _0x3A56FE15 = 324,
- _0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
- _0xBBF47729 = 326,
- _0x22B668A8 = 327,
- _0x2624D4D4 = 328,
- CPED_CONFIG_FLAG_DisableTalkTo = 329,
- CPED_CONFIG_FLAG_DontBlip = 330,
- CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
- _0x630F55F3 = 332,
- _0x150468FD = 333,
- _0x914EBD6B = 334,
- _0x79AF3B6D = 335,
- _0x75C7A632 = 336,
- _0x52D530E2 = 337,
- _0xDB2A90E0 = 338,
- _0x5922763D = 339,
- _0x12ADB567 = 340,
- _0x105C8518 = 341,
- _0x106F703D = 342,
- _0xED152C3E = 343,
- _0xA0EFE6A8 = 344,
- _0xBF348C82 = 345,
- _0xCDDFE830 = 346,
- _0x7B59BD9B = 347,
- _0x0124C788 = 348,
- CPED_CONFIG_FLAG_EquipJetpack = 349,
- _0x08D361A5 = 350,
- _0xE13D1F7C = 351,
- _0x40E25FB9 = 352,
- _0x930629D9 = 353,
- _0xECCF0C7F = 354,
- _0xB6E9613B = 355,
- _0x490C0478 = 356,
- _0xE8865BEA = 357,
- _0xF3C34A29 = 358,
- CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
- _0xF660E115 = 360,
- _0xAB0E6DED = 361,
- CPED_CONFIG_FLAG_HasReserveParachute = 362,
- CPED_CONFIG_FLAG_UseReserveParachute = 363,
- _0x5C5D9CD3 = 364,
- _0x8F7701F3 = 365,
- _0xBC4436AD = 366,
- _0xD7E07D37 = 367,
- _0x03C4FD24 = 368,
- _0x7675789A = 369,
- _0xB7288A88 = 370,
- _0xC06B6291 = 371,
- _0x95A4A805 = 372,
- _0xA8E9A042 = 373,
- CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
- _0xBAC674B3 = 375,
- _0x147F1FFB = 376,
- _0x4376DD79 = 377,
- _0xCD3DB518 = 378,
- _0xFE4BA4B6 = 379,
- _0x5DF03A55 = 380,
- _0xBCD816CD = 381,
- _0xCF02DD69 = 382,
- _0xF73AFA2E = 383,
- _0x80B9A9D0 = 384,
- _0xF601F7EE = 385,
- _0xA91350FC = 386,
- _0x3AB23B96 = 387,
- CPED_CONFIG_FLAG_IsClimbingLadder = 388,
- CPED_CONFIG_FLAG_HasBareFeet = 389,
- _0xB4B1CD4C = 390,
- _0x5459AFB8 = 391,
- _0x54F27667 = 392,
- _0xC11D3E8F = 393,
- _0x5419EB3E = 394,
- _0x82D8DBB4 = 395,
- _0x33B02D2F = 396,
- _0xAE66176D = 397,
- _0xA2692593 = 398,
- _0x714C7E31 = 399,
- _0xEC488AC7 = 400,
- _0xAE398504 = 401,
- _0xABC58D72 = 402,
- _0x5E5B9591 = 403,
- _0x6BA1091E = 404,
- _0x77840177 = 405,
- _0x1C7ACAC4 = 406,
- _0x124420E9 = 407,
- _0x75A65587 = 408,
- _0xDFD2D55B = 409,
- _0xBDD39919 = 410,
- _0x43DEC267 = 411,
- _0xE42B7797 = 412,
- CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
- _0x4F8149F5 = 414,
- _0xDD9ECA7A = 415,
- _0x9E7EF9D2 = 416,
- _0x2C6ED942 = 417,
- CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
- _0xA488727D = 419,
- _0xCFF5F6DE = 420,
- _0x6D614599 = 421,
- CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
- _0xFE401D26 = 423,
- CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
- _0x2B42AE82 = 425,
- _0x7A95734F = 426,
- _0xDF4D8617 = 427,
- _0x578F1F14 = 428,
- CPED_CONFIG_FLAG_DisableStartEngine = 429,
- CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
- _0x153C9500 = 431,
- _0xCB7A632E = 432,
- _0xDE727981 = 433,
- CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
- _0x12BBB935 = 435,
- _0xAD0A1277 = 436,
- _0xEA6AA46A = 437,
- CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
- _0xCB7F3A1E = 439,
- _0x50178878 = 440,
- _0x051B4F0D = 441,
- _0x2FC3DECC = 442,
- _0xC0030B0B = 443,
- _0xBBDAF1E9 = 444,
- _0x944FE59C = 445,
- _0x506FBA39 = 446,
- _0xDD45FE84 = 447,
- _0xE698AE75 = 448,
- _0x199633F8 = 449,
- CPED_CONFIG_FLAG_PedIsArresting = 450,
- CPED_CONFIG_FLAG_IsDecoyPed = 451,
- _0x3A251D83 = 452,
- _0xA56F6986 = 453,
- _0x1D19C622 = 454,
- _0xB68D3EAB = 455,
- CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
- _0x4BD5EBAD = 457,
- }
-
-
-
-
- Sets Ped Default Clothes
-
-
-
-
- For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
-
- **Other information:**
-
- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
-
- This native function is often called prior to calling natives such as:
-
- * [`SetPedHairColor`](#0xBB43F090)
- * [`SetPedHeadOverlayColor`](#0x78935A27)
- * [`SetPedHeadOverlay`](#0xD28DBA90)
- * [`SetPedFaceFeature`](#0x6C8D4458)
-
-
-
-
- ```
- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.
- overlayID Part Index, to disable
- 0 Blemishes 0 - 23, 255
- 1 Facial Hair 0 - 28, 255
- 2 Eyebrows 0 - 33, 255
- 3 Ageing 0 - 14, 255
- 4 Makeup 0 - 74, 255
- 5 Blush 0 - 6, 255
- 6 Complexion 0 - 11, 255
- 7 Sun Damage 0 - 10, 255
- 8 Lipstick 0 - 9, 255
- 9 Moles/Freckles 0 - 17, 255
- 10 Chest Hair 0 - 16, 255
- 11 Body Blemishes 0 - 11, 255
- 12 Add Body Blemishes 0 - 1, 255
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- SET_PED_INTO_VEHICLE
-
-
-
-
- This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of props
-
- **0**: Hat\
- **1**: Glass\
- **2**: Ear\
- **6**: Watch\
- **7**: Bracelet
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
-
- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
-
-
- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.
-
- List of component/props ID:
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
- Known values:
-
-
-
-
- p4/p5: Unusued in TU27
-
- ### Ragdoll Types
-
- **0**: CTaskNMRelax
- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
- **Else**: CTaskNMBalance
-
-
-
-
- Return variable is never used in R*'s scripts.
- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
- x, y, and z are coordinates, most likely to where the ped will fall.
- p7 is probably the force of the fall, but untested, so I left the variable name the same.
- p8 to p13 are always 0f in R*'s scripts.
- (Simplified) Example of the usage of the function from R*'s scripts:
- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
-
-
-
-
- Flags:
- SPC_AMBIENT_SCRIPT = (1 << 1),
- SPC_CLEAR_TASKS = (1 << 2),
- SPC_REMOVE_FIRES = (1 << 3),
- SPC_REMOVE_EXPLOSIONS = (1 << 4),
- SPC_REMOVE_PROJECTILES = (1 << 5),
- SPC_DEACTIVATE_GADGETS = (1 << 6),
- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
- SPC_ALLOW_PAD_SHAKE = (1 << 12)
- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
-
-
-
-
- Sets the culling radius for the specified player.
- Set to `0.0` to reset.
-
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
-
-
- Simply sets you as invincible (Health will not deplete).
- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:
- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);
-
-
-
-
- Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
-
- As per usual, make sure to request the model first and wait until it has loaded.
-
-
-
-
- Sets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect
- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files
- disableNoMission- Disables When Off Mission- appears to always be false
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP](#\_0x21C7A35B) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- Sets the entity lockdown mode for a specific routing bucket.
-
- Lockdown modes are:
-
- | Mode | Meaning |
- | ---------- | ---------------------------------------------------------- |
- | `strict` | No entities can be created by clients at all. |
- | `relaxed` | Only script-owned entities created by clients are blocked. |
- | `inactive` | Clients can create any entity they want. |
-
-
-
-
- Sets whether or not the specified routing bucket has automatically-created population enabled.
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- SET_VEHICLE_ALARM
-
-
-
-
- p2 often set to 1000.0 in the decompiled scripts.
-
-
-
-
- colorPrimary & colorSecondary are the paint indexes for the vehicle.
-
- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
-
-
-
-
- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
-
- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- Sets the dirt level of the passed vehicle.
-
-
-
-
- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
- // They use 10 in am_mp_property_int, don't know what it does atm.
- enum eCarLock {
- CARLOCK_NONE = 0,
- CARLOCK_UNLOCKED = 1,
- CARLOCK_LOCKED = 2,
- CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
- CARLOCK_LOCKED_PLAYER_INSIDE = 4,
- CARLOCK_LOCKED_INITIALLY = 5,
- CARLOCK_FORCE_SHUT_DOORS = 6,
- CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
- };
-
-
-
-
- See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
-
-
-
-
- SET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- START_FIND_KVP
-
-
-
-
- START_RESOURCE
-
-
-
-
- STOP_RESOURCE
-
-
-
-
- Makes the specified ped attack the target ped.
- p2 should be 0
- p3 should be 16
-
-
-
-
- Example:
- TASK::TASK_DRIVE_BY(l_467[1 -- [[22]] ], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
- Needs working example. Doesn't seem to do anything.
- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
-
-
-
-
- speed 1.0 = walk, 2.0 = run
- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle
- p6 is always 0
-
-
-
-
- TASK_EVERYONE_LEAVE_VEHICLE
-
-
-
-
- TASK_GO_STRAIGHT_TO_COORD
-
-
-
-
- example from fm_mission_controller
- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
-
-
-
-
- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
-
-
-
-
- In the scripts, p3 was always -1.
- p3 seems to be duration or timeout of turn animation.
- Also facingPed can be 0 or -1 so ped will just raise hands up.
-
-
-
-
- Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
-
-
-
-
- Flags from decompiled scripts:
- 0 = normal exit and closes door.
- 1 = normal exit and closes door.
- 16 = teleports outside, door kept closed. (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
- 64 = normal exit and closes door, maybe a bit slower animation than 0.
- 256 = normal exit but does not close the door.
- 4160 = ped is throwing himself out, even when the vehicle is still.
- 262144 = ped moves to passenger seat first, then exits normally
- Others to be tried out: 320, 512, 131072.
-
-
-
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
- ```
- float blendInSpeed > normal speed is 8.0f
- ----------------------
- float blendOutSpeed > normal speed is 8.0f
- ----------------------
- int duration: time in millisecond
- ----------------------
- -1 _ _ _ _ _ _ _> Default (see flag)
- 0 _ _ _ _ _ _ _ > Not play at all
- Small value _ _ > Slow down animation speed
- Other _ _ _ _ _ > freeze player control until specific time (ms) has
- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be
- _ _ _ _ _ _ _ _ _ controllable.)
- int flag:
- ----------------------
- enum eAnimationFlags
- {
- ANIM_FLAG_NORMAL = 0,
- ANIM_FLAG_REPEAT = 1,
- ANIM_FLAG_STOP_LAST_FRAME = 2,
- ANIM_FLAG_UPPERBODY = 16,
- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,
- ANIM_FLAG_CANCELABLE = 120,
- };
- Odd number : loop infinitely
- Even number : Freeze at last frame
- Multiple of 4: Freeze at last frame but controllable
- 01 to 15 > Full body
- 10 to 31 > Upper body
- 32 to 47 > Full body > Controllable
- 48 to 63 > Upper body > Controllable
- ...
- 001 to 255 > Normal
- 256 to 511 > Garbled
- ...
- playbackRate:
- values are between 0.0 and 1.0
- lockX:
- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3
- > 1 for mini@sprunk
- lockY:
- 0 in most cases
- 1 for missfam5_yoga, missfra1mcs_2_crew_react
- lockZ:
- 0 for single player
- Can be 1 but only for MP
- ```
-
-
-
-
- It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
-
-
-
- TASK_REACT_AND_FLEE_PED
-
-
-
-
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
- Entity aimedentity;
- Player player = PLAYER::PLAYER_ID();
- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
- //bg is an array of peds
- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- TASK_WARP_PED_INTO_VEHICLE
-
-
-
-
- TEMP_BAN_PLAYER
-
-
-
-
- The backing function for TriggerClientEvent.
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- The backing function for TriggerLatentClientEvent.
-
-
-
-
- VERIFY_PASSWORD_HASH
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
-
-
- Adds a rectangular blip for the specified coordinates/area.
-
- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
-
- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
-
- Example image:
- 
- 
-
- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
-
-
-
-
- Used for freemode (online) characters.
-
- Indices:
-
- 1. black
- 2. very light blue/green
- 3. dark blue
- 4. brown
- 5. darker brown
- 6. light brown
- 7. blue
- 8. light blue
- 9. pink
- 10. yellow
- 11. purple
- 12. black
- 13. dark green
- 14. light brown
- 15. yellow/black pattern
- 16. light colored spiral pattern
- 17. shiny red
- 18. shiny half blue/half red
- 19. half black/half light blue
- 20. white/red perimter
- 21. green snake
- 22. red snake
- 23. dark blue snake
- 24. dark yellow
- 25. bright yellow
- 26. all black
- 27. red small pupil
- 28. devil blue/black
- 29. white small pupil
- 30. glossed over
-
-
-
-
- Sets the various freemode face features, e.g. nose length, chin shape.
-
- **Indexes (From 0 to 19):**
-
- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
-
- * **0**: Nose Width (Thin/Wide)
- * **1**: Nose Peak (Up/Down)
- * **2**: Nose Length (Long/Short)
- * **3**: Nose Bone Curveness (Crooked/Curved)
- * **4**: Nose Tip (Up/Down)
- * **5**: Nose Bone Twist (Left/Right)
- * **6**: Eyebrow (Up/Down)
- * **7**: Eyebrow (In/Out)
- * **8**: Cheek Bones (Up/Down)
- * **9**: Cheek Sideways Bone Size (In/Out)
- * **10**: Cheek Bones Width (Puffed/Gaunt)
- * **11**: Eye Opening (Both) (Wide/Squinted)
- * **12**: Lip Thickness (Both) (Fat/Thin)
- * **13**: Jaw Bone Width (Narrow/Wide)
- * **14**: Jaw Bone Shape (Round/Square)
- * **15**: Chin Bone (Up/Down)
- * **16**: Chin Bone Length (In/Out or Backward/Forward)
- * **17**: Chin Bone Shape (Pointed/Square)
- * **18**: Chin Hole (Chin Bum)
- * **19**: Neck Thickness (Thin/Thick)
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- Used for freemode (online) characters.
-
-
-
-
- ```
- Used for freemode (online) characters.
- Called after SET_PED_HEAD_OVERLAY().
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- Adds a rectangular blip for the specified coordinates/area.
- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
- Example image:
- 
- 
- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
-
-
- The X coordinate of the center of the blip.
-
-
- The Y coordinate of the center of the blip.
-
-
- The Z coordinate of the center of the blip.
-
-
- The width of the blip.
-
-
- The height of the blip.
-
-
- A handle to the blip.
-
-
-
-
- Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
-
-
- The X coordinate to create the blip on.
-
-
- The Y coordinate.
-
-
- The Z coordinate.
-
-
- A blip handle.
-
-
-
-
- Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
- Can be used for objects, vehicles and peds.
- Example of enemy:
- 
- Example of friend:
- 
-
-
- The entity handle to create the blip.
-
-
- A blip handle.
-
-
-
-
- Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
- Example image:
- 
-
-
- The x position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The y position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The z position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The number that defines the radius of the blip circle
-
-
- The blip handle that can be manipulated with every `SetBlip` natives
-
-
-
-
- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
- collection - PedDecorationCollection filename hash
- overlay - Item name hash
- Example:
- Entry inside "mpbeach_overlays.xml" -
- <Item>
- <uvPos x="0.500000" y="0.500000" />
- <scale x="0.600000" y="0.500000" />
- <rotation value="0.000000" />
- <nameHash>FM_Hair_Fuzz</nameHash>
- <txdHash>mp_hair_fuzz</txdHash>
- <txtHash>mp_hair_fuzz</txtHash>
- <zone>ZONE_HEAD</zone>
- <type>TYPE_TATTOO</type>
- <faction>FM</faction>
- <garment>All</garment>
- <gender>GENDER_DONTCARE</gender>
- <award />
- <awardLevel />
- </Item>
- Code:
- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
-
-
-
-
- Adds a handler for changes to a state bag.
- The function called expects to match the following signature:
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
- At this time, the change handler can't opt to reject changes.
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
- The key to check for, or null for no filter.
-
-
- The bag ID to check for such as `entity:65535`, or null for no filter.
-
-
- The handler function.
-
-
- A cookie to remove the change handler.
-
-
-
-
- Applies a force to the specified entity.
- **List of force types (p1)**:
- ```
- public enum ForceType
- {
- MinForce = 0,
- MaxForceRot = 1,
- MinForce2 = 2,
- MaxForceRot2 = 3,
- ForceNoRot = 4,
- ForceRotPlusForce = 5
- }
- ```
- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
-
-
- The entity you want to apply a force on
-
-
- See native description above for a list of commonly used values
-
-
- Force amount (X)
-
-
- Force amount (Y)
-
-
- Force amount (Z)
-
-
- Rotation/offset force (X)
-
-
- Rotation/offset force (Y)
-
-
- Rotation/offset force (Z)
-
-
- (Often 0) Entity bone index
-
-
- (Usually false) Vector defined in local (body-fixed) coordinate frame
-
-
- (Usually true)
-
-
- (Usually true) When true, force gets multiplied with the objects mass and different objects will have the same acceleration
-
-
- (Usually false)
-
-
- (Usually true)
-
-
-
-
- Returns whether or not the specified player has enough information to start a commerce session for.
-
-
- The player handle
-
-
- True or false.
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- CLEAR_PED_SECONDARY_TASK
-
-
-
-
- Clear a ped's tasks. Stop animations and other tasks created by scripts.
-
-
- Ped id. Use PlayerPedId() for your own character.
-
-
-
-
- Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
-
-
- Ped id.
-
-
-
-
- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);
- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.
-
-
-
-
- Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
- The model to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component, 'ground level'.
-
-
- Whether to create a network object for the object. If false, the object exists only locally.
-
-
- Whether to register the object as pinned to the script host in the R\* network model.
-
-
- False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
-
-
- A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
-
-
-
-
- Creates an object (prop) with the specified model centered at the specified position.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
- The model to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Whether to create a network object for the object. If false, the object exists only locally.
-
-
- Whether to register the object as pinned to the script host in the R\* network model.
-
-
- False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
-
-
- A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
-
-
-
-
- Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
- (e.g. using REQUEST_MODEL).
-
-
- Unused. Peds get set to CIVMALE/CIVFEMALE/etc. no matter the value specified.
-
-
- The model of ped to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- Whether to create a network object for the ped. If false, the ped exists only locally.
-
-
- Whether to register the ped as pinned to the script host in the R\* network model.
-
-
- A script handle (fwScriptGuid index) for the ped, or `0` if the ped failed to be created.
-
-
-
-
- CREATE_PED_INSIDE_VEHICLE
-
-
- See [`CREATE_PED`](#\_0xD49F9B0955C367DE)
-
-
-
-
- Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
- ```
- NativeDB Added Parameter 8: BOOL p7
- ```
-
-
- The model of vehicle to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- Whether to create a network object for the vehicle. If false, the vehicle exists only locally.
-
-
- Whether to register the vehicle as pinned to the script host in the R\* network model.
-
-
- A script handle (fwScriptGuid index) for the vehicle, or `0` if the vehicle failed to be created.
-
-
-
-
- Equivalent to CREATE_VEHICLE, but it uses 'server setter' logic (like the former CREATE_AUTOMOBILE) as a workaround for
- reliability concerns regarding entity creation RPC.
- Unlike CREATE_AUTOMOBILE, this supports other vehicle types as well.
-
-
- The model of vehicle to spawn.
-
-
- The appropriate vehicle type for the model info. Can be one of `automobile`, `bike`, `boat`, `heli`, `plane`, `submarine`, `trailer`, and (potentially), `train`. This should be the same type as the `type` field in `vehicles.meta`.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- A script handle for the vehicle.
-
-
-
-
- Deletes the specified entity.
-
-
- The entity to delete.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
- The key to delete
-
-
-
-
- Nonsynchronous [DELETE_RESOURCE_KVP](#\_0x7389B5DF) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to delete
-
-
-
-
- DOES_BOAT_SINK_WHEN_WRECKED
-
-
- The target vehicle.
-
-
- Returns whether or not the boat sinks when wrecked.
-
-
-
-
- DOES_ENTITY_EXIST
-
-
-
-
- Requests whether or not the player owns the specified SKU.
-
-
- The player handle
-
-
- The ID of the SKU.
-
-
- A boolean.
-
-
-
-
- Requests whether or not the player owns the specified package.
-
-
- The player handle
-
-
- The package ID on Tebex.
-
-
- A boolean.
-
-
-
-
- DROP_PLAYER
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- ENABLE_ENHANCED_HOST_SUPPORT
-
-
-
-
- END_FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- FLAG_SERVER_AS_PRIVATE
-
-
-
-
- Nonsynchronous operations will not wait for a disk/filesystem flush before returning from a write or delete call. They will be much faster than their synchronous counterparts (e.g., bulk operations), however, a system crash may lose the data to some recent operations.
- This native ensures all `_NO_SYNC` operations are synchronized with the disk/filesystem.
-
-
-
-
- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.
-
-
- The entity to freeze/unfreeze.
-
-
- Freeze or unfreeze entity.
-
-
-
-
- GET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
-
-
- The player handle
-
-
-
-
- Returns all object handles known to the server.
- The data returned adheres to the following layout:
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of object handles.
-
-
-
-
- Returns all peds handles known to the server.
- The data returned adheres to the following layout:
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of peds handles.
-
-
-
-
- Returns all vehicle handles known to the server.
- The data returned adheres to the following layout:
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of vehicle handles.
-
-
-
-
- Returns the current console output buffer.
-
-
- The most recent game console output, as a string.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
- The console variable to look up.
-
-
- The default value to set if none is found.
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
- The console variable to look up.
-
-
- The default value to set if none is found (variable not set using [SET_CONVAR](#\_0x341B16D2), or not accessible).
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Returns the name of the currently executing resource.
-
-
- The name of the resource.
-
-
-
-
- Gets the entity that this entity is attached to.
-
-
- The entity to check.
-
-
- The attached entity handle. 0 returned if the entity is not attached.
-
-
-
-
- GET_ENTITY_COLLISION_DISABLED
-
-
- The target entity.
-
-
- Returns whether or not entity collisions are disabled.
-
-
-
-
- Gets the current coordinates for a specified entity. This native is used server side when using OneSync.
- See [GET_ENTITY_COORDS](#\_0x3FEF770D40960D5A) for client side.
-
-
- The entity to get the coordinates from.
-
-
- The current entity coordinates.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The entity handle or 0 if the state bag name did not refer to an entity, or the entity does not exist.
-
-
-
-
- GET_ENTITY_HEADING
-
-
-
-
- Only works for vehicle and peds
-
-
- The entity to check the health of
-
-
- If the entity is a vehicle it will return 0-1000
- If the entity is a ped it will return 0-200
- If the entity is an object it will return 0
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- GET_ENTITY_MODEL
-
-
-
-
- This native gets an entity's population type.
-
-
- the entity to obtain the population type from
-
-
- Returns the population type ID, defined by the below enumeration:```cpp
- enum ePopulationType
- {
- POPTYPE_UNKNOWN = 0,
- POPTYPE_RANDOM_PERMANENT,
- POPTYPE_RANDOM_PARKED,
- POPTYPE_RANDOM_PATROL,
- POPTYPE_RANDOM_SCENARIO,
- POPTYPE_RANDOM_AMBIENT,
- POPTYPE_PERMANENT,
- POPTYPE_MISSION,
- POPTYPE_REPLAY,
- POPTYPE_CACHE,
- POPTYPE_TOOL
- };
- ```
-
-
-
-
- GET_ENTITY_ROTATION
-
-
-
-
- GET_ENTITY_ROTATION_VELOCITY
-
-
-
-
- Gets the routing bucket for the specified entity.
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The entity to get the routing bucket for.
-
-
- The routing bucket ID.
-
-
-
-
- GET_ENTITY_SCRIPT
-
-
-
-
- Gets the current speed of the entity in meters per second.
- ```
- To convert to MPH: speed * 2.236936
- To convert to KPH: speed * 3.6
- ```
-
-
- The entity to get the speed of
-
-
- The speed of the entity in meters per second
-
-
-
-
- Gets the entity type (as an integer), which can be one of the following defined down below:
- **The following entities will return type `1`:**
- * Ped
- * Player
- * Animal (Red Dead Redemption 2)
- * Horse (Red Dead Redemption 2)
- **The following entities will return type `2`:**
- * Automobile
- * Bike
- * Boat
- * Heli
- * Plane
- * Submarine
- * Trailer
- * Train
- * DraftVeh (Red Dead Redemption 2)
- **The following entities will return type `3`:**
- * Object
- * Door
- * Pickup
- Otherwise, a value of `0` will be returned.
-
-
- The entity to get the type of.
-
-
- The entity type returned as an integer value.
-
-
-
-
- GET_ENTITY_VELOCITY
-
-
-
-
- Returns the internal build number of the current game being executed.
- Possible values:
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * 2944
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
- The build number, or **0** if no build number is known.
-
-
-
-
- Returns the current game being executed.
- Possible values:
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
- The game the script environment is running in.
-
-
-
-
- Gets the current game timer in milliseconds.
-
-
- The game time.
-
-
-
-
- This native converts the passed string to a hash.
-
-
-
-
- GET_HELI_MAIN_ROTOR_HEALTH
-
-
- The target vehicle.
-
-
- See the client-side [GET_HELI_MAIN_ROTOR_HEALTH](https://docs.fivem.net/natives/?\_0xE4CB7541F413D2C5) for the return value.
-
-
-
-
- GET_HELI_TAIL_ROTOR_HEALTH
-
-
- The target vehicle.
-
-
- See the client-side [GET_HELI_TAIL_ROTOR_HEALTH](https://docs.fivem.net/natives/?\_0xAE8CE82A4219AC8C) for the return value.
-
-
-
-
- GET_HOST_ID
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- GET_IS_VEHICLE_ENGINE_RUNNING
-
-
-
-
- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
-
-
-
-
- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
-
-
-
-
- See the client-side [GET_LANDING_GEAR_STATE](#\_0x9B0F3DCA3DB0F4CD) native for a description of landing gear states.
-
-
- The vehicle to check.
-
-
- The current state of the vehicles landing gear.
-
-
-
-
- GET_LAST_PED_IN_VEHICLE_SEAT
-
-
- The target vehicle.
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
- The last ped in the specified seat of the passed vehicle. Returns 0 if the specified seat was never occupied or the last ped does not exist anymore.
-
-
-
-
- GET_NUM_PLAYER_IDENTIFIERS
-
-
-
-
- GET_NUM_PLAYER_INDICES
-
-
-
-
- GET_NUM_PLAYER_TOKENS
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key to look up in the resource manifest.
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- GET_PASSWORD_HASH
-
-
-
-
- GET_PED_ARMOUR
-
-
-
-
- GET_PED_CAUSE_OF_DEATH
-
-
-
-
- GET_PED_DESIRED_HEADING
-
-
- The target ped
-
-
- Returns ped's desired heading.
-
-
-
-
- GET_PED_IN_VEHICLE_SEAT
-
-
- The target vehicle.
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
- The ped in the specified seat of the passed vehicle. Returns 0 if the specified seat is not occupied.
-
-
-
-
- GET_PED_MAX_HEALTH
-
-
-
-
- Gets the script task command currently assigned to the ped.
-
-
- The target ped.
-
-
- The script task command currently assigned to the ped. A value of 0x811E343C denotes no script task is assigned.
-
-
-
-
- Gets the stage of the peds scripted task.
-
-
- The target ped.
-
-
- The stage of the ped's scripted task. A value of 3 denotes no script task is assigned.
-
-
-
-
- Get the last entity that damaged the ped. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- The entity id. Returns 0 if the ped has not been damaged recently.
-
-
-
-
- Get the entity that killed the ped. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- The entity id. Returns 0 if the ped has no killer.
-
-
-
-
- Gets the type of a ped's specific task given an index of the CPedTaskSpecificDataNode nodes.
- A ped will typically have a task at index 0, if a ped has multiple tasks at once they will be in the order 0, 1, 2, etc.
-
-
- The target ped.
-
-
- A zero-based index with a maximum value of 7.
-
-
- The type of the specific task.
- 1604: A value of 530 denotes no script task is assigned or an invalid input was given.
- 2060+: A value of 531 denotes no script task is assigned or an invalid input was given.
-
-
-
-
- GET_PED_STEALTH_MOVEMENT
-
-
- The target ped.
-
-
- Whether or not the ped is stealthy.
-
-
-
-
- Gets the current camera rotation for a specified player. This native is used server side when using OneSync.
-
-
- The player handle.
-
-
- The player's camera rotation. Values are in radians.
-
-
-
-
- GET_PLAYER_ENDPOINT
-
-
-
-
- Gets the current fake wanted level for a specified player. This native is used server side when using OneSync.
-
-
- The target player
-
-
- The fake wanted level
-
-
-
-
- GET_PLAYER_FROM_INDEX
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The player handle or 0 if the state bag name did not refer to a player, or the player does not exist.
-
-
-
-
- GET_PLAYER_GUID
-
-
-
-
- GET_PLAYER_IDENTIFIER
-
-
-
-
- Get an identifier from a player by the type of the identifier.
-
-
- The player to get the identifier for
-
-
- The string to match in an identifier, this can be `"license"` for example.
-
-
- The identifier that matches the string provided
-
-
-
-
- GET_PLAYER_INVINCIBLE
-
-
- The player handle
-
-
- A boolean to tell if the player is invincible.
-
-
-
-
- GET_PLAYER_LAST_MSG
-
-
-
-
- GET_PLAYER_MAX_ARMOUR
-
-
- The player handle
-
-
-
-
- GET_PLAYER_MAX_HEALTH
-
-
- The player handle
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
- The player index.
-
-
- Returns player melee weapon damage modifier value.
-
-
-
-
- GET_PLAYER_NAME
-
-
-
-
- GET_PLAYER_PED
-
-
-
-
- GET_PLAYER_PING
-
-
-
-
- Gets the routing bucket for the specified player.
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The player to get the routing bucket for.
-
-
- The routing bucket ID.
-
-
-
-
- GET_PLAYER_TEAM
-
-
- The player handle
-
-
-
-
- Gets the amount of time player has spent evading the cops.
- Counter starts and increments only when cops are chasing the player.
- If the player is evading, the timer will pause.
-
-
- The target player
-
-
- False = CurrentPursuit, True = LastPursuit
-
-
- Returns -1, if the player is not wanted or wasn't in pursuit before, depending on the lastPursuit parameter
- Returns 0, if lastPursuit == False and the player has a wanted level, but the pursuit has not started yet
- Otherwise, will return the milliseconds of the pursuit.
-
-
-
-
- Gets a player's token. Tokens can be used to enhance banning logic, however are specific to a server.
-
-
- A player.
-
-
- Index between 0 and GET_NUM_PLAYER_TOKENS.
-
-
- A token value.
-
-
-
-
- Gets the current known coordinates for the specified player from cops perspective. This native is used server side when using OneSync.
-
-
- The target player
-
-
- The player's position known by police. Vector zero if the player has no wanted level.
-
-
-
-
- Returns given players wanted level server-side.
-
-
- The target player
-
-
- The wanted level
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
- The player index.
-
-
- The value of player weapon damage modifier.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
- The player index.
-
-
- The value of player weapon defense modifier.
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
- The player index.
-
-
- The value of player weapon defense modifier 2.
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
- An object containing registered commands.
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
- The index of the resource (starting at 0)
-
-
- The resource name as a `string`
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
- The key to fetch
-
-
- The floating-point value stored under the specified key, or 0.0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
- The key to fetch
-
-
- The integer value stored under the specified key, or 0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
- The key to fetch
-
-
- The string value stored under the specified key, or nil/null if not found.
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key in the resource manifest.
-
-
- The value index, in a range from \[0..GET_NUM_RESOURCE_METDATA-1].
-
-
-
-
- Returns the physical on-disk path of the specified resource.
-
-
- The name of the resource.
-
-
- The resource directory name, possibly without trailing slash.
-
-
-
-
- Returns the current state of the specified resource.
-
-
- The name of the resource.
-
-
- The resource state. One of `"missing", "started", "starting", "stopped", "stopping", "uninitialized" or "unknown"`.
-
-
-
-
- Returns a hash of selected ped weapon.
-
-
- The target ped.
-
-
- The weapon hash.
-
-
-
-
- Returns the value of a state bag key.
-
-
- Value.
-
-
-
-
- GET_TRAIN_CARRIAGE_ENGINE
-
-
- The entity handle.
-
-
- The train engine carriage.
-
-
-
-
- GET_TRAIN_CARRIAGE_INDEX
-
-
- The entity handle.
-
-
- The carriage index. -1 returned if invalid result.
-
-
-
-
- GET_VEHICLE_BODY_HEALTH
-
-
-
-
- GET_VEHICLE_COLOURS
-
-
-
-
- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
-
-
-
-
- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
-
-
-
-
- GET_VEHICLE_DASHBOARD_COLOUR
-
-
-
-
- GET_VEHICLE_DIRT_LEVEL
-
-
-
-
- ```lua
- enum_VehicleLockStatus = {
- None = 0,
- Locked = 2,
- LockedForPlayer = 3,
- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
- CanBeBrokenIntoPersist = 8, -- Can be broken into persist
- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
- }
- ```
- It should be [noted](https://forum.cfx.re/t/4863241) that while the [client-side command](#\_0x25BC98A59C2EA962) and its
- setter distinguish between states 0 (unset) and 1 (unlocked), the game will synchronize both as state 0, so the server-side
- command will return only '0' if unlocked.
-
-
- A vehicle handle.
-
-
- The door lock status for the specified vehicle.
-
-
-
-
- GET_VEHICLE_DOOR_STATUS
-
-
- A number from 0 to 7.
-
-
-
-
- Currently it only works when set to "all players".
-
-
-
-
- GET_VEHICLE_ENGINE_HEALTH
-
-
-
-
- GET_VEHICLE_EXTRA_COLOURS
-
-
-
-
- Gets the flight nozzel position for the specified vehicle. See the client-side [\_GET_VEHICLE_FLIGHT_NOZZLE_POSITION](#\_0xDA62027C8BDB326E) native for usage examples.
-
-
- The vehicle to check.
-
-
- The flight nozzel position between 0.0 (flying normally) and 1.0 (VTOL mode)
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_HEADLIGHTS_COLOUR
-
-
-
-
- Gets the lock on state for the specified vehicle. See the client-side [GET_VEHICLE_HOMING_LOCKON_STATE](#\_0xE6B0E8CFC3633BF0) native for a description of lock on states.
-
-
- The vehicle to check.
-
-
- The lock on state.
-
-
-
-
- GET_VEHICLE_INTERIOR_COLOUR
-
-
-
-
- GET_VEHICLE_LIGHTS_STATE
-
-
-
-
- GET_VEHICLE_LIVERY
-
-
-
-
- Gets the vehicle that is locked on to for the specified vehicle.
-
-
- The vehicle to check.
-
-
- The vehicle that is locked on. 0 returned if no vehicle is locked on.
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
-
-
-
-
- Gets the vehicle the specified Ped is/was in depending on bool value. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- False = CurrentVehicle, True = LastVehicle
-
-
- The vehicle id. Returns 0 if the ped is/was not in a vehicle.
-
-
-
-
- GET_VEHICLE_PETROL_TANK_HEALTH
-
-
-
-
- GET_VEHICLE_RADIO_STATION_INDEX
-
-
-
-
- GET_VEHICLE_ROOF_LIVERY
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- Returns the type of the passed vehicle.
- ### Vehicle types
- * automobile
- * bike
- * boat
- * heli
- * plane
- * submarine
- * trailer
- * train
-
-
- The vehicle's entity handle.
-
-
- If the entity is a vehicle, the vehicle type. If it is not a vehicle, the return value will be null.
-
-
-
-
- GET_VEHICLE_TYRE_SMOKE_COLOR
-
-
-
-
- GET_VEHICLE_WHEEL_TYPE
-
-
-
-
- GET_VEHICLE_WINDOW_TINT
-
-
-
-
- GIVE_WEAPON_COMPONENT_TO_PED
-
-
-
-
- GIVE_WEAPON_TO_PED
-
-
-
-
- HAS_ENTITY_BEEN_MARKED_AS_NO_LONGER_NEEDED
-
-
-
-
- HAS_VEHICLE_BEEN_DAMAGED_BY_BULLETS
-
-
- The target vehicle.
-
-
- Returns whether or not the target vehicle has been damaged by bullets.
-
-
-
-
- HAS_VEHICLE_BEEN_OWNED_BY_PLAYER
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- IS_BOAT_ANCHORED_AND_FROZEN
-
-
- The target vehicle.
-
-
- Returns whether or not the boat is anchored and frozen.
-
-
-
-
- IS_BOAT_WRECKED
-
-
- The target vehicle.
-
-
- Returns whether or not the boat is wrecked.
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
- A boolean value.
-
-
-
-
- A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
-
-
- The entity to check for
-
-
- Boolean stating if it is frozen or not.
-
-
-
-
- This native checks if the given entity is visible.
-
-
- Returns `true` if the entity is visible, `false` otherwise.
-
-
-
-
- IS_FLASH_LIGHT_ON
-
-
- The target ped.
-
-
- Whether or not the ped's flash light is on.
-
-
-
-
- This native checks if the given ped is a player.
-
-
- Returns `true` if the ped is a player, `false` otherwise.
-
-
-
-
- IS_PED_HANDCUFFED
-
-
- The target ped.
-
-
- Whether or not the ped is handcuffed.
-
-
-
-
- IS_PED_RAGDOLL
-
-
- The target ped.
-
-
- Whether or not the ped is ragdolling.
-
-
-
-
- IS_PED_STRAFING
-
-
- The target ped.
-
-
- Whether or not the ped is strafing.
-
-
-
-
- IS_PED_USING_ACTION_MODE
-
-
- The target ped.
-
-
- Whether or not the ped is using action mode.
-
-
-
-
- IS_PLAYER_ACE_ALLOWED
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded.
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded from Tebex.
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- This will return true if the player is evading wanted level, meaning that the wanted level stars are blink.
- Otherwise will return false.
- If the player is not wanted, it simply returns false.
-
-
- The target player
-
-
- boolean value, depending if the player is evading his wanted level or not.
-
-
-
-
- IS_PLAYER_USING_SUPER_JUMP
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- IS_VEHICLE_EXTRA_TURNED_ON
-
-
-
-
- IS_VEHICLE_SIREN_ON
-
-
-
-
- IS_VEHICLE_TYRE_BURST
-
-
-
-
- See the client-side [IS_VEHICLE_WINDOW_INTACT](https://docs.fivem.net/natives/?\_0x46E571A0E20D01F1) for a window indexes list.
-
-
- The target vehicle.
-
-
- The window index.
-
-
-
-
- Requests the commerce data for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
- The player handle
-
-
-
-
- Requests the commerce data from Tebex for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
- The player handle
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
- The resource name.
-
-
- The file in the resource.
-
-
- The file contents
-
-
-
-
- Create a permanent voice channel.
-
-
- ID of the channel.
-
-
-
-
- Checks if the player is currently muted
-
-
- The player to get the mute state for
-
-
- Whether or not the player is muted
-
-
-
-
- Mutes or unmutes the specified player
-
-
- The player to set the mute state of
-
-
- Whether to mute or unmute the player
-
-
-
-
- NETWORK_GET_ENTITY_FROM_NETWORK_ID
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
- The entity to get the owner for.
-
-
- On the server, the server ID of the entity owner. On the client, returns the player/slot ID of the entity owner.
-
-
-
-
- Returns the first owner ID of the specified entity.
-
-
- The entity to get the first owner for.
-
-
- The server ID of the first entity owner.
-
-
-
-
- NETWORK_GET_NETWORK_ID_FROM_ENTITY
-
-
-
-
- NETWORK_GET_VOICE_PROXIMITY_OVERRIDE
-
-
- The player handle
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL_EX
-
-
-
-
- Prints 'structured trace' data to the server `file descriptor 3` channel. This is not generally useful outside of
- server monitoring utilities.
-
-
- JSON data to submit as `payload` in the `script_structured_trace` event.
-
-
-
-
- Scope entry for profiler.
-
-
- Scope name.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
- True or false.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
- **Example result**:
- 
-
-
- The command you want to register.
-
-
- A handler function that gets called whenever the command is executed.
-
-
- If this is a server command and you set this to true, then players will need the command.yourCommandName ace permission to execute this command.
-
-
-
-
- Registers a listener for console output messages.
-
-
- A function of `(channel: string, message: string) => void`. The message might contain `\n`.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
- An event name, or "\*" to disable HLL event filtering for this resource.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
- Registers a cached resource asset with the resource system, similar to the automatic scanning of the `stream/` folder.
-
-
- The resource to add the asset to.
-
-
- A file name in the resource.
-
-
- A cache string to pass to `REGISTER_STREAMING_FILE_FROM_CACHE` on the client.
-
-
-
-
- Registers a build task factory for resources.
- The function should return an object (msgpack map) with the following fields:
- ```
- {
- // returns whether the specific resource should be built
- shouldBuild = func(resourceName: string): bool,
- // asynchronously start building the specific resource.
- // call cb when completed
- build = func(resourceName: string, cb: func(success: bool, status: string): void): void
- }
- ```
-
-
- The identifier for the build task.
-
-
- The factory function.
-
-
-
-
- Parameter `p1` does not seem to be used or referenced in game binaries.\
- **Note:** When called for networked entities, a `CRemoveAllWeaponsEvent` will be created per request.
-
-
- The ped entity
-
-
-
-
- Removes the blip from your map.
-
-
- Blip handle to remove.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
- Removes a handler for changes to a state bag.
-
-
- The cookie.
-
-
-
-
- REMOVE_WEAPON_COMPONENT_FROM_PED
-
-
-
-
- This native removes a specified weapon from your selected ped.
- Weapon Hashes: pastebin.com/0wwDZgkF
- Example:
- C#:
- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);
- C++:
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);
- The code above removes the knife from the player.
-
-
-
-
- Requests the specified player to buy the passed SKU. This'll pop up a prompt on the client, which upon acceptance
- will open the browser prompting further purchase details.
-
-
- The player handle
-
-
- The ID of the SKU.
-
-
-
-
- Writes the specified data to a file in the specified resource.
- Using a length of `-1` will automatically detect the length assuming the data is a C string.
-
-
- The name of the resource.
-
-
- The name of the file.
-
-
- The data to write to the file.
-
-
- The length of the written data.
-
-
- A value indicating if the write succeeded.
-
-
-
-
- Scans the resources in the specified resource root. This function is only available in the 'monitor mode' process and is
- not available for user resources.
-
-
- The resource directory to scan.
-
-
- A callback that will receive an object with results.
-
-
-
-
- Schedules the specified resource to run a tick as soon as possible, bypassing the server's fixed tick rate.
-
-
- The resource to tick.
-
-
-
-
- <!--
- _loc1_.map((name, idx) => `| ${idx} | ${name} |  |`).join('\n')
- -->
- Sets the displayed sprite for a specific blip.
- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
-
-
- The blip to change.
-
-
- The sprite ID to set.
-
-
-
-
- SET_CONVAR
-
-
-
-
- Used to replicate a server variable onto clients.
-
-
- The console variable name.
-
-
- The value to set for the given console variable.
-
-
-
-
- SET_CONVAR_SERVER_INFO
-
-
-
-
- SET_CURRENT_PED_WEAPON
-
-
-
-
- Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
-
-
- The entity to change coordinates for.
-
-
- The X coordinate.
-
-
- The Y coordinate.
-
-
- The Z coordinate, ground level.
-
-
- Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive.
-
-
- Whether to disable physics for dead peds, too, and not just living peds.
-
-
- A special flag used for ragdolling peds.
-
-
- Whether to clear any entities in the target area.
-
-
-
-
- It overrides the default distance culling radius of an entity. Set to `0.0` to reset.
- If you want to interact with an entity outside of your players' scopes set the radius to a huge number.
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
- The entity handle to override the distance culling radius.
-
-
- The new distance culling radius.
-
-
-
-
- Set the heading of an entity in degrees also known as "Yaw".
-
-
- The entity to set the heading for.
-
-
- The heading in degrees.
-
-
-
-
- It allows to flag an entity to ignore the request control filter policy.
-
-
- The entity handle to ignore the request control filter.
-
-
- Define if the entity ignores the request control filter policy.
-
-
-
-
- SET_ENTITY_ROTATION
-
-
- The order yaw pitch roll are applied, see [`GET_ENTITY_ROTATION`](#\_0xAFBD61CC738D9EB9).
-
-
-
-
- Sets the routing bucket for the specified entity.
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The entity to set the routing bucket for.
-
-
- The bucket ID.
-
-
-
-
- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
-
-
-
-
- SET_GAME_TYPE
-
-
-
-
- Sets the handler for HTTP requests made to the executing resource.
- Example request URL: `http://localhost:30120/http-test/ping` - this request will be sent to the `http-test` resource with the `/ping` path.
- The handler function assumes the following signature:
- ```ts
- function HttpHandler(
- request: {
- address: string;
- headers: Record<string, string>;
- method: string;
- path: string;
- setDataHandler(handler: (data: string) => void): void;
- setDataHandler(handler: (data: ArrayBuffer) => void, binary: 'binary'): void;
- setCancelHandler(handler: () => void): void;
- },
- response: {
- writeHead(code: number, headers?: Record<string, string | string[]>): void;
- write(data: string): void;
- send(data?: string): void;
- }
- ): void;
- ```
- * **request**: The request object.
- * **address**: The IP address of the request sender.
- * **path**: The path to where the request was sent.
- * **headers**: The headers sent with the request.
- * **method**: The request method.
- * **setDataHandler**: Sets the handler for when a data body is passed with the request. Additionally you can pass the `'binary'` argument to receive a `BufferArray` in JavaScript or `System.Byte[]` in C# (has no effect in Lua).
- * **setCancelHandler**: Sets the handler for when the request is cancelled.
- * **response**: An object to control the response.
- * **writeHead**: Sets the status code & headers of the response. Can be only called once and won't work if called after running other response functions.
- * **write**: Writes to the response body without sending it. Can be called multiple times.
- * **send**: Writes to the response body and then sends it along with the status code & headers, finishing the request.
-
-
- The handler function.
-
-
-
-
- SET_MAP_NAME
-
-
-
-
- NativeDB Added Parameter 4: BOOL p3
-
-
-
-
- Sets the armor of the specified ped.
- ped: The Ped to set the armor of.
- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.
-
-
-
-
- SET_PED_CAN_RAGDOLL
-
-
-
-
- This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
- ### MP Freemode list of components
- **0**: Face\
- **1**: Mask\
- **2**: Hair\
- **3**: Torso\
- **4**: Leg\
- **5**: Parachute / bag\
- **6**: Shoes\
- **7**: Accessory\
- **8**: Undershirt\
- **9**: Kevlar\
- **10**: Badge\
- **11**: Torso 2
- ### Related and useful natives
- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
- The ped handle.
-
-
- The component that you want to set.
-
-
- The drawable id that is going to be set.
-
-
- The texture id of the drawable.
-
-
- 0 to 3.
-
-
-
-
- cpp
- // Potential names and hash collisions included as comments
- enum ePedConfigFlags {
- _0x67D1A445 = 0,
- _0xC63DE95E = 1,
- CPED_CONFIG_FLAG_NoCriticalHits = 2,
- CPED_CONFIG_FLAG_DrownsInWater = 3,
- CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
- _0x37D196F4 = 5,
- _0xE2462399 = 6,
- CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
- _0xEDDEB838 = 8,
- _0xB398B6FD = 9,
- _0xF6664E68 = 10,
- _0xA05E7CA3 = 11,
- _0xCE394045 = 12,
- CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
- _0xCD8D1411 = 14,
- _0xB031F1A9 = 15,
- _0xFE65BEE3 = 16,
- CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
- _0x380165BD = 18,
- _0x07C045C7 = 19,
- _0x583B5E2D = 20,
- _0x475EDA58 = 21,
- _0x8629D05B = 22,
- _0x1522968B = 23,
- CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
- _0x4CC09C4B = 25,
- _0x034F3053 = 26,
- _0xD91BA7CC = 27,
- _0x5C8DC66E = 28,
- _0x8902EAA0 = 29,
- _0x6580B9D2 = 30,
- _0x0EF7A297 = 31,
- _0x6BF86E5B = 32,
- CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
- CPED_CONFIG_FLAG_HasHelmet = 34,
- CPED_CONFIG_FLAG_UseHelmet = 35,
- _0xEEB3D630 = 36,
- _0xB130D17B = 37,
- _0x5F071200 = 38,
- CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
- _0xC287AAFF = 40,
- _0x203328CC = 41,
- CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
- CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
- CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
- _0xEC4A8ACF = 45,
- _0xDB115BFA = 46,
- CPED_CONFIG_FLAG_PedBeingDeleted = 47,
- CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
- _0xF8E99565 = 49,
- _0xDD17FEE6 = 50,
- _0x7ED9B2C9 = 51,
- _0x655E8618 = 52,
- _0x5A6C1F6E = 53,
- _0xD749FC41 = 54,
- _0x357F63F3 = 55,
- _0xC5E60961 = 56,
- _0x29275C3E = 57,
- CPED_CONFIG_FLAG_IsFiring = 58,
- CPED_CONFIG_FLAG_WasFiring = 59,
- CPED_CONFIG_FLAG_IsStanding = 60,
- CPED_CONFIG_FLAG_WasStanding = 61,
- CPED_CONFIG_FLAG_InVehicle = 62,
- CPED_CONFIG_FLAG_OnMount = 63,
- CPED_CONFIG_FLAG_AttachedToVehicle = 64,
- CPED_CONFIG_FLAG_IsSwimming = 65,
- CPED_CONFIG_FLAG_WasSwimming = 66,
- CPED_CONFIG_FLAG_IsSkiing = 67,
- CPED_CONFIG_FLAG_IsSitting = 68,
- CPED_CONFIG_FLAG_KilledByStealth = 69,
- CPED_CONFIG_FLAG_KilledByTakedown = 70,
- CPED_CONFIG_FLAG_Knockedout = 71,
- _0x3E3C4560 = 72,
- _0x2994C7B7 = 73,
- _0x6D59D275 = 74,
- CPED_CONFIG_FLAG_UsingCoverPoint = 75,
- CPED_CONFIG_FLAG_IsInTheAir = 76,
- _0x2D493FB7 = 77,
- CPED_CONFIG_FLAG_IsAimingGun = 78,
- _0x14D69875 = 79,
- _0x40B05311 = 80,
- _0x8B230BC5 = 81,
- _0xC74E5842 = 82,
- _0x9EA86147 = 83,
- _0x674C746C = 84,
- _0x3E56A8C2 = 85,
- _0xC144A1EF = 86,
- _0x0548512D = 87,
- _0x31C93909 = 88,
- _0xA0269315 = 89,
- _0xD4D59D4D = 90,
- _0x411D4420 = 91,
- _0xDF4AEF0D = 92,
- CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
- _0x300E4CD3 = 94,
- _0xF1C5BF04 = 95,
- _0x89C2EF13 = 96,
- CPED_CONFIG_FLAG_VaultFromCover = 97,
- _0x02A852C8 = 98,
- _0x3D9407F1 = 99,
- _0x319B4558 = 100,
- CPED_CONFIG_FLAG_ForcedAim = 101,
- _0xB942D71A = 102,
- _0xD26C55A8 = 103,
- _0xB89E703B = 104,
- CPED_CONFIG_FLAG_ForceReload = 105,
- _0xD9E73DA2 = 106,
- _0xFF71DC2C = 107,
- _0x1E27E8D8 = 108,
- _0xF2C53966 = 109,
- _0xC4DBE247 = 110,
- _0x83C0A4BF = 111,
- _0x0E0FAF8C = 112,
- _0x26616660 = 113,
- _0x43B80B79 = 114,
- _0x0D2A9309 = 115,
- _0x12C1C983 = 116,
- CPED_CONFIG_FLAG_BumpedByPlayer = 117,
- _0xE586D504 = 118,
- _0x52374204 = 119,
- CPED_CONFIG_FLAG_IsHandCuffed = 120,
- CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
- CPED_CONFIG_FLAG_DisableMelee = 122,
- _0xFE714397 = 123,
- _0xB3E660BD = 124,
- _0x5FED6BFD = 125,
- _0xC9D6F66F = 126,
- _0x519BC986 = 127,
- CPED_CONFIG_FLAG_CanBeAgitated = 128,
- _0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
- _0xDAB70E9F = 130,
- _0xE569438A = 131,
- _0xBBC77D6D = 132,
- _0xCB59EF0F = 133,
- _0x8C5EA971 = 134,
- CPED_CONFIG_FLAG_IsScuba = 135,
- CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
- _0xDCE59B58 = 137,
- CPED_CONFIG_FLAG_RidingTrain = 138,
- CPED_CONFIG_FLAG_ArrestResult = 139,
- CPED_CONFIG_FLAG_CanAttackFriendly = 140,
- _0x98A4BE43 = 141,
- _0x6901E731 = 142,
- _0x9EC9BF6C = 143,
- _0x42841A8F = 144,
- CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
- CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
- CPED_CONFIG_FLAG_StairsDetected = 147,
- CPED_CONFIG_FLAG_SlopeDetected = 148,
- _0x1A15670B = 149,
- _0x61786EE5 = 150,
- _0xCB9186BD = 151,
- _0xF0710152 = 152,
- _0x43DFE310 = 153,
- _0xC43C624E = 154,
- CPED_CONFIG_FLAG_CanPerformArrest = 155,
- CPED_CONFIG_FLAG_CanPerformUncuff = 156,
- CPED_CONFIG_FLAG_CanBeArrested = 157,
- _0xF7960FF5 = 158,
- _0x59564113 = 159,
- _0x0C6C3099 = 160,
- _0x645F927A = 161,
- _0xA86549B9 = 162,
- _0x8AAF337A = 163,
- _0x13BAA6E7 = 164,
- _0x5FB9D1F5 = 165,
- CPED_CONFIG_FLAG_IsInjured = 166,
- _0x6398A20B = 167,
- _0xD8072639 = 168,
- _0xA05B1845 = 169,
- _0x83F6D220 = 170,
- _0xD8430331 = 171,
- _0x4B547520 = 172,
- _0xE66E1406 = 173,
- _0x1C4BFE0C = 174,
- _0x90008BFA = 175,
- _0x07C7A910 = 176,
- _0xF15F8191 = 177,
- _0xCE4E8BE2 = 178,
- _0x1D46E4F2 = 179,
- CPED_CONFIG_FLAG_IsInCustody = 180,
- _0xE4FD9B3A = 181,
- _0x67AE0812 = 182,
- CPED_CONFIG_FLAG_IsAgitated = 183,
- CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
- _0x7B2D325E = 185,
- CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
- CPED_CONFIG_FLAG_HasHurtStarted = 187,
- CPED_CONFIG_FLAG_DisableHurt = 188,
- CPED_CONFIG_FLAG_PlayerIsWeird = 189,
- _0x32FC208B = 190,
- _0x0C296E5A = 191,
- _0xE63B73EC = 192,
- _0x04E9CC80 = 193,
- CPED_CONFIG_FLAG_UsingScenario = 194,
- CPED_CONFIG_FLAG_VisibleOnScreen = 195,
- _0xD88C58A1 = 196,
- _0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
- _0xEA02B420 = 198,
- _0x3F559CFF = 199,
- _0x8C55D029 = 200,
- _0x5E6466F6 = 201,
- _0xEB5AD706 = 202,
- _0x0EDDDDE7 = 203,
- _0xA64F7B1D = 204,
- _0x48532CBA = 205,
- _0xAA25A9E7 = 206,
- _0x415B26B9 = 207,
- CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
- CPED_CONFIG_FLAG_DodgedPlayer = 209,
- _0x67405504 = 210,
- _0x75DDD68C = 211,
- _0x2AD879B4 = 212,
- _0x51486F91 = 213,
- _0x32F79E21 = 214,
- _0xBF099213 = 215,
- _0x054AC8E2 = 216,
- _0x14E495CC = 217,
- _0x3C7DF9DF = 218,
- _0x848FFEF2 = 219,
- CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
- _0x2618E1CF = 221,
- _0x84F722FA = 222,
- _0xD1B87B1F = 223,
- _0x728AA918 = 224,
- CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
- CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
- _0x59E91185 = 227,
- _0x1EA7225F = 228,
- CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
- _0x6DCA7D88 = 230,
- _0xFC3E572D = 231,
- _0x08E9F9CF = 232,
- _0x2D3BA52D = 233,
- _0xFD2F53EA = 234,
- _0x31A1B03B = 235,
- CPED_CONFIG_FLAG_IsHoldingProp = 236,
- _0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
- _0xCE57C9A3 = 238,
- _0x26149198 = 239,
- _0x1B33B598 = 240,
- _0x719B6E87 = 241,
- _0x13E8E8E8 = 242,
- _0xF29739AE = 243,
- _0xABEA8A74 = 244,
- _0xB60EA2BA = 245,
- _0x536B0950 = 246,
- _0x0C754ACA = 247,
- CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
- _0x12659168 = 249,
- _0x1BDF2F04 = 250,
- _0x7728FAA3 = 251,
- _0x6A807ED8 = 252,
- CPED_CONFIG_FLAG_OnStairs = 253,
- _0xE1A2F73F = 254,
- _0x5B3697C8 = 255,
- _0xF1EB20A9 = 256,
- _0x8B7DF407 = 257,
- _0x329DCF1A = 258,
- _0x8D90DD1B = 259,
- _0xB8A292B7 = 260,
- _0x8374B087 = 261,
- _0x2AF558F0 = 262,
- _0x82251455 = 263,
- _0x30CF498B = 264,
- _0xE1CD50AF = 265,
- _0x72E4AE48 = 266,
- _0xC2657EA1 = 267,
- _0x29FF6030 = 268,
- _0x8248A5EC = 269,
- CPED_CONFIG_FLAG_OnStairSlope = 270,
- _0xA0897933 = 271,
- CPED_CONFIG_FLAG_DontBlipCop = 272,
- CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
- _0xF7823618 = 274,
- _0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
- CPED_CONFIG_FLAG_EdgeDetected = 276,
- _0x92B67896 = 277,
- _0xCAD677C9 = 278,
- CPED_CONFIG_FLAG_AvoidTearGas = 279,
- _0x5276AC7B = 280,
- _0x1032692A = 281,
- _0xDA23E7F1 = 282,
- _0x9139724D = 283,
- _0xA1457461 = 284,
- _0x4186E095 = 285,
- _0xAC68E2EB = 286,
- CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
- CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
- _0x1B9EE8A1 = 289,
- _0xF3F5758C = 290,
- _0x2A9307F1 = 291,
- _0x7403D216 = 292,
- _0xA06A3C6C = 293,
- CPED_CONFIG_FLAG_DisableShockingEvents = 294,
- _0xF8DA25A5 = 295,
- _0x7EF55802 = 296,
- _0xB31F1187 = 297,
- _0x84315402 = 298,
- _0x0FD69867 = 299,
- _0xC7829B67 = 300,
- CPED_CONFIG_FLAG_DisablePedConstraints = 301,
- _0x6D23CF25 = 302,
- _0x2ADA871B = 303,
- _0x47BC8A58 = 304,
- _0xEB692FA5 = 305,
- _0x4A133C50 = 306,
- _0xC58099C3 = 307,
- _0xF3D76D41 = 308,
- _0xB0EEE9F2 = 309,
- CPED_CONFIG_FLAG_IsInCluster = 310,
- _0x0FA153EF = 311,
- _0xD73F5CD3 = 312,
- _0xD4136C22 = 313,
- _0xE404CA6B = 314,
- _0xB9597446 = 315,
- _0xD5C98277 = 316,
- _0xD5060A9C = 317,
- _0x3E5F1CBB = 318,
- _0xD8BE1D54 = 319,
- _0x0B1F191F = 320,
- _0xC995167A = 321,
- CPED_CONFIG_FLAG_HasHighHeels = 322,
- _0x86B01E54 = 323,
- _0x3A56FE15 = 324,
- _0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
- _0xBBF47729 = 326,
- _0x22B668A8 = 327,
- _0x2624D4D4 = 328,
- CPED_CONFIG_FLAG_DisableTalkTo = 329,
- CPED_CONFIG_FLAG_DontBlip = 330,
- CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
- _0x630F55F3 = 332,
- _0x150468FD = 333,
- _0x914EBD6B = 334,
- _0x79AF3B6D = 335,
- _0x75C7A632 = 336,
- _0x52D530E2 = 337,
- _0xDB2A90E0 = 338,
- _0x5922763D = 339,
- _0x12ADB567 = 340,
- _0x105C8518 = 341,
- _0x106F703D = 342,
- _0xED152C3E = 343,
- _0xA0EFE6A8 = 344,
- _0xBF348C82 = 345,
- _0xCDDFE830 = 346,
- _0x7B59BD9B = 347,
- _0x0124C788 = 348,
- CPED_CONFIG_FLAG_EquipJetpack = 349,
- _0x08D361A5 = 350,
- _0xE13D1F7C = 351,
- _0x40E25FB9 = 352,
- _0x930629D9 = 353,
- _0xECCF0C7F = 354,
- _0xB6E9613B = 355,
- _0x490C0478 = 356,
- _0xE8865BEA = 357,
- _0xF3C34A29 = 358,
- CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
- _0xF660E115 = 360,
- _0xAB0E6DED = 361,
- CPED_CONFIG_FLAG_HasReserveParachute = 362,
- CPED_CONFIG_FLAG_UseReserveParachute = 363,
- _0x5C5D9CD3 = 364,
- _0x8F7701F3 = 365,
- _0xBC4436AD = 366,
- _0xD7E07D37 = 367,
- _0x03C4FD24 = 368,
- _0x7675789A = 369,
- _0xB7288A88 = 370,
- _0xC06B6291 = 371,
- _0x95A4A805 = 372,
- _0xA8E9A042 = 373,
- CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
- _0xBAC674B3 = 375,
- _0x147F1FFB = 376,
- _0x4376DD79 = 377,
- _0xCD3DB518 = 378,
- _0xFE4BA4B6 = 379,
- _0x5DF03A55 = 380,
- _0xBCD816CD = 381,
- _0xCF02DD69 = 382,
- _0xF73AFA2E = 383,
- _0x80B9A9D0 = 384,
- _0xF601F7EE = 385,
- _0xA91350FC = 386,
- _0x3AB23B96 = 387,
- CPED_CONFIG_FLAG_IsClimbingLadder = 388,
- CPED_CONFIG_FLAG_HasBareFeet = 389,
- _0xB4B1CD4C = 390,
- _0x5459AFB8 = 391,
- _0x54F27667 = 392,
- _0xC11D3E8F = 393,
- _0x5419EB3E = 394,
- _0x82D8DBB4 = 395,
- _0x33B02D2F = 396,
- _0xAE66176D = 397,
- _0xA2692593 = 398,
- _0x714C7E31 = 399,
- _0xEC488AC7 = 400,
- _0xAE398504 = 401,
- _0xABC58D72 = 402,
- _0x5E5B9591 = 403,
- _0x6BA1091E = 404,
- _0x77840177 = 405,
- _0x1C7ACAC4 = 406,
- _0x124420E9 = 407,
- _0x75A65587 = 408,
- _0xDFD2D55B = 409,
- _0xBDD39919 = 410,
- _0x43DEC267 = 411,
- _0xE42B7797 = 412,
- CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
- _0x4F8149F5 = 414,
- _0xDD9ECA7A = 415,
- _0x9E7EF9D2 = 416,
- _0x2C6ED942 = 417,
- CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
- _0xA488727D = 419,
- _0xCFF5F6DE = 420,
- _0x6D614599 = 421,
- CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
- _0xFE401D26 = 423,
- CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
- _0x2B42AE82 = 425,
- _0x7A95734F = 426,
- _0xDF4D8617 = 427,
- _0x578F1F14 = 428,
- CPED_CONFIG_FLAG_DisableStartEngine = 429,
- CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
- _0x153C9500 = 431,
- _0xCB7A632E = 432,
- _0xDE727981 = 433,
- CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
- _0x12BBB935 = 435,
- _0xAD0A1277 = 436,
- _0xEA6AA46A = 437,
- CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
- _0xCB7F3A1E = 439,
- _0x50178878 = 440,
- _0x051B4F0D = 441,
- _0x2FC3DECC = 442,
- _0xC0030B0B = 443,
- _0xBBDAF1E9 = 444,
- _0x944FE59C = 445,
- _0x506FBA39 = 446,
- _0xDD45FE84 = 447,
- _0xE698AE75 = 448,
- _0x199633F8 = 449,
- CPED_CONFIG_FLAG_PedIsArresting = 450,
- CPED_CONFIG_FLAG_IsDecoyPed = 451,
- _0x3A251D83 = 452,
- _0xA56F6986 = 453,
- _0x1D19C622 = 454,
- _0xB68D3EAB = 455,
- CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
- _0x4BD5EBAD = 457,
- }
-
-
-
-
- Sets Ped Default Clothes
-
-
-
-
- Used for freemode (online) characters.
- Indices:
- 1. black
- 2. very light blue/green
- 3. dark blue
- 4. brown
- 5. darker brown
- 6. light brown
- 7. blue
- 8. light blue
- 9. pink
- 10. yellow
- 11. purple
- 12. black
- 13. dark green
- 14. light brown
- 15. yellow/black pattern
- 16. light colored spiral pattern
- 17. shiny red
- 18. shiny half blue/half red
- 19. half black/half light blue
- 20. white/red perimter
- 21. green snake
- 22. red snake
- 23. dark blue snake
- 24. dark yellow
- 25. bright yellow
- 26. all black
- 27. red small pupil
- 28. devil blue/black
- 29. white small pupil
- 30. glossed over
-
-
-
-
- Sets the various freemode face features, e.g. nose length, chin shape.
- **Indexes (From 0 to 19):**
- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
- * **0**: Nose Width (Thin/Wide)
- * **1**: Nose Peak (Up/Down)
- * **2**: Nose Length (Long/Short)
- * **3**: Nose Bone Curveness (Crooked/Curved)
- * **4**: Nose Tip (Up/Down)
- * **5**: Nose Bone Twist (Left/Right)
- * **6**: Eyebrow (Up/Down)
- * **7**: Eyebrow (In/Out)
- * **8**: Cheek Bones (Up/Down)
- * **9**: Cheek Sideways Bone Size (In/Out)
- * **10**: Cheek Bones Width (Puffed/Gaunt)
- * **11**: Eye Opening (Both) (Wide/Squinted)
- * **12**: Lip Thickness (Both) (Fat/Thin)
- * **13**: Jaw Bone Width (Narrow/Wide)
- * **14**: Jaw Bone Shape (Round/Square)
- * **15**: Chin Bone (Up/Down)
- * **16**: Chin Bone Length (In/Out or Backward/Forward)
- * **17**: Chin Bone Shape (Pointed/Square)
- * **18**: Chin Hole (Chin Bum)
- * **19**: Neck Thickness (Thin/Thick)
- **Note:**
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- An integer ranging from 0 to 19
-
-
- A float ranging from -1.0 to 1.0
-
-
-
-
- Used for freemode (online) characters.
-
-
-
-
- For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
- **Other information:**
- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
- This native function is often called prior to calling natives such as:
- * [`SetPedHairColor`](#0xBB43F090)
- * [`SetPedHeadOverlayColor`](#0x78935A27)
- * [`SetPedHeadOverlay`](#0xD28DBA90)
- * [`SetPedFaceFeature`](#0x6C8D4458)
-
-
- The ped entity
-
-
- Controls the shape of the first ped's face
-
-
- Controls the shape of the second ped's face
-
-
- Controls the shape of the third ped's face
-
-
- Controls the first id's skin tone
-
-
- Controls the second id's skin tone
-
-
- Controls the third id's skin tone
-
-
- 0.0 - 1.0 Of whose characteristics to take Mother -> Father (shapeFirstID and shapeSecondID)
-
-
- 0.0 - 1.0 Of whose characteristics to take Mother -> Father (skinFirstID and skinSecondID)
-
-
- Overrides the others in favor of the third IDs.
-
-
- IsParent is set for "children" of the player character's grandparents during old-gen character creation. It has unknown effect otherwise.
-
-
-
-
- ```
- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.
- overlayID Part Index, to disable
- 0 Blemishes 0 - 23, 255
- 1 Facial Hair 0 - 28, 255
- 2 Eyebrows 0 - 33, 255
- 3 Ageing 0 - 14, 255
- 4 Makeup 0 - 74, 255
- 5 Blush 0 - 6, 255
- 6 Complexion 0 - 11, 255
- 7 Sun Damage 0 - 10, 255
- 8 Lipstick 0 - 9, 255
- 9 Moles/Freckles 0 - 17, 255
- 10 Chest Hair 0 - 16, 255
- 11 Body Blemishes 0 - 11, 255
- 12 Add Body Blemishes 0 - 1, 255
- ```
- **Note:**
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- The overlay id displayed up above.
-
-
- An integer representing the index (from 0 to `_GET_NUM_OVERLAY_VALUES(overlayID)-1`)
-
-
- A float ranging from 0.0 to 1.0
-
-
-
-
- ```
- Used for freemode (online) characters.
- Called after SET_PED_HEAD_OVERLAY().
- ```
- **Note:**
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- An integer representing the overlay id
-
-
- 1 for eyebrows, beards, and chest hair; 2 for blush and lipstick; and 0 otherwise, though not called in those cases.
-
-
- An integer representing the primary color id
-
-
- An integer representing the secondary color id
-
-
-
-
- SET_PED_INTO_VEHICLE
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669). -2 for the first available seat.
-
-
-
-
- This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
- ### MP Freemode list of props
- **0**: Hat\
- **1**: Glass\
- **2**: Ear\
- **6**: Watch\
- **7**: Bracelet
- ### Related and useful natives
- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
- The ped handle.
-
-
- The component that you want to set.
-
-
- The drawable id that is going to be set.
-
-
- The texture id of the drawable.
-
-
- Attached or not.
-
-
-
-
- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.
- List of component/props ID:
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
- Known values:
-
-
-
-
- p4/p5: Unusued in TU27
- ### Ragdoll Types
- **0**: CTaskNMRelax
- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
- **Else**: CTaskNMBalance
-
-
- Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1.
-
-
-
-
- Return variable is never used in R*'s scripts.
- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
- x, y, and z are coordinates, most likely to where the ped will fall.
- p7 is probably the force of the fall, but untested, so I left the variable name the same.
- p8 to p13 are always 0f in R*'s scripts.
- (Simplified) Example of the usage of the function from R*'s scripts:
- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
-
-
-
-
- Flags:
- SPC_AMBIENT_SCRIPT = (1 << 1),
- SPC_CLEAR_TASKS = (1 << 2),
- SPC_REMOVE_FIRES = (1 << 3),
- SPC_REMOVE_EXPLOSIONS = (1 << 4),
- SPC_REMOVE_PROJECTILES = (1 << 5),
- SPC_DEACTIVATE_GADGETS = (1 << 6),
- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
- SPC_ALLOW_PAD_SHAKE = (1 << 12)
- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
-
-
-
-
- Sets the culling radius for the specified player.
- Set to `0.0` to reset.
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
- The player to set the culling radius for.
-
-
- The radius.
-
-
-
-
- Simply sets you as invincible (Health will not deplete).
- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:
- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);
-
-
-
-
- Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
- As per usual, make sure to request the model first and wait until it has loaded.
-
-
- The player to set the model for
-
-
- The model to use
-
-
-
-
- Sets the routing bucket for the specified player.
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The player to set the routing bucket for.
-
-
- The bucket ID.
-
-
-
-
- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect
- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files
- disableNoMission- Disables When Off Mission- appears to always be false
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP](#\_0x21C7A35B) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Sets the entity lockdown mode for a specific routing bucket.
- Lockdown modes are:
- | Mode | Meaning |
- | ---------- | ---------------------------------------------------------- |
- | `strict` | No entities can be created by clients at all. |
- | `relaxed` | Only script-owned entities created by clients are blocked. |
- | `inactive` | Clients can create any entity they want. |
-
-
- The routing bucket ID to adjust.
-
-
- One of aforementioned modes.
-
-
-
-
- Sets whether or not the specified routing bucket has automatically-created population enabled.
-
-
- The routing bucket ID to adjust.
-
-
- `true` to enable population, `false` to disable population.
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- SET_VEHICLE_ALARM
-
-
-
-
- p2 often set to 1000.0 in the decompiled scripts.
-
-
-
-
- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
-
-
- The vehicle to modify.
-
-
- One of the default color values of the vehicle.
-
-
-
-
- colorPrimary & colorSecondary are the paint indexes for the vehicle.
- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- Sets the dirt level of the passed vehicle.
-
-
- The vehicle to set.
-
-
- A number between 0.0 and 15.0 representing the vehicles dirt level.
-
-
-
-
- See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
-
-
-
-
- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
- // They use 10 in am_mp_property_int, don't know what it does atm.
- enum eCarLock {
- CARLOCK_NONE = 0,
- CARLOCK_UNLOCKED = 1,
- CARLOCK_LOCKED = 2,
- CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
- CARLOCK_LOCKED_PLAYER_INSIDE = 4,
- CARLOCK_LOCKED_INITIALLY = 5,
- CARLOCK_FORCE_SHUT_DOORS = 6,
- CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
- };
-
-
-
-
- SET_VEHICLE_NUMBER_PLATE_TEXT
-
-
- The vehicle to set the plate for
-
-
- The text to set the plate to, 8 chars maximum
-
-
-
-
- START_FIND_KVP
-
-
- A prefix match
-
-
- A KVP find handle to use with [FIND_KVP](#\_0xBD7BEBC5) and close with [END_FIND_KVP](#\_0xB3210203)
-
-
-
-
- START_RESOURCE
-
-
-
-
- STOP_RESOURCE
-
-
-
-
- Makes the specified ped attack the target ped.
- p2 should be 0
- p3 should be 16
-
-
-
-
- Example:
- TASK::TASK_DRIVE_BY(l_467[1 -- [[22]] ], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
- Needs working example. Doesn't seem to do anything.
- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
-
-
-
-
- speed 1.0 = walk, 2.0 = run
- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle
- p6 is always 0
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
-
-
- TASK_EVERYONE_LEAVE_VEHICLE
-
-
-
-
- TASK_GO_STRAIGHT_TO_COORD
-
-
- The ped handle.
-
-
- The x coordinate.
-
-
- The y coordinate.
-
-
- The z coordinate.
-
-
- The ped movement speed.
-
-
- \-1 , other values appear to break the ped movement.
-
-
- The heading you want the ped to be on x,y,z coord.
-
-
- The distance from x,y,z where the ped will start sliding.
-
-
-
-
- example from fm_mission_controller
- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
-
-
-
-
- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
-
-
-
-
- In the scripts, p3 was always -1.
- p3 seems to be duration or timeout of turn animation.
- Also facingPed can be 0 or -1 so ped will just raise hands up.
-
-
-
-
- Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
-
-
-
-
- Flags from decompiled scripts:
- 0 = normal exit and closes door.
- 1 = normal exit and closes door.
- 16 = teleports outside, door kept closed. (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
- 64 = normal exit and closes door, maybe a bit slower animation than 0.
- 256 = normal exit but does not close the door.
- 4160 = ped is throwing himself out, even when the vehicle is still.
- 262144 = ped moves to passenger seat first, then exits normally
- Others to be tried out: 320, 512, 131072.
-
-
-
-
- [Animations list](https://alexguirre.github.io/animations-list/)
- ```
- float blendInSpeed > normal speed is 8.0f
- ----------------------
- float blendOutSpeed > normal speed is 8.0f
- ----------------------
- int duration: time in millisecond
- ----------------------
- -1 _ _ _ _ _ _ _> Default (see flag)
- 0 _ _ _ _ _ _ _ > Not play at all
- Small value _ _ > Slow down animation speed
- Other _ _ _ _ _ > freeze player control until specific time (ms) has
- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be
- _ _ _ _ _ _ _ _ _ controllable.)
- int flag:
- ----------------------
- enum eAnimationFlags
- {
- ANIM_FLAG_NORMAL = 0,
- ANIM_FLAG_REPEAT = 1,
- ANIM_FLAG_STOP_LAST_FRAME = 2,
- ANIM_FLAG_UPPERBODY = 16,
- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,
- ANIM_FLAG_CANCELABLE = 120,
- };
- Odd number : loop infinitely
- Even number : Freeze at last frame
- Multiple of 4: Freeze at last frame but controllable
- 01 to 15 > Full body
- 10 to 31 > Upper body
- 32 to 47 > Full body > Controllable
- 48 to 63 > Upper body > Controllable
- ...
- 001 to 255 > Normal
- 256 to 511 > Garbled
- ...
- playbackRate:
- values are between 0.0 and 1.0
- lockX:
- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3
- > 1 for mini@sprunk
- lockY:
- 0 in most cases
- 1 for missfam5_yoga, missfra1mcs_2_crew_react
- lockZ:
- 0 for single player
- Can be 1 but only for MP
- ```
-
-
-
-
- It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
- [Animations list](https://alexguirre.github.io/animations-list/)
-
-
- The target ped
-
-
- Name of the animation dictionary
-
-
- Name of the animation
-
-
- Initial X position of the task
-
-
- Initial Y position of the task
-
-
- Initial Z position of the task
-
-
- Initial X rotation of the task, doesn't seem to have any effect
-
-
- Initial Y rotation of the task, doesn't seem to have any effect
-
-
- Initial Z rotation of the task
-
-
- Adjust character speed to fully enter animation
-
-
- Adjust character speed to fully exit animation (useless `ClearPedTasksImmediately()` is called)
-
-
- Time in milliseconds
-
-
- Value between 0.0 and 1.0, lets you start an animation from the given point
-
-
-
-
- TASK_REACT_AND_FLEE_PED
-
-
-
-
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
- Entity aimedentity;
- Player player = PLAYER::PLAYER_ID();
- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
- //bg is an array of peds
- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- TASK_WARP_PED_INTO_VEHICLE
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
-
-
- TEMP_BAN_PLAYER
-
-
-
-
- The backing function for TriggerClientEvent.
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- The backing function for TriggerLatentClientEvent.
-
-
-
-
- VERIFY_PASSWORD_HASH
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
- A boolean.
-
-
-
-
- Gets or sets the position of this .
-
-
- The position in world space.
-
-
-
-
- Gets or sets the rotation of this .
-
-
- The yaw, pitch, roll rotation values.
-
-
-
-
- Gets or sets the heading of this .
-
-
- The heading in degrees.
-
-
-
-
- Sets a value indicating whether this should be frozen.
-
-
- true if this position should be frozen; otherwise, false.
-
-
-
-
- Gets or sets the velocity of this .
-
-
-
-
- Gets the rotation velocity of this .
-
-
-
-
- Gets the model of the this .
-
-
-
-
- Gets the network owner of the this .
-
- Returns the of the network owner.
- Returns null if this is in an unowned state.
-
-
-
- Gets the network ID of the this .
-
-
-
-
- Gets the type of this .
-
- Returns 1 if this is a Ped.
- Returns 2 if this is a Vehicle.
- Returns 3 if this is a Prop.
-
-
-
- Gets the of this
-
-
-
-
- Creates a new instance of an from the given handle.
-
- The entity handle.
- Returns a if this handle corresponds to a Ped.
- Returns a if this handle corresponds to a Vehicle.
- Returns a if this handle corresponds to a Prop.
- Returns null if no exists this the specified
-
-
-
- Creates a new instance of an from the given network ID.
-
- The entity network ID.
- Returns a if this network ID corresponds to a Ped.
- Returns a if this network ID corresponds to a Vehicle.
- Returns a if this network ID corresponds to a Prop.
- Returns null if no exists this the specified
-
-
-
- Checks if two s refer to the same
-
- The other .
- true if they are the same ; otherwise, false
-
-
-
- Creates a new instance of an from the given player handle.
-
- The players handle.
- Returns the of the player.
- Returns null if no exists for the specified player
-
-
-
-
-
-
-
-
-
- Gets the identifier value of a particular type.
-
-
- string steamId = player.Identifiers["steam"];
-
- The identifier type to return.
- The identifier value (without prefix), or null if it could not be found.
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized Color Structure
-
-
-
-
- Equality Operator
-
-
-
- Compares two Color objects. The return value is
- based on the equivalence of the A,R,G,B properties
- of the two Colors.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two Color objects. The return value is
- based on the equivalence of the A,R,G,B properties
- of the two colors.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates transparent black. R,G,B = 0; A=0?
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this Color and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- ToString Method
-
-
-
- Formats the Color as a string in ARGB notation.
-
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized Point Structure.
-
-
-
-
- Ceiling Shared Method
-
-
-
- Produces a Point structure from a PointF structure by
- taking the ceiling of the X and Y properties.
-
-
-
-
- Round Shared Method
-
-
-
- Produces a Point structure from a PointF structure by
- rounding the X and Y properties.
-
-
-
-
- Truncate Shared Method
-
-
-
- Produces a Point structure from a PointF structure by
- truncating the X and Y properties.
-
-
-
-
- Addition Operator
-
-
-
- Translates a Point using the Width and Height
- properties of the given Size.
-
-
-
-
- Equality Operator
-
-
-
- Compares two Point objects. The return value is
- based on the equivalence of the X and Y properties
- of the two points.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two Point objects. The return value is
- based on the equivalence of the X and Y properties
- of the two points.
-
-
-
-
- Subtraction Operator
-
-
-
- Translates a Point using the negation of the Width
- and Height properties of the given Size.
-
-
-
-
- Point to Size Conversion
-
-
-
- Returns a Size based on the Coordinates of a given
- Point. Requires explicit cast.
-
-
-
-
- Point to PointF Conversion
-
-
-
- Creates a PointF based on the coordinates of a given
- Point. No explicit cast is required.
-
-
-
-
- Point Constructor
-
-
-
- Creates a Point from an integer which holds the Y
- coordinate in the high order 16 bits and the X
- coordinate in the low order 16 bits.
-
-
-
-
- Point Constructor
-
-
-
- Creates a Point from a Size value.
-
-
-
-
- Point Constructor
-
-
-
- Creates a Point from a specified x,y coordinate pair.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates if both X and Y are zero.
-
-
-
-
- X Property
-
-
-
- The X coordinate of the Point.
-
-
-
-
- Y Property
-
-
-
- The Y coordinate of the Point.
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this Point and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- Offset Method
-
-
-
- Moves the Point a specified distance.
-
-
-
-
- ToString Method
-
-
-
- Formats the Point as a string in coordinate notation.
-
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized PointF Structure.
-
-
-
-
- Addition Operator
-
-
-
- Translates a PointF using the Width and Height
- properties of the given Size.
-
-
-
-
- Equality Operator
-
-
-
- Compares two PointF objects. The return value is
- based on the equivalence of the X and Y properties
- of the two points.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two PointF objects. The return value is
- based on the equivalence of the X and Y properties
- of the two points.
-
-
-
-
- Subtraction Operator
-
-
-
- Translates a PointF using the negation of the Width
- and Height properties of the given Size.
-
-
-
-
- PointF Constructor
-
-
-
- Creates a PointF from a specified x,y coordinate pair.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates if both X and Y are zero.
-
-
-
-
- X Property
-
-
-
- The X coordinate of the PointF.
-
-
-
-
- Y Property
-
-
-
- The Y coordinate of the PointF.
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this PointF and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- ToString Method
-
-
-
- Formats the PointF as a string in coordinate notation.
-
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized Size Structure.
-
-
-
-
- Ceiling Shared Method
-
-
-
- Produces a Size structure from a SizeF structure by
- taking the ceiling of the Width and Height properties.
-
-
-
-
- Round Shared Method
-
-
-
- Produces a Size structure from a SizeF structure by
- rounding the Width and Height properties.
-
-
-
-
- Truncate Shared Method
-
-
-
- Produces a Size structure from a SizeF structure by
- truncating the Width and Height properties.
-
-
-
-
- Addition Operator
-
-
-
- Addition of two Size structures.
-
-
-
-
- Equality Operator
-
-
-
- Compares two Size objects. The return value is
- based on the equivalence of the Width and Height
- properties of the two Sizes.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two Size objects. The return value is
- based on the equivalence of the Width and Height
- properties of the two Sizes.
-
-
-
-
- Subtraction Operator
-
-
-
- Subtracts two Size structures.
-
-
-
-
- Size to Point Conversion
-
-
-
- Returns a Point based on the dimensions of a given
- Size. Requires explicit cast.
-
-
-
-
- Size to SizeF Conversion
-
-
-
- Creates a SizeF based on the dimensions of a given
- Size. No explicit cast is required.
-
-
-
-
- Size Constructor
-
-
-
- Creates a Size from a Point value.
-
-
-
-
- Size Constructor
-
-
-
- Creates a Size from specified dimensions.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates if both Width and Height are zero.
-
-
-
-
- Width Property
-
-
-
- The Width coordinate of the Size.
-
-
-
-
- Height Property
-
-
-
- The Height coordinate of the Size.
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this Size and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- ToString Method
-
-
-
- Formats the Size as a string in coordinate notation.
-
-
-
-
- Empty Shared Field
-
-
-
- An uninitialized SizeF Structure.
-
-
-
-
- Addition Operator
-
-
-
- Addition of two SizeF structures.
-
-
-
-
- Equality Operator
-
-
-
- Compares two SizeF objects. The return value is
- based on the equivalence of the Width and Height
- properties of the two Sizes.
-
-
-
-
- Inequality Operator
-
-
-
- Compares two SizeF objects. The return value is
- based on the equivalence of the Width and Height
- properties of the two Sizes.
-
-
-
-
- Subtraction Operator
-
-
-
- Subtracts two SizeF structures.
-
-
-
-
- SizeF to PointF Conversion
-
-
-
- Returns a PointF based on the dimensions of a given
- SizeF. Requires explicit cast.
-
-
-
-
- SizeF Constructor
-
-
-
- Creates a SizeF from a PointF value.
-
-
-
-
- SizeF Constructor
-
-
-
- Creates a SizeF from an existing SizeF value.
-
-
-
-
- SizeF Constructor
-
-
-
- Creates a SizeF from specified dimensions.
-
-
-
-
- IsEmpty Property
-
-
-
- Indicates if both Width and Height are zero.
-
-
-
-
- Width Property
-
-
-
- The Width coordinate of the SizeF.
-
-
-
-
- Height Property
-
-
-
- The Height coordinate of the SizeF.
-
-
-
-
- Equals Method
-
-
-
- Checks equivalence of this SizeF and another object.
-
-
-
-
- GetHashCode Method
-
-
-
- Calculates a hashing value.
-
-
-
-
- ToString Method
-
-
-
- Formats the SizeF as a string in coordinate notation.
-
-
-
-
- Gets the column number in the file that contains the code that is executing.
- This information is typically extracted from the debugging symbols for the executable.
-
- The file column number, or 0 (zero) if the file column number cannot be determined.
-
-
-
- Gets the line number in the file that contains the code that is executing.
- This information is typically extracted from the debugging symbols for the executable.
-
- The file line number, or 0 (zero) if the file line number cannot be determined.
-
-
-
- Gets the file name that contains the code that is executing.
- This information is typically extracted from the debugging symbols for the executable.
-
- The file name, or null if the file name cannot be determined.
-
-
-
- Gets the offset from the start of the Microsoft intermediate language (MSIL)
- code for the method that is executing. This offset might be an approximation
- depending on whether or not the just-in-time (JIT) compiler is generating debugging
- code. The generation of this debugging information is controlled by the System.Diagnostics.DebuggableAttribute.
-
- The offset from the start of the MSIL code for the method that is executing.
-
-
-
- Gets the method in which the frame is executing.
-
- The method in which the frame is executing.
-
-
-
- Gets the offset from the start of the native just-in-time (JIT)-compiled code
- for the method that is being executed. The generation of this debugging information
- is controlled by the System.Diagnostics.DebuggableAttribute class.
-
- The offset from the start of the JIT-compiled code for the method that is being executed.
-
-
-
- Builds a readable representation of the stack trace.
-
- A readable representation of the stack trace.
-
-
-
- Gets the number of frames in the stack trace.
-
- The number of frames in the stack trace.
-
-
-
- Gets the specified stack frame.
-
- The index of the stack frame requested.
- The specified stack frame.
-
-
-
- Returns a copy of all stack frames in the current stack trace.
-
-
- An array of type System.Diagnostics.StackFrame representing the function calls
- in the stack trace.
-
-
-
-
- Builds a readable representation of the stack trace.
-
- A readable representation of the stack trace.
-
-
-
- Tries to convert a given to a full path.
- Returns original value if the conversion isn't possible or a given path is relative.
-
-
-
-
-
-
-
- Demystifies the given and tracks the original stack traces for the whole exception tree.
-
-
-
-
- Gets demystified string representation of the .
-
-
- method mutates the exception instance that can cause
- issues if a system relies on the stack trace be in the specific form.
- Unlike this method is pure. It calls first,
- computes a demystified string representation and then restores the original state of the exception back.
-
-
-
-
- A helper class that contains utilities methods for dealing with reflection.
-
-
-
-
- Returns true if is System.Runtime.CompilerServices.IsReadOnlyAttribute.
-
-
-
-
- Returns true if the is a value tuple type.
-
-
-
-
- Returns true if the given is of type TupleElementNameAttribute.
-
-
- To avoid compile-time depencency hell with System.ValueTuple, this method uses reflection and not checks statically that
- the given is TupleElementNameAttribute.
-
-
-
-
- Returns 'TransformNames' property value from a given .
-
-
- To avoid compile-time depencency hell with System.ValueTuple, this method uses reflection
- instead of casting the attribute to a specific type.
-
-
-
-
- Pretty print a type name.
-
- The .
- true to print a fully qualified name.
- true to include generic parameter names.
- The pretty printed type name.
-
-
-
- Returns a name of given generic type without '`'.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/citizen/clr2/lib/mono/4.5/ref/MsgPack.dll b/citizen/clr2/lib/mono/4.5/ref/MsgPack.dll
deleted file mode 100644
index 2cbc628ee..000000000
Binary files a/citizen/clr2/lib/mono/4.5/ref/MsgPack.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/ref/MsgPack.sym b/citizen/clr2/lib/mono/4.5/ref/MsgPack.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/ref/MsgPack.xml b/citizen/clr2/lib/mono/4.5/ref/MsgPack.xml
deleted file mode 100644
index 153efcdf7..000000000
--- a/citizen/clr2/lib/mono/4.5/ref/MsgPack.xml
+++ /dev/null
@@ -1,10473 +0,0 @@
-
-
-
- MsgPack
-
-
-
-
- Define bit operations which enforce big endian.
-
-
-
-
- Defines binary related utilities.
-
-
-
-
- Singleton empty [].
-
-
-
-
- Debugger type proxy for .
-
- The element type of the collection.
-
-
-
- Debugger type proxy for .
-
- The key type of the dictionary.
- The value type of the dictionary.
-
-
-
- Provides bit access for .
-
-
-
-
- Value as .
-
-
-
-
- Most significant byte of current endian.
-
-
-
-
- 2nd bit from most significant byte of current endian.
-
-
-
-
- 3rd byte from most significant byte of current endian.
-
-
-
-
- Least byte of current endian.
-
-
-
-
- Initializes a new instance of the type from specified .
-
- Value of .
-
-
-
- Initializes a new instance of the type from specified [] which is big endian.
-
- Array of which contains bytes in big endian.
- Offset to read.
-
-
-
- Provides bit access for .
-
-
-
-
- Value as .
-
-
-
-
- Most significant byte of current endian.
-
-
-
-
- 2nd bit from most significant byte of current endian.
-
-
-
-
- 3rd byte from most significant byte of current endian.
-
-
-
-
- 4th byte from most significant byte of current endian.
-
-
-
-
- 5th byte from most significant byte of current endian.
-
-
-
-
- 6th byte from most significant byte of current endian.
-
-
-
-
- 7th byte from most significant byte of current endian.
-
-
-
-
- Least significant byte of current endian.
-
-
-
-
- Initializes a new instance of the type from specified [] which is big endian.
-
- Array of which contains bytes in big endian.
- Offset to read.
-
-
-
- Exception occured when inbound stream is invalid as serialized Message Pack stream.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Represents objects which knows how to pack ifself using specified .
-
-
-
-
- Pack this instance itself using specified .
-
- .
- Packing options. This value can be null.
- is null.
-
-
-
- Implements deserializing feature of MsgPack.
-
-
- implements three mode, that is 'Streaming', 'Enumerating', 'Skipping', and 'Subtree'.
-
- -
-
- Streaming
-
-
- When the is called, unpacker go into 'Streaming' mode.
- In this mode, unpacker unpacks individual entries as via property.
- If the underlying stream is ended unexpectedly, then returns false, and will be null.
- Note that if the underlying stream is feeded, that is the is expanded and its is not forwarded,
- subsequent invocation will success, and is set as complete entry which reflects feeded binary.
-
-
- If the reading of the entry is completed, that is the is not null, unpacker can transit other mode.
-
-
- -
-
- Enumerating
-
-
- When the is called and the enumeration is started, unpacker go into 'Enumerating' mode.
- In this mode, unpacker unpacks individual entries as via property.
- If the underlying stream is ended unexpectedly, enumeration is interrupted.
- The interrupted unpacker cannot be resume.
-
-
- Once the enumeration is completed gracefully, unpacker can transit other mode.
-
-
- -
-
- Skipping
-
-
- When the is called, unpacker go into 'Skipping' mode.
- In this mode, unpacker scans the subtree where the root is current item, then returns skipped byte length.
- If the underlying stream is ended unexpectedly, it returns null.
- Note that if the underlying stream is feeded, that is the is expanded and its is not forwarded,
- subsequent invocation will success, and returns length as complete entry which reflects feeded binary.
-
- If the underlying is cannot be seeked (that is, is false),
- DO NOT use this method.
- You can buffering the content via instead, for example.
-
-
-
- If the skipping of the subtree is completed, that is the return value is not null, unpacker can transit other mode.
-
-
- -
-
- Subtree
-
-
- When the is called, unpacker go into 'Subtree' mode.
- In this mode, any operation for this unpacker instance is invalid.
- Instead of use this instance itself, you can use subtree unpacker returned from .
- The subtree unpacker is the instance which scope is limited to the subtree where the root is the current entry when is called.
- The subtree unpacker also have its own mode and state.
-
- of the subtree unpacker must be called to indicate subtree unpacking is gracefully completed.
- When the extra entries are remained in the subtree, these will be skipped on the disposal process.
-
-
-
- Once the subtree unpacking is completed gracefully, that is, on the subtree unpacker called, the parant unpacker can transit other mode.
-
-
-
-
-
-
-
-
- Verifies the mode.
-
- The mode to be.
-
- Already disposed.
-
-
- Is in incompatible mode.
-
-
-
-
- Verifies this instance is not disposed.
-
-
-
-
- Returns new exception instance to notify invalid mode transition.
-
- New exception instance to notify invalid mode transition.
-
-
-
- Creates the new from specified stream.
-
- The stream to be unpacked. This stream will be closed when is called.
- instance.
-
-
-
- Creates the new from specified stream.
-
- The stream to be unpacked.
-
- true to close when this instance is disposed;
- false, otherwise.
-
- instance.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Releases all managed resources.
-
-
-
-
- Releases unmanaged and optionally managed resources.
-
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Starts unpacking of current subtree.
-
-
- to unpack current subtree.
- This will not be null.
-
-
- This unpacker is not positioned on the header of array nor map.
- Or this unpacker already returned for subtree and it has not been closed yet.
-
-
- While subtree unpacker is used, this instance will be 'locked' (called 'subtree' mode) and be unavailable.
- When you finish to unpack subtree, you must invoke ,
- or you faces when you use the parent instance.
- Subtree unpacker can only unpack subtree, so you can handle collection deserialization easily.
-
-
-
-
- Starts unpacking of current subtree.
-
-
- to unpack current subtree.
- This will not be null.
-
-
-
-
- Ends the read subtree.
-
-
- This method only be called from subtree unpacker.
- Custom subtree unpacker implementation must call this method from its method.
-
-
-
-
- Reads next Message Pack entry.
-
-
- true, if position is sucessfully move to next entry;
- false, if position reaches the tail of the Message Pack stream.
-
-
- This instance is in 'subtree' mode.
-
-
- The underying stream unexpectedly ended.
-
-
-
-
- Reads next Message Pack entry.
-
-
- true, if position is sucessfully move to next entry;
- false, if position reaches the tail of the Message Pack stream.
-
-
-
-
- Gets to enumerate from source stream.
-
- to enumerate from source stream.
-
-
-
- Skips the subtree where the root is the current entry, and returns skipped byte length.
-
-
- Skipped byte length.
- If the subtree is not completed, then null.
-
-
-
-
- Skips the subtree where the root is the current entry, and returns skipped byte length.
-
-
- Skipped byte length.
- If the subtree is not completed, then null.
-
-
-
-
- Gets a current item or collection as single from the stream.
-
-
- A read item or collection from the stream.
- Or null when stream is ended.
-
-
-
-
- Gets a current item or collection as single from the stream.
-
-
- A read item or collection from the stream.
-
- The stream unexpectedly ends.
-
-
-
- Unpacks current subtree and returns subtree root as array or map.
-
-
- An unpacked array or map when current position is array or map header.
- null when current position is not array nor map header.
-
-
-
-
- Unpacks current subtree and returns subtree root as array or map.
-
-
- An unpacked array or map when current position is array or map header.
- Or when current position is not array nor map header.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next value from current stream.
-
-
- The value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the type.
-
-
-
-
- Reads next nullable value from current stream.
-
-
- The nullable value read from current data source successfully.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not compatible for the nullable type.
-
-
-
-
- Reads next array length value from current stream.
-
-
- The array length read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not an array.
-
-
-
-
- Reads next map length value from current stream.
-
-
- The map length read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not a map.
-
-
-
-
- Reads next byte array value from current stream.
-
-
- The byte array read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not a raw.
-
-
-
-
- Reads next utf-8 encoded string value from current stream.
-
-
- The decoded utf-8 encoded string read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
- A value read from data source is not a raw.
-
-
-
-
- Reads next value from current stream.
-
-
- The which represents a value read from current stream to be stored when operation is succeeded.
-
-
- true if expected value was read from stream; false if no more data on the stream.
- Note that this method throws exception for unexpected state. See exceptions section.
-
-
- Cannot read a value because the underlying stream unexpectedly ends.
-
-
-
-
- Gets a last unpacked data.
-
- A last unpacked data.
-
-
- In default implementation, this property never returning null even if it had not been unpacked any objects.
-
- If you use any of direct APIs (methods which return non-),
- then this property to be invalidated.
- Note that the actual value of invalidated this property is undefined.
-
-
-
-
- Gets a last unpacked data.
-
- A last unpacked data. Initial value is .
-
- If you use any of direct APIs (methods which return non-),
- then this property to be invalidated.
- Note that the actual value of invalidated this property is undefined.
-
-
-
-
- Gets a value indicating whether this instance is positioned to array header.
-
-
- true if this instance is positioned to array header; otherwise, false.
-
-
-
-
- Gets a value indicating whether this instance is positioned to map header.
-
-
- true if this instance is positioned to map header; otherwise, false.
-
-
-
-
- Gets a value indicating whether this instance is positioned to array or map header.
-
-
- true if this instance is positioned to array or map header; otherwise, false.
-
-
-
-
- Gets the items count for current array or map.
-
-
- The items count for current array or map.
-
-
- Both of the and are false.
-
-
-
-
- Gets the underlying stream to handle direct API.
-
-
- This instance does not supoort direct API.
-
-
-
-
- Starts unpacking of current subtree.
-
-
- to unpack current subtree.
- This will not be null.
-
-
-
-
- Read subtree item from current stream.
-
-
- true, if position is sucessfully move to next entry;
- false, if position reaches the tail of the Message Pack stream.
-
-
- This method only be called from .
-
-
-
-
- Defines interface for object which can be deserialzed from MessagePack object.
-
-
-
-
- Restore object state from specified .
-
- .
- is null.
- Cannot restore state from the stream.
-
-
-
- Exception occurs when serialized stream contains structures or features which will never be supported by MsgPack/CLI implementation.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Define common convert rountines specific to MessagePack.
-
-
-
-
- Encode specified string by default encoding.
-
- String value.
- Encoded .
-
- is null.
-
-
-
-
- Decode specified byte[] by default encoding.
-
- Byte[] value.
- Decoded .
-
- is null.
-
-
- contains non-UTF-8 bits.
-
-
-
-
- Convert specified to .
-
-
- value which is unpacked from packed message and may represent date-time value.
-
-
- . Offset of this value always 0.
-
-
-
-
- Convert specified to .
-
-
- value which is unpacked from packed message and may represent date-time value.
-
-
- . This value is always UTC.
-
-
-
-
- Convert specified to as MessagePack defacto-standard.
-
- .
-
- UTC epoc time from 1970/1/1 0:00:00, in milliseconds.
-
-
-
-
- Convert specified to as MessagePack defacto-standard.
-
- .
-
- UTC epoc time from 1970/1/1 0:00:00, in milliseconds.
-
-
-
-
- Represents Message Pack extended type object.
-
-
-
-
- A type code of this object.
-
-
-
-
- A binary value portion of this object.
-
-
-
-
- Gets a copy of the binary value portion of this object.
-
-
- A copy of the binary value portion of this object. This value will not be null.
-
-
-
-
- Initializes a new instance of the struct.
-
- A type code of this extension object.
- A binary value portion.
-
- The is over 127. Higher values are reserved for MessagePack format specification.
-
- The is null.
-
-
-
- Creates a new instance of the struct.
-
- A type code of this extension object.
- A binary value portion.
- The is null.
-
- This method allows reserved type code. It means that this method does not throw exception when the is reserved value (greater then 0x7F).
-
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified s are equal.
-
- A .
- A .
-
- true if the specified s are equal; otherwise, false.
-
-
-
-
- Determines whether the specified s are not equal.
-
- A .
- A .
-
- true if the specified s are not equal; otherwise, false.
-
-
-
-
- Gets a type code of this object.
-
-
- A type code. Note that values over are reserved for MsgPack spec itself.
-
-
-
-
- Gets a binary value portion of this object.
-
-
- A binary value portion of this object. This value will not be null.
-
-
-
-
- Gets a value indicating whether this instance is valid.
-
-
- true if this instance is valid; otherwise, false.
-
-
-
-
- Represents deserialized object of MsgPack.
-
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Initializes a new instance of the [] type which wraps [] instance with specified manner.
-
- A bytes array to be wrapped.
-
- This constructor invokes with false, that means if you pass tha bytes array which is valid utf-8, resulting object can be ,
- and its should be .
-
-
-
-
- Initializes a new instance of the [] type which wraps [] instance with specified manner.
-
- A bytes array to be wrapped.
- true if always should be binary; false, otherwise.
-
- When the is true, then resulting object represents binary even if the is valid utf-8 sequence,
- that is, its should be [].
- On the other hand, when contrast, the is false, and if the is valid utf-8,
- then the resulting object can be ,
- and its should be .
-
-
-
-
- Initializes a new instance of the type which wraps instance.
-
- A value to be wrapped.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert this instance to [] instance.
-
- [] instance corresponds to this instance.
-
-
-
- Convert this instance to instance.
-
- instance corresponds to this instance.
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert []instance to instance.
-
- [] instance.
- instance corresponds to .
-
-
-
- Convert instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Convert this instance to [] instance.
-
- instance.
- [] instance corresponds to .
-
-
-
- Convert this instance to instance.
-
- instance.
- instance corresponds to .
-
-
-
- Instance represents nil. This is equal to default value.
-
-
-
-
- Initializes a new instance wraps .
-
-
- The collection to be copied.
-
-
-
-
- Initializes a new instance wraps .
-
-
- The collection to be copied or used.
-
-
- true if the is immutable collection;
- othereise, false.
-
-
- When the collection is truely immutable or dedicated, you can specify true to the .
- When is true, this constructor does not copy its contents,
- or copies its contents otherwise.
-
- Note that both of IReadOnlyList and is NOT immutable
- because the modification to the underlying collection will be reflected to the read-only collection.
-
-
-
-
-
- Initializes a new instance wraps .
-
-
- The dictitonary to be copied.
-
-
-
-
- Initializes a new instance wraps .
-
-
- The dictitonary to be copied or used.
-
-
- true if the is immutable collection;
- othereise, false.
-
-
- When the collection is truely immutable or dedicated, you can specify true to the .
- When is true, this constructor does not copy its contents,
- or copies its contents otherwise.
-
- Note that both of IReadOnlyDictionary and ReadOnlyDictionary is NOT immutable
- because the modification to the underlying collection will be reflected to the read-only collection.
-
-
-
-
-
- Initializes a new instance wraps .
-
- which represents byte array or UTF-8 encoded string.
-
-
-
- Compare two instances are equal.
-
- instance.
-
- If is and its value is equal to this instance, then true.
- Otherwise false.
-
-
-
-
- Compare two instances are equal.
-
- instance.
-
- Whether value of is equal to this instance or not.
-
-
-
-
- Get hash code of this instance.
-
- Hash code of this instance.
-
-
-
- Returns a string that represents the current object.
-
-
- A string that represents the current object.
-
-
-
- DO NOT use this value programmically.
- The purpose of this method is informational, so format of this value subject to change.
-
-
-
-
-
- Determine whether the underlying value of this instance is specified type or not.
-
- Target type.
- If the underlying value of this instance is then true, otherwise false.
-
-
-
- Determine whether the underlying value of this instance is specified type or not.
-
- Target type.
- If the underlying value of this instance is then true, otherwise false.
- is null.
-
-
-
- Pack this instance itself using specified .
-
- .
- Packing options. This value can be null.
- is null.
-
-
-
- Gets the underlying value as string encoded with specified .
-
-
- The string.
- Note that some returns null if the binary is not valid encoded string.
-
-
-
-
- Get underlying value as UTF8 string.
-
- Underlying raw binary.
-
-
-
- Get underlying value as UTF-16 string.
-
- Underlying string.
-
- This method detects BOM. If BOM is not exist, them bytes should be Big-Endian UTF-16.
-
-
-
-
- Get underlying value as UTF-16 charcter array.
-
- Underlying string.
-
-
-
- Get underlying value as .
-
- Underlying .
-
-
-
- Get underlying value as .
-
- Underlying .
-
-
-
- Get underlying value as .
-
- Underlying .
-
-
-
- Wraps specified object as recursively.
-
- Object to be wrapped.
- wrapps .
-
- is not primitive value type, list of ,
- dictionary of , , [], or null.
-
-
-
-
- Get boxed underlying value for this object.
-
- Boxed underlying value for this object.
-
-
-
- Compare two instances are equal.
-
- instance.
- instance.
-
- Whether value of and are equal each other or not.
-
-
-
-
- Compare two instances are not equal.
-
- instance.
- instance.
-
- Whether value of and are not equal each other or are equal.
-
-
-
-
- Convert [] instance to instance.
-
- [] instance.
- instance corresponds to .
-
-
-
- Get whether this instance represents nil.
-
- If this instance represents nil object, then true.
-
-
-
- Get the value indicates whether this instance wraps raw binary (or string) or not.
-
- This instance wraps raw binary (or string) then true.
-
-
-
- Get the value indicates whether this instance wraps list (array) or not.
-
- This instance wraps list (array) then true.
-
-
-
- Get the value indicates whether this instance wraps list (array) or not.
-
- This instance wraps list (array) then true.
-
-
-
- Get the value indicates whether this instance wraps dictionary (map) or not.
-
- This instance wraps dictionary (map) then true.
-
-
-
- Get the value indicates whether this instance wraps dictionary (map) or not.
-
- This instance wraps dictionary (map) then true.
-
-
-
- Get underlying type of this instance.
-
- Underlying .
-
-
-
- Implements for .
-
-
- This dictionary handles type semantics for the key.
- Additionally, this dictionary implements 'freezing' feature.
- For details, see , , and .
-
-
-
-
- Initializes an empty new instance of the class with default capacity.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Initializes an empty new instance of the class with specified initial capacity.
-
- The initial capacity.
-
- is negative.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Initializes a new instance of the class.
-
- The dictionary to be copied from.
-
- is null.
-
-
- Failed to copy from .
-
-
- This constructor takes O(N) time, N is of .
- Initial capacity will be of .
-
-
-
-
- Determines whether the contains an element with the specified key.
-
- The key to locate in the .
-
- is .
-
-
- true if the contains an element with the key; otherwise, false.
-
-
- This method approaches an O(1) operation.
-
-
-
-
- Determines whether the contains an element with the specified value.
-
- The value to locate in the .
-
- true if the contains an element with the value; otherwise, false.
-
-
- This method approaches an O(N) operation where N is .
-
-
-
-
- Gets the value associated with the specified key.
-
-
- The key whose value to get.
-
-
- When this method returns, the value associated with the specified key, if the key is found;
- otherwise, the default value for the type of the parameter.
- This parameter is passed uninitialized.
-
-
- true if this dictionary contains an element with the specified key; otherwise, false.
-
-
- is .
-
-
-
- Note that tiny integers are considered equal regardless of its CLI ,
- and UTF-8 encoded bytes are considered equals to .
-
-
- This method approaches an O(1) operation.
-
-
-
-
-
- Adds the specified key and value to the dictionary.
-
-
- The key of the element to add.
-
-
- The value of the element to add. The value can be null for reference types.
-
-
- An element with the same key already does not exist in the dictionary and sucess to add then newly added node;
- otherwise null.
-
-
- already exists in this dictionary.
- Note that tiny integers are considered equal regardless of its CLI ,
- and UTF-8 encoded bytes are considered equals to .
-
-
- is .
-
-
- If is less than the capacity, this method approaches an O(1) operation.
- If the capacity must be increased to accommodate the new element,
- this method becomes an O(N) operation, where N is .
-
-
-
-
- Removes the element with the specified key from the .
-
- The key of the element to remove.
-
- true if the element is successfully removed; otherwise, false.
- This method also returns false if was not found in the original .
-
-
- is .
-
-
- This method approaches an O(1) operation.
-
-
-
-
- Removes all items from the .
-
-
- This method approaches an O(N) operation, where N is .
-
-
-
-
- Returns an enumerator that iterates through the .
-
-
- Returns an enumerator that iterates through the .
-
-
- This method is an O(1) operation.
-
-
-
-
- Freezes this instance.
-
-
- This instance itself.
- This value will not be null and its is true.
-
-
- This method freezes this instance itself.
- This operation is an O(1) operation.
-
-
-
-
- Gets a copy of this instance as frozen instance.
-
-
- New instance which contains same items as this instance.
- This value will not be null and its is true.
-
-
- This method does not freeze this instance itself.
- This operation is an O(N) operation where O(N) of items.
-
-
-
-
- Gets a value indicating whether this instance is frozen.
-
-
- true if this instance is frozen; otherwise, false.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Gets the number of elements contained in the .
-
-
- The number of elements contained in the .
-
-
- This operation is an O(1) operation.
-
-
-
-
- Gets or sets the element with the specified key.
-
-
- The element with the specified key.
-
- Key for geting or seting value.
-
- is .
-
-
- The property is retrieved and is not found.
-
-
- The property is set and this instance is frozen.
-
-
-
- Note that tiny integers are considered equal regardless of its CLI ,
- and UTF-8 encoded bytes are considered equals to .
-
-
- This method approaches an O(1) operation.
-
-
-
-
-
- Gets an containing the keys of the .
-
-
- An containing the keys of the object.
- This value will not be null.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Gets an containing the values of the .
-
-
- An containing the values of the object.
- This value will not be null.
-
-
- This operation is an O(1) operation.
-
-
-
-
- Enumerates the elements of a in order.
-
-
-
-
- Releases all resources used by the this instance.
-
-
-
-
- Advances the enumerator to the next element of the underlying collection.
-
-
- true if the enumerator was successfully advanced to the next element;
- false if the enumerator has passed the end of the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the underlying collection at the current position of the enumerator.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the collection at the current position of the enumerator, as an .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Enumerates the elements of a in order.
-
-
-
-
- Advances the enumerator to the next element of the underlying collection.
-
-
- true if the enumerator was successfully advanced to the next element;
- false if the enumerator has passed the end of the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the collection at the current position of the enumerator, as an .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the dictionary at the current position of the enumerator, as a .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Gets the key of the element at the current position of the enumerator.
-
-
- The key of the element in the dictionary at the current position of the enumerator.
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Gets the value of the element at the current position of the enumerator.
-
-
- The value of the element in the dictionary at the current position of the enumerator.
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Represents the set of keys.
-
-
-
-
- Copies the entire collection to a compatible one-dimensional array, starting at the beginning of the target array.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
-
-
- Copies the entire collection to a compatible one-dimensional array,
- starting at the specified index of the target array.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
- The zero-based index in at which copying begins.
-
-
-
-
- Copies a range of elements from this collection to a compatible one-dimensional array,
- starting at the specified index of the target array.
-
-
- The zero-based index in the source dictionary at which copying begins.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
- The zero-based index in at which copying begins.
-
-
- The number of elements to copy.
-
-
-
-
- Determines whether this collection contains a specific value.
-
-
- The object to locate in this collection.
-
- true if is found in this collection; otherwise, false.
-
-
-
-
- Returns an enumerator that iterates through this collction.
-
-
- Returns an enumerator that iterates through this collction.
-
-
-
-
- Gets the number of elements contained in the .
-
-
- The number of elements contained in the .
-
-
-
-
- Enumerates the elements of a .
-
-
-
-
- Releases all resources used by the this instance.
-
-
-
-
- Advances the enumerator to the next element of the underlying collection.
-
-
- true if the enumerator was successfully advanced to the next element;
- false if the enumerator has passed the end of the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the underlying collection at the current position of the enumerator.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the collection at the current position of the enumerator, as an .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Represents the collection of values in a .
-
-
-
-
- Copies the entire collection to a compatible one-dimensional array, starting at the beginning of the target array.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
-
-
- Copies the entire collection to a compatible one-dimensional array,
- starting at the specified index of the target array.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
- The zero-based index in at which copying begins.
-
-
-
-
- Copies a range of elements from this collection to a compatible one-dimensional array,
- starting at the specified index of the target array.
-
-
- The zero-based index in the source dictionary at which copying begins.
-
-
- The one-dimensional that is the destination of the elements copied from this dictionary.
- The must have zero-based indexing.
-
-
- The zero-based index in at which copying begins.
-
-
- The number of elements to copy.
-
-
-
-
- Determines whether this collection contains a specific value.
-
-
- The object to locate in this collection.
-
- true if is found in this collection; otherwise, false.
-
-
-
-
- Returns an enumerator that iterates through this collction.
-
-
- Returns an enumerator that iterates through this collction.
-
-
-
-
- Gets the number of elements contained in the .
-
-
- The number of elements contained in the .
-
-
-
-
- Enumerates the elements of a .
-
-
-
-
- Releases all resources used by the this instance.
-
-
-
-
- Advances the enumerator to the next element of the underlying collection.
-
-
- true if the enumerator was successfully advanced to the next element;
- false if the enumerator has passed the end of the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
- The collection was modified after the enumerator was created.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the underlying collection at the current position of the enumerator.
-
-
-
-
- Gets the element at the current position of the enumerator.
-
-
- The element in the collection at the current position of the enumerator, as an .
-
-
- The enumerator is positioned before the first element of the collection or after the last element.
-
-
-
-
- Implements of .
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Determines whether two objects of type are equal.
-
- The first object to compare.
- The second object to compare.
-
- true if the specified objects are equal; otherwise, false.
-
-
-
-
- Returns a hash code for the specified .
-
- The .
-
- A hash code for , suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Encapselates and its serialized UTF-8 bytes.
-
-
-
-
- Represents unpacking error when message type is unknown or unavailable.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Implements serialization feature of MsgPack.
-
-
-
-
- Initializes a new instance of the class with .
-
-
-
-
- Initializes a new instance of the class with specified .
-
- A which specifies compatibility options.
-
-
-
- Create standard Safe instancde wrapping specified with .
-
- object. This stream will be closed when is called.
- Safe . This will not be null.
- is null.
-
- You can specify any derived class like FileStream, ,
- NetworkStream, UnmanagedMemoryStream, or so.
-
-
-
-
- Create standard Safe instancde wrapping specified with specified .
-
- object. This stream will be closed when is called.
- A which specifies compatibility options.
- Safe . This will not be null.
- is null.
-
- You can specify any derived class like FileStream, ,
- NetworkStream, UnmanagedMemoryStream, or so.
-
-
-
-
- Create standard Safe instancde wrapping specified with .
-
- object.
-
- true to close when this instance is disposed;
- false, otherwise.
-
- Safe . This will not be null.
- is null.
-
- You can specify any derived class like FileStream, ,
- NetworkStream, UnmanagedMemoryStream, or so.
-
-
-
-
- Create standard Safe instancde wrapping specified with specified .
-
- object.
- A which specifies compatibility options.
-
- true to close when this instance is disposed;
- false, otherwise.
-
- Safe . This will not be null.
- is null.
-
- You can specify any derived class like FileStream, ,
- NetworkStream, UnmanagedMemoryStream, or so.
-
-
-
-
- Clean up internal resources.
-
-
-
-
- When overridden by derived class, release all unmanaged resources, optionally release managed resources.
-
- If true, release managed resources too.
-
-
-
- When overridden by derived class, change current position to specified offset.
-
- Offset. You shoud not specify the value which causes underflow or overflow.
-
- A class of this instance does not support seek.
-
-
-
-
- When overridden by derived class, writes specified byte to stream using implementation specific manner.
-
- A byte to be written.
-
-
-
- Writes specified bytes to stream using implementation specific most efficient manner.
-
- Collection of bytes to be written.
-
-
-
- Writes specified bytes to stream using implementation specific most efficient manner.
-
- Bytes to be written.
- If the can be treat as immutable (that is, can be used safely without copying) then true.
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream strictly.
-
- Maybe value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
-
-
-
- Packs value to current stream.
-
- value.
- This instance.
-
-
-
- Bookkeep array length to be packed on current stream.
-
- Array length.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep array length to be packed on current stream.
-
- Array length.
- This instance.
-
-
-
- Bookkeep dictionary items count to be packed on current stream.
-
- Dictionary items count.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep dictionary items count to be packed on current stream.
-
- Dictionary items count.
- This instance.
-
-
-
- Bookkeep byte length to be packed on current stream.
-
- Byte length.
- This instance.
- This instance has been disposed.
-
- This method acts as alias of for compatibility.
-
-
-
-
- Bookkeep byte length to be packed on current stream as the bytes may represent well formed encoded string.
-
- Byte length.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep byte length to be packed on current stream as the bytes do not represent well formed encoded string.
-
- Byte length.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep byte length to be packed on current stream.
-
- Byte length.
- This instance.
-
- This method acts as alias of for compatibility.
-
-
-
-
- Bookkeep byte length to be packed on current stream as the bytes may represent well formed encoded string.
-
- Byte length.
- This instance.
-
-
-
- Bookkeep byte length to be packed on current stream as the bytes do not represent well formed encoded string.
-
- Byte length.
- This instance.
-
-
-
- Packs specified byte stream to current stream.
-
- Source bytes its size is not known.
- This instance.
- This instance has been disposed.
-
- This method use str types (previously known as raw types) for compability.
-
-
-
-
- Packs specified byte stream to current stream.
-
- Source bytes its size is known.
- This instance.
- This instance has been disposed.
-
- This method use str types (previously known as raw types) for compability.
-
-
-
-
- Packs specified byte array to current stream.
-
- Source byte array.
- This instance.
- This instance has been disposed.
-
- This method use str types (previously known as raw types) for compability.
-
-
-
-
- Packs specified byte array to current stream without any header.
-
- Source byte array.
- This instance.
- This instance has been disposed.
-
- If you forget to write header first, then resulting stream will be corrupsed.
-
-
-
-
- Packs specified byte sequence to current stream without any header.
-
- Source byte array.
- This instance.
- This instance has been disposed.
-
- If you forget to write header first, then resulting stream will be corrupsed.
-
-
-
-
- Packs specified char stream to current stream with UTF-8 .
-
- Source chars its size is not known.
- This instance.
- This instance has been disposed.
-
-
-
- Packs specified string to current stream with UTF-8 .
-
- Source string.
- This instance.
- This instance has been disposed.
-
-
-
- Packs specified char stream to current stream with specified .
-
- Source chars its size is not known.
- to be used.
- This instance.
- This instance has been disposed.
-
-
-
- Packs specified string to current stream with specified .
-
- Source string.
- to be used.
- This instance.
- This instance has been disposed.
-
-
-
- Packs specified char stream to current stream with specified .
-
- Source chars its size is not known.
- to be used.
-
-
-
- Packs specified string to current stream with specified .
-
- Source string.
- to be used.
-
-
-
- Packs specified byte stream to current stream.
-
- Source bytes its size is not known.
- This instance.
- This instance has been disposed.
-
- This method use bin types unless contains .
-
-
-
-
- Packs specified byte stream to current stream.
-
- Source bytes its size is known.
- This instance.
- This instance has been disposed.
-
- This method use bin types unless contains .
-
-
-
-
- Packs specified byte array to current stream.
-
- Source byte array.
- This instance.
- This instance has been disposed.
-
- This method use bin types unless contains .
-
-
-
-
- Bookkeep collection count to be packed on current stream.
-
- Collection count to be written.
- This instance.
- This instance has been disposed.
-
-
-
- Bookkeep dictionary count to be packed on current stream.
-
- Dictionary count to be written.
- This instance.
- This instance has been disposed.
-
-
-
- Try packs value to current stream as tiny fix num.
-
- Maybe tiny value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Try packs value to current stream as tiny fix num.
-
- Maybe tiny value.
- If has be packed successfully then true, otherwise false (normally, larger type required).
-
-
-
- Packs a null value to current stream.
-
- This instance.
- This instance has been disposed.
-
-
-
- Packs an extended type value.
-
- A type code of the extended type value.
- A binary value portion of the extended type value.
- This instance.
- is null.
- property contains .
- This instance has been disposed.
-
-
-
- Packs an extended type value.
-
- A to be packed.
- This instance.
- of is false.
- property contains .
- This instance has been disposed.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Pack nullable value.
-
- Value to serialize.
- This packer instance.
-
-
-
- Gets or sets the default for all instances.
-
-
- The default .
- The default value is .
-
-
-
- Note that modification of this value will affect all new instances from the point.
- Existent instances are not afectted by the modification.
-
-
- This property is intended to be set in application initialization code.
-
-
- Note that the default value is , not .
-
-
-
-
-
- Get whether this class supports seek operation and quering property.
-
- If this class supports seek operation and quering property then true.
-
-
-
- Get current position of underlying stream.
-
- Opaque position value of underlying stream.
-
- A class of this instance does not support seek.
-
-
-
-
- Gets a compatibility options for this instance.
-
-
- The compatibility options.
-
-
-
-
- Defines compatibility options for .
-
-
-
-
- No compatibility options. s use newest behavior.
-
-
-
-
- Packs byte array as raw(str) value, and also prohibits usage of str8 type for legacy unpacker implementations.
-
-
-
-
- Prohibits usage of any ext types for legacy unpacker implementations.
-
-
-
-
- s should be use classic behavior. That is, do not use str8 and any ext types, and byte arrays must be packed as raw.
-
-
-
-
- Defines extension method to pack or unpack various objects.
-
-
-
-
- Packs specified value with the default context.
-
- The type of the value.
- The .
- The value to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified value with the specified context.
-
- The type of the value.
- The .
- The value to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the default context.
-
- The type of items of the collection.
- The .
- The collection to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the specified context.
-
- The type of items of the collection.
- The .
- The collection to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the default context.
-
- The type of items of the collection.
- The .
- The collection to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the specified context.
-
- The type of items of the collection.
- The .
- The collection to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified dictionary with the default context.
-
- The type of keys of the dictionary.
- The type of values of the dictionary.
- The .
- The dictionary to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified dictionary with the specified context.
-
- The type of keys of the dictionary.
- The type of values of the dictionary.
- The .
- The dictionary to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified dictionary with the default context.
-
- The type of keys of the dictionary.
- The type of values of the dictionary.
- The .
- The dictionary to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified dictionary with the specified context.
-
- The type of keys of the dictionary.
- The type of values of the dictionary.
- The .
- The dictionary to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified collection with the default context.
-
- The type of the value.
- The .
- The collection to be serialized.
- .
-
- is null.
-
-
- Cannot serialize the item of .
-
-
-
-
- Packs specified value with the specified context.
-
- The type of the value.
- The .
- The collection to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize the item of .
-
-
-
-
- Packs specified value with the default context.
-
- The .
- The value to be serialized.
- .
-
- is null.
-
-
- Cannot serialize .
-
-
-
-
- Packs specified value with the specified context.
-
- The .
- The value to be serialized.
- The holds shared serializers.
- .
-
- is null.
- Or is null.
-
-
- Cannot serialize .
-
-
-
-
- Unpacks specified type value with the default context.
-
- The type of the value.
- The .
- The deserialized value.
-
- is null.
-
-
- Cannot deserialize value.
-
-
-
-
- Unpacks specified type value with the specified context.
-
- The type of the value.
- The .
- The holds shared serializers.
- The deserialized value.
-
- is null.
- Or is null.
-
-
- Cannot deserialize value.
-
-
-
-
- Represents options of packing.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Get encoding for string.
-
-
- for string. Default is UTF-8 encoding without BOM.
-
-
-
-
- void PackUnderlyingValueTo(Packer, TEnum)
-
-
-
-
- TEnum UnpackFromUnderlyingValue(MessagePackObject)
-
-
-
-
- Defines a common interface for code construct which abstracts code constructs used in serializer builders.
-
-
-
-
- Gets the context type of this construct.
-
-
- The context type of this construct.
- This value will not be null, but might be .
-
-
- A context type represents evaluation context for IL emitting or expression type for Expression Tree.
-
-
-
-
- Defines a common interface for serializer builder.
-
- The type of the serializing object.
-
-
-
- Builds the serializer and returns its new instance.
-
- The context information.
-
- Newly created serializer object.
- This value will not be null.
-
-
-
-
- Defines common features for serializer builder.
-
- The type of the context which holds global information for generating serializer.
- The type of the construct which abstracts code constructs.
- The type of the object which will be target of the generating serializer.
-
-
-
- Emits the method prologue of general serializer.
-
- The generation context.
- The kind of implementing general serializer method.
-
-
-
- Emits the method prologue of enum serializer.
-
- The generation context.
- The kind of implementing enum serializer method.
-
-
-
- Emits the method epiloigue of general serializer.
-
- The generation context.
- The kind of implementing general serializer method.
- The construct which represent method statements in order. Null entry should be ignored.
-
-
-
- Emits the method epiloigue of enum serializer.
-
- The generation context.
- The kind of implementing enum serializer method.
- The construct which represent method statements in order. Null entry should be ignored.
-
-
-
- Emits anonymous null reference literal.
-
- The generation context.
- The type of null reference.
- The generated construct.
-
-
-
- Emits the constant value reference.
-
- The generation context.
- The constant value.
- The generated construct.
-
-
-
- Emits the constant value reference.
-
- The generation context.
- The constant value.
- The generated construct.
-
-
-
- Emits the constant value reference.
-
- The generation context.
- The constant value.
- The generated construct.
-
-
-
- Emits the constant enum value reference.
-
- The generation context.
- The type the enum.
- The constant value.
- The generated construct.
- is not enum.
-
-
-
- Emits the loading this reference expression.
-
- The generation context.
- The generated construct.
-
-
-
- Emits the box expression.
-
- The generation context.
- Type of the value to be boxed.
- The value to be boxed.
- The generated construct.
-
-
-
- Emits the cast or unbox expression.
-
- The generation context.
- Type of the value to be casted or be unboxed.
- The value to be casted or be unboxed.
- The generated construct.
-
-
-
- Emits the not expression.
-
- The generation context.
- The boolean expression to be .
- The generated construct.
-
-
-
- Emits the equals expression.
-
- The generation context.
- The left expression.
- The right expression.
- The generated construct.
-
-
-
- Emits the not equals expression.
-
- The generation context.
- The left expression.
- The right expression.
- The generated construct.
-
-
-
- Emits the greater than expression.
-
- The generation context.
- The left expression.
- The right expression.
- The generated construct.
-
-
-
- Emits the less than expression.
-
- The generation context.
- The left expression.
- The right expression.
- The generated construct.
-
-
-
- Emits the unary increment expression.
-
- The generation context.
- The int32 value to be incremented.
- The generated construct.
-
-
-
- Emits the elementType-of expression.
-
- The generation context.
- The elementType.
- The generated construct.
-
-
-
- Emits the sequential statements. Note that the context elementType is void.
-
- The generation context.
- The type of context.
- The statements.
- The generated construct.
-
-
-
- Emits the sequential statements. Note that the context elementType is void.
-
- The generation context.
- The type of context.
- The statements.
- The generated construct.
-
-
-
- Creates the argument reference.
-
- The generation context.
- The type of the parameter for debugging puropose.
- The name of the parameter.
- The index of the parameters.
-
- The generated construct which represents an argument reference.
-
-
-
-
- Declares the local variable.
-
- The generation context.
- The elementType of the variable.
- The name of the variable for debugging puropose.
-
- The generated construct which represents local variable declaration AND initialization, and reference.
-
-
-
-
- Emits the create new object expression.
-
- The generation context.
- The variable which will store created value type object.
- The constructor.
- The arguments.
-
- The generated construct which represents new obj instruction.
- Note that created object remains in context.
-
-
-
-
- Emits the invoke void method.
-
- The generation context.
- The instance for instance method invocation. null for static method.
- The method to be invoked.
- The arguments to be passed.
-
- The generated construct.
-
-
- The derived class must emits codes which discard return non-void value.
-
-
-
-
- Emits the invoke non-void method.
-
- The generation context.
- The instance for instance method invocation. null for static method.
- The method to be invoked.
- The arguments to be passed.
-
- The generated construct which represents new obj instruction.
- Note that returned value remains in context.
-
-
-
-
- Emits the invoke non-void method.
-
- The generation context.
- The instance for instance method invocation. null for static method.
- The method to be invoked.
- The arguments to be passed.
-
- The generated construct which represents new obj instruction.
- Note that returned value remains in context.
-
-
-
-
- Emits the get member(field or property) value expression.
-
- The generation context.
- The instance which stores instance member value.
- The member to be accessed.
- The generated construct.
-
-
-
- Emits the get property value expression.
-
- The generation context.
- The instance which stores instance member value.
- The property to be accessed.
- The generated construct.
-
-
-
- Emits the get field value expression.
-
- The generation context.
- The instance which stores instance member value.
- The field to be accessed.
- The generated construct.
-
-
-
- Emits the set member(property or field) value statement.
-
- The generation context.
- The instance which stores instance member value.
- The member to be accessed.
- The value to be stored.
- The generated construct.
-
- This method generates collection.Add(value) constructs for a read-only member.
-
-
-
-
- Emits the 'methodof' expression.
-
- The generation context.
- The method to be retrieved.
- The generated construct.
-
-
-
- Emits the set property value statement.
-
- The generation context.
- The instance which stores instance member value.
- The property to be accessed.
- The value to be stored.
- The generated construct.
-
-
-
- Emits the 'fieldof' expression.
-
- The generation context.
- The field to be retrieved.
- The generated construct.
-
-
-
- Emits the set field value statement.
-
- The generation context.
- The instance which stores instance member value.
- The field to be accessed.
- The value to be stored.
- The generated construct.
-
-
-
- Emits the statement which loads value from the local variable.
-
- The generation context.
- The variable to be loaded.
- The generated construct.
-
-
-
- Emits the statement which stores context value to the local variable.
-
- The generation context.
- The variable to be stored.
- The generated construct.
-
-
-
- Emits the statement which stores specified value to the local variable.
-
- The generation context.
- The variable to be stored.
- The value to be stored. null for context value.
- The generated construct.
-
-
-
- Emits the throwing exception statement.
-
- The generation context.
- Type of the entire expression elementType.
- The factory method which creates exception object with .
- The arguments of .
- The generated construct.
-
- The expression elementType is required to acomplish condition expression.
-
-
-
-
- Emits the throwing exception statement.
-
- The generation context.
- Type of the entire expression elementType.
- The expression of throwing exception.
- The generated construct.
-
- The expression elementType is required to acomplish condition expression.
-
-
-
-
- Emits the try-finally expression.
-
- The generation context.
- The try expression.
- The finally statement.
- The generated construct which elementType is elementType of .
-
-
-
- Emits the invariant with .
-
- The generation context.
- The format string literal.
- The arguments to be used.
- The generated construct.
-
-
-
- Emits the create new array expression.
-
- The generation context.
- The elementType of the array element.
- The length of the array.
- The initial elements of the array.
- The generated code construct.
-
-
-
- Emits the code which gets collection count.
-
- The generation context.
- The collection reference.
- The collection traits.
- The generated code construct.
-
-
-
- Emits the get serializer expression.
-
- The generation context.
- Type of the target of the serializer.
- The metadata of the packing/unpacking member.
- The generated code construct.
-
- The serializer reference methodology is implication specific.
-
-
-
-
- Emits the pack item expression.
-
- The generation context.
- The packer.
- Type of the item.
- The nil implication of the member.
- Name of the member.
- The item to be packed.
- The metadata of packing member. null for non-object member (collection or tuple items).
- The generated code construct.
-
-
-
- Emits the get items count expression.
-
- The generation context.
- The target unpacker.
- The generated code construct.
-
-
-
- Emits the UnpackFrom body for collection which delegates UnpackTo.
-
- The generation context.
- The constructor of the newly creating collection.
- The newly creating collection capacity.
- The unpacker.
- The unpacking collection.
- The generated code construct.
-
-
-
- Emits the unpack item value expression.
-
- The context.
- Type of the item.
- The nil implication.
- The reference to the unpacker.
- Index of the item.
- Name of the member.
-
- The reference to items count init-only local variable which remember unpackable items count.
- This value will be null for tuples and collections.
-
-
- The reference to unpacked items count local variable which remember unpacked items count.
- This value will be null for tuples and collections.
-
- The metadata of unpacking member.
-
- The delegate which generates statement for storing unpacked value.
- 1st parameter is unpacked value, and return value is generated statement.
-
- The sequential statement.
-
-
-
- Emits the unpack item value expression.
-
- The context.
- Type of the item.
- The nil implication.
- The reference to the unpacker.
- Index of the item.
- Name of the member.
-
- The reference to items count init-only local variable which remember unpackable items count.
- This value will be null for tuples and collections.
-
-
- The reference to unpacked items count local variable which remember unpacked items count.
- This value will be null for tuples and collections.
-
- The metadata of unpacking member.
-
- The delegate which generates statement for storing unpacked value.
- 1st parameter is unpacked value, and return value is generated statement.
-
- The elements of sequential statement.
-
-
-
- Emits the using expression.
-
- The generation context.
- Type of the disposable.
- The expression which instantiate object.
- The using body which takes disposable object and returns actual statement.
- The using statement.
-
-
-
- Emits the deserialize item expression.
-
- The generation context.
- The unpacker expression.
- Type of the item to be deserialized.
- The variable which stores unpacked item.
- The metadata of unpacking member.
- The expression which returns deserialized item.
-
-
-
- Emits the conditional expression (cond?then:else).
-
- The generation context.
- The expression which represents conditional.
- The expression which is used when condition is true.
- The expression which is used when condition is false.
- The conditional expression.
-
-
-
- Emits the conditional expression (cond?then:else) which has short circuit and expression.
-
- The generation context.
- The expression which represents short circuit and expression.
- The expression which is used when condition is true.
- The expression which is used when condition is false.
- The conditional expression.
-
-
-
- Emits string switch statement.
-
- The generation context.
- Target string expression.
- The case statements. The keys are case condition, and values are actual statement.
- The switch statement.
-
-
-
- Emits the return statement
-
- The generation context.
- The expression to be returned.
- The return statement.
-
-
-
- Emits the for loop.
-
- The generation context.
- The count reference for loop terminiation condition.
- The loop body emitter which takes for loop context then returns loop body construct.
- The for loop.
-
-
-
- Emits the for-each loop.
-
- The generation context.
- The traits of the collection.
- The collection reference.
- The loop body emitter which takes item reference then returns loop body construct.
- The for each loop.
-
-
-
- Emits the append collection item.
-
- The code generation context.
- The read only collection member metadata. null for collection item.
- The traits of the collection.
- The collection to be appended.
- The unpacked item.
-
-
-
-
-
-
- Retrieves a default constructor of the specified elementType.
-
- The target elementType.
- A default constructor of the .
-
-
-
- Retrieves a constructor with elementType capacity parameter or default constructor of the .
-
- The target elementType.
- A constructor of the .
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Builds the serializer and returns its new instance.
-
- The context information.
-
- Newly created serializer object.
- This value will not be null.
-
-
-
-
- Creates the code generation context for serializer instance creation.
-
- The serialization context.
-
- The code generation context for serializer instance creation.
- This value will not be null.
-
-
-
-
- Builds the serializer and returns its new instance.
-
- The context information. This value will not be null.
-
- Newly created serializer object.
- This value will not be null.
-
-
-
-
- Creates the serializer type and returns its constructor.
-
- The code generation context.
-
- which refers newly created constructor.
- This value will not be null.
-
-
-
-
- Creates the enum serializer type and returns its constructor.
-
- The code generation context.
-
- which refers newly created constructor.
- This value will not be null.
-
-
-
-
- Represents for-loop context information.
-
-
-
-
- Gets the counter variable (i).
-
-
- The counter variable.
-
-
-
-
- Defines base features to handle nil implication.
-
- The type of the actual action for handking.
- The type of the condition for packing value nil check.
- The type of the implementation specific on-packing methods parameter.
- The type of the implementation specific on-unpacked methods parameter.
-
-
-
- Defines common interface for parameter of method and its template methods.
-
-
-
-
- Defines common interface for parameter of method and its template methods.
-
-
-
-
- Represents dictionary key to remember fields which store dependent serializer instance.
-
-
-
-
- Type of serializing/deserializing type.
-
-
-
-
- Enum serialization method for specific member.
-
-
-
-
- Defines common interfaces and features for context objects for serializer generation.
-
- The contextType of the code construct for serializer builder.
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
-
-
-
- Resets internal states for specified target type.
-
- Type of the serialization target.
-
-
-
- Resets internal states for specified target type.
-
- Type of the serialization target.
-
-
-
- Gets the serialization context which holds various serialization configuration.
-
-
- The serialization context. This value will not be null.
-
-
-
-
- Gets the code construct which represents the argument for the packer.
-
-
- The code construct which represents the argument for the packer.
- This value will not be null.
-
-
-
-
- Gets the code construct which represents the argument for the packing target object tree root.
-
-
- The code construct which represents the argument for the packing target object tree root.
- This value will not be null.
-
-
-
-
- Gets the code construct which represents the argument for the unpacker.
-
-
- The code construct which represents the argument for the unpacker.
- This value will not be null.
-
-
-
-
- Gets the code construct which represents the argument for the collection which will hold unpacked items.
-
-
- The code construct which represents the argument for the collection which will hold unpacked items.
- This value will not be null.
-
-
-
-
- Gets the configured nil-implication for collection items.
-
-
- The configured nil-implication for collection items.
-
-
-
-
- Gets the configured nil-implication for dictionary keys.
-
-
- The configured nil-implication for dictionary keys.
-
-
-
-
- Gets the configured nil-implication for tuple items.
-
-
- The configured nil-implication for tuple items.
-
-
-
-
- based on reflection, opt-out based.
-
-
-
-
-
- Defines base contract for object serialization.
-
- Target type.
-
-
- This class implements strongly typed serialization and deserialization.
-
-
- When the underlying stream does not contain strongly typed or contains dynamically typed objects,
- you should use directly and take advantage of .
-
-
-
-
-
-
-
- Defines non-generic message pack serializer interface for byte array which contains a single object.
-
-
-
-
- Defines non-generic message pack serializer interface.
-
-
-
-
- Serialize specified object with specified .
-
- which packs values in .
- Object to be serialized.
-
- is null.
-
-
- is not compatible for this serializer.
-
-
- The type of is not serializable etc.
-
-
-
-
- Deserialize object with specified .
-
- which unpacks values of resulting object tree.
- Deserialized object.
-
- is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Deserializing type is abstract type.
-
-
-
-
- Deserialize collection items with specified and stores them to .
-
- which unpacks values of resulting object tree.
- Collection that the items to be stored.
-
- is null.
- Or is null.
-
-
- is not compatible for this serializer.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- The type of is not serializable etc.
-
-
-
-
- Serialize specified object to the array of .
-
- Object to be serialized.
- An array of which stores serialized value.
-
- is not serializable etc.
-
-
-
-
- Deserialize a single object from the array of which contains a serialized object.
-
- An array of serialized value to be stored.
- A bytes of serialized binary.
-
- is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
-
- This method assumes that contains single serialized object dedicatedly,
- so this method does not return any information related to actual consumed bytes.
-
-
- This method is a counter part of .
-
-
-
-
-
- Initializes a new instance of the class with .
-
-
- This method supports backword compatibility with 0.3.
-
-
-
-
- Initializes a new instance of the class with default context..
-
- The for new packer creation.
-
- This method supports backword compatibility with 0.4.
-
-
-
-
- Initializes a new instance of the class.
-
- A which owns this serializer.
- is null.
-
-
-
- Initializes a new instance of the class with explicitly specified compatibility option.
-
- A which owns this serializer.
- The for new packer creation.
- is null.
-
- This method also supports backword compatibility with 0.4.
-
-
-
-
- Serializes specified object to the .
-
- Destination .
- Object to be serialized.
-
- is null.
-
-
- is not serializable etc.
-
-
-
-
- Deserialize object from the .
-
- Source .
- Deserialized object.
-
- is null.
-
-
- is not serializable etc.
-
-
-
-
- Serializes specified object with specified .
-
- which packs values in .
- Object to be serialized.
-
- is null.
-
-
- is not serializable etc.
-
-
-
-
- Serializes specified object with specified .
-
- which packs values in . This value will not be null.
- Object to be serialized.
-
- is not serializable etc.
-
-
-
-
- Deserializes object with specified .
-
- which unpacks values of resulting object tree.
- Deserialized object.
-
- is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is abstract type.
-
-
-
-
- Deserializes object with specified .
-
- which unpacks values of resulting object tree. This value will not be null.
- Deserialized object.
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is abstract type.
-
-
-
-
- Deserializes collection items with specified and stores them to .
-
- which unpacks values of resulting object tree.
- Collection that the items to be stored.
-
- is null.
- Or is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is not collection.
-
-
-
-
- Deserializes collection items with specified and stores them to .
-
- which unpacks values of resulting object tree. This value will not be null.
- Collection that the items to be stored. This value will not be null.
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is not collection.
-
-
-
-
- Serializes specified object to the array of .
-
- Object to be serialized.
- An array of which stores serialized value.
-
- is not serializable etc.
-
-
-
-
- Deserializes a single object from the array of which contains a serialized object.
-
- An array of serialized value to be stored.
- A bytes of serialized binary.
-
- is null.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
-
- This method assumes that contains single serialized object dedicatedly,
- so this method does not return any information related to actual consumed bytes.
-
-
- This method is a counter part of .
-
-
-
-
-
- Gets the packer compatibility options for this instance.
-
-
- The packer compatibility options for this instance
-
-
-
-
- Gets a which owns this serializer.
-
-
- A which owns this serializer.
-
-
-
-
- Serialize specified object with specified .
-
- which packs values in . This value will not be null.
- Object to be serialized.
-
-
-
- Deserialize object with specified .
-
- which unpacks values of resulting object tree. This value will not be null.
- Deserialized object.
-
-
-
- Deserialize collection items with specified and stores them to .
-
- which unpacks values of resulting object tree. This value will not be null.
- Collection that the items to be stored. This value will not be null.
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- is not collection.
-
-
-
-
- Callback based to implement context-based serialization.
-
- The type of target emum type.
-
-
-
- Defines basic features for enum object serializers.
-
- The type of enum type itself.
-
- This class supports auto-detect on deserialization. So the constructor parameter only affects serialization behavior.
-
-
-
-
- Represents customizable enum serializer.
-
-
-
-
- Gets a copy with specified method.
-
- Enum serialization method.
- This instance or copied instance corresponds to the specified serialization method.
-
-
-
- Initializes a new instance of the class.
-
- A which owns this serializer.
- The which determines serialization form of the enums.
- TEnum is not enum type.
-
-
-
- Serializes specified object with specified .
-
- which packs values in . This value will not be null.
- Object to be serialized.
-
-
-
- Packs enum value as its underlying value.
-
- The packer.
- The enum value to be packed.
-
-
-
- Deserializes object with specified .
-
- which unpacks values of resulting object tree. This value will not be null.
- Deserialized object.
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
- Failed to deserialize object due to invalid unpacker state, stream content, or so.
-
-
-
-
- Unpacks enum value from underlying integral value.
-
- The message pack object which represents some integral value.
-
- An enum value.
-
- The type of integral value is not compatible with underlying type of the enum.
-
-
-
- Callback based to implement context-based serialization.
-
- The type of target type.
-
-
-
- Represents member's data contract.
-
-
-
-
- Initializes a new instance of the struct.
-
- The target member.
-
-
-
- Initializes a new instance of the struct.
-
- The target member.
- The name of member.
- The implication of the nil value for the member.
- The ID of the member. This value cannot be negative and must be unique in the type.
-
-
-
- Initializes a new instance of the struct from .
-
- The target member.
- The MessagePack member attribute.
-
-
-
- Gets the name of the member.
-
-
- The name of the member.
-
-
-
-
- Gets the ID of the member.
-
-
- The ID of the member. Default is -1.
-
-
-
-
- Gets the nil implication.
-
-
- The nil implication.
-
-
-
-
- Repository of known concrete collection type for abstract collection type.
-
-
-
-
- Gets the default type for the collection.
-
- Type of the abstract collection.
-
- Type of default concrete collection.
- If concrete collection type of , then returns null.
-
-
- is null.
-
-
- By default, following types are registered:
-
-
- Abstract Collection Type
- Concrete Default Collection Type
-
- -
-
-
-
- -
-
-
-
- -
- (.NET 4 or lator)
-
-
- -
-
-
-
- -
-
-
-
- -
-
- of .
-
- -
-
- of .
-
- -
-
- of .
-
- -
-
-
-
-
-
-
-
-
- Registers the default type of the collection.
-
- Type of the abstract collection.
- Default concrete type of the .
-
- is null.
- Or is null.
-
-
- is not collection type.
- Or is abstract class or interface.
- Or is open generic type but is closed generic type.
- Or is closed generic type but is open generic type.
- Or does not have same arity for .
- Or is not assignable to
- or the constructed type from will not be assignable to the constructed type from .
-
-
- If you want to overwrite default type for collection interfaces, you can use this method.
- Note that this method only supports collection interface, that is subtype of the interface.
-
- If you register invalid type for , then runtime exception will be occurred.
- For example, you register of and pair, but it will cause runtime error.
-
-
-
-
-
-
- Unregisters the default type of the collection.
-
- Type of the abstract collection.
-
- true if default collection type is removed successfully;
- otherwise, false.
-
-
-
-
- Collection interface serializer.
-
- The type of the item of collection.
-
-
-
- Provides basic features for non-dictionary generic collection serializers.
-
- The type of the collection.
- The type of the item of the collection.
-
-
-
- Dictionary interface serializer.
-
- The type of the key of dictionary.
- The type of the value of dictionary.
-
-
-
- Enumerable interface serializer.
-
- The type of the item of collection.
-
-
-
- Defines serializer factory for well known structured types.
-
-
-
-
- Defines non-generic factory method.
-
-
-
-
- List interface serializer.
-
- The type of the item of collection.
-
-
-
- Invokes in deserializaton manner.
-
- .
- A deserialized value.
- is not expected type.
-
-
-
- Non generic collection interface serializer.
-
-
-
-
- Provides basic features for non dictionary, non-generic collection interface serializers.
-
- The type of the item of collection.
-
-
-
- Dictionary interface serializer.
-
-
-
-
- Non generic enumerable interface serializer.
-
-
-
-
- Non generic list interface serializer.
-
-
-
-
- Provides default implementation for .
-
- The type of keys of the .
- The type of values of the .
-
-
-
- Provides default implementation for .
-
- The type of items of the .
-
-
-
- Determines emitter strategy.
-
-
-
-
- Uses in each case of the members (de)serialization.
- It may cause more contentions but is available in WP7.
-
-
-
-
- Caches serializers for the members (de)serialization.
- It is default.
-
-
-
-
- Uses expression tree to (de)serialization.
- It may have more overhead but is available in WinRT.
-
-
-
-
- Uses code DOM code generation to (de)serialization.
- It requires a long time but prevents runtime code generation at all.
-
-
-
-
- Uses reflection to (de)serialization.
- It requires additional resources but may work on most environment.
-
-
-
-
- Represents code construct for s.
-
-
-
-
- Initializes a new instance of the class.
-
- The type.
-
-
-
- Evaluates this construct that is executing this construct as instruction.
-
- The .
-
- This construct does not have eval semantics.
-
-
-
-
- Loads value from the storage represented by this construct.
-
- The .
-
- true, if value type value should be pushed its address instead of bits; otherwise, false.
-
-
- This construct does not have load value semantics.
-
-
-
-
- Stores value to the storage represented by this construct.
-
- The .
-
- This construct does not have store value semantics.
-
-
-
-
- Evaluates this construct as branch instruction.
-
- The .
- The which points the head of 'else' instructions.
-
- This construct does not have branch semantics.
-
-
-
-
- Gets the context type of this construct.
-
-
- The context type of this construct.
- This value will not be null, but might be .
-
-
- A context type represents the type of the evaluation context.
-
-
-
-
- Gets a value indicating whether this instance is terminating.
-
-
- true if this instruction terminates method; otherwise, false.
-
-
-
-
- A code generation context for .
-
-
-
-
- Implements for .
-
-
-
-
- Gets the type of the serializer.
-
- Type of the serialization target.
- Type of the serializer.
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
-
- The factory for to be used.
-
-
- The factory for to be used.
-
-
-
-
- Resets internal states for specified target type.
-
- Type of the serialization target.
-
-
-
- Gets or sets the to emit IL for current method.
-
-
- The to emit IL for current method.
-
-
-
-
- Gets the .
-
-
- The .
-
-
-
-
- Gets the .
-
-
- The .
-
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
- Type of the serialization target.
-
- The factory for to be used.
-
-
- The factory for to be used.
-
-
-
-
- An implementation of with .
-
- The type of the serializing object.
-
-
-
- Implements common features for IL emitter based serializer builders.
-
- The type of the code generation context.
- The type of the serialization target object.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class for instance creation.
-
-
-
-
- Genereates enum serialization methods which can be save to file.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Releases all managed resources.
-
-
-
-
- Releases unmanaged and optionally managed resources.
-
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Creates the serializer type built now and returns its new instance.
-
- Target type to be serialized/deserialized.
- The to holds serializers.
- The which determines serialization form of the enums.
-
- Newly built instance.
- This value will not be null.
-
-
-
-
- Creates instance constructor delegates.
-
- Target type to be serialized/deserialized.
- A delegate for serializer constructor.
-
-
-
- using to hold serializers for target members.
-
-
-
-
- Genereates serialization methods which can be save to file.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Releases all managed resources.
-
-
-
-
- Releases unmanaged and optionally managed resources.
-
- true to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
-
-
- When this method is called, will be overridden.
- This value will not be null.
-
-
-
-
- Creates the serializer type built now and returns its new instance.
-
- Target type to be serialized/deserialized.
- The to holds serializers.
-
- Newly built instance.
- This value will not be null.
-
-
-
-
- Creates instance constructor delegates.
-
- Target type to be serialized/deserialized.
- A delegate for serializer constructor.
-
-
-
- Regisgters of target type usage to the current emitting session.
-
- The type of the member to be serialized/deserialized.
- The enum serialization method of the member to be serialized/deserialized.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder, normally 0 (this pointer).
- This value will not be null.
-
-
-
-
- Regisgters usage to the current emitting session.
-
- The to be registered.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder, normally 0 (this pointer).
- This value will not be null.
-
-
-
-
- Regisgters usage to the current emitting session.
-
- The to be registered.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder, normally 0 (this pointer).
- This value will not be null.
-
-
-
-
- Initializes a new instance of the class.
-
- Type of the target.
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
-
-
-
-
- Creates the serializer type built now and returns its constructor.
-
- The type of serialization target.
-
- Newly built type constructor.
- This value will not be null.
-
-
-
-
- Regisgter using target type to the current emitting session.
-
- The type of the member to be serialized/deserialized.
- The enum serialization method of the member to be serialized/deserialized.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder.
- This value will not be null.
-
-
-
-
- Manages serializer generators.
-
-
-
-
- Defines common features and interfaces for .
-
-
-
-
- Get the appropriate for the current configuration.
-
-
- The appropriate for the current configuration.
- This value will not be null.
-
-
-
-
- Get the appropriate for specified options.
-
- .
-
- The appropriate for specified options.
- This value will not be null.
-
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
- New which corresponds to the specified .
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
- New which corresponds to the specified .
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
- New which corresponds to the specified .
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
- New which corresponds to the specified .
-
-
-
- Creates new which corresponds to the specified .
-
- The type of the serialization target.
- .
-
- New which corresponds to the specified .
-
-
-
-
- Get the singleton instance for fast mode.
-
-
-
-
- Implements for .
-
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
- Type of the serialization target.
-
- The factory for to be used.
-
-
- The factory for to be used.
-
-
-
-
- Gets the code construct which represents 'context' parameter of generated methods.
-
-
- The code construct which represents 'context' parameter of generated methods.
- Its type is , and it holds dependent serializers.
- This value will not be null.
-
-
-
-
- An implementation of using dynamic methods.
-
- The type of the serializing object.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- using instance fields to hold serializers for target members.
-
-
-
-
- Initializes a new instance of the class.
-
- The host .
- The sequence number to name new type.
- Type of the serialization target.
- Set to true when is debuggable.
-
-
-
- using instance fields to hold serializers for target members.
-
-
-
-
- Initializes a new instance of the class.
-
- The host .
- The sequence number to name new type.
- Type of the serialization target.
- Set to true when is debuggable.
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
- This value will not be null.
-
-
-
-
- Gets the IL generator to implement overrides.
-
-
- The IL generator to implement overrides.
-
-
-
-
- Creates the serializer type built now and returns its constructor.
-
- The type of serialization target.
-
- Newly built type constructor.
- This value will not be null.
-
-
-
-
- Regisgter using target type to the current emitting session.
-
- The type of the member to be serialized/deserialized.
- The enum serialization method of the member to be serialized/deserialized.
-
- to emit serializer retrieval instructions.
- The 1st argument should be to emit instructions.
- The 2nd argument should be argument index of the serializer holder.
- This value will not be null.
-
-
-
-
- Represents individual enum typed member serialization method.
-
-
-
-
- Respects setting in enum type itself or system default.
-
-
-
-
- Enums are serialized with their name. It is more torelant to versioning but less efficient.
-
-
-
-
- Enums are serialized with their underlying value. It is more efficient but less torelant to versioning.
-
-
-
-
- This is intened to MsgPack for CLI internal use. Do not use this type from application directly.
- Helper methods for enum message pack serializer.
-
-
-
-
- Determines for the target.
-
- Context information.
- The target enum type.
- The method argued by the member.
- Determined for the target.
-
- is null.
- Or is null.
-
-
-
-
- Implements for enums.
- This class accepts as a provider parameter.
-
-
-
-
- Defines basic features and interfaces for serializer provider which is stored in repository and controlls returning serializer with its own parameter.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets a serializer instance for specified parameter.
-
- A serialization context which holds global settings.
- A provider specific parameter.
- A serializer object for specified parameter.
-
-
-
- Initializes a new instance of the class.
-
- A type of the enum.
- The serializer implements .
-
-
-
- Gets a serializer instance for specified parameter.
-
- A serialization context which holds global settings.
- A provider specific parameter.
-
- A serializer object for specified parameter.
-
-
-
-
- Represents enum type serialization method.
-
-
-
-
- Enums are serialized with their name. It is more torelant to versioning but less efficient.
-
-
-
-
- Enums are serialized with their underlying value. It is more efficient but less torelant to versioning.
-
-
-
-
- A helper for .
-
- The type of the serialization target.
-
-
-
- A helper for .
-
- The type of the serialization target.
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
- The delegate to PackToCore method body. This value must not be null.
- The delegate to UnpackFromCore method body. This value must not be null.
- The delegate to UnpackToCore method body. This value can be null.
-
-
-
- Represents a code construct for .
-
-
-
-
- Initializes a new instance of the class, not significant reference.
-
- The .
-
-
-
- Initializes a new instance of the class.
-
- The .
-
- true if this instance is significant reference; otherwise, false.
-
-
-
-
- Gets the for this construct.
-
-
- The for this construct.
- This value will not be null.
-
-
-
-
- Gets a value indicating whether this instance is significant reference.
-
-
- true if this instance is significant reference; otherwise, false.
-
-
- 'Significant' reference should be appeared in block expression to represent single parameter/variable reference.
-
-
-
-
- Gets the context type of this construct.
-
-
- The context type of this construct.
- This value will not be null, but might be .
-
-
- This property wraps property for property.
-
-
-
-
- Takes text dump for expression tree supporting block expression etc.
-
-
-
-
- Implements for .
-
-
-
-
- Initializes a new instance of the class.
-
- The serialization context.
-
-
-
- Creates the type of the delegate.
-
- The type of serialization target.
- The method to be created.
-
- The of delegate which can refer to the generating method.
- This value will not be null.
-
-
- is unknown.
-
-
-
-
- Creates the type of the delegate.
-
- The type of serialization target.
- The method to be created.
-
- The of delegate which can refer to the generating method.
- This value will not be null.
-
-
- is unknown.
-
-
-
-
- Gets the s for specified method.
-
- The method to be created.
-
- The s for specified method.
- This value will not be null.
-
-
-
-
- Gets the s for specified method.
-
- The type of the serialization target.
- The method to be created.
-
- The s for specified method.
- This value will not be null.
-
-
-
-
- Sets the specified delegate object for specified method.
-
- The method to be created.
- The delegate which refers the generated method.
-
-
-
- Sets the specified delegate object for specified method.
-
- The method to be created.
- The delegate which refers the generated method.
-
-
-
- Gets the delegate which refers created PackToCore(SerializationContext,Packer,T) instance method for .
-
- The type of serialization target.
-
- The delegate which was set for PackToCore method.
-
-
-
-
- Gets the delegate which refers created UnpackFromCore(SerializationContext,Unpacker) instance method for .
-
- The type of deserialization target.
-
- The delegate which was set for UnpackFromCore method.
-
-
-
-
- Gets the delegate which refers created UnpackToCore(SerializationContext,Unpacker,T) instance method for .
-
- The type of deserialization target.
-
- The delegate which was set for UnpackToCore method.
-
-
-
-
- Gets the delegate which refers created PackUnderlyingValueTo(Packer,T) instance method for .
-
- The type of deserialization target.
-
- The delegate which was set for UnpackToCore method.
-
-
-
-
- Gets the delegate which refers created UnpackFromUnderlyingValue(MessagePackObject) instance method for .
-
- The type of deserialization target.
-
- The delegate which was set for UnpackFromCore method.
-
-
-
-
- Gets the code construct which represents 'context' parameter of generated methods.
-
-
- The code construct which represents 'context' parameter of generated methods.
- Its type is , and it holds dependent serializers.
- This value will not be null.
-
-
-
-
- Gets the code construct which represents 'this' reference.
-
-
- The code construct which represents 'this' reference.
-
-
-
-
- An implementation of using expression tree.
-
- The type of the serializing object.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Utilities related to member/type ID.
-
-
-
-
- Lazy initialized serializer which delegates actual work for the other serializer implementation.
-
-
- The type of target type.
-
-
- This serializer is intended to support self-composit structure like directories or XML nodes.
-
-
-
-
- Initializes a new instance of the class.
-
-
- The serialization context to support lazy retrieval.
-
- A provider parameter to be passed in future.
-
-
-
- Marks that this enum type has special characteristics on MessagePack serialization.
-
-
- Enum types which are not marked with this attribute will be serialized as value.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the default serialization method for this enum type.
-
-
- The default serialization method for this enum type.
- Note that the method for individual enum typed members will be overrided with .
-
-
-
-
- Marks that this enum typed member has special characteristics on MessagePack serialization.
-
-
- If this attributes is used for non-enum typed members, this attribute will be ignored.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the default serialization method for this enum typed member.
-
-
- The default serialization method for this enum typed member.
- Note that the method for the enum type will be overrided with this.
-
-
-
-
- Marks a field or a property to be serialized with MessagePack Serializer and defines some required informations to serialize.
-
-
-
-
- Initializes a new instance of the class.
-
-
- The ID of the member. This value cannot be negative and must be unique in the type.
-
-
-
-
- Gets the ID of the member.
-
-
- The ID of the member.
-
-
-
-
- Gets or sets the name of this member.
-
-
- The name which will be used in map key on serialized MessagePack stream.
-
-
-
-
- Gets or sets the implication of the nil value.
-
-
- The implication of the nil value.
- Default value is .
-
-
-
-
- Defines entry points for usage.
-
-
-
-
- Creates new instance with .
-
- Target type.
-
- New instance to serialize/deserialize the object tree which the top is .
-
-
-
-
- Creates new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
-
- New instance to serialize/deserialize the object tree which the top is .
-
-
- is null.
-
-
-
-
- Gets existing or new instance with default context ().
-
- Target type.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- This method simply invokes with for the context.
-
-
-
-
- Gets existing or new instance with default context ().
-
- Target type.
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- This method simply invokes with for the context.
-
-
-
-
- Gets existing or new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
- This method simply invokes with null for the providerParameter.
-
-
-
-
- Gets existing or new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Currently, only following provider parameters are supported.
-
-
- Target type
- Provider parameter
-
- -
- or its descendants.
- . The returning instance corresponds to this value for serialization.
-
-
- null is valid value for and it indeicates default behavior of parameter.
-
-
-
-
-
- Creates new instance with .
-
- Target type.
-
- New instance to serialize/deserialize the object tree which the top is .
-
-
- is null.
-
-
- To avoid boxing and strongly typed API is prefered, use instead when possible.
-
-
-
-
- Creates new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
-
- New instance to serialize/deserialize the object tree which the top is .
-
-
- is null.
- Or, is null.
-
-
- To avoid boxing and strongly typed API is prefered, use instead when possible.
-
-
-
-
- Gets existing or new instance with default context ().
-
- Target type.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
-
- Gets existing or new instance with default context ().
-
- Target type.
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
-
- Gets existing or new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
- Or, is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
-
- Gets existing or new instance with specified .
-
- Target type.
-
- to store known/created serializers.
-
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
- Or, is null.
-
-
-
- This method simply invokes , so see the method description for details.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
-
- Defines convinient extension methods for interfaces.
-
-
-
-
- Serializes specified object to the with default .
-
- object.
- Destination .
- Object to be serialized.
-
- is null.
- Or is null.
-
-
- Failed to serialize .
-
-
-
-
- Serializes specified object to the .
-
- object.
- Destination .
- Object to be serialized.
- A which specifies compatibility options.
-
- is null.
- Or is null.
-
-
- Failed to serialize .
-
-
-
-
- Deserialize object from the .
-
- object.
- Source .
- Deserialized object.
-
- is null.
- Or is null.
-
-
- Failed to deserialize from .
-
-
-
-
- Specifies nil implication in serialization/deserialization.
-
-
-
-
- A nil is interpreted as default value of the member.
-
-
-
- This value affects only deserialization.
-
-
- If the unpacking value is nil, the serializer will not set any value to the member.
-
-
- This value corresponds to optional on the IDL.
-
-
- This is default option because the most safe option.
-
-
-
-
-
- A nil is interpreted as null.
-
-
-
- This value affects only deserialization.
-
-
- If the unpacking value is nil, the serializer will set null to the member.
- If the member is non-nullable value type and the packed value is nil, then will be thrown.
-
-
- This value corresponds to nullable required on the IDL.
-
-
- If the destination end point sends nil for the value type member like type,
- you can avoid the exception with change the type of the member to nullable value type.
-
-
-
-
-
- A nil is prohibitted.
-
-
-
- This value affects both of serialization and deserialization.
-
-
- If the packing value is null or the unpacking value is nil,
- the serializer will throw exception.
-
-
- This value corresponds to required on the IDL.
-
-
- When you specify this value to newly added member,
- it means that you BREAK backword compatibility.
-
-
-
-
-
- Wrapper to simulate type argument variance.
-
- Actual collection type.
-
-
-
- Implements reflection-based enum serializer for restricted platforms.
-
-
-
-
- Implements reflection-based object serializer for restricted platforms.
-
-
-
-
- Helper static methods for reflection serializers.
-
-
-
-
- Implements reflection-based tuple serializer for restricted platforms.
-
-
-
-
- Define utility extension method for generic type.
-
-
-
-
- Determine whether the source type implements specified generic type or its built type.
-
- Target type.
- Generic interface type.
-
- true if implements ,
- or built closed generic interface type;
- otherwise false.
-
-
-
-
- Get name of type without namespace and assembly name of itself and its generic arguments.
-
- Target type.
- Simple name of type.
-
-
-
- Get full name of type including namespace and excluding assembly name of itself and its generic arguments.
-
- Target type.
- Full name of type.
-
-
-
- Defines utility extension method for reflection API.
-
-
-
-
- Determines whether specified can be assigned to source .
-
- The source type.
- The type to compare with the source type.
-
- true if and represent the same type,
- or if is in the inheritance hierarchy of ,
- or if is an interface that implements,
- or if is a generic type parameter and represents one of the constraints of .
- false if none of these conditions are true, or if is false.
-
-
-
-
- like IL stream builder with tracing.
-
-
-
-
- Emit 'call' or 'callvirt' appropriately.
-
- to be called.
-
-
-
- Emit property getter invocation.
- Pre condition is there is target instance on the top of evaluation stack when is instance property.
- Post condition are that target instance will be removed from the stack for instance property, and property value will be placed on there.
-
- for target property.
-
-
-
- Emit apprpriate 'ldarg.*' instruction.
- Post condition is that the loaded value will be added on the evaluation stack.
-
-
- Index of argument to be fetched.
-
-
-
-
- Emit apprpriate 'ldloc.*' instruction.
- Post condition is that the loaded value will be added on the evaluation stack.
-
-
- Index of local variable to be fetched.
-
-
-
-
- Emit array initialization code with initializer.
- Pre condition is that the storing value is placed on the top of evaluation stack and its type is valid.
- Post condition is that the stored value will be removed from the evaluation stack.
-
-
- Index of local variable which stores the array.
-
-
-
-
- Emit array initialization code without initializer.
- Post condition is evaluation stack will no be modified as previous state.
- Note that initialized array is not placed on the top of evaluation stack.
-
- of array element. This can be generaic parameter.
- Size of array.
-
-
-
- Emit efficient integer constant loading.
- Post condition is that exactly one integer will be added on the top of stack.
-
- Integer value.
-
-
-
- Emit 'typeof' expression.
- Post condition is instance for will be placed on the top of evaluation stack.
-
- Target .
-
-
-
- Initializes a new instance of the class.
-
- The dynamic method.
- The trace writer.
-
-
-
- Initializes a new instance of the class.
-
- The method builder.
- The trace writer.
- true if the underlying builders are debuggable; othersie false.
-
-
-
- Initializes a new instance of the class.
-
- The constructor builder.
- The trace writer.
- true if the underlying builders are debuggable; othersie false.
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Emit 'ret' instruction with specified arguments.
-
-
-
-
- Declare local with name for debugging and without pinning.
- Note that this method is not enabled for dynamic method.
-
- of local variable.
- Name of the local variable.
- to refer declared local variable.
-
-
-
- Begin exception block (try in C#) here.
- Note that you do not have to emit leave or laeve.s instrauction at tail of the body.
-
- will to be end of begun exception block.
-
-
-
- Begin finally block.
- Note that you do not have to emit endfinally instrauction at tail of the body.
-
-
-
-
- End current exception block and its last clause.
-
-
-
-
- Define new with name for tracing.
-
- Name of label. Note that debugging information will not have this name.
- which will be target of branch instructions.
-
-
-
- Mark current position using specifieid .
-
- .
-
-
-
- Write trace message.
-
- The string.
-
-
-
- Write trace line break.
-
-
-
-
- Write trace message followed by line break.
-
- The string.
-
-
-
- Write trace message followed by line break.
-
- The format string.
- Format argument.
-
-
-
- Emit 'ldarg.0' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg.1' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg.2' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg.3' instruction with specified arguments.
-
-
-
-
- Emit 'ldloc.0' instruction with specified arguments.
-
-
-
-
- Emit 'ldloc.1' instruction with specified arguments.
-
-
-
-
- Emit 'ldloc.2' instruction with specified arguments.
-
-
-
-
- Emit 'ldloc.3' instruction with specified arguments.
-
-
-
-
- Emit 'stloc.0' instruction with specified arguments.
-
-
-
-
- Emit 'stloc.1' instruction with specified arguments.
-
-
-
-
- Emit 'stloc.2' instruction with specified arguments.
-
-
-
-
- Emit 'stloc.3' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldarga.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldloc.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldloca.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'stloc.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldnull' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.m1' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.0' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.1' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.2' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.3' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.4' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.5' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.6' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.7' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.8' instruction with specified arguments.
-
-
-
-
- Emit 'ldc.i4.s' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldc.i4' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'ldc.i8' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'pop' instruction with specified arguments.
-
-
-
-
- Emit 'call' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'br' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'brfalse' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'brtrue' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'blt' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'add' instruction with specified arguments.
-
-
-
-
- Emit 'and' instruction with specified arguments.
-
-
-
-
- Emit 'callvirt' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'ldstr' instruction with specified arguments.
-
- as value.
-
-
-
- Emit 'newobj' instruction with specified arguments.
-
- as constructor.
-
-
-
- Emit 'throw' instruction with specified arguments.
-
-
-
-
- Emit 'ldfld' instruction with specified arguments.
-
- as field.
-
-
-
- Emit 'ldflda' instruction with specified arguments.
-
- as field.
-
-
-
- Emit 'stfld' instruction with specified arguments.
-
- as field.
-
-
-
- Emit 'box' instruction with specified arguments.
-
- as type.
-
-
-
- Emit 'newarr' instruction with specified arguments.
-
- as type.
-
-
-
- Emit 'stelem' instruction with specified arguments.
-
- as type.
-
-
-
- Emit 'unbox.any' instruction with specified arguments.
-
- as type.
-
-
-
- Emit 'ldtoken' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'ldtoken' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'ldtoken' instruction with specified arguments.
-
- as target.
-
-
-
- Emit 'ceq' instruction with specified arguments.
-
-
-
-
- Emit 'cgt' instruction with specified arguments.
-
-
-
-
- Emit 'clt' instruction with specified arguments.
-
-
-
-
- Emit 'ldarg' instruction with specified arguments.
-
- as index.
-
-
-
- Emit 'ldarga' instruction with specified arguments.
-
- as index.
-
-
-
- Emit 'ldloc' instruction with specified arguments.
-
- as index.
-
-
-
- Emit 'ldloca' instruction with specified arguments.
-
- as index.
-
-
-
- Emit 'stloc' instruction with specified arguments.
-
- as index.
-
-
-
- Get for end of method.
-
-
- for end of method.
-
-
-
-
- Get whether there are any exception blocks in current positon.
-
-
- If there are any exception blocks in current positon then true; otherwise, false.
-
-
-
-
- Get whether this IL stream is ended with 'ret'.
-
-
- When this IL stream is ended with 'ret' then true; otherwise, false.
-
-
-
-
- Represents compatibility options of serialization runtime.
-
-
-
-
- Gets or sets a value indicating whether System.Runtime.Serialization.DataMemberAttribute.Order should be started with 1 instead of 0.
-
-
- true if System.Runtime.Serialization.DataMemberAttribute.Order should be started with 1 instead of 0; otherwise, false.
- Default is false.
-
-
- Using this value, you can switch between MessagePack for CLI and ProtoBuf.NET seamlessly.
-
-
-
-
- Gets or sets the .
-
-
- The . The default is .
-
-
-
- Changing this property value does not affect already built serializers -- especially built-in (default) serializers.
- You must specify enumeration to the constructor of to
- change built-in serializers' behavior.
-
-
-
-
-
- This is intened to MsgPack for CLI internal use. Do not use this type from application directly.
- Represents serialization context information for internal serialization logic.
-
-
-
-
- Initializes a new instance of the class with copy of .
-
-
-
-
- Initializes a new instance of the class with copy of for specified .
-
- which will be used on built-in serializers.
-
-
-
- Gets the with this instance without provider parameter.
-
- Type of serialization/deserialization target.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- This method automatically register new instance via .
-
-
-
-
- Gets the with this instance.
-
- Type of serialization/deserialization target.
- A provider specific parameter. See remarks section for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
-
- This method automatically register new instance via .
-
-
- Currently, only following provider parameters are supported.
-
-
- Target type
- Provider parameter
-
- -
- or its descendants.
- . The returning instance corresponds to this value for serialization.
-
-
- null is valid value for and it indeicates default behavior of parameter.
-
-
-
-
-
- Gets the serializer for the specified .
-
- Type of the serialization target.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
- Gets the serializer for the specified .
-
- Type of the serialization target.
- A provider specific parameter. See remarks section of for details.
-
- .
- If there is exiting one, returns it.
- Else the new instance will be created.
-
-
- is null.
-
-
- Although is preferred,
- this method can be used from non-generic type or methods.
-
-
-
-
- Gets or sets the default instance.
-
-
- The default instance.
-
- The setting value is null.
-
-
-
- Gets the current .
-
-
- The current .
-
-
-
-
- Gets or sets the .
-
-
- The
-
-
- For testing purposes.
-
-
-
-
- Gets the compatibility options.
-
-
- The which stores compatibility options. This value will not be null.
-
-
-
-
- Gets or sets the to determine serialization strategy.
-
-
- The to determine serialization strategy.
-
-
-
-
- Gets or sets the to determine default serialization strategy of enum types.
-
-
- The to determine default serialization strategy of enum types.
-
-
- A serialization strategy for specific member is determined as following:
-
- - If the member is marked with and its value is not , then it will be used.
- - Otherwise, if the enum type itself is marked with , then it will be used.
- - Otherwise, the value of this property will be used.
-
- Note that the default value of this property is , it is not size efficient but tolerant to unexpected enum definition change.
-
-
-
-
- Gets or sets the to control code generation.
-
-
- The .
-
-
-
-
- Gets the default collection types.
-
-
- The default collection types. This value will not be null.
-
-
-
-
- Gets or sets a value indicating whether runtime generation is disabled or not.
-
-
- true if runtime generation is disabled; otherwise, false.
-
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Defines common exception factory methods.
-
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot be null on deserialization.
-
- The name of the member.
- The type of the member.
- The type that declares the member.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot be null on deserialization.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot serialize.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot deserialize.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that value type cannot deserialize.
-
- The target type.
- The name of deserializing member.
- The inner exception.
- instance. It will not be null.
-
-
-
- of method.
-
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that item is not found on the unpacking stream.
-
- The index to be unpacking.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that target type is not serializable because it does not have public default constructor.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that target type is not serializable because it does not have both of public default constructor and public constructor with an Int32 parameter.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that there are no serializable fields and properties on the target type.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that required field is not found on the unpacking stream.
-
- The name of the property.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that unpacking stream ends on unexpectedly position.
-
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that target collection type does not declare appropriate Add(T) method.
-
- The target type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that unpacker is not in the array header, that is the state is invalid.
-
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that unpacker is not in the array header, that is the state is invalid.
-
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that operation is not supported because cannot be instanciated.
-
- Type.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the array length does not match to expected tuple cardinality.
-
- The expected cardinality of the tuple.
- The actual serialized array length.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the underlying stream is not correct semantically because failed to unpack items count of array/map.
-
- The inner exception for the debug. The value is implementation specific.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the unpacking collection is too large to represents in the current runtime environment.
-
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the member cannot be null or the unpacking value cannot be nil because nil value is explicitly prohibitted.
-
- The name of the member.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the unpacking value cannot be nil because the target member is read only and its type is collection.
-
- The name of the member.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the unpacking collection value is not a collection.
-
- The name of the member.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that the unpacking array size is not expected length.
-
- Expected, required for deserialization array length.
- Actual array length.
- instance. It will not be null.
-
-
-
- This is intended to MsgPack for CLI internal use. Do not use this type from application directly.
- Returns new exception to notify that it is failed to deserialize member.
-
- Deserializing type.
- The name of the deserializing member.
- The exception which caused current error.
- instance. It will not be null.
-
-
-
- Represents serialization method for complex types.
-
-
-
-
- The object will be serialized as array which is ordered by member ID.
- This is default and more interoperable option.
-
-
-
-
- The object will be serialized as map which is ordered by member ID.
- This is a bit slower than array, but more stable for forward/backward compatibility.
-
-
-
-
- Define options of serializer generation.
-
-
-
-
- Prefer performance. This options is default.
-
-
-
-
- Implements serialization target member extraction logics.
-
-
-
-
- Holds debugging support information.
-
-
-
-
- Traces the specific event.
-
- The format string.
- The args for formatting.
-
-
-
- Flushes the trace data.
-
-
-
-
- Resets debugging states.
-
-
-
-
- Gets or sets a value indicating whether instruction/expression tracing is enabled or not.
-
-
- true if instruction/expression tracing is enabled; otherwise, false.
-
-
-
-
- Gets or sets a value indicating whether IL dump is enabled or not.
-
-
- true if IL dump is enabled; otherwise, false.
-
-
-
-
- Gets or sets a value indicating whether generic serializer for array, , ,
- or is not used.
-
-
- true if generic serializer is not used; otherwise, false.
-
-
-
-
- Gets the for IL tracing.
-
-
- The for IL tracing.
- This value will not be null.
-
-
-
-
- Repository of known s.
-
-
-
-
- Initializes a new empty instance of the class.
-
-
-
-
- Initializes a new instance of the class which has copied serializers.
-
- The repository which will be copied its contents.
-
- is null.
-
-
-
-
- This method does not perform any operation.
-
-
-
-
- Gets the registered from this repository without provider parameter.
-
- Type of the object to be marshaled/unmarshaled.
- A serialization context.
-
- . If no appropriate mashalers has benn registered, then null.
-
-
-
-
- Gets the registered from this repository with specified provider parameter.
-
- Type of the object to be marshaled/unmarshaled.
- A serialization context.
- A provider specific parameter. See remarks section of for details.
-
- . If no appropriate mashalers has benn registered, then null.
-
-
-
-
-
- Registers a .
-
- The type of serialization target.
- instance.
-
- true if success to register; otherwise, false.
-
-
- is null.
-
-
-
-
- Registers a forcibley.
-
- The type of serialization target.
- instance.
-
- is null.
-
-
-
-
- Gets the system default repository bound to default context.
-
- for default serializers must use.
-
- The system default repository.
- This value will not be null.
- Note that the repository is frozen.
-
- is invalid.
-
-
-
- Gets the system default repository bound for specified context.
-
- A which will be bound to default serializers.
- is null.
-
- The system default repository.
- This value will not be null.
- Note that the repository is frozen.
-
-
-
-
- Gets the system default repository bound to default context.
-
-
- The system default repository.
- This value will not be null.
- Note that the repository is frozen.
-
-
-
-
- Specialized for serializers.
-
-
-
-
- Repository for key type with RWlock scheme.
-
-
-
-
- Represents serializing member information.
-
-
-
-
- This is intened to MsgPack for CLI internal use. Do not use this type from application directly.
- Defines serialization helper APIs.
-
-
-
-
- Unpacks the array to the specified array.
-
- The type of the array element.
- The unpacker to unpack the underlying stream.
- The serializer to deserialize array.
- The array instance to be filled.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the collection with the specified method as colletion of .
-
- The unpacker to unpack the underlying stream.
- The non-generic collection instance to be added unpacked elements.
- The delegate which contains the instance method of the . The parameter is unpacked object.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the dictionary with the specified method as colletion of .
-
- The type of elements.
- The unpacker to unpack the underlying stream.
- The serializer to deserialize elements.
- The generic collection instance to be added unpacked elements.
- The delegate which contains the instance method of the . The parameter is unpacked object.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the collection with the specified method as colletion of .
-
- The return type of Add method.
- The unpacker to unpack the underlying stream.
- The non-generic collection instance to be added unpacked elements.
- The delegate which contains the instance method of the . The parameter is unpacked object.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the dictionary with the specified method as colletion of .
-
- The type of elements.
- The return type of Add method.
- The unpacker to unpack the underlying stream.
- The serializer to deserialize elements.
- The generic collection instance to be added unpacked elements.
- The delegate which contains the instance method of the . The parameter is unpacked object.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the dictionary with the specified method as colletion of .
-
- The type of keys.
- The type of values.
- The unpacker to unpack the underlying stream.
- The serializer to deserialize key elements.
- The serializer to deserialize value elements.
- The generic dictionary instance to be added unpacked elements.
-
- Failed to deserialization.
-
-
-
-
- Unpacks the dictionary with the specified method as colletion of .
-
- The unpacker to unpack the underlying stream.
- The non-generic dictionary instance to be added unpacked elements.
-
- Failed to deserialization.
-
-
-
-
- Gets the items count as .
-
- The unpacker.
- The items count as .
- is null.
- The items count is greater than .
-
- The items count of the collection can be between and ,
- but most collections do not support so big count.
-
-
-
-
- Ensures the boxed type is not null thus it cannot be unboxing.
-
- The type of the member.
- The boxed deserializing value.
- The name of the member.
- The type of the target.
- The unboxed value.
-
-
-
- Invokes FAMANDASM method directly.
-
- The type of deserializing object.
- The invocation target .
- The unpacker to be passed to the method.
- A deserialized value.
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Boolean type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Boolean type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Byte type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Byte type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int16 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int16 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int32 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int32 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int64 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Int64 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack SByte type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack SByte type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt16 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt16 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt32 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt32 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt64 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack UInt64 type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Single type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Single type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Double type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack Double type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack string type value from underlying stream.
-
-
-
-
- Invokes and returns its result.
-
- The unpacker to be used.
- The type of the object which is deserializing now.
- The name of the member which is deserializing now.
- The unpacked value.
-
- Failed to unpack byte array type value from underlying stream.
-
-
-
-
- Basic implementation using managed .
-
-
-
-
- Defines subtree unpacking unpacker.
-
-
-
-
- Defines helper method for items of tuple type.
-
-
-
-
- Creates type list for nested tuples.
-
- The type list of tuple items, in order.
-
- The type list for nested tuples.
- The order is from outer to inner.
-
-
-
-
- Represents unpacking error when message type is not valid because 0xC1 will never be assigned.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Represents generic unpacking error.
-
-
-
-
- Initializes a new instance of the class with the default error message.
-
-
-
-
- Initializes a new instance of the class with a specified error message.
-
- The message that describes the error.
-
-
-
- Initializes a new instance of the class with a specified error message and a reference to the inner exception that is the cause of this exception.
-
- The error message that explains the reason for the exception.
-
- The exception that is the cause of the current exception, or a null if no inner exception is specified.
-
-
-
-
- Defines direct conversion value from/to Message Pack binary stream without intermediate .
-
-
- This class provides convinient way to unpack objects from wellknown seekable stream.
- This class does not support stream feeding.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the array from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the array and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the array from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the array and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the array value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the array value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The items count of the underlying collection body is over .
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks length of the array from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of nullable which contains unpacked length of the array and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to nullable .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks length of the array from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of nullable which contains unpacked length of the array and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to nullable .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks length of the array value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked length of the array value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to nullable .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the dictionary from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the dictionary and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the dictionary from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the dictionary and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the dictionary value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the dictionary value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The items count of the underlying collection body is over .
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks count of the dictionary entries from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of nullable which contains unpacked count of the dictionary entries and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to nullable .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks count of the dictionary entries from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of nullable which contains unpacked count of the dictionary entries and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to nullable .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks count of the dictionary entries value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked count of the dictionary entries value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to nullable .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the raw binary from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of [] which contains unpacked the raw binary and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to [].
-
-
- The items count of the underlying collection body is over .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the raw binary from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of [] which contains unpacked the raw binary and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to [].
-
-
- The items count of the underlying collection body is over .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the raw binary value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the raw binary value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to [].
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The items count of the underlying collection body is over .
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the boolean from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the boolean and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the boolean from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the boolean and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the boolean value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the boolean value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the nil from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the nil and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the nil from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the nil and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the nil value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the nil value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the which represents the value which has MessagePack type semantics. from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the which represents the value which has MessagePack type semantics. and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the which represents the value which has MessagePack type semantics. from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the which represents the value which has MessagePack type semantics. and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the which represents the value which has MessagePack type semantics. value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the which represents the value which has MessagePack type semantics. value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the which represents the extended type value. from the head of specified byte array.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked the which represents the extended type value. and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks the which represents the extended type value. from the specified byte array.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked the which represents the extended type value. and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not grator than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
-
-
- The items count of the underlying collection body is over .
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
- Unpacks the which represents the extended type value. value from the specified .
-
- The which contains Message Pack binary stream.
-
- The unpacked the which represents the extended type value. value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not compatible to .
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The items count of the underlying collection body is over .
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks raw value from the specified as .
-
- The which contains Message Pack binary stream.
-
- The which represents raw value stream.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- does not own , so still should be closed.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks raw value from the specified as with UTF-8 encoding.
-
- The which contains Message Pack binary stream.
-
- The which represents raw value stream as UTF-8 string.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- if contains invalid sequence as UTF-8 encoding string,
- the may occurs on read char.
-
-
- does not own , so still should be closed.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks raw value from the specified as with specified encoding.
-
- The which contains Message Pack binary stream.
- The to decode binary stream.
-
- The which represents raw value stream as UTF-8 string.
-
-
- is null.
- Or, is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- if contains invalid sequence as specified encoding string,
- the may occurs on read char.
-
-
- does not own , so still should be closed.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array with UTF-8 encoding.
-
- The byte array which contains Message Pack binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
- Or, the unpacked result in the is invalid as UTF-8 encoded byte stream.
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the head of specified byte array with specified encoding.
-
- The byte array which contains Message Pack binary stream.
- The to decode binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
- Or, is null.
-
-
- is empty.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
- Or, the unpacked result in the is invalid as UTF-8 encoded byte stream.
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from specified offsetted byte array with UTF-8 encoding.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
-
-
- is empty.
- Or, the length of is not greater than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
- Or, the unpacked result in the is invalid as specified encoding byte stream.
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from specified offsetted byte array with specified encoding.
-
- The byte array which contains Message Pack binary stream.
- The offset to be unpacking start with.
- The to decode binary stream.
-
- The of which contains unpacked value and processed bytes count.
-
-
- is null.
- Or, is null.
-
-
- is empty.
- Or, the length of is not greater than .
-
-
- is negative value.
-
-
- is not valid MessagePack stream.
-
-
- The unpacked result in the is not compatible to .
- Or, the unpacked result in the is invalid as specified encoding byte stream.
-
-
-
- Invocation of this method is equivalant to call with offset is 0.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified with UTF-8 encoding.
-
- The which contains Message Pack binary stream.
-
- The unpacked value.
-
-
- is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Or, the unpacked result in the is invalid as UTF-8 encoded byte stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Unpacks value from the specified with specified encoding.
-
- The which contains Message Pack binary stream.
- The to decode binary stream.
-
- The unpacked value.
-
-
- is null.
- Or is null.
-
-
- The of is false.
-
-
- is not valid MessagePack stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
- The unpacked result in the is not raw binary.
- Or, the unpacked result in the is invalid as specified encoding byte stream.
- Note that the state of will be unpredictable espicially it is not seekable.
-
-
-
- The processed bytes count can be calculated via of when the is true.
-
-
- When the type of packed value is not known, use instead.
-
-
-
-
-
- Represents raw binary as read only .
-
-
-
- This object behaves as wrapper of the underlying which contains message pack encoded byte array.
- But, this object does not own the stream, so that stream is not closed when this stream is closed.
-
-
- The value of , timeout, and async API depends on the underlying stream.
-
-
-
-
-
- Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.
-
-
- An array of bytes. When this method returns,
- the buffer contains the specified byte array with the values between and ( + - 1)
- replaced by the bytes read from the current source.
-
-
- The zero-based byte offset in at which to begin storing the data read from the current stream.
-
-
- The maximum number of bytes to be read from the current stream.
-
-
- The total number of bytes read into the buffer.
- This can be less than the number of bytes requested if that many bytes are not currently available,
- or zero (0) if the end of the stream has been reached.
-
-
- The sum of and is larger than the buffer length.
-
-
- is null.
-
-
- or is negative.
-
-
- An I/O error occurs.
-
-
- Methods were called after the stream was closed.
-
-
-
- Arguments might be passed to the underlying without any validation.
-
-
-
-
-
- Overrides so that no action is performed.
-
-
-
-
- Throws .
-
- Never used.
-
- Always thrown.
-
-
-
-
- Throws .
-
- Never used.
- Never used.
- Never used.
-
- Always thrown.
-
-
-
-
- Gets a value indicating whether the current stream supports reading.
-
- Always true.
-
-
-
- Gets a value indicating whether the current stream supports writing.
-
- Always false.
-
-
-
- Gets the length in bytes of the stream.
-
-
- A long value representing the length of the raw binary length.
- This value must be between 0 and .
-
-
- Methods were called after the stream was closed.
-
-
- This property never throws even if is false.
-
-
-
-
- Gets a value that determines whether the current stream can time out.
-
-
- A value that determines whether the current stream can time out.
-
-
- Methods were called after the stream was closed.
-
-
-
-
- Implements which reads raw binary with specific .
-
-
-
-
- Gets the length of the underlying raw binary length.
-
-
- The length of the underlying raw binary length.
- This value will not be negative.
-
-
-
-
- Represents result of direct conversion from the byte array.
-
- Type of value.
-
-
-
- Compare two instances are equal.
-
- instance.
-
- If is and its value is equal to this instance, then true.
- Otherwise false.
-
-
-
-
- Compare two instances are equal.
-
- instance.
-
- Whether value of is equal to this instance or not.
-
-
-
-
- Get hash code of this instance.
-
- Hash code of this instance.
-
-
-
- Get string representation of this object.
-
- String representation of this object.
-
-
- DO NOT use this value programmically.
- The purpose of this method is informational, so format of this value subject to change.
-
-
-
-
-
- Compare two instances are equal.
-
- instance.
- instance.
-
- Whether value of and are equal each other or not.
-
-
-
-
- Compare two instances are not equal.
-
- instance.
- instance.
-
- Whether value of and are not equal each other or are equal.
-
-
-
-
- Get read bytes count from input byte array.
-
-
- Read bytes count from input byte array.
- If this value equals to old offset, then a value of property is not undifined.
-
-
-
-
- Get retrieved value from the byte array.
-
-
- Retrieved value from the byte array.
- If equals to old offset, then a value of this property is not undefined.
-
-
-
-
- System.Threading.LockRecursionPolicy alternative.
-
-
-
-
- System.Threading.ReaderWriterLockSlim alternative.
-
-
-
-
- System.Diagnostics.SourceLevels alternative.
-
-
-
-
- System.Diagnostics.SourceSwitch alternative.
-
-
-
-
- System.Diagnostics.TraceEventType alternative.
-
-
-
-
- System.Diagnostics.TraceSource alternative.
-
-
-
-
diff --git a/citizen/clr2/lib/mono/4.5/ref/System.Reflection.Metadata.dll b/citizen/clr2/lib/mono/4.5/ref/System.Reflection.Metadata.dll
deleted file mode 100644
index ee68731c0..000000000
Binary files a/citizen/clr2/lib/mono/4.5/ref/System.Reflection.Metadata.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/ref/System.Reflection.Metadata.sym b/citizen/clr2/lib/mono/4.5/ref/System.Reflection.Metadata.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.Server.dll b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.Server.dll
deleted file mode 100644
index 7156183f4..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.Server.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.Server.pdb b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.Server.pdb
deleted file mode 100644
index 389d94398..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.Server.pdb and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.Server.sym b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.Server.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.dll b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.dll
deleted file mode 100644
index 1c9dbed19..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.pdb b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.pdb
deleted file mode 100644
index f8ee36e78..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.pdb and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.sym b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Core.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Server.dll b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Server.dll
deleted file mode 100644
index 797225218..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Server.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Server.pdb b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Server.pdb
deleted file mode 100644
index ad992879f..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Server.pdb and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Server.sym b/citizen/clr2/lib/mono/4.5/v2/CitizenFX.Server.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.Server.dll b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.Server.dll
deleted file mode 100644
index 516f4b089..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.Server.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.Server.sym b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.Server.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.Server.xml b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.Server.xml
deleted file mode 100644
index 68b515c56..000000000
--- a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.Server.xml
+++ /dev/null
@@ -1,12978 +0,0 @@
-
-
-
- CitizenFX.Core.Server
-
-
-
-
- An event containing callbacks to attempt to schedule on every game tick.
- A callback will only be rescheduled once the associated task completes.
-
-
-
-
- Returns a task that will delay scheduling of the current interval function by the passed amount of time.
-
-
- await Delay(500);
-
- The amount of time by which to delay scheduling this interval function.
- An awaitable task.
-
-
-
- Simple logic to determine if the InvalidCastException came from the DynFunc and if so if we should print it or ignore it
-
- the thrown exception in question
- the DynFunc that was being executed
- true if we should still print/log it
-
-
-
- Creates a new dynamic invokable function
-
- the type which should contain the method
- method name to find and use in type's method list
- dynamically invokable delegate
- when given target or method is null
- when the method could not be found in target's method list
-
-
-
- Creates a new dynamic invokable function
-
- the instance object
- method name to find and use in target's method list
- dynamically invokable delegate
- when given target or method is null
- when the method could not be found in target's method list
-
-
-
- Creates a new dynamic invokable function
-
- the instance object, may be null for static methods
- method to make dynamically invokable
- dynamically invokable delegate
- when the given method is non-static and target is null or if given method is null
-
-
-
- Creates a new dynamic invokable function
-
- delegate to make dynamically invokable
- dynamically invokable delegate
- when the given method is non-static and target is null or if given method is null
-
-
-
- A null-terminated byte string. Dedicated to interop with native code, equivalent to a (non-wide) c-string.
-
- In general don't use this type where you would normally use in your .NET code, it needs to do conversion between UTF16 and UTF8 and is therefore slower.
- This type and its conversions are more performant in regards to interop with native code (C++), and other runtimes, for these cases you may want to use this.
-
-
-
- CString with a copy of str.
-
- a null terminated CString or null if parameter str == null
-
-
-
- CString with a copy of str, limited to given length.
-
- a null terminated CString or null if parameter str == null
-
-
-
- Get the length of this string, excluding the null terminator
-
-
-
-
- Get the length in long form of this string, excluding the null terminator
-
-
-
-
- Get the byte at the provided index
-
- the position we'd like to retrieve the byte from
- byte representing an ASCII or UTF8 (biggest bit set) character
-
-
-
- Get the byte at the provided index
-
- the position we'd like to retrieve the byte from
- byte representing an ASCII or UTF8 (biggest bit set) character
-
-
-
- Retrieves a substring from this instance. The substring starts at a specified character position.
-
- start character index
- CString with the requested part of characters of this string
- < 0 or >= Length
-
-
-
- Retrieves a substring from this instance. The substring starts at a specified character position.
- Unsigned version, requires less checks for the same result.
-
- start character index
- CString with the requested part of characters of this string
- < 0 or >= Length
-
-
-
- Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.
-
- start character index
- amount of characters we want in total, can be less. -1 will retrieve all
- CString with the requested part of characters of this string
- >= Length
-
-
-
- Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.
- Unsigned version, requires less checks for the same result.
-
- start character index
- amount of characters we want in total, can be less.
- CString with the requested part of characters of this string
- < 0 or >= Length
-
-
-
- Converts to a UTF16 string
-
- UTF16 string
-
-
-
- Converts a UTF16 into a UTF8/ASCII string
-
- UTF16 string to convert
- UTF8 string
-
-
-
- Convert a C# string into a null-terminated c-string
-
- UTF16 encoded string (default C#)
-
-
-
- Convert a null-terminated c-string into a C# string
-
- null-terminated c-string
-
-
-
- Compares a CString to a C# string only considering ASCII characters (7 bits)
- any non 7 bit characters on either side will return false
-
- string to compare
- true if both sides have equivalent characters in the ASCII character space
-
-
-
- Compares a CString to a C# string only considering ASCII characters (7 bits)
- any non 7 bit characters on either side will return false
-
- CString to compare
- string to compare
- true if both sides have equivalent characters in the ASCII character space
-
-
-
- Converts a C# string to a CString only accepting ASCII characters (7 bits)
- any non 7 bit character will be become the given value
-
- string to convert
- character to insert in case of a non-7 bit character
- CString with only ASCII (7 bit) characters, or null if == null
-
-
-
- allows us to directly use `fixed(byte* ptr = cstring)`
-
- reference to first byte
-
-
-
- Backwards compatibility
-
-
-
-
-
-
-
- Backwards compatibility
-
-
-
-
-
-
-
- Broadcasts an event to all connected players.
-
- The name of the event.
- Arguments to pass to the event.
-
-
-
- Broadcasts an event to all connected players.
-
- The name of the event.
- Amount of bytes send in 1 second.
- Arguments to pass to the event.
-
-
-
- Starts deserialization from an array type
-
- ptr to byte data
- size of byte data
- from who came this?
- will add a [FromSource] Player value to the end of the argument array, does nothing on client side
- arguments that can be passed into dynamic delegates
-
-
-
- Experimental, uses the CoTask memory instead of a managed byte[]
-
-
-
-
-
-
-
- Experimental memory stream
-
-
-
-
- The value for which all absolute numbers smaller than are considered equal to zero.
-
-
-
-
- A value specifying the approximation of π which is 180 degrees.
-
-
-
-
- A value specifying the approximation of 2Ï€ which is 360 degrees.
-
-
-
-
- Mathematical term for 2Ï€, which is equivalent to 360 degrees.
-
-
-
-
- A value specifying the approximation of π/2 which is 90 degrees.
-
-
-
-
- A value specifying the approximation of π/4 which is 45 degrees.
-
-
-
-
- Checks if a and b are almost equals, taking into account the magnitude of floating point numbers (unlike method). See Remarks.
- See remarks.
-
- The left value to compare.
- The right value to compare.
- true if a almost equal to b, false otherwise
-
- The code is using the technique described by Bruce Dawson in
- Comparing Floating point numbers 2012 edition.
-
-
-
-
- Determines whether the specified value is close to zero (0.0f).
-
- The floating value.
- true if the specified value is close to zero (0.0f); otherwise, false.
-
-
-
- Determines whether the specified value is close to one (1.0f).
-
- The floating value.
- true if the specified value is close to one (1.0f); otherwise, false.
-
-
-
- Checks if a - b are almost equals within a float epsilon.
-
- The left value to compare.
- The right value to compare.
- Epsilon value
- true if a almost equal to b within a float epsilon, false otherwise
-
-
-
- Converts revolutions to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Converts revolutions to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts revolutions to gradians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts degrees to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts degrees to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to gradians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Clamps the specified value.
-
- The value.
- The min.
- The max.
- The result of clamping a value between min and max
-
-
-
- Clamps the specified value.
-
- The value.
- The min.
- The max.
- The result of clamping a value between min and max
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Performs smooth (cubic Hermite) interpolation between 0 and 1.
-
-
- See https://en.wikipedia.org/wiki/Smoothstep
-
- Value between 0 and 1 indicating interpolation amount.
-
-
-
- Performs a smooth(er) interpolation between 0 and 1 with 1st and 2nd order derivatives of zero at endpoints.
-
-
- See https://en.wikipedia.org/wiki/Smoothstep
-
- Value between 0 and 1 indicating interpolation amount.
-
-
-
- Calculates the modulo of the specified value.
-
- The value.
- The modulo.
- The result of the modulo applied to value
-
-
-
- Calculates the modulo 2*PI of the specified value.
-
- The value.
- The result of the modulo applied to value
-
-
-
- Wraps the specified value into a range [min, max]
-
- The value to wrap.
- The min.
- The max.
- Result of the wrapping.
- Is thrown when is greater than .
-
-
-
- Wraps the specified value into a range [min, max[
-
- The value.
- The min.
- The max.
- Result of the wrapping.
- Is thrown when is greater than .
-
-
-
- Gauss function.
-
- Curve amplitude.
- Position X.
- Position Y
- Radius X.
- Radius Y.
- Curve sigma X.
- Curve sigma Y.
- The result of Gaussian function.
-
-
-
- Gauss function.
-
- Curve amplitude.
- Position X.
- Position Y
- Radius X.
- Radius Y.
- Curve sigma X.
- Curve sigma Y.
- The result of Gaussian function.
-
-
-
- Represents a 4x4 mathematical matrix.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The identity .
-
-
-
-
- Value at row 1 column 1 of the matrix.
-
-
-
-
- Value at row 1 column 2 of the matrix.
-
-
-
-
- Value at row 1 column 3 of the matrix.
-
-
-
-
- Value at row 1 column 4 of the matrix.
-
-
-
-
- Value at row 2 column 1 of the matrix.
-
-
-
-
- Value at row 2 column 2 of the matrix.
-
-
-
-
- Value at row 2 column 3 of the matrix.
-
-
-
-
- Value at row 2 column 4 of the matrix.
-
-
-
-
- Value at row 3 column 1 of the matrix.
-
-
-
-
- Value at row 3 column 2 of the matrix.
-
-
-
-
- Value at row 3 column 3 of the matrix.
-
-
-
-
- Value at row 3 column 4 of the matrix.
-
-
-
-
- Value at row 4 column 1 of the matrix.
-
-
-
-
- Value at row 4 column 2 of the matrix.
-
-
-
-
- Value at row 4 column 3 of the matrix.
-
-
-
-
- Value at row 4 column 4 of the matrix.
-
-
-
-
- Gets or sets the up of the matrix; that is M21, M22, and M23.
-
-
-
-
- Gets or sets the down of the matrix; that is -M21, -M22, and -M23.
-
-
-
-
- Gets or sets the right of the matrix; that is M11, M12, and M13.
-
-
-
-
- Gets or sets the left of the matrix; that is -M11, -M12, and -M13.
-
-
-
-
- Gets or sets the forward of the matrix; that is -M31, -M32, and -M33.
-
-
-
-
- Gets or sets the backward of the matrix; that is M31, M32, and M33.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value to assign at row 1 column 1 of the matrix.
- The value to assign at row 1 column 2 of the matrix.
- The value to assign at row 1 column 3 of the matrix.
- The value to assign at row 1 column 4 of the matrix.
- The value to assign at row 2 column 1 of the matrix.
- The value to assign at row 2 column 2 of the matrix.
- The value to assign at row 2 column 3 of the matrix.
- The value to assign at row 2 column 4 of the matrix.
- The value to assign at row 3 column 1 of the matrix.
- The value to assign at row 3 column 2 of the matrix.
- The value to assign at row 3 column 3 of the matrix.
- The value to assign at row 3 column 4 of the matrix.
- The value to assign at row 4 column 1 of the matrix.
- The value to assign at row 4 column 2 of the matrix.
- The value to assign at row 4 column 3 of the matrix.
- The value to assign at row 4 column 4 of the matrix.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the components of the matrix. This must be an array with sixteen elements.
- Thrown when is null.
- Thrown when contains more or less than sixteen elements.
-
-
-
- Gets or sets the first row in the matrix; that is M11, M12, M13, and M14.
-
-
-
-
- Gets or sets the second row in the matrix; that is M21, M22, M23, and M24.
-
-
-
-
- Gets or sets the third row in the matrix; that is M31, M32, M33, and M34.
-
-
-
-
- Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44.
-
-
-
-
- Gets or sets the first column in the matrix; that is M11, M21, M31, and M41.
-
-
-
-
- Gets or sets the second column in the matrix; that is M12, M22, M32, and M42.
-
-
-
-
- Gets or sets the third column in the matrix; that is M13, M23, M33, and M43.
-
-
-
-
- Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44.
-
-
-
-
- Gets or sets the translation of the matrix; that is M41, M42, and M43.
-
-
-
-
- Gets or sets the scale of the matrix; that is M11, M22, and M33.
-
-
-
-
- Gets a value indicating whether this instance is an identity matrix.
-
-
- true if this instance is an identity matrix; otherwise, false.
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the matrix component, depending on the index.
- The zero-based index of the component to access.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 15].
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the matrix component, depending on the index.
- The row of the matrix to access.
- The column of the matrix to access.
- The value of the component at the specified index.
- Thrown when the or is out of the range [0, 3].
-
-
-
- Calculates the determinant of the matrix.
-
- The determinant of the matrix.
-
-
-
- Inverts the matrix.
-
-
-
-
- Transposes the matrix.
-
-
-
-
- Orthogonalizes the specified matrix.
-
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R.
-
- When the method completes, contains the orthonormalized matrix of the decomposition.
- When the method completes, contains the right triangular matrix of the decomposition.
-
-
-
- Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q.
-
- When the method completes, contains the lower triangular matrix of the decomposition.
- When the method completes, contains the orthonormalized matrix of the decomposition.
-
-
-
- Decomposes a matrix into a scale, rotation, and translation.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
- When the method completes, contains the translation component of the decomposed matrix.
-
- This method is designed to decompose an SRT transformation matrix only.
-
-
-
-
- Decomposes a uniform scale matrix into a scale, rotation, and translation.
- A uniform scale matrix has the same scale in every axis.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
- When the method completes, contains the translation component of the decomposed matrix.
-
- This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
-
-
-
-
- Exchanges two rows in the matrix.
-
- The first row to exchange. This is an index of the row starting at zero.
- The second row to exchange. This is an index of the row starting at zero.
-
-
-
- Exchanges two columns in the matrix.
-
- The first column to exchange. This is an index of the column starting at zero.
- The second column to exchange. This is an index of the column starting at zero.
-
-
-
- Creates an array containing the elements of the matrix.
-
- A sixteen-element array containing the components of the matrix.
-
-
-
- Determines the sum of two matrices.
-
- The first matrix to add.
- The second matrix to add.
- When the method completes, contains the sum of the two matrices.
-
-
-
- Determines the sum of two matrices.
-
- The first matrix to add.
- The second matrix to add.
- The sum of the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- When the method completes, contains the difference between the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- The difference between the two matrices.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- When the method completes, contains the scaled matrix.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Determines the product of two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Determines the product of two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- When the method completes, contains the scaled matrix.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Determines the quotient of two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- When the method completes, contains the quotient of the two matrices.
-
-
-
- Determines the quotient of two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- The quotient of the two matrices.
-
-
-
- Performs the exponential operation on a matrix.
-
- The matrix to perform the operation on.
- The exponent to raise the matrix to.
- When the method completes, contains the exponential matrix.
- Thrown when the is negative.
-
-
-
- Performs the exponential operation on a matrix.
-
- The matrix to perform the operation on.
- The exponent to raise the matrix to.
- The exponential matrix.
- Thrown when the is negative.
-
-
-
- Negates a matrix.
-
- The matrix to be negated.
- When the method completes, contains the negated matrix.
-
-
-
- Negates a matrix.
-
- The matrix to be negated.
- The negated matrix.
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two matrices.
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two matrices.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified matrix.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified matrix.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- The transpose of the specified matrix.
-
-
-
- Calculates the inverse of the specified matrix.
-
- The matrix whose inverse is to be calculated.
- When the method completes, contains the inverse of the specified matrix.
-
-
-
- Calculates the inverse of the specified matrix.
-
- The matrix whose inverse is to be calculated.
- The inverse of the specified matrix.
-
-
-
- Orthogonalizes the specified matrix.
-
- The matrix to orthogonalize.
- When the method completes, contains the orthogonalized matrix.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthogonalizes the specified matrix.
-
- The matrix to orthogonalize.
- The orthogonalized matrix.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
- The matrix to orthonormalize.
- When the method completes, contains the orthonormalized matrix.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
- The matrix to orthonormalize.
- The orthonormalized matrix.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Brings the matrix into upper triangular form using elementary row operations.
-
- The matrix to put into upper triangular form.
- When the method completes, contains the upper triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into upper triangular form using elementary row operations.
-
- The matrix to put into upper triangular form.
- The upper triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into lower triangular form using elementary row operations.
-
- The matrix to put into lower triangular form.
- When the method completes, contains the lower triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into lower triangular form using elementary row operations.
-
- The matrix to put into lower triangular form.
- The lower triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into row echelon form using elementary row operations;
-
- The matrix to put into row echelon form.
- When the method completes, contains the row echelon form of the matrix.
-
-
-
- Brings the matrix into row echelon form using elementary row operations;
-
- The matrix to put into row echelon form.
- When the method completes, contains the row echelon form of the matrix.
-
-
-
- Brings the matrix into reduced row echelon form using elementary row operations.
-
- The matrix to put into reduced row echelon form.
- The fifth column of the matrix.
- When the method completes, contains the resultant matrix after the operation.
- When the method completes, contains the resultant fifth column of the matrix.
-
- The fifth column is often called the augmented part of the matrix. This is because the fifth
- column is really just an extension of the matrix so that there is a place to put all of the
- non-zero components after the operation is complete.
- Often times the resultant matrix will the identity matrix or a matrix similar to the identity
- matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear.
- This method can be used to solve systems of linear equations. Upon completion of this method,
- the will contain the solution for the system. It is up to the user
- to analyze both the input and the result to determine if a solution really exists.
-
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard matrix.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard matrix.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard matrix.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard matrix.
-
-
-
- Creates a left-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at matrix.
-
-
-
- Creates a left-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at matrix.
-
-
-
- Creates a right-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at matrix.
-
-
-
- Creates a right-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at matrix.
-
-
-
- Creates a left-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- The created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- The created scaling matrix.
-
-
-
- Creates a matrix that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- The created scaling matrix.
-
-
-
- Creates a matrix that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix from a quaternion.
-
- The quaternion to use to build the matrix.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix from a quaternion.
-
- The quaternion to use to build the matrix.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a rotation matrix with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- The created rotation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- The offset for all three coordinate planes.
- When the method completes, contains the created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- The offset for all three coordinate planes.
- The created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- X-coordinate offset.
- Y-coordinate offset.
- Z-coordinate offset.
- When the method completes, contains the created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- X-coordinate offset.
- Y-coordinate offset.
- Z-coordinate offset.
- The created translation matrix.
-
-
-
- Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle.
- shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane.
- The effect is such that the skewed rotation vector has the specified angle with rotation itself.
-
- The rotation angle.
- The rotation vector
- The translation vector
- Contains the created skew/shear matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created transformation matrix.
-
-
-
- Creates a transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created transformation matrix.
-
-
-
- Creates a 2D transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created transformation matrix.
-
-
-
- Creates a 2D transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created transformation matrix.
-
-
-
- Adds two matrices.
-
- The first matrix to add.
- The second matrix to add.
- The sum of the two matrices.
-
-
-
- Assert a matrix (return it unchanged).
-
- The matrix to assert (unchanged).
- The asserted (unchanged) matrix.
-
-
-
- Subtracts two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- The difference between the two matrices.
-
-
-
- Negates a matrix.
-
- The matrix to negate.
- The negated matrix.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Multiplies two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Divides two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- The quotient of the two matrices.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a 3x3 Matrix ( contains only Scale and Rotation ).
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The identity .
-
-
-
-
- Value at row 1 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 1 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 1 column 3 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 3 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 3 of the Matrix3x3.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value to assign at row 1 column 1 of the Matrix3x3.
- The value to assign at row 1 column 2 of the Matrix3x3.
- The value to assign at row 1 column 3 of the Matrix3x3.
- The value to assign at row 2 column 1 of the Matrix3x3.
- The value to assign at row 2 column 2 of the Matrix3x3.
- The value to assign at row 2 column 3 of the Matrix3x3.
- The value to assign at row 3 column 1 of the Matrix3x3.
- The value to assign at row 3 column 2 of the Matrix3x3.
- The value to assign at row 3 column 3 of the Matrix3x3.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the components of the Matrix3x3. This must be an array with sixteen elements.
- Thrown when is null.
- Thrown when contains more or less than sixteen elements.
-
-
-
- Gets or sets the first row in the Matrix3x3; that is M11, M12, M13
-
-
-
-
- Gets or sets the second row in the Matrix3x3; that is M21, M22, M23
-
-
-
-
- Gets or sets the third row in the Matrix3x3; that is M31, M32, M33
-
-
-
-
- Gets or sets the first column in the Matrix3x3; that is M11, M21, M31
-
-
-
-
- Gets or sets the second column in the Matrix3x3; that is M12, M22, M32
-
-
-
-
- Gets or sets the third column in the Matrix3x3; that is M13, M23, M33
-
-
-
-
- Gets or sets the scale of the Matrix3x3; that is M11, M22, and M33.
-
-
-
-
- Gets a value indicating whether this instance is an identity Matrix3x3.
-
-
- true if this instance is an identity Matrix3x3; otherwise, false.
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the Matrix3x3 component, depending on the index.
- The zero-based index of the component to access.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 15].
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the Matrix3x3 component, depending on the index.
- The row of the Matrix3x3 to access.
- The column of the Matrix3x3 to access.
- The value of the component at the specified index.
- Thrown when the or is out of the range [0, 3].
-
-
-
- Calculates the determinant of the Matrix3x3.
-
- The determinant of the Matrix3x3.
-
-
-
- Inverts the Matrix3x3.
-
-
-
-
- Transposes the Matrix3x3.
-
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Decomposes a Matrix3x3 into an orthonormalized Matrix3x3 Q and a right triangular Matrix3x3 R.
-
- When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
- When the method completes, contains the right triangular Matrix3x3 of the decomposition.
-
-
-
- Decomposes a Matrix3x3 into a lower triangular Matrix3x3 L and an orthonormalized Matrix3x3 Q.
-
- When the method completes, contains the lower triangular Matrix3x3 of the decomposition.
- When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
-
-
-
- Decomposes a Matrix3x3 into a scale, rotation, and translation.
-
- When the method completes, contains the scaling component of the decomposed Matrix3x3.
- When the method completes, contains the rotation component of the decomposed Matrix3x3.
-
- This method is designed to decompose an SRT transformation Matrix3x3 only.
-
-
-
-
- Decomposes a uniform scale matrix into a scale, rotation, and translation.
- A uniform scale matrix has the same scale in every axis.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
-
- This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
-
-
-
-
- Exchanges two rows in the Matrix3x3.
-
- The first row to exchange. This is an index of the row starting at zero.
- The second row to exchange. This is an index of the row starting at zero.
-
-
-
- Exchanges two columns in the Matrix3x3.
-
- The first column to exchange. This is an index of the column starting at zero.
- The second column to exchange. This is an index of the column starting at zero.
-
-
-
- Creates an array containing the elements of the Matrix3x3.
-
- A 9-element array containing the components of the Matrix3x3.
-
-
-
- Determines the sum of two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- When the method completes, contains the sum of the two matrices.
-
-
-
- Determines the sum of two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- The sum of the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- When the method completes, contains the difference between the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- The difference between the two matrices.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- When the method completes, contains the scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Determines the product of two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Determines the product of two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- When the method completes, contains the scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Determines the quotient of two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- When the method completes, contains the quotient of the two matrices.
-
-
-
- Determines the quotient of two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- The quotient of the two matrices.
-
-
-
- Performs the exponential operation on a Matrix3x3.
-
- The Matrix3x3 to perform the operation on.
- The exponent to raise the Matrix3x3 to.
- When the method completes, contains the exponential Matrix3x3.
- Thrown when the is negative.
-
-
-
- Performs the exponential operation on a Matrix3x3.
-
- The Matrix3x3 to perform the operation on.
- The exponent to raise the Matrix3x3 to.
- The exponential Matrix3x3.
- Thrown when the is negative.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to be negated.
- When the method completes, contains the negated Matrix3x3.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to be negated.
- The negated Matrix3x3.
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two matrices.
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two matrices.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified Matrix3x3.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified Matrix3x3.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- The transpose of the specified Matrix3x3.
-
-
-
- Calculates the inverse of the specified Matrix3x3.
-
- The Matrix3x3 whose inverse is to be calculated.
- When the method completes, contains the inverse of the specified Matrix3x3.
-
-
-
- Calculates the inverse of the specified Matrix3x3.
-
- The Matrix3x3 whose inverse is to be calculated.
- The inverse of the specified Matrix3x3.
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthogonalize.
- When the method completes, contains the orthogonalized Matrix3x3.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthogonalize.
- The orthogonalized Matrix3x3.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthonormalize.
- When the method completes, contains the orthonormalized Matrix3x3.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthonormalize.
- The orthonormalized Matrix3x3.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Brings the Matrix3x3 into upper triangular form using elementary row operations.
-
- The Matrix3x3 to put into upper triangular form.
- When the method completes, contains the upper triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into upper triangular form using elementary row operations.
-
- The Matrix3x3 to put into upper triangular form.
- The upper triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into lower triangular form using elementary row operations.
-
- The Matrix3x3 to put into lower triangular form.
- When the method completes, contains the lower triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into lower triangular form using elementary row operations.
-
- The Matrix3x3 to put into lower triangular form.
- The lower triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into row echelon form using elementary row operations;
-
- The Matrix3x3 to put into row echelon form.
- When the method completes, contains the row echelon form of the Matrix3x3.
-
-
-
- Brings the Matrix3x3 into row echelon form using elementary row operations;
-
- The Matrix3x3 to put into row echelon form.
- When the method completes, contains the row echelon form of the Matrix3x3.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard Matrix3x3.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard Matrix3x3.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard Matrix3x3.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard Matrix3x3.
-
-
-
- Creates a left-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at Matrix3x3.
-
-
-
- Creates a left-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at Matrix3x3.
-
-
-
- Creates a right-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at Matrix3x3.
-
-
-
- Creates a right-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 from a quaternion.
-
- The quaternion to use to build the Matrix3x3.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 from a quaternion.
-
- The quaternion to use to build the Matrix3x3.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- The created rotation Matrix3x3.
-
-
-
- Adds two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- The sum of the two matrices.
-
-
-
- Assert a Matrix3x3 (return it unchanged).
-
- The Matrix3x3 to assert (unchanged).
- The asserted (unchanged) Matrix3x3.
-
-
-
- Subtracts two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- The difference between the two matrices.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to negate.
- The negated Matrix3x3.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Multiplies two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Divides two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- The quotient of the two matrices.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Convert the 3x3 Matrix to a 4x4 Matrix.
-
- A 4x4 Matrix with zero translation and M44=1
-
-
-
- Convert the 4x4 Matrix to a 3x3 Matrix.
-
- A 3x3 Matrix
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified are equal.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a four dimensional mathematical quaternion.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The identity (0, 0, 0, 1).
-
-
-
-
- The X component of the quaternion.
-
-
-
-
- The Y component of the quaternion.
-
-
-
-
- The Z component of the quaternion.
-
-
-
-
- The W component of the quaternion.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the components.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X, Y, and Z components.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the quaternion.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the quaternion.
- Initial value for the Y component of the quaternion.
- Initial value for the Z component of the quaternion.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements.
- Thrown when is null.
- Thrown when contains more or less than four elements.
-
-
-
- Gets a value indicating whether this instance is equivalent to the identity quaternion.
-
-
- true if this instance is an identity quaternion; otherwise, false.
-
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets the angle of the quaternion.
-
- The quaternion's angle.
-
-
-
- Gets the axis components of the quaternion.
-
- The axis components of the quaternion.
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, Z, or W component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 3].
-
-
-
- Conjugates the quaternion.
-
-
-
-
- Conjugates and renormalizes the quaternion.
-
-
-
-
- Calculates the length of the quaternion.
-
- The length of the quaternion.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the quaternion.
-
- The squared length of the quaternion.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the quaternion into a unit quaternion.
-
-
-
-
- Creates an array containing the elements of the quaternion.
-
- A four-element array containing the components of the quaternion.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- When the method completes, contains the sum of the two quaternions.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- The sum of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- When the method completes, contains the difference of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- The difference of the two quaternions.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- When the method completes, contains the scaled quaternion.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- When the method completes, contains the multiplied quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- The multiplied quaternion.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- When the method completes, contains a quaternion facing in the opposite direction.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- A quaternion facing in the opposite direction.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Conjugates a quaternion.
-
- The quaternion to conjugate.
- When the method completes, contains the conjugated quaternion.
-
-
-
- Conjugates a quaternion.
-
- The quaternion to conjugate.
- The conjugated quaternion.
-
-
-
- Calculates the dot product of two quaternions.
-
- First source quaternion.
- Second source quaternion.
- When the method completes, contains the dot product of the two quaternions.
-
-
-
- Calculates the dot product of two quaternions.
-
- First source quaternion.
- Second source quaternion.
- The dot product of the two quaternions.
-
-
-
- Exponentiates a quaternion.
-
- The quaternion to exponentiate.
- When the method completes, contains the exponentiated quaternion.
-
-
-
- Exponentiates a quaternion.
-
- The quaternion to exponentiate.
- The exponentiated quaternion.
-
-
-
- Conjugates and renormalizes the quaternion.
-
- The quaternion to conjugate and renormalize.
- When the method completes, contains the conjugated and renormalized quaternion.
-
-
-
- Conjugates and renormalizes the quaternion.
-
- The quaternion to conjugate and renormalize.
- The conjugated and renormalized quaternion.
-
-
-
- Performs a linear interpolation between two quaternions.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two quaternions.
-
- This method performs the linear interpolation based on the following formula.
- start + (end - start) * amount
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two quaternion.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two quaternions.
-
- This method performs the linear interpolation based on the following formula.
- start + (end - start) * amount
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Calculates the natural logarithm of the specified quaternion.
-
- The quaternion whose logarithm will be calculated.
- When the method completes, contains the natural logarithm of the quaternion.
-
-
-
- Calculates the natural logarithm of the specified quaternion.
-
- The quaternion whose logarithm will be calculated.
- The natural logarithm of the quaternion.
-
-
-
- Converts the quaternion into a unit quaternion.
-
- The quaternion to normalize.
- When the method completes, contains the normalized quaternion.
-
-
-
- Converts the quaternion into a unit quaternion.
-
- The quaternion to normalize.
- The normalized quaternion.
-
-
-
- Creates a quaternion given a rotation and an axis.
-
- The axis of rotation.
- The angle of rotation.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a rotation and an axis.
-
- The axis of rotation.
- The angle of rotation.
- The newly created quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard quaternion.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard quaternion.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard quaternion.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- The newly created quaternion.
-
-
-
- Creates a quaternion given a yaw, pitch, and roll value.
-
- The yaw of rotation.
- The pitch of rotation.
- The roll of rotation.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a yaw, pitch, and roll value.
-
- The yaw of rotation.
- The pitch of rotation.
- The roll of rotation.
- The newly created quaternion.
-
-
-
- Interpolates between two quaternions, using spherical linear interpolation.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the spherical linear interpolation of the two quaternions.
-
-
-
- Interpolates between two quaternions, using spherical linear interpolation.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- The spherical linear interpolation of the two quaternions.
-
-
-
- Interpolates between quaternions, using spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- Value between 0 and 1 indicating the weight of interpolation.
- When the method completes, contains the spherical quadrangle interpolation of the quaternions.
-
-
-
- Interpolates between quaternions, using spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- Value between 0 and 1 indicating the weight of interpolation.
- The spherical quadrangle interpolation of the quaternions.
-
-
-
- Sets up control points for spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- An array of three quaternions that represent control points for spherical quadrangle interpolation.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- The sum of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- The difference of the two quaternions.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- A quaternion facing in the opposite direction.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- The multiplied quaternion.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a two dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0).
-
-
-
-
- The Y unit (0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- Copies to a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X and Y components of the vector. This must be an array with two elements.
- Thrown when is null.
- Thrown when contains more or less than two elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X or Y component, depending on the index.
- The index of the component to access. Use 0 for the X component and 1 for the Y component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 1].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A two-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 2D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 2D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Saturates this instance in the range [0,1]
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- When the method completes, contains the reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- The reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 2D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 2D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 2D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 2D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 2D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- When the method completes, contains the transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- The transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation on an array of vectors using the given .
-
- The array of coordinate vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- When the method completes, contains the transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- The transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation on an array of vectors using the given .
-
- The array of normal vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a three dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0, 0).
-
-
-
-
- The Y unit (0, 1, 0).
-
-
-
-
- The Z unit (0, 0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- A unit designating up (0, 1, 0).
-
-
-
-
- A unit designating down (0, -1, 0).
-
-
-
-
- A unit designating left (-1, 0, 0).
-
-
-
-
- A unit designating right (1, 0, 0).
-
-
-
-
- A unit designating forward in a right-handed coordinate system (0, 0, -1).
-
-
-
-
- A unit designating forward in a left-handed coordinate system (0, 0, 1).
-
-
-
-
- A unit designating backward in a right-handed coordinate system (0, 0, 1).
-
-
-
-
- A unit designating backward in a left-handed coordinate system (0, 0, -1).
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- The Z component of the vector.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
- Initial value for the Z component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.
- Thrown when is null.
- Thrown when contains more or less than three elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, or Z component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 2].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A three-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiply a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiply a vector with another by performing component-wise multiplication.
-
- The first vector to Multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
-
- A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 3D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
-
- A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 3D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Calculates the cross product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains he cross product of the two vectors.
-
-
-
- Calculates the cross product of two vectors.
-
- First source vector.
- Second source vector.
- The cross product of the two vectors.
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Tests whether one 3D vector is near another 3D vector.
-
- The left vector.
- The right vector.
- The epsilon.
- true if left and right are near another 3D, false otherwise
-
-
-
- Tests whether one 3D vector is near another 3D vector.
-
- The left vector.
- The right vector.
- The epsilon.
- true if left and right are near another 3D, false otherwise
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- When the method completes, contains the vector in screen space.
-
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- The vector in screen space.
-
-
-
- Projects a 3D vector from screen space into object space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- When the method completes, contains the vector in object space.
-
-
-
- Projects a 3D vector from screen space into object space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- The vector in object space.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- When the method completes, contains the reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- The reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 3D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 3D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- When the method completes, contains the transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- The transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation on an array of vectors using the given .
-
- The array of coordinate vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- When the method completes, contains the transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- The transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation on an array of vectors using the given .
-
- The array of normal vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with added scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a four dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0, 0, 0).
-
-
-
-
- The Y unit (0, 1, 0, 0).
-
-
-
-
- The Z unit (0, 0, 1, 0).
-
-
-
-
- The W unit (0, 0, 0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- The Z component of the vector.
-
-
-
-
- The W component of the vector.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
- Initial value for the Z component of the vector.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X, Y, and Z components.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the vector.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
- Thrown when is null.
- Thrown when contains more or less than four elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, Z, or W component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 3].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A four-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 4D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 4D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 4D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 4D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 4D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 4D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Get the blue channel of this color
-
-
-
-
- Get the green channel of this color
-
-
-
-
- Get the red channel of this color
-
-
-
-
- Get the alpha/translucency channel of this color
-
-
-
-
- Create a color by individual given channels
-
- red
- green
- blue
- alpha/translucency
-
-
-
- Create a color with an unsinged integer
-
- argb values
-
-
-
- Create a color with a signed integer
-
- argb values
-
-
-
- Get or set the channel at the specified index
-
- Does % 4 internally as it's faster than a boundary check
- channel to get the value for
-
-
-
-
- Get or set the channel at the specified index
-
- Does % 4 internally as it's faster than a boundary check
- channel to get the value for
-
-
-
-
- Used for integer sizes with width and height values
-
-
-
-
- Get or set the width of this element
-
-
-
-
- Get or set the height of this element
-
-
-
-
- Create a new Size2 with both Width and Height set to
-
- value for both width and height
-
-
-
- Create a new Size2 with specified width and height values
-
- width of the Size2
- height of the Size2
-
-
-
- Get or set the value at the specified index.
-
- Does % 2 internally as it's faster than a boundary check
- 0 for Width and 1 for Height.
- value in either component
-
-
-
- Get or set the value at the specified index.
-
- Does % 2 internally as it's faster than a boundary check
- 0 for Width and 1 for Height.
- value in either component
-
-
-
- Keeps adding arguments onto the argument stack, will recurse when arguments need to be fixed.
- This approach is 10x faster than the v1 approach in combination with CString
-
-
-
-
- A managed string that holds a conerted copy of the unmanaged ANSI string. If ptr is null, the method returns a null string.
-
-
-
-
-
- A managed string that holds a copy of the unmanaged ANSI string. If ptr is null, the method returns a null string.
-
-
-
-
-
- A managed byte[] that holds a copy of the unmanaged ANSI string. If ptr is null, the method returns a null string.
-
-
-
-
-
- Get unmanaged type size, this will actually request the size from native, then we cache it
-
- unmanaged size of T
-
-
- Will only be evaluated when we're profiling, good for formatting strings
-
-
- Mind you: using this over Profiler.EnterScope()/Profiler.ExitScope() has a slightly higher performance impact.
-
-
- Mind you: using this over Profiler.EnterScope()/Profiler.ExitScope() has a slightly higher performance impact.
-
-
- Will only be evaluated when we're profiling, good for formatting strings
- Mind you: using this over Profiler.EnterScope()/Profiler.ExitScope() has a slightly higher performance impact.
-
-
-
- Reference to a resource that may or may not exist, can be used as a shortcut to call its exports
- contains the information of this script's resource
-
- Doesn't guarantee the resource is initialized, active, or has an exports ready.
-
-
-
- Can be used to compile against server or client code
-
-
-
-
- Get this script's resource information
-
- Don't use its as that'll be quite slow, unless needed, e.g.: set in another assembly.
-
-
-
- The resource's name
-
-
-
-
- Can be used to call Export functions on this resource
-
- Can fail just like calling exports normally as this type doesn't guarantee the resource exists,
- is initialized, active, or even has an export with that name.
-
-
-
- Creates a reference to a resource that may or may not exist
-
- name of the resource we want to reference
- Doesn't guarantee the resource is initialized, active, or has an exports ready.
-
-
-
- Gets or sets the position of this .
-
-
- The position in world space.
-
-
-
-
- Gets or sets the rotation of this .
-
-
- The yaw, pitch, roll rotation values.
-
-
-
-
- Gets or sets the heading of this .
-
-
- The heading in degrees.
-
-
-
-
- Sets a value indicating whether this should be frozen.
-
-
- true if this position should be frozen; otherwise, false.
-
-
-
-
- Gets or sets the velocity of this .
-
-
-
-
- Gets the rotation velocity of this .
-
-
-
-
- Gets the model of the this .
-
-
-
-
- Gets the network owner of the this .
-
- Returns the of the network owner.
- Returns null if this is in an unowned state.
-
-
-
- Gets the network ID of the this .
-
-
-
-
- Gets the type of this .
-
- Returns 1 if this is a Ped.
- Returns 2 if this is a Vehicle.
- Returns 3 if this is a Prop.
-
-
-
- Gets the of this
-
-
-
-
- Creates a new instance of an from the given handle.
-
- The entity handle.
- Returns a if this handle corresponds to a Ped.
- Returns a if this handle corresponds to a Vehicle.
- Returns a if this handle corresponds to a Prop.
- Returns null if no exists this the specified
-
-
-
- Creates a new instance of an from the given network ID.
-
- The entity network ID.
- Returns a if this network ID corresponds to a Ped.
- Returns a if this network ID corresponds to a Vehicle.
- Returns a if this network ID corresponds to a Prop.
- Returns null if no exists this the specified
-
-
-
- Checks if two s refer to the same
-
- The other .
- true if they are the same ; otherwise, false
-
-
-
- Creates a new instance of an from the given player handle.
-
- The players handle.
- Returns the of the player.
- Returns null if no exists for the specified player
-
-
-
-
-
-
-
-
-
- Gets the identifier value of a particular type.
-
-
- string steamId = player.Identifiers["steam"];
-
- The identifier type to return.
- The identifier value (without prefix), or null if it could not be found.
-
-
-
- Adds a rectangular blip for the specified coordinates/area.
-
- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
-
- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
-
- Example image:
- 
- 
-
- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
-
-
- The X coordinate of the center of the blip.
-
-
- The Y coordinate of the center of the blip.
-
-
- The Z coordinate of the center of the blip.
-
-
- The width of the blip.
-
-
- The height of the blip.
-
-
- A handle to the blip.
-
-
-
-
- Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
-
-
- The X coordinate to create the blip on.
-
-
- The Y coordinate.
-
-
- The Z coordinate.
-
-
- A blip handle.
-
-
-
-
- Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
- Can be used for objects, vehicles and peds.
-
- Example of enemy:
- 
- Example of friend:
- 
-
-
- The entity handle to create the blip.
-
-
- A blip handle.
-
-
-
-
- Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
-
- Example image:
- 
-
-
- The x position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The y position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The z position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The number that defines the radius of the blip circle
-
-
- The blip handle that can be manipulated with every `SetBlip` natives
-
-
-
-
- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
- collection - PedDecorationCollection filename hash
- overlay - Item name hash
- Example:
- Entry inside "mpbeach_overlays.xml" -
- <Item>
- <uvPos x="0.500000" y="0.500000" />
- <scale x="0.600000" y="0.500000" />
- <rotation value="0.000000" />
- <nameHash>FM_Hair_Fuzz</nameHash>
- <txdHash>mp_hair_fuzz</txdHash>
- <txtHash>mp_hair_fuzz</txtHash>
- <zone>ZONE_HEAD</zone>
- <type>TYPE_TATTOO</type>
- <faction>FM</faction>
- <garment>All</garment>
- <gender>GENDER_DONTCARE</gender>
- <award />
- <awardLevel />
- </Item>
- Code:
- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
-
-
-
-
- Adds a handler for changes to a state bag.
-
- The function called expects to match the following signature:
-
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
-
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
-
- At this time, the change handler can't opt to reject changes.
-
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
- The key to check for, or null for no filter.
-
-
- The bag ID to check for such as `entity:65535`, or null for no filter.
-
-
- The handler function.
-
-
- A cookie to remove the change handler.
-
-
-
-
- Applies a force to the specified entity.
-
- **List of force types (p1)**:
-
- ```
- public enum ForceType
- {
- MinForce = 0,
- MaxForceRot = 1,
- MinForce2 = 2,
- MaxForceRot2 = 3,
- ForceNoRot = 4,
- ForceRotPlusForce = 5
- }
- ```
-
- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
-
-
- The entity you want to apply a force on
-
-
- See native description above for a list of commonly used values
-
-
- Force amount (X)
-
-
- Force amount (Y)
-
-
- Force amount (Z)
-
-
- Rotation/offset force (X)
-
-
- Rotation/offset force (Y)
-
-
- Rotation/offset force (Z)
-
-
- (Often 0) Entity bone index
-
-
- (Usually false) Vector defined in local (body-fixed) coordinate frame
-
-
- (Usually true)
-
-
- (Usually true) When true, force gets multiplied with the objects mass and different objects will have the same acceleration
-
-
- (Usually false)
-
-
- (Usually true)
-
-
-
-
- Returns whether or not the specified player has enough information to start a commerce session for.
-
-
- The player handle
-
-
- True or false.
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- CLEAR_PED_SECONDARY_TASK
-
-
-
-
- Clear a ped's tasks. Stop animations and other tasks created by scripts.
-
-
- Ped id. Use PlayerPedId() for your own character.
-
-
-
-
- Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
-
-
- Ped id.
-
-
-
-
- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);
- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.
-
-
-
-
- Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
- The model to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component, 'ground level'.
-
-
- Whether to create a network object for the object. If false, the object exists only locally.
-
-
- Whether to register the object as pinned to the script host in the R\* network model.
-
-
- False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
-
-
- A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
-
-
-
-
- Creates an object (prop) with the specified model centered at the specified position.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
- The model to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Whether to create a network object for the object. If false, the object exists only locally.
-
-
- Whether to register the object as pinned to the script host in the R\* network model.
-
-
- False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
-
-
- A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
-
-
-
-
- Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
- (e.g. using REQUEST_MODEL).
-
-
- Unused. Peds get set to CIVMALE/CIVFEMALE/etc. no matter the value specified.
-
-
- The model of ped to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- Whether to create a network object for the ped. If false, the ped exists only locally.
-
-
- Whether to register the ped as pinned to the script host in the R\* network model.
-
-
- A script handle (fwScriptGuid index) for the ped, or `0` if the ped failed to be created.
-
-
-
-
- CREATE_PED_INSIDE_VEHICLE
-
-
- See [`CREATE_PED`](#\_0xD49F9B0955C367DE)
-
-
-
-
- Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
- ```
- NativeDB Added Parameter 8: BOOL p7
- ```
-
-
- The model of vehicle to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- Whether to create a network object for the vehicle. If false, the vehicle exists only locally.
-
-
- Whether to register the vehicle as pinned to the script host in the R\* network model.
-
-
- A script handle (fwScriptGuid index) for the vehicle, or `0` if the vehicle failed to be created.
-
-
-
-
- Equivalent to CREATE_VEHICLE, but it uses 'server setter' logic (like the former CREATE_AUTOMOBILE) as a workaround for
- reliability concerns regarding entity creation RPC.
-
- Unlike CREATE_AUTOMOBILE, this supports other vehicle types as well.
-
-
- The model of vehicle to spawn.
-
-
- The appropriate vehicle type for the model info. Can be one of `automobile`, `bike`, `boat`, `heli`, `plane`, `submarine`, `trailer`, and (potentially), `train`. This should be the same type as the `type` field in `vehicles.meta`.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- A script handle for the vehicle.
-
-
-
-
- Deletes the specified entity.
-
-
- The entity to delete.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
- The key to delete
-
-
-
-
- Nonsynchronous [DELETE_RESOURCE_KVP](#\_0x7389B5DF) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to delete
-
-
-
-
- DOES_ENTITY_EXIST
-
-
-
-
- Requests whether or not the player owns the specified SKU.
-
-
- The player handle
-
-
- The ID of the SKU.
-
-
- A boolean.
-
-
-
-
- Requests whether or not the player owns the specified package.
-
-
- The player handle
-
-
- The package ID on Tebex.
-
-
- A boolean.
-
-
-
-
- DROP_PLAYER
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- ENABLE_ENHANCED_HOST_SUPPORT
-
-
-
-
- END_FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- FLAG_SERVER_AS_PRIVATE
-
-
-
-
- Nonsynchronous operations will not wait for a disk/filesystem flush before returning from a write or delete call. They will be much faster than their synchronous counterparts (e.g., bulk operations), however, a system crash may lose the data to some recent operations.
-
- This native ensures all `_NO_SYNC` operations are synchronized with the disk/filesystem.
-
-
-
-
- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.
-
-
- The entity to freeze/unfreeze.
-
-
- Freeze or unfreeze entity.
-
-
-
-
- GET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
-
-
- The player handle
-
-
-
-
- Returns all object handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of object handles.
-
-
-
-
- Returns all peds handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of peds handles.
-
-
-
-
- Returns all vehicle handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of vehicle handles.
-
-
-
-
- Returns the current console output buffer.
-
-
- The most recent game console output, as a string.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
- The console variable to look up.
-
-
- The default value to set if none is found.
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
- The console variable to look up.
-
-
- The default value to set if none is found (variable not set using [SET_CONVAR](#\_0x341B16D2), or not accessible).
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Returns the name of the currently executing resource.
-
-
- The name of the resource.
-
-
-
-
- Gets the entity that this entity is attached to.
-
-
- The entity to check.
-
-
- The attached entity handle. 0 returned if the entity is not attached.
-
-
-
-
- Gets the current coordinates for a specified entity. This native is used server side when using OneSync.
-
- See [GET_ENTITY_COORDS](#\_0x3FEF770D40960D5A) for client side.
-
-
- The entity to get the coordinates from.
-
-
- The current entity coordinates.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The entity handle or 0 if the state bag name did not refer to an entity, or the entity does not exist.
-
-
-
-
- GET_ENTITY_HEADING
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- GET_ENTITY_MODEL
-
-
-
-
- This native gets an entity's population type.
-
-
- the entity to obtain the population type from
-
-
- Returns the population type ID, defined by the below enumeration:```cpp
- enum ePopulationType
- {
- POPTYPE_UNKNOWN = 0,
- POPTYPE_RANDOM_PERMANENT,
- POPTYPE_RANDOM_PARKED,
- POPTYPE_RANDOM_PATROL,
- POPTYPE_RANDOM_SCENARIO,
- POPTYPE_RANDOM_AMBIENT,
- POPTYPE_PERMANENT,
- POPTYPE_MISSION,
- POPTYPE_REPLAY,
- POPTYPE_CACHE,
- POPTYPE_TOOL
- };
- ```
-
-
-
-
- GET_ENTITY_ROTATION
-
-
-
-
- GET_ENTITY_ROTATION_VELOCITY
-
-
-
-
- Gets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The entity to get the routing bucket for.
-
-
- The routing bucket ID.
-
-
-
-
- GET_ENTITY_SCRIPT
-
-
-
-
- Gets the current speed of the entity in meters per second.
-
- ```
- To convert to MPH: speed * 2.236936
- To convert to KPH: speed * 3.6
- ```
-
-
- The entity to get the speed of
-
-
- The speed of the entity in meters per second
-
-
-
-
- Gets the entity type (as an integer), which can be one of the following defined down below:
-
- **The following entities will return type `1`:**
-
- * Ped
- * Player
- * Animal (Red Dead Redemption 2)
- * Horse (Red Dead Redemption 2)
-
- **The following entities will return type `2`:**
-
- * Automobile
- * Bike
- * Boat
- * Heli
- * Plane
- * Submarine
- * Trailer
- * Train
- * DraftVeh (Red Dead Redemption 2)
-
- **The following entities will return type `3`:**
-
- * Object
- * Door
- * Pickup
-
- Otherwise, a value of `0` will be returned.
-
-
- The entity to get the type of.
-
-
- The entity type returned as an integer value.
-
-
-
-
- GET_ENTITY_VELOCITY
-
-
-
-
- Returns the internal build number of the current game being executed.
-
- Possible values:
-
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
- The build number, or **0** if no build number is known.
-
-
-
-
- Returns the current game being executed.
-
- Possible values:
-
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
- The game the script environment is running in.
-
-
-
-
- Gets the current game timer in milliseconds.
-
-
- The game time.
-
-
-
-
- This native converts the passed string to a hash.
-
-
-
-
- GET_HELI_MAIN_ROTOR_HEALTH
-
-
- The target vehicle.
-
-
- See the client-side [GET_HELI_MAIN_ROTOR_HEALTH](https://docs.fivem.net/natives/?\_0xE4CB7541F413D2C5) for the return value.
-
-
-
-
- GET_HELI_TAIL_ROTOR_HEALTH
-
-
- The target vehicle.
-
-
- See the client-side [GET_HELI_TAIL_ROTOR_HEALTH](https://docs.fivem.net/natives/?\_0xAE8CE82A4219AC8C) for the return value.
-
-
-
-
- GET_HOST_ID
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- GET_IS_VEHICLE_ENGINE_RUNNING
-
-
-
-
- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
-
-
-
-
- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
-
-
-
-
- See the client-side [GET_LANDING_GEAR_STATE](#\_0x9B0F3DCA3DB0F4CD) native for a description of landing gear states.
-
-
- The vehicle to check.
-
-
- The current state of the vehicles landing gear.
-
-
-
-
- GET_LAST_PED_IN_VEHICLE_SEAT
-
-
- The target vehicle.
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
- The last ped in the specified seat of the passed vehicle. Returns 0 if the specified seat was never occupied or the last ped does not exist anymore.
-
-
-
-
- GET_NUM_PLAYER_IDENTIFIERS
-
-
-
-
- GET_NUM_PLAYER_INDICES
-
-
-
-
- GET_NUM_PLAYER_TOKENS
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key to look up in the resource manifest.
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- GET_PASSWORD_HASH
-
-
-
-
- GET_PED_ARMOUR
-
-
-
-
- GET_PED_CAUSE_OF_DEATH
-
-
-
-
- GET_PED_DESIRED_HEADING
-
-
- The target ped
-
-
- Returns ped's desired heading.
-
-
-
-
- GET_PED_IN_VEHICLE_SEAT
-
-
- The target vehicle.
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
- The ped in the specified seat of the passed vehicle. Returns 0 if the specified seat is not occupied.
-
-
-
-
- GET_PED_MAX_HEALTH
-
-
-
-
- Gets the script task command currently assigned to the ped.
-
-
- The target ped.
-
-
- The script task command currently assigned to the ped. A value of 0x811E343C denotes no script task is assigned.
-
-
-
-
- Gets the stage of the peds scripted task.
-
-
- The target ped.
-
-
- The stage of the ped's scripted task. A value of 3 denotes no script task is assigned.
-
-
-
-
- Get the last entity that damaged the ped. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- The entity id. Returns 0 if the ped has not been damaged recently.
-
-
-
-
- Get the entity that killed the ped. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- The entity id. Returns 0 if the ped has no killer.
-
-
-
-
- Gets the type of a ped's specific task given an index of the CPedTaskSpecificDataNode nodes.
- A ped will typically have a task at index 0, if a ped has multiple tasks at once they will be in the order 0, 1, 2, etc.
-
-
- The target ped.
-
-
- A zero-based index with a maximum value of 7.
-
-
- The type of the specific task.
- 1604: A value of 530 denotes no script task is assigned or an invalid input was given.
- 2060+: A value of 531 denotes no script task is assigned or an invalid input was given.
-
-
-
-
- Gets the current camera rotation for a specified player. This native is used server side when using OneSync.
-
-
- The player handle.
-
-
- The player's camera rotation. Values are in radians.
-
-
-
-
- GET_PLAYER_ENDPOINT
-
-
-
-
- Gets the current fake wanted level for a specified player. This native is used server side when using OneSync.
-
-
- The target player
-
-
- The fake wanted level
-
-
-
-
- GET_PLAYER_FROM_INDEX
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The player handle or 0 if the state bag name did not refer to a player, or the player does not exist.
-
-
-
-
- GET_PLAYER_GUID
-
-
-
-
- GET_PLAYER_IDENTIFIER
-
-
-
-
- Get an identifier from a player by the type of the identifier.
-
-
- The player to get the identifier for
-
-
- The string to match in an identifier, this can be `"license"` for example.
-
-
- The identifier that matches the string provided
-
-
-
-
- GET_PLAYER_INVINCIBLE
-
-
- The player handle
-
-
- A boolean to tell if the player is invincible.
-
-
-
-
- GET_PLAYER_LAST_MSG
-
-
-
-
- GET_PLAYER_MAX_ARMOUR
-
-
- The player handle
-
-
-
-
- GET_PLAYER_MAX_HEALTH
-
-
- The player handle
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
- The player index.
-
-
- Returns player melee weapon damage modifier value.
-
-
-
-
- GET_PLAYER_NAME
-
-
-
-
- GET_PLAYER_PED
-
-
-
-
- GET_PLAYER_PING
-
-
-
-
- Gets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The player to get the routing bucket for.
-
-
- The routing bucket ID.
-
-
-
-
- GET_PLAYER_TEAM
-
-
- The player handle
-
-
-
-
- Gets the amount of time player has spent evading the cops.
- Counter starts and increments only when cops are chasing the player.
- If the player is evading, the timer will pause.
-
-
- The target player
-
-
- False = CurrentPursuit, True = LastPursuit
-
-
- Returns -1, if the player is not wanted or wasn't in pursuit before, depending on the lastPursuit parameter
- Returns 0, if lastPursuit == False and the player has a wanted level, but the pursuit has not started yet
- Otherwise, will return the milliseconds of the pursuit.
-
-
-
-
- Gets a player's token. Tokens can be used to enhance banning logic, however are specific to a server.
-
-
- A player.
-
-
- Index between 0 and GET_NUM_PLAYER_TOKENS.
-
-
- A token value.
-
-
-
-
- Gets the current known coordinates for the specified player from cops perspective. This native is used server side when using OneSync.
-
-
- The target player
-
-
- The player's position known by police. Vector zero if the player has no wanted level.
-
-
-
-
- Returns given players wanted level server-side.
-
-
- The target player
-
-
- The wanted level
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
- The player index.
-
-
- The value of player weapon damage modifier.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
- The player index.
-
-
- The value of player weapon defense modifier.
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
- The player index.
-
-
- The value of player weapon defense modifier 2.
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
-
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
- An object containing registered commands.
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
- The index of the resource (starting at 0)
-
-
- The resource name as a `string`
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
- The key to fetch
-
-
- The floating-point value stored under the specified key, or 0.0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
- The key to fetch
-
-
- The integer value stored under the specified key, or 0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
- The key to fetch
-
-
- The string value stored under the specified key, or nil/null if not found.
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key in the resource manifest.
-
-
- The value index, in a range from \[0..GET_NUM_RESOURCE_METDATA-1].
-
-
-
-
- Returns the physical on-disk path of the specified resource.
-
-
- The name of the resource.
-
-
- The resource directory name, possibly without trailing slash.
-
-
-
-
- Returns the current state of the specified resource.
-
-
- The name of the resource.
-
-
- The resource state. One of `"missing", "started", "starting", "stopped", "stopping", "uninitialized" or "unknown"`.
-
-
-
-
- Returns a hash of selected ped weapon.
-
-
- The target ped.
-
-
- The weapon hash.
-
-
-
-
- Returns the value of a state bag key.
-
-
- Value.
-
-
-
-
- GET_TRAIN_CARRIAGE_ENGINE
-
-
- The entity handle.
-
-
- The train engine carriage.
-
-
-
-
- GET_TRAIN_CARRIAGE_INDEX
-
-
- The entity handle.
-
-
- The carriage index. -1 returned if invalid result.
-
-
-
-
- GET_VEHICLE_BODY_HEALTH
-
-
-
-
- GET_VEHICLE_COLOURS
-
-
-
-
- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
-
-
-
-
- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
-
-
-
-
- GET_VEHICLE_DASHBOARD_COLOUR
-
-
-
-
- GET_VEHICLE_DIRT_LEVEL
-
-
-
-
- ```lua
- enum_VehicleLockStatus = {
- None = 0,
- Locked = 2,
- LockedForPlayer = 3,
- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
- CanBeBrokenIntoPersist = 8, -- Can be broken into persist
- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
- }
- ```
-
- It should be [noted](https://forum.cfx.re/t/4863241) that while the [client-side command](#\_0x25BC98A59C2EA962) and its
- setter distinguish between states 0 (unset) and 1 (unlocked), the game will synchronize both as state 0, so the server-side
- command will return only '0' if unlocked.
-
-
- A vehicle handle.
-
-
- The door lock status for the specified vehicle.
-
-
-
-
- GET_VEHICLE_DOOR_STATUS
-
-
- A number from 0 to 7.
-
-
-
-
- Currently it only works when set to "all players".
-
-
-
-
- GET_VEHICLE_ENGINE_HEALTH
-
-
-
-
- GET_VEHICLE_EXTRA_COLOURS
-
-
-
-
- Gets the flight nozzel position for the specified vehicle. See the client-side [\_GET_VEHICLE_FLIGHT_NOZZLE_POSITION](#\_0xDA62027C8BDB326E) native for usage examples.
-
-
- The vehicle to check.
-
-
- The flight nozzel position between 0.0 (flying normally) and 1.0 (VTOL mode)
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_HEADLIGHTS_COLOUR
-
-
-
-
- Gets the lock on state for the specified vehicle. See the client-side [GET_VEHICLE_HOMING_LOCKON_STATE](#\_0xE6B0E8CFC3633BF0) native for a description of lock on states.
-
-
- The vehicle to check.
-
-
- The lock on state.
-
-
-
-
- GET_VEHICLE_INTERIOR_COLOUR
-
-
-
-
- GET_VEHICLE_LIGHTS_STATE
-
-
-
-
- GET_VEHICLE_LIVERY
-
-
-
-
- Gets the vehicle that is locked on to for the specified vehicle.
-
-
- The vehicle to check.
-
-
- The vehicle that is locked on. 0 returned if no vehicle is locked on.
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
-
-
-
-
- Gets the vehicle the specified Ped is/was in depending on bool value. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- False = CurrentVehicle, True = LastVehicle
-
-
- The vehicle id. Returns 0 if the ped is/was not in a vehicle.
-
-
-
-
- GET_VEHICLE_PETROL_TANK_HEALTH
-
-
-
-
- GET_VEHICLE_RADIO_STATION_INDEX
-
-
-
-
- GET_VEHICLE_ROOF_LIVERY
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- Returns the type of the passed vehicle.
-
- ### Vehicle types
-
- * automobile
- * bike
- * boat
- * heli
- * plane
- * submarine
- * trailer
- * train
-
-
- The vehicle's entity handle.
-
-
- If the entity is a vehicle, the vehicle type. If it is not a vehicle, the return value will be null.
-
-
-
-
- GET_VEHICLE_TYRE_SMOKE_COLOR
-
-
-
-
- GET_VEHICLE_WHEEL_TYPE
-
-
-
-
- GET_VEHICLE_WINDOW_TINT
-
-
-
-
- GIVE_WEAPON_COMPONENT_TO_PED
-
-
-
-
- GIVE_WEAPON_TO_PED
-
-
-
-
- HAS_ENTITY_BEEN_MARKED_AS_NO_LONGER_NEEDED
-
-
-
-
- HAS_VEHICLE_BEEN_OWNED_BY_PLAYER
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
- A boolean value.
-
-
-
-
- This native checks if the given entity is visible.
-
-
- Returns `true` if the entity is visible, `false` otherwise.
-
-
-
-
- This native checks if the given ped is a player.
-
-
- Returns `true` if the ped is a player, `false` otherwise.
-
-
-
-
- IS_PLAYER_ACE_ALLOWED
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded.
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded from Tebex.
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- This will return true if the player is evading wanted level, meaning that the wanted level stars are blink.
- Otherwise will return false.
-
- If the player is not wanted, it simply returns false.
-
-
- The target player
-
-
- boolean value, depending if the player is evading his wanted level or not.
-
-
-
-
- IS_PLAYER_USING_SUPER_JUMP
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- IS_VEHICLE_EXTRA_TURNED_ON
-
-
-
-
- IS_VEHICLE_SIREN_ON
-
-
-
-
- IS_VEHICLE_TYRE_BURST
-
-
-
-
- Requests the commerce data for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
- The player handle
-
-
-
-
- Requests the commerce data from Tebex for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
- The player handle
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
- The resource name.
-
-
- The file in the resource.
-
-
- The file contents
-
-
-
-
- Create a permanent voice channel.
-
-
- ID of the channel.
-
-
-
-
- Checks if the player is currently muted
-
-
- The player to get the mute state for
-
-
- Whether or not the player is muted
-
-
-
-
- Mutes or unmutes the specified player
-
-
- The player to set the mute state of
-
-
- Whether to mute or unmute the player
-
-
-
-
- NETWORK_GET_ENTITY_FROM_NETWORK_ID
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
- The entity to get the owner for.
-
-
- On the server, the server ID of the entity owner. On the client, returns the player/slot ID of the entity owner.
-
-
-
-
- Returns the first owner ID of the specified entity.
-
-
- The entity to get the first owner for.
-
-
- The server ID of the first entity owner.
-
-
-
-
- NETWORK_GET_NETWORK_ID_FROM_ENTITY
-
-
-
-
- NETWORK_GET_VOICE_PROXIMITY_OVERRIDE
-
-
- The player handle
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL_EX
-
-
-
-
- Prints 'structured trace' data to the server `file descriptor 3` channel. This is not generally useful outside of
- server monitoring utilities.
-
-
- JSON data to submit as `payload` in the `script_structured_trace` event.
-
-
-
-
- Scope entry for profiler.
-
-
- Scope name.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
- True or false.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
-
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
-
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
-
- **Example result**:
-
- 
-
-
- The command you want to register.
-
-
- A handler function that gets called whenever the command is executed.
-
-
- If this is a server command and you set this to true, then players will need the command.yourCommandName ace permission to execute this command.
-
-
-
-
- Registers a listener for console output messages.
-
-
- A function of `(channel: string, message: string) => void`. The message might contain `\n`.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
- An event name, or "\*" to disable HLL event filtering for this resource.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Registers a cached resource asset with the resource system, similar to the automatic scanning of the `stream/` folder.
-
-
- The resource to add the asset to.
-
-
- A file name in the resource.
-
-
- A cache string to pass to `REGISTER_STREAMING_FILE_FROM_CACHE` on the client.
-
-
-
-
- Registers a build task factory for resources.
- The function should return an object (msgpack map) with the following fields:
-
- ```
- {
- // returns whether the specific resource should be built
- shouldBuild = func(resourceName: string): bool,
-
- // asynchronously start building the specific resource.
- // call cb when completed
- build = func(resourceName: string, cb: func(success: bool, status: string): void): void
- }
- ```
-
-
- The identifier for the build task.
-
-
- The factory function.
-
-
-
-
- Parameter `p1` does not seem to be used or referenced in game binaries.\
- **Note:** When called for networked entities, a `CRemoveAllWeaponsEvent` will be created per request.
-
-
- The ped entity
-
-
-
-
- Removes the blip from your map.
-
-
- Blip handle to remove.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Removes a handler for changes to a state bag.
-
-
- The cookie.
-
-
-
-
- REMOVE_WEAPON_COMPONENT_FROM_PED
-
-
-
-
- This native removes a specified weapon from your selected ped.
- Weapon Hashes: pastebin.com/0wwDZgkF
- Example:
- C#:
- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);
- C++:
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);
- The code above removes the knife from the player.
-
-
-
-
- Requests the specified player to buy the passed SKU. This'll pop up a prompt on the client, which upon acceptance
- will open the browser prompting further purchase details.
-
-
- The player handle
-
-
- The ID of the SKU.
-
-
-
-
- Writes the specified data to a file in the specified resource.
- Using a length of `-1` will automatically detect the length assuming the data is a C string.
-
-
- The name of the resource.
-
-
- The name of the file.
-
-
- The data to write to the file.
-
-
- The length of the written data.
-
-
- A value indicating if the write succeeded.
-
-
-
-
- Scans the resources in the specified resource root. This function is only available in the 'monitor mode' process and is
- not available for user resources.
-
-
- The resource directory to scan.
-
-
- A callback that will receive an object with results.
-
-
-
-
- Schedules the specified resource to run a tick as soon as possible, bypassing the server's fixed tick rate.
-
-
- The resource to tick.
-
-
-
-
- <!--
- _loc1_.map((name, idx) => `| ${idx} | ${name} |  |`).join('\n')
- -->
-
- Sets the displayed sprite for a specific blip.
-
- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
-
-
- The blip to change.
-
-
- The sprite ID to set.
-
-
-
-
- SET_CONVAR
-
-
-
-
- Used to replicate a server variable onto clients.
-
-
- The console variable name.
-
-
- The value to set for the given console variable.
-
-
-
-
- SET_CONVAR_SERVER_INFO
-
-
-
-
- SET_CURRENT_PED_WEAPON
-
-
-
-
- Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
-
-
- The entity to change coordinates for.
-
-
- The X coordinate.
-
-
- The Y coordinate.
-
-
- The Z coordinate, ground level.
-
-
- Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive.
-
-
- Whether to disable physics for dead peds, too, and not just living peds.
-
-
- A special flag used for ragdolling peds.
-
-
- Whether to clear any entities in the target area.
-
-
-
-
- It overrides the default distance culling radius of an entity. Set to `0.0` to reset.
- If you want to interact with an entity outside of your players' scopes set the radius to a huge number.
-
-
- The entity handle to override the distance culling radius.
-
-
- The new distance culling radius.
-
-
-
-
- Set the heading of an entity in degrees also known as "Yaw".
-
-
- The entity to set the heading for.
-
-
- The heading in degrees.
-
-
-
-
- SET_ENTITY_ROTATION
-
-
- The order yaw pitch roll are applied, see [`GET_ENTITY_ROTATION`](#\_0xAFBD61CC738D9EB9).
-
-
-
-
- Sets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The entity to set the routing bucket for.
-
-
- The bucket ID.
-
-
-
-
- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
-
-
-
-
- SET_GAME_TYPE
-
-
-
-
- SET_HTTP_HANDLER
-
-
-
-
- SET_MAP_NAME
-
-
-
-
- NativeDB Added Parameter 4: BOOL p3
-
-
-
-
- Sets the armor of the specified ped.
- ped: The Ped to set the armor of.
- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.
-
-
-
-
- SET_PED_CAN_RAGDOLL
-
-
-
-
- This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of components
-
- **0**: Face\
- **1**: Mask\
- **2**: Hair\
- **3**: Torso\
- **4**: Leg\
- **5**: Parachute / bag\
- **6**: Shoes\
- **7**: Accessory\
- **8**: Undershirt\
- **9**: Kevlar\
- **10**: Badge\
- **11**: Torso 2
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
-
- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
- The ped handle.
-
-
- The component that you want to set.
-
-
- The drawable id that is going to be set.
-
-
- The texture id of the drawable.
-
-
- 0 to 3.
-
-
-
-
- cpp
- // Potential names and hash collisions included as comments
- enum ePedConfigFlags {
- _0x67D1A445 = 0,
- _0xC63DE95E = 1,
- CPED_CONFIG_FLAG_NoCriticalHits = 2,
- CPED_CONFIG_FLAG_DrownsInWater = 3,
- CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
- _0x37D196F4 = 5,
- _0xE2462399 = 6,
- CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
- _0xEDDEB838 = 8,
- _0xB398B6FD = 9,
- _0xF6664E68 = 10,
- _0xA05E7CA3 = 11,
- _0xCE394045 = 12,
- CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
- _0xCD8D1411 = 14,
- _0xB031F1A9 = 15,
- _0xFE65BEE3 = 16,
- CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
- _0x380165BD = 18,
- _0x07C045C7 = 19,
- _0x583B5E2D = 20,
- _0x475EDA58 = 21,
- _0x8629D05B = 22,
- _0x1522968B = 23,
- CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
- _0x4CC09C4B = 25,
- _0x034F3053 = 26,
- _0xD91BA7CC = 27,
- _0x5C8DC66E = 28,
- _0x8902EAA0 = 29,
- _0x6580B9D2 = 30,
- _0x0EF7A297 = 31,
- _0x6BF86E5B = 32,
- CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
- CPED_CONFIG_FLAG_HasHelmet = 34,
- CPED_CONFIG_FLAG_UseHelmet = 35,
- _0xEEB3D630 = 36,
- _0xB130D17B = 37,
- _0x5F071200 = 38,
- CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
- _0xC287AAFF = 40,
- _0x203328CC = 41,
- CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
- CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
- CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
- _0xEC4A8ACF = 45,
- _0xDB115BFA = 46,
- CPED_CONFIG_FLAG_PedBeingDeleted = 47,
- CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
- _0xF8E99565 = 49,
- _0xDD17FEE6 = 50,
- _0x7ED9B2C9 = 51,
- _0x655E8618 = 52,
- _0x5A6C1F6E = 53,
- _0xD749FC41 = 54,
- _0x357F63F3 = 55,
- _0xC5E60961 = 56,
- _0x29275C3E = 57,
- CPED_CONFIG_FLAG_IsFiring = 58,
- CPED_CONFIG_FLAG_WasFiring = 59,
- CPED_CONFIG_FLAG_IsStanding = 60,
- CPED_CONFIG_FLAG_WasStanding = 61,
- CPED_CONFIG_FLAG_InVehicle = 62,
- CPED_CONFIG_FLAG_OnMount = 63,
- CPED_CONFIG_FLAG_AttachedToVehicle = 64,
- CPED_CONFIG_FLAG_IsSwimming = 65,
- CPED_CONFIG_FLAG_WasSwimming = 66,
- CPED_CONFIG_FLAG_IsSkiing = 67,
- CPED_CONFIG_FLAG_IsSitting = 68,
- CPED_CONFIG_FLAG_KilledByStealth = 69,
- CPED_CONFIG_FLAG_KilledByTakedown = 70,
- CPED_CONFIG_FLAG_Knockedout = 71,
- _0x3E3C4560 = 72,
- _0x2994C7B7 = 73,
- _0x6D59D275 = 74,
- CPED_CONFIG_FLAG_UsingCoverPoint = 75,
- CPED_CONFIG_FLAG_IsInTheAir = 76,
- _0x2D493FB7 = 77,
- CPED_CONFIG_FLAG_IsAimingGun = 78,
- _0x14D69875 = 79,
- _0x40B05311 = 80,
- _0x8B230BC5 = 81,
- _0xC74E5842 = 82,
- _0x9EA86147 = 83,
- _0x674C746C = 84,
- _0x3E56A8C2 = 85,
- _0xC144A1EF = 86,
- _0x0548512D = 87,
- _0x31C93909 = 88,
- _0xA0269315 = 89,
- _0xD4D59D4D = 90,
- _0x411D4420 = 91,
- _0xDF4AEF0D = 92,
- CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
- _0x300E4CD3 = 94,
- _0xF1C5BF04 = 95,
- _0x89C2EF13 = 96,
- CPED_CONFIG_FLAG_VaultFromCover = 97,
- _0x02A852C8 = 98,
- _0x3D9407F1 = 99,
- _0x319B4558 = 100,
- CPED_CONFIG_FLAG_ForcedAim = 101,
- _0xB942D71A = 102,
- _0xD26C55A8 = 103,
- _0xB89E703B = 104,
- CPED_CONFIG_FLAG_ForceReload = 105,
- _0xD9E73DA2 = 106,
- _0xFF71DC2C = 107,
- _0x1E27E8D8 = 108,
- _0xF2C53966 = 109,
- _0xC4DBE247 = 110,
- _0x83C0A4BF = 111,
- _0x0E0FAF8C = 112,
- _0x26616660 = 113,
- _0x43B80B79 = 114,
- _0x0D2A9309 = 115,
- _0x12C1C983 = 116,
- CPED_CONFIG_FLAG_BumpedByPlayer = 117,
- _0xE586D504 = 118,
- _0x52374204 = 119,
- CPED_CONFIG_FLAG_IsHandCuffed = 120,
- CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
- CPED_CONFIG_FLAG_DisableMelee = 122,
- _0xFE714397 = 123,
- _0xB3E660BD = 124,
- _0x5FED6BFD = 125,
- _0xC9D6F66F = 126,
- _0x519BC986 = 127,
- CPED_CONFIG_FLAG_CanBeAgitated = 128,
- _0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
- _0xDAB70E9F = 130,
- _0xE569438A = 131,
- _0xBBC77D6D = 132,
- _0xCB59EF0F = 133,
- _0x8C5EA971 = 134,
- CPED_CONFIG_FLAG_IsScuba = 135,
- CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
- _0xDCE59B58 = 137,
- CPED_CONFIG_FLAG_RidingTrain = 138,
- CPED_CONFIG_FLAG_ArrestResult = 139,
- CPED_CONFIG_FLAG_CanAttackFriendly = 140,
- _0x98A4BE43 = 141,
- _0x6901E731 = 142,
- _0x9EC9BF6C = 143,
- _0x42841A8F = 144,
- CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
- CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
- CPED_CONFIG_FLAG_StairsDetected = 147,
- CPED_CONFIG_FLAG_SlopeDetected = 148,
- _0x1A15670B = 149,
- _0x61786EE5 = 150,
- _0xCB9186BD = 151,
- _0xF0710152 = 152,
- _0x43DFE310 = 153,
- _0xC43C624E = 154,
- CPED_CONFIG_FLAG_CanPerformArrest = 155,
- CPED_CONFIG_FLAG_CanPerformUncuff = 156,
- CPED_CONFIG_FLAG_CanBeArrested = 157,
- _0xF7960FF5 = 158,
- _0x59564113 = 159,
- _0x0C6C3099 = 160,
- _0x645F927A = 161,
- _0xA86549B9 = 162,
- _0x8AAF337A = 163,
- _0x13BAA6E7 = 164,
- _0x5FB9D1F5 = 165,
- CPED_CONFIG_FLAG_IsInjured = 166,
- _0x6398A20B = 167,
- _0xD8072639 = 168,
- _0xA05B1845 = 169,
- _0x83F6D220 = 170,
- _0xD8430331 = 171,
- _0x4B547520 = 172,
- _0xE66E1406 = 173,
- _0x1C4BFE0C = 174,
- _0x90008BFA = 175,
- _0x07C7A910 = 176,
- _0xF15F8191 = 177,
- _0xCE4E8BE2 = 178,
- _0x1D46E4F2 = 179,
- CPED_CONFIG_FLAG_IsInCustody = 180,
- _0xE4FD9B3A = 181,
- _0x67AE0812 = 182,
- CPED_CONFIG_FLAG_IsAgitated = 183,
- CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
- _0x7B2D325E = 185,
- CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
- CPED_CONFIG_FLAG_HasHurtStarted = 187,
- CPED_CONFIG_FLAG_DisableHurt = 188,
- CPED_CONFIG_FLAG_PlayerIsWeird = 189,
- _0x32FC208B = 190,
- _0x0C296E5A = 191,
- _0xE63B73EC = 192,
- _0x04E9CC80 = 193,
- CPED_CONFIG_FLAG_UsingScenario = 194,
- CPED_CONFIG_FLAG_VisibleOnScreen = 195,
- _0xD88C58A1 = 196,
- _0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
- _0xEA02B420 = 198,
- _0x3F559CFF = 199,
- _0x8C55D029 = 200,
- _0x5E6466F6 = 201,
- _0xEB5AD706 = 202,
- _0x0EDDDDE7 = 203,
- _0xA64F7B1D = 204,
- _0x48532CBA = 205,
- _0xAA25A9E7 = 206,
- _0x415B26B9 = 207,
- CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
- CPED_CONFIG_FLAG_DodgedPlayer = 209,
- _0x67405504 = 210,
- _0x75DDD68C = 211,
- _0x2AD879B4 = 212,
- _0x51486F91 = 213,
- _0x32F79E21 = 214,
- _0xBF099213 = 215,
- _0x054AC8E2 = 216,
- _0x14E495CC = 217,
- _0x3C7DF9DF = 218,
- _0x848FFEF2 = 219,
- CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
- _0x2618E1CF = 221,
- _0x84F722FA = 222,
- _0xD1B87B1F = 223,
- _0x728AA918 = 224,
- CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
- CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
- _0x59E91185 = 227,
- _0x1EA7225F = 228,
- CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
- _0x6DCA7D88 = 230,
- _0xFC3E572D = 231,
- _0x08E9F9CF = 232,
- _0x2D3BA52D = 233,
- _0xFD2F53EA = 234,
- _0x31A1B03B = 235,
- CPED_CONFIG_FLAG_IsHoldingProp = 236,
- _0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
- _0xCE57C9A3 = 238,
- _0x26149198 = 239,
- _0x1B33B598 = 240,
- _0x719B6E87 = 241,
- _0x13E8E8E8 = 242,
- _0xF29739AE = 243,
- _0xABEA8A74 = 244,
- _0xB60EA2BA = 245,
- _0x536B0950 = 246,
- _0x0C754ACA = 247,
- CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
- _0x12659168 = 249,
- _0x1BDF2F04 = 250,
- _0x7728FAA3 = 251,
- _0x6A807ED8 = 252,
- CPED_CONFIG_FLAG_OnStairs = 253,
- _0xE1A2F73F = 254,
- _0x5B3697C8 = 255,
- _0xF1EB20A9 = 256,
- _0x8B7DF407 = 257,
- _0x329DCF1A = 258,
- _0x8D90DD1B = 259,
- _0xB8A292B7 = 260,
- _0x8374B087 = 261,
- _0x2AF558F0 = 262,
- _0x82251455 = 263,
- _0x30CF498B = 264,
- _0xE1CD50AF = 265,
- _0x72E4AE48 = 266,
- _0xC2657EA1 = 267,
- _0x29FF6030 = 268,
- _0x8248A5EC = 269,
- CPED_CONFIG_FLAG_OnStairSlope = 270,
- _0xA0897933 = 271,
- CPED_CONFIG_FLAG_DontBlipCop = 272,
- CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
- _0xF7823618 = 274,
- _0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
- CPED_CONFIG_FLAG_EdgeDetected = 276,
- _0x92B67896 = 277,
- _0xCAD677C9 = 278,
- CPED_CONFIG_FLAG_AvoidTearGas = 279,
- _0x5276AC7B = 280,
- _0x1032692A = 281,
- _0xDA23E7F1 = 282,
- _0x9139724D = 283,
- _0xA1457461 = 284,
- _0x4186E095 = 285,
- _0xAC68E2EB = 286,
- CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
- CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
- _0x1B9EE8A1 = 289,
- _0xF3F5758C = 290,
- _0x2A9307F1 = 291,
- _0x7403D216 = 292,
- _0xA06A3C6C = 293,
- CPED_CONFIG_FLAG_DisableShockingEvents = 294,
- _0xF8DA25A5 = 295,
- _0x7EF55802 = 296,
- _0xB31F1187 = 297,
- _0x84315402 = 298,
- _0x0FD69867 = 299,
- _0xC7829B67 = 300,
- CPED_CONFIG_FLAG_DisablePedConstraints = 301,
- _0x6D23CF25 = 302,
- _0x2ADA871B = 303,
- _0x47BC8A58 = 304,
- _0xEB692FA5 = 305,
- _0x4A133C50 = 306,
- _0xC58099C3 = 307,
- _0xF3D76D41 = 308,
- _0xB0EEE9F2 = 309,
- CPED_CONFIG_FLAG_IsInCluster = 310,
- _0x0FA153EF = 311,
- _0xD73F5CD3 = 312,
- _0xD4136C22 = 313,
- _0xE404CA6B = 314,
- _0xB9597446 = 315,
- _0xD5C98277 = 316,
- _0xD5060A9C = 317,
- _0x3E5F1CBB = 318,
- _0xD8BE1D54 = 319,
- _0x0B1F191F = 320,
- _0xC995167A = 321,
- CPED_CONFIG_FLAG_HasHighHeels = 322,
- _0x86B01E54 = 323,
- _0x3A56FE15 = 324,
- _0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
- _0xBBF47729 = 326,
- _0x22B668A8 = 327,
- _0x2624D4D4 = 328,
- CPED_CONFIG_FLAG_DisableTalkTo = 329,
- CPED_CONFIG_FLAG_DontBlip = 330,
- CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
- _0x630F55F3 = 332,
- _0x150468FD = 333,
- _0x914EBD6B = 334,
- _0x79AF3B6D = 335,
- _0x75C7A632 = 336,
- _0x52D530E2 = 337,
- _0xDB2A90E0 = 338,
- _0x5922763D = 339,
- _0x12ADB567 = 340,
- _0x105C8518 = 341,
- _0x106F703D = 342,
- _0xED152C3E = 343,
- _0xA0EFE6A8 = 344,
- _0xBF348C82 = 345,
- _0xCDDFE830 = 346,
- _0x7B59BD9B = 347,
- _0x0124C788 = 348,
- CPED_CONFIG_FLAG_EquipJetpack = 349,
- _0x08D361A5 = 350,
- _0xE13D1F7C = 351,
- _0x40E25FB9 = 352,
- _0x930629D9 = 353,
- _0xECCF0C7F = 354,
- _0xB6E9613B = 355,
- _0x490C0478 = 356,
- _0xE8865BEA = 357,
- _0xF3C34A29 = 358,
- CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
- _0xF660E115 = 360,
- _0xAB0E6DED = 361,
- CPED_CONFIG_FLAG_HasReserveParachute = 362,
- CPED_CONFIG_FLAG_UseReserveParachute = 363,
- _0x5C5D9CD3 = 364,
- _0x8F7701F3 = 365,
- _0xBC4436AD = 366,
- _0xD7E07D37 = 367,
- _0x03C4FD24 = 368,
- _0x7675789A = 369,
- _0xB7288A88 = 370,
- _0xC06B6291 = 371,
- _0x95A4A805 = 372,
- _0xA8E9A042 = 373,
- CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
- _0xBAC674B3 = 375,
- _0x147F1FFB = 376,
- _0x4376DD79 = 377,
- _0xCD3DB518 = 378,
- _0xFE4BA4B6 = 379,
- _0x5DF03A55 = 380,
- _0xBCD816CD = 381,
- _0xCF02DD69 = 382,
- _0xF73AFA2E = 383,
- _0x80B9A9D0 = 384,
- _0xF601F7EE = 385,
- _0xA91350FC = 386,
- _0x3AB23B96 = 387,
- CPED_CONFIG_FLAG_IsClimbingLadder = 388,
- CPED_CONFIG_FLAG_HasBareFeet = 389,
- _0xB4B1CD4C = 390,
- _0x5459AFB8 = 391,
- _0x54F27667 = 392,
- _0xC11D3E8F = 393,
- _0x5419EB3E = 394,
- _0x82D8DBB4 = 395,
- _0x33B02D2F = 396,
- _0xAE66176D = 397,
- _0xA2692593 = 398,
- _0x714C7E31 = 399,
- _0xEC488AC7 = 400,
- _0xAE398504 = 401,
- _0xABC58D72 = 402,
- _0x5E5B9591 = 403,
- _0x6BA1091E = 404,
- _0x77840177 = 405,
- _0x1C7ACAC4 = 406,
- _0x124420E9 = 407,
- _0x75A65587 = 408,
- _0xDFD2D55B = 409,
- _0xBDD39919 = 410,
- _0x43DEC267 = 411,
- _0xE42B7797 = 412,
- CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
- _0x4F8149F5 = 414,
- _0xDD9ECA7A = 415,
- _0x9E7EF9D2 = 416,
- _0x2C6ED942 = 417,
- CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
- _0xA488727D = 419,
- _0xCFF5F6DE = 420,
- _0x6D614599 = 421,
- CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
- _0xFE401D26 = 423,
- CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
- _0x2B42AE82 = 425,
- _0x7A95734F = 426,
- _0xDF4D8617 = 427,
- _0x578F1F14 = 428,
- CPED_CONFIG_FLAG_DisableStartEngine = 429,
- CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
- _0x153C9500 = 431,
- _0xCB7A632E = 432,
- _0xDE727981 = 433,
- CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
- _0x12BBB935 = 435,
- _0xAD0A1277 = 436,
- _0xEA6AA46A = 437,
- CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
- _0xCB7F3A1E = 439,
- _0x50178878 = 440,
- _0x051B4F0D = 441,
- _0x2FC3DECC = 442,
- _0xC0030B0B = 443,
- _0xBBDAF1E9 = 444,
- _0x944FE59C = 445,
- _0x506FBA39 = 446,
- _0xDD45FE84 = 447,
- _0xE698AE75 = 448,
- _0x199633F8 = 449,
- CPED_CONFIG_FLAG_PedIsArresting = 450,
- CPED_CONFIG_FLAG_IsDecoyPed = 451,
- _0x3A251D83 = 452,
- _0xA56F6986 = 453,
- _0x1D19C622 = 454,
- _0xB68D3EAB = 455,
- CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
- _0x4BD5EBAD = 457,
- }
-
-
-
-
- Sets Ped Default Clothes
-
-
-
-
- Used for freemode (online) characters.
-
- Indices:
-
- 1. black
- 2. very light blue/green
- 3. dark blue
- 4. brown
- 5. darker brown
- 6. light brown
- 7. blue
- 8. light blue
- 9. pink
- 10. yellow
- 11. purple
- 12. black
- 13. dark green
- 14. light brown
- 15. yellow/black pattern
- 16. light colored spiral pattern
- 17. shiny red
- 18. shiny half blue/half red
- 19. half black/half light blue
- 20. white/red perimter
- 21. green snake
- 22. red snake
- 23. dark blue snake
- 24. dark yellow
- 25. bright yellow
- 26. all black
- 27. red small pupil
- 28. devil blue/black
- 29. white small pupil
- 30. glossed over
-
-
-
-
- Sets the various freemode face features, e.g. nose length, chin shape.
-
- **Indexes (From 0 to 19):**
-
- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
-
- * **0**: Nose Width (Thin/Wide)
- * **1**: Nose Peak (Up/Down)
- * **2**: Nose Length (Long/Short)
- * **3**: Nose Bone Curveness (Crooked/Curved)
- * **4**: Nose Tip (Up/Down)
- * **5**: Nose Bone Twist (Left/Right)
- * **6**: Eyebrow (Up/Down)
- * **7**: Eyebrow (In/Out)
- * **8**: Cheek Bones (Up/Down)
- * **9**: Cheek Sideways Bone Size (In/Out)
- * **10**: Cheek Bones Width (Puffed/Gaunt)
- * **11**: Eye Opening (Both) (Wide/Squinted)
- * **12**: Lip Thickness (Both) (Fat/Thin)
- * **13**: Jaw Bone Width (Narrow/Wide)
- * **14**: Jaw Bone Shape (Round/Square)
- * **15**: Chin Bone (Up/Down)
- * **16**: Chin Bone Length (In/Out or Backward/Forward)
- * **17**: Chin Bone Shape (Pointed/Square)
- * **18**: Chin Hole (Chin Bum)
- * **19**: Neck Thickness (Thin/Thick)
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- An integer ranging from 0 to 19
-
-
- A float ranging from -1.0 to 1.0
-
-
-
-
- Used for freemode (online) characters.
-
-
-
-
- For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
-
- **Other information:**
-
- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
-
- This native function is often called prior to calling natives such as:
-
- * [`SetPedHairColor`](#0xBB43F090)
- * [`SetPedHeadOverlayColor`](#0x78935A27)
- * [`SetPedHeadOverlay`](#0xD28DBA90)
- * [`SetPedFaceFeature`](#0x6C8D4458)
-
-
- The ped entity
-
-
- Controls the shape of the first ped's face
-
-
- Controls the shape of the second ped's face
-
-
- Controls the shape of the third ped's face
-
-
- Controls the first id's skin tone
-
-
- Controls the second id's skin tone
-
-
- Controls the third id's skin tone
-
-
- 0.0 - 1.0 Of whose characteristics to take Mother -> Father (shapeFirstID and shapeSecondID)
-
-
- 0.0 - 1.0 Of whose characteristics to take Mother -> Father (skinFirstID and skinSecondID)
-
-
- Overrides the others in favor of the third IDs.
-
-
- IsParent is set for "children" of the player character's grandparents during old-gen character creation. It has unknown effect otherwise.
-
-
-
-
- ```
- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.
- overlayID Part Index, to disable
- 0 Blemishes 0 - 23, 255
- 1 Facial Hair 0 - 28, 255
- 2 Eyebrows 0 - 33, 255
- 3 Ageing 0 - 14, 255
- 4 Makeup 0 - 74, 255
- 5 Blush 0 - 6, 255
- 6 Complexion 0 - 11, 255
- 7 Sun Damage 0 - 10, 255
- 8 Lipstick 0 - 9, 255
- 9 Moles/Freckles 0 - 17, 255
- 10 Chest Hair 0 - 16, 255
- 11 Body Blemishes 0 - 11, 255
- 12 Add Body Blemishes 0 - 1, 255
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- The overlay id displayed up above.
-
-
- An integer representing the index (from 0 to `_GET_NUM_OVERLAY_VALUES(overlayID)-1`)
-
-
- A float ranging from 0.0 to 1.0
-
-
-
-
- ```
- Used for freemode (online) characters.
- Called after SET_PED_HEAD_OVERLAY().
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- An integer representing the overlay id
-
-
- 1 for eyebrows, beards, and chest hair; 2 for blush and lipstick; and 0 otherwise, though not called in those cases.
-
-
- An integer representing the primary color id
-
-
- An integer representing the secondary color id
-
-
-
-
- SET_PED_INTO_VEHICLE
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669). -2 for the first available seat.
-
-
-
-
- This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of props
-
- **0**: Hat\
- **1**: Glass\
- **2**: Ear\
- **6**: Watch\
- **7**: Bracelet
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
-
- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
- The ped handle.
-
-
- The component that you want to set.
-
-
- The drawable id that is going to be set.
-
-
- The texture id of the drawable.
-
-
- Attached or not.
-
-
-
-
- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.
-
- List of component/props ID:
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
- Known values:
-
-
-
-
- p4/p5: Unusued in TU27
-
- ### Ragdoll Types
-
- **0**: CTaskNMRelax
- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
- **Else**: CTaskNMBalance
-
-
- Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1.
-
-
-
-
- Return variable is never used in R*'s scripts.
- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
- x, y, and z are coordinates, most likely to where the ped will fall.
- p7 is probably the force of the fall, but untested, so I left the variable name the same.
- p8 to p13 are always 0f in R*'s scripts.
- (Simplified) Example of the usage of the function from R*'s scripts:
- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
-
-
-
-
- Flags:
- SPC_AMBIENT_SCRIPT = (1 << 1),
- SPC_CLEAR_TASKS = (1 << 2),
- SPC_REMOVE_FIRES = (1 << 3),
- SPC_REMOVE_EXPLOSIONS = (1 << 4),
- SPC_REMOVE_PROJECTILES = (1 << 5),
- SPC_DEACTIVATE_GADGETS = (1 << 6),
- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
- SPC_ALLOW_PAD_SHAKE = (1 << 12)
- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
-
-
-
-
- Sets the culling radius for the specified player.
- Set to `0.0` to reset.
-
-
- The player to set the culling radius for.
-
-
- The radius.
-
-
-
-
- Simply sets you as invincible (Health will not deplete).
- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:
- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);
-
-
-
-
- Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
-
- As per usual, make sure to request the model first and wait until it has loaded.
-
-
- The player to set the model for
-
-
- The model to use
-
-
-
-
- Sets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The player to set the routing bucket for.
-
-
- The bucket ID.
-
-
-
-
- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect
- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files
- disableNoMission- Disables When Off Mission- appears to always be false
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP](#\_0x21C7A35B) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Sets the entity lockdown mode for a specific routing bucket.
-
- Lockdown modes are:
-
- | Mode | Meaning |
- | ---------- | ---------------------------------------------------------- |
- | `strict` | No entities can be created by clients at all. |
- | `relaxed` | Only script-owned entities created by clients are blocked. |
- | `inactive` | Clients can create any entity they want. |
-
-
- The routing bucket ID to adjust.
-
-
- One of aforementioned modes.
-
-
-
-
- Sets whether or not the specified routing bucket has automatically-created population enabled.
-
-
- The routing bucket ID to adjust.
-
-
- `true` to enable population, `false` to disable population.
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- SET_VEHICLE_ALARM
-
-
-
-
- p2 often set to 1000.0 in the decompiled scripts.
-
-
-
-
- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
-
- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
-
-
- The vehicle to modify.
-
-
- One of the default color values of the vehicle.
-
-
-
-
- colorPrimary & colorSecondary are the paint indexes for the vehicle.
-
- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- Sets the dirt level of the passed vehicle.
-
-
- The vehicle to set.
-
-
- A number between 0.0 and 15.0 representing the vehicles dirt level.
-
-
-
-
- See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
-
-
-
-
- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
- // They use 10 in am_mp_property_int, don't know what it does atm.
- enum eCarLock {
- CARLOCK_NONE = 0,
- CARLOCK_UNLOCKED = 1,
- CARLOCK_LOCKED = 2,
- CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
- CARLOCK_LOCKED_PLAYER_INSIDE = 4,
- CARLOCK_LOCKED_INITIALLY = 5,
- CARLOCK_FORCE_SHUT_DOORS = 6,
- CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
- };
-
-
-
-
- SET_VEHICLE_NUMBER_PLATE_TEXT
-
-
- The vehicle to set the plate for
-
-
- The text to set the plate to, 8 chars maximum
-
-
-
-
- START_FIND_KVP
-
-
- A prefix match
-
-
- A KVP find handle to use with [FIND_KVP](#\_0xBD7BEBC5) and close with [END_FIND_KVP](#\_0xB3210203)
-
-
-
-
- START_RESOURCE
-
-
-
-
- STOP_RESOURCE
-
-
-
-
- Makes the specified ped attack the target ped.
- p2 should be 0
- p3 should be 16
-
-
-
-
- Example:
- TASK::TASK_DRIVE_BY(l_467[1/*22*/], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
- Needs working example. Doesn't seem to do anything.
- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
-
-
-
-
- speed 1.0 = walk, 2.0 = run
- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle
- p6 is always 0
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
-
-
- TASK_EVERYONE_LEAVE_VEHICLE
-
-
-
-
- TASK_GO_STRAIGHT_TO_COORD
-
-
- The ped handle.
-
-
- The x coordinate.
-
-
- The y coordinate.
-
-
- The z coordinate.
-
-
- The ped movement speed.
-
-
- \-1 , other values appear to break the ped movement.
-
-
- The heading you want the ped to be on x,y,z coord.
-
-
- The distance from x,y,z where the ped will start sliding.
-
-
-
-
- example from fm_mission_controller
- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
-
-
-
-
- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
-
-
-
-
- In the scripts, p3 was always -1.
- p3 seems to be duration or timeout of turn animation.
- Also facingPed can be 0 or -1 so ped will just raise hands up.
-
-
-
-
- Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
-
-
-
-
- Flags from decompiled scripts:
- 0 = normal exit and closes door.
- 1 = normal exit and closes door.
- 16 = teleports outside, door kept closed. (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
- 64 = normal exit and closes door, maybe a bit slower animation than 0.
- 256 = normal exit but does not close the door.
- 4160 = ped is throwing himself out, even when the vehicle is still.
- 262144 = ped moves to passenger seat first, then exits normally
- Others to be tried out: 320, 512, 131072.
-
-
-
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
- ```
- float blendInSpeed > normal speed is 8.0f
- ----------------------
- float blendOutSpeed > normal speed is 8.0f
- ----------------------
- int duration: time in millisecond
- ----------------------
- -1 _ _ _ _ _ _ _> Default (see flag)
- 0 _ _ _ _ _ _ _ > Not play at all
- Small value _ _ > Slow down animation speed
- Other _ _ _ _ _ > freeze player control until specific time (ms) has
- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be
- _ _ _ _ _ _ _ _ _ controllable.)
- int flag:
- ----------------------
- enum eAnimationFlags
- {
- ANIM_FLAG_NORMAL = 0,
- ANIM_FLAG_REPEAT = 1,
- ANIM_FLAG_STOP_LAST_FRAME = 2,
- ANIM_FLAG_UPPERBODY = 16,
- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,
- ANIM_FLAG_CANCELABLE = 120,
- };
- Odd number : loop infinitely
- Even number : Freeze at last frame
- Multiple of 4: Freeze at last frame but controllable
- 01 to 15 > Full body
- 10 to 31 > Upper body
- 32 to 47 > Full body > Controllable
- 48 to 63 > Upper body > Controllable
- ...
- 001 to 255 > Normal
- 256 to 511 > Garbled
- ...
- playbackRate:
- values are between 0.0 and 1.0
- lockX:
- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3
- > 1 for mini@sprunk
- lockY:
- 0 in most cases
- 1 for missfam5_yoga, missfra1mcs_2_crew_react
- lockZ:
- 0 for single player
- Can be 1 but only for MP
- ```
-
-
-
-
- It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
-
- The target ped
-
-
- Name of the animation dictionary
-
-
- Name of the animation
-
-
- Initial X position of the task
-
-
- Initial Y position of the task
-
-
- Initial Z position of the task
-
-
- Initial X rotation of the task, doesn't seem to have any effect
-
-
- Initial Y rotation of the task, doesn't seem to have any effect
-
-
- Initial Z rotation of the task
-
-
- Adjust character speed to fully enter animation
-
-
- Adjust character speed to fully exit animation (useless `ClearPedTasksImmediately()` is called)
-
-
- Time in milliseconds
-
-
- Value between 0.0 and 1.0, lets you start an animation from the given point
-
-
-
-
- TASK_REACT_AND_FLEE_PED
-
-
-
-
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
- Entity aimedentity;
- Player player = PLAYER::PLAYER_ID();
- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
- //bg is an array of peds
- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- TASK_WARP_PED_INTO_VEHICLE
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
-
-
- TEMP_BAN_PLAYER
-
-
-
-
- The backing function for TriggerClientEvent.
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- The backing function for TriggerLatentClientEvent.
-
-
-
-
- VERIFY_PASSWORD_HASH
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
- A boolean.
-
-
-
-
- Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
-
-
-
-
- Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
- Can be used for objects, vehicles and peds.
-
- Example of enemy:
- 
- Example of friend:
- 
-
-
-
-
- Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
-
- Example image:
- 
-
-
-
-
- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
- collection - PedDecorationCollection filename hash
- overlay - Item name hash
- Example:
- Entry inside "mpbeach_overlays.xml" -
- <Item>
- <uvPos x="0.500000" y="0.500000" />
- <scale x="0.600000" y="0.500000" />
- <rotation value="0.000000" />
- <nameHash>FM_Hair_Fuzz</nameHash>
- <txdHash>mp_hair_fuzz</txdHash>
- <txtHash>mp_hair_fuzz</txtHash>
- <zone>ZONE_HEAD</zone>
- <type>TYPE_TATTOO</type>
- <faction>FM</faction>
- <garment>All</garment>
- <gender>GENDER_DONTCARE</gender>
- <award />
- <awardLevel />
- </Item>
- Code:
- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
-
-
-
-
- Adds a handler for changes to a state bag.
-
- The function called expects to match the following signature:
-
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
-
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
-
- At this time, the change handler can't opt to reject changes.
-
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
-
-
- Applies a force to the specified entity.
-
- **List of force types (p1)**:
-
- ```
- public enum ForceType
- {
- MinForce = 0,
- MaxForceRot = 1,
- MinForce2 = 2,
- MaxForceRot2 = 3,
- ForceNoRot = 4,
- ForceRotPlusForce = 5
- }
- ```
-
- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- Returns whether or not the specified player has enough information to start a commerce session for.
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- CLEAR_PED_SECONDARY_TASK
-
-
-
-
- Clear a ped's tasks. Stop animations and other tasks created by scripts.
-
-
-
-
- Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
-
-
-
-
- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);
- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.
-
-
-
-
- Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
-
-
- Creates an object (prop) with the specified model centered at the specified position.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
-
-
- Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
- (e.g. using REQUEST_MODEL).
-
-
-
-
- CREATE_PED_INSIDE_VEHICLE
-
-
-
-
- Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
- ```
- NativeDB Added Parameter 8: BOOL p7
- ```
-
-
-
-
- Equivalent to CREATE_VEHICLE, but it uses 'server setter' logic (like the former CREATE_AUTOMOBILE) as a workaround for
- reliability concerns regarding entity creation RPC.
-
- Unlike CREATE_AUTOMOBILE, this supports other vehicle types as well.
-
-
-
-
- Deletes the specified entity.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
-
-
- Nonsynchronous [DELETE_RESOURCE_KVP](#\_0x7389B5DF) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- DOES_ENTITY_EXIST
-
-
-
-
- Requests whether or not the player owns the specified SKU.
-
-
-
-
- Requests whether or not the player owns the specified package.
-
-
-
-
- DROP_PLAYER
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- ENABLE_ENHANCED_HOST_SUPPORT
-
-
-
-
- END_FIND_KVP
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
-
-
- FLAG_SERVER_AS_PRIVATE
-
-
-
-
- Nonsynchronous operations will not wait for a disk/filesystem flush before returning from a write or delete call. They will be much faster than their synchronous counterparts (e.g., bulk operations), however, a system crash may lose the data to some recent operations.
-
- This native ensures all `_NO_SYNC` operations are synchronized with the disk/filesystem.
-
-
-
-
- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.
-
-
-
-
- GET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
-
-
-
-
- Returns all object handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns all peds handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns all vehicle handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns the current console output buffer.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
-
-
- Returns the name of the currently executing resource.
-
-
-
-
- Gets the entity that this entity is attached to.
-
-
-
-
- Gets the current coordinates for a specified entity. This native is used server side when using OneSync.
-
- See [GET_ENTITY_COORDS](#\_0x3FEF770D40960D5A) for client side.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
-
-
- GET_ENTITY_HEADING
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- GET_ENTITY_MODEL
-
-
-
-
- This native gets an entity's population type.
-
-
-
-
- GET_ENTITY_ROTATION
-
-
-
-
- GET_ENTITY_ROTATION_VELOCITY
-
-
-
-
- Gets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- GET_ENTITY_SCRIPT
-
-
-
-
- Gets the current speed of the entity in meters per second.
-
- ```
- To convert to MPH: speed * 2.236936
- To convert to KPH: speed * 3.6
- ```
-
-
-
-
- Gets the entity type (as an integer), which can be one of the following defined down below:
-
- **The following entities will return type `1`:**
-
- * Ped
- * Player
- * Animal (Red Dead Redemption 2)
- * Horse (Red Dead Redemption 2)
-
- **The following entities will return type `2`:**
-
- * Automobile
- * Bike
- * Boat
- * Heli
- * Plane
- * Submarine
- * Trailer
- * Train
- * DraftVeh (Red Dead Redemption 2)
-
- **The following entities will return type `3`:**
-
- * Object
- * Door
- * Pickup
-
- Otherwise, a value of `0` will be returned.
-
-
-
-
- GET_ENTITY_VELOCITY
-
-
-
-
- Returns the internal build number of the current game being executed.
-
- Possible values:
-
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
-
-
- Returns the current game being executed.
-
- Possible values:
-
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
-
-
- Gets the current game timer in milliseconds.
-
-
-
-
- This native converts the passed string to a hash.
-
-
-
-
- GET_HELI_MAIN_ROTOR_HEALTH
-
-
-
-
- GET_HELI_TAIL_ROTOR_HEALTH
-
-
-
-
- GET_HOST_ID
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- GET_IS_VEHICLE_ENGINE_RUNNING
-
-
-
-
- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
-
-
-
-
- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
-
-
-
-
- See the client-side [GET_LANDING_GEAR_STATE](#\_0x9B0F3DCA3DB0F4CD) native for a description of landing gear states.
-
-
-
-
- GET_LAST_PED_IN_VEHICLE_SEAT
-
-
-
-
- GET_NUM_PLAYER_IDENTIFIERS
-
-
-
-
- GET_NUM_PLAYER_INDICES
-
-
-
-
- GET_NUM_PLAYER_TOKENS
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- GET_PASSWORD_HASH
-
-
-
-
- GET_PED_ARMOUR
-
-
-
-
- GET_PED_CAUSE_OF_DEATH
-
-
-
-
- GET_PED_DESIRED_HEADING
-
-
-
-
- GET_PED_IN_VEHICLE_SEAT
-
-
-
-
- GET_PED_MAX_HEALTH
-
-
-
-
- Gets the script task command currently assigned to the ped.
-
-
-
-
- Gets the stage of the peds scripted task.
-
-
-
-
- Get the last entity that damaged the ped. This native is used server side when using OneSync.
-
-
-
-
- Get the entity that killed the ped. This native is used server side when using OneSync.
-
-
-
-
- Gets the type of a ped's specific task given an index of the CPedTaskSpecificDataNode nodes.
- A ped will typically have a task at index 0, if a ped has multiple tasks at once they will be in the order 0, 1, 2, etc.
-
-
-
-
- Gets the current camera rotation for a specified player. This native is used server side when using OneSync.
-
-
-
-
- GET_PLAYER_ENDPOINT
-
-
-
-
- Gets the current fake wanted level for a specified player. This native is used server side when using OneSync.
-
-
-
-
- GET_PLAYER_FROM_INDEX
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
-
-
- GET_PLAYER_GUID
-
-
-
-
- GET_PLAYER_IDENTIFIER
-
-
-
-
- Get an identifier from a player by the type of the identifier.
-
-
-
-
- GET_PLAYER_INVINCIBLE
-
-
-
-
- GET_PLAYER_LAST_MSG
-
-
-
-
- GET_PLAYER_MAX_ARMOUR
-
-
-
-
- GET_PLAYER_MAX_HEALTH
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
-
-
- GET_PLAYER_NAME
-
-
-
-
- GET_PLAYER_PED
-
-
-
-
- GET_PLAYER_PING
-
-
-
-
- Gets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- GET_PLAYER_TEAM
-
-
-
-
- Gets the amount of time player has spent evading the cops.
- Counter starts and increments only when cops are chasing the player.
- If the player is evading, the timer will pause.
-
-
-
-
- Gets a player's token. Tokens can be used to enhance banning logic, however are specific to a server.
-
-
-
-
- Gets the current known coordinates for the specified player from cops perspective. This native is used server side when using OneSync.
-
-
-
-
- Returns given players wanted level server-side.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
-
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- Returns the physical on-disk path of the specified resource.
-
-
-
-
- Returns the current state of the specified resource.
-
-
-
-
- Returns a hash of selected ped weapon.
-
-
-
-
- Returns the value of a state bag key.
-
-
-
-
- GET_TRAIN_CARRIAGE_ENGINE
-
-
-
-
- GET_TRAIN_CARRIAGE_INDEX
-
-
-
-
- GET_VEHICLE_BODY_HEALTH
-
-
-
-
- GET_VEHICLE_COLOURS
-
-
-
-
- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
-
-
-
-
- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
-
-
-
-
- GET_VEHICLE_DASHBOARD_COLOUR
-
-
-
-
- GET_VEHICLE_DIRT_LEVEL
-
-
-
-
- Currently it only works when set to "all players".
-
-
-
-
- ```lua
- enum_VehicleLockStatus = {
- None = 0,
- Locked = 2,
- LockedForPlayer = 3,
- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
- CanBeBrokenIntoPersist = 8, -- Can be broken into persist
- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
- }
- ```
-
- It should be [noted](https://forum.cfx.re/t/4863241) that while the [client-side command](#\_0x25BC98A59C2EA962) and its
- setter distinguish between states 0 (unset) and 1 (unlocked), the game will synchronize both as state 0, so the server-side
- command will return only '0' if unlocked.
-
-
-
-
- GET_VEHICLE_DOOR_STATUS
-
-
-
-
- GET_VEHICLE_ENGINE_HEALTH
-
-
-
-
- GET_VEHICLE_EXTRA_COLOURS
-
-
-
-
- Gets the flight nozzel position for the specified vehicle. See the client-side [\_GET_VEHICLE_FLIGHT_NOZZLE_POSITION](#\_0xDA62027C8BDB326E) native for usage examples.
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_HEADLIGHTS_COLOUR
-
-
-
-
- Gets the lock on state for the specified vehicle. See the client-side [GET_VEHICLE_HOMING_LOCKON_STATE](#\_0xE6B0E8CFC3633BF0) native for a description of lock on states.
-
-
-
-
- GET_VEHICLE_INTERIOR_COLOUR
-
-
-
-
- GET_VEHICLE_LIGHTS_STATE
-
-
-
-
- GET_VEHICLE_LIVERY
-
-
-
-
- Gets the vehicle that is locked on to for the specified vehicle.
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
-
-
-
-
- Gets the vehicle the specified Ped is/was in depending on bool value. This native is used server side when using OneSync.
-
-
-
-
- GET_VEHICLE_PETROL_TANK_HEALTH
-
-
-
-
- GET_VEHICLE_RADIO_STATION_INDEX
-
-
-
-
- GET_VEHICLE_ROOF_LIVERY
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- Returns the type of the passed vehicle.
-
- ### Vehicle types
-
- * automobile
- * bike
- * boat
- * heli
- * plane
- * submarine
- * trailer
- * train
-
-
-
-
- GET_VEHICLE_TYRE_SMOKE_COLOR
-
-
-
-
- GET_VEHICLE_WHEEL_TYPE
-
-
-
-
- GET_VEHICLE_WINDOW_TINT
-
-
-
-
- GIVE_WEAPON_COMPONENT_TO_PED
-
-
-
-
- GIVE_WEAPON_TO_PED
-
-
-
-
- HAS_ENTITY_BEEN_MARKED_AS_NO_LONGER_NEEDED
-
-
-
-
- HAS_VEHICLE_BEEN_OWNED_BY_PLAYER
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
-
-
- This native checks if the given entity is visible.
-
-
-
-
- This native checks if the given ped is a player.
-
-
-
-
- IS_PLAYER_ACE_ALLOWED
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded.
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded from Tebex.
-
-
-
-
- This will return true if the player is evading wanted level, meaning that the wanted level stars are blink.
- Otherwise will return false.
-
- If the player is not wanted, it simply returns false.
-
-
-
-
- IS_PLAYER_USING_SUPER_JUMP
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- IS_VEHICLE_EXTRA_TURNED_ON
-
-
-
-
- IS_VEHICLE_SIREN_ON
-
-
-
-
- IS_VEHICLE_TYRE_BURST
-
-
-
-
- Requests the commerce data for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
-
-
- Requests the commerce data from Tebex for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
-
-
- Create a permanent voice channel.
-
-
-
-
- Checks if the player is currently muted
-
-
-
-
- Mutes or unmutes the specified player
-
-
-
-
- NETWORK_GET_ENTITY_FROM_NETWORK_ID
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
-
-
- Returns the first owner ID of the specified entity.
-
-
-
-
- NETWORK_GET_NETWORK_ID_FROM_ENTITY
-
-
-
-
- NETWORK_GET_VOICE_PROXIMITY_OVERRIDE
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL_EX
-
-
-
-
- Prints 'structured trace' data to the server `file descriptor 3` channel. This is not generally useful outside of
- server monitoring utilities.
-
-
-
-
- Scope entry for profiler.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
-
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
-
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
-
- **Example result**:
-
- 
-
-
-
-
- Registers a listener for console output messages.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Registers a cached resource asset with the resource system, similar to the automatic scanning of the `stream/` folder.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
-
-
- Registers a build task factory for resources.
- The function should return an object (msgpack map) with the following fields:
-
- ```
- {
- // returns whether the specific resource should be built
- shouldBuild = func(resourceName: string): bool,
-
- // asynchronously start building the specific resource.
- // call cb when completed
- build = func(resourceName: string, cb: func(success: bool, status: string): void): void
- }
- ```
-
-
-
-
- Parameter `p1` does not seem to be used or referenced in game binaries.\
- **Note:** When called for networked entities, a `CRemoveAllWeaponsEvent` will be created per request.
-
-
-
-
- Removes the blip from your map.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Removes a handler for changes to a state bag.
-
-
-
-
- REMOVE_WEAPON_COMPONENT_FROM_PED
-
-
-
-
- This native removes a specified weapon from your selected ped.
- Weapon Hashes: pastebin.com/0wwDZgkF
- Example:
- C#:
- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);
- C++:
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);
- The code above removes the knife from the player.
-
-
-
-
- Requests the specified player to buy the passed SKU. This'll pop up a prompt on the client, which upon acceptance
- will open the browser prompting further purchase details.
-
-
-
-
- Writes the specified data to a file in the specified resource.
- Using a length of `-1` will automatically detect the length assuming the data is a C string.
-
-
-
-
- Scans the resources in the specified resource root. This function is only available in the 'monitor mode' process and is
- not available for user resources.
-
-
-
-
- Schedules the specified resource to run a tick as soon as possible, bypassing the server's fixed tick rate.
-
-
-
-
- <!--
- _loc1_.map((name, idx) => `| ${idx} | ${name} |  |`).join('\n')
- -->
-
- Sets the displayed sprite for a specific blip.
-
- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
-
-
-
-
- SET_CONVAR
-
-
-
-
- Used to replicate a server variable onto clients.
-
-
-
-
- SET_CONVAR_SERVER_INFO
-
-
-
-
- SET_CURRENT_PED_WEAPON
-
-
-
-
- Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
-
-
-
-
- It overrides the default distance culling radius of an entity. Set to `0.0` to reset.
- If you want to interact with an entity outside of your players' scopes set the radius to a huge number.
-
-
-
-
- Set the heading of an entity in degrees also known as "Yaw".
-
-
-
-
- SET_ENTITY_ROTATION
-
-
-
-
- Sets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
-
-
-
-
- SET_GAME_TYPE
-
-
-
-
- SET_HTTP_HANDLER
-
-
-
-
- SET_MAP_NAME
-
-
-
-
- NativeDB Added Parameter 4: BOOL p3
-
-
-
-
- Sets the armor of the specified ped.
- ped: The Ped to set the armor of.
- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.
-
-
-
-
- SET_PED_CAN_RAGDOLL
-
-
-
-
- This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of components
-
- **0**: Face\
- **1**: Mask\
- **2**: Hair\
- **3**: Torso\
- **4**: Leg\
- **5**: Parachute / bag\
- **6**: Shoes\
- **7**: Accessory\
- **8**: Undershirt\
- **9**: Kevlar\
- **10**: Badge\
- **11**: Torso 2
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
-
- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
-
-
- cpp
- // Potential names and hash collisions included as comments
- enum ePedConfigFlags {
- _0x67D1A445 = 0,
- _0xC63DE95E = 1,
- CPED_CONFIG_FLAG_NoCriticalHits = 2,
- CPED_CONFIG_FLAG_DrownsInWater = 3,
- CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
- _0x37D196F4 = 5,
- _0xE2462399 = 6,
- CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
- _0xEDDEB838 = 8,
- _0xB398B6FD = 9,
- _0xF6664E68 = 10,
- _0xA05E7CA3 = 11,
- _0xCE394045 = 12,
- CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
- _0xCD8D1411 = 14,
- _0xB031F1A9 = 15,
- _0xFE65BEE3 = 16,
- CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
- _0x380165BD = 18,
- _0x07C045C7 = 19,
- _0x583B5E2D = 20,
- _0x475EDA58 = 21,
- _0x8629D05B = 22,
- _0x1522968B = 23,
- CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
- _0x4CC09C4B = 25,
- _0x034F3053 = 26,
- _0xD91BA7CC = 27,
- _0x5C8DC66E = 28,
- _0x8902EAA0 = 29,
- _0x6580B9D2 = 30,
- _0x0EF7A297 = 31,
- _0x6BF86E5B = 32,
- CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
- CPED_CONFIG_FLAG_HasHelmet = 34,
- CPED_CONFIG_FLAG_UseHelmet = 35,
- _0xEEB3D630 = 36,
- _0xB130D17B = 37,
- _0x5F071200 = 38,
- CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
- _0xC287AAFF = 40,
- _0x203328CC = 41,
- CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
- CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
- CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
- _0xEC4A8ACF = 45,
- _0xDB115BFA = 46,
- CPED_CONFIG_FLAG_PedBeingDeleted = 47,
- CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
- _0xF8E99565 = 49,
- _0xDD17FEE6 = 50,
- _0x7ED9B2C9 = 51,
- _0x655E8618 = 52,
- _0x5A6C1F6E = 53,
- _0xD749FC41 = 54,
- _0x357F63F3 = 55,
- _0xC5E60961 = 56,
- _0x29275C3E = 57,
- CPED_CONFIG_FLAG_IsFiring = 58,
- CPED_CONFIG_FLAG_WasFiring = 59,
- CPED_CONFIG_FLAG_IsStanding = 60,
- CPED_CONFIG_FLAG_WasStanding = 61,
- CPED_CONFIG_FLAG_InVehicle = 62,
- CPED_CONFIG_FLAG_OnMount = 63,
- CPED_CONFIG_FLAG_AttachedToVehicle = 64,
- CPED_CONFIG_FLAG_IsSwimming = 65,
- CPED_CONFIG_FLAG_WasSwimming = 66,
- CPED_CONFIG_FLAG_IsSkiing = 67,
- CPED_CONFIG_FLAG_IsSitting = 68,
- CPED_CONFIG_FLAG_KilledByStealth = 69,
- CPED_CONFIG_FLAG_KilledByTakedown = 70,
- CPED_CONFIG_FLAG_Knockedout = 71,
- _0x3E3C4560 = 72,
- _0x2994C7B7 = 73,
- _0x6D59D275 = 74,
- CPED_CONFIG_FLAG_UsingCoverPoint = 75,
- CPED_CONFIG_FLAG_IsInTheAir = 76,
- _0x2D493FB7 = 77,
- CPED_CONFIG_FLAG_IsAimingGun = 78,
- _0x14D69875 = 79,
- _0x40B05311 = 80,
- _0x8B230BC5 = 81,
- _0xC74E5842 = 82,
- _0x9EA86147 = 83,
- _0x674C746C = 84,
- _0x3E56A8C2 = 85,
- _0xC144A1EF = 86,
- _0x0548512D = 87,
- _0x31C93909 = 88,
- _0xA0269315 = 89,
- _0xD4D59D4D = 90,
- _0x411D4420 = 91,
- _0xDF4AEF0D = 92,
- CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
- _0x300E4CD3 = 94,
- _0xF1C5BF04 = 95,
- _0x89C2EF13 = 96,
- CPED_CONFIG_FLAG_VaultFromCover = 97,
- _0x02A852C8 = 98,
- _0x3D9407F1 = 99,
- _0x319B4558 = 100,
- CPED_CONFIG_FLAG_ForcedAim = 101,
- _0xB942D71A = 102,
- _0xD26C55A8 = 103,
- _0xB89E703B = 104,
- CPED_CONFIG_FLAG_ForceReload = 105,
- _0xD9E73DA2 = 106,
- _0xFF71DC2C = 107,
- _0x1E27E8D8 = 108,
- _0xF2C53966 = 109,
- _0xC4DBE247 = 110,
- _0x83C0A4BF = 111,
- _0x0E0FAF8C = 112,
- _0x26616660 = 113,
- _0x43B80B79 = 114,
- _0x0D2A9309 = 115,
- _0x12C1C983 = 116,
- CPED_CONFIG_FLAG_BumpedByPlayer = 117,
- _0xE586D504 = 118,
- _0x52374204 = 119,
- CPED_CONFIG_FLAG_IsHandCuffed = 120,
- CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
- CPED_CONFIG_FLAG_DisableMelee = 122,
- _0xFE714397 = 123,
- _0xB3E660BD = 124,
- _0x5FED6BFD = 125,
- _0xC9D6F66F = 126,
- _0x519BC986 = 127,
- CPED_CONFIG_FLAG_CanBeAgitated = 128,
- _0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
- _0xDAB70E9F = 130,
- _0xE569438A = 131,
- _0xBBC77D6D = 132,
- _0xCB59EF0F = 133,
- _0x8C5EA971 = 134,
- CPED_CONFIG_FLAG_IsScuba = 135,
- CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
- _0xDCE59B58 = 137,
- CPED_CONFIG_FLAG_RidingTrain = 138,
- CPED_CONFIG_FLAG_ArrestResult = 139,
- CPED_CONFIG_FLAG_CanAttackFriendly = 140,
- _0x98A4BE43 = 141,
- _0x6901E731 = 142,
- _0x9EC9BF6C = 143,
- _0x42841A8F = 144,
- CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
- CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
- CPED_CONFIG_FLAG_StairsDetected = 147,
- CPED_CONFIG_FLAG_SlopeDetected = 148,
- _0x1A15670B = 149,
- _0x61786EE5 = 150,
- _0xCB9186BD = 151,
- _0xF0710152 = 152,
- _0x43DFE310 = 153,
- _0xC43C624E = 154,
- CPED_CONFIG_FLAG_CanPerformArrest = 155,
- CPED_CONFIG_FLAG_CanPerformUncuff = 156,
- CPED_CONFIG_FLAG_CanBeArrested = 157,
- _0xF7960FF5 = 158,
- _0x59564113 = 159,
- _0x0C6C3099 = 160,
- _0x645F927A = 161,
- _0xA86549B9 = 162,
- _0x8AAF337A = 163,
- _0x13BAA6E7 = 164,
- _0x5FB9D1F5 = 165,
- CPED_CONFIG_FLAG_IsInjured = 166,
- _0x6398A20B = 167,
- _0xD8072639 = 168,
- _0xA05B1845 = 169,
- _0x83F6D220 = 170,
- _0xD8430331 = 171,
- _0x4B547520 = 172,
- _0xE66E1406 = 173,
- _0x1C4BFE0C = 174,
- _0x90008BFA = 175,
- _0x07C7A910 = 176,
- _0xF15F8191 = 177,
- _0xCE4E8BE2 = 178,
- _0x1D46E4F2 = 179,
- CPED_CONFIG_FLAG_IsInCustody = 180,
- _0xE4FD9B3A = 181,
- _0x67AE0812 = 182,
- CPED_CONFIG_FLAG_IsAgitated = 183,
- CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
- _0x7B2D325E = 185,
- CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
- CPED_CONFIG_FLAG_HasHurtStarted = 187,
- CPED_CONFIG_FLAG_DisableHurt = 188,
- CPED_CONFIG_FLAG_PlayerIsWeird = 189,
- _0x32FC208B = 190,
- _0x0C296E5A = 191,
- _0xE63B73EC = 192,
- _0x04E9CC80 = 193,
- CPED_CONFIG_FLAG_UsingScenario = 194,
- CPED_CONFIG_FLAG_VisibleOnScreen = 195,
- _0xD88C58A1 = 196,
- _0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
- _0xEA02B420 = 198,
- _0x3F559CFF = 199,
- _0x8C55D029 = 200,
- _0x5E6466F6 = 201,
- _0xEB5AD706 = 202,
- _0x0EDDDDE7 = 203,
- _0xA64F7B1D = 204,
- _0x48532CBA = 205,
- _0xAA25A9E7 = 206,
- _0x415B26B9 = 207,
- CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
- CPED_CONFIG_FLAG_DodgedPlayer = 209,
- _0x67405504 = 210,
- _0x75DDD68C = 211,
- _0x2AD879B4 = 212,
- _0x51486F91 = 213,
- _0x32F79E21 = 214,
- _0xBF099213 = 215,
- _0x054AC8E2 = 216,
- _0x14E495CC = 217,
- _0x3C7DF9DF = 218,
- _0x848FFEF2 = 219,
- CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
- _0x2618E1CF = 221,
- _0x84F722FA = 222,
- _0xD1B87B1F = 223,
- _0x728AA918 = 224,
- CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
- CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
- _0x59E91185 = 227,
- _0x1EA7225F = 228,
- CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
- _0x6DCA7D88 = 230,
- _0xFC3E572D = 231,
- _0x08E9F9CF = 232,
- _0x2D3BA52D = 233,
- _0xFD2F53EA = 234,
- _0x31A1B03B = 235,
- CPED_CONFIG_FLAG_IsHoldingProp = 236,
- _0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
- _0xCE57C9A3 = 238,
- _0x26149198 = 239,
- _0x1B33B598 = 240,
- _0x719B6E87 = 241,
- _0x13E8E8E8 = 242,
- _0xF29739AE = 243,
- _0xABEA8A74 = 244,
- _0xB60EA2BA = 245,
- _0x536B0950 = 246,
- _0x0C754ACA = 247,
- CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
- _0x12659168 = 249,
- _0x1BDF2F04 = 250,
- _0x7728FAA3 = 251,
- _0x6A807ED8 = 252,
- CPED_CONFIG_FLAG_OnStairs = 253,
- _0xE1A2F73F = 254,
- _0x5B3697C8 = 255,
- _0xF1EB20A9 = 256,
- _0x8B7DF407 = 257,
- _0x329DCF1A = 258,
- _0x8D90DD1B = 259,
- _0xB8A292B7 = 260,
- _0x8374B087 = 261,
- _0x2AF558F0 = 262,
- _0x82251455 = 263,
- _0x30CF498B = 264,
- _0xE1CD50AF = 265,
- _0x72E4AE48 = 266,
- _0xC2657EA1 = 267,
- _0x29FF6030 = 268,
- _0x8248A5EC = 269,
- CPED_CONFIG_FLAG_OnStairSlope = 270,
- _0xA0897933 = 271,
- CPED_CONFIG_FLAG_DontBlipCop = 272,
- CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
- _0xF7823618 = 274,
- _0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
- CPED_CONFIG_FLAG_EdgeDetected = 276,
- _0x92B67896 = 277,
- _0xCAD677C9 = 278,
- CPED_CONFIG_FLAG_AvoidTearGas = 279,
- _0x5276AC7B = 280,
- _0x1032692A = 281,
- _0xDA23E7F1 = 282,
- _0x9139724D = 283,
- _0xA1457461 = 284,
- _0x4186E095 = 285,
- _0xAC68E2EB = 286,
- CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
- CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
- _0x1B9EE8A1 = 289,
- _0xF3F5758C = 290,
- _0x2A9307F1 = 291,
- _0x7403D216 = 292,
- _0xA06A3C6C = 293,
- CPED_CONFIG_FLAG_DisableShockingEvents = 294,
- _0xF8DA25A5 = 295,
- _0x7EF55802 = 296,
- _0xB31F1187 = 297,
- _0x84315402 = 298,
- _0x0FD69867 = 299,
- _0xC7829B67 = 300,
- CPED_CONFIG_FLAG_DisablePedConstraints = 301,
- _0x6D23CF25 = 302,
- _0x2ADA871B = 303,
- _0x47BC8A58 = 304,
- _0xEB692FA5 = 305,
- _0x4A133C50 = 306,
- _0xC58099C3 = 307,
- _0xF3D76D41 = 308,
- _0xB0EEE9F2 = 309,
- CPED_CONFIG_FLAG_IsInCluster = 310,
- _0x0FA153EF = 311,
- _0xD73F5CD3 = 312,
- _0xD4136C22 = 313,
- _0xE404CA6B = 314,
- _0xB9597446 = 315,
- _0xD5C98277 = 316,
- _0xD5060A9C = 317,
- _0x3E5F1CBB = 318,
- _0xD8BE1D54 = 319,
- _0x0B1F191F = 320,
- _0xC995167A = 321,
- CPED_CONFIG_FLAG_HasHighHeels = 322,
- _0x86B01E54 = 323,
- _0x3A56FE15 = 324,
- _0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
- _0xBBF47729 = 326,
- _0x22B668A8 = 327,
- _0x2624D4D4 = 328,
- CPED_CONFIG_FLAG_DisableTalkTo = 329,
- CPED_CONFIG_FLAG_DontBlip = 330,
- CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
- _0x630F55F3 = 332,
- _0x150468FD = 333,
- _0x914EBD6B = 334,
- _0x79AF3B6D = 335,
- _0x75C7A632 = 336,
- _0x52D530E2 = 337,
- _0xDB2A90E0 = 338,
- _0x5922763D = 339,
- _0x12ADB567 = 340,
- _0x105C8518 = 341,
- _0x106F703D = 342,
- _0xED152C3E = 343,
- _0xA0EFE6A8 = 344,
- _0xBF348C82 = 345,
- _0xCDDFE830 = 346,
- _0x7B59BD9B = 347,
- _0x0124C788 = 348,
- CPED_CONFIG_FLAG_EquipJetpack = 349,
- _0x08D361A5 = 350,
- _0xE13D1F7C = 351,
- _0x40E25FB9 = 352,
- _0x930629D9 = 353,
- _0xECCF0C7F = 354,
- _0xB6E9613B = 355,
- _0x490C0478 = 356,
- _0xE8865BEA = 357,
- _0xF3C34A29 = 358,
- CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
- _0xF660E115 = 360,
- _0xAB0E6DED = 361,
- CPED_CONFIG_FLAG_HasReserveParachute = 362,
- CPED_CONFIG_FLAG_UseReserveParachute = 363,
- _0x5C5D9CD3 = 364,
- _0x8F7701F3 = 365,
- _0xBC4436AD = 366,
- _0xD7E07D37 = 367,
- _0x03C4FD24 = 368,
- _0x7675789A = 369,
- _0xB7288A88 = 370,
- _0xC06B6291 = 371,
- _0x95A4A805 = 372,
- _0xA8E9A042 = 373,
- CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
- _0xBAC674B3 = 375,
- _0x147F1FFB = 376,
- _0x4376DD79 = 377,
- _0xCD3DB518 = 378,
- _0xFE4BA4B6 = 379,
- _0x5DF03A55 = 380,
- _0xBCD816CD = 381,
- _0xCF02DD69 = 382,
- _0xF73AFA2E = 383,
- _0x80B9A9D0 = 384,
- _0xF601F7EE = 385,
- _0xA91350FC = 386,
- _0x3AB23B96 = 387,
- CPED_CONFIG_FLAG_IsClimbingLadder = 388,
- CPED_CONFIG_FLAG_HasBareFeet = 389,
- _0xB4B1CD4C = 390,
- _0x5459AFB8 = 391,
- _0x54F27667 = 392,
- _0xC11D3E8F = 393,
- _0x5419EB3E = 394,
- _0x82D8DBB4 = 395,
- _0x33B02D2F = 396,
- _0xAE66176D = 397,
- _0xA2692593 = 398,
- _0x714C7E31 = 399,
- _0xEC488AC7 = 400,
- _0xAE398504 = 401,
- _0xABC58D72 = 402,
- _0x5E5B9591 = 403,
- _0x6BA1091E = 404,
- _0x77840177 = 405,
- _0x1C7ACAC4 = 406,
- _0x124420E9 = 407,
- _0x75A65587 = 408,
- _0xDFD2D55B = 409,
- _0xBDD39919 = 410,
- _0x43DEC267 = 411,
- _0xE42B7797 = 412,
- CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
- _0x4F8149F5 = 414,
- _0xDD9ECA7A = 415,
- _0x9E7EF9D2 = 416,
- _0x2C6ED942 = 417,
- CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
- _0xA488727D = 419,
- _0xCFF5F6DE = 420,
- _0x6D614599 = 421,
- CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
- _0xFE401D26 = 423,
- CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
- _0x2B42AE82 = 425,
- _0x7A95734F = 426,
- _0xDF4D8617 = 427,
- _0x578F1F14 = 428,
- CPED_CONFIG_FLAG_DisableStartEngine = 429,
- CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
- _0x153C9500 = 431,
- _0xCB7A632E = 432,
- _0xDE727981 = 433,
- CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
- _0x12BBB935 = 435,
- _0xAD0A1277 = 436,
- _0xEA6AA46A = 437,
- CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
- _0xCB7F3A1E = 439,
- _0x50178878 = 440,
- _0x051B4F0D = 441,
- _0x2FC3DECC = 442,
- _0xC0030B0B = 443,
- _0xBBDAF1E9 = 444,
- _0x944FE59C = 445,
- _0x506FBA39 = 446,
- _0xDD45FE84 = 447,
- _0xE698AE75 = 448,
- _0x199633F8 = 449,
- CPED_CONFIG_FLAG_PedIsArresting = 450,
- CPED_CONFIG_FLAG_IsDecoyPed = 451,
- _0x3A251D83 = 452,
- _0xA56F6986 = 453,
- _0x1D19C622 = 454,
- _0xB68D3EAB = 455,
- CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
- _0x4BD5EBAD = 457,
- }
-
-
-
-
- Sets Ped Default Clothes
-
-
-
-
- For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
-
- **Other information:**
-
- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
-
- This native function is often called prior to calling natives such as:
-
- * [`SetPedHairColor`](#0xBB43F090)
- * [`SetPedHeadOverlayColor`](#0x78935A27)
- * [`SetPedHeadOverlay`](#0xD28DBA90)
- * [`SetPedFaceFeature`](#0x6C8D4458)
-
-
-
-
- ```
- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.
- overlayID Part Index, to disable
- 0 Blemishes 0 - 23, 255
- 1 Facial Hair 0 - 28, 255
- 2 Eyebrows 0 - 33, 255
- 3 Ageing 0 - 14, 255
- 4 Makeup 0 - 74, 255
- 5 Blush 0 - 6, 255
- 6 Complexion 0 - 11, 255
- 7 Sun Damage 0 - 10, 255
- 8 Lipstick 0 - 9, 255
- 9 Moles/Freckles 0 - 17, 255
- 10 Chest Hair 0 - 16, 255
- 11 Body Blemishes 0 - 11, 255
- 12 Add Body Blemishes 0 - 1, 255
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- SET_PED_INTO_VEHICLE
-
-
-
-
- This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of props
-
- **0**: Hat\
- **1**: Glass\
- **2**: Ear\
- **6**: Watch\
- **7**: Bracelet
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
-
- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
-
-
- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.
-
- List of component/props ID:
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
- Known values:
-
-
-
-
- p4/p5: Unusued in TU27
-
- ### Ragdoll Types
-
- **0**: CTaskNMRelax
- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
- **Else**: CTaskNMBalance
-
-
-
-
- Return variable is never used in R*'s scripts.
- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
- x, y, and z are coordinates, most likely to where the ped will fall.
- p7 is probably the force of the fall, but untested, so I left the variable name the same.
- p8 to p13 are always 0f in R*'s scripts.
- (Simplified) Example of the usage of the function from R*'s scripts:
- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
-
-
-
-
- Flags:
- SPC_AMBIENT_SCRIPT = (1 << 1),
- SPC_CLEAR_TASKS = (1 << 2),
- SPC_REMOVE_FIRES = (1 << 3),
- SPC_REMOVE_EXPLOSIONS = (1 << 4),
- SPC_REMOVE_PROJECTILES = (1 << 5),
- SPC_DEACTIVATE_GADGETS = (1 << 6),
- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
- SPC_ALLOW_PAD_SHAKE = (1 << 12)
- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
-
-
-
-
- Sets the culling radius for the specified player.
- Set to `0.0` to reset.
-
-
-
-
- Simply sets you as invincible (Health will not deplete).
- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:
- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);
-
-
-
-
- Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
-
- As per usual, make sure to request the model first and wait until it has loaded.
-
-
-
-
- Sets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect
- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files
- disableNoMission- Disables When Off Mission- appears to always be false
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP](#\_0x21C7A35B) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- Sets the entity lockdown mode for a specific routing bucket.
-
- Lockdown modes are:
-
- | Mode | Meaning |
- | ---------- | ---------------------------------------------------------- |
- | `strict` | No entities can be created by clients at all. |
- | `relaxed` | Only script-owned entities created by clients are blocked. |
- | `inactive` | Clients can create any entity they want. |
-
-
-
-
- Sets whether or not the specified routing bucket has automatically-created population enabled.
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- SET_VEHICLE_ALARM
-
-
-
-
- p2 often set to 1000.0 in the decompiled scripts.
-
-
-
-
- colorPrimary & colorSecondary are the paint indexes for the vehicle.
-
- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
-
-
-
-
- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
-
- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- Sets the dirt level of the passed vehicle.
-
-
-
-
- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
- // They use 10 in am_mp_property_int, don't know what it does atm.
- enum eCarLock {
- CARLOCK_NONE = 0,
- CARLOCK_UNLOCKED = 1,
- CARLOCK_LOCKED = 2,
- CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
- CARLOCK_LOCKED_PLAYER_INSIDE = 4,
- CARLOCK_LOCKED_INITIALLY = 5,
- CARLOCK_FORCE_SHUT_DOORS = 6,
- CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
- };
-
-
-
-
- See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
-
-
-
-
- SET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- START_FIND_KVP
-
-
-
-
- START_RESOURCE
-
-
-
-
- STOP_RESOURCE
-
-
-
-
- Makes the specified ped attack the target ped.
- p2 should be 0
- p3 should be 16
-
-
-
-
- Example:
- TASK::TASK_DRIVE_BY(l_467[1 -- [[22]] ], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
- Needs working example. Doesn't seem to do anything.
- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
-
-
-
-
- speed 1.0 = walk, 2.0 = run
- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle
- p6 is always 0
-
-
-
-
- TASK_EVERYONE_LEAVE_VEHICLE
-
-
-
-
- TASK_GO_STRAIGHT_TO_COORD
-
-
-
-
- example from fm_mission_controller
- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
-
-
-
-
- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
-
-
-
-
- In the scripts, p3 was always -1.
- p3 seems to be duration or timeout of turn animation.
- Also facingPed can be 0 or -1 so ped will just raise hands up.
-
-
-
-
- Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
-
-
-
-
- Flags from decompiled scripts:
- 0 = normal exit and closes door.
- 1 = normal exit and closes door.
- 16 = teleports outside, door kept closed. (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
- 64 = normal exit and closes door, maybe a bit slower animation than 0.
- 256 = normal exit but does not close the door.
- 4160 = ped is throwing himself out, even when the vehicle is still.
- 262144 = ped moves to passenger seat first, then exits normally
- Others to be tried out: 320, 512, 131072.
-
-
-
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
- ```
- float blendInSpeed > normal speed is 8.0f
- ----------------------
- float blendOutSpeed > normal speed is 8.0f
- ----------------------
- int duration: time in millisecond
- ----------------------
- -1 _ _ _ _ _ _ _> Default (see flag)
- 0 _ _ _ _ _ _ _ > Not play at all
- Small value _ _ > Slow down animation speed
- Other _ _ _ _ _ > freeze player control until specific time (ms) has
- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be
- _ _ _ _ _ _ _ _ _ controllable.)
- int flag:
- ----------------------
- enum eAnimationFlags
- {
- ANIM_FLAG_NORMAL = 0,
- ANIM_FLAG_REPEAT = 1,
- ANIM_FLAG_STOP_LAST_FRAME = 2,
- ANIM_FLAG_UPPERBODY = 16,
- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,
- ANIM_FLAG_CANCELABLE = 120,
- };
- Odd number : loop infinitely
- Even number : Freeze at last frame
- Multiple of 4: Freeze at last frame but controllable
- 01 to 15 > Full body
- 10 to 31 > Upper body
- 32 to 47 > Full body > Controllable
- 48 to 63 > Upper body > Controllable
- ...
- 001 to 255 > Normal
- 256 to 511 > Garbled
- ...
- playbackRate:
- values are between 0.0 and 1.0
- lockX:
- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3
- > 1 for mini@sprunk
- lockY:
- 0 in most cases
- 1 for missfam5_yoga, missfra1mcs_2_crew_react
- lockZ:
- 0 for single player
- Can be 1 but only for MP
- ```
-
-
-
-
- It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
-
-
-
- TASK_REACT_AND_FLEE_PED
-
-
-
-
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
- Entity aimedentity;
- Player player = PLAYER::PLAYER_ID();
- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
- //bg is an array of peds
- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- TASK_WARP_PED_INTO_VEHICLE
-
-
-
-
- TEMP_BAN_PLAYER
-
-
-
-
- The backing function for TriggerClientEvent.
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- The backing function for TriggerLatentClientEvent.
-
-
-
-
- VERIFY_PASSWORD_HASH
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
-
-
- Adds a rectangular blip for the specified coordinates/area.
-
- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
-
- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
-
- Example image:
- 
- 
-
- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
-
-
-
-
- Used for freemode (online) characters.
-
- Indices:
-
- 1. black
- 2. very light blue/green
- 3. dark blue
- 4. brown
- 5. darker brown
- 6. light brown
- 7. blue
- 8. light blue
- 9. pink
- 10. yellow
- 11. purple
- 12. black
- 13. dark green
- 14. light brown
- 15. yellow/black pattern
- 16. light colored spiral pattern
- 17. shiny red
- 18. shiny half blue/half red
- 19. half black/half light blue
- 20. white/red perimter
- 21. green snake
- 22. red snake
- 23. dark blue snake
- 24. dark yellow
- 25. bright yellow
- 26. all black
- 27. red small pupil
- 28. devil blue/black
- 29. white small pupil
- 30. glossed over
-
-
-
-
- Sets the various freemode face features, e.g. nose length, chin shape.
-
- **Indexes (From 0 to 19):**
-
- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
-
- * **0**: Nose Width (Thin/Wide)
- * **1**: Nose Peak (Up/Down)
- * **2**: Nose Length (Long/Short)
- * **3**: Nose Bone Curveness (Crooked/Curved)
- * **4**: Nose Tip (Up/Down)
- * **5**: Nose Bone Twist (Left/Right)
- * **6**: Eyebrow (Up/Down)
- * **7**: Eyebrow (In/Out)
- * **8**: Cheek Bones (Up/Down)
- * **9**: Cheek Sideways Bone Size (In/Out)
- * **10**: Cheek Bones Width (Puffed/Gaunt)
- * **11**: Eye Opening (Both) (Wide/Squinted)
- * **12**: Lip Thickness (Both) (Fat/Thin)
- * **13**: Jaw Bone Width (Narrow/Wide)
- * **14**: Jaw Bone Shape (Round/Square)
- * **15**: Chin Bone (Up/Down)
- * **16**: Chin Bone Length (In/Out or Backward/Forward)
- * **17**: Chin Bone Shape (Pointed/Square)
- * **18**: Chin Hole (Chin Bum)
- * **19**: Neck Thickness (Thin/Thick)
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- Used for freemode (online) characters.
-
-
-
-
- ```
- Used for freemode (online) characters.
- Called after SET_PED_HEAD_OVERLAY().
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- Used to indicate to the compiler that the .locals init flag should
- not be set in nested method headers when emitting to metadata.
-
-
- This attribute is unsafe because it may reveal uninitialized memory to
- the application in certain instances (e.g., reading from uninitialized
- stackalloc'd memory). If applied to a method directly, the attribute
- applies to that method and all nested functions (lambdas, local
- functions) below it. If applied to a type or module, it applies to all
- methods nested inside. This attribute is intentionally not permitted on
- assemblies. Use at the module level instead to apply to multiple type
- declarations.
-
-
-
-
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.dll b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.dll
deleted file mode 100644
index 7db7e54dd..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.sym b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.xml b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.xml
deleted file mode 100644
index 2b41b5637..000000000
--- a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Core.xml
+++ /dev/null
@@ -1,8311 +0,0 @@
-
-
-
- CitizenFX.Core
-
-
-
-
- No one can call this
-
-
-
-
- Server only accepts server calls, client only client calls
-
-
-
-
- Server only accepts client calls, client only server calls
-
-
-
-
- Accept all incoming calls
-
-
-
-
- Schedule this method to run on the first frame when this is loaded
-
- Only works on inherited class methods
-
-
-
- Register this method to listen for the given when this is loaded
-
- Only works on inherited class methods
-
-
- Does nothing on server side
-
-
-
- The command to execute, and the identifier of the binding
- A description for in the settings menu
- The mapper ID to use for the default binding, e.g. keyboard
- The IO parameter ID to use for the default binding, e.g. f3
-
-
-
- Does not register the key mapping, so it works the same as
- The command to execute, and the identifier of the binding
-
-
-
- Register this method to listen for the given when this is loaded
-
- Only works on inherited class methods
-
-
-
- Register this method to listen for the given when this is loaded
-
- Only works on inherited class methods
-
-
-
- When used in events it'll be filled with the caller (source) of this event
-
-
- Shared libraries
- [Source] Remote remote
-
-
- Server libraries
- [Source] Player player
-
-
- Shared libraries
- [Source] bool isRemote
-
-
-
-
- Explicitly enable or disable instantiation when this resource is starting.
-
-
-
-
- An event containing callbacks to attempt to schedule on every game tick.
- A callback will only be rescheduled once the associated task completes.
-
-
-
-
- Enables all ticks, commands, events, and exports
-
-
-
-
- Disables all tick repeats, commands, events, and exports
-
-
- 1. This can't re-enable itself except for callbacks, you may want to hold a reference to it.
- 2. External code/scripts can still call in for commands, but they'll get returned automatically.
-
-
-
-
- Disables all tick repeats, commands, events, and exports
-
-
- 1. This can't re-enable itself, unless is then callbacks are still able to, you may want to hold a reference to it.
- 2. External code/scripts can still call in for commands, but they'll get returned automatically.
-
- If enabled will delete all callbacks targeting this instance
-
-
-
- Called when this script got enabled
-
-
-
-
- Called when this script got disabled
-
-
-
-
- Returns a task that will delay scheduling of the current interval function by the passed amount of time.
-
-
- await Delay(500);
-
- The amount of time by which to delay scheduling this interval function.
- An awaitable task.
-
-
-
- Activates all ticks, events, and exports.
-
- script to activate
-
-
-
- Deactivates all ticks, events, and exports.
-
- script to deactivate
-
-
-
- Will and can only be activated in client environments
-
-
-
- Will and can only be activated in server environments
-
-
-
- Combination of and for throwing support
-
- if we need to stop execution of the coroutine otherwise
-
-
-
-
- Adds an action that will be called when this coroutine is done
-
- Action to call when coroutine completes
-
-
-
- Adds an action that will be called when this coroutine is done
-
- Action to call when coroutine completes
-
-
-
- Removes all continued actions, e.g.: and sets one that writes any exception thrown instead
-
- Unsafe. Should only be used when you know the exact state of this coroutine
-
-
-
- Await to stall execution and continue next frame.
-
- Awaitable
-
-
-
- Await to stall execution of the current async method and continue after the given time.
-
- Time in milliseconds after we want to continue execution
- Current time can be retrieved by using
- Awaitable
-
-
-
- Await to stall execution of the current async method and continue after the given time.
-
- Time in milliseconds after we want to continue execution
- Canceling token, can be used to stop early
- Current time can be retrieved by using
- Awaitable
-
-
-
- Await to stall execution of the current async method and continue after the given delay.
-
- Delay in milliseconds after we want to continue execution
- Awaitable
-
-
-
- Await to stall execution of the current async method and continue after the given delay.
-
- Delay in milliseconds after we want to continue execution
- Canceling token, can be used to stop early
- Awaitable
-
-
-
- Await to stall execution of the current async method and continue after the given delay.
-
- Delay in milliseconds after we want to continue execution
- Awaitable
-
-
-
- Await to stall execution of the current async method and continue after the given delay.
-
- Delay in milliseconds after we want to continue execution
- Canceling token, can be used to stop early
- Awaitable
-
-
-
- Schedules a delegate to be run at a later time
-
- Delegate to run
- Delay until the is executed
- Amount of times we want to run the . or to infinitely loop.
- Allows the cancellation of the given before it got executed
- Awaitable
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Runs given function directly and allows the caller to await it.
-
- Function to run
- Awaitable
-
-
-
-
-
-
- Runs given function directly and allows the caller to await it.
-
- Function to run
- Awaitable
-
-
-
- Runs given function next frame and allows the caller to await it.
-
- Function to run
- Awaitable
-
-
-
-
-
-
- Runs given function directly and allows the caller to await it.
-
- Function to run
- Awaitable
-
-
-
- Run all functions and await the first one to complete
-
- Will run the coroutines directly
- Coroutines to await
- Awaitable
-
-
-
- Run all functions and await the first one to complete
-
- Will run the coroutines directly
- Coroutines to await
- Awaitable
-
-
-
- Run all functions and await all to complete
-
- Coroutines to await
- Awaitable
-
-
-
- Run all functions and await all to complete
-
- Coroutines to await
- Awaitable
-
-
-
- Current time of this scheduler
-
-
-
-
- Thread onto which all coroutines will run and be put back to
-
-
-
-
- Current time of the scheduler, set per frame.
-
-
-
-
- Double buffered array for non-ordered scheduling
-
-
-
-
- Schedule an action to be run on the next frame
-
- Action to execute
-
-
-
- Schedule an action to be run at the first frame at or after the specified time
-
- Action to execute
- Time when it should be executed, see
-
-
-
- Schedule an action to be run at the first frame at or after the specified time
-
- Action to execute
- Time when it should be executed, see
-
-
-
- Removes scheduled coroutine from the scheduler (except for the next frame list)
-
- Coroutine to remove
- Max scheduled time we consider searching to
-
-
-
-
- Execute all scheduled coroutines
-
-
-
-
- Time in milliseconds when the next action needs to be activated
-
- Delay in milliseconds or ~0ul () if there's nothing to run
-
-
-
- Absolute time for scheduling on fixed points in time
-
-
-
-
- Ignore any exception thrown
- ///
-
-
-
- If you like to keep the option to ignore calls with incorrect arguments but d
-
-
- // Disable InvalidCastException logs but still make use of them being ignored
- Debug.LogExceptionsOnDynFunc &= ~DynFuncExceptions.InvalidCastException;
-
-
-
-
- Will output parameters vs argument conversion/castability report, helpful for development
-
- Can have a performance if it's hit often.
-
-
-
- Panic mode, give all details
-
-
-
-
- Creates a new dynamic invokable function
-
- the type which should contain the method
- method name to find and use in type's method list
- dynamically invokable delegate
- when given target or method is null
- when the method could not be found in target's method list
-
-
-
- Creates a new dynamic invokable function
-
- the instance object
- method name to find and use in target's method list
- dynamically invokable delegate
- when given target or method is null
- when the method could not be found in target's method list
-
-
-
- Creates a new dynamic invokable function
-
- the instance object, may be null for static methods
- method to make dynamically invokable
- dynamically invokable delegate
- when the given method is non-static and target is null or if given method is null
-
-
-
- Creates a dynamic invokable function or simply returns it
-
- delegate to make dynamically invokable
- dynamically invokable delegate or returns if it's aleady of type
- when the given method is non-static and target is null or if given method is null
-
-
-
- Returns the original method that's been wrapped or its own
-
- this reference
- The wrapped method or if it wasn't wrapped
-
-
-
- Register an event handler
-
- Be aware this will keep .Target object alive once registered, unless it's of type
- name to listen for
- delegate to call once triggered
- limit calls to certain sources, e.g.: server only, client only
-
-
-
- Unregister an event handler
-
- name to remove event for
- delegate to remove
-
-
-
- Broadcasts an event to all connected players.
-
- The name of the event.
- Arguments to pass to the event.
-
-
-
- Broadcasts an event to all connected players.
-
- The name of the event.
- Amount of bytes send in 1 second.
- Arguments to pass to the event.
-
-
-
- Should only be called by or any other code that guarantees that it is only called once
-
-
-
-
- Register an event handler
-
- delegate to call once triggered
- limit calls to certain sources, e.g.: server only, client only
-
-
-
- Unregister an event handler
-
- delegate to remove
-
-
-
- Register an event handler
-
- Will add it as , use to explicitly set the binding.
- this event handler set
- delegate to register
- itself
-
-
-
- Unregister an event handler
-
- this event handler set
- delegate to register
- itself
-
-
-
- Register an event handler
-
- Will add it as , use to explicitly set the binding.
- this event handler set
- delegate to register
- itself
-
-
-
- Unregister an event handler
-
- this event handler set
- delegate to register
- itself
-
-
-
- Should only be called by or any other code that guarantees that it is only called once
-
-
-
-
- Should only be called by or any other code that guarantees that it is only called once
-
-
-
-
- Starts deserialization from an array type
-
- ptr to byte data
- size of byte data
- from whom came this?
- arguments that can be passed into dynamic delegates
-
-
-
- Read a stored as little endian, used for custom vectors
-
-
-
-
- Experimental, uses the CoTask memory instead of a managed byte[]
-
-
-
-
-
-
-
- Experimental memory stream
-
-
-
-
- Register a delegate to other runtimes and/or our host (reference function)
-
- Delagate to register to the external world
- ( internalReferenceId, externalReferenceId )
- Don't alter the returned value
-
-
-
- Remove reference function by id
-
- Internal reference id of the reference to remove
-
-
-
- Remove all reference functions that are targeting a specific object
-
- Slow, may need to be replaced
-
-
-
-
- Set reference function to another delegate
-
- Reference id of the reference to remove
- New delegate/method to set the reference function to
- if found and changed, otherwise
-
-
-
- A null-terminated byte string. Dedicated to interop with native code, equivalent to a (non-wide) c-string.
-
- In general don't use this type where you would normally use in your .NET code, it needs to do conversion between UTF16 and UTF8 and is therefore slower.
- This type and its conversions are more performant in regards to interop with native code (C++), and other runtimes, for these cases you may want to use this.
-
-
-
- An empty equivalent to , null terminated for interop.
-
-
-
-
- CString with a copy of str.
-
- a null terminated CString or null if parameter str == null
-
-
-
- CString with a copy of str, limited to given length.
-
- a null terminated CString or null if parameter str == null
-
-
-
- Get the length of this string, excluding the null terminator
-
-
-
-
- Get the length in long form of this string, excluding the null terminator
-
-
-
-
- Get the byte at the provided index
-
- the position we'd like to retrieve the byte from
- byte representing an ASCII or UTF8 (biggest bit set) character
-
-
-
- Get the byte at the provided index
-
- the position we'd like to retrieve the byte from
- byte representing an ASCII or UTF8 (biggest bit set) character
-
-
-
- Retrieves a substring from this instance. The substring starts at a specified character position.
-
- start character index
- CString with the requested part of characters of this string
- < 0 or >= Length
-
-
-
- Retrieves a substring from this instance. The substring starts at a specified character position.
- Unsigned version, requires less checks for the same result.
-
- start character index
- CString with the requested part of characters of this string
- < 0 or >= Length
-
-
-
- Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.
-
- start character index
- amount of characters we want in total, can be less. -1 will retrieve all
- CString with the requested part of characters of this string
- >= Length
-
-
-
- Retrieves a substring from this instance. The substring starts at a specified character position and has a specified length.
- Unsigned version, requires less checks for the same result.
-
- start character index
- amount of characters we want in total, can be less.
- CString with the requested part of characters of this string
- < 0 or >= Length
-
-
-
- Converts to a UTF16 string
-
- UTF16 string
-
-
-
- Converts a UTF16 into a UTF8/ASCII string
-
- UTF16 string to convert
- UTF8 string
-
-
-
- Convert a C# string into a null-terminated c-string
-
- UTF16 encoded string (default C#)
-
-
-
- Convert a null-terminated c-string into a C# string
-
- null-terminated c-string
-
-
-
- Compares a CString to a C# string only considering ASCII characters (7 bits)
- any non 7 bit characters on either side will return false
-
- string to compare
- true if both sides have equivalent characters in the ASCII character space
-
-
-
- Compares a CString to a C# string only considering ASCII characters (7 bits)
- any non 7 bit characters on either side will return false
-
- CString to compare
- string to compare
- true if both sides have equivalent characters in the ASCII character space
-
-
-
- Converts a C# string to a CString only accepting ASCII characters (7 bits)
- any non 7 bit character will be become the given value
-
- string to convert
- character to insert in case of a non-7 bit character
- CString with only ASCII (7 bit) characters, or null if == null
-
-
-
- allows us to directly use `fixed(byte* ptr = cstring)`
-
- reference to first byte
-
-
-
- The value for which all absolute numbers smaller than are considered equal to zero.
-
-
-
-
- A value specifying the approximation of π which is 180 degrees.
-
-
-
-
- A value specifying the approximation of 2Ï€ which is 360 degrees.
-
-
-
-
- Mathematical term for 2Ï€, which is equivalent to 360 degrees.
-
-
-
-
- A value specifying the approximation of π/2 which is 90 degrees.
-
-
-
-
- A value specifying the approximation of π/4 which is 45 degrees.
-
-
-
-
- Checks if a and b are almost equals, taking into account the magnitude of floating point numbers (unlike method). See Remarks.
- See remarks.
-
- The left value to compare.
- The right value to compare.
- true if a almost equal to b, false otherwise
-
- The code is using the technique described by Bruce Dawson in
- Comparing Floating point numbers 2012 edition.
-
-
-
-
- Determines whether the specified value is close to zero (0.0f).
-
- The floating value.
- true if the specified value is close to zero (0.0f); otherwise, false.
-
-
-
- Determines whether the specified value is close to one (1.0f).
-
- The floating value.
- true if the specified value is close to one (1.0f); otherwise, false.
-
-
-
- Checks if a - b are almost equals within a float epsilon.
-
- The left value to compare.
- The right value to compare.
- Epsilon value
- true if a almost equal to b within a float epsilon, false otherwise
-
-
-
- Converts revolutions to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Converts revolutions to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts revolutions to gradians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts degrees to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts degrees to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to gradians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to revolutions.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Converts gradians to radians.
-
- The value to convert.
- The converted value.
-
-
-
- Converts radians to degrees.
-
- The value to convert.
- The converted value.
-
-
-
- Clamps the specified value.
-
- The value.
- The min.
- The max.
- The result of clamping a value between min and max
-
-
-
- Clamps the specified value.
-
- The value.
- The min.
- The max.
- The result of clamping a value between min and max
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Interpolates between two values using a linear function by a given amount.
-
-
- See http://www.encyclopediaofmath.org/index.php/Linear_interpolation and
- http://fgiesen.wordpress.com/2012/08/15/linear-interpolation-past-present-and-future/
-
- Value to interpolate from.
- Value to interpolate to.
- Interpolation amount.
- The result of linear interpolation of values based on the amount.
-
-
-
- Performs smooth (cubic Hermite) interpolation between 0 and 1.
-
-
- See https://en.wikipedia.org/wiki/Smoothstep
-
- Value between 0 and 1 indicating interpolation amount.
-
-
-
- Performs a smooth(er) interpolation between 0 and 1 with 1st and 2nd order derivatives of zero at endpoints.
-
-
- See https://en.wikipedia.org/wiki/Smoothstep
-
- Value between 0 and 1 indicating interpolation amount.
-
-
-
- Calculates the modulo of the specified value.
-
- The value.
- The modulo.
- The result of the modulo applied to value
-
-
-
- Calculates the modulo 2*PI of the specified value.
-
- The value.
- The result of the modulo applied to value
-
-
-
- Wraps the specified value into a range [min, max]
-
- The value to wrap.
- The min.
- The max.
- Result of the wrapping.
- Is thrown when is greater than .
-
-
-
- Wraps the specified value into a range [min, max[
-
- The value.
- The min.
- The max.
- Result of the wrapping.
- Is thrown when is greater than .
-
-
-
- Gauss function.
-
- Curve amplitude.
- Position X.
- Position Y
- Radius X.
- Radius Y.
- Curve sigma X.
- Curve sigma Y.
- The result of Gaussian function.
-
-
-
- Gauss function.
-
- Curve amplitude.
- Position X.
- Position Y
- Radius X.
- Radius Y.
- Curve sigma X.
- Curve sigma Y.
- The result of Gaussian function.
-
-
-
- Represents a 4x4 mathematical matrix.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The identity .
-
-
-
-
- Value at row 1 column 1 of the matrix.
-
-
-
-
- Value at row 1 column 2 of the matrix.
-
-
-
-
- Value at row 1 column 3 of the matrix.
-
-
-
-
- Value at row 1 column 4 of the matrix.
-
-
-
-
- Value at row 2 column 1 of the matrix.
-
-
-
-
- Value at row 2 column 2 of the matrix.
-
-
-
-
- Value at row 2 column 3 of the matrix.
-
-
-
-
- Value at row 2 column 4 of the matrix.
-
-
-
-
- Value at row 3 column 1 of the matrix.
-
-
-
-
- Value at row 3 column 2 of the matrix.
-
-
-
-
- Value at row 3 column 3 of the matrix.
-
-
-
-
- Value at row 3 column 4 of the matrix.
-
-
-
-
- Value at row 4 column 1 of the matrix.
-
-
-
-
- Value at row 4 column 2 of the matrix.
-
-
-
-
- Value at row 4 column 3 of the matrix.
-
-
-
-
- Value at row 4 column 4 of the matrix.
-
-
-
-
- Gets or sets the up of the matrix; that is M21, M22, and M23.
-
-
-
-
- Gets or sets the down of the matrix; that is -M21, -M22, and -M23.
-
-
-
-
- Gets or sets the right of the matrix; that is M11, M12, and M13.
-
-
-
-
- Gets or sets the left of the matrix; that is -M11, -M12, and -M13.
-
-
-
-
- Gets or sets the forward of the matrix; that is -M31, -M32, and -M33.
-
-
-
-
- Gets or sets the backward of the matrix; that is M31, M32, and M33.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value to assign at row 1 column 1 of the matrix.
- The value to assign at row 1 column 2 of the matrix.
- The value to assign at row 1 column 3 of the matrix.
- The value to assign at row 1 column 4 of the matrix.
- The value to assign at row 2 column 1 of the matrix.
- The value to assign at row 2 column 2 of the matrix.
- The value to assign at row 2 column 3 of the matrix.
- The value to assign at row 2 column 4 of the matrix.
- The value to assign at row 3 column 1 of the matrix.
- The value to assign at row 3 column 2 of the matrix.
- The value to assign at row 3 column 3 of the matrix.
- The value to assign at row 3 column 4 of the matrix.
- The value to assign at row 4 column 1 of the matrix.
- The value to assign at row 4 column 2 of the matrix.
- The value to assign at row 4 column 3 of the matrix.
- The value to assign at row 4 column 4 of the matrix.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the components of the matrix. This must be an array with sixteen elements.
- Thrown when is null.
- Thrown when contains more or less than sixteen elements.
-
-
-
- Gets or sets the first row in the matrix; that is M11, M12, M13, and M14.
-
-
-
-
- Gets or sets the second row in the matrix; that is M21, M22, M23, and M24.
-
-
-
-
- Gets or sets the third row in the matrix; that is M31, M32, M33, and M34.
-
-
-
-
- Gets or sets the fourth row in the matrix; that is M41, M42, M43, and M44.
-
-
-
-
- Gets or sets the first column in the matrix; that is M11, M21, M31, and M41.
-
-
-
-
- Gets or sets the second column in the matrix; that is M12, M22, M32, and M42.
-
-
-
-
- Gets or sets the third column in the matrix; that is M13, M23, M33, and M43.
-
-
-
-
- Gets or sets the fourth column in the matrix; that is M14, M24, M34, and M44.
-
-
-
-
- Gets or sets the translation of the matrix; that is M41, M42, and M43.
-
-
-
-
- Gets or sets the scale of the matrix; that is M11, M22, and M33.
-
-
-
-
- Gets a value indicating whether this instance is an identity matrix.
-
-
- true if this instance is an identity matrix; otherwise, false.
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the matrix component, depending on the index.
- The zero-based index of the component to access.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 15].
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the matrix component, depending on the index.
- The row of the matrix to access.
- The column of the matrix to access.
- The value of the component at the specified index.
- Thrown when the or is out of the range [0, 3].
-
-
-
- Calculates the determinant of the matrix.
-
- The determinant of the matrix.
-
-
-
- Inverts the matrix.
-
-
-
-
- Transposes the matrix.
-
-
-
-
- Orthogonalizes the specified matrix.
-
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Decomposes a matrix into an orthonormalized matrix Q and a right triangular matrix R.
-
- When the method completes, contains the orthonormalized matrix of the decomposition.
- When the method completes, contains the right triangular matrix of the decomposition.
-
-
-
- Decomposes a matrix into a lower triangular matrix L and an orthonormalized matrix Q.
-
- When the method completes, contains the lower triangular matrix of the decomposition.
- When the method completes, contains the orthonormalized matrix of the decomposition.
-
-
-
- Decomposes a matrix into a scale, rotation, and translation.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
- When the method completes, contains the translation component of the decomposed matrix.
-
- This method is designed to decompose an SRT transformation matrix only.
-
-
-
-
- Decomposes a uniform scale matrix into a scale, rotation, and translation.
- A uniform scale matrix has the same scale in every axis.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
- When the method completes, contains the translation component of the decomposed matrix.
-
- This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
-
-
-
-
- Exchanges two rows in the matrix.
-
- The first row to exchange. This is an index of the row starting at zero.
- The second row to exchange. This is an index of the row starting at zero.
-
-
-
- Exchanges two columns in the matrix.
-
- The first column to exchange. This is an index of the column starting at zero.
- The second column to exchange. This is an index of the column starting at zero.
-
-
-
- Creates an array containing the elements of the matrix.
-
- A sixteen-element array containing the components of the matrix.
-
-
-
- Determines the sum of two matrices.
-
- The first matrix to add.
- The second matrix to add.
- When the method completes, contains the sum of the two matrices.
-
-
-
- Determines the sum of two matrices.
-
- The first matrix to add.
- The second matrix to add.
- The sum of the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- When the method completes, contains the difference between the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- The difference between the two matrices.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- When the method completes, contains the scaled matrix.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Determines the product of two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Determines the product of two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- When the method completes, contains the scaled matrix.
-
-
-
- Scales a matrix by the given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Determines the quotient of two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- When the method completes, contains the quotient of the two matrices.
-
-
-
- Determines the quotient of two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- The quotient of the two matrices.
-
-
-
- Performs the exponential operation on a matrix.
-
- The matrix to perform the operation on.
- The exponent to raise the matrix to.
- When the method completes, contains the exponential matrix.
- Thrown when the is negative.
-
-
-
- Performs the exponential operation on a matrix.
-
- The matrix to perform the operation on.
- The exponent to raise the matrix to.
- The exponential matrix.
- Thrown when the is negative.
-
-
-
- Negates a matrix.
-
- The matrix to be negated.
- When the method completes, contains the negated matrix.
-
-
-
- Negates a matrix.
-
- The matrix to be negated.
- The negated matrix.
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two matrices.
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start matrix.
- End matrix.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two matrices.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified matrix.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified matrix.
-
-
-
- Calculates the transpose of the specified matrix.
-
- The matrix whose transpose is to be calculated.
- The transpose of the specified matrix.
-
-
-
- Calculates the inverse of the specified matrix.
-
- The matrix whose inverse is to be calculated.
- When the method completes, contains the inverse of the specified matrix.
-
-
-
- Calculates the inverse of the specified matrix.
-
- The matrix whose inverse is to be calculated.
- The inverse of the specified matrix.
-
-
-
- Orthogonalizes the specified matrix.
-
- The matrix to orthogonalize.
- When the method completes, contains the orthogonalized matrix.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthogonalizes the specified matrix.
-
- The matrix to orthogonalize.
- The orthogonalized matrix.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the matrix will be orthogonal to any other given row in the
- matrix.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
- The matrix to orthonormalize.
- When the method completes, contains the orthonormalized matrix.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified matrix.
-
- The matrix to orthonormalize.
- The orthonormalized matrix.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting matrix
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the matrix rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Brings the matrix into upper triangular form using elementary row operations.
-
- The matrix to put into upper triangular form.
- When the method completes, contains the upper triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into upper triangular form using elementary row operations.
-
- The matrix to put into upper triangular form.
- The upper triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into lower triangular form using elementary row operations.
-
- The matrix to put into lower triangular form.
- When the method completes, contains the lower triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into lower triangular form using elementary row operations.
-
- The matrix to put into lower triangular form.
- The lower triangular matrix.
-
- If the matrix is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the matrix represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the matrix into row echelon form using elementary row operations;
-
- The matrix to put into row echelon form.
- When the method completes, contains the row echelon form of the matrix.
-
-
-
- Brings the matrix into row echelon form using elementary row operations;
-
- The matrix to put into row echelon form.
- When the method completes, contains the row echelon form of the matrix.
-
-
-
- Brings the matrix into reduced row echelon form using elementary row operations.
-
- The matrix to put into reduced row echelon form.
- The fifth column of the matrix.
- When the method completes, contains the resultant matrix after the operation.
- When the method completes, contains the resultant fifth column of the matrix.
-
- The fifth column is often called the augmented part of the matrix. This is because the fifth
- column is really just an extension of the matrix so that there is a place to put all of the
- non-zero components after the operation is complete.
- Often times the resultant matrix will the identity matrix or a matrix similar to the identity
- matrix. Sometimes, however, that is not possible and numbers other than zero and one may appear.
- This method can be used to solve systems of linear equations. Upon completion of this method,
- the will contain the solution for the system. It is up to the user
- to analyze both the input and the result to determine if a solution really exists.
-
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard matrix.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard matrix.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard matrix.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard matrix.
-
-
-
- Creates a left-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at matrix.
-
-
-
- Creates a left-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at matrix.
-
-
-
- Creates a right-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at matrix.
-
-
-
- Creates a right-handed, look-at matrix.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at matrix.
-
-
-
- Creates a left-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, orthographic projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, customized orthographic projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix.
-
- Width of the viewing volume.
- Height of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, perspective projection matrix based on a field of view.
-
- Field of view in the y direction, in radians.
- Aspect ratio, defined as view space width divided by height.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a left-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a left-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a right-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- When the method completes, contains the created projection matrix.
-
-
-
- Creates a right-handed, customized perspective projection matrix.
-
- Minimum x-value of the viewing volume.
- Maximum x-value of the viewing volume.
- Minimum y-value of the viewing volume.
- Maximum y-value of the viewing volume.
- Minimum z-value of the viewing volume.
- Maximum z-value of the viewing volume.
- The created projection matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- The created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- The created scaling matrix.
-
-
-
- Creates a matrix that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- When the method completes, contains the created scaling matrix.
-
-
-
- Creates a matrix that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- The created scaling matrix.
-
-
-
- Creates a matrix that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a matrix that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a matrix that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix from a quaternion.
-
- The quaternion to use to build the matrix.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix from a quaternion.
-
- The quaternion to use to build the matrix.
- The created rotation matrix.
-
-
-
- Creates a rotation matrix with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- When the method completes, contains the created rotation matrix.
-
-
-
- Creates a rotation matrix with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- The created rotation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- The offset for all three coordinate planes.
- When the method completes, contains the created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- The offset for all three coordinate planes.
- The created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- X-coordinate offset.
- Y-coordinate offset.
- Z-coordinate offset.
- When the method completes, contains the created translation matrix.
-
-
-
- Creates a translation matrix using the specified offsets.
-
- X-coordinate offset.
- Y-coordinate offset.
- Z-coordinate offset.
- The created translation matrix.
-
-
-
- Creates a skew/shear matrix by means of a translation vector, a rotation vector, and a rotation angle.
- shearing is performed in the direction of translation vector, where translation vector and rotation vector define the shearing plane.
- The effect is such that the skewed rotation vector has the specified angle with rotation itself.
-
- The rotation angle.
- The rotation vector
- The translation vector
- Contains the created skew/shear matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 3D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created affine transformation matrix.
-
-
-
- Creates a 2D affine transformation matrix.
-
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created affine transformation matrix.
-
-
-
- Creates a transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created transformation matrix.
-
-
-
- Creates a transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created transformation matrix.
-
-
-
- Creates a 2D transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- When the method completes, contains the created transformation matrix.
-
-
-
- Creates a 2D transformation matrix.
-
- Center point of the scaling operation.
- Scaling rotation amount.
- Scaling factor.
- The center of the rotation.
- The rotation of the transformation.
- The translation factor of the transformation.
- The created transformation matrix.
-
-
-
- Adds two matrices.
-
- The first matrix to add.
- The second matrix to add.
- The sum of the two matrices.
-
-
-
- Assert a matrix (return it unchanged).
-
- The matrix to assert (unchanged).
- The asserted (unchanged) matrix.
-
-
-
- Subtracts two matrices.
-
- The first matrix to subtract.
- The second matrix to subtract.
- The difference between the two matrices.
-
-
-
- Negates a matrix.
-
- The matrix to negate.
- The negated matrix.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Multiplies two matrices.
-
- The first matrix to multiply.
- The second matrix to multiply.
- The product of the two matrices.
-
-
-
- Scales a matrix by a given value.
-
- The matrix to scale.
- The amount by which to scale.
- The scaled matrix.
-
-
-
- Divides two matrices.
-
- The first matrix to divide.
- The second matrix to divide.
- The quotient of the two matrices.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a 3x3 Matrix ( contains only Scale and Rotation ).
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The identity .
-
-
-
-
- Value at row 1 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 1 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 1 column 3 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 2 column 3 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 1 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 2 of the Matrix3x3.
-
-
-
-
- Value at row 3 column 3 of the Matrix3x3.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value to assign at row 1 column 1 of the Matrix3x3.
- The value to assign at row 1 column 2 of the Matrix3x3.
- The value to assign at row 1 column 3 of the Matrix3x3.
- The value to assign at row 2 column 1 of the Matrix3x3.
- The value to assign at row 2 column 2 of the Matrix3x3.
- The value to assign at row 2 column 3 of the Matrix3x3.
- The value to assign at row 3 column 1 of the Matrix3x3.
- The value to assign at row 3 column 2 of the Matrix3x3.
- The value to assign at row 3 column 3 of the Matrix3x3.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the components of the Matrix3x3. This must be an array with sixteen elements.
- Thrown when is null.
- Thrown when contains more or less than sixteen elements.
-
-
-
- Gets or sets the first row in the Matrix3x3; that is M11, M12, M13
-
-
-
-
- Gets or sets the second row in the Matrix3x3; that is M21, M22, M23
-
-
-
-
- Gets or sets the third row in the Matrix3x3; that is M31, M32, M33
-
-
-
-
- Gets or sets the first column in the Matrix3x3; that is M11, M21, M31
-
-
-
-
- Gets or sets the second column in the Matrix3x3; that is M12, M22, M32
-
-
-
-
- Gets or sets the third column in the Matrix3x3; that is M13, M23, M33
-
-
-
-
- Gets or sets the scale of the Matrix3x3; that is M11, M22, and M33.
-
-
-
-
- Gets a value indicating whether this instance is an identity Matrix3x3.
-
-
- true if this instance is an identity Matrix3x3; otherwise, false.
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the Matrix3x3 component, depending on the index.
- The zero-based index of the component to access.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 15].
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the Matrix3x3 component, depending on the index.
- The row of the Matrix3x3 to access.
- The column of the Matrix3x3 to access.
- The value of the component at the specified index.
- Thrown when the or is out of the range [0, 3].
-
-
-
- Calculates the determinant of the Matrix3x3.
-
- The determinant of the Matrix3x3.
-
-
-
- Inverts the Matrix3x3.
-
-
-
-
- Transposes the Matrix3x3.
-
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Decomposes a Matrix3x3 into an orthonormalized Matrix3x3 Q and a right triangular Matrix3x3 R.
-
- When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
- When the method completes, contains the right triangular Matrix3x3 of the decomposition.
-
-
-
- Decomposes a Matrix3x3 into a lower triangular Matrix3x3 L and an orthonormalized Matrix3x3 Q.
-
- When the method completes, contains the lower triangular Matrix3x3 of the decomposition.
- When the method completes, contains the orthonormalized Matrix3x3 of the decomposition.
-
-
-
- Decomposes a Matrix3x3 into a scale, rotation, and translation.
-
- When the method completes, contains the scaling component of the decomposed Matrix3x3.
- When the method completes, contains the rotation component of the decomposed Matrix3x3.
-
- This method is designed to decompose an SRT transformation Matrix3x3 only.
-
-
-
-
- Decomposes a uniform scale matrix into a scale, rotation, and translation.
- A uniform scale matrix has the same scale in every axis.
-
- When the method completes, contains the scaling component of the decomposed matrix.
- When the method completes, contains the rotation component of the decomposed matrix.
-
- This method is designed to decompose only an SRT transformation matrix that has the same scale in every axis.
-
-
-
-
- Exchanges two rows in the Matrix3x3.
-
- The first row to exchange. This is an index of the row starting at zero.
- The second row to exchange. This is an index of the row starting at zero.
-
-
-
- Exchanges two columns in the Matrix3x3.
-
- The first column to exchange. This is an index of the column starting at zero.
- The second column to exchange. This is an index of the column starting at zero.
-
-
-
- Creates an array containing the elements of the Matrix3x3.
-
- A 9-element array containing the components of the Matrix3x3.
-
-
-
- Determines the sum of two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- When the method completes, contains the sum of the two matrices.
-
-
-
- Determines the sum of two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- The sum of the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- When the method completes, contains the difference between the two matrices.
-
-
-
- Determines the difference between two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- The difference between the two matrices.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- When the method completes, contains the scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Determines the product of two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Determines the product of two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- When the method completes, contains the scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by the given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Determines the quotient of two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- When the method completes, contains the quotient of the two matrices.
-
-
-
- Determines the quotient of two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- The quotient of the two matrices.
-
-
-
- Performs the exponential operation on a Matrix3x3.
-
- The Matrix3x3 to perform the operation on.
- The exponent to raise the Matrix3x3 to.
- When the method completes, contains the exponential Matrix3x3.
- Thrown when the is negative.
-
-
-
- Performs the exponential operation on a Matrix3x3.
-
- The Matrix3x3 to perform the operation on.
- The exponent to raise the Matrix3x3 to.
- The exponential Matrix3x3.
- Thrown when the is negative.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to be negated.
- When the method completes, contains the negated Matrix3x3.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to be negated.
- The negated Matrix3x3.
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two matrices.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two matrices.
-
-
-
- Performs a cubic interpolation between two matrices.
-
- Start Matrix3x3.
- End Matrix3x3.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two matrices.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified Matrix3x3.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- When the method completes, contains the transpose of the specified Matrix3x3.
-
-
-
- Calculates the transpose of the specified Matrix3x3.
-
- The Matrix3x3 whose transpose is to be calculated.
- The transpose of the specified Matrix3x3.
-
-
-
- Calculates the inverse of the specified Matrix3x3.
-
- The Matrix3x3 whose inverse is to be calculated.
- When the method completes, contains the inverse of the specified Matrix3x3.
-
-
-
- Calculates the inverse of the specified Matrix3x3.
-
- The Matrix3x3 whose inverse is to be calculated.
- The inverse of the specified Matrix3x3.
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthogonalize.
- When the method completes, contains the orthogonalized Matrix3x3.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthogonalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthogonalize.
- The orthogonalized Matrix3x3.
-
- Orthogonalization is the process of making all rows orthogonal to each other. This
- means that any given row in the Matrix3x3 will be orthogonal to any other given row in the
- Matrix3x3.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthonormalize.
- When the method completes, contains the orthonormalized Matrix3x3.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Orthonormalizes the specified Matrix3x3.
-
- The Matrix3x3 to orthonormalize.
- The orthonormalized Matrix3x3.
-
- Orthonormalization is the process of making all rows and columns orthogonal to each
- other and making all rows and columns of unit length. This means that any given row will
- be orthogonal to any other given row and any given column will be orthogonal to any other
- given column. Any given row will not be orthogonal to any given column. Every row and every
- column will be of unit length.
- Because this method uses the modified Gram-Schmidt process, the resulting Matrix3x3
- tends to be numerically unstable. The numeric stability decreases according to the rows
- so that the first row is the most stable and the last row is the least stable.
- This operation is performed on the rows of the Matrix3x3 rather than the columns.
- If you wish for this operation to be performed on the columns, first transpose the
- input and than transpose the output.
-
-
-
-
- Brings the Matrix3x3 into upper triangular form using elementary row operations.
-
- The Matrix3x3 to put into upper triangular form.
- When the method completes, contains the upper triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into upper triangular form using elementary row operations.
-
- The Matrix3x3 to put into upper triangular form.
- The upper triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into lower triangular form using elementary row operations.
-
- The Matrix3x3 to put into lower triangular form.
- When the method completes, contains the lower triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into lower triangular form using elementary row operations.
-
- The Matrix3x3 to put into lower triangular form.
- The lower triangular Matrix3x3.
-
- If the Matrix3x3 is not invertible (i.e. its determinant is zero) than the result of this
- method may produce Single.Nan and Single.Inf values. When the Matrix3x3 represents a system
- of linear equations, than this often means that either no solution exists or an infinite
- number of solutions exist.
-
-
-
-
- Brings the Matrix3x3 into row echelon form using elementary row operations;
-
- The Matrix3x3 to put into row echelon form.
- When the method completes, contains the row echelon form of the Matrix3x3.
-
-
-
- Brings the Matrix3x3 into row echelon form using elementary row operations;
-
- The Matrix3x3 to put into row echelon form.
- When the method completes, contains the row echelon form of the Matrix3x3.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard Matrix3x3.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard Matrix3x3.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard Matrix3x3.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard Matrix3x3.
-
-
-
- Creates a left-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at Matrix3x3.
-
-
-
- Creates a left-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at Matrix3x3.
-
-
-
- Creates a right-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at Matrix3x3.
-
-
-
- Creates a right-handed, look-at Matrix3x3.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor for all three axes.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that scales along the x-axis, y-axis, and y-axis.
-
- Scaling factor that is applied along the x-axis.
- Scaling factor that is applied along the y-axis.
- Scaling factor that is applied along the z-axis.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- When the method completes, contains the created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that uniformly scales along all three axis.
-
- The uniform scale that is applied along all axis.
- The created scaling Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the x-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the y-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around the z-axis.
-
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a Matrix3x3 that rotates around an arbitrary axis.
-
- The axis around which to rotate. This parameter is assumed to be normalized.
- Angle of rotation in radians. Angles are measured clockwise when looking along the rotation axis toward the origin.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 from a quaternion.
-
- The quaternion to use to build the Matrix3x3.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 from a quaternion.
-
- The quaternion to use to build the Matrix3x3.
- The created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- When the method completes, contains the created rotation Matrix3x3.
-
-
-
- Creates a rotation Matrix3x3 with a specified yaw, pitch, and roll.
-
- Yaw around the y-axis, in radians.
- Pitch around the x-axis, in radians.
- Roll around the z-axis, in radians.
- The created rotation Matrix3x3.
-
-
-
- Adds two matrices.
-
- The first Matrix3x3 to add.
- The second Matrix3x3 to add.
- The sum of the two matrices.
-
-
-
- Assert a Matrix3x3 (return it unchanged).
-
- The Matrix3x3 to assert (unchanged).
- The asserted (unchanged) Matrix3x3.
-
-
-
- Subtracts two matrices.
-
- The first Matrix3x3 to subtract.
- The second Matrix3x3 to subtract.
- The difference between the two matrices.
-
-
-
- Negates a Matrix3x3.
-
- The Matrix3x3 to negate.
- The negated Matrix3x3.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Multiplies two matrices.
-
- The first Matrix3x3 to multiply.
- The second Matrix3x3 to multiply.
- The product of the two matrices.
-
-
-
- Scales a Matrix3x3 by a given value.
-
- The Matrix3x3 to scale.
- The amount by which to scale.
- The scaled Matrix3x3.
-
-
-
- Divides two matrices.
-
- The first Matrix3x3 to divide.
- The second Matrix3x3 to divide.
- The quotient of the two matrices.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Convert the 3x3 Matrix to a 4x4 Matrix.
-
- A 4x4 Matrix with zero translation and M44=1
-
-
-
- Convert the 4x4 Matrix to a 3x3 Matrix.
-
- A 3x3 Matrix
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified are equal.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a four dimensional mathematical quaternion.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The identity (0, 0, 0, 1).
-
-
-
-
- The X component of the quaternion.
-
-
-
-
- The Y component of the quaternion.
-
-
-
-
- The Z component of the quaternion.
-
-
-
-
- The W component of the quaternion.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the components.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X, Y, and Z components.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the quaternion.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the quaternion.
- Initial value for the Y component of the quaternion.
- Initial value for the Z component of the quaternion.
- Initial value for the W component of the quaternion.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, Z, and W components of the quaternion. This must be an array with four elements.
- Thrown when is null.
- Thrown when contains more or less than four elements.
-
-
-
- Gets a value indicating whether this instance is equivalent to the identity quaternion.
-
-
- true if this instance is an identity quaternion; otherwise, false.
-
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets the angle of the quaternion.
-
- The quaternion's angle.
-
-
-
- Gets the axis components of the quaternion.
-
- The axis components of the quaternion.
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, Z, or W component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 3].
-
-
-
- Conjugates the quaternion.
-
-
-
-
- Conjugates and renormalizes the quaternion.
-
-
-
-
- Calculates the length of the quaternion.
-
- The length of the quaternion.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the quaternion.
-
- The squared length of the quaternion.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the quaternion into a unit quaternion.
-
-
-
-
- Creates an array containing the elements of the quaternion.
-
- A four-element array containing the components of the quaternion.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- When the method completes, contains the sum of the two quaternions.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- The sum of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- When the method completes, contains the difference of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- The difference of the two quaternions.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- When the method completes, contains the scaled quaternion.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- When the method completes, contains the multiplied quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- The multiplied quaternion.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- When the method completes, contains a quaternion facing in the opposite direction.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- A quaternion facing in the opposite direction.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains a new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Conjugates a quaternion.
-
- The quaternion to conjugate.
- When the method completes, contains the conjugated quaternion.
-
-
-
- Conjugates a quaternion.
-
- The quaternion to conjugate.
- The conjugated quaternion.
-
-
-
- Calculates the dot product of two quaternions.
-
- First source quaternion.
- Second source quaternion.
- When the method completes, contains the dot product of the two quaternions.
-
-
-
- Calculates the dot product of two quaternions.
-
- First source quaternion.
- Second source quaternion.
- The dot product of the two quaternions.
-
-
-
- Exponentiates a quaternion.
-
- The quaternion to exponentiate.
- When the method completes, contains the exponentiated quaternion.
-
-
-
- Exponentiates a quaternion.
-
- The quaternion to exponentiate.
- The exponentiated quaternion.
-
-
-
- Conjugates and renormalizes the quaternion.
-
- The quaternion to conjugate and renormalize.
- When the method completes, contains the conjugated and renormalized quaternion.
-
-
-
- Conjugates and renormalizes the quaternion.
-
- The quaternion to conjugate and renormalize.
- The conjugated and renormalized quaternion.
-
-
-
- Performs a linear interpolation between two quaternions.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two quaternions.
-
- This method performs the linear interpolation based on the following formula.
- start + (end - start) * amount
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two quaternion.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two quaternions.
-
- This method performs the linear interpolation based on the following formula.
- start + (end - start) * amount
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Calculates the natural logarithm of the specified quaternion.
-
- The quaternion whose logarithm will be calculated.
- When the method completes, contains the natural logarithm of the quaternion.
-
-
-
- Calculates the natural logarithm of the specified quaternion.
-
- The quaternion whose logarithm will be calculated.
- The natural logarithm of the quaternion.
-
-
-
- Converts the quaternion into a unit quaternion.
-
- The quaternion to normalize.
- When the method completes, contains the normalized quaternion.
-
-
-
- Converts the quaternion into a unit quaternion.
-
- The quaternion to normalize.
- The normalized quaternion.
-
-
-
- Creates a quaternion given a rotation and an axis.
-
- The axis of rotation.
- The angle of rotation.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a rotation and an axis.
-
- The axis of rotation.
- The angle of rotation.
- The newly created quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a left-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The position of the viewer's eye.
- The camera look-at target.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- When the method completes, contains the created look-at quaternion.
-
-
-
- Creates a right-handed, look-at quaternion.
-
- The camera's forward direction.
- The camera's up vector.
- The created look-at quaternion.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard quaternion.
-
-
-
- Creates a left-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard quaternion.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- When the method completes, contains the created billboard quaternion.
-
-
-
- Creates a right-handed spherical billboard that rotates around a specified object position.
-
- The position of the object around which the billboard will rotate.
- The position of the camera.
- The up vector of the camera.
- The forward vector of the camera.
- The created billboard quaternion.
-
-
-
- Creates a quaternion given a rotation matrix.
-
- The rotation matrix.
- The newly created quaternion.
-
-
-
- Creates a quaternion given a yaw, pitch, and roll value.
-
- The yaw of rotation.
- The pitch of rotation.
- The roll of rotation.
- When the method completes, contains the newly created quaternion.
-
-
-
- Creates a quaternion given a yaw, pitch, and roll value.
-
- The yaw of rotation.
- The pitch of rotation.
- The roll of rotation.
- The newly created quaternion.
-
-
-
- Interpolates between two quaternions, using spherical linear interpolation.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the spherical linear interpolation of the two quaternions.
-
-
-
- Interpolates between two quaternions, using spherical linear interpolation.
-
- Start quaternion.
- End quaternion.
- Value between 0 and 1 indicating the weight of .
- The spherical linear interpolation of the two quaternions.
-
-
-
- Interpolates between quaternions, using spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- Value between 0 and 1 indicating the weight of interpolation.
- When the method completes, contains the spherical quadrangle interpolation of the quaternions.
-
-
-
- Interpolates between quaternions, using spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- Value between 0 and 1 indicating the weight of interpolation.
- The spherical quadrangle interpolation of the quaternions.
-
-
-
- Sets up control points for spherical quadrangle interpolation.
-
- First source quaternion.
- Second source quaternion.
- Third source quaternion.
- Fourth source quaternion.
- An array of three quaternions that represent control points for spherical quadrangle interpolation.
-
-
-
- Adds two quaternions.
-
- The first quaternion to add.
- The second quaternion to add.
- The sum of the two quaternions.
-
-
-
- Subtracts two quaternions.
-
- The first quaternion to subtract.
- The second quaternion to subtract.
- The difference of the two quaternions.
-
-
-
- Reverses the direction of a given quaternion.
-
- The quaternion to negate.
- A quaternion facing in the opposite direction.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Scales a quaternion by the given value.
-
- The quaternion to scale.
- The amount by which to scale the quaternion.
- The scaled quaternion.
-
-
-
- Multiplies a quaternion by another.
-
- The first quaternion to multiply.
- The second quaternion to multiply.
- The multiplied quaternion.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a two dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0).
-
-
-
-
- The Y unit (0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- Copies to a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X and Y components of the vector. This must be an array with two elements.
- Thrown when is null.
- Thrown when contains more or less than two elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X or Y component, depending on the index.
- The index of the component to access. Use 0 for the X component and 1 for the Y component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 1].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A two-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 2D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 2D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 2D triangle.
-
- A containing the 2D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 2D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 2D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Saturates this instance in the range [0,1]
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- When the method completes, contains the reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- The reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 2D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 2D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 2D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 2D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 2D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- When the method completes, contains the transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- The transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation on an array of vectors using the given .
-
- The array of coordinate vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- When the method completes, contains the transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- The transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation on an array of vectors using the given .
-
- The array of normal vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a three dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0, 0).
-
-
-
-
- The Y unit (0, 1, 0).
-
-
-
-
- The Z unit (0, 0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- A unit designating up (0, 0, 1).
-
-
-
-
- A unit designating down (0, 0, -1).
-
-
-
-
- A unit designating left (-1, 0, 0).
-
-
-
-
- A unit designating right (1, 0, 0).
-
-
-
-
- A unit designating forward in a right-handed coordinate system (0, 1, 0).
-
-
-
-
- A unit designating forward in a left-handed coordinate system (0, -1, 0).
-
-
-
-
- A unit designating backward in a right-handed coordinate system (0, -1, 0).
-
-
-
-
- A unit designating backward in a left-handed coordinate system (0, 1, 0).
-
-
-
-
-
-
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- The Z component of the vector.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
- Initial value for the Z component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, and Z components of the vector. This must be an array with three elements.
- Thrown when is null.
- Thrown when contains more or less than three elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, or Z component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, and 2 for the Z component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 2].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A three-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiply a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiply a vector with another by performing component-wise multiplication.
-
- The first vector to Multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
-
- A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 3D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 3D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 3D triangle.
-
- A containing the 3D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 3D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 3D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Calculates the cross product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains he cross product of the two vectors.
-
-
-
- Calculates the cross product of two vectors.
-
- First source vector.
- Second source vector.
- The cross product of the two vectors.
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Tests whether one 3D vector is near another 3D vector.
-
- The left vector.
- The right vector.
- The epsilon.
- true if left and right are near another 3D, false otherwise
-
-
-
- Tests whether one 3D vector is near another 3D vector.
-
- The left vector.
- The right vector.
- The epsilon.
- true if left and right are near another 3D, false otherwise
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- When the method completes, contains the vector in screen space.
-
-
-
- Projects a 3D vector from object space into screen space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- The vector in screen space.
-
-
-
- Projects a 3D vector from screen space into object space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- When the method completes, contains the vector in object space.
-
-
-
- Projects a 3D vector from screen space into object space.
-
- The vector to project.
- The X position of the viewport.
- The Y position of the viewport.
- The width of the viewport.
- The height of the viewport.
- The minimum depth of the viewport.
- The maximum depth of the viewport.
- The combined world-view-projection matrix.
- The vector in object space.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- When the method completes, contains the reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Returns the reflection of a vector off a surface that has the specified normal.
-
- The source vector.
- Normal of the surface.
- The reflected vector.
- Reflect only gives the direction of a reflection off a surface, it does not determine
- whether the original vector was close enough to the surface to hit it.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 3D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 3D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 3D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- When the method completes, contains the transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation using the given .
-
- The coordinate vector to transform.
- The transformation .
- The transformed coordinates.
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a coordinate transformation on an array of vectors using the given .
-
- The array of coordinate vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A coordinate transform performs the transformation with the assumption that the w component
- is one. The four dimensional vector obtained from the transformation operation has each
- component in the vector divided by the w component. This forces the w component to be one and
- therefore makes the vector homogeneous. The homogeneous vector is often preferred when working
- with coordinates as the w component can safely be ignored.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- When the method completes, contains the transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation using the given .
-
- The normal vector to transform.
- The transformation .
- The transformed normal.
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Performs a normal transformation on an array of vectors using the given .
-
- The array of normal vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
- A normal transform performs the transformation with the assumption that the w component
- is zero. This causes the fourth row and fourth column of the matrix to be unused. The
- end result is a vector that is not translated, but all other transformation properties
- apply. This is often preferred for normal vectors as normals purely represent direction
- rather than location because normal vectors should not be translated.
-
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with added scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Represents a four dimensional mathematical vector.
-
-
-
-
- A with all of its components set to zero.
-
-
-
-
- The X unit (1, 0, 0, 0).
-
-
-
-
- The Y unit (0, 1, 0, 0).
-
-
-
-
- The Z unit (0, 0, 1, 0).
-
-
-
-
- The W unit (0, 0, 0, 1).
-
-
-
-
- A with all of its components set to one.
-
-
-
-
- The X component of the vector.
-
-
-
-
- The Y component of the vector.
-
-
-
-
- The Z component of the vector.
-
-
-
-
- The W component of the vector.
-
-
-
-
- Initializes a new instance of the struct.
-
- The value that will be assigned to all components.
-
-
-
- Initializes a new instance of the struct.
-
- Initial value for the X component of the vector.
- Initial value for the Y component of the vector.
- Initial value for the Z component of the vector.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X, Y, and Z components.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- A vector containing the values with which to initialize the X and Y components.
- Initial value for the Z component of the vector.
- Initial value for the W component of the vector.
-
-
-
- Initializes a new instance of the struct.
-
- The values to assign to the X, Y, Z, and W components of the vector. This must be an array with four elements.
- Thrown when is null.
- Thrown when contains more or less than four elements.
-
-
-
- Gets a value indicting whether this instance is normalized.
-
-
-
-
- Gets a value indicting whether this vector is zero
-
-
-
-
- Gets or sets the component at the specified index.
-
- The value of the X, Y, Z, or W component, depending on the index.
- The index of the component to access. Use 0 for the X component, 1 for the Y component, 2 for the Z component, and 3 for the W component.
- The value of the component at the specified index.
- Thrown when the is out of the range [0, 3].
-
-
-
- Calculates the length of the vector.
-
- The length of the vector.
-
- may be preferred when only the relative length is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared length of the vector.
-
- The squared length of the vector.
-
- This method may be preferred to when only a relative length is needed
- and speed is of the essence.
-
-
-
-
- Converts the vector into a unit vector.
-
-
-
-
- Creates an array containing the elements of the vector.
-
- A four-element array containing the components of the vector.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- When the method completes, contains the sum of the two vectors.
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector
- The scalar value to be added to elements
- The vector with added scalar for each element.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- When the method completes, contains the difference of the two vectors.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector
- The scalar value to be subtraced from elements
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The scalar value to be subtraced from elements
- The input vector.
- The vector with subtracted scalar for each element.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- When the method completes, contains the multiplied vector.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication.
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplied vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- When the method completes, contains the scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- When the method completes, contains a vector facing in the opposite direction.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- When the method completes, contains the 4D Cartesian coordinates of the specified point.
-
-
-
- Returns a containing the 4D Cartesian coordinates of a point specified in Barycentric coordinates relative to a 4D triangle.
-
- A containing the 4D Cartesian coordinates of vertex 1 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 2 of the triangle.
- A containing the 4D Cartesian coordinates of vertex 3 of the triangle.
- Barycentric coordinate b2, which expresses the weighting factor toward vertex 2 (specified in ).
- Barycentric coordinate b3, which expresses the weighting factor toward vertex 3 (specified in ).
- A new containing the 4D Cartesian coordinates of the specified point.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- When the method completes, contains the clamped value.
-
-
-
- Restricts a value to be within a specified range.
-
- The value to clamp.
- The minimum value.
- The maximum value.
- The clamped value.
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the distance between two vectors.
-
- The first vector.
- The second vector.
- The distance between the two vectors.
-
- may be preferred when only the relative distance is needed
- and speed is of the essence.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- When the method completes, contains the squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the squared distance between two vectors.
-
- The first vector.
- The second vector.
- The squared distance between the two vectors.
- Distance squared is the value before taking the square root.
- Distance squared can often be used in place of distance if relative comparisons are being made.
- For example, consider three points A, B, and C. To determine whether B or C is further from A,
- compare the distance between A and B to the distance between A and C. Calculating the two distances
- involves two square roots, which are computationally expensive. However, using distance squared
- provides the same information and avoids calculating two square roots.
-
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector
- Second source vector.
- When the method completes, contains the dot product of the two vectors.
-
-
-
- Calculates the dot product of two vectors.
-
- First source vector.
- Second source vector.
- The dot product of the two vectors.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- When the method completes, contains the normalized vector.
-
-
-
- Converts the vector into a unit vector.
-
- The vector to normalize.
- The normalized vector.
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a linear interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The linear interpolation of the two vectors.
-
- Passing a value of 0 will cause to be returned; a value of 1 will cause to be returned.
-
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- When the method completes, contains the cubic interpolation of the two vectors.
-
-
-
- Performs a cubic interpolation between two vectors.
-
- Start vector.
- End vector.
- Value between 0 and 1 indicating the weight of .
- The cubic interpolation of the two vectors.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- When the method completes, contains the result of the Hermite spline interpolation.
-
-
-
- Performs a Hermite spline interpolation.
-
- First source position vector.
- First source tangent vector.
- Second source position vector.
- Second source tangent vector.
- Weighting factor.
- The result of the Hermite spline interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- When the method completes, contains the result of the Catmull-Rom interpolation.
-
-
-
- Performs a Catmull-Rom interpolation using the specified positions.
-
- The first position in the interpolation.
- The second position in the interpolation.
- The third position in the interpolation.
- The fourth position in the interpolation.
- Weighting factor.
- A vector that is the result of the Catmull-Rom interpolation.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the largest components of the source vectors.
-
-
-
- Returns a vector containing the largest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the largest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- When the method completes, contains an new vector composed of the smallest components of the source vectors.
-
-
-
- Returns a vector containing the smallest components of the specified vectors.
-
- The first source vector.
- The second source vector.
- A vector containing the smallest components of the source vectors.
-
-
-
- Orthogonalizes a list of vectors.
-
- The list of orthogonalized vectors.
- The list of vectors to orthogonalize.
-
- Orthogonalization is the process of making all vectors orthogonal to each other. This
- means that any given vector in the list will be orthogonal to any other given vector in the
- list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Orthonormalizes a list of vectors.
-
- The list of orthonormalized vectors.
- The list of vectors to orthonormalize.
-
- Orthonormalization is the process of making all vectors orthogonal to each
- other and making all vectors of unit length. This means that any given vector will
- be orthogonal to any other given vector in the list.
- Because this method uses the modified Gram-Schmidt process, the resulting vectors
- tend to be numerically unstable. The numeric stability decreases according to the vectors
- position in the list so that the first vector is the most stable and the last vector is the
- least stable.
-
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 4D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- When the method completes, contains the transformed .
-
-
-
- Transforms a 4D vector by the given rotation.
-
- The vector to rotate.
- The rotation to apply.
- The transformed .
-
-
-
- Transforms an array of vectors by the given rotation.
-
- The array of vectors to transform.
- The rotation to apply.
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Transforms a 4D vector by the given .
-
- The source vector.
- The transformation .
- When the method completes, contains the transformed .
-
-
-
- Transforms a 4D vector by the given .
-
- The source vector.
- The transformation .
- The transformed .
-
-
-
- Transforms an array of 4D vectors by the given .
-
- The array of vectors to transform.
- The transformation .
- The array for which the transformed vectors are stored.
- This array may be the same array as .
- Thrown when or is null.
- Thrown when is shorter in length than .
-
-
-
- Adds two vectors.
-
- The first vector to add.
- The second vector to add.
- The sum of the two vectors.
-
-
-
- Multiplies a vector with another by performing component-wise multiplication equivalent to .
-
- The first vector to multiply.
- The second vector to multiply.
- The multiplication of the two vectors.
-
-
-
- Assert a vector (return it unchanged).
-
- The vector to assert (unchanged).
- The asserted (unchanged) vector.
-
-
-
- Subtracts two vectors.
-
- The first vector to subtract.
- The second vector to subtract.
- The difference of the two vectors.
-
-
-
- Reverses the direction of a given vector.
-
- The vector to negate.
- A vector facing in the opposite direction.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The amount by which to scale the vector.
- The vector to scale.
- The scaled vector.
-
-
-
- Scales a vector by the given value.
-
- The vector to scale.
- The amount by which to scale the vector.
- The scaled vector.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise addition
-
- The input vector.
- The scalar value to be added on elements
- The vector with added scalar for each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Perform a component-wise subtraction
-
- The input vector.
- The scalar value to be subtraced from elements
- The vector with subtraced scalar from each element.
-
-
-
- Tests for equality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has the same value as ; otherwise, false.
-
-
-
- Tests for inequality between two objects.
-
- The first value to compare.
- The second value to compare.
- true if has a different value than ; otherwise, false.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Performs an explicit conversion from to .
-
- The value.
- The result of the conversion.
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a that represents this instance.
-
- The format.
- The format provider.
-
- A that represents this instance.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Get the blue channel of this color
-
-
-
-
- Get the green channel of this color
-
-
-
-
- Get the red channel of this color
-
-
-
-
- Get the alpha/translucency channel of this color
-
-
-
-
- Create a color by individual given channels
-
- red
- green
- blue
- alpha/translucency
-
-
-
- Create a color with an unsinged integer
-
- argb values
-
-
-
- Create a color with a signed integer
-
- argb values
-
-
-
- Get or set the channel at the specified index
-
- Does % 4 internally as it's faster than a boundary check
- channel to get the value for
-
-
-
-
- Get or set the channel at the specified index
-
- Does % 4 internally as it's faster than a boundary check
- channel to get the value for
-
-
-
-
- Used for integer sizes with width and height values
-
-
-
-
- Get or set the width of this element
-
-
-
-
- Get or set the height of this element
-
-
-
-
- Create a new Size2 with both Width and Height set to
-
- value for both width and height
-
-
-
- Create a new Size2 with specified width and height values
-
- width of the Size2
- height of the Size2
-
-
-
- Get or set the value at the specified index.
-
- Does % 2 internally as it's faster than a boundary check
- 0 for Width and 1 for Height.
- value in either component
-
-
-
- Get or set the value at the specified index.
-
- Does % 2 internally as it's faster than a boundary check
- 0 for Width and 1 for Height.
- value in either component
-
-
-
- Keeps adding arguments onto the argument stack, will recurse when arguments need to be fixed.
- This approach is 10x faster than the v1 approach in combination with CString
-
-
-
-
- Purely used to circumvent operator+'s accessibility in game libraries
- TODO: make mscorlib IntPtr operator+ public and [SecurityCritical]
-
-
-
-
- Get unmanaged type size, this will actually request the size from native, then we cache it
-
- unmanaged size of T
-
-
-
- A managed string that holds a conerted copy of the unmanaged ANSI string. If ptr is null, the method returns a null string.
-
-
-
-
-
- A managed string that holds a copy of the unmanaged ANSI string. If ptr is null, the method returns a null string.
-
-
-
-
-
- A managed byte[] that holds a copy of the unmanaged ANSI string. If ptr is null, the method returns a null string.
-
-
-
-
-
- Retrieves a substring from this string. Starting at the specified in strides of
-
- Character index to start the new string with
- Amount of characters requested, after
- starting from , if we passed the end, or
-
-
-
- Retrieves a substring from this string. Starting at the specified in strides of
-
- Character index to start the new string with
- Amount of characters requested, after
- starting from , if we passed the end, or
-
-
- Will only be evaluated when we're profiling, good for formatting strings
-
-
- Mind you: using this over Profiler.EnterScope()/Profiler.ExitScope() has a slightly higher performance impact.
-
-
- Mind you: using this over Profiler.EnterScope()/Profiler.ExitScope() has a slightly higher performance impact.
-
-
- Will only be evaluated when we're profiling, good for formatting strings
- Mind you: using this over Profiler.EnterScope()/Profiler.ExitScope() has a slightly higher performance impact.
-
-
-
- Reference to a resource that may or may not exist, can be used as a shortcut to call its exports
- contains the information of this script's resource
-
- Doesn't guarantee the resource is initialized, active, or has an exports ready.
-
-
-
- Can be used to compile against server or client code
-
-
-
-
- Get this script's resource information
-
- Don't use its as that'll be quite slow, unless needed, e.g.: set in another assembly.
-
-
-
- The resource's name
-
-
-
-
- Can be used to call Export functions on this resource
-
- Can fail just like calling exports normally as this type doesn't guarantee the resource exists,
- is initialized, active, or even has an export with that name.
-
-
-
- Creates a reference to a resource that may or may not exist
-
- name of the resource we want to reference
- Doesn't guarantee the resource is initialized, active, or has an exports ready.
-
-
-
- Adds a handler for changes to a state bag.
-
- The function called expects to match the following signature:
-
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
-
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
-
- At this time, the change handler can't opt to reject changes.
-
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
- The key to check for, or null for no filter.
-
-
- The bag ID to check for such as `entity:65535`, or null for no filter.
-
-
- The handler function.
-
-
- A cookie to remove the change handler.
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
- The key to delete
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- END_FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
- The console variable to look up.
-
-
- The default value to set if none is found.
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
- The console variable to look up.
-
-
- The default value to set if none is found (variable not set using [SET_CONVAR](#\_0x341B16D2), or not accessible).
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Returns the name of the currently executing resource.
-
-
- The name of the resource.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The entity handle or 0 if the state bag name did not refer to an entity, or the entity does not exist.
-
-
-
-
- Returns the internal build number of the current game being executed.
-
- Possible values:
-
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * 2944
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
- The build number, or **0** if no build number is known.
-
-
-
-
- Returns the current game being executed.
-
- Possible values:
-
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
- The game the script environment is running in.
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key to look up in the resource manifest.
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The player handle or 0 if the state bag name did not refer to a player, or the player does not exist.
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
- The player index.
-
-
- Returns player melee weapon damage modifier value.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
- The player index.
-
-
- The value of player weapon damage modifier.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
- The player index.
-
-
- The value of player weapon defense modifier.
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
- The player index.
-
-
- The value of player weapon defense modifier 2.
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
-
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
- An object containing registered commands.
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
- The index of the resource (starting at 0)
-
-
- The resource name as a `string`
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
- The key to fetch
-
-
- The floating-point value stored under the specified key, or 0.0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
- The key to fetch
-
-
- The integer value stored under the specified key, or 0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
- The key to fetch
-
-
- The string value stored under the specified key, or nil/null if not found.
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key in the resource manifest.
-
-
- The value index, in a range from \[0..GET_NUM_RESOURCE_METDATA-1].
-
-
-
-
- Returns the current state of the specified resource.
-
-
- The name of the resource.
-
-
- The resource state. One of `"missing", "started", "starting", "stopped", "stopping", "uninitialized" or "unknown"`.
-
-
-
-
- Returns the value of a state bag key.
-
-
- Value.
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
- A boolean value.
-
-
-
-
- A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
-
-
- The entity to check for
-
-
- Boolean stating if it is frozen or not.
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
- The resource name.
-
-
- The file in the resource.
-
-
- The file contents
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
- The entity to get the owner for.
-
-
- On the server, the server ID of the entity owner. On the client, returns the player/slot ID of the entity owner.
-
-
-
-
- Scope entry for profiler.
-
-
- Scope name.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
- True or false.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
-
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
-
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
-
- **Example result**:
-
- 
-
-
- The command you want to register.
-
-
- A handler function that gets called whenever the command is executed.
-
-
- If this is a server command and you set this to true, then players will need the command.yourCommandName ace permission to execute this command.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
- An event name, or "\*" to disable HLL event filtering for this resource.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Removes a handler for changes to a state bag.
-
-
- The cookie.
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- START_FIND_KVP
-
-
- A prefix match
-
-
- A KVP find handle to use with [FIND_KVP](#\_0xBD7BEBC5) and close with [END_FIND_KVP](#\_0xB3210203)
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
- A boolean.
-
-
-
-
- Adds a handler for changes to a state bag.
-
- The function called expects to match the following signature:
-
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
-
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
-
- At this time, the change handler can't opt to reject changes.
-
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- END_FIND_KVP
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
-
-
- Returns the name of the currently executing resource.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
-
-
- Returns the internal build number of the current game being executed.
-
- Possible values:
-
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * 2944
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
-
-
- Returns the current game being executed.
-
- Possible values:
-
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
-
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- Returns the current state of the specified resource.
-
-
-
-
- Returns the value of a state bag key.
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
-
-
- A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
-
-
- Scope entry for profiler.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
-
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
-
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
-
- **Example result**:
-
- 
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Removes a handler for changes to a state bag.
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- START_FIND_KVP
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
-
-
- Gets or sets the position of this .
-
-
- The position in world space.
-
-
-
-
- Gets or sets the rotation of this .
-
-
- The yaw, pitch, roll rotation values.
-
-
-
-
- Gets or sets the heading of this .
-
-
- The heading in degrees.
-
-
-
-
- Sets a value indicating whether this should be frozen.
-
-
- true if this position should be frozen; otherwise, false.
-
-
-
-
- Gets or sets the velocity of this .
-
-
-
-
- Gets the rotation velocity of this .
-
-
-
-
- Gets the model of the this .
-
-
-
-
- Gets the network owner of the this .
-
- Returns the of the network owner.
- Returns null if this is in an unowned state.
-
-
-
- Gets the network ID of the this .
-
-
-
-
- Gets the type of this .
-
- Returns 1 if this is a Ped.
- Returns 2 if this is a Vehicle.
- Returns 3 if this is a Prop.
-
-
-
- Gets the of this
-
-
-
-
- Gets the handle of this player
-
-
-
-
- Gets the name of this player
-
-
-
-
- Access the of this player
-
-
-
-
- Gets the this player is controling, use Ped.Character on Ped for non-shared access.
-
-
-
-
- Used to indicate to the compiler that the .locals init flag should
- not be set in nested method headers when emitting to metadata.
-
-
- This attribute is unsafe because it may reveal uninitialized memory to
- the application in certain instances (e.g., reading from uninitialized
- stackalloc'd memory). If applied to a method directly, the attribute
- applies to that method and all nested functions (lambdas, local
- functions) below it. If applied to a type or module, it applies to all
- methods nested inside. This attribute is intentionally not permitted on
- assemblies. Use at the module level instead to apply to multiple type
- declarations.
-
-
-
-
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Server.dll b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Server.dll
deleted file mode 100644
index 438c1a03c..000000000
Binary files a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Server.dll and /dev/null differ
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Server.sym b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Server.sym
deleted file mode 100644
index e69de29bb..000000000
diff --git a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Server.xml b/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Server.xml
deleted file mode 100644
index e74068dcc..000000000
--- a/citizen/clr2/lib/mono/4.5/v2/ref/CitizenFX.Server.xml
+++ /dev/null
@@ -1,6525 +0,0 @@
-
-
-
- CitizenFX.Server
-
-
-
-
- Adds a rectangular blip for the specified coordinates/area.
-
- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
-
- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
-
- Example image:
- 
- 
-
- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
-
-
- The X coordinate of the center of the blip.
-
-
- The Y coordinate of the center of the blip.
-
-
- The Z coordinate of the center of the blip.
-
-
- The width of the blip.
-
-
- The height of the blip.
-
-
- A handle to the blip.
-
-
-
-
- Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
-
-
- The X coordinate to create the blip on.
-
-
- The Y coordinate.
-
-
- The Z coordinate.
-
-
- A blip handle.
-
-
-
-
- Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
- Can be used for objects, vehicles and peds.
-
- Example of enemy:
- 
- Example of friend:
- 
-
-
- The entity handle to create the blip.
-
-
- A blip handle.
-
-
-
-
- Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
-
- Example image:
- 
-
-
- The x position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The y position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The z position of the blip (you can also send a vector3 instead of the bulk coordinates)
-
-
- The number that defines the radius of the blip circle
-
-
- The blip handle that can be manipulated with every `SetBlip` natives
-
-
-
-
- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
- collection - PedDecorationCollection filename hash
- overlay - Item name hash
- Example:
- Entry inside "mpbeach_overlays.xml" -
- <Item>
- <uvPos x="0.500000" y="0.500000" />
- <scale x="0.600000" y="0.500000" />
- <rotation value="0.000000" />
- <nameHash>FM_Hair_Fuzz</nameHash>
- <txdHash>mp_hair_fuzz</txdHash>
- <txtHash>mp_hair_fuzz</txtHash>
- <zone>ZONE_HEAD</zone>
- <type>TYPE_TATTOO</type>
- <faction>FM</faction>
- <garment>All</garment>
- <gender>GENDER_DONTCARE</gender>
- <award />
- <awardLevel />
- </Item>
- Code:
- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
-
-
-
-
- Adds a handler for changes to a state bag.
-
- The function called expects to match the following signature:
-
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
-
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
-
- At this time, the change handler can't opt to reject changes.
-
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
- The key to check for, or null for no filter.
-
-
- The bag ID to check for such as `entity:65535`, or null for no filter.
-
-
- The handler function.
-
-
- A cookie to remove the change handler.
-
-
-
-
- Applies a force to the specified entity.
-
- **List of force types (p1)**:
-
- ```
- public enum ForceType
- {
- MinForce = 0,
- MaxForceRot = 1,
- MinForce2 = 2,
- MaxForceRot2 = 3,
- ForceNoRot = 4,
- ForceRotPlusForce = 5
- }
- ```
-
- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
-
-
- The entity you want to apply a force on
-
-
- See native description above for a list of commonly used values
-
-
- Force amount (X)
-
-
- Force amount (Y)
-
-
- Force amount (Z)
-
-
- Rotation/offset force (X)
-
-
- Rotation/offset force (Y)
-
-
- Rotation/offset force (Z)
-
-
- (Often 0) Entity bone index
-
-
- (Usually false) Vector defined in local (body-fixed) coordinate frame
-
-
- (Usually true)
-
-
- (Usually true) When true, force gets multiplied with the objects mass and different objects will have the same acceleration
-
-
- (Usually false)
-
-
- (Usually true)
-
-
-
-
- Returns whether or not the specified player has enough information to start a commerce session for.
-
-
- The player handle
-
-
- True or false.
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- CLEAR_PED_SECONDARY_TASK
-
-
-
-
- Clear a ped's tasks. Stop animations and other tasks created by scripts.
-
-
- Ped id. Use PlayerPedId() for your own character.
-
-
-
-
- Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
-
-
- Ped id.
-
-
-
-
- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);
- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.
-
-
-
-
- Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
- The model to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component, 'ground level'.
-
-
- Whether to create a network object for the object. If false, the object exists only locally.
-
-
- Whether to register the object as pinned to the script host in the R\* network model.
-
-
- False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
-
-
- A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
-
-
-
-
- Creates an object (prop) with the specified model centered at the specified position.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
- The model to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Whether to create a network object for the object. If false, the object exists only locally.
-
-
- Whether to register the object as pinned to the script host in the R\* network model.
-
-
- False to create a door archetype (archetype flag bit 26 set) as a door. Required to be set to true to create door models in network mode.
-
-
- A script handle (fwScriptGuid index) for the object, or `0` if the object failed to be created.
-
-
-
-
- Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
- (e.g. using REQUEST_MODEL).
-
-
- Unused. Peds get set to CIVMALE/CIVFEMALE/etc. no matter the value specified.
-
-
- The model of ped to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- Whether to create a network object for the ped. If false, the ped exists only locally.
-
-
- Whether to register the ped as pinned to the script host in the R\* network model.
-
-
- A script handle (fwScriptGuid index) for the ped, or `0` if the ped failed to be created.
-
-
-
-
- CREATE_PED_INSIDE_VEHICLE
-
-
- See [`CREATE_PED`](#\_0xD49F9B0955C367DE)
-
-
-
-
- Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
- ```
- NativeDB Added Parameter 8: BOOL p7
- ```
-
-
- The model of vehicle to spawn.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- Whether to create a network object for the vehicle. If false, the vehicle exists only locally.
-
-
- Whether to register the vehicle as pinned to the script host in the R\* network model.
-
-
- A script handle (fwScriptGuid index) for the vehicle, or `0` if the vehicle failed to be created.
-
-
-
-
- Equivalent to CREATE_VEHICLE, but it uses 'server setter' logic (like the former CREATE_AUTOMOBILE) as a workaround for
- reliability concerns regarding entity creation RPC.
-
- Unlike CREATE_AUTOMOBILE, this supports other vehicle types as well.
-
-
- The model of vehicle to spawn.
-
-
- The appropriate vehicle type for the model info. Can be one of `automobile`, `bike`, `boat`, `heli`, `plane`, `submarine`, `trailer`, and (potentially), `train`. This should be the same type as the `type` field in `vehicles.meta`.
-
-
- Spawn coordinate X component.
-
-
- Spawn coordinate Y component.
-
-
- Spawn coordinate Z component.
-
-
- Heading to face towards, in degrees.
-
-
- A script handle for the vehicle.
-
-
-
-
- Deletes the specified entity.
-
-
- The entity to delete.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
- The key to delete
-
-
-
-
- Nonsynchronous [DELETE_RESOURCE_KVP](#\_0x7389B5DF) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to delete
-
-
-
-
- DOES_BOAT_SINK_WHEN_WRECKED
-
-
- The target vehicle.
-
-
- Returns whether or not the boat sinks when wrecked.
-
-
-
-
- DOES_ENTITY_EXIST
-
-
-
-
- Requests whether or not the player owns the specified SKU.
-
-
- The player handle
-
-
- The ID of the SKU.
-
-
- A boolean.
-
-
-
-
- Requests whether or not the player owns the specified package.
-
-
- The player handle
-
-
- The package ID on Tebex.
-
-
- A boolean.
-
-
-
-
- DROP_PLAYER
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- ENABLE_ENHANCED_HOST_SUPPORT
-
-
-
-
- END_FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
- The KVP find handle returned from [START_FIND_KVP](#\_0xDD379006)
-
-
- None.
-
-
-
-
- FLAG_SERVER_AS_PRIVATE
-
-
-
-
- Nonsynchronous operations will not wait for a disk/filesystem flush before returning from a write or delete call. They will be much faster than their synchronous counterparts (e.g., bulk operations), however, a system crash may lose the data to some recent operations.
-
- This native ensures all `_NO_SYNC` operations are synchronized with the disk/filesystem.
-
-
-
-
- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.
-
-
- The entity to freeze/unfreeze.
-
-
- Freeze or unfreeze entity.
-
-
-
-
- GET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
-
-
- The player handle
-
-
-
-
- Returns all object handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of object handles.
-
-
-
-
- Returns all peds handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of peds handles.
-
-
-
-
- Returns all vehicle handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
- An object containing a list of vehicle handles.
-
-
-
-
- Returns the current console output buffer.
-
-
- The most recent game console output, as a string.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
- The console variable to look up.
-
-
- The default value to set if none is found.
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
- The console variable to look up.
-
-
- The default value to set if none is found (variable not set using [SET_CONVAR](#\_0x341B16D2), or not accessible).
-
-
- Returns the convar value if it can be found, otherwise it returns the assigned `default`.
-
-
-
-
- Returns the name of the currently executing resource.
-
-
- The name of the resource.
-
-
-
-
- Gets the entity that this entity is attached to.
-
-
- The entity to check.
-
-
- The attached entity handle. 0 returned if the entity is not attached.
-
-
-
-
- GET_ENTITY_COLLISION_DISABLED
-
-
- The target entity.
-
-
- Returns whether or not entity collisions are disabled.
-
-
-
-
- Gets the current coordinates for a specified entity. This native is used server side when using OneSync.
-
- See [GET_ENTITY_COORDS](#\_0x3FEF770D40960D5A) for client side.
-
-
- The entity to get the coordinates from.
-
-
- The current entity coordinates.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The entity handle or 0 if the state bag name did not refer to an entity, or the entity does not exist.
-
-
-
-
- GET_ENTITY_HEADING
-
-
-
-
- Only works for vehicle and peds
-
-
- The entity to check the health of
-
-
- If the entity is a vehicle it will return 0-1000
- If the entity is a ped it will return 0-200
- If the entity is an object it will return 0
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- GET_ENTITY_MODEL
-
-
-
-
- This native gets an entity's population type.
-
-
- the entity to obtain the population type from
-
-
- Returns the population type ID, defined by the below enumeration:```cpp
- enum ePopulationType
- {
- POPTYPE_UNKNOWN = 0,
- POPTYPE_RANDOM_PERMANENT,
- POPTYPE_RANDOM_PARKED,
- POPTYPE_RANDOM_PATROL,
- POPTYPE_RANDOM_SCENARIO,
- POPTYPE_RANDOM_AMBIENT,
- POPTYPE_PERMANENT,
- POPTYPE_MISSION,
- POPTYPE_REPLAY,
- POPTYPE_CACHE,
- POPTYPE_TOOL
- };
- ```
-
-
-
-
- GET_ENTITY_ROTATION
-
-
-
-
- GET_ENTITY_ROTATION_VELOCITY
-
-
-
-
- Gets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The entity to get the routing bucket for.
-
-
- The routing bucket ID.
-
-
-
-
- GET_ENTITY_SCRIPT
-
-
-
-
- Gets the current speed of the entity in meters per second.
-
- ```
- To convert to MPH: speed * 2.236936
- To convert to KPH: speed * 3.6
- ```
-
-
- The entity to get the speed of
-
-
- The speed of the entity in meters per second
-
-
-
-
- Gets the entity type (as an integer), which can be one of the following defined down below:
-
- **The following entities will return type `1`:**
-
- * Ped
- * Player
- * Animal (Red Dead Redemption 2)
- * Horse (Red Dead Redemption 2)
-
- **The following entities will return type `2`:**
-
- * Automobile
- * Bike
- * Boat
- * Heli
- * Plane
- * Submarine
- * Trailer
- * Train
- * DraftVeh (Red Dead Redemption 2)
-
- **The following entities will return type `3`:**
-
- * Object
- * Door
- * Pickup
-
- Otherwise, a value of `0` will be returned.
-
-
- The entity to get the type of.
-
-
- The entity type returned as an integer value.
-
-
-
-
- GET_ENTITY_VELOCITY
-
-
-
-
- Returns the internal build number of the current game being executed.
-
- Possible values:
-
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * 2944
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
- The build number, or **0** if no build number is known.
-
-
-
-
- Returns the current game being executed.
-
- Possible values:
-
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
- The game the script environment is running in.
-
-
-
-
- Gets the current game timer in milliseconds.
-
-
- The game time.
-
-
-
-
- This native converts the passed string to a hash.
-
-
-
-
- GET_HELI_MAIN_ROTOR_HEALTH
-
-
- The target vehicle.
-
-
- See the client-side [GET_HELI_MAIN_ROTOR_HEALTH](https://docs.fivem.net/natives/?\_0xE4CB7541F413D2C5) for the return value.
-
-
-
-
- GET_HELI_TAIL_ROTOR_HEALTH
-
-
- The target vehicle.
-
-
- See the client-side [GET_HELI_TAIL_ROTOR_HEALTH](https://docs.fivem.net/natives/?\_0xAE8CE82A4219AC8C) for the return value.
-
-
-
-
- GET_HOST_ID
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- GET_IS_VEHICLE_ENGINE_RUNNING
-
-
-
-
- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
-
-
-
-
- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
-
-
-
-
- See the client-side [GET_LANDING_GEAR_STATE](#\_0x9B0F3DCA3DB0F4CD) native for a description of landing gear states.
-
-
- The vehicle to check.
-
-
- The current state of the vehicles landing gear.
-
-
-
-
- GET_LAST_PED_IN_VEHICLE_SEAT
-
-
- The target vehicle.
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
- The last ped in the specified seat of the passed vehicle. Returns 0 if the specified seat was never occupied or the last ped does not exist anymore.
-
-
-
-
- GET_NUM_PLAYER_IDENTIFIERS
-
-
-
-
- GET_NUM_PLAYER_INDICES
-
-
-
-
- GET_NUM_PLAYER_TOKENS
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key to look up in the resource manifest.
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- GET_PASSWORD_HASH
-
-
-
-
- GET_PED_ARMOUR
-
-
-
-
- GET_PED_CAUSE_OF_DEATH
-
-
-
-
- GET_PED_DESIRED_HEADING
-
-
- The target ped
-
-
- Returns ped's desired heading.
-
-
-
-
- GET_PED_IN_VEHICLE_SEAT
-
-
- The target vehicle.
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
- The ped in the specified seat of the passed vehicle. Returns 0 if the specified seat is not occupied.
-
-
-
-
- GET_PED_MAX_HEALTH
-
-
-
-
- Gets the script task command currently assigned to the ped.
-
-
- The target ped.
-
-
- The script task command currently assigned to the ped. A value of 0x811E343C denotes no script task is assigned.
-
-
-
-
- Gets the stage of the peds scripted task.
-
-
- The target ped.
-
-
- The stage of the ped's scripted task. A value of 3 denotes no script task is assigned.
-
-
-
-
- Get the last entity that damaged the ped. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- The entity id. Returns 0 if the ped has not been damaged recently.
-
-
-
-
- Get the entity that killed the ped. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- The entity id. Returns 0 if the ped has no killer.
-
-
-
-
- Gets the type of a ped's specific task given an index of the CPedTaskSpecificDataNode nodes.
- A ped will typically have a task at index 0, if a ped has multiple tasks at once they will be in the order 0, 1, 2, etc.
-
-
- The target ped.
-
-
- A zero-based index with a maximum value of 7.
-
-
- The type of the specific task.
- 1604: A value of 530 denotes no script task is assigned or an invalid input was given.
- 2060+: A value of 531 denotes no script task is assigned or an invalid input was given.
-
-
-
-
- GET_PED_STEALTH_MOVEMENT
-
-
- The target ped.
-
-
- Whether or not the ped is stealthy.
-
-
-
-
- Gets the current camera rotation for a specified player. This native is used server side when using OneSync.
-
-
- The player handle.
-
-
- The player's camera rotation. Values are in radians.
-
-
-
-
- GET_PLAYER_ENDPOINT
-
-
-
-
- Gets the current fake wanted level for a specified player. This native is used server side when using OneSync.
-
-
- The target player
-
-
- The fake wanted level
-
-
-
-
- GET_PLAYER_FROM_INDEX
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
- An internal state bag ID from the argument to a state bag change handler.
-
-
- The player handle or 0 if the state bag name did not refer to a player, or the player does not exist.
-
-
-
-
- GET_PLAYER_GUID
-
-
-
-
- GET_PLAYER_IDENTIFIER
-
-
-
-
- Get an identifier from a player by the type of the identifier.
-
-
- The player to get the identifier for
-
-
- The string to match in an identifier, this can be `"license"` for example.
-
-
- The identifier that matches the string provided
-
-
-
-
- GET_PLAYER_INVINCIBLE
-
-
- The player handle
-
-
- A boolean to tell if the player is invincible.
-
-
-
-
- GET_PLAYER_LAST_MSG
-
-
-
-
- GET_PLAYER_MAX_ARMOUR
-
-
- The player handle
-
-
-
-
- GET_PLAYER_MAX_HEALTH
-
-
- The player handle
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
- The player index.
-
-
- Returns player melee weapon damage modifier value.
-
-
-
-
- GET_PLAYER_NAME
-
-
-
-
- GET_PLAYER_PED
-
-
-
-
- GET_PLAYER_PING
-
-
-
-
- Gets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The player to get the routing bucket for.
-
-
- The routing bucket ID.
-
-
-
-
- GET_PLAYER_TEAM
-
-
- The player handle
-
-
-
-
- Gets the amount of time player has spent evading the cops.
- Counter starts and increments only when cops are chasing the player.
- If the player is evading, the timer will pause.
-
-
- The target player
-
-
- False = CurrentPursuit, True = LastPursuit
-
-
- Returns -1, if the player is not wanted or wasn't in pursuit before, depending on the lastPursuit parameter
- Returns 0, if lastPursuit == False and the player has a wanted level, but the pursuit has not started yet
- Otherwise, will return the milliseconds of the pursuit.
-
-
-
-
- Gets a player's token. Tokens can be used to enhance banning logic, however are specific to a server.
-
-
- A player.
-
-
- Index between 0 and GET_NUM_PLAYER_TOKENS.
-
-
- A token value.
-
-
-
-
- Gets the current known coordinates for the specified player from cops perspective. This native is used server side when using OneSync.
-
-
- The target player
-
-
- The player's position known by police. Vector zero if the player has no wanted level.
-
-
-
-
- Returns given players wanted level server-side.
-
-
- The target player
-
-
- The wanted level
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
- The player index.
-
-
- The value of player weapon damage modifier.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
- The player index.
-
-
- The value of player weapon defense modifier.
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
- The player index.
-
-
- The value of player weapon defense modifier 2.
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
-
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
- An object containing registered commands.
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
- The index of the resource (starting at 0)
-
-
- The resource name as a `string`
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
- The key to fetch
-
-
- The floating-point value stored under the specified key, or 0.0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
- The key to fetch
-
-
- The integer value stored under the specified key, or 0 if not found.
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
- The key to fetch
-
-
- The string value stored under the specified key, or nil/null if not found.
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
- The resource name.
-
-
- The key in the resource manifest.
-
-
- The value index, in a range from \[0..GET_NUM_RESOURCE_METDATA-1].
-
-
-
-
- Returns the physical on-disk path of the specified resource.
-
-
- The name of the resource.
-
-
- The resource directory name, possibly without trailing slash.
-
-
-
-
- Returns the current state of the specified resource.
-
-
- The name of the resource.
-
-
- The resource state. One of `"missing", "started", "starting", "stopped", "stopping", "uninitialized" or "unknown"`.
-
-
-
-
- Returns a hash of selected ped weapon.
-
-
- The target ped.
-
-
- The weapon hash.
-
-
-
-
- Returns the value of a state bag key.
-
-
- Value.
-
-
-
-
- GET_TRAIN_CARRIAGE_ENGINE
-
-
- The entity handle.
-
-
- The train engine carriage.
-
-
-
-
- GET_TRAIN_CARRIAGE_INDEX
-
-
- The entity handle.
-
-
- The carriage index. -1 returned if invalid result.
-
-
-
-
- GET_VEHICLE_BODY_HEALTH
-
-
-
-
- GET_VEHICLE_COLOURS
-
-
-
-
- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
-
-
-
-
- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
-
-
-
-
- GET_VEHICLE_DASHBOARD_COLOUR
-
-
-
-
- GET_VEHICLE_DIRT_LEVEL
-
-
-
-
- ```lua
- enum_VehicleLockStatus = {
- None = 0,
- Locked = 2,
- LockedForPlayer = 3,
- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
- CanBeBrokenIntoPersist = 8, -- Can be broken into persist
- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
- }
- ```
-
- It should be [noted](https://forum.cfx.re/t/4863241) that while the [client-side command](#\_0x25BC98A59C2EA962) and its
- setter distinguish between states 0 (unset) and 1 (unlocked), the game will synchronize both as state 0, so the server-side
- command will return only '0' if unlocked.
-
-
- A vehicle handle.
-
-
- The door lock status for the specified vehicle.
-
-
-
-
- GET_VEHICLE_DOOR_STATUS
-
-
- A number from 0 to 7.
-
-
-
-
- Currently it only works when set to "all players".
-
-
-
-
- GET_VEHICLE_ENGINE_HEALTH
-
-
-
-
- GET_VEHICLE_EXTRA_COLOURS
-
-
-
-
- Gets the flight nozzel position for the specified vehicle. See the client-side [\_GET_VEHICLE_FLIGHT_NOZZLE_POSITION](#\_0xDA62027C8BDB326E) native for usage examples.
-
-
- The vehicle to check.
-
-
- The flight nozzel position between 0.0 (flying normally) and 1.0 (VTOL mode)
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_HEADLIGHTS_COLOUR
-
-
-
-
- Gets the lock on state for the specified vehicle. See the client-side [GET_VEHICLE_HOMING_LOCKON_STATE](#\_0xE6B0E8CFC3633BF0) native for a description of lock on states.
-
-
- The vehicle to check.
-
-
- The lock on state.
-
-
-
-
- GET_VEHICLE_INTERIOR_COLOUR
-
-
-
-
- GET_VEHICLE_LIGHTS_STATE
-
-
-
-
- GET_VEHICLE_LIVERY
-
-
-
-
- Gets the vehicle that is locked on to for the specified vehicle.
-
-
- The vehicle to check.
-
-
- The vehicle that is locked on. 0 returned if no vehicle is locked on.
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
-
-
-
-
- Gets the vehicle the specified Ped is/was in depending on bool value. This native is used server side when using OneSync.
-
-
- The target ped
-
-
- False = CurrentVehicle, True = LastVehicle
-
-
- The vehicle id. Returns 0 if the ped is/was not in a vehicle.
-
-
-
-
- GET_VEHICLE_PETROL_TANK_HEALTH
-
-
-
-
- GET_VEHICLE_RADIO_STATION_INDEX
-
-
-
-
- GET_VEHICLE_ROOF_LIVERY
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- Returns the type of the passed vehicle.
-
- ### Vehicle types
-
- * automobile
- * bike
- * boat
- * heli
- * plane
- * submarine
- * trailer
- * train
-
-
- The vehicle's entity handle.
-
-
- If the entity is a vehicle, the vehicle type. If it is not a vehicle, the return value will be null.
-
-
-
-
- GET_VEHICLE_TYRE_SMOKE_COLOR
-
-
-
-
- GET_VEHICLE_WHEEL_TYPE
-
-
-
-
- GET_VEHICLE_WINDOW_TINT
-
-
-
-
- GIVE_WEAPON_COMPONENT_TO_PED
-
-
-
-
- GIVE_WEAPON_TO_PED
-
-
-
-
- HAS_ENTITY_BEEN_MARKED_AS_NO_LONGER_NEEDED
-
-
-
-
- HAS_VEHICLE_BEEN_DAMAGED_BY_BULLETS
-
-
- The target vehicle.
-
-
- Returns whether or not the target vehicle has been damaged by bullets.
-
-
-
-
- HAS_VEHICLE_BEEN_OWNED_BY_PLAYER
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- IS_BOAT_ANCHORED_AND_FROZEN
-
-
- The target vehicle.
-
-
- Returns whether or not the boat is anchored and frozen.
-
-
-
-
- IS_BOAT_WRECKED
-
-
- The target vehicle.
-
-
- Returns whether or not the boat is wrecked.
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
- A boolean value.
-
-
-
-
- A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
-
-
- The entity to check for
-
-
- Boolean stating if it is frozen or not.
-
-
-
-
- This native checks if the given entity is visible.
-
-
- Returns `true` if the entity is visible, `false` otherwise.
-
-
-
-
- IS_FLASH_LIGHT_ON
-
-
- The target ped.
-
-
- Whether or not the ped's flash light is on.
-
-
-
-
- This native checks if the given ped is a player.
-
-
- Returns `true` if the ped is a player, `false` otherwise.
-
-
-
-
- IS_PED_HANDCUFFED
-
-
- The target ped.
-
-
- Whether or not the ped is handcuffed.
-
-
-
-
- IS_PED_RAGDOLL
-
-
- The target ped.
-
-
- Whether or not the ped is ragdolling.
-
-
-
-
- IS_PED_STRAFING
-
-
- The target ped.
-
-
- Whether or not the ped is strafing.
-
-
-
-
- IS_PED_USING_ACTION_MODE
-
-
- The target ped.
-
-
- Whether or not the ped is using action mode.
-
-
-
-
- IS_PLAYER_ACE_ALLOWED
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded.
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded from Tebex.
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- This will return true if the player is evading wanted level, meaning that the wanted level stars are blink.
- Otherwise will return false.
-
- If the player is not wanted, it simply returns false.
-
-
- The target player
-
-
- boolean value, depending if the player is evading his wanted level or not.
-
-
-
-
- IS_PLAYER_USING_SUPER_JUMP
-
-
- The player handle
-
-
- A boolean.
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- IS_VEHICLE_EXTRA_TURNED_ON
-
-
-
-
- IS_VEHICLE_SIREN_ON
-
-
-
-
- IS_VEHICLE_TYRE_BURST
-
-
-
-
- See the client-side [IS_VEHICLE_WINDOW_INTACT](https://docs.fivem.net/natives/?\_0x46E571A0E20D01F1) for a window indexes list.
-
-
- The target vehicle.
-
-
- The window index.
-
-
-
-
- Requests the commerce data for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
- The player handle
-
-
-
-
- Requests the commerce data from Tebex for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
- The player handle
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
- The resource name.
-
-
- The file in the resource.
-
-
- The file contents
-
-
-
-
- Create a permanent voice channel.
-
-
- ID of the channel.
-
-
-
-
- Checks if the player is currently muted
-
-
- The player to get the mute state for
-
-
- Whether or not the player is muted
-
-
-
-
- Mutes or unmutes the specified player
-
-
- The player to set the mute state of
-
-
- Whether to mute or unmute the player
-
-
-
-
- NETWORK_GET_ENTITY_FROM_NETWORK_ID
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
- The entity to get the owner for.
-
-
- On the server, the server ID of the entity owner. On the client, returns the player/slot ID of the entity owner.
-
-
-
-
- Returns the first owner ID of the specified entity.
-
-
- The entity to get the first owner for.
-
-
- The server ID of the first entity owner.
-
-
-
-
- NETWORK_GET_NETWORK_ID_FROM_ENTITY
-
-
-
-
- NETWORK_GET_VOICE_PROXIMITY_OVERRIDE
-
-
- The player handle
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL_EX
-
-
-
-
- Prints 'structured trace' data to the server `file descriptor 3` channel. This is not generally useful outside of
- server monitoring utilities.
-
-
- JSON data to submit as `payload` in the `script_structured_trace` event.
-
-
-
-
- Scope entry for profiler.
-
-
- Scope name.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
- True or false.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
-
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
-
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
-
- **Example result**:
-
- 
-
-
- The command you want to register.
-
-
- A handler function that gets called whenever the command is executed.
-
-
- If this is a server command and you set this to true, then players will need the command.yourCommandName ace permission to execute this command.
-
-
-
-
- Registers a listener for console output messages.
-
-
- A function of `(channel: string, message: string) => void`. The message might contain `\n`.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
- An event name, or "\*" to disable HLL event filtering for this resource.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Registers a cached resource asset with the resource system, similar to the automatic scanning of the `stream/` folder.
-
-
- The resource to add the asset to.
-
-
- A file name in the resource.
-
-
- A cache string to pass to `REGISTER_STREAMING_FILE_FROM_CACHE` on the client.
-
-
-
-
- Registers a build task factory for resources.
- The function should return an object (msgpack map) with the following fields:
-
- ```
- {
- // returns whether the specific resource should be built
- shouldBuild = func(resourceName: string): bool,
-
- // asynchronously start building the specific resource.
- // call cb when completed
- build = func(resourceName: string, cb: func(success: bool, status: string): void): void
- }
- ```
-
-
- The identifier for the build task.
-
-
- The factory function.
-
-
-
-
- Parameter `p1` does not seem to be used or referenced in game binaries.\
- **Note:** When called for networked entities, a `CRemoveAllWeaponsEvent` will be created per request.
-
-
- The ped entity
-
-
-
-
- Removes the blip from your map.
-
-
- Blip handle to remove.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Removes a handler for changes to a state bag.
-
-
- The cookie.
-
-
-
-
- REMOVE_WEAPON_COMPONENT_FROM_PED
-
-
-
-
- This native removes a specified weapon from your selected ped.
- Weapon Hashes: pastebin.com/0wwDZgkF
- Example:
- C#:
- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);
- C++:
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);
- The code above removes the knife from the player.
-
-
-
-
- Requests the specified player to buy the passed SKU. This'll pop up a prompt on the client, which upon acceptance
- will open the browser prompting further purchase details.
-
-
- The player handle
-
-
- The ID of the SKU.
-
-
-
-
- Writes the specified data to a file in the specified resource.
- Using a length of `-1` will automatically detect the length assuming the data is a C string.
-
-
- The name of the resource.
-
-
- The name of the file.
-
-
- The data to write to the file.
-
-
- The length of the written data.
-
-
- A value indicating if the write succeeded.
-
-
-
-
- Scans the resources in the specified resource root. This function is only available in the 'monitor mode' process and is
- not available for user resources.
-
-
- The resource directory to scan.
-
-
- A callback that will receive an object with results.
-
-
-
-
- Schedules the specified resource to run a tick as soon as possible, bypassing the server's fixed tick rate.
-
-
- The resource to tick.
-
-
-
-
- <!--
- _loc1_.map((name, idx) => `| ${idx} | ${name} |  |`).join('\n')
- -->
-
- Sets the displayed sprite for a specific blip.
-
- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
-
-
- The blip to change.
-
-
- The sprite ID to set.
-
-
-
-
- SET_CONVAR
-
-
-
-
- Used to replicate a server variable onto clients.
-
-
- The console variable name.
-
-
- The value to set for the given console variable.
-
-
-
-
- SET_CONVAR_SERVER_INFO
-
-
-
-
- SET_CURRENT_PED_WEAPON
-
-
-
-
- Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
-
-
- The entity to change coordinates for.
-
-
- The X coordinate.
-
-
- The Y coordinate.
-
-
- The Z coordinate, ground level.
-
-
- Unused by the game, potentially used by debug builds of GTA in order to assert whether or not an entity was alive.
-
-
- Whether to disable physics for dead peds, too, and not just living peds.
-
-
- A special flag used for ragdolling peds.
-
-
- Whether to clear any entities in the target area.
-
-
-
-
- It overrides the default distance culling radius of an entity. Set to `0.0` to reset.
- If you want to interact with an entity outside of your players' scopes set the radius to a huge number.
-
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
- The entity handle to override the distance culling radius.
-
-
- The new distance culling radius.
-
-
-
-
- Set the heading of an entity in degrees also known as "Yaw".
-
-
- The entity to set the heading for.
-
-
- The heading in degrees.
-
-
-
-
- It allows to flag an entity to ignore the request control filter policy.
-
-
- The entity handle to ignore the request control filter.
-
-
- Define if the entity ignores the request control filter policy.
-
-
-
-
- SET_ENTITY_ROTATION
-
-
- The order yaw pitch roll are applied, see [`GET_ENTITY_ROTATION`](#\_0xAFBD61CC738D9EB9).
-
-
-
-
- Sets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The entity to set the routing bucket for.
-
-
- The bucket ID.
-
-
-
-
- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
-
-
-
-
- SET_GAME_TYPE
-
-
-
-
- Sets the handler for HTTP requests made to the executing resource.
-
- Example request URL: `http://localhost:30120/http-test/ping` - this request will be sent to the `http-test` resource with the `/ping` path.
-
- The handler function assumes the following signature:
-
- ```ts
- function HttpHandler(
- request: {
- address: string;
- headers: Record<string, string>;
- method: string;
- path: string;
- setDataHandler(handler: (data: string) => void): void;
- setDataHandler(handler: (data: ArrayBuffer) => void, binary: 'binary'): void;
- setCancelHandler(handler: () => void): void;
- },
- response: {
- writeHead(code: number, headers?: Record<string, string | string[]>): void;
- write(data: string): void;
- send(data?: string): void;
- }
- ): void;
- ```
-
- * **request**: The request object.
- * **address**: The IP address of the request sender.
- * **path**: The path to where the request was sent.
- * **headers**: The headers sent with the request.
- * **method**: The request method.
- * **setDataHandler**: Sets the handler for when a data body is passed with the request. Additionally you can pass the `'binary'` argument to receive a `BufferArray` in JavaScript or `System.Byte[]` in C# (has no effect in Lua).
- * **setCancelHandler**: Sets the handler for when the request is cancelled.
- * **response**: An object to control the response.
- * **writeHead**: Sets the status code & headers of the response. Can be only called once and won't work if called after running other response functions.
- * **write**: Writes to the response body without sending it. Can be called multiple times.
- * **send**: Writes to the response body and then sends it along with the status code & headers, finishing the request.
-
-
- The handler function.
-
-
-
-
- SET_MAP_NAME
-
-
-
-
- NativeDB Added Parameter 4: BOOL p3
-
-
-
-
- Sets the armor of the specified ped.
- ped: The Ped to set the armor of.
- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.
-
-
-
-
- SET_PED_CAN_RAGDOLL
-
-
-
-
- This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of components
-
- **0**: Face\
- **1**: Mask\
- **2**: Hair\
- **3**: Torso\
- **4**: Leg\
- **5**: Parachute / bag\
- **6**: Shoes\
- **7**: Accessory\
- **8**: Undershirt\
- **9**: Kevlar\
- **10**: Badge\
- **11**: Torso 2
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
-
- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
- The ped handle.
-
-
- The component that you want to set.
-
-
- The drawable id that is going to be set.
-
-
- The texture id of the drawable.
-
-
- 0 to 3.
-
-
-
-
- cpp
- // Potential names and hash collisions included as comments
- enum ePedConfigFlags {
- _0x67D1A445 = 0,
- _0xC63DE95E = 1,
- CPED_CONFIG_FLAG_NoCriticalHits = 2,
- CPED_CONFIG_FLAG_DrownsInWater = 3,
- CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
- _0x37D196F4 = 5,
- _0xE2462399 = 6,
- CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
- _0xEDDEB838 = 8,
- _0xB398B6FD = 9,
- _0xF6664E68 = 10,
- _0xA05E7CA3 = 11,
- _0xCE394045 = 12,
- CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
- _0xCD8D1411 = 14,
- _0xB031F1A9 = 15,
- _0xFE65BEE3 = 16,
- CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
- _0x380165BD = 18,
- _0x07C045C7 = 19,
- _0x583B5E2D = 20,
- _0x475EDA58 = 21,
- _0x8629D05B = 22,
- _0x1522968B = 23,
- CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
- _0x4CC09C4B = 25,
- _0x034F3053 = 26,
- _0xD91BA7CC = 27,
- _0x5C8DC66E = 28,
- _0x8902EAA0 = 29,
- _0x6580B9D2 = 30,
- _0x0EF7A297 = 31,
- _0x6BF86E5B = 32,
- CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
- CPED_CONFIG_FLAG_HasHelmet = 34,
- CPED_CONFIG_FLAG_UseHelmet = 35,
- _0xEEB3D630 = 36,
- _0xB130D17B = 37,
- _0x5F071200 = 38,
- CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
- _0xC287AAFF = 40,
- _0x203328CC = 41,
- CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
- CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
- CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
- _0xEC4A8ACF = 45,
- _0xDB115BFA = 46,
- CPED_CONFIG_FLAG_PedBeingDeleted = 47,
- CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
- _0xF8E99565 = 49,
- _0xDD17FEE6 = 50,
- _0x7ED9B2C9 = 51,
- _0x655E8618 = 52,
- _0x5A6C1F6E = 53,
- _0xD749FC41 = 54,
- _0x357F63F3 = 55,
- _0xC5E60961 = 56,
- _0x29275C3E = 57,
- CPED_CONFIG_FLAG_IsFiring = 58,
- CPED_CONFIG_FLAG_WasFiring = 59,
- CPED_CONFIG_FLAG_IsStanding = 60,
- CPED_CONFIG_FLAG_WasStanding = 61,
- CPED_CONFIG_FLAG_InVehicle = 62,
- CPED_CONFIG_FLAG_OnMount = 63,
- CPED_CONFIG_FLAG_AttachedToVehicle = 64,
- CPED_CONFIG_FLAG_IsSwimming = 65,
- CPED_CONFIG_FLAG_WasSwimming = 66,
- CPED_CONFIG_FLAG_IsSkiing = 67,
- CPED_CONFIG_FLAG_IsSitting = 68,
- CPED_CONFIG_FLAG_KilledByStealth = 69,
- CPED_CONFIG_FLAG_KilledByTakedown = 70,
- CPED_CONFIG_FLAG_Knockedout = 71,
- _0x3E3C4560 = 72,
- _0x2994C7B7 = 73,
- _0x6D59D275 = 74,
- CPED_CONFIG_FLAG_UsingCoverPoint = 75,
- CPED_CONFIG_FLAG_IsInTheAir = 76,
- _0x2D493FB7 = 77,
- CPED_CONFIG_FLAG_IsAimingGun = 78,
- _0x14D69875 = 79,
- _0x40B05311 = 80,
- _0x8B230BC5 = 81,
- _0xC74E5842 = 82,
- _0x9EA86147 = 83,
- _0x674C746C = 84,
- _0x3E56A8C2 = 85,
- _0xC144A1EF = 86,
- _0x0548512D = 87,
- _0x31C93909 = 88,
- _0xA0269315 = 89,
- _0xD4D59D4D = 90,
- _0x411D4420 = 91,
- _0xDF4AEF0D = 92,
- CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
- _0x300E4CD3 = 94,
- _0xF1C5BF04 = 95,
- _0x89C2EF13 = 96,
- CPED_CONFIG_FLAG_VaultFromCover = 97,
- _0x02A852C8 = 98,
- _0x3D9407F1 = 99,
- _0x319B4558 = 100,
- CPED_CONFIG_FLAG_ForcedAim = 101,
- _0xB942D71A = 102,
- _0xD26C55A8 = 103,
- _0xB89E703B = 104,
- CPED_CONFIG_FLAG_ForceReload = 105,
- _0xD9E73DA2 = 106,
- _0xFF71DC2C = 107,
- _0x1E27E8D8 = 108,
- _0xF2C53966 = 109,
- _0xC4DBE247 = 110,
- _0x83C0A4BF = 111,
- _0x0E0FAF8C = 112,
- _0x26616660 = 113,
- _0x43B80B79 = 114,
- _0x0D2A9309 = 115,
- _0x12C1C983 = 116,
- CPED_CONFIG_FLAG_BumpedByPlayer = 117,
- _0xE586D504 = 118,
- _0x52374204 = 119,
- CPED_CONFIG_FLAG_IsHandCuffed = 120,
- CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
- CPED_CONFIG_FLAG_DisableMelee = 122,
- _0xFE714397 = 123,
- _0xB3E660BD = 124,
- _0x5FED6BFD = 125,
- _0xC9D6F66F = 126,
- _0x519BC986 = 127,
- CPED_CONFIG_FLAG_CanBeAgitated = 128,
- _0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
- _0xDAB70E9F = 130,
- _0xE569438A = 131,
- _0xBBC77D6D = 132,
- _0xCB59EF0F = 133,
- _0x8C5EA971 = 134,
- CPED_CONFIG_FLAG_IsScuba = 135,
- CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
- _0xDCE59B58 = 137,
- CPED_CONFIG_FLAG_RidingTrain = 138,
- CPED_CONFIG_FLAG_ArrestResult = 139,
- CPED_CONFIG_FLAG_CanAttackFriendly = 140,
- _0x98A4BE43 = 141,
- _0x6901E731 = 142,
- _0x9EC9BF6C = 143,
- _0x42841A8F = 144,
- CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
- CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
- CPED_CONFIG_FLAG_StairsDetected = 147,
- CPED_CONFIG_FLAG_SlopeDetected = 148,
- _0x1A15670B = 149,
- _0x61786EE5 = 150,
- _0xCB9186BD = 151,
- _0xF0710152 = 152,
- _0x43DFE310 = 153,
- _0xC43C624E = 154,
- CPED_CONFIG_FLAG_CanPerformArrest = 155,
- CPED_CONFIG_FLAG_CanPerformUncuff = 156,
- CPED_CONFIG_FLAG_CanBeArrested = 157,
- _0xF7960FF5 = 158,
- _0x59564113 = 159,
- _0x0C6C3099 = 160,
- _0x645F927A = 161,
- _0xA86549B9 = 162,
- _0x8AAF337A = 163,
- _0x13BAA6E7 = 164,
- _0x5FB9D1F5 = 165,
- CPED_CONFIG_FLAG_IsInjured = 166,
- _0x6398A20B = 167,
- _0xD8072639 = 168,
- _0xA05B1845 = 169,
- _0x83F6D220 = 170,
- _0xD8430331 = 171,
- _0x4B547520 = 172,
- _0xE66E1406 = 173,
- _0x1C4BFE0C = 174,
- _0x90008BFA = 175,
- _0x07C7A910 = 176,
- _0xF15F8191 = 177,
- _0xCE4E8BE2 = 178,
- _0x1D46E4F2 = 179,
- CPED_CONFIG_FLAG_IsInCustody = 180,
- _0xE4FD9B3A = 181,
- _0x67AE0812 = 182,
- CPED_CONFIG_FLAG_IsAgitated = 183,
- CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
- _0x7B2D325E = 185,
- CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
- CPED_CONFIG_FLAG_HasHurtStarted = 187,
- CPED_CONFIG_FLAG_DisableHurt = 188,
- CPED_CONFIG_FLAG_PlayerIsWeird = 189,
- _0x32FC208B = 190,
- _0x0C296E5A = 191,
- _0xE63B73EC = 192,
- _0x04E9CC80 = 193,
- CPED_CONFIG_FLAG_UsingScenario = 194,
- CPED_CONFIG_FLAG_VisibleOnScreen = 195,
- _0xD88C58A1 = 196,
- _0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
- _0xEA02B420 = 198,
- _0x3F559CFF = 199,
- _0x8C55D029 = 200,
- _0x5E6466F6 = 201,
- _0xEB5AD706 = 202,
- _0x0EDDDDE7 = 203,
- _0xA64F7B1D = 204,
- _0x48532CBA = 205,
- _0xAA25A9E7 = 206,
- _0x415B26B9 = 207,
- CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
- CPED_CONFIG_FLAG_DodgedPlayer = 209,
- _0x67405504 = 210,
- _0x75DDD68C = 211,
- _0x2AD879B4 = 212,
- _0x51486F91 = 213,
- _0x32F79E21 = 214,
- _0xBF099213 = 215,
- _0x054AC8E2 = 216,
- _0x14E495CC = 217,
- _0x3C7DF9DF = 218,
- _0x848FFEF2 = 219,
- CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
- _0x2618E1CF = 221,
- _0x84F722FA = 222,
- _0xD1B87B1F = 223,
- _0x728AA918 = 224,
- CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
- CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
- _0x59E91185 = 227,
- _0x1EA7225F = 228,
- CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
- _0x6DCA7D88 = 230,
- _0xFC3E572D = 231,
- _0x08E9F9CF = 232,
- _0x2D3BA52D = 233,
- _0xFD2F53EA = 234,
- _0x31A1B03B = 235,
- CPED_CONFIG_FLAG_IsHoldingProp = 236,
- _0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
- _0xCE57C9A3 = 238,
- _0x26149198 = 239,
- _0x1B33B598 = 240,
- _0x719B6E87 = 241,
- _0x13E8E8E8 = 242,
- _0xF29739AE = 243,
- _0xABEA8A74 = 244,
- _0xB60EA2BA = 245,
- _0x536B0950 = 246,
- _0x0C754ACA = 247,
- CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
- _0x12659168 = 249,
- _0x1BDF2F04 = 250,
- _0x7728FAA3 = 251,
- _0x6A807ED8 = 252,
- CPED_CONFIG_FLAG_OnStairs = 253,
- _0xE1A2F73F = 254,
- _0x5B3697C8 = 255,
- _0xF1EB20A9 = 256,
- _0x8B7DF407 = 257,
- _0x329DCF1A = 258,
- _0x8D90DD1B = 259,
- _0xB8A292B7 = 260,
- _0x8374B087 = 261,
- _0x2AF558F0 = 262,
- _0x82251455 = 263,
- _0x30CF498B = 264,
- _0xE1CD50AF = 265,
- _0x72E4AE48 = 266,
- _0xC2657EA1 = 267,
- _0x29FF6030 = 268,
- _0x8248A5EC = 269,
- CPED_CONFIG_FLAG_OnStairSlope = 270,
- _0xA0897933 = 271,
- CPED_CONFIG_FLAG_DontBlipCop = 272,
- CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
- _0xF7823618 = 274,
- _0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
- CPED_CONFIG_FLAG_EdgeDetected = 276,
- _0x92B67896 = 277,
- _0xCAD677C9 = 278,
- CPED_CONFIG_FLAG_AvoidTearGas = 279,
- _0x5276AC7B = 280,
- _0x1032692A = 281,
- _0xDA23E7F1 = 282,
- _0x9139724D = 283,
- _0xA1457461 = 284,
- _0x4186E095 = 285,
- _0xAC68E2EB = 286,
- CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
- CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
- _0x1B9EE8A1 = 289,
- _0xF3F5758C = 290,
- _0x2A9307F1 = 291,
- _0x7403D216 = 292,
- _0xA06A3C6C = 293,
- CPED_CONFIG_FLAG_DisableShockingEvents = 294,
- _0xF8DA25A5 = 295,
- _0x7EF55802 = 296,
- _0xB31F1187 = 297,
- _0x84315402 = 298,
- _0x0FD69867 = 299,
- _0xC7829B67 = 300,
- CPED_CONFIG_FLAG_DisablePedConstraints = 301,
- _0x6D23CF25 = 302,
- _0x2ADA871B = 303,
- _0x47BC8A58 = 304,
- _0xEB692FA5 = 305,
- _0x4A133C50 = 306,
- _0xC58099C3 = 307,
- _0xF3D76D41 = 308,
- _0xB0EEE9F2 = 309,
- CPED_CONFIG_FLAG_IsInCluster = 310,
- _0x0FA153EF = 311,
- _0xD73F5CD3 = 312,
- _0xD4136C22 = 313,
- _0xE404CA6B = 314,
- _0xB9597446 = 315,
- _0xD5C98277 = 316,
- _0xD5060A9C = 317,
- _0x3E5F1CBB = 318,
- _0xD8BE1D54 = 319,
- _0x0B1F191F = 320,
- _0xC995167A = 321,
- CPED_CONFIG_FLAG_HasHighHeels = 322,
- _0x86B01E54 = 323,
- _0x3A56FE15 = 324,
- _0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
- _0xBBF47729 = 326,
- _0x22B668A8 = 327,
- _0x2624D4D4 = 328,
- CPED_CONFIG_FLAG_DisableTalkTo = 329,
- CPED_CONFIG_FLAG_DontBlip = 330,
- CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
- _0x630F55F3 = 332,
- _0x150468FD = 333,
- _0x914EBD6B = 334,
- _0x79AF3B6D = 335,
- _0x75C7A632 = 336,
- _0x52D530E2 = 337,
- _0xDB2A90E0 = 338,
- _0x5922763D = 339,
- _0x12ADB567 = 340,
- _0x105C8518 = 341,
- _0x106F703D = 342,
- _0xED152C3E = 343,
- _0xA0EFE6A8 = 344,
- _0xBF348C82 = 345,
- _0xCDDFE830 = 346,
- _0x7B59BD9B = 347,
- _0x0124C788 = 348,
- CPED_CONFIG_FLAG_EquipJetpack = 349,
- _0x08D361A5 = 350,
- _0xE13D1F7C = 351,
- _0x40E25FB9 = 352,
- _0x930629D9 = 353,
- _0xECCF0C7F = 354,
- _0xB6E9613B = 355,
- _0x490C0478 = 356,
- _0xE8865BEA = 357,
- _0xF3C34A29 = 358,
- CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
- _0xF660E115 = 360,
- _0xAB0E6DED = 361,
- CPED_CONFIG_FLAG_HasReserveParachute = 362,
- CPED_CONFIG_FLAG_UseReserveParachute = 363,
- _0x5C5D9CD3 = 364,
- _0x8F7701F3 = 365,
- _0xBC4436AD = 366,
- _0xD7E07D37 = 367,
- _0x03C4FD24 = 368,
- _0x7675789A = 369,
- _0xB7288A88 = 370,
- _0xC06B6291 = 371,
- _0x95A4A805 = 372,
- _0xA8E9A042 = 373,
- CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
- _0xBAC674B3 = 375,
- _0x147F1FFB = 376,
- _0x4376DD79 = 377,
- _0xCD3DB518 = 378,
- _0xFE4BA4B6 = 379,
- _0x5DF03A55 = 380,
- _0xBCD816CD = 381,
- _0xCF02DD69 = 382,
- _0xF73AFA2E = 383,
- _0x80B9A9D0 = 384,
- _0xF601F7EE = 385,
- _0xA91350FC = 386,
- _0x3AB23B96 = 387,
- CPED_CONFIG_FLAG_IsClimbingLadder = 388,
- CPED_CONFIG_FLAG_HasBareFeet = 389,
- _0xB4B1CD4C = 390,
- _0x5459AFB8 = 391,
- _0x54F27667 = 392,
- _0xC11D3E8F = 393,
- _0x5419EB3E = 394,
- _0x82D8DBB4 = 395,
- _0x33B02D2F = 396,
- _0xAE66176D = 397,
- _0xA2692593 = 398,
- _0x714C7E31 = 399,
- _0xEC488AC7 = 400,
- _0xAE398504 = 401,
- _0xABC58D72 = 402,
- _0x5E5B9591 = 403,
- _0x6BA1091E = 404,
- _0x77840177 = 405,
- _0x1C7ACAC4 = 406,
- _0x124420E9 = 407,
- _0x75A65587 = 408,
- _0xDFD2D55B = 409,
- _0xBDD39919 = 410,
- _0x43DEC267 = 411,
- _0xE42B7797 = 412,
- CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
- _0x4F8149F5 = 414,
- _0xDD9ECA7A = 415,
- _0x9E7EF9D2 = 416,
- _0x2C6ED942 = 417,
- CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
- _0xA488727D = 419,
- _0xCFF5F6DE = 420,
- _0x6D614599 = 421,
- CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
- _0xFE401D26 = 423,
- CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
- _0x2B42AE82 = 425,
- _0x7A95734F = 426,
- _0xDF4D8617 = 427,
- _0x578F1F14 = 428,
- CPED_CONFIG_FLAG_DisableStartEngine = 429,
- CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
- _0x153C9500 = 431,
- _0xCB7A632E = 432,
- _0xDE727981 = 433,
- CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
- _0x12BBB935 = 435,
- _0xAD0A1277 = 436,
- _0xEA6AA46A = 437,
- CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
- _0xCB7F3A1E = 439,
- _0x50178878 = 440,
- _0x051B4F0D = 441,
- _0x2FC3DECC = 442,
- _0xC0030B0B = 443,
- _0xBBDAF1E9 = 444,
- _0x944FE59C = 445,
- _0x506FBA39 = 446,
- _0xDD45FE84 = 447,
- _0xE698AE75 = 448,
- _0x199633F8 = 449,
- CPED_CONFIG_FLAG_PedIsArresting = 450,
- CPED_CONFIG_FLAG_IsDecoyPed = 451,
- _0x3A251D83 = 452,
- _0xA56F6986 = 453,
- _0x1D19C622 = 454,
- _0xB68D3EAB = 455,
- CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
- _0x4BD5EBAD = 457,
- }
-
-
-
-
- Sets Ped Default Clothes
-
-
-
-
- Used for freemode (online) characters.
-
- Indices:
-
- 1. black
- 2. very light blue/green
- 3. dark blue
- 4. brown
- 5. darker brown
- 6. light brown
- 7. blue
- 8. light blue
- 9. pink
- 10. yellow
- 11. purple
- 12. black
- 13. dark green
- 14. light brown
- 15. yellow/black pattern
- 16. light colored spiral pattern
- 17. shiny red
- 18. shiny half blue/half red
- 19. half black/half light blue
- 20. white/red perimter
- 21. green snake
- 22. red snake
- 23. dark blue snake
- 24. dark yellow
- 25. bright yellow
- 26. all black
- 27. red small pupil
- 28. devil blue/black
- 29. white small pupil
- 30. glossed over
-
-
-
-
- Sets the various freemode face features, e.g. nose length, chin shape.
-
- **Indexes (From 0 to 19):**
-
- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
-
- * **0**: Nose Width (Thin/Wide)
- * **1**: Nose Peak (Up/Down)
- * **2**: Nose Length (Long/Short)
- * **3**: Nose Bone Curveness (Crooked/Curved)
- * **4**: Nose Tip (Up/Down)
- * **5**: Nose Bone Twist (Left/Right)
- * **6**: Eyebrow (Up/Down)
- * **7**: Eyebrow (In/Out)
- * **8**: Cheek Bones (Up/Down)
- * **9**: Cheek Sideways Bone Size (In/Out)
- * **10**: Cheek Bones Width (Puffed/Gaunt)
- * **11**: Eye Opening (Both) (Wide/Squinted)
- * **12**: Lip Thickness (Both) (Fat/Thin)
- * **13**: Jaw Bone Width (Narrow/Wide)
- * **14**: Jaw Bone Shape (Round/Square)
- * **15**: Chin Bone (Up/Down)
- * **16**: Chin Bone Length (In/Out or Backward/Forward)
- * **17**: Chin Bone Shape (Pointed/Square)
- * **18**: Chin Hole (Chin Bum)
- * **19**: Neck Thickness (Thin/Thick)
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- An integer ranging from 0 to 19
-
-
- A float ranging from -1.0 to 1.0
-
-
-
-
- Used for freemode (online) characters.
-
-
-
-
- For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
-
- **Other information:**
-
- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
-
- This native function is often called prior to calling natives such as:
-
- * [`SetPedHairColor`](#0xBB43F090)
- * [`SetPedHeadOverlayColor`](#0x78935A27)
- * [`SetPedHeadOverlay`](#0xD28DBA90)
- * [`SetPedFaceFeature`](#0x6C8D4458)
-
-
- The ped entity
-
-
- Controls the shape of the first ped's face
-
-
- Controls the shape of the second ped's face
-
-
- Controls the shape of the third ped's face
-
-
- Controls the first id's skin tone
-
-
- Controls the second id's skin tone
-
-
- Controls the third id's skin tone
-
-
- 0.0 - 1.0 Of whose characteristics to take Mother -> Father (shapeFirstID and shapeSecondID)
-
-
- 0.0 - 1.0 Of whose characteristics to take Mother -> Father (skinFirstID and skinSecondID)
-
-
- Overrides the others in favor of the third IDs.
-
-
- IsParent is set for "children" of the player character's grandparents during old-gen character creation. It has unknown effect otherwise.
-
-
-
-
- ```
- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.
- overlayID Part Index, to disable
- 0 Blemishes 0 - 23, 255
- 1 Facial Hair 0 - 28, 255
- 2 Eyebrows 0 - 33, 255
- 3 Ageing 0 - 14, 255
- 4 Makeup 0 - 74, 255
- 5 Blush 0 - 6, 255
- 6 Complexion 0 - 11, 255
- 7 Sun Damage 0 - 10, 255
- 8 Lipstick 0 - 9, 255
- 9 Moles/Freckles 0 - 17, 255
- 10 Chest Hair 0 - 16, 255
- 11 Body Blemishes 0 - 11, 255
- 12 Add Body Blemishes 0 - 1, 255
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- The overlay id displayed up above.
-
-
- An integer representing the index (from 0 to `_GET_NUM_OVERLAY_VALUES(overlayID)-1`)
-
-
- A float ranging from 0.0 to 1.0
-
-
-
-
- ```
- Used for freemode (online) characters.
- Called after SET_PED_HEAD_OVERLAY().
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
- The ped entity
-
-
- An integer representing the overlay id
-
-
- 1 for eyebrows, beards, and chest hair; 2 for blush and lipstick; and 0 otherwise, though not called in those cases.
-
-
- An integer representing the primary color id
-
-
- An integer representing the secondary color id
-
-
-
-
- SET_PED_INTO_VEHICLE
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669). -2 for the first available seat.
-
-
-
-
- This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of props
-
- **0**: Hat\
- **1**: Glass\
- **2**: Ear\
- **6**: Watch\
- **7**: Bracelet
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
-
- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
- The ped handle.
-
-
- The component that you want to set.
-
-
- The drawable id that is going to be set.
-
-
- The texture id of the drawable.
-
-
- Attached or not.
-
-
-
-
- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.
-
- List of component/props ID:
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
- Known values:
-
-
-
-
- p4/p5: Unusued in TU27
-
- ### Ragdoll Types
-
- **0**: CTaskNMRelax
- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
- **Else**: CTaskNMBalance
-
-
- Time(ms) Ped is in ragdoll mode; only applies to ragdoll types 0 and not 1.
-
-
-
-
- Return variable is never used in R*'s scripts.
- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
- x, y, and z are coordinates, most likely to where the ped will fall.
- p7 is probably the force of the fall, but untested, so I left the variable name the same.
- p8 to p13 are always 0f in R*'s scripts.
- (Simplified) Example of the usage of the function from R*'s scripts:
- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
-
-
-
-
- Flags:
- SPC_AMBIENT_SCRIPT = (1 << 1),
- SPC_CLEAR_TASKS = (1 << 2),
- SPC_REMOVE_FIRES = (1 << 3),
- SPC_REMOVE_EXPLOSIONS = (1 << 4),
- SPC_REMOVE_PROJECTILES = (1 << 5),
- SPC_DEACTIVATE_GADGETS = (1 << 6),
- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
- SPC_ALLOW_PAD_SHAKE = (1 << 12)
- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
-
-
-
-
- Sets the culling radius for the specified player.
- Set to `0.0` to reset.
-
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
- The player to set the culling radius for.
-
-
- The radius.
-
-
-
-
- Simply sets you as invincible (Health will not deplete).
- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:
- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);
-
-
-
-
- Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
-
- As per usual, make sure to request the model first and wait until it has loaded.
-
-
- The player to set the model for
-
-
- The model to use
-
-
-
-
- Sets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
- The player to set the routing bucket for.
-
-
- The bucket ID.
-
-
-
-
- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect
- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files
- disableNoMission- Disables When Off Mission- appears to always be false
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP](#\_0x21C7A35B) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
- The key to set
-
-
- The value to write
-
-
-
-
- Sets the entity lockdown mode for a specific routing bucket.
-
- Lockdown modes are:
-
- | Mode | Meaning |
- | ---------- | ---------------------------------------------------------- |
- | `strict` | No entities can be created by clients at all. |
- | `relaxed` | Only script-owned entities created by clients are blocked. |
- | `inactive` | Clients can create any entity they want. |
-
-
- The routing bucket ID to adjust.
-
-
- One of aforementioned modes.
-
-
-
-
- Sets whether or not the specified routing bucket has automatically-created population enabled.
-
-
- The routing bucket ID to adjust.
-
-
- `true` to enable population, `false` to disable population.
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- SET_VEHICLE_ALARM
-
-
-
-
- p2 often set to 1000.0 in the decompiled scripts.
-
-
-
-
- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
-
- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
-
-
- The vehicle to modify.
-
-
- One of the default color values of the vehicle.
-
-
-
-
- colorPrimary & colorSecondary are the paint indexes for the vehicle.
-
- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- Sets the dirt level of the passed vehicle.
-
-
- The vehicle to set.
-
-
- A number between 0.0 and 15.0 representing the vehicles dirt level.
-
-
-
-
- See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
-
-
-
-
- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
- // They use 10 in am_mp_property_int, don't know what it does atm.
- enum eCarLock {
- CARLOCK_NONE = 0,
- CARLOCK_UNLOCKED = 1,
- CARLOCK_LOCKED = 2,
- CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
- CARLOCK_LOCKED_PLAYER_INSIDE = 4,
- CARLOCK_LOCKED_INITIALLY = 5,
- CARLOCK_FORCE_SHUT_DOORS = 6,
- CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
- };
-
-
-
-
- SET_VEHICLE_NUMBER_PLATE_TEXT
-
-
- The vehicle to set the plate for
-
-
- The text to set the plate to, 8 chars maximum
-
-
-
-
- START_FIND_KVP
-
-
- A prefix match
-
-
- A KVP find handle to use with [FIND_KVP](#\_0xBD7BEBC5) and close with [END_FIND_KVP](#\_0xB3210203)
-
-
-
-
- START_RESOURCE
-
-
-
-
- STOP_RESOURCE
-
-
-
-
- Makes the specified ped attack the target ped.
- p2 should be 0
- p3 should be 16
-
-
-
-
- Example:
- TASK::TASK_DRIVE_BY(l_467[1/*22*/], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
- Needs working example. Doesn't seem to do anything.
- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
-
-
-
-
- speed 1.0 = walk, 2.0 = run
- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle
- p6 is always 0
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
-
-
- TASK_EVERYONE_LEAVE_VEHICLE
-
-
-
-
- TASK_GO_STRAIGHT_TO_COORD
-
-
- The ped handle.
-
-
- The x coordinate.
-
-
- The y coordinate.
-
-
- The z coordinate.
-
-
- The ped movement speed.
-
-
- \-1 , other values appear to break the ped movement.
-
-
- The heading you want the ped to be on x,y,z coord.
-
-
- The distance from x,y,z where the ped will start sliding.
-
-
-
-
- example from fm_mission_controller
- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
-
-
-
-
- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
-
-
-
-
- In the scripts, p3 was always -1.
- p3 seems to be duration or timeout of turn animation.
- Also facingPed can be 0 or -1 so ped will just raise hands up.
-
-
-
-
- Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
-
-
-
-
- Flags from decompiled scripts:
- 0 = normal exit and closes door.
- 1 = normal exit and closes door.
- 16 = teleports outside, door kept closed. (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
- 64 = normal exit and closes door, maybe a bit slower animation than 0.
- 256 = normal exit but does not close the door.
- 4160 = ped is throwing himself out, even when the vehicle is still.
- 262144 = ped moves to passenger seat first, then exits normally
- Others to be tried out: 320, 512, 131072.
-
-
-
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
- ```
- float blendInSpeed > normal speed is 8.0f
- ----------------------
- float blendOutSpeed > normal speed is 8.0f
- ----------------------
- int duration: time in millisecond
- ----------------------
- -1 _ _ _ _ _ _ _> Default (see flag)
- 0 _ _ _ _ _ _ _ > Not play at all
- Small value _ _ > Slow down animation speed
- Other _ _ _ _ _ > freeze player control until specific time (ms) has
- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be
- _ _ _ _ _ _ _ _ _ controllable.)
- int flag:
- ----------------------
- enum eAnimationFlags
- {
- ANIM_FLAG_NORMAL = 0,
- ANIM_FLAG_REPEAT = 1,
- ANIM_FLAG_STOP_LAST_FRAME = 2,
- ANIM_FLAG_UPPERBODY = 16,
- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,
- ANIM_FLAG_CANCELABLE = 120,
- };
- Odd number : loop infinitely
- Even number : Freeze at last frame
- Multiple of 4: Freeze at last frame but controllable
- 01 to 15 > Full body
- 10 to 31 > Upper body
- 32 to 47 > Full body > Controllable
- 48 to 63 > Upper body > Controllable
- ...
- 001 to 255 > Normal
- 256 to 511 > Garbled
- ...
- playbackRate:
- values are between 0.0 and 1.0
- lockX:
- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3
- > 1 for mini@sprunk
- lockY:
- 0 in most cases
- 1 for missfam5_yoga, missfra1mcs_2_crew_react
- lockZ:
- 0 for single player
- Can be 1 but only for MP
- ```
-
-
-
-
- It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
-
- The target ped
-
-
- Name of the animation dictionary
-
-
- Name of the animation
-
-
- Initial X position of the task
-
-
- Initial Y position of the task
-
-
- Initial Z position of the task
-
-
- Initial X rotation of the task, doesn't seem to have any effect
-
-
- Initial Y rotation of the task, doesn't seem to have any effect
-
-
- Initial Z rotation of the task
-
-
- Adjust character speed to fully enter animation
-
-
- Adjust character speed to fully exit animation (useless `ClearPedTasksImmediately()` is called)
-
-
- Time in milliseconds
-
-
- Value between 0.0 and 1.0, lets you start an animation from the given point
-
-
-
-
- TASK_REACT_AND_FLEE_PED
-
-
-
-
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
- Entity aimedentity;
- Player player = PLAYER::PLAYER_ID();
- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
- //bg is an array of peds
- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- TASK_WARP_PED_INTO_VEHICLE
-
-
- See eSeatPosition declared in [`IS_VEHICLE_SEAT_FREE`](#\_0x22AC59A870E6A669).
-
-
-
-
- TEMP_BAN_PLAYER
-
-
-
-
- The backing function for TriggerClientEvent.
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- The backing function for TriggerLatentClientEvent.
-
-
-
-
- VERIFY_PASSWORD_HASH
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
- A boolean.
-
-
-
-
- Adds a rectangular blip for the specified coordinates/area.
-
- It is recommended to use [SET_BLIP_ROTATION](#\_0xF87683CDF73C3F6E) and [SET_BLIP_COLOUR](#\_0x03D7FB09E75D6B7E) to make the blip not rotate along with the camera.
-
- By default, the blip will show as a *regular* blip with the specified color/sprite if it is outside of the minimap view.
-
- Example image:
- 
- 
-
- (Native name is *likely* to actually be ADD_BLIP_FOR_AREA, but due to the usual reasons this can't be confirmed)
-
-
-
-
- Creates a blip for the specified coordinates. You can use `SET_BLIP_` natives to change the blip.
-
-
-
-
- Create a blip that by default is red (enemy), you can use [SET_BLIP_AS_FRIENDLY](#\_0xC6F43D0E) to make it blue (friend).\
- Can be used for objects, vehicles and peds.
-
- Example of enemy:
- 
- Example of friend:
- 
-
-
-
-
- Create a blip with a radius for the specified coordinates (it doesnt create the blip sprite, so you need to use [AddBlipCoords](#\_0xC6F43D0E))
-
- Example image:
- 
-
-
-
-
- Applies an Item from a PedDecorationCollection to a ped. These include tattoos and shirt decals.
- collection - PedDecorationCollection filename hash
- overlay - Item name hash
- Example:
- Entry inside "mpbeach_overlays.xml" -
- <Item>
- <uvPos x="0.500000" y="0.500000" />
- <scale x="0.600000" y="0.500000" />
- <rotation value="0.000000" />
- <nameHash>FM_Hair_Fuzz</nameHash>
- <txdHash>mp_hair_fuzz</txdHash>
- <txtHash>mp_hair_fuzz</txtHash>
- <zone>ZONE_HEAD</zone>
- <type>TYPE_TATTOO</type>
- <faction>FM</faction>
- <garment>All</garment>
- <gender>GENDER_DONTCARE</gender>
- <award />
- <awardLevel />
- </Item>
- Code:
- PED::_0x5F5D1665E352A839(PLAYER::PLAYER_PED_ID(), MISC::GET_HASH_KEY("mpbeach_overlays"), MISC::GET_HASH_KEY("fm_hair_fuzz"))
-
-
-
-
- Adds a handler for changes to a state bag.
-
- The function called expects to match the following signature:
-
- ```ts
- function StateBagChangeHandler(bagName: string, key: string, value: any, reserved: number, replicated: boolean);
- ```
-
- * **bagName**: The internal bag ID for the state bag which changed. This is usually `player:Source`, `entity:NetID`
- or `localEntity:Handle`.
- * **key**: The changed key.
- * **value**: The new value stored at key. The old value is still stored in the state bag at the time this callback executes.
- * **reserved**: Currently unused.
- * **replicated**: Whether the set is meant to be replicated.
-
- At this time, the change handler can't opt to reject changes.
-
- If bagName refers to an entity, use [GET_ENTITY_FROM_STATE_BAG_NAME](?\_0x4BDF1868) to get the entity handle
- If bagName refers to a player, use [GET_PLAYER_FROM_STATE_BAG_NAME](?\_0xA56135E0) to get the player handle
-
-
-
-
- Applies a force to the specified entity.
-
- **List of force types (p1)**:
-
- ```
- public enum ForceType
- {
- MinForce = 0,
- MaxForceRot = 1,
- MinForce2 = 2,
- MaxForceRot2 = 3,
- ForceNoRot = 4,
- ForceRotPlusForce = 5
- }
- ```
-
- Research/documentation on the gtaforums can be found [here](https://gtaforums.com/topic/885669-precisely-define-object-physics/) and [here](https://gtaforums.com/topic/887362-apply-forces-and-momentums-to-entityobject/).
-
-
-
-
- Returns whether or not the specified player has enough information to start a commerce session for.
-
-
-
-
- Cancels the currently executing event.
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- CLEAR_PED_SECONDARY_TASK
-
-
-
-
- Clear a ped's tasks. Stop animations and other tasks created by scripts.
-
-
-
-
- Immediately stops the pedestrian from whatever it's doing. The difference between this and [CLEAR_PED_TASKS](#\_0xE1EF3C1216AFF2CD) is that this one teleports the ped but does not change the position of the ped.
-
-
-
-
- This executes at the same as speed as PLAYER::SET_PLAYER_WANTED_LEVEL(player, 0, false);
- PLAYER::GET_PLAYER_WANTED_LEVEL(player); executes in less than half the time. Which means that it's worth first checking if the wanted level needs to be cleared before clearing. However, this is mostly about good code practice and can important in other situations. The difference in time in this example is negligible.
-
-
-
-
- Creates an object (prop) with the specified model at the specified position, offset on the Z axis by the radius of the object's model.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
-
-
- Creates an object (prop) with the specified model centered at the specified position.
- This object will initially be owned by the creating script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
-
-
-
- Creates a ped (biped character, pedestrian, actor) with the specified model at the specified position and heading.
- This ped will initially be owned by the creating script as a mission entity, and the model should be loaded already
- (e.g. using REQUEST_MODEL).
-
-
-
-
- CREATE_PED_INSIDE_VEHICLE
-
-
-
-
- Creates a vehicle with the specified model at the specified position. This vehicle will initially be owned by the creating
- script as a mission entity, and the model should be loaded already (e.g. using REQUEST_MODEL).
-
- ```
- NativeDB Added Parameter 8: BOOL p7
- ```
-
-
-
-
- Equivalent to CREATE_VEHICLE, but it uses 'server setter' logic (like the former CREATE_AUTOMOBILE) as a workaround for
- reliability concerns regarding entity creation RPC.
-
- Unlike CREATE_AUTOMOBILE, this supports other vehicle types as well.
-
-
-
-
- Deletes the specified entity.
-
-
-
-
- DELETE_FUNCTION_REFERENCE
-
-
-
-
- DELETE_RESOURCE_KVP
-
-
-
-
- Nonsynchronous [DELETE_RESOURCE_KVP](#\_0x7389B5DF) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- DOES_BOAT_SINK_WHEN_WRECKED
-
-
-
-
- DOES_ENTITY_EXIST
-
-
-
-
- Requests whether or not the player owns the specified SKU.
-
-
-
-
- Requests whether or not the player owns the specified package.
-
-
-
-
- DROP_PLAYER
-
-
-
-
- DUPLICATE_FUNCTION_REFERENCE
-
-
-
-
- ENABLE_ENHANCED_HOST_SUPPORT
-
-
-
-
- END_FIND_KVP
-
-
-
-
- Internal function for ensuring an entity has a state bag.
-
-
-
-
- EXECUTE_COMMAND
-
-
-
-
- FIND_KVP
-
-
-
-
- FLAG_SERVER_AS_PRIVATE
-
-
-
-
- Nonsynchronous operations will not wait for a disk/filesystem flush before returning from a write or delete call. They will be much faster than their synchronous counterparts (e.g., bulk operations), however, a system crash may lose the data to some recent operations.
-
- This native ensures all `_NO_SYNC` operations are synchronized with the disk/filesystem.
-
-
-
-
- Freezes or unfreezes an entity preventing its coordinates to change by the player if set to `true`. You can still change the entity position using SET_ENTITY_COORDS.
-
-
-
-
- GET_AIR_DRAG_MULTIPLIER_FOR_PLAYERS_VEHICLE
-
-
-
-
- Returns all object handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns all peds handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns all vehicle handles known to the server.
- The data returned adheres to the following layout:
-
- ```
- [127, 42, 13, 37]
- ```
-
-
-
-
- Returns the current console output buffer.
-
-
-
-
- Can be used to get a console variable of type `char*`, for example a string.
-
-
-
-
- Can be used to get a console variable casted back to `int` (an integer value).
-
-
-
-
- Returns the name of the currently executing resource.
-
-
-
-
- Gets the entity that this entity is attached to.
-
-
-
-
- GET_ENTITY_COLLISION_DISABLED
-
-
-
-
- Gets the current coordinates for a specified entity. This native is used server side when using OneSync.
-
- See [GET_ENTITY_COORDS](#\_0x3FEF770D40960D5A) for client side.
-
-
-
-
- Returns the entity handle for the specified state bag name. For use with [ADD_STATE_BAG_CHANGE_HANDLER](?\_0x5BA35AAF).
-
-
-
-
- GET_ENTITY_HEADING
-
-
-
-
- Only works for vehicle and peds
-
-
-
-
- Currently it only works with peds.
-
-
-
-
- GET_ENTITY_MODEL
-
-
-
-
- This native gets an entity's population type.
-
-
-
-
- GET_ENTITY_ROTATION
-
-
-
-
- GET_ENTITY_ROTATION_VELOCITY
-
-
-
-
- Gets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- GET_ENTITY_SCRIPT
-
-
-
-
- Gets the current speed of the entity in meters per second.
-
- ```
- To convert to MPH: speed * 2.236936
- To convert to KPH: speed * 3.6
- ```
-
-
-
-
- Gets the entity type (as an integer), which can be one of the following defined down below:
-
- **The following entities will return type `1`:**
-
- * Ped
- * Player
- * Animal (Red Dead Redemption 2)
- * Horse (Red Dead Redemption 2)
-
- **The following entities will return type `2`:**
-
- * Automobile
- * Bike
- * Boat
- * Heli
- * Plane
- * Submarine
- * Trailer
- * Train
- * DraftVeh (Red Dead Redemption 2)
-
- **The following entities will return type `3`:**
-
- * Object
- * Door
- * Pickup
-
- Otherwise, a value of `0` will be returned.
-
-
-
-
- GET_ENTITY_VELOCITY
-
-
-
-
- Returns the internal build number of the current game being executed.
-
- Possible values:
-
- * FiveM
- * 1604
- * 2060
- * 2189
- * 2372
- * 2545
- * 2612
- * 2699
- * 2802
- * 2944
- * RedM
- * 1311
- * 1355
- * 1436
- * 1491
- * LibertyM
- * 43
- * FXServer
- * 0
-
-
-
-
- Returns the current game being executed.
-
- Possible values:
-
- | Return value | Meaning |
- | ------------ | ------------------------------ |
- | `fxserver` | Server-side code ('Duplicity') |
- | `fivem` | FiveM for GTA V |
- | `libertym` | LibertyM for GTA IV |
- | `redm` | RedM for Red Dead Redemption 2 |
-
-
-
-
- Gets the current game timer in milliseconds.
-
-
-
-
- This native converts the passed string to a hash.
-
-
-
-
- GET_HELI_MAIN_ROTOR_HEALTH
-
-
-
-
- GET_HELI_TAIL_ROTOR_HEALTH
-
-
-
-
- GET_HOST_ID
-
-
-
-
- GET_INSTANCE_ID
-
-
-
-
- GET_INVOKING_RESOURCE
-
-
-
-
- GET_IS_VEHICLE_ENGINE_RUNNING
-
-
-
-
- GET_IS_VEHICLE_PRIMARY_COLOUR_CUSTOM
-
-
-
-
- GET_IS_VEHICLE_SECONDARY_COLOUR_CUSTOM
-
-
-
-
- See the client-side [GET_LANDING_GEAR_STATE](#\_0x9B0F3DCA3DB0F4CD) native for a description of landing gear states.
-
-
-
-
- GET_LAST_PED_IN_VEHICLE_SEAT
-
-
-
-
- GET_NUM_PLAYER_IDENTIFIERS
-
-
-
-
- GET_NUM_PLAYER_INDICES
-
-
-
-
- GET_NUM_PLAYER_TOKENS
-
-
-
-
- Gets the amount of metadata values with the specified key existing in the specified resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- GET_NUM_RESOURCES
-
-
-
-
- GET_PASSWORD_HASH
-
-
-
-
- GET_PED_ARMOUR
-
-
-
-
- GET_PED_CAUSE_OF_DEATH
-
-
-
-
- GET_PED_DESIRED_HEADING
-
-
-
-
- GET_PED_IN_VEHICLE_SEAT
-
-
-
-
- GET_PED_MAX_HEALTH
-
-
-
-
- Gets the script task command currently assigned to the ped.
-
-
-
-
- Gets the stage of the peds scripted task.
-
-
-
-
- Get the last entity that damaged the ped. This native is used server side when using OneSync.
-
-
-
-
- Get the entity that killed the ped. This native is used server side when using OneSync.
-
-
-
-
- Gets the type of a ped's specific task given an index of the CPedTaskSpecificDataNode nodes.
- A ped will typically have a task at index 0, if a ped has multiple tasks at once they will be in the order 0, 1, 2, etc.
-
-
-
-
- GET_PED_STEALTH_MOVEMENT
-
-
-
-
- Gets the current camera rotation for a specified player. This native is used server side when using OneSync.
-
-
-
-
- GET_PLAYER_ENDPOINT
-
-
-
-
- Gets the current fake wanted level for a specified player. This native is used server side when using OneSync.
-
-
-
-
- GET_PLAYER_FROM_INDEX
-
-
-
-
- On the server this will return the players source, on the client it will return the player handle.
-
-
-
-
- GET_PLAYER_GUID
-
-
-
-
- GET_PLAYER_IDENTIFIER
-
-
-
-
- Get an identifier from a player by the type of the identifier.
-
-
-
-
- GET_PLAYER_INVINCIBLE
-
-
-
-
- GET_PLAYER_LAST_MSG
-
-
-
-
- GET_PLAYER_MAX_ARMOUR
-
-
-
-
- GET_PLAYER_MAX_HEALTH
-
-
-
-
- A getter for [SET_PLAYER_MELEE_WEAPON_DAMAGE_MODIFIER](#\_0x4A3DC7ECCC321032).
-
-
-
-
- GET_PLAYER_NAME
-
-
-
-
- GET_PLAYER_PED
-
-
-
-
- GET_PLAYER_PING
-
-
-
-
- Gets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- GET_PLAYER_TEAM
-
-
-
-
- Gets the amount of time player has spent evading the cops.
- Counter starts and increments only when cops are chasing the player.
- If the player is evading, the timer will pause.
-
-
-
-
- Gets a player's token. Tokens can be used to enhance banning logic, however are specific to a server.
-
-
-
-
- Gets the current known coordinates for the specified player from cops perspective. This native is used server side when using OneSync.
-
-
-
-
- Returns given players wanted level server-side.
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DAMAGE_MODIFIER](#\_0xCE07B9F7817AADA3).
-
-
-
-
- A getter for [SET_PLAYER_WEAPON_DEFENSE_MODIFIER](#\_0x2D83BC011CA14A3C).
-
-
-
-
- A getter for [\_SET_PLAYER_WEAPON_DEFENSE_MODIFIER\_2](#\_0xBCFDE9EDE4CF27DC).
-
-
-
-
- Returns all commands that are registered in the command system.
- The data returned adheres to the following layout:
-
- ```
- [
- {
- "name": "cmdlist"
- },
- {
- "name": "command1"
- }
- ]
- ```
-
-
-
-
- GET_RESOURCE_BY_FIND_INDEX
-
-
-
-
- A getter for [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938).
-
-
-
-
- A getter for [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8).
-
-
-
-
- A getter for [SET_RESOURCE_KVP](#\_0x21C7A35B).
-
-
-
-
- Gets the metadata value at a specified key/index from a resource's manifest.
- See also: [Resource manifest](https://docs.fivem.net/resources/manifest/)
-
-
-
-
- Returns the physical on-disk path of the specified resource.
-
-
-
-
- Returns the current state of the specified resource.
-
-
-
-
- Returns a hash of selected ped weapon.
-
-
-
-
- Returns the value of a state bag key.
-
-
-
-
- GET_TRAIN_CARRIAGE_ENGINE
-
-
-
-
- GET_TRAIN_CARRIAGE_INDEX
-
-
-
-
- GET_VEHICLE_BODY_HEALTH
-
-
-
-
- GET_VEHICLE_COLOURS
-
-
-
-
- GET_VEHICLE_CUSTOM_PRIMARY_COLOUR
-
-
-
-
- GET_VEHICLE_CUSTOM_SECONDARY_COLOUR
-
-
-
-
- GET_VEHICLE_DASHBOARD_COLOUR
-
-
-
-
- GET_VEHICLE_DIRT_LEVEL
-
-
-
-
- ```lua
- enum_VehicleLockStatus = {
- None = 0,
- Locked = 2,
- LockedForPlayer = 3,
- StickPlayerInside = 4, -- Doesn't allow players to exit the vehicle with the exit vehicle key.
- CanBeBrokenInto = 7, -- Can be broken into the car. If the glass is broken, the value will be set to 1
- CanBeBrokenIntoPersist = 8, -- Can be broken into persist
- CannotBeTriedToEnter = 10, -- Cannot be tried to enter (Nothing happens when you press the vehicle enter key).
- }
- ```
-
- It should be [noted](https://forum.cfx.re/t/4863241) that while the [client-side command](#\_0x25BC98A59C2EA962) and its
- setter distinguish between states 0 (unset) and 1 (unlocked), the game will synchronize both as state 0, so the server-side
- command will return only '0' if unlocked.
-
-
-
-
- GET_VEHICLE_DOOR_STATUS
-
-
-
-
- Currently it only works when set to "all players".
-
-
-
-
- GET_VEHICLE_ENGINE_HEALTH
-
-
-
-
- GET_VEHICLE_EXTRA_COLOURS
-
-
-
-
- Gets the flight nozzel position for the specified vehicle. See the client-side [\_GET_VEHICLE_FLIGHT_NOZZLE_POSITION](#\_0xDA62027C8BDB326E) native for usage examples.
-
-
-
-
- GET_VEHICLE_HANDBRAKE
-
-
-
-
- GET_VEHICLE_HEADLIGHTS_COLOUR
-
-
-
-
- Gets the lock on state for the specified vehicle. See the client-side [GET_VEHICLE_HOMING_LOCKON_STATE](#\_0xE6B0E8CFC3633BF0) native for a description of lock on states.
-
-
-
-
- GET_VEHICLE_INTERIOR_COLOUR
-
-
-
-
- GET_VEHICLE_LIGHTS_STATE
-
-
-
-
- GET_VEHICLE_LIVERY
-
-
-
-
- Gets the vehicle that is locked on to for the specified vehicle.
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- GET_VEHICLE_NUMBER_PLATE_TEXT_INDEX
-
-
-
-
- Gets the vehicle the specified Ped is/was in depending on bool value. This native is used server side when using OneSync.
-
-
-
-
- GET_VEHICLE_PETROL_TANK_HEALTH
-
-
-
-
- GET_VEHICLE_RADIO_STATION_INDEX
-
-
-
-
- GET_VEHICLE_ROOF_LIVERY
-
-
-
-
- GET_VEHICLE_STEERING_ANGLE
-
-
-
-
- Returns the type of the passed vehicle.
-
- ### Vehicle types
-
- * automobile
- * bike
- * boat
- * heli
- * plane
- * submarine
- * trailer
- * train
-
-
-
-
- GET_VEHICLE_TYRE_SMOKE_COLOR
-
-
-
-
- GET_VEHICLE_WHEEL_TYPE
-
-
-
-
- GET_VEHICLE_WINDOW_TINT
-
-
-
-
- GIVE_WEAPON_COMPONENT_TO_PED
-
-
-
-
- GIVE_WEAPON_TO_PED
-
-
-
-
- HAS_ENTITY_BEEN_MARKED_AS_NO_LONGER_NEEDED
-
-
-
-
- HAS_VEHICLE_BEEN_DAMAGED_BY_BULLETS
-
-
-
-
- HAS_VEHICLE_BEEN_OWNED_BY_PLAYER
-
-
-
-
- INVOKE_FUNCTION_REFERENCE
-
-
-
-
- IS_ACE_ALLOWED
-
-
-
-
- IS_BOAT_ANCHORED_AND_FROZEN
-
-
-
-
- IS_BOAT_WRECKED
-
-
-
-
- Gets whether or not this is the CitizenFX server.
-
-
-
-
- A getter for [FREEZE_ENTITY_POSITION](#\_0x428CA6DBD1094446).
-
-
-
-
- This native checks if the given entity is visible.
-
-
-
-
- IS_FLASH_LIGHT_ON
-
-
-
-
- This native checks if the given ped is a player.
-
-
-
-
- IS_PED_HANDCUFFED
-
-
-
-
- IS_PED_RAGDOLL
-
-
-
-
- IS_PED_STRAFING
-
-
-
-
- IS_PED_USING_ACTION_MODE
-
-
-
-
- IS_PLAYER_ACE_ALLOWED
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded.
-
-
-
-
- Requests whether or not the commerce data for the specified player has loaded from Tebex.
-
-
-
-
- This will return true if the player is evading wanted level, meaning that the wanted level stars are blink.
- Otherwise will return false.
-
- If the player is not wanted, it simply returns false.
-
-
-
-
- IS_PLAYER_USING_SUPER_JUMP
-
-
-
-
- IS_PRINCIPAL_ACE_ALLOWED
-
-
-
-
- IS_VEHICLE_ENGINE_STARTING
-
-
-
-
- IS_VEHICLE_EXTRA_TURNED_ON
-
-
-
-
- IS_VEHICLE_SIREN_ON
-
-
-
-
- IS_VEHICLE_TYRE_BURST
-
-
-
-
- See the client-side [IS_VEHICLE_WINDOW_INTACT](https://docs.fivem.net/natives/?\_0x46E571A0E20D01F1) for a window indexes list.
-
-
-
-
- Requests the commerce data for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
-
-
- Requests the commerce data from Tebex for the specified player, including the owned SKUs. Use `IS_PLAYER_COMMERCE_INFO_LOADED` to check if it has loaded.
-
-
-
-
- Reads the contents of a text file in a specified resource.
- If executed on the client, this file has to be included in `files` in the resource manifest.
- Example: `local data = LoadResourceFile("devtools", "data.json")`
-
-
-
-
- Create a permanent voice channel.
-
-
-
-
- Checks if the player is currently muted
-
-
-
-
- Mutes or unmutes the specified player
-
-
-
-
- NETWORK_GET_ENTITY_FROM_NETWORK_ID
-
-
-
-
- Returns the owner ID of the specified entity.
-
-
-
-
- Returns the first owner ID of the specified entity.
-
-
-
-
- NETWORK_GET_NETWORK_ID_FROM_ENTITY
-
-
-
-
- NETWORK_GET_VOICE_PROXIMITY_OVERRIDE
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL
-
-
-
-
- PERFORM_HTTP_REQUEST_INTERNAL_EX
-
-
-
-
- Prints 'structured trace' data to the server `file descriptor 3` channel. This is not generally useful outside of
- server monitoring utilities.
-
-
-
-
- Scope entry for profiler.
-
-
-
-
- Scope exit for profiler.
-
-
-
-
- Returns true if the profiler is active.
-
-
-
-
- Registered commands can be executed by entering them in the client console (this works for client side and server side registered commands). Or by entering them in the server console/through an RCON client (only works for server side registered commands). Or if you use a supported chat resource, like the default one provided in the cfx-server-data repository, then you can enter the command in chat by prefixing it with a `/`.
-
- Commands registered using this function can also be executed by resources, using the [`ExecuteCommand` native](#\_0x561C060B).
-
- The restricted bool is not used on the client side. Permissions can only be checked on the server side, so if you want to limit your command with an ace permission automatically, make it a server command (by registering it in a server script).
-
- **Example result**:
-
- 
-
-
-
-
- Registers a listener for console output messages.
-
-
-
-
- An internal function which allows the current resource's HLL script runtimes to receive state for the specified event.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Registers a cached resource asset with the resource system, similar to the automatic scanning of the `stream/` folder.
-
-
-
-
- Registers a build task factory for resources.
- The function should return an object (msgpack map) with the following fields:
-
- ```
- {
- // returns whether the specific resource should be built
- shouldBuild = func(resourceName: string): bool,
-
- // asynchronously start building the specific resource.
- // call cb when completed
- build = func(resourceName: string, cb: func(success: bool, status: string): void): void
- }
- ```
-
-
-
-
- Parameter `p1` does not seem to be used or referenced in game binaries.\
- **Note:** When called for networked entities, a `CRemoveAllWeaponsEvent` will be created per request.
-
-
-
-
- Removes the blip from your map.
-
-
-
-
- **Experimental**: This native may be altered or removed in future versions of CitizenFX without warning.
-
- Removes a handler for changes to a state bag.
-
-
-
-
- REMOVE_WEAPON_COMPONENT_FROM_PED
-
-
-
-
- This native removes a specified weapon from your selected ped.
- Weapon Hashes: pastebin.com/0wwDZgkF
- Example:
- C#:
- Function.Call(Hash.REMOVE_WEAPON_FROM_PED, Game.Player.Character, 0x99B507EA);
- C++:
- WEAPON::REMOVE_WEAPON_FROM_PED(PLAYER::PLAYER_PED_ID(), 0x99B507EA);
- The code above removes the knife from the player.
-
-
-
-
- Requests the specified player to buy the passed SKU. This'll pop up a prompt on the client, which upon acceptance
- will open the browser prompting further purchase details.
-
-
-
-
- Writes the specified data to a file in the specified resource.
- Using a length of `-1` will automatically detect the length assuming the data is a C string.
-
-
-
-
- Scans the resources in the specified resource root. This function is only available in the 'monitor mode' process and is
- not available for user resources.
-
-
-
-
- Schedules the specified resource to run a tick as soon as possible, bypassing the server's fixed tick rate.
-
-
-
-
- <!--
- _loc1_.map((name, idx) => `| ${idx} | ${name} |  |`).join('\n')
- -->
-
- Sets the displayed sprite for a specific blip.
-
- There's a [list of sprites](https://docs.fivem.net/game-references/blips/) on the FiveM documentation site.
-
-
-
-
- SET_CONVAR
-
-
-
-
- Used to replicate a server variable onto clients.
-
-
-
-
- SET_CONVAR_SERVER_INFO
-
-
-
-
- SET_CURRENT_PED_WEAPON
-
-
-
-
- Sets the coordinates (world position) for a specified entity, offset by the radius of the entity on the Z axis.
-
-
-
-
- It overrides the default distance culling radius of an entity. Set to `0.0` to reset.
- If you want to interact with an entity outside of your players' scopes set the radius to a huge number.
-
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
-
-
- Set the heading of an entity in degrees also known as "Yaw".
-
-
-
-
- It allows to flag an entity to ignore the request control filter policy.
-
-
-
-
- SET_ENTITY_ROTATION
-
-
-
-
- Sets the routing bucket for the specified entity.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- Note that the third parameter(denoted as z) is "up and down" with positive numbers encouraging upwards movement.
-
-
-
-
- SET_GAME_TYPE
-
-
-
-
- Sets the handler for HTTP requests made to the executing resource.
-
- Example request URL: `http://localhost:30120/http-test/ping` - this request will be sent to the `http-test` resource with the `/ping` path.
-
- The handler function assumes the following signature:
-
- ```ts
- function HttpHandler(
- request: {
- address: string;
- headers: Record<string, string>;
- method: string;
- path: string;
- setDataHandler(handler: (data: string) => void): void;
- setDataHandler(handler: (data: ArrayBuffer) => void, binary: 'binary'): void;
- setCancelHandler(handler: () => void): void;
- },
- response: {
- writeHead(code: number, headers?: Record<string, string | string[]>): void;
- write(data: string): void;
- send(data?: string): void;
- }
- ): void;
- ```
-
- * **request**: The request object.
- * **address**: The IP address of the request sender.
- * **path**: The path to where the request was sent.
- * **headers**: The headers sent with the request.
- * **method**: The request method.
- * **setDataHandler**: Sets the handler for when a data body is passed with the request. Additionally you can pass the `'binary'` argument to receive a `BufferArray` in JavaScript or `System.Byte[]` in C# (has no effect in Lua).
- * **setCancelHandler**: Sets the handler for when the request is cancelled.
- * **response**: An object to control the response.
- * **writeHead**: Sets the status code & headers of the response. Can be only called once and won't work if called after running other response functions.
- * **write**: Writes to the response body without sending it. Can be called multiple times.
- * **send**: Writes to the response body and then sends it along with the status code & headers, finishing the request.
-
-
-
-
- SET_MAP_NAME
-
-
-
-
- NativeDB Added Parameter 4: BOOL p3
-
-
-
-
- Sets the armor of the specified ped.
- ped: The Ped to set the armor of.
- amount: A value between 0 and 100 indicating the value to set the Ped's armor to.
-
-
-
-
- SET_PED_CAN_RAGDOLL
-
-
-
-
- This native is used to set component variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of components
-
- **0**: Face\
- **1**: Mask\
- **2**: Hair\
- **3**: Torso\
- **4**: Leg\
- **5**: Parachute / bag\
- **6**: Shoes\
- **7**: Accessory\
- **8**: Undershirt\
- **9**: Kevlar\
- **10**: Badge\
- **11**: Torso 2
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_DRAWABLE_VARIATIONS](#\_0x27561561732A7842)\
- [GET_NUMBER_OF_PED_TEXTURE_VARIATIONS](#\_0x8F7156A3142A6BAD)
-
- [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
-
-
- cpp
- // Potential names and hash collisions included as comments
- enum ePedConfigFlags {
- _0x67D1A445 = 0,
- _0xC63DE95E = 1,
- CPED_CONFIG_FLAG_NoCriticalHits = 2,
- CPED_CONFIG_FLAG_DrownsInWater = 3,
- CPED_CONFIG_FLAG_DisableReticuleFixedLockon = 4,
- _0x37D196F4 = 5,
- _0xE2462399 = 6,
- CPED_CONFIG_FLAG_UpperBodyDamageAnimsOnly = 7,
- _0xEDDEB838 = 8,
- _0xB398B6FD = 9,
- _0xF6664E68 = 10,
- _0xA05E7CA3 = 11,
- _0xCE394045 = 12,
- CPED_CONFIG_FLAG_NeverLeavesGroup = 13,
- _0xCD8D1411 = 14,
- _0xB031F1A9 = 15,
- _0xFE65BEE3 = 16,
- CPED_CONFIG_FLAG_BlockNonTemporaryEvents = 17,
- _0x380165BD = 18,
- _0x07C045C7 = 19,
- _0x583B5E2D = 20,
- _0x475EDA58 = 21,
- _0x8629D05B = 22,
- _0x1522968B = 23,
- CPED_CONFIG_FLAG_IgnoreSeenMelee = 24,
- _0x4CC09C4B = 25,
- _0x034F3053 = 26,
- _0xD91BA7CC = 27,
- _0x5C8DC66E = 28,
- _0x8902EAA0 = 29,
- _0x6580B9D2 = 30,
- _0x0EF7A297 = 31,
- _0x6BF86E5B = 32,
- CPED_CONFIG_FLAG_DieWhenRagdoll = 33,
- CPED_CONFIG_FLAG_HasHelmet = 34,
- CPED_CONFIG_FLAG_UseHelmet = 35,
- _0xEEB3D630 = 36,
- _0xB130D17B = 37,
- _0x5F071200 = 38,
- CPED_CONFIG_FLAG_DisableEvasiveDives = 39,
- _0xC287AAFF = 40,
- _0x203328CC = 41,
- CPED_CONFIG_FLAG_DontInfluenceWantedLevel = 42,
- CPED_CONFIG_FLAG_DisablePlayerLockon = 43,
- CPED_CONFIG_FLAG_DisableLockonToRandomPeds = 44,
- _0xEC4A8ACF = 45,
- _0xDB115BFA = 46,
- CPED_CONFIG_FLAG_PedBeingDeleted = 47,
- CPED_CONFIG_FLAG_BlockWeaponSwitching = 48,
- _0xF8E99565 = 49,
- _0xDD17FEE6 = 50,
- _0x7ED9B2C9 = 51,
- _0x655E8618 = 52,
- _0x5A6C1F6E = 53,
- _0xD749FC41 = 54,
- _0x357F63F3 = 55,
- _0xC5E60961 = 56,
- _0x29275C3E = 57,
- CPED_CONFIG_FLAG_IsFiring = 58,
- CPED_CONFIG_FLAG_WasFiring = 59,
- CPED_CONFIG_FLAG_IsStanding = 60,
- CPED_CONFIG_FLAG_WasStanding = 61,
- CPED_CONFIG_FLAG_InVehicle = 62,
- CPED_CONFIG_FLAG_OnMount = 63,
- CPED_CONFIG_FLAG_AttachedToVehicle = 64,
- CPED_CONFIG_FLAG_IsSwimming = 65,
- CPED_CONFIG_FLAG_WasSwimming = 66,
- CPED_CONFIG_FLAG_IsSkiing = 67,
- CPED_CONFIG_FLAG_IsSitting = 68,
- CPED_CONFIG_FLAG_KilledByStealth = 69,
- CPED_CONFIG_FLAG_KilledByTakedown = 70,
- CPED_CONFIG_FLAG_Knockedout = 71,
- _0x3E3C4560 = 72,
- _0x2994C7B7 = 73,
- _0x6D59D275 = 74,
- CPED_CONFIG_FLAG_UsingCoverPoint = 75,
- CPED_CONFIG_FLAG_IsInTheAir = 76,
- _0x2D493FB7 = 77,
- CPED_CONFIG_FLAG_IsAimingGun = 78,
- _0x14D69875 = 79,
- _0x40B05311 = 80,
- _0x8B230BC5 = 81,
- _0xC74E5842 = 82,
- _0x9EA86147 = 83,
- _0x674C746C = 84,
- _0x3E56A8C2 = 85,
- _0xC144A1EF = 86,
- _0x0548512D = 87,
- _0x31C93909 = 88,
- _0xA0269315 = 89,
- _0xD4D59D4D = 90,
- _0x411D4420 = 91,
- _0xDF4AEF0D = 92,
- CPED_CONFIG_FLAG_ForcePedLoadCover = 93,
- _0x300E4CD3 = 94,
- _0xF1C5BF04 = 95,
- _0x89C2EF13 = 96,
- CPED_CONFIG_FLAG_VaultFromCover = 97,
- _0x02A852C8 = 98,
- _0x3D9407F1 = 99,
- _0x319B4558 = 100,
- CPED_CONFIG_FLAG_ForcedAim = 101,
- _0xB942D71A = 102,
- _0xD26C55A8 = 103,
- _0xB89E703B = 104,
- CPED_CONFIG_FLAG_ForceReload = 105,
- _0xD9E73DA2 = 106,
- _0xFF71DC2C = 107,
- _0x1E27E8D8 = 108,
- _0xF2C53966 = 109,
- _0xC4DBE247 = 110,
- _0x83C0A4BF = 111,
- _0x0E0FAF8C = 112,
- _0x26616660 = 113,
- _0x43B80B79 = 114,
- _0x0D2A9309 = 115,
- _0x12C1C983 = 116,
- CPED_CONFIG_FLAG_BumpedByPlayer = 117,
- _0xE586D504 = 118,
- _0x52374204 = 119,
- CPED_CONFIG_FLAG_IsHandCuffed = 120,
- CPED_CONFIG_FLAG_IsAnkleCuffed = 121,
- CPED_CONFIG_FLAG_DisableMelee = 122,
- _0xFE714397 = 123,
- _0xB3E660BD = 124,
- _0x5FED6BFD = 125,
- _0xC9D6F66F = 126,
- _0x519BC986 = 127,
- CPED_CONFIG_FLAG_CanBeAgitated = 128,
- _0x9A4B617C = 129, // CPED_CONFIG_FLAG_FaceDirInsult
- _0xDAB70E9F = 130,
- _0xE569438A = 131,
- _0xBBC77D6D = 132,
- _0xCB59EF0F = 133,
- _0x8C5EA971 = 134,
- CPED_CONFIG_FLAG_IsScuba = 135,
- CPED_CONFIG_FLAG_WillArrestRatherThanJack = 136,
- _0xDCE59B58 = 137,
- CPED_CONFIG_FLAG_RidingTrain = 138,
- CPED_CONFIG_FLAG_ArrestResult = 139,
- CPED_CONFIG_FLAG_CanAttackFriendly = 140,
- _0x98A4BE43 = 141,
- _0x6901E731 = 142,
- _0x9EC9BF6C = 143,
- _0x42841A8F = 144,
- CPED_CONFIG_FLAG_ShootingAnimFlag = 145,
- CPED_CONFIG_FLAG_DisableLadderClimbing = 146,
- CPED_CONFIG_FLAG_StairsDetected = 147,
- CPED_CONFIG_FLAG_SlopeDetected = 148,
- _0x1A15670B = 149,
- _0x61786EE5 = 150,
- _0xCB9186BD = 151,
- _0xF0710152 = 152,
- _0x43DFE310 = 153,
- _0xC43C624E = 154,
- CPED_CONFIG_FLAG_CanPerformArrest = 155,
- CPED_CONFIG_FLAG_CanPerformUncuff = 156,
- CPED_CONFIG_FLAG_CanBeArrested = 157,
- _0xF7960FF5 = 158,
- _0x59564113 = 159,
- _0x0C6C3099 = 160,
- _0x645F927A = 161,
- _0xA86549B9 = 162,
- _0x8AAF337A = 163,
- _0x13BAA6E7 = 164,
- _0x5FB9D1F5 = 165,
- CPED_CONFIG_FLAG_IsInjured = 166,
- _0x6398A20B = 167,
- _0xD8072639 = 168,
- _0xA05B1845 = 169,
- _0x83F6D220 = 170,
- _0xD8430331 = 171,
- _0x4B547520 = 172,
- _0xE66E1406 = 173,
- _0x1C4BFE0C = 174,
- _0x90008BFA = 175,
- _0x07C7A910 = 176,
- _0xF15F8191 = 177,
- _0xCE4E8BE2 = 178,
- _0x1D46E4F2 = 179,
- CPED_CONFIG_FLAG_IsInCustody = 180,
- _0xE4FD9B3A = 181,
- _0x67AE0812 = 182,
- CPED_CONFIG_FLAG_IsAgitated = 183,
- CPED_CONFIG_FLAG_PreventAutoShuffleToDriversSeat = 184,
- _0x7B2D325E = 185,
- CPED_CONFIG_FLAG_EnableWeaponBlocking = 186,
- CPED_CONFIG_FLAG_HasHurtStarted = 187,
- CPED_CONFIG_FLAG_DisableHurt = 188,
- CPED_CONFIG_FLAG_PlayerIsWeird = 189,
- _0x32FC208B = 190,
- _0x0C296E5A = 191,
- _0xE63B73EC = 192,
- _0x04E9CC80 = 193,
- CPED_CONFIG_FLAG_UsingScenario = 194,
- CPED_CONFIG_FLAG_VisibleOnScreen = 195,
- _0xD88C58A1 = 196,
- _0x5A3DCF43 = 197, // CPED_CONFIG_FLAG_AvoidUnderSide
- _0xEA02B420 = 198,
- _0x3F559CFF = 199,
- _0x8C55D029 = 200,
- _0x5E6466F6 = 201,
- _0xEB5AD706 = 202,
- _0x0EDDDDE7 = 203,
- _0xA64F7B1D = 204,
- _0x48532CBA = 205,
- _0xAA25A9E7 = 206,
- _0x415B26B9 = 207,
- CPED_CONFIG_FLAG_DisableExplosionReactions = 208,
- CPED_CONFIG_FLAG_DodgedPlayer = 209,
- _0x67405504 = 210,
- _0x75DDD68C = 211,
- _0x2AD879B4 = 212,
- _0x51486F91 = 213,
- _0x32F79E21 = 214,
- _0xBF099213 = 215,
- _0x054AC8E2 = 216,
- _0x14E495CC = 217,
- _0x3C7DF9DF = 218,
- _0x848FFEF2 = 219,
- CPED_CONFIG_FLAG_DontEnterLeadersVehicle = 220,
- _0x2618E1CF = 221,
- _0x84F722FA = 222,
- _0xD1B87B1F = 223,
- _0x728AA918 = 224,
- CPED_CONFIG_FLAG_DisablePotentialToBeWalkedIntoResponse = 225,
- CPED_CONFIG_FLAG_DisablePedAvoidance = 226,
- _0x59E91185 = 227,
- _0x1EA7225F = 228,
- CPED_CONFIG_FLAG_DisablePanicInVehicle = 229,
- _0x6DCA7D88 = 230,
- _0xFC3E572D = 231,
- _0x08E9F9CF = 232,
- _0x2D3BA52D = 233,
- _0xFD2F53EA = 234,
- _0x31A1B03B = 235,
- CPED_CONFIG_FLAG_IsHoldingProp = 236,
- _0x82ED0A66 = 237, // CPED_CONFIG_FLAG_BlocksPathingWhenDead
- _0xCE57C9A3 = 238,
- _0x26149198 = 239,
- _0x1B33B598 = 240,
- _0x719B6E87 = 241,
- _0x13E8E8E8 = 242,
- _0xF29739AE = 243,
- _0xABEA8A74 = 244,
- _0xB60EA2BA = 245,
- _0x536B0950 = 246,
- _0x0C754ACA = 247,
- CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
- _0x12659168 = 249,
- _0x1BDF2F04 = 250,
- _0x7728FAA3 = 251,
- _0x6A807ED8 = 252,
- CPED_CONFIG_FLAG_OnStairs = 253,
- _0xE1A2F73F = 254,
- _0x5B3697C8 = 255,
- _0xF1EB20A9 = 256,
- _0x8B7DF407 = 257,
- _0x329DCF1A = 258,
- _0x8D90DD1B = 259,
- _0xB8A292B7 = 260,
- _0x8374B087 = 261,
- _0x2AF558F0 = 262,
- _0x82251455 = 263,
- _0x30CF498B = 264,
- _0xE1CD50AF = 265,
- _0x72E4AE48 = 266,
- _0xC2657EA1 = 267,
- _0x29FF6030 = 268,
- _0x8248A5EC = 269,
- CPED_CONFIG_FLAG_OnStairSlope = 270,
- _0xA0897933 = 271,
- CPED_CONFIG_FLAG_DontBlipCop = 272,
- CPED_CONFIG_FLAG_ClimbedShiftedFence = 273,
- _0xF7823618 = 274,
- _0xDC305CCE = 275, // CPED_CONFIG_FLAG_KillWhenTrapped
- CPED_CONFIG_FLAG_EdgeDetected = 276,
- _0x92B67896 = 277,
- _0xCAD677C9 = 278,
- CPED_CONFIG_FLAG_AvoidTearGas = 279,
- _0x5276AC7B = 280,
- _0x1032692A = 281,
- _0xDA23E7F1 = 282,
- _0x9139724D = 283,
- _0xA1457461 = 284,
- _0x4186E095 = 285,
- _0xAC68E2EB = 286,
- CPED_CONFIG_FLAG_RagdollingOnBoat = 287,
- CPED_CONFIG_FLAG_HasBrandishedWeapon = 288,
- _0x1B9EE8A1 = 289,
- _0xF3F5758C = 290,
- _0x2A9307F1 = 291,
- _0x7403D216 = 292,
- _0xA06A3C6C = 293,
- CPED_CONFIG_FLAG_DisableShockingEvents = 294,
- _0xF8DA25A5 = 295,
- _0x7EF55802 = 296,
- _0xB31F1187 = 297,
- _0x84315402 = 298,
- _0x0FD69867 = 299,
- _0xC7829B67 = 300,
- CPED_CONFIG_FLAG_DisablePedConstraints = 301,
- _0x6D23CF25 = 302,
- _0x2ADA871B = 303,
- _0x47BC8A58 = 304,
- _0xEB692FA5 = 305,
- _0x4A133C50 = 306,
- _0xC58099C3 = 307,
- _0xF3D76D41 = 308,
- _0xB0EEE9F2 = 309,
- CPED_CONFIG_FLAG_IsInCluster = 310,
- _0x0FA153EF = 311,
- _0xD73F5CD3 = 312,
- _0xD4136C22 = 313,
- _0xE404CA6B = 314,
- _0xB9597446 = 315,
- _0xD5C98277 = 316,
- _0xD5060A9C = 317,
- _0x3E5F1CBB = 318,
- _0xD8BE1D54 = 319,
- _0x0B1F191F = 320,
- _0xC995167A = 321,
- CPED_CONFIG_FLAG_HasHighHeels = 322,
- _0x86B01E54 = 323,
- _0x3A56FE15 = 324,
- _0xC03B736C = 325, // CPED_CONFIG_FLAG_SpawnedAtScenario
- _0xBBF47729 = 326,
- _0x22B668A8 = 327,
- _0x2624D4D4 = 328,
- CPED_CONFIG_FLAG_DisableTalkTo = 329,
- CPED_CONFIG_FLAG_DontBlip = 330,
- CPED_CONFIG_FLAG_IsSwitchingWeapon = 331,
- _0x630F55F3 = 332,
- _0x150468FD = 333,
- _0x914EBD6B = 334,
- _0x79AF3B6D = 335,
- _0x75C7A632 = 336,
- _0x52D530E2 = 337,
- _0xDB2A90E0 = 338,
- _0x5922763D = 339,
- _0x12ADB567 = 340,
- _0x105C8518 = 341,
- _0x106F703D = 342,
- _0xED152C3E = 343,
- _0xA0EFE6A8 = 344,
- _0xBF348C82 = 345,
- _0xCDDFE830 = 346,
- _0x7B59BD9B = 347,
- _0x0124C788 = 348,
- CPED_CONFIG_FLAG_EquipJetpack = 349,
- _0x08D361A5 = 350,
- _0xE13D1F7C = 351,
- _0x40E25FB9 = 352,
- _0x930629D9 = 353,
- _0xECCF0C7F = 354,
- _0xB6E9613B = 355,
- _0x490C0478 = 356,
- _0xE8865BEA = 357,
- _0xF3C34A29 = 358,
- CPED_CONFIG_FLAG_IsDuckingInVehicle = 359,
- _0xF660E115 = 360,
- _0xAB0E6DED = 361,
- CPED_CONFIG_FLAG_HasReserveParachute = 362,
- CPED_CONFIG_FLAG_UseReserveParachute = 363,
- _0x5C5D9CD3 = 364,
- _0x8F7701F3 = 365,
- _0xBC4436AD = 366,
- _0xD7E07D37 = 367,
- _0x03C4FD24 = 368,
- _0x7675789A = 369,
- _0xB7288A88 = 370,
- _0xC06B6291 = 371,
- _0x95A4A805 = 372,
- _0xA8E9A042 = 373,
- CPED_CONFIG_FLAG_NeverLeaveTrain = 374,
- _0xBAC674B3 = 375,
- _0x147F1FFB = 376,
- _0x4376DD79 = 377,
- _0xCD3DB518 = 378,
- _0xFE4BA4B6 = 379,
- _0x5DF03A55 = 380,
- _0xBCD816CD = 381,
- _0xCF02DD69 = 382,
- _0xF73AFA2E = 383,
- _0x80B9A9D0 = 384,
- _0xF601F7EE = 385,
- _0xA91350FC = 386,
- _0x3AB23B96 = 387,
- CPED_CONFIG_FLAG_IsClimbingLadder = 388,
- CPED_CONFIG_FLAG_HasBareFeet = 389,
- _0xB4B1CD4C = 390,
- _0x5459AFB8 = 391,
- _0x54F27667 = 392,
- _0xC11D3E8F = 393,
- _0x5419EB3E = 394,
- _0x82D8DBB4 = 395,
- _0x33B02D2F = 396,
- _0xAE66176D = 397,
- _0xA2692593 = 398,
- _0x714C7E31 = 399,
- _0xEC488AC7 = 400,
- _0xAE398504 = 401,
- _0xABC58D72 = 402,
- _0x5E5B9591 = 403,
- _0x6BA1091E = 404,
- _0x77840177 = 405,
- _0x1C7ACAC4 = 406,
- _0x124420E9 = 407,
- _0x75A65587 = 408,
- _0xDFD2D55B = 409,
- _0xBDD39919 = 410,
- _0x43DEC267 = 411,
- _0xE42B7797 = 412,
- CPED_CONFIG_FLAG_IsHolsteringWeapon = 413,
- _0x4F8149F5 = 414,
- _0xDD9ECA7A = 415,
- _0x9E7EF9D2 = 416,
- _0x2C6ED942 = 417,
- CPED_CONFIG_FLAG_IsSwitchingHelmetVisor = 418,
- _0xA488727D = 419,
- _0xCFF5F6DE = 420,
- _0x6D614599 = 421,
- CPED_CONFIG_FLAG_DisableVehicleCombat = 422,
- _0xFE401D26 = 423,
- CPED_CONFIG_FLAG_FallsLikeAircraft = 424,
- _0x2B42AE82 = 425,
- _0x7A95734F = 426,
- _0xDF4D8617 = 427,
- _0x578F1F14 = 428,
- CPED_CONFIG_FLAG_DisableStartEngine = 429,
- CPED_CONFIG_FLAG_IgnoreBeingOnFire = 430,
- _0x153C9500 = 431,
- _0xCB7A632E = 432,
- _0xDE727981 = 433,
- CPED_CONFIG_FLAG_DisableHomingMissileLockon = 434,
- _0x12BBB935 = 435,
- _0xAD0A1277 = 436,
- _0xEA6AA46A = 437,
- CPED_CONFIG_FLAG_DisableHelmetArmor = 438,
- _0xCB7F3A1E = 439,
- _0x50178878 = 440,
- _0x051B4F0D = 441,
- _0x2FC3DECC = 442,
- _0xC0030B0B = 443,
- _0xBBDAF1E9 = 444,
- _0x944FE59C = 445,
- _0x506FBA39 = 446,
- _0xDD45FE84 = 447,
- _0xE698AE75 = 448,
- _0x199633F8 = 449,
- CPED_CONFIG_FLAG_PedIsArresting = 450,
- CPED_CONFIG_FLAG_IsDecoyPed = 451,
- _0x3A251D83 = 452,
- _0xA56F6986 = 453,
- _0x1D19C622 = 454,
- _0xB68D3EAB = 455,
- CPED_CONFIG_FLAG_CanBeIncapacitated = 456,
- _0x4BD5EBAD = 457,
- }
-
-
-
-
- Sets Ped Default Clothes
-
-
-
-
- Used for freemode (online) characters.
-
- Indices:
-
- 1. black
- 2. very light blue/green
- 3. dark blue
- 4. brown
- 5. darker brown
- 6. light brown
- 7. blue
- 8. light blue
- 9. pink
- 10. yellow
- 11. purple
- 12. black
- 13. dark green
- 14. light brown
- 15. yellow/black pattern
- 16. light colored spiral pattern
- 17. shiny red
- 18. shiny half blue/half red
- 19. half black/half light blue
- 20. white/red perimter
- 21. green snake
- 22. red snake
- 23. dark blue snake
- 24. dark yellow
- 25. bright yellow
- 26. all black
- 27. red small pupil
- 28. devil blue/black
- 29. white small pupil
- 30. glossed over
-
-
-
-
- Sets the various freemode face features, e.g. nose length, chin shape.
-
- **Indexes (From 0 to 19):**
-
- Parentheses indicate morph scale/direction as in (-1.0 to 1.0)
-
- * **0**: Nose Width (Thin/Wide)
- * **1**: Nose Peak (Up/Down)
- * **2**: Nose Length (Long/Short)
- * **3**: Nose Bone Curveness (Crooked/Curved)
- * **4**: Nose Tip (Up/Down)
- * **5**: Nose Bone Twist (Left/Right)
- * **6**: Eyebrow (Up/Down)
- * **7**: Eyebrow (In/Out)
- * **8**: Cheek Bones (Up/Down)
- * **9**: Cheek Sideways Bone Size (In/Out)
- * **10**: Cheek Bones Width (Puffed/Gaunt)
- * **11**: Eye Opening (Both) (Wide/Squinted)
- * **12**: Lip Thickness (Both) (Fat/Thin)
- * **13**: Jaw Bone Width (Narrow/Wide)
- * **14**: Jaw Bone Shape (Round/Square)
- * **15**: Chin Bone (Up/Down)
- * **16**: Chin Bone Length (In/Out or Backward/Forward)
- * **17**: Chin Bone Shape (Pointed/Square)
- * **18**: Chin Hole (Chin Bum)
- * **19**: Neck Thickness (Thin/Thick)
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- Used for freemode (online) characters.
-
-
-
-
- For more info please refer to [this](https://gtaforums.com/topic/858970-all-gtao-face-ids-pedset-ped-head-blend-data-explained) topic.
-
- **Other information:**
-
- IDs start at zero and go Male Non-DLC, Female Non-DLC, Male DLC, and Female DLC.</br>
-
- This native function is often called prior to calling natives such as:
-
- * [`SetPedHairColor`](#0xBB43F090)
- * [`SetPedHeadOverlayColor`](#0x78935A27)
- * [`SetPedHeadOverlay`](#0xD28DBA90)
- * [`SetPedFaceFeature`](#0x6C8D4458)
-
-
-
-
- ```
- OverlayID ranges from 0 to 12, index from 0 to _GET_NUM_OVERLAY_VALUES(overlayID)-1, and opacity from 0.0 to 1.0.
- overlayID Part Index, to disable
- 0 Blemishes 0 - 23, 255
- 1 Facial Hair 0 - 28, 255
- 2 Eyebrows 0 - 33, 255
- 3 Ageing 0 - 14, 255
- 4 Makeup 0 - 74, 255
- 5 Blush 0 - 6, 255
- 6 Complexion 0 - 11, 255
- 7 Sun Damage 0 - 10, 255
- 8 Lipstick 0 - 9, 255
- 9 Moles/Freckles 0 - 17, 255
- 10 Chest Hair 0 - 16, 255
- 11 Body Blemishes 0 - 11, 255
- 12 Add Body Blemishes 0 - 1, 255
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- ```
- Used for freemode (online) characters.
- Called after SET_PED_HEAD_OVERLAY().
- ```
-
- **Note:**
-
- You may need to call [`SetPedHeadBlendData`](#0x9414E18B9434C2FE) prior to calling this native in order for it to work.
-
-
-
-
- SET_PED_INTO_VEHICLE
-
-
-
-
- This native is used to set prop variation on a ped. Components, drawables and textures IDs are related to the ped model.
-
- ### MP Freemode list of props
-
- **0**: Hat\
- **1**: Glass\
- **2**: Ear\
- **6**: Watch\
- **7**: Bracelet
-
- ### Related and useful natives
-
- [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
- [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
-
- [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
-
-
-
-
- p1 is always 0 in R* scripts; and a quick disassembly seems to indicate that p1 is unused.
-
- List of component/props ID:
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- List of component/props ID
- gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html
-
-
-
-
- PED::SET_PED_RESET_FLAG(PLAYER::PLAYER_PED_ID(), 240, 1);
- Known values:
-
-
-
-
- p4/p5: Unusued in TU27
-
- ### Ragdoll Types
-
- **0**: CTaskNMRelax
- **1**: CTaskNMScriptControl: Hardcoded not to work in networked environments.
- **Else**: CTaskNMBalance
-
-
-
-
- Return variable is never used in R*'s scripts.
- Not sure what p2 does. It seems like it would be a time judging by it's usage in R*'s scripts, but didn't seem to affect anything in my testings.
- x, y, and z are coordinates, most likely to where the ped will fall.
- p7 is probably the force of the fall, but untested, so I left the variable name the same.
- p8 to p13 are always 0f in R*'s scripts.
- (Simplified) Example of the usage of the function from R*'s scripts:
- ped::set_ped_to_ragdoll_with_fall(ped, 1500, 2000, 1, -entity::get_entity_forward_vector(ped), 1f, 0f, 0f, 0f, 0f, 0f, 0f);
-
-
-
-
- Flags:
- SPC_AMBIENT_SCRIPT = (1 << 1),
- SPC_CLEAR_TASKS = (1 << 2),
- SPC_REMOVE_FIRES = (1 << 3),
- SPC_REMOVE_EXPLOSIONS = (1 << 4),
- SPC_REMOVE_PROJECTILES = (1 << 5),
- SPC_DEACTIVATE_GADGETS = (1 << 6),
- SPC_REENABLE_CONTROL_ON_DEATH = (1 << 7),
- SPC_LEAVE_CAMERA_CONTROL_ON = (1 << 8),
- SPC_ALLOW_PLAYER_DAMAGE = (1 << 9),
- SPC_DONT_STOP_OTHER_CARS_AROUND_PLAYER = (1 << 10),
- SPC_PREVENT_EVERYBODY_BACKOFF = (1 << 11),
- SPC_ALLOW_PAD_SHAKE = (1 << 12)
- See: https://alloc8or.re/gta5/doc/enums/eSetPlayerControlFlag.txt
-
-
-
-
- Sets the culling radius for the specified player.
- Set to `0.0` to reset.
-
- **WARNING**: Culling natives are deprecated and have known, [unfixable issues](https://forum.cfx.re/t/issue-with-culling-radius-and-server-side-entities/4900677/4)
-
-
-
-
- Simply sets you as invincible (Health will not deplete).
- Use 0x733A643B5B0C53C1 instead if you want Ragdoll enabled, which is equal to:
- *(DWORD *)(playerPedAddress + 0x188) |= (1 << 9);
-
-
-
-
- Set the model for a specific Player. Note that this will destroy the current Ped for the Player and create a new one, any reference to the old ped will be invalid after calling this.
-
- As per usual, make sure to request the model first and wait until it has loaded.
-
-
-
-
- Sets the routing bucket for the specified player.
-
- Routing buckets are also known as 'dimensions' or 'virtual worlds' in past echoes, however they are population-aware.
-
-
-
-
- Call SET_PLAYER_WANTED_LEVEL_NOW for immediate effect
- wantedLevel is an integer value representing 0 to 5 stars even though the game supports the 6th wanted level but no police will appear since no definitions are present for it in the game files
- disableNoMission- Disables When Off Mission- appears to always be false
-
-
-
-
- A setter for [GET_RESOURCE_KVP_STRING](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_FLOAT](#\_0x35BDCEEA).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_FLOAT](#\_0x9ADD2938) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- A setter for [GET_RESOURCE_KVP_INT](#\_0x557B586A).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP_INT](#\_0x6A2B1E8) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- Nonsynchronous [SET_RESOURCE_KVP](#\_0x21C7A35B) operation; see [FLUSH_RESOURCE_KVP](#\_0x5240DA5A).
-
-
-
-
- Sets the entity lockdown mode for a specific routing bucket.
-
- Lockdown modes are:
-
- | Mode | Meaning |
- | ---------- | ---------------------------------------------------------- |
- | `strict` | No entities can be created by clients at all. |
- | `relaxed` | Only script-owned entities created by clients are blocked. |
- | `inactive` | Clients can create any entity they want. |
-
-
-
-
- Sets whether or not the specified routing bucket has automatically-created population enabled.
-
-
-
-
- Internal function for setting a state bag value.
-
-
-
-
- SET_VEHICLE_ALARM
-
-
-
-
- p2 often set to 1000.0 in the decompiled scripts.
-
-
-
-
- Sets the selected vehicle's colors to their default value (specific variant specified using the colorCombination parameter).
-
- Range of possible values for colorCombination is currently unknown, I couldn't find where these values are stored either (Disquse's guess was vehicles.meta but I haven't seen it in there.)
-
-
-
-
- colorPrimary & colorSecondary are the paint indexes for the vehicle.
-
- For a list of valid paint indexes, view: pastebin.com/pwHci0xK
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- p1, p2, p3 are RGB values for color (255,0,0 for Red, ect)
-
-
-
-
- Sets the dirt level of the passed vehicle.
-
-
-
-
- See eDoorId declared in [`SET_VEHICLE_DOOR_SHUT`](#\_0x93D9BD300D7789E5)
-
-
-
-
- // Source GTA VC miss2 leak, matching constants for 0/2/4, testing
- // They use 10 in am_mp_property_int, don't know what it does atm.
- enum eCarLock {
- CARLOCK_NONE = 0,
- CARLOCK_UNLOCKED = 1,
- CARLOCK_LOCKED = 2,
- CARLOCK_LOCKOUT_PLAYER_ONLY = 3,
- CARLOCK_LOCKED_PLAYER_INSIDE = 4,
- CARLOCK_LOCKED_INITIALLY = 5,
- CARLOCK_FORCE_SHUT_DOORS = 6,
- CARLOCK_LOCKED_BUT_CAN_BE_DAMAGED = 7
- };
-
-
-
-
- SET_VEHICLE_NUMBER_PLATE_TEXT
-
-
-
-
- START_FIND_KVP
-
-
-
-
- START_RESOURCE
-
-
-
-
- STOP_RESOURCE
-
-
-
-
- Makes the specified ped attack the target ped.
- p2 should be 0
- p3 should be 16
-
-
-
-
- Example:
- TASK::TASK_DRIVE_BY(l_467[1/*22*/], PLAYER::PLAYER_PED_ID(), 0, 0.0, 0.0, 2.0, 300.0, 100, 0, ${firing_pattern_burst_fire_driveby});
- Needs working example. Doesn't seem to do anything.
- I marked p2 as targetVehicle as all these shooting related tasks seem to have that in common.
- I marked p6 as distanceToShoot as if you think of GTA's Logic with the native SET_VEHICLE_SHOOT natives, it won't shoot till it gets within a certain distance of the target.
- I marked p7 as pedAccuracy as it seems it's mostly 100 (Completely Accurate), 75, 90, etc. Although this could be the ammo count within the gun, but I highly doubt it. I will change this comment once I find out if it's ammo count or not.
-
-
-
-
- speed 1.0 = walk, 2.0 = run
- p5 1 = normal, 3 = teleport to vehicle, 8 = normal/carjack ped from seat, 16 = teleport directly into vehicle
- p6 is always 0
-
-
-
-
- TASK_EVERYONE_LEAVE_VEHICLE
-
-
-
-
- TASK_GO_STRAIGHT_TO_COORD
-
-
-
-
- example from fm_mission_controller
- TASK::TASK_GO_TO_COORD_ANY_MEANS(l_649, sub_f7e86(-1, 0), 1.0, 0, 0, 786603, 0xbf800000);
-
-
-
-
- The entity will move towards the target until time is over (duration) or get in target's range (distance). p5 and p6 are unknown, but you could leave p5 = 1073741824 or 100 or even 0 (didn't see any difference but on the decompiled scripts, they use 1073741824 mostly) and p6 = 0
- Note: I've only tested it on entity -> ped and target -> vehicle. It could work differently on other entities, didn't try it yet.
- Example: TASK::TASK_GO_TO_ENTITY(pedHandle, vehicleHandle, 5000, 4.0, 100, 1073741824, 0)
- Ped will run towards the vehicle for 5 seconds and stop when time is over or when he gets 4 meters(?) around the vehicle (with duration = -1, the task duration will be ignored).
-
-
-
-
- In the scripts, p3 was always -1.
- p3 seems to be duration or timeout of turn animation.
- Also facingPed can be 0 or -1 so ped will just raise hands up.
-
-
-
-
- Flags are the same flags used in [`TASK_LEAVE_VEHICLE`](#\_0xD3DBCE61A490BE02)
-
-
-
-
- Flags from decompiled scripts:
- 0 = normal exit and closes door.
- 1 = normal exit and closes door.
- 16 = teleports outside, door kept closed. (This flag does not seem to work for the front seats in buses, NPCs continue to exit normally)
- 64 = normal exit and closes door, maybe a bit slower animation than 0.
- 256 = normal exit but does not close the door.
- 4160 = ped is throwing himself out, even when the vehicle is still.
- 262144 = ped moves to passenger seat first, then exits normally
- Others to be tried out: 320, 512, 131072.
-
-
-
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
- ```
- float blendInSpeed > normal speed is 8.0f
- ----------------------
- float blendOutSpeed > normal speed is 8.0f
- ----------------------
- int duration: time in millisecond
- ----------------------
- -1 _ _ _ _ _ _ _> Default (see flag)
- 0 _ _ _ _ _ _ _ > Not play at all
- Small value _ _ > Slow down animation speed
- Other _ _ _ _ _ > freeze player control until specific time (ms) has
- _ _ _ _ _ _ _ _ _ passed. (No effect if flag is set to be
- _ _ _ _ _ _ _ _ _ controllable.)
- int flag:
- ----------------------
- enum eAnimationFlags
- {
- ANIM_FLAG_NORMAL = 0,
- ANIM_FLAG_REPEAT = 1,
- ANIM_FLAG_STOP_LAST_FRAME = 2,
- ANIM_FLAG_UPPERBODY = 16,
- ANIM_FLAG_ENABLE_PLAYER_CONTROL = 32,
- ANIM_FLAG_CANCELABLE = 120,
- };
- Odd number : loop infinitely
- Even number : Freeze at last frame
- Multiple of 4: Freeze at last frame but controllable
- 01 to 15 > Full body
- 10 to 31 > Upper body
- 32 to 47 > Full body > Controllable
- 48 to 63 > Upper body > Controllable
- ...
- 001 to 255 > Normal
- 256 to 511 > Garbled
- ...
- playbackRate:
- values are between 0.0 and 1.0
- lockX:
- 0 in most cases 1 for rcmepsilonism8 and rcmpaparazzo_3
- > 1 for mini@sprunk
- lockY:
- 0 in most cases
- 1 for missfam5_yoga, missfra1mcs_2_crew_react
- lockZ:
- 0 for single player
- Can be 1 but only for MP
- ```
-
-
-
-
- It's similar to the one above, except the first 6 floats let you specify the initial position and rotation of the task. (Ped gets teleported to the position).
-
- [Animations list](https://alexguirre.github.io/animations-list/)
-
-
-
-
- TASK_REACT_AND_FLEE_PED
-
-
-
-
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- //this part of the code is to determine at which entity the player is aiming, for example if you want to create a mod where you give orders to peds
- Entity aimedentity;
- Player player = PLAYER::PLAYER_ID();
- PLAYER::_GET_AIMED_ENTITY(player, &aimedentity);
- //bg is an array of peds
- TASK::TASK_SHOOT_AT_ENTITY(bg[i], aimedentity, 5000, MISC::GET_HASH_KEY("FIRING_PATTERN_FULL_AUTO"));
- in practical usage, getting the entity the player is aiming at and then task the peds to shoot at the entity, at a button press event would be better.
- Firing Pattern Hash Information: https://pastebin.com/Px036isB
-
-
-
-
- TASK_WARP_PED_INTO_VEHICLE
-
-
-
-
- TEMP_BAN_PLAYER
-
-
-
-
- The backing function for TriggerClientEvent.
-
-
-
-
- The backing function for TriggerEvent.
-
-
-
-
- The backing function for TriggerLatentClientEvent.
-
-
-
-
- VERIFY_PASSWORD_HASH
-
-
-
-
- Returns whether or not the currently executing event was canceled.
-
-
-
-
- Gets or sets the position of this .
-
-
- The position in world space.
-
-
-
-
- Gets or sets the rotation of this .
-
-
- The yaw, pitch, roll rotation values.
-
-
-
-
- Gets or sets the heading of this .
-
-
- The heading in degrees.
-
-
-
-
- Sets a value indicating whether this should be frozen.
-
-
- true if this position should be frozen; otherwise, false.
-
-
-
-
- Gets or sets the velocity of this .
-
-
-
-
- Gets the rotation velocity of this .
-
-
-
-
- Gets the model of the this .
-
-
-
-
- Gets the network owner of the this .
-
- Returns the of the network owner.
- Returns null if this is in an unowned state.
-
-
-
- Gets the network ID of the this .
-
-
-
-
- Gets the type of this .
-
- Returns 1 if this is a Ped.
- Returns 2 if this is a Vehicle.
- Returns 3 if this is a Prop.
-
-
-
- Gets the of this
-
-
-
-
- Creates a new instance of an from the given handle.
-
- The entity handle.
- Returns a if this handle corresponds to a Ped.
- Returns a if this handle corresponds to a Vehicle.
- Returns a if this handle corresponds to a Prop.
- Returns null if no exists this the specified
-
-
-
- Creates a new instance of an from the given network ID.
-
- The entity network ID.
- Returns a if this network ID corresponds to a Ped.
- Returns a if this network ID corresponds to a Vehicle.
- Returns a if this network ID corresponds to a Prop.
- Returns null if no exists this the specified
-
-
-
- Checks if two s refer to the same
-
- The other .
- true if they are the same ; otherwise, false
-
-
-
- Creates a new instance of an from the given player handle.
-
- The players handle.
- Returns the of the player.
- Returns null if no exists for the specified player
-
-
-
-
-
-
-
-
-
- Gets the identifier value of a particular type.
-
-
- string steamId = player.Identifiers["steam"];
-
- The identifier type to return.
- The identifier value (without prefix), or null if it could not be found.
-
-
-
diff --git a/citizen/scripting/.gitignore b/citizen/scripting/.gitignore
deleted file mode 100644
index 5a9d655f5..000000000
--- a/citizen/scripting/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-rpc_natives.json
\ No newline at end of file
diff --git a/citizen/scripting/lua/.gitignore b/citizen/scripting/lua/.gitignore
deleted file mode 100644
index 5ad72b134..000000000
--- a/citizen/scripting/lua/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-natives_*.lua
-natives_*.zip
-rdr3_*.lua
-rdr3_*.zip
-ny_*.lua
-ny*.zip
-natives_gta/
\ No newline at end of file
diff --git a/citizen/scripting/lua/MessagePack.lua b/citizen/scripting/lua/MessagePack.lua
deleted file mode 100644
index d947fac35..000000000
--- a/citizen/scripting/lua/MessagePack.lua
+++ /dev/null
@@ -1,910 +0,0 @@
---
--- lua-MessagePack :
---
-
-local assert = assert
-local error = error
-local pairs = pairs
-local pcall = pcall
-local setmetatable = setmetatable
-local tostring = tostring
-local type = type
-local char = string.char
-local math_type = math.type
-local tointeger = math.tointeger
-local tconcat = table.concat
-local pack = string.pack
-local unpack = string.unpack
-
---[[ debug only
-local format = require'string'.format
-local function hexadump (s)
- return (s:gsub('.', function (c) return format('%02X ', c:byte()) end))
-end
---]]
-
-local m = {}
-_G.msgpack = m
-
-local _ENV = nil
-
---[[ debug only
-m.hexadump = hexadump
---]]
-
-local function argerror (caller, narg, extramsg)
- error("bad argument #" .. tostring(narg) .. " to "
- .. caller .. " (" .. extramsg .. ")")
-end
-
-local function typeerror (caller, narg, arg, tname)
- argerror(caller, narg, tname .. " expected, got " .. type(arg))
-end
-
-local function checktype (caller, narg, arg, tname)
- if type(arg) ~= tname then
- typeerror(caller, narg, arg, tname)
- end
-end
-
-local packers = setmetatable({}, {
- __index = function (t, k) error("pack '" .. k .. "' is unimplemented") end
-})
-m.packers = packers
-
-packers['nil'] = function (buffer)
- buffer[#buffer+1] = char(0xC0) -- nil
-end
-
-packers['boolean'] = function (buffer, bool)
- if bool then
- buffer[#buffer+1] = char(0xC3) -- true
- else
- buffer[#buffer+1] = char(0xC2) -- false
- end
-end
-
-packers['string_compat'] = function (buffer, str)
- local n = #str
- if n <= 0x1F then
- buffer[#buffer+1] = char(0xA0 + n) -- fixstr
- elseif n <= 0xFFFF then
- buffer[#buffer+1] = char(0xDA) -- str16
- buffer[#buffer+1] = pack('>I2', n)
- elseif n <= 0xFFFFFFFF.0 then
- buffer[#buffer+1] = char(0xDB) -- str32
- buffer[#buffer+1] = pack('>I4', n)
- else
- error"overflow in pack 'string_compat'"
- end
- buffer[#buffer+1] = str
-end
-
-packers['_string'] = function (buffer, str)
- local n = #str
- if n <= 0x1F then
- buffer[#buffer+1] = char(0xA0 + n) -- fixstr
- elseif n <= 0xFF then
- buffer[#buffer+1] = char(0xD9, -- str8
- n)
- elseif n <= 0xFFFF then
- buffer[#buffer+1] = char(0xDA) -- str16
- buffer[#buffer+1] = pack('>I2', n)
- elseif n <= 0xFFFFFFFF.0 then
- buffer[#buffer+1] = char(0xDB) -- str32
- buffer[#buffer+1] = pack('>I4', n)
- else
- error"overflow in pack 'string'"
- end
- buffer[#buffer+1] = str
-end
-
-packers['binary'] = function (buffer, str)
- local n = #str
- if n <= 0xFF then
- buffer[#buffer+1] = char(0xC4, -- bin8
- n)
- elseif n <= 0xFFFF then
- buffer[#buffer+1] = char(0xC5) -- bin16
- buffer[#buffer+1] = pack('>I2', n)
- elseif n <= 0xFFFFFFFF.0 then
- buffer[#buffer+1] = char(0xC6) -- bin32
- buffer[#buffer+1] = pack('>I4', n)
- else
- error"overflow in pack 'binary'"
- end
- buffer[#buffer+1] = str
-end
-
-local set_string = function (str)
- if str == 'string_compat' then
- packers['string'] = packers['string_compat']
- elseif str == 'string' then
- packers['string'] = packers['_string']
- elseif str == 'binary' then
- packers['string'] = packers['binary']
- else
- argerror('set_string', 1, "invalid option '" .. str .."'")
- end
-end
-m.set_string = set_string
-
-packers['map'] = function (buffer, tbl, n)
- if n <= 0x0F then
- buffer[#buffer+1] = char(0x80 + n) -- fixmap
- elseif n <= 0xFFFF then
- buffer[#buffer+1] = char(0xDE) -- map16
- buffer[#buffer+1] = pack('>I2', n)
- elseif n <= 0xFFFFFFFF.0 then
- buffer[#buffer+1] = char(0xDF) -- map32
- buffer[#buffer+1] = pack('>I4', n)
- else
- error"overflow in pack 'map'"
- end
- for k, v in pairs(tbl) do
- packers[type(k)](buffer, k)
- packers[type(v)](buffer, v)
- end
-end
-
-packers['array'] = function (buffer, tbl, n)
- if n <= 0x0F then
- buffer[#buffer+1] = char(0x90 + n) -- fixarray
- elseif n <= 0xFFFF then
- buffer[#buffer+1] = char(0xDC) -- array16
- buffer[#buffer+1] = pack('>I2', n)
- elseif n <= 0xFFFFFFFF.0 then
- buffer[#buffer+1] = char(0xDD) -- array32
- buffer[#buffer+1] = pack('>I4', n)
- else
- error"overflow in pack 'array'"
- end
- for i = 1, n do
- local v = tbl[i]
- packers[type(v)](buffer, v)
- end
-end
-
-local set_array = function (array)
- if array == 'without_hole' then
- packers['_table'] = function (buffer, tbl)
- local is_map, n, max = false, 0, 0
- for k in pairs(tbl) do
- if type(k) == 'number' and k > 0 then
- if k > max then
- max = k
- end
- else
- is_map = true
- end
- n = n + 1
- end
- if max ~= n then -- there are holes
- is_map = true
- end
- if is_map then
- return packers['map'](buffer, tbl, n)
- else
- return packers['array'](buffer, tbl, n)
- end
- end
- elseif array == 'with_hole' then
- packers['_table'] = function (buffer, tbl)
- local is_map, n, max = false, 0, 0
- for k in pairs(tbl) do
- if type(k) == 'number' and k > 0 then
- if k > max then
- max = k
- end
- else
- is_map = true
- end
- n = n + 1
- end
- if is_map then
- return packers['map'](buffer, tbl, n)
- else
- return packers['array'](buffer, tbl, max)
- end
- end
- elseif array == 'always_as_map' then
- packers['_table'] = function(buffer, tbl)
- local n = 0
- for k in pairs(tbl) do
- n = n + 1
- end
- return packers['map'](buffer, tbl, n)
- end
- else
- argerror('set_array', 1, "invalid option '" .. array .."'")
- end
-end
-m.set_array = set_array
-
-packers['table'] = function (buffer, tbl)
- return packers['_table'](buffer, tbl)
-end
-
-packers['unsigned'] = function (buffer, n)
- if n >= 0 then
- if n <= 0x7F then
- buffer[#buffer+1] = char(n) -- fixnum_pos
- elseif n <= 0xFF then
- buffer[#buffer+1] = char(0xCC, -- uint8
- n)
- elseif n <= 0xFFFF then
- buffer[#buffer+1] = char(0xCD) -- uint16
- buffer[#buffer+1] = pack('>I2', n)
- elseif n <= 0xFFFFFFFF.0 then
- buffer[#buffer+1] = char(0xCE) -- uint32
- buffer[#buffer+1] = pack('>I4', n)
- else
- buffer[#buffer+1] = char(0xCF) -- uint64
- buffer[#buffer+1] = pack('>I8', n)
- end
- else
- if n >= -0x20 then
- buffer[#buffer+1] = char(0x100 + n) -- fixnum_neg
- elseif n >= -0x80 then
- buffer[#buffer+1] = char(0xD0) -- int8
- buffer[#buffer+1] = pack('>i1', n)
- elseif n >= -0x8000 then
- buffer[#buffer+1] = char(0xD1) -- int16
- buffer[#buffer+1] = pack('>i2', n)
- elseif n >= -0x80000000 then
- buffer[#buffer+1] = char(0xD2) -- int32
- buffer[#buffer+1] = pack('>i4', n)
- else
- buffer[#buffer+1] = char(0xD3) -- int64
- buffer[#buffer+1] = pack('>i8', n)
- end
- end
-end
-
-packers['signed'] = function (buffer, n)
- if n >= 0 then
- if n <= 0x7F then
- buffer[#buffer+1] = char(n) -- fixnum_pos
- elseif n <= 0x7FFF then
- buffer[#buffer+1] = char(0xD1) -- int16
- buffer[#buffer+1] = pack('>i2', n)
- elseif n <= 0x7FFFFFFF then
- buffer[#buffer+1] = char(0xD2) -- int32
- buffer[#buffer+1] = pack('>i4', n)
- else
- buffer[#buffer+1] = char(0xD3) -- int64
- buffer[#buffer+1] = pack('>i8', n)
- end
- else
- if n >= -0x20 then
- buffer[#buffer+1] = char(0xE0 + 0x20 + n) -- fixnum_neg
- elseif n >= -0x80 then
- buffer[#buffer+1] = char(0xD0) -- int8
- buffer[#buffer+1] = pack('>i1', n)
- elseif n >= -0x8000 then
- buffer[#buffer+1] = char(0xD1) -- int16
- buffer[#buffer+1] = pack('>i2', n)
- elseif n >= -0x80000000 then
- buffer[#buffer+1] = char(0xD2) -- int32
- buffer[#buffer+1] = pack('>i4', n)
- else
- buffer[#buffer+1] = char(0xD3) -- int64
- buffer[#buffer+1] = pack('>i8', n)
- end
- end
-end
-
-local set_integer = function (integer)
- if integer == 'unsigned' then
- packers['integer'] = packers['unsigned']
- elseif integer == 'signed' then
- packers['integer'] = packers['signed']
- else
- argerror('set_integer', 1, "invalid option '" .. integer .."'")
- end
-end
-m.set_integer = set_integer
-
-packers['float'] = function (buffer, n)
- buffer[#buffer+1] = char(0xCA)
- buffer[#buffer+1] = pack('>f', n)
-end
-
-packers['double'] = function (buffer, n)
- buffer[#buffer+1] = char(0xCB)
- buffer[#buffer+1] = pack('>d', n)
-end
-
-local set_number = function (number)
- if number == 'integer' then
- packers['number'] = packers['signed']
- elseif number == 'float' then
- packers['number'] = function (buffer, n)
- if math_type(n) == 'float' then
- return packers['float'](buffer, n)
- else
- return packers['integer'](buffer, n)
- end
- end
- elseif number == 'double' then
- packers['number'] = function (buffer, n)
- if math_type(n) == 'float' then
- return packers['double'](buffer, n)
- else
- return packers['integer'](buffer, n)
- end
- end
- else
- argerror('set_number', 1, "invalid option '" .. number .."'")
- end
-end
-m.set_number = set_number
-
-for k = 0, 4 do
- local n = tointeger(2^k)
- local fixext = 0xD4 + k
- packers['fixext' .. tostring(n)] = function (buffer, tag, data)
- assert(#data == n, "bad length for fixext" .. tostring(n))
- buffer[#buffer+1] = char(fixext)
- buffer[#buffer+1] = pack('>i1', tag)
- buffer[#buffer+1] = data
- end
-end
-
-packers['ext'] = function (buffer, tag, data)
- local n = #data
- if n <= 0xFF then
- buffer[#buffer+1] = char(0xC7, -- ext8
- n)
- buffer[#buffer+1] = pack('>i1', tag)
- elseif n <= 0xFFFF then
- buffer[#buffer+1] = char(0xC8) -- ext16
- buffer[#buffer+1] = pack('>I2', n)
- buffer[#buffer+1] = pack('>i1', tag)
- elseif n <= 0xFFFFFFFF.0 then
- buffer[#buffer+1] = char(0xC9) -- ext32
- buffer[#buffer+1] = pack('>I4', n)
- buffer[#buffer+1] = pack('>i1', tag)
- else
- error"overflow in pack 'ext'"
- end
- buffer[#buffer+1] = data
-end
-
-function m.pack (data)
- local buffer = {}
- packers[type(data)](buffer, data)
- return tconcat(buffer)
-end
-
-
-local types_map = setmetatable({
- [0xC0] = 'nil',
- [0xC2] = 'false',
- [0xC3] = 'true',
- [0xC4] = 'bin8',
- [0xC5] = 'bin16',
- [0xC6] = 'bin32',
- [0xC7] = 'ext8',
- [0xC8] = 'ext16',
- [0xC9] = 'ext32',
- [0xCA] = 'float',
- [0xCB] = 'double',
- [0xCC] = 'uint8',
- [0xCD] = 'uint16',
- [0xCE] = 'uint32',
- [0xCF] = 'uint64',
- [0xD0] = 'int8',
- [0xD1] = 'int16',
- [0xD2] = 'int32',
- [0xD3] = 'int64',
- [0xD4] = 'fixext1',
- [0xD5] = 'fixext2',
- [0xD6] = 'fixext4',
- [0xD7] = 'fixext8',
- [0xD8] = 'fixext16',
- [0xD9] = 'str8',
- [0xDA] = 'str16',
- [0xDB] = 'str32',
- [0xDC] = 'array16',
- [0xDD] = 'array32',
- [0xDE] = 'map16',
- [0xDF] = 'map32',
-}, { __index = function (t, k)
- if k < 0xC0 then
- if k < 0x80 then
- return 'fixnum_pos'
- elseif k < 0x90 then
- return 'fixmap'
- elseif k < 0xA0 then
- return 'fixarray'
- else
- return 'fixstr'
- end
- elseif k > 0xDF then
- return 'fixnum_neg'
- else
- return 'reserved' .. tostring(k)
- end
-end })
-m.types_map = types_map
-
-local unpackers = setmetatable({}, {
- __index = function (t, k) error("unpack '" .. k .. "' is unimplemented") end
-})
-m.unpackers = unpackers
-
-local function unpack_array (c, n)
- local t = {}
- local decode = unpackers['any']
- for i = 1, n do
- t[i] = decode(c)
- end
- return t
-end
-
-local function unpack_map (c, n)
- local t = {}
- local decode = unpackers['any']
- for i = 1, n do
- local k = decode(c)
- local val = decode(c)
- if k == nil then
- k = m.sentinel
- end
- if k ~= nil then
- t[k] = val
- end
- end
- return t
-end
-
-unpackers['any'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- local val = s:sub(i, i):byte()
- c.i = i+1
- return unpackers[types_map[val]](c, val)
-end
-
-unpackers['nil'] = function ()
- return nil
-end
-
-unpackers['false'] = function ()
- return false
-end
-
-unpackers['true'] = function ()
- return true
-end
-
-unpackers['float'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+3 > j then
- c:underflow(i+3)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+4
- return unpack('>f', s, i)
-end
-
-unpackers['double'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+7 > j then
- c:underflow(i+7)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+8
- return unpack('>d', s, i)
-end
-
-unpackers['fixnum_pos'] = function (c, val)
- return val
-end
-
-unpackers['uint8'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+1
- return unpack('>I1', s, i)
-end
-
-unpackers['uint16'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+1 > j then
- c:underflow(i+1)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+2
- return unpack('>I2', s, i)
-end
-
-unpackers['uint32'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+3 > j then
- c:underflow(i+3)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+4
- return unpack('>I4', s, i)
-end
-
-unpackers['uint64'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+7 > j then
- c:underflow(i+7)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+8
- return unpack('>I8', s, i)
-end
-
-unpackers['fixnum_neg'] = function (c, val)
- return val - 0x100
-end
-
-unpackers['int8'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+1
- return unpack('>i1', s, i)
-end
-
-unpackers['int16'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+1 > j then
- c:underflow(i+1)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+2
- return unpack('>i2', s, i)
-end
-
-unpackers['int32'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+3 > j then
- c:underflow(i+3)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+4
- return unpack('>i4', s, i)
-end
-
-unpackers['int64'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+7 > j then
- c:underflow(i+7)
- s, i, j = c.s, c.i, c.j
- end
- c.i = i+8
- return unpack('>i8', s, i)
-end
-
-unpackers['fixstr'] = function (c, val)
- local s, i, j = c.s, c.i, c.j
- local n = val & 0x1F
- local e = i+n-1
- if e > j then
- c:underflow(e)
- s, i, j = c.s, c.i, c.j
- e = i+n-1
- end
- c.i = i+n
- return s:sub(i, e)
-end
-
-unpackers['str8'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I1', s, i)
- i = i+1
- c.i = i
- local e = i+n-1
- if e > j then
- c:underflow(e)
- s, i, j = c.s, c.i, c.j
- e = i+n-1
- end
- c.i = i+n
- return s:sub(i, e)
-end
-
-unpackers['str16'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+1 > j then
- c:underflow(i+1)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I2', s, i)
- i = i+2
- c.i = i
- local e = i+n-1
- if e > j then
- c:underflow(e)
- s, i, j = c.s, c.i, c.j
- e = i+n-1
- end
- c.i = i+n
- return s:sub(i, e)
-end
-
-unpackers['str32'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+3 > j then
- c:underflow(i+3)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I4', s, i)
- i = i+4
- c.i = i
- local e = i+n-1
- if e > j then
- c:underflow(e)
- s, i, j = c.s, c.i, c.j
- e = i+n-1
- end
- c.i = i+n
- return s:sub(i, e)
-end
-
-unpackers['bin8'] = unpackers['str8']
-unpackers['bin16'] = unpackers['str16']
-unpackers['bin32'] = unpackers['str32']
-
-unpackers['fixarray'] = function (c, val)
- return unpack_array(c, val & 0xF)
-end
-
-unpackers['array16'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+1 > j then
- c:underflow(i+1)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I2', s, i)
- c.i = i+2
- return unpack_array(c, n)
-end
-
-unpackers['array32'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+3 > j then
- c:underflow(i+3)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I4', s, i)
- c.i = i+4
- return unpack_array(c, n)
-end
-
-unpackers['fixmap'] = function (c, val)
- return unpack_map(c, val & 0xF)
-end
-
-unpackers['map16'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+1 > j then
- c:underflow(i+1)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I2', s, i)
- c.i = i+2
- return unpack_map(c, n)
-end
-
-unpackers['map32'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+3 > j then
- c:underflow(i+3)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I4', s, i)
- c.i = i+4
- return unpack_map(c, n)
-end
-
-function m.build_ext (tag, data)
- return nil
-end
-
-for k = 0, 4 do
- local n = tointeger(2^k)
- unpackers['fixext' .. tostring(n)] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- local tag = unpack('>i1', s, i)
- i = i+1
- c.i = i
- local e = i+n-1
- if e > j then
- c:underflow(e)
- s, i, j = c.s, c.i, c.j
- e = i+n-1
- end
- c.i = i+n
- return m.build_ext(tag, s:sub(i, e))
- end
-end
-
-unpackers['ext8'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I1', s, i)
- i = i+1
- c.i = i
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- local tag = unpack('>i1', s, i)
- i = i+1
- c.i = i
- local e = i+n-1
- if e > j then
- c:underflow(e)
- s, i, j = c.s, c.i, c.j
- e = i+n-1
- end
- c.i = i+n
- return m.build_ext(tag, s:sub(i, e))
-end
-
-unpackers['ext16'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+1 > j then
- c:underflow(i+1)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I2', s, i)
- i = i+2
- c.i = i
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- local tag = unpack('>i1', s, i)
- i = i+1
- c.i = i
- local e = i+n-1
- if e > j then
- c:underflow(e)
- s, i, j = c.s, c.i, c.j
- e = i+n-1
- end
- c.i = i+n
- return m.build_ext(tag, s:sub(i, e))
-end
-
-unpackers['ext32'] = function (c)
- local s, i, j = c.s, c.i, c.j
- if i+3 > j then
- c:underflow(i+3)
- s, i, j = c.s, c.i, c.j
- end
- local n = unpack('>I4', s, i)
- i = i+4
- c.i = i
- if i > j then
- c:underflow(i)
- s, i, j = c.s, c.i, c.j
- end
- local tag = unpack('>i1', s, i)
- i = i+1
- c.i = i
- local e = i+n-1
- if e > j then
- c:underflow(e)
- s, i, j = c.s, c.i, c.j
- e = i+n-1
- end
- c.i = i+n
- return m.build_ext(tag, s:sub(i, e))
-end
-
-
-local function cursor_string (str)
- return {
- s = str,
- i = 1,
- j = #str,
- underflow = function (self)
- error "missing bytes"
- end,
- }
-end
-
-local function cursor_loader (ld)
- return {
- s = '',
- i = 1,
- j = 0,
- underflow = function (self, e)
- self.s = self.s:sub(self.i)
- e = e - self.i + 1
- self.i = 1
- self.j = 0
- while e > self.j do
- local chunk = ld()
- if not chunk then
- error "missing bytes"
- end
- self.s = self.s .. chunk
- self.j = #self.s
- end
- end,
- }
-end
-
-function m.unpack (s)
- checktype('unpack', 1, s, 'string')
- local cursor = cursor_string(s)
- local data = unpackers['any'](cursor)
- if cursor.i < cursor.j then
- error "extra bytes"
- end
- return data
-end
-
-function m.unpacker (src)
- if type(src) == 'string' then
- local cursor = cursor_string(src)
- return function ()
- if cursor.i <= cursor.j then
- return cursor.i, unpackers['any'](cursor)
- end
- end
- elseif type(src) == 'function' then
- local cursor = cursor_loader(src)
- return function ()
- if cursor.i > cursor.j then
- pcall(cursor.underflow, cursor, cursor.i)
- end
- if cursor.i <= cursor.j then
- return true, unpackers['any'](cursor)
- end
- end
- else
- argerror('unpacker', 1, "string or function expected, got " .. type(src))
- end
-end
-
-set_string'string_compat'
-set_integer'unsigned'
-if math_type(0.0) == math_type(0) then
- set_number'integer'
-elseif #pack('n', 0.0) == 4 then
- m.small_lua = true
- set_number'float'
-else
- m.full64bits = true
- set_number'double'
-end
-set_array'without_hole'
-
-m._VERSION = '0.3.3'
-m._DESCRIPTION = "lua-MessagePack : a pure Lua implementation"
-m._COPYRIGHT = "Copyright (c) 2012-2015 Francois Perrad"
-
---
--- This library is licensed under the terms of the MIT/X11 license,
--- like Lua itself.
---
diff --git a/citizen/scripting/lua/deferred.lua b/citizen/scripting/lua/deferred.lua
deleted file mode 100644
index e71858759..000000000
--- a/citizen/scripting/lua/deferred.lua
+++ /dev/null
@@ -1,220 +0,0 @@
---
--- lua-promises : https://github.com/zserge/lua-promises
---
-
-local M = {}
-_G.promise = M
-
-local deferred = {}
-deferred.__index = deferred
-
-local PENDING = 0
-local RESOLVING = 1
-local REJECTING = 2
-local RESOLVED = 3
-local REJECTED = 4
-
-local function finish(deferred, state)
- state = state or REJECTED
- for i, f in ipairs(deferred.queue) do
- if state == RESOLVED then
- f:resolve(deferred.value)
- else
- f:reject(deferred.value)
- end
- end
- deferred.state = state
-end
-
-local function isfunction(f)
- if type(f) == 'table' then
- local mt = getmetatable(f)
- return mt ~= nil and type(mt.__call) == 'function'
- end
- return type(f) == 'function'
-end
-
-local function promise(deferred, next, success, failure, nonpromisecb)
- if type(deferred) == 'table' and type(deferred.value) == 'table' and isfunction(next) then
- local called = false
- local ok, err = pcall(next, deferred.value, function(v)
- if called then return end
- called = true
- deferred.value = v
- success()
- end, function(v)
- if called then return end
- called = true
- deferred.value = v
- failure()
- end)
- if not ok and not called then
- deferred.value = err
- failure()
- end
- else
- nonpromisecb()
- end
-end
-
-local function fire(deferred)
- local next
- if type(deferred.value) == 'table' then
- next = deferred.value.next
- end
- promise(deferred, next, function()
- deferred.state = RESOLVING
- fire(deferred)
- end, function()
- deferred.state = REJECTING
- fire(deferred)
- end, function()
- local ok
- local v
- if deferred.state == RESOLVING and isfunction(deferred.success) then
- ok, v = pcall(deferred.success, deferred.value)
- elseif deferred.state == REJECTING and isfunction(deferred.failure) then
- ok, v = pcall(deferred.failure, deferred.value)
- if ok then
- deferred.state = RESOLVING
- end
- end
-
- if ok ~= nil then
- if ok then
- deferred.value = v
- else
- deferred.value = v
- return finish(deferred)
- end
- end
-
- if deferred.value == deferred then
- deferred.value = pcall(error, 'resolving promise with itself')
- return finish(deferred)
- else
- promise(deferred, next, function()
- finish(deferred, RESOLVED)
- end, function(state)
- finish(deferred, state)
- end, function()
- finish(deferred, deferred.state == RESOLVING and RESOLVED)
- end)
- end
- end)
-end
-
-local function resolve(deferred, state, value)
- if deferred.state == 0 then
- deferred.value = value
- deferred.state = state
- fire(deferred)
- end
- return deferred
-end
-
---
--- PUBLIC API
---
-function deferred:resolve(value)
- return resolve(self, RESOLVING, value)
-end
-
-function deferred:reject(value)
- return resolve(self, REJECTING, value)
-end
-
-function M.new(options)
- if isfunction(options) then
- local d = M.new()
- local ok, err = pcall(options, d)
- if not ok then
- d:reject(err)
- end
- return d
- end
- options = options or {}
- local d
- d = {
- next = function(self, success, failure)
- local next = M.new({success = success, failure = failure, extend = options.extend})
- if d.state == RESOLVED then
- next:resolve(d.value)
- elseif d.state == REJECTED then
- next:reject(d.value)
- else
- table.insert(d.queue, next)
- end
- return next
- end,
- state = 0,
- queue = {},
- success = options.success,
- failure = options.failure,
- }
- d = setmetatable(d, deferred)
- if isfunction(options.extend) then
- options.extend(d)
- end
- return d
-end
-
-function M.all(args)
- local d = M.new()
- if #args == 0 then
- return d:resolve({})
- end
- local method = "resolve"
- local pending = #args
- local results = {}
-
- local function synchronizer(i, resolved)
- return function(value)
- results[i] = value
- if not resolved then
- method = "reject"
- end
- pending = pending - 1
- if pending == 0 then
- d[method](d, results)
- end
- return value
- end
- end
-
- for i = 1, pending do
- args[i]:next(synchronizer(i, true), synchronizer(i, false))
- end
- return d
-end
-
-function M.map(args, fn)
- local d = M.new()
- local results = {}
- local function donext(i)
- if i > #args then
- d:resolve(results)
- else
- fn(args[i]):next(function(res)
- table.insert(results, res)
- donext(i+1)
- end, function(err)
- d:reject(err)
- end)
- end
- end
- donext(1)
- return d
-end
-
-function M.first(args)
- local d = M.new()
- for _, v in ipairs(args) do
- v:next(function(res)
- d:resolve(res)
- end, function(err)
- d:reject(err)
- end)
- end
- return d
-end
diff --git a/citizen/scripting/lua/graph.lua b/citizen/scripting/lua/graph.lua
deleted file mode 100644
index c7af41de1..000000000
--- a/citizen/scripting/lua/graph.lua
+++ /dev/null
@@ -1,1002 +0,0 @@
---[[
- A graphing and formatting utility script for the lmprof 'graph' output.
-
- This script introduces two classes:
- 1. LMNode - A graph node that represents a single function instance or
- the accumulation of all instances of the same function.
-
- 2. LMGraph - A graph composed of LMNode instances, measurements about
- them, and functions for generating human readable and application
- specific outputs.
-
- Three output formats are currently supported:
- 1. Flat - A tabular representation that may optionally be delimited, e.g., a CSV.
- 2. PepperFish - A layout similar to lua-users.org/wiki/PepperfishProfiler
- 3. Callgrind - A callgrind/kcachegrind compatible graph representation.
-
- The 'header' table of the lmprof 'graph' output supports the additional
- fields related to formatting and output of the graph:
- [BOOLEAN]
- csv - "Flat" layout is comma delimited [BOOLEAN]
- show_lines - Show line frequencies for flat output
-
- [STRING]
- sort - Sort the LMGraph output by a given category:
- 'count',
- 'time',
- 'total_time',
- 'allocated',
- 'total_allocated'
-
-@NOTES
- Instead of using io.write, or the 'io' library in general, a simplified
- writer API is used. For example, stdout:
-
- StdOut = {
- flush = function() end,
- write_line = function(_, str) print(str) end,
- }
-
- The final argument to each 'format' method will the writer object. Defaulting
- to StdOut on nil.
-
-@EXAMPLE
- -- local result = ... -- some lmprof operation.
- result.header.sort = "count" -- Append additional graphing properties
- result.header.csv = false
-
- -- Create a new format instance and produce a graph structure from the
- -- result table.
- local graph = Citizen.Graph(result.header, result.records)
-
- -- Generate a Flat representation
- graph:Flat(result.header)
-
- -- Generate a Pepperfish representation
- graph:Pepperfish(result.header)
-
- -- Generate a Callgrind representation
- graph:Callgrind(result.header)
-
-@LICENSE
- See Copyright Notice in lmprof_lib.h
---]]
-local LMGraph = nil
-local LMNode = nil
-local Binary = nil
-local Decimal = nil
-
----------------------------------------
----------- Utility Functions ----------
----------------------------------------
-
--- Attempt to use the UTF-8 representation of mu, otherwise fallback to u.
-local mu = (utf8 and utf8.char(0x03BC)) or "u"
-
--- When aligning columns use the utf8 length when possible.
-local utf8_len = (utf8 and utf8.len) or string.len
-
---[[
- Formatting labels, If "_VERSION <= Lua 5.2", then the UTF-8 code must be
- replaced with "u".
---]]
-local MetrixPrefix = { "n", mu, "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" }
-
---[[ Pad a (UTF8) string with left or right justification. --]]
-local function string_pad(str, width, padStr)
- local padStr = string.rep(padStr or ' ', math.abs(width))
- local width = width - (utf8_len(str) - str:len())
- return (width < 0 and string.sub(padStr .. str, width))
- or string.sub(str .. padStr, 1, width)
-end
-
---[[ Check a string prefix --]]
-local function string_starts(str, start)
- return str:sub(1, #start) == start
-end
-
---[[ Binary (base 2) representation. --]]
-Binary = {
- Exp = function(value, degree) return value * (1024 ^ -degree) end,
- Log = function(value)
- if value == 0 then return 0 end
- return math.floor((math.log(math.abs(value)) / math.log(2)) / 10)
- end,
-
- -- Format the given value according to a fixed degree (see Exp)
- Format = function(value, degree)
- return Binary.MetricFormat(Binary.Exp(value, degree))
- end,
-
- -- Create a human readable column header.
- Readable = function(degree, offset, suffix)
- return ("%s%s"):format(MetrixPrefix[degree + 1 + offset], suffix or "")
- end,
-
- -- Return a format string that limits the number of decimal values based on
- -- the size of the value.
- MetricFormat = function(value)
- local formatStr = "%.4f"
- if value > 1000 then
- formatStr = "%.2f"
- elseif value > 100 then
- formatStr = "%.3f"
- elseif value > 10 then
- formatStr = "%.4f"
- end
- return string.format(formatStr, value)
- end
-}
-
---[[ Decimal (base 10) representation --]]
-Decimal = {
- Exp = function(value, degree) return value * (1000 ^ -degree) end,
- Log = function(value)
- if value == 0 then return 0 end
- return math.floor((math.log(math.abs(value)) / math.log(10)) / 3)
- end,
-
- -- Format the given value according to a fixed degree (see Exp)
- Format = function(value, degree)
- return Binary.MetricFormat(Decimal.Exp(value, degree))
- end,
-
- -- Create a human readable column header.
- Readable = function(degree, offset, suffix)
- return ("%s%s"):format(MetrixPrefix[degree + 1 + offset], suffix or "")
- end,
-}
-
-----------------------------------------
-------------- Profile Node -------------
-----------------------------------------
-
---[[
- A function node that represents:
-
- (1) A single 'aggregated' activation record instance, e.g., a
- tuple or triple.
-
- (2) The accumulated statistics of all instances of the same function, its
- sources of invocation (parents), and decadents (children).
---]]
-LMNode = setmetatable({
- --[[
- Fields specified by lmprof_report.h mapped to categories, labels, and
- functions:
-
- Label - A human readable name.
- Sort - A (total) ordering function.
- Cat - Category for post processing: Specifying the unit of measurement,
- how values are aggregated, and their format.
- --]]
- Fields = {
- name = { Label = "Name", Cat = "String", Sort = function(fa, fb) if fa.name == fb.name then return 0 end ; return (fa.name < fb.name and -1) or 1 end },
- count = { Label = "Count", Cat = "Count", Sort = function(fa, fb) return fa.count - fb.count end },
- time = { Label = "Self-Time", Cat = "Time", Sort = function(fa, fb) return fa.time - fb.time end },
- total_time = { Label = "Total-Time", Cat = "Time", Sort = function(fa, fb) return fa.total_time - fb.total_time end },
- allocated = { Label = "Alloc", Cat = "Binary", Sort = function(fa, fb) return fa.allocated - fb.allocated end },
- total_allocated = { Label = "Total", Cat = "Binary", Sort = function(fa, fb) return fa.total_allocated - fb.total_allocated end },
- deallocated = { Label = "Dealloc", Cat = "Binary" },
- total_deallocated = { Label = "Dealloc", Cat = "Binary" },
- lines = { Label = "Lines", Cat = "Table" },
- id = { Label = "ID", Cat = "String" },
- parent = { Label = "PID", Cat = "String" },
- depth = { Label = "Depth", Cat = "Count", Sort = function(fa, fb) return fa.depth - fb.depth end },
-
- -- Extended fields
- timePerCount = { Label = "Time/Call", Cat = "TimeAverage" },
- totalTimePerCount = { Label = "Total/Call", Cat = "TimeAverage" },
- allocPerCount = { Label = "Alloc/Call", Cat = "BinaryAverage" },
- totalAllocPerCount = { Label = "Total/Call", Cat = "BinaryAverage" },
- timePercent = { Label = "PctTotal", Cat = "Percent" },
- allocPercent = { Label = "PctTotal", Cat = "Percent" },
- childTimePercent = { Label = "Pct Time Child", Cat = "Percent" },
- childSizePercent = { Label = "Pct Alloc Child", Cat = "Percent" },
- },
-}, {
- __tostring = function() return "Node" end,
- __call = function(_, ...)
- return LMNode.New(...)
- end
-})
-LMNode.__index = LMNode
-
---[[ Create a new function record. --]]
-function LMNode.New(id, record, previous)
- local result = previous or setmetatable({
- id = id,
- record = record,
- name = (record == nil and "") or record.source,
- -- Statistics
- count = 0,
- child_count = 0, -- Total number of sampler hits in all descendants
- -- Graph Structure
- rechable = false,
- depth = math.huge, -- Distance from root
- parents = { },
- children = { },
- }, LMNode)
-
- -- Ensure a record exists.
- if result.record == nil then
- result.record = record
- end
-
- -- Time profiling statistics
- if record ~= nil and record.time ~= nil then
- result.time = 0.0
- result.total_time = 0.0
- result.timePerCount = 0.0
- result.totalTimePerCount = 0.0
- result.timePercent = 0.0
- result.childTimePercent = 0.0
- end
-
- -- Memory profiling statistics
- if record ~= nil and record.allocated ~= nil then
- result.allocated = 0.0
- result.deallocated = 0.0
- result.total_allocated = 0.0
- result.total_deallocated = 0.0
- result.allocPerCount = 0.0
- result.totalAllocPerCount = 0.0
- result.allocPercent = 0.0
- result.childSizePercent = 0.0
- end
-
- -- Line Frequency
- if record ~= nil and record.lines ~= nil then
- result.lines = { }
- end
-
- return result
-end
-
---[[
- Merge the profile statistics of 'record' into this node, while associating
- an additional parent node.
-
- In other words, the 'parent' function invoked 'this' function and had
- accumulated a set amount of statistics.
---]]
-function LMNode:Append(header, record, parentNode)
- local tcp = "%(%.%.%.tail calls%.%.%.%)"
- local name = self.name
- local r_name = record.source
- local r_id = (header.compress_graph and record.func) or record.id
-
- -- Ensure parent/child relationship is set.
- if parentNode ~= nil then
- self.parents[record.parent] = parentNode
- parentNode.children[r_id] = self
- end
-
- -- always try to use the function name instead of (...tail calls...)
- if (name:match(tcp) and not r_name:match(tcp))
- or (string_starts(name, "?") and not string_starts(r_name, "?"))
- or (not r_name:match(tcp) and utf8_len(r_name) > utf8_len(name)) then
- self.name = r_name
- end
-
- -- Update statistics. Do not update the 'total' fields for self calls as
- -- they will have been handled by 'measured_pop'.
- --
- -- @NOTE: When compress_graph is enabled, record.parent is its unique
- -- record identifier, not the function identifier.
- if r_id ~= record.parent then
- for k,_ in pairs(self) do
- local f = LMNode.Fields[k]
- if record[k] and f and (f.Cat == "Count" or f.Cat == "Time" or f.Cat == "Binary") then
- self[k] = self[k] + record[k]
- end
- end
- else
- self.count = self.count + record.count
- if self.time then self.time = self.time + record.time end
- if self.allocated then
- self.allocated = self.allocated + record.allocated
- self.deallocated = self.deallocated + record.deallocated
- end
- end
-
- -- If line_freq was enabled, combine frequencies
- if record.lines ~= nil then
- local funcLines = self.lines
- for i=1,#record.lines do
- if funcLines[i] ~= nil then
- funcLines[i] = funcLines[i] + record.lines[i]
- else
- funcLines[i] = record.lines[i]
- end
- end
- end
-end
-
---[[
- Depth-first iterate through the reduced graph structure, setting a reachable
- field to each processed node to true.
---]]
-function LMNode:DepthFirstReachable(depth)
- if not self.reachable then
- local child_count = 0
-
- self.depth = depth
- self.reachable = true
- for _,childNode in pairs(self.children) do
- childNode:DepthFirstReachable(depth + 1)
- child_count = child_count + childNode.child_count + childNode.count
- end
-
- self.child_count = child_count
- else
- self.depth = math.min(self.depth or 0, depth)
- end
-end
-
-----------------------------------------
----------------- Reduce ----------------
-----------------------------------------
-
---[[
- A graph composed of LMNode instances, measurements about all nodes in the
- graph, and generating a human readable output.
---]]
-LMGraph = setmetatable({
- --[[ IO Interface --]]
- StdOut = {
- flush = function() end,
- write_line = function(_, str)
- Citizen.Trace(str)
- Citizen.Trace("\n")
- end,
- },
-
- --[[
- Sorting categories: an ordered list of fields ordered by priority. Where
- successive fields are used to handle tie breaks.
- --]]
- Sorting = {
- count = { "count", "depth", "name" },
- time = { "time", "count", "depth", "name" },
- total_time = { "total_time", "count", "depth", "name" },
- allocated = { "allocated", "count", "depth", "name" },
- total_allocated = { "total_allocated", "count", "depth", "name" },
- },
-
-}, {
- __tostring = function() return "Profile Graph" end,
- __call = function(_, ...)
- return LMGraph.New(...)
- end
-})
-LMGraph.__index = LMGraph
-
---[[ Create a new format graph --]]
-function LMGraph.New(header, outputTable)
- local self = setmetatable({
- root = nil,
- functions = { }, -- A 'node' referencing each profiled function.
- global = {
- count = 0, -- Total number of function calls.
- size = 0, -- Total amount of memory allocated,
- time = 0, -- Total execution time
- max_count = 0, -- Large record count
- max_size = 0, -- Largest allocation record
- max_time = 0, -- Largest timing record
- },
- }, LMGraph)
-
- -- Create function records,: store all records of the same function, or
- -- identifier, in one object.
- for i=1,#outputTable do
- local record = outputTable[i]
- local recordId = (header.compress_graph and record.func) or record.id
- local parentRecordId = record.parent
-
- local node = self.functions[recordId]
- if not node or node.record == nil then -- Create a node
- node = LMNode.New(recordId, record, node)
- self.functions[recordId] = node
- if record.func == "0" then -- root of the graph
- self.root = node
- end
- end
-
- local parentNode = nil
- if record.func ~= "0" then
- parentNode = self.functions[parentRecordId]
- if not parentNode then -- Preallocate the parent node.
- parentNode = LMNode.New(parentRecordId, nil, nil)
- self.functions[parentRecordId] = parentNode
- if record.parent == "0" then
- self.root = parentNode
- end
- end
- end
-
- -- Update function statistics
- node:Append(header, record, parentNode)
-
- -- Update global maximums
- self.global.count = self.global.count + record.count
- self.global.time = self.global.time + ((header.instrument and record.time) or 0)
- self.global.size = self.global.size + ((header.memory and record.allocated) or 0)
- end
-
- -- Ensure a graph exists.
- if #outputTable == 0 then
- error("Script requires load_stack or reduced instructions count")
- elseif self.root == nil then
- error("Root node/record does not exist!")
- end
-
- -- Ensure the graph is completely connected, i.e., an undirected path exists
- -- between all funcNodes. ... This script doesn't support multiple subgraphs
- -- at the moment although a trivial extension.
- self.root:DepthFirstReachable(0)
- for id,node in pairs(self.functions) do
- if not node.reachable then
- error(("%s is not reachable!"):format(node.name))
- end
-
- -- Ensure the child table if each node is properly initialized
- for pid,parentNode in pairs(node.parents) do
- parentNode.children[id] = node
- if not header.compress_graph and not node.parent then
- node.parent = parentNode.id
- end
- end
- end
-
- -- Calculate relative statistics based on the global accumulated values.
- local global_size = self.global.size
- local global_time = self.global.time
- for id,node in pairs(self.functions) do
- self.global.max_count = math.max(self.global.max_count, node.count)
-
- if header.instrument and node.record ~= nil and node.time ~= nil then
- self.global.max_time = math.max(self.global.max_time, node.time)
-
- node.timePercent = 0.0
- node.childTimePercent = 0.0
- node.timePerCount = 0
- node.totalTimePerCount = 0
- if node.count ~= 0 then
- node.timePerCount = node.time / node.count
- node.totalTimePerCount = node.total_time / node.count
- end
-
- if global_time ~= 0 then
- node.timePercent = 100.0 * (node.time / global_time)
- node.childTimePercent = 100.0 * ((node.total_time - node.time) / global_time)
- end
- end
-
- if header.memory and node ~= nil and node.record ~= nil and node.allocated ~= nil then
- self.global.max_size = math.max(self.global.max_size, node.allocated or 0)
-
- node.allocPercent = 0.0
- node.childSizePercent = 0.0
- node.allocPerCount = 0
- node.totalAllocPerCount = 0
- if node.count ~= 0 then
- node.allocPerCount = (node.allocated / node.count)
- node.totalAllocPerCount = (node.total_allocated / node.count)
- end
-
- if global_size ~= 0 then
- node.allocPercent = 100.0 * (node.allocated / global_size)
- node.childSizePercent = 100.0 * ((node.total_allocated - node.allocated) / global_size)
- end
- end
- end
-
- return self
-end
-
---[[ Compute the base SI unit for timing. --]]
-function LMGraph:CreateTimeUnits(header, max_time, max_count)
- -- lmprof has the ability to change the base measurement of time, parse the
- -- data from the header.
- local timeOffset = 0
- if header.clockid == "micro" or header.clockid == 'Krdtsc' then
- timeOffset = 1
- end
-
- local timeDegree,timeSuffix,timeUnit = nil,nil,nil
- if header.clockid == "rdtsc" or header.clockid == 'Krdtsc' then
- timeUnit = "Tick"
- timeDegree = Decimal.Log(max_time)
- timeSuffix = Decimal.Readable(timeDegree, timeOffset, timeUnit)
- else
- timeUnit = "s"
- timeDegree = Decimal.Log(max_time)
- timeSuffix = Decimal.Readable(timeDegree, timeOffset, timeUnit)
- end
-
- local timePerDegree = timeDegree - Decimal.Log(max_count)
- local timePerSuffix = Decimal.Readable(timePerDegree, timeOffset, timeUnit)
- return timeDegree,timeSuffix,timePerDegree,timePerSuffix
-end
-
---[[ Compute the base SI unit for memory usage. --]]
-function LMGraph:CreateByteUnits(header, max_size, max_count)
- local byteDegree = Binary.Log(max_size)
- local bytePerDegree = byteDegree - Binary.Log(max_count)
- local byteSuffix = Binary.Readable(byteDegree, 3, "B")
- local bytePerSuffix = Decimal.Readable(bytePerDegree, 3, "B")
- return byteDegree,byteSuffix,bytePerDegree,bytePerSuffix
-end
-
---[[ Output debug statistics of the profile --]]
-function LMGraph:Verbose(header, outfile)
- local outfile = outfile or LMGraph.StdOut
- local timeDegree,timeSuffix,_,_ = self:CreateTimeUnits(header, header.profile_overhead, 1)
-
- local buff = { }
- buff[#buff + 1] = { "Header", "" }
- buff[#buff + 1] = { "Clock ID", tostring(header.clockid)}
- buff[#buff + 1] = { "Factored Profile Overhead", ("%s %s"):format(Decimal.Format(header.profile_overhead, timeDegree), timeSuffix)}
- buff[#buff + 1] = { "Calibration", ("%s %s"):format(Decimal.Format(header.calibration, timeDegree), timeSuffix)}
- buff[#buff + 1] = { "Instruction Counter", tostring(header.instr_count)}
- buff[#buff + 1] = { "", "" }
-
- if header.callback then -- Append Trace Event statistics
- buff[#buff + 1] = { "Trace Events", "" }
- buff[#buff + 1] = { "Compressed Events", tostring(header.compress) }
- buff[#buff + 1] = { "Compression Threshold", tostring(header.threshold) }
- buff[#buff + 1] = { "Initial Page Size" , tostring(header.pagesize) }
- buff[#buff + 1] = { "Initial Page Limit", tostring(header.pagelimit) }
- buff[#buff + 1] = { "Total Page Count" , tostring(header.totalpages) }
- buff[#buff + 1] = { "Page Count", tostring(header.usedpages) }
- buff[#buff + 1] = { "Page Size" , tostring(header.pagesize) }
- buff[#buff + 1] = { "Events per Page", tostring(header.eventpages) }
- buff[#buff + 1] = { "Buffer Usage", (header.pagelimit > 0 and ("%2.3f"):format(header.pageusage)) or "Inf" }
- end
-
- if header.debug then -- Debug hashing statistics.
- buff[#buff + 1] = { "Hashing", "" }
- buff[#buff + 1] = { "Buckets" , tostring(header.debug.buckets) }
- buff[#buff + 1] = { "Used Buckets", tostring(header.debug.used_buckets) }
- buff[#buff + 1] = { "Record Count", tostring(header.debug.record_count) }
- buff[#buff + 1] = { "Min Bucket Count", tostring(header.debug.min) }
- buff[#buff + 1] = { "Max Bucket Count", tostring(header.debug.max) }
- buff[#buff + 1] = { "Mean (all)", string.format("%2.3f", header.debug.mean) }
- buff[#buff + 1] = { "Variance (all)", string.format("%2.3f", header.debug.var) }
- buff[#buff + 1] = { "Mean (hits)", string.format("%2.3f", header.debug.mean_hits) }
- buff[#buff + 1] = { "Variance (hits)", string.format("%2.3f", header.debug.var_hits) }
- buff[#buff + 1] = { "", "" }
- end
-
- local longestLabel = 0
- for i=1,#buff do longestLabel = math.max(utf8_len(buff[i][1]), longestLabel) end
- for i=1,#buff do
- outfile:write_line(("%s %s"):format(string_pad(buff[i][1], longestLabel + 1), buff[i][2] or ""))
- end
-end
-
---[[ Create a table.sort function for ordering funcNodes (NewFunctionRecord). --]]
-local function CreatePrioritySort(self, priority)
- priority = priority or LMGraph.Sorting["count"]
- return function(a, b)
- local fa,fb = self.functions[a],self.functions[b]
- for i=1,#priority do
- local sort = LMNode.Fields[priority[i]].Sort
- local comparator = sort(fa, fb)
- if comparator ~= 0 then
- return comparator > 0
- end
- end
- return fa.name > fb.name
- end
-end
-
---[[ Flat/Table representation --]]
-function LMGraph:Flat(header, outfile)
- local flatColumns = {
- "count",
- "timePercent", "time", "total_time", "timePerCount", "totalTimePerCount",
- "allocPercent", "allocated", "total_allocated", "allocPerCount", "totalAllocPerCount",
- "name", "lines",
- }
-
- -- For non-compressed graphs include the nodes 'depth' (i.e., distance from
- -- root), identifier, and parent identifier.
- if not header.compress_graph then
- table.insert(flatColumns, #flatColumns, "depth")
- table.insert(flatColumns, #flatColumns, "id")
- table.insert(flatColumns, #flatColumns, "parent")
- end
-
- local max_time = self.global.max_time
- local max_size = self.global.max_size
- local max_count = self.global.max_count
- local output_delim = (header.csv and ", ") or " "
-
- local timeDegree,timeSuffix,timePerDegree,timePerSuffix = self:CreateTimeUnits(header, max_time, max_count)
- local byteDegree,byteSuffix,bytePerDegree,bytePerSuffix = self:CreateByteUnits(header, max_size, max_count)
-
- -- Layout the functions and then sort them. Ensuring each record has each
- -- key in 'flatColumns', otherwise remove it from the flatColumns table.
- local functions = { }
- for f,funcNode in pairs(self.functions) do
- if funcNode.record ~= nil then
- functions[#functions + 1] = f
- for j=#flatColumns,1,-1 do
- local field = LMNode.Fields[flatColumns[j]]
- if field.Cat ~= "Table" and funcNode[flatColumns[j]] == nil then
- table.remove(flatColumns, j)
- elseif field.Cat == "Table" and not header.show_lines then
- table.remove(flatColumns, j)
- end
- end
- end
- end
-
- -- Sort rows by some column value.
- table.sort(functions, CreatePrioritySort(self, LMGraph.Sorting[header.sort or "count"]))
-
- -- Column header label to string.format() key, caching the lengths of each
- -- string to compute padding.
- local lengths,stringTable = { },{ }
- for i=1,#functions do
- local funcNode = self.functions[functions[i]]
-
- local row = { }
- for j=1,#flatColumns do
- local value = funcNode[flatColumns[j]]
- local field = LMNode.Fields[flatColumns[j]]
- if field.Cat == "Time" then
- row[j] = Decimal.Format(value, timeDegree)
- elseif field.Cat == "Binary" then
- row[j] = Binary.Format(value, byteDegree)
- elseif field.Cat == "TimeAverage" then
- row[j] = Decimal.Format(value, timePerDegree)
- elseif field.Cat == "BinaryAverage" then
- row[j] = Binary.Format(value, bytePerDegree)
- elseif field.Cat == "Percent" then
- row[j] = ("%1.3f"):format(value)
- elseif field.Cat == "Table" then
- local concat = table.concat(value or { }, ", ")
- row[j] = (header.csv and ("\"%s\""):format(concat)) or concat
- elseif header.csv and field.Cat == "String" then
- row[j] = ("\"%s\""):format(value)
- else
- row[j] = tostring(value)
- end
- end
-
- stringTable[#stringTable + 1] = row
- for j=1,#row do
- lengths[j] = math.max(lengths[j] or 1, utf8_len(row[j]) + 1)
- end
- end
-
- --[[ Pad the string table & columns --]]
- local columnLabels,columnUnits = { }, { }
- for i=1,#flatColumns do
- local field = LMNode.Fields[flatColumns[i]]
-
- local unit = ""
- if field.Cat == "Count" then
- unit = "count"
- elseif field.Cat == "Time" then
- unit = ("%s"):format(timeSuffix)
- elseif field.Cat == "Binary" then
- unit = ("%s"):format(byteSuffix)
- elseif field.Cat == "TimeAverage" then
- unit = ("%s/call"):format(timePerSuffix)
- elseif field.Cat == "BinaryAverage" then
- unit = ("%s/call"):format(bytePerSuffix)
- elseif field.Cat == "Percent" then
- unit = "%"
- end
-
- lengths[i] = math.max(lengths[i] or 1, utf8_len(field.Label), utf8_len(unit) + 1)
- if header.csv then
- columnUnits[i] = ("\"%s\""):format(unit)
- columnLabels[i] = ("\"%s\""):format(field.Label)
- else
- columnUnits[i] = string_pad(unit, lengths[i])
- columnLabels[i] = string_pad(field.Label, lengths[i])
- end
- end
-
- outfile = outfile or LMGraph.StdOut
- outfile:write_line(table.concat(columnLabels, output_delim))
- outfile:write_line(table.concat(columnUnits, output_delim))
- for i=1,#stringTable do
- local stringRecord = stringTable[i]
- for j=1,#flatColumns do
- if j ~= #flatColumns and not header.csv then
- stringRecord[j] = string_pad(stringRecord[j], lengths[j])
- end
- end
- outfile:write_line(table.concat(stringRecord, output_delim))
- end
-end
-
---[[ Format that resembles Pepperfish --]]
-function LMGraph:Pepperfish(header, outfile)
- outfile = outfile or LMGraph.StdOut
- local max_time = self.global.max_time
- local max_size = self.global.max_size
- local max_count = self.global.max_count
-
- -- Create SI units
- local timeDegree,timeSuffix,timePerDegree,timePerSuffix = self:CreateTimeUnits(header, max_time, max_count)
- local byteDegree,byteSuffix,bytePerDegree,bytePerSuffix = self:CreateByteUnits(header, max_size, max_count)
- local prioritySort = CreatePrioritySort(self, LMGraph.Sorting[header.sort or "count"])
-
- -- Layout the functions and then sort them
- local functions = { }
- for f,funcNode in pairs(self.functions) do
- if funcNode.record ~= nil then
- functions[#functions + 1] = f
- end
- end
- table.sort(functions, prioritySort)
-
- -- To emulate the Pepperfish layout, a shared table for format strings is
- -- used. The 'funcNode' fields are then mapped to array indexes of the
- -- shared table by a lookup table.
- local childLayout,recordLayout,recordLookup = { },{ },{ }
- local function recordAppend(key, value) recordLayout[recordLookup[key]][2] = value end
- local function recordAppendUnit(key, value) recordLayout[recordLookup[key]][3] = value end
-
- recordLayout[#recordLayout + 1] = { "Sample count:" } ; recordLookup.count = #recordLayout
- childLayout[#childLayout + 1] = "Child "
- childLayout[#childLayout + 1] = "" -- 2, recordName
- childLayout[#childLayout + 1] = "sampled "
- childLayout[#childLayout + 1] = "" -- 4, childRecordCount
- childLayout[#childLayout + 1] = " times. "
-
- if header.memory then
- recordLayout[#recordLayout + 1] = { "", "", "" } ;
- recordLayout[#recordLayout + 1] = { "Memory persists:", "", "suffix" } ; recordLookup.persists = #recordLayout
- recordLayout[#recordLayout + 1] = { "Memory allocated:", "", "suffix" } ; recordLookup.malloc = #recordLayout
- recordLayout[#recordLayout + 1] = { "Memory deallocated:", "", "suffix" } ; recordLookup.mfree = #recordLayout
- recordLayout[#recordLayout + 1] = { "Memory allocated in children:", "", "suffix" } ; recordLookup.chmalloc = #recordLayout
- recordLayout[#recordLayout + 1] = { "Memory allocated total:", "", "suffix" } ; recordLookup.chmalloctotal = #recordLayout
- recordLayout[#recordLayout + 1] = { "Total percent allocated in function:", "", "%" } ; recordLookup.fpctalloc = #recordLayout
- recordLayout[#recordLayout + 1] = { "Total percent allocated in children:", "", "%" } ; recordLookup.cpctalloc = #recordLayout
- end
-
- if header.instrument then
- recordLayout[#recordLayout + 1] = { "", "", "" } ;
- recordLayout[#recordLayout + 1] = { "Time spent:", "", "" } ; recordLookup.time = #recordLayout
- recordLayout[#recordLayout + 1] = { "Time spent in function:", "", "", } ; recordLookup.ftime = #recordLayout
- recordLayout[#recordLayout + 1] = { "Time spent in children:", "", "", } ; recordLookup.ctime = #recordLayout
- recordLayout[#recordLayout + 1] = { "Time spent per sample:", "", "", "/sample" } ; recordLookup.timesample = #recordLayout
- recordLayout[#recordLayout + 1] = { "Time spent in function per sample:", "", "", "/sample" } ; recordLookup.ftimesample = #recordLayout
- recordLayout[#recordLayout + 1] = { "Time spent in children per sample:", "", "", "/sample"} ; recordLookup.ctimesample = #recordLayout
- recordLayout[#recordLayout + 1] = { "Percent time spent in function:", "", "%" } ; recordLookup.pftime = #recordLayout
- recordLayout[#recordLayout + 1] = { "Percent time spent in children:", "", "%" } ; recordLookup.pctime = #recordLayout
-
- childLayout[#childLayout + 1] = "Took "
- childLayout[#childLayout + 1] = "" -- childRecordTime
- childLayout[#childLayout + 1] = " "
- childLayout[#childLayout + 1] = "" -- childTimeUnit
- childLayout[#childLayout + 1] = ". Averaging "
- childLayout[#childLayout + 1] = "" -- childRecordTotalTime/childRecordCount
- childLayout[#childLayout + 1] = " "
- childLayout[#childLayout + 1] = "" -- timeunit
- childLayout[#childLayout + 1] = "/exec"
- end
-
- for i=1,#functions do
- local funcNode = self.functions[functions[i]]
- funcNode.children[funcNode.id] = nil
-
- -- Setup and sort child nodes
- local sortedChildren = { }
- for cid,_ in pairs(funcNode.children) do
- sortedChildren[#sortedChildren + 1] = cid
- end
- table.sort(sortedChildren, prioritySort)
-
- -- Populate format table
- recordAppend("count", string.format("%4d", funcNode.count))
- if header.memory then
- recordAppendUnit("persists", byteSuffix)
- recordAppendUnit("malloc", byteSuffix)
- recordAppendUnit("mfree", byteSuffix)
- recordAppendUnit("chmalloc", byteSuffix)
- recordAppendUnit("chmalloctotal", byteSuffix)
-
- recordAppend("persists", Binary.Format(funcNode.allocated - funcNode.deallocated, byteDegree))
- recordAppend("malloc", Binary.Format(funcNode.allocated, byteDegree))
- recordAppend("mfree", Binary.Format(funcNode.deallocated, byteDegree))
- if #sortedChildren > 0 then
- recordAppend("chmalloc", Binary.Format(funcNode.total_allocated - funcNode.allocated, byteDegree))
- recordAppend("chmalloctotal", Binary.Format(funcNode.total_allocated, byteDegree))
- recordAppend("fpctalloc", string.format("%1.3f", funcNode.allocPercent))
- recordAppend("cpctalloc", string.format("%1.3f", funcNode.childSizePercent))
- else
- recordAppend("chmalloc", "")
- recordAppend("chmalloctotal", "")
- recordAppend("fpctalloc", string.format("%1.3f", funcNode.allocPercent))
- recordAppend("cpctalloc", "")
- end
- end
-
- if header.instrument then
- recordAppendUnit("time", timeSuffix)
- recordAppendUnit("ftime", timeSuffix)
- recordAppendUnit("ctime", timeSuffix)
- recordAppendUnit("timesample", timePerSuffix)
- recordAppendUnit("ftimesample", timePerSuffix)
- recordAppendUnit("ctimesample", timePerSuffix)
-
- if #sortedChildren > 0 then
- local delta_time = funcNode.total_time - funcNode.time
- local ctimesample = 0
- if funcNode.count ~= 0 then
- ctimesample = (delta_time) / funcNode.count
- end
-
- recordAppend("time", string.format("%4.3f", Decimal.Format(funcNode.total_time, timeDegree)))
- recordAppend("ftime", string.format("%4.3f", Decimal.Format(funcNode.time, timeDegree)))
- recordAppend("ctime", string.format("%4.3f", Decimal.Format(delta_time, timeDegree)))
- recordAppend("timesample", string.format("%4.5f", Decimal.Format(funcNode.totalTimePerCount, timePerDegree)))
- recordAppend("ftimesample", string.format("%4.5f", Decimal.Format(funcNode.timePerCount, timePerDegree)))
- recordAppend("ctimesample", string.format("%4.5f", Decimal.Format(ctimesample, timePerDegree)))
- else
- recordAppend("time", "")
- recordAppend("ftime", string.format("%4.3f", Decimal.Format(funcNode.time, timeDegree)))
- recordAppend("ctime", "")
- recordAppend("timesample", string.format("%4.3f", Decimal.Format(funcNode.totalTimePerCount, timePerDegree)))
- recordAppend("ftimesample", "")
- recordAppend("ctimesample", "")
- end
-
- recordAppend("pftime", string.format("%1.3f", funcNode.timePercent))
- recordAppend("pctime", string.format("%1.3f", funcNode.childTimePercent))
- end
-
- -- Setup column alignment
- local longestLabel,longestUnit = 0,0
- for i=1,#recordLayout do
- longestUnit = math.max(utf8_len(recordLayout[i][2]), longestUnit)
- longestLabel = math.max(utf8_len(recordLayout[i][1]), longestLabel)
- end
-
- -- Dump everything
- local funcName = (" %s "):format(funcNode.name)
- if funcName:len() < 42 then
- local left = math.ceil((42 - funcName:len()) / 2)
- local right = 42 - funcName:len()
- funcName = ("%s%s%s"):format(string.rep("-", left), funcName, string.rep("-", right))
- end
-
- outfile:write_line(("%s%s%s"):format(string.rep("-", 19), funcName, string.rep("-", 19)))
- for i=1,#recordLayout do
- local tuple = recordLayout[i]
- if tuple[2] ~= "" then
- outfile:write_line(string.format("%s %s %s",
- string_pad(tuple[1], longestLabel + 1),
- string_pad(tuple[2], -(longestUnit + 1)), (tuple[3] or "")
- ))
- elseif tuple[1] == "" then
- outfile:write_line("")
- end
- end
-
- local longestChildLabel = 0
- for i=1,#sortedChildren do
- local childNode = funcNode.children[sortedChildren[i]]
- longestChildLabel = math.max(longestChildLabel, utf8_len(childNode.name))
- end
-
- local added_blank = 0
- for i=1,#sortedChildren do
- local childNode = funcNode.children[sortedChildren[i]]
- if added_blank == 0 then
- added_blank = 1
- outfile:write_line("") -- extra separation line
- end
-
- childLayout[2] = string_pad(childNode.name, longestChildLabel + 1)
- childLayout[4] = string.format("%6d", childNode.count)
- if header.instrument then
- childLayout[7] = string.format("%4.2f", Decimal.Format(childNode.total_time, timeDegree))
- childLayout[9] = timeSuffix
- childLayout[11] = string.format("%4.5f", Decimal.Format(childNode.total_time, timePerDegree) / childNode.count)
- childLayout[13] = timeSuffix
- end
-
- outfile:write_line(table.concat(childLayout))
- end
- outfile:write_line("") -- extra separation line
- outfile:flush()
- end
- outfile:write_line("\nEND")
- outfile:flush()
-end
-
---[[
- Generate a callgrind/kcachegrind compatible graph representation. Note this
- representation is generally used for when compress_graph is false.
---]]
-function LMGraph:Callgrind(header, outfile)
- outfile = outfile or LMGraph.StdOut
- local sample = header.sample
- local instrument = header.instrument
- if not instrument and not sample then
- error("Callgrind format requires instrumentation")
- end
-
- -- Layout the functions and then sort them
- local functions = { }
- for f,funcNode in pairs(self.functions) do
- if funcNode.record ~= nil then
- functions[#functions + 1] = f
- end
- end
- table.sort(functions, CreatePrioritySort(self, LMGraph.Sorting[header.sort or "count"]))
-
- -- Depth-first callgrind output function.
- local CallgrindOutput = nil
- CallgrindOutput = function(node)
- if node.callgrind_reached then return end
- node.callgrind_reached = true
-
- local lineDefined = (node.record.linedefined < 0 and 0) or node.record.linedefined
- outfile:write_line(("fn=(%d)"):format(node.callgrind_id))
- if instrument then
- outfile:write_line(("%d %d"):format(lineDefined, node.time))
- else
- outfile:write_line(("%d %d"):format(lineDefined, node.count))
- end
-
- if header.compress_graph then -- Ensure cycles don't exist
- node.children[node.id] = nil
- end
-
- for cid,childNode in pairs(node.children) do
- local count = (childNode.count <= 0 and 1) or childNode.count
- outfile:write_line(("cfn=(%d)"):format(childNode.callgrind_id))
- outfile:write_line(("calls=%d %d"):format(count, 0))
- if instrument then
- outfile:write_line(("%d %d"):format(childNode.record.parent_line, childNode.total_time))
- else
- outfile:write_line(("%d %d"):format(childNode.record.parent_line, childNode.child_count))
- end
- end
-
- outfile:write_line("")
- for cid,childNode in pairs(node.children) do
- CallgrindOutput(childNode)
- end
- end
-
- outfile:write_line(("events: %s"):format((instrument and "Time") or "Samples"))
- outfile:write_line("")
- outfile:write_line("# define function ID mapping")
- for i=1,#functions do
- local funcNode = self.functions[functions[i]]
- local funcName = (funcNode.record.func == "0" and "main") or funcNode.name
- local funcSource = funcNode.name:match("(%b())")
- if funcSource ~= nil then
- funcNode.callgrind_source = funcSource:sub(2, funcSource:len() - 1)
- end
-
- -- Generate a 'pseudo' name to ensure KCachegrind doesn't confuse or
- -- unnecessarily compress nodes. Functions are first-class values so
- -- emulate multiple export symbols.
- if not header.compress_graph then
- funcName = ("%s:%s"):format(funcName, funcNode.id)
- end
-
- funcNode.callgrind_id = i
- outfile:write_line(("fn=(%d) %s"):format(funcNode.callgrind_id, funcName))
- outfile:write_line(("fl=(%d) %s"):format(funcNode.callgrind_id, funcNode.callgrind_source or "[C]"))
- end
-
- outfile:write_line("")
- outfile:write_line("# define callgraph")
- CallgrindOutput(self.root)
-end
-
-Citizen.Graph = LMGraph -- cfxLua places LMGraph into "Citizen" instead of returning.
\ No newline at end of file
diff --git a/citizen/scripting/lua/json.lua b/citizen/scripting/lua/json.lua
deleted file mode 100644
index ffc399e4f..000000000
--- a/citizen/scripting/lua/json.lua
+++ /dev/null
@@ -1,713 +0,0 @@
--- Module options:
-local always_try_using_lpeg = false
-local register_global_module_table = true
-local global_module_name = 'json'
-
---[==[
-
-David Kolf's JSON module for Lua 5.1/5.2
-
-Version 2.5
-
-
-For the documentation see the corresponding readme.txt or visit
-.
-
-You can contact the author by sending an e-mail to 'david' at the
-domain 'dkolf.de'.
-
-
-Copyright (C) 2010-2014 David Heiko Kolf
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
-BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
-ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
---]==]
-
--- global dependencies:
-local pairs, type, tostring, tonumber, getmetatable, setmetatable, rawset =
- pairs, type, tostring, tonumber, getmetatable, setmetatable, rawset
-local error, require, pcall, select = error, require, pcall, select
-local floor, huge = math.floor, math.huge
-local strrep, gsub, strsub, strbyte, strchar, strfind, strlen, strformat =
- string.rep, string.gsub, string.sub, string.byte, string.char,
- string.find, string.len, string.format
-local strmatch = string.match
-local concat = table.concat
-
-local json = { version = "dkjson 2.5" }
-
-if register_global_module_table then
- _G[global_module_name] = json
-end
-
-local _ENV = nil -- blocking globals in Lua 5.2
-
-pcall (function()
- -- Enable access to blocked metatables.
- -- Don't worry, this module doesn't change anything in them.
- local debmeta = require "debug".getmetatable
- if debmeta then getmetatable = debmeta end
-end)
-
-json.null = setmetatable ({}, {
- __tojson = function () return "null" end
-})
-
-local function isarray (tbl)
- local max, n, arraylen = 0, 0, 0
- for k,v in pairs (tbl) do
- if k == 'n' and type(v) == 'number' then
- arraylen = v
- if v > max then
- max = v
- end
- else
- if type(k) ~= 'number' or k < 1 or floor(k) ~= k then
- return false
- end
- if k > max then
- max = k
- end
- n = n + 1
- end
- end
- if max > 10 and max > arraylen and max > n * 2 then
- return false -- don't create an array with too many holes
- end
- return true, max
-end
-
-local escapecodes = {
- ["\""] = "\\\"", ["\\"] = "\\\\", ["\b"] = "\\b", ["\f"] = "\\f",
- ["\n"] = "\\n", ["\r"] = "\\r", ["\t"] = "\\t"
-}
-
-local function escapeutf8 (uchar)
- local value = escapecodes[uchar]
- if value then
- return value
- end
- local a, b, c, d = strbyte (uchar, 1, 4)
- a, b, c, d = a or 0, b or 0, c or 0, d or 0
- if a <= 0x7f then
- value = a
- elseif 0xc0 <= a and a <= 0xdf and b >= 0x80 then
- value = (a - 0xc0) * 0x40 + b - 0x80
- elseif 0xe0 <= a and a <= 0xef and b >= 0x80 and c >= 0x80 then
- value = ((a - 0xe0) * 0x40 + b - 0x80) * 0x40 + c - 0x80
- elseif 0xf0 <= a and a <= 0xf7 and b >= 0x80 and c >= 0x80 and d >= 0x80 then
- value = (((a - 0xf0) * 0x40 + b - 0x80) * 0x40 + c - 0x80) * 0x40 + d - 0x80
- else
- return ""
- end
- if value <= 0xffff then
- return strformat ("\\u%.4x", value)
- elseif value <= 0x10ffff then
- -- encode as UTF-16 surrogate pair
- value = value - 0x10000
- local highsur, lowsur = 0xD800 + floor (value/0x400), 0xDC00 + (value % 0x400)
- return strformat ("\\u%.4x\\u%.4x", highsur, lowsur)
- else
- return ""
- end
-end
-
-local function fsub (str, pattern, repl)
- -- gsub always builds a new string in a buffer, even when no match
- -- exists. First using find should be more efficient when most strings
- -- don't contain the pattern.
- if strfind (str, pattern) then
- return gsub (str, pattern, repl)
- else
- return str
- end
-end
-
-local function quotestring (value)
- -- based on the regexp "escapable" in https://github.com/douglascrockford/JSON-js
- value = fsub (value, "[%z\1-\31\"\\\127]", escapeutf8)
- if strfind (value, "[\194\216\220\225\226\239]") then
- value = fsub (value, "\194[\128-\159\173]", escapeutf8)
- value = fsub (value, "\216[\128-\132]", escapeutf8)
- value = fsub (value, "\220\143", escapeutf8)
- value = fsub (value, "\225\158[\180\181]", escapeutf8)
- value = fsub (value, "\226\128[\140-\143\168-\175]", escapeutf8)
- value = fsub (value, "\226\129[\160-\175]", escapeutf8)
- value = fsub (value, "\239\187\191", escapeutf8)
- value = fsub (value, "\239\191[\176-\191]", escapeutf8)
- end
- return "\"" .. value .. "\""
-end
-json.quotestring = quotestring
-
-local function replace(str, o, n)
- local i, j = strfind (str, o, 1, true)
- if i then
- return strsub(str, 1, i-1) .. n .. strsub(str, j+1, -1)
- else
- return str
- end
-end
-
--- locale independent num2str and str2num functions
-local decpoint, numfilter
-
-local function updatedecpoint ()
- decpoint = strmatch(tostring(0.5), "([^05+])")
- -- build a filter that can be used to remove group separators
- numfilter = "[^0-9%-%+eE" .. gsub(decpoint, "[%^%$%(%)%%%.%[%]%*%+%-%?]", "%%%0") .. "]+"
-end
-
-updatedecpoint()
-
-local function num2str (num)
- return replace(fsub(tostring(num), numfilter, ""), decpoint, ".")
-end
-
-local function str2num (str)
- local num = tonumber(replace(str, ".", decpoint))
- if not num then
- updatedecpoint()
- num = tonumber(replace(str, ".", decpoint))
- end
- return num
-end
-
-local function addnewline2 (level, buffer, buflen)
- buffer[buflen+1] = "\n"
- buffer[buflen+2] = strrep (" ", level)
- buflen = buflen + 2
- return buflen
-end
-
-function json.addnewline (state)
- if state.indent then
- state.bufferlen = addnewline2 (state.level or 0,
- state.buffer, state.bufferlen or #(state.buffer))
- end
-end
-
-local encode2 -- forward declaration
-
-local function addpair (key, value, prev, indent, level, buffer, buflen, tables, globalorder, state)
- local kt = type (key)
- if kt ~= 'string' and kt ~= 'number' then
- return nil, "type '" .. kt .. "' is not supported as a key by JSON."
- end
- if prev then
- buflen = buflen + 1
- buffer[buflen] = ","
- end
- if indent then
- buflen = addnewline2 (level, buffer, buflen)
- end
- buffer[buflen+1] = quotestring (key)
- buffer[buflen+2] = ":"
- return encode2 (value, indent, level, buffer, buflen + 2, tables, globalorder, state)
-end
-
-local function appendcustom(res, buffer, state)
- local buflen = state.bufferlen
- if type (res) == 'string' then
- buflen = buflen + 1
- buffer[buflen] = res
- end
- return buflen
-end
-
-local function exception(reason, value, state, buffer, buflen, defaultmessage)
- defaultmessage = defaultmessage or reason
- local handler = state.exception
- if not handler then
- return nil, defaultmessage
- else
- state.bufferlen = buflen
- local ret, msg = handler (reason, value, state, defaultmessage)
- if not ret then return nil, msg or defaultmessage end
- return appendcustom(ret, buffer, state)
- end
-end
-
-function json.encodeexception(reason, value, state, defaultmessage)
- return quotestring("<" .. defaultmessage .. ">")
-end
-
-encode2 = function (value, indent, level, buffer, buflen, tables, globalorder, state)
- local valtype = type (value)
- local valmeta = getmetatable (value)
- valmeta = type (valmeta) == 'table' and valmeta -- only tables
- local valtojson = valmeta and valmeta.__tojson
- if valtojson then
- if tables[value] then
- return exception('reference cycle', value, state, buffer, buflen)
- end
- tables[value] = true
- state.bufferlen = buflen
- local ret, msg = valtojson (value, state)
- if not ret then return exception('custom encoder failed', value, state, buffer, buflen, msg) end
- tables[value] = nil
- buflen = appendcustom(ret, buffer, state)
- elseif value == nil then
- buflen = buflen + 1
- buffer[buflen] = "null"
- elseif valtype == 'number' then
- local s
- if value ~= value or value >= huge or -value >= huge then
- -- This is the behaviour of the original JSON implementation.
- s = "null"
- else
- s = num2str (value)
- end
- buflen = buflen + 1
- buffer[buflen] = s
- elseif valtype == 'boolean' then
- buflen = buflen + 1
- buffer[buflen] = value and "true" or "false"
- elseif valtype == 'string' then
- buflen = buflen + 1
- buffer[buflen] = quotestring (value)
- elseif valtype == 'table' then
- if tables[value] then
- return exception('reference cycle', value, state, buffer, buflen)
- end
- tables[value] = true
- level = level + 1
- local isa, n = isarray (value)
- if n == 0 and valmeta and valmeta.__jsontype == 'object' then
- isa = false
- end
- local msg
- if isa then -- JSON array
- buflen = buflen + 1
- buffer[buflen] = "["
- for i = 1, n do
- buflen, msg = encode2 (value[i], indent, level, buffer, buflen, tables, globalorder, state)
- if not buflen then return nil, msg end
- if i < n then
- buflen = buflen + 1
- buffer[buflen] = ","
- end
- end
- buflen = buflen + 1
- buffer[buflen] = "]"
- else -- JSON object
- local prev = false
- buflen = buflen + 1
- buffer[buflen] = "{"
- local order = valmeta and valmeta.__jsonorder or globalorder
- if order then
- local used = {}
- n = #order
- for i = 1, n do
- local k = order[i]
- local v = value[k]
- if v then
- used[k] = true
- buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder, state)
- prev = true -- add a seperator before the next element
- end
- end
- for k,v in pairs (value) do
- if not used[k] then
- buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder, state)
- if not buflen then return nil, msg end
- prev = true -- add a seperator before the next element
- end
- end
- else -- unordered
- for k,v in pairs (value) do
- buflen, msg = addpair (k, v, prev, indent, level, buffer, buflen, tables, globalorder, state)
- if not buflen then return nil, msg end
- prev = true -- add a seperator before the next element
- end
- end
- if indent then
- buflen = addnewline2 (level - 1, buffer, buflen)
- end
- buflen = buflen + 1
- buffer[buflen] = "}"
- end
- tables[value] = nil
- else
- return exception ('unsupported type', value, state, buffer, buflen,
- "type '" .. valtype .. "' is not supported by JSON.")
- end
- return buflen
-end
-
-function json.encode (value, state)
- state = state or {}
- local oldbuffer = state.buffer
- local buffer = oldbuffer or {}
- state.buffer = buffer
- updatedecpoint()
- local ret, msg = encode2 (value, state.indent, state.level or 0,
- buffer, state.bufferlen or 0, state.tables or {}, state.keyorder, state)
- if not ret then
- error (msg, 2)
- elseif oldbuffer == buffer then
- state.bufferlen = ret
- return true
- else
- state.bufferlen = nil
- state.buffer = nil
- return concat (buffer)
- end
-end
-
-local function loc (str, where)
- local line, pos, linepos = 1, 1, 0
- while true do
- pos = strfind (str, "\n", pos, true)
- if pos and pos < where then
- line = line + 1
- linepos = pos
- pos = pos + 1
- else
- break
- end
- end
- return "line " .. line .. ", column " .. (where - linepos)
-end
-
-local function unterminated (str, what, where)
- return nil, strlen (str) + 1, "unterminated " .. what .. " at " .. loc (str, where)
-end
-
-local function scanwhite (str, pos)
- while true do
- pos = strfind (str, "%S", pos)
- if not pos then return nil end
- local sub2 = strsub (str, pos, pos + 1)
- if sub2 == "\239\187" and strsub (str, pos + 2, pos + 2) == "\191" then
- -- UTF-8 Byte Order Mark
- pos = pos + 3
- elseif sub2 == "//" then
- pos = strfind (str, "[\n\r]", pos + 2)
- if not pos then return nil end
- elseif sub2 == "/*" then
- pos = strfind (str, "*/", pos + 2)
- if not pos then return nil end
- pos = pos + 2
- else
- return pos
- end
- end
-end
-
-local escapechars = {
- ["\""] = "\"", ["\\"] = "\\", ["/"] = "/", ["b"] = "\b", ["f"] = "\f",
- ["n"] = "\n", ["r"] = "\r", ["t"] = "\t"
-}
-
-local function unichar (value)
- if value < 0 then
- return nil
- elseif value <= 0x007f then
- return strchar (value)
- elseif value <= 0x07ff then
- return strchar (0xc0 + floor(value/0x40),
- 0x80 + (floor(value) % 0x40))
- elseif value <= 0xffff then
- return strchar (0xe0 + floor(value/0x1000),
- 0x80 + (floor(value/0x40) % 0x40),
- 0x80 + (floor(value) % 0x40))
- elseif value <= 0x10ffff then
- return strchar (0xf0 + floor(value/0x40000),
- 0x80 + (floor(value/0x1000) % 0x40),
- 0x80 + (floor(value/0x40) % 0x40),
- 0x80 + (floor(value) % 0x40))
- else
- return nil
- end
-end
-
-local function scanstring (str, pos)
- local lastpos = pos + 1
- local buffer, n = {}, 0
- while true do
- local nextpos = strfind (str, "[\"\\]", lastpos)
- if not nextpos then
- return unterminated (str, "string", pos)
- end
- if nextpos > lastpos then
- n = n + 1
- buffer[n] = strsub (str, lastpos, nextpos - 1)
- end
- if strsub (str, nextpos, nextpos) == "\"" then
- lastpos = nextpos + 1
- break
- else
- local escchar = strsub (str, nextpos + 1, nextpos + 1)
- local value
- if escchar == "u" then
- value = tonumber (strsub (str, nextpos + 2, nextpos + 5), 16)
- if value then
- local value2
- if 0xD800 <= value and value <= 0xDBff then
- -- we have the high surrogate of UTF-16. Check if there is a
- -- low surrogate escaped nearby to combine them.
- if strsub (str, nextpos + 6, nextpos + 7) == "\\u" then
- value2 = tonumber (strsub (str, nextpos + 8, nextpos + 11), 16)
- if value2 and 0xDC00 <= value2 and value2 <= 0xDFFF then
- value = (value - 0xD800) * 0x400 + (value2 - 0xDC00) + 0x10000
- else
- value2 = nil -- in case it was out of range for a low surrogate
- end
- end
- end
- value = value and unichar (value)
- if value then
- if value2 then
- lastpos = nextpos + 12
- else
- lastpos = nextpos + 6
- end
- end
- end
- end
- if not value then
- value = escapechars[escchar] or escchar
- lastpos = nextpos + 2
- end
- n = n + 1
- buffer[n] = value
- end
- end
- if n == 1 then
- return buffer[1], lastpos
- elseif n > 1 then
- return concat (buffer), lastpos
- else
- return "", lastpos
- end
-end
-
-local scanvalue -- forward declaration
-
-local function scantable (what, closechar, str, startpos, nullval, objectmeta, arraymeta)
- local len = strlen (str)
- local tbl, n = {}, 0
- local pos = startpos + 1
- if what == 'object' then
- setmetatable (tbl, objectmeta)
- else
- setmetatable (tbl, arraymeta)
- end
- while true do
- pos = scanwhite (str, pos)
- if not pos then return unterminated (str, what, startpos) end
- local char = strsub (str, pos, pos)
- if char == closechar then
- return tbl, pos + 1
- end
- local val1, err
- val1, pos, err = scanvalue (str, pos, nullval, objectmeta, arraymeta)
- if err then return nil, pos, err end
- pos = scanwhite (str, pos)
- if not pos then return unterminated (str, what, startpos) end
- char = strsub (str, pos, pos)
- if char == ":" then
- if val1 == nil then
- return nil, pos, "cannot use nil as table index (at " .. loc (str, pos) .. ")"
- end
- pos = scanwhite (str, pos + 1)
- if not pos then return unterminated (str, what, startpos) end
- local val2
- val2, pos, err = scanvalue (str, pos, nullval, objectmeta, arraymeta)
- if err then return nil, pos, err end
- tbl[val1] = val2
- pos = scanwhite (str, pos)
- if not pos then return unterminated (str, what, startpos) end
- char = strsub (str, pos, pos)
- else
- n = n + 1
- tbl[n] = val1
- end
- if char == "," then
- pos = pos + 1
- end
- end
-end
-
-scanvalue = function (str, pos, nullval, objectmeta, arraymeta)
- pos = pos or 1
- pos = scanwhite (str, pos)
- if not pos then
- return nil, strlen (str) + 1, "no valid JSON value (reached the end)"
- end
- local char = strsub (str, pos, pos)
- if char == "{" then
- return scantable ('object', "}", str, pos, nullval, objectmeta, arraymeta)
- elseif char == "[" then
- return scantable ('array', "]", str, pos, nullval, objectmeta, arraymeta)
- elseif char == "\"" then
- return scanstring (str, pos)
- else
- local pstart, pend = strfind (str, "^%-?[%d%.]+[eE]?[%+%-]?%d*", pos)
- if pstart then
- local number = str2num (strsub (str, pstart, pend))
- if number then
- return number, pend + 1
- end
- end
- pstart, pend = strfind (str, "^%a%w*", pos)
- if pstart then
- local name = strsub (str, pstart, pend)
- if name == "true" then
- return true, pend + 1
- elseif name == "false" then
- return false, pend + 1
- elseif name == "null" then
- return nullval, pend + 1
- end
- end
- return nil, pos, "no valid JSON value at " .. loc (str, pos)
- end
-end
-
-local function optionalmetatables(...)
- if select("#", ...) > 0 then
- return ...
- else
- return {__jsontype = 'object'}, {__jsontype = 'array'}
- end
-end
-
-function json.decode (str, pos, nullval, ...)
- local objectmeta, arraymeta = optionalmetatables(...)
- return scanvalue (str, pos, nullval, objectmeta, arraymeta)
-end
-
-function json.use_lpeg ()
- local g = require ("lpeg")
-
- if g.version() == "0.11" then
- error "due to a bug in LPeg 0.11, it cannot be used for JSON matching"
- end
-
- local pegmatch = g.match
- local P, S, R = g.P, g.S, g.R
-
- local function ErrorCall (str, pos, msg, state)
- if not state.msg then
- state.msg = msg .. " at " .. loc (str, pos)
- state.pos = pos
- end
- return false
- end
-
- local function Err (msg)
- return g.Cmt (g.Cc (msg) * g.Carg (2), ErrorCall)
- end
-
- local SingleLineComment = P"//" * (1 - S"\n\r")^0
- local MultiLineComment = P"/*" * (1 - P"*/")^0 * P"*/"
- local Space = (S" \n\r\t" + P"\239\187\191" + SingleLineComment + MultiLineComment)^0
-
- local PlainChar = 1 - S"\"\\\n\r"
- local EscapeSequence = (P"\\" * g.C (S"\"\\/bfnrt" + Err "unsupported escape sequence")) / escapechars
- local HexDigit = R("09", "af", "AF")
- local function UTF16Surrogate (match, pos, high, low)
- high, low = tonumber (high, 16), tonumber (low, 16)
- if 0xD800 <= high and high <= 0xDBff and 0xDC00 <= low and low <= 0xDFFF then
- return true, unichar ((high - 0xD800) * 0x400 + (low - 0xDC00) + 0x10000)
- else
- return false
- end
- end
- local function UTF16BMP (hex)
- return unichar (tonumber (hex, 16))
- end
- local U16Sequence = (P"\\u" * g.C (HexDigit * HexDigit * HexDigit * HexDigit))
- local UnicodeEscape = g.Cmt (U16Sequence * U16Sequence, UTF16Surrogate) + U16Sequence/UTF16BMP
- local Char = UnicodeEscape + EscapeSequence + PlainChar
- local String = P"\"" * g.Cs (Char ^ 0) * (P"\"" + Err "unterminated string")
- local Integer = P"-"^(-1) * (P"0" + (R"19" * R"09"^0))
- local Fractal = P"." * R"09"^0
- local Exponent = (S"eE") * (S"+-")^(-1) * R"09"^1
- local Number = (Integer * Fractal^(-1) * Exponent^(-1))/str2num
- local Constant = P"true" * g.Cc (true) + P"false" * g.Cc (false) + P"null" * g.Carg (1)
- local SimpleValue = Number + String + Constant
- local ArrayContent, ObjectContent
-
- -- The functions parsearray and parseobject parse only a single value/pair
- -- at a time and store them directly to avoid hitting the LPeg limits.
- local function parsearray (str, pos, nullval, state)
- local obj, cont
- local npos
- local t, nt = {}, 0
- repeat
- obj, cont, npos = pegmatch (ArrayContent, str, pos, nullval, state)
- if not npos then break end
- pos = npos
- nt = nt + 1
- t[nt] = obj
- until cont == 'last'
- return pos, setmetatable (t, state.arraymeta)
- end
-
- local function parseobject (str, pos, nullval, state)
- local obj, key, cont
- local npos
- local t = {}
- repeat
- key, obj, cont, npos = pegmatch (ObjectContent, str, pos, nullval, state)
- if not npos then break end
- pos = npos
- t[key] = obj
- until cont == 'last'
- return pos, setmetatable (t, state.objectmeta)
- end
-
- local Array = P"[" * g.Cmt (g.Carg(1) * g.Carg(2), parsearray) * Space * (P"]" + Err "']' expected")
- local Object = P"{" * g.Cmt (g.Carg(1) * g.Carg(2), parseobject) * Space * (P"}" + Err "'}' expected")
- local Value = Space * (Array + Object + SimpleValue)
- local ExpectedValue = Value + Space * Err "value expected"
- ArrayContent = Value * Space * (P"," * g.Cc'cont' + g.Cc'last') * g.Cp()
- local Pair = g.Cg (Space * String * Space * (P":" + Err "colon expected") * ExpectedValue)
- ObjectContent = Pair * Space * (P"," * g.Cc'cont' + g.Cc'last') * g.Cp()
- local DecodeValue = ExpectedValue * g.Cp ()
-
- function json.decode (str, pos, nullval, ...)
- local state = {}
- state.objectmeta, state.arraymeta = optionalmetatables(...)
- local obj, retpos = pegmatch (DecodeValue, str, pos, nullval, state)
- if state.msg then
- return nil, state.pos, state.msg
- else
- return obj, retpos
- end
- end
-
- -- use this function only once:
- json.use_lpeg = function () return json end
-
- json.using_lpeg = true
-
- return json -- so you can get the module using json = require "dkjson".use_lpeg()
-end
-
-if always_try_using_lpeg then
- pcall (json.use_lpeg)
-end
-
-return json
diff --git a/citizen/scripting/lua/scheduler.lua b/citizen/scripting/lua/scheduler.lua
deleted file mode 100644
index fec5d8a37..000000000
--- a/citizen/scripting/lua/scheduler.lua
+++ /dev/null
@@ -1,1110 +0,0 @@
-local type = type
-local error = error
-local pairs = pairs
-local rawget = rawget
-local tonumber = tonumber
-local getmetatable = getmetatable
-local setmetatable = setmetatable
-
-local debug = debug
-local debug_getinfo = debug.getinfo
-
-local table_pack = table.pack
-local table_unpack = table.unpack
-local table_insert = table.insert
-
-local coroutine_create = coroutine.create
-local coroutine_yield = coroutine.yield
-local coroutine_resume = coroutine.resume
-local coroutine_status = coroutine.status
-local coroutine_running = coroutine.running
-local coroutine_close = coroutine.close or (function(c) end) -- 5.3 compatibility
-
---[[ Custom extensions --]]
-local msgpack = msgpack
-local msgpack_pack = msgpack.pack
-local msgpack_unpack = msgpack.unpack
-local msgpack_pack_args = msgpack.pack_args
-
-local Citizen = Citizen
-local Citizen_SubmitBoundaryStart = Citizen.SubmitBoundaryStart
-local Citizen_InvokeFunctionReference = Citizen.InvokeFunctionReference
-local GetGameTimer = GetGameTimer
-local ProfilerEnterScope = ProfilerEnterScope
-local ProfilerExitScope = ProfilerExitScope
-
-local hadThread = false
-local curTime = 0
-local hadProfiler = false
-local isDuplicityVersion = IsDuplicityVersion()
-
-local function _ProfilerEnterScope(name)
- if hadProfiler then
- ProfilerEnterScope(name)
- end
-end
-
-local function _ProfilerExitScope()
- if hadProfiler then
- ProfilerExitScope()
- end
-end
-
--- setup msgpack compat
-msgpack.set_string('string_compat')
-msgpack.set_integer('unsigned')
-msgpack.set_array('without_hole')
-msgpack.setoption('empty_table_as_array', true)
-
--- setup json compat
-json.version = json._VERSION -- Version compatibility
-json.setoption("empty_table_as_array", true)
-json.setoption('with_hole', true)
-
--- temp
-local _in = Citizen.InvokeNative
-
-local function FormatStackTrace()
- return _in(`FORMAT_STACK_TRACE` & 0xFFFFFFFF, nil, 0, Citizen.ResultAsString())
-end
-
-local boundaryIdx = 1
-
-local function dummyUseBoundary(idx)
- return nil
-end
-
-local function getBoundaryFunc(bfn, bid)
- return function(fn, ...)
- local boundary = bid
- if not boundary then
- boundary = boundaryIdx + 1
- boundaryIdx = boundary
- end
-
- bfn(boundary, coroutine_running())
-
- local wrap = function(...)
- dummyUseBoundary(boundary)
-
- local v = table_pack(fn(...))
- return table_unpack(v)
- end
-
- local v = table_pack(wrap(...))
-
- bfn(boundary, nil)
-
- return table_unpack(v)
- end
-end
-
-local runWithBoundaryStart = getBoundaryFunc(Citizen.SubmitBoundaryStart)
-local runWithBoundaryEnd = getBoundaryFunc(Citizen.SubmitBoundaryEnd)
-
-local AwaitSentinel = Citizen.AwaitSentinel()
-Citizen.AwaitSentinel = nil
-
-function Citizen.Await(promise)
- local coro = coroutine_running()
- assert(coro, "Current execution context is not in the scheduler, you should use CreateThread / SetTimeout or Event system (AddEventHandler) to be able to Await")
-
- if promise.state == 0 then
- local reattach = coroutine_yield(AwaitSentinel)
- promise:next(reattach, reattach)
- coroutine_yield()
- end
-
- if promise.state == 2 then
- error(promise.value, 2)
- end
-
- return promise.value
-end
-
-Citizen.SetBoundaryRoutine(function(f)
- boundaryIdx = boundaryIdx + 1
-
- local bid = boundaryIdx
- return bid, function()
- return runWithBoundaryStart(f, bid)
- end
-end)
-
--- root-level alias (to prevent people from calling the game's function accidentally)
-Wait = Citizen.Wait
-CreateThread = Citizen.CreateThread
-SetTimeout = Citizen.SetTimeout
-
---[[
-
- Event handling
-
-]]
-
-local eventHandlers = {}
-local deserializingNetEvent = false
-
-Citizen.SetEventRoutine(function(eventName, eventPayload, eventSource)
- -- set the event source
- local lastSource = _G.source
- _G.source = eventSource
-
- -- try finding an event handler for the event
- local eventHandlerEntry = eventHandlers[eventName]
-
- -- deserialize the event structure (so that we end up adding references to delete later on)
- local data = msgpack_unpack(eventPayload)
-
- if eventHandlerEntry and eventHandlerEntry.handlers then
- -- if this is a net event and we don't allow this event to be triggered from the network, return
- if eventSource:sub(1, 3) == 'net' then
- if not eventHandlerEntry.safeForNet then
- Citizen.Trace('event ' .. eventName .. " was not safe for net\n")
-
- _G.source = lastSource
- return
- end
-
- deserializingNetEvent = { source = eventSource }
- _G.source = tonumber(eventSource:sub(5))
- elseif isDuplicityVersion and eventSource:sub(1, 12) == 'internal-net' then
- deserializingNetEvent = { source = eventSource:sub(10) }
- _G.source = tonumber(eventSource:sub(14))
- end
-
- -- return an empty table if the data is nil
- if not data then
- data = {}
- end
-
- -- reset serialization
- deserializingNetEvent = nil
-
- -- if this is a table...
- if type(data) == 'table' then
- -- loop through all the event handlers
- for k, handler in pairs(eventHandlerEntry.handlers) do
- local handlerFn = handler
- local handlerMT = getmetatable(handlerFn)
-
- if handlerMT and handlerMT.__call then
- handlerFn = handlerMT.__call
- end
-
- if type(handlerFn) == 'function' then
- local di = debug_getinfo(handlerFn)
-
- Citizen.CreateThreadNow(function()
- handler(table_unpack(data))
- end, ('event %s [%s[%d..%d]]'):format(eventName, di.short_src, di.linedefined, di.lastlinedefined))
- end
- end
- end
- end
-
- _G.source = lastSource
-end)
-
-local stackTraceBoundaryIdx
-
-Citizen.SetStackTraceRoutine(function(bs, ts, be, te)
- if not ts then
- ts = runningThread
- end
-
- local t
- local n = 0
-
- local frames = {}
- local skip = false
-
- if bs then
- skip = true
- end
-
- repeat
- if ts then
- t = debug_getinfo(ts, n, 'nlfS')
- else
- t = debug_getinfo(n + 1, 'nlfS')
- end
-
- if t then
- if t.name == 'wrap' and t.source == '@citizen:/scripting/lua/scheduler.lua' then
- if not stackTraceBoundaryIdx then
- local b, v
- local u = 1
-
- repeat
- b, v = debug.getupvalue(t.func, u)
-
- if b == 'boundary' then
- break
- end
-
- u = u + 1
- until not b
-
- stackTraceBoundaryIdx = u
- end
-
- local _, boundary = debug.getupvalue(t.func, stackTraceBoundaryIdx)
-
- if boundary == bs then
- skip = false
- end
-
- if boundary == be then
- break
- end
- end
-
- if not skip then
- if t.source and t.source:sub(1, 1) ~= '=' and t.source:sub(1, 10) ~= '@citizen:/' then
- table_insert(frames, {
- file = t.source:sub(2),
- line = t.currentline,
- name = t.name or '[global chunk]'
- })
- end
- end
-
- n = n + 1
- end
- until not t
-
- return msgpack_pack(frames)
-end)
-
-local eventKey = 10
-
-function AddEventHandler(eventName, eventRoutine)
- local tableEntry = eventHandlers[eventName]
-
- if not tableEntry then
- tableEntry = { }
-
- eventHandlers[eventName] = tableEntry
- end
-
- if not tableEntry.handlers then
- tableEntry.handlers = { }
- end
-
- eventKey = eventKey + 1
- tableEntry.handlers[eventKey] = eventRoutine
-
- RegisterResourceAsEventHandler(eventName)
-
- return {
- key = eventKey,
- name = eventName
- }
-end
-
-function RemoveEventHandler(eventData)
- if not eventData.key and not eventData.name then
- error('Invalid event data passed to RemoveEventHandler()', 2)
- end
-
- -- remove the entry
- eventHandlers[eventData.name].handlers[eventData.key] = nil
-end
-
-local ignoreNetEvent = {
- ['__cfx_internal:commandFallback'] = true,
-}
-
-function RegisterNetEvent(eventName, cb)
- if not ignoreNetEvent[eventName] then
- local tableEntry = eventHandlers[eventName]
-
- if not tableEntry then
- tableEntry = { }
-
- eventHandlers[eventName] = tableEntry
- end
-
- tableEntry.safeForNet = true
- end
-
- if cb then
- return AddEventHandler(eventName, cb)
- end
-end
-
-function TriggerEvent(eventName, ...)
- local payload = msgpack_pack_args(...)
-
- return runWithBoundaryEnd(function()
- return TriggerEventInternal(eventName, payload, payload:len())
- end)
-end
-
-if isDuplicityVersion then
- function TriggerClientEvent(eventName, playerId, ...)
- local payload = msgpack_pack_args(...)
-
- return TriggerClientEventInternal(eventName, playerId, payload, payload:len())
- end
-
- function TriggerLatentClientEvent(eventName, playerId, bps, ...)
- local payload = msgpack_pack_args(...)
-
- return TriggerLatentClientEventInternal(eventName, playerId, payload, payload:len(), tonumber(bps))
- end
-
- RegisterServerEvent = RegisterNetEvent
- RconPrint = Citizen.Trace
- GetPlayerEP = GetPlayerEndpoint
- RconLog = function() end
-
- function GetPlayerIdentifiers(player)
- local numIds = GetNumPlayerIdentifiers(player)
- local t = {}
-
- for i = 0, numIds - 1 do
- table_insert(t, GetPlayerIdentifier(player, i))
- end
-
- return t
- end
-
- function GetPlayerTokens(player)
- local numIds = GetNumPlayerTokens(player)
- local t = {}
-
- for i = 0, numIds - 1 do
- table_insert(t, GetPlayerToken(player, i))
- end
-
- return t
- end
-
- function GetPlayers()
- local num = GetNumPlayerIndices()
- local t = {}
-
- for i = 0, num - 1 do
- table_insert(t, GetPlayerFromIndex(i))
- end
-
- return t
- end
-
- local httpDispatch = {}
- AddEventHandler('__cfx_internal:httpResponse', function(token, status, body, headers, errorData)
- if httpDispatch[token] then
- local userCallback = httpDispatch[token]
- httpDispatch[token] = nil
- userCallback(status, body, headers, errorData)
- end
- end)
-
- function PerformHttpRequest(url, cb, method, data, headers, options)
- local followLocation = true
-
- if options and options.followLocation ~= nil then
- followLocation = options.followLocation
- end
-
- local t = {
- url = url,
- method = method or 'GET',
- data = data or '',
- headers = headers or {},
- followLocation = followLocation
- }
-
- local id = PerformHttpRequestInternalEx(t)
-
- if id ~= -1 then
- httpDispatch[id] = cb
- else
- cb(0, nil, {}, 'Failure handling HTTP request')
- end
- end
-else
- function TriggerServerEvent(eventName, ...)
- local payload = msgpack_pack_args(...)
-
- return TriggerServerEventInternal(eventName, payload, payload:len())
- end
-
- function TriggerLatentServerEvent(eventName, bps, ...)
- local payload = msgpack_pack_args(...)
-
- return TriggerLatentServerEventInternal(eventName, payload, payload:len(), tonumber(bps))
- end
-end
-
-local funcRefs = {}
-local funcRefIdx = 0
-
-local function MakeFunctionReference(func)
- local thisIdx = funcRefIdx
-
- funcRefs[thisIdx] = {
- func = func,
- refs = 0
- }
-
- funcRefIdx = funcRefIdx + 1
-
- local refStr = Citizen.CanonicalizeRef(thisIdx)
- return refStr
-end
-
-function Citizen.GetFunctionReference(func)
- if type(func) == 'function' then
- return MakeFunctionReference(func)
- elseif type(func) == 'table' and rawget(func, '__cfx_functionReference') then
- return MakeFunctionReference(function(...)
- return func(...)
- end)
- end
-
- return nil
-end
-
-local function doStackFormat(err)
- local fst = FormatStackTrace()
-
- -- already recovering from an error
- if not fst then
- return nil
- end
-
- return '^1SCRIPT ERROR: ' .. err .. "^7\n" .. fst
-end
-
-Citizen.SetCallRefRoutine(function(refId, argsSerialized)
- local refPtr = funcRefs[refId]
-
- if not refPtr then
- Citizen.Trace('Invalid ref call attempt: ' .. refId .. "\n")
-
- return msgpack_pack(nil)
- end
-
- local ref = refPtr.func
-
- local err
- local retvals = false
- local cb = {}
-
- local di = debug_getinfo(ref)
-
- local waited = Citizen.CreateThreadNow(function()
- local status, result, error = xpcall(function()
- retvals = { ref(table_unpack(msgpack_unpack(argsSerialized))) }
- end, doStackFormat)
-
- if not status then
- err = result or ''
- end
-
- if cb.cb then
- cb.cb(retvals, err)
- elseif err then
- Citizen.Trace(err)
- end
- end, ('ref call [%s[%d..%d]]'):format(di.short_src, di.linedefined, di.lastlinedefined))
-
- if not waited then
- if err then
- return msgpack_pack(nil)
- end
-
- return msgpack_pack(retvals)
- else
- return msgpack_pack({{
- __cfx_async_retval = function(rvcb)
- cb.cb = rvcb
- end
- }})
- end
-end)
-
-Citizen.SetDuplicateRefRoutine(function(refId)
- local ref = funcRefs[refId]
-
- if ref then
- ref.refs = ref.refs + 1
-
- return refId
- end
-
- return -1
-end)
-
-Citizen.SetDeleteRefRoutine(function(refId)
- local ref = funcRefs[refId]
-
- if ref then
- ref.refs = ref.refs - 1
-
- if ref.refs <= 0 then
- funcRefs[refId] = nil
- end
- end
-end)
-
--- RPC REQUEST HANDLER
-local InvokeRpcEvent
-
-if GetCurrentResourceName() == 'sessionmanager' then
- local rpcEvName = ('__cfx_rpcReq')
-
- RegisterNetEvent(rpcEvName)
-
- AddEventHandler(rpcEvName, function(retEvent, retId, refId, args)
- local source = source
-
- local eventTriggerFn = TriggerServerEvent
-
- if isDuplicityVersion then
- eventTriggerFn = function(name, ...)
- TriggerClientEvent(name, source, ...)
- end
- end
-
- local returnEvent = function(args, err)
- eventTriggerFn(retEvent, retId, args, err)
- end
-
- local function makeArgRefs(o)
- if type(o) == 'table' then
- for k, v in pairs(o) do
- if type(v) == 'table' and rawget(v, '__cfx_functionReference') then
- o[k] = function(...)
- return InvokeRpcEvent(source, rawget(v, '__cfx_functionReference'), {...})
- end
- end
-
- makeArgRefs(v)
- end
- end
- end
-
- makeArgRefs(args)
-
- runWithBoundaryEnd(function()
- local payload = Citizen_InvokeFunctionReference(refId, msgpack_pack(args))
-
- if #payload == 0 then
- returnEvent(false, 'err')
- return
- end
-
- local rvs = msgpack_unpack(payload)
-
- if type(rvs[1]) == 'table' and rvs[1].__cfx_async_retval then
- rvs[1].__cfx_async_retval(returnEvent)
- else
- returnEvent(rvs)
- end
- end)
- end)
-end
-
-local rpcId = 0
-local rpcPromises = {}
-local playerPromises = {}
-
--- RPC REPLY HANDLER
-local repName = ('__cfx_rpcRep:%s'):format(GetCurrentResourceName())
-
-RegisterNetEvent(repName)
-
-AddEventHandler(repName, function(retId, args, err)
- local promise = rpcPromises[retId]
- rpcPromises[retId] = nil
-
- -- remove any player promise for us
- for k, v in pairs(playerPromises) do
- v[retId] = nil
- end
-
- if promise then
- if args then
- promise:resolve(args[1])
- elseif err then
- promise:reject(err)
- end
- end
-end)
-
-if isDuplicityVersion then
- AddEventHandler('playerDropped', function(reason)
- local source = source
-
- if playerPromises[source] then
- for k, v in pairs(playerPromises[source]) do
- local p = rpcPromises[k]
-
- if p then
- p:reject('Player dropped: ' .. reason)
- end
- end
- end
-
- playerPromises[source] = nil
- end)
-end
-
-local EXT_FUNCREF = 10
-local EXT_LOCALFUNCREF = 11
-
-msgpack.extend_clear(EXT_FUNCREF, EXT_LOCALFUNCREF)
-
--- RPC INVOCATION
-InvokeRpcEvent = function(source, ref, args)
- if not coroutine_running() then
- error('RPC delegates can only be invoked from a thread.', 2)
- end
-
- local src = source
-
- local eventTriggerFn = TriggerServerEvent
-
- if isDuplicityVersion then
- eventTriggerFn = function(name, ...)
- TriggerClientEvent(name, src, ...)
- end
- end
-
- local p = promise.new()
- local asyncId = rpcId
- rpcId = rpcId + 1
-
- local refId = ('%d:%d'):format(GetInstanceId(), asyncId)
-
- eventTriggerFn('__cfx_rpcReq', repName, refId, ref, args)
-
- -- add rpc promise
- rpcPromises[refId] = p
-
- -- add a player promise
- if not playerPromises[src] then
- playerPromises[src] = {}
- end
-
- playerPromises[src][refId] = true
-
- return Citizen.Await(p)
-end
-
-local funcref_mt = nil
-
-funcref_mt = msgpack.extend({
- __gc = function(t)
- DeleteFunctionReference(rawget(t, '__cfx_functionReference'))
- end,
-
- __index = function(t, k)
- error('Cannot index a funcref', 2)
- end,
-
- __newindex = function(t, k, v)
- error('Cannot set indexes on a funcref', 2)
- end,
-
- __call = function(t, ...)
- local netSource = rawget(t, '__cfx_functionSource')
- local ref = rawget(t, '__cfx_functionReference')
-
- if not netSource then
- local args = msgpack_pack_args(...)
-
- -- as Lua doesn't allow directly getting lengths from a data buffer, and _s will zero-terminate, we have a wrapper in the game itself
- local rv = runWithBoundaryEnd(function()
- return Citizen_InvokeFunctionReference(ref, args)
- end)
- local rvs = msgpack_unpack(rv)
-
- -- handle async retvals from refs
- if rvs and type(rvs[1]) == 'table' and rawget(rvs[1], '__cfx_async_retval') and coroutine_running() then
- local p = promise.new()
-
- rvs[1].__cfx_async_retval(function(r, e)
- if r then
- p:resolve(r)
- elseif e then
- p:reject(e)
- end
- end)
-
- return table_unpack(Citizen.Await(p))
- end
-
- if not rvs then
- error()
- end
-
- return table_unpack(rvs)
- else
- return InvokeRpcEvent(tonumber(netSource.source:sub(5)), ref, {...})
- end
- end,
-
- __ext = EXT_FUNCREF,
-
- __pack = function(self, tag)
- local refstr = Citizen.GetFunctionReference(self)
- if refstr then
- return refstr
- else
- error(("Unknown funcref type: %d %s"):format(tag, type(self)), 2)
- end
- end,
-
- __unpack = function(data, tag)
- local ref = data
-
- -- add a reference
- DuplicateFunctionReference(ref)
-
- local tbl = {
- __cfx_functionReference = ref,
- __cfx_functionSource = deserializingNetEvent
- }
-
- if tag == EXT_LOCALFUNCREF then
- tbl.__cfx_functionSource = nil
- end
-
- tbl = setmetatable(tbl, funcref_mt)
-
- return tbl
- end,
-})
-
---[[ Also initialize unpackers for local function references --]]
-msgpack.extend({
- __ext = EXT_LOCALFUNCREF,
- __pack = funcref_mt.__pack,
- __unpack = funcref_mt.__unpack,
-})
-
-msgpack.settype("function", EXT_FUNCREF)
-
--- exports compatibility
-local function getExportEventName(resource, name)
- return string.format('__cfx_export_%s_%s', resource, name)
-end
-
--- callback cache to avoid extra call to serialization / deserialization process at each time getting an export
-local exportsCallbackCache = {}
-
-local exportKey = (isDuplicityVersion and 'server_export' or 'export')
-
-do
- local resource = GetCurrentResourceName()
-
- local numMetaData = GetNumResourceMetadata(resource, exportKey) or 0
-
- for i = 0, numMetaData-1 do
- local exportName = GetResourceMetadata(resource, exportKey, i)
-
- AddEventHandler(getExportEventName(resource, exportName), function(setCB)
- -- get the entry from *our* global table and invoke the set callback
- if _G[exportName] then
- setCB(_G[exportName])
- end
- end)
- end
-end
-
--- Remove cache when resource stop to avoid calling unexisting exports
-local function lazyEventHandler() -- lazy initializer so we don't add an event we don't need
- AddEventHandler(('on%sResourceStop'):format(isDuplicityVersion and 'Server' or 'Client'), function(resource)
- exportsCallbackCache[resource] = {}
- end)
-
- lazyEventHandler = function() end
-end
-
--- Helper for newlines in nested error message
-local function prefixNewlines(str, prefix)
- str = tostring(str)
-
- local out = ''
-
- for bit in str:gmatch('[^\r\n]*\r?\n') do
- out = out .. prefix .. bit
- end
-
- if #out == 0 or out:sub(#out) ~= '\n' then
- out = out .. '\n'
- end
-
- return out
-end
-
--- Handle an export with multiple return values.
-local function exportProcessResult(resource, exportName, status, ...)
- if not status then
- local result = tostring(select(1, ...))
- error(('\n^5 An error occurred while calling export `%s` in resource `%s`:\n%s^5 ---'):format(exportName, resource, prefixNewlines(result, ' ')), 2)
- end
- return ...
-end
-
--- invocation bit
-exports = {}
-
-setmetatable(exports, {
- __index = function(t, k)
- local resource = k
-
- return setmetatable({}, {
- __index = function(t, k)
- lazyEventHandler()
-
- if not exportsCallbackCache[resource] then
- exportsCallbackCache[resource] = {}
- end
-
- if not exportsCallbackCache[resource][k] then
- TriggerEvent(getExportEventName(resource, k), function(exportData)
- exportsCallbackCache[resource][k] = exportData
- end)
-
- if not exportsCallbackCache[resource][k] then
- error('No such export ' .. k .. ' in resource ' .. resource, 2)
- end
- end
-
- return function(self, ...) -- TAILCALL
- return exportProcessResult(resource, k, pcall(exportsCallbackCache[resource][k], ...))
- end
- end,
-
- __newindex = function(t, k, v)
- error('cannot set values on an export resource', 2)
- end
- })
- end,
-
- __newindex = function(t, k, v)
- error('cannot set values on exports', 2)
- end,
-
- __call = function(t, exportName, func)
- AddEventHandler(getExportEventName(GetCurrentResourceName(), exportName), function(setCB)
- setCB(func)
- end)
- end
-})
-
--- NUI callbacks
-if not isDuplicityVersion then
- local origRegisterNuiCallback = RegisterNuiCallback
-
- local cbHandler
-
---[==[
- local cbHandler = load([[
- -- Lua 5.4: Create a to-be-closed variable to monitor the NUI callback handle.
- local callback, body, resultCallback = ...
-
- local hasCallback = false
- local _ = defer(function()
- if not hasCallback then
- local di = debug.getinfo(callback, 'S')
- local name = ('function %s[%d..%d]'):format(di.short_src, di.linedefined, di.lastlinedefined)
- warn(("No NUI callback captured: %s"):format(name))
- end
- end)
-
- local status, err = pcall(function()
- callback(body, function(...)
- hasCallback = true
- resultCallback(...)
- end)
- end)
-
- return status, err
- ]], '@citizen:/scripting/lua/scheduler.lua#nui')]==]
-
- if not cbHandler then
- cbHandler = load([[
- local callback, body, resultCallback = ...
-
- local status, err = pcall(function()
- callback(body, resultCallback)
- end)
-
- return status, err
- ]], '@citizen:/scripting/lua/scheduler.lua#nui')
- end
-
- -- wrap RegisterNuiCallback to handle errors (and 'missed' callbacks)
- function RegisterNuiCallback(type, callback)
- origRegisterNuiCallback(type, function(body, resultCallback)
- local status, err = cbHandler(callback, body, resultCallback)
-
- if err then
- Citizen.Trace("error during NUI callback " .. type .. ": " .. tostring(err) .. "\n")
- end
- end)
- end
-
- -- 'old' function (uses events for compatibility, as people may have relied on this implementation detail)
- function RegisterNUICallback(type, callback)
- RegisterNuiCallbackType(type)
-
- AddEventHandler('__cfx_nui:' .. type, function(body, resultCallback)
- local status, err = cbHandler(callback, body, resultCallback)
-
- if err then
- Citizen.Trace("error during NUI callback " .. type .. ": " .. tostring(err) .. "\n")
- end
- end)
- end
-
- local _sendNuiMessage = SendNuiMessage
-
- function SendNUIMessage(message)
- _sendNuiMessage(json.encode(message))
- end
-end
-
--- entity helpers
-local EXT_ENTITY = 41
-local EXT_PLAYER = 42
-
-msgpack.extend_clear(EXT_ENTITY, EXT_PLAYER)
-
-local function NewStateBag(es)
- return setmetatable({}, {
- __index = function(_, s)
- if s == 'set' then
- return function(_, s, v, r)
- local payload = msgpack_pack(v)
- SetStateBagValue(es, s, payload, payload:len(), r)
- end
- end
-
- return GetStateBagValue(es, s)
- end,
-
- __newindex = function(_, s, v)
- local payload = msgpack_pack(v)
- SetStateBagValue(es, s, payload, payload:len(), isDuplicityVersion)
- end
- })
-end
-
-GlobalState = NewStateBag('global')
-
-local function GetEntityStateBagId(entityGuid)
- if isDuplicityVersion or NetworkGetEntityIsNetworked(entityGuid) then
- return ('entity:%d'):format(NetworkGetNetworkIdFromEntity(entityGuid))
- else
- EnsureEntityStateBag(entityGuid)
- return ('localEntity:%d'):format(entityGuid)
- end
-end
-
-local entityMT
-entityMT = {
- __index = function(t, s)
- if s == 'state' then
- local es = GetEntityStateBagId(t.__data)
-
- if isDuplicityVersion then
- EnsureEntityStateBag(t.__data)
- end
-
- return NewStateBag(es)
- end
-
- return nil
- end,
-
- __newindex = function()
- error('Setting values on Entity is not supported at this time.', 2)
- end,
-
- __ext = EXT_ENTITY,
-
- __pack = function(self, t)
- return tostring(NetworkGetNetworkIdFromEntity(self.__data))
- end,
-
- __unpack = function(data, t)
- local ref = NetworkGetEntityFromNetworkId(tonumber(data))
-
- return setmetatable({
- __data = ref
- }, entityMT)
- end
-}
-
-msgpack.extend(entityMT)
-
-local playerMT
-playerMT = {
- __index = function(t, s)
- if s == 'state' then
- local pid = t.__data
-
- if pid == -1 then
- pid = GetPlayerServerId(PlayerId())
- end
-
- local es = ('player:%d'):format(pid)
-
- return NewStateBag(es)
- end
-
- return nil
- end,
-
- __newindex = function()
- error('Setting values on Player is not supported at this time.', 2)
- end,
-
- __ext = EXT_PLAYER,
-
- __pack = function(self, t)
- return tostring(self.__data)
- end,
-
- __unpack = function(data, t)
- local ref = tonumber(data)
-
- return setmetatable({
- __data = ref
- }, playerMT)
- end
-}
-
-msgpack.extend(playerMT)
-
-function Entity(ent)
- if type(ent) == 'number' then
- return setmetatable({
- __data = ent
- }, entityMT)
- end
-
- return ent
-end
-
-function Player(ent)
- if type(ent) == 'number' or type(ent) == 'string' then
- return setmetatable({
- __data = tonumber(ent)
- }, playerMT)
- end
-
- return ent
-end
-
-if not isDuplicityVersion then
- LocalPlayer = Player(-1)
-end
diff --git a/citizen/scripting/resource_init.lua b/citizen/scripting/resource_init.lua
deleted file mode 100644
index ef4cdc363..000000000
--- a/citizen/scripting/resource_init.lua
+++ /dev/null
@@ -1,42 +0,0 @@
-return function(chunk)
- local addMetaData = AddMetaData
-
- setmetatable(_G, {
- __index = function(t, k)
- local raw = rawget(t, k)
-
- if raw then
- return raw
- end
-
- return function(value)
- local newK = k
-
- if type(value) == 'table' then
- -- remove any 's' at the end (client_scripts, ...)
- if k:sub(-1) == 's' then
- newK = k:sub(1, -2)
- end
-
- -- add metadata for each table entry
- for _, v in ipairs(value) do
- addMetaData(newK, v)
- end
- else
- addMetaData(k, value)
- end
-
- -- for compatibility with legacy things
- return function(v2)
- addMetaData(newK .. '_extra', json.encode(v2))
- end
- end
- end
- })
-
- -- execute the chunk
- chunk()
-
- -- and reset the metatable
- setmetatable(_G, nil)
-end
\ No newline at end of file
diff --git a/citizen/scripting/v8/.gitattributes b/citizen/scripting/v8/.gitattributes
deleted file mode 100644
index 8f3fe4e80..000000000
--- a/citizen/scripting/v8/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.bin -text
\ No newline at end of file
diff --git a/citizen/scripting/v8/.gitignore b/citizen/scripting/v8/.gitignore
deleted file mode 100644
index a8f2c90b8..000000000
--- a/citizen/scripting/v8/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-natives_*.js
-natives_*.d.ts
-rdr3_*.js
-rdr3_*.d.ts
-ny_*.js
-ny_*.d.ts
diff --git a/citizen/scripting/v8/9.3/icudtl.dat b/citizen/scripting/v8/9.3/icudtl.dat
deleted file mode 100644
index 7e9602bfc..000000000
Binary files a/citizen/scripting/v8/9.3/icudtl.dat and /dev/null differ
diff --git a/citizen/scripting/v8/9.3/icudtl_extra.dat b/citizen/scripting/v8/9.3/icudtl_extra.dat
deleted file mode 100644
index a290a5321..000000000
Binary files a/citizen/scripting/v8/9.3/icudtl_extra.dat and /dev/null differ
diff --git a/citizen/scripting/v8/9.3/snapshot_blob.bin b/citizen/scripting/v8/9.3/snapshot_blob.bin
deleted file mode 100644
index 812c16efb..000000000
Binary files a/citizen/scripting/v8/9.3/snapshot_blob.bin and /dev/null differ
diff --git a/citizen/scripting/v8/console.js b/citizen/scripting/v8/console.js
deleted file mode 100644
index 712f71334..000000000
--- a/citizen/scripting/v8/console.js
+++ /dev/null
@@ -1,362 +0,0 @@
-// Global console
-
-(function (global) {
- const monitorMode = (GetConvar('monitormode', 'false') == 'true') && IsDuplicityVersion();
- const percent = '%'.charCodeAt(0);
-
- const stringSpecifier = 's'.charCodeAt(0);
- const decimalSpecifier = 'd'.charCodeAt(0);
- const floatSpecifier = 'f'.charCodeAt(0);
- const oSmallSpecifier = 'o'.charCodeAt(0);
- const oBigSpecifier = 'O'.charCodeAt(0);
-
- const typedArrays = [
- Uint8Array,
- Uint16Array,
- Uint32Array,
- Uint8ClampedArray,
- Int8Array,
- Int16Array,
- Int32Array,
- Float32Array,
- Float64Array
- ];
-
- class AssertionError extends Error {
- constructor(options) {
- if (typeof options !== 'object' || options === null) {
- throw new TypeError('ERR_INVALID_ARG_TYPE', 'options', 'object');
- }
-
- if (options.message) {
- super(options.message);
- } else {
- super(
- `${format(options.actual).slice(0, 128)} ` +
- `${options.operator} ${format(options.expected).slice(0, 128)}`
- );
- }
-
- this.generatedMessage = !options.message;
- this.name = 'AssertionError [ERR_ASSERTION]';
- this.code = 'ERR_ASSERTION';
- this.actual = options.actual;
- this.expected = options.expected;
- this.operator = options.operator;
-
- Error.captureStackTrace(this, options.stackStartFunction);
- }
- }
-
- function indentNewLines(str, indent) {
- return str.split('\n').map(s => indent + s).join('\n');
- }
-
- function formatMap(map) {
- const lines = ['Map {'];
-
- for (const [key, value] of map) {
- const keyFormatted = format(key);
- const valueFormatted = format(value);
-
- lines[lines.length] = indentNewLines(`${keyFormatted} => ${valueFormatted}`, ' ');
- }
-
- return lines.concat('}').join('\n');
- }
-
- function formatSet(set) {
- const lines = ['Set {'];
-
- for (const value of set) {
- lines[lines.length] = indentNewLines(format(value), ' ');
- }
-
- return lines.concat('}').join('\n');
- }
-
- function isTypedArray(array) {
- for (const type of typedArrays) {
- if (array instanceof type) {
- return true;
- }
- }
-
- return false;
- }
-
- function formatTypedArray(array) {
- return `${array.constructor.name}[ ${array.join(' ')} ]`;
- }
-
- function formatValue(arg) {
- switch (true) {
- case arg === null:
- return 'null';
-
- case arg === undefined:
- return 'undefined'
-
- case arg instanceof WeakMap:
- return 'WeakMap {}';
-
- case arg instanceof WeakSet:
- return 'WeakSet {}';
-
- case arg instanceof Map:
- return formatMap(arg);
-
- case arg instanceof Set:
- return formatSet(arg);
-
- case isTypedArray(arg):
- return formatTypedArray(arg);
-
- case Array.isArray(arg):
- case arg.toString() === "[object Object]":
- let cache = [];
- let out = JSON.stringify(arg, (key, value) => {
- if (typeof value === 'object' && value !== null) {
- if (cache.indexOf(value) !== -1) return;
- cache.push(value);
- }
- return value;
- }, 2);
- cache = null;
- return out;
-
- case arg.toString() === "[object Error]" || arg instanceof Error:
- return arg.stack || Error.prototype.toString.call(arg);
-
- default:
- return arg.toString();
- }
- }
-
- function formatSpecifier(specifier, value) {
- switch (specifier) {
- case stringSpecifier:
- return '' + value;
-
- case decimalSpecifier:
- return parseInt(value, 10).toString();
-
- case floatSpecifier:
- return parseFloat(value).toString();
-
- case oSmallSpecifier:
- case oBigSpecifier:
- return formatValue(value);
-
- default:
- return false;
- }
- }
-
- /**
- * WHATWG Spec compliant formatter
- *
- * @see https://console.spec.whatwg.org/#formatter
- * @param {*} message
- * @param {*} args
- */
- function format(message = undefined, ...args) {
- const totalArgs = args.length;
-
- if (totalArgs === 0) {
- return formatValue(message);
- }
-
- const result = [];
- let usedArgs = 0;
-
- if (typeof message !== "string") {
- result[result.length] = formatValue(message);
- } else {
- const messageLastIndex = message.length - 1;
- let formattedMessage = '';
- let i = 0;
-
- for (; i < messageLastIndex; i++) {
- const char = message.charAt(i);
-
- if (char.charCodeAt(0) === percent && totalArgs > usedArgs) {
- const result = formatSpecifier(message.charCodeAt(i + 1), args[usedArgs]);
-
- if (result !== false) {
- formattedMessage += result;
-
- i++;
- usedArgs++;
-
- continue;
- }
- }
-
- formattedMessage += char;
- }
-
- if (i === messageLastIndex) {
- formattedMessage += message[messageLastIndex];
- }
-
- result[result.length] = formattedMessage;
- }
-
- return result.concat(args.slice(usedArgs).map(formatValue)).join(' ');
- }
-
- class Console {
- constructor() {
- this._trace = global['Citizen'].trace || global['print'];
-
- this._timers = new Map();
- this._counters = new Map();
-
- // TODO: Improve the sync console output.
- this.log = (monitorMode) ? this.logSync.bind(this) : this.log.bind(this);
- this.info = this.info.bind(this);
- this.warn = this.warn.bind(this);
- this.time = this.time.bind(this);
- this.clear = this.clear.bind(this);
- this.group = this.group.bind(this);
- this.error = this.error.bind(this);
- this.trace = this.trace.bind(this);
- this.table = this.table.bind(this);
- this.dirxml = this.dirxml.bind(this);
- this.select = this.select.bind(this);
- this.assert = this.assert.bind(this);
- this.timeEnd = this.timeEnd.bind(this);
- this.groupEnd = this.groupEnd.bind(this);
- this.groupCollapsed = this.groupCollapsed.bind(this);
- this.msIsIndependentlyComposed = this.msIsIndependentlyComposed.bind(this);
- }
-
- table() {
- this.error('console.table is not implemented yet');
- }
-
- dirxml() {
- this.error('console.dirxml is not implemented yet');
- }
-
- clear() {
- this.error('console.clear is not implemented yet');
- }
-
- group() {
- this.error('console.group is not implemented yet');
- }
-
- groupCollapsed() {
- this.error('console.groupCollapsed is not implemented yet');
- }
-
- groupEnd() {
- this.error('console.groupEnd is not implemented yet');
- }
-
- msIsIndependentlyComposed() {
- this.error('console.msIsIndependentlyComposed is not implemented yet');
- }
-
- select() {
- this.error('console.select is not implemented yet');
- }
-
- log(message = undefined, ...optionalParams) {
- this._trace(format(message, ...optionalParams));
- }
-
- logSync(message = undefined, ...optionalParams) {
- process.stdout.write(format(message, ...optionalParams) + "\n");
- }
-
- debug(message = undefined, ...optionalParams) {
- this._trace('Debug: ' + format(message, ...optionalParams));
- }
-
- info(message = undefined, ...optionalParams) {
- this._trace('Info: ' + format(message, ...optionalParams));
- }
-
- warn(message = undefined, ...optionalParams) {
- this._trace('^3Warning: ' + format(message, ...optionalParams) + '^7');
- }
-
- error(message = undefined, ...optionalParams) {
- this._trace('^1Error: ' + format(message, ...optionalParams) + '^7');
- }
-
- trace(message = undefined, ...optionalParams) {
- const err = {
- name: 'Trace',
- message: format(message, ...optionalParams)
- };
-
- Error.captureStackTrace(err, this.trace);
-
- this._trace(err.stack);
- }
-
- dir(item, options) {
- this._trace('Dir: ', formatValue(item));
- }
-
- count(label) {
- if (label === undefined) {
- label = 'default'
- }
- const counter = this._counters.get(label) ? this._counters.get(label) + 1 : 1;
-
- this._counters.set(label, counter);
-
- this.log(`${label}: ${counter}`);
- }
-
- countReset(label) {
- if (label === undefined) {
- label = 'default'
- }
- if (this._counters.get(label) === undefined) {
- this.warn(`Counter "${label}" doesn't exist.`);
- return
- }
-
- this._counters.set(label, undefined);
-
- this.log(`${label}: 0`);
- }
-
- time(label) {
- this._timers.set(label, Citizen.getTickCount());
- }
-
- timeEnd(label) {
- if (!this._timers.has(label)) {
- this.warn(`No such label ${label} for console.timeEnd()`);
- return;
- }
-
- const duration = Citizen.getTickCount() - this._timers.get(label);
-
- this.log(`${label}: ${duration} ms`);
-
- this._timers.delete(label);
- }
-
- assert(expression, ...args) {
- if (!expression) {
- throw new AssertionError({
- actual: expression,
- expected: true,
- message: format.apply(null, args),
- operator: '==',
- stackStartFunction: this.assert
- });
- }
- }
- }
-
- global.console = new Console();
-})(this || globalThis);
diff --git a/citizen/scripting/v8/eventemitter2.js b/citizen/scripting/v8/eventemitter2.js
deleted file mode 100644
index b702c8bf2..000000000
--- a/citizen/scripting/v8/eventemitter2.js
+++ /dev/null
@@ -1,776 +0,0 @@
-/*!
- * EventEmitter2
- * https://github.com/hij1nx/EventEmitter2
- *
- * Copyright (c) 2013 hij1nx
- * Licensed under the MIT license.
- */
-;!function(undefined) {
-
- var isArray = Array.isArray ? Array.isArray : function _isArray(obj) {
- return Object.prototype.toString.call(obj) === "[object Array]";
- };
- var defaultMaxListeners = 10;
-
- function init() {
- this._events = {};
- if (this._conf) {
- configure.call(this, this._conf);
- }
- }
-
- function configure(conf) {
- if (conf) {
- this._conf = conf;
-
- conf.delimiter && (this.delimiter = conf.delimiter);
- this._maxListeners = conf.maxListeners !== undefined ? conf.maxListeners : defaultMaxListeners;
-
- conf.wildcard && (this.wildcard = conf.wildcard);
- conf.newListener && (this.newListener = conf.newListener);
- conf.verboseMemoryLeak && (this.verboseMemoryLeak = conf.verboseMemoryLeak);
-
- if (this.wildcard) {
- this.listenerTree = {};
- }
- } else {
- this._maxListeners = defaultMaxListeners;
- }
- }
-
- function logPossibleMemoryLeak(count, eventName) {
- var errorMsg = '(node) warning: possible EventEmitter memory ' +
- 'leak detected. ' + count + ' listeners added. ' +
- 'Use emitter.setMaxListeners() to increase limit.';
-
- if(this.verboseMemoryLeak){
- errorMsg += ' Event name: ' + eventName + '.';
- }
-
- if(typeof process !== 'undefined' && process.emitWarning){
- var e = new Error(errorMsg);
- e.name = 'MaxListenersExceededWarning';
- e.emitter = this;
- e.count = count;
- process.emitWarning(e);
- } else {
- console.error(errorMsg);
-
- if (console.trace){
- console.trace();
- }
- }
- }
-
- function EventEmitter(conf) {
- this._events = {};
- this.newListener = false;
- this.verboseMemoryLeak = false;
- configure.call(this, conf);
- }
- EventEmitter.EventEmitter2 = EventEmitter; // backwards compatibility for exporting EventEmitter property
-
- //
- // Attention, function return type now is array, always !
- // It has zero elements if no any matches found and one or more
- // elements (leafs) if there are matches
- //
- function searchListenerTree(handlers, type, tree, i) {
- if (!tree) {
- return [];
- }
- var listeners=[], leaf, len, branch, xTree, xxTree, isolatedBranch, endReached,
- typeLength = type.length, currentType = type[i], nextType = type[i+1];
- if (i === typeLength && tree._listeners) {
- //
- // If at the end of the event(s) list and the tree has listeners
- // invoke those listeners.
- //
- if (typeof tree._listeners === 'function') {
- handlers && handlers.push(tree._listeners);
- return [tree];
- } else {
- for (leaf = 0, len = tree._listeners.length; leaf < len; leaf++) {
- handlers && handlers.push(tree._listeners[leaf]);
- }
- return [tree];
- }
- }
-
- if ((currentType === '*' || currentType === '**') || tree[currentType]) {
- //
- // If the event emitted is '*' at this part
- // or there is a concrete match at this patch
- //
- if (currentType === '*') {
- for (branch in tree) {
- if (branch !== '_listeners' && tree.hasOwnProperty(branch)) {
- listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+1));
- }
- }
- return listeners;
- } else if(currentType === '**') {
- endReached = (i+1 === typeLength || (i+2 === typeLength && nextType === '*'));
- if(endReached && tree._listeners) {
- // The next element has a _listeners, add it to the handlers.
- listeners = listeners.concat(searchListenerTree(handlers, type, tree, typeLength));
- }
-
- for (branch in tree) {
- if (branch !== '_listeners' && tree.hasOwnProperty(branch)) {
- if(branch === '*' || branch === '**') {
- if(tree[branch]._listeners && !endReached) {
- listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], typeLength));
- }
- listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i));
- } else if(branch === nextType) {
- listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+2));
- } else {
- // No match on this one, shift into the tree but not in the type array.
- listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i));
- }
- }
- }
- return listeners;
- }
-
- listeners = listeners.concat(searchListenerTree(handlers, type, tree[currentType], i+1));
- }
-
- xTree = tree['*'];
- if (xTree) {
- //
- // If the listener tree will allow any match for this part,
- // then recursively explore all branches of the tree
- //
- searchListenerTree(handlers, type, xTree, i+1);
- }
-
- xxTree = tree['**'];
- if(xxTree) {
- if(i < typeLength) {
- if(xxTree._listeners) {
- // If we have a listener on a '**', it will catch all, so add its handler.
- searchListenerTree(handlers, type, xxTree, typeLength);
- }
-
- // Build arrays of matching next branches and others.
- for(branch in xxTree) {
- if(branch !== '_listeners' && xxTree.hasOwnProperty(branch)) {
- if(branch === nextType) {
- // We know the next element will match, so jump twice.
- searchListenerTree(handlers, type, xxTree[branch], i+2);
- } else if(branch === currentType) {
- // Current node matches, move into the tree.
- searchListenerTree(handlers, type, xxTree[branch], i+1);
- } else {
- isolatedBranch = {};
- isolatedBranch[branch] = xxTree[branch];
- searchListenerTree(handlers, type, { '**': isolatedBranch }, i+1);
- }
- }
- }
- } else if(xxTree._listeners) {
- // We have reached the end and still on a '**'
- searchListenerTree(handlers, type, xxTree, typeLength);
- } else if(xxTree['*'] && xxTree['*']._listeners) {
- searchListenerTree(handlers, type, xxTree['*'], typeLength);
- }
- }
-
- return listeners;
- }
-
- function growListenerTree(type, listener) {
-
- type = typeof type === 'string' ? type.split(this.delimiter) : type.slice();
-
- //
- // Looks for two consecutive '**', if so, don't add the event at all.
- //
- for(var i = 0, len = type.length; i+1 < len; i++) {
- if(type[i] === '**' && type[i+1] === '**') {
- return;
- }
- }
-
- var tree = this.listenerTree;
- var name = type.shift();
-
- while (name !== undefined) {
-
- if (!tree[name]) {
- tree[name] = {};
- }
-
- tree = tree[name];
-
- if (type.length === 0) {
-
- if (!tree._listeners) {
- tree._listeners = listener;
- }
- else {
- if (typeof tree._listeners === 'function') {
- tree._listeners = [tree._listeners];
- }
-
- tree._listeners.push(listener);
-
- if (
- !tree._listeners.warned &&
- this._maxListeners > 0 &&
- tree._listeners.length > this._maxListeners
- ) {
- tree._listeners.warned = true;
- logPossibleMemoryLeak.call(this, tree._listeners.length, name);
- }
- }
- return true;
- }
- name = type.shift();
- }
- return true;
- }
-
- // By default EventEmitters will print a warning if more than
- // 10 listeners are added to it. This is a useful default which
- // helps finding memory leaks.
- //
- // Obviously not all Emitters should be limited to 10. This function allows
- // that to be increased. Set to zero for unlimited.
-
- EventEmitter.prototype.delimiter = '.';
-
- EventEmitter.prototype.setMaxListeners = function(n) {
- if (n !== undefined) {
- this._maxListeners = n;
- if (!this._conf) this._conf = {};
- this._conf.maxListeners = n;
- }
- };
-
- EventEmitter.prototype.event = '';
-
-
- EventEmitter.prototype.once = function(event, fn) {
- return this._once(event, fn, false);
- };
-
- EventEmitter.prototype.prependOnceListener = function(event, fn) {
- return this._once(event, fn, true);
- };
-
- EventEmitter.prototype._once = function(event, fn, prepend) {
- this._many(event, 1, fn, prepend);
- return this;
- };
-
- EventEmitter.prototype.many = function(event, ttl, fn) {
- return this._many(event, ttl, fn, false);
- }
-
- EventEmitter.prototype.prependMany = function(event, ttl, fn) {
- return this._many(event, ttl, fn, true);
- }
-
- EventEmitter.prototype._many = function(event, ttl, fn, prepend) {
- var self = this;
-
- if (typeof fn !== 'function') {
- throw new Error('many only accepts instances of Function');
- }
-
- function listener() {
- if (--ttl === 0) {
- self.off(event, listener);
- }
- return fn.apply(this, arguments);
- }
-
- listener._origin = fn;
-
- this._on(event, listener, prepend);
-
- return self;
- };
-
- EventEmitter.prototype.emit = function() {
-
- this._events || init.call(this);
-
- var type = arguments[0];
-
- if (type === 'newListener' && !this.newListener) {
- if (!this._events.newListener) {
- return false;
- }
- }
-
- var al = arguments.length;
- var args,l,i,j;
- var handler;
-
- if (this._all && this._all.length) {
- handler = this._all.slice();
- if (al > 3) {
- args = new Array(al);
- for (j = 0; j < al; j++) args[j] = arguments[j];
- }
-
- for (i = 0, l = handler.length; i < l; i++) {
- this.event = type;
- switch (al) {
- case 1:
- handler[i].call(this, type);
- break;
- case 2:
- handler[i].call(this, type, arguments[1]);
- break;
- case 3:
- handler[i].call(this, type, arguments[1], arguments[2]);
- break;
- default:
- handler[i].apply(this, args);
- }
- }
- }
-
- if (this.wildcard) {
- handler = [];
- var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();
- searchListenerTree.call(this, handler, ns, this.listenerTree, 0);
- } else {
- handler = this._events[type];
- if (typeof handler === 'function') {
- this.event = type;
- switch (al) {
- case 1:
- handler.call(this);
- break;
- case 2:
- handler.call(this, arguments[1]);
- break;
- case 3:
- handler.call(this, arguments[1], arguments[2]);
- break;
- default:
- args = new Array(al - 1);
- for (j = 1; j < al; j++) args[j - 1] = arguments[j];
- handler.apply(this, args);
- }
- return true;
- } else if (handler) {
- // need to make copy of handlers because list can change in the middle
- // of emit call
- handler = handler.slice();
- }
- }
-
- if (handler && handler.length) {
- if (al > 3) {
- args = new Array(al - 1);
- for (j = 1; j < al; j++) args[j - 1] = arguments[j];
- }
- for (i = 0, l = handler.length; i < l; i++) {
- this.event = type;
- switch (al) {
- case 1:
- handler[i].call(this);
- break;
- case 2:
- handler[i].call(this, arguments[1]);
- break;
- case 3:
- handler[i].call(this, arguments[1], arguments[2]);
- break;
- default:
- handler[i].apply(this, args);
- }
- }
- return true;
- } else if (!this._all && type === 'error') {
- if (arguments[1] instanceof Error) {
- throw arguments[1]; // Unhandled 'error' event
- } else {
- throw new Error("Uncaught, unspecified 'error' event.");
- }
- return false;
- }
-
- return !!this._all;
- };
-
- EventEmitter.prototype.emitAsync = function() {
-
- this._events || init.call(this);
-
- var type = arguments[0];
-
- if (type === 'newListener' && !this.newListener) {
- if (!this._events.newListener) { return Promise.resolve([false]); }
- }
-
- var promises= [];
-
- var al = arguments.length;
- var args,l,i,j;
- var handler;
-
- if (this._all) {
- if (al > 3) {
- args = new Array(al);
- for (j = 1; j < al; j++) args[j] = arguments[j];
- }
- for (i = 0, l = this._all.length; i < l; i++) {
- this.event = type;
- switch (al) {
- case 1:
- promises.push(this._all[i].call(this, type));
- break;
- case 2:
- promises.push(this._all[i].call(this, type, arguments[1]));
- break;
- case 3:
- promises.push(this._all[i].call(this, type, arguments[1], arguments[2]));
- break;
- default:
- promises.push(this._all[i].apply(this, args));
- }
- }
- }
-
- if (this.wildcard) {
- handler = [];
- var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();
- searchListenerTree.call(this, handler, ns, this.listenerTree, 0);
- } else {
- handler = this._events[type];
- }
-
- if (typeof handler === 'function') {
- this.event = type;
- switch (al) {
- case 1:
- promises.push(handler.call(this));
- break;
- case 2:
- promises.push(handler.call(this, arguments[1]));
- break;
- case 3:
- promises.push(handler.call(this, arguments[1], arguments[2]));
- break;
- default:
- args = new Array(al - 1);
- for (j = 1; j < al; j++) args[j - 1] = arguments[j];
- promises.push(handler.apply(this, args));
- }
- } else if (handler && handler.length) {
- handler = handler.slice();
- if (al > 3) {
- args = new Array(al - 1);
- for (j = 1; j < al; j++) args[j - 1] = arguments[j];
- }
- for (i = 0, l = handler.length; i < l; i++) {
- this.event = type;
- switch (al) {
- case 1:
- promises.push(handler[i].call(this));
- break;
- case 2:
- promises.push(handler[i].call(this, arguments[1]));
- break;
- case 3:
- promises.push(handler[i].call(this, arguments[1], arguments[2]));
- break;
- default:
- promises.push(handler[i].apply(this, args));
- }
- }
- } else if (!this._all && type === 'error') {
- if (arguments[1] instanceof Error) {
- return Promise.reject(arguments[1]); // Unhandled 'error' event
- } else {
- return Promise.reject("Uncaught, unspecified 'error' event.");
- }
- }
-
- return Promise.all(promises);
- };
-
- EventEmitter.prototype.on = function(type, listener) {
- return this._on(type, listener, false);
- };
-
- EventEmitter.prototype.prependListener = function(type, listener) {
- return this._on(type, listener, true);
- };
-
- EventEmitter.prototype.onAny = function(fn) {
- return this._onAny(fn, false);
- };
-
- EventEmitter.prototype.prependAny = function(fn) {
- return this._onAny(fn, true);
- };
-
- EventEmitter.prototype.addListener = EventEmitter.prototype.on;
-
- EventEmitter.prototype._onAny = function(fn, prepend){
- if (typeof fn !== 'function') {
- throw new Error('onAny only accepts instances of Function');
- }
-
- if (!this._all) {
- this._all = [];
- }
-
- // Add the function to the event listener collection.
- if(prepend){
- this._all.unshift(fn);
- }else{
- this._all.push(fn);
- }
-
- return this;
- }
-
- EventEmitter.prototype._on = function(type, listener, prepend) {
- if (typeof type === 'function') {
- this._onAny(type, listener);
- return this;
- }
-
- if (typeof listener !== 'function') {
- throw new Error('on only accepts instances of Function');
- }
- this._events || init.call(this);
-
- // To avoid recursion in the case that type == "newListeners"! Before
- // adding it to the listeners, first emit "newListeners".
- this.emit('newListener', type, listener);
-
- if (this.wildcard) {
- growListenerTree.call(this, type, listener);
- return this;
- }
-
- if (!this._events[type]) {
- // Optimize the case of one listener. Don't need the extra array object.
- this._events[type] = listener;
- }
- else {
- if (typeof this._events[type] === 'function') {
- // Change to array.
- this._events[type] = [this._events[type]];
- }
-
- // If we've already got an array, just add
- if(prepend){
- this._events[type].unshift(listener);
- }else{
- this._events[type].push(listener);
- }
-
- // Check for listener leak
- if (
- !this._events[type].warned &&
- this._maxListeners > 0 &&
- this._events[type].length > this._maxListeners
- ) {
- this._events[type].warned = true;
- logPossibleMemoryLeak.call(this, this._events[type].length, type);
- }
- }
-
- return this;
- }
-
- EventEmitter.prototype.off = function(type, listener) {
- if (typeof listener !== 'function') {
- throw new Error('removeListener only takes instances of Function');
- }
-
- var handlers,leafs=[];
-
- if(this.wildcard) {
- var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();
- leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);
- }
- else {
- // does not use listeners(), so no side effect of creating _events[type]
- if (!this._events[type]) return this;
- handlers = this._events[type];
- leafs.push({_listeners:handlers});
- }
-
- for (var iLeaf=0; iLeaf 0) {
- recursivelyGarbageCollect(root[key]);
- }
- if (Object.keys(obj).length === 0) {
- delete root[key];
- }
- }
- }
- recursivelyGarbageCollect(this.listenerTree);
-
- return this;
- };
-
- EventEmitter.prototype.offAny = function(fn) {
- var i = 0, l = 0, fns;
- if (fn && this._all && this._all.length > 0) {
- fns = this._all;
- for(i = 0, l = fns.length; i < l; i++) {
- if(fn === fns[i]) {
- fns.splice(i, 1);
- this.emit("removeListenerAny", fn);
- return this;
- }
- }
- } else {
- fns = this._all;
- for(i = 0, l = fns.length; i < l; i++)
- this.emit("removeListenerAny", fns[i]);
- this._all = [];
- }
- return this;
- };
-
- EventEmitter.prototype.removeListener = EventEmitter.prototype.off;
-
- EventEmitter.prototype.removeAllListeners = function(type) {
- if (arguments.length === 0) {
- !this._events || init.call(this);
- return this;
- }
-
- if (this.wildcard) {
- var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice();
- var leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0);
-
- for (var iLeaf=0; iLeaf
-
-interface IntPtrInitialized {}
-interface FloatPtrInitialized {}
-interface IntPtr {}
-interface FloatPtr {}
-interface VectorPtr {}
-interface ReturnResultAnyway {}
-interface ResultAsInteger {}
-interface ResultAsFloat {}
-interface ResultAsString {}
-interface ResultAsVector {}
-interface ResultAsLong {}
-interface ResultAsObject {}
-
-type InputArgument =
- string |
- number |
- IntPtrInitialized |
- FloatPtrInitialized |
- IntPtr |
- FloatPtr |
- VectorPtr |
- ReturnResultAnyway |
- ResultAsInteger |
- ResultAsFloat |
- ResultAsString |
- ResultAsVector |
- ResultAsLong |
- ResultAsObject;
-
-interface StateBagInterface {
- [key: string]: any;
- set(key: string, value: any, replicated: boolean): void
-}
-
-interface EntityInterface {
- state: StateBagInterface
-}
-
-interface CitizenInterface {
- trace(...args: string[]): void
- setTickFunction(callback: Function): void
- setEventFunction(callback: Function): void
-
- setCallRefFunction(callback: Function): void
- setDeleteRefFunction(callback: Function): void
- setDuplicateRefFunction(callback: Function): void
- canonicalizeRef(ref: number): string
- invokeFunctionReference(ref: string, args: Uint8Array): Uint8Array
-
- getTickCount(): number
- invokeNative(hash: string, ...args: InputArgument[]): T
- startProfiling(name?: string): void
- stopProfiling(name?: string): {}
-
- pointerValueIntInitialized(): IntPtrInitialized
- pointerValueFloatInitialized(): FloatPtrInitialized
- pointerValueInt(): IntPtr
- pointerValueFloat(): FloatPtr
- pointerValueVector(): VectorPtr
- returnResultAnyway(): ReturnResultAnyway
- resultAsInteger(): ResultAsInteger
- resultAsFloat(): ResultAsFloat
- resultAsString(): ResultAsString
- resultAsVector(): ResultAsVector
- resultAsLong(): ResultAsLong
- resultAsObject(): ResultAsObject
-
- makeRefFunction(refFunction: Function): string
-}
-
-interface CitizenTimer {
- ref(): CitizenTimer,
- unref(): CitizenTimer,
- hasRef(): boolean,
- refresh(): CitizenTimer,
- [Symbol.toPrimitive](): number,
-}
-
-type CitizenImmediate = Omit;
-
-declare var Citizen: CitizenInterface;
-
-declare function addRawEventListener(eventName: string, callback: Function): void
-
-declare function addEventListener(eventName: string, callback: Function, netSafe?: boolean): void
-declare function on(eventName: string, callback: Function): void
-declare function AddEventHandler(eventName: string, callback: Function): void
-
-declare function addNetEventListener(eventName: string, callback: Function): void
-declare function onNet(eventName: string, callback: Function): void
-
-declare function emit(eventName: string, ...args: any[]): void
-declare function TriggerEvent(eventName: string, ...args: any[]): void
-
-declare function emitNet(eventName: string, ...args: any[]): void
-declare function TriggerServerEvent(eventName: string, ...args: any[]): void
-declare function TriggerLatentServerEvent(eventName: string, bps: number, ...args: any[]): void
-
-declare function getPlayerIdentifiers(player: number|string): string[]
-declare function getPlayerTokens(player: number|string): string[]
-declare function getPlayers(): string[]
-
-declare function SendNUIMessage(data: any): void
-
-declare function emitNet(eventName: string, target: number|string, ...args: any[]): void
-declare function TriggerClientEvent(eventName: string, target: number|string, ...args: any[]): void
-declare function TriggerLatentClientEvent(eventName: string, target: number|string, bps: number, ...args: any[]): void
-
-declare function removeEventListener(eventName: string, callback: Function): void
-
-declare function setTimeout(callback: (...args: T) => void, ms?: number, ...args: T): CitizenTimer;
-declare function clearTimeout(timeout: CitizenTimer): void;
-
-declare function setInterval(callback: (...args: T) => void, ms?: number, ...args: T): CitizenTimer;
-declare function clearInterval(interval: CitizenTimer): void;
-
-declare function setImmediate(callback: (...args: T) => void, ...args: T): CitizenImmediate;
-declare function clearImmediate(immediate: CitizenImmediate): void;
-
-declare function setTick(callback: Function): number
-declare function clearTick(callback: number): void
-
-declare function NewStateBag(name: string) : StateBagInterface;
-declare function Entity(entity: number): EntityInterface
-declare var GlobalState : StateBagInterface
-declare function Player(entity: number|string): EntityInterface
-declare var LocalPlayer : EntityInterface
-
-interface CitizenExports {
- (exportKey: string | number, exportFunction: Function): void;
- [resourceName: string] : {
- [exportKey: string | number]: Function
- };
-}
-
-declare var exports: CitizenExports;
-
-declare var source: number;
-
-// Commented methods are not implemented yet
-interface Console {
- assert(condition?: boolean, ...data: any[]): void;
- // clear(): void;
- count(label?: string): void;
- countReset(label?: string): void;
- debug(...data: any[]): void;
- dir(item?: any, options?: any): void;
- // dirxml(...data: any[]): void;
- error(...data: any[]): void;
- // group(...data: any[]): void;
- // groupCollapsed(...data: any[]): void;
- // groupEnd(): void;
- info(...data: any[]): void;
- log(...data: any[]): void;
- // table(tabularData?: any, properties?: string[]): void;
- time(label?: string): void;
- timeEnd(label?: string): void;
- // timeLog(label?: string, ...data: any[]): void;
- // timeStamp(label?: string): void;
- trace(...data: any[]): void;
- warn(...data: any[]): void;
-}
-
-declare var console: Console;
diff --git a/citizen/scripting/v8/main.js b/citizen/scripting/v8/main.js
deleted file mode 100644
index b93205ffd..000000000
--- a/citizen/scripting/v8/main.js
+++ /dev/null
@@ -1,878 +0,0 @@
-// CFX JS runtime
-///
-
-const EXT_FUNCREF = 10;
-const EXT_LOCALFUNCREF = 11;
-
-(function (global) {
- let boundaryIdx = 1;
- let lastBoundaryStart = null;
- const isDuplicityVersion = IsDuplicityVersion();
-
- // temp
- global.FormatStackTrace = function (args, argLength) {
- return Citizen.invokeNativeByHash(0, 0xd70c3bca, args, argLength, Citizen.resultAsString());
- }
-
- function getBoundaryFunc(pushFunc, id) {
- return (func, ...args) => {
- const boundary = id || (boundaryIdx++);
- pushFunc(boundary);
-
- function wrap(...args) {
- return func(...args);
- }
-
- Object.defineProperty(wrap, 'name', { writable: true });
- wrap.name = `__cfx_wrap_${boundary}`;
-
- return wrap.call(boundary, ...args);
- };
- }
-
- global.runWithBoundaryStart = getBoundaryFunc(boundary => {
- Citizen.submitBoundaryStart(boundary);
- lastBoundaryStart = boundary;
- });
- const runWithBoundaryEnd = getBoundaryFunc(Citizen.submitBoundaryEnd);
-
- let refIndex = 0;
- const nextRefIdx = () => refIndex++;
- const refFunctionsMap = new Map();
-
- const codec = msgpack.createCodec({
- uint8array: true,
- preset: false,
- binarraybuffer: true
- });
-
- const pack = data => msgpack.encode(data, { codec });
- const unpack = data => msgpack.decode(data, { codec });
-
- // store for use by natives.js
- global.msgpack_pack = pack;
- global.msgpack_unpack = unpack;
-
- /**
- * @param {Function} refFunction
- * @returns {string}
- */
- Citizen.makeRefFunction = (refFunction) => {
- const ref = nextRefIdx();
-
- refFunctionsMap.set(ref, {
- callback: refFunction,
- refCount: 0
- });
-
- return Citizen.canonicalizeRef(ref);
- };
-
- function refFunctionPacker(refFunction) {
- const ref = Citizen.makeRefFunction(refFunction);
-
- return ref;
- }
-
- function refFunctionUnpacker(refSerialized) {
- const fnRef = Citizen.makeFunctionReference(refSerialized);
-
- return function (...args) {
- return runWithBoundaryEnd(() => {
- const retvals = unpack(fnRef(pack(args)));
-
- if (retvals === null) {
- throw new Error('Error in nested ref call.');
- }
-
- switch (retvals.length) {
- case 0:
- return undefined;
- case 1:
- const rv = retvals[0];
- if (rv && rv['__cfx_async_retval']) {
- return new Promise((res, rej) => {
- rv['__cfx_async_retval']((v, e) => {
- if (e != null)
- rej(e);
- else {
- switch(v.length) {
- case 0:
- res(undefined);
- case 1:
- res(v[0]);
- default:
- res(v);
- }
- }
- });
- });
- }
- return rv;
- default:
- return retvals;
- }
- });
- };
- }
-
- const AsyncFunction = (async () => {}).constructor;
- codec.addExtPacker(EXT_FUNCREF, AsyncFunction, refFunctionPacker);
- codec.addExtPacker(EXT_FUNCREF, Function, refFunctionPacker);
- codec.addExtUnpacker(EXT_FUNCREF, refFunctionUnpacker);
- codec.addExtUnpacker(EXT_LOCALFUNCREF, refFunctionUnpacker);
-
- /**
- * Deletes ref function
- *
- * @param {int} ref
- */
- Citizen.setDeleteRefFunction(function (ref) {
- if (refFunctionsMap.has(ref)) {
- const data = refFunctionsMap.get(ref);
-
- if (--data.refCount <= 0) {
- refFunctionsMap.delete(ref);
- }
- }
- });
-
- /**
- * Invokes ref function
- *
- * @param {int} ref
- * @param {UInt8Array} args
- */
- Citizen.setCallRefFunction(function (ref, argsSerialized) {
- if (!refFunctionsMap.has(ref)) {
- console.error('Invalid ref call attempt:', ref);
-
- return pack([]);
- }
-
- try {
- return runWithBoundaryStart(() => {
- const rv = refFunctionsMap.get(ref).callback(...unpack(argsSerialized));
- if (rv instanceof Promise) {
- return pack([{'__cfx_async_retval': (cb) => {
- rv.then(v => {
- if (cb != null)
- cb([v], null);
- }).catch(err => {
- if (cb != null) {
- let msg = '';
- if (err) {
- if (err.message) {
- msg = err.message.toString();
- } else {
- msg = err.toString();
- }
- }
- cb(null, msg);
- }
- });
- }}]);
- }
- return pack([rv]);
- });
- } catch (e) {
- global.printError('call ref', e);
-
- return pack(null);
- }
- });
-
- /**
- * Duplicates ref function
- *
- * @param {int} ref
- */
- Citizen.setDuplicateRefFunction(function (ref) {
- if (refFunctionsMap.has(ref)) {
- const refFunction = refFunctionsMap.get(ref);
- ++refFunction.refCount;
-
- return ref;
- }
-
- return -1;
- });
-
- // Events
- const emitter = new EventEmitter2();
- const rawEmitter = new EventEmitter2();
- const netSafeEventNames = new Set();
-
- // Raw events
- global.addRawEventListener = rawEmitter.on.bind(rawEmitter);
- global.addRawEventHandler = global.addRawEventListener;
-
- // Client events
- global.addEventListener = (name, callback, netSafe = false) => {
- if (netSafe) {
- netSafeEventNames.add(name);
- }
-
- RegisterResourceAsEventHandler(name);
-
- emitter.on(name, callback);
- };
- global.on = global.addEventListener;
-
- // Net events
- global.addNetEventListener = (name, callback) => global.addEventListener(name, callback, true);
- global.onNet = global.addNetEventListener;
-
- global.removeEventListener = emitter.off.bind(emitter);
-
- // Convenience aliases for Lua similarity
- global.AddEventHandler = global.addEventListener;
- global.RegisterNetEvent = (name) => void netSafeEventNames.add(name);
- global.RegisterServerEvent = global.RegisterNetEvent;
- global.RemoveEventHandler = global.removeEventListener;
-
- // Event triggering
- global.emit = (name, ...args) => {
- const dataSerialized = pack(args);
-
- runWithBoundaryEnd(() => {
- TriggerEventInternal(name, dataSerialized, dataSerialized.length);
- });
- };
-
- global.TriggerEvent = global.emit;
-
- if (isDuplicityVersion) {
- global.emitNet = (name, source, ...args) => {
- const dataSerialized = pack(args);
-
- TriggerClientEventInternal(name, source, dataSerialized, dataSerialized.length);
- };
-
- global.TriggerClientEvent = global.emitNet;
-
- global.TriggerLatentClientEvent = (name, source, bps, ...args) => {
- const dataSerialized = pack(args);
-
- TriggerLatentClientEventInternal(name, source, dataSerialized, dataSerialized.length, bps);
- };
-
- global.getPlayerIdentifiers = (player) => {
- const numIds = GetNumPlayerIdentifiers(player);
- let t = [];
- for (let i = 0; i < numIds; i++) {
- t[i] = GetPlayerIdentifier(player, i);
- }
- return t;
- };
-
- global.getPlayerTokens = (player) => {
- const numIds = GetNumPlayerTokens(player);
- let t = [];
- for (let i = 0; i < numIds; i++) {
- t[i] = GetPlayerToken(player, i);
- }
- return t;
- };
-
- global.getPlayers = () => {
- const num = GetNumPlayerIndices();
- let t = [];
-
- for (let i = 0; i < num; i++) {
- t[i] = GetPlayerFromIndex(i);
- }
-
- return t;
- };
- } else {
- global.SendNUIMessage = (data) => {
- const dataJson = JSON.stringify(data)
- SendNuiMessage(dataJson)
- }
-
- global.emitNet = (name, ...args) => {
- const dataSerialized = pack(args);
-
- TriggerServerEventInternal(name, dataSerialized, dataSerialized.length);
- };
-
- global.TriggerServerEvent = global.emitNet;
-
- global.TriggerLatentServerEvent = (name, bps, ...args) => {
- const dataSerialized = pack(args);
-
- TriggerLatentServerEventInternal(name, dataSerialized, dataSerialized.length, bps);
- };
- }
-
- let currentStackDumpError = null;
-
- function prepareStackTrace(error, trace) {
- const frames = [];
- let skip = false;
-
- if (error.bs) {
- skip = true;
- }
-
- if (!error.be) {
- error.be = lastBoundaryStart;
- }
-
- for (const frame of trace) {
- const functionName = frame.methodName;
-
- if (functionName && functionName.startsWith('__cfx_wrap_')) {
- const boundary = functionName.substring('__cfx_wrap_'.length) | 0;
-
- if (boundary == error.bs) {
- skip = false;
- }
-
- if (boundary == error.be) {
- break;
- }
- }
-
- if (skip) {
- continue;
- }
-
- const fn = frame.file;
-
- if (fn && !fn.startsWith('citizen:/')) {
- const isConstruct = false;
- const isEval = false;
- const isNative = false;
- const methodName = functionName;
- const type = frame.typeName;
-
- let frameName = '';
-
- if (isNative) {
- frameName = 'native';
- } else if (isEval) {
- frameName = `eval at ${frame.getEvalOrigin()}`;
- } else if (isConstruct) {
- frameName = `new ${functionName}`;
- } else if (methodName && functionName && methodName !== functionName) {
- frameName = `${type}${functionName} [as ${methodName}]`;
- } else if (methodName || functionName) {
- frameName = `${type}${functionName ? functionName : methodName}`;
- }
-
- frames.push({
- file: fn,
- line: frame.lineNumber | 0,
- name: frameName
- });
- }
- }
-
- return frames;
- }
-
- class StackDumpError {
- constructor(bs, be) {
- this.bs = bs;
- this.be = be;
-
- Error.captureStackTrace(this);
- }
- }
-
- function getError(where, e) {
- const stackBlob = global.msgpack_pack(prepareStackTrace(e, parseStack(e.stack)));
- const fst = global.FormatStackTrace(stackBlob, stackBlob.length);
-
- if (fst !== null && fst !== undefined) {
- return '^1SCRIPT ERROR in ' + where + ': ' + e.toString() + "^7\n" + fst;
- }
-
- return '';
- }
-
- global.printError = function (where, e) {
- console.log(getError(where, e));
- }
-
- Citizen.setStackTraceFunction(function (bs, be) {
- const sde = new StackDumpError(bs, be);
- const rv = pack(prepareStackTrace(sde, parseStack(sde.stack)));
-
- return rv;
- });
-
- let errorQueue = [];
-
- function processErrorQueue() {
- for (const error of errorQueue) {
- console.log(getError('promise (unhandled rejection)', error.error));
- }
-
- errorQueue = [];
- }
-
- Citizen.setUnhandledPromiseRejectionFunction(function (event, promise, value) {
- // unhandled
- // we might get a `1` in which case it actually was handled and we should.. un-print
- if (event === 0) {
- let error = '';
-
- if (value instanceof Error) {
- error = value;
- } else {
- error = new Error((value || '').toString());
- }
-
- // grab the stack early so it'll remain valid
- const stack = error.stack;
-
- errorQueue.push({
- error,
- stack,
- promise
- });
-
- global.setImmediate(processErrorQueue);
- } else if (event === 1) {
- errorQueue = errorQueue.filter(a => a.promise !== promise);
- }
- });
-
- /**
- * @param {string} name
- * @param {UInt8Array} payloadSerialized
- * @param {string} source
- */
- Citizen.setEventFunction(function (name, payloadSerialized, source) {
- runWithBoundaryStart(() => {
- global.source = source;
-
- if (source.startsWith('net')) {
- if (emitter.listeners(name).length > 0 && !netSafeEventNames.has(name)) {
- console.error(`Event ${name} was not safe for net`);
-
- global.source = null;
- return;
- }
-
- global.source = parseInt(source.substr(4));
- } else if (isDuplicityVersion && source.startsWith('internal-net')) {
- global.source = parseInt(source.substr(13));
- }
-
- const payload = unpack(payloadSerialized) || [];
- const listeners = emitter.listeners(name);
-
- if (listeners.length === 0 || !Array.isArray(payload)) {
- global.source = null;
- return;
- }
-
- // Running normal event listeners
- for (const listener of listeners) {
- try {
- const retval = listener.apply(null, payload);
-
- if (retval instanceof Promise) {
- (async () => {
- try {
- await retval;
- } catch (e) {
- console.error('Unhandled promise failure:', e);
- }
- })();
- }
- } catch (e) {
- global.printError('event `' + name + '\'', e);
- }
- }
-
- // Running raw event listeners
- try {
- rawEmitter.emit(name, payloadSerialized, source);
- } catch (e) {
- console.error('Unhandled error during running raw event listeners', e);
- }
-
- global.source = null;
- });
- });
-
- // Compatibility layer for legacy exports
- const exportsCallbackCache = {};
- const exportKey = isDuplicityVersion ? 'server_export' : 'export';
- const eventType = isDuplicityVersion ? 'Server' : 'Client';
-
- const getExportEventName = (resource, name) => `__cfx_export_${resource}_${name}`;
-
- on(`on${eventType}ResourceStart`, (resource) => {
- if (resource === GetCurrentResourceName()) {
- const numMetaData = GetNumResourceMetadata(resource, exportKey) || 0;
-
- for (let i = 0; i < numMetaData; i++) {
- const exportName = GetResourceMetadata(resource, exportKey, i);
-
- on(getExportEventName(resource, exportName), (setCB) => {
- if (global[exportName]) {
- setCB(global[exportName]);
- }
- });
- }
- }
- });
-
- on(`on${eventType}ResourceStop`, (resource) => {
- exportsCallbackCache[resource] = {};
- });
-
- // export invocation
- const createExports = () => {
- return new Proxy(() => { }, {
- get(t, k) {
- const resource = k;
-
- return new Proxy({}, {
- get(t, k) {
- if (!exportsCallbackCache[resource]) {
- exportsCallbackCache[resource] = {};
- }
-
- if (!exportsCallbackCache[resource][k]) {
- emit(getExportEventName(resource, k), (exportData) => {
- exportsCallbackCache[resource][k] = exportData;
- });
-
- if (!exportsCallbackCache[resource][k]) {
- throw new Error(`No such export ${k} in resource ${resource}`);
- }
- }
-
- return (...args) => {
- try {
- return exportsCallbackCache[resource][k](...args);
- } catch (e) {
- throw new Error(`An error occurred while calling export ${k} of resource ${resource} - see above for details`);
- }
- };
- },
-
- set() {
- throw new Error('cannot set values on an export resource');
- }
- });
- },
-
- apply(t, self, args) {
- if (args.length !== 2) {
- throw new Error('this needs 2 arguments');
- }
-
- const [exportName, func] = args;
-
- on(getExportEventName(GetCurrentResourceName(), exportName), (setCB) => {
- setCB(func);
- });
- },
-
- set() {
- throw new Error('cannot set values on exports');
- }
- });
- };
-
- global.exports = createExports();
-
- const EXT_ENTITY = 41;
- const EXT_PLAYER = 42;
-
- global.NewStateBag = (es) => {
- return new Proxy({}, {
- get(_, k) {
- if (k === 'set') {
- return (s, v, r) => {
- const payload = msgpack_pack(v);
- SetStateBagValue(es, s, payload, payload.length, r);
- };
- }
-
- return GetStateBagValue(es, k);
- },
-
- set(_, k, v) {
- const payload = msgpack_pack(v);
- SetStateBagValue(es, k, payload, payload.length, isDuplicityVersion);
- return true; // If the set() method returns false, and the assignment happened in strict-mode code, a TypeError will be thrown.
- },
- });
- };
-
- global.GlobalState = NewStateBag('global');
-
- function getEntityStateBagId(entityGuid) {
- if (isDuplicityVersion || NetworkGetEntityIsNetworked(entityGuid)) {
- return `entity:${NetworkGetNetworkIdFromEntity(entityGuid)}`;
- } else {
- EnsureEntityStateBag(entityGuid);
- return `localEntity:${entityGuid}`;
- }
- }
-
- const entityTM = {
- get(t, k) {
- if (k === 'state') {
- const es = getEntityStateBagId(t.__data);
-
- if (isDuplicityVersion) {
- EnsureEntityStateBag(t.__data);
- }
-
- return NewStateBag(es);
- }
-
- return null;
- },
-
- set() {
- throw new Error('Not allowed at this time.');
- },
-
- __ext: EXT_ENTITY,
-
- __pack: () => {
- return String(NetworkGetNetworkIdFromEntity(this.__data));
- },
-
- __unpack: (data, t) => {
- const ref = NetworkGetEntityFromNetworkId(Number(data));
- return new Proxy({ __data: ref }, entityTM);
- },
- };
-
- const playerTM = {
- get(t, k) {
- if (k === 'state') {
- const pid = t.__data === -1 ? GetPlayerServerId(PlayerId()) : t.__data;
-
- const es = `player:${pid}`;
-
- return NewStateBag(es);
- }
-
- return null;
- },
-
- set() {
- throw new Error('Not allowed at this time.');
- },
-
- __ext: EXT_PLAYER,
-
- __pack: () => {
- return String(this.__data);
- },
-
- __unpack: (data, t) => {
- const ref = Number(data);
- return new Proxy({ __data: ref }, playerTM);
- },
- };
-
- global.Entity = (ent) => {
- if (typeof ent === 'number') {
- return new Proxy({ __data: ent }, entityTM);
- }
-
- return ent;
- };
-
- global.Player = (ent) => {
- if (typeof ent === 'number' || typeof ent === 'string') {
- return new Proxy({ __data: Number(ent) }, playerTM);
- }
-
- return ent;
- };
-
- if (!isDuplicityVersion) {
- global.LocalPlayer = Player(-1);
- }
-
- /*
- BEGIN
- https://github.com/errwischt/stacktrace-parser/blob/0121cc6e7d57495437818676f6b69be7d34c2fa7/src/stack-trace-parser.js
-
- MIT License
-
- Copyright (c) 2014-2019 Georg Tavonius
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
- */
-
- const UNKNOWN_FUNCTION = '';
-
- /**
- * This parses the different stack traces and puts them into one format
- * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)
- */
- function parseStack(stackString) {
- const lines = stackString.split('\n');
-
- return lines.reduce((stack, line) => {
- const parseResult =
- parseChrome(line) ||
- parseWinjs(line) ||
- parseGecko(line) ||
- parseNode(line) ||
- parseJSC(line);
-
- if (parseResult) {
- stack.push(parseResult);
- }
-
- return stack;
- }, []);
- }
-
- const chromeRe = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i;
- const chromeEvalRe = /\((\S*)(?::(\d+))(?::(\d+))\)/;
-
- function parseChrome(line) {
- const parts = chromeRe.exec(line);
-
- if (!parts) {
- return null;
- }
-
- const isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line
- const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line
-
- const submatch = chromeEvalRe.exec(parts[2]);
- if (isEval && submatch != null) {
- // throw out eval line/column and use top-most line/column number
- parts[2] = submatch[1]; // url
- parts[3] = submatch[2]; // line
- parts[4] = submatch[3]; // column
- }
-
- const methodParts = (parts[1] || UNKNOWN_FUNCTION).split(/\./, 2);
- const typeName = methodParts.length == 2 ? (methodParts[0] + '.') : '';
- const methodName = methodParts[methodParts.length - 1];
-
- return {
- file: !isNative ? parts[2] : null,
- methodName,
- typeName,
- arguments: isNative ? [parts[2]] : [],
- lineNumber: parts[3] ? +parts[3] : null,
- column: parts[4] ? +parts[4] : null,
- };
- }
-
- const winjsRe = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i;
-
- function parseWinjs(line) {
- const parts = winjsRe.exec(line);
-
- if (!parts) {
- return null;
- }
-
- return {
- file: parts[2],
- methodName: parts[1] || UNKNOWN_FUNCTION,
- arguments: [],
- lineNumber: +parts[3],
- column: parts[4] ? +parts[4] : null,
- };
- }
-
- const geckoRe = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i;
- const geckoEvalRe = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i;
-
- function parseGecko(line) {
- const parts = geckoRe.exec(line);
-
- if (!parts) {
- return null;
- }
-
- const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;
-
- const submatch = geckoEvalRe.exec(parts[3]);
- if (isEval && submatch != null) {
- // throw out eval line/column and use top-most line number
- parts[3] = submatch[1];
- parts[4] = submatch[2];
- parts[5] = null; // no column when eval
- }
-
- return {
- file: parts[3],
- methodName: parts[1] || UNKNOWN_FUNCTION,
- arguments: parts[2] ? parts[2].split(',') : [],
- lineNumber: parts[4] ? +parts[4] : null,
- column: parts[5] ? +parts[5] : null,
- };
- }
-
- const javaScriptCoreRe = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i;
-
- function parseJSC(line) {
- const parts = javaScriptCoreRe.exec(line);
-
- if (!parts) {
- return null;
- }
-
- return {
- file: parts[3],
- methodName: parts[1] || UNKNOWN_FUNCTION,
- arguments: [],
- lineNumber: +parts[4],
- column: parts[5] ? +parts[5] : null,
- };
- }
-
- const nodeRe = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i;
-
- function parseNode(line) {
- const parts = nodeRe.exec(line);
-
- if (!parts) {
- return null;
- }
-
- const methodParts = (parts[1] || UNKNOWN_FUNCTION).split(/\./, 2);
- const typeName = methodParts.length == 2 ? (methodParts[0] + '.') : '';
- const methodName = methodParts[methodParts.length - 1];
-
- return {
- file: parts[2],
- typeName,
- methodName,
- arguments: [],
- lineNumber: +parts[3],
- column: parts[4] ? +parts[4] : null,
- };
- }
- // END
-})(this || globalThis);
diff --git a/citizen/scripting/v8/msgpack.js b/citizen/scripting/v8/msgpack.js
deleted file mode 100644
index 670aee778..000000000
--- a/citizen/scripting/v8/msgpack.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- https://github.com/kawanet/msgpack-lite
-
- The MIT License (MIT)
-
- Copyright (c) 2015 Yusuke Kawasaki
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
- */
-
- // Modified to support functions packing, fork: https://github.com/thers/msgpack-lite
-
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r;r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,r.msgpack=t()}}(function(){return function t(r,e,n){function i(f,u){if(!e[f]){if(!r[f]){var a="function"==typeof require&&require;if(!u&&a)return a(f,!0);if(o)return o(f,!0);var s=new Error("Cannot find module '"+f+"'");throw s.code="MODULE_NOT_FOUND",s}var c=e[f]={exports:{}};r[f][0].call(c.exports,function(t){var e=r[f][1][t];return i(e||t)},c,c.exports,t,r,e,n)}return e[f].exports}for(var o="function"==typeof require&&require,f=0;f>>6,e[n++]=128|63&o):o<55296||o>57343?(e[n++]=224|o>>>12,e[n++]=128|o>>>6&63,e[n++]=128|63&o):(o=65536+(o-55296<<10|t.charCodeAt(f++)-56320),e[n++]=240|o>>>18,e[n++]=128|o>>>12&63,e[n++]=128|o>>>6&63,e[n++]=128|63&o);return n-r}function i(t,r,e){var n=this,i=0|r;e||(e=n.length);for(var o="",f=0;i=65536?(f-=65536,o+=String.fromCharCode(55296+(f>>>10),56320+(1023&f))):o+=String.fromCharCode(f));return o}function o(t,r,e,n){var i;e||(e=0),n||0===n||(n=this.length),r||(r=0);var o=n-e;if(t===this&&e=0;i--)t[i+r]=this[i+e];else for(i=0;ithis.buffer.length)throw new Error(d);return this.offset=e,r}return{bufferish:h,write:t,fetch:f,flush:r,push:a,pull:s,read:u,reserve:e,offset:0}}()),n.mixin(n.prototype),i.mixin=c(function(){function t(){var t=this.start;if(t1?this.bufferish.concat(t):t[0];return t.length=0,r}function n(t){var r=0|t;if(this.buffer){var e=this.buffer.length,n=0|this.offset,i=n+r;if(ithis.minBufferSize)this.flush(),this.push(t);else{var e=this.reserve(r);h.prototype.copy.call(t,this.buffer,e)}}return{bufferish:h,write:o,fetch:t,flush:r,push:a,pull:e,read:u,reserve:n,send:i,maxBufferSize:p,minBufferSize:l,offset:0,start:0}}()),i.mixin(i.prototype)},{"./bufferish":8}],22:[function(t,r,e){function n(t){function r(t){var r=s(t),n=e[r];if(!n)throw new Error("Invalid type: "+(r?"0x"+r.toString(16):r));return n(t)}var e=c.getReadToken(t);return r}function i(){var t=this.options;return this.decode=n(t),t&&t.preset&&a.setExtUnpackers(this),this}function o(t,r){(this.extUnpackers||(this.extUnpackers=[]))[t]=h.filter(r)}function f(t){function r(r){return new u(r,t)}return(this.extUnpackers||(this.extUnpackers=[]))[t]||r}var u=t("./ext-buffer").ExtBuffer,a=t("./ext-unpacker"),s=t("./read-format").readUint8,c=t("./read-token"),h=t("./codec-base");h.install({addExtUnpacker:o,getExtUnpacker:f,init:i}),e.preset=i.call(h.preset)},{"./codec-base":9,"./ext-buffer":17,"./ext-unpacker":19,"./read-format":23,"./read-token":24}],23:[function(t,r,e){function n(t){var r=k.hasArrayBuffer&&t&&t.binarraybuffer,e=t&&t.int64;return{map:T&&t&&t.usemap?o:i,array:f,str:u,bin:r?s:a,ext:c,uint8:h,uint16:p,uint32:y,uint64:v(8,e?E:b),int8:l,int16:d,int32:g,int64:v(8,e?A:w),float32:v(4,m),float64:v(8,x)}}function i(t,r){var e,n={},i=new Array(r),o=new Array(r),f=t.codec.decode;for(e=0;e>>8,i[n]=e}}function s(t){return function(r,e){var n=r.reserve(5),i=r.buffer;i[n++]=t,i[n++]=e>>>24,i[n++]=e>>>16,i[n++]=e>>>8,i[n]=e}}function c(t,r,e,n){return function(i,o){var f=i.reserve(r+1);i.buffer[f++]=t,e.call(i.buffer,o,f,n)}}function h(t,r){new v(this,r,t)}function l(t,r){new b(this,r,t)}function p(t,r){y.write(this,t,r,!1,23,4)}function d(t,r){y.write(this,t,r,!1,52,8)}var y=t("ieee754"),g=t("int64-buffer"),v=g.Uint64BE,b=g.Int64BE,w=t("./write-uint8").uint8,E=t("./bufferish"),Buffer=E.global,A=E.hasBuffer&&"TYPED_ARRAY_SUPPORT"in Buffer,m=A&&!Buffer.TYPED_ARRAY_SUPPORT,x=E.hasBuffer&&Buffer.prototype||{};e.getWriteToken=n},{"./bufferish":8,"./write-uint8":28,ieee754:32,"int64-buffer":33}],27:[function(t,r,e){function n(t){function r(t,r){_[r?195:194](t,r)}function e(t,r){var e,n=0|r;if(r!==n)return e=203,void _[e](t,r);e=-32<=n&&n<=127?255&n:0<=n?n<=255?204:n<=65535?205:206:-128<=n?208:-32768<=n?209:210,_[e](t,n)}function n(t,r){_[207](t,r.toArray())}function o(t,r){_[211](t,r.toArray())}function g(t){return t<32?1:t<=255?2:t<=65535?3:5}function v(t){return t<32?1:t<=65535?3:5}function b(t,r){var e=t.codec.getExtPacker(r);return e&&(r=e(r)),r instanceof l?U(t,r):A(t,r)}function w(t,r){if(null===r)return A(t,r);if(I(r))return Y(t,r);if(i(r))return m(t,r);if(f.isUint64BE(r))return n(t,r);if(u.isInt64BE(r))return o(t,r);var e=t.codec.getExtPacker(r);if(e&&(r=e(r)),r instanceof l)return U(t,r);D(t,r)}function E(t,r){if(I(r))return k(t,r);w(t,r)}function A(t,r){_[192](t,r)}function m(t,r){var e=r.length;_[e<16?144+e:e<=65535?220:221](t,e);for(var n=t.codec.encode,i=0;i0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[r-2]?2:"="===t[r-1]?1:0}function i(t){return 3*t.length/4-n(t)}function o(t){var r,e,i,o,f,u=t.length;o=n(t),f=new h(3*u/4-o),e=o>0?u-4:u;var a=0;for(r=0;r>16&255,f[a++]=i>>8&255,f[a++]=255&i;return 2===o?(i=c[t.charCodeAt(r)]<<2|c[t.charCodeAt(r+1)]>>4,f[a++]=255&i):1===o&&(i=c[t.charCodeAt(r)]<<10|c[t.charCodeAt(r+1)]<<4|c[t.charCodeAt(r+2)]>>2,f[a++]=i>>8&255,f[a++]=255&i),f}function f(t){return s[t>>18&63]+s[t>>12&63]+s[t>>6&63]+s[63&t]}function u(t,r,e){for(var n,i=[],o=r;oa?a:f+16383));return 1===n?(r=t[e-1],i+=s[r>>2],i+=s[r<<4&63],i+="=="):2===n&&(r=(t[e-2]<<8)+t[e-1],i+=s[r>>10],i+=s[r>>4&63],i+=s[r<<2&63],i+="="),o.push(i),o.join("")}e.byteLength=i,e.toByteArray=o,e.fromByteArray=a;for(var s=[],c=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p=0,d=l.length;p=n())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n().toString(16)+" bytes");return 0|t}function d(t){return+t!=t&&(t=0),Buffer.alloc(+t)}function y(t,r){if(Buffer.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var n=!1;;)switch(r){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":case void 0:return V(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return J(t).length;default:if(n)return V(t).length;r=(""+r).toLowerCase(),n=!0}}function g(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===e||e>this.length)&&(e=this.length),e<=0)return"";if(e>>>=0,r>>>=0,e<=r)return"";for(t||(t="utf8");;)switch(t){case"hex":return S(this,r,e);case"utf8":case"utf-8":return R(this,r,e);case"ascii":return _(this,r,e);case"latin1":case"binary":return T(this,r,e);case"base64":return P(this,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,r,e);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function v(t,r,e){var n=t[r];t[r]=t[e],t[e]=n}function b(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=e,e=0):e>2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,isNaN(e)&&(e=i?0:t.length-1),e<0&&(e=t.length+e),e>=t.length){if(i)return-1;e=t.length-1}else if(e<0){if(!i)return-1;e=0}if("string"==typeof r&&(r=Buffer.from(r,n)),Buffer.isBuffer(r))return 0===r.length?-1:w(t,r,e,n,i);if("number"==typeof r)return r&=255,Buffer.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,e):Uint8Array.prototype.lastIndexOf.call(t,r,e):w(t,[r],e,n,i);throw new TypeError("val must be string, number or Buffer")}function w(t,r,e,n,i){function o(t,r){return 1===f?t[r]:t.readUInt16BE(r*f)}var f=1,u=t.length,a=r.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||r.length<2)return-1;f=2,u/=2,a/=2,e/=2}var s;if(i){var c=-1;for(s=e;su&&(e=u-a),s=e;s>=0;s--){for(var h=!0,l=0;li&&(n=i):n=i;var o=r.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var f=0;f239?4:o>223?3:o>191?2:1;if(i+u<=e){var a,s,c,h;switch(u){case 1:o<128&&(f=o);break;case 2:a=t[i+1],128==(192&a)&&(h=(31&o)<<6|63&a)>127&&(f=h);break;case 3:a=t[i+1],s=t[i+2],128==(192&a)&&128==(192&s)&&(h=(15&o)<<12|(63&a)<<6|63&s)>2047&&(h<55296||h>57343)&&(f=h);break;case 4:a=t[i+1],s=t[i+2],c=t[i+3],128==(192&a)&&128==(192&s)&&128==(192&c)&&(h=(15&o)<<18|(63&a)<<12|(63&s)<<6|63&c)>65535&&h<1114112&&(f=h)}}null===f?(f=65533,u=1):f>65535&&(f-=65536,n.push(f>>>10&1023|55296),f=56320|1023&f),n.push(f),i+=u}return k(n)}function k(t){var r=t.length;if(r<=Q)return String.fromCharCode.apply(String,t);for(var e="",n=0;nn)&&(e=n);for(var i="",o=r;oe)throw new RangeError("Trying to access beyond buffer length")}function C(t,r,e,n,i,o){if(!Buffer.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||rt.length)throw new RangeError("Index out of range")}function D(t,r,e,n){r<0&&(r=65535+r+1);for(var i=0,o=Math.min(t.length-e,2);i>>8*(n?i:1-i)}function O(t,r,e,n){r<0&&(r=4294967295+r+1);for(var i=0,o=Math.min(t.length-e,4);i>>8*(n?i:3-i)&255}function L(t,r,e,n,i,o){if(e+n>t.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function M(t,r,e,n,i){return i||L(t,r,e,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(t,r,e,n,23,4),e+4}function N(t,r,e,n,i){return i||L(t,r,e,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(t,r,e,n,52,8),e+8}function F(t){if(t=j(t).replace($,""),t.length<2)return"";for(;t.length%4!=0;)t+="=";return t}function j(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function z(t){return t<16?"0"+t.toString(16):t.toString(16)}function V(t,r){r=r||1/0;for(var e,n=t.length,i=null,o=[],f=0;f55295&&e<57344){if(!i){if(e>56319){(r-=3)>-1&&o.push(239,191,189);continue}if(f+1===n){(r-=3)>-1&&o.push(239,191,189);continue}i=e;continue}if(e<56320){(r-=3)>-1&&o.push(239,191,189),i=e;continue}e=65536+(i-55296<<10|e-56320)}else i&&(r-=3)>-1&&o.push(239,191,189);if(i=null,e<128){if((r-=1)<0)break;o.push(e)}else if(e<2048){if((r-=2)<0)break;o.push(e>>6|192,63&e|128)}else if(e<65536){if((r-=3)<0)break;o.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(e<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;o.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return o}function q(t){for(var r=[],e=0;e>8,i=e%256,o.push(i),o.push(n);return o}function J(t){return H.toByteArray(F(t))}function X(t,r,e,n){for(var i=0;i=r.length||i>=t.length);++i)r[i+e]=t[i];return i}function G(t){return t!==t}var H=t("base64-js"),Z=t("ieee754"),K=t("isarray");e.Buffer=Buffer,e.SlowBuffer=d,e.INSPECT_MAX_BYTES=50,Buffer.TYPED_ARRAY_SUPPORT=void 0!==r.TYPED_ARRAY_SUPPORT?r.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=n(),Buffer.poolSize=8192,Buffer._augment=function(t){return t.__proto__=Buffer.prototype,t},Buffer.from=function(t,r,e){return o(null,t,r,e)},Buffer.TYPED_ARRAY_SUPPORT&&(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0})),Buffer.alloc=function(t,r,e){return u(null,t,r,e)},Buffer.allocUnsafe=function(t){return a(null,t)},Buffer.allocUnsafeSlow=function(t){return a(null,t)},Buffer.isBuffer=function(t){return!(null==t||!t._isBuffer)},Buffer.compare=function(t,r){if(!Buffer.isBuffer(t)||!Buffer.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var e=t.length,n=r.length,i=0,o=Math.min(e,n);i0&&(t=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(t+=" ... ")),""},Buffer.prototype.compare=function(t,r,e,n,i){if(!Buffer.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===e&&(e=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),r<0||e>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&r>=e)return 0;if(n>=i)return-1;if(r>=e)return 1;if(r>>>=0,e>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var o=i-n,f=e-r,u=Math.min(o,f),a=this.slice(n,i),s=t.slice(r,e),c=0;ci)&&(e=i),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return E(this,t,r,e);case"utf8":case"utf-8":return A(this,t,r,e);case"ascii":return m(this,t,r,e);case"latin1":case"binary":return x(this,t,r,e);case"base64":return B(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return U(this,t,r,e);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;Buffer.prototype.slice=function(t,r){var e=this.length;t=~~t,r=void 0===r?e:~~r,t<0?(t+=e)<0&&(t=0):t>e&&(t=e),r<0?(r+=e)<0&&(r=0):r>e&&(r=e),r0&&(i*=256);)n+=this[t+--r]*i;return n},Buffer.prototype.readUInt8=function(t,r){return r||Y(t,1,this.length),this[t]},Buffer.prototype.readUInt16LE=function(t,r){return r||Y(t,2,this.length),this[t]|this[t+1]<<8},Buffer.prototype.readUInt16BE=function(t,r){return r||Y(t,2,this.length),this[t]<<8|this[t+1]},Buffer.prototype.readUInt32LE=function(t,r){return r||Y(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},Buffer.prototype.readUInt32BE=function(t,r){return r||Y(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},Buffer.prototype.readIntLE=function(t,r,e){t|=0,r|=0,e||Y(t,r,this.length);for(var n=this[t],i=1,o=0;++o=i&&(n-=Math.pow(2,8*r)),n},Buffer.prototype.readIntBE=function(t,r,e){t|=0,r|=0,e||Y(t,r,this.length);for(var n=r,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*r)),o},Buffer.prototype.readInt8=function(t,r){return r||Y(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},Buffer.prototype.readInt16LE=function(t,r){r||Y(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},Buffer.prototype.readInt16BE=function(t,r){r||Y(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},Buffer.prototype.readInt32LE=function(t,r){return r||Y(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},Buffer.prototype.readInt32BE=function(t,r){return r||Y(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},Buffer.prototype.readFloatLE=function(t,r){return r||Y(t,4,this.length),Z.read(this,t,!0,23,4)},Buffer.prototype.readFloatBE=function(t,r){return r||Y(t,4,this.length),Z.read(this,t,!1,23,4)},Buffer.prototype.readDoubleLE=function(t,r){return r||Y(t,8,this.length),Z.read(this,t,!0,52,8)},Buffer.prototype.readDoubleBE=function(t,r){return r||Y(t,8,this.length),Z.read(this,t,!1,52,8)},Buffer.prototype.writeUIntLE=function(t,r,e,n){if(t=+t,r|=0,e|=0,!n){C(this,t,r,e,Math.pow(2,8*e)-1,0)}var i=1,o=0;for(this[r]=255&t;++o=0&&(o*=256);)this[r+i]=t/o&255;return r+e},Buffer.prototype.writeUInt8=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,1,255,0),Buffer.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=255&t,r+1},Buffer.prototype.writeUInt16LE=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):D(this,t,r,!0),r+2},Buffer.prototype.writeUInt16BE=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):D(this,t,r,!1),r+2},Buffer.prototype.writeUInt32LE=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=255&t):O(this,t,r,!0),r+4},Buffer.prototype.writeUInt32BE=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):O(this,t,r,!1),r+4},Buffer.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);C(this,t,r,e,i-1,-i)}var o=0,f=1,u=0;for(this[r]=255&t;++o>0)-u&255;return r+e},Buffer.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);C(this,t,r,e,i-1,-i)}var o=e-1,f=1,u=0;for(this[r+o]=255&t;--o>=0&&(f*=256);)t<0&&0===u&&0!==this[r+o+1]&&(u=1),this[r+o]=(t/f>>0)-u&255;return r+e},Buffer.prototype.writeInt8=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=255&t,r+1},Buffer.prototype.writeInt16LE=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):D(this,t,r,!0),r+2},Buffer.prototype.writeInt16BE=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):D(this,t,r,!1),r+2},Buffer.prototype.writeInt32LE=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):O(this,t,r,!0),r+4},Buffer.prototype.writeInt32BE=function(t,r,e){return t=+t,r|=0,e||C(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),Buffer.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):O(this,t,r,!1),r+4},Buffer.prototype.writeFloatLE=function(t,r,e){return M(this,t,r,!0,e)},Buffer.prototype.writeFloatBE=function(t,r,e){return M(this,t,r,!1,e)},Buffer.prototype.writeDoubleLE=function(t,r,e){return N(this,t,r,!0,e)},Buffer.prototype.writeDoubleBE=function(t,r,e){return N(this,t,r,!1,e)},Buffer.prototype.copy=function(t,r,e,n){if(e||(e=0),n||0===n||(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r=0;--i)t[i+r]=this[i+e];else if(o<1e3||!Buffer.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,e=void 0===e?this.length:e>>>0,t||(t=0);var o;if("number"==typeof t)for(o=r;o>1,c=-7,h=e?i-1:0,l=e?-1:1,p=t[r+h];for(h+=l,o=p&(1<<-c)-1,p>>=-c,c+=u;c>0;o=256*o+t[r+h],h+=l,c-=8);for(f=o&(1<<-c)-1,o>>=-c,c+=n;c>0;f=256*f+t[r+h],h+=l,c-=8);if(0===o)o=1-s;else{if(o===a)return f?NaN:1/0*(p?-1:1);f+=Math.pow(2,n),o-=s}return(p?-1:1)*f*Math.pow(2,o-n)},e.write=function(t,r,e,n,i,o){var f,u,a,s=8*o-i-1,c=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,d=n?1:-1,y=r<0||0===r&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(u=isNaN(r)?1:0,f=c):(f=Math.floor(Math.log(r)/Math.LN2),r*(a=Math.pow(2,-f))<1&&(f--,a*=2),r+=f+h>=1?l/a:l*Math.pow(2,1-h),r*a>=2&&(f++,a/=2),f+h>=c?(u=0,f=c):f+h>=1?(u=(r*a-1)*Math.pow(2,i),f+=h):(u=r*Math.pow(2,h-1)*Math.pow(2,i),f=0));i>=8;t[e+p]=255&u,p+=d,u/=256,i-=8);for(f=f<0;t[e+p]=255&f,p+=d,f/=256,s-=8);t[e+p-d]|=128*y}},{}],33:[function(t,r,e){(function(Buffer){var t,r,n,i;!function(e){function o(t,r,n){function i(t,r,e,n){return this instanceof i?g(this,t,r,e,n):new i(t,r,e,n)}function o(t){return!(!t||!t[F])}function g(t,r,e,n,i){if(E&&A&&(r instanceof A&&(r=new E(r)),n instanceof A&&(n=new E(n))),!(r||e||n||v))return void(t.buffer=h(m,0));if(!s(r,e)){var o=v||Array;i=e,n=r,e=0,r=new o(8)}t.buffer=r,t.offset=e|=0,b!==typeof n&&("string"==typeof n?x(r,e,n,i||10):s(n,i)?c(r,e,n,i):"number"==typeof i?(k(r,e+T,n),k(r,e+S,i)):n>0?O(r,e,n):n<0?L(r,e,n):c(r,e,m,0))}function x(t,r,e,n){var i=0,o=e.length,f=0,u=0;"-"===e[0]&&i++;for(var a=i;i=0))break;u=u*n+s,f=f*n+Math.floor(u/B),u%=B}a&&(f=~f,u?u=B-u:f++),k(t,r+T,f),k(t,r+S,u)}function P(){var t=this.buffer,r=this.offset,e=_(t,r+T),i=_(t,r+S);return n||(e|=0),e?e*B+i:i}function R(t){var r=this.buffer,e=this.offset,i=_(r,e+T),o=_(r,e+S),f="",u=!n&&2147483648&i;for(u&&(i=~i,o=B-o),t=t||10;;){var a=i%t*B+o;if(i=Math.floor(i/t),o=Math.floor(a/t),f=(a%t).toString(t)+f,!i&&!o)break}return u&&(f="-"+f),f}function k(t,r,e){t[r+D]=255&e,e>>=8,t[r+C]=255&e,e>>=8,t[r+Y]=255&e,e>>=8,t[r+I]=255&e}function _(t,r){return t[r+I]*U+(t[r+Y]<<16)+(t[r+C]<<8)+t[r+D]}var T=r?0:4,S=r?4:0,I=r?0:3,Y=r?1:2,C=r?2:1,D=r?3:0,O=r?l:d,L=r?p:y,M=i.prototype,N="is"+t,F="_"+N;return M.buffer=void 0,M.offset=0,M[F]=!0,M.toNumber=P,M.toString=R,M.toJSON=P,M.toArray=f,w&&(M.toBuffer=u),E&&(M.toArrayBuffer=a),i[N]=o,e[t]=i,i}function f(t){var r=this.buffer,e=this.offset;return v=null,!1!==t&&0===e&&8===r.length&&x(r)?r:h(r,e)}function u(t){var r=this.buffer,e=this.offset;if(v=w,!1!==t&&0===e&&8===r.length&&Buffer.isBuffer(r))return r;var n=new w(8);return c(n,0,r,e),n}function a(t){var r=this.buffer,e=this.offset,n=r.buffer;if(v=E,!1!==t&&0===e&&n instanceof A&&8===n.byteLength)return n;var i=new E(8);return c(i,0,r,e),i.buffer}function s(t,r){var e=t&&t.length;return r|=0,e&&r+8<=e&&"string"!=typeof t[r]}function c(t,r,e,n){r|=0,n|=0;for(var i=0;i<8;i++)t[r++]=255&e[n++]}function h(t,r){return Array.prototype.slice.call(t,r,r+8)}function l(t,r,e){for(var n=r+8;n>r;)t[--n]=255&e,e/=256}function p(t,r,e){var n=r+8;for(e++;n>r;)t[--n]=255&-e^255,e/=256}function d(t,r,e){for(var n=r+8;r {})) + ' ' +
-promiseStateToString(fulfilledPromise) + ' ' +
-promiseStateToString(rejectedPromise);
-const uncurryThis = v8.uncurryThis(function (a, b, c, d, e) {
-return (this + a + b + c + d + e) === 21;
-})(1, 2, 3, 4, 5, 6);
-return {
-privateSymbol: v8.createPrivateSymbol('sym'),
-fulfilledPromise,
-fulfilledPromise2,
-rejectedPromise,
-rejectedButHandledPromise,
-promiseStates,
-promiseIsPromise: v8.isPromise(fulfilledPromise),
-thenableIsPromise: v8.isPromise({ then() { } }),
-uncurryThis
-};
-};
-})
diff --git a/citizen/scripting/v8/timer.js b/citizen/scripting/v8/timer.js
deleted file mode 100644
index cb21068b2..000000000
--- a/citizen/scripting/v8/timer.js
+++ /dev/null
@@ -1,273 +0,0 @@
-// Timers
-
-(function(global) {
- let gameTime = Citizen.getTickCount();
-
- const timers = {};
- let timerId = 0;
- let activeTimersCount = 0;
-
- const tickers = {};
- let tickerId = 0;
- let activeTickersCount = 0;
-
- let animationFrames = [];
-
- function normalizeInterval(interval) {
- return Math.max(1, Math.min(2147483647, interval || 1)) | 0;
- }
-
- function setTimer(timer, callback, interval) {
- activeTimersCount++;
-
- timers[timer.id] = {
- callback,
- interval: normalizeInterval(interval),
- lastRun: gameTime,
- };
- }
-
- function nextTimerId() {
- const id = ++timerId;
-
- return {
- id,
- unref() {
- return this;
- },
- ref() {
- return this;
- },
- hasRef() {
- return true;
- },
- refresh() {
- const timer = timers[id];
- if (timer) {
- timer.lastRun = gameTime;
- }
- return this;
- },
- [Symbol.toPrimitive]() {
- return id;
- },
- };
- }
-
- function nextTickerId() {
- return ++tickerId;
- }
-
- function setTick(callback) {
- if (typeof callback !== 'function') {
- throw new TypeError(`Callback must be a function. Received ${callback}`);
- }
-
- const id = nextTickerId();
-
- activeTickersCount++;
-
- tickers[id] = {
- callback,
- promise: null,
- };
-
- return id;
- }
-
- function clearTick(ticker) {
- if (!ticker) {
- return;
- }
-
- if (tickers[ticker]) {
- activeTickersCount--;
- delete tickers[ticker];
- }
- }
-
- function resolveTicker(ticker) {
- if (!tickers[ticker]) {
- return;
- }
-
- tickers[ticker].promise = null;
- }
-
- function printTickerError(e) {
- printError('ticker', e);
- }
-
- function clearTimer(timer) {
- if (!timer) {
- return;
- }
-
- if (timers[timer.id]) {
- activeTimersCount--;
- delete timers[timer.id];
- }
- }
-
- function requestAnimationFrame(callback) {
- animationFrames[animationFrames.length] = callback;
- }
-
- function setInterval(callback, interval, ...argsForCallback) {
- if (typeof callback !== 'function') {
- throw new TypeError(`Callback must be a function. Received ${callback}`);
- }
-
- const id = nextTimerId();
-
- setTimer(
- id,
- function() {
- callback(...argsForCallback);
- },
- interval
- );
-
- return id;
- }
-
- function setTimeout(callback, timeout, ...argsForCallback) {
- if (typeof callback !== 'function') {
- throw new TypeError(`Callback must be a function. Received ${callback}`);
- }
-
- const id = nextTimerId();
-
- setTimer(
- id,
- function() {
- try {
- callback(...argsForCallback);
- } finally {
- clearTimer(id);
- }
- },
- timeout
- );
-
- return id;
- }
-
- function setImmediate(callback, ...argsForCallback) {
- if (typeof callback !== 'function') {
- throw new TypeError(`Callback must be a function. Received ${callback}`);
- }
-
- return setTimeout(callback, 0, ...argsForCallback);
- }
-
- function onTick(localGameTime) {
- // Process timers
- for (const timerId in timers) {
- const timer = timers[timerId];
-
- if ((localGameTime - timer.lastRun) > timer.interval) {
- try {
- timer.callback();
- } catch (e) {
- printError('timer', e);
- }
-
- timer.lastRun = localGameTime;
- }
- }
-
- // Process tickers
- for (const tickerId in tickers) {
- const ticker = tickers[tickerId];
-
- // If last call of ticker returned a promise,
- // then we should wait for it
- if (ticker.promise !== null && ticker.promise !== undefined) {
- continue;
- }
-
- let result;
- try {
- result = ticker.callback();
- } catch (e) {
- printTickerError(e);
- continue;
- }
-
- // We've got a promise!
- if (result !== undefined && result !== null && typeof result.then === 'function') {
- ticker.promise = result
- .then(resolveTicker.bind(null, tickerId))
- .catch(printTickerError);
- }
- }
-
- // Process animation frames
- if (animationFrames.length !== 0) {
- const currentAnimationFrames = animationFrames;
- animationFrames = [];
-
- let i = currentAnimationFrames.length;
-
- while (i--) {
- try {
- currentAnimationFrames[i]();
- } catch (e) {
- printError('animationFrame', e);
- }
- }
- }
-
- gameTime = localGameTime;
-
- // Manually fire callbacks that were enqueued by process.nextTick.
- // Since we override setImmediate/etc, this doesn't happen automatically.
- if (global.process && typeof global.process._tickCallback === 'function') {
- global.process._tickCallback();
- }
- }
-
- const defineGlobals = (globals) => {
- Object.defineProperties(global, Object.keys(globals).reduce((acc, name) => {
- acc[name] = {
- value: globals[name],
- writable: false,
- enumerable: true,
- configurable: false,
- };
-
- return acc;
- }, {}));
- };
-
- defineGlobals({
- setTick,
- clearTick,
- setTimeout,
- clearTimeout: clearTimer,
- setInterval,
- clearInterval: clearTimer,
- setImmediate,
- clearImmediate: clearTimer,
- requestAnimationFrame,
- });
-
- global.Citizen.setTickFunction(localGameTime => {
- if (activeTimersCount === 0 && activeTickersCount === 0 && animationFrames.length === 0) {
- gameTime = localGameTime;
-
- // Manually fire callbacks that were enqueued by process.nextTick.
- // Since we override setImmediate/etc, this doesn't happen automatically.
- if (global.process && typeof global.process._tickCallback === 'function') {
- global.process._tickCallback();
- }
-
- return;
- }
-
- global.runWithBoundaryStart(() => {
- onTick(localGameTime);
- });
- });
-})(this || window);
diff --git a/conhost-server.dll b/conhost-server.dll
index 5efbdf46a..20442ec4b 100644
Binary files a/conhost-server.dll and b/conhost-server.dll differ
diff --git a/debug-script.dll b/debug-script.dll
index d29a249ff..6b4714049 100644
Binary files a/debug-script.dll and b/debug-script.dll differ
diff --git a/devcon.dll b/devcon.dll
index 9fbd43fbc..83ccbfbc9 100644
Binary files a/devcon.dll and b/devcon.dll differ
diff --git a/http-client.dll b/http-client.dll
index 9db8f5d66..5d84073ec 100644
Binary files a/http-client.dll and b/http-client.dll differ
diff --git a/imgui.dll b/imgui.dll
index 70d6dbec7..bb4770d28 100644
Binary files a/imgui.dll and b/imgui.dll differ
diff --git a/libuv.dll b/libuv.dll
index 85e70b25a..60b03981b 100644
Binary files a/libuv.dll and b/libuv.dll differ
diff --git a/net-base.dll b/net-base.dll
index 30917fa68..3fbf48489 100644
Binary files a/net-base.dll and b/net-base.dll differ
diff --git a/net-http-server.dll b/net-http-server.dll
index e7d544aea..089a691ea 100644
Binary files a/net-http-server.dll and b/net-http-server.dll differ
diff --git a/net-tcp-server.dll b/net-tcp-server.dll
index 532982843..7093bbc40 100644
Binary files a/net-tcp-server.dll and b/net-tcp-server.dll differ
diff --git a/nng.dll b/nng.dll
index 334aa2f52..3fabf5277 100644
Binary files a/nng.dll and b/nng.dll differ
diff --git a/node.dll b/node.dll
index 7c715f5a5..8ad8b4f8a 100644
Binary files a/node.dll and b/node.dll differ
diff --git a/scrbind-base.dll b/scrbind-base.dll
index f89477fca..395c9bcdb 100644
Binary files a/scrbind-base.dll and b/scrbind-base.dll differ
diff --git a/scripting-server.dll b/scripting-server.dll
index e03a2fe3f..b1e0a87da 100644
Binary files a/scripting-server.dll and b/scripting-server.dll differ
diff --git a/server.cfg b/server.cfg
index 7e9d549f3..9898e98d7 100644
--- a/server.cfg
+++ b/server.cfg
@@ -169,8 +169,8 @@ start Seat-Switcher
start CarWipe
start EGRP-Notifications
//start AI-Vehiclelock
-start firehose
-start firehook
+//start firehose
+//start firehook
start dpemotes-master
start RageUI
start lvc
diff --git a/svadhesive.dll b/svadhesive.dll
index f5c4e5211..c6fe60a93 100644
Binary files a/svadhesive.dll and b/svadhesive.dll differ
diff --git a/vfs-core.dll b/vfs-core.dll
index 878ec2275..5d73f6314 100644
Binary files a/vfs-core.dll and b/vfs-core.dll differ
diff --git a/vfs-impl-server.dll b/vfs-impl-server.dll
index 148743a90..a68d93954 100644
Binary files a/vfs-impl-server.dll and b/vfs-impl-server.dll differ
diff --git a/voip-server-mumble.dll b/voip-server-mumble.dll
index 70b5cd085..bc7e635fd 100644
Binary files a/voip-server-mumble.dll and b/voip-server-mumble.dll differ