Commit Graph

1727 Commits

Author SHA1 Message Date
Ragnvald Maartmann-Moe IV 30012cc753 Fix K_RCTRL handling. 2002-08-08 05:53:58 +00:00
Bill Currie cbde41c669 damnit! 2002-08-08 04:41:41 +00:00
Bill Currie 3baec9e856 clean out the dead mtex code 2002-08-08 04:27:49 +00:00
Bill Currie 0963c2476d improved server logging. "logfile" is gone from qw-server to be replaced
with "sv_logfile" and thus giving nq-server logging as well.
2002-08-07 18:46:53 +00:00
Bill Currie c05db51069 add Qputs 2002-08-07 18:43:35 +00:00
Bill Currie ca92e5885f part of the macroizing 2002-08-07 18:21:36 +00:00
Bill Currie e171146582 Make Sys_Error repeat it's message to stderr to increase the changes of the
error being seen. (Closes: #39)
2002-08-07 15:31:56 +00:00
Brian Koropoff 5c60be3a49 If and while now work, and embedded commands use backticks instead of <> now
to prevent conflicts with math expressions.  All clients and servers are set
to create buffers with the normal parser.  However, scripts ending in .gib
are now executed in a GIB buffer, and the export command can be used to
make specific GIB functions available to normal command buffers (i.e. the
console).
2002-08-07 06:17:50 +00:00
Brian Koropoff 666c3fce07 Embedded commands now work without any bugs I can detect. Next up are
loops, branching, and getting the tokenizer to give special treatment
to certain builtin functions.  But first I should get some sleep :)
2002-08-06 08:15:20 +00:00
Brian Koropoff bdd0f69f17 Declared variable in the wrong spot. Don't know why gcc 3 accepted it. 2002-08-05 05:58:17 +00:00
Brian Koropoff 87f0f480e4 Local variables work, preparing to get embedded commands done. 2002-08-05 00:01:06 +00:00
Ragnvald Maartmann-Moe IV f773e1fa36 Minor alias model rendering speedup. 2002-08-03 07:07:23 +00:00
Ragnvald Maartmann-Moe IV 10c3f91a24 Revert taniwha's broken-radeon workaround. 2002-08-03 07:07:00 +00:00
Bill Currie 9c08f5b169 fix a typo that caused weirdness with the lerping 2002-08-03 06:13:35 +00:00
Brian Koropoff cf48363c6e More of GIB done: builtins, functions, various cleanups, math, etc. 2002-08-03 06:04:00 +00:00
Bill Currie c5192540c8 remove an accidental commit 2002-08-03 01:29:26 +00:00
Chris Ison c6217dc7a7 fix bug where -commands where executed and command buffer could be filled when key repeated 2002-08-03 00:19:41 +00:00
Ragnvald Maartmann-Moe IV 97d6f46f75 Speed up 16bit coord alias models a bit. (only one VectorScale per vertex now) 2002-08-02 18:07:53 +00:00
Brian Koropoff 3c3844d2ac Checked in the beginnings of GIB mark III and modified qw-server to use
it for its console.
2002-08-02 04:07:25 +00:00
Bill Currie 4bd940e619 d'oh 2002-08-02 03:26:55 +00:00
Bill Currie 5f4c21d796 casting from (signed) char to int does not one whit of good towards avoiding
the problems associated with signed chars being used to index arrays. must
cast to usigned char so the bit expansion is done on an unsigned value to
avoid the sign extension.
2002-08-02 03:22:32 +00:00
Bill Currie 2ce0f2ded2 we now require modern autoconf (2.52+), automake (1.6+) and libtool (1.4+).
This gives us a bunch more flexibility. plugins no longer have the "lib"
prefix or the version suffix, they're now installed in
$fs_sharepath/QFplugins,, builds should take much less time (in general,
only one of pic or non-pic versions are build), bins and libs can have
individual CFLAGS
2002-08-01 19:49:10 +00:00
Bill Currie 612f5c2a31 attempt to fix the win32 server input 2002-08-01 04:49:16 +00:00
Brian Koropoff 4e85063b52 Added support for execution stacks, misc. cleanups. 2002-08-01 02:42:19 +00:00
Brian Koropoff 439f9838d3 Whoops, missed some stuff that needed to be in idparse.h 2002-07-31 22:13:15 +00:00
Brian Koropoff a93b221272 Split off the old console parser into idparse.[ch] and prepared the cbuf
struct and support functions for GIB mark III.

Oh yeah, I'm back.
2002-07-31 22:03:53 +00:00
Bill Currie 4b9382d4a8 nuke GGI_CFLAGS (never set) 2002-07-31 18:51:34 +00:00
Bill Currie 0bb6769204 fix the non-parsing of quakeforge.conf 2002-07-31 06:06:44 +00:00
Bill Currie ad6e025a91 take cmd.[ch] back to basics. the gib code is temporarily gone pending
renovations. cmd_source handling is a little hacky in nq, but it's working.
2002-07-31 05:19:03 +00:00
Bill Currie 021decc7bd start on the cleanup of cmd.c. these aren't used yet, but the parsing is
working
2002-07-30 17:08:53 +00:00
Bill Currie 46ee46fdc6 dead code removal 2002-07-30 04:55:33 +00:00
Bill Currie b9d364d7b7 whitespace clean up 2002-07-30 02:06:37 +00:00
Bill Currie e0aa405e76 remove some dead code 2002-07-30 01:56:07 +00:00
Bill Currie 5fd916a0da looped oggs now work so long as they have a CUEPOINT= comment 2002-07-29 22:25:32 +00:00
Bill Currie d00ed9619f give dstring_adjust a prototype and fix up some whitespace 2002-07-29 19:52:19 +00:00
Bill Currie 0514d37458 don't accept absurdly large vertex arrays 2002-07-27 16:46:58 +00:00
Bill Currie d04eeb3ba2 get -wgl working again 2002-07-27 06:43:28 +00:00
Bill Currie 01228a8be0 set the file mode before seeking 2002-07-27 06:42:52 +00:00
Bill Currie b3d6875e61 _vsnprintf doesn't like a null pointer in windows 2002-07-27 02:00:06 +00:00
Bill Currie 587ac5670b using R_FLOAT for setting individual fields of the return vector ain't so
good a thing to do.
2002-07-25 14:58:02 +00:00
Ragnvald Maartmann-Moe IV 587de27849 Another step towards QSG2 compliance. 2002-07-25 14:43:36 +00:00
Ragnvald Maartmann-Moe IV 3c7d65a798 Whitespace. 2002-07-25 14:42:41 +00:00
Ragnvald Maartmann-Moe IV 4ed68266ea Speedup when r_waterripple = 0, and small speedup to texture coordinate calculation. 2002-07-25 14:01:36 +00:00
Bill Currie 2f57f95783 don't show the single player menu line 2002-07-25 05:33:16 +00:00
Bill Currie 51e4cad3fe get Draw_SubImage doing transparencies 2002-07-25 05:04:22 +00:00
Bill Currie 51b189f56a make Draw_SubPic do transparent pics 2002-07-25 04:30:50 +00:00
Bill Currie de22355371 use P_* for params and R_* for return values in builtins code 2002-07-24 21:42:33 +00:00
Bill Currie defcedec49 give access to Draw_SubPic 2002-07-24 21:39:03 +00:00
Ragnvald Maartmann-Moe IV d3fc8c5fb6 No need for function pointers on R_AddDynamicLights_*, they are never called from outside the R_BuildLightMaps_* function that matches them.
Nice spotting, taniwha!
2002-07-24 15:30:28 +00:00
Ragnvald Maartmann-Moe IV 85c7e43aef Split lightmaps off from surface drawing. 2002-07-23 19:57:47 +00:00
Ragnvald Maartmann-Moe IV 227da6afba Change pr_boundscheck default to 0. *grmbl* 2002-07-21 23:35:36 +00:00
Bill Currie acf9ce392c move pakfile.[ch] into libQFutil and make quakefs.c use it instead of its
own code. This also removes the evil pak file count limit :)
2002-07-21 06:11:28 +00:00
Bill Currie bff6291bfb don't need to force developer now 2002-07-16 22:06:52 +00:00
Bill Currie ac1392eb74 object.r:
define __obj_exec_class, obj_msgSend and obj_msgSend_super for the way
	qfcc now handles these defs
pr_edict.c:
	PR_ValueString now checks that the function is valid before trying to
	print its name.
class.c:
	__obj_exec_class is now extern
linker.c:
	fix more mangled relocs
method.c:
	obj_msgSend and obj_msgSend_super are now extern
qfcc.c:
	fixes so obj_module_t doesn't get zapped
type.c:
	fixes so obj_module_t doesn't get zapped
2002-07-16 19:03:56 +00:00
Bill Currie 35d224f1da a little more info and force developer on for now 2002-07-16 15:39:49 +00:00
Bill Currie 34fa421638 whitespace 2002-07-13 03:41:33 +00:00
Ragnvald Maartmann-Moe IV 1f8a1d613f Fix r_particles_nearclip being forced to max. 2002-07-08 00:05:33 +00:00
Ragnvald Maartmann-Moe IV d297c2b3a3 Colormod & alpha for brushmodels, excluding skypoly emittors. 2002-07-07 06:15:36 +00:00
Ragnvald Maartmann-Moe IV edc4e27124 Minor order fixup. 2002-07-07 02:34:48 +00:00
Bill Currie 1337b8bd3d be a little more verbose with the "Bad surface extents" error. 2002-07-03 21:03:49 +00:00
Jeff Teunissen 065ec7ff39 Clean up the "fxMesa" error message so it makes more sense, and so most people
will actually see it if they need it.
2002-07-03 06:31:03 +00:00
Ragnvald Maartmann-Moe IV e1854315ac Clean out DDActive, except from -mgl, which isn't supported ATM. Clean up vid_mgl.c comments and dead code a bit. 2002-07-02 20:34:51 +00:00
Bill Currie 91dc5b20db nuke MSG_ReadChar. Other than the sign extention, it's redundant and nothing
a suitable typecast can't take care of.
2002-07-02 19:15:29 +00:00
Ragnvald Maartmann-Moe IV 5e5fdb7bc2 Kill MSG_WriteChar. 2002-07-02 19:13:53 +00:00
Bill Currie e5d8781150 win32 compile fixes. still have problems with DDActive, but Despair's going
to look at that.
2002-07-02 18:45:50 +00:00
Ragnvald Maartmann-Moe IV a49177c605 Merge a few more lines into queue_character, and prepare for optimizing gl Draw_nString. 2002-06-28 17:47:26 +00:00
Bill Currie 1828cbff5a get the type for getProcAddress right 2002-06-28 17:15:49 +00:00
Ragnvald Maartmann-Moe IV a6d999dfa4 Speed up most of the MSG_Write* functions by reducing the number of times SZ_GetSpace gets called. 2002-06-28 04:48:07 +00:00
Ragnvald Maartmann-Moe IV 4e467ac8df Whitespace. 2002-06-27 18:50:26 +00:00
Bill Currie e77d730054 windows really sucks 2002-06-27 16:37:16 +00:00
Ragnvald Maartmann-Moe IV fd1ded5c4a Add r_nearclip and r_particles_nearclip. Also put some limits on r_farclip. And fix id's insane max and min float, and some minor improvements in frustum setup in GL. 2002-06-26 22:20:12 +00:00
Ragnvald Maartmann-Moe IV e6e11af426 Move the contents of gl_funcs.c out of the renderer, and into targets where they belong. Also some cleanups. -sgl target is temporarily broken, all others should work. 2002-06-24 21:35:37 +00:00
Chris Ison 70d8026067 Removing -3dfx's dependancy on clide 2002-06-24 15:56:01 +00:00
Ragnvald Maartmann-Moe IV c8bc5dfb4c QSG2 glows almost working. Plus lots of typos killed. 2002-06-18 21:41:24 +00:00
Ragnvald Maartmann-Moe IV c25cfe6c9e A couple extra glFinishes a frame just aren't good for performance, even if they are a handy workaround for taniwha's text rendering bug... 2002-06-18 15:40:30 +00:00
Bill Currie 1486c97b8f move the vertex setup and va flushing code into inline functions, killing a
lot of duplicate code. Performance is not harmed :)
also some whitespace
2002-06-18 04:13:46 +00:00
Bill Currie 717127e0d8 don't print ! on uninitialized global defs that are the correct type for
the instruction
2002-06-17 05:31:08 +00:00
Bill Currie 59dba829f2 fix an out-by-one error caused by over-optimisation of floats. 2002-06-17 00:26:13 +00:00
Bill Currie 2264c28310 pr_strings:
remove a bogus 0x which caused confusion in an error message
def.c:
	vector fields still need an extra 3 globals for their component fields
2002-06-16 05:24:58 +00:00
Bill Currie 76704e9daf the other part of the rename 2002-06-16 04:22:51 +00:00
Ragnvald Maartmann-Moe IV 00f5d82a86 Make wizard spike hits visible, plus a couple minor cleanups. 2002-06-15 10:54:26 +00:00
Ragnvald Maartmann-Moe IV 2a4f2a77fb Whitespace. 2002-06-15 10:52:14 +00:00
Bill Currie 930ba48862 other than sounds that are ment to loop not looping (due to losing that info
when converting to ogg (I've got some ideas on that)), ogg/vorbis support is
working. Doesn't seem to be too much of a load-time hit.
2002-06-15 05:43:56 +00:00
Bill Currie ddf4f257f4 *sigh*, sometimes I hate automake 2002-06-15 03:20:59 +00:00
Bill Currie 9f1e6f9c82 make the vorbis support mostly work. qf segs in Cache_TryAlloc when loading
a map, but I think that's related to some of our other sound resample bugs.
2002-06-14 22:55:57 +00:00
Bill Currie f2f6041e05 at long last, vorbis support :) load time only, though, so not yet suitable
for huge samples.
Also, change the file search order so that .gz is checked before the
requested file.
2002-06-14 20:36:28 +00:00
Bill Currie b65c96ad99 don't call draw_z_sky_polys for modes that don't need it 2002-06-14 19:25:32 +00:00
Ragnvald Maartmann-Moe IV df55030fa8 Fix alias bounding box sizes, so that large critters don't disappear when at edge of view frustrum...
(Taken and debugged from tutorial on quakesrc.org)
2002-06-14 09:33:37 +00:00
Ragnvald Maartmann-Moe IV eaf0f90c2f Undo thinko. 2002-06-14 06:23:11 +00:00
Ragnvald Maartmann-Moe IV c7432caf2e Fixes to shadow rendering, plus get QSG scale working for alias models. Which breaks viewmodel rendering until we figure out how that is escaping getting scale set. 2002-06-14 06:08:45 +00:00
Ragnvald Maartmann-Moe IV f12af8a3d4 Minor cleanup/optimization of sprite model rendering. 2002-06-14 06:06:38 +00:00
Ragnvald Maartmann-Moe IV 463ac44d9f Minor optimization for shadows, and make translucent objects have shadows matching their alpha. 2002-06-14 04:14:52 +00:00
Ragnvald Maartmann-Moe IV 942bf55c06 Flush console text before rendering menus, and a tiny optimization to fullscreen blend rendering in GL. 2002-06-13 22:51:43 +00:00
Bill Currie e774943f24 va.[ch]:
new va function: nva which returns a strduped buffer
expr.c options.c:
	use nva instead of strdup (va (...
struct.c type.c:
	make type encoding work properly for structs
2002-06-13 16:39:33 +00:00
Brian Koropoff 0d2bd0ca77 Finally added a file_read command. 2002-06-13 05:58:48 +00:00
Ragnvald Maartmann-Moe IV 10d7d17fcc Use vertex arrays for text. Another 1-3% speedup. 2002-06-13 05:24:52 +00:00
Bill Currie 88fc0be127 arrays are /almost/ working again 2002-06-12 22:37:18 +00:00
Ragnvald Maartmann-Moe IV 87741d2b90 Tweak r_firecolor to reduce haloing on rocket dlights. 2002-06-12 04:37:33 +00:00
Bill Currie 0b1d1ade73 qfprogs can now read the debug data 2002-06-11 17:24:37 +00:00
Brian Koropoff fe48995a0c Fixed some error messages and a small bug in list.gib 2002-06-11 06:08:31 +00:00
Bill Currie 74597018ec heh, forgot to ifdef the call to R_InitVars 2002-06-10 22:52:13 +00:00
Bill Currie 3551b82a50 compile fix for when vidmode isn't available 2002-06-10 22:30:30 +00:00
Brian Koropoff b70ffbf871 Fixed a warning message. Changed writefile to file_write. Added file_find
which searches a directory for files matching a pattern and returns a \n-
separated list.
2002-06-10 22:03:51 +00:00
Bill Currie a7f1e1185b Patch to get oss sound working in BSD thanks to Alexander Leidinger
<Alexander@Leidinger.net>
2002-06-10 15:36:33 +00:00
Bill Currie a4b06b1074 blah, enums and switch... (at least gcc 3.1 is warning about that again:) 2002-06-09 16:31:08 +00:00
Ragnvald Maartmann-Moe IV 9bca381c41 Remove R_Init_Entity. Never used, and probably doesn't belong in the renderer. 2002-06-07 23:38:53 +00:00
Bill Currie 5c943d4ca9 this should speed up progs a little bit 2002-06-07 19:41:13 +00:00
Bill Currie 3de07df3d2 *sigh*, I'm having a real problem this morning :P 2002-06-07 15:11:59 +00:00
Bill Currie c0888ae8e4 I really hate the way cvs won't let you undo a poorly thought out removal 2002-06-07 15:09:57 +00:00
Bill Currie ebfdbd9285 the fpu manipulation stuff seems to be better off in the one place that
actually uses it...
2002-06-07 15:09:20 +00:00
Bill Currie 4e07810f0d a little cleanup of unneeded lines 2002-06-07 14:44:02 +00:00
Ragnvald Maartmann-Moe IV ceb73449bb Order of operations cleanup, QSG2 alpha is now colormod[3] in entities. 2002-06-07 11:25:47 +00:00
Ragnvald Maartmann-Moe IV 46949068a2 Check return value on R_AllocDlight. Small optimization, people cutting r_dlight_max heavily should like it. 2002-06-05 22:07:38 +00:00
Ragnvald Maartmann-Moe IV 0552d31b0b Minor optimization. 2002-06-05 06:46:21 +00:00
Ragnvald Maartmann-Moe IV 0bce2d0f2e Add QSG2 colormod, alpha, and scale for sprites. Probably not used by anything, but there you go. 2002-06-05 05:56:13 +00:00
Bill Currie 0f9adc182d win32 compile fixes 2002-06-04 16:17:10 +00:00
Jeff Teunissen 1ba994fd13 This is a test hack, to see if chopping off some of the integer realtime's
data helps in lengthening the amount of time a server can be up without Weird
Stuff(tm) happening.
2002-06-03 23:29:34 +00:00
Bill Currie 4039452297 more sys cleanup. server consoles may be broken for non-curses. 2002-06-03 19:11:48 +00:00
Bill Currie 0f94fd64e7 blah, forgot to #ifdef them :P 2002-06-03 17:26:09 +00:00
Bill Currie 54b299a7e2 set the type and size of the fpu control word vars 2002-06-03 17:04:47 +00:00
Bill Currie d7c7ac7891 don't add -version-info for static plugins 2002-06-03 16:34:46 +00:00
Bill Currie b4e8e0750c well, that's one way to confuse anybody
fixes the floating point exception
2002-06-03 07:23:41 +00:00
Bill Currie ad08ff7492 there, finally got it right. ugh 2002-06-03 06:01:19 +00:00
Bill Currie 3ffec9e8c1 d'oh, forgot to set up my GOT base register in all the functions :P 2002-06-03 04:58:42 +00:00
Bill Currie 07c7c05f64 finish making sys_ia32.S PIC friendly 2002-06-03 04:06:25 +00:00
Bill Currie f00e892d4e mingw gcc 3.1 is freaking weird 2002-06-02 05:27:32 +00:00
Bill Currie 321dbc87d2 missed a couple of global accesses 2002-06-02 04:07:18 +00:00
Brian Koropoff 13d6898fe0 Changed aliases to be handled by the command registering system in
preparation of separating GIB into its own module.  Command-related
functions will stay in util, but the buffer handling code and interpreter
will be moved out of cmd.c.
2002-06-01 22:13:14 +00:00
Bill Currie 9630a23391 more Sys_* cleanup 2002-06-01 03:00:13 +00:00
Bill Currie fc0bb7e175 move Sys_DebugLog 2002-05-31 22:50:43 +00:00
Bill Currie 55fcead77c look for the .this field but don't complain if not found 2002-05-31 17:21:38 +00:00
Bill Currie a8e177652a initialize the meta class super class pointer correctly 2002-05-31 14:58:42 +00:00
Bill Currie 2ee3aec19b reverse the order of linking 2002-05-31 06:52:48 +00:00
Bill Currie ea3c6995fd actually /use/ method_list.method_next and chain the class methods onto the
instance methods for root classes.
2002-05-31 06:01:47 +00:00
Brian Koropoff d85a238af2 Modified cmd.c to prepare for more file access functions and changed
the bind system to keep a restricted flag on binds to prevent the
server from executing restricted commands by binding them to keys.
2002-05-31 05:38:06 +00:00
Bill Currie 381bdb2323 it seems some GL libs can return a null extension list (ie, null pointer) 2002-05-31 03:38:01 +00:00
Bill Currie 9134e05aec return lists of multiple matching elements 2002-05-30 21:56:57 +00:00
Bill Currie 8a762bdaaf hack to work around the gl lighting fix breaking sw 2002-05-30 21:39:21 +00:00
Bill Currie 4e67f8d155 remove an extern 2002-05-30 18:38:57 +00:00
Bill Currie a7b5b56a2c implement Z_Realloc, PR_Zone_Realloc and pr_obj_realloc 2002-05-29 20:58:53 +00:00
Brian Koropoff 8025dfd2ce "runLength-- > 0" made runLength negative, even though the test failed.
Skins should work again.
2002-05-28 23:34:02 +00:00
Bill Currie 9b7b059d5c speed up LoadPCX a bit 2002-05-28 06:05:36 +00:00
Bill Currie bebf3f9599 massive speedup to noise_diamondsquare (not that it /really/ matters:) 2002-05-28 05:34:06 +00:00
Bill Currie 7a3b63418b `adequate' temporary fix for r_lightmap_components 1 2002-05-28 04:11:40 +00:00
Bill Currie f3132162ae speedup r_lightmap_components 3 by ~4.2% in null-render 2002-05-28 03:49:13 +00:00
Bill Currie 101d38bd0c two win32 fixes for gcc 3.1 2002-05-28 03:33:03 +00:00
Bill Currie acdd37b381 this seems to give ~2.9% speed boost to overkill for null-render 2002-05-28 00:04:01 +00:00
Bill Currie 6fbf011073 rpm building fixes 2002-05-27 20:28:10 +00:00
Ragnvald Maartmann-Moe IV 802bcc2762 Another 0.657% speedup for greyscale lighting. Unfortunately, at a price of considerable code duplication. But this is necessary for other planned changes. 2002-05-26 08:56:48 +00:00
Ragnvald Maartmann-Moe IV 6c8e2c24aa *grumbles about old gcc* 2002-05-26 07:07:10 +00:00
Brian Koropoff 75ec7de2f5 This better actually fix the lightmap code. 2002-05-25 21:55:34 +00:00
Brian Koropoff ddd96312b1 Removed useless dereferencing. With any luck I understand what despair's
code is supposed to do this time.
2002-05-25 20:04:42 +00:00
Ragnvald Maartmann-Moe IV f1f942dfd1 Hacking my way towards working r_lightmap_components 1.
Users of r_lightmap_components 1, should set `int mod_lightmap_bytes = 1` at the start of `quakeforge/libs/models/brush/gl_model_brush.c`.
2002-05-25 15:29:22 +00:00
Ragnvald Maartmann-Moe IV b7900a2c43 Undo snax's order of operation breakage, and fix the typo that broke lightmap merging for r_lightmap_components 1.
The real problem with greyscale lighting, is in brush model loading. It'll probably take me a while to sort it out, since taniwha didn't get to it before taking off for the weekend. Sorry...
2002-05-25 15:01:23 +00:00
Brian Koropoff 11a14c077e Small order-of-operations fix. 2002-05-24 23:32:34 +00:00
Ragnvald Maartmann-Moe IV 2fe76b39e7 Smarter lightmap handling code. Still considerable optimization possible, at expense of duplicate code. 2002-05-24 17:12:41 +00:00
Bill Currie 25ebab2e09 only call Cbuf_ExecuteStack when the buffer has anything to execute. this
gives an ~1.1% boost to overkill.
2002-05-23 05:42:51 +00:00
Bill Currie 33e055209e Semi-major (more than minor:) progs convenience macro cleanup. There will
be more to come.
2002-05-22 22:35:37 +00:00
Bill Currie ea36fceec5 fix a few missed initializations 2002-05-22 21:45:15 +00:00
Bill Currie 34ec521198 vararg functions can now be imlemented in qc using @argc (number of params
passed through ...) and @argv (array of vectors, one for each ... param)
2002-05-22 20:43:29 +00:00
Bill Currie 018b3ae536 more runtime implementation 2002-05-22 19:02:26 +00:00
Bill Currie 43e609241c initial stab at supporting most of the obj runtime 2002-05-22 17:32:44 +00:00
Bill Currie 33daf1e724 provide temporary stubs for most of Object's methods 2002-05-21 23:39:21 +00:00
Bill Currie 3815d4be7e blah, unitialized variable 2002-05-21 22:27:41 +00:00
Bill Currie 05c8cad2d1 grr, really should make compat.h include string[s].h
also, partially implement the messaging functions
2002-05-21 22:13:05 +00:00
Bill Currie 9820c5d45a start working in the obj runtime. any and all functions named ".ctor" will
be run in the order found.
2002-05-21 21:29:49 +00:00
Bill Currie a8c3fa8ffc correct the function names in PR_EnterFunction and PR_LeaveFunction 2002-05-21 21:14:32 +00:00
Bill Currie 1b550c80b1 finally get Sys_Error `right' 2002-05-21 21:03:46 +00:00
Brian Koropoff 25969dbad7 Added a temporary hack to make quake.rc, config.cfg, and default.cfg work
in some mods that would generate mismatched quotes otherwise.
2002-05-21 02:02:20 +00:00
Brian Koropoff ee5d0b7a99 Added r_farclip to control the far clipping plane. 2002-05-20 05:11:12 +00:00
Brian Koropoff 347962cc33 Fixed a bug introduced by my optimizations. 2002-05-19 06:32:57 +00:00
Bill Currie f78f921285 search for `.self' before `self' 2002-05-18 00:49:16 +00:00
Brian Koropoff 967d39541a Optimized GIB a bit. 2002-05-17 21:38:37 +00:00
Bill Currie 057aa61bd3 `document' the type sizes 2002-05-17 16:44:47 +00:00
Bill Currie 9d59915fdc it's a little hacky, but this might do better with keeping vid_gamma_avail
straight.
2002-05-17 03:17:33 +00:00
Brian Koropoff 4cb3a5087b Whoops. Fixed some GIB bugs. 2002-05-15 22:39:37 +00:00
Brian Koropoff 58e8a997f8 GIB: Added the writefile, legacy and eval commands and created the
beginnings of a GIB security model for console access by the server.
Fixed a bug in zoom.gib.
2002-05-15 22:14:17 +00:00
Bill Currie 8f0661f5be correct the copyright year 2002-05-14 23:07:38 +00:00
Bill Currie 6a5bbf6f0a memory allocation checking cleanup 2002-05-14 06:37:28 +00:00
Bill Currie 1e0611e156 Sys_Error now makes sure all messages are terminated with a \n 2002-05-14 06:14:53 +00:00
Bill Currie 44dcf74627 strip the \n from all(?) of the Sys_Error calls (Sys_Error itself will be
adding \n).
2002-05-14 06:12:29 +00:00
Bill Currie 91779b04f7 new tool: qfprogs. currently only disassembles progs, but the idea is for it
to become a progs oriented nm, objdump etc
2002-05-13 19:37:36 +00:00
Brian Koropoff 09366866f7 GIB segfault fix 2002-05-12 20:28:19 +00:00
Brian Koropoff f6697e0ef0 Fixed an oversight in Cmd_FreeBuffer in GIB and made a few misc. fixes 2002-05-11 20:44:59 +00:00
Brian Koropoff 6d37a9e48a Fixed up zoom.rc, renamed it to zoom.gib. Made alias with only one
argument print the contents of that alias.  Added the sleep command,
which works like wait but pauses for a certain number of seconds.
2002-05-11 06:09:50 +00:00
Brian Koropoff 56d033efa4 Auditted cmd.h and cmd.c to fix a bug, a few bits of useless code, and to
add some preliminary comments about all the functions.  I also rearranged
a lot of the functions to be more logically grouped.
2002-05-11 03:00:14 +00:00
Brian Koropoff 3fffa26fb4 Added thread support to GIB and cleaned up escape characters yet again.
With any luck it should actually work this time.  Added the getimpulse
command so that GIB scripts can check if an impulse command is pending
before sending their own.  Fixed all the memory leaks I could find.
QuakeC and GIB seem to be clean except for maybe one or two sneaky leaks
I can't track down.
2002-05-11 00:36:12 +00:00
Bill Currie 73e6cf062c implement type encoding 2002-05-10 23:19:57 +00:00
Brian Koropoff e4f740bf02 Buffers created for embedded commands are now marked with a special flag.
This allows Cmd_Return_f to decide which buffer it should return a value
to.  End result: you can put blocks of code with a return statement inside
an embedded command statement.  I hope nobody minded me using my
quakeforge.net account to code a bit :P
2002-05-09 20:12:12 +00:00
Brian Koropoff 4074999b9b Numerous enhancement and fixes to GIB, including index ranges, fixed
escape characters, and more.
2002-05-08 23:01:07 +00:00
Bill Currie 44f9700ed2 two spelling correctsions are remove a redundant VectorCopy 2002-04-30 16:37:11 +00:00
Bill Currie 93febb90c9 search for .gz first 2002-04-30 04:39:03 +00:00
Brian Koropoff 942b3c2744 Floating point value of fov is now used. 2002-04-29 22:03:33 +00:00
Bill Currie 08f12355c5 this /should/ fix CoolMoDee's autoconf 2.53 issues 2002-04-29 19:19:26 +00:00
Bill Currie a1fef28b60 fix the sw32 fov caps so it maches sw and gl 2002-04-29 17:21:52 +00:00
Brian Koropoff 601736719d Fixed the use of double quotes in chat messages and removed single quotes
as an option to enclose tokens.
2002-04-29 01:04:29 +00:00
Jeff Teunissen 2711cbbe7c Don't restore gamma if it's never been initialized. :) 2002-04-28 09:03:50 +00:00
Brian Koropoff ff901a312f Added argument-list functions to EXP with trig and inverse trig functions
to start.  More will follow.  Switched to doubles from floats and allowed
numbers with exponents to be parsed properly.  Also changed the number of
significant digits printed to 10.  Changed fov so it is now capped at 1,
not 10.  The float value of fov is now used instead of int, so more
precision can be attained at small values.
2002-04-28 08:30:54 +00:00
Bill Currie a59e509033 Multi_key (K_COMPOSE) and Menu (K_MENU) are now supported 2002-04-27 00:25:40 +00:00
Bill Currie a5dc496c38 support the printscr key in X 2002-04-27 00:07:47 +00:00
Brian Koropoff 7121891895 Fixed Cmd_If_f so that embedded commands work again. 2002-04-26 22:09:28 +00:00
Jeff Teunissen 411ade4ce2 Fix gamma again. Also some minor whitespace and slight code cleanup. 2002-04-26 20:25:01 +00:00
Bill Currie ac73653741 XPutImage returns 0 for success, not error 2002-04-26 18:55:37 +00:00
Bill Currie 9399b35b02 alpha compile fix 2002-04-26 17:15:00 +00:00
Bill Currie 89f7604d40 VID_GetGamma neither compiles nor is needed :) 2002-04-25 21:54:07 +00:00
Chris Ison 54ed05e52b changed sig handling to allow for core dumps etc, like x11 and glx 2002-04-25 21:51:47 +00:00
Jeff Teunissen b75d50d088 X11 gamma restoration now works properly for systems with a normal gamma that
uses all three components (red, green, blue).

Next up: three-component internal gamma.
2002-04-25 20:53:15 +00:00
Jeff Teunissen c877ba7fbd System gamma is now restored properly in X11. 2002-04-25 20:28:15 +00:00
Bill Currie 45e98d80d9 redo the cvar vector reading code to produce more useful results 2002-04-25 20:08:18 +00:00
Bill Currie ce1c2e0bd1 sort the sources list 2002-04-25 19:39:26 +00:00
Jeff Teunissen 7c134a6f95 Fix up the watervis stuff. Whoops! :) 2002-04-25 14:34:15 +00:00
Jeff Teunissen 5b069de40c Redo r_wateralpha so that it doesn't force its value based on the watervis
serverinfo. Instead, create a new cl_wateralpha float variable that is set to
r_wateralpha->value in Host_Frame, and use that float during rendering.
2002-04-25 12:51:04 +00:00
Bill Currie da994c16e5 rewrite R_SplitEntityOnNode to be itterative rather than recursive (using
a static `stack') to avoid the function call overhead. this cuts about 40%
of the execution time from this function.

No matter what I tried, best results were obtained using __builtin_expect,
so make sure non-gcc compilers do the right thing when they encounter it.
2002-04-25 04:32:55 +00:00
Brian Koropoff bf323c3f0a Cleaned up Cmd_Args. It is no longer uselessly built up in
Cmd_TokenizeString since I realized the code was just pulling it apart and
putting it back together.  Added Cmd_Argsu to access the unprocessed
command.  Added support for else following if in such a way that
if/else if/else structures work.  Added support for unary operators in
EXP and added the ! (not) operator.  The ifnot command will be kept
for variety.
2002-04-24 22:33:04 +00:00
Bill Currie e4975cd675 very minor load-time optimisation 2002-04-23 17:23:18 +00:00
Brian Koropoff 7f295d61ee Added the getserverinfo command to return the value of a server info key
to GIB.  Fixed a bug in dstring_replace that was causing too much data to
be copied when the incoming string was larger than what was being replaced.
Very minor reorganization in cmd.c (1 function moved around I think).
cmd.c should probably get broken up into separate files soon.
2002-04-23 07:47:24 +00:00
Brian Koropoff 349fbf7150 Fixed a bug with escaped braces and quotes and added the strlen and streq
commands to GIB.
2002-04-22 04:23:36 +00:00
Bill Currie 4ccc9d6322 dstring.c dstring.h:
add dstring_replace. this replaces a string of lenth rlen at position
	pos with data of lenth len, growing, shrinking and shuffling data as
	appropriate. At this rate, the dstring `class' will get buffer gap
	editing capabilities :)
cmd.c:
	Cmd_TokenizeString builds cmd_active_buffer->line again.
	Cmd_Process bails out instantly if cmd_active_buffer is a legacy buffer
	and uses dstring_replace to modify the parameters in
	cmd_active_buffer->line. This last change results in drastic
	simplification (and accuracy) of the commandline reconstruction code,
	both in Cmd_TokenizeString and Cmd_Process.
2002-04-19 22:54:27 +00:00
Bill Currie ef81af9245 the "two birds with one stone" commit
1) when /not/ building static plugins, the plugin info name is, once again,
   PluginInfo, but is still type_name_PluginInfo for static plugins. This
   allows plugins to be symlinked (highly desirable for the debian packages,
   and likely others). This also requires plugins to /not/ be loaded with
   RTLD_GLOBAL.
2) because of 1, snd_alsa_0_9 has to explicitly load libasound itself. This
   just happens to fix my segfault on shutdown in RedHat 6.2.
2002-04-19 20:08:54 +00:00
Bill Currie e34ab5541c munmap the sound buffer when closing the device. This might help with some
hangs on shutdown.
2002-04-17 21:15:19 +00:00
Brian Koropoff 4cb89c69b2 Moved commands from bound keys into a separate buffer, changed the syntax
of for loops to be like that of C, changed math expressions to be
enclosed in #{} instead of #().
2002-04-17 07:05:43 +00:00
Brian Koropoff fafb014bbe Oops. Fixed a stupid bug that broke having more than one embedded command
in a token.
2002-04-17 01:15:10 +00:00
Brian Koropoff cb79de3584 Completely redid the way embedded functions are subroutines in general are
handled, meaning that execution can be paused at any time without a hitch.
Warning: This is a major change to the architecture (or lack thereof) of
GIB.  Please test for bugs!  Also, there are a few ugly bits of code that
need to be cleaned up, but that work for now.
2002-04-16 23:56:21 +00:00
Jeff Teunissen a4f3973ef1 Add multitexture support for Alias models, and disable the multitexture
support for BSP models, until they can be fixed. gl_multitexture should now
actually be a speedup!

NOTE: Some OpenGL implementations have trouble with the texture function
used. 3Dfx Voodoo 1/2 are known to have this trouble. I don't know how to fix
this, or even if it can be fixed. :/
2002-04-16 16:51:35 +00:00
Bill Currie 55a5c39187 Turns out that on PPC, va_list is an array (effectivly typedef struct
__va_list_tag va_list[1];) which causes grief when attempting to reuse
va_list variables (eg, in vsnprintf retry loops). This is the reason for
MisterP's crashes as the pointers in va_list no longer point to valid data.

acinclude.m4:
	shamelessly steal the va_list, va_copy and __va_copy macros from
	cdda2wav but modified so AC_DEFINE includes the description (so
	acconfig.h can remain gone)
configure.ac:
	use AC_TYPE_VA_LIST, AC_FUNC_VA_COPY and AC_FUNC_VA__COPY
dstring.c:
	stash the incoming va_list args in a temp var before calling vsnprintf
	then restore them each time before retrying, but only if va_list is an
	array (hopefully this is ok for when va_list is a structure)
2002-04-15 22:17:02 +00:00
Chris Ison 347cdc5e33 some small performance optimizations with textures and animations 2002-04-15 03:26:08 +00:00
Bill Currie 49deaf2661 that wasn't meant to get checked in. it came from an aborted change to
how commands get register.
2002-04-14 22:52:52 +00:00
Brian Koropoff c3da90fce0 You can now assign to local variables with var = value. You can also
index into variables in either substitution (i.e. $bob[25]) or assignment
(i.e. bob[25] = 'q') When using assignment into an index of a var, the
current character is removed and replace with the new value.  That means
that if the new value is longer than one character, the string will grow.
A feature that may be done in the future is indexing between two values
to get a substring, ie bob[25..30] = newstr.
2002-04-14 22:35:56 +00:00
Bill Currie 403af77038 give qc access to Cmd_Return 2002-04-14 01:25:24 +00:00
Brian Koropoff 503dab1aee The tokenizer will now not break tokens appart within quotes or braces.
This means things like echo ~{somefunc arg1 arg2} will get parsed properly
without having to enclose it in quotes.  Exported the Cmd_Return function
so that anything can return values to GIB (such as quakec).
2002-04-14 01:12:19 +00:00
Bill Currie b4c8546169 add the keyhelp command. think xev 2002-04-13 04:56:00 +00:00
Bill Currie 8220ddd83d and the command api to csqc and use it to bind menu_load and menu_save. F2
and F3 now work in nq :)
2002-04-12 17:19:49 +00:00
Bill Currie a974eb2333 move buildnum.c to util and make nq and qw init more similar 2002-04-11 18:42:55 +00:00
Bill Currie ba9ad15ebd it he's if I understand that Draw_CachePic puts the pic into the cache... 2002-04-10 06:56:25 +00:00
Bill Currie 0855e018dd d'oh, bloody gcc 2.95 builtin prototypes 2002-04-10 01:38:21 +00:00
Bill Currie 15e17acc1c the draw api now uses a `real' qpic_t rather than loading the pic every time 2002-04-09 21:38:41 +00:00
Bill Currie 76d004f9cf fix confim_quit 2002-04-09 17:00:39 +00:00
Bill Currie 47a94ed6af clear out the string hash resources completely 2002-04-09 16:21:27 +00:00
Bill Currie 8588d2d1cd fix a silly braino in the resources code that was causing the resource
structs to not get linked into the chain
2002-04-09 16:06:05 +00:00
Bill Currie 9dd7deb798 better catching of invalid inputline pointers 2002-04-09 15:29:48 +00:00
Bill Currie 4f65a313fd oops :) 2002-04-07 04:57:42 +00:00
Bill Currie 197db0aca7 more signed char indeces 2002-04-07 04:54:19 +00:00
Bill Currie ea9c1fc4ac setenv isn't as portable as one could wish... 2002-04-07 04:45:02 +00:00
Bill Currie 9885aa5916 fix some signed char index warnings 2002-04-07 03:41:10 +00:00
Bill Currie db75da7733 this should fix compiling snd_sun on solaris 2002-04-07 03:24:29 +00:00
Bill Currie b322835767 fix a missing \n 2002-04-03 18:50:36 +00:00
Brian Koropoff 93c9f96416 Added embedded commands with ~{} and the return command, created a token
structure to help tidy the command buffer struct up a bit, fixed a few
bugs and probably created 100 more.  A lot of things were changed to
allow embedded commands:
- Old buffers on the stack are left alone for Cbuf_ExecuteStack to
clean up.  This is so return values can be extracted from them.
- The imperative flag has been added.  An imperative buffer and all buffers
following it can not be paused with the wait command.
- The returning flag and retval dstring have been added.  If a buffer
returned something, the flag will be set.
- The return command was added so there was something to use in the
substitution.  Return nukes all loop buffers since they don't really count
as independent functions, sets the return value on the top buffer, and
clears it.
- Who knows what else.
2002-03-29 07:43:02 +00:00
Brian Koropoff 676bf39d9d Beautified GIB, improved looping and backtraces slightly. Old buffers are
now recycled, not freed.  Fixed some bugs in exp.c.  Ready to add embeded
functions (read: function calls with return values) and for loops.
Probably some other misc. fixes, I tend to go on debugging streaks.
2002-03-27 06:24:19 +00:00
Brian Koropoff 807e7de22e Fixed a bug with comments that don't have a newline after them. 2002-03-24 06:55:52 +00:00
Brian Koropoff 7c4cecd700 Fixed a stupid bug in Cmd_Exec_f that was causing map commands inside
executed files to crash the server.
2002-03-23 23:13:15 +00:00
Brian Koropoff 73f32465c5 Fixed a double free in exp.c, and made math error reports slightly more
useful.
2002-03-22 07:11:05 +00:00
Brian Koropoff e1b61d2116 Changed how looping works, fixed echo to work with taniwha's Cmd_Args
changes, added the != operator for math evaluation, added break command
to break out of loops early, added ifnot command, and who knows what else.
2002-03-22 00:22:03 +00:00
Bill Currie 961a716942 minor oops 2002-03-21 21:56:59 +00:00
Bill Currie 5a30278e77 whitespace 2002-03-21 21:56:22 +00:00
Bill Currie d00d6a539a add dstring_insertsubstr 2002-03-21 21:53:52 +00:00
Bill Currie 619a77b2f7 fix a couple of brainos that broke quotes entirely 2002-03-21 21:45:00 +00:00
Bill Currie c1deee9955 rework cmd_buffer_t->line and cmd_buffer_t->args building so quotes are
preseved
2002-03-21 21:17:31 +00:00
Bill Currie b7fc784718 add dstring_appendsubstr 2002-03-21 21:16:26 +00:00
Bill Currie 6f1b68aeb4 sys.h:
define SYS_CHECKMEM macro to ease memory allocation failure detection
cmd.c:
	loads of whitespace
2002-03-21 19:47:31 +00:00
Brian Koropoff 388ff7b597 Some bug fixes and memory leak fixes. Local variables break randomly,
probably due to my misuse of hash tables.  Anyone have any ideas?
2002-03-20 22:57:26 +00:00
Brian Koropoff d5fad096c0 Added local variables and replaced %-substitution with local variables.
Made variable substitution recursive, so ${${foo}} will be the value of
the variable whose name is contained in foo.  Added setl command to
manipulate local variables.  The only other place they can be used is in
variable substitution.
2002-03-20 04:24:31 +00:00
Robin Redeker 18082533d5 Fixed some memory problems in my string-hashes. 2002-03-19 18:08:07 +00:00
Robin Redeker 489bc7291a Playermenu working now fine.
Added some api-functions to complete playermenu.
(Playermenu isn't still finished)
2002-03-19 17:07:56 +00:00
Bill Currie 504ee0014f and another one :/ 2002-03-19 17:03:52 +00:00
Bill Currie 7816644fc3 missed a place for enter_hook 2002-03-19 16:59:25 +00:00
Brian Koropoff 1683633042 Changed to an execution stack system for aliases and config files, and
added error backtraces.
2002-03-18 23:39:03 +00:00
Bill Currie b01cda716f callback hooks for entering/leaving menus 2002-03-18 20:20:56 +00:00
Bill Currie 5f2dea43f6 break the dependency between cmd.h and dstring.h 2002-03-18 16:47:04 +00:00
Brian Koropoff 46cc4ac9dd Fixed some bugs and generalized the command buffer interface. Allowed for
buffers to be linked into execution stacks and changed aliases and script
files to be run in a new stack frame.  Cbuf_Execute executes the stack from
the top down, so wait commands are handled properly.
2002-03-18 04:12:09 +00:00
Brian Koropoff f4180e7ad8 Added math evaluation, the ability for commands to span multiple lines
within braces, and put support for comments back in (oops).  To use math
evaluation, put a math expression inside $().  If you have spaces in your
expression, you'll need to enclose the entire thing in quotes so it doesn't
get split up into multiple tokens.
2002-03-17 06:57:03 +00:00
Brian Koropoff aa00b7742c Changed the token finder to be recursive, added if and while commands, and
allow tokens within braces to continue across newlines.
2002-03-17 03:31:03 +00:00
Brian Koropoff e9ca911e34 Added the ability to use curly braces to enclose tokens. Tokens in braces
won't be processed except for escape characters, so that escaped braces
can be used within.  If an uneven number of curly braces are within a
token, it will be misparsed, so escaped braces are important if you
don't want them to be considered in the parsing of the token.  Ideally,
braces within quotes within braces should not need to be escaped, but this
would require a redesign of the parser to be recursive.  Maybe I will do
this later.
2002-03-16 21:17:01 +00:00
Robin Redeker adca50e52b Did further working on the menu code.
Added a _unfinished_ Player options-submenu, for setting
the name, top-/bottomcolor.
Added Draw_Fill and such to the progs api.
Added some comments.
2002-03-16 20:22:01 +00:00
Robin Redeker 757556022b 1. general menu code cleanup
2. added lots of comments to my menu code
3. wrote a string hash api (key -> value assignment list)
Hm, nothing else afaik. ;)
2002-03-16 15:52:17 +00:00
Bill Currie 51805ebd92 nothing much, just give wildcode a 30% speed boost. Basicly, stop binding
a texture for every single brush poly: due to texsort, they will come in
batches.
2002-03-16 09:25:06 +00:00
Brian Koropoff 2a3e1869ac Bug fixes! Fixed escape character detection, use of str = dstr->str
without considering that realloc could result in dstr->str being
changed.  Also made variable substitution of non-existant variables be
replaced with a null string rather than being left alone, to prevent
errors in scripts from causing weirdness as strings get passed through
the parser several times.
2002-03-16 06:31:59 +00:00
Brian Koropoff 0a90ddc51f Fixed an error in extract line that caused escaped quotes to be parsed as
normal quotes and made it so executed files are always inserted into the
console buffer so that class config files in TF can use the new parser
features, even though the exec command is run in the legacy buffer
2002-03-15 01:45:15 +00:00
Bill Currie 180c517771 signal handling improvements 2002-03-13 19:20:57 +00:00
Bill Currie 6cefb63e2e get back to work on creating a good command line pak file util. currently
only dumps the file names/sizes and segs if it's used incorrectly, but it's
a start.
2002-03-12 23:45:36 +00:00
Bill Currie f0609f04f3 forgot about the need for the proto itself 2002-03-12 17:44:45 +00:00
Bill Currie adbb59c5dd fix missing prototype for fnmatch on some systems 2002-03-12 17:36:17 +00:00
Bill Currie 1d420edcd0 start work on instrumenting GLstub.so 2002-03-11 23:55:50 +00:00
Bill Currie d5fe4e3130 make file open a little more secure 2002-03-11 19:01:13 +00:00
Bill Currie 5a2538faaf dstring.[ch]:
create dsprintf and dvsprintf to do formated prints to dynamic strings.
rest
	Use the new functions :)
2002-03-08 23:11:42 +00:00
Bill Currie 538515bee6 forgot to nuke this 2002-03-06 04:17:50 +00:00
Bill Currie 8f7f646d19 white space 2002-03-05 22:36:04 +00:00
Brian Koropoff e0e9084ad7 Merged in the new command parser. No major bugs or incompatibilities could
be found.
2002-03-05 21:51:12 +00:00
Bill Currie 544ca8118a "gib" never got all that useful, and with the new command parser coming in
and csqc, it's pretty obsolete, too.
2002-03-05 21:47:03 +00:00
Brian Koropoff 066c2c8a02 The final checkin before merging. Hopefully no showstopping bugs remain. 2002-03-05 21:26:37 +00:00
Brian Koropoff 669ca72e4f Added a bonus feature: %i evaluation in aliases. Just put %i in an alias
and it will get replaced with the ith argument to the alias, 0 being the
name of the alias itself.  %% will get replaced by %, out of range
numbers will simply be removed, and non-numbers will be ignored.
2002-03-04 02:37:40 +00:00
Brian Koropoff 7241d69036 Fixes to echo, correct use of cmd_source and src_command, and change nq to
use cmd_legacybuffer for stufftext.
2002-03-04 01:11:05 +00:00
Brian Koropoff 8d124f9c2b Implemented variable substitution and did various cleanups to the parser.
Changed Cmd_TokenizeString to accept a flag that controls the application
of filters (tags, variables, escape characters) to the tokens and modified
a few places in the source that called it.  Added a secondary command
buffer that is parsed without filters for legacy command support.
Currently, it is only used for commands stuffed into the console from the
server.  It is hacky, and I hope to eventually generalize the console
interface to support any number of buffers and audit the rest of the code
to recognize it.  For now, the legacy buffer at least keeps escape
character parsing from destroying info strings.
2002-03-03 23:28:57 +00:00
Brian Koropoff f78ec56975 Added escape characters, the <i> tag to ignore tags enclosed within it, and
generally cleaned the parser up.  If a line begins with |, it will be
stripped off by the tokenizer and no tags or escape characters will be
processed.  Commands stuffed into the console from the server are prepended
with | to ensure backward compatibility.  This can also be used anywhere
backward compatibility is needed, such as where info strings are stuffed
into the console, or as an alternative to using escape characters in the
entire string.
2002-03-03 08:29:28 +00:00
Bill Currie 26d7463be7 the majority of raptor's sgi build patch. I'll look at the last two bits
(server.c and vid_sdl.c) later.
2002-03-03 06:03:51 +00:00
Brian Koropoff 4a7f3b3189 This commit fixes up cmd_args to rebuild a string from the processed
tokens and adds support for comments.
2002-03-03 06:00:44 +00:00
Bill Currie 119731e90e fix a buffer overflow snax found 2002-03-03 04:42:32 +00:00
Brian Koropoff 6936615fdf HTML-like tags are more or less done. Next up is variable substitution
and escape characters.
2002-03-03 04:26:37 +00:00
Brian Koropoff 557846b220 This is the first commit to the newcmd branch, which is a mostly-rewritten
console command parser.  It will eventually include html-like tags for
modifying text (gold numbers, brown characters, etc) and escaped characters.
The major differences so far are that dynamic strings are now used instead
of static buffers, and single quotes can be used to enclose tokens as
well as double quotes.
2002-03-03 03:36:27 +00:00
Bill Currie a384870e4b cl_chatmode works again 2002-02-28 04:12:20 +00:00
Bill Currie 009e6346fe now, so long as ulimit allows it, we can always get a core dump. Looks a
little odd:

Received signal 11, exiting...
IN_Shutdown
IN_LL_Shutdown
VID_Shutdown
Segmentation fault (core dumped)

but the core file does accurately show the error
2002-02-27 06:55:21 +00:00
Bill Currie 2f62b744fa After an interesting discussion with Lordhavoc, make the GPU do more work in
the background. This is achieved by doing only a (qf)glFlush at the end of
the frame, doing the inter rendering-frame processing (ie, client frame
processing), glFinish, glXSwapBuffers, then starting the next frame. I've
changed the glFinish call in SCR_UpdateScreen to glFlush and the glFlush
call in GL_EndRendering to glFinish because there's no point in calling
glFinish followed by glFlush. Also, SwapBuffers should always be precedded
by glFinish rather than just glFlush (in Lordhavoc's experience). The
GL_EndRendering at the end of SCR_UpdateScreen got moved to the beginning.
2002-02-27 05:22:21 +00:00
Bill Currie cfb6c1db0a first stab at hardware gamma support for windows. WILL screw up system gamma :) 2002-02-26 00:14:16 +00:00
Bill Currie 9ea013888b eliminate GetEdictFieldValue, mostly merge SV_AddGravity, and clean up
some whitespace in sv_phys.c
2002-02-25 07:44:17 +00:00
Bill Currie 9d0d8c49e7 win32 compile fix 2002-02-23 17:43:41 +00:00
Jeff Teunissen ae2303c18d Hide the reason for a plugin load failure unless developer is set. 2002-02-22 11:17:20 +00:00
Bill Currie 29706477d4 gl_driver default is now configurable 2002-02-22 08:55:24 +00:00
Bill Currie 972bd8852b rewrite QFGL_ExtensionAddress to just use QFGL_ProcAddress and be done with
it. hopefully this will fix raorn's crash.
2002-02-21 07:56:27 +00:00
Bill Currie 8ee5acb208 redo Sys_Error so it's more usable throughout quake 2002-02-20 19:22:52 +00:00
Bill Currie b6c331736a give nq host_mem_size so -mem can be a cvar (similar to sv_mem_size and
cl_mem_size in qw).
2002-02-19 20:47:45 +00:00
Chris Ison dcd4ec19c5 fixed up positioning of say_team input, also fixed length of say and say_team, thanx taniwha 2002-02-16 04:21:03 +00:00
Bill Currie af663488c8 print out the error string when failing to get shared memory 2002-02-13 08:35:46 +00:00
Bill Currie 814e2ddfe9 hopefully a more correct implementation 2002-02-13 00:57:00 +00:00
Bill Currie 42ba67eb4b *sigh*, getting this right is proving to be a pain :P 2002-02-12 21:34:28 +00:00
Bill Currie 01882919a2 get it right this time :/ 2002-02-12 21:26:34 +00:00
Bill Currie befc4113b8 fix a braino for vsnprintf return code handling 2002-02-12 20:39:11 +00:00
Bill Currie b4000200e3 move the getopt files from qfcc/source to libs/util, link qw-master against
libQFutil and enable the option parsting in qw-master for win32.
2002-02-12 17:44:41 +00:00
Bill Currie 799cfa58af fix the recent win32 crash bug
Q_vsnprintfz should return -1 when size is 0. also make client.c's C_Print
use vsnprintf correctly
2002-02-12 04:29:44 +00:00
Bill Currie b5c2c0e14e clean up a fixme. this doesn't fix serplord's out-of-bounds problem, but
that's because his qc compiler is doing weird stuff.
2002-02-11 19:36:36 +00:00
Robin Redeker 67d53f4e56 Added some QC-API functions: String_Cut, String_Len, Key_CountBindings. 2002-02-02 09:38:19 +00:00
Robin Redeker 60e99d724b Fixed a bug with callback-calling in Menu_KeyEvent 2002-02-01 18:50:56 +00:00
Bill Currie cf2f42ea6a make it so menu items can get called for any keypress. this is optionally
done by setting the allkeys param to 1. when this is the case, if the menu
item function returns 0, normal processing is done, otherwise processing
stops.
2002-02-01 17:32:40 +00:00
Robin Redeker fa575a3475 Added a start for the QC-Keys-API 2002-01-31 21:08:45 +00:00
Bill Currie 72bd704d13 BSD compile fixes 2002-01-31 07:37:56 +00:00
Bill Currie 03ae513559 compile fixes. we've finally got a sun sound user 2002-01-31 06:50:18 +00:00
Bill Currie 681950cf26 print [val] for pointers 2002-01-30 22:14:13 +00:00
Bill Currie 40e987c071 provide InputLine_SetWidth so the drawn width can be set 2002-01-30 21:25:00 +00:00
Bill Currie d1460f6166 rename the width parameter to lsize as it's the size of the input line, not
the drawn width
2002-01-30 21:23:46 +00:00
Bill Currie 6d63d1d55b implement comparisons and not for pointers 2002-01-30 21:20:12 +00:00
Bill Currie e1abe4c44b finalize the crc of the progs file 2002-01-30 21:13:57 +00:00
Bill Currie 7ef4426775 inputline api `done'. now just to get it working 2002-01-30 08:41:18 +00:00
Bill Currie ee3f51f13b "" to <> for system headers 2002-01-30 08:34:44 +00:00
Bill Currie c76f7d88ce fix an API snafu (oops:) 2002-01-30 08:09:53 +00:00
Bill Currie 8561dfa93a basic resource management system for the VM 2002-01-30 06:21:20 +00:00
Bill Currie 9c6def5c7d fade the screen when drawing the menus (this is optional per menu) 2002-01-29 22:32:56 +00:00
Bill Currie 0ea713eda4 redo the progs loader to allocate all the memory needed for progs in one
shot, allowing for caller specified alloc and edicts and zone memory sizes.
(progs + edicts + zone).
2002-01-29 20:53:44 +00:00
Bill Currie 0906ac5694 get the positioning correct for Draw_CenterPic 2002-01-29 18:44:31 +00:00
Bill Currie b64693a332 get the param order correct for the menu item callback 2002-01-29 18:16:49 +00:00
Bill Currie 6f29bcb238 break the loop from CRC_Block into CRC_ProcessBlock so that crcs can be
caclulated over multiple blocks.
2002-01-28 18:00:48 +00:00
Bill Currie 21b6e68a8c break out the non-edict code into sensible locations 2002-01-28 17:15:36 +00:00
Bill Currie 750100b3e3 obsolete declaration cleanup and const correctness for Key_GetBinding 2002-01-25 00:01:05 +00:00
Bill Currie 08210bc93f fix an accidental double byteswap that broke progs for big-endian machines 2002-01-24 04:43:47 +00:00
Bill Currie 316386b542 mod->textures can legitimatly have null textures, so be on the lookout for
them. This fixes the client crash on certain levels.
2002-01-24 02:44:19 +00:00
Bill Currie 85588c8fcb start implementing the api for input lines and clean up a couple csqc
prototype issues.
2002-01-23 22:37:44 +00:00
Bill Currie 68637eea9e start implementing dynamic memory for progs 2002-01-23 22:35:48 +00:00
Bill Currie 16cc0c22c9 forgot to implement store.p 2002-01-23 22:33:22 +00:00
Bill Currie ed91b16f45 add Menu_GetIndex 2002-01-23 21:07:38 +00:00
Bill Currie eb2c7824f8 don't bail out of Menu_Draw if the qc draw function returns 0. this allows
for combined C/QC drawing.
2002-01-23 00:48:03 +00:00
Bill Currie 5450fdb692 don't seg on menus with no items 2002-01-21 21:38:34 +00:00
Bill Currie ec0b3d8940 make Menu_SelectMenu(NIL) do the right thing and handle qc code that clears
the current menu but forgets to return 1 in keyevent
2002-01-21 19:40:45 +00:00
Bill Currie d5fb0f5a68 fix some .. path compression bugs 2002-01-21 17:36:22 +00:00
Bill Currie 9833b7009d oops, forgot to remove the debug code 2002-01-21 16:48:08 +00:00
Bill Currie f3efed94e5 .0 isn't valid for integer formats 2002-01-21 16:47:50 +00:00
Bill Currie 5b0e6dc342 add file and string modules to csqc. the file nodule is rather parnoid
about the path it's handed (need to get even more paranoid, though). the
string module just has char replacement so far. Add Draw_CenterPic to
r_progs.c, but this will only last till qpic_t is supported in qc.
the load menu almost works: just need to add key handling and fix a bug in
PF_sprintf
2002-01-21 07:24:51 +00:00
Bill Currie d59e7d3da4 you can now start a new single player game via the menus 2002-01-20 04:11:08 +00:00
Bill Currie 1168f1aa86 libQFcsqc (I'm not adverse to renaming it) is born. so far, only provides
Cbuf builtins.
2002-01-20 04:09:36 +00:00
Bill Currie 14ac3acc17 add a builtin (gametype) for detecting the, well, game type (ie, netquake
or quakeworld) which just returns the apprproate string. the single player
menu is now acessable in nq but not qw :)
2002-01-20 03:09:03 +00:00
Bill Currie db7a2264c0 bring in the standard builtins and randomize the quit message 2002-01-20 01:39:06 +00:00
Bill Currie 9f67e81049 don't handle key presses if there's no callback and no items 2002-01-20 00:47:01 +00:00
Bill Currie 95e200a9e0 fix console command line quit 2002-01-20 00:32:14 +00:00
Bill Currie 35de51ee31 the quit menu works now. however, quit from the console doesn't 2002-01-20 00:06:08 +00:00
Bill Currie bb82e48ab1 add Draw_String to csqc 2002-01-20 00:03:34 +00:00
Bill Currie 84636f20cb make sure r_progs gets linked in when using the .a lib 2002-01-19 22:53:00 +00:00
Bill Currie 6767d6bfa0 win32 compile fixes 2002-01-19 20:45:45 +00:00
Bill Currie 9181ddaa4c don't go to game when leaving menus when there's no game. doesn't actually
work properly, but I think that's a bug in the main client code.
2002-01-19 07:40:35 +00:00
Bill Currie b73851d5aa the menu cursor can now be moved up and down using the mouse wheel 2002-01-19 07:19:39 +00:00
Bill Currie 29c19ca243 Menu_CenterPic now centers the pic (horizontally) as intended 2002-01-19 06:18:52 +00:00
Bill Currie b1b848ae4a finally get the damn spinner working (not in the right place, though) 2002-01-19 05:56:25 +00:00
Bill Currie a78ea1464b provide stubs for the client-only functions (they might prove useful in the
server later anyway). this fixes nq-server's segs
2002-01-19 04:37:47 +00:00
Bill Currie 6af9a5d8e6 make the builtins an array of pointers so the hash table doesn't get royally
screwed up
2002-01-19 03:31:51 +00:00
Bill Currie 6ab3329b94 bring back togglemenu 2002-01-19 03:28:52 +00:00
Bill Currie 15e7e35a57 make K_ESCAPE bindable 2002-01-19 02:29:29 +00:00
Bill Currie 7def88668a fix a goof with the progs loader for the server interface 2002-01-18 23:53:51 +00:00
Bill Currie fcc9cbf3b7 the main menu page now displays and can be entered/left. K_ESCAPE is now
handled exclusively by the console.
2002-01-18 23:45:28 +00:00
Bill Currie 10acad1ee4 first tie-in for the renderer (Draw_Pic: the interface will likely change
to better match the real interface, but this will do for now)
2002-01-18 22:35:46 +00:00
Bill Currie ac71d101d2 menu code now gets initialized (menu_init in the progs). 2002-01-18 22:02:59 +00:00
Bill Currie bb96a5b736 first use of client side QuakeC :) (and having more than one progs instance
seems to work, too). The menu code gets loaded, but is currently otherwise
unused as of yet.
2002-01-18 19:19:33 +00:00
Chris Ison e3b2bfb81a clear key states on game start 2002-01-17 22:04:58 +00:00
Bill Currie c3b2533803 fix shifted key input 2002-01-17 21:49:47 +00:00
Bill Currie 7093c05587 console scrolling works again, and even better than before :) 2002-01-17 21:27:31 +00:00
Bill Currie d69762facd integer() and float() casts seem to work 2002-01-17 19:32:04 +00:00
Seth Galbraith 31a98f0f80 only load tgas for texture names that end in backslash 2002-01-17 16:31:34 +00:00
Bill Currie 303581b798 oops? 2002-01-17 02:47:22 +00:00
Bill Currie c998c63746 make all of the input lines use the same rendering code 2002-01-17 02:27:53 +00:00
Bill Currie e090f8dc09 finally get the say scroller working 2002-01-17 02:10:36 +00:00
Bill Currie 6dbdfc0464 yeah, it's an icky global, but it's actually the right way to get at the
model header in the model loader.
2002-01-17 02:10:06 +00:00
Bill Currie f67f021713 don't need those anymore 2002-01-17 02:06:49 +00:00
Bill Currie 9329d15218 more chat improvements 2002-01-17 00:05:30 +00:00
Bill Currie 9e5c7da8e6 move the chat code from keys.c to client.c.
oops, chat just got input history, dear me
2002-01-16 23:06:28 +00:00
Bill Currie ceec1a87e2 fix some installing issues for dynamic plugins 2002-01-16 22:09:41 +00:00
Bill Currie c86c5a78bf finally, the client console is merged 2002-01-16 21:53:42 +00:00
Seth Galbraith 778af4276e external tga skin loading, doesn't work for players (teamcolor stuff) 2002-01-16 20:32:39 +00:00
Bill Currie 9dedd21158 start getting the shared console code working 2002-01-16 16:27:56 +00:00
Seth Galbraith 0dcfc6dfb4 load tga versions of .lmp files if present 2002-01-16 01:59:05 +00:00
Seth Galbraith 93116bc827 external mip texture loading 2002-01-16 01:02:50 +00:00
Seth Galbraith 9c1969146c cleanup, implemented tga loading for gfx.wad files 2002-01-15 21:05:34 +00:00
Bill Currie 9d59d953bd more cleanups 2002-01-12 05:32:21 +00:00
Bill Currie 6637f3fba5 more FIXME and whitespace cleanups 2002-01-12 04:46:15 +00:00
Bill Currie 630aa80dc4 various cleanups including TODOs and FIXMEs and rewrite va to use a dynamic
buffer.
2002-01-12 04:34:53 +00:00
Seth Galbraith 3b6c2c8d0d pretty 32 bit color sprite tga loading - e.g progs/s_light.spr_0.tga 2002-01-11 04:20:41 +00:00
Seth Galbraith 5f4c7ee7bd implemented VP_PARALLEL_UPRIGHT - ask about my Mighty Oak 2002-01-11 03:00:32 +00:00
Seth Galbraith 7dc5b587f8 also try to load skies from gfx/env as darkplaces does 2002-01-11 01:26:21 +00:00
Ragnvald Maartmann-Moe IV 38acbd9c0b Whitespace. Grr. 2002-01-10 21:22:51 +00:00
Bill Currie 6132049bf4 gl_draw.c: whitespace
draw.c: (both sw and sw32) fix Draw_nString to be similar to gl_draw.c
2002-01-10 20:19:22 +00:00
Chris Ison 859c18dc07 tidy up Draw_String calls and switched to Draw_nString were needed 2002-01-10 03:54:00 +00:00
Chris Ison 6073ff8d58 added Draw_nString for displaying a non \0 terminated string 2002-01-09 21:20:22 +00:00
Bill Currie 96c7159f66 keep track of the times of the last event (for those events that report time)
and use that instead of CurrentTime in the X selection code (as recommended
by the ICCCM)
2002-01-08 20:07:19 +00:00
Bill Currie 6633ea0273 correct a typo in a comment 2002-01-08 19:38:36 +00:00
Bill Currie c84e5b2ac0 re-write the X selections support to be more ICCCM compliant (selections in
xchat can now be pasted to qf)
2002-01-08 19:33:42 +00:00
Bill Currie 9ba80eb4d9 use Hunk_TempAlloc instead of realloc for the alias model verts 2002-01-07 16:43:47 +00:00
Bill Currie c1c76f7058 whitespace 2002-01-07 06:50:41 +00:00
Bill Currie 72d6f34dc8 first step to using a saner internal represnetation for the high precietion
models.
2002-01-07 06:32:46 +00:00
Bill Currie 14fb289f2f duplicate GL_GetAliasFrameVerts so 16 bit alias models don't cost so much
even when they aren't being used.
2002-01-07 03:46:56 +00:00
Bill Currie b582a02aff fix the broken lighting for unlerped verteces 2002-01-07 01:05:44 +00:00
Ragnvald Maartmann-Moe IV f8daa09bcb Fix software scrag missile trails, and add a minor optimization to them and hell knight's fire wave trails. 2002-01-06 23:12:09 +00:00
Ragnvald Maartmann-Moe IV 097ff0006f Rearrange vertex order in quads. 2002-01-06 22:43:51 +00:00
Seth Galbraith 0a7ddae612 move high precision check out of loop to optimize sw model rendering 2002-01-05 20:00:50 +00:00
Ragnvald Maartmann-Moe IV aa36ebf6e4 Little bit of whitespace cleanup. 2002-01-05 19:03:36 +00:00
Seth Galbraith 1e57bcdca2 no more hardcoded MAXALIASVERTS limit 2002-01-05 17:56:33 +00:00
Seth Galbraith cb6ef3e225 putting if outside the for loop should speed things up 2002-01-05 16:53:43 +00:00
Seth Galbraith ac5b6823c6 high precision model rendering in GL 2002-01-05 16:20:38 +00:00
Ragnvald Maartmann-Moe IV a18fdbca68 Minor clarification in pt_fire ramp aging, plus reduce VectorScale use in fixed distance trails from once per particle to once per trail. 2002-01-05 07:23:23 +00:00
Seth Galbraith 42456845f0 high precision software mdl rendering 2002-01-05 03:21:02 +00:00
Seth Galbraith 6ec47e6be6 slaying hardcoded mdl vertex and triangle limit 2002-01-04 07:40:00 +00:00
Bill Currie 36bb62c3c5 rewrite CrossProduct so memory is accessed more linearly. should provide
a tiny speedup for servers and clipped skyboxes
2002-01-04 06:13:50 +00:00
Bill Currie df947a8843 pt_color is now an int so don't convert it 2002-01-04 04:12:10 +00:00
Ragnvald Maartmann-Moe IV b13efc3a83 Particle updates. Some cleanups, small speedups, and reimplement id's effects. r_particle_styles 0 to see id's effects. 2002-01-04 03:32:59 +00:00
Ragnvald Maartmann-Moe IV 07fb841a49 Whitespace, mark a 1 line function as inline. 2002-01-04 03:25:30 +00:00
Bill Currie 3c6f64b26b _snprintf and _vsnprintf are not guaranteed to write the trailing '\0' 2002-01-03 23:24:47 +00:00
Bill Currie 522f64bce1 remove an extra ; 2002-01-03 23:24:20 +00:00
Bill Currie 9312681182 some more const correctness (in gl_sky_clip.c) and make the sky poly debug
drawing avialable via the gl_sky_debug cvar.
2002-01-03 18:18:45 +00:00
Bill Currie 013f503738 start getting const-correct on vec3_t params 2002-01-03 05:29:38 +00:00
Bill Currie c68da1f299 o split up GL_DrawAliasFrame so it's normal (ie, not fullbright) pass only
creating GL_DrawAliasFrame_fb to do the fullbright pass. This removes
    the if (fb) tests.
 o  move the DepthMask setting for modelalpha != 1.0 out of
    GL_DrawAliasFrame* into R_DrawAliasModel to reduce potential GL state
    changes.
 o  minor comment cleanup/corrections
2002-01-02 19:23:09 +00:00
Ragnvald Maartmann-Moe IV 29b48c594e More tweaks to joystick code. amp settings have a far greater effect now... 2001-12-30 06:08:24 +00:00
Bill Currie 3cfd2c0a8e make GL_DrawAliasShadow use the data calculated by GL_GetAliasFraveVerts so
shadows don't cost as much when lerping is enabled.
2001-12-30 04:16:25 +00:00
Seth Galbraith d570f0905f high precision model loading 2001-12-30 02:30:26 +00:00
Ragnvald Maartmann-Moe IV c523671606 Joystick updates. Now support 8 joystick axes (since I have a 7-axis gamepad I'm testing with). Also adds swimup/swimdown as axis 5. And ability to invert axes by assigning them as negative numbers (set joyaxis1 "-1"). Joystick handling is liable to change radically as it improves, though, don't count on these as stable interfaces... 2001-12-28 18:02:33 +00:00
Bill Currie 0f2f58754b this is just causing confusion. if we ever need it, it's still in cvs 2001-12-21 22:39:14 +00:00
Bill Currie ee9ed0c395 minor cleanups 2001-12-21 21:52:03 +00:00
Ragnvald Maartmann-Moe IV daa68ac7ce Minor pcx loader cleanup. 2001-12-21 21:12:01 +00:00
Bill Currie 7f9e5755fb go back to my clever code (with the bug fixed this time:P). Hey, if it's
still broken, we can always revert it again ;) (NOT!)
2001-12-21 20:56:54 +00:00
Bill Currie 168d3aa308 tiny speedup to texture uploads 2001-12-21 20:12:51 +00:00
Bill Currie 858bb55bcc kill some dead code 2001-12-21 19:38:49 +00:00
Ragnvald Maartmann-Moe IV b5e93ffd6c Minor speedup (*foo++, dammit!), some whitespace. 2001-12-21 16:08:56 +00:00
Bill Currie 825b02ad87 minor speedup to skybox loading ;) 2001-12-21 06:07:30 +00:00
Bill Currie b4de52eb5c some readability (and speed?) improvments for LoadTGA 2001-12-21 05:29:33 +00:00
Ragnvald Maartmann-Moe IV 010ca032a5 Allow arbitrary power of 2 sizes for tga texture loads, reduce memory footprint needed to load rgb tgas. Speed load of non-RLE tgas.
Some slight code sanity improvements.
2001-12-21 01:41:19 +00:00
Bill Currie aaf9b953a4 make the no shutdown warning developer only (does the user realy need to
see it?)
2001-12-20 23:55:49 +00:00
Bill Currie ec44f037c1 remove the obsolete z buffer prototype code 2001-12-20 05:16:59 +00:00
Ragnvald Maartmann-Moe IV 018481b1ac Might as well allow gl_affinemodels to affect the viewmodel as well... 2001-12-19 20:15:38 +00:00
Ragnvald Maartmann-Moe IV e78bdb3ea6 Fix failure to free cache for non-shadowed stuff (lightning, grenades, etc).
Also a minor speedup (only mess with glHints once per frame, instead of dozens of times).
2001-12-19 18:32:26 +00:00