Add native assembly scenes and assets for Slots (777), Coin flip, and European Roulette; add 3D hall furniture packs and prompts; improve Russian UI strings in CP1251; update launcher hash and rebuild shipping binaries.
85 lines
2 KiB
PHP
85 lines
2 KiB
PHP
.data
|
|
unavailableTestIds3D dd INTERACT_SLOTS_CLOVER
|
|
dd INTERACT_ONLINE_RR,INTERACT_UMAMUSUME,INTERACT_HELL_TOWER,INTERACT_TERMINAL,INTERACT_OBSERVER
|
|
unavailableTestPath3D db "build\actions\unavailable.bmp",0
|
|
.code
|
|
RunUnavailableTest3D PROC uses ebx esi edi
|
|
local oldBank:DWORD,oldMode:DWORD,oldX:DWORD,oldY:DWORD,oldAngle:DWORD
|
|
mov eax,bankroll
|
|
mov oldBank,eax
|
|
mov eax,engineMode
|
|
mov oldMode,eax
|
|
mov eax,playerX
|
|
mov oldX,eax
|
|
mov eax,playerY
|
|
mov oldY,eax
|
|
mov eax,playerAngle
|
|
mov oldAngle,eax
|
|
xor esi,esi
|
|
unavailable_test_next:
|
|
mov engineMode,MODE_WALK
|
|
mov eax,unavailableTestIds3D[esi*4]
|
|
mov interactTargetId,eax
|
|
call Trigger3DInteraction
|
|
cmp engineMode,MODE_UNAVAILABLE
|
|
jne unavailable_test_fail
|
|
call TableBusy3D
|
|
test eax,eax
|
|
jnz unavailable_test_fail
|
|
; No input: stay open, without blocking the frame loop.
|
|
call HandleUnavailable3D
|
|
cmp engineMode,MODE_UNAVAILABLE
|
|
jne unavailable_test_fail
|
|
call RenderUnavailable3D
|
|
cmp esi,0
|
|
jne @F
|
|
invoke WriteActionSnapshot3D,OFFSET unavailableTestPath3D
|
|
test eax,eax
|
|
jz unavailable_test_fail
|
|
@@:
|
|
mov eax,esi
|
|
and eax,3
|
|
cmp eax,3
|
|
je unavailable_test_click
|
|
mov ebx,20h
|
|
cmp eax,0
|
|
jne @F
|
|
mov ebx,45h
|
|
@@:
|
|
cmp eax,2
|
|
jne @F
|
|
mov ebx,0Dh
|
|
@@:
|
|
mov pressedKeys3D[ebx],1
|
|
jmp unavailable_test_close
|
|
unavailable_test_click:
|
|
mov mouseX3D,160
|
|
mov mouseY3D,145
|
|
mov mouseClick3D,1
|
|
unavailable_test_close:
|
|
call HandleUnavailable3D
|
|
cmp engineMode,MODE_WALK
|
|
jne unavailable_test_fail
|
|
mov eax,oldBank
|
|
cmp bankroll,eax
|
|
jne unavailable_test_fail
|
|
mov eax,oldX
|
|
cmp playerX,eax
|
|
jne unavailable_test_fail
|
|
mov eax,oldY
|
|
cmp playerY,eax
|
|
jne unavailable_test_fail
|
|
mov eax,oldAngle
|
|
cmp playerAngle,eax
|
|
jne unavailable_test_fail
|
|
inc esi
|
|
cmp esi,6
|
|
jb unavailable_test_next
|
|
mov eax,oldMode
|
|
mov engineMode,eax
|
|
xor eax,eax
|
|
ret
|
|
unavailable_test_fail:
|
|
mov eax,270
|
|
ret
|
|
RunUnavailableTest3D ENDP
|