Bug-fix release on top of v0.2.1.1.
Audio
- #111
SequenceReader::PlayerMainSIGSEGV after Vaati-takeover and other heavy BGM-change moments. Reserve the players vector capacity at construction so the storage never reallocates, and iterate by bounds-checked index instead of a stored reference (3ddd5338). - #115 Low-pass biquad in
Port_Audio_PostProcesshadkLpA1stored with the wrong sign, giving ~3× DC gain. Soft-clip then squashed everything — the "horribly compressed intro audio" reported on Linux Bazzite. Restored canonical sign (2dff09ed). - #117 Picori Forest BGM stayed ducked after the heart-piece jingle finished because the "is the SFX player still playing?" probe stayed stuck. Added a 10-second timeout in
AudioMainand clear the duck onInitVolume(room change / new BGM) so the workaround the user already discovered also fixes it automatically (4a054a90).
Gameplay
- #84 Castor Wilds muddy water: Link no longer disappears. Includes a port-side sink enforcer that samples the actTile under Link directly and progressively clips his sprite as
surfaceTimergrows (full body → feet hidden → torso hidden → head only), with damage + reset on full sink (2b0e8596,4ebe218f). - #116 Same Object70
flipY=3bug also hid Link's sprite during stair transitions; covered by the same fix (2b0e8596).
Debug-menu UI
- #76 Warp tab: L1/R1 bumpers + PgUp/PgDn page-jump the area list, Home/End jump to the ends, A–Z letter strip filters by area initial (
6b695cd9). - #94 Warp tab: curated per-(area, room) safe-spawn override table for high-traffic rooms whose centre is a wall; plus a post-warp collision spiral nudge that snaps Link to the nearest walkable tile for any warp anywhere (
6b695cd9,92894758). - #94 follow-up Null-area filter + named-but-broken deny-list (Simon's Sim) hides destinations that crash during room load.
- #118 VSync checkbox in the Display tab; the renderer already opted into vsync on init but it wasn't exposed (
4a054a90).
Quality of life
- In-game rebind UI in the Controls ribbon tab — Set / Clear per action, capture popup, Reset-to-defaults; rebinds persist to
config.json(6a6b0e94). - Save-states, autosave, multi-profile EEPROM (
5e6e33d0from earlier). - Dear ImGui ribbon menu (Items, Display, Saves, Profiles, Equip, Controls, Warp) replacing the SDL overlay; Steam-Deck-friendly font scale + gamepad nav; faint corner glyph for mouse / touch users (
805ecf5ffrom earlier).
Tarball contents
tmc_pc, asset_extractor, sounds.json, libSDL3.so.0, libgomp.so.1. Drop baserom.gba next to tmc_pc; assets self-extract on first run. Linux x86_64 only.
Full Changelog: v0.2.1.1...v0.2.2.0