havoc [Thu, 17 May 2007 19:14:36 +0000 (19:14 +0000)]
added a cvar which allows the client to send more than one packet per
server packet, by default 2, this results in smoother demos when packet
loss is occurring with predicted movement
havoc [Thu, 17 May 2007 18:58:54 +0000 (18:58 +0000)]
moved the code that applies slowmo to demo playback so that it reacts
immediately to changes, not at the next packet read (which may never
come if slowmo was set to 0 at any point)
made pausedemo command freeze demo playback in a way that time does not
advance, preventing the problem where it fast forwards to catch up with
where it would have been if not paused after unpausing the demo
havoc [Wed, 16 May 2007 17:11:04 +0000 (17:11 +0000)]
changed 1-frame warm-up period to 3 frames before time begins advancing
in the timedemo playback (meaning 3 identical frames are rendered first)
this should improve consistency of timedemo results
divverent [Tue, 15 May 2007 23:12:54 +0000 (23:12 +0000)]
calling VM_SetTraceGlobals can create a tempstring for the texture name; thus,
make sure that the tempstring gets freed when VM_SetTraceGlobals gets called
from outside QC (before calling the touch function)
havoc [Mon, 14 May 2007 14:34:53 +0000 (14:34 +0000)]
added a proper gl_lightmaps rendering path, previously the gl_lightmaps
option did not work with r_glsl 1 and affected sprites (which it was not
meant to)
havoc [Mon, 14 May 2007 12:24:55 +0000 (12:24 +0000)]
reworked lightmap merging code to determine optimal texture size for
each merged lightmap texture (which basically means the last one is now
smaller than the rest in most cases)
havoc [Mon, 14 May 2007 10:28:00 +0000 (10:28 +0000)]
restored the old lightmap batching code that I removed when adding the
lightmap merging, this helps a lot on maps that don't fit in one
1024x1024 lightmap
havoc [Mon, 14 May 2007 09:12:25 +0000 (09:12 +0000)]
removed channel_t->end and lastptime, now only pos governs playback
position, this should make the playback code safer
reworked S_PaintChannels to advance channel pos regardless of volume
changed S_StartSound to delay sounds rather than skip them, which may be
important on short sound effects
havoc [Sat, 12 May 2007 10:02:06 +0000 (10:02 +0000)]
added a keyname for backslash which is now used instead of the literal \
character, avoiding issues with bind "\" "something" which was parsing
wrongly, also removed the quotes around the bind keyname, and changed
the keyname code to prefer using the override names (such as tilde
instead of ~) in binds when saving the config
havoc [Fri, 11 May 2007 01:17:24 +0000 (01:17 +0000)]
added back cl_netsyncboundmode 5 (4 with sub-millisecond adjustment when
very near the correct value)
added new default cl_nettimesyncboundmode 6, this is a hybrid of 1 and 5
havoc [Fri, 11 May 2007 01:04:45 +0000 (01:04 +0000)]
moved almost all server cvars to sv_main.c and added corresponding
externs in server.h
removed cl_gravity and cl_slowmo cvars
renamed cl.movevars_slowmo to cl.movevars_timescale
havoc [Wed, 9 May 2007 11:00:14 +0000 (11:00 +0000)]
renamed COM_ParseTokenConsole to COM_ParseToken_Console
split COM_ParseToken into COM_ParseToken_Simple, COM_ParseToken_QuakeC
and COM_ParseToken_VM_Tokenize which have different support for special
characters
divverent [Mon, 7 May 2007 21:36:32 +0000 (21:36 +0000)]
Impossible combination of GAME_NEXUIZ CTF status icons ("have red flag | have blue flag") now displays an alternate image for the new keyhunt game mode
divverent [Mon, 7 May 2007 18:23:22 +0000 (18:23 +0000)]
fix glsl model lighting on unlit maps (normal vector was calculated as (0,0,0) as there was no contribution from the map -> GLSL calls normalize() on that -> (nan,nan,nan), which apparently counts as black).
The fix replaces these zero normal vectors by (0,0,1) (which vector is actually chosen does not matter, as its contribution is scaled by zero anyway).
havoc [Mon, 7 May 2007 07:28:00 +0000 (07:28 +0000)]
reduced uninitialized data size by 13MB by moving some temporary arrays
used by outdated protocols into their database struct, also moved some
other arrays
havoc [Mon, 7 May 2007 05:37:08 +0000 (05:37 +0000)]
rewrote server sendstates building code, no longer builds two
entity_state_t arrays (where one of them is global and one per-client),
this is a slight efficiency loss but saves a few megabytes and makes the
customizeentityforclient code more straightforward
merged some global variables into cl. and sv. structs, and others became
arrays on the stack
havoc [Mon, 7 May 2007 03:41:11 +0000 (03:41 +0000)]
now sends player physics variables as stats, including slowmo, gravity,
and sys_ticrate, this avoids the need to stuffcmd cl_movement cvars
on servers that provide the ticrate stat the cl_netinputpacketspersecond
cvar is no longer important, this also seems to improve demo recording
havoc [Sun, 6 May 2007 10:38:31 +0000 (10:38 +0000)]
added r_depthfirst option which defaults to 1 (render depth of world
into scene before rendering color), and also offers 2 (render depth of
world and models), this saves shader fillrate on intensive shaders or
texturing techniques (deluxemapping, anisotropic filtering, etc)
havoc [Fri, 4 May 2007 07:01:34 +0000 (07:01 +0000)]
fixed broken trails (introduced by my attempt to fix them)
fixed a bug where attachments to viewmodelforclient entities would show
up in the world in chase_active 1 mode near 0 0 0
rain particles now trace ahead at spawn and only begin collision
checking when near the impact time
havoc [Tue, 1 May 2007 06:11:48 +0000 (06:11 +0000)]
significant cleanup of input networking code (reorganized and now uses
frametimes rather than timestamps for queued moves) and some refinements
to prediction code
tried to reimplement the anti-pogostick code and it's partially working
but not completely (mispredicts for one frame each time)
Applied KadaverJack's patch on my cl_sound_ric_gunshot code that provides a small optimization by using bitwise operations instead of numerical calculations.
Added DP_QC_STRING_CASE_FUNCTIONS extension, providing VM functions strtolower and strtoupper which return the lowercase and uppercase of strings respectively, available across the CL, SV and MENU VMs.
removed cl_nettimesyncboundmode 5 because it seems to print many more
time warnings than 4 does when developer is on
now sets cls.servermovesequence to cls.netcon->qw_incoming_sequence
now keeps around qw player entities if a packet does not contain any
(an fteqw server I was testing on sometimes sent packets containing
large reliable message groups but no player entities at all)
Updated cl_sound_ric_gunshot CVar to support multiple modes. 0 plays no sounds, 1 plays sounds on TE_GUNSHOT, 2 plays sounds on TE_GUNSHOTQUAD and 3 plays sounds on both TE_GUNSHOT and TE_GUNSHOTQUAD. This is not bloat because the Crylink in Nexuiz uses TE_GUNSHOTQUAD, and most people don't want ricochet sounds on that (though if you do, all the merrier).
Added cl_sound_ric_gunshot which specifies if the related cl_sound_ric and cl_sound_tink CVars will apply to te_gunshot and te_gunshotquad calls. The default value is 0 and it is not saved.
make COM_StringLengthNoColors and COM_StringDecolorize get an additional length parameter to just work on part of a string (if set to 0, it means use the whole string); use that in centerprint drawing to fix centering issues in some odd situations like "^^^^^^^^^^^^^^^^^^^^^^^^^^".