Commit graph

26 commits

Author SHA1 Message Date
Yamagi
43a5a3fc23 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:55:51 +02:00
David CARLIER
e7642db54d Forcing proper native arch build on darwin mainly due to arm64 2022-05-14 16:30:01 +01:00
Daniel Gibson
b92383eff9 Fix architecture detection on Windows in Makefile, bump SAVEGAMEVER
$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-5" and added a quirk for older savegameversions:
On Windows i386 savegames that contain "AMD64" instead of "i386" as
architecture are also accepted.
(For YQ2-2 this didn't seem necessary, apparently "i386" was hardcoded)
2021-01-14 03:05:15 +01:00
Yamagi
1cd49ad20b Fix Windows build, broken by the last changes. 2020-05-04 18:28:09 +02:00
Yamagi
73fd162dbe Bring Makefile on par with yquake2:
* Make CFLAGS and LDFLAGS overrideable
* Correct architecture and operating system detection.
* Enforce FPU mode.
* Implement DEBUG.
* Pass LDFLAGS after the objects.
* Rename OSTYPE and ARCH to YQ2OSTYPE and YQ2ARCH to avoid collisions.
2020-04-21 13:56:47 +02:00
BjossiAlfreds
21a52d294a Fix for Makefile on Windows and gitignore now ignores the release folder 2019-09-14 11:03:05 +00:00
Yamagi Burmeister
90420227db Link with -lm.
This is not strictly necessary since the main executable should provide
the symbols, but it may increase compatibility with other source ports
and underlinking is never a good idea.
2019-05-13 17:05:54 +02:00
Yamagi Burmeister
96bec2bf1f Remove some unnecessary code duplications. 2019-05-09 18:26:46 +02:00
Angus Freudenberg
c18ba3bd91
Add make game.dylib for Darwin 2019-04-13 16:12:53 +10:00
Yamagi Burmeister
949e9aa008 Switch some annoying and wrong GCC warnings off. 2018-10-25 19:23:49 +02:00
Yamagi Burmeister
891e75c568 Enforce static linkage of libgcc on Windows. 2017-06-16 13:37:22 +02:00
Yamagi Burmeister
b7b8bec0fd Generate game.dylib on OS X. Fixes #148. 2016-08-14 16:29:06 +02:00
Yamagi Burmeister
6467137619 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:47:05 +02:00
Daniel Gibson
7929e845d3 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:40:49 +02:00
Yamagi Burmeister
6d93e38734 Port the Makefile to our new Windows build environment 2014-02-13 08:12:18 +01:00
Yamagi Burmeister
d97357f177 Remove actor
The actor was a special "monster" used für simulating NPC. It was never
fully implemented and therefor disfunctional. Thus it was never used in
any map. Remove it like done in baseq2 and xatrix.
2014-02-02 18:40:34 +01:00
Joshua Scoggins
fb179f0f16 Added ia64 to the makefile 2012-11-30 20:46:17 -08:00
Yamagi Burmeister
31178c81bf Add support for OS X 2012-10-06 09:53:43 +02:00
Yamagi Burmeister
4366acb6c0 Rework Makefile and add support for Windows 2012-06-27 14:50:48 +02:00
Yamagi Burmeister
5520108698 Add a missing brace 2011-10-11 13:41:12 +00:00
Yamagi Burmeister
489ab02814 Rearrange source and rework Makefile 2011-10-11 11:40:43 +00:00
Yamagi Burmeister
d1c7849ef1 Port the new savegame system from quake 2 2011-10-11 10:53:48 +00:00
Yamagi Burmeister
7e4e5e0db5 Don't pass the CFLAGS to the linker 2011-06-27 14:41:33 +00:00
Yamagi Burmeister
1e032c3c81 Neue CFLAGS auch rogue 2010-01-31 16:53:38 +00:00
Yamagi Burmeister
3097a0dd28 Erlaube es auf allen Plattformen zu bauen. 2009-06-04 12:14:55 +00:00
Yamagi Burmeister
00467e1c25 Eine Makefile für rogue 2009-03-30 12:48:38 +00:00