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.
86 lines
2.5 KiB
PHP
86 lines
2.5 KiB
PHP
; Native two-player Durak. The legacy hand/table arrays are shared only with
|
|
; bounded rule helpers; no console input or classic game loop is called.
|
|
MODE_DURAK equ 19
|
|
DK_IDLE equ 0
|
|
DK_DEAL equ 1
|
|
DK_TURN equ 2
|
|
DK_FLIGHT equ 3
|
|
DK_SWEEP equ 4
|
|
DK_RESULT equ 5
|
|
DK_ATTACK equ 0
|
|
DK_DEFEND equ 1
|
|
DK_TRANSFER equ 2
|
|
DK_PAGE_SIZE equ 8
|
|
|
|
InitNativeDurak3D PROTO
|
|
StartNativeDurak3D PROTO
|
|
NativeDurakSettle3D PROTO result:DWORD
|
|
DurakBeginBout3D PROTO
|
|
DurakPlay3D PROTO actor:DWORD,index:DWORD,kind:DWORD
|
|
DurakCanPlay3D PROTO actor:DWORD,index:DWORD,kind:DWORD
|
|
DurakCanTransfer3D PROTO actor:DWORD,card:DWORD
|
|
DurakTake3D PROTO actor:DWORD
|
|
DurakFinish3D PROTO actor:DWORD
|
|
DurakFindMove3D PROTO actor:DWORD,kind:DWORD
|
|
DurakRefill3D PROTO actor:DWORD
|
|
DurakCardValue3D PROTO card:DWORD
|
|
DurakMoveSelection3D PROTO amount:SDWORD
|
|
HandleNativeDurak3D PROTO
|
|
RenderNativeDurak3D PROTO
|
|
|
|
.data
|
|
dkState3D dd DK_IDLE
|
|
dkBet3D dd 100
|
|
dkStake3D dd 0
|
|
dkVariant3D dd 0
|
|
dkOutcome3D dd 0
|
|
dkError3D dd 0
|
|
dkTimer3D dd 0
|
|
dkAttacker3D dd 0 ; 0: player, 1: AI
|
|
dkOriginal3D dd 0
|
|
dkLimit3D dd 6
|
|
dkTaking3D dd 0
|
|
dkActor3D dd 0
|
|
dkSelection3D dd 0
|
|
dkPage3D dd 0
|
|
dkDeck3D dd 52 dup(0)
|
|
dkCursor3D dd 0
|
|
dkDiscard3D dd 36 dup(0)
|
|
dkDiscardCount3D dd 0
|
|
dkBouts3D dd 0
|
|
dkPendingCard3D dd 0FFFFFFFFh
|
|
dkPendingActor3D dd 0
|
|
dkPendingKind3D dd 0
|
|
dkPendingSlot3D dd 0
|
|
dkPendingX3D dd 0
|
|
dkPendingY3D dd 0
|
|
dkTargetX3D dd 0
|
|
dkTargetY3D dd 0
|
|
dkTitle3D db 196,243,240,224,234,0
|
|
dkAttackText3D db 192,242,224,234,224,0
|
|
dkDefendText3D db 199,224,249,232,242,224,0
|
|
dkTakeText3D db 194,231,255,242,252,0
|
|
dkTransferText3D db 207,229,240,229,226,238,228,0
|
|
dkDoneText3D db 193,232,242,238,0
|
|
dkThrowText3D db 207,238,228,234,232,237,243,242,252,0
|
|
dkPlayText3D db 213,238,228,0
|
|
dkNextText3D db 200,227,240,224,242,252,0
|
|
dkPodkidText3D db 207,238,228,234,232,228,237,238,233,0
|
|
dkPerevodText3D db 207,229,240,229,226,238,228,237,238,233,0
|
|
dkVariantNames3D dd OFFSET dkPodkidText3D, OFFSET dkPerevodText3D
|
|
dkWaitText3D db 213,238,228,32,228,232,235,229,240,224,0
|
|
dkDealText3D db 208,224,231,228,224,247,224,0
|
|
dkTakingText3D db 196,232,235,229,240,32,225,229,240,184,242,0
|
|
dkCollectText3D db 209,225,238,240,32,234,224,240,242,0
|
|
dkWinText3D db 207,238,225,229,228,224,0
|
|
dkLoseText3D db 207,238,240,224,230,229,237,232,229,0
|
|
dkDrawText3D db 205,232,247,252,255,0
|
|
dkResults3D dd OFFSET dkWinText3D, OFFSET dkLoseText3D, OFFSET dkDrawText3D
|
|
dkIllegalText3D db 205,229,235,252,231,255,0
|
|
dkDeckText3D db 202,238,235,238,228,224,0
|
|
dkAIText3D db 196,232,235,229,240,0
|
|
dkLimitText3D db 203,232,236,232,242,0
|
|
dkPageText3D db '/',0
|
|
dkLeftText3D db '<',0
|
|
dkRightText3D db '>',0
|
|
.code
|