lordhavoc [Wed, 20 Mar 2002 17:31:29 +0000 (17:31 +0000)]
fix for CreatePath creating a directory of the drive's letter in windows (d:\quake created a d directory, then d: (ignored), then d:\quake, now creates d: (ignored), then d:\quake) (thanks Elric)
lordhavoc [Sun, 17 Mar 2002 16:32:02 +0000 (16:32 +0000)]
added EF_STARDUST effect (showering golden sparks, and the entity glows)
reduced rocket glow a little
made blood stains brighter again (so you can at least see the floor)
EF_STARDUST and EF_FLAME now create a fixed size effect rather than attempting to use the model bounding box (which is too big usually)
lordhavoc [Sat, 16 Mar 2002 15:00:15 +0000 (15:00 +0000)]
changed protocol back to using float coordinates, unless the mod specifies EF_LOWPRECISION on an entity, then it is sent using shorts (if it is within the short range, otherwise it uses floats), this loses some bandwidth but makes everything look nice (lifts aren't jerky, etc)
lordhavoc [Thu, 14 Mar 2002 19:52:06 +0000 (19:52 +0000)]
randomized blood and smoke color a bit (darker/brighter randomly), got rid of smoke texture color (so now it fogs for free, no state thrash), looks a bit worse on blood, but oh well
lordhavoc [Thu, 14 Mar 2002 00:02:34 +0000 (00:02 +0000)]
skip bbox check on bmodels because it is fast enough to trace against their hull and has less problem cases
commented out no longer useful clip.trace.allsolid check in SV_Move
lordhavoc [Wed, 13 Mar 2002 13:58:20 +0000 (13:58 +0000)]
fix for fall-through-floor-when-embedded-in-another-entity situation (now the entity only falls through entities it is embedded in, and blocks on all others), and another fix for grenade bounce sound, also some cleanup of the toss physics code, and corpses no longer block against eachother
lordhavoc [Wed, 13 Mar 2002 12:23:18 +0000 (12:23 +0000)]
fixed grenades to behave more like quake again (60 normal-dot-velocity tolerance for stopping), fixed continuous bounce sound (repeated touch when sitting on floor), you can now walk on SOLID_SLIDEBOX/SOLID_BBOX objects (like in Q2/Q3), if two objects are stacked and the bottom one moves out from under, the top one will fall (always wished quake would do that)
lordhavoc [Tue, 12 Mar 2002 16:57:26 +0000 (16:57 +0000)]
added cl_particles_blood_size_min, cl_particles_blood_size_max, and cl_particles_blood_alpha cvars
changed trails back to quake-style (spawn over distance, not over time)
pt_fade now takes a fade rate (in p->time2)
many tweaks to particle effets
loading screens work correctly now
cleaned up backend code a bit, now does not freak out if a texture upload occurs during rendering
added r_quickmodels (default: on) which makes single-pass models (the vast majority of models) store vertex data directly into the backend arrays (using R_Mesh_Draw_GetBuffer)
model vertex transforms are now applied *after* lighting, this avoids transforming the normals, and prepares for someday adding transforms to the backend
fixed view blend in gl_rmain.c to work correctly with fov values above 90
moved image resampling and mipmapping from gl_textures.c to image.c
now updates screen twice while connecting to a server (so it displays the 'trying...' messages)
improved directional shading of explosions
disabled r_lightmodelhardness since the default was nearly 1.0 anyway, 1.0 is a special quick case
R_LightModel now tints the model and can accept vertices/normals in either model or world coordinates (previously required world coordinates)
lordhavoc [Fri, 1 Mar 2002 12:27:33 +0000 (12:27 +0000)]
reenabled loading plaques (and cleaned up that code a lot)
moved screenshot/envmap code from gl_backend.c to cl_screen.c (except for the GL SCR_ScreenShot function of course)
cleaned up trailing whitespace in console.c
backend between-batch overhead is now pretty much non-existent (set up state at start of frame, keep it until end of 3D rendering)
default batch size is now 0 triangles (never batch)
index array is not offset for first mesh in batch (which might be the only mesh in the batch)
does not lock arrays until it tries to render the first mesh
moved GL_LockArray/GL_UnlockArray from gl_models.c to gl_backend.c
made GL calls in r_sky.c unnecessary (now uses R_Mesh_ClearDepth)
made every enum in GL_PrintError (used by CHECKGLERROR) optional, for consistency (not that any GL headers would lack most of them)
inlined MYgluPerspective
removed a few unnecessary GL calls in frame setup code
reformatted uses of CHECKGLERROR to be on the same line as the function they are checking (looks cleaner)
increased MAX_TEXTUREUNITS from 4 to 8 (not that there is any code trying to use more than 2 textures anyway)
calling R_RenderView with no worldmodel is no longer fatal (just returns)
R_Mesh_Clear renamed to R_Mesh_Start
R_Mesh_Finish added (ends 3D rendering)
cleaned up some cruft in screen.h
moved gldepthmin/max from vid_ files to gl_backend, and then commented it out anyway (not currently used)
lordhavoc [Mon, 25 Feb 2002 12:52:56 +0000 (12:52 +0000)]
cleaned up backend code a bit more, added R_Mesh_Draw_GetBuffer (untested - returns addresses in geometry buffers to fill in, to save memcpy on singlepass objects), rewrote Q2 model loading (now Q2 models are the same as Q1 models after loading), removed Q2 model renderer (and good riddence!), changed aliasvert array from 3 float to 4 float alignment to make copies faster
lordhavoc [Sun, 24 Feb 2002 05:06:26 +0000 (05:06 +0000)]
cleaned up lots of unused code, restructured where certain operations are done (index lists are now relative to mesh->firstvert until R_Mesh_Render, for instance)
working toward major speed gains by avoiding geometry copying
lordhavoc [Tue, 19 Feb 2002 10:56:54 +0000 (10:56 +0000)]
added viewzoom extension to QC and client (smooth sniper zooming, with sensitivity scaling)
protocol should be able to masq now (not a perfect fix like net_chan, but a fix for most people - I hope) - server waits to send serverinfo until first reply from client (any clc_ message will do), client spams clc_nop every 3 seconds until it gets serverinfo (FIXME: maybe only once would do?)
upgraded aiming angles sent from client to floats in DPPROTOCOL_VERSION2 mode
updated cl_shownet 2 svc name list in cl_parse.c (it was quite outdated)
lordhavoc [Fri, 15 Feb 2002 23:50:36 +0000 (23:50 +0000)]
changed bgmvolume/volume to always be registered, sliders for them always work (even with -nosound), but the items are displayed ghosted if -nosound or -nocdaudio is used
changed all Cvar_SetValue calls to Cvar_SetValueQuick
lordhavoc [Fri, 15 Feb 2002 22:28:08 +0000 (22:28 +0000)]
moved a lot of 2D/screen stuff out of gl_screen.c into cl_screen.c
moved remainder of gl_screen.c into gl_backend.c
removed gl_screen.c
inlined GL_BrightenScreen in gl_draw.c
moved a lot of GL stuff out of gl_rmain.c into gl_backend.c
converted polyblend to R_Mesh based
replaced lighthalf/gl_lightmode with v_overbrightbits
renamed contrast to brightness, and brightness to contrast (to match monitor controls)
merged hardware and software brightness/contrast/gamma into v_contrast, v_brightness, v_gamma, etc, switchable using v_hwgamma (automatically forced off if hardware gamma support is unavailable)
added ghostable menu items (unavailable gamma, for example)
rearranged options menu
2D resolution slider added (from 320x240 to full resolution)
fixed misuse of strncmp for bindings menu (thanks Elric)
adjustable crosshair size
renamed GL_BeginRendering to VID_GetWindowSize
renamed GL_EndRendering to VID_Finish
made screenshot and envmap share one function for grabbing images
moved underwater warping into cl_screen code
starting work on new entity protocol (not hooked up yet)