Files
EscapistsReintroduced/compatibility/rhs-1.9/README.md
T
jakub 9caed3f12d
continuous-integration/drone/push Build is passing
Embed RHS 1.9 compatibility; record Workshop 0.0.141
2026-11-05 16:39:35 +01:00

3.8 KiB

RHS 1.9 compatibility

Embedded in Escape

The same two replacements can live directly in Escape. Prepare them before opening Workbench, testing, or packaging a fresh checkout:

python3 compatibility/rhs-1.9/prepare.py \
  --rhs '/path/to/addons/RHS-StatusQuo_595F2BF2F44836FB' \
  --mission addons/core

This keeps Escape's project identity and existing RHS dependency unchanged. No standalone compatibility addon is required. The generated scripts are ignored by Git but included by Workbench in Escape's package. Installed RHS files stay untouched. The command validates both upstream hashes, refuses to overwrite local edits, and can be repeated for identical inputs. A new RHS version requires review and removal or regeneration of both replacements; they must not mask upstream fixes.

Credit Red Hammer Studios and link its EULA in Escape's Workshop description. The RHS derivative terms require public, noncommercial distribution under a similar non-derivative license. Do not redistribute generated RHS source in Git or development-source downloads. The separate WCS patch is not embedded here.

The embedded layout passed native compilation and normal mission startup through player spawn on 1.9.0.37. Native packing succeeded and both replacements match the inputs inside Escape's PAK. See the embedded test evidence. It was published inside Escape 0.0.141 after successful Workshop upload and backend processing. Inherited dependency diagnostics remain.

Standalone experiment

Separate addon for RHS Status Quo 0.16.5237 and Reforger 1.9.0.37. It uses same-path script replacement to fix declarations before compilation:

  • Accept and forward isGM in RHS_CAS_EditableEntityComponent.SetAuthor.
  • Use WheelSlotInfo.GetWheelIndex() instead of the removed wheel-index field.

prepare.py reads the two scripts from the installed RHS package, verifies their exact hashes, and generates the patched addon in a new local directory. It never changes installed Workshop files. This directory contains the patch recipe and project definition; generated RHS source stays in ignored local storage.

From the repository root:

python3 compatibility/rhs-1.9/prepare.py \
  --rhs '/path/to/addons/RHS-StatusQuo_595F2BF2F44836FB' \
  --output '.local/rhs-19-addon'

For an isolated test, add dependency E119F1C05A274B83 to the test copy of Escape's addon.gproj, and expose the generated addon through its addon search directory. Keep the original RHS dependency. The GUID is a local project identity, not a published Workshop ID.

Both changes pass native compilation of GameLib, Game and WorkbenchGame with Escape's complete RHS/WCS/BMP/Parachute dependency graph on 1.9.0.37. The current scenario prepares and spawns the player. The six-faction rescue fixture completes 114 assertions with no assertion failures or script exceptions: faction-matched crews and cargo capacity, two physical landings, wounded boarding, and loaded airborne departure. This is local Workbench evidence, not multiplayer or general vehicle-handling qualification. Both replaced scripts are byte-identical in the native packed output. No Workshop publication has been performed.

The full logs also exposed a WCS BMP tire initialization failure. A separate local WCS experiment is not included in the published mission. Other inherited resource/property diagnostics remain in the logs; the strict all-errors report is not clean. See native evidence.

References: Bohemia's script replacement documentation and RHS derivative-content terms. Workshop publication requires review of the generated files and these terms.