#475
Terraria: pin wine to its directory and heap fixes; drop a dead process's directory listings
Requested by Cameron · project thread
The Madeira half of the willfaust/wine pull request "ntdll iOS: Terraria runs" (insertfloppy/wine, branch madeira/terraria-dir-and-heap), which gets Terraria (105600) running on iPhone. Merge after that PR. If you'd rather pin wine in your next wave, only the server_ios.c change is needed from here.
Changes
- wine: pinned to the wine PR's head (three commits on madeira-lgpl df1c5ea5, the current pin): directories read by path instead of through the shared cwd, a directory cache per process, and executable heap blocks flushed from the translator.
- build/ntdll-unix/server_ios.c:
server_init_process_donecallsmadeira_dir_cache_flush_pid()next tomadeira_fast_flush_pid(). The server reissues dead processes' ids, so a new process drops the directory listings a dead one with its id left behind.
Testing
Confirmed on device (iPhone, sideloaded build 34): Terraria loads its assets, makes a character, builds a world and plays. That build had the same changes on the previous wine pin (9129e968). This branch is rebased onto main e96065a0; it is not compiled or device-tested on that base yet.
🤖 Generated with Claude Code