|
26 | 26 | #include <net/SyncStructures.h> |
27 | 27 | #include <../Client/game_sa/CAnimBlendAssocGroupSA.h> |
28 | 28 | #include <../Client/game_sa/CAnimBlendAssociationSA.h> |
| 29 | +#include <../game_sa/CAnimBlendHierarchySA.h> |
29 | 30 |
|
30 | 31 | SString StringZeroPadout ( const SString& strInput, uint uiPadoutSize ) |
31 | 32 | { |
@@ -3990,126 +3991,19 @@ bool CClientGame::ChokingHandler ( unsigned char ucWeaponType ) |
3990 | 3991 | return m_pLocalPlayer->CallEvent ( "onClientPlayerChoke", Arguments, true ); |
3991 | 3992 | } |
3992 | 3993 |
|
3993 | | -#include <../game_sa/CAnimBlendHierarchySA.h> // ---------------- REMOVE THIS LATER |
| 3994 | + |
| 3995 | + |
3994 | 3996 |
|
3995 | 3997 | CAnimBlendAssociationSAInterface * CClientGame::AddAnimationHandler ( RpClump * pClump, AssocGroupId animGroup, AnimationId animID ) |
3996 | 3998 | { |
3997 | 3999 | printf ( "AddAnimationHandler called! pClump, GroupID, AnimID: %p, %d, %d\n", (void*)pClump, animGroup, animID ); |
3998 | | - |
3999 | | - hCAnimBlendAssocGroup_CopyAnimation CAnimBlendAssocGroup_CopyAnimation = (hCAnimBlendAssocGroup_CopyAnimation)0x004CE130; |
4000 | | - hUncompressAnimation UncompressAnimation = (hUncompressAnimation)0x4d41c0; |
4001 | | - hCAnimBlendAssoc_Constructor_staticAssocRef OLD_CAnimBlendAssoc_Constructor_staticAssocRef = (hCAnimBlendAssoc_Constructor_staticAssocRef)0x4CF080; |
4002 | | - hCAnimBlendStaticAssoc_Constructor OLD_CAnimBlendStaticAssoc_Constructor = *(hCAnimBlendStaticAssoc_Constructor)0x4CE940; |
4003 | | - hCAnimBlendStaticAssoc_Init OLD_CAnimBlendStaticAssoc_Init = (hCAnimBlendStaticAssoc_Init)0x004CEC20; |
4004 | | - hCAnimBlendAssoc_SyncAnimation CAnimBlendAssoc_SyncAnimation = (hCAnimBlendAssoc_SyncAnimation)0x004CEB40; |
4005 | | - hCAnimBlendAssoc_Start CAnimBlendAssoc_Start = (hCAnimBlendAssoc_Start)0x004CEB70; |
4006 | | - |
4007 | | - CAnimBlendAssoc * pAnimAssoc; // esi |
4008 | | - int *clumpData; // edi |
4009 | | - int *next; // eax |
4010 | | - DWORD *tempAssoc; // eax |
4011 | | - int *nextAssoc; // ecx |
4012 | | - |
4013 | | - CAnimManager * pAnimationManager = g_pGame->GetAnimManager(); |
4014 | | - CAnimBlendStaticAssoc * pAnimOriginalStaticAssoc = (CAnimBlendStaticAssoc *)pAnimationManager->GetAnimStaticAssociation ( animGroup, animID ); |
4015 | | - |
4016 | | - UncompressAnimation ( pAnimOriginalStaticAssoc->m_pAnimBlendHier ); |
4017 | | - pAnimAssoc = (CAnimBlendAssoc *)malloc(sizeof(CAnimBlendAssoc)); |
4018 | | - OLD_CAnimBlendAssoc_Constructor_staticAssocRef ( pAnimAssoc, *pAnimOriginalStaticAssoc); |
4019 | | - |
4020 | | - // We need to remove this line and add some code here for running animations simultaneously |
4021 | | - pAnimAssoc = CAnimBlendAssocGroup_CopyAnimation((DWORD *) (*(DWORD*)0x00B4EA34) + 5 * animGroup, animID); |
4022 | | - |
4023 | | - ////ofs << "Done calling CAnimBlendAssocGroup_CopyAnimation " << std::endl; |
4024 | | - |
4025 | | - clumpData = *(int **)( (*(DWORD*)0xB5F878) + ((int)pClump)); |
4026 | | - |
4027 | | - if ( !((*((BYTE *)pAnimAssoc + 46) >> 5) & 1) ) |
4028 | | - goto LABEL_5; |
4029 | | - next = (int *)*clumpData; |
4030 | | - if ( !*clumpData ) |
4031 | | - goto LABEL_5; |
4032 | | - while ( !((*((BYTE *)next + 42) >> 5) & 1) ) |
4033 | | - { |
4034 | | - next = (int *)*next; |
4035 | | - if ( !next ) |
4036 | | - goto LABEL_5; |
4037 | | - } |
4038 | | - if ( next ) |
4039 | | - { |
4040 | | - CAnimBlendAssoc_SyncAnimation(pAnimAssoc, (CAnimBlendAssoc *)(next - 1)); |
4041 | | - *((BYTE *)pAnimAssoc + 46) |= 1u; |
4042 | | - } |
4043 | | - else |
4044 | | - { |
4045 | | -LABEL_5: |
4046 | | - CAnimBlendAssoc_Start(pAnimAssoc, 0); |
4047 | | - } |
4048 | | - |
4049 | | - tempAssoc = ((DWORD*)pAnimAssoc) + 1; |
4050 | | - |
4051 | | - if ( *clumpData ) // clumpData->nextAssoc |
4052 | | - *(DWORD *)(*clumpData + 4) = (DWORD)tempAssoc; |
4053 | | - |
4054 | | - nextAssoc = (int *)*clumpData; |
4055 | | - |
4056 | | - DWORD * dwpAnimAssoc = (DWORD*) pAnimAssoc; |
4057 | | - |
4058 | | - dwpAnimAssoc[2] = (DWORD)clumpData; |
4059 | | - //pAnimAssoc[2] = clumpData; |
4060 | | - |
4061 | | - *tempAssoc = (DWORD)nextAssoc; |
4062 | | - |
4063 | | - *clumpData = (int)tempAssoc; |
4064 | | - |
4065 | | - return (CAnimBlendAssociationSAInterface *)pAnimAssoc; |
| 4000 | + return nullptr; |
4066 | 4001 | } |
4067 | 4002 |
|
4068 | 4003 | CAnimBlendAssociationSAInterface * CClientGame::AddAnimationAndSyncHandler ( RpClump * pClump, CAnimBlendAssociationSAInterface * pAnimAssocToSyncWith, AssocGroupId animGroup, AnimationId animID ) |
4069 | 4004 | { |
4070 | 4005 | printf ( "AddAnimationAndSyncHandler called! pClump, GroupID, AnimID: %p, %d, %d\n", (void*)pClump, animGroup, animID ); |
4071 | | - |
4072 | | - hCAnimBlendAssocGroup_CopyAnimation CAnimBlendAssocGroup_CopyAnimation = (hCAnimBlendAssocGroup_CopyAnimation)0x004CE130; |
4073 | | - hUncompressAnimation UncompressAnimation = (hUncompressAnimation)0x4d41c0; |
4074 | | - hCAnimBlendAssoc_Constructor_staticAssocRef OLD_CAnimBlendAssoc_Constructor_staticAssocRef = (hCAnimBlendAssoc_Constructor_staticAssocRef)0x4CF080; |
4075 | | - hCAnimBlendStaticAssoc_Constructor OLD_CAnimBlendStaticAssoc_Constructor = *(hCAnimBlendStaticAssoc_Constructor)0x4CE940; |
4076 | | - hCAnimBlendStaticAssoc_Init OLD_CAnimBlendStaticAssoc_Init = (hCAnimBlendStaticAssoc_Init)0x004CEC20; |
4077 | | - hCAnimBlendAssoc_SyncAnimation CAnimBlendAssoc_SyncAnimation = (hCAnimBlendAssoc_SyncAnimation)0x004CEB40; |
4078 | | - hCAnimBlendAssoc_Start CAnimBlendAssoc_Start = (hCAnimBlendAssoc_Start)0x004CEB70; |
4079 | | - |
4080 | | - CAnimBlendAssoc * pAnimAssocToSyncWith2 = (CAnimBlendAssoc *)pAnimAssocToSyncWith; |
4081 | | - CAnimBlendAssoc *pAnimAssoc; // esi |
4082 | | - int *pClumpData; // edi |
4083 | | - DWORD *tempAssoc; // eax |
4084 | | - int nextAssoc; // ecx |
4085 | | - |
4086 | | - pAnimAssoc = CAnimBlendAssocGroup_CopyAnimation((DWORD *) (*(DWORD*)0x00B4EA34) + 5 * animGroup, animID); |
4087 | | - pClumpData = *(int **)( (*(DWORD*)0xB5F878) + (int)pClump); |
4088 | | - if ( (*((BYTE *)pAnimAssoc + 46) >> 5) & 1 && pAnimAssocToSyncWith2 ) |
4089 | | - { |
4090 | | - CAnimBlendAssoc_SyncAnimation ( pAnimAssoc, pAnimAssocToSyncWith2); |
4091 | | - *((BYTE *)pAnimAssoc + 46) |= 1u; |
4092 | | - } |
4093 | | - else |
4094 | | - { |
4095 | | - CAnimBlendAssoc_Start ( pAnimAssoc, 0); |
4096 | | - } |
4097 | | - |
4098 | | - tempAssoc = ((DWORD*)pAnimAssoc) + 1; |
4099 | | - |
4100 | | - if ( *pClumpData ) |
4101 | | - *(DWORD *)(*pClumpData + 4) = (DWORD)tempAssoc; |
4102 | | - |
4103 | | - nextAssoc = *pClumpData; |
4104 | | - |
4105 | | - DWORD * dwpAnimAssoc = (DWORD*) pAnimAssoc; |
4106 | | - |
4107 | | - dwpAnimAssoc[2] = (DWORD)pClumpData; |
4108 | | - |
4109 | | - *tempAssoc = nextAssoc; |
4110 | | - |
4111 | | - *pClumpData = (int)tempAssoc; |
4112 | | - return (CAnimBlendAssociationSAInterface *)pAnimAssoc; |
| 4006 | + return nullptr; |
4113 | 4007 | } |
4114 | 4008 |
|
4115 | 4009 | CAnimBlendHierarchySAInterface * CClientGame::BlendAnimationHierarchyHandler ( RpClump * pClump, CAnimBlendHierarchySAInterface * pAnimHierarchy, int flags, float fBlendDelta ) |
|
0 commit comments