railroader-setons-special-s.../Directory.Build.props
seton a1fcf01125 Initial commit: S3 - Seton's Special Sauce v0.2.0
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.
2026-06-17 14:17:41 -04:00

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>