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)
havoc [Thu, 9 Mar 2006 16:19:23 +0000 (16:19 +0000)]
fixed bug that caused ClientDisconnect to not be called on bots in their first level (it did get called on their second level onward), this fix does however assume the QC code will call ClientConnect every time it uses spawnclient
havoc [Tue, 7 Mar 2006 14:18:05 +0000 (14:18 +0000)]
rearranged surface renderer some more
added tangent/normal generation flags to RSurf_SetVertexPointer, this eliminated the various calls to Mod_BuildTextureVectorsAndNormals and Mod_BuildNormals during rendering, so RSurf_SetVertexPointer is now the only function that sets up rsurface_* variables
havoc [Tue, 7 Mar 2006 10:49:16 +0000 (10:49 +0000)]
fixed pogostick/doublejump bug when running id1 qc with a client sending input packets less frequently than server frames
moved ping time calculation out of SV_ApplyClientMove and back into SV_ReadClientMove
molivier [Mon, 6 Mar 2006 10:16:16 +0000 (10:16 +0000)]
Added "SDL/include" to the include paths and "SDL/lib" to the library paths (allow easy compilation with SDL when the SDL SDK isn't already integrated in MSVC; just unzip "SDL-devel-1.2.x-VC6.zip" in the darkplaces folder, rename its folder to "SDL" and voila!)
havoc [Sat, 4 Mar 2006 14:52:53 +0000 (14:52 +0000)]
some cleanup of surface->cached_dlight handling to fix the broken unlit q1bsp handling (it was not appearing fullbright as it should), and this also is a slight optimization
havoc [Sat, 4 Mar 2006 10:47:37 +0000 (10:47 +0000)]
eliminated calls to Matrix4x4_CreateIdentity (now copies from the already existing global identitymatrix struct) and changed all references to r_identitymatrix to refer to identitymatrix
havoc [Sat, 4 Mar 2006 09:24:21 +0000 (09:24 +0000)]
replaced sbarpic_t with cachepic_t in sbar code (saves a bit of memory)
changed DrawQ_SuperPic and DrawQ_Pic to take a cachepic_t * instead of a pic name (this speeds up the sbar code by not using name lookups constantly)
removed DrawQ_Fill (use DrawQ_Pic with NULL pic instead)
changed crosshair/editlights cursors to use r_crosshairs array initialized at startup instead of constantly calling Draw_CachePic
changed Host_Init to call SCR_BeginLoadingPlaque instead of Host_StartVideo (which is called by SCR_BeginLoadingPlaque)
havoc [Fri, 3 Mar 2006 15:02:56 +0000 (15:02 +0000)]
now only compiles GLSL shaders on demand, this improves startup times (but causes some pausing when new combinations occur - which usually only happens on new levels)
havoc [Tue, 28 Feb 2006 05:41:39 +0000 (05:41 +0000)]
reduced number of GAME_NEXUIZ checks in the engine (added cl_sound and sv_sound cvars to change or disable engine-triggered sounds), removed some old unused nexuiz menu code (now that the fallbac
k prevents you from even reaching the singleplayer menu)
havoc [Sun, 26 Feb 2006 11:00:19 +0000 (11:00 +0000)]
vast improvements in qw server listings in the server browser
now DP servers and QW servers are color coded differently, and player count is color coded (red if empty or full, yellow if less than 4 players, white otherwise, useful for quickly identifying the busy servers)