//========= Copyright 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, lerptime ); CNetworkVar( float, duration ); CNetworkVar( bool, enable ); CNetworkVar( bool, blend ); }; // 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; color32 m_NewColor; float m_flNewStart; float m_flNewEnd; fogplayerparams_t() { m_hCtrl.Set( NULL ); m_flTransitionTime = -1.0f; m_OldColor.r = m_OldColor.g = m_OldColor.b = m_OldColor.a = 0; m_flOldStart = 0.0f; m_flOldEnd = 0.0f; m_NewColor.r = m_NewColor.g = m_NewColor.b = m_NewColor.a = 0; m_flNewStart = 0.0f; m_flNewEnd = 0.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 CNetworkHandle( CBaseEntity, ent ); // the entity setting the soundscape }; #endif // PLAYERNET_VARS_H