havoc [Thu, 29 Aug 2002 14:14:34 +0000 (14:14 +0000)]
fixed viewmodel (it wasn't drawing because it's matrix was empty), fixed a bug with scaling in Matrix4x4_CreateFromQuakeEntity (and Matrix3x4 to match), added some extra code to Matrix4x4_Invert_Simple (and Matrix3x4) to further clarify the scaling inversion
havoc [Wed, 28 Aug 2002 13:35:31 +0000 (13:35 +0000)]
fix various fog bugs, and also fix missing colormap layer bugs (specifically if the base/merged texture is missing, as it is on a lava ball for instance)
havoc [Wed, 28 Aug 2002 11:56:00 +0000 (11:56 +0000)]
most of the framework for hardware accelerated transforms is back, just the actual gl calls need to be put in, but that will be a later commit
gl_backend internal mesh structure now has a matrix stored in it
entity_render_t now has a matrix and a inverse matrix
many additions of const to various functions, this required restructuring some code
transparent mesh sorting is gone, this also means subsorting of triangles by depth is gone (meshqueue should be used for transparent mesh sorting, I have not yet written a new triangle sorter)
rewrote RSurf_ shader functions *yet again*, they are now more compact and share code (by way of using lots of function calls)
lots of changes/bugfixes/additions to matrixlib.c and .h, including an actual working Matrix4x4_Invert_Simple function
added gl_flashblend (brightens and enlarges coronas, turns off all actual lighting)
added r_coronas (can turn off coronas)
havoc [Tue, 27 Aug 2002 11:59:28 +0000 (11:59 +0000)]
liquid now goes through meshqueue sorting
fixed a bunch of minor sorting consistency bugs in the meshqueue code
changed behavior of R_MeshQueue_EndScene and exposed R_MeshQueue_Render and R_MeshQueue_RenderTransparent
cleaned up liquid rendering code a bit
havoc [Tue, 27 Aug 2002 09:42:59 +0000 (09:42 +0000)]
engine mostly converted to use R_MeshQueue functions instead of true transparent meshs, this meant getting rid of currentrenderentity
the rest of the conversion to R_MeshQueue will be in a future commit, just wanted to get this in now
havoc [Sat, 24 Aug 2002 07:14:15 +0000 (07:14 +0000)]
detail texturing added (although with just one generated texture applied to everything)
detail texturing makes use of up to 3 texture units if you have combine
detail texturing added to effects options menu (r_detailtextures cvar)
surfvertex_t now has another set of texcoords, for detail texturing
Mod_BrushStartup and Mod_BrushShutdown functions added to alloc/free the detail texture
r_multitexture cvar renamed to r_textureunits, so you can limit number of texture units enabled for testing, rather than just as a yes/no kind of option
gl_combine is forced to 0 if r_textureunits is less than 2 (this is purely for consistency, not of any importance)
split up the wall rendering into two kinds - vertex lit with optional transparency, and opaque lightmapped with no support for transparency
R_Mesh_Draw_GetBuffer now takes a wantoverbrights parameter, if false it will not use the 4x overbright (even if combine is enabled), this is useful to improve the color precision of anything which does not need overbright
fixed crosshair brightness (it was unintentionally adjusting the alpha using m.colorscale just like the RGB portion of the color)
sprites only use overbright if they are lit (normal unlit sprites are rendered without overbright)
havoc [Fri, 23 Aug 2002 06:12:01 +0000 (06:12 +0000)]
removed check for registered.integer in GAME_NORMAL naming (this means it just says DarkPlaces-Quake whether the game is registered or not)
removed support for games FiendArena (because I have not heard from the author in a long time) and Zymotic (because the game was canceled long ago)
molivier [Fri, 23 Aug 2002 06:04:40 +0000 (06:04 +0000)]
Finally got rid of the last TRANSFUSION define (the key binding menu is determined at runtime now). Also a few maps won't make it for the 1.0 release, so they've been removed from the map list.
havoc [Wed, 21 Aug 2002 09:43:39 +0000 (09:43 +0000)]
this should fix the program name in com_argv[0], so detection of which game to run based on executable name should work now, thanks to Elric for reporting the bug
havoc [Wed, 21 Aug 2002 00:10:30 +0000 (00:10 +0000)]
no more warping meshs of any kind
sky is always of the masked variety if enabled at all
water does not move
R_Mesh_Draw is no longer used by gl_rsurf at all
havoc [Sat, 17 Aug 2002 23:19:47 +0000 (23:19 +0000)]
removed fxmesa support (3dfx svgalib) because no one used it to my knowledge, and it probably did not even work due to poor maintenance
and cleaned up makefile a bit
havoc [Wed, 14 Aug 2002 23:29:34 +0000 (23:29 +0000)]
changed fps counter behavior to be more 'traditional' (count how many frames go by in a given amount of time), this means 3 modes are now available for showfps...
showfps 1 - count frames
showfps 2 - average of recent frame times
showfps 3 - most recent frame time only
havoc [Fri, 9 Aug 2002 21:14:12 +0000 (21:14 +0000)]
rewrote most of the RSurfShader_ functions to use R_Mesh_Draw_GetBuffer instead of R_Mesh_Draw
r_modellights replaced r_lightmodels, r_modellights sets limit on how many directional lights will be shaded onto the model (only the brightest are chosen)
cleaned up lighting code a lot, it is now consistent between static and dynamic light sources, and the light radius has been reduced
unfortunately this commit seems to have slowed down the engine a bit, and I don't know why, it should be a speed gain
havoc [Mon, 5 Aug 2002 13:28:26 +0000 (13:28 +0000)]
a rather hefty 6% speed gain by getting rid of the R_Mesh_UpdateFarClip function, and reorganizing it to use bounding boxes instead (outside of gl_backend even)
havoc [Mon, 5 Aug 2002 12:16:44 +0000 (12:16 +0000)]
R_GetTexture is now named R_RealGetTexture, R_GetTexture is a macro which hardly ever calls R_RealGetTexture - this is a nice speed gain, cutting out about 2.3 million calls during timedemo bigass1
havoc [Mon, 5 Aug 2002 11:54:28 +0000 (11:54 +0000)]
removed procedural texture support because it was inefficient where it was implemented - it can be implemented more efficiently in renderer code than in R_GetTexture
havoc [Mon, 5 Aug 2002 10:20:25 +0000 (10:20 +0000)]
an optimization to CL_RelinkNetworkEntities (and related code) which increases performance by 5%
(store the ent->state_current.active flags in a separate array to use less memory bandwidth)
havoc [Sat, 3 Aug 2002 20:39:43 +0000 (20:39 +0000)]
default gl_mesh_floatcolors on, and force it off on 3Dfx drivers (sure this is unnecessary unless it is specifically the windows 3Dfx drivers, as surely WickedGL and others work fine, but oh well, 3Dfx cards want byte colors anyway)
havoc [Sat, 3 Aug 2002 20:34:59 +0000 (20:34 +0000)]
Lots of speedups and cleanups in client code, dynamically allocated cl_entities (and friends), rearranged some things - sorry this commit is vague, but it's mostly just a lot of rearrangement, cleanup, etc...
havoc [Fri, 2 Aug 2002 15:12:19 +0000 (15:12 +0000)]
cleaned up vid_glx.c somewhat, it can now quit properly when the close button is pressed (what a mess talking to a window manager, sigh...)
added vid_hidden (iconified or otherwise disabled window - don't render anything) and vid_activewindow (not the active window, don't hog CPU power) to vid_* files