From fa62cd2678a0396eaf7e23e30058be4533001c50 Mon Sep 17 00:00:00 2001 From: Eukara Date: Sun, 23 Feb 2020 22:02:51 +0000 Subject: [PATCH] TW config changes git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5636 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/common/config_wastes.h | 269 ++++++++++++++++++---------------- 1 file changed, 141 insertions(+), 128 deletions(-) diff --git a/engine/common/config_wastes.h b/engine/common/config_wastes.h index ffd135277..1eee444ca 100644 --- a/engine/common/config_wastes.h +++ b/engine/common/config_wastes.h @@ -4,7 +4,7 @@ * ****/ -/* Branding Defaults */ +/* branding defaults */ #define DISTRIBUTION "VTW" #define DISTRIBUTIONLONG "Vera Visions" #define FULLENGINENAME "The Wastes" @@ -17,75 +17,86 @@ #define GAME_BASEGAMES "logos","wastes" #define GAME_PROTOCOL "The-Wastes" #define GAME_DEFAULTPORT 23000 -//#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 - -/* Engine-side, fast routing */ -#define ENGINE_ROUTING - -/* Native menu replacing menuQC, will debut eventually */ -#undef MENU_NATIVECODE #ifndef GLQUAKE #define GLQUAKE #endif +/* #ifndef VKQUAKE #define VKQUAKE #endif +*/ +#undef VKQUAKE /* not yet, needs more testing */ -#define PLUGINS + /* disable quake specific hacks and overrides */ #define QUAKETC -#define AVAIL_OPENAL -#define AVAIL_ZLIB -#define AVAIL_OGGVORBIS -#define IMAGEFMT_PCX -#define CL_MASTER -#define CSQC_DAT -#define MENU_DAT -#define PSET_SCRIPT -#define VOICECHAT -#define RTLIGHTS -#define LOADERTHREAD -#define USEAREAGRID -#define USERBE -#define IMAGEFMT_DDS +#define NOBUILTINMENUS +#define NOLEGACY + +/* engine behaviour */ +#define PLUGINS /* enables fteplug_ files */ +#define AVAIL_ZLIB /* we need this for pk3 and ogg vorbis */ +#define CL_MASTER /* allows for serverbrowser builtins */ +#define CSQC_DAT /* clientside qcvm */ +#define MENU_DAT /* persistent qcvm */ +#define PSET_SCRIPT /* scripts defining particles */ +#define RTLIGHTS /* only way FTE does dlights on Q3BSP basically */ +#define LOADERTHREAD /* multithreading related */ +#define USEAREAGRID /* leave it on, improves performance */ +#define AVAIL_DINPUT /* input for Windows */ +#define AVAIL_FREETYPE /* for truetype font rendering */ +#define AVAIL_STBI /* avoid libpng/libjpeg dependancies */ +#define ENGINE_ROUTING /* engine-side, fast routing */ + +/* uncompressed textures */ +#define IMAGEFMT_BMP /* sprays */ +#define IMAGEFMT_TGA /* disable for RELEASE? */ + +/* compressed textures */ +#define IMAGEFMT_DDS #define DECOMPRESS_ETC2 #define DECOMPRESS_RGTC #define DECOMPRESS_S3TC -#define DECOMPRESS_BPTC //bc6+bc7 -#define NOBUILTINMENUS -#define NOLEGACY -#define AVAIL_DINPUT -#define IMAGEFMT_BMP -#define HAVE_TCP + +/* To be able to comm with Frag-Net.com */ #define HAVE_PACKET #define SUPPORT_ICE +#define HAVE_TCP +#define HAVE_GNUTLS /* linux tls/dtls support */ +#define HAVE_WINSSPI /* windows tls/dtls support */ #ifndef MULTITHREAD #define MULTITHREAD #endif #ifndef DEBUG -#define NOQCDESCRIPTIONS 2 //if 2, disables writing fteextensions.qc completely. +/* if 2, disables writing fteextensions.qc completely. */ +#define NOQCDESCRIPTIONS 2 #endif -// Various package formats +/* various package formats */ #define PACKAGE_PK3 #define PACKAGE_TEXWAD #define PACKAGE_Q1PAK -// Map formats +/* level formats */ #define Q3BSPS #define Q1BSPS #define TERRAIN -// Model formats, IQM/VVM and HLMDL for legacy maps +/* audio */ +#define AVAIL_OPENAL +#define AVAIL_OGGVORBIS +#define HAVE_OPUS +#define VOICECHAT + +/* Model formats, IQM/VVM and HLMDL for legacy maps */ #define INTERQUAKEMODELS #define HALFLIFEMODELS -// What do we NOT want to use +/* we don't need any of these */ +#undef IMAGEFMT_PCX #undef USE_INTERNAL_BULLET #undef USE_INTERNAL_ODE #undef PACKAGE_DOOMWAD @@ -104,104 +115,97 @@ #undef ZYMOTICMODELS #undef DPMMODELS #undef PSKMODELS - -#undef MVD_RECORDING //server can record MVDs. -#undef D3D9QUAKE -#undef D3D11QUAKE -#undef D3D8QUAKE -#undef AVAIL_WASAPI //windows advanced sound api -#undef AVAIL_DSOUND -#undef BOTLIB_STATIC //q3 botlib -#undef AVAIL_XZDEC //.xz decompression -#undef HAVE_SPEEX //.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 MENU_NATIVECODE /* native menu replacing menuQC */ +#undef MVD_RECORDING /* server can record MVDs. */ +#undef D3D9QUAKE /* MICROS~1 trash */ +#undef D3D11QUAKE /* MICROS~1 trash */ +#undef D3D8QUAKE /* MICROS~1 trash */ +#undef AVAIL_WASAPI /* windows advanced sound api */ +#undef AVAIL_DSOUND /* MICROS~1 trash */ +#undef BOTLIB_STATIC /* q3 botlib */ +#undef AVAIL_XZDEC /* .xz decompression */ +#undef HAVE_SPEEX /* .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 -#undef IMAGEFMT_BLP //legacy crap -#undef IMAGEFMT_VTF //legacy crap -#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. -#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 IMAGEFMT_BLP +#undef IMAGEFMT_VTF +#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 USERBE /* required for physics */ +#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 /* because emacs */ +#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 */ +#undef PSET_CLASSIC /* support the 'classic' particle system, for that classic quake feel */ +#undef HAVE_CDPLAYER /* Redbook CD Audio */ +#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 SUBSERVERS /* multi-map */ +#undef HAVE_MIXER /* OpenAL only */ +#undef VM_LUA /* lua game-logic */ +#undef HLCLIENT /* regressed, unfinished*/ +#undef HLSERVER /* regressed, unfinished */ #undef FTPSERVER -//#undef CLIENTONLY //leave this up to the makefiles. -#define HAVE_GNUTLS //linux tls/dtls support -#define HAVE_WINSSPI //windows tls/dtls support -#undef HAVE_JUKEBOX //includes built-in jukebox crap -#undef HAVE_MEDIA_DECODER //can play cin/roq, more with plugins -#undef HAVE_MEDIA_ENCODER //capture/capturedemo work. -#undef HAVE_SPEECHTOTEXT //windows speech-to-text thing -//#define SAVEDGAMES //Can save the game. -#undef PACKAGEMANAGER //Allows the user to enable/disable/download packages and plugins. +#undef HAVE_JUKEBO /* includes built-in jukebox */ +#undef HAVE_MEDIA_DECODER /* can play cin/roq, more with plugins */ +#undef HAVE_MEDIA_ENCODER /* capture/capturedemo work */ +#undef HAVE_SPEECHTOTEXT /* Windows speech-to-text thing */ +#undef SAVEDGAMES +#undef PACKAGEMANAGER /* enable/disable/download packages and plugins */ #undef HEADLESSQUAKE #undef WAYLANDQUAKE -#define AVAIL_FREETYPE // for truetype font rendering -#undef SERVER_DEMO_PLAYBACK //outdated crap - -//FIXME: Stuff that Spike has added that eukara needs to decide whether to use or not. -#define HAVE_OPUS -#undef HAVE_OPENSSL -//#define IMAGEFMT_HDR -//#define IMAGEFMT_PBM -//#define IMAGEFMT_PSD -//#define IMAGEFMT_XCF //flattens, most of the time -#define IMAGEFMT_TGA -#define IMAGEFMT_LMP -//#define IMAGEFMT_PNG -//#define IMAGEFMT_JPG -//#define IMAGEFMT_GIF -//#define IMAGEFMT_EXR //openexr, via Industrial Light & Magic's rgba api, giving half-float data. -//#define AVAIL_STBI //make use of Sean T. Barrett's lightweight public domain stb_image[_write] single-file-library, to avoid libpng/libjpeg dependancies. -//#define IPLOG -//#define AVAIL_BOTLIB -//#define AVAIL_BZLIB -//#define DECOMPRESS_ASTC -//#define IMAGEFMT_ASTC -//#define HAVE_HTTPSV -//#define MODELFMT_MDX -//#define MODELFMT_OBJ -//#define MODELFMT_GLTF //khronos 'transmission format'. .gltf or .glb extension. PBR. Version 2 only, for now. +#undef SERVER_DEMO_PLAYBACK /* deprecated */ +#undef DECOMPRESS_BPTC +#undef HAVE_OPENSSL /* incomplete */ +#undef IMAGEFMT_HDR +#undef IMAGEFMT_PBM +#undef IMAGEFMT_PSD +#undef IMAGEFMT_XCF +#undef IMAGEFMT_LMP +#undef IMAGEFMT_PNG +#undef IMAGEFMT_JPG +#undef IMAGEFMT_GIF +#undef IMAGEFMT_EXR +#undef IPLOG +#undef AVAIL_BOTLIB +#undef AVAIL_BZLIB +#undef DECOMPRESS_ASTC +#undef IMAGEFMT_ASTC +#undef HAVE_HTTPSV +#undef MODELFMT_MDX +#undef MODELFMT_OBJ +#undef MODELFMT_GLTF #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 +/* 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 +-DNO_ZLIB /* disable zlib */ #endif #ifdef AVAIL_PNGLIB -DLINK_PNG @@ -213,16 +217,25 @@ -DLINK_FREETYPE #endif -#ifdef USE_INTERNAL_BULLET //makefile will respond to this by trying to link bullet into the engine itself, instead of as a plugin. +/* makefile will respond to this by trying to link bullet into the + * engine itself, instead of as a plugin. */ +#ifdef USE_INTERNAL_BULLET -DLINK_INTERNAL_BULLET #endif --DNO_SPEEX //disable static speex +/* disable static speex */ +#ifdef HAVE_SPEEX +-DNO_SPEEX +#endif + +/* disable static botlib */ #ifndef BOTLIB_STATIC --DNO_BOTLIB //disable static botlib +-DNO_BOTLIB #endif -DLIBVORBISFILE_STATIC -//-Os //optimise for size instead of speed. less cpu cache needed means that its sometimes faster anyway. +/* optimise for size instead of speed. less cpu cache needed means that + * its sometimes faster.*/ +-Os #endif