Restructure the README around what a player does: choose where to build (PC or the Frame), install, update, play, then settings, controls, known issues and troubleshooting. Building on a server and by hand move under "Other ways to build", and the upstream and credits notes are merged into "What comes from where" and a short Credits section that points at CREDITS.md. Updating now shows the curl form of --update, which works without a local copy of the script; the in-game Updates tab; and the one full install needed when coming from frame-beta-2. Manual steps use the frame-beta-3 tag, the install options are a table, and the Troubleshooting section covers in-game update failures. Links to the old "The Android flavour" section now point at "How it works". Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Axv1Y43Lu5a5rSSLUyU5BB
3.5 KiB
WiiCompiled VR for Meta Quest (Android)
Standalone Android/OpenXR build of the Mario Kart Wii recompilation for Quest 1,
Quest 2, Quest 3, Quest 3S and Quest Pro, and, as the steamFrame flavour, for Valve's Steam
Frame under Lepton (the README; the Frame is played with the native SteamOS build). The full design, build
walkthrough and current status live in docs/quest-port.md; this directory only
holds the Gradle project, its helper scripts, the game kit tooling
(QuestGameKit.psm1, Build-QuestGame.ps1), the on-headset build toolchain
(Prepare-QuestToolchain.ps1, toolchain/) and nod-jni.
powershell -ExecutionPolicy Bypass -File android/Prepare-QuestDependencies.ps1 # stages the SDL3 3.4.4 AAR once
powershell -ExecutionPolicy Bypass -File android/Build-Quest.ps1 -Install # the app, debug-signed, installs over adb
powershell -ExecutionPolicy Bypass -File android/Build-Quest.ps1 -Headset frame # Steam Frame flavour
powershell -ExecutionPolicy Bypass -File android/Build-Quest.ps1 -Headset quest1 -Install # Quest 1 flavour
One app offers both games, with a toggle on Home: Mario Kart Wii and, when your
translation includes the mod, Retro Rewind. The translated game (the translator's
generated/ tree for your own PAL RMCP01 disc) is passed with
-Generated <dir>; it defaults to the installer workspace next to this checkout.
No game data is ever part of the APK, and neither is any translated game code:
the APK carries one game kit holding a recipe per game, and your libmain.so is
built from your own disc, either on the headset (Build on this Quest, about
half an hour) or on a PC and imported:
powershell -ExecutionPolicy Bypass -File android/Build-QuestGame.ps1 -Product base -Install
powershell -ExecutionPolicy Bypass -File android/Build-QuestGame.ps1 -Headset quest1 -Product base -Install
powershell -ExecutionPolicy Bypass -File android/Build-QuestGame.ps1 -Product retro_rewind -Mod <RetroRewind6> -Install
-Mod puts the Retro Rewind pack in the package; Import from computer takes
the same .wcgame from the Import folder. The headset can also fetch that pack
itself with Download Retro Rewind on Home, from Retro Rewind's own
distribution server, the way the PC launcher does.
Copy your disc image to the headset (for example adb push MarioKart.iso /sdcard/Download/) and press Select disc image in the launcher, which checks
and extracts it with nod, as the PC installer does. Or push an already extracted
disc to
/sdcard/Android/data/org.wiicompiled.quest/files/WiiCompiledOpenXRVR/DATA
Config.toml, saves and logs live in the same WiiCompiledOpenXRVR directory.
The app opens on a 2D launcher panel modelled on the PC launcher (WheelWizard VR):
Home picks the game with a toggle, starts it in the headset and says what is
still missing (the disc files, the game itself, or Retro Rewind's pack), and
Settings edits Config.toml (VR camera, render scale, virtual screen,
resolution, controllers, audio), with an Other tab for the files and the
games built from them, with a Reset installation action that removes the game files (and
on request the built games and the Retro Rewind pack) so they can be set up again, and an
About tab carrying the credits. The game itself is QuestActivity, in its own
:game process; adb shell am start -n org.wiicompiled.quest/.QuestActivity
still starts it directly.