prints entity number of MOVETYPE_PUSH entities without models (this is mostly useful to level designers who accidentally left a brushless door lying around)
fixed really stupid typo in CL_TraceBox regarding bmodel entity collisions (doors and such) which was breaking their collisions
eliminated CL_PointQ1Contents
made darkplaces able to compile as C++ again, and fixed all conversion warnings when doing so
changed several malloc and free calls to Z_Malloc and Z_Free
added some extra prints to net_slistqw to figure out which masters are working, and removed a few duplicate references to the id qw masters from the list
some cleanup of the GLSL shader, no longer uses #ifdef variable declarations because the shader compiler removes unused variables anyway, and now always calculates the eye vector for simplicity reasons
removed the SURFACENORMALIZE option (now always on, since it doesn't cost much render time and was on by default)
removed all use and detection of half floats (these were originally around 11% speedup on GF6 hardware but but in more recent drivers they've dropped to around 3-6%, and spit out a lot of warnings during shader compilation with no apparent way to fix the warnings)
havoc [Wed, 29 Mar 2006 11:11:46 +0000 (11:11 +0000)]
eliminated model->meshlist, replaced with an embedded model->surfmesh to cut down on pointer indirections, this also eliminated surface->groupmesh
some minor optimizations of code to keep track of ent->model in a local variable rather than dereferencing ent every time
havoc [Wed, 29 Mar 2006 09:18:50 +0000 (09:18 +0000)]
no longer uses multiple meshes for model loading, they each use one mesh for all surfaces combined
now puts all q3bsp map geometry into one mesh at load rather than splitting it into 65536 vertex meshes to crutch up broken drivers (they've been fixed already so this is no longer necessary)
havoc [Tue, 28 Mar 2006 13:02:06 +0000 (13:02 +0000)]
modified gamma handling, now VID_UpdateGamma is only called from VID_Finish, and VID_SetGamma/VID_GetGamma/VID_UpdateGamma take rampsize parameters
VID_UpdateGamma now supports ramp sizes other than 256, and automatically allocates memory accordingly, this allows hardware gamma on X11 to work on Quadro cards (which report 1024 gamma entries according to div0), and allows any other platform to do whatever it wishes
havoc [Tue, 28 Mar 2006 10:17:21 +0000 (10:17 +0000)]
added loading of hmap2 .dlit tangentspace deluxemap files and a rather lame method of lightstyle support (blending the deluxemaps according to lightstyles, not rendering them separately like it should)
havoc [Sun, 26 Mar 2006 07:17:32 +0000 (07:17 +0000)]
added r_showsurfaces rendering mode which illustrates how many surfaces are on screen (and renders REALLY FAST)
moved r_showcollisionbrushes code to gl_rmain.c
havoc [Sun, 26 Mar 2006 06:43:50 +0000 (06:43 +0000)]
eliminated the hacky r_showtris code, now r_glsl 1 mode works with r_showtris
rewrote r_showtris and r_shownormals to use opaque lines that write to the depth buffer, this makes them show up quite clearly in all cases
moved r_showtris and r_shownormals code into R_DrawSurfaces
sajt [Sat, 25 Mar 2006 07:58:18 +0000 (07:58 +0000)]
cl_autodemo, when set to true, automatically records every game you play. The filename of the demo is determined by cl_autodemo_nameformat (UNIX time string) and the map name.
Note - I'm pretty sure this currently lumps all games played successively into one demo. Feel free to fix that :)
havoc [Thu, 23 Mar 2006 11:53:11 +0000 (11:53 +0000)]
changed several DPrint's and developer cvar checks to higher developer cvar levels (>= 10 and >= 100 for example), this makes developer 1 much more pleasant to use, also changed the memory clearing on free to depend on developer_memorydebug (which is already quite slow) rather than developer (which shouldn't slow things down much)
havoc [Thu, 23 Mar 2006 11:47:11 +0000 (11:47 +0000)]
fixed bug that made light filter cubemaps not work in GLSL mode (was binding a cubemap as a 2D texture... oops)
fixed bug that made sky brush entities not appear when not looking at sky brushes in the world (GL_DepthTest/GL_DepthMask were messed up)
havoc [Wed, 22 Mar 2006 05:22:21 +0000 (05:22 +0000)]
changed collision code to report supercontents, surfaceflags, and texture that was hit in a trace (even if it has to fake the information for q1bsp)
decals no longer stick to sky (except in stock id1 q1bsp maps which have CONTENTS_SOLID sky)
havoc [Tue, 21 Mar 2006 09:55:27 +0000 (09:55 +0000)]
fix a crash that could occur if resizing the resize buffer twice in one upload call, and also fix a bug where the player setup menu's translated player pic was being treated as a subimage update which doesn't work because that image is scaled up, not a natural power of 2
havoc [Tue, 21 Mar 2006 09:06:02 +0000 (09:06 +0000)]
removed detection of GL_NV_texture_shader extension which was previously used for the geforce3 water shader that was removed a long time ago
removed support for GL_DSDT_NV textures (which were only used for the geforce3 water shader)
removed code pertaining to GL_NV_vertex_array_range (which hasn't been supported for a very long time)
havoc [Tue, 21 Mar 2006 06:49:25 +0000 (06:49 +0000)]
modified Q1BSP loader to generate lightmap fragments on its own, rather than relying on the texture manager, this greatly shortens r_texturestats reports and reduces memory usage a bit (less gltexture_t structures), and modified R_UpdateTexture to be able to update fragments
havoc [Tue, 21 Mar 2006 05:49:29 +0000 (05:49 +0000)]
renamed varray_ arrays to rsurface_array_, and they are no longer used outside the surface rendering code, additionally they are now dynamically resized (saves a little memory)
audited a lot of memory allocations and fixed a few significant leaks
removed Host_ClearMemory as it was causing several memory leaks, and split cls.mempool into cls.levelmempool and cls.permanentmempool, cls.levelmempool is now emptied each level load (this also fixes those same leaks)
merged r_shadow_mempool into r_main_mempool
havoc [Tue, 21 Mar 2006 03:03:26 +0000 (03:03 +0000)]
removed the USETEXMATRIX define (now always on), reduced varray_texcoord3f to only have one array rather than 4 (as the others are no longer needed with USETEXMATRIX), removed varray_texcoord2f, removed earray_element3i
changed many simple uses of varray_* arrays to use stack arrays instead
this reduces memory usage by 1MB
havoc [Tue, 21 Mar 2006 02:23:27 +0000 (02:23 +0000)]
moved SCR_UpdateScreen and SCR_DrawScreen code to cl_screen.c and rearranged them somewhat
moved DrawQ_ functions to gl_draw.c and eliminated r_refdef.drawqueue (this saves some memory and makes all the 2D code more efficient)
disabled unused R_Mesh_CacheArray stuff in gl_backend.c
havoc [Mon, 20 Mar 2006 05:51:30 +0000 (05:51 +0000)]
cl_movement 0 should no longer be causing an input replay (which was slow and pointless), though I don't know how it was doing so before...
added code to prevent pogostick jumping in the cl_movement prediction (since the qc prevents pogostick jumping, it was inaccurate to simulate it clientside)
changed view/gun bobbing to use cl.movement_velocity for the xyspeed math, this greatly improves the clientside prediction