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)
havoc [Mon, 1 May 2006 12:05:34 +0000 (12:05 +0000)]
optimized rtlighting passes by using RSurf_DrawBatch_Simple, this took a lot of code restructuring but the resulting code is definitely a lot faster
fixed bugs in RSurf_DrawBatch_Lightmap related changes
havoc [Mon, 1 May 2006 09:00:22 +0000 (09:00 +0000)]
restructured RSurf_DrawLightmap to become RSurf_DrawBatch_Lightmap which processes all arrays and sets things up perfectly, then renders all the surfaces with a call to R_DrawBatch_Simple
added dynamic surface-merging to R_DrawBatch_Simple, depending on the new r_batchmode cvar it either renders surfaces individually (as before), consecutively (consecutively numbered surfaces are rendered with one call for their combined triangle elements range), or by memcpy merging elements into one array (this has rather chaotic vertex ranges so gl_lockarrays is disabled in this code because it is a consistent speed loss in this case)
this optimization increased fps by 4.7% in timedemo bigass1, and offers bigger gains in very high poly q1bsp and q3bsp maps
changed svc_setangle to cause interpolated turning when spectating (two or more consecutive frames with a svc_setangle message), and instant entity updates when teleporting (just one svc_setangle) so you no longer fly through the level when teleporting
changed cl_beams_relative to only apply to the local player (unless set to a value of 2 or higher)
black [Thu, 27 Apr 2006 20:23:42 +0000 (20:23 +0000)]
Add _DrawQ_ProcessDrawFlag to clean-up the glblend setup code.
Add CL_Video_KeyEvent and support for it to Key_Event, now the the fullscreen video
is closed automatically when you hit enter, space or escape and the video system catches all
input (no more accidentially nagivating around in the menu).
(Please test this and report bugs to black@icculus.org if you find any)
Removed myself from all the todo items. I no longer mind if none of these are ever implemented/fixed, and I check the cvs often enough that I'll see if they ever are. Feel free to remove any of these altogether, e.g. mirrors, hub save, skyrooms...