2 ===========================================================================
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company.
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code. If not, see <http://www.gnu.org/licenses/>.
22 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.
24 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.
26 ===========================================================================
30 ===============================================================================
32 Preprocessor settings for compiling different versions.
34 ===============================================================================
38 //#define ID_REDIRECT_NEWDELETE
39 //#define ID_DEBUG_MEMORY
40 //#define ID_DEBUG_UNINITIALIZED_MEMORY
42 // if enabled, the console won't toggle upon ~, unless you start the binary with +set com_allowConsole 1
43 // Ctrl+Alt+~ will always toggle the console no matter what
44 #ifndef ID_CONSOLE_LOCK
45 #if defined(_WIN32) || defined(MACOS_X)
47 #define ID_CONSOLE_LOCK 0
49 #define ID_CONSOLE_LOCK 1
52 #define ID_CONSOLE_LOCK 0
56 // useful for network debugging, turns off 'LAN' checks, all IPs are classified 'internet'
57 #ifndef ID_NOLANADDRESS
58 #define ID_NOLANADDRESS 0
61 // let .dds be loaded from FS without altering pure state. only for developement.
62 #ifndef ID_PURE_ALLOWDDS
63 #define ID_PURE_ALLOWDDS 0
66 // build an exe with no CVAR_CHEAT controls
67 #ifndef ID_ALLOW_CHEATS
68 #define ID_ALLOW_CHEATS 0
71 #ifndef ID_ENABLE_CURL
72 #define ID_ENABLE_CURL 1
75 // fake a pure client. useful to connect an all-debug client to a server
77 #define ID_FAKE_PURE 0
80 // verify checksums in clientinfo traffic
81 // NOTE: this makes the network protocol incompatible
82 #ifndef ID_CLIENTINFO_TAGS
83 #define ID_CLIENTINFO_TAGS 0
86 // for win32 this is defined in preprocessor settings so that MFC can be
88 //#define ID_DEDICATED
90 // if this is defined, the executable positively won't work with any paks other
91 // than the demo pak, even if productid is present.
92 //#define ID_DEMO_BUILD
94 // don't define ID_ALLOW_TOOLS when we don't want tool code in the executable.
95 #if defined( _WIN32 ) && !defined( ID_DEDICATED ) && !defined( ID_DEMO_BUILD )
96 #define ID_ALLOW_TOOLS
99 // don't do backtraces in release builds.
100 // atm, we have no useful way to reconstruct the trace, so let's leave it off
103 #if defined( __linux__ )
104 #if defined( _DEBUG )
112 #ifndef ID_ENFORCE_KEY
113 # if !defined( ID_DEDICATED ) && !defined( ID_DEMO_BUILD )
114 # define ID_ENFORCE_KEY 1
116 # define ID_ENFORCE_KEY 0
121 # if ( defined(_WIN32) || defined(MACOS_X) ) && !defined( ID_DEDICATED )
128 #ifndef ID_ALLOW_D3XP
129 # if defined( MACOS_X )
130 # define ID_ALLOW_D3XP 0
132 # define ID_ALLOW_D3XP 1