Consolidates two standalone Railroader mods into one UMM "everything mod" with an optional-module framework. Modules are disabled by default and toggled per-module from the S3 settings page. Core framework: - IModule contract plus ModuleRegistry, with each module owning a Harmony instance scoped by its id so only enabled modules patch the game - Per-module flat JSON settings (SettingsStore). On this Mono runtime JsonUtility silently drops nested custom-class fields, so settings stay flat - Foldout-per-module settings panel plus a detector that offers to disable the old standalone mods if they are still installed Modules (moved over to parity, verified in-game): - Physics Optimizer (was RailroaderPhysicsOverhaul): LOD fast-path and auto-freeze, profiler overlay, debug car tinting, /rpf console commands - Map Popout (was RRPopout): native map detach window. Pure-UMM install that drops the winhttp proxy and LoadLibrary's RRPopout.dll from the mod folder. Native Win32 + D3D11 + Dear ImGui engine included. Fixes a latent break where the now-private MapBuilder.UpdateForZoom() is reached via Traverse. Build: dotnet for the managed assembly (netstandard2.1) and CMake for the native DLL. build-local.ps1 installs into the game, build-release.ps1 packages the UMM drag-install zip.
13 lines
571 B
XML
13 lines
571 B
XML
<Project>
|
|
|
|
<!-- Path to the Railroader install. Every managed HintPath and the native
|
|
install step resolve from this. Override on the command line or via an
|
|
environment variable of the same name if your install lives elsewhere:
|
|
dotnet build /p:GameDir="X:\path\to\Railroader" -->
|
|
<PropertyGroup>
|
|
<GameDir Condition="'$(GameDir)' == ''">D:\Seton\SteamApps\steamapps\common\Railroader</GameDir>
|
|
<GameManaged>$(GameDir)\Railroader_Data\Managed</GameManaged>
|
|
<UmmDir>$(GameManaged)\UnityModManager</UmmDir>
|
|
</PropertyGroup>
|
|
|
|
</Project>
|