Reversed LTModel [Latest]
Code:
class CLTModel
{
public:
signed int GetSocket2(LTObject *hObj, const char *pSocketName, HMODELSOCKET &hSocket)
{
/*!
\param hObj Model Reference.
\param pSocketName name of the socket to be fetched.
\param hSocket return parameter of socket handle.
\return \b LT_NOTINITIALIZED if the Model Reference is invalid.
\b LT_NOTFOUND if socket it not found in the model eference.
Method used to get sockets handles from models by name.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetSocket2Fn)(void*, LTObject *hObj, const char *pSocketName, HMODELSOCKET &hSocket);
return GetVFunc<GetSocket2Fn>(this, 6)(this, hObj, pSocketName, hSocket);
}
signed int GetSocket(LTObject *hObj, const char *pSocketName, HMODELSOCKET &hSocket)
{
/*!
\param hObj Model Reference.
\param pSocketName name of the socket to be fetched.
\param hSocket return parameter of socket handle.
\return \b LT_NOTINITIALIZED if the Model Reference is invalid.
\b LT_NOTFOUND if socket it not found in the model eference.
Method used to get sockets handles from models by name.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetSocketFn)(void*, LTObject *hObj, const char *pSocketName, HMODELSOCKET &hSocket);
return GetVFunc<GetSocketFn>(this, 7)(this, hObj, pSocketName, hSocket);
}
signed int GetSocketTransform(LTObject *hObj, HMODELSOCKET hSocket, Transform &transform, bool bWorldSpace)
{
/*!
\param hObj Model instance handle.
\param hSocket Socket instance handle.
\param transform Transform
\param bWorldSpace What space the transform is in in relation to parent, true is in world space, false the transform
is local to model space.
\return \b LT_OK if operation succeeded.
\b LT_ERROR one of these caused the error :
1. The transform hierarchy has become invalid, by having a transformation that
is not invertable.
2. the socket is invalid.
\b LT_NOTINITIALIZED if there is no model associated with hObj.
Fill \b pos and \b rot with the current transform for the socket. If
\b bWorldSpace is \b TRUE, then the transform is returned in world
space. Otherwise, the transform is local to the model (based on its
position and rotation).
\note This is potentially an expensive process: the model's animation has to be (partially)
revaluated for every call to get GetSocketTransform. If this function is going to be called
a lot, consider caching the animation data by enabling the transformation cache.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetSocketTransformFn)(void*, LTObject *hObj, HMODELSOCKET hSocket, Transform &transform, bool bWorldSpace);
return GetVFunc<GetSocketTransformFn>(this, 8)(this, hObj, hSocket, transform, bWorldSpace);
}
signed int GetPiece(LTObject *hObj, const char *pPieceName, HMODELPIECE &hPiece)
{
/*!
\param hObj Model instance reference.
\param pPieceName name of model piece.
\param hPiece return param handle.
\return \b LT_OK is success .
\b LT_NOTINITIALIZED if there is no model associated with hObj.
\b LT_NOTFOUND if the requested piece does not exist.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetPieceFn)(void*, LTObject *hObj, const char *pPieceName, HMODELPIECE &hPiece);
return GetVFunc<GetPieceFn>(this, 10)(this, hObj, pPieceName, hPiece);
}
signed int GetPieceHideStatus(LTObject *hObj, HMODELPIECE hPiece, bool &bHidden)
{
/*!
\param hObj Model instance handle.
\param hPiece Piece instance handle.
\param bHidden return parameter on hidden status.
\return \b LT_OK is success .
\b LT_INVALIDPARAMS if hObj is not associated with an OT_MODEL
Discover whether a piece on the model is hidden. Only supports the
first \em 32 pieces in the model. SetPieceHideStatus() returns
\b LT_NOCHANGE if the piece is already hidden (not an error).
\see SetPieceHideStatus()
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetPieceHideStatusFn)(void*, LTObject *hObj, HMODELPIECE hPiece, bool &bHidden);
return GetVFunc<GetPieceHideStatusFn>(this, 11)(this, hObj, hPiece, bHidden);
}
signed int SetPieceHideStatus(LTObject *hObj, HMODELPIECE hPiece, bool bHidden)
{
/*!
\param hObj Model instance handle.
\param hPiece Model piece instance handle.
\param bHidden true/false param to switch the hidden status of piece.
\return \b LT_OK is success .
\b LT_INVALIDPARAMS if hObj is not associated with an OT_MODEL
\b LT_NOCHANGE piece already hidden.
Hide or unhide a piece on the model (they are all unhidden by
default). Only supports the first \em 32 pieces in the model.
SetPieceHideStatus() returns \b LT_NOCHANGE if the piece is already
hidden (not an error).
\see GetPieceHideStatus()
Used for: Models and Animation.
*/
typedef signed int(__thiscall* SetPieceHideStatusFn)(void*, LTObject *hObj, HMODELPIECE hPiece, bool bHidden);
return GetVFunc<SetPieceHideStatusFn>(this, 12)(this, hObj, hPiece, bHidden);
}
signed int GetNode(LTObject *hObj, const char *pNodeName, UINT &hNode)
{
/*!
\param hObj Model instance name.
\param pNodeName name of node in the model's model transformation hierarchy.
\param hNode return param holding a handle to node.
\return \b LT_OK on success
\b LT_INVALIDPARAMS if hObj is not an OT_MODEL
\b LT_NOTINITIALIZED if hObj is not currently associated with a model.
\b LT_NOTFOUND if the requested node is not found.
Get a handle on named node.
\see GetNodeTransform
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetNodeFn)(void*, LTObject *hObj, const char *pNodeName, UINT &hNode);
return GetVFunc<GetNodeFn>(this, 13)(this, hObj, pNodeName, hNode);
}
signed int GetNodeName(LTObject *hObj, UINT hNode, char *name, unsigned int maxlen)
{
/*!
\param hObject Model to query.
\param hNode Node to query.
\param pName (return) Buffer to hold name.
\param maxLen Length of buffer.
\return \b LT_INVALIDPARAMS if a parameter is null, else \b LT_OK
Get the name of a model transformation node.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetNodeNameFn)(void*, LTObject *hObj, UINT hNode, char *name, unsigned int maxlen);
return GetVFunc<GetNodeNameFn>(this, 14)(this, hObj, hNode, name, maxlen);
}
signed int GetNodeTransform(LTObject *hObj, UINT hNode, Transform* transform, bool bWorldSpace)
{
/*!
\param hObj Model instance handle.
\param hNode Model node handle.
\param transform transform
\param bWorldSpace
\return \b LT_OK on success
\b LT_INVALIDPARAMS if hObj is not an OT_MODEL
\b LT_NOTINITIALIZED if hObj is not currently associated with a model.
\b LT_ERROR if
a) The transform hierarchy could not be evaluated for the model
b) The resultant transformation is invalid.
Get the transformation for a node on a model. If \b bWorldSpace is \b
TRUE, then the transform is returned in world space. Otherwise, the
transform is local to the model.
\see GetNode
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetNodeTransformFn)(void*, LTObject *hObj, UINT hNode, Transform* transform, bool bWorldSpace);
return GetVFunc<GetNodeTransformFn>(this, 15)(this, hObj, hNode, transform, bWorldSpace);
}
signed int GetNextNode(LTObject *hObj, unsigned int hNode, unsigned int &pNext)
{
/*!
\param hObject Model Instance.
\param hNode Current node. Use \b INVALID_MODEL_NODE to get first node.
\param pNext (return) Next node in list. \b LT_FINISHED means the end of the list.
\return \b LT_FINISHED when there are no more; otherwise, returns \b LT_OK.
Iterate through the nodes of the model. The order of the nodes is as if the
hierarchy was traversed using pre-order traversal.
\par Example:
\code
HMODELNODE hCurNode = INVALID_MODEL_NODE;
while (interface->GetNextModelNode(hModel, hCurNode, &hCurNode) == LT_OK)
{ ... }
\endcode
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetNextNodeFn)(void*, LTObject *hObj, unsigned int hNode, unsigned int &pNext);
return GetVFunc<GetNextNodeFn>(this, 16)(this, hObj, hNode, pNext);
}
signed int GetNumChildren(LTObject *hObj, unsigned int hNode, unsigned int &NumChildren)
{
/*!
\param hObj ModelInstance handle
\param hNode a handle to the node
\param NumChildren return value of query.
\return \bLT_INVALIDPARAMS if object is either invalid, or not an OT_MODEL
Returns the number of children this node has. If it is a leaf in the transform hierarchy
the value will be zero.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetNumChildrenFn)(void*, LTObject *hObj, unsigned int hNode, unsigned int &NumChildren);
return GetVFunc<GetNumChildrenFn>(this, 18)(this, hObj, hNode, NumChildren);
}
signed int GetChild(LTObject *hObj, unsigned int parent, unsigned int index, unsigned int &child)
{
/*!
\param hObj ModelInstance handle
\param hNode a handle to the parent node
\param index
\param NumChildren return value of query.
\return \bLT_INVALIDPARAMS if object is either invalid, or not an OT_MODEL
GetChild returns a handle to the nth child of parent indicated.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetChildFn)(void*, LTObject *hObj, unsigned int parent, unsigned int index, unsigned int &child);
return GetVFunc<GetChildFn>(this, 19)(this, hObj, parent, index, child);
}
signed int GetParent(LTObject *hObj, unsigned int node, unsigned int &parent)
{
/*!
\param hObj ModelInstance handle
\param hNode a handle to the node
\param parent a handle to the parent of the node.
\return \bLT_INVALIDPARAMS if object is either invalid, or not an OT_MODEL
Given a node, return a handle to its parent. The value INVALID_MODEL_NODE will
be returned if the node is the root node.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetParentFn)(void*, LTObject *hObj, unsigned int node, unsigned int &parent);
return GetVFunc<GetParentFn>(this, 20)(this, hObj, node, parent);
}
signed int GetNumNodes(LTObject *hObj, unsigned int &num_nodes)
{
/*!
\param hObj ModelInstance handle
\param NumNodes return value.
\return \bLT_INVALIDPARAMS if object is either invalid, or not an OT_MODEL
Returns the number of transformation nodes the model has.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetNumNodesFn)(void*, LTObject *hObj, unsigned int &num_nodes);
return GetVFunc<GetNumNodesFn>(this, 21)(this, hObj, num_nodes);
}
/*signed int SetNodeControlFn(LTObject *hObj)
{
typedef signed int(__thiscall* SetNodeControlFn)(void*, LTObject *hObj);
return GetVFunc<SetNodeControlFn>(this, 26)(this, hObj);
}*/
signed int UpdateMainTracker(LTObject *hObj, float fUpdateDelta)
{
/*!
\param pObj Model Instance handle.
\param fUpdateDelta time in miliseconds.
\return \b LT_INVALIDPARAMS on invalid hObj, otherwise \b LT_OK.
Update the main anim tracker by \b fUpdateDelta seconds (This is useful
for updating the animation on a model outside of a client update.)
Used for: Models and Animation.
*/
typedef signed int(__thiscall* UpdateMainTrackerFn)(void*, LTObject *hObj, float fUpdateDelta);
return GetVFunc<UpdateMainTrackerFn>(this, 27)(this, hObj, fUpdateDelta);
}
/*signed int GetCurAnimNameAndKeyString(LTObject *hObj)
{
typedef signed int(__thiscall* GetCurAnimNameAndKeyStringFn)(void*, LTObject *hObj);
return GetVFunc<GetCurAnimNameAndKeyStringFn>(this, 30)(this, hObj);
}*/
signed int GetWeightSet2(LTObject *hObj, ANIMTRACKERID TrackerID, HMODELWEIGHTSET &hSet)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier
\param hSet Model animation blending weight set handle.
\return \b LT_OK operation succeeded.
\b LT_INVALIDPARAMS TrackerID is invalid
\b LT_INVALIDVERSION if \em not using SMP networking
Get the weight set for this tracker.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetWeightSetFn)(void*, LTObject *hObj, ANIMTRACKERID TrackerID, HMODELWEIGHTSET &hSet);
return GetVFunc<GetWeightSetFn>(this, 31)(this, hObj, TrackerID, hSet);
}
signed int GetPlaybackState(LTObject *hObj, ANIMTRACKERID TrackerID, uint32 &flags)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier.
\param flags state flags.
\return \b LT_INVALIDPARAMS on invalid hModel, \b LT_INVALIDVERSION if \em not using SMP networking, otherwise \b LT_OK.
Fills in flags with a combination of the \b MS_ flags in basedefs_de.h.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetPlaybackStateFn)(void*, LTObject *hObj, ANIMTRACKERID TrackerID, uint32 &flags);
return GetVFunc<GetPlaybackStateFn>(this, 33)(this, hObj, TrackerID, flags);
}
signed int AddTracker(LTObject *hObj, ANIMTRACKERID TrackerID)
{
/*!
\param hModel Model instance handle.
\param hModel handle to a model.
\param TrackerID Animation tracker identifier to be associated with new tracker.
\return \b LT_INVALIDPARAMS on invalid hModel,
\b LT_OVERFLOW if there are already \b MAX_TRACKERS_PER_MODEL attached,
\b LT_INVALIDVERSION if \em not using SMP networking,
\b LT_ALREADYEXISTS if the TrackerID is already in use for the model instance,
otherwise \b LT_OK.
Add trackers on the model.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* AddTrackerFn)(void*, LTObject *hObj, ANIMTRACKERID TrackerID);
return GetVFunc<AddTrackerFn>(this, 34)(this, hObj, TrackerID);
}
signed int RemoveTracker(LTObject *hObj, ANIMTRACKERID TrackerID)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier associated with tracker to remove.
\return \b LT_INVALIDPARAMS on invalid hModel or if you try to remove the main tracker, \b LT_INVALIDVERSION if \em not using SMP networking, \b LT_NOTFOUND if TrackerID not in use for the model instance; otherwise \b LT_OK.
Remove trackers on the model.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* RemoveTrackerFn)(void*, LTObject *hObj, ANIMTRACKERID TrackerID);
return GetVFunc<RemoveTrackerFn>(this, 35)(this, hObj, TrackerID);
}
signed int GetAnimIndex(LTObject *hObj, const char *pAnimName, unsigned int &anim_index)
{
/*!
\param hModel Model instance handle.
\param pAnimName Name of the animation
\param anim_index return value: index of animation in model database.
\return \b LT_INVALIDPARAMS on invalid hModel, or if there is no model database associated with hmodel.
\b LT_OK
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetAnimIndexFn)(void*, LTObject *hObj, const char *pAnimName, unsigned int &anim_index);
return GetVFunc<GetAnimIndexFn>(this, 36)(this, hObj, pAnimName, anim_index);
}
signed int GetCurAnim(LTObject *hObj, ANIMTRACKERID TrackerID, HMODELANIM &Index)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier.
\param hAnim animation handle.
\return \b LT_INVALIDPARAMS on invalid TrackerID, \b LT_INVALIDVERSION if \em not using SMP networking, otherwise \b LT_OK.
Get the current animation for the tracker.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetCurAnimFn)(void*, LTObject *hObj, ANIMTRACKERID TrackerID, HMODELANIM &Index);
return GetVFunc<GetCurAnimFn>(this, 38)(this, hObj, TrackerID, Index);
}
signed int SetCurAnim(LTObject *hObj, UINT8 TrackerID, UINT8 Index)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier.
\param hAnim Animation Handle
\return \b LT_INVALIDPARAMS on invalid TrackerID, \b LT_INVALIDVERSION if \em not using SMP networking, otherwise \b LT_OK.
Set the current animation for the tracker.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* SetCurAnimFn)(void*, LTObject *hObj, UINT8 TrackerID, UINT8 Index);
return GetVFunc<SetCurAnimFn>(this, 39)(this, hObj, TrackerID, Index);
}
signed int ResetAnim(LTObject *hObj, UINT8 TrackerID)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier.
\return \b LT_INVALIDVERSION if \em not using SMP networking, otherwise LT_OK
Resets all animation to first frame.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* ResetAnimFn)(void*, LTObject *hObj, UINT8 TrackerID);
return GetVFunc<ResetAnimFn>(this, 40)(this, hObj, TrackerID);
}
signed int GetLooping(LTObject *hObj, UINT8 TrackerID)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier.
\return \b LT_NO if not looping, or an error, \b LT_INVALIDVERSION if \em not using SMP networking; otherwise, returns \b LT_YES.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetLoopingFn)(void*, LTObject *hObj, UINT8 TrackerID);
return GetVFunc<GetLoopingFn>(this, 41)(this, hObj, TrackerID);
}
signed int SetLooping(LTObject *hObj, UINT8 TrackerID, bool bLooping)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier.
\param bLooping looping flag, \b LT_YES loops, \b LT_NO, stops looping.
\return \b LT_INVALIDVERSION if \em not using SMP networking, otherwise \b LT_OK
Set whether the current animation on this tracker is looping.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* SetLoopingFn)(void*, LTObject *hObj, UINT8 TrackerID, bool bLooping);
return GetVFunc<SetLoopingFn>(this, 42)(this, hObj, TrackerID, bLooping);
}
signed int GetPlaying(LTObject *hObj, UINT8 TrackerID)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier.
\return \b LT_NO if not Playing, or an error, \b LT_INVALIDVERSION if \em not using SMP networking; otherwise, returns \b LT_YES.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetPlayingFn)(void*, LTObject *hObj, UINT8 TrackerID);
return GetVFunc<GetPlayingFn>(this, 43)(this, hObj, TrackerID);
}
signed int SetPlaying(LTObject *hObj, UINT8 TrackerID, bool bPlaying)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier of choice.
\param bPlaying boolean flag, true sets animtracker to play, false to not play.
\return \b LT_INVALIDPARAMS if TrackerID is invalid, \b LT_INVALIDVERSION if \em not using SMP networking, otherwise, returns \b LT_OK.
Set whether this tracker is playing its animation.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* SetPlayingFn)(void*, LTObject *hObj, UINT8 TrackerID, bool bPlaying);
return GetVFunc<SetPlayingFn>(this, 44)(this, hObj, TrackerID, bPlaying);
}
signed int GetCurAnimLength(LTObject *hObj, UINT8 TrackerID, unsigned int &length)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier of choice.
\param length the length in miliseconds of the animation.
\return \b LT_OK operation succeeded.
\b LT_INVALIDPARAMS if TrackerID is null.
\b LT_NOTINITIALIZED if the TrackerID is not currently associated with animation data.
\b LT_INVALIDVERSION if \em not using SMP networking.
Get the length of the current animation (in milliseconds).
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetCurAnimLengthFn)(void*, LTObject *hObj, UINT8 TrackerID, unsigned int &length);
return GetVFunc<GetCurAnimLengthFn>(this, 45)(this, hObj, TrackerID, length);
}
signed int GetCurAnimTime(LTObject *hObj, UINT8 TrackerID, unsigned int &curTime)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier of choice.
\param length the length in miliseconds of the animatoin.
\return \b LT_OK operation succeeded.
\b LT_INVALIDPARAMS if TrackerID is null.
\b LT_NOTINITIALIZED if the TrackerID is not currently associated with animation data.
\b LT_INVALIDVERSION if \em not using SMP networking.
Get the length of the current animation (in milliseconds).
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetCurAnimTimeFn)(void*, LTObject *hObj, UINT8 TrackerID, unsigned int &curTime);
return GetVFunc<GetCurAnimTimeFn>(this, 46)(this, hObj, TrackerID, curTime);
}
signed int SetCurAnimTime(LTObject *hObj, UINT8 TrackerID, unsigned int curTime)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier of choice.
\param curTime time in miliseconds
\return \b LT_OK or if TrackerID is invalid
\b LT_INVALID_PARAMS if TrackerID is null
\b LT_NOTINITIALIZED if the TrackerID is not currently associated with animation data
\b LT_INVALIDVERSION if \em not using SMP networking.
Moves the animation's current time to curTime.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* SetCurAnimTimeFn)(void*, LTObject *hObj, UINT8 TrackerID, unsigned int curTime);
return GetVFunc<SetCurAnimTimeFn>(this, 47)(this, hObj, TrackerID, curTime);
}
signed int SetAnimRate(LTObject *hObj, UINT8 TrackerID, float fRate)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier
\param rate a float value indicating the rate modifier on the animation.
\return \b LT_OK
\b LT_INVALID_PARAMS. if TrackerID is invalid
\b LT_INVALIDVERSION if \em not using SMP networking
Sets the current rate of change between frames. Zero rate would stop the animation. Minus one, runs the animation backwards. This is effects only the rate during updates.
Functional area: Model Animations.
*/
typedef signed int(__thiscall* SetAnimRateFn)(void*, LTObject *hObj, UINT8 TrackerID, float fRate);
return GetVFunc<SetAnimRateFn>(this, 49)(this, hObj, TrackerID, fRate);
}
signed int GetAnimRate(LTObject *hObj, UINT8 TrackerID, float &fRate)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier
\param rate a float return value indicating the rate modifier on the animation.
\return \b LT_INVALID_PARAMS if TrackerID is invalid, \b LT_INVALIDVERSION if \em not using SMP networking; otherwise, returns LT_OK.
Gets the current rate of change between frames.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetAnimRateFn)(void*, LTObject *hObj, UINT8 TrackerID, float &fRate);
return GetVFunc<GetAnimRateFn>(this, 50)(this, hObj, TrackerID, fRate);
}
signed int GetWeightSet(LTObject *hObj, ANIMTRACKERID TrackerID, HMODELWEIGHTSET &hSet)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier
\param hSet Model animation blending weight set handle.
\return \b LT_OK operation succeeded.
\b LT_INVALIDPARAMS TrackerID is invalid
\b LT_INVALIDVERSION if \em not using SMP networking
Get the weight set for this tracker.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* GetWeightSetFn)(void*, LTObject *hObj, ANIMTRACKERID TrackerID, HMODELWEIGHTSET &hSet);
return GetVFunc<GetWeightSetFn>(this, 51)(this, hObj, TrackerID, hSet);
}
signed int SetWeightSet(LTObject *hObj, ANIMTRACKERID TrackerID, HMODELWEIGHTSET hSet)
{
/*!
\param hModel Model instance handle.
\param TrackerID Animation tracker identifier
\param hSet Model animation blending weight set handle.
\return \b LT_OK operation succeeded.
\b LT_INVALIDPARAMS TrackerID is invalid
\b LT_INVALIDVERSION if \em not using SMP networking
Set the animation blending weight set for this tracker.
Used for: Models and Animation.
*/
typedef signed int(__thiscall* SetWeightSetFn)(void*, LTObject *hObj, ANIMTRACKERID TrackerID, HMODELWEIGHTSET hSet);
return GetVFunc<SetWeightSetFn>(this, 52)(this, hObj, TrackerID, hSet);
}
signed int GetNumLODs(LTObject *hObj, HMODELPIECE hPiece, uint32 &num_lods)
{
/*!
\param hModel, model instance handle.
\param hPiece, piece handle
\param NumLODs, return value, number of lods in the piece indicated.
\return \b LT_OK operation succeeded.
\b LT_ERROR if hpiece is invalid.
\b LT_INVALIDPARAMS hModel or hPiece is not valid.
\b LT_FAIL if operation failed for some other reason.
Returns the number of level of detail geometries the model piece has.
Used for: Models and Animation
*/
typedef signed int(__thiscall* GetNumLODsFn)(void*, LTObject *hObj, HMODELPIECE hPiece, uint32 &num_lods);
return GetVFunc<GetNumLODsFn>(this, 53)(this, hObj, hPiece, num_lods);
}
signed int ApplyAnimations(LTObject *hObj)
{
/*!
\param hModel, model instance handle
\returns \bLT_OK, \bLT_ERROR
Just update the current transformation in regards to the current animation state.
*/
typedef signed int(__thiscall* ApplyAnimationsFn)(void*, LTObject *hObj);
return GetVFunc<ApplyAnimationsFn>(this, 55)(this, hObj);
}
signed int GetModelOBBCopy(LTObject *hObj, ModelOBB * hOBB)
{
/*
\param hOjb model to get obbs from
\param modelobb obb buffer into which the internal obbs will be copied to.
Get obbs, this fills an array with copies of the internal obbs. The OBB's space
will be in the binding pose.
*/
typedef signed int(__thiscall* GetModelOBBCopyFn)(void*, LTObject *hObj, ModelOBB * hOBB);
return GetVFunc<GetModelOBBCopyFn>(this, 61)(this, hObj, hOBB);
}
};
» Geopulse
» Nancy (낸시)
» hkchenme
» ReClass
» ImGui
» Luizimloko
» NetworkFPS
» Dyon
» Aslan
» Hoàng Skyht
» Ngô Phong
» vaisefud3