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)
havoc [Tue, 13 Nov 2007 15:28:54 +0000 (15:28 +0000)]
added separate world surfaces and world triangles stats counters for
r_speeds display, cleaned up some incorrect stat increments
split particle system into particles and decals, this got a nice speed
gain due to smaller structs involved
increased blood alpha substantially
divverent [Mon, 12 Nov 2007 14:28:40 +0000 (14:28 +0000)]
move two #defined to quakedef.h, and always include quakedef.h first before any other includes, even system headers. This is to make compilation with gcc -combine work. Also, fix some type mismatches between source files.
havoc [Mon, 12 Nov 2007 10:45:37 +0000 (10:45 +0000)]
added a non-diffuse non-specular path for model lighting in the GLSL
shader, this fixes a bug that caused the engine to generate normals and
tangents for every model in q1bsp maps unnecessarily because of an
incorrect need for a normalmap
havoc [Fri, 9 Nov 2007 21:19:17 +0000 (21:19 +0000)]
increased minimum cl_maxfps value from 1 to 5 (but removed the value
changing code)
implemented minimum cl_maxidlefps value of 5
tweaked code that snaps very small or negative values of slowmo to 0
divverent [Fri, 9 Nov 2007 15:03:13 +0000 (15:03 +0000)]
add new console command "fixtrans", usage: fixtrans gfx/foo.tga - writes a new fixtrans/gfx/foo.tga with alpha-zero pixels changed to values around them. Helps with weird seams on badly made transparent images.