havoc [Fri, 9 Jun 2006 17:30:56 +0000 (17:30 +0000)]
changed cvar default setup code such that cvar default strings are locked after executing default.cfg the first time (that is to say, their current values are copied into their default strings at this point), this fixes unsaved cvar problems in nexuiz caused by the default string being out of date on cvars that were modified by default.cfg
changed Reset To Defaults option in menu to use a newly added cvar_resettodefaults_all command before execing default.cfg to reset the binds
havoc [Fri, 9 Jun 2006 09:49:36 +0000 (09:49 +0000)]
don't allocate a mempool or texture pool if a model file is not found (prevents buildup of 'progs/beam.mdl' memory/texture pools if it is not found)
audited 'if mod->loaded' checks to be more sure about unloading models even if they failed to load
havoc [Fri, 9 Jun 2006 02:03:34 +0000 (02:03 +0000)]
web download patch from div0, this adds the "curl" console command, and the ability for servers to send a set of conditional curl commands which will download pk3 archives if specific files are missing
havoc [Thu, 8 Jun 2006 11:16:52 +0000 (11:16 +0000)]
fixed collision bug on q3 light cones and other non-solid brushes that are not axial, now uses only the brush's supercontents value, not its surface textures
havoc [Thu, 8 Jun 2006 11:00:21 +0000 (11:00 +0000)]
no longer converts vertex-morph model formats to float arrays, instead keeping their geometry in the original formats from disk, this saves 1.2MB of memory in e1m2 and might slightly improve load times, it also preserves vertex normals to get rid of shading artifacts on texcoord seams
molivier [Tue, 6 Jun 2006 06:21:47 +0000 (06:21 +0000)]
Attempt to fix speaker layout for 5.1 and 7.1 sound, on Windows and Mac OS X; the sound engine now builds its speaker layout based on the OS and the snd_swapstereo cvar. Plus a minor fix for the OSS sound module (was incorrectly reporting "audio can't keep up")
molivier [Sun, 4 Jun 2006 10:57:24 +0000 (10:57 +0000)]
- the Linux sound modules (ALSA and OSS) are now write-based, instead of
mmap-based. It should fix the problems with inboard sound cards
- added 3 cvars controlling the sound output format: snd_speed,
snd_channels, and snd_width (default values: 48000, 2, and 2
respectively). They're saved in the config file.
- the checks for command line options and environment variables
modifying the sound output format are now common to all modules. The
command line options supported are: -sndmono, -sndstereo, -sndquad,
-sndspeed, and -sndbits. The environment variables supported are:
QUAKE_SOUND_CHANNELS, QUAKE_SOUND_SPEED, and QUAKE_SOUND_SAMPLEBITS.
- added a (still dumb) function to figure out a better sound format when
the initialization of the sound card failed
- sound modules can now suggest a sound format if the initialization of
the sound card failed
- you can now do a "snd_restart" while having modified snd_width and/or
snd_channel. Doing a snd_restart with a modified snd_speed isn't yet
supported, it will fall back to the previous speed
- The WGL video module was blocking the sound output when the
application window lost the focus. Now, this code is shared and the AGL,
GLX and SDL video modules implement such a mecanism
- A lot of minor fixes, changes, factorizations and rewrites all over
the sound engine code and its modules
- added CeilPowerOf2() in the math library
- fixed BSDmakefile for NetBSD
havoc [Tue, 30 May 2006 10:42:21 +0000 (10:42 +0000)]
fixed several crashes in video capture code when files fail to open
eliminated cl_capturevideo_sound cvar (now always on)
made sound capture non-realtime, by syncing sound mixer to capture frame while capture is active, this sounds horrible while recording but produces perfectly synced sound output to the .wav file
now numbers dpvideo files when saving, each one a higher number than the previous (the next number to use is saved to config), this allows capturing many short video clips without stopping to process the files
what this means: cl_capturevideo is now much more useful than before.
havoc [Sun, 28 May 2006 07:27:18 +0000 (07:27 +0000)]
added a few more GLSL shader program setting calls in R_RenderScene just to prevent problems if a model/map rendering call leaves a GLSL program active
havoc [Thu, 25 May 2006 23:22:06 +0000 (23:22 +0000)]
added sv_waterfriction, sv_airaccelerate, sv_wateraccelerate cvars (and corresponding cl_movement_ cvars), now physics are about as configurable as quakeworld
havoc [Thu, 25 May 2006 04:12:05 +0000 (04:12 +0000)]
replaced cl_beams_relative cvar with cl_beams_quakepositionhack and cl_beams_instantaimhack and rewrote the relevant code, it now works like quake (except with instant aiming in the case of the instantaimhack) and applies only to your player
havoc [Thu, 25 May 2006 03:46:21 +0000 (03:46 +0000)]
fixed crashes when changing a few settings while playing a demo
fixed repeated jumping bug in cl_movement code
fixed crashes that would occur if playing a QW demo (not yet supported)
havoc [Thu, 25 May 2006 03:43:58 +0000 (03:43 +0000)]
fix crash when entering "color" command while playing a demo
fixed values printed by bottomcolor/topcolor commands (so bottomcolor no longer reports the whole color like color does, instead just the pants color)
havoc [Fri, 12 May 2006 08:11:46 +0000 (08:11 +0000)]
reorganized a lot of renderer variables into r_refdef, and split some things out of r_refdef into r_view and r_viewcache, this reorganization brings DP closer to being able to render to textures
havoc [Wed, 10 May 2006 11:52:21 +0000 (11:52 +0000)]
redesigned skeletal model loading and rendering to use matrix-palette animation (still in software, but that may change at some point), this improved nexuiz -benchmark demos/demo1 framerates by 11.3%
havoc [Wed, 10 May 2006 10:14:26 +0000 (10:14 +0000)]
some clean up of packet parsing
merged most of the server info parsing code between the two cases (DP server and QW server), and reimplemented server info parsing for NQ servers
enabled ping/ack packet processing
havoc [Wed, 10 May 2006 08:26:44 +0000 (08:26 +0000)]
setinfo *ip on every network connection (currently only meaningful to QW reconnect command, but potentially useful), and removed some unneeded setinfo's since the cvars/commands now work properly
havoc [Wed, 10 May 2006 08:24:54 +0000 (08:24 +0000)]
improved setinfo handling so that quakeworld works much better now (name/topcolor/bottomcolor/skin/team/noaim are handled properly now), this means TeamFortress won't kick clients for not responding to team/skin cvars, and is fully playable
havoc [Tue, 9 May 2006 15:26:00 +0000 (15:26 +0000)]
significantly reworked the cl_movement code, now predicts quakeworld almost completely correctly (only some issues with the different nature of stair stepping, and other differences compared to the FlyMove function on the servers which affect sliding in grooves)
havoc [Tue, 9 May 2006 15:22:46 +0000 (15:22 +0000)]
don't shuffle servers around when pings come in later and are identical to the existing ones (I.E. made the sort be a stable sort)
fixed a bug that caused qwmaster query packets to be bigger than necessary (was writing 7 bytes, should have been 3 bytes)
havoc [Tue, 9 May 2006 15:18:50 +0000 (15:18 +0000)]
do q1bsp lighting checks starting with + 0.125 unit Z offset to improve chances of finding a lighting value rather than returning black when a model origin is almost stuck in the floor
havoc [Mon, 8 May 2006 10:22:10 +0000 (10:22 +0000)]
lhnet fixes - now calls WSAStartup during LHNET_Init and WSAShutdown during LHNET_Shutdown, so gethostbyname will work on windows without any sockets open (as long as LHNET_Init has been called of course), fixed a few things that were breaking compilation with -DSTANDALONETEST and added a new simpler and more useful standalone test program which is now used by default (edit the #if if you want the old one instead)
havoc [Mon, 1 May 2006 12:30:03 +0000 (12:30 +0000)]
fix bug with gl_combine 0 transparent water rendering in q1bsp (alpha was not being stored, leaving garbage (typically 0) in the vertex alpha, making the water disappear)