|
72 | 72 | #define FUNC_RpAnimBlendClumpGetNumAssociations 0x4d6b60
|
73 | 73 | #define FUNC_RpAnimBlendClumpUpdateAnimations 0x4d34f0
|
74 | 74 |
|
| 75 | +// This animation name will allow us to play custom animations by simply playing |
| 76 | +// this animation and then in AddAnimation and AddAnimationAndSync hook, we can |
| 77 | +// return our custom animation in the hook instead of run_wuzi. This will trick GTA SA into thinking |
| 78 | +// that it is playing run_wuzi, but in reality, it's playing our custom animation, and Of course, we can |
| 79 | +// return run_wuzi animation within the hook if we want to play it instead. Why run_wuzi? |
| 80 | +// We can also use another animation, but I've tested with this one mostly, so let's stick to this. |
| 81 | +const SString GATEWAY_ANIMATION_NAME = "run_wuzi"; |
| 82 | + |
75 | 83 | class CAnimManagerSAInterface
|
76 | 84 | {
|
77 | 85 | public:
|
78 | 86 | };
|
79 | 87 |
|
80 | 88 | class CAnimManagerSA : public CAnimManager
|
81 | 89 | {
|
| 90 | + typedef CAnimBlendStaticAssociationSAInterface * StaticAssocIntface_type; |
82 | 91 | typedef std::map < RpClump *, CClientPed * > ClumpMap_type;
|
83 | 92 |
|
84 | 93 | public:
|
@@ -108,7 +117,7 @@ class CAnimManagerSA : public CAnimManager
|
108 | 117 | const char * GetAnimBlockName ( AssocGroupId groupID );
|
109 | 118 |
|
110 | 119 | CAnimBlendAssociation * CreateAnimAssociation ( AssocGroupId animGroup, AnimationId animID );
|
111 |
| - CAnimBlendAssociation * GetAnimAssociation ( AssocGroupId animGroup, AnimationId animID ); |
| 120 | + StaticAssocIntface_type GetAnimStaticAssociation ( AssocGroupId animGroup, AnimationId animID ); |
112 | 121 | CAnimBlendAssociation * GetAnimAssociation ( AssocGroupId animGroup, const char * szAnimName );
|
113 | 122 | CAnimBlendAssociation * AddAnimation ( RpClump * pClump, AssocGroupId animGroup, AnimationId animID );
|
114 | 123 | CAnimBlendAssociation * AddAnimation ( RpClump * pClump, CAnimBlendHierarchy *, int ID );
|
@@ -150,6 +159,8 @@ class CAnimManagerSA : public CAnimManager
|
150 | 159 | CAnimBlock * GetAnimBlock ( CAnimBlockSAInterface * pInterface );
|
151 | 160 | CAnimBlendHierarchy * GetAnimBlendHierarchy ( CAnimBlendHierarchySAInterface * pInterface );
|
152 | 161 |
|
| 162 | + bool isGateWayAnimationHierarchy ( CAnimBlendHierarchySAInterface * pInterface ); |
| 163 | + |
153 | 164 | // This is used in AddAnimationHandler and AddAnimationAndSyncHandler for playing
|
154 | 165 | // custom animations and to help in replacing and restoring animations
|
155 | 166 | void InsertPedClumpToMap ( RpClump * pClump, CClientPed * pClientPed );
|
|
0 commit comments