Replace the bare-bones stock map with a full Dear ImGui in-game overlay (M key). The overlay shares the same toolbar and compass as the OS popout window: Follow, Pop Out, Gear, rotation compass. Pop Out button is now in the bottom toolbar where it is actually visible. Pressing it (or F10) closes the overlay, waits 0.5 s for the camera to release, then opens the OS popout window. Closing the popout restores the overlay if it was running when the launch was triggered. Pressing M while the popout is open closes the popout and reopens the overlay. Harmony patches intercept MapWindow.Toggle and Show so base-game "Show on map" links and the map hotkey both route through the S3 overlay. MapBypass lets internal S3 calls through without triggering the patch recursively. Camera ownership is enforced in LateUpdate so no base-game script can reset targetTexture before the camera renders. Object.Destroy replaces Release() on both RT teardown paths so the D3D address stays live until end-of-frame and cannot be recycled into a new RT mid-frame. |
||
|---|---|---|
| dist | ||
| native | ||
| src | ||
| .gitignore | ||
| Directory.Build.props | ||
| Info.json | ||
| README.md | ||
S³ - Seton's Special Sauce
An umbrella "everything mod" for Railroader, built on Unity Mod Manager.
S³ is a thin core that hosts independent, optional modules, each disabled by default. Open the S³ settings page in the UMM in-game menu and expand a module's foldout to enable and configure it. Module enable/disable applies on the next game launch.
I originally planned on releasing individual mods, but considering my workflow of just making what I want when I want it, I figured a unified platform for all my tweaks and additions would be more convenient for myself (one repo to manage) and the community.
Modules
| Module | What it does |
|---|---|
| Physics Optimizer | Cuts CPU spent on train physics (LOD fast-path + auto-freeze), with a profiler overlay and debug car tinting. Console: /rpf |
| Map Popout | Detaches the in-game map into a separate resizable window for a second monitor. Optional MapEnhancer integration. |
Both are disabled by default - You must enable them per-module from the S³ settings page, a game restart is required for this to take effect. More modules will follow - S³ is designed to grow.
Migrating from the standalone mods
S³ replaces the separate Physics Optimizer (RailroaderPhysicsOverhaul) and
PopOut Windows (RRPopout) mods. Uninstall those before installing S³.
Settings do not carry over, so re-configure each module from the S³ settings page.
If these mods are detected you will be prompted to disable them in the S³ settings page.
Building
Requires the .NET SDK (dotnet). The native module additionally needs CMake +
the MSVC toolchain.
- Local test install:
.\dist\build-local.ps1builds and copies into the game'sMods\S3\folder. - Release zip:
.\dist\build-release.ps1producesdist\SetonsSpecialSauce-<version>.zipfor upload.
The game install path is set once in Directory.Build.props
(GameDir); override per-build with /p:GameDir=... or the build script's
-GameDir parameter.
Layout
src/ single managed assembly (S3.dll, netstandard2.1)
Main.cs UMM entry point
Core/ module framework: IModule, registry, settings, settings panel
Modules/ one folder per module
native/ shared Win32 + D3D11 + Dear ImGui external-window UI engine
dist/ build + packaging scripts