#pragma once // Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata. // Original PDB header: w:\tech5\engine\models\rendermodel.h // Recovered logical types: 5 // Signatures retain Xbox 360 ABI evidence and may still require manual review. // IDA Local Type ordinal 1725; PDB kind: enum. enum renderMode_t : __int32 { RENDER_MODE_MANUAL = 0x0, RENDER_MODE_AUTOMATIC = 0x1, RENDER_MODE_BINK = 0x2, }; // IDA Local Type ordinal 13523; PDB kind: class. class idRenderModel { public: // Recovered virtual interface; IDA vtable ordinal 13552. 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 ~idRenderModel(); __declspec(align(16)) idAtomicString name; const char *debugName; idVec3 deferredOrigin; idMat3 deferredAxis; bool useDeferredPosition; bool deferredPositionInitialized; bool deleteOnSync; bool unlinked; bool needWriteToSnapshot; idRenderModel *nextOnCommitList; int needCommitFrameNum; idRenderModelCommitted *committed; idBounds referenceBounds; idRenderModelParms g; idStaticParmBlock<32> gameParmBlock; idList surfaces; idStaticList decalData; }; // IDA Local Type ordinal 13666; PDB kind: struct. struct __declspec(align(4)) idRenderModel::decalData_t { idHandle handle; idVec3 relativePos; idMat3 relativeAxis; idIndex jointId; }; // IDA Local Type ordinal 15019; PDB kind: class. class idStrRenderModel : public idStr { public: }; // IDA Local Type ordinal 15020; PDB kind: class. class idRenderModelInfo { public: idRenderModel *model; __int8 staticShadowsFromDynamicModel : 1; __int8 forceAcceptDimShadows : 1; __int8 allowUpShadows : 1; __int8 allowHighQualityDimShadows : 1; __int8 forceDimShadows : 1; __int8 noShadows : 1; __int8 noAmbient : 1; __int8 allowInline : 1; unsigned __int8 : 3; __int8 rebakeModel : 1; __int8 megatexturedModel : 1; __int8 occluder : 1; __int8 noLocalLighting : 1; __int8 privateLightOnly : 1; float maxTexelDensity; float maxVisibleRange; float fadeVisibilityOver; float dimShadowClipZ; const idMaterial *customMaterial; idVec3 scale; idColor color; idList renderParms; const idMaterial *parmBlock; idStrRenderModel editorModel; int traceGroup; float radiosityScale; float staticReflectionStrength; bool ownedByPresentable; idRenderModelInfo *next; };