MacGameVideoFix 4.8.1 — a bundle a launcher can download, and no python to run it
This release adds an asset: fixes-v4.8.1.tar.gz, everything needed to apply a per-game fix and nothing else. Ten installers, the carrier DLL each one names, the export reader, and a manifest saying which belongs to which game. 620 KB, flat, no external dependency.
It exists so a launcher can fetch the fixes without shipping them, and so a new title arrives by publishing a release rather than by rebuilding somebody else's application.
PE exports are read with perl now. /usr/bin/python3 is not Python: it is one of 78 hard links to the same xcrun dispatcher, the same inode as /usr/bin/git and /usr/bin/clang. On a Mac with developer tools it dispatches to a real interpreter; on a clean one it opens the install-developer-tools dialog and fails. A machine that has Xcode is exactly the machine that cannot notice this. /usr/bin/perl is real, and unpack is made for reading binary headers. Verified identical output on twelve DLLs, and verified to run under env -i.
A bottle is addressed by its path, not its name. wine --bottle takes a name and resolves it under that engine's own bottle directory, so a fix could not reach a bottle kept anywhere else. Worse than not reaching it: measured on a stock engine, --bottle SteamArm resolved to a same-named bottle in the default root — macOS does not distinguish the case — and the override would have landed in a bottle the user never plays in, silently. Every registry write now names the root explicitly.
The manifest records the commit it was built from, whether the tree was clean and whether that commit is a released tag, so an asset that cannot be rebuilt from its own release says so.
Verify with:
shasum -a 256 -c fixes-v4.8.1.tar.gz.sha256