Files
HL2Overcharged/game/server/world.h
2025-05-21 21:20:08 +03:00

81 lines
2.0 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: The worldspawn entity. This spawns first when each level begins.
//
// $NoKeywords: $
//=============================================================================//
#ifndef WORLD_H
#define WORLD_H
#ifdef _WIN32
#pragma once
#endif
class CWorld : public CBaseEntity
{
public:
DECLARE_CLASS(CWorld, CBaseEntity);
CWorld();
~CWorld();
DECLARE_SERVERCLASS();
virtual int RequiredEdictIndex(void) { return 0; } // the world always needs to be in slot 0
static void RegisterSharedActivities(void);
static void RegisterSharedEvents(void);
virtual void Spawn(void);
virtual void Precache(void);
virtual bool KeyValue(const char *szKeyName, const char *szValue);
virtual void DecalTrace(trace_t *pTrace, char const *decalName);
virtual void VPhysicsCollision(int index, gamevcollisionevent_t *pEvent) {}
virtual void VPhysicsFriction(IPhysicsObject *pObject, float energy, int surfaceProps, int surfacePropsHit) {}
inline void GetWorldBounds(Vector &vecMins, Vector &vecMaxs)
{
VectorCopy(m_WorldMins, vecMins);
VectorCopy(m_WorldMaxs, vecMaxs);
}
inline float GetWaveHeight() const
{
return (float)m_flWaveHeight;
}
bool GetDisplayTitle() const;
bool GetStartDark() const;
void SetDisplayTitle(bool display);
void SetStartDark(bool startdark);
bool IsColdWorld(void);
private:
DECLARE_DATADESC();
string_t m_iszChapterTitle;
CNetworkVar(float, m_flWaveHeight);
CNetworkVector(m_WorldMins);
CNetworkVector(m_WorldMaxs);
CNetworkVar(float, m_flMaxOccludeeArea);
CNetworkVar(float, m_flMinOccluderArea);
CNetworkVar(float, m_flMinPropScreenSpaceWidth);
CNetworkVar(float, m_flMaxPropScreenSpaceWidth);
CNetworkVar(string_t, m_iszDetailSpriteMaterial);
// start flags
CNetworkVar(bool, m_bStartDark);
CNetworkVar(bool, m_bColdWorld);
bool m_bDisplayTitle;
};
CWorld* GetWorldEntity();
extern const char *GetDefaultLightstyleString(int styleIndex);
#endif // WORLD_H