mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-01-25 22:24:16 +00:00
Fix build.
This commit is contained in:
parent
4f79613eef
commit
8a27e679bd
@ -314,6 +314,7 @@ int CBasePlayerItem::Restore( class CRestore & ) { return 1; }
|
|||||||
int CBasePlayerItem::Save( class CSave & ) { return 1; }
|
int CBasePlayerItem::Save( class CSave & ) { return 1; }
|
||||||
int CBasePlayerWeapon::Restore( class CRestore & ) { return 1; }
|
int CBasePlayerWeapon::Restore( class CRestore & ) { return 1; }
|
||||||
int CBasePlayerWeapon::Save( class CSave & ) { return 1; }
|
int CBasePlayerWeapon::Save( class CSave & ) { return 1; }
|
||||||
|
float CBasePlayerWeapon::GetNextAttackDelay( float flTime ) { return flTime; }
|
||||||
void CBasePlayerItem::SetObjectCollisionBox( void ) { }
|
void CBasePlayerItem::SetObjectCollisionBox( void ) { }
|
||||||
void CBasePlayerItem::FallInit( void ) { }
|
void CBasePlayerItem::FallInit( void ) { }
|
||||||
void CBasePlayerItem::FallThink( void ) { }
|
void CBasePlayerItem::FallThink( void ) { }
|
||||||
|
@ -625,6 +625,11 @@ void CBasePlayerWeapon::ItemPostFrame( void )
|
|||||||
m_fInReload = FALSE;
|
m_fInReload = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( !( m_pPlayer->pev->button & IN_ATTACK ) )
|
||||||
|
{
|
||||||
|
m_flLastFireTime = 0.0f;
|
||||||
|
}
|
||||||
|
|
||||||
if( ( m_pPlayer->pev->button & IN_ATTACK2 ) && CanAttack( m_flNextSecondaryAttack, gpGlobals->time, UseDecrement() ) )
|
if( ( m_pPlayer->pev->button & IN_ATTACK2 ) && CanAttack( m_flNextSecondaryAttack, gpGlobals->time, UseDecrement() ) )
|
||||||
{
|
{
|
||||||
if( pszAmmo2() && !m_pPlayer->m_rgAmmo[SecondaryAmmoIndex()] )
|
if( pszAmmo2() && !m_pPlayer->m_rgAmmo[SecondaryAmmoIndex()] )
|
||||||
@ -963,6 +968,7 @@ BOOL CBasePlayerWeapon::DefaultDeploy( char *szViewModel, char *szWeaponModel, i
|
|||||||
|
|
||||||
m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5;
|
m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5;
|
||||||
m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 1.0;
|
m_flTimeWeaponIdle = UTIL_WeaponTimeBase() + 1.0;
|
||||||
|
m_flLastFireTime = 0.0f;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -1150,6 +1156,37 @@ void CBasePlayerWeapon::RetireWeapon( void )
|
|||||||
g_pGameRules->GetNextBestWeapon( m_pPlayer, this );
|
g_pGameRules->GetNextBestWeapon( m_pPlayer, this );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//=========================================================================
|
||||||
|
// GetNextAttackDelay - An accurate way of calcualting the next attack time.
|
||||||
|
//=========================================================================
|
||||||
|
float CBasePlayerWeapon::GetNextAttackDelay( float delay )
|
||||||
|
{
|
||||||
|
if( m_flLastFireTime == 0 || m_flNextPrimaryAttack == -1 )
|
||||||
|
{
|
||||||
|
// At this point, we are assuming that the client has stopped firing
|
||||||
|
// and we are going to reset our book keeping variables.
|
||||||
|
m_flLastFireTime = gpGlobals->time;
|
||||||
|
m_flPrevPrimaryAttack = delay;
|
||||||
|
}
|
||||||
|
|
||||||
|
// calculate the time between this shot and the previous
|
||||||
|
float flTimeBetweenFires = gpGlobals->time - m_flLastFireTime;
|
||||||
|
float flCreep = 0.0f;
|
||||||
|
if( flTimeBetweenFires > 0 )
|
||||||
|
flCreep = flTimeBetweenFires - m_flPrevPrimaryAttack; // postive or negative
|
||||||
|
|
||||||
|
// save the last fire time
|
||||||
|
m_flLastFireTime = gpGlobals->time;
|
||||||
|
|
||||||
|
float flNextAttack = UTIL_WeaponTimeBase() + delay - flCreep;
|
||||||
|
// we need to remember what the m_flNextPrimaryAttack time is set to for each shot,
|
||||||
|
// store it as m_flPrevPrimaryAttack.
|
||||||
|
m_flPrevPrimaryAttack = flNextAttack - UTIL_WeaponTimeBase();
|
||||||
|
//char szMsg[256];
|
||||||
|
//_snprintf( szMsg, sizeof(szMsg), "next attack time: %0.4f\n", gpGlobals->time + flNextAttack );
|
||||||
|
//OutputDebugString( szMsg );
|
||||||
|
return flNextAttack;
|
||||||
|
}
|
||||||
//*********************************************************
|
//*********************************************************
|
||||||
// weaponbox code:
|
// weaponbox code:
|
||||||
//*********************************************************
|
//*********************************************************
|
||||||
|
@ -335,6 +335,7 @@ public:
|
|||||||
void PrintState( void );
|
void PrintState( void );
|
||||||
|
|
||||||
virtual CBasePlayerItem *GetWeaponPtr( void ) { return (CBasePlayerItem *)this; };
|
virtual CBasePlayerItem *GetWeaponPtr( void ) { return (CBasePlayerItem *)this; };
|
||||||
|
float GetNextAttackDelay( float delay );
|
||||||
|
|
||||||
float m_flPumpTime;
|
float m_flPumpTime;
|
||||||
int m_fInSpecialReload; // Are we in the middle of a reload for the shotguns
|
int m_fInSpecialReload; // Are we in the middle of a reload for the shotguns
|
||||||
@ -349,6 +350,10 @@ public:
|
|||||||
int m_fInReload; // Are we in the middle of a reload;
|
int m_fInReload; // Are we in the middle of a reload;
|
||||||
|
|
||||||
int m_iDefaultAmmo;// how much ammo you get when you pick up this weapon as placed by a level designer.
|
int m_iDefaultAmmo;// how much ammo you get when you pick up this weapon as placed by a level designer.
|
||||||
|
|
||||||
|
// hle time creep vars
|
||||||
|
float m_flPrevPrimaryAttack;
|
||||||
|
float m_flLastFireTime;
|
||||||
};
|
};
|
||||||
|
|
||||||
class CBasePlayerAmmo : public CBaseEntity
|
class CBasePlayerAmmo : public CBaseEntity
|
||||||
|
Loading…
x
Reference in New Issue
Block a user