KAZIK/tools/tests/test_street_asset_paths.ps1
Artvasil09 797ee366dc feat: implement upper lounge, manual stairs, cabaret, and casino terminals
- Native player-controlled stairs, upper lounge bar, and Hell Tower infernal portal
- Cabaret stage with musical acts, audience seating, and interaction
- Dedicated cash/trophy wall terminals with native balance and achievement screens
- Projecting 3D wall lanterns with ray/plane intersection
- Six roaming guests with seated poses and card rank rendering updates
- Synchronized launcher hash and updated binaries
2026-10-18 21:36:12 +03:00

30 lines
1.7 KiB
PowerShell

param(
[string]$MasmRoot = 'F:\MASM32\masm32',
[string]$GameObject = 'build\graphics\poker.obj'
)
$ErrorActionPreference = 'Stop'
$root = (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path
Push-Location $root
try {
& "$MasmRoot\bin\ml.exe" /c /coff /Cp /nologo "/I$MasmRoot\include" /Fobuild\actions\street-asset-probe.obj tools\tests\street_asset_probe.asm
if ($LASTEXITCODE -ne 0) { throw 'Street loader probe assembly failed' }
$sdkRoot = Join-Path ${env:ProgramFiles(x86)} 'Windows Kits\10\Lib'
$sdk = Get-ChildItem -LiteralPath $sdkRoot -Directory |
Sort-Object Name -Descending |
Where-Object { Test-Path -LiteralPath (Join-Path $_.FullName 'um\x86\kernel32.lib') } |
Select-Object -First 1
$libraries = @()
if ($sdk) { $libraries += '/LIBPATH:' + (Join-Path $sdk.FullName 'um\x86') }
$libraries += "/LIBPATH:$MasmRoot\lib"
& "$MasmRoot\bin\link.exe" /nologo /SUBSYSTEM:CONSOLE /ENTRY:RunStreetAssetProbe@0 @libraries /OUT:build\actions\street-asset-probe.exe build\actions\street-asset-probe.obj $GameObject kernel32.lib winmm.lib user32.lib ws2_32.lib gdi32.lib
if ($LASTEXITCODE -ne 0) { throw 'Street loader probe link failed' }
$probe = Join-Path $root 'build\actions\street-asset-probe.exe'
foreach ($directory in @($root, [IO.Path]::GetTempPath())) {
Push-Location $directory
try {
& $probe
if ($LASTEXITCODE -ne 0) { throw "Street pack failed to load from $directory" }
} finally { Pop-Location }
}
Write-Output 'PASS: shipping MASM loader loads game packs, street/alley, hall furniture, terminals/lanterns, six guests, cabaret quartet and upper-floor materials from root/TEMP and clears failed headers'
} finally { Pop-Location }