|
15 | 15 |
|
16 | 16 | #include <game/CAnimBlendSequence.h>
|
17 | 17 |
|
| 18 | +#define FUNC_CAnimBlendSequence_SetName 0x4D0C50 |
| 19 | +#define FUNC_CAnimBlendSequence_SetBoneTag 0x4D0C70 |
| 20 | +#define FUNC_CAnimBlendSequence_SetKeyFrames 0x4D0CD0 |
| 21 | + |
18 | 22 | class CAnimBlendSequenceSAInterface
|
19 | 23 | {
|
20 | 24 | public:
|
21 |
| - unsigned int iHashKey; // Get/SetBoneTag accesses the first? 2 bytes here |
22 |
| - short sFlags; // 4 // or16=bHasBoneTag |
23 |
| - short sNumKeyFrames; // 6 |
24 |
| - class CAnimBlendKeyFrame * pKeyFrames; // ? |
| 25 | + union |
| 26 | + { |
| 27 | + uint16_t m_boneId; // m_boneId is set if ( sFlags & 0x10u ) is true |
| 28 | + uint32_t m_hash; // otherwise m_hash is set |
| 29 | + }; |
| 30 | + unsigned short sFlags; |
| 31 | + unsigned short sNumKeyFrames; |
| 32 | + void * pKeyFrames; |
25 | 33 | };
|
26 | 34 |
|
27 | 35 | class CAnimBlendSequenceSA : public CAnimBlendSequence
|
28 | 36 | {
|
29 | 37 | public:
|
30 |
| - CAnimBlendSequenceSA ( CAnimBlendSequenceSAInterface * pInterface ) { m_pInterface = pInterface; } |
| 38 | + CAnimBlendSequenceSA ( CAnimBlendSequenceSAInterface * pInterface ) { m_pInterface = pInterface; } |
| 39 | + ~CAnimBlendSequenceSA ( void ) { } |
| 40 | + void Initialize ( void ); |
| 41 | + void SetName ( const char * szName ); |
| 42 | + void SetBoneTag ( int32_t i32BoneID ); |
| 43 | + void SetKeyFrames ( size_t cKeyFrames, bool bRoot, bool bCompressed, void * pKeyFrames ); |
| 44 | + uint32_t GetHash ( void ) { return m_pInterface->m_hash; } |
| 45 | + uint16_t GetBoneTag ( void ) { return m_pInterface->m_boneId; } |
| 46 | + void * GetKeyFrames ( void ) { return m_pInterface->pKeyFrames; } |
| 47 | + unsigned short GetKeyFramesCount ( void ) { return m_pInterface->sNumKeyFrames; } |
| 48 | + CAnimBlendSequenceSAInterface * GetInterface ( void ) { return m_pInterface; } |
31 | 49 |
|
32 | 50 | protected:
|
33 | 51 | CAnimBlendSequenceSAInterface * m_pInterface;
|
|
0 commit comments