Android:
* compileSdk/targetSdk 34 -> 36, minSdk 21 -> 30, ANDROID_PLATFORM android-30
* pin ndkVersion 27.2.12479018, AGP 8.1.2 -> 9.2.1, Gradle 8.0 -> 9.4.1
(Gradle 9.x is what runs on the JDK 25 that Android Studio now ships)
* Java 8 -> 17, javac encoding pinned to UTF-8
* drop the x86 ABI: no 32-bit x86 devices exist at minSdk 30, and it was
a third of the native build time
* refresh AndroidX dependencies
Fixes found while getting the above to build:
* AssetUtils invoked a bare `python` on Windows and Android, which does not
exist on distros that only ship `python3`. Use the interpreter CMake finds,
on every platform.
* os_libc.h re-declared bcopy/bcmp/bzero, which clashes with bionic's
fortified overloadable versions; include <strings.h> on Android instead,
the same way OSX is already special-cased.
* libultra.c defined those same wrappers, which bionic already provides.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
portx64: fixed pal
Update c-cpp.yml
portx64: fixed linux build
portx64: fixed linux build
ops
portx64: fixed linux build, one more time
portx64: fixed linux build, one more time
port: implements analog movement for pc controllers
port: Implement menu movement with the C stick
port: Implement analog leaning
port: Implement 1.2 + 1 analog zooming
port: pd input lib now handles 32 buttons
port: modern crouch implementation
port: implement analog slayer airbraking
port: xbla farsight strafing
Map crouch buttons
- map cycle crouch to L3
- sensible 1964-style crouch bindings