/* =========================================================================== Doom 3 GPL Source Code Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company. This file is part of the Doom 3 GPL Source Code ("Doom 3 Source Code"). Doom 3 Source Code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Doom 3 Source Code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Doom 3 Source Code. If not, see . 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. 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. =========================================================================== */ /* =============================================================================== Preprocessor settings for compiling different versions. =============================================================================== */ // memory debugging //#define ID_REDIRECT_NEWDELETE //#define ID_DEBUG_MEMORY //#define ID_DEBUG_UNINITIALIZED_MEMORY // if enabled, the console won't toggle upon ~, unless you start the binary with +set com_allowConsole 1 // Ctrl+Alt+~ will always toggle the console no matter what #ifndef ID_CONSOLE_LOCK #define ID_CONSOLE_LOCK 0 #endif // useful for network debugging, turns off 'LAN' checks, all IPs are classified 'internet' #ifndef ID_NOLANADDRESS #define ID_NOLANADDRESS 0 #endif // let .dds be loaded from FS without altering pure state. only for developement. #ifndef ID_PURE_ALLOWDDS #define ID_PURE_ALLOWDDS 0 #endif // build an exe with no CVAR_CHEAT controls #ifndef ID_ALLOW_CHEATS #define ID_ALLOW_CHEATS 0 #endif #ifndef ID_ENABLE_CURL #define ID_ENABLE_CURL 1 #endif // fake a pure client. useful to connect an all-debug client to a server #ifndef ID_FAKE_PURE #define ID_FAKE_PURE 0 #endif // verify checksums in clientinfo traffic // NOTE: this makes the network protocol incompatible #ifndef ID_CLIENTINFO_TAGS #define ID_CLIENTINFO_TAGS 0 #endif // for win32 this is defined in preprocessor settings so that MFC can be // compiled out. //#define ID_DEDICATED // if this is defined, the executable positively won't work with any paks other // than the demo pak, even if productid is present. //#define ID_DEMO_BUILD // don't define ID_ALLOW_TOOLS when we don't want tool code in the executable. #if defined( _WIN32 ) && defined(_MFC_VER) && !defined( ID_DEDICATED ) && !defined( ID_DEMO_BUILD ) #define ID_ALLOW_TOOLS #endif #ifndef ID_ENFORCE_KEY # if !defined( ID_DEDICATED ) && !defined( ID_DEMO_BUILD ) # define ID_ENFORCE_KEY 1 # else # define ID_ENFORCE_KEY 0 # endif #endif #ifndef ID_OPENAL # if !defined( ID_DEDICATED ) # define ID_OPENAL 1 # else # define ID_OPENAL 0 # endif #endif #ifndef ID_OPENAL_EAX # define ID_OPENAL_EAX 0 #endif // async network /* DOOM III gold: 33 1.1 beta patch: 34 1.1 patch: 35 1.2 XP: 36-39 1.3 patch: 40 1.3.1: 41 */ #define ASYNC_PROTOCOL_MINOR (41) #define ASYNC_PROTOCOL_VERSION (( ASYNC_PROTOCOL_MAJOR << 16 ) + ASYNC_PROTOCOL_MINOR) #define MAX_ASYNC_CLIENTS (32) #define MAX_USERCMD_BACKUP (256) #define MAX_USERCMD_DUPLICATION (25) #define MAX_USERCMD_RELAY (10) // index 0 is hardcoded to be the idnet master // which leaves 4 to user customization #define MAX_MASTER_SERVERS (5) #define MAX_NICKLEN (32) // max number of servers that will be scanned for at a single IP address #define MAX_SERVER_PORTS (8) // special game init ids #define GAME_INIT_ID_INVALID (-1) #define GAME_INIT_ID_MAP_LOAD (-2) // threads #define MAX_THREADS (10)