mirror of
https://github.com/celisej567/source-sdk-2013.git
synced 2026-09-23 20:09:45 +03:00
- Overhauled matcher system and added expanded wildcard support, meaning "text", "te?t", "blah_test", etc. are now supported instead of only trailing * - Added support for regular expression matching - Added the missing matrixinvert.h file, which prevented programmers from compiling vbsp - Fixed env_global_light brightness - Added info_player_view_proxy, an entity which mimics a player's view (created for script_intro) - New UnZoomWithRate and SetZoomRate inputs on env_zoom - New "Don't change target's angles" flag on logic_measure_movement - Fixed logic_measure_movement not using ignore origin flags correctly - Fixed filter_damage_mod secondary filter not recognizing mode correctly - Fixed DisableGeigerCounter causing NPCs to ignore player, and possibly fixed other adverse effects in similar code - Added SetEntityName input for setting an entity's targetname - Added "SetTarget" support to point_posecontroller - Added "sk_alyx_health" convar for adjustable npc_alyx health, restored/fixed "sk_barney_health" for adjustable npc_barney health - Added ignore flags and several direction-related inputs to math_vector - Added pose parameter stuff to logic_modelinfo - Fixed ChangeWeapon not changing during combat - Fixed holster/unholster on NPCs without holster/unholster animations - Fixed func_tank and other "player in the way" code ignoring notarget - Added SetPoseParameter input to animating entities - Introduced an experimental chapter system which allows for custom chapter title/restriction management - Added SetChapterTitle input to worldspawn for dynamic title changing - Fixed func_tankairboatgun damage credit, added ability to use its damage keyvalues - Fixed mapbase_rpc_enabled not actually affecting RPC - Moved some newly found Combine soldier grenade code to ai_grenade for other grenade users - Fixed some problems with the new shared activities - Restored an old Mapbase entity as "prop_interactable", an entity which contains all of the functionality of a func_button/func_door in a prop entity - Added env_microphone pitch scale for scaling the pitch of transmitted sounds - Added experimental, long-overdue code for scenes to be able to access !target#'s and other scene-related names through AI_INPUT - Added "mat_specular_disable_on_missing", which "disables" specular reflections when the cubemap texture is missing - Fixed $envmapmasktransform and $bumptransform on VertexLitGeneric and related shaders - Areaportal leaks now stop compilation in leaktest - Replaced "-nodefaultcubemap" with "-defaultcubemap" as the shader changes allow maps to compile without default cubemaps by default with little effect
99 lines
2.4 KiB
C++
99 lines
2.4 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 );
|
|
|
|
#ifdef MAPBASE
|
|
inline const char *GetChapterTitle()
|
|
{
|
|
return STRING(m_iszChapterTitle.Get());
|
|
}
|
|
|
|
void InputSetChapterTitle( inputdata_t &inputdata );
|
|
#endif
|
|
|
|
private:
|
|
DECLARE_DATADESC();
|
|
|
|
#ifdef MAPBASE
|
|
// Now needs to show up on the client for RPC
|
|
CNetworkVar( string_t, m_iszChapterTitle );
|
|
|
|
// Suppresses m_iszChapterTitle's env_message creation,
|
|
// allowing it to only be used for saves and RPC
|
|
bool m_bChapterTitleNoMessage;
|
|
#else
|
|
string_t m_iszChapterTitle;
|
|
#endif
|
|
|
|
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
|