KAZIK/tools/tests/test_russian_party.ps1
Artvasil09 881a0061dc Add native NPC visitors with contracts, Clover slots, Pyramid, and party table scenes
Implement 32x32 BFS visitor navigation and daily contracts system with companion .npc journals; add native assembly scenes for Clover slots, Pyramid cards, Blackjack Party and Russian Party; package animation and sprite packs; add comprehensive offline test suites and rebuild shipping binaries.
2026-10-13 09:47:33 +03:00

21 lines
1.4 KiB
PowerShell

param([string]$MasmRoot = 'F:\MASM32\masm32')
$ErrorActionPreference = 'Stop'
$root = (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path
Push-Location $root
try {
& "$MasmRoot\bin\ml.exe" /c /coff /Cp /nologo /Fobuild\actions\russian-party-probe.obj tools\tests\russian_party_probe.asm
if ($LASTEXITCODE -ne 0) { throw 'Russian party 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 = @()
$libraries += '/LIBPATH:' + (Join-Path $sdk.FullName 'um\x86')
$libraries += "/LIBPATH:$MasmRoot\lib"
& "$MasmRoot\bin\link.exe" /nologo /SUBSYSTEM:CONSOLE /ENTRY:RunRRPartyProbe@0 @libraries /OUT:build\actions\russian-party-probe.exe build\actions\russian-party-probe.obj build\actions\actions-test.obj kernel32.lib winmm.lib user32.lib ws2_32.lib gdi32.lib
if ($LASTEXITCODE -ne 0) { throw 'Russian party probe link failed' }
& .\build\actions\russian-party-probe.exe
if ($LASTEXITCODE -ne 0) { throw "Russian party assertion failed: $LASTEXITCODE" }
Write-Output 'PASS: 600 native party matches, elimination/order, locked pool, reloading, render purity and safe exit'
} finally { Pop-Location }