|
|
//========= Copyright � 1996-2005, 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"
#include "postprocesscontroller.h"
#include "colorcorrection.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 ); // Last time the user pressed duck (to handle duck-spam)
CNetworkVar( float, m_flLastDuckTime ); // In process of duck-jumping
CNetworkVar( bool, m_bInDuckJump ); // During ducking process, amount of time before full duc
CNetworkVar( int, m_nDuckTimeMsecs ); CNetworkVar( int, m_nDuckJumpTimeMsecs ); // Jump time, time to auto unduck (since we auto crouch jump now).
CNetworkVar( int, m_nJumpTimeMsecs ); // 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; 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
#if PREDICTION_ERROR_CHECK_LEVEL > 1
CNetworkQAngleXYZ( m_viewPunchAngle ); CNetworkQAngleXYZ( m_aimPunchAngle ); CNetworkQAngleXYZ( m_aimPunchAngleVel ); #else
CNetworkQAngle( m_viewPunchAngle ); CNetworkQAngle( m_aimPunchAngle ); CNetworkQAngle( m_aimPunchAngleVel ); #endif
// 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 );
// Autoaim
CNetworkVar( bool, m_bAutoAimTarget );
// 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 ); CNetworkVar( float, m_fTBeamEndTime ); };
EXTERN_SEND_TABLE(DT_Local);
#endif // PLAYERLOCALDATA_H
|