diff options
Diffstat (limited to 'game/server/playerlocaldata.h')
| -rw-r--r-- | game/server/playerlocaldata.h | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/game/server/playerlocaldata.h b/game/server/playerlocaldata.h new file mode 100644 index 0000000..6843e56 --- /dev/null +++ b/game/server/playerlocaldata.h @@ -0,0 +1,93 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef PLAYERLOCALDATA_H +#define PLAYERLOCALDATA_H +#ifdef _WIN32 +#pragma once +#endif + + +#include "playernet_vars.h" +#include "networkvar.h" +#include "fogcontroller.h" + +//----------------------------------------------------------------------------- +// Purpose: Player specific data ( sent only to local player, too ) +//----------------------------------------------------------------------------- +class CPlayerLocalData +{ +public: + // Save/restore + DECLARE_SIMPLE_DATADESC(); + // Prediction data copying + DECLARE_CLASS_NOBASE( CPlayerLocalData ); + DECLARE_EMBEDDED_NETWORKVAR(); + + CPlayerLocalData(); + + void UpdateAreaBits( CBasePlayer *pl, unsigned char chAreaPortalBits[MAX_AREA_PORTAL_STATE_BYTES] ); + + +public: + + CNetworkArray( unsigned char, m_chAreaBits, MAX_AREA_STATE_BYTES ); // Which areas are potentially visible to the client? + CNetworkArray( unsigned char, m_chAreaPortalBits, MAX_AREA_PORTAL_STATE_BYTES ); // Which area portals are open? + + CNetworkVar( int, m_iHideHUD ); // bitfields containing sections of the HUD to hide + CNetworkVar( float, m_flFOVRate ); // rate at which the FOV changes (defaults to 0) + + Vector m_vecOverViewpoint; // Viewpoint overriding the real player's viewpoint + + // Fully ducked + CNetworkVar( bool, m_bDucked ); + // In process of ducking + CNetworkVar( bool, m_bDucking ); + // In process of duck-jumping + CNetworkVar( bool, m_bInDuckJump ); + // During ducking process, amount of time before full duc + CNetworkVar( float, m_flDucktime ); + CNetworkVar( float, m_flDuckJumpTime ); + // Jump time, time to auto unduck (since we auto crouch jump now). + CNetworkVar( float, m_flJumpTime ); + // Step sound side flip/flip + int m_nStepside;; + // Velocity at time when we hit ground + CNetworkVar( float, m_flFallVelocity ); + // Previous button state + int m_nOldButtons; + float m_flOldForwardMove; + class CSkyCamera *m_pOldSkyCamera; + // Base velocity that was passed in to server physics so + // client can predict conveyors correctly. Server zeroes it, so we need to store here, too. + // auto-decaying view angle adjustment + CNetworkQAngle( m_vecPunchAngle ); + CNetworkQAngle( m_vecPunchAngleVel ); + // Draw view model for the player + CNetworkVar( bool, m_bDrawViewmodel ); + + // Is the player wearing the HEV suit + CNetworkVar( bool, m_bWearingSuit ); + CNetworkVar( bool, m_bPoisoned ); + CNetworkVar( float, m_flStepSize ); + CNetworkVar( bool, m_bAllowAutoMovement ); + + // 3d skybox + CNetworkVarEmbedded( sky3dparams_t, m_skybox3d ); + // world fog + CNetworkVarEmbedded( fogplayerparams_t, m_PlayerFog ); + fogparams_t m_fog; + // audio environment + CNetworkVarEmbedded( audioparams_t, m_audio ); + + CNetworkVar( bool, m_bSlowMovement ); +}; + +EXTERN_SEND_TABLE(DT_Local); + + +#endif // PLAYERLOCALDATA_H |