the client sends the prespawn, spawn, and begin commands in the correct order.
This stops several interesting cheats in TF as well as the posibility of avoiding the map
checksum.
challenge, causing QF clients to not detect a QuakeForge server. This
makes the client not add the QF-specific info strings, in turn making it
not overflow original QW clients' limited setinfo space. This also
probably makes certain proxies work with QF servers again. It /also/ has
the side effect of disabling compressed downloads. If you want compressed
downloads, you need sv_extensions on.
Also, remove the "stdver" setinfo in the client -- it's handled by
*qsg_version if there's a QF server on the other end, so it was just
wasted space.
strings (skybox and *progs). skybox is easy to take care of (aditional parse
functions), but I haven't yet decided what to do with *progs. Also, progs code
needs a bit of a cleanup, but that will come later.
progs engine no longer refers to any global vars. This alows for multiple progs
being loaded (NOTE: NOT multiple mods, but (eg) for various protocol
extensions) and, once the last couple of issues are taken care of, CSQC.
code.
Then we have the completely purge of treating 'unsigned' as a type, it
is NOT a type, it is a TYPE MODIFIER!
Under gcc for x86 it happens to try and do something sane, just treat it
as a unsigned int, but that is EVIL, it is a MODIFIER and if ANYONE adds
code which uses unsigned as a type in itself I /WILL/ harm them!!!
little problem of mixed QFile and FILE. Since we're not using ZLib in
this tree, QFile makes no real sense. That didn't fix the real problem
I am having though.
split up the headerfiles and such. common.[ch] and qwsvdef.h no longer exist. More work still needs to be done (esp for windows) but this should be a major improvement.