Commit graph

467 commits

Author SHA1 Message Date
Jeff Teunissen
118645fd51 Property list updates. Objects of type QFDictionary are now hash tables
(and thus have a new simpler PL_ObjectForKey() function to get a value for
a key). Also, you can now call PL_FreeItem() on a plitem_t to free a
property list item and all of its descendants (if it has any).

Binary plist values are still not supported.
2001-06-19 02:10:47 +00:00
Bill Currie
3a94567913 Make Hash_FlushTable loop safe and correct the copyright notices 2001-06-19 02:01:18 +00:00
Bill Currie
8c13809e9c don't process .S files when not using asm (either --disable-asmopt or non-x86
platforms). Done by moving the asm objects into libasm.la (yes, there's one in
each dir that needs it) so that the Makefiles don't explode.
2001-06-14 19:52:38 +00:00
Bill Currie
f4969d5d67 add some docs for the hash table api and move the include of stdlib.h to
hash.c (no longer needed in hash.h).
2001-06-11 19:37:25 +00:00
Bill Currie
75fbb80b96 make the hash table types opaque 2001-06-11 19:17:40 +00:00
Bill Currie
2fa5437303 correct a comment 2001-06-07 17:11:34 +00:00
Bill Currie
22f465dabe use field_offset to hide the nastyness 2001-06-06 16:10:28 +00:00
Joseph Carter
4a0d453b48 The gfx.wad error is now idiotproof! 2001-06-05 08:39:27 +00:00
Bill Currie
e339e82c01 hash.h is now const correct as is a lot of qfcc 2001-06-04 04:52:14 +00:00
Bill Currie
06064ec390 compat.h:
create a field_offset macro that takes a structure type and a field and
	returns the offset of the field within the structure
everything else:
	use field_offset to calculate the size of variable sized structs
2001-05-31 18:11:05 +00:00
Bill Currie
323015b11a include/QF header cleanup. including config.h (or any file from include) is
a nono because headers in include/QF get installed, but include don't and thus
would break quakeforge-dev.
2001-05-31 05:33:13 +00:00
Bill Currie
6bf58ab1af no header includes cvar.h now 2001-05-31 03:41:35 +00:00
Bill Currie
940598f240 merge pcx.c, tga.c and wad.c. util seemed the most logical place, but LoadPCX
had to be modified to get away from vid.h (better designe now IMO anyway)
2001-05-30 20:56:53 +00:00
Joseph Carter
05adfd0e53 quakefs.h -> vfs.h
quakeio.h -> vfile.h

More diff reduction between trunk and my VFS code.  Also took the time to
put some headers in order and fix a few #include's pointed out by moving
things around a bit.
2001-05-30 04:34:06 +00:00
Joseph Carter
186d577818 s/QFile/VFile/g - makes my diffs much smaller and more manageable for the
VFS work.
2001-05-30 03:21:19 +00:00
Bill Currie
47d95d245a protect the cvar callback and description fields from being modified once
they have been set to non-defaults.
2001-05-30 02:41:30 +00:00
Bill Currie
fa6dd2a9f3 now works with autoconf 2.50 2001-05-23 03:01:03 +00:00
Zephaniah E. Hull
b264cdd28b Make it actually work? 2001-05-22 12:44:53 +00:00
Zephaniah E. Hull
5245f56012 Validate userinfo strings on connect. (Part of a nasty DOS fix.) 2001-05-22 12:00:45 +00:00
Jeff Teunissen
5569f04a88 whitespace 2001-05-19 23:24:57 +00:00
Adam Olsen
9cc30959e4 Sound now uses runtime plugins. Much thanks to Deek for doing all the
thinking :)
set fs_pluginpath to point to the right dir, and set snd_plugin to pick a sound
plugin.

Current issues:
- alsa 0.5 won't build properly, dunno why
- segfault on exit.  I think I know the cause of this, and how to fix it
- alsa 0.9, gus, sgi, sun, and win32 havn't been tested
2001-05-19 00:05:35 +00:00
Bill Currie
306d6db39b if ... if -> if ... else if 2001-05-17 20:05:36 +00:00
Bill Currie
e118a9136a forgot these :P 2001-05-08 20:57:07 +00:00
Bill Currie
b5df1c816a move fnmatch.c and dirent.c to libQFutil 2001-05-08 20:53:25 +00:00
Bill Currie
cc68e1a12e qf now links with NO optimisation (not even -O). R_CullBox has been moved from
glquake.h to mathlib.h (along with the declaration for frustum) and the
extern inline keyworws protected by an ifndef so that mathlib.c can cause
R_CullBox to be compiled publicly. The definition of frustrum has been moved
from its verious locations into mathlib.c.
2001-05-07 04:08:34 +00:00
Bill Currie
58afc88122 link libQFutil.so against libdl 2001-04-25 20:53:09 +00:00
Jeff Teunissen
c364e1c3cf The first version of the QF Plugin API. Version 1.0 supports input and
sound (digital audio, that is, not CD) plugins right now, more to come
later.
2001-04-24 22:19:42 +00:00
Adam Olsen
853fbb4242 Change commented out Con_Printf statements in Cache_Move into
Con_DPrintf statements, so they can be used in debugging without
recompiling.  And no, there's no performance issue.
2001-04-17 08:39:44 +00:00
Bill Currie
f37b007da2 nuke the memset in Hunk_HighAllocName 2001-04-12 23:39:23 +00:00
Bill Currie
12c14bd71f split up console like sys was 2001-04-11 05:10:04 +00:00
Bill Currie
9cd83e178f various fixes for out-of-srcdir building
configure.in:
	foo/Makefile MUST come before foo/bar/Makefile or foo/bar will NOT be
	created.
libs/*...*/Mkaefile.am: add INCLUDES so $(top_scrdir)/include gets searched
{qw,nq}/source/Makefile.am: fix fbset compiling (and cleaning for nq)
2001-04-11 03:09:24 +00:00
Joseph Carter
75aa40276f A few more. Also removed a couple inaccurate comments. 2001-04-11 00:10:19 +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
082c5ccae4 get qw-server to link in mingw 2001-04-10 21:43:57 +00:00
Bill Currie
e9fb7576da oops, missed with the #ifdef 2001-04-10 20:15:52 +00:00
Bill Currie
334b528a40 forgot some bits 2001-04-10 20:11:50 +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
Adam Olsen
ed0b391dfb Tweaked some comment indentation that made me itch ;) 2001-04-10 02:36:50 +00:00
Zephaniah E. Hull
a16b2c0070 Borrowed LH's VectorVectors.
Changed smoke trails a good bit.
2001-04-06 18:37:23 +00:00
Bill Currie
67368ffc5d make the start calculation a little more accurate 2001-04-01 03:30:17 +00:00
Bill Currie
ccbae9bd5c do Sys_Error the same way Con_Printf was done 2001-04-01 02:08:38 +00:00
Zephaniah E. Hull
8ef747124c Fixed the weak Con_Print issue.
(Still need to thwap taniwha for doing an incomplete merge.)
2001-03-31 14:41:13 +00:00
Bill Currie
7cb6245efa link libQFutil.so against libz so the clients (and tools) don't need to worry
about it
2001-03-31 03:51:25 +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
Bill Currie
4162243287 eliminate Cmd_ForwardToServer from cmd.c. Cmd_ForwardToServer still needs to
be removed from cmd.h, but that can wait a bit.
2001-03-31 00:35:08 +00:00
Bill Currie
ad9142ff3c move Con_Printf, Con_DPrintf and Con_Print (weak) into libs/util/console.c.
Except for the cmd and cvar callbacks, libQFutil.so is now standalone.
2001-03-31 00:08:21 +00:00
Bill Currie
1e2e2f44c3 move the developer cvar into cvar.c 2001-03-30 23:35:48 +00:00
Bill Currie
99535102d7 bare bones sys stuff moved into libQFutil. unix stuff seems to work just fine,
but win32 is probably borked atm
2001-03-30 23:24:57 +00:00
Bill Currie
4f2e22bfb8 merge and move quakefs.c into libQFutil where it belongs. at long last 2001-03-30 00:44:35 +00:00
Bill Currie
80ee9eb8d1 merge and move quakeio.c into libQFutil 2001-03-29 21:16:16 +00:00
Bill Currie
95d116eac0 make makt.S pic friendly. The ELF abi is bent slightly as ebx was already used
and I didn't feel like subbing it for something else, so esi is the GOT access
register.
2001-03-29 09:10:35 +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
82b533e1ef forgot that .S files don't have dependency info :/ 2001-03-27 21:46:49 +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
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
c4616346a1 dx_hack_hash stolen from Daniel Phillips <phillips@innominate.de> in the lkml.
This might or might not give hash tables a better spread. We'll see :)
2001-03-05 16:19:10 +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
09b58f7e5f merge math code into utils 2001-03-05 02:06:05 +00:00
Bill Currie
4b1f10d10d fix the problem with getting kicked from tf/megatf servers for changing teams.
Got the `changed' test backwards.
2001-02-24 04:25:27 +00:00
Bill Currie
2bfeed6820 looks like utils is more or less complete for now, except for some fixes in
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.
2001-02-23 23:16:13 +00:00
Bill Currie
981d067000 merge qw's net_com.c and checksum.c (net_com.c was identitcle to nq's
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].
2001-02-23 18:31:48 +00:00
Bill Currie
42e52a7093 %s/libutil.a/libqfutil.a/g due to name space clash found when linking SDL.
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.
2001-02-22 16:53:15 +00:00
Bill Currie
7516666084 libutil.a is now used by both qw and nq 2001-02-22 08:12:13 +00:00
Bill Currie
9aa50a847c clean up the mess caused by attempting to merge cmd.[ch]. When taken further,
this might give us nice controlability of when cvars can be changed.
2001-02-22 04:46:59 +00:00
Ragnvald Maartmann-Moe IV
c6da49206e More typos, spelling corrections, and case fixes fed to the nearest handy fiend. 2001-02-22 00:15:03 +00:00
Bill Currie
95f6db7775 start merging stuff into libs/util and fix the concequences in nq. nq doesn't
build yet though (keys.c, *screen.c and *view.c) due to console fun.
2001-02-21 19:35:06 +00:00