source-engine/game/shared/playernet_vars.h

124 lines
2.7 KiB
C
Raw Normal View History

2020-04-23 00:56:21 +08:00
//========= 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