fences: don't modify z-buffer unless drawing as opaque
snd (plan9): proper (de)initialization
snd (plan9): remove sndstop entirely, it's more work to make it work and no use anyway
sndstop (plan9): wait until the proc exits
unix: don't crash on window resize
audio: completely stop audio when needed, resume on next write
make sound less choppy and with less latency
portable sound
portable fs logic
clean up a bunch; more work
portable: 9front + linux
update README
cl: put protocol into client instead of allocating
snd: stop reallocating channels, just increase the limit
cl: bring back entities reset
rendering: sort alpha-blended entities to draw back-to-front
rendering: don't recurse the world nodes twice
msurface_t: attempt to reduce its size in bytes
R_RecursiveWorldNode: recurse less
R_InitTurb: use M_PI
remove more crap
remove a bunch of crap out of the renderer
sv: per-client pvs entity visibility check with no leafs limit (thanks super8 authors)
.alpha: part 7 - fix alpha blending on .mdl
.alpha: part 6 - fix the sky looking like a disaster from under the water (thanks super8 authors)
.alpha: part 5 - fix missing alpha-blended surfaces (when entity alone has .alpha set)
support "+map ad_tears"-style command-line arguments
clean up garbage in mathlib
turn DotProduct into a C function; provide arm64 neon implementation
force teleport surfaces to be non-transparent
.alpha: part 4 - draw water-like surfaces in non-VISed maps when r_*alpha is set to 1
.alpha: part 3 - build full alphamaps on startup once
.alpha: part 2 - drawing/blending
.alpha: part 1 - pr and protocol
add r_lavaalpha and r_slimealpha; leave teleports alone (non-transparent)
build an alpha map for each new alpha value
don't care about ram pic
R_RecursiveClipBPoly, R_DrawSolidClippedSubmodelPolygons: simplify just a bit
remove d_subdiv16 cvar (unused)
add initial water alpha support
steal fence drawing from super8 (useless comments removed)
detect fence-like textures but ignore them when drawing - they look like shit
surfs: short → int
pr: expose DP_EF_NODRAW extension
sv_protocol: use protocol version instead of id
MAX_SFX → MAX_SOUNDS; reclaim sfx from previous maps if no free ones
makestatic: fix for RMQ protocol
PR_Str: a bit more robust checks
d_init: remove unused stuff
add EF_NODRAW support
model: allow extents <= 2000
set signon buffer size to NET_MAXMESSAGE
sizebuf_t: report the name of the buffer which got overflowed
simpler backface cull check expression
make particles smaller by default, provide r_part_scale to customize
adjust particle max size based on FOV
use unsigned short for zbuffers
span in C: make it look simpler
model: don't care if texture is not 16-byte aligned
steal a fix for items falling out of world from JoeQuake
qc: normalize, vlen: increase precision
dtime: plot twist - nanosec() already starts from 0
rewrite sky loading and rendering
a bit more precision in a few places
minmaxs are float, no need to cast
loadgame: bring loading plaque back
sv: make sure there is no funky business happening with float modelindex - use int, always
don't out-of-bounds access type_size
yes, use locals
quake: add optimized pal2xrgb for 386
I don't like defines
use Q_MAXFLOAT; increase bmodel limits
add bsp2 support
Con_DPrintf: print to stderr if "developer" cvar is > 1
CL_ParseStartSoundPacket: sv.protocol → cl.protocol
sv: typoed "model" vs "modelindex"
more static; uncomment what that spams the console because of a bug
oops. put the stack back as it was
remove dprint, replace [df]print with Con_DPrintf
add "developer" cvar, Con_DPrintf, and shut up qc dprint
add basic RMQ net protocol support (for bigger mods)
put MSG_ReadCoord and MSG_ReadAngle into protocol_t
cl: 1024 → MAX_DATAGRAM, like on the server side
cl: no need to memset efrags/entities; remove Hunk_Memset0
dummy sv protocol change and structures
declare more stuff as static
pr: better string and temp string handling
memset now-hunk-allocated arrays correctly
edge: use memset instead of for loop
zone: alignment would make wrong offsets in model loading logic - remove that
fix pvs for huge maps; define and use mclipnode for bigger maps; few short→int retypings
surf: import the moving brush dynamic light fix
shut up a lot of spam
raise a bunch of limits; get rid of packet overflow on loopback interface
snd: allow too many sounds
model: more random fixes
model: don't underflow on mark surfaces