98 lines
3.1 KiB
C++
98 lines
3.1 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose:
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef PLAYERLOCALDATA_H
|
|
#define PLAYERLOCALDATA_H
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "fogcontroller.h"
|
|
#include "networkvar.h"
|
|
#include "playernet_vars.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;
|
|
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
|