From 812b04ce24cfd08c4f0cdcfa66583bd787c48a6b Mon Sep 17 00:00:00 2001 From: terencehill Date: Fri, 4 Nov 2022 15:36:52 +0000 Subject: [PATCH] Programming Tips: improve "Faster compiling and reloading of QuakeC" section --- Programming-Tips.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Programming-Tips.md b/Programming-Tips.md index d05c4b1..7530860 100644 --- a/Programming-Tips.md +++ b/Programming-Tips.md @@ -1,10 +1,20 @@ ### Faster compiling and reloading of QuakeC -You can use `QCCFLAGS_WERROR="" ZIP=: ./all compile` to let the build succeed even with warnings and to skip compressing the resulting csprogs.dat (client gamecode) into a pk3. +You can use `QCCFLAGS_WERROR=""` to let the build succeed even with some warnings and `ZIP=:` to skip compressing the resulting csprogs.dat (client gamecode) into a pk3. A compressed csprogs.dat is only useful to increase download speed of such file if you host an online dedicated server. + +`QCCFLAGS_WERROR="" ZIP=: ./all compile` Server and menu code produce progs.dat and menu.dat respectively. -No need to restart Xonotic to load the new client and server code, just start a new map with `map XXX` (depending on how you launch Xonotic you may need to use `fs_rescan; map XXX`). You can restart the menu with `menu_restart`. +Compiling the Xonotic game code without trying to compile the engine code reduces compile time a little bit, in the case you aren't interested in changing the engine code. You can do so by running this command from the xonotic-data.pk3dir directory: + +`make qc -j4` + +where `-j4` is an option that lets you use up to 4 CPU cores for the compilation (it's enabled by default in `./all compile`). If you want you can run `make all -j4` to enable csprogs.dat compression. + +To test the QC client and server programs you don't need to restart Xonotic, you just have to start a new game with `map ` (depending on how you launch Xonotic you may need to use `fs_rescan; map `). + +To test the QC menu program, you just have to restart the menu by executing `menu_restart` in the console. ### Debug prints -- 2.39.2