123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- /*
- ===========================================================================
- 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 <http://www.gnu.org/licenses/>.
- 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.
- ===========================================================================
- */
- #ifndef __PRECOMPILED_H__
- #define __PRECOMPILED_H__
- #ifdef __cplusplus
- //-----------------------------------------------------
- #define ID_TIME_T time_t
- #ifdef _WIN32
- #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // prevent auto literal to string conversion
- #ifndef _D3SDK
- #ifndef GAME_DLL
- #define WINVER 0x501
- #if 0
- // Dedicated server hits unresolved when trying to link this way now. Likely because of the 2010/Win7 transition? - TTimo
- #ifdef ID_DEDICATED
- // dedicated sets windows version here
- #define _WIN32_WINNT WINVER
- #define WIN32_LEAN_AND_MEAN
- #else
- // non-dedicated includes MFC and sets windows version here
- #include "../tools/comafx/StdAfx.h" // this will go away when MFC goes away
- #endif
- #else
- #include "../tools/comafx/StdAfx.h"
- #endif
- #include <winsock2.h>
- #include <mmsystem.h>
- #include <mmreg.h>
- #define DIRECTINPUT_VERSION 0x0800 // was 0x0700 with the old mssdk
- #define DIRECTSOUND_VERSION 0x0800
- #include <dsound.h>
- #include <dinput.h>
- #endif /* !GAME_DLL */
- #endif /* !_D3SDK */
- #pragma warning(disable : 4100) // unreferenced formal parameter
- #pragma warning(disable : 4244) // conversion to smaller type, possible loss of data
- #pragma warning(disable : 4714) // function marked as __forceinline not inlined
- #pragma warning(disable : 4996) // unsafe string operations
- #include <malloc.h> // no malloc.h on mac or unix
- #include <windows.h> // for qgl.h
- #undef FindText // stupid namespace poluting Microsoft monkeys
- #endif /* _WIN32 */
- //-----------------------------------------------------
- #if !defined( _DEBUG ) && !defined( NDEBUG )
- // don't generate asserts
- #define NDEBUG
- #endif
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <string.h>
- #include <assert.h>
- #include <time.h>
- #include <ctype.h>
- #include <typeinfo>
- #include <errno.h>
- #include <math.h>
- //-----------------------------------------------------
- // non-portable system services
- #include "../sys/sys_public.h"
- // id lib
- #include "../idlib/Lib.h"
- // framework
- #include "../framework/BuildVersion.h"
- #include "../framework/BuildDefines.h"
- #include "../framework/Licensee.h"
- #include "../framework/CmdSystem.h"
- #include "../framework/CVarSystem.h"
- #include "../framework/Common.h"
- #include "../framework/File.h"
- #include "../framework/FileSystem.h"
- #include "../framework/UsercmdGen.h"
- // decls
- #include "../framework/DeclManager.h"
- #include "../framework/DeclTable.h"
- #include "../framework/DeclSkin.h"
- #include "../framework/DeclEntityDef.h"
- #include "../framework/DeclFX.h"
- #include "../framework/DeclParticle.h"
- #include "../framework/DeclAF.h"
- #include "../framework/DeclPDA.h"
- // We have expression parsing and evaluation code in multiple places:
- // materials, sound shaders, and guis. We should unify them.
- const int MAX_EXPRESSION_OPS = 4096;
- const int MAX_EXPRESSION_REGISTERS = 4096;
- // renderer
- #include "../renderer/qgl.h"
- #include "../renderer/Cinematic.h"
- #include "../renderer/Material.h"
- #include "../renderer/Model.h"
- #include "../renderer/ModelManager.h"
- #include "../renderer/RenderSystem.h"
- #include "../renderer/RenderWorld.h"
- // sound engine
- #include "../sound/sound.h"
- // asynchronous networking
- #include "../framework/async/NetworkSystem.h"
- // user interfaces
- #include "../ui/ListGUI.h"
- #include "../ui/UserInterface.h"
- // collision detection system
- #include "../cm/CollisionModel.h"
- // AAS files and manager
- #include "../tools/compilers/aas/AASFile.h"
- #include "../tools/compilers/aas/AASFileManager.h"
- // game
- #if defined(_D3XP)
- #include "../d3xp/Game.h"
- #else
- #include "../game/Game.h"
- #endif
- //-----------------------------------------------------
- #ifndef _D3SDK
- #ifdef GAME_DLL
- #if defined(_D3XP)
- #include "../d3xp/Game_local.h"
- #else
- #include "../game/Game_local.h"
- #endif
- #else
- #include "../framework/DemoChecksum.h"
- // framework
- #include "../framework/Compressor.h"
- #include "../framework/EventLoop.h"
- #include "../framework/KeyInput.h"
- #include "../framework/EditField.h"
- #include "../framework/Console.h"
- #include "../framework/DemoFile.h"
- #include "../framework/Session.h"
- // asynchronous networking
- #include "../framework/async/AsyncNetwork.h"
- // The editor entry points are always declared, but may just be
- // stubbed out on non-windows platforms.
- #include "../tools/edit_public.h"
- // Compilers for map, model, video etc. processing.
- #include "../tools/compilers/compiler_public.h"
- #endif /* !GAME_DLL */
- #endif /* !_D3SDK */
- //-----------------------------------------------------
- #endif /* __cplusplus */
- #endif /* !__PRECOMPILED_H__ */
|