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.
43 lines
1.1 KiB
NASM
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
|