Make some adjustments to the Mac build scripts to support building an
ARM64 binary for Apple Silicon.
Also support cross-compiling for Intel on Apple Silicon.
Also prefer using Ninja for CMake ports.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Use capitalized `ARM` instead of `arm` for ARCH_NAME in
Architecture.cmake so that the Mac Apple Silicon zip releases are
suffixed `ARM64` not `arm64`.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Use `-O3 -ffast-math` instead of `-Ofast`, which is deprecated by the
latest clang. In both our options and for libretro.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Add `tiff zstd deflate` to link libs for macOS to fix a link error
caused by libzstd and libdeflate not being linked for libtiff which is
linked by wxWidgets.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Remove zh.po, which is not on Transifex anymore and zh-Hans.po, which I
have removed from Transifex just now, leaving zh-CN.po, as suggested by
@wuweiran.
Fix#1435.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Followup on 29e85e5d (build: update Link SFML usage to SFML 3.x APIs,
2025-04-01) to alias an optional.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
In #1424, the app event handler was disabling all key down events,
preventing controls that depend on them to properly handle these. This
was done to work around an issue on macOS where unhandled keyboard
events would fire an audio alert.
Since this breaks text controls, these changes check for the currently
focused window and let the event propagate for text controls.
Fixes#1434
SFML 2 no longer compiles with a modern compiler and we are blocked on
SFML 3 being available in vcpkg to fix it. There is no easy way to
backport fixes to SFML 2 so disable link for the time being.
On startup, the internal emulator sound volume is set to 100%. The user
value in the wx frontend is not used until the emulator volume slider is
modified, resulting in games starting with volume at 100% on startup.
This fixes#1407 by always setting the internal emulator sound volume on
game startup.
Update default.nix to remove gcc from the macOS package set and add
clang/llvm/libcxx to the Linux package set.
Change 'epoxy' in the Linux package set to the new package name
'libepoxy'.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Update `installdeps` for current OpenSUSE wxWidgets and FFmpeg packages.
Disable 32 bit cross builds in OpenSUSE because those packages are no
longer available.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Use the `sqrt()` introduced in 615e5863 (Add fast-inverse SSE1 sqrt()
from Quake 3 Arena, 2025-01-12) or the xBRZ filters for Windows XP 32
bit builds.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Add developer block to `metainfo.xml` with id 'visualboyadvance-m.org'.
Also set component type to 'desktop-application'.
This file is used to describe the application on Linux.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
For static builds for Windows, link `avrt`, a system library that is now
required by OpenAL.
Also remove our version of `FindOpenAL.cmake` in favor of the
system-provided version.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Try to initialize the GTest Git submodule from the CMake code if it has
not been.
If that fails, turn off `BUILD_TESTING`.
We do not want to require recursive clones or initializing submodules
for users by default.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Some Linux distributions use a hermetic build environment to build. This
resulted in issues with `FetchContent` attempting to download googletest
at configure time.
This fixes the issue by integrating googletest as a git submodule
instead of downloading it at configure time.
* [GB] Add support for per-game overrides
Alleyway is a buggy game that does not work properly when a Game Boy
Printer is connected. In order to work around this issue, this adds
upport for built-in per-software Game Boy overrides. In addition, this
renames various variables to make their meaning clearer.
* This only supports built-in overrides. External INI files are not
supported.
* Only the Game Boy Printer option is supported, this only takes effect
on game startup and the general configuration option is restored when
the game is unloaded.
* As a result, it is possible to override the per-game override by
manually setting the option while the game is running, this is working
as intended.
* Future refactors of the option handling will manage overrides better.
* Switch `gbPrinterEnabled` default to off.
Fixes#1368