/*** * * Copyright (c) 2000-2022, Vera Visions. All rights reserved. * ****/ #define FULLENGINENAME "Rad-Therapy" #define GAME_SHORTNAME "HL" #define GAME_BASEGAMES "valve" #define GAME_PROTOCOL "FTE-RadTherapy" #define BRANDING_ICON "freecs.ico" #define DISTRIBUTION "FHL" #define DISTRIBUTIONLONG "eukara" #define GAME_FULLNAME FULLENGINENAME #define GAME_DEFAULTPORT 23000 #define ENGINEWEBSITE "https://www.frag-net.com/" #ifndef GLQUAKE #define GLQUAKE #endif /* #ifndef VKQUAKE #define VKQUAKE #endif */ #undef VKQUAKE /* not yet, needs more testing */ /* disable quake specific hacks and overrides */ #define QUAKETC //#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 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 */ #define HAVE_MEDIA_DECODER /* can play cin/roq, more with plugins */ #define HAVE_MEDIA_ENCODER /* capture/capturedemo work */ #define PACKAGEMANAGER /* enable/disable/download packages and plugins */ #ifndef LEGACY_GPU #define RTLIGHTS #else #undef RTLIGHTS #endif #undef D3D9QUAKE /* MICROS~1 trash */ #undef D3D11QUAKE /* MICROS~1 trash */ #undef D3D8QUAKE /* MICROS~1 trash */ /* uncompressed textures */ #define IMAGEFMT_BMP /* sprays */ #define IMAGEFMT_TGA #define IMAGEFMT_JPG /* compressed textures */ #define IMAGEFMT_KTX #define DECOMPRESS_ETC2 #define DECOMPRESS_RGTC #define DECOMPRESS_S3TC /* 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 */ #define WEBCLIENT /* uri_get+any internal downloads etc */ #ifndef MULTITHREAD #define MULTITHREAD #endif #ifndef DEBUG /* if 2, disables writing fteextensions.qc completely. */ #define NOQCDESCRIPTIONS 2 #endif /* various package formats */ #define PACKAGE_PK3 #define PACKAGE_TEXWAD #define PACKAGE_Q1PAK /* level formats */ #define Q3BSPS #define Q1BSPS #define TERRAIN /* audio */ #undef AVAIL_DSOUND #define AVAIL_OPENAL #define AVAIL_OGGVORBIS #define HAVE_OPUS #define VOICECHAT /* todo: make OpenAL only */ #define HAVE_MIXER /* Model formats, IQM/VVM and HLMDL for legacy maps */ #define INTERQUAKEMODELS #define HALFLIFEMODELS /* physics */ #undef USE_INTERNAL_ODE #undef USE_INTERNAL_BULLET #define USERBE #define RAGDOLL /* we don't need any of these */ #undef IMAGEFMT_PCX #undef PACKAGE_DOOMWAD #undef DOOMWADS #undef MAP_PROC #undef Q2BSPS #define RFBSPS #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 SPRMODELS #undef SP2MODELS #undef DSPMODELS #undef MD1MODELS #undef MD2MODELS #undef MD3MODELS #undef MD5MODELS #undef ZYMOTICMODELS #undef DPMMODELS #undef PSKMODELS #undef MENU_NATIVECODE /* native menu replacing menuQC */ #undef MVD_RECORDING /* server can record MVDs. */ #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 */ #define AVAIL_PNGLIB /* .png image format support (read+screenshots) */ #define AVAIL_JPEGLIB /* .jpeg image format support (read+screenshots) */ #undef AVAIL_MP3_ACM /* .mp3 support (in windows). */ #undef IMAGEFMT_DDS #undef IMAGEFMT_PKM #undef IMAGEFMT_BLP #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 */ #define 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 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 /* multi-map */ #undef VM_LUA /* lua game-logic */ #undef HLCLIENT /* regressed, unfinished*/ #undef HLSERVER /* regressed, unfinished */ #undef FTPSERVER #undef HAVE_JUKEBO /* includes built-in jukebox */ #undef HAVE_SPEECHTOTEXT /* Windows speech-to-text thing */ #undef SAVEDGAMES #undef HEADLESSQUAKE #undef WAYLANDQUAKE #undef SERVER_DEMO_PLAYBACK /* deprecated */ #undef DECOMPRESS_BPTC #undef IMAGEFMT_HDR #undef IMAGEFMT_PBM #undef IMAGEFMT_PSD #undef IMAGEFMT_XCF #undef IMAGEFMT_LMP #undef IMAGEFMT_PNG #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 */ #ifndef AVAIL_ZLIB -DNO_ZLIB /* disable zlib */ #endif #ifdef AVAIL_PNGLIB -DLINK_PNG #endif #ifdef AVAIL_JPEGLIB -DLINK_JPEG #endif #ifdef AVAIL_FREETYPE -DLINK_FREETYPE #endif /* 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 #ifdef USE_INTERNAL_ODE -DODE_STATIC #endif /* disable static speex */ #ifdef HAVE_SPEEX -DNO_SPEEX #endif /* disable static botlib */ #ifndef BOTLIB_STATIC -DNO_BOTLIB #endif -DLIBVORBISFILE_STATIC /* optimise for size instead of speed. less cpu cache needed means that * its sometimes faster.*/ #endif