Update the developer manual to clarify and expand upon the instructions
for collaborating on the project.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Change the package for SDL3 dev stuff from libSDL3-devel to SDL3-devel
which is what it is called for SDL3, that was the name for SDL2.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Implement SDL3 for the SDL port if the CMake definition ENABLE_SDL3 is
set.
Implement setting the color depth for both wxWidgets and the SDL port.
Fix the coloring issues in the SDL port for OpenGL.
Implement 8 bit color support.
Update and fix the wx port SDL sound driver.
Implement SDL video in the wx port.
Silence GL deprecations on macOS.
Add SDL renderer selection.
Fix filter for bit depths other than 32 bit.
Fix GDK backend for Linux.
Add Metal renderer for macOS.
Fix Quartz drawing.
The Libretro Switch build uses some kind of libtransistor without which
the build fails.
Disable the Ubuntu Libretro build for now because it uses a linker
script from libretro.
The Libretro people are using GitLab CI anyway, so we will not deal with
this and disable these builds for now.
Also fix a couple of minor issues with the header-only `INTERFACE`
libraries in CMake.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Change two `constexpr` declarations to `inline` to fix a link error on
MSVC.
Also remove the C++14 override that was used for testing on MSVC, the
project being defined as C++17 in CMake.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Refactor the code a bit in the Mac builder.
Get `getopt` from brew, and symlink it to the build root because it is
keg-only.
Include latest Command Line Tools `clang` includes with `-isystem`
before the SDK.
Use the latest SDK instead of the oldest one from the Command Line
Tools.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Use `-F` to pass the `Frameworks` path of the selected SDK to clang.
Also remove things already in `CPPFLAGS` from `CFLAGS`, `CXXFLAGS` and
`OBJCXXFLAGS`.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
In the macOS builder script, find the oldest macOS SDK included in the
Command Line Tools and use its C and C++ header directories in
`CPPFLAGS` with `-isystem`.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Convert the C++17 code in the bundled SFML code to C++14 to hopefully
allow for targeting macOS 10.10 (Yosemite) instead of 10.15 (Catalina.)
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Remove the SFML external dependency, include the SFML 3.0.1 system and
network libraries in third_party and adjust the build code, tools and
documentation accordingly.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
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>
Enable Hide Status Bar in UI Settings for macOS, it was previously
missing because the whole UI Settings submenu was removed on macOS.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
When using vcpkg wxWidgets, call `find_package(nanosvg)` so that
`NanoSVG::` link target is available.
Signed-off-by: Rafael Kitover <rkitover@gmail.com>
Fixes the behavior to take the timeout into account properly, fixing the throttled behavior so that it matches (or strives to) the configured value instead of being stuck at <90%
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