@@ -157,6 +157,7 @@ DWORD RETURN_CEventHandler_ComputeKnockOffBikeResponse = 0x4BA076;
157
157
158
158
#define HOOKPOS_CAnimManager_AddAnimation 0x4d3aa0
159
159
DWORD RETURN_CAnimManager_AddAnimation = 0x4D3AAA ;
160
+ DWORD RETURN_CAnimManager_AddAnimation_SkipCopyAnimation = 0x4D3ABC ;
160
161
#define HOOKPOS_CAnimManager_BlendAnimation 0x4D4610
161
162
DWORD RETURN_CAnimManager_BlendAnimation = 0x4D4617 ;
162
163
@@ -5328,6 +5329,7 @@ void _declspec(naked) HOOK_CEventHandler_ComputeKnockOffBikeResponse ()
5328
5329
RpClump * animationClump = NULL ;
5329
5330
AssocGroupId animationGroup = 0 ;
5330
5331
AnimationId animationID = 0 ;
5332
+ CAnimBlendAssociationSAInterface * pAnimAssociation = nullptr ;
5331
5333
void _declspec (naked) HOOK_CAnimManager_AddAnimation ()
5332
5334
{
5333
5335
_asm
@@ -5343,16 +5345,33 @@ void _declspec(naked) HOOK_CAnimManager_AddAnimation ()
5343
5345
5344
5346
if ( m_pAddAnimationHandler )
5345
5347
{
5346
- m_pAddAnimationHandler ( animationClump, animationGroup, animationID );
5348
+ pAnimAssociation = m_pAddAnimationHandler ( animationClump, animationGroup, animationID );
5349
+ }
5350
+ else
5351
+ {
5352
+ // This will avoid crash if m_pAddAnimationHandler is removed
5353
+ // continue the normal flow of AddAnimation function, instead of skipping CopyAnimation
5354
+
5355
+ _asm
5356
+ {
5357
+ popad
5358
+ mov eax,dword ptr [esp+0Ch]
5359
+ mov edx,dword ptr ds:[0B4EA34h]
5360
+ jmp RETURN_CAnimManager_AddAnimation
5361
+ }
5347
5362
}
5348
5363
5364
+ // As we are manually creating animation association, so skip CopyAnimation call
5349
5365
_asm
5350
5366
{
5351
5367
popad
5352
- mov eax,dword ptr [esp+0Ch]
5353
- mov edx,dword ptr ds:[0B4EA34h]
5354
- jmp RETURN_CAnimManager_AddAnimation
5355
- }
5368
+ mov eax, dword ptr [esp+0Ch]
5369
+ mov edx, dword ptr ds:[0B4EA34h]
5370
+ push esi
5371
+ push edi
5372
+ mov eax, pAnimAssociation
5373
+ jmp RETURN_CAnimManager_AddAnimation_SkipCopyAnimation
5374
+ }
5356
5375
}
5357
5376
5358
5377
float animationBlendDelta;
0 commit comments