implemented PRYDON_CLIENTCURSOR extension (clientside mouse pointer that feeds back...
authorhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 1 Dec 2004 05:39:03 +0000 (05:39 +0000)
committerhavoc <havoc@d7cf8633-e32d-0410-b094-e92efae38249>
Wed, 1 Dec 2004 05:39:03 +0000 (05:39 +0000)
commit71c88e4a876a4cfcccf312e3cd4ddbb1ced6d11f
tree6858d59a46bf2391252e70c391523a9f6df23c8f
parent24a01d1d8ac74bb76ca83022aa85ee690db22637
implemented PRYDON_CLIENTCURSOR extension (clientside mouse pointer that feeds back information to the QuakeC)
added DP_BUTTONUSE extension (+use/-use button)
added DP_BUTTONCHAT extension (true while input is not focused on the game)
reimplemented DP_ENT_COLORMOD extension due to popular request, and changed its definition to allow colors above '1 1 1' for brightening effects
implemented PROTOCOL_DARKPLACES6 protocol, featuring delta compression of ammo counts and other properties (using generic svc_updatestat and svc_updatestatubyte messages), precaching models and sounds during the game (svc_precache).
removed cmd parameter from a lot of input code (now uses cl.cmd. instead of cmd->)
added sv_gameplayfix_setmodelrealbox to allow disabling of the setmodel real model bounding box on alias models (may improve mod compatibility if set to 0, thus performing a setsize (self, '-16 -16 -16', '16 16 16') instead of the real alias model box).
added SV_ModelIndex and SV_SoundIndex functions to clean up the server's precaching and model lookup processes (code reduction/maintenance reduction).
changed sv.model_precache and sv.sound_precache to be real char arrays rather than pointers, so precache names no longer need to be constants as they're now copied.
added some modelindex bounds checks to a few pieces of code.
the dpfields array is now sorted and matches the supported fields list (added the missing ones).
client now acknowledges the last 3 frames in each input packet to reduce packet loss issues.
renamed clc_ackentities to clc_ackframe as it is now used for compressing stats as well as entities in PROTOCOL_DARKPLACES6, this also means it always produces a packet for every frame even if there's no changed entities (or room under the rate limit for that matter)
PROTOCOL_DARKPLACES5 and 6 now perform a non-harmful serverside packetlog reset (marking all packets as lost) if the packetlog fills up, this should eliminate choked-to-death cases where the client lost everything for a few seconds.
MAX_CL_STATS expanded from 32 to 256 (just incase more stats are added, this prevents protocol breakage on too many unknown extra stats)
fixed a bug with the worst case rtlight rendering (the color array was disabled, oops).
some cl.* fields converted to cl.stats elements (STAT_ITEMS for instance) to accomodate the PROTOCOL_DARKPLACES6 stats updates

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@4801 d7cf8633-e32d-0410-b094-e92efae38249
30 files changed:
cl_collision.c
cl_input.c
cl_main.c
cl_parse.c
client.h
common.c
gl_draw.c
gl_models.c
gl_rsurf.c
host.c
host_cmd.c
input.h
pr_cmds.c
pr_edict.c
progs.h
protocol.c
protocol.h
quakedef.h
r_shadow.c
r_sprites.c
sbar.c
server.h
sv_main.c
sv_user.c
vid_glx.c
vid_null.c
vid_sdl.c
vid_shared.c
vid_wgl.c
view.c