molivier [Tue, 26 Oct 2004 14:48:43 +0000 (14:48 +0000)]
Updated Win32 sound module: the wave output code was partially rewritten since the old version was obviously pretty tied to Quake original output format; removed a few useless variables here and there; and a lot of whitespaces and comment changes, as usual
havoc [Tue, 26 Oct 2004 07:37:19 +0000 (07:37 +0000)]
S_LoadSound now automatically tries both with and without sound/ when loading sounds, which allows quake3 maps to work better, since their target_speaker entities include sound/ in the filenames, this also got rid of the stdpath parameter in the S_PrecacheSound/S_FindName/S_LocalSound calls)
havoc [Sat, 23 Oct 2004 10:00:38 +0000 (10:00 +0000)]
removed number field from client_t struct as it seemed to be behaving unreliably in SV_DropClient (resulting in changes to the scoreboard entry for client 0, regardless of which client was dropped)
black [Sat, 23 Oct 2004 00:36:48 +0000 (00:36 +0000)]
-Added the constant MAXTRACKS which is set to 256.
(remap has the type qbyte[256] now)
-CD_Play now also searches for fake tracks with 3 digits.
(the old 2 digit search is kept for compatibility)
black [Thu, 21 Oct 2004 17:44:34 +0000 (17:44 +0000)]
- Added Mem_IsAllocated.
- Decreased the required parameter count of VM_strcat to 1.
- Added a check to VM_strunzone so it wont free already freed strings and
thus crash the qc (only if developer != 0).
havoc [Thu, 21 Oct 2004 08:45:59 +0000 (08:45 +0000)]
don't allow Log_ConPrint to recurse into itself, as can happen with a memory corruption report -> Log_ConPrint -> memory corruption report -> Log_ConPrint -> ...
havoc [Wed, 20 Oct 2004 12:58:15 +0000 (12:58 +0000)]
messagemode/messagemode2 now send the say/say_team command directly instead of passing through the client console, so that typing something like ";quit" as a message does not quit the game
havoc [Wed, 20 Oct 2004 11:58:58 +0000 (11:58 +0000)]
fixed r_restart skybox crash (as well as incorrect texture bugs related to this), and moved alphaskytexture/solidskytexture to q1bsp texture loader, now part of the world model instead of separate
havoc [Tue, 19 Oct 2004 09:44:14 +0000 (09:44 +0000)]
Host_Shutdown now calls CL_Disconnect and Host_ShutdownServer so that quitting without using the quit command no longer leaves a player connected to the server
havoc [Tue, 19 Oct 2004 08:14:33 +0000 (08:14 +0000)]
cleaned up scoreboard printing loops a bit (they don't need to check if the name is empty)
fixed (I think, after much testing) the duplicate names bug in the mini scoreboard by changing a bound to a separate max and min (evidently the loop index was starting < 0)
havoc [Sat, 16 Oct 2004 11:29:13 +0000 (11:29 +0000)]
now parses more of q3 shaders to guess at proper rendering settings for surfaces, now implemented are additive blend, deformvertexes autosprite (and autosprite2), nomipmaps, nopicmip, cull twosided/none/disable, surfaceparm nomipmap
now assumes that a q3 texture is not transparent unless it has a shader saying it is (yes shaders are now required to enable transparency in q3bsp)
now loads the texture used in the first pass of the shader if there is no texture of the same name as the shader itself
what this all means: quake3 maps look 99% correct (other than lack of animation and various shader effects)
black [Fri, 15 Oct 2004 21:18:02 +0000 (21:18 +0000)]
-Added a more descriptive comment for prvm_edict_t::p
-Added 3 new builtins to the new VM: ftoe, etof, parseentitydata
-Changed the Win32 driver to reuse the GL hDC if possible instead of
calling GetDC and ReleaseDC every frame.
havoc [Fri, 15 Oct 2004 07:08:12 +0000 (07:08 +0000)]
now shows status messages in join game menu when a server is typed in manually (it was only showing them in the server list, oops), also added additional status messages
havoc [Fri, 15 Oct 2004 06:53:41 +0000 (06:53 +0000)]
revert an optimization to shadow volume generation that saved a little cpu time but cost a lot of gpu fillrate, and caused shadows to randomly invert sometimes
molivier [Wed, 13 Oct 2004 07:03:57 +0000 (07:03 +0000)]
Lots of minor fixes and improvements to the sound engine, plus a few more important changes:
- moved the internal structures and API into a separate file (snd_main.h)
- added a lock mecanism on SFXs to free them as soon as they're no longer used
- simplified the sound API
- minor fixes and comment changes here and there
- independent sound volume for fake CD tracks
- updated MSVC and Dev-C++ project files accordingly
- removed unused functions
- added a SFX flag to make sure the engine complains at most one time for each missing sound file
- made the SFX list a linked list to remove the hardcoded limit for the number of SFX a client can handle
- changed the way ambient sounds are managed to be more consistent with the new API
- factorized some code
- removed the useless IN_Accumulate in the Win32 specific code
- removed the table for 8bit sound mixing (snd_scaletable)
black [Tue, 12 Oct 2004 19:08:30 +0000 (19:08 +0000)]
-Its now possible to add support for other edict_private structs easily.
(Note: You have to derive them by composition from the original one -
e.g. struct server_edict_private_s { prvm_edict_private_t base; ... };
or just copy the elements from prvm_edict_private_t into the new struct -
and add them to the anonymous union p in prvm_edict_t.)
havoc [Tue, 12 Oct 2004 17:27:06 +0000 (17:27 +0000)]
allow invalid skin numbers on entities using tenebrae dlights (falling back to the model's skin 0 for actual rendering, but using the skin number for a dlight cubemap)
havoc [Sat, 9 Oct 2004 02:03:39 +0000 (02:03 +0000)]
added SV_EntitiesInBox function to find entities within a box, merging the box testing in the trigger/trace code, and also greatly optimized PF_findradius using this function
havoc [Sat, 9 Oct 2004 01:56:14 +0000 (01:56 +0000)]
fixed reconnect command which was being ignored by the client (forgot that it doesn't know what came from the client console and what came from the server, so disabling it in the client console was a bad idea)
havoc [Fri, 8 Oct 2004 20:11:04 +0000 (20:11 +0000)]
got rid of cl_nodelta cvar (it has never been useful, and rarely worked)
got rid of ackframenum -1 handling
removed ackframenum from entityframe4 and entityframe5 databases as they didn't use it for anything anyway (it is used only temporarily inside the AckFrame functions)
havoc [Fri, 8 Oct 2004 19:39:47 +0000 (19:39 +0000)]
fixed constant resetting of animation interpolation on entities that just spawned (fixes framegroup animation problems on non-static entities that don't change much)
changed movement interpolation to better handle every-other-frame updates which tend to happen with rate limiting
havoc [Fri, 8 Oct 2004 04:31:06 +0000 (04:31 +0000)]
cleaned up Host_Say to not process the message (MUCH simpler and I didn't trust that code anyway), fixed crash with fromServer messages (it was not checking teamonly, save is not a valid edict)