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.
64 lines
1.7 KiB
PHP
64 lines
1.7 KiB
PHP
; A nonblocking native modal never starts a console game or changes a stake.
|
|
.code
|
|
BeginUnavailable3D PROC uses esi edi
|
|
lea esi, screenBuffer
|
|
lea edi, unavailableBackground3D
|
|
mov ecx, SCREEN_SIZE
|
|
rep movsd
|
|
mov engineMode, MODE_UNAVAILABLE
|
|
mov paused3D, 0
|
|
call ClearKeys3D
|
|
mov mouseClick3D, 0
|
|
ret
|
|
BeginUnavailable3D ENDP
|
|
|
|
HandleUnavailable3D PROC
|
|
invoke Pressed3D, 45h
|
|
test eax, eax
|
|
jnz unavailable_close
|
|
invoke Pressed3D, 20h
|
|
test eax, eax
|
|
jnz unavailable_close
|
|
invoke Pressed3D, 0Dh
|
|
test eax, eax
|
|
jnz unavailable_close
|
|
cmp mouseClick3D, 0
|
|
je unavailable_input_done
|
|
cmp mouseX3D, 128
|
|
jb unavailable_input_done
|
|
cmp mouseX3D, 192
|
|
ja unavailable_input_done
|
|
cmp mouseY3D, 135
|
|
jb unavailable_input_done
|
|
cmp mouseY3D, 155
|
|
ja unavailable_input_done
|
|
unavailable_close:
|
|
mov engineMode, MODE_WALK
|
|
call ClearKeys3D
|
|
unavailable_input_done:
|
|
mov mouseClick3D, 0
|
|
ret
|
|
HandleUnavailable3D ENDP
|
|
|
|
RenderUnavailable3D PROC uses esi edi
|
|
lea esi, unavailableBackground3D
|
|
lea edi, screenBuffer
|
|
mov ecx, SCREEN_SIZE
|
|
rep movsd
|
|
cmp engineMode, MODE_UNAVAILABLE
|
|
jne unavailable_render_done
|
|
lea edi, screenBuffer
|
|
mov ecx, SCREEN_SIZE
|
|
unavailable_dim:
|
|
mov eax, [edi]
|
|
and eax, 00FEFEFEh
|
|
shr eax, 1
|
|
stosd
|
|
loop unavailable_dim
|
|
invoke DrawBoxBorder, 52, 88, 216, 80, 00171D20h, 00B49D63h, 1
|
|
invoke DrawString8x8, 84, 108, OFFSET unavailableText3D, 00ECD9A8h
|
|
invoke DrawBoxBorder, 128, 135, 64, 20, 00303C3Ch, 006C7E7Eh, 1
|
|
invoke DrawString8x8, 132, 142, OFFSET unavailableClose3D, 00FFFFFFh
|
|
unavailable_render_done:
|
|
ret
|
|
RenderUnavailable3D ENDP
|