Latest Reversed ILTModel Functions

Posts 1–4 of 4 · Page 1 of 1
Latest Reversed ILTModel Functions

Hi again

I'm going to share ILTModel Functions with you

Code:
class ILTModel
{
public:
	LTRESULT GetPiece(HOBJECT hObj, const char *pPieceName, HMODELPIECE &hPiece) //0x0028 
	{
		typedef LTRESULT(__thiscall* GetPieceFn)(void*, HOBJECT hObj, const char *pPieceName, HMODELPIECE &hPiece);
		return GetVFunc<GetPieceFn>(this, 10)(this, hObj, pPieceName, hPiece);
	}
	LTRESULT GetPieceHideStatus(HOBJECT hObj, HMODELPIECE hPiece, bool &bHidden) //0x002C 
	{
		typedef LTRESULT(__thiscall* GetPieceHideStatusFn)(void*, HOBJECT hObj, HMODELPIECE hPiece, bool &bHidden);
		return GetVFunc<GetPieceHideStatusFn>(this, 11)(this, hObj, hPiece, bHidden);
	}
	LTRESULT SetPieceHideStatus(HOBJECT hObj, HMODELPIECE hPiece, bool bHidden)
	{
		typedef LTRESULT(__thiscall* SetPieceHideStatusFn)(void*, HOBJECT hObj, HMODELPIECE hPiece, bool bHidden);
		return GetVFunc<SetPieceHideStatusFn>(this, 12)(this, hObj, hPiece, bHidden);
	}
	LTRESULT GetNode(HOBJECT hObj, const char *pNodeName, HMODELNODE &hNode) //0x0034
	{
		typedef LTRESULT(__thiscall* GetNodeFn)(void*, HOBJECT hObj, const char *pNodeName, HMODELNODE &hNode);
		return GetVFunc<GetNodeFn>(this, 13)(this, hObj, pNodeName, hNode);
	}
	LTRESULT GetNodeName(HOBJECT hObj, HMODELNODE hNode, char *name, uint32 maxlen) //0x0038
	{
		typedef LTRESULT(__thiscall* GetNodeNameFn)(void*, HOBJECT hObj, HMODELNODE hNode, char *name, uint32 maxlen);
		return GetVFunc<GetNodeNameFn>(this, 14)(this, hObj, hNode, name, maxlen);
	}
	LTRESULT GetNodeTransform(HOBJECT hObj, HMODELNODE hNode, LTransform &transform, bool bWorldSpace) //0x003C
	{
		typedef LTRESULT(__thiscall* GetNodeTransformFn)(void*, HOBJECT hObj, HMODELNODE hNode, LTransform &transform, bool bWorldSpace);
		return GetVFunc<GetNodeTransformFn>(this, 15)(this, hObj, hNode, transform, bWorldSpace);
	}
	LTRESULT GetNumChildren(HOBJECT hObj, HMODELNODE hNode, uint32 &NumChildren) //0x0048 
	{
		typedef LTRESULT(__thiscall* GetNumChildrenFn)(void*, HOBJECT hObj, HMODELNODE hNode, uint32 &NumChildren);
		return GetVFunc<GetNumChildrenFn>(this, 18)(this, hObj, hNode, NumChildren);
	}
	LTRESULT GetChild(HOBJECT hObj, HMODELNODE parent, uint32 index, HMODELNODE &child) //0x004C 
	{
		typedef LTRESULT(__thiscall* GetChildFn)(void*, HOBJECT hObj, HMODELNODE parent, uint32 index, HMODELNODE &child);
		return GetVFunc<GetChildFn>(this, 19)(this, hObj, parent, index, child);
	}
	LTRESULT GetParent(HOBJECT hObj, HMODELNODE node, HMODELNODE &parent) //0x0050 
	{
		typedef LTRESULT(__thiscall* GetParentFn)(void*, HOBJECT hObj, HMODELNODE node, HMODELNODE &parent);
		return GetVFunc<GetParentFn>(this, 20)(this, hObj, node, parent);
	}
	LTRESULT GetNumNodes(HOBJECT hObj, uint32 &num_nodes) //0x0058 
	{
		typedef LTRESULT(__thiscall* GetNumNodesFn)(void*, HOBJECT hObj, uint32 &num_nodes);
		return GetVFunc<GetNumNodesFn>(this, 22)(this, hObj, num_nodes);
	}
	LTRESULT UpdateMainTracker(HOBJECT hObj, float fUpdateDelta) //0x006C 
	{
		typedef LTRESULT(__thiscall* UpdateMainTrackerFn)(void*, HOBJECT hObj, float fUpdateDelta);
		return GetVFunc<UpdateMainTrackerFn>(this, 27)(this, hObj, fUpdateDelta);
	}
	LTRESULT GetCurAnimLength(HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &length) //0x0074 
	{
		typedef LTRESULT(__thiscall* GetCurAnimLengthFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &length);
		return GetVFunc<GetCurAnimLengthFn>(this, 29)(this, hModel, TrackerID, length);
	}
	LTRESULT GetWeightSet( HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELWEIGHTSET &hSet) //0x007C 
	{
		typedef LTRESULT(__thiscall* GetWeightSetFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELWEIGHTSET &hSet);
		return GetVFunc<GetWeightSetFn>(this, 31)(this, hModel, TrackerID, hSet);
	}
	LTRESULT GetPlaybackState(HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &flags) //0x0084 
	{
		typedef LTRESULT(__thiscall* GetPlaybackStateFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &flags);
		return GetVFunc<GetPlaybackStateFn>(this, 33)(this, hModel, TrackerID, flags);
	}
    LTRESULT AddTracker(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x0088 
	{
		typedef LTRESULT(__thiscall* AddTrackerFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<AddTrackerFn>(this, 34)(this, hModel, TrackerID);
	}
	LTRESULT RemoveTracker(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x008C
	{
		typedef LTRESULT(__thiscall* RemoveTrackerFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<RemoveTrackerFn>(this, 35)(this, hModel, TrackerID);
	}
	LTRESULT GetAnimIndex(HOBJECT hModel, const char *pAnimName, uint32 & anim_index) //0x0090 
	{
		typedef LTRESULT(__thiscall* GetAnimIndexFn)(void*, HOBJECT hModel, const char *pAnimName, uint32 & anim_index);
		return GetVFunc<GetAnimIndexFn>(this, 36)(this, hModel, pAnimName, anim_index);
	}
	LTRESULT GetCurAnim(HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELANIM &hAnim) //0x0098 
	{
		typedef LTRESULT(__thiscall* GetCurAnimFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELANIM &hAnim);
		return GetVFunc<GetCurAnimFn>(this, 38)(this, hModel, TrackerID, hAnim);
	}
	LTRESULT ResetAnim(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x00A0 
	{
		typedef LTRESULT(__thiscall* ResetAnimFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<ResetAnimFn>(this, 40)(this, hModel, TrackerID);
	}
	LTRESULT GetLooping(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x00A4 
	{
		typedef LTRESULT(__thiscall* GetLoopingFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<GetLoopingFn>(this, 41)(this, hModel, TrackerID);
	}
	LTRESULT SetLooping(HOBJECT hModel, ANIMTRACKERID TrackerID, bool bLooping) //0x00A8 
	{
		typedef LTRESULT(__thiscall* SetLoopingFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, bool bLooping);
		return GetVFunc<SetLoopingFn>(this, 42)(this, hModel, TrackerID, bLooping);
	}
	LTRESULT GetPlaying(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x00AC 
	{
		typedef LTRESULT(__thiscall* GetPlayingFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<GetPlayingFn>(this, 43)(this, hModel, TrackerID);
	}
	LTRESULT SetPlaying(HOBJECT hModel, ANIMTRACKERID TrackerID, bool bPlaying) //0x00B0 
	{
		typedef LTRESULT(__thiscall* SetPlayingFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, bool bPlaying);
		return GetVFunc<SetPlayingFn>(this, 44)(this, hModel, TrackerID, bPlaying);
	}
	LTRESULT GetCurAnimTime(HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &curTime) //0x00B8 
	{
		typedef LTRESULT(__thiscall* GetCurAnimTimeFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &curTime);
		return GetVFunc<GetCurAnimTimeFn>(this, 46)(this, hModel, TrackerID, curTime);
	}
	LTRESULT SetCurAnimTime( HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 curTime) //0x00C0 
	{
		typedef LTRESULT(__thiscall* SetCurAnimTimeFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &curTime);
		return GetVFunc<SetCurAnimTimeFn>(this, 48)(this, hModel, TrackerID, curTime);
	}
	LTRESULT SetAnimRate(HOBJECT hModel, ANIMTRACKERID TrackerID, float fRate) //0x00C4 
	{
		typedef LTRESULT(__thiscall* SetAnimRateFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, float fRate);
		return GetVFunc<SetAnimRateFn>(this, 49)(this, hModel, TrackerID, fRate);
	}
	LTRESULT GetAnimRate(HOBJECT hModel, ANIMTRACKERID TrackerID, float &fRate) //0x00C8 
	{
		typedef LTRESULT(__thiscall* GetAnimRateFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, float fRate);
		return GetVFunc<GetAnimRateFn>(this, 50)(this, hModel, TrackerID, fRate);
	}
	LTRESULT SetWeightSet(HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELWEIGHTSET hSet) //0x00D0 
	{
		typedef LTRESULT(__thiscall* SetWeightSetFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELWEIGHTSET hSet);
		return GetVFunc<SetWeightSetFn>(this, 52)(this, hModel, TrackerID, hSet);
	}
	LTRESULT GetNumLODs(HOBJECT hModel, HMODELPIECE hPiece, uint32 &num_lods) //0x00D4 
	{
		typedef LTRESULT(__thiscall* GetNumLODsFn)(void*, HOBJECT hModel, HMODELPIECE hPiece, uint32 &num_lods);
		return GetVFunc<GetNumLODsFn>(this, 53)(this, hModel, hPiece, num_lods);
	}
	LTRESULT GetLODValFromDist(HOBJECT hModel, HMODELPIECE hPiece, float dist, uint32 &lod_index) //0x00D8 
	{
		typedef LTRESULT(__thiscall* GetLODValFromDistFn)(void*, HOBJECT hModel, HMODELPIECE hPiece, float dist, uint32 &lod_index);
		return GetVFunc<GetLODValFromDistFn>(this, 54)(this, hModel, hPiece, dist, lod_index);
	}
	LTRESULT ApplyAnimations(HOBJECT hModel) //0x00DC 
	{
		typedef LTRESULT(__thiscall* ApplyAnimationsFn)(void*, HOBJECT hModel);
		return GetVFunc<ApplyAnimationsFn>(this, 55)(this, hModel);
	}
	LTRESULT GetFilenames(HOBJECT hObj, char *pFilename, uint32 fileBufLen, char *pSkinName, uint32 skinBufLen)
	{
		typedef LTRESULT(__thiscall* GetFilenamesFn)(void*, HOBJECT hObj, char *pFilename, uint32 fileBufLen, char *pSkinName, uint32 skinBufLen);
		return GetVFunc<GetFilenamesFn>(this, 56)(this, hObj, pFilename, fileBufLen, pSkinName, skinBufLen);
	}
	LTRESULT GetNumModelOBBs(HOBJECT hObj, uint32 & num_obbs) //0x00EC 
	{
		typedef LTRESULT(__thiscall* GetNumModelOBBsFn)(void*, HOBJECT hObj, uint32 & num_obbs);
		return GetVFunc<GetNumModelOBBsFn>(this, 59)(this, hObj, num_obbs);
	}
	LTRESULT GetModelOBBCopy(HOBJECT hObj, ModelOBB *name_obb) //0x00F0 
	{
		typedef LTRESULT(__thiscall* GetModelOBBCopyFn)(void*, HOBJECT hObj, ModelOBB *name_obb);
		return GetVFunc<GetModelOBBCopyFn>(this, 60)(this, hObj, name_obb);
	}
	LTRESULT GetRenderStyle(HOBJECT hModel, uint32 hPiece, CRenderStyle** ppRenderStyle)//0x0134
	{
		typedef LTRESULT(__thiscall* GetRenderStyleFn)(void*, HOBJECT hModel, uint32 hPiece, CRenderStyle** ppRenderStyle);
		return GetVFunc<GetRenderStyleFn>(this, 77)(this, hModel, hPiece, ppRenderStyle);
	}
	LTRESULT SetRenderStyle(HOBJECT pModel, uint32 hPiece, CRenderStyle* pRenderStyle)//0x0138
	{
		typedef LTRESULT(__thiscall* SetRenderStyleFn)(void*, HOBJECT pModel, uint32 hPiece, CRenderStyle* pRenderStyle);
		return GetVFunc<SetRenderStyleFn>(this, 78)(this, pModel, hPiece, pRenderStyle);
	}
	LTRESULT GetSocket(HOBJECT hObj, const char *pSocketName, HMODELSOCKET &hSocket) //0x0168
	{
		typedef LTRESULT(__thiscall* GetSocketFn)(void*, HOBJECT hObj, const char *pSocketName, HMODELSOCKET &hSocket);
		return GetVFunc<GetSocketFn>(this, 90)(this, hObj, pSocketName, hSocket);
	}
	LTRESULT GetSocketTransform(HOBJECT hObj, HMODELSOCKET hSocket, LTransform &transform, bool bWorldSpace) //0x016C
	{
		typedef LTRESULT(__thiscall* GetSocketTransformFn)(void*, HOBJECT hObj, HMODELSOCKET hSocket, LTransform &transform, bool bWorldSpace);
		return GetVFunc<GetSocketTransformFn>(this, 91)(this, hObj, hSocket, transform, bWorldSpace);
	}
	LTRESULT SetCurAnim(HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELANIM hAnim) //0x01E8
	{
		typedef LTRESULT(__thiscall* SetCurAnimFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELANIM hAnim);
		return GetVFunc<SetCurAnimFn>(this, 122)(this, hModel, TrackerID, hAnim);
	}
}; //Size: 0x0844
I got References from: https://github.com/jsj2008/lithtech/...inc/iltmodel.h

This functions for Crossfire NA/West
I Hope I gave helpfully things

Credits: jsj2008, Google , REClass and Me


My friend, what is this? I am a beginner, but I do not know what this is

ILTModel contains functions for manipulating models and animations.
"lithtech"
Quote Originally Posted by TheGe2k View Post

Hi again

I'm going to share ILTModel Functions with you

Code:
class ILTModel
{
public:
	LTRESULT GetPiece(HOBJECT hObj, const char *pPieceName, HMODELPIECE &hPiece) //0x0028 
	{
		typedef LTRESULT(__thiscall* GetPieceFn)(void*, HOBJECT hObj, const char *pPieceName, HMODELPIECE &hPiece);
		return GetVFunc<GetPieceFn>(this, 10)(this, hObj, pPieceName, hPiece);
	}
	LTRESULT GetPieceHideStatus(HOBJECT hObj, HMODELPIECE hPiece, bool &bHidden) //0x002C 
	{
		typedef LTRESULT(__thiscall* GetPieceHideStatusFn)(void*, HOBJECT hObj, HMODELPIECE hPiece, bool &bHidden);
		return GetVFunc<GetPieceHideStatusFn>(this, 11)(this, hObj, hPiece, bHidden);
	}
	LTRESULT SetPieceHideStatus(HOBJECT hObj, HMODELPIECE hPiece, bool bHidden)
	{
		typedef LTRESULT(__thiscall* SetPieceHideStatusFn)(void*, HOBJECT hObj, HMODELPIECE hPiece, bool bHidden);
		return GetVFunc<SetPieceHideStatusFn>(this, 12)(this, hObj, hPiece, bHidden);
	}
	LTRESULT GetNode(HOBJECT hObj, const char *pNodeName, HMODELNODE &hNode) //0x0034
	{
		typedef LTRESULT(__thiscall* GetNodeFn)(void*, HOBJECT hObj, const char *pNodeName, HMODELNODE &hNode);
		return GetVFunc<GetNodeFn>(this, 13)(this, hObj, pNodeName, hNode);
	}
	LTRESULT GetNodeName(HOBJECT hObj, HMODELNODE hNode, char *name, uint32 maxlen) //0x0038
	{
		typedef LTRESULT(__thiscall* GetNodeNameFn)(void*, HOBJECT hObj, HMODELNODE hNode, char *name, uint32 maxlen);
		return GetVFunc<GetNodeNameFn>(this, 14)(this, hObj, hNode, name, maxlen);
	}
	LTRESULT GetNodeTransform(HOBJECT hObj, HMODELNODE hNode, LTransform &transform, bool bWorldSpace) //0x003C
	{
		typedef LTRESULT(__thiscall* GetNodeTransformFn)(void*, HOBJECT hObj, HMODELNODE hNode, LTransform &transform, bool bWorldSpace);
		return GetVFunc<GetNodeTransformFn>(this, 15)(this, hObj, hNode, transform, bWorldSpace);
	}
	LTRESULT GetNumChildren(HOBJECT hObj, HMODELNODE hNode, uint32 &NumChildren) //0x0048 
	{
		typedef LTRESULT(__thiscall* GetNumChildrenFn)(void*, HOBJECT hObj, HMODELNODE hNode, uint32 &NumChildren);
		return GetVFunc<GetNumChildrenFn>(this, 18)(this, hObj, hNode, NumChildren);
	}
	LTRESULT GetChild(HOBJECT hObj, HMODELNODE parent, uint32 index, HMODELNODE &child) //0x004C 
	{
		typedef LTRESULT(__thiscall* GetChildFn)(void*, HOBJECT hObj, HMODELNODE parent, uint32 index, HMODELNODE &child);
		return GetVFunc<GetChildFn>(this, 19)(this, hObj, parent, index, child);
	}
	LTRESULT GetParent(HOBJECT hObj, HMODELNODE node, HMODELNODE &parent) //0x0050 
	{
		typedef LTRESULT(__thiscall* GetParentFn)(void*, HOBJECT hObj, HMODELNODE node, HMODELNODE &parent);
		return GetVFunc<GetParentFn>(this, 20)(this, hObj, node, parent);
	}
	LTRESULT GetNumNodes(HOBJECT hObj, uint32 &num_nodes) //0x0058 
	{
		typedef LTRESULT(__thiscall* GetNumNodesFn)(void*, HOBJECT hObj, uint32 &num_nodes);
		return GetVFunc<GetNumNodesFn>(this, 22)(this, hObj, num_nodes);
	}
	LTRESULT UpdateMainTracker(HOBJECT hObj, float fUpdateDelta) //0x006C 
	{
		typedef LTRESULT(__thiscall* UpdateMainTrackerFn)(void*, HOBJECT hObj, float fUpdateDelta);
		return GetVFunc<UpdateMainTrackerFn>(this, 27)(this, hObj, fUpdateDelta);
	}
	LTRESULT GetCurAnimLength(HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &length) //0x0074 
	{
		typedef LTRESULT(__thiscall* GetCurAnimLengthFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &length);
		return GetVFunc<GetCurAnimLengthFn>(this, 29)(this, hModel, TrackerID, length);
	}
	LTRESULT GetWeightSet( HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELWEIGHTSET &hSet) //0x007C 
	{
		typedef LTRESULT(__thiscall* GetWeightSetFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELWEIGHTSET &hSet);
		return GetVFunc<GetWeightSetFn>(this, 31)(this, hModel, TrackerID, hSet);
	}
	LTRESULT GetPlaybackState(HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &flags) //0x0084 
	{
		typedef LTRESULT(__thiscall* GetPlaybackStateFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &flags);
		return GetVFunc<GetPlaybackStateFn>(this, 33)(this, hModel, TrackerID, flags);
	}
    LTRESULT AddTracker(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x0088 
	{
		typedef LTRESULT(__thiscall* AddTrackerFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<AddTrackerFn>(this, 34)(this, hModel, TrackerID);
	}
	LTRESULT RemoveTracker(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x008C
	{
		typedef LTRESULT(__thiscall* RemoveTrackerFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<RemoveTrackerFn>(this, 35)(this, hModel, TrackerID);
	}
	LTRESULT GetAnimIndex(HOBJECT hModel, const char *pAnimName, uint32 & anim_index) //0x0090 
	{
		typedef LTRESULT(__thiscall* GetAnimIndexFn)(void*, HOBJECT hModel, const char *pAnimName, uint32 & anim_index);
		return GetVFunc<GetAnimIndexFn>(this, 36)(this, hModel, pAnimName, anim_index);
	}
	LTRESULT GetCurAnim(HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELANIM &hAnim) //0x0098 
	{
		typedef LTRESULT(__thiscall* GetCurAnimFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELANIM &hAnim);
		return GetVFunc<GetCurAnimFn>(this, 38)(this, hModel, TrackerID, hAnim);
	}
	LTRESULT ResetAnim(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x00A0 
	{
		typedef LTRESULT(__thiscall* ResetAnimFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<ResetAnimFn>(this, 40)(this, hModel, TrackerID);
	}
	LTRESULT GetLooping(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x00A4 
	{
		typedef LTRESULT(__thiscall* GetLoopingFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<GetLoopingFn>(this, 41)(this, hModel, TrackerID);
	}
	LTRESULT SetLooping(HOBJECT hModel, ANIMTRACKERID TrackerID, bool bLooping) //0x00A8 
	{
		typedef LTRESULT(__thiscall* SetLoopingFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, bool bLooping);
		return GetVFunc<SetLoopingFn>(this, 42)(this, hModel, TrackerID, bLooping);
	}
	LTRESULT GetPlaying(HOBJECT hModel, ANIMTRACKERID TrackerID) //0x00AC 
	{
		typedef LTRESULT(__thiscall* GetPlayingFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID);
		return GetVFunc<GetPlayingFn>(this, 43)(this, hModel, TrackerID);
	}
	LTRESULT SetPlaying(HOBJECT hModel, ANIMTRACKERID TrackerID, bool bPlaying) //0x00B0 
	{
		typedef LTRESULT(__thiscall* SetPlayingFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, bool bPlaying);
		return GetVFunc<SetPlayingFn>(this, 44)(this, hModel, TrackerID, bPlaying);
	}
	LTRESULT GetCurAnimTime(HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &curTime) //0x00B8 
	{
		typedef LTRESULT(__thiscall* GetCurAnimTimeFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &curTime);
		return GetVFunc<GetCurAnimTimeFn>(this, 46)(this, hModel, TrackerID, curTime);
	}
	LTRESULT SetCurAnimTime( HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 curTime) //0x00C0 
	{
		typedef LTRESULT(__thiscall* SetCurAnimTimeFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, uint32 &curTime);
		return GetVFunc<SetCurAnimTimeFn>(this, 48)(this, hModel, TrackerID, curTime);
	}
	LTRESULT SetAnimRate(HOBJECT hModel, ANIMTRACKERID TrackerID, float fRate) //0x00C4 
	{
		typedef LTRESULT(__thiscall* SetAnimRateFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, float fRate);
		return GetVFunc<SetAnimRateFn>(this, 49)(this, hModel, TrackerID, fRate);
	}
	LTRESULT GetAnimRate(HOBJECT hModel, ANIMTRACKERID TrackerID, float &fRate) //0x00C8 
	{
		typedef LTRESULT(__thiscall* GetAnimRateFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, float fRate);
		return GetVFunc<GetAnimRateFn>(this, 50)(this, hModel, TrackerID, fRate);
	}
	LTRESULT SetWeightSet(HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELWEIGHTSET hSet) //0x00D0 
	{
		typedef LTRESULT(__thiscall* SetWeightSetFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELWEIGHTSET hSet);
		return GetVFunc<SetWeightSetFn>(this, 52)(this, hModel, TrackerID, hSet);
	}
	LTRESULT GetNumLODs(HOBJECT hModel, HMODELPIECE hPiece, uint32 &num_lods) //0x00D4 
	{
		typedef LTRESULT(__thiscall* GetNumLODsFn)(void*, HOBJECT hModel, HMODELPIECE hPiece, uint32 &num_lods);
		return GetVFunc<GetNumLODsFn>(this, 53)(this, hModel, hPiece, num_lods);
	}
	LTRESULT GetLODValFromDist(HOBJECT hModel, HMODELPIECE hPiece, float dist, uint32 &lod_index) //0x00D8 
	{
		typedef LTRESULT(__thiscall* GetLODValFromDistFn)(void*, HOBJECT hModel, HMODELPIECE hPiece, float dist, uint32 &lod_index);
		return GetVFunc<GetLODValFromDistFn>(this, 54)(this, hModel, hPiece, dist, lod_index);
	}
	LTRESULT ApplyAnimations(HOBJECT hModel) //0x00DC 
	{
		typedef LTRESULT(__thiscall* ApplyAnimationsFn)(void*, HOBJECT hModel);
		return GetVFunc<ApplyAnimationsFn>(this, 55)(this, hModel);
	}
	LTRESULT GetFilenames(HOBJECT hObj, char *pFilename, uint32 fileBufLen, char *pSkinName, uint32 skinBufLen)
	{
		typedef LTRESULT(__thiscall* GetFilenamesFn)(void*, HOBJECT hObj, char *pFilename, uint32 fileBufLen, char *pSkinName, uint32 skinBufLen);
		return GetVFunc<GetFilenamesFn>(this, 56)(this, hObj, pFilename, fileBufLen, pSkinName, skinBufLen);
	}
	LTRESULT GetNumModelOBBs(HOBJECT hObj, uint32 & num_obbs) //0x00EC 
	{
		typedef LTRESULT(__thiscall* GetNumModelOBBsFn)(void*, HOBJECT hObj, uint32 & num_obbs);
		return GetVFunc<GetNumModelOBBsFn>(this, 59)(this, hObj, num_obbs);
	}
	LTRESULT GetModelOBBCopy(HOBJECT hObj, ModelOBB *name_obb) //0x00F0 
	{
		typedef LTRESULT(__thiscall* GetModelOBBCopyFn)(void*, HOBJECT hObj, ModelOBB *name_obb);
		return GetVFunc<GetModelOBBCopyFn>(this, 60)(this, hObj, name_obb);
	}
	LTRESULT GetRenderStyle(HOBJECT hModel, uint32 hPiece, CRenderStyle** ppRenderStyle)//0x0134
	{
		typedef LTRESULT(__thiscall* GetRenderStyleFn)(void*, HOBJECT hModel, uint32 hPiece, CRenderStyle** ppRenderStyle);
		return GetVFunc<GetRenderStyleFn>(this, 77)(this, hModel, hPiece, ppRenderStyle);
	}
	LTRESULT SetRenderStyle(HOBJECT pModel, uint32 hPiece, CRenderStyle* pRenderStyle)//0x0138
	{
		typedef LTRESULT(__thiscall* SetRenderStyleFn)(void*, HOBJECT pModel, uint32 hPiece, CRenderStyle* pRenderStyle);
		return GetVFunc<SetRenderStyleFn>(this, 78)(this, pModel, hPiece, pRenderStyle);
	}
	LTRESULT GetSocket(HOBJECT hObj, const char *pSocketName, HMODELSOCKET &hSocket) //0x0168
	{
		typedef LTRESULT(__thiscall* GetSocketFn)(void*, HOBJECT hObj, const char *pSocketName, HMODELSOCKET &hSocket);
		return GetVFunc<GetSocketFn>(this, 90)(this, hObj, pSocketName, hSocket);
	}
	LTRESULT GetSocketTransform(HOBJECT hObj, HMODELSOCKET hSocket, LTransform &transform, bool bWorldSpace) //0x016C
	{
		typedef LTRESULT(__thiscall* GetSocketTransformFn)(void*, HOBJECT hObj, HMODELSOCKET hSocket, LTransform &transform, bool bWorldSpace);
		return GetVFunc<GetSocketTransformFn>(this, 91)(this, hObj, hSocket, transform, bWorldSpace);
	}
	LTRESULT SetCurAnim(HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELANIM hAnim) //0x01E8
	{
		typedef LTRESULT(__thiscall* SetCurAnimFn)(void*, HOBJECT hModel, ANIMTRACKERID TrackerID, HMODELANIM hAnim);
		return GetVFunc<SetCurAnimFn>(this, 122)(this, hModel, TrackerID, hAnim);
	}
}; //Size: 0x0844
I got References from: https://github.com/jsj2008/lithtech/...inc/iltmodel.h

This functions for Crossfire NA/West
I Hope I gave helpfully things

Credits: jsj2008, Google , REClass and Me


Once again, it's nice to see someone bringing life back to mpgh
Posts 1–4 of 4 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?