Commit Graph

18 Commits

Author SHA1 Message Date
Yamagi Burmeister 99a032c6ae Enforce static linkage of libgcc on Windows. 2017-06-16 12:49:41 +02:00
Yamagi Burmeister 6034d77bbe Generate game.dylib on OS X. Fixes #148. 2016-08-14 16:23:09 +02:00
Yamagi Burmeister 7e03dfaac2 Switch from an arch whitelist to an "all archs are supported" approach.
The old whitelist was a leftover from the early days of YQ2. It should
run on most / all architectures, as long SDL supports them. As suggested
by smcv in issue #138 generate the OSTYPE and ARCH defines by the build
system instead of hardcoding it.

Savegame compatibility is provided by bumping the savegame version. Old
savegames are compared against the old OSTYPE and ARCH defined, new ones
against the new defines. This compatibility code should be removed
somewhere in the distant future.
2016-06-11 09:35:10 +02:00
Daniel Gibson 4b02b97332 Fix bug with high velocities in vents in 32bit builds, fix MingW build
See https://github.com/yquake2/yquake2/issues/71 and Xatrix #4

In ClientThink(), the float value ent->velocity[i]*8 is saved into
a short and if the value is too big for a short, in 32bit gcc builds
the short is set to SHRT_MIN, resulting in the player being pressed
down instead of up.
Now we put the result in a 32bit int first (which should be big enough)
and assign the int to the short. This still overflows, but with -fwrapv
at least in a defined way (most probably the same way the original
binaries did).

The Makefile now sets $CC to gcc for MingW builds, this should fix #3

And while I was at it, when the game lib is loaded, it prints the date
it was built, this is especially interesting for our Win32 binaries.
2015-05-17 18:42:56 +02:00
Yamagi Burmeister a549b5ef6d Port makefile to our new Windows build environment 2014-02-14 10:22:47 +01:00
Yamagi Burmeister 00f0bb8df1 Remove superfluous whitespaces and end of lines
With this commit 'xatrix' is cleaned up. Every single line was audited,
many bugs removed and hundered of sanity checks added. Additionally the
code was reformated. All in all 'Xatrix' should now be much more
reliable and for the first time in ~15 years completeable without any
crashes, logic bugs or the like. Until now about 130 hours spread over
more than a year were spend for this project.

Of course this code is totaly untested. The next step is testing,
testing and testing. After that the spawn points needs to be fixed
so that all maps can pe started by "map $mapname".
2013-02-12 18:49:17 +01:00
Yamagi Burmeister 53a0fc1f5d Remove monster/actor
The "actor" entity are player models moving on scripted pathes,
emulating NPC. They were never finished and thus are used in the
game. In theory the functions shouldn't be referenced anywhere
and thaerefor this change shouldn't break existing savegames.
But I'll habe to check if that stands in praxis.
2013-01-13 10:33:11 +01:00
Joshua Scoggins 8b03200805 Add ia64 to the Makefile 2012-11-30 20:47:33 -08:00
Yamagi Burmeister fe57e7b3d2 Add support for OS X 2012-10-06 09:51:06 +02:00
Yamagi Burmeister b94269cbdb Modernize the Makefile and port it to Windows 2012-06-26 14:54:47 +02:00
Yamagi Burmeister 88bbdc4779 Sync shared.c and shared.h with baseq2, import rand.c 2012-06-26 14:33:37 +02:00
Yamagi Burmeister 62f3b1319f Rearrange files and add a new Makefile 2011-10-11 14:00:27 +00:00
Yamagi Burmeister e78bcb1cd2 Port the fixed savegame system from quake 2 2011-10-11 13:23:25 +00:00
Yamagi Burmeister aef969f5a0 Don't pass the CFLAGS to the linker 2011-06-27 14:43:27 +00:00
Yamagi Burmeister 98110f9426 Neue CFLAGS auch für xatrix 2010-01-31 16:51:36 +00:00
Yamagi Burmeister 7861c3ccc4 Erlaube es auf allen Plattformen zu bauen. 2009-06-04 12:14:55 +00:00
Yamagi Burmeister d9d8c8b5bb Kommentare in den Makefiles aktualisiert 2009-03-30 12:50:53 +00:00
Yamagi Burmeister e901f7c2cd Makefile eingefügt 2009-03-12 16:36:49 +00:00