havoc [Thu, 26 Jun 2008 02:41:07 +0000 (02:41 +0000)]
sync console command execution to the server timer or the client timer
depending on whether the server is running (previously when playing
online it would execute them on every main loop, which could mess up the
timing of multiple impulses in sequence)
havoc [Tue, 17 Jun 2008 10:46:24 +0000 (10:46 +0000)]
fixed all VS2005 deprecated function warnings
found one actual buffer overrun problem in GetMapList (map name
completion was using sprintf with a 64 character buffer, which is EASILY
overflowed)
added VS2005 projects
divverent [Sun, 15 Jun 2008 14:31:11 +0000 (14:31 +0000)]
new cvar sys_useclockgettime (default 0) that makes DP use clock_gettime as time source (should fix bad timing on Solaris, and some Xen oddity). Only supported in the Solaris, Linux and BSD target.
havoc [Mon, 9 Jun 2008 07:08:20 +0000 (07:08 +0000)]
particle palette is now derived from the loaded palette (this fixes bugs
with .glow_trail colors not matching .glow_color colors when the palette
is replaced)
divverent [Sun, 1 Jun 2008 13:14:09 +0000 (13:14 +0000)]
tiny DP extension: when a global named "require_spawnfunc_prefix" exists, ONLY spawn using functions whose name starts with spawnfunc_. Helps keeping QC code clean, but should not break anything (Google found no existing code with a variable require_spawnfunc_prefix)
havoc [Sun, 18 May 2008 09:28:11 +0000 (09:28 +0000)]
don't try to send a svc_pointparticles or svc_trailparticles message if
the effectnum is negative (such as the -1 returned by particleeffectnum
when it fails to find a match)
havoc [Sun, 18 May 2008 02:12:14 +0000 (02:12 +0000)]
fix problem with glx mouse not grabbing in nexuiz menu
fix glx mouse warp problem, now produces an extra xmotion event sent to
itself to indicate the warp happened before any real motions come in
havoc [Sat, 10 May 2008 12:47:28 +0000 (12:47 +0000)]
renamed VID_GrabMouse to VID_SetMouse as it now takes 3 parameters
(fullscreengrab, relative, hidecursor), this required reworking all the
implementations and the calls, but gives the correct behavior in all
cases
havoc [Sat, 10 May 2008 07:22:15 +0000 (07:22 +0000)]
warp mouse pointer every time it moves off-center instead of just when
it's halfway away from center, this hides the glitching that has been
reported, but the cause is still not understood
havoc [Thu, 8 May 2008 17:22:08 +0000 (17:22 +0000)]
split VM_getmousepos into client and menu versions because they need to
check different variables to decide whether to return window coordinates
or delta mouse motions
havoc [Thu, 8 May 2008 09:10:10 +0000 (09:10 +0000)]
implemented support for turning off mousegrab in csqc (feature existed
but was buggy in Windows build and not implemented in others)
cleaned up menu mousegrab handling, among other mousegrab state issues
havoc [Thu, 8 May 2008 00:05:43 +0000 (00:05 +0000)]
renamed IN_Activate to VID_GrabMouse and made it a public function in
the VID API, this removed some shared logic from each VID_Finish
implementation, and allows disabling the mouse grab at the beginning of
a loading screen
havoc [Wed, 7 May 2008 07:25:00 +0000 (07:25 +0000)]
changed default gl_vbo from 1 to 3 to try to avoid stalls on certain ATI
cards, does not seem to have any significant effect on NVIDIA
performance either way (1 is faster on Radeon HD though, if it works)
havoc [Sun, 4 May 2008 08:13:42 +0000 (08:13 +0000)]
removed gl_workaround_mac_texmatrix cvar because it seems the entire
problem was solved by moving glActiveTexture calls above glMatrixMode
calls - this may still be an Apple bug, but not an important one
havoc [Sun, 4 May 2008 05:32:28 +0000 (05:32 +0000)]
changed behavior of gl_workaround_mac_texmatrix, reverting to previous
behavior (returning the texmatrix bugs), now the cvar causes a more
general change in behavior where all GL_ActiveTexture calls will also
call GL_ClientActiveTexture, this should make the bug easily toggleable
for debugging purposes
havoc [Sat, 3 May 2008 11:05:32 +0000 (11:05 +0000)]
further attempt at workaround for Mac texmatrix bug,
gl_workaround_mac_texmatrix now has values in the range 0 to 7 with
different behaviors to try
eliminated GL_ClientActiveTexture function, now client active texture
always matches server active texture (in hopes of fixing Mac bug)
remove weird multiplication of water friction by 1 (wet feet), 2 (swimming), 3 (submerged), as sv_user.c (which Quake uses) does not do that and it DOES break prediction
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