divverent [Tue, 4 Nov 2008 10:45:10 +0000 (10:45 +0000)]
ALSA: check return values to be < 0, not != 0. Fixes problem with pulseaudio (ALSA apparently decided to start returning, here, +1 for success). See https://bugs.helixcommunity.org/show_bug.cgi?id=7375&link=0
divverent [Sat, 25 Oct 2008 10:37:40 +0000 (10:37 +0000)]
mod_q3bsp_nolightmaps: do not load lightmaps, use the bad q3map2-written vertex lighting instead (you have been warned). Mostly useful for maps with HUUUUGE lightmaps on low-end systems.
modplug: turn up the volume, if the installed libmodplug allows it.
havoc [Thu, 23 Oct 2008 10:44:31 +0000 (10:44 +0000)]
changed default texnum value from -1 to 0 in rtexture_t, this is only a
safety measure against any possible feeding of -1 to drivers that crash
when given an invalid texnum
divverent [Mon, 20 Oct 2008 13:20:06 +0000 (13:20 +0000)]
q3map2 is too stupid to calculate proper surface normals when q3map_nonplanar is used (the lightmap and deluxemap coords correspond to virtually random coordinates on that luxel, and NOT to its center, because recursive triangle subdivision is used to map the luxels to coordinates on the draw surfaces), which also causes deluxemaps to be wrong because light contributions from the wrong side of the surface are added up. To prevent divisions by zero or strong exaggerations, a max() nudge is done here at expense of some additional fps. This is ONLY needed for deluxemaps, tangentspace deluxemap avoid this problem by design.
divverent [Sat, 18 Oct 2008 15:48:43 +0000 (15:48 +0000)]
cvar mod_alias_supporttagscale to be able to turn off scaling of attached entities by the attachment tag matrix (fixes problems with zmodel generated zyms)
havoc [Thu, 16 Oct 2008 02:40:43 +0000 (02:40 +0000)]
minor correction to some WriteByte calls that should be WriteChar in
te_spark and te_blood builtins - these worked fine already, but were not
the correct function to use
divverent [Sat, 11 Oct 2008 15:06:28 +0000 (15:06 +0000)]
add DRAWFLAG_SCREEN (which basically is like invert-modulate-invert, equivalent to GIMP's "screen" layer operation, no idea how photoshop calls it)
Just like modulate always darkens, screen always brightens.
divverent [Mon, 6 Oct 2008 16:09:34 +0000 (16:09 +0000)]
add entity size profiling (currently spams the console with sizes of entity updates if developer_networkentities is >= 2, may later change it to collect statistics based on classname)
havoc [Sat, 4 Oct 2008 17:38:02 +0000 (17:38 +0000)]
implemented Quake-compatible savegame saving (writes 64 or more styles)
enhanced savegame format with a large comment block at the end
containing the true lightstyle data (not padded with m lines), and model
and sound precaches, this should fix the famous Quake bug of reloading a
savegame with a different version of a mod, or a mod that randomly
precaches different monsters or similar
divverent [Sat, 4 Oct 2008 14:01:05 +0000 (14:01 +0000)]
use skinframes for R_BeginPolygon; helps with csqc 3D polygon rendering (e.g. mipmapping becomes possible, and no longer conflicts in the GL_CLAMP state between different kinds to draw stuff)
undo q3map2's directional light attenuation before deluxemapping. Now deluxemapping and non-deluxemapping have the same perceived brightness. May reduce fps in deluxemapping mode.
new tcmod: "tcmod page <width> <height> <time>", as poor man's animmap alternative (stores all frames in ONE image in a <width>x<height> grid, and switches to the next frame every <time> seconds)
add r_shadow_glossexact to toggle between old and new gloss code; the difference in glossexponent is compensated for.
To get the look like before this commit, multiply r_shadow_glossexponent by 4 and keep r_shadow_glossexact on 1.
split FS_Open into FS_OpenRealFile and FS_OpenVirtualFile (read-only),
this allows the savegame menu to only display savegames from the current
save directory (not other directories in the virtual filesystem)
added b (binary) flag to a few FS_OpenRealFile calls, and removed from a
few others (so that logs and QuakeC-written files use OS line endings)
makefile: show usage note when someone is using the bin-release or the darkplaces-glx targets directly (to override this, pass LEVEL=1 or LEVEL=2 as make arguments)
havoc [Thu, 28 Aug 2008 09:38:27 +0000 (09:38 +0000)]
reworked specular lighting to use real reflection math instead of the
averaged-directions approximation that was used before
no longer normalizes deluxemap samples, this may help with some "bright
edge near shadow" interpolation issues
divverent [Sun, 24 Aug 2008 10:44:50 +0000 (10:44 +0000)]
fix Sajt's errors (in Visual Studio, I assume) in a better way - by changing the variable types, not casting. Also, only record one instance of the same csprogs into the demo.
havoc [Wed, 20 Aug 2008 18:33:42 +0000 (18:33 +0000)]
redesigned csqc shared entity .Version handling, now internally uses a
flags value instead, while keeping compatibility with .Version (simply
sets flags to 1), each frame the flags value is merged into the
per-client entity flags and cleared, the flags value is exposed to qc as
.float SendFlags, and is a complete alternative to .Version, allowing
multiple updatable properties on an entity to be independently tracked
havoc [Tue, 19 Aug 2008 13:16:27 +0000 (13:16 +0000)]
redesigned lhnetaddress_t struct to be a generic container for sockaddr,
this fixes runtime errors on FreeBSD where sockaddr_in does not match
the one that lhnet used to use
changed lhnetaddress_t struct to have a native port value rather than
having to poke at the sockaddr variants all the time to access port
values (now only a few places set/get the actual encoded port value)
havoc [Mon, 18 Aug 2008 17:50:21 +0000 (17:50 +0000)]
fix crashes when recursing portals on maps with some bogus leafs (where
infinite recursion loops can occur, alternating between two leafs), such
as cmc.bsp for prozactf coop
divverent [Wed, 13 Aug 2008 09:59:36 +0000 (09:59 +0000)]
also send MSG_ALL to people who are past ClientConnect, but not spawned yet (makes the invariant "he can receive MSG_ALL or he's not past ClientConnect yet" work, which CSQC may rely on).
divverent [Wed, 13 Aug 2008 09:45:58 +0000 (09:45 +0000)]
partially fix ClientConnect handling
(fixes the slot between SpawnServer and ClientConnect (content download, signon) where a client that drops could have ClientDisconnect getting called without ClientConnect ever happening in that progs)
divverent [Wed, 13 Aug 2008 08:29:34 +0000 (08:29 +0000)]
Only send the reliable (broadcast) datagram to SPAWNED clients - should fix client disconnects for CSQC temp entities sent to MSG_ALL. Hope this won't break anything else. Running my servers with this soon.
divverent [Fri, 8 Aug 2008 08:13:13 +0000 (08:13 +0000)]
make menu QC aware of player list; add extension DP_SV_QCSTATUS to allow QC to override fields in status responses (e.g. to display teams, or more than one score per player, or team scores)
divverent [Wed, 6 Aug 2008 10:51:45 +0000 (10:51 +0000)]
Even more snd channel cvars. I know this sucks, but having just one control for all auto-allocate channels DOES suck. Need to separate out world's autoallocate and item auto-allocate channels.