You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
3.3 KiB
105 lines
3.3 KiB
//========= 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
|