havoc [Wed, 30 Nov 2005 15:10:07 +0000 (15:10 +0000)]
video modes in menu now also set vid_pixelheight and vid_conwidth/vid_conheight
improved video modes menu, it now has widescreen modes, refresh rate, and more information about the chosen mode
renamed vid_pixelaspect to vid_pixelheight and inverted its behavior (smaller value now means that a pixel is wider than it is tall)
eliminated r_refdef.fov* fields, redesigned to use frustum plane slopes (like glFrustum takes) and calculate fov from height*4/3 rather than width, so widescreen now automatically uses higher fov accordingly, but 4x3 modes are the same as they always were, this also required generating the frustum planes differently in the renderer
changed underwater view warping to use frustum scaling rather than angles, this makes it a little smoother
havoc [Wed, 30 Nov 2005 15:03:08 +0000 (15:03 +0000)]
implemented vid_refreshrate cvar to specify display refresh rate in windows
added vid_minwidth/vid_minheight for use by menu, this lets a mod specify minimum acceptable resolution
havoc [Tue, 29 Nov 2005 00:20:03 +0000 (00:20 +0000)]
removed headphones stuff, now stereo is side speakers (like headphones was) because it was too hard to hear things behind you with only front speakers, added mono speaker layout also
havoc [Fri, 25 Nov 2005 08:23:36 +0000 (08:23 +0000)]
sprites now use skinframe_t instead of their own texture/fogtexture fields
cleaned up hlbsp texture loading slightly, now uses Mod_LoadSkinFrame_Internal
havoc [Fri, 25 Nov 2005 05:24:25 +0000 (05:24 +0000)]
cleaned up edict clearing when connecting or coming back from a level change, this fixes the botclient bugs regarding .colormap, but also meant that NetConn_ServerFrame requires SV_VM_Begin/End around it
havoc [Fri, 25 Nov 2005 01:34:12 +0000 (01:34 +0000)]
SOLID_NOT is now linked into the areagrid, which fixed the bugs with corpses not riding lifts, and also means that findradius will find SOLID_NOT entities more often like the sv_gameplayfix_blowupfallenzombies was intended to
reorganized and optimized the TOSS/FLY/BOUNCE/STEP physics for better handling of sv_gameplayfix_noairborncorpse
havoc [Wed, 23 Nov 2005 03:40:59 +0000 (03:40 +0000)]
added a remaining < 1 check to centerprint display code, this might have fixed the problem where it briefly showed the full text at the beginning of a finale
havoc [Wed, 23 Nov 2005 02:54:50 +0000 (02:54 +0000)]
cleaned up many text buffer sizes throughout the engine, most now use MAX_INPUTLINE, some use MAX_QPATH, also cleaned up a lot of stuff that had buffer sizes in the code (now uses sizeof)
increased MAX_INPUTLINE from 256 to 16384, so now console commandlines and many other things can be very large
havoc [Thu, 17 Nov 2005 15:17:14 +0000 (15:17 +0000)]
made gl_max_size cvar only affect TEXF_PICMIP textures, this prevents it from breaking bloom like it did previously, and bloom now disables itself if the hardware doesn't support big enough textures (such as 3Dfx Voodoo1/2/3/Rush/Banshee)
havoc [Mon, 7 Nov 2005 09:35:58 +0000 (09:35 +0000)]
cleaned up R_WorldVisibility code some more and added additional documentation
renamed r_surfaceworldnode to r_useportalculling and inverted its behavior accordingly
added a special no-pvs-at-all case for floating around in the void to improve readability
havoc [Fri, 4 Nov 2005 12:32:52 +0000 (12:32 +0000)]
eliminated use of node bounding box when recursing collision traces and lights through the BSP tree, now only uses BoxOnPlaneSide approach, with an optimized axial case inlined
havoc [Tue, 1 Nov 2005 09:52:47 +0000 (09:52 +0000)]
fix dedicated server timing, now sleeps less than the full amount of time (like listen servers/clients already did) to maintain a steady framerate, also made it not sleep unless it is at least 10ms, to try to further improve the timing accuracy, thanks to GreEn`mArine for testing this change
havoc [Sat, 29 Oct 2005 10:59:10 +0000 (10:59 +0000)]
rewrote much of the voodoo/tnt rtlight path, now supports fog, and now avoids rendering any black triangles (since these cards don't have a lot of fillrate it's better to cull triangles on the cpu)
havoc [Sat, 29 Oct 2005 06:51:14 +0000 (06:51 +0000)]
converted vertex fogging to use a fogtable array which matches the fog texture
enabled fog texturing on GLSL lighting path (dot3 path and vertex path still need work)
changed EyeVector/LightVector in GLSL shader back to full fp32 precision because at fp16 the vectors were reaching infinity at only a few meters, which obviously broke fogging
havoc [Fri, 28 Oct 2005 05:44:11 +0000 (05:44 +0000)]
tweaked GLSL lighting shader to get a bit more performance (at least 7%) on GF6 by making all variables half precision except TexCoord, hopefully also helps GFFX
havoc [Wed, 26 Oct 2005 10:13:00 +0000 (10:13 +0000)]
replaced CL_PointQ1Contents with longer calls to contents conversion and CL_PointSuperContents
changed CL_PointSuperContents to a #define calling SV_Move directly as an optimization
havoc [Wed, 26 Oct 2005 02:02:49 +0000 (02:02 +0000)]
reverted bsp recursion changes (back to the BoxOnPlaneSide method) because the skipping of solid leafs in node bounding box generation was completely breaking q3bsp collisions, and without the reduced node boxes the bsp recursion code runs horribly slow for unknown reasons
havoc [Mon, 24 Oct 2005 04:42:22 +0000 (04:42 +0000)]
moved d_lightstylevalue into r_refdef.lightstyle
moved r_dlights into r_redef.lights and made it an array of pointers into cl_dlights to save memory and time
merged R_UpdateLights into CL_DecayLights and renamed it CL_UpdateLights
renamed R_RTLight_UpdateFromDLight to R_RTLight_Update and made it take only the dlight pointer
implemented cl_activedlights variable to prevent scanning whole MAX_DLIGHTS range every frame
havoc [Mon, 24 Oct 2005 04:28:49 +0000 (04:28 +0000)]
fixed a flaw in Mod_Q1BSP_RecursiveRecalcNodeBBox, it was merging bounding boxes even if they came from solid leafs, which meant that the solid hull around the world was making almost all nodes have a bounding box of +-1 billion units, negating any benefit at all to node bounding boxes
10% speed gain in masque.bsp by changing pvs box checking functions to use box tests when recursing the bsp tree instead of BoxOnPlaneSide (now that the node boxes are usable)
havoc [Sun, 23 Oct 2005 20:02:31 +0000 (20:02 +0000)]
got rid of Mod_CheckLoaded, changed how model system restart works to make this work properly
disabled model purging on level change, now only the world model is unloaded, this should improve slightly load times from level to level if a model is used in an early level, then not used in the next, and then used again in the next after that, however it also increases memory usage
havoc [Sun, 23 Oct 2005 19:42:34 +0000 (19:42 +0000)]
changed network entity pvs checking to cache the cluster list (updated whenever the cull box changes), this got a 20% speed gain in masque.bsp, also rewrote much of the network entity handling code for another 1% speed gain and slight readability improvement
havoc [Sun, 23 Oct 2005 06:36:05 +0000 (06:36 +0000)]
rewrote r_speeds stats code, now uses renderstats global structure rather than individual c_ global variables, this makes maintenance a lot easier, additionally changed all the stats to be more representitive of how the engine actually works (counting entities instead of models/bmodels/sprites separately, among other changes), condensed r_speeds stats display to fewer lines