KAZIK/tools/tests/street_asset_probe.asm
Artvasil09 3ad5bf4c9d Develop assembly-only casino scenes and native games
Add native Durak, poker, blackjack, roulette, Buckshot and billiards scenes with animation assets and regression tests. Improve arrival, city, hall, profiles, shops, audio and exit handling; remove the portable C game core and refresh shipping executables.
2026-10-08 22:39:19 +03:00

43 lines
1.1 KiB
NASM

.386
.model flat,stdcall
option casemap:none
include F:\MASM32\masm32\include\windows.inc
include F:\MASM32\masm32\include\kernel32.inc
InitPaths3D PROTO
LoadAnimPack3D PROTO :DWORD,:DWORD
FreeAnimPack3D PROTO :DWORD
.data
streetPack dd 6 dup(0)
streetPath db "assets\animations\hall\street-life-v4.bin",0
missingPath db "assets\animations\hall\__missing_street_probe__.bin",0
.code
RunStreetAssetProbe PROC
call InitPaths3D
invoke LoadAnimPack3D,OFFSET streetPack,OFFSET streetPath
cmp eax,1
jne probe_failed
cmp streetPack[4],192
jne probe_failed
cmp streetPack[8],320
jne probe_failed
cmp streetPack[12],40
jne probe_failed
cmp streetPack[20],0
je probe_failed
invoke FreeAnimPack3D,OFFSET streetPack
; Rejecting a missing asset must not leave a plausible loaded header behind.
invoke LoadAnimPack3D,OFFSET streetPack,OFFSET missingPath
test eax,eax
jnz probe_failed
xor ecx,ecx
probe_empty:
cmp streetPack[ecx*4],0
jne probe_failed
inc ecx
cmp ecx,6
jb probe_empty
invoke ExitProcess,0
probe_failed:
invoke ExitProcess,1
RunStreetAssetProbe ENDP
END