# Build S³ and install it straight into the local game copy for testing. # .\dist\build-local.ps1 # .\dist\build-local.ps1 -Wait # .\dist\build-local.ps1 -ToolsOnly # .\dist\build-local.ps1 -GameDir "X:\path\to\Railroader" -Configuration Debug # # -Wait: build now, then poll until Railroader releases Mods\S3\*.dll and copy. # Use this when the game is open (S3Native.dll stays locked until quit). # # -ToolsOnly: rebuild the reloadable MCP tools DLL and copy it to # Mods\S3\plugins\ while the game is running. The MCP host auto-reloads it. param( [string]$Configuration = "Release", [string]$GameDir = "D:\Seton\SteamApps\steamapps\common\Railroader", [switch]$Wait, [switch]$ToolsOnly ) . (Join-Path $PSScriptRoot "build-common.ps1") if (-not (Test-Path $GameDir)) { throw "GameDir not found: $GameDir" } if ($ToolsOnly) { Invoke-McpToolsBuild -Configuration $Configuration -GameDir $GameDir Write-Host "=== MCP tools copied to $GameDir\Mods\S3\plugins ===" -ForegroundColor Green Write-Host " Host auto-reloads S3.Mcp.Tools.dll (or /s3mcp reload)." return } $managed = Invoke-ManagedBuild -Configuration $Configuration -GameDir $GameDir $native = Invoke-NativeBuild -Configuration $Configuration $modDir = Join-Path $GameDir "Mods\$ModId" New-ModLayout -DestModDir $modDir -ManagedDll $managed -NativeDll $native -Wait:$Wait Invoke-McpToolsBuild -Configuration $Configuration -GameDir $GameDir Write-Host "=== Installed to $modDir ===" -ForegroundColor Green