havoc [Tue, 18 Dec 2007 08:45:02 +0000 (08:45 +0000)]
moved Mod_LoadQ3Shaders() call from CL_BeginDownloads to Mod_LoadModel
(but only when isworldmodel is true, which indicates a level change)
this fixes a bug where downloaded maps have missing shaders on the first
load, and also fixes a crash introduced by res on dedicated servers
black [Mon, 17 Dec 2007 21:50:03 +0000 (21:50 +0000)]
Add full support for csqc's sensitivityscale (no clamping yet, so you can actually lock the view by setting it to 0).
Minor cleanups in the csqc (very very minor).
Change Key_Event a bit (and probably break it again :()
havoc [Mon, 17 Dec 2007 08:51:45 +0000 (08:51 +0000)]
don't R_UpdateAllTextureInfo when doing shadows or lighting on world,
because its texture info only really needs to be updated once per frame,
it doesn't change because it is not instanced and can not have alternate
textures or colormod
divverent [Mon, 17 Dec 2007 08:21:08 +0000 (08:21 +0000)]
split up DrawQ_String_Font_UntilX in DrawQ_TextWidth_Font_TrackColors and DrawQ_String_Font; the latter no longer needs to check if the text is too long, and the former no longer needs alpha checks (to be removed later perhaps)
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.