BuildDefines.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. /*
  2. ===========================================================================
  3. Doom 3 GPL Source Code
  4. Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
  5. This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
  6. Doom 3 Source Code is free software: you can redistribute it and/or modify
  7. it under the terms of the GNU General Public License as published by
  8. the Free Software Foundation, either version 3 of the License, or
  9. (at your option) any later version.
  10. Doom 3 Source Code is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. GNU General Public License for more details.
  14. You should have received a copy of the GNU General Public License
  15. along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
  16. In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.
  17. If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
  18. ===========================================================================
  19. */
  20. /*
  21. ===============================================================================
  22. Preprocessor settings for compiling different versions.
  23. ===============================================================================
  24. */
  25. // memory debugging
  26. //#define ID_REDIRECT_NEWDELETE
  27. //#define ID_DEBUG_MEMORY
  28. //#define ID_DEBUG_UNINITIALIZED_MEMORY
  29. // if enabled, the console won't toggle upon ~, unless you start the binary with +set com_allowConsole 1
  30. // Ctrl+Alt+~ will always toggle the console no matter what
  31. /*
  32. #ifndef ID_CONSOLE_LOCK
  33. #if defined(_WIN32) || defined(MACOS_X)
  34. #ifdef _DEBUG
  35. #define ID_CONSOLE_LOCK 0
  36. #else
  37. #define ID_CONSOLE_LOCK 1
  38. #endif
  39. #else
  40. #define ID_CONSOLE_LOCK 0
  41. #endif
  42. #endif
  43. */
  44. #ifndef ID_CONSOLE_LOCK
  45. #define ID_CONSOLE_LOCK 1
  46. #endif
  47. // useful for network debugging, turns off 'LAN' checks, all IPs are classified 'internet'
  48. #ifndef ID_NOLANADDRESS
  49. #define ID_NOLANADDRESS 0
  50. #endif
  51. // let .dds be loaded from FS without altering pure state. only for developement.
  52. #ifndef ID_PURE_ALLOWDDS
  53. #define ID_PURE_ALLOWDDS 0
  54. #endif
  55. // build an exe with no CVAR_CHEAT controls
  56. #ifndef ID_ALLOW_CHEATS
  57. #define ID_ALLOW_CHEATS 0
  58. #endif
  59. #ifndef ID_ENABLE_CURL
  60. #define ID_ENABLE_CURL 1
  61. #endif
  62. // fake a pure client. useful to connect an all-debug client to a server
  63. #ifndef ID_FAKE_PURE
  64. #define ID_FAKE_PURE 0
  65. #endif
  66. // verify checksums in clientinfo traffic
  67. // NOTE: this makes the network protocol incompatible
  68. #ifndef ID_CLIENTINFO_TAGS
  69. #define ID_CLIENTINFO_TAGS 0
  70. #endif
  71. // for win32 this is defined in preprocessor settings so that MFC can be
  72. // compiled out.
  73. //#define ID_DEDICATED
  74. // if this is defined, the executable positively won't work with any paks other
  75. // than the demo pak, even if productid is present.
  76. //#define ID_DEMO_BUILD
  77. // don't define ID_ALLOW_TOOLS when we don't want tool code in the executable.
  78. #if defined( _WIN32 ) && !defined( ID_DEDICATED ) && !defined( ID_DEMO_BUILD )
  79. //#define ID_ALLOW_TOOLS
  80. #endif
  81. // don't do backtraces in release builds.
  82. // atm, we have no useful way to reconstruct the trace, so let's leave it off
  83. #define ID_BT_STUB
  84. #ifndef ID_BT_STUB
  85. #if defined( __linux__ )
  86. #if defined( _DEBUG )
  87. #define ID_BT_STUB
  88. #endif
  89. #else
  90. #define ID_BT_STUB
  91. #endif
  92. #endif
  93. #ifndef ID_ENFORCE_KEY
  94. # if !defined( ID_DEDICATED ) && !defined( ID_DEMO_BUILD )
  95. # define ID_ENFORCE_KEY 1
  96. # else
  97. # define ID_ENFORCE_KEY 0
  98. # endif
  99. #endif
  100. #ifndef ID_OPENAL
  101. # if ( defined(_WIN32) || defined(MACOS_X) ) && !defined( ID_DEDICATED )
  102. # define ID_OPENAL 1
  103. # else
  104. # define ID_OPENAL 0
  105. # endif
  106. #endif
  107. #ifndef ID_ALLOW_D3XP
  108. # if defined( MACOS_X )
  109. # define ID_ALLOW_D3XP 0
  110. # else
  111. # define ID_ALLOW_D3XP 1
  112. # endif
  113. #endif