>>54If you are using the ./all script to compile the engine (ex: ./all compile -r )
instead use the newer compile only engine option
(./all compileengineonly -r )
make sure your darkplaces systemlink is pointing to darkplaces_working on and not darkplaces_master (_workingon is the default for the zip, and it's the newer branch with the new stuff)
-r means "release" (so it's fast, omitting this makes it slower by far)
the options for ./all are:
./all compile -r (compiles C and QC and tries to dl maps if allowed to)
./all qccompileonly -r (compiles only the QC (looks in Xon../data/qcsrc etc (that is in the zzzzzz..pk3, if you want to hack on it you can extract the qcsource so it's in the data dir: this is how we used to work on it in the nexuiz days. Note: QC wastes globals for everything. Every setting you want to have in a config file wastes a global, every string you reference wastes a global, every variable in an "array" wastes a global, every subroutine wastes a global, every reference to a numer wastes a global, every vector that is new wastes a global (ie: 1 1 1 vs 1 1 2 wastes 6 globals).
The only thing that doesn't seem to waste a global is using a local scalar variable declared at the beginning of a subroutine.
This is why so many are used.
It's just the way the compilers are.
We aren't using 65000 global variables.
But every number in the source code wastes a global and every other thing you add (for the first time) wastes one.
And arrays do most of the wasting btw.
./all compileengineonly -r (this is the one you want, just compiles the engine) (if you don't want to configure make etc)
(there are other ways to compile the engine too)