Commit graph

483 commits

Author SHA1 Message Date
Bill Currie
0b117b7133 *sigh*, well, it turns out that even id's qc is borked when it comes to
unallocated entities, so make 0xdeadbeef optional (pr_deadbeef 1 to turn it
on).
2001-04-22 04:58:33 +00:00
Bill Currie
4be4e5ccf6 clear not-yet allocated entities to 0xdeadbeef 2001-04-20 17:51:57 +00:00
Bill Currie
1b972cb132 clear freed entities to 0xdeadbeaf instead of 0 2001-04-19 22:42:01 +00:00
Bill Currie
09271f061a somehow missed this earlier 2001-04-11 03:55:48 +00:00
Joseph Carter
2bc55b7828 Cvar cleanups.. NULL is now used in place of 0 for callbacks, this should
make Cvar_Get's a lot easier to read.
2001-04-10 23:39:30 +00:00
Bill Currie
dfbfd9463c mingw cross compile fixes. qw-server (only, so far) compiles but does not
yet link due to Sys_Error :/
2001-04-10 20:07:11 +00:00
Bill Currie
e939ccc40a cvars now sport a callback function that gets called whenever the cvar changes
or on initial get.
2001-03-31 01:02:52 +00:00
Jeff Teunissen
277c17cfd8 Shared library support. The util and gamecode libraries are now shared,
and this clears the way for an external API for utilities and
such. And yes, this means libtool is now used.
2001-03-29 09:07:44 +00:00
Bill Currie
cb5c262ffc qtypes.h:
remove includes of qdefs.h and compat.h
pr_comp.h:
	merge pr_comp.h from quake and qfcc, removing the copy in qfcc
cmdlib.[ch]:
	nuke the endian code.
qendian.c:
	initialise the LittleLong etc pointers at compile time rather than run
	time
com.c (both nq and qw):
	nuke the LittleLong etc init code
everything else:
	fix up after the qtypes.h cleanup
2001-03-28 17:17:56 +00:00
Bill Currie
067db089a2 make edict pruning, field parsing and the builtins part of progs_t like they
should have been
2001-03-27 22:39:21 +00:00
Bill Currie
f78b973978 move the api headers into include/QF and clean up (most of) the resulting mess.
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.

Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00
Bill Currie
f6073d756f better progs access error checking and cleanups resulting from it. Fixes
mega2k and nq.
2001-03-27 03:57:17 +00:00
Bill Currie
771648a5b4 forgot to remove the old prstring stuff 2001-03-06 16:10:28 +00:00
Bill Currie
97bf8d2c51 garbage collector implemented but untested. Also unsused because the issue is
WHEN to call it. I don't imagine it will be cheap :/
2001-03-06 05:29:46 +00:00
Bill Currie
4489319298 first step towards garbage collected dynamic strings in qc. All strings
external to the progs file are now malloced and then freed at progs reload.
All that needs to be implementd for gc to work is the scanner and deallocator.
2001-03-06 04:22:33 +00:00
Bill Currie
f40b361fb3 hash.[ch]:
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.
2001-03-05 05:11:26 +00:00
Bill Currie
aad21e3c00 put the pointer comparison back in so dynamic strings don't cause blowouts 2001-03-05 04:15:59 +00:00
Bill Currie
234dcb4cc9 better(?) string sharing. e1m3 died a sad death in nq due to running out of
strings, but that was because only the address of the string was checked for
similarity. Now strequal is used.
2001-03-05 04:08:08 +00:00
Bill Currie
021c1347ed remove the reliance on MAX_EDICTS 2001-03-04 05:42:26 +00:00
Bill Currie
8e52f7dc39 more nq fixes, not there yet 2001-03-03 09:09:39 +00:00
Bill Currie
26c387408c fix a silly edict print bug 2001-03-02 23:07:21 +00:00
Bill Currie
6c9de8061b fix the silly OP_STATE bug. also erradicate pr_offs.c and its contents (the
source of the bug)
2001-03-02 19:18:04 +00:00
Bill Currie
ffc5838599 more debug changes. not there yet 2001-03-02 00:32:10 +00:00
Bill Currie
be8f1cef7c just some temporary debug info 2001-03-01 23:30:55 +00:00
Bill Currie
6f590ff9d0 forgot to change ev_function to ev_func in pr_edict and pr_exec was using the
wrong time. weaponframe still not fixed, but static entities were fixed in the
previous checkin
2001-03-01 23:03:40 +00:00
Bill Currie
ad18afaa3c really clean up global and function access. Unfortunatly, frames are still
borked, at least for the view entity.
2001-03-01 08:34:30 +00:00
Bill Currie
cc43c91c89 fix classname field finding 2001-02-28 23:33:16 +00:00
Bill Currie
63b990cd30 qw-server builds, but dies a sad death. I REALLY REALLY NEED to clean up my
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.
2001-02-28 22:44:38 +00:00
Bill Currie
dfaf767890 libqfgamecode now builds. Now for the fun part: getting qw and nq to work using
the new setup.
2001-02-28 09:12:01 +00:00
Bill Currie
b5d86d522d pr_edict.c is closer to compiling and has been re-indented 2001-02-28 02:25:03 +00:00
Bill Currie
9f2dacd2e1 re-think edict_t. this is going to massivly break things for a while, but
tough, progs should never have known about entity_state_t in the first place.
Nor should it have been mod spefic.
2001-02-28 01:59:31 +00:00
Bill Currie
e5543eb0a6 next step of the progs merge done. just need to sort out interdependencies,
fix PR_SetString, and a few other things.
2001-02-28 00:56:03 +00:00
Bill Currie
38e70e9fb2 the beginnings of merged progs code 2001-02-27 23:02:17 +00:00