havoc [Fri, 17 Feb 2006 09:41:32 +0000 (09:41 +0000)]
fix crashes with NAN bounding boxes (collisions or dlights) recursing down the BSP tree, they still don't behave properly (because there is no proper handling of NAN), but at least they don't crash anymore
havoc [Fri, 17 Feb 2006 04:00:27 +0000 (04:00 +0000)]
added an unstick function used on most entities if their movement trace indicates they started in solid, this should prevent items and gibs from falling out of levels 99% of the time
havoc [Thu, 16 Feb 2006 10:28:15 +0000 (10:28 +0000)]
reworked input timing a bit more, now cl_movement 1 mode syncs client packets to the incoming server packets (because the server does not trust the client's timing, only the history of server frames sent to the client, and thus the client has to sync exactly to the server timing to work)
moved CL_SendCmd() call into CL_ReadFromServer right after CL_ReadDemoMessage(), this fixes the prediction jitters that recently appeared with the cl_netinputpacketspersecond feature, however it might add a slight delay in local games (I haven't noticed a delay however)
havoc [Thu, 16 Feb 2006 07:24:09 +0000 (07:24 +0000)]
remove an unused extern for sys_ticrate, and added a comment warning about improper rate limiting if sys_ticrate is 0 (but it should never be 0 on a real server)
havoc [Thu, 16 Feb 2006 07:20:28 +0000 (07:20 +0000)]
fixed bug that allowed accidental speed cheating with cl_movement 1 mode (move->time was being cleared by ApplyClientMove, so when ReadClientMove calculated how much to move since the last move, it always thought the last move was at time == 0, and then it clamped this delta to 0.1 or less, which prevented it from being completely ridiculous, but still horrible)
added kicking of speed cheaters (if they echo a timestamp that has not yet been issued by the server, they're clearly lying)
havoc [Wed, 15 Feb 2006 03:09:37 +0000 (03:09 +0000)]
improved server handling of multiple packets per client physics frame (as would be the case if the client sends more frames per second than the server sends to it)
havoc [Wed, 15 Feb 2006 02:54:14 +0000 (02:54 +0000)]
fix very stupid bug that caused entities to sometimes not be removed (priority was not being updated when deltabits were added back to an entity, so the priority remained at the no-update-necessary level despite the fact it should be sent again)
havoc [Sun, 12 Feb 2006 19:44:39 +0000 (19:44 +0000)]
fixed changelevel networking bug (now ignores clc_ackframe messages from clients who are not spawned, this prevents leftover entity acks from previous level from messing up netcode)
havoc [Sun, 12 Feb 2006 18:21:16 +0000 (18:21 +0000)]
renamed NetConn_UpdateServerStuff to NetConn_UpdateSockets and made it non-static, now called in CL_EstablishConnection so +connect on commandline works again
havoc [Sun, 12 Feb 2006 05:35:37 +0000 (05:35 +0000)]
rollback recent network compression changes, it really does have to be reset on level change because the client expects it to be, another solution must be found
havoc [Sun, 12 Feb 2006 02:55:42 +0000 (02:55 +0000)]
fix problems with changelevel causing network compression to stop working (bug introduced when SV_SendReconnect was rewritten quite some time ago), this was happening because the compression database was being freed on level change and reallocated, and thus producing older entity frame numbers that the client refused
havoc [Thu, 2 Feb 2006 14:57:04 +0000 (14:57 +0000)]
vertex lighting path now does pants/shirt rendering faster than before
doubled brightness of vertex lighting path to make it look roughly like the other paths (unsure why it was darker however)
optimized lighting code setup a bit (less silly conditional returns)
havoc [Thu, 2 Feb 2006 13:52:00 +0000 (13:52 +0000)]
fix a bug in the GLSL colormapping setup (was feeding a tinted pants/shirt color, should feed the raw colormap colors, because the shader is doing a multiply by light color on all of this)
havoc [Thu, 2 Feb 2006 13:13:36 +0000 (13:13 +0000)]
added pants/shirt layer rendering to GLSL shader, rather than calling it three times like before (which was very slow)
migrated GLSL light shader permutation selection (and correspondingly all parameter setup) into R_Shadow_RenderSurfacesLighting_Light_GLSL, this causes more setup overhead but allows specific optimization of non-colormapping and non-specular surfaces so this should be a speed gain overall
havoc [Wed, 1 Feb 2006 15:11:46 +0000 (15:11 +0000)]
changed renderer to check ent->colormap_pantscolor and ent->colormap_shirtcolor instead of ent->colormap to detect whether to use colormapping on a model, this should reduce chance of bugs in lighting code
also optimized the R_Shadow_RenderSurfacesLighting function a bit to have separate handling of colormapped and non-colormapped surfaces (probably a small speed gain, and reduces chance of bugs in lighting code)
havoc [Wed, 1 Feb 2006 13:21:06 +0000 (13:21 +0000)]
added description string to all cvars and commands
modified tab completion to print description by each cvar, instead of just printing names
refactored tab completion code
havoc [Thu, 12 Jan 2006 15:17:12 +0000 (15:17 +0000)]
added console editing enhancements patch from [515], except the part for special quake characters was omitted (as the engine should not assume the quake font is being used)
havoc [Tue, 10 Jan 2006 21:16:49 +0000 (21:16 +0000)]
added a warning comment about dmodel_t not matching the on-disk q1bsp format because of Sajt's MCBSP code (this does no harm because the reading code does not utilize dmodel_t in reading those structs, but it is a potential land mine to people looking at the header to study the format)
havoc [Sun, 1 Jan 2006 13:15:27 +0000 (13:15 +0000)]
added developer_entityparsing cvar to aid in debugging entitystring parsing issues (which always seem to turn out to be map bugs, but it's useful to know what the bug in the map is)
havoc [Fri, 30 Dec 2005 11:14:05 +0000 (11:14 +0000)]
disabled running of multiple server frames per host frame, because it does not handle overload gracefully (instead it makes the framerate significantly worse if the server frame is the bottleneck)
havoc [Thu, 29 Dec 2005 08:43:50 +0000 (08:43 +0000)]
eliminated special case for gamma 1.0 as it was making worse gamma ramps than the general case, and tweaked the code a bit to round to nearest so it should hit exactly 65535
molivier [Wed, 28 Dec 2005 13:26:28 +0000 (13:26 +0000)]
Added support for refresh rate, vsync, and hardware gamma to Mac OS X native video module. Still working on the hardware gamma though, it looks a bit broken (colors are weird with gamma = 1)