diff --git a/VScript-in-Mapbase.md b/VScript-in-Mapbase.md index 832bebb..65fb52c 100644 --- a/VScript-in-Mapbase.md +++ b/VScript-in-Mapbase.md @@ -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. -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) * [CAI_Expresser](VScript-in-Mapbase#CAI_Expresser) * [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` * `Convars` * `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` # 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. | | *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. | -| *handle* CreateDamageInfo(handle *inflictor*, handle *attacker*, Vector *force*, Vector *damagePos*, float *damage*, int *type*)| Creates damage info. | -| *void* DestroyDamageInfo(handle *info*)| Destroys damage info. | +| *CTakeDamageInfo* CreateDamageInfo(handle *inflictor*, handle *attacker*, Vector *force*, Vector *damagePos*, float *damage*, int *type*)| Creates damage info. | +| *void* DestroyDamageInfo(CTakeDamageInfo *info*)| Destroys damage info. | ## Entity Classes @@ -594,3 +598,35 @@ Handler for four-wheel vehicle physics. Can be accessed through `GetPhysics()` o | *float* GetHLSpeed()| Gets HL speed. | | *float* GetSteering()| Gets the 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. | \ No newline at end of file