Extend rcon_restricted_commands to contain more complex patterns:
- Wildcards are supported. A * matches EXACTLY one arg. ? never matches
whitespace. * wildcards match AT LEAST one character.
- Multi-word patterns are supported - they then match EXACTLY the command.
- Single-word non-wildcard patterns still match if the first word of the command matches.
Currently, there is no way to enforce that a command is used ONLY without any args.
Also, wildcard expressions currently NEVER match a command with quotes, as quotes
could subvert the argument restrictions.
Examples:
foo * bar * *
- matches: foo XXX bar XXX XXX
- does not match: foo bar XXX XXX, foo XXX bar XXX XXX XXX, foo XXX bar XXX
foo
- matches: foo, foo XXX, foo XXX XXX
- does not match: foobar
foo bar
- matches: foo bar
- does not match: foo bar baz
foo*bar
- matches: foo42bar, foo1bar
- does not match: foobar, foo bar
changed cl_stainmaps to be a loadtime cvar which decides whether to
allocate stainmaps at all, this saves some memory if it's 0 (which is
the default)
changed stainmap allocation to lump all allocations into one big one,
this saves 1.5MB of memory system overhead (tracking about 28000
allocations for stainmaps in cavetest2.bsp has a lot of overhead) and
probably a good deal more malloc overhead on top of that
changed meaning of r_useportalculling 1 to only use it with r_novis 1
cases (it would be good to use it when no vis data is loaded also, but
that's not currently handled)
added gl_workaround_mac_texmatrix cvar to allow some testing to be done
on the osx GLSL texmatrix bug
modified R_Mesh_Draw to make gl_mesh_prefer_short_elements 0 apply to
element buffers as well as arrays, if both forms of element buffer are
provided (this is only a behavior improvement, no effect currently)
implemented uint16 element array support, and use of it for all the
engine-generated geometry (particles, skybox, text, etc), as well as for
any map or model that fits the 65536 vertex limit (this can be disabled
for performance testing using the cvar gl_mesh_prefer_short_elements),
this hopefully improves performance on Radeon 9500-X300 cards and
GeForce1/2 cards which don't support uint32 elements
fix loading of q1bsp submodel bounding boxes, especially empty submodels
this fixes the disappearing doors bug in slave.bsp caused by empty
submodels having a bounding box as large as the entire map
eliminate two calls to qglGetDoublev that possibly slow down rendering by doing a round trip to the GPU to request the matrices. However, on the tested system, this change does absolutely nothing (233fps vs 233fps), and Xnest, forcing indirect rendering and a ssh -Y localhost did not change that. On an actual network connection however, this new way is SURE faster, as it avoids a round trip over the network.
Infinite far clip already used this method, as there is no GL helper for using the infinite far clip matrix.
comment out a line to make the darkplaces.exe -dedicated console show
up, apparently the initial houtput is never 0 or invalid on Windows XP,
which causes it to never open a console - but then error out because the
hinput is invalid
havoc [Sun, 30 Mar 2008 10:17:16 +0000 (10:17 +0000)]
patch from Blub\0 which adds back the wrapping behavior on pitch when
in_pitch_min/max are set to very large values (this basically lets you
aim up or down so much that you wrap to the other direction)
havoc [Tue, 25 Mar 2008 02:32:43 +0000 (02:32 +0000)]
implemented r_refdef.view.isoverlay state, this corresponds to the
state of R_SetView VF_CLEARSCREEN and disables clearing and bloom when
rendering overlays
havoc [Sun, 23 Mar 2008 04:27:20 +0000 (04:27 +0000)]
don't parse \ characters when reading sav files or map entities, let the
ParseEpair function take care of \n and nothing else (and not if it's a
wad key)
this should fix compatibility with the quake map solstart.bsp which has
a \ character at the end of the wad value, also affecting a couple other
maps but not as badly
dresk [Sun, 23 Mar 2008 03:20:49 +0000 (03:20 +0000)]
Added server QC function "movetypesteplandevent". This function, if assigned to a MOVETYPE_STEP (ie. monster) entity in QC, is called when the entity experiences a "land event" wherein normally the sound sv_sound_land is played. If this function is assigned, the standard server sound is suppressed, allowing for full configuration by the QC.
havoc [Wed, 19 Mar 2008 02:24:09 +0000 (02:24 +0000)]
changed use of infinite farclip to depend on 32bpp modes instead of on
whether shadows are enabled
added r_useinfinitefarclip cvar to allow disabling this otherwise forced
feature if it causes problems for anyone (was on for most users already)
optimized farclip math a little bit (use model->radius * 2 instead of
VectorDistance from corner to corner)
divverent [Tue, 18 Mar 2008 13:06:34 +0000 (13:06 +0000)]
It seems that 2.4 BSDmakefile is missing some SDL defines, and thus is
broken (tested under FreeBSD). Also, last lines about dependencies are
probably gmake-leftovers and are not needed on BSD (in fact, they've been
causing errors since some older version). Please consider attached patch.
Thanks. -- danfe (FreeBSD port maintainer)
havoc [Wed, 12 Mar 2008 00:05:31 +0000 (00:05 +0000)]
added 3 optional parameters to the csqc R_AddDynamicLight builtin
(style, cubemapname, pflags) and made it read v_forward, v_right, and
v_up to orient the light (useful mainly with cubemaps), these can also
(at least in DarkPlaces) be used as an alternative to radius (pass in
radius = 1 if they are pre-scaled)
havoc [Mon, 10 Mar 2008 02:06:32 +0000 (02:06 +0000)]
replaced cl.movement_queue with direct use of cl.movecmd array, this
saves a little memory but mostly it simplifies some logic
reworked much of the prediction system
now extrapolates latest movement gathered instead of interpolating
between the last two moves sent, this reduces visual latency by 50-99ms
and deals better (but not perfectly) with mismatched framerates like
cl_maxfps 30 and cl_netfps 20
havoc [Sun, 9 Mar 2008 01:09:35 +0000 (01:09 +0000)]
added cl_netimmediatebuttons cvar which causes additional input packets
(beyond cl_netfps) when buttons or impulse change, giving better timing
accuracy when it counts (pressing fire)
divverent [Sat, 8 Mar 2008 20:12:48 +0000 (20:12 +0000)]
only go ahead if WAVERR_STILLPLAYING is encountered, other errors are fatal to the sound system again.
TODO: handle WAVERR_STILLPLAYING in a better way (like, clearing the buffer?)
havoc [Thu, 6 Mar 2008 19:44:56 +0000 (19:44 +0000)]
added a -I option on Mac OSX SDL builds to include the relevant Headers
directory, added a reference to this in the relevant LIBS variables
(because SDLMain.m needs the includes as well)
havoc [Mon, 3 Mar 2008 13:25:38 +0000 (13:25 +0000)]
fix support for zip archives made by the standard Mac OSX archiver
(ignore bit 3 in the general flags - the fields ARE valid in the central
directory, just not in the stream data)
havoc [Sun, 2 Mar 2008 12:06:55 +0000 (12:06 +0000)]
added a parameter to S_StopChannel to trigger a mutex lock, this fixes
crashes in the SDL audio callback when S_StopChannel clears fields while
they are being used in the mixer (this mostly crashed on level changes),
the mutex lock itself is done simply by calling SndSys_LockRenderBuffer