havoc [Thu, 23 Feb 2006 10:57:31 +0000 (10:57 +0000)]
merged NetConn_SendReliableMessage into NetConn_SendUnreliableMessage, and also merged away the other ReliableMessage functions (ReSend and Next)
rearranged client and server message sending calls to attempt to send unreliable messages, even if empty (necessary to trigger sending of reliable messages)
eliminated last remnants of NetConn_SendToAll stuff
changed some cls.demoplayback checks to !cls.netcon checks
havoc [Thu, 23 Feb 2006 05:29:16 +0000 (05:29 +0000)]
removed runmove array in favor of using a private entity flag to prevent movement on the first physics frame an entity exists in, this makes projectiles fired by cl_movement 1 clients behave properly
havoc [Wed, 22 Feb 2006 12:12:24 +0000 (12:12 +0000)]
fix decal draw order bug introduced in recent commit, I forgot that decals are not queued as transparencies like other particles, so calling R_DrawParticles before rtlights was a bad idea (as it made the rtlights be unaffected by decals)
havoc [Wed, 22 Feb 2006 10:02:25 +0000 (10:02 +0000)]
changed behavior of r_showtris (now only affects geometry in the game view, not sky, not hud, and not bloom)
added r_showtris_polygonoffset (doesn't seem to work, for unknown reasons)
renamed r_drawcollisionbrushes to r_showcollisionbrushes and got rid of its mode 2 behavior (which was trippy but not all that useful)
added r_showdisabledepthtest cvar which disables depth testing on the debugging geometry produced by r_show* cvars
renamed r_shadow_visiblelighting/volumes cvars to r_showlighting/shadowvolumes (and they no longer have a mode 2, use r_showdisabledepthtesting to get the same effect instead)
molivier [Sun, 19 Feb 2006 09:25:42 +0000 (09:25 +0000)]
Workaround for a bug in the Linux ATI proprietary driver; it does not put the current video mode in the first slot in the array returned by XF86VidModeGetAllModeLines, which can lead to a crash in VID_Shutdown. Also, fixed a small memory leak (the video mode array was never freed)
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)