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
havoc [Sun, 19 Mar 2006 21:15:02 +0000 (21:15 +0000)]
fixed deluxemapping
added r_glsl_deluxemapping cvar (2 forces fake deluxemapping on any level, kind of interesting to see)
added modelspace deluxemapping (automatically detects whether deluxemaps are modelspace or tangentspace at load time)
changed offsetmapping shader to be more perspective correct
havoc [Sat, 18 Mar 2006 04:28:17 +0000 (04:28 +0000)]
reduced number of image extensions checked by doing more intelligent path examination, and changing q1bsp loader to prepend textures/, this allows it to not check any prefixes in the image loader itself (except in a few cases in nexuiz)
changed image loader to not check override/ unless running GAME_TENEBRAE
removed several unused image functions
havoc [Fri, 17 Mar 2006 06:33:11 +0000 (06:33 +0000)]
added GLSL shader path for normal rendering stage, reworked a lot of things to do this
removed .lights file loading and the corresponding directional model shading (these were only produced by hlight for q1bsp, very rare files) so that the GLSL normal rendering stage would not have to deal with .lights files
changed R_CompleteLightPoint to properly match rtlight shading, not the old dlights, this allowed removal of the old lightmap_* rtlight fields
havoc [Wed, 15 Mar 2006 13:19:36 +0000 (13:19 +0000)]
cleaning up GLSL code
moved GLSL shader setup to gl_rmain.c and made it more general, not specifically lighting shaders
cache locations of GLSL shader variables for faster access (instead of looking them up every time it renders something)
GLSL shader reworked to support deluxemap rendering and lightmap rendering, to be used in the future
merged glsl/light.frag and glsl/light.vert into glsl/default.glsl using VERTEX_SHADER and FRAGMENT_SHADER defines to differentiate parts of it
havoc [Wed, 15 Mar 2006 07:02:56 +0000 (07:02 +0000)]
moved many cl_ prefixed variables into cl. or cls.
made most menu functions static
removed WORKINGLQUAKE support from cl_particles.c and moved particle allocation to cl_main.c (where all the other arrays are allocated)
renamed cl_activevideos to cl_num_videos and videoarray to cl_videos (did not move these into cls. however)
havoc [Sat, 11 Mar 2006 18:28:00 +0000 (18:28 +0000)]
refactored _Mem_Free into _Mem_FreeBlock which takes a memheader_t * and _Mem_Free which converts a void * to the content area of the memory, to a memheader_t * and calls _Mem_FreeBlock - now _Mem_FreePool and _Mem_EmptyPool can call that directly, which avoids a Mem_IsAllocated error that I don't understand
havoc [Sat, 11 Mar 2006 17:24:10 +0000 (17:24 +0000)]
changed VID_Finish to take an allowmousegrab parameter, this avoids mousegrab on the initial loading screen (before +vid_mouse 1 on commandline is executed)
havoc [Sat, 11 Mar 2006 16:57:48 +0000 (16:57 +0000)]
fix skinfile memory leaks on ZYM, DPM, and PSK model loaders, and move the skinfile allocations to the model's memory pool even though they are temporary
havoc [Fri, 10 Mar 2006 23:45:42 +0000 (23:45 +0000)]
default sv_jumpstep to 0 to not allow players to jump places they should not be able to go in quake (each game/mod can set this in its default.cfg if it is desired)
havoc [Fri, 10 Mar 2006 05:21:43 +0000 (05:21 +0000)]
fixed bug that caused SV_SpawnServer to fail to send reconnect commands to clients (it was using sv.reliable_datagram which is immediately cleared and thus not sent)
havoc [Fri, 10 Mar 2006 02:37:40 +0000 (02:37 +0000)]
changed TraceBox functions to take start,mins,maxs,end like they did in Quake, this is a slight optimization to traceline and pointcontents tests and q1bsp tracing, but mostly just cleans up the code
removed some old code from q3bsp TraceLine/TraceBox functions
changed segmentmins/maxs and nodesegmentmins/maxs calculations to have a 1 unit enlargement on all comparisons, this might improve reliability of TraceBox, but probably not
havoc [Fri, 10 Mar 2006 02:31:42 +0000 (02:31 +0000)]
fixed bullets-going-through-walls bug in q3bsp collision code, this was a really nasty bug in the midfrac calculations (it was calculating the midfrac for the partially clipped line segment and then acting as if that was a fraction of the complete line segment... this caused many problems)