We already restore moved entities below, only we hadn't called
SV_LinkEdict with touch_triggers set to true. However, this isn't needed
since the entity was not moved from it's original position.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Quite a bit of churn here, but mostly nothing non-obvious. The only part I
probably changed more than I should have for this changeset was
SV_PushMove, since QW had factored out SV_Push from that. However, a quick
test of both NQ and QW seems to have everything working as normal.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
All the callers had their start and end addresses anyway, so do the length
calculation in just one place. Fixes the last few WIN64 specific build
warnings as well.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
The main win targets all build, though there's a few warnings to be fixed.
SDL not working yet - might just need to rebuild the library, but might
also need to point to a different sdl2-config binary?
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Try to avoid cases where -180 != 180 or 0 != 360 by ensuring that we
use the ranges (closed->open) of [0, 360) or [-180, 180).
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Mostly important for the rowbytes, which are negative for a bottom-up
windows DIB. Big thanks to szo for posting about this gotcha to the forum.
Also had to change a few places where a bit shift was used to divide
rowbytes by 2. Behaviour is undefined for signed numbers with negative
values.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Nothing really to change except the headers included and the library to
link against. Switched on WIN32_LEAN_AND_MEAN, so had to add a few extra
includes for that.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Not very well tested, but the loopback client works. Still missing entity
alpha, lerpfinish and a few other things.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Currently not supported by the software renderer. Intersecting bmodel
surfaces will behave weirdly (and people tend to assume it does work,
because glquake handle's it just fine).
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Still need to implement the server side and the changes for outgoing
client commands, but this is enough that I can playback demos recorded
with protocol 666.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
This really seems like a thinko to me. Patch below.
snd_mix.c (SND_InitScaletable): fixed an off-by-one mistake in the
signed char conversion.
Signed-off-by: Ozkan Sezer <sezero@users.sourceforge.net>
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Pre-calculate the frustum clip flags and cull backward facing bmodel
faces. This takes advantage of the surface bbox info and gives a small
speedup on maps having large/complex submodels.
Restructured the main loop in R_DrawBEntitiesOnList so that there are a
few less levels of code indentation there.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Yes, it looks like crap but not really any worse than it looks in glquake.
Will do something to fix it at some stage...
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Pretty GCC dependent at this point anyway, may as well just do it this way
and get rid of issues building on different platforms.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>