|
17 | 17 | #include <game/CAnimBlendHierarchy.h> |
18 | 18 | #include "Common.h" |
19 | 19 |
|
20 | | -#define FUNC_CAnimBlendHierarchy_GetAnimSequence 0x4ce8f0 |
21 | | -#define FUNC_CAnimBlendHierarchy_GetAnimSequences 0x4d1350 |
| 20 | +#define FUNC_CAnimBlendHierarchy_SetName 0x4CF2D0 |
| 21 | +#define FUNC_CAnimBlendHierarchy_RemoveAnimSequences 0x4CF8E0 |
| 22 | +#define FUNC_CAnimBlendHierarchy_RemoveFromUncompressedCache 0x4D42A0 |
| 23 | +#define FUNC_CAnimBlendHierarchy_RemoveQuaternionFlips 0x4CF4E0 |
| 24 | +#define FUNC_CAnimBlendHierarchy_CalculateTotalTime 0x4CF2F0 |
| 25 | +#define FUNC_CAnimBlendHierarchy_GetAnimSequence 0x4ce8f0 |
| 26 | +#define FUNC_CAnimBlendHierarchy_GetAnimSequences 0x4d1350 |
22 | 27 |
|
23 | 28 | class CAnimBlendSequence; |
24 | 29 |
|
25 | 30 | class CAnimBlendHierarchySAInterface |
26 | 31 | { |
27 | 32 | public: |
28 | | - int GetIndex(void); |
29 | | - int iHashKey; |
30 | | - CAnimBlendSequence* pSequences; |
31 | | - unsigned short usNumSequences; |
32 | | - BYTE pad; |
33 | | - bool bRunningCompressed; |
34 | | - int iAnimBlockID; |
35 | | - float fTotalTime; |
| 33 | + // Careful, GetIndex will not work for custom animations |
| 34 | + int GetIndex(void); |
| 35 | + |
| 36 | + unsigned int iHashKey; |
| 37 | + CAnimBlendSequenceSAInterface* pSequences; |
| 38 | + unsigned short usNumSequences; |
| 39 | + bool bRunningCompressed; |
| 40 | + BYTE pad; |
| 41 | + int iAnimBlockID; |
| 42 | + float fTotalTime; |
| 43 | + DWORD* pLinkPtr; |
36 | 44 | // class CLink<class CAnimBlendHierarchy *> * pLinkPtr; |
37 | 45 | }; |
38 | 46 |
|
39 | 47 | class CAnimBlendHierarchySA : public CAnimBlendHierarchy |
40 | 48 | { |
41 | 49 | public: |
42 | 50 | CAnimBlendHierarchySA(CAnimBlendHierarchySAInterface* pInterface) { m_pInterface = pInterface; } |
43 | | - |
44 | | - CAnimBlendHierarchySAInterface* GetInterface(void) { return m_pInterface; } |
| 51 | + void Initialize(void); |
| 52 | + void SetName(const char* szName); |
| 53 | + void SetSequences(CAnimBlendSequenceSAInterface* pSequences) { m_pInterface->pSequences = pSequences; } |
| 54 | + void SetNumSequences(unsigned short uNumSequences) { m_pInterface->usNumSequences = uNumSequences; } |
| 55 | + void SetRunningCompressed(bool bCompressed) { m_pInterface->bRunningCompressed = bCompressed; } |
| 56 | + void SetAnimationBlockID(int iBlockID) { m_pInterface->iAnimBlockID = iBlockID; } |
| 57 | + void RemoveAnimSequences(void); |
| 58 | + void RemoveFromUncompressedCache(void); |
| 59 | + void RemoveQuaternionFlips(void); |
| 60 | + void CalculateTotalTime(void); |
| 61 | + CAnimBlendSequenceSAInterface* GetSequence(DWORD dwIndex); |
| 62 | + CAnimBlendSequenceSAInterface* GetSequences(void) { return m_pInterface->pSequences; } |
| 63 | + unsigned short GetNumSequences(void) { return m_pInterface->usNumSequences; } |
| 64 | + bool isRunningCompressed(void) { return m_pInterface->bRunningCompressed; } |
45 | 65 | int GetAnimBlockID(void) { return m_pInterface->iAnimBlockID; } |
| 66 | + CAnimBlendHierarchySAInterface* GetInterface(void) { return m_pInterface; } |
46 | 67 |
|
47 | 68 | protected: |
48 | 69 | CAnimBlendHierarchySAInterface* m_pInterface; |
|
0 commit comments