- Cross-build against the Steam Runtime 4 arm64 SDK (build_linux.sh,
cmake/steamrt4-arm64.cmake): the executable sits at 0x98000000 next to
the game's 32-bit window, with the OpenXR loader and jsoncpp beside it
(RPATH $ORIGIN); build_linux.sh also packs a release archive.
- OpenXR on SteamVR: EGL surfaceless through XR_MNDX_egl_enable, the
Frame controller profile (both names), a flick or a wrist turn as the
Wii Remote's shake, the D-pad as look; the refresh rate goes to 120 Hz
through vrcmd where the runtime offers only its current rate.
- Timewarp in the app: SteamVR shows frames that arrive in time as they
were rendered, so at 120 Hz every game frame stood still for two
refreshes while the head turned. The game frame's eyes now go into a
scene set, and every refresh composites the last finished set turned
to its own head pose (timewarp.h, checked by tools/timewarp_test and
by the simulator's PETARI_XRSIM_WARP); sharpening runs once per game
frame; the pacing changes only after a new display period has held.
- Fixes found on the way: libstdc++'s <cstdio>/<cwchar> against the MSL
renames (compat.h), language archives a disc carries damaged (cook.py
takes another language's), host allocations on the DVD and DSP
threads, quitting without waiting on the game's threads, case of two
include names.
- ANLEITUNG-STEAM-FRAME.md: the player's guide in German.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A native port built on the Petari decompilation (previous commit): an
HLE platform layer (OS, DVD, GX, audio, input, NAND) under the game's
own code, an OpenXR presentation (a diorama around the player, a giant
screen, the HUD and settings as compositor layers, SpaceWarp, dynamic
resolution), Touch Plus controls, the tools that convert your own game
files (tools/cook, which also takes the few pieces of data the game's
executable holds from your sys/main.dol), and the port's changes to the
decompilation (`git diff petari-base -- decomp`). README.md explains
installing and building, docs/TECHNICAL.md how it works.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The sources of Petari (https://github.com/SMGCommunity/Petari), the
Super Mario Galaxy decompilation by the SMGCommunity, at commit
0a5c6608dc3b4c44a9aa68c2535d1793dc565f02, unchanged but for LF line
endings: LICENSE (as LICENSE-Petari.txt; CC0 1.0), include/, libs/ and
src/. Left out: the game data Petari keeps from the original
executable, the error message archive (include/Game/System/
ErrorArchive.hpp) and two tables (src/Game/System/GalaxyID.bcsv and
StoryEvent.bcsv); GalaxyQuest's converter takes them from the player's
own disc. The port's changes follow in the next commit, so
`git diff petari-base -- decomp` shows them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>