#pragma once // Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata. // Original PDB header: w:\tech5\engine\models\skeletalanimation\treeanimator.h // Recovered logical types: 4 // Signatures retain Xbox 360 ABI evidence and may still require manual review. // IDA Local Type ordinal 1527; PDB kind: unknown. enum idTreeAnimator:: : __int32 { JOINTS_GAME_REFERENCE = 0x0, JOINTS_GAME_FINAL = 0x1, JOINTS_DEFERRED_REFERENCE = 0x2, JOINTS_DEFERRED_FINAL = 0x3, NUM_JOINT_ARRAYS = 0x4, }; // IDA Local Type ordinal 14058; PDB kind: struct. struct idTreeAnimator::morphMap_t { unsigned __int8 *map; idArray buffers; }; // IDA Local Type ordinal 14066; PDB kind: class. class idTreeAnimator : public idRenderModel { public: // Recovered virtual interface; IDA vtable ordinal 14067. virtual void Save(idFile *); virtual bool Load(idFile *); virtual void SerializeSnapshot(idSerializer *, bool); virtual const idDeclSkins *GetSkins(); virtual idHandle *AddDecalFromPoint(idHandle *result, const decalParams_t *, const int, const idVec3 *, const idVec3 *, idIndex); virtual bool RemoveDecal(const idHandle); virtual void RemoveDecals(); virtual void FreeSurfaces(); virtual bool CommitSubclass(); virtual bool UpdateInView(const idRenderView *, const idRenderView *, idRenderModelUpdateTools *); virtual const idList *GetSourceSurfaces(); virtual ~idTreeAnimator(); const idDeclMD6 *decl; idList meshVisibility; __int16 morphSkin; idIndex skipJointForBounds; float initialMorphValue; int currentDeferred; md6AnimCommand_t *commands; idList jointMods[2]; idMD6Blend::blendParms_t *blendParms; idJointMat *joints[4]; idList userChannels[2]; md6OriginDelta_t *originDelta[2]; int lastBlendTime; unsigned __int8 : 1; __int8 useDualQuatSkinning : 1; __int8 skipSerialization : 1; __int8 updateMorphBuffers : 1; __int8 calcRefBoundsFromJoints : 1; __int8 originDeltaLookAhead : 1; __int8 clearOriginTransform : 1; __int8 hasDeferredJoints : 1; idBounds frameBounds; idBounds normalizedBounds; idBounds translatedBounds; idArray jointBuffers; idList userChannelBuffers[4]; int deferredJobJointBuffer; int nextRenderThreadJointBuffer; int renderThreadJointBuffer; idList morphMaps; int currentMorphBuffer; idList wrinkleMapExpressions; }; // IDA Local Type ordinal 21901; PDB kind: struct. struct idTreeAnimator::meshHandle_t { idList indices; idStr name; };