Commit graph

16 commits

Author SHA1 Message Date
Yamagi
d4b117d946 Mark all required CFLAGS and LDFLAGS definition as override.
This fixes the build with the current Windows build environment.

Fixes #31.
2023-05-08 21:45:38 +02:00
Yamagi
d52ee31d93 Normalize arm64 to aarch64.
This ensures that we call ARM64 `aarch64` on all platform, which aren't
MacOS or Windows. And it fixes the bug, that `arm64` was normalized to
`arm`, making incompatible savegames between 32 bit and 64 bit ARM
loadable. Leading to crashes.
2022-05-20 12:58:46 +02:00
David CARLIER
8e5d49e8f4 Forcing proper native arch build on darwin mainly due to arm64. 2022-05-14 16:25:51 +01:00
Daniel Gibson
7275a593a6 Fix architecture detection on Windows in Makefile, bump SAVEGAMEVER
.. and use YQ2ARCH and YQ2OSTYPE instead of just ARCH and OSTYPE
for the defines, so it's consistent with the engine and xatrix+rogue.

$PROCESSOR_ARCHITECTURE seems to contain the architecture of the host,
but we need the architecture the current MinGW shell is targeting.
$MINGW_CHOST seems to be just that, and on my system it's either
i686-w64-mingw32 (mingw32.exe) or x86_64-w64-mingw32 (mingw64.exe)
(No idea what it looks like for Windows on ARM...)

As fixing this would otherwise break existing savegames, I bumped the
SAVEGAMEVER to "YQ2-4" and added a quirk for older savegameversions:
On Windows i386 savegames that contain "AMD64" instead of "i386" as
architecture are also accepted.
(For YQ2-1 this didn't seem necessary, apparently "i386" was hardcoded)
2021-01-14 03:53:47 +01:00
Yamagi Burmeister
7bb26be80c Port compiler detection from the other addons.
This is done to keep the Makefiles more or less in sync.
2019-02-04 13:29:44 +01:00
Yamagi Burmeister
4bdd8facd5 Merge outstanding savegame changes from yquake.
- Switch from an whitelist base approach regarding platforms and systems
  to an blacklist approach. This is savegame version 2.
- Fix coop_respan struct not fully initialized after savegame load while
  running in coop mode. This is savegame version 3.

Support for savegame version 2 was added to keep the divergence between
zaero and the other addons low.
2019-02-04 13:24:13 +01:00
Daniel Gibson
61b100d096 Fix Windows build 2016-02-20 20:42:20 +01:00
Daniel Gibson
ac084046a8 Fix Windows detection in makefile for MinGW 2016-02-20 20:34:31 +01:00
Daniel Gibson
0822b94db9 Fixed some crashes during gameplay and loading; broke savegame compat
I added more missing fields to savegame/tables/fields.h and reordered
everything to make missing fields easier to find.
This broke savegame compatibility, and that might happen again.
I hope I'll remember to bump the savegame version before merging this
branch to master.

I also got segfaults (e.g. when a door was blocked by a corpse) in
G_UseTargets() because activator was NULL.

And in g_cmds.c there was a typo in OnSameTeam() - from the relatively
recent fix. No idea why, it doesn't exist in the other addons..
2015-06-29 18:11:12 +02:00
Daniel Gibson
aa5ccc1770 Fix bug with high velocities in vents in 32bit builds, fix MingW build
See https://github.com/yquake2/yquake2/issues/71
and https://github.com/yquake2/xatrix/issues/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
https://github.com/yquake2/xatrix/issues/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:48:21 +02:00
Lennart Burmeister
3bcb10d734 Windows and OS X support for the Makefile 2013-05-13 08:12:00 +02:00
Yamagi Burmeister
04163afa82 Rearrange files 2011-10-11 15:28:06 +00:00
Yamagi Burmeister
6d456db7d1 Port the new savegame system 2011-10-11 14:28:49 +00:00
Yamagi Burmeister
c6fcf0eb12 Makefile angepasst 2009-04-10 15:45:06 +00:00
Yamagi Burmeister
347d281530 OK, nun funktioniert die DLL 2009-04-10 08:16:42 +00:00
Yamagi Burmeister
844a451eb4 Eine Makefile fuer Zaero 2009-04-10 08:06:07 +00:00