Removes visibility of the areadnode_t structure from world.h and makes
sv_areanodes private again. pmove_mins and pmove_maxs no longer need to
be globals in sv_user.c either.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Apart from this function, sv_areanodes are private to world.c, so prepare
this function to be moved across.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Although this doesn't change the end result in memory, load the texinfo in
a way consistent with the layout of the vecs in the struct.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Import fixes related to signed/unsigned shorts from the client BSP model
loading code. Would in theory allow the QW server to load huge maps with
e.g. > 32767 marksurfaces or clipnodes.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Pull in improvements from the client code and minimise syntactic
differences.
- Tidy up the header byte swapping
- Tighter checks on lump sizes and bounds against each other and the size
of the file
- Zero the flags field
- Calculate the model radius
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Also broken by 293084b (cl_visedicts handling). Doesn't seem to be any
other places where the same assumption about the entity pointer is made.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
This broke with 293084b when I changed the handling of cl_visedicts. Kind
of a hackish workaround for now.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
The struct qsockaddr used in NQ assumes some things about the binary
comptibility with the OS struct sockaddr_in, which caused some problems
with the networking on at least OpenBSD. Use the same netadr_t structure
that we currently have in QW.
Would have been nice to split this into smaller sub-patches, but it just
got messy each time I tried to do that.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
All our LAN protocols (just IPv4 UDP) are connectionless, so remove the
connect operation completely from the code.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Add a sound driver for the OpenBSD sndio API. A copy of this driver was
sent to me by Toni Spets <toni.spets@gmail.com>, but with credit to Jacob
Meuser <jakemsr@sdf.lonestar.org> for writing the driver code.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Was missing the /include on the end of the include directory and hadn't
added the LFLAGS at all!
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Also remove unnecessary library ddraw. Hopefully not something that was
needed on WinXP or something even older, but doesn't make sense that we
only ever used it in NQ and not QW when the video drivers are identical.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
It seems X11BASE is now obsolete (in FreeBSD ports, which is where it
originally came from here). Switch to using LOCALBASE as an extra
include/lib directory instead.
Still do some searching for X11 files as necessary and add similar logic
for SDL files.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
After running into complexity problems trying to enable myself to specify
some extra driver options (e.g. the SDL video driver) I decided a
significant re-organisation of the main Makefile was necessary.
Tested on OS X x64/ppc32, Win32, Linux x64.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Avoid unsightly mode changes in case you just wanted to play windowed
anyway. Mode changes are pretty slow and ugly these days, at least on
my test system. Might be better if we weren't using the ancient MGL.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>
Tracked this back to some sound corruption happening during testing. The
compiler warning is back after reverting, but the sound is fixed. Will
need to audit the code and get the signedness handling correct.
This reverts commit 924c3deb23.
No need to keep a copy of the bbox info for every aliasgroup frame as it
is never referenced by the engine.
Signed-off-by: Kevin Shanahan <kmshanah@disenchant.net>