havoc [Sat, 24 Mar 2007 23:04:58 +0000 (23:04 +0000)]
changed default value of cl_netinputpacketlosstolerance from 4 to 1, matching Quake3, as it's actually quite rare for more than every other packet to be lost
havoc [Sat, 24 Mar 2007 17:46:19 +0000 (17:46 +0000)]
moved clearing of self.fixangle to SV_Physics_ClientEntity so that it is only cleared each time PlayerPreThink is called, fixing bugs with irregular move times causing spectating smoothing to fail
havoc [Sun, 18 Mar 2007 22:44:59 +0000 (22:44 +0000)]
changed bestweapon command to match the one in proquake - taking each weapon identifier as a separate parameter, rather than one string of them, I don't know why the person asking for bestweapon support gave me an example of a single parameter as no other engine seems to do it that way
havoc [Sat, 17 Mar 2007 13:08:52 +0000 (13:08 +0000)]
play a different sound (sound/misc/talk2.wav) for team chat messages (only if the file exists of course), to accomplish this the team chat messages now have () around the player name, which is compatible with other engines with this feature
havoc [Thu, 15 Mar 2007 14:06:03 +0000 (14:06 +0000)]
disabled cl_movement prediction when cls.servermovesequence is 0 (either a protocol that does not support move synchronization, or prediction is disabled)
removed cl_movement_latency cvar as it no longer serves any purpose with the removal of support for prediction on unsynchronized move protocols
havoc [Thu, 15 Mar 2007 13:54:37 +0000 (13:54 +0000)]
rewrote stringlist stuff, now uses a (dynamically resizing) array of pointers rather than a linked list, and uses a selection sort rather than a bubble sort, this has changed the "maps" command from taking about 7 seconds on my system to about 70ms
havoc [Thu, 15 Mar 2007 11:34:14 +0000 (11:34 +0000)]
main options menu now has only the most frequently used options, and contains several presets for effects and lighting (renamed Graphics Options to Lighting)
main options menu now fits on a 320x240 display
havoc [Thu, 15 Mar 2007 11:23:50 +0000 (11:23 +0000)]
reworked quake query code (CCREQ_/CCREP_ handling) to use MSG_Read functions, it was previously using a mixture of these and direct packet parsing, which was not working, this means quake query tools work again
havoc [Thu, 15 Mar 2007 10:34:24 +0000 (10:34 +0000)]
separated the code that sends player name and such into CL_SendPlayerInfo
moved call to CL_SendPlayerInfo from signon 2 to signon 1
moved cl_begindownloads from signon 2 to signon 1, this fixes the 'no ambient sounds' bug
havoc [Thu, 15 Mar 2007 10:32:11 +0000 (10:32 +0000)]
changed default snd_soundradius from 1000 to 2000, matching proquake (which attempts to match dos quake), this means you can fire a rocket across the outdoor pent area in dm3 and hear the explosion
havoc [Thu, 15 Mar 2007 10:12:52 +0000 (10:12 +0000)]
implemented support for fuhquake macros in fuhquake/QIZMO format .loc files, hardcoded the strings for these rather than using cvars (unlike fuhquake) because excess settings is silly
havoc [Wed, 14 Mar 2007 10:33:43 +0000 (10:33 +0000)]
add apple_multithreadedgl cvar (offloads OpenGL driver to a second thread if possible), off by default (may change to on if I get feedback from testers)
havoc [Wed, 14 Mar 2007 03:09:29 +0000 (03:09 +0000)]
fix bug where transparent models used an out of date material (generated earlier in the same frame), which caused problems when multiple instances of the same model exist in the same frame and one or more of them are transparent
havoc [Wed, 14 Mar 2007 02:08:28 +0000 (02:08 +0000)]
loc file parsing now supports whitespace following commas (I did not previously have such a test file)
now rejects malformed proquake-format loc file lines that do not have a quoted string directly after the 6 numbers
havoc [Mon, 12 Mar 2007 05:31:02 +0000 (05:31 +0000)]
removed -demolooponly commandline option as it did precisely the same thing as -demo, and I don't feel like implementing the feature its name implies
corrected a mention of host_maxfps to cl_maxfps in host_framerate cvar description
havoc [Mon, 12 Mar 2007 05:26:59 +0000 (05:26 +0000)]
added vid_grabkeyboard cvar which defaults to 0, this means that the glx client no longer locks out window manager hotkeys (such as volume control and music player control keys, as well as alt-tab)
havoc [Sun, 11 Mar 2007 07:41:47 +0000 (07:41 +0000)]
implemented .loc file support, including some editing (add command, and removenearest command) and viewing capability (r_speeds now shows the current location name, and locs_show 1 displays the actual boxes/points as translucent boxes)
implemented proquake message macros (%l, %d, %h, %a, etc), can be disabled by locs_enable 0
havoc [Sun, 11 Mar 2007 03:34:50 +0000 (03:34 +0000)]
changed brightness of unlit q1bsp maps from 2x white to 1x white (so textures show as their true colors rather than twice as bright)
fixed bug that made models black in unlit q1bsp maps
havoc [Fri, 9 Mar 2007 00:13:19 +0000 (00:13 +0000)]
added cl_dlights_decayradius and cl_dlights_decaybrightness cvars, both default on, this brings back the quake-style radius decay, and keeps the more recently added brightness decay, benchmarks suffered when radius decay was removed, so its return should restore any losses associated with that
havoc [Thu, 8 Mar 2007 23:50:28 +0000 (23:50 +0000)]
implemented shadow caster culling by creating a frustum plane set that includes the light origin, any object that is not within this frustum (which encloses the screen and a triangular-shaped volume extending to the light origin) can not possibly cast a shadow onto the visible geometry, this reduces cpu work in a few cases (off-screen explosion with several entities further off-screen)
havoc [Thu, 8 Mar 2007 23:39:14 +0000 (23:39 +0000)]
fixed bug in portal culling code that allowed a leaf to be revisited multiple times, causing it to be counted multiple times, and wasting a small amount of time marking surfaces redundantly
havoc [Thu, 8 Mar 2007 23:33:57 +0000 (23:33 +0000)]
refactored csqc entity sending code so that it properly obeys msg->maxsize, undoing writes that could not fit
added comment about how csqc entity sending code needs some changes to avoid packet loss problems
havoc [Sat, 3 Mar 2007 22:06:57 +0000 (22:06 +0000)]
changed entity networking prioritization code to use the center of the model rather than the origin, this fixes prioritization of doors and lifts which typically have their origin near '0 0 0' rather than inside the entity box
havoc [Sat, 3 Mar 2007 21:59:03 +0000 (21:59 +0000)]
fix weapon jitters when walking up ramps, and prediction failures when doing rampjumps, unfortunately this also ends up predicting quake2-style double jumps (which do not occur on the server)
havoc [Sat, 3 Mar 2007 01:37:22 +0000 (01:37 +0000)]
fixed bug that was causing prediction to fail periodically in singleplayer games, especially with cl_maxfps 125 (negative packet times were causing sv_clmovement_minping 0 tests to pass occasionally, disabling prediction, and causing a major stall in input handling)
havoc [Fri, 2 Mar 2007 22:23:08 +0000 (22:23 +0000)]
reworked cvar checks in VID_UpdateGamma to simply set gamma_forcenextframe if they have changed, this is somewhat in preparation for eventual use of cvar callbacks
havoc [Fri, 2 Mar 2007 13:05:39 +0000 (13:05 +0000)]
fix really stupid bug introduced in sv_user.c revision 1.83 (sv_waterfriction was being used, even if it's -1 which means use sv_friction instead), now properly uses sv_friction if sv_waterfriction < 0
havoc [Thu, 1 Mar 2007 20:07:20 +0000 (20:07 +0000)]
implemented r_shadow_culltriangles cvar (on by default), this improves lighting performance by reducing the amount of geometry to render, it does not add any additional cpu w
ork because similar forms of culling were already used on shadow casting triangles (which are now replaced by this), this just applies the same already computed culling to the lighting as well as the shadowing
havoc [Wed, 28 Feb 2007 11:08:30 +0000 (11:08 +0000)]
eliminated RENDER_NOCULLFACE (now uses MATERIALFLAG_NOCULLFACE on a texture)
eliminated RENDER_TRANSPARENT (it was only used by the client code briefly, it did not need to be stored, it only turned off RENDER_SHADOW)
added TriangleOverlapsBox macro (and changed several pieces of code to use it)
changed some code to use the BoxInsideBox macro
havoc [Sat, 24 Feb 2007 07:12:56 +0000 (07:12 +0000)]
added optimized case in R_Q1BSP_GetLightInfo surface culling that skips checking individual triangle bounding boxes if the entire surface is inside the light bounding box (as is often the case)
havoc [Fri, 23 Feb 2007 13:07:36 +0000 (13:07 +0000)]
audited R_Mesh_Matrix calls and RSurf_ActiveEntity calls and moved them to more appropriate locations in some cases
split R_DrawSurfaces into R_DrawWorldSurfaces and R_DrawModelSurfaces to make profile reports more useful
split RSurf_ActiveEntity into RSurf_ActiveWorldEntity and RSurf_ActiveModelEntity to make profile reports more useful, and very slightly improve performance