Skip to content

Commit 13a8582

Browse files
Synchronize changes from 1.6 master branch [ci skip]
8b199c4 Follow-up to pull request #4326 (PR #4328) 5f7cb8e Visual Studio Update 449cf0f Update client en_US pot
2 parents 1c0e44f + 8b199c4 commit 13a8582

File tree

3 files changed

+14
-2
lines changed

3 files changed

+14
-2
lines changed

Client/mods/deathmatch/logic/CNetAPI.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1119,8 +1119,16 @@ void CNetAPI::WritePlayerPuresync(CClientPlayer* pPlayerModel, NetBitStreamInter
11191119
flags.data.bSyncingVelocity = (!flags.data.bIsOnGround || (pPlayerModel->GetPlayerSyncCount() % 4) == 0);
11201120
flags.data.bStealthAiming = (pPlayerModel->IsStealthAiming() == true);
11211121
flags.data.isReloadingWeapon = (pPlayerModel->IsReloadingWeapon() == true);
1122+
flags.data.animInterrupted = pPlayerModel->HasSyncedAnim() && (!pPlayerModel->IsRunningAnimation() || pPlayerModel->m_animationOverridedByClient);
11221123

1123-
if (pPlayerWeapon->GetSlot() > 15)
1124+
// The animation has been overwritten or interrupted by the client
1125+
if (flags.data.animInterrupted)
1126+
{
1127+
pPlayerModel->SetHasSyncedAnim(false);
1128+
pPlayerModel->m_animationOverridedByClient = false;
1129+
}
1130+
1131+
if (flags.data.bHasAWeapon && pPlayerWeapon->GetSlot() > 15)
11241132
flags.data.bHasAWeapon = false;
11251133

11261134
BitStream.Write(&flags);

Server/mods/deathmatch/logic/packets/CPlayerPuresyncPacket.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ bool CPlayerPuresyncPacket::Read(NetBitStreamInterface& BitStream)
6363
pSourcePlayer->SetStealthAiming(flags.data.bStealthAiming);
6464
pSourcePlayer->SetReloadingWeapon(flags.data.isReloadingWeapon);
6565

66+
if (flags.data.animInterrupted)
67+
pSourcePlayer->SetAnimationData({});
68+
6669
// Contact element
6770
CElement* pContactElement = NULL;
6871
if (flags.data.bHasContact)

Shared/sdk/net/SyncStructures.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ struct SPlayerPuresyncFlags : public ISyncStructure
544544
{
545545
enum
546546
{
547-
BITCOUNT = 13
547+
BITCOUNT = 14
548548
};
549549

550550
bool Read(NetBitStreamInterface& stream)
@@ -572,6 +572,7 @@ struct SPlayerPuresyncFlags : public ISyncStructure
572572
bool bSyncingVelocity : 1;
573573
bool bStealthAiming : 1;
574574
bool isReloadingWeapon : 1;
575+
bool animInterrupted : 1;
575576
} data;
576577
};
577578

0 commit comments

Comments
 (0)