Files
EscapistsReintroduced/docs/evidence/rhs-1.9-compatibility-2026-11-05

Separate 1.9 compatibility addons — 5 November 2026

The separate RHS addon replaces two scripts at their original paths before compilation. It updates SetAuthor(int, bool) and forwards isGM, and replaces access to the removed wheel-index field with GetWheelIndex(). Installed RHS and WCS files were never modified. Reproducible preparation lives in compatibility/rhs-1.9/prepare.py; generated RHS source remains in .local.

The full dependency graph compiles on game and Workbench 1.9.0.37. The normal scenario reaches player spawn. The existing rescue-faction fixture completes 114 behavioral assertions, zero failed assertions and zero script exceptions, including all six faction/crew/capacity selections, two US transport landings, unconscious-survivor boarding, original-player boarding and genuine loaded climb above ten metres. Its pickup is explicitly arranged at the previously surveyed airport location. It protects actors from combat and arranges the phase/signal; this does not qualify smoke input, the full escape-boundary journey, driving, dedicated multiplayer or remote ownership. The final rescue run confirms source and installed dependencies unchanged and successful cleanup.

The strict report still reports inherited resource/property errors. In addition, two actual BMP spawns failed native tire validation. Investigation found WCS's tracked tire config has Tread 2, outside the documented 1.9 range 0..1. A separate WCS addon changes only that value to 1. The bmp-tire fixture then observes all twelve road wheels with their intended 0.32 m radius and a running engine at 600 RPM; no tire-validation failure occurs. That engine start is a direct diagnostic simulation call, not player driving input.

The RHS native pack exits with code 0 and contains exactly the two patched scripts, byte-identical to the generated inputs. WCS is packaged separately. Packaging alone is not Workshop publication. Neither addon nor Escape 0.0.141 has been published or pushed by this work.

Earlier attempts are retained: wheel-probe compiled but Steam was absent after a host restart; escape-probe disappeared during world loading with no recorded cause; exit-diagnostic reached gameplay but rejected the historical hillside pickup; normal-route prepared/spawned successfully but its old assertion still expected a parked helicopter. The current mission instead dispatches rescue after the signal, so the existing modern rescue fixture was used for behavioral validation. Initial pre-restart scratch logs were lost with /tmp; no archived log is claimed for those runs.

Package runs can leave one Wine helper after ordinary runner shutdown. Separate recovery-cleanup.json records confirm termination restricted to this task's disposable prefix and subsequent idle verification; original failed cleanup records remain unchanged. All native tests used hidden displays and muted audio.