black [Sat, 11 Oct 2003 12:14:33 +0000 (12:14 +0000)]
Added the drawing functions and added also probably menu only message functions
(almost the same as the server ones, but with different param (order)).
Also added all functions to the menu builtin list (except the menu specific ones :-/).
The drawflag constants are now the drawqueue_drawflag_e enum.
Added function S_GetCached.
havoc [Sat, 11 Oct 2003 05:34:49 +0000 (05:34 +0000)]
added DP_QC_TRACE_MOVETYPE_HITMODEL extension (and added DP_QC_TRACE_MOVETYPE_WORLDONLY to extension list) - this means traceline/tracebox can now check model geometry
havoc [Sat, 11 Oct 2003 03:39:39 +0000 (03:39 +0000)]
reverted two bugs introduced by Black (anum red digits were not being loaded, and restored the positioning of the minideathmatchoverlay to exactly where quake had it - my previous commit was 4 pixels off in positioning)
havoc [Sat, 11 Oct 2003 03:11:49 +0000 (03:11 +0000)]
made weapon only 50% invisible in Transfusion with the invisibility powerup, and now being dead or invisible only affects the main viewmodel (not viewmodelforccient entities) to allow more flexibility in mods
havoc [Fri, 10 Oct 2003 03:07:18 +0000 (03:07 +0000)]
this should fix skybox in q3bsp (extra preprocessing pass to look for sky surfaces before rendering normal surfaces, only used if the map has sky surfaces)
havoc [Fri, 10 Oct 2003 01:45:51 +0000 (01:45 +0000)]
q3bsp surfaces are now always rendered in the same order, made the q1bsp vis overrun/underrun warnings dprintf's, added some (unused) array merging code in q3bsp loading
black [Thu, 9 Oct 2003 19:42:35 +0000 (19:42 +0000)]
Added a lot of builtin commands to prvm_cmds.c (mostly from pr_cmds).
Also changed the menu again, so menu_restart doesnt try to reregister cvars
and cmds any more.
havoc [Wed, 8 Oct 2003 20:50:28 +0000 (20:50 +0000)]
collision brush generation in q3bsp is now *MUCH* faster and uses a lot less memory (technical: now uses two temp windings, repeatedly swapping between them, avoiding all the temporary allocs, to achieve this BufWinding_NewFromPlane and BufWinding_Divide were added)
havoc [Wed, 8 Oct 2003 20:21:37 +0000 (20:21 +0000)]
fixed splashing sounds once and for all - now splashes only on transitions involving water/slime, rather than the old 'any liquid except lava' check, so this means no more sky splashing...
havoc [Tue, 7 Oct 2003 23:45:14 +0000 (23:45 +0000)]
cd audio now tied to sound system
sound system now tied to video system because DirectSound needs a window to work at all (thank you Windows for another useless obstacle)
sound system can now restart (snd_restart command)
vid_stencil cvar removed (now tied to 32bit color)
vid_bitsperpixel now defaults to 32
r_shadow_shadows cvar added (default 1) for stencil shadows on dlights (since vid_stencil is gone)
Lots of str[n]cat, str[n]cpy, and [v]sprintf have been replaced by strlcat, strlcpy and [v]snprintf to insure that they don't write outside of their buffers. More to come later.
Added strlcat and strlcpy, from OpenBSD. They are smart replacements for strncat and strncpy - see http://www.courtesan.com/todd/papers/strlcpy.html or their manual pages on the OpenBSD website for details
The "position" field of the "qfile_t" structure was (correctly) used for 2 differents things; this is clearly bad practice though, so it's no longer the case. Added a missing test in FS_Seek to insure we don't seek outside of a deflated file. Plus some minor cleanups here and there in the FS code.
huge (16%) speed gain on surface rendering by eliminating the surfmesh chain in q1bsp surfaces, now only allows one mesh per surface and the surfmesh_t is embedded in the surface struct
now supports skyboxes in q3bsp (note: must use the "sky" key in worldspawn to set the skybox basename like in q2, and it identifies sky shaders by names beginning with "textures/skies/"), and added a little error checking to Mod_Q1BSP_LoadLeafs, and added a couple todo items
finally managed to fix the r_shadow_portallight bug (had to reverse portal handling in many old broken cases), also changed the Portal_Visibility call to take a box instead of a sphere for culling
migrated light bounding box generation from r_shadow code to Portal_Visibility code when using r_shadow_portallight 1, I hoped this would fix bugs but it did not, still it is an optimization...
after an argument with Black it was decided that GAME_NEXUIZ will be weird (in my opinion) and use a bit number instead of a bitfield for STAT_ACTIVEWEAPON
fixed an R_InitSky warning regarding transpix being uninitialized, added transpixunion to clean up the aliasing mess (thanks to Black for pointing this out)
havoc [Sun, 31 Aug 2003 05:20:33 +0000 (05:20 +0000)]
now uses string buffers more sanely and supports multiple strcat buffers (now uses PR_GetTempString), modified PF_VarString to read into a string buffer (FrikaC noticed strcat was being overwritten by print, inconsistent with his implementation of FRIK_FILE)
havoc [Sat, 30 Aug 2003 01:54:31 +0000 (01:54 +0000)]
reverted the massive svs.connectedclients change, now back to svs.clients and svs.maxclients like quake
this fixes mods detecting singleplayer as multiplayer
this fixes frikbot frags updates on the scoreboard
added most of the capability necessary for botclient extension
havoc [Thu, 28 Aug 2003 14:07:47 +0000 (14:07 +0000)]
v_hwgamma is now saved to config (Andreas Kirsh suggested this and I agree)
gl_combine is now saved to config (due to popular demand, although this really should become a separate overbright cvar instead)
havoc [Thu, 28 Aug 2003 13:52:47 +0000 (13:52 +0000)]
thanks to Andreas Kirsh for a discussion about using WS_EX_TOPMOST flag on the fullscreen window (hopefully this will keep dialogs from cutting holes in the frame like some people have reported)
havoc [Wed, 27 Aug 2003 13:21:30 +0000 (13:21 +0000)]
removed used of PolygonOffset because it caused (extremely minor) visual glitches on the map, and isn't really much help even when using r_drawcollisionbrushes
havoc [Wed, 27 Aug 2003 12:22:00 +0000 (12:22 +0000)]
q3bsp curve collisions (technically it can collide against any triangle mesh)
fixed some severe bugs in the q3bsp traceline code
optimized q3bsp tracebrush code - now uses a bbox for the trace, and reduces it to fit each node it encounters, this caused *IMMENSE* speedups!
optimized q3bsp curve collisions to use bbox culling of triangles (to avoid the cost of generating collision brushes most of the time)
molivier [Mon, 25 Aug 2003 06:35:47 +0000 (06:35 +0000)]
Removed useless function M_PrintWhite, since M_Print prints in white already. Added M_PrintRed. Added support for sections for the key binding list (for clarity when using a lot of commands), and made it adjust its position depending on the number of commands. Updated Transfusion key binding list.