Browse Source

Replace usage of m_ForceSendAnimations with entvars to avoid changing the class data layout (#306)

fix-cwd-path
Roman Chistokhodov 2 years ago committed by GitHub
parent
commit
e12d1aa743
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      dlls/player.cpp
  2. 2
      dlls/weapons.cpp
  3. 3
      dlls/weapons.h

28
dlls/player.cpp

@ -3095,15 +3095,9 @@ void CBasePlayer::SelectItem( const char *pstr )
if( m_pActiveItem ) if( m_pActiveItem )
{ {
CBasePlayerWeapon* weapon = (CBasePlayerWeapon*)(m_pActiveItem->GetWeaponPtr()); m_pActiveItem->pev->oldbuttons = 1;
if (weapon)
weapon->m_ForceSendAnimations = true;
m_pActiveItem->Deploy(); m_pActiveItem->Deploy();
m_pActiveItem->pev->oldbuttons = 0;
if (weapon)
weapon->m_ForceSendAnimations = false;
m_pActiveItem->UpdateItemInfo(); m_pActiveItem->UpdateItemInfo();
} }
} }
@ -3130,14 +3124,9 @@ void CBasePlayer::SelectLastItem( void )
m_pActiveItem = m_pLastItem; m_pActiveItem = m_pLastItem;
m_pLastItem = pTemp; m_pLastItem = pTemp;
CBasePlayerWeapon* weapon = (CBasePlayerWeapon*)(m_pActiveItem->GetWeaponPtr()); m_pActiveItem->pev->oldbuttons = 1;
if (weapon)
weapon->m_ForceSendAnimations = true;
m_pActiveItem->Deploy(); m_pActiveItem->Deploy();
m_pActiveItem->pev->oldbuttons = 0;
if (weapon)
weapon->m_ForceSendAnimations = false;
m_pActiveItem->UpdateItemInfo(); m_pActiveItem->UpdateItemInfo();
} }
@ -4610,14 +4599,9 @@ BOOL CBasePlayer::SwitchWeapon( CBasePlayerItem *pWeapon )
m_pActiveItem = pWeapon; m_pActiveItem = pWeapon;
CBasePlayerWeapon* weapon = (CBasePlayerWeapon*)(pWeapon->GetWeaponPtr()); pWeapon->pev->oldbuttons = 1;
if (weapon)
weapon->m_ForceSendAnimations = true;
pWeapon->Deploy(); pWeapon->Deploy();
pWeapon->pev->oldbuttons = 0;
if (weapon)
weapon->m_ForceSendAnimations = false;
return TRUE; return TRUE;
} }

2
dlls/weapons.cpp

@ -820,7 +820,7 @@ int CBasePlayerWeapon::UpdateClientData( CBasePlayer *pPlayer )
void CBasePlayerWeapon::SendWeaponAnim( int iAnim, int skiplocal, int body ) void CBasePlayerWeapon::SendWeaponAnim( int iAnim, int skiplocal, int body )
{ {
if( UseDecrement() ) if( UseDecrement() )
skiplocal = !m_ForceSendAnimations; skiplocal = !pev->oldbuttons;
else else
skiplocal = 0; skiplocal = 0;

3
dlls/weapons.h

@ -349,9 +349,6 @@ public:
// hle time creep vars // hle time creep vars
float m_flPrevPrimaryAttack; float m_flPrevPrimaryAttack;
float m_flLastFireTime; float m_flLastFireTime;
//Hack so deploy animations work when weapon prediction is enabled.
bool m_ForceSendAnimations;
}; };
class CBasePlayerAmmo : public CBaseEntity class CBasePlayerAmmo : public CBaseEntity

Loading…
Cancel
Save