fixed two timing flaws where cl.realframetime was used instead of (cl.time - cl.oldtime), one being centerprint fade time, and the other being ambient sky/water noise fading
changed PlayerPrethink/think/PlayerPostThink to occur regardless of movement prediction, so they are guarenteed to run every server frame like in quake/quakeworld, only the movement itself is done elsewhere and only for MOVETYPE_WALK cases, this means that animations keep proper sync regardless of prediction timing
havoc [Sat, 31 Mar 2007 09:42:34 +0000 (09:42 +0000)]
patch from div0 that improves mac keyboard support in the AGL client, this includes a copy of SDL_mackeys.h (as vid_agl_mackeys.h), it should be kept up to date as appropriate
havoc [Fri, 30 Mar 2007 20:42:13 +0000 (20:42 +0000)]
added back bullet impact sparks due to complaints
made grenade smoke trails only last 2/3rd as long (this matches the quake grenade trail vs the quake rocket trail length)
havoc [Fri, 30 Mar 2007 08:25:12 +0000 (08:25 +0000)]
changed cl_particles_quake mode to use size 1.5 for particles rather than size 1.0, this makes them about as visible as in glquake
changed explosion sparks to not be affected by gravity and some other differences in how they are spawned
removed sparks on bullet/nail impact effects, made smoke bigger and a bit darker so it's not just small white puffs, it now looks rather nice, and more true to the original quake gunshot/spike/superspike effect
havoc [Fri, 30 Mar 2007 03:28:56 +0000 (03:28 +0000)]
cleaned up R_DrawCoronas code to be more readable/maintainable
modified R_DrawCoronas to use a spherical distance check on coronas rather than a view-direction dependent one, and changed the distance checks, this should get rid of the 'seeing your own muzzleflash corona when looking down' issue
havoc [Thu, 29 Mar 2007 09:18:03 +0000 (09:18 +0000)]
changed Sys_Sleep functions to take microseconds instead of milliseconds (this may mildly improve sleep accuracy on Linux dedicated servers)
modified the host main loop to check for server packets each iteration of the loop rather than at the server framerate (this doesn't accomplish much yet but has potential)
added sv_checkforpacketsduringsleep cvar to enable use of select() instead of Sys_Sleep()
havoc [Thu, 29 Mar 2007 00:39:50 +0000 (00:39 +0000)]
added r_shadow_usenormalmap cvar which allows you to disable directional shading on rtlights, looking a bit more like glquake lights, this also renders somewhat faster so it may be of use as a performance tweak for some cards
added an optimized ambient-without-diffuse path in the GLSL shader to help r_shadow_usenormalmap 0 performance
havoc [Thu, 29 Mar 2007 00:33:16 +0000 (00:33 +0000)]
added NetConn_SleepMicroseconds function, and LHNET_SleepUntilPacket_Microseconds function, this uses select() to wait for a specified amount of time or until a packet is received
havoc [Tue, 27 Mar 2007 19:48:09 +0000 (19:48 +0000)]
added .float disableclientprediction field for qc to use to disable prediction intentionally if it so wishes
added .movetype check to disable prediction whenever movetype is not MOVETYPE_WALK, this fixes unwanted prediction issues in all known cases
moved prediction disabling code from SV_ReadClientMove to SV_ExecuteClientMoves as a minor cleanup
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