Commit Graph

27 Commits

Author SHA1 Message Date
Jaime Moreira 2469740598 Typos 2023-08-26 23:18:53 -04:00
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