res [Mon, 17 Dec 2007 01:50:47 +0000 (01:50 +0000)]
Changed Q3 shaders to use dynamic memory allocation (instead of a gargantuan static array). Also changed the Q3 shader lookup to use a hash while I was at it.
divverent [Sat, 15 Dec 2007 14:53:43 +0000 (14:53 +0000)]
changed DP_MODPLUG_STATIC_PREFIX to DP_MODPLUG_STATIC_LIBDIR (so it works on Fedora too, which has libs in /usr/lib64 instead). Now append the /lib or /lib64 to the path too. Includes are assumed to be in ../include relative to the LIBDIR given, but are also searched in any other usual -I path.
havoc [Thu, 13 Dec 2007 22:17:02 +0000 (22:17 +0000)]
fix detection of q3map2 deluxemapping in the case of one referenced but
4 existing in the bsp file (lightmap deluxemap blank blank), a variant
of the existing problem with 2 existing in a non-deluxemapped bsp (which
are lightmap blank)
havoc [Thu, 13 Dec 2007 16:33:57 +0000 (16:33 +0000)]
added -lmodplug if libmodplug.a is detected, and a corresponding #define
to tell the code about this linkage, openSUSE 10.3 does not include
libmodplug.so so this is sadly necessary
divverent [Wed, 12 Dec 2007 19:55:17 +0000 (19:55 +0000)]
Add support for libmodplug (when found). Sound files with an extension are now all eligible for modplug, if neither vorbis nor wav recognizes them. CD tracks now try to append the .wav and .ogg extension first, and if that fails, the file name is used as is - but tracker extensions need to be explicitly stated. Example: "cd loop Ending.umx"
divverent [Sun, 9 Dec 2007 20:59:57 +0000 (20:59 +0000)]
fog gets additional parameters mindist and maxdist that specify where fog "starts" and "ends"; sky is only fogged as if it were distance "maxdist" away (example: fog 1 0.5 1 0 0 1 gives a slight greenish haze like a view tint)
havoc [Sat, 8 Dec 2007 07:32:19 +0000 (07:32 +0000)]
made r_shownormals value control the length of the vectors shown, rather
than opacity, this also reduces the length by 8x compared to the
previous code
black [Thu, 6 Dec 2007 13:52:53 +0000 (13:52 +0000)]
Remove unused MP_Fallback from menu.c.
Add DP_GECKO_SUPPORT to the menu's extension string.
Automatically destroy gecko instances on restart.
Change the gecko builtins to take the full texture path always.
res [Thu, 6 Dec 2007 05:19:25 +0000 (05:19 +0000)]
Changed R_Upload() to not allocate memory for a texture when a NULL texture data pointer is given. GL should cope with a NULL texture data pointer just fine, and it's slightly faster.
black [Mon, 3 Dec 2007 15:04:04 +0000 (15:04 +0000)]
Remove the NG_MENU additions as it has never really been used.
Remove unused code from progs.h.
Add gecko qc builtins (only for the menu right now).
They are untested though.
havoc [Mon, 3 Dec 2007 11:57:09 +0000 (11:57 +0000)]
added r_refdef.rtlightstylevalue which is a float version of the normal
lightstylevalue array, but this one is always interpolated (lightstyle
interpolation does not harm rtworld performance)
cleaned up Q1BSP LightPoint code
havoc [Mon, 3 Dec 2007 10:49:24 +0000 (10:49 +0000)]
reverted texel nudging code that was committed by divverent and credited
to Black, this was making all pics blurry in Quake (particularly the
crosshairs)
havoc [Mon, 3 Dec 2007 10:47:57 +0000 (10:47 +0000)]
the light has been defeated by the shadow (r_light moved into r_shadow)
overhauled gl_draw.c draw_generate* code and embedded images
cleaned up and improved r_editlights light sprite handling
havoc [Mon, 3 Dec 2007 05:20:47 +0000 (05:20 +0000)]
fixed bug that made r_water reflections use the wrong pvs origin, they
were using the r_view.origin rather than the surface center
changed r_water reflection surface center calculations to use bbox
instead of vertices to make the results more consistent
black [Sun, 2 Dec 2007 23:03:04 +0000 (23:03 +0000)]
"Finish" cl_gecko.c (input handling is done now, too) for now. I need to update to a new offscreengecko release soon though..
I've also added a console command for text injection into a gecko browser.
havoc [Sun, 2 Dec 2007 16:51:51 +0000 (16:51 +0000)]
changed r_speeds 2 and 3 reports to only list time spent during a single
view render, no longer reports time spent on non-rendering stuff, this
makes the report easier to read (although it does have disadvantages)
havoc [Sun, 2 Dec 2007 16:49:17 +0000 (16:49 +0000)]
removed all but ocrana qw master as the rest were not responding
added 4 other qw masters from the quakeservers.net website
added player count on server browser
fixed bug in server browser that always showed number of players in red
(because numhumans was not being set by qw server query code)
havoc [Sun, 2 Dec 2007 10:03:46 +0000 (10:03 +0000)]
added r_lerplightstyles cvar which now defaults off for performance
reasons (lightmap updates caused by the small adjustments in
interpolation eat 50-75% of framerate when little else is going on)
havoc [Sun, 2 Dec 2007 09:49:30 +0000 (09:49 +0000)]
reworked lightstyle chains code to use a struct, and combine allocations
for all submodels of world (to reduce memory overhead), this also
cleaned up the code somewhat
havoc [Sun, 2 Dec 2007 04:07:37 +0000 (04:07 +0000)]
renamed sv_gameplayfix_qwplayerphysics to sv_gameplayfix_easierwaterjump
and removed the bunnyhopping enhancement for low framerates (as QW does
not have this enhancement, and simply relies on high framerate instead)
divverent [Sat, 1 Dec 2007 14:29:38 +0000 (14:29 +0000)]
the big chat area/font patch... hope it works well. Tested in Nexuiz and Quake. Fonts and a font generator for it will follow. Font specification is: a TGA as usual, and a .width file defining all character widths (first line is character spacing, then width of 0, of 1, of 2, of 3, ..., of 65 == "A", ..., of 255). An existing font is in Nexuiz svn as gfx/font_user0
black [Thu, 29 Nov 2007 20:45:19 +0000 (20:45 +0000)]
Add TEXF_PERSISTENT and R_PurgeTexture which only frees textures if that flag isn't set. Changed the SkinFrame purging code accordingly (and the default texture creation calls).
Fixed a bug that caused dynamic textures not to survive map switches (LoadExternal would try to load pixel data because ->base was set to NULL - it now restores the pointer in SkinFrame_Find..)
havoc [Wed, 28 Nov 2007 10:57:12 +0000 (10:57 +0000)]
small optimization to use of texture_t->currenttexmatrix (no longer
setting it to identitymatrix when there are no tcmods, because
uninitialized matrices are optimized more in the backend than identity)
havoc [Wed, 28 Nov 2007 05:22:48 +0000 (05:22 +0000)]
changed texture formats from RGBA to BGRA, yes this is a massive change,
aimed solely at reducing load times, but it failed at that.
this contains several cleanups, and shouldn't reduce performance on any
hardware, so it still goes in.
black [Tue, 27 Nov 2007 22:26:56 +0000 (22:26 +0000)]
Rework cl_video to use dyntextures.
Add cl_gecko (needs SUPPORT_GECKO to be activated).
Fix r_replacemaptexture and make it use matchpattern to replace multiple textures at once.
havoc [Mon, 26 Nov 2007 22:05:56 +0000 (22:05 +0000)]
added support for TEXTYPE_BGRA (GL_BGRA format), this doesn't require
any difference in processing functions, but the initial data must be
encoded accordingly
this format was added because it uploads faster on some hardware, and
the engine will be migrating over to using it
havoc [Mon, 26 Nov 2007 21:54:11 +0000 (21:54 +0000)]
removed support for TEXTYPE_RGB
renamed Image_Resample to Image_Resample32 and removed bpp param
renamed Image_MipReduce to Image_MipReduce32 and removed bpp param
changed q3bsp lightmap loader to convert to 32bit before upload
black [Fri, 23 Nov 2007 00:26:10 +0000 (00:26 +0000)]
Add cl_dyntexture.h and .c (don't need to be added to the makefile or vc project yet). They expose a simple interface to manage dynamic textures.
It supports getting the current texture handle for a dynamic texture path, linking a dynamic texture path to a texture handle and unlinking a dynamic texture path.
This is pretty transparent and it could be used for arbitrary dynamic textures (even ones that aren't updated but only linked dynamically into the game world - alias texture names).
This works for both skinframes and cachepics. Still contains lots of todos.
black [Thu, 22 Nov 2007 00:06:00 +0000 (00:06 +0000)]
Add support for dynamic textures to the low-level texture handler.
Use R_MakeTextureDynamic to make a standard texture dynamic and set its update callback, etc. and use R_MarkDirtyTexture to mark it dirty (ie. needs an update as soon as it is used again).
havoc [Tue, 20 Nov 2007 23:04:41 +0000 (23:04 +0000)]
don't call lightning beam vertex fogging code BEFORE the vertex data is
initialized (this was causing crashes due to highly bogus numbers)
this bug came from refactoring the lightning beam code to be able to
render multiple beams in one transparent callback
havoc [Tue, 20 Nov 2007 20:43:35 +0000 (20:43 +0000)]
changed FogPoint_World/Model code to use unsigned int instead of signed
int, this fixes a crash reported by Andreas Dehmel in certain quoth
maps, I have no idea how coordinates can be negative though
havoc [Sun, 18 Nov 2007 13:51:18 +0000 (13:51 +0000)]
fix bug with loading a saved game while a demo is playing (such as the
demo loop when Quake starts up), thanks to Bill Pickett for giving a
clear and concise description of the problem
havoc [Tue, 13 Nov 2007 15:30:55 +0000 (15:30 +0000)]
changed default value of cl_stainmaps to 0 (was 1)
changed default values of cl_decals to 1 (was 0), cl_decals_time to 20 (was 0), and
cl_decals_fadetime to 1 (was 20)