mirror of
https://github.com/Gigaslav/HL2Overcharged.git
synced 2026-01-06 10:10:03 +03:00
81 lines
1.9 KiB
C++
81 lines
1.9 KiB
C++
#ifndef CDEF_LIGHT_CONTAINER_H
|
|
#define CDEF_LIGHT_CONTAINER_H
|
|
|
|
class CDeferredLight;
|
|
|
|
class CDeferredLightContainer : public CBaseEntity
|
|
{
|
|
DECLARE_CLASS( CDeferredLightContainer, CBaseEntity );
|
|
DECLARE_NETWORKCLASS();
|
|
|
|
public:
|
|
|
|
CDeferredLightContainer();
|
|
~CDeferredLightContainer();
|
|
|
|
#ifdef GAME_DLL
|
|
virtual void Activate();
|
|
|
|
virtual int UpdateTransmitState();
|
|
|
|
void AddWorldLight( CDeferredLight *l );
|
|
#else
|
|
virtual void PostDataUpdate( DataUpdateType_t type );
|
|
|
|
virtual void UpdateOnRemove();
|
|
|
|
virtual void ReadWorldLight( int index, def_light_t &l );
|
|
#endif
|
|
|
|
int GetLightsAmount() const;
|
|
|
|
private:
|
|
|
|
/*
|
|
floats vector3d
|
|
origin 123
|
|
angles 123
|
|
coldiff 123
|
|
colamb 123
|
|
style 123
|
|
ranges 123
|
|
stylew 1 radius 2 power 3
|
|
ranges 1 cinner 2 couter 3
|
|
|
|
ints
|
|
styleseed(15) cookie(7) flags(5) lighttype(1)
|
|
*/
|
|
|
|
CNetworkArray( Vector, m_pos, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
CNetworkArray( QAngle, m_ang, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
CNetworkArray( Vector, m_col_diff, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
CNetworkArray( Vector, m_col_amb, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
CNetworkArray( Vector, m_style_amt_speed_smooth, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
CNetworkArray( Vector, m_ranges_vdist_vrange_sdist, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
CNetworkArray( Vector, m_style_ran_radius_power, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
CNetworkArray( Vector, m_ranges_srange_cinner_couter, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
|
|
CNetworkArray( int, m_type_flags_cookieindex_seed, DEFLIGHTCONTAINER_MAXLIGHTS );
|
|
|
|
CNetworkVar( int, m_iLightCount );
|
|
|
|
#ifdef GAME_DLL
|
|
void SetEncodedDataInt( const int index,
|
|
int seed, int cookie, int flags, int lighttype );
|
|
#endif
|
|
void ReadEncodedDataInt( const int index,
|
|
uint16 &seed, uint8 &cookie, uint8 &flags, uint8 &lighttype );
|
|
|
|
#ifdef CLIENT_DLL
|
|
int m_iSanityCounter;
|
|
|
|
CUtlVector< def_light_t* > m_hLights;
|
|
#endif
|
|
|
|
};
|
|
|
|
int GetNumLightContainers();
|
|
CDeferredLightContainer *GetLightContainer( int index );
|
|
CDeferredLightContainer *FindAvailableContainer();
|
|
|
|
#endif |