molivier [Mon, 12 Jan 2004 07:38:15 +0000 (07:38 +0000)]
Added sound support to the NetBSD port. Most of the code comes from the original "snd_sun.c" file, by id Software. Some TODO remains, including the support for the "-snd*" options. Hopefully, the BSD specific code in DP works for the 3 majors BSD flavors, though I cannot test it on FreeBSD and OpenBSD anyway (feedback and test welcome if you have a BSD box at your disposal).
havoc [Wed, 7 Jan 2004 12:09:57 +0000 (12:09 +0000)]
rewrote COM_ParseToken and COM_ParseTokenConsole to make them buffer size safe (thanks to Vic for pointing out this problem), not that a rewrite was strictly necessary but it probably fixed unknown bugs
knghtbrd [Thu, 1 Jan 2004 16:45:56 +0000 (16:45 +0000)]
Undo moving cl_available. This really doesn't belong in system-specific
video code, but it's the only place for that kind of thing unless someone
wants to make the dedicated DarkPlaces binary a lot less bloated. Not on
my priority list right now.
knghtbrd [Wed, 31 Dec 2003 18:03:49 +0000 (18:03 +0000)]
More MacOS X stuff. The correct test for MacOS X in preprocessor seems to
be defined(__APPLE__) && defined(__MACH__). MacOS X has strl functions,
so don't bother compiling them. Also, the correct name and location of
libGL for X11 on a Mac is /usr/X11R6/lib/libGL.1.dylib. Compiles with one
warning caused by use of dlfcn.h (an emulation of the dynamic ELF object
loader which complains that you really should be using the Mach-O dylib
API instead.)
Compiled with gcc 3.1 (use gcc_select) on MacOS X 10.3 with X11 and the
Xcode Tools installed. Makefile changes were: null sound/cd, removal of
-lxf86dga from the GLX build, and replacing -ggdb in both places with
plain old -g (someone at Apple needs a LARTing for this...) SHOULD work
with 10.2 provided that you have developer tools, X11 with devel stuff,
and the dlfcn emulation package from fink. I can't promise meaningful
support for anything but Panther, sorry.
molivier [Tue, 30 Dec 2003 13:00:48 +0000 (13:00 +0000)]
Factorized the file searching algorithm in the FS code. Sorted packaged files list at load time to allow the use of a binary search. Overall, I think you can expect a file search time divided by a factor between 1.5 to 3 depending on your mod and packages layout. Time lost in the file search code on my P233MMX: vanilla Quake (4121 searches while loading the 1st demo): 2.7 sec -> 1.6 sec, Transfusion mod (9752 searches while loading BB1): 18.0 sec -> 7.6 sec
havoc [Sun, 28 Dec 2003 01:05:40 +0000 (01:05 +0000)]
fixed fiends jumping through player bug, huge thanks to Tomaz for days of help tracking down this longstanding bug! (it supported rotated collisions with bbox entities - not good!)
refined the COLLISIONPARANOID checks (now centralized in SV_Move)
molivier [Sat, 27 Dec 2003 21:15:16 +0000 (21:15 +0000)]
Simple Ogg Vorbis support (no streaming: the file is fully decompressed in memory, you just save disk space). DP will try to load the VorbisFile library at startup and will enable Ogg Vorbis support if it succeeds, so you need the Ogg Vorbis official DLLs. Win32 binaries works, but the Linux binaries are still untested for the moment - they compile successfully though.
havoc [Wed, 24 Dec 2003 21:07:41 +0000 (21:07 +0000)]
added a bunch more COLLISIONPARANOID code trying to track down a physics bug with fiends jumping through players, this defaults off (see end of collision.h)
black [Tue, 23 Dec 2003 12:12:03 +0000 (12:12 +0000)]
Fast commit before Im off for 10 days. Please correct/undo my commit if it breaks something, I havent had time to test everything perfectly but Im hoping that everything works. Merry Christmas everybody !
havoc [Tue, 16 Dec 2003 15:26:28 +0000 (15:26 +0000)]
rewrote FS_Search, hopefully it will work better now, and it now matches directories inside paks (in other words: listing sound/* will tell you about sound/plats and sound/whatever.wav, this is mainly to be consistent with filesystem directories), it is also no longer two-pass (although simple the two-pass approach was dangerous if the two listings came out different), and it now sorts the listing
rewrote much of matchpattern, now handles path separators specially, and uses a much better approach to handling the * wildcard (no longer looks for the following character, simply tries multiple matchpattern calls until it hits a path separator or gets a match)
molivier [Mon, 15 Dec 2003 07:48:43 +0000 (07:48 +0000)]
Audio CD support for NetBSD; it also compiles on OpenBSD, but I can't test it for now. Plus some diff noise reduction and a minor bug fix in cd_linux.c (the case when the user changes track without using the "cd" command should now be handled correctly)
havoc [Tue, 9 Dec 2003 13:17:46 +0000 (13:17 +0000)]
fixed the wall slide stuttering bug (the one that has been annoying me for months), it turned out to be a float precision issue with cliphull selection, and this also fixed the movetogoal bug (monsters not noticing they hit a wall) and also the scrags-flying-through-wall/ceilings bug
black [Sun, 7 Dec 2003 18:55:56 +0000 (18:55 +0000)]
Added qc fs search functions, so the qcs can easily verify directories contents, etc. -> useful for dynamic content loading.
Changed some 'bool's into read-only cvars to make them accessible for the menu qc.
havoc [Sun, 7 Dec 2003 11:40:03 +0000 (11:40 +0000)]
todo item done: now ignores modelflags on view entities and tag attached entities, so there aren't spinning view models and such anymore in Zerstorer and Malice
havoc [Sun, 7 Dec 2003 10:57:29 +0000 (10:57 +0000)]
todo item done: added cl_particles_blood_bloodhack cvar so now id1 blood particles use the blood effect, and added this to effects options menu as Force New Blood Effect
havoc [Sun, 7 Dec 2003 08:21:54 +0000 (08:21 +0000)]
fixed behavior of vid_activewindow and vid_allowhwgamma in x11 event code, now behaves more like the windows version (gamma is now based on whether the window is the focus, not related to mouse entering/leaving anymore)
havoc [Sun, 7 Dec 2003 08:01:01 +0000 (08:01 +0000)]
added CSHIFT_VCSHIFT blend so v_cshift now affects underwater blending (as well as other liquids) for more consistent behavior, and disabled powerup blends in transfusion (at their request)
havoc [Thu, 4 Dec 2003 11:13:57 +0000 (11:13 +0000)]
eradicated SZ_Print, thanks to Fuh for pointing out the sheer evil of this function found in nq, qw and q2... SZ_Print is a strcat onto a sizebuf - note that it could OVERWRITE THE SIZEBUF STRUCT if it is empty (but it was never empty where quake used it).
havoc [Thu, 4 Dec 2003 09:47:38 +0000 (09:47 +0000)]
console parsing now behaves like qwcl, thanks to Fuh for pointing out the problems with the winquake COM_ParseToken (it treated : as a single character keyword, thus breaking connect commands involving a port, for example), so I added COM_ParseTokenConsole for the console parsing
havoc [Wed, 3 Dec 2003 02:00:15 +0000 (02:00 +0000)]
fix a severe bug with 16bit modes (VID_InitMode in vid_glx.c was taking a stencil parameter which does not exist, and thus stencil was in general always on even in 16bit)
havoc [Mon, 1 Dec 2003 00:17:32 +0000 (00:17 +0000)]
added a note about the Creative Technology Ltd patent (US Patent #6384822) on the Carmack's Reverse approach to stencil shadow volume rendering, and changed the rendering algorithm to further distance it from Creative's patent.
havoc [Sun, 30 Nov 2003 06:33:33 +0000 (06:33 +0000)]
now uses q3bsp surfaceflags when possible instead of shaders (but the trans flag still exists only in shader surfaceparms so they are still read for that)
havoc [Sun, 30 Nov 2003 01:14:47 +0000 (01:14 +0000)]
now parses q3 shaders for surfaceparms (this mainly fixes up the many falsely transparent walls in shader tricks, and also detects nodraw shaders properly)
havoc [Sat, 29 Nov 2003 05:32:06 +0000 (05:32 +0000)]
added dir and ls console commands (yes they are different), these search paks (although not very good at pattern matching), and FS_Search and FS_FreeSearch functions