143 lines
6.6 KiB
C++
143 lines
6.6 KiB
C++
#pragma once
|
|
|
|
// Reconstructed C++ declarations from IDA Local Types and PDB/DIA metadata.
|
|
// Original PDB header: w:\tech5\engine\gamelib\animstack\animator_animweb.h
|
|
// Recovered logical types: 6
|
|
// Signatures retain Xbox 360 ABI evidence and may still require manual review.
|
|
|
|
|
|
// IDA Local Type ordinal 2404; PDB kind: enum.
|
|
enum idAnimator_AnimWeb::animWebError_t : __int32
|
|
{
|
|
ANIMWEB_ERROR_NONE = 0x0,
|
|
ANIMWEB_ERROR_NOPATH = 0x1,
|
|
};
|
|
|
|
// IDA Local Type ordinal 15030; PDB kind: class.
|
|
class __declspec(align(2)) idAnimator_AnimWeb : public idAnimator_Base
|
|
{
|
|
public:
|
|
// Recovered virtual interface; IDA vtable ordinal 15095.
|
|
virtual ~idAnimator_AnimWeb();
|
|
virtual idAnimator_Base::priority_t GetStackPriority();
|
|
virtual serializeType_t GetSerializeType();
|
|
virtual void SerializeSnapshot(idSerializer *);
|
|
virtual void PreBlendSnapshot(idAnimStack *, int, const int, float);
|
|
virtual void PreSerializeInit(idAnimStack *, idClip *, idGameTimeManager *);
|
|
virtual bool InternalInit(const idAnimatorParms_Base *);
|
|
virtual bool InternalPostInit(const idAnimatorParms_Base *);
|
|
virtual void InternalShutdown(idAnimStack *);
|
|
virtual void InternalPreBlendTree(const idAnimStack *, const int, const int);
|
|
virtual void InternalPostBlendTree(const idAnimStack *, const int);
|
|
virtual void InternalStart(const idAnimStack *, const int, const idTypesafeNumber<int,enum gameTimeUnique_t>);
|
|
virtual void InternalEnd(const idAnimStack *, const int, const idTypesafeNumber<int,enum gameTimeUnique_t>);
|
|
virtual void InternalBlend(const idAnimStack *, const int, const float, const idTypesafeNumber<int,enum gameTimeUnique_t>);
|
|
virtual bool InternalIsContributing();
|
|
virtual const idMD6Branch *InternalGetMergeBranch();
|
|
virtual idMD6Branch *InternalGetMergeBranch_2();
|
|
virtual void InternalPause(const idAnimStack *, const idTypesafeNumber<int,enum gameTimeUnique_t>);
|
|
virtual void InternalUnpause(const idAnimStack *, const idTypesafeNumber<int,enum gameTimeUnique_t>);
|
|
virtual const idMD6Branch *InternalGetEndBranch();
|
|
virtual idMD6Branch *InternalGetEndBranch_2();
|
|
virtual const idHandle<short,enum invalidAnimWebHandle_t,-1> *GetHandle();
|
|
virtual void InternalInitWeb();
|
|
virtual void InternalUpdate(const int);
|
|
virtual idDeclAnimWebNode::animDelta_t InternalGetCurrentAnimDeltaMode();
|
|
virtual void InternalSetAnimDelta(const idIndex<short,enum idDeclAnimWeb::invalidModelIndex_t>, const idDeclAnimWebNode *);
|
|
virtual int InternalGetEdgeCost(const idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t>, const idIndex<short,enum idDeclAnimWeb::invalidEdgeIndex_t>);
|
|
virtual void InternalStartPath();
|
|
virtual void InternalUpdateScalars(const int);
|
|
virtual void InternalStartBlend(const idDeclAnimWebNode *, const idDeclAnimWebNode *, const int);
|
|
virtual void InternalFinishBlend(const idDeclAnimWebNode *, const idDeclAnimWebNode *, const int);
|
|
virtual awCheckPathResult_t CheckNextNode(const idDeclAnimWebNode *, const idDeclAnimWebNode *);
|
|
virtual bool InternalShouldStartNextNode(const idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t>, const idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t>, const int, const int, const blendParms_t *, idIndex<short,enum idDeclAnimWeb::invalidModelIndex_t>, const bool, animWebEvent_t *);
|
|
virtual void InternalTriggerEvent(const idDeclAnimWebNode *, const animWebEvent_t, const idHandle<short,enum invalidAnimWebHandle_t,-1> *, const int, const int);
|
|
virtual void InternalTriggerBlendEvent(int, idIndex<short,enum idDeclAnimWeb::invalidModelIndex_t>, idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t>, idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t>, const int);
|
|
virtual bool InternalRemapNames(idStr *, idStr *);
|
|
virtual void InternalUpdateBlendEvents(const idAnimStack *, const int, const int);
|
|
|
|
const idDeclAnimWeb *decl;
|
|
idMD6Allocator *md6Allocator;
|
|
idList<idIndex<short,enum idDeclAnimWeb::invalidSubWebIndex_t>,5> initialActiveSubWebs;
|
|
idList<idAnimator_AnimWeb::idModelAnimState,33> modelAnimStates;
|
|
idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t> curNodeIndex;
|
|
idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t> prevNodeIndex;
|
|
idIndex<short,enum idDeclAnimWeb::invalidSubWebIndex_t> destSubWebIndex;
|
|
idDeclAnimWeb::stateList_t destStateIndices;
|
|
idIndex<short,enum idDeclAnimWeb::invalidSubWebIndex_t> viaSubWebIndex;
|
|
idDeclAnimWeb::stateList_t viaStateIndices;
|
|
idIndex<short,enum idDeclAnimWeb::invalidSubWebIndex_t> otherSubWebIndex;
|
|
idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t> curEdgeNodeIndex;
|
|
__int16 curEdgeIndex;
|
|
idStaticList<idList<idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t>,32> const *,16> pathableSubWebNodeLists;
|
|
__int16 pathIndex;
|
|
idAnimWebRoute curPath;
|
|
interruptPath_t interruptPath;
|
|
interruptBlend_t interruptBlend;
|
|
int nodeStartTime;
|
|
int prevNodeStartTime;
|
|
int nodeStartFrame;
|
|
idList<idAnimWebScalar,33> scalars;
|
|
idScalarMemBlock scalarMem;
|
|
int firstRandomScalarIndex;
|
|
int blendEventMask;
|
|
int declChangeId;
|
|
idAtomicString curNodeStateName;
|
|
idAtomicString curNodeSubWebName;
|
|
idAtomicString destNodeStateName;
|
|
idAtomicString destNodeSubWebName;
|
|
idHandle<short,enum invalidAnimWebHandle_t,-1> handle;
|
|
idAnimWebEventHandler_Zion eventHandler;
|
|
bool clearEventsOnStateChanges;
|
|
unsigned __int8 skipFlags;
|
|
unsigned __int8 requiredFlags;
|
|
idAnimator_AnimWeb::forcedEdge_t forcedEdge;
|
|
float randomBlendVals[8];
|
|
idMD6Branch *mergeBranch;
|
|
idAnimator_ChannelWeight channelWeightAnimator;
|
|
idList<idDeclMD6 const *,33> modelDecls;
|
|
idAnimator_AnimWeb::animWebError_t error;
|
|
bool debug;
|
|
bool forceAnimDeltaModeOnBlendStart;
|
|
bool skipForcedEdgeAutoPath;
|
|
};
|
|
|
|
// IDA Local Type ordinal 15075; PDB kind: class.
|
|
class __declspec(align(4)) idAnimator_AnimWeb::idModelAnimState
|
|
{
|
|
public:
|
|
idMD6Node *tree;
|
|
idMD6Branch *branches[2];
|
|
idStaticList<idAnimWebBlendTree *,8> blendTreeCache;
|
|
idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t> recentNodes[3];
|
|
__int16 recentNodeStart;
|
|
bool blending;
|
|
};
|
|
|
|
// IDA Local Type ordinal 15087; PDB kind: struct.
|
|
struct idAnimator_AnimWeb::forcedEdge_t
|
|
{
|
|
idIndex<short,enum idDeclAnimWeb::invalidNodeIndex_t> destNodeIndex;
|
|
idIndex<short,enum idDeclAnimWeb::invalidSubWebIndex_t> destSubWebIndex;
|
|
blendParms_t blendParms;
|
|
};
|
|
|
|
// IDA Local Type ordinal 18100; PDB kind: class.
|
|
class idAnimatorParms_AnimWeb : public idAnimatorParms_Base
|
|
{
|
|
public:
|
|
const idDeclAnimWeb *webDecl;
|
|
idStr initialStateName;
|
|
idStr initialSubWebName;
|
|
int curTime;
|
|
idList<idAtomicString,5> activeLayers;
|
|
};
|
|
|
|
// IDA Local Type ordinal 21365; PDB kind: struct.
|
|
struct idAnimator_AnimWeb::animInfo_t
|
|
{
|
|
int curFrame;
|
|
int numFrames;
|
|
int frameRate;
|
|
};
|