- Billiards: add native Russian Pyramid & American Eight-Ball pool with physics prediction, controls, and regression tests - Scratch Tickets: add dedicated counter, mat presentation, elliptical coin scraping, 4 ticket types, and payout effects - First-Person Dice: add native dice scene, hand anchor frames, throwing animation, and table perspective - City Wake & Weather: add arrival cutscene, alley geometry, weather/rain effects, and lighter/rocker animation - World Dressing: add hall paintings, furniture packs, hall lighting, and scene regression tests - Build & Tooling: update build.bat for modern MSVC toolchain, update launcher hash, and refresh shipping binaries
21 lines
1.4 KiB
PowerShell
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 {
|
|
& 'C:\Python314\python.exe' tools\tests\prepare_billiards_module.py
|
|
if ($LASTEXITCODE -ne 0) { throw 'Billiards helper preparation failed' }
|
|
& "$MasmRoot\bin\ml.exe" /c /coff /Cp /nologo /I. /Fobuild\billiards\module.obj tools\tests\billiards_module.asm
|
|
if ($LASTEXITCODE -ne 0) { throw 'Billiards module assembly failed' }
|
|
$sdk = Get-ChildItem -LiteralPath "${env:ProgramFiles(x86)}\Windows Kits\10\Lib" -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:BilliardsModuleStart@0 @libraries /OUT:build\billiards\module.exe build\billiards\module.obj build\billiards\helpers.obj kernel32.lib winmm.lib user32.lib ws2_32.lib gdi32.lib
|
|
if ($LASTEXITCODE -ne 0) { throw 'Billiards module link failed' }
|
|
& .\build\billiards\module.exe
|
|
if ($LASTEXITCODE -ne 0) { throw "Eight-ball native regression failed at case $LASTEXITCODE" }
|
|
Write-Output 'PASS: fresh MASM billiards with real native graphics/input helpers'
|
|
} finally { Pop-Location }
|