Added matrix3x4_t

Blixibon 2020-06-11 20:03:01 -05:00
parent 3d586cc4c8
commit ca7621373f

@ -16,7 +16,7 @@ Mapbase's VScript is more limited and primitive compared to the VScript in Valve
Mapbase's implementation of VScript does **not** use any leaked code whatsoever. Mapbase's implementation of VScript does **not** use any leaked code whatsoever.
For more information on VScript itself, [click here](https://developer.valvesoftware.com/wiki/VScript) to see its article on the Valve Developer Community. See [[Using VScript as a HL2 mapper]] if you're comming to VScript as a HL2/Source 2013 mapper with no prior VScript experience. For more information on VScript itself, [click here](https://developer.valvesoftware.com/wiki/VScript) to see its article on the Valve Developer Community. See [[Using VScript as a HL2 mapper]] if you're coming to VScript as a HL2/Source 2013 mapper with no prior VScript experience.
*** ***
@ -53,6 +53,9 @@ For more information on VScript itself, [click here](https://developer.valvesoft
* [AI_EnemyInfo_t](VScript-in-Mapbase#AI_EnemyInfo_t) * [AI_EnemyInfo_t](VScript-in-Mapbase#AI_EnemyInfo_t)
* [CAI_Expresser](VScript-in-Mapbase#CAI_Expresser) * [CAI_Expresser](VScript-in-Mapbase#CAI_Expresser)
* [CFourWheelVehiclePhysics](VScript-in-Mapbase#CFourWheelVehiclePhysics) * [CFourWheelVehiclePhysics](VScript-in-Mapbase#CFourWheelVehiclePhysics)
* [Data Types](VScript-in-Mapbase#Data-Types)
* [matrix3x4_t](VScript-in-Mapbase#matrix3x4_t)
* [Global Functions](VScript-in-Mapbase#matrix3x4_t-Global-Functions)
*** ***
@ -71,6 +74,7 @@ Some features from Valve's games are not available in Mapbase's implementation o
* `Entities` * `Entities`
* `Convars` * `Convars`
* `NetProps` * `NetProps`
* `SetAngles` now takes a `Vector` instead of a separate pitch, yaw, and roll, similar to `SetOrigin`.
* In the source code, the following `IScriptVM` functions are currently unsupported: `ConnectDebugger`, `DisconnectDebugger`, `AddSearchPath`, `Frame`, `DumpState`, `SetOutputCallback`, `SetErrorCallback` * In the source code, the following `IScriptVM` functions are currently unsupported: `ConnectDebugger`, `DisconnectDebugger`, `AddSearchPath`, `Frame`, `DumpState`, `SetOutputCallback`, `SetErrorCallback`
# Tutorials # Tutorials
@ -103,8 +107,8 @@ These are functions that can be accessed globally and without a class.
| *bool* MegaPhyscannonActive()| Checks if supercharged gravity gun mode is enabled. | | *bool* MegaPhyscannonActive()| Checks if supercharged gravity gun mode is enabled. |
| *void* printc(string *text*)| Version of print() which takes a color before the message. | | *void* printc(string *text*)| Version of print() which takes a color before the message. |
| *void* printcl(string *text*)| Version of printl() which takes a color before the message. | | *void* printcl(string *text*)| Version of printl() which takes a color before the message. |
| *handle* CreateDamageInfo(handle *inflictor*, handle *attacker*, Vector *force*, Vector *damagePos*, float *damage*, int *type*)| Creates damage info. | | *CTakeDamageInfo* CreateDamageInfo(handle *inflictor*, handle *attacker*, Vector *force*, Vector *damagePos*, float *damage*, int *type*)| Creates damage info. |
| *void* DestroyDamageInfo(handle *info*)| Destroys damage info. | | *void* DestroyDamageInfo(CTakeDamageInfo *info*)| Destroys damage info. |
## Entity Classes ## Entity Classes
@ -594,3 +598,35 @@ Handler for four-wheel vehicle physics. Can be accessed through `GetPhysics()` o
| *float* GetHLSpeed()| Gets HL speed. | | *float* GetHLSpeed()| Gets HL speed. |
| *float* GetSteering()| Gets the steeering. | | *float* GetSteering()| Gets the steeering. |
| *float* GetSteeringDegrees()| Gets the degrees of steeering. | | *float* GetSteeringDegrees()| Gets the degrees of steeering. |
***
## Data Types
These are specific types of data.
***
### matrix3x4_t
A 3x4 matrix transform.
| Signature | Description |
|:------------- | :-----|
| *string* Init(*Vector* xAxis, *Vector* yAxis, *Vector* zAxis, *Vector* vecOrigin)| Creates a matrix where the X axis = forward, the Y axis = left, and the Z axis = up. |
***
#### matrix3x4_t Global Functions
| Signature | Description |
|:------------- | :-----|
| *void* ConcatTransforms(*matrix3x4_t* matrix1, *matrix3x4_t* matrix2, *matrix3x4_t* out)| Concatenates two transformation matrices into another matrix. |
| *void* MatrixCopy(*matrix3x4_t* in, *matrix3x4_t* out)| Copies a matrix to another matrix. |
| *void* MatrixInvert(*matrix3x4_t* in, *matrix3x4_t* out)| Inverts a matrix and copies the result to another matrix. |
| *void* MatricesAreEqual(*matrix3x4_t* in, *matrix3x4_t* out)| Checks if two matrices are equal. |
| *Vector* MatrixGetColumn(*matrix3x4_t* matrix, *int* column)| Gets the column of a matrix. |
| *void* MatrixSetColumn(*Vector* in, *int* column, *matrix3x4_t* matrix)| Sets the column of a matrix. |
| *void* MatrixAngles(*matrix3x4_t* matrix, *Vector* angles, *Vector* position)| Gets the angles and position of a matrix. |
| *void* AngleMatrix(*Vector* angles, *Vector* position, *matrix3x4_t* matrix)| Sets the angles and position of a matrix. |
| *void* AngleIMatrix(*Vector* angles, *Vector* position, *matrix3x4_t* matrix)| Sets the inverted angles and position of a matrix. |
| *void* SetIdentityMatrix(*matrix3x4_t* matrix)| Turns a matrix into an identity matrix. |
| *void* SetScaleMatrix(*float* x, *float* y, *float* z, *matrix3x4_t* matrix)| Scales a matrix. |