FTEQW
Documentation of the FTE engine source tree.
config_wastes.h
Go to the documentation of this file.
1/***
2*
3* Copyright (c) 2000-2022, Vera Visions. All rights reserved.
4*
5****/
6
7#ifndef DEMO
8 #define FULLENGINENAME "The Wastes"
9 #define GAME_SHORTNAME "TW"
10 #define GAME_BASEGAMES "platform","wastes"
11 #define GAME_PROTOCOL "The-Wastes"
12#else
13 #define FULLENGINENAME "The Wastes Demo"
14 #define GAME_SHORTNAME "TWDemo"
15 #define GAME_BASEGAMES "platform","demotw"
16 #define GAME_PROTOCOL "TW-Demo"
17#endif
18
19#define BRANDING_ICON "wastes.ico"
20#define DISTRIBUTION "VTW"
21#define DISTRIBUTIONLONG "Vera Visions"
22#define GAME_FULLNAME FULLENGINENAME
23#define GAME_DEFAULTPORT 23000
24#define ENGINEWEBSITE "https://www.vera-visions.com/"
25
26#ifndef GLQUAKE
27#define GLQUAKE
28#endif
29
30/*
31#ifndef VKQUAKE
32#define VKQUAKE
33#endif
34*/
35#undef VKQUAKE /* not yet, needs more testing */
36
37 /* disable quake specific hacks and overrides */
38#define QUAKETC
39#define NOBUILTINMENUS
40#define NOLEGACY
41
42/* engine behaviour */
43#define PLUGINS /* enables fteplug_ files */
44#define AVAIL_ZLIB /* we need this for pk3 and ogg vorbis */
45#define CL_MASTER /* allows for serverbrowser builtins */
46#define CSQC_DAT /* clientside qcvm */
47#define MENU_DAT /* persistent qcvm */
48#define PSET_SCRIPT /* scripts defining particles */
49#define LOADERTHREAD /* multithreading related */
50#define USEAREAGRID /* leave it on, improves performance */
51#define AVAIL_DINPUT /* input for Windows */
52#define AVAIL_FREETYPE /* for truetype font rendering */
53#define AVAIL_STBI /* avoid libpng/libjpeg dependancies */
54#define ENGINE_ROUTING /* engine-side, fast routing */
55
56#ifndef LEGACY_GPU
57 #define RTLIGHTS
58#else
59 #undef RTLIGHTS
60#endif
61
62#undef D3D9QUAKE /* MICROS~1 trash */
63#undef D3D11QUAKE /* MICROS~1 trash */
64#undef D3D8QUAKE /* MICROS~1 trash */
65
66/* uncompressed textures */
67#define IMAGEFMT_BMP /* sprays */
68#define IMAGEFMT_TGA
69
70/* compressed textures */
71#define IMAGEFMT_KTX
72#define DECOMPRESS_ETC2
73#define DECOMPRESS_RGTC
74#define DECOMPRESS_S3TC
75
76/* To be able to comm with Frag-Net.com */
77#define HAVE_PACKET
78#define SUPPORT_ICE
79#define HAVE_TCP
80#define HAVE_GNUTLS /* linux tls/dtls support */
81#define HAVE_WINSSPI /* windows tls/dtls support */
82#define WEBCLIENT /* uri_get+any internal downloads etc */
83
84#ifndef MULTITHREAD
85#define MULTITHREAD
86#endif
87
88#ifndef DEBUG
89/* if 2, disables writing fteextensions.qc completely. */
90#define NOQCDESCRIPTIONS 2
91#endif
92
93/* various package formats */
94#define PACKAGE_PK3
95#define PACKAGE_TEXWAD
96#define PACKAGE_Q1PAK
97
98/* level formats */
99#define Q3BSPS
100#define Q1BSPS
101#define TERRAIN
102
103/* audio */
104#define AVAIL_DSOUND
105#undef AVAIL_OPENAL
106#define AVAIL_OGGVORBIS
107#define HAVE_OPUS
108#define VOICECHAT
109
110/* todo: make OpenAL only */
111#define HAVE_MIXER
112
113/* Model formats, IQM/VVM and HLMDL for legacy maps */
114#define INTERQUAKEMODELS
115#define HALFLIFEMODELS
116
117/* physics */
118#undef USE_INTERNAL_ODE
119#undef USE_INTERNAL_BULLET
120#undef USERBE
121#undef RAGDOLL
122
123/* we don't need any of these */
124#undef IMAGEFMT_PCX
125#undef PACKAGE_DOOMWAD
126#undef DOOMWADS
127#undef MAP_PROC
128#undef Q2BSPS
129#define RFBSPS
130#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.
131#undef SPRMODELS
132#undef SP2MODELS
133#undef DSPMODELS
134#undef MD1MODELS
135#undef MD2MODELS
136#undef MD3MODELS
137#undef MD5MODELS
138#undef ZYMOTICMODELS
139#undef DPMMODELS
140#undef PSKMODELS
141#undef MENU_NATIVECODE /* native menu replacing menuQC */
142#undef MVD_RECORDING /* server can record MVDs. */
143#undef AVAIL_WASAPI /* windows advanced sound api */
144//#undef AVAIL_DSOUND /* MICROS~1 trash */
145#undef BOTLIB_STATIC /* q3 botlib */
146#undef AVAIL_XZDEC /* .xz decompression */
147#undef HAVE_SPEEX /* .xz decompression */
148#undef AVAIL_GZDEC /* .gz decompression */
149#undef PACKAGE_DZIP /* .dzip special-case archive support */
150#undef AVAIL_PNGLIB /* .png image format support (read+screenshots) */
151#undef AVAIL_JPEGLIB /* .jpeg image format support (read+screenshots) */
152#undef AVAIL_MP3_ACM /* .mp3 support (in windows). */
153#undef IMAGEFMT_DDS
154#undef IMAGEFMT_PKM
155#undef IMAGEFMT_BLP
156#undef NETPREPARSE /* allows for running both nq+qw on the same server (if not, protocol used must match gamecode) */
157#undef USE_SQLITE /* sql-database-as-file support */
158#undef QUAKESTATS /* defines STAT_HEALTH etc. if omitted, you'll need to provide that functionality yourself */
159#undef QUAKEHUD /* support for drawing the vanilla hud */
160#undef QWSKINS /* disabling this means no qw .pcx skins nor enemy/team skin/colour forcing */
161#undef SVRANKING /* legacy server-side ranking system */
162#define HUFFNETWORK /* crappy network compression. probably needs reseeding */
163#undef SVCHAT /* ancient lame builtin to support NPC-style chat.. */
164#undef VM_Q1 /* q1qvm implementation, to support ktx */
165#undef Q2SERVER /* q2 server+gamecode */
166#undef Q2CLIENT /* q2 client. file formats enabled separately */
167#undef Q3CLIENT /* q3 client stuff */
168#undef Q3SERVER /* q3 server stuff */
169#undef HEXEN2 /* runs hexen2 gamecode, supports hexen2 file formats */
170#undef NQPROT /* act as an nq client/server, with nq gamecode */
171#undef WEBSERVER /* sv_ftp + sv_http cvars */
172#undef RUNTIMELIGHTING /* automatic generation of .lit files */
173#undef R_XFLIP /* old silly thing */
174#undef TEXTEDITOR /* because emacs */
175#undef TCPCONNECT /* support for playing over tcp sockets, instead of just udp. compatible with qizmo */
176#undef IRCCONNECT /* lame support for routing game packets via irc server. not a good idea */
177#undef PSET_CLASSIC /* support the 'classic' particle system, for that classic quake feel */
178#undef HAVE_CDPLAYER /* Redbook CD Audio */
179#undef QTERM
180#undef SIDEVIEWS
181#undef MAX_SPLITS
182#undef SUBSERVERS /* multi-map */
183#undef VM_LUA /* lua game-logic */
184#undef HLCLIENT /* regressed, unfinished*/
185#undef HLSERVER /* regressed, unfinished */
186#undef FTPSERVER
187#undef HAVE_JUKEBO /* includes built-in jukebox */
188#define HAVE_MEDIA_DECODER /* can play cin/roq, more with plugins */
189#undef HAVE_MEDIA_ENCODER /* capture/capturedemo work */
190#undef HAVE_SPEECHTOTEXT /* Windows speech-to-text thing */
191#undef SAVEDGAMES
192#undef PACKAGEMANAGER /* enable/disable/download packages and plugins */
193#undef HEADLESSQUAKE
194#undef WAYLANDQUAKE
195#undef SERVER_DEMO_PLAYBACK /* deprecated */
196#undef DECOMPRESS_BPTC
197#undef IMAGEFMT_HDR
198#undef IMAGEFMT_PBM
199#undef IMAGEFMT_PSD
200#undef IMAGEFMT_XCF
201#undef IMAGEFMT_LMP
202#undef IMAGEFMT_PNG
203#undef IMAGEFMT_JPG
204#undef IMAGEFMT_GIF
205#undef IMAGEFMT_EXR
206#undef IPLOG
207#undef AVAIL_BOTLIB
208#undef AVAIL_BZLIB
209#undef DECOMPRESS_ASTC
210#undef IMAGEFMT_ASTC
211#undef HAVE_HTTPSV
212#undef MODELFMT_MDX
213#undef MODELFMT_OBJ
214#undef MODELFMT_GLTF
215
216#ifdef COMPILE_OPTS
217/* things to configure qclib, which annoyingly doesn't include this
218 * file itself */
219-DOMIT_QCC /* disable the built-in qcc */
220-DSIMPLE_QCVM /* disable qc debugging and 32bit opcodes */
221#ifndef AVAIL_ZLIB
222-DNO_ZLIB /* disable zlib */
223#endif
224#ifdef AVAIL_PNGLIB
225-DLINK_PNG
226#endif
227#ifdef AVAIL_JPEGLIB
228-DLINK_JPEG
229#endif
230#ifdef AVAIL_FREETYPE
231-DLINK_FREETYPE
232#endif
233
234/* makefile will respond to this by trying to link bullet into the
235 * engine itself, instead of as a plugin. */
236#ifdef USE_INTERNAL_BULLET
237-DLINK_INTERNAL_BULLET
238#endif
239
240#ifdef USE_INTERNAL_ODE
241-DODE_STATIC
242#endif
243
244/* disable static speex */
245#ifdef HAVE_SPEEX
246-DNO_SPEEX
247#endif
248
249/* disable static botlib */
250#ifndef BOTLIB_STATIC
251-DNO_BOTLIB
252#endif
253
254-DLIBVORBISFILE_STATIC
255
256/* optimise for size instead of speed. less cpu cache needed means that
257 * its sometimes faster.*/
258-Os
259#endif