Skip to content

Commit c5ee5da

Browse files
committed
CopyAnimation handler now modifies pOutIFPAnimations.
1 parent 47ea233 commit c5ee5da

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

Client/mods/deathmatch/logic/CClientGame.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4049,7 +4049,6 @@ typedef void (__thiscall* hCAnimBlendStaticAssociation_Init)
40494049

40504050
bool CClientGame::AssocGroupCopyAnimationHandler ( CAnimBlendStaticAssociationSAInterface * pOutAnimStaticAssoc, SIFPAnimations ** pOutIFPAnimations, RpClump * pClump, CAnimBlendAssocGroupSAInterface * pAnimAssocGroup, AnimationId animID )
40514051
{
4052-
printf ("AssocGroupCopyAnimationHandler called!\n");
40534052
auto CAnimBlendStaticAssociation_Init = (hCAnimBlendStaticAssociation_Init)0x4CEC20;
40544053

40554054
bool isCustomAnimationToPlay = false;
@@ -4059,10 +4058,14 @@ bool CClientGame::AssocGroupCopyAnimationHandler ( CAnimBlendStaticAssociationSA
40594058
CClientPed * pClientPed = GetClientPedByClump ( *pClump );
40604059
if ( pClientPed != nullptr )
40614060
{
4062-
auto pReplacedAnimHeirarchyInterface = pClientPed->getReplacedAnimation ( pOriginalAnimStaticAssoc->pAnimHeirarchy );
4063-
if ( pReplacedAnimHeirarchyInterface != nullptr )
4064-
{ // Play our custom animation instead of default
4065-
CAnimBlendStaticAssociation_Init ( pOutAnimStaticAssoc, pClump, pReplacedAnimHeirarchyInterface );
4061+
auto pReplacedAnimation = pClientPed->getReplacedAnimation ( pOriginalAnimStaticAssoc->pAnimHeirarchy );
4062+
if ( pReplacedAnimation != nullptr )
4063+
{
4064+
SIFPAnimations * pIFPAnimations = pReplacedAnimation->pIFP->GetIFPAnimationsPointer ();
4065+
printf("\nAssocGroupCopyAnimationHandler: pIFPAnimations: %p\n\n", pIFPAnimations);
4066+
// Play our custom animation instead of default
4067+
*pOutIFPAnimations = pIFPAnimations;
4068+
CAnimBlendStaticAssociation_Init ( pOutAnimStaticAssoc, pClump, pReplacedAnimation->pAnimationHierarchy );
40664069
isCustomAnimationToPlay = true;
40674070
}
40684071
else
@@ -4082,7 +4085,7 @@ bool CClientGame::AssocGroupCopyAnimationHandler ( CAnimBlendStaticAssociationSA
40824085
pOutAnimStaticAssoc->nNumBlendNodes = pOriginalAnimStaticAssoc->nNumBlendNodes;
40834086
pOutAnimStaticAssoc->sFlags = pOriginalAnimStaticAssoc->sFlags;
40844087

4085-
printf(" CClientGame::AssocGroupCopyAnimationHandler: About to return!\n");
4088+
printf(" CClientGame::AssocGroupCopyAnimationHandler: About to return sAnimGroup: %d | sAnimID: %d !\n", pOutAnimStaticAssoc->sAnimGroup, pOutAnimStaticAssoc->sAnimID);
40864089
return isCustomAnimationToPlay;
40874090
}
40884091

0 commit comments

Comments
 (0)