Removed inline from function Con_Rcon_AddChar due to MSVC8 (Visual Studio 2005) not supporting the C99 standard (which supports inline). Potential future compiler check for feature.
Added optional wildcard support for prvm_edict, prvm_edicts and prvm_globals commads. In prvm_edict/s, wildcard is for field names; in prvm_globals, wildcard is for generic names.
new cvar log_dest_udp to send all console data to one or more specified addresses, separated by spaces, in form of QW rcon prints. Should be useful to let external programs communicate with a DP server (like IRC gateways, console web interfaces, stuff like that)
changed parsing/cvar expanding rules to allow better handling of cvars with evil characters in their value, and to allow for easy concatenation of cvar values:
- \\ inside quoted strings now becomes \ (which is honored by semicolon splitting too)
- only one round of expansion when processing an alias (expanding cvars and parameters at the same time); this is implemented by duplicating every resulting dollar sign when expanding an alias
- lines starting with alias are exempt from cvar expansion (to be compatible with older versions that rely on alias lines with double quoted arguments to not have cvar expansion, which got changed in a recent commit); this can be overridden by quoting the word "alias"
- add ${cvar} syntax so one can expand a cvar and immediately follow with some letters
- add ${$cvar} syntax to reintroduce indirection similar to what could previously be done because aliases were expanded in two rounds
- make $cvar expansion insert the cvar in a way that isn't harmful when inside double quotes (that is, backslash double quotes and backslashes); this then allows copying cvars using: set copy "$original"
A detailed description of the rules is in cmd.c, Cmd_PreprocessString in a big comment block.
added sv_gameplayfix_delayprojectiles cvar, to allow the delayed
projectiles behavior to be disabled if desired (since it does have a
significant impact on gameplay)
divverent [Fri, 29 Jun 2007 11:40:33 +0000 (11:40 +0000)]
add cvar sbar_miniscoreboard_size to control the size of the mini DM overlay in items (or -1 makes it get a default size depending on the current HUD); shift around the frags counter a bit to work well with 4 teams in sbar_hudselector 1 and 3 teams in sbar_hudselector 0 in Nexuiz (yes, then 4 teams display is knowingly broken, but it looks like we can use sbar_hudselector 1 in the next release)
divverent [Fri, 29 Jun 2007 07:46:15 +0000 (07:46 +0000)]
fix shader name in "permutation%s failed for shader %s, some features may not work properly!" message (previously was hardcoded to glsl/default.glsl);
new command r_glsl_dumpshader that dumps the engine builtin default.glsl file to glsl/default.glsl for editing and trying out stuff
havoc [Fri, 15 Jun 2007 08:54:47 +0000 (08:54 +0000)]
changed the meaning of VF_PERSPECTIVE false after discussion with Spike,
VF_FOV now determines the dimensions in all directions (in other words,
the view is from -VF_FOVX to +VF_FOVX horizontally, and -VF_FOVY to
+VF_FOVY vertically, in quake units)
havoc [Thu, 14 Jun 2007 00:37:15 +0000 (00:37 +0000)]
when spectating in nexuiz, use the current viewentity for scoreboard
information rather than the real player entity
(renamed cl.playerentity to cl.realplayerentity and made playerentity
update whenever viewentity is set to a valid client entity)
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