//========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============// // // Purpose: // // $NoKeywords: $ //=============================================================================// #ifndef CBASE_H #define CBASE_H #ifdef _WIN32 #pragma once #endif #ifdef _WIN32 // Silence certain warnings #pragma warning(disable : 4244) // int or float down-conversion #pragma warning(disable : 4305) // int or float data truncation #pragma warning(disable : 4201) // nameless struct/union #pragma warning(disable : 4511) // copy constructor could not be generated #pragma warning(disable : 4675) // resolved overload was found by argument dependent lookup #endif #ifdef _DEBUG #define DEBUG 1 #endif // Misc C-runtime library headers #include #include // tier 0 #include "tier0/dbg.h" #include "tier0/platform.h" #include "basetypes.h" // tier 1 #include "tier1/strtools.h" #include "utlvector.h" #include "mathlib/vmatrix.h" // tier 2 #include "string_t.h" // tier 3 #include "vphysics_interface.h" #ifdef IS_WINDOWS_PC #define SERVER_USES_VGUI 1 #endif // Shared engine/DLL constants #include "const.h" #include "edict.h" // Shared header describing protocol between engine and DLLs #include "eiface.h" #include "iserverentity.h" #include "dt_send.h" // Shared header between the client DLL and the game DLLs #include "shareddefs.h" #include "ehandle.h" // app #if defined(_X360) #define DISABLE_DEBUG_HISTORY 1 #endif #include "datamap.h" #include "util.h" #include "predictable_entity.h" #include "predictableid.h" #include "variant_t.h" #include "takedamageinfo.h" #include "utllinkedlist.h" #include "touchlink.h" #include "groundlink.h" #include "base_transmit_proxy.h" #include "soundflags.h" #include "networkvar.h" #include "sharedvar.h" #include "baseentity_shared.h" #include "basetoggle.h" #include "igameevents.h" // saverestore.h declarations class ISave; class IRestore; // maximum number of targets a single multi_manager entity may be assigned. #define MAX_MULTI_TARGETS 16 // NPCEvent.h declarations struct animevent_t; struct studiohdr_t; class CStudioHdr; extern void FireTargets( const char *targetName, CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value ); // people gib if their health is <= this at the time of death #define GIB_HEALTH_VALUE -30 #define MAX_OLD_ENEMIES 4 // how many old enemies to remember // used by suit voice to indicate damage sustained and repaired type to player enum { itbd_Paralyze = 0, itbd_NerveGas, itbd_PoisonRecover, itbd_Radiation, itbd_DrownRecover, itbd_Acid, itbd_SlowBurn, itbd_SlowFreeze, // Must be last! CDMG_TIMEBASED }; // when calling KILLED(), a value that governs gib behavior is expected to be // one of these three values #define GIB_NORMAL 0// gib if entity was overkilled #define GIB_NEVER 1// never gib, no matter how much death damage is done ( freezing, etc ) #define GIB_ALWAYS 2// always gib class CAI_BaseNPC; class CAI_ScriptedSequence; class CSound; #ifdef _XBOX //#define FUNCTANK_AUTOUSE We haven't made the decision to use this yet (sjb) #else #undef FUNCTANK_AUTOUSE #endif//_XBOX // This is a precompiled header. Include a bunch of common stuff. // This is kind of ugly in that it adds a bunch of dependency where it isn't needed. // But on balance, the compile time is much lower (even incrementally) once the precompiled // headers contain these headers. #include "precache_register.h" #include "baseanimating.h" #include "basecombatweapon.h" #include "basecombatcharacter.h" #include "gamerules.h" #include "entitylist.h" #include "basetempentity.h" #include "player.h" #include "te.h" #include "physics.h" #include "ndebugoverlay.h" #include "recipientfilter.h" #include "npcevent.h" #include "vprof.h" #endif // CBASE_H