19//#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.
20//#define GAME_DOWNLOADSURL NULL //url for the package manger to update from
21//#define GAME_DEFAULTCMDS NULL //a string containing the things you want to
22
23// All my fault -eukara
24#define ENGINE_ROUTING
25
26// What do we use
27//#define D3D9QUAKE
28//#define GLQUAKE
29#undef D3D11QUAKE
30#if defined(WIN32) && !defined(D3D8QUAKE)
31#define D3D8QUAKE
32#endif
33#undef VKQUAKE
34#undef HEADLESSQUAKE
35#undef WAYLANDQUAKE
36
37#define AVAIL_FREETYPE //for truetype font rendering
38#define HAVE_PACKET
39#define QUAKETC
40#define AVAIL_OPENAL
41#define AVAIL_ZLIB
42#define AVAIL_OGGVORBIS
43#define CL_MASTER
44#define CSQC_DAT
45#define MENU_DAT
46#define PSET_SCRIPT
47#define VOICECHAT
48#undef RTLIGHTS
49#ifndef MULTITHREAD
50#define MULTITHREAD //misc basic multithreading - dsound, downloads, basic stuff that's unlikely to have race conditions.
51#endif
52#define LOADERTHREAD //worker threads for loading misc stuff. falls back on main thread if not supported.
53//#define USEAREAGRID //world collision optimisation. REQUIRED for performance with xonotic. hopefully it helps a few other mods too.
54
55#define NOBUILTINMENUS
56#define NOLEGACY //just spike trying to kill off crappy crap...
131#undef RUNTIMELIGHTING //automatic generation of .lit files
132#undef R_XFLIP //old silly thing
133#undef TEXTEDITOR //my funky text editor! its awesome!
134#undef TCPCONNECT //support for playing over tcp sockets, instead of just udp. compatible with qizmo.
135#undef IRCCONNECT //lame support for routing game packets via irc server. not a good idea.
136#define PLUGINS //support for external plugins (like huds or fancy menus or whatever)
137#undef SUPPORT_ICE //Internet Connectivity Establishment, for use by plugins to establish voice or game connections.
138#undef PSET_CLASSIC //support the 'classic' particle system, for that classic quake feel.
139#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).
141#undef SIDEVIEWS
142#undef MAX_SPLITS
143#undef SUBSERVERS
145#undef HAVE_MIXER //openal only
146#undef VM_LUA
147#undef HLCLIENT
148#undef HLSERVER
149#undef FTPSERVER
150//#undef CLIENTONLY //leave this up to the makefiles.
159//FIXME: Stuff that Spike has added that Eukara needs to decide whether to keep or not.
160#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.
161#define HAVE_OPUS
162//#define HAVE_SPEEX
163//#define IMAGEFMT_HDR
164//#define IMAGEFMT_PBM
165//#define IMAGEFMT_PSD
166//#define IMAGEFMT_XCF //flattens, most of the time
187//#define MODELFMT_GLTF //khronos 'transmission format'. .gltf or .glb extension. PBR. Version 2 only, for now.
188//#define AVAIL_STBI //make use of Sean T. Barrett's lightweight public domain stb_image[_write] single-file-library, to avoid libpng/libjpeg dependancies.
189
190
191#ifdef COMPILE_OPTS
192//things to configure qclib, which annoyingly doesn't include this file itself
193-DOMIT_QCC //disable the built-in qcc
194-DSIMPLE_QCVM //disable qc debugging and 32bit opcodes
195#ifndef AVAIL_ZLIB
196-DNO_ZLIB //disable zlib
197#endif
198#ifdef AVAIL_PNGLIB
199-DLINK_PNG
200#endif
201#ifdef AVAIL_JPEGLIB
202-DLINK_JPEG
203#endif
204
205-DNO_SPEEX //disable static speex
206#ifndef BOTLIB_STATIC
207-DNO_BOTLIB //disable static botlib
208#endif
209-DNO_VORBISFILE //disable static vorbisfile
210
211-Os //optimise for size instead of speed. less cpu cache needed means that its sometimes faster anyway.