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.
havoc [Sun, 24 Aug 2003 04:00:52 +0000 (04:00 +0000)]
no more uses of %g in printf as it tends to lose precision too often (this caused problems with ftos in QuakeC truncating numbers to 6 digits, a problem afflicting Prydon Gate especially)
still tries to print numbers briefly if possible (by checking if their value is an int)
havoc [Sat, 23 Aug 2003 10:19:26 +0000 (10:19 +0000)]
fix severe bug that made chase_up continually increase up to 118 (thanks to yummyluv for pointing this out, and Electro for making me realize why it happened)
havoc [Tue, 19 Aug 2003 00:25:08 +0000 (00:25 +0000)]
more q3bsp work (and no it still doesn't work right)
converted over most of the engine to use new SUPERCONTENTS_ values (bit flags), and the q1bsp and q3bsp loaders convert to these, conversion to q1 contents and back is supported as well
other stuff... I've forgotten what
havoc [Wed, 13 Aug 2003 02:17:16 +0000 (02:17 +0000)]
more hackish cleanups of PVS stuff, now decompresses the PVS data at load and this got rid of the last of the calls to LeafPVS (now checks the pvs in the leaf directly)
havoc [Sun, 10 Aug 2003 20:03:05 +0000 (20:03 +0000)]
moved RecursiveLightPoint code to model_brush.c (model->brush.LightPoint), removing it from r_light.c and sv_light.c (now no longer needed)
made LightPoint able to return quake3 lightgrid data (diffuse color and direction in addition to ambient)
havoc [Sat, 9 Aug 2003 17:01:04 +0000 (17:01 +0000)]
redesigned blood effects (now looks like droplets until they hit a surface)
added decals for bullet impacts, explosions, plasma, etc
added cl_particles_quality cvar (cranks up the number of particles, reducing their alpha, making softer effects)
removed cl_particles_blood_size and cl_particles_smoke_size cvars
havoc [Fri, 8 Aug 2003 22:06:08 +0000 (22:06 +0000)]
reverted noclip movement to quake behavior (commented out the free movement call) to fix Cannon Fodder Quake ( http://www.qexpo.com/booths.php?id=5 )
ported sv_user.qc to C (C -> QC -> C again) because it greatly reduces the amount of code and makes it a bit more maintainable
havoc [Thu, 7 Aug 2003 11:01:38 +0000 (11:01 +0000)]
multiplayer-only games (Transfusion and so on) now start playing demos as usual, rather than starting a server at startup (unless dedicated or -listen is used)
havoc [Thu, 7 Aug 2003 10:44:20 +0000 (10:44 +0000)]
simulated packet loss (cl_fakepacketloss_receive, cl_fakepacketloss_send, sv_fakepacketloss_receive, sv_fakepacketloss_send) and ping (cl_fakelocalping_min, cl_fakelocalping_max) for network testing (or to handicap oneself in a local game)
havoc [Wed, 6 Aug 2003 13:16:48 +0000 (13:16 +0000)]
upgraded network protocol to DPPROTOCOL_VERSION4 - this means partial entity updates are now supported (limited bandwidth entity updates), although the "rate" cvar stuff has not been implemented yet... it also means entirely dynamic resizing of arrays in the server's entity database per client, so memory usage goes *WAY* down (used to be 256mb for 64 players, no matter what map/mod, now entirely adaptive as the game goes)
svs.clients gone, replaced with svs.connectedclients (similar idea except this is an array of pointers, and they are NULL for any unconnected client slots), this means entirely dynamic memory usage depending on number of clients (at least in the server; the client still needs fixing), this also means "maxplayers" is now a cvar (sv_maxplayers internally), not a command
some fixes/cleanups/tweaks (like proper setup of default maxplayers and deathmatch cvar in multiplayer-only games incase someone starts a map from console right away without using the menus)
havoc [Sun, 3 Aug 2003 13:20:27 +0000 (13:20 +0000)]
added MOVE_WORLDONLY movement type
now does vis traces using MOVE_WORLDONLY to get a significant speed boost (back to the way it was before) and hopefully prevent any problems with transparent solid bmodels blocking visibility of
entities
corrected a few LittleLongs to LittleFloat in md3 loading (EEP those were bad)
.skin loading is now able to parse the quake3 format, and uses "common/nodraw" or "textures/common/nodraw" for the invisible parts, this also meant supporting replacement tag names in the .skin files... so that's implemented as well (quite difficult)
COM_ParseToken upgraded to be able to parse .skin files (now identifies more single character tokens, and can return newlines if desired - this required patching lots of code to pass false to it)
added beginnings of support for DPPROTOCOL_VERSION4 in client (I.E. does nothing right now because the server speaks DPPROTOCOL_VERSION3)
disable -Werror because it makes a mess of releases if anyone has warnings (like a certain release I made a few days ago... and then got 5 or so 'it doesn't compile' reports from Linux users :)
added MAX_PACKETFRAGMENT to limit size of reliable packets, and also try to keep effects from pushing it over the limit either, this means the only possible way to push it over the limit is entity updates, and if exceeding the limit the packets might be lost, possibly dropping the player... but at least everything else should work now.
changed .skin loading behavior to compare mesh name, not shader name, this matches quake3 behavior
now shows r_notexture if a texture is missing on md2/md3 and missing .skin replacements