- Add costume burst upgrades with durable replay and fix permanent SR equipment gacha. - Add server game.json rules for optional collaboration UR weapons, with packaging and documentation. - Add GameNames/GameSdk NuGet tooling, readable types, reobfuscation, complete source/PDB navigation and shared-runtime installation. - Split plugin responsibilities, prefer typeof/nameof, centralize MSBuild settings and ignore local paths; remove the unused LoginUI test project. - Fix login recovery and TLS through native platform HTTP and a private game relay; read device region directly from the OS time zone. Validation: go test ./... -count=1, go vet ./..., plugin Release builds, SDK/runtime self-tests, Roslyn embedded-source navigation, gofmt check and git diff --check.
26 lines
1.4 KiB
PowerShell
26 lines
1.4 KiB
PowerShell
[CmdletBinding()]
|
|
param(
|
|
[Parameter(Mandatory)] [string]$GameDir,
|
|
[Parameter(Mandatory)] [string]$GameMapping,
|
|
[string]$VersionConfig
|
|
)
|
|
$ErrorActionPreference = 'Stop'
|
|
if (-not $VersionConfig) { $VersionConfig = Join-Path $PSScriptRoot '..\..\versions.json' }
|
|
$repository = [IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..\..'))
|
|
$staging = Join-Path $repository ('.build\names-update\' + [guid]::NewGuid().ToString('N'))
|
|
New-Item -ItemType Directory -Force -Path $staging | Out-Null
|
|
function Invoke-Dotnet([string[]]$Arguments) {
|
|
& dotnet @Arguments
|
|
if ($LASTEXITCODE -ne 0) { throw "dotnet failed with exit code $LASTEXITCODE" }
|
|
}
|
|
Invoke-Dotnet @('build', (Join-Path $PSScriptRoot 'GameSdk.csproj'), '-c', 'Release', '--nologo')
|
|
$tool = Join-Path $PSScriptRoot 'bin\Release\net8.0\GameSdk.dll'
|
|
$assembly = Join-Path $GameDir 'BrownDust II_Data\Managed\Assembly-CSharp.dll'
|
|
$table = Join-Path $staging 'names.json'
|
|
Invoke-Dotnet @($tool, 'names', $assembly, $GameMapping, $VersionConfig, $table)
|
|
# Validate the full metadata transformation before replacing the checked-in table.
|
|
Invoke-Dotnet @($tool, 'shell', $table, $assembly, (Join-Path $staging 'Assembly-CSharp.Readable.dll'))
|
|
$destination = Join-Path $PSScriptRoot '..\GameNames\Mappings\names.json.gz'
|
|
Copy-Item -LiteralPath "$table.gz" -Destination $destination -Force
|
|
Write-Host "Updated SDK/runtime shared table: $destination. Rebuild SDK and plugins, then pack a new version."
|