slight api change: the getkey and free functions now take a user data
parameter (which is an aditional parameter to Hash_New.
cmd.c, cvar.c, quakefs.c:
clean up the resulting errors.
pr_edict.c:
use hash tables for lookups of function, global and field definitions.
should speed things up a bit, ESPECIALLY when type checking is enabled.
thinks:
o Full progs modularity
o CSQC should now be just a matter of creating the builtin functions and
loading the code.
o total independence from progs globals, functions and entity field layouts
on the conditoin that their definitions have not been stripped from the
progs file.
o optional (though currently forced on) type checking on access to progs
entity fields from C
o the progs engine is fully shared between nq and qw.
(or now unconditionally nothing since I killed the menu), it works as the
console. In the future, when the new menu is implemented, it will fall
back to console if there's a problem with the menu (like there isn't one.)
progs globals and edict fields accessors, but I'm not so sure that's the cause
of the run-time error:
SV_Error: SV_ModelIndex: model progs/player.mdl not precached
Fatal error: SV_Error: SV_ModelIndex: model progs/player.mdl not precached
I suspect I failed to find the spawn function.
use of Con_Printf in the code and it was appropriate for logging anyway.
As a result, Con_DPrintf now uses Con_Print directly for a slight speedup
there having two layers of function calls and varargs parsing to get to
the console. Also ran the file through indent while I'm at it.
subsystem in favor of Cvars*. These new cvars are:
o snd_device defaults to "" which selects the default device of the system
(eg, plug:0,0 for ALSA 0.9 or /dev/dsp for OSS)
o snd_rate defaults to 0 which selects the system default rate.
o snd_bits defaults to 0 which selects the system default bit depth.
o snd_stereo defaults to 1 (0 is mono)
* actually, not that thorough: alsa and oss only. The rest have just ws :/
nq for abyss etc (ie, the magical -<mod> args).
The interface to the message subsystem got a revamp and all the mods to the .c
files reflect this. currently a little ugly, but I plan on abstracting msg
further to clean it up and make it more oo.
checksum.c) and then move the resutlting checksum.c into libs/utils
ditching nq's. Due to net_com.c, qw's libqfnet.a will need to be deleted or
you will get duplicate symbol link errors. Also merge crc.[ch] and move
qfplits.[ch] to their final homes. Also, remove a slightly overzealous use
of "static" in qfplist.[ch].
New naming convention, all libs will be libqf<subsys>.a (should we instead
use libQF<subsys>.a?). The .so libs, when we get to them, will have to be
sorted out then.
give you a little more screen real-estate. It does, but you still have a
big gun blocking most of your screen in the center. If you turned off the
HUD, you got more screen and less gun. That now happens whenever the HUD
is displayed.
This is a temporary measure. At a later point, the gun will always be at
the bottom of the view area regardless of fov.
defaults in non-win32 targets. BASEDIR/SKINBASE are gone and the Cvars
which use them in the code are just given the oldstyle defaults now. Use
of "base" is gone. It was a half-assed solution to a problem that doesn't
exist yet. When it finally does exist, we'll fix it right.
cougar-(qw|nq)-cl-*
cougar-(qw|nq)-sv
If someone really wants to a S&R on cougar in configure.in and the two
Makefile.am files will change it to something else.