Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

158 lines
3.6 KiB

  1. //========= Copyright © 1996-2005, Valve Corporation, All rights reserved. ============//
  2. //
  3. // Purpose:
  4. //
  5. // $NoKeywords: $
  6. //=============================================================================//
  7. #ifndef CBASE_H
  8. #define CBASE_H
  9. #ifdef _WIN32
  10. #pragma once
  11. #endif
  12. #ifdef _WIN32
  13. // Silence certain warnings
  14. #pragma warning(disable : 4244) // int or float down-conversion
  15. #pragma warning(disable : 4305) // int or float data truncation
  16. #pragma warning(disable : 4201) // nameless struct/union
  17. #pragma warning(disable : 4511) // copy constructor could not be generated
  18. #pragma warning(disable : 4675) // resolved overload was found by argument dependent lookup
  19. #endif
  20. #ifdef _DEBUG
  21. #define DEBUG 1
  22. #endif
  23. // Misc C-runtime library headers
  24. #include <math.h>
  25. #include <stdio.h>
  26. // tier 0
  27. #include "tier0/dbg.h"
  28. #include "tier0/platform.h"
  29. #include "basetypes.h"
  30. // tier 1
  31. #include "tier1/strtools.h"
  32. #include "utlvector.h"
  33. #include "mathlib/vmatrix.h"
  34. // tier 2
  35. #include "string_t.h"
  36. // tier 3
  37. #include "vphysics_interface.h"
  38. #ifdef IS_WINDOWS_PC
  39. #define SERVER_USES_VGUI 1
  40. #endif
  41. // Shared engine/DLL constants
  42. #include "const.h"
  43. #include "edict.h"
  44. // Shared header describing protocol between engine and DLLs
  45. #include "eiface.h"
  46. #include "iserverentity.h"
  47. #include "dt_send.h"
  48. // Shared header between the client DLL and the game DLLs
  49. #include "shareddefs.h"
  50. #include "ehandle.h"
  51. // app
  52. #if defined(_GAMECONSOLE)
  53. #define DISABLE_DEBUG_HISTORY 1
  54. #endif
  55. #include "datamap.h"
  56. #include "util.h"
  57. #include "predictable_entity.h"
  58. #include "predictableid.h"
  59. #include "variant_t.h"
  60. #include "takedamageinfo.h"
  61. #include "utllinkedlist.h"
  62. #include "touchlink.h"
  63. #include "groundlink.h"
  64. #include "base_transmit_proxy.h"
  65. #include "soundflags.h"
  66. #include "networkvar.h"
  67. #include "sharedvar.h"
  68. #include "baseentity_shared.h"
  69. #include "basetoggle.h"
  70. #include "igameevents.h"
  71. // saverestore.h declarations
  72. class ISave;
  73. class IRestore;
  74. // maximum number of targets a single multi_manager entity may be assigned.
  75. #define MAX_MULTI_TARGETS 16
  76. // NPCEvent.h declarations
  77. struct animevent_t;
  78. struct studiohdr_t;
  79. class CStudioHdr;
  80. extern void FireTargets( const char *targetName, CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
  81. // people gib if their health is <= this at the time of death
  82. #define GIB_HEALTH_VALUE -30
  83. #define MAX_OLD_ENEMIES 4 // how many old enemies to remember
  84. // used by suit voice to indicate damage sustained and repaired type to player
  85. enum
  86. {
  87. itbd_Paralyze = 0,
  88. itbd_NerveGas,
  89. itbd_PoisonRecover,
  90. itbd_Radiation,
  91. itbd_DrownRecover,
  92. itbd_Acid,
  93. itbd_SlowBurn,
  94. itbd_SlowFreeze,
  95. // Must be last!
  96. CDMG_TIMEBASED
  97. };
  98. // when calling KILLED(), a value that governs gib behavior is expected to be
  99. // one of these three values
  100. #define GIB_NORMAL 0// gib if entity was overkilled
  101. #define GIB_NEVER 1// never gib, no matter how much death damage is done ( freezing, etc )
  102. #define GIB_ALWAYS 2// always gib
  103. class CAI_BaseNPC;
  104. class CAI_ScriptedSequence;
  105. class CSound;
  106. #undef FUNCTANK_AUTOUSE
  107. // This is a precompiled header. Include a bunch of common stuff.
  108. // This is kind of ugly in that it adds a bunch of dependency where it isn't needed.
  109. // But on balance, the compile time is much lower (even incrementally) once the precompiled
  110. // headers contain these headers.
  111. #include "precache_register.h"
  112. #include "baseanimating.h"
  113. #include "basecombatweapon.h"
  114. #include "basecombatcharacter.h"
  115. #include "gamerules.h"
  116. #include "entitylist.h"
  117. #include "basetempentity.h"
  118. #include "player.h"
  119. #include "te.h"
  120. #include "physics.h"
  121. #include "ndebugoverlay.h"
  122. #include "recipientfilter.h"
  123. #include "npcevent.h"
  124. #include "vprof.h"
  125. #endif // CBASE_H