|
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