|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef PLAYERNET_VARS_H
#define PLAYERNET_VARS_H
#ifdef _WIN32
#pragma once
#endif
#include "shared_classnames.h"
#define NUM_AUDIO_LOCAL_SOUNDS 8
// These structs are contained in each player's local data and shared by the client & server
struct fogparams_t { DECLARE_CLASS_NOBASE( fogparams_t ); DECLARE_EMBEDDED_NETWORKVAR();
#ifndef CLIENT_DLL
DECLARE_SIMPLE_DATADESC(); #endif
bool operator !=( const fogparams_t& other ) const;
CNetworkVector( dirPrimary ); CNetworkColor32( colorPrimary ); CNetworkColor32( colorSecondary ); CNetworkColor32( colorPrimaryLerpTo ); CNetworkColor32( colorSecondaryLerpTo ); CNetworkVar( float, start ); CNetworkVar( float, end ); CNetworkVar( float, farz ); CNetworkVar( float, maxdensity );
CNetworkVar( float, startLerpTo ); CNetworkVar( float, endLerpTo ); CNetworkVar( float, maxdensityLerpTo ); CNetworkVar( float, lerptime ); CNetworkVar( float, duration ); CNetworkVar( bool, enable ); CNetworkVar( bool, blend );
CNetworkVar( float, ZoomFogScale );
CNetworkVar( float, HDRColorScale ); };
// Crappy. Needs to be here because it wants to use
#ifdef CLIENT_DLL
#define CFogController C_FogController
#endif
class CFogController;
struct fogplayerparams_t { DECLARE_CLASS_NOBASE( fogplayerparams_t ); DECLARE_EMBEDDED_NETWORKVAR();
#ifndef CLIENT_DLL
DECLARE_SIMPLE_DATADESC(); #endif
CNetworkHandle( CFogController, m_hCtrl ); float m_flTransitionTime;
color32 m_OldColor; float m_flOldStart; float m_flOldEnd; float m_flOldMaxDensity; float m_flOldHDRColorScale; float m_flOldFarZ;
color32 m_NewColor; float m_flNewStart; float m_flNewEnd; float m_flNewMaxDensity; float m_flNewHDRColorScale; float m_flNewFarZ;
float m_flZoomFogScale;
fogplayerparams_t() { m_hCtrl.Set( NULL ); m_flTransitionTime = -1.0f; m_OldColor.r = m_OldColor.g = m_OldColor.g = m_OldColor.a = 0.0f; m_flOldStart = 0.0f; m_flOldEnd = 0.0f; m_flOldMaxDensity = 1.0f; m_flOldHDRColorScale = 1.0f; m_flOldFarZ = 0; m_NewColor.r = m_NewColor.g = m_NewColor.g = m_NewColor.a = 0.0f; m_flNewStart = 0.0f; m_flNewEnd = 0.0f; m_flNewMaxDensity = 1.0f; m_flNewHDRColorScale = 1.0f; m_flNewFarZ = 0; m_flZoomFogScale = 1.0f; } };
struct sky3dparams_t { DECLARE_CLASS_NOBASE( sky3dparams_t ); DECLARE_EMBEDDED_NETWORKVAR();
#ifndef CLIENT_DLL
DECLARE_SIMPLE_DATADESC(); #endif
// 3d skybox camera data
CNetworkVar( int, scale ); CNetworkVector( origin ); CNetworkVar( int, area );
// 3d skybox fog data
CNetworkVarEmbedded( fogparams_t, fog ); };
struct audioparams_t { DECLARE_CLASS_NOBASE( audioparams_t ); DECLARE_EMBEDDED_NETWORKVAR();
#ifndef CLIENT_DLL
DECLARE_SIMPLE_DATADESC(); #endif
CNetworkArray( Vector, localSound, NUM_AUDIO_LOCAL_SOUNDS ) CNetworkVar( int, soundscapeIndex ); // index of the current soundscape from soundscape.txt
CNetworkVar( int, localBits ); // if bits 0,1,2,3 are set then position 0,1,2,3 are valid/used
CNetworkVar( int, entIndex ); // the entity setting the soundscape
};
#endif // PLAYERNET_VARS_H
|