// The Wastes' config.h // We support both GL and D3D9. If Vulkan matures yeahsurewhynot // I want to get this mostly running on all systems. // Possibly Xbox. Yes, the original one. Sue me. //general rebranding #define DISTRIBUTION "FCS" #define DISTRIBUTIONLONG "eukara" #define FULLENGINENAME "FreeCS" #define ENGINEWEBSITE "https://icculus.org/~marco/freecs/" #define BRANDING_ICON "freecs.ico" //filesystem rebranding #define GAME_SHORTNAME "freecs" //short alphanumeric description #define GAME_FULLNAME FULLENGINENAME //full name of the game we're playing #define GAME_BASEGAMES "logos","valve","cstrike","freecs" //comma-separate list of basegame strings to use #define GAME_PROTOCOL "FTE-FCS" //so other games won't show up in the server browser #define GAME_DEFAULTPORT 23000 //FIXME: change me! //#define GAME_IDENTIFYINGFILES NULL //with multiple games, this string-list gives verification that the basedir is actually valid. if null, will just be assumed correct. //#define GAME_DOWNLOADSURL NULL //url for the package manger to update from //#define GAME_DEFAULTCMDS NULL //a string containing the things you want to // All my fault -eukara #define ENGINE_ROUTING // What do we use //#define D3D9QUAKE //#define GLQUAKE #undef D3D11QUAKE #if defined(WIN32) && !defined(D3D8QUAKE) #define D3D8QUAKE #endif #undef VKQUAKE #undef HEADLESSQUAKE #undef WAYLANDQUAKE #define AVAIL_FREETYPE //for truetype font rendering #define HAVE_PACKET #define QUAKETC #define AVAIL_OPENAL #define AVAIL_ZLIB #define AVAIL_OGGVORBIS #define CL_MASTER #define CSQC_DAT #define MENU_DAT #define PSET_SCRIPT #define VOICECHAT #undef RTLIGHTS #ifndef MULTITHREAD #define MULTITHREAD //misc basic multithreading - dsound, downloads, basic stuff that's unlikely to have race conditions. #endif #define LOADERTHREAD //worker threads for loading misc stuff. falls back on main thread if not supported. //#define USEAREAGRID //world collision optimisation. REQUIRED for performance with xonotic. hopefully it helps a few other mods too. #define NOBUILTINMENUS #define NOLEGACY //just spike trying to kill off crappy crap... #define AVAIL_DINPUT #ifndef DEBUG #define NOQCDESCRIPTIONS 2 //if 2, disables writing fteextensions.qc completely. #endif // Various package formats #define PACKAGE_PK3 #define PACKAGE_Q1PAK #undef PACKAGE_DOOMWAD #define PACKAGE_TEXWAD // We need this for WAD3 support // Map formats #undef Q3BSPS #define Q1BSPS // Half-Life Support #undef Q2BSPS #undef RFBSPS #undef TERRAIN #undef DOOMWADS #undef MAP_PROC // Model formats #define INTERQUAKEMODELS #define SPRMODELS #undef SP2MODELS #undef DSPMODELS #undef MD1MODELS #undef MD2MODELS #undef MD3MODELS #undef MD5MODELS #undef ZYMOTICMODELS #undef DPMMODELS #undef PSKMODELS #define HALFLIFEMODELS // What do we NOT want to use #undef AVAIL_WASAPI //windows advanced sound api #undef AVAIL_DSOUND #undef BOTLIB_STATIC //q3 botlib #undef AVAIL_XZDEC //.xz decompression #undef AVAIL_GZDEC //.gz decompression #undef PACKAGE_DZIP //.dzip special-case archive support #undef AVAIL_PNGLIB //.png image format support (read+screenshots) #undef AVAIL_JPEGLIB //.jpeg image format support (read+screenshots) #undef AVAIL_MP3_ACM //.mp3 support (in windows). #undef IMAGEFMT_KTX #undef IMAGEFMT_PKM #define IMAGEFMT_PCX #undef IMAGEFMT_DDS //.dds files embed mipmaps and texture compression. faster to load. #undef IMAGEFMT_BLP //legacy crap #define IMAGEFMT_BMP //legacy crap ////#undef IMAGEFMT_PCX //legacy crap #undef DECOMPRESS_ETC2 #undef DECOMPRESS_RGTC #undef DECOMPRESS_S3TC #undef DECOMPRESS_BPTC //bc6+bc7 #undef NETPREPARSE //allows for running both nq+qw on the same server (if not, protocol used must match gamecode). #undef USE_SQLITE //sql-database-as-file support #undef QUAKESTATS //defines STAT_HEALTH etc. if omitted, you'll need to provide that functionality yourself. #undef QUAKEHUD //support for drawing the vanilla hud. #undef QWSKINS //disabling this means no qw .pcx skins nor enemy/team skin/colour forcing #undef SVRANKING //legacy server-side ranking system. #undef RAGDOLL //ragdoll support. requires RBE support. #undef HUFFNETWORK //crappy network compression. probably needs reseeding. #undef SVCHAT //ancient lame builtin to support NPC-style chat... #undef VM_Q1 //q1qvm implementation, to support ktx. #undef Q2SERVER //q2 server+gamecode. #undef Q2CLIENT //q2 client. file formats enabled separately. #undef Q3CLIENT //q3 client stuff. #undef Q3SERVER //q3 server stuff. #undef HEXEN2 //runs hexen2 gamecode, supports hexen2 file formats. #undef NQPROT //act as an nq client/server, with nq gamecode. ////#undef WEBSERVER //sv_ftp + sv_http cvars. #undef WEBCLIENT //uri_get+any internal downloads etc #undef RUNTIMELIGHTING //automatic generation of .lit files #undef R_XFLIP //old silly thing #undef TEXTEDITOR //my funky text editor! its awesome! #undef TCPCONNECT //support for playing over tcp sockets, instead of just udp. compatible with qizmo. #undef IRCCONNECT //lame support for routing game packets via irc server. not a good idea. #define PLUGINS //support for external plugins (like huds or fancy menus or whatever) #undef SUPPORT_ICE //Internet Connectivity Establishment, for use by plugins to establish voice or game connections. #undef PSET_CLASSIC //support the 'classic' particle system, for that classic quake feel. #undef HAVE_CDPLAYER //includes cd playback. actual cds. named/numbered tracks are supported regardless (though you need to use the 'music' command to play them without this). ////#undef QTERM #undef SIDEVIEWS #undef MAX_SPLITS #undef SUBSERVERS ////#undef SV_MASTER #undef HAVE_MIXER //openal only #undef VM_LUA #undef HLCLIENT #undef HLSERVER #undef FTPSERVER //#undef CLIENTONLY //leave this up to the makefiles. #define HAVE_TCP #undef HAVE_GNUTLS //linux tls/dtls support #undef HAVE_WINSSPI //windows tls/dtls support #undef HAVE_JUKEBOX //includes built-in jukebox crap #define HAVE_MEDIA_DECODER //can play cin/roq, more with plugins #define HAVE_MEDIA_ENCODER //capture/capturedemo work. #undef HAVE_SPEECHTOTEXT //windows speech-to-text thing //FIXME: Stuff that Spike has added that Eukara needs to decide whether to keep or not. #define VERTEXINDEXBYTES 2 //16bit indexes work everywhere but may break some file types, 32bit indexes are optional in gles<=2 and d3d<=9 and take more memory/copying but allow for bigger batches/models. Plugins need to be compiled the same way so this is no longer set per-renderer. #define HAVE_OPUS //#define HAVE_SPEEX //#define IMAGEFMT_HDR //#define IMAGEFMT_PBM //#define IMAGEFMT_PSD //#define IMAGEFMT_XCF //flattens, most of the time //#define IPLOG //#define MVD_RECORDING //#define PACKAGEMANAGER //#define SAVEDGAMES //#define AVAIL_BOTLIB //#define AVAIL_BZLIB //#define USE_INTERNAL_ODE //#define USE_INTERNAL_BULLET //#define MENU_NATIVECODE //#define DECOMPRESS_ASTC //#define HAVE_HTTPSV //#define IMAGEFMT_ASTC //#define IMAGEFMT_JPG //#define IMAGEFMT_GIF //#define IMAGEFMT_PNG #define IMAGEFMT_TGA #define IMAGEFMT_LMP //#define IMAGEFMT_EXR //openexr, via Industrial Light & Magic's rgba api, giving half-float data. //#define MODELFMT_MDX //#define MODELFMT_OBJ //#define MODELFMT_GLTF //khronos 'transmission format'. .gltf or .glb extension. PBR. Version 2 only, for now. //#define AVAIL_STBI //make use of Sean T. Barrett's lightweight public domain stb_image[_write] single-file-library, to avoid libpng/libjpeg dependancies. #ifdef COMPILE_OPTS //things to configure qclib, which annoyingly doesn't include this file itself -DOMIT_QCC //disable the built-in qcc -DSIMPLE_QCVM //disable qc debugging and 32bit opcodes #ifndef AVAIL_ZLIB -DNO_ZLIB //disable zlib #endif #ifdef AVAIL_PNGLIB -DLINK_PNG #endif #ifdef AVAIL_JPEGLIB -DLINK_JPEG #endif -DNO_SPEEX //disable static speex #ifndef BOTLIB_STATIC -DNO_BOTLIB //disable static botlib #endif -DNO_VORBISFILE //disable static vorbisfile -Os //optimise for size instead of speed. less cpu cache needed means that its sometimes faster anyway. #endif