havoc [Thu, 14 Jun 2007 00:23:54 +0000 (00:23 +0000)]
centered quake hud in deathmatch, this makes the new score block visible
removed use of the color cyan on the score block text, because the quake
numbers are brown and it makes them very dark
havoc [Wed, 13 Jun 2007 23:29:13 +0000 (23:29 +0000)]
added a score-distribution/place/score block left of the hud
added a time remaining clock left of the hud (which shows time in level
instead if no timelimit is active or if the server does not send it)
havoc [Wed, 13 Jun 2007 08:42:51 +0000 (08:42 +0000)]
removed the ^7 after player names in various engine messages and made
the player name change code append the ^7 if the name contains color
codes and the last one is not ^7, this gets rid of spurious ^7 tags seen
by non-DP clients
havoc [Wed, 13 Jun 2007 06:59:45 +0000 (06:59 +0000)]
brought back the client->sendsignon flag from original quake code, this
fixes the occasional error message on old clients when a level change
occurs and chat messages or scoreboard updates or other reliable
messages are delivered to the client when it is not expecting them
(during model/sound loading when it is supposed to just be exchanging
keepalive messages)
havoc [Mon, 11 Jun 2007 17:19:10 +0000 (17:19 +0000)]
added more developer prints when loading shaders
fixed shader loading to refuse empty texture names, this fixes support
for cmt4.bsp which has some unnamed textures
havoc [Mon, 11 Jun 2007 16:19:07 +0000 (16:19 +0000)]
merged several identical pieces of worldmodel setup code into
a new function called CL_SetupWorldModel
CL_VM_Init no longer resets anything, CL_ClearState now sets up the
cl.csqc_vidvars defaults, this fixes the "no world model" bug
havoc [Mon, 11 Jun 2007 15:45:02 +0000 (15:45 +0000)]
added back rate limiting on old protocols, however sv_maxrate no longer
applies on old protocols, and quake clients and other old clients will
simply default to unlimited rate, so this allows a client to request a
lower rate but by default does not impose any limiting
havoc [Mon, 11 Jun 2007 15:25:16 +0000 (15:25 +0000)]
increase default sv_maxrate from 10KB/s to 1MB/s, this makes
unconfigured servers far more useful, especially for LAN games
increase default rate from 10KB/s to 20KB/s, this makes downloads go
faster and anyone who can handle 10KB/s is usually on broadband that can
handle 20KB/s (dialup and ISDN users will want to lower it)
havoc [Mon, 11 Jun 2007 05:37:12 +0000 (05:37 +0000)]
default new clients' rate to unlimited, DP clients will send an
appropriate value long before any ingame messages are sent, and the
sv_maxrate still applies
divverent [Mon, 28 May 2007 23:40:25 +0000 (23:40 +0000)]
ignore r_glsl_contrastboost in range 0..1 (it breaks overbright pixels in that range), that is, the cvar now only does anything when > 1 (brighten up image) or < 0 (threshold effect)
divverent [Mon, 28 May 2007 13:35:07 +0000 (13:35 +0000)]
glsl doesn't allow dividing by zero (result is undefined, although sane on nvidia), so...
-" color.rgb = SceneBrightness / (ContrastBoostCoeff + 1 / color.rgb);\n"
+" color.rgb = color.rgb * SceneBrightness / (ContrastBoostCoeff * color.rgb + 1);\n"
also gains some fps apparently (7600GT here)
Weirdly, *= seems to be by 3fps slower than using = and *
divverent [Mon, 28 May 2007 12:29:48 +0000 (12:29 +0000)]
new cvar r_glsl_contrastboost to do something similar to gamma in the GLSL shader... costs some fps when enabled, but works everywhere, and doesn't grey out as much as gamma (see http://hector.rbi.informatik.uni-frankfurt.de/nex/img/r_ambient4r_hdr_scenebrightness2r_glsl_contrastboost2.jpg vs http://hector.rbi.informatik.uni-frankfurt.de/nex/img/v_gamma2.jpg)
havoc [Sun, 27 May 2007 06:46:44 +0000 (06:46 +0000)]
added polygonoffset as a texture property, used on submodels (such as
doors in q1bsp maps) to prevent zfighting if they exactly overlap a
wall, consistent with software quake (which intentionally removed the
portions of the door overlapping a wall)
havoc [Sat, 26 May 2007 22:15:27 +0000 (22:15 +0000)]
make showscores work while finale is up in all game modes
(this should not have been implemented as a nexuiz specific feature)
made monsters and secrets display check the STAT_TOTAL values to decide
whether to draw, rather than a nexuiz check
divverent [Sat, 26 May 2007 10:19:37 +0000 (10:19 +0000)]
intermission: store the current time to completed_time only on the first svc_intermission-like command (Nexuiz switches to svc_intermission for final scoreboard display and to svc_finale for the voting screen);
intermission: in GAME_NEXUIZ, display standard scoreboard instead of intermission overlay, and allow showscores (TAB) to override svc_finale overlay
scoreboard: in intermission, show the time when the game ended, not the current time
havoc [Thu, 24 May 2007 01:36:13 +0000 (01:36 +0000)]
eliminated rsurface.model, so there is now no dependence on having an
actual model in the material renderer
(except transparent surface queuing still needing an entity)
this cleanup means that the material renderer could be called from other
places without an entity (effects such as particles and lightning beams)
havoc [Wed, 23 May 2007 22:36:08 +0000 (22:36 +0000)]
added DP_QC_CVAR_DEFSTRING extension
corrected function descriptions of DP_QC_STRING_CASE_FUNCTIONS extension
to indicate that they are in that extension, previously they broke the
formatting convention by saying what they were for instead of the
extension they belong to
havoc [Wed, 23 May 2007 22:07:18 +0000 (22:07 +0000)]
changed DP_SV_MODELFLAGS_AS_EFFECTS extension, now using any of the MF_
flags will override the model's flags
added EF_NOMODELFLAGS effect to disable model flags without replacing
them with anything new
havoc [Wed, 23 May 2007 17:05:10 +0000 (17:05 +0000)]
changed server to not send pingplreport in response to "ping" command,
because it confuses non-DP clients and older DP clients (resulting in
the message "unknown command pingplreport" flooding the console)
changed client to send "pings" command to DP7 protocol servers so that
it gets only the pingplreport output, avoiding any potential misparsing
of ping reports and reducing bandwidth a little.
havoc [Tue, 22 May 2007 18:46:56 +0000 (18:46 +0000)]
enable svc_pointparticles1 protocol, because the pointparticles
extension is so new that compatibility with month-old clients that never
officially supported the DP_SV_POINTPARTICLES feature is not a concern
havoc [Tue, 22 May 2007 10:08:34 +0000 (10:08 +0000)]
fixed bug in autosprite setup code that made it malfunction badly on any
non-world entity
rewrote autosprite code to make it a bit cleaner
rewrote autosprite2 code to make it work properly
divverent [Tue, 22 May 2007 07:39:05 +0000 (07:39 +0000)]
Reject clc_stringcmd with \r and \n in them; when developer is set, hex dump these commands.
Exception: \r and \n are allowed at the end of a clc_stringcmd, but get cut off before processing (DP builds from before yesterday did that with sentcvar commands).
havoc [Sun, 20 May 2007 22:26:48 +0000 (22:26 +0000)]
made the effect of the r_shadow_shadow_polygonoffset cvar reverse when
r_shadow_frontsidecasting is off, so that only one setting needs
changing to toggle between the two modes
divverent [Sun, 20 May 2007 16:02:27 +0000 (16:02 +0000)]
DP_PRELOAD_DEPENDENCIES=yes makefile option: when set, link against the libraries needed using -l dynamically so they won't get loaded at runtime using dlopen
divverent [Sun, 20 May 2007 14:59:03 +0000 (14:59 +0000)]
new option -capturedemo to capture a demo to an AVI file;
new cvars cl_capturevideo_width, cl_capturevideo_height to scale down video capture
when capturing >1GB, don't write an index chunk (in that case, an ix00/ix01 chunk has to be written, but that's not yet implemented)
when capturing, write a "dmlh" header to store the total number of frames, and store the partial number of frames in the "avih" header, as specified by OpenDML
when capturing, store the aspect ratio in a "vprp" header chunk (OpenDML)
make Host_Quit_f do nothing when already quitting (fixes "quit" issue while playing back a demo); note that Host_Quit_f is only used by the console and by -benchmark/-demo/-capturedemo
havoc [Sat, 19 May 2007 12:01:02 +0000 (12:01 +0000)]
reworked newmouseparms[] code
removed -noforcemspd and -noforcemaccel options as they didn't make
sense when comparing to the MSDN documentation (-noforcemparms remains)
fixed any possible bugs with restoring originalmouseparms[]
added comments explaining the meaning of newmouseparms[] components
divverent [Sat, 19 May 2007 09:19:52 +0000 (09:19 +0000)]
kill mouse accel using IOHIDSetAccelerationWithKey(mouseDev, CFSTR(kIOHIDMouseAccelerationType), -1.0) instead, this is what System Preferences uses (otherwise, mouse accel doesn't get restored right on exit)
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