KAZIK/src_graphics/card_tables_data.inc
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

180 lines
5.2 KiB
PHP

; Real card identities: suit*13 + rank (2..A). Cards are never sampled with replacement.
MODE_POKER equ 12
TABLE_FLIGHT_MS equ 360
PK_IDLE equ 0
PK_DEAL equ 1
PK_PLAYER equ 2
PK_AI equ 3
PK_BOARD equ 4
PK_RESULT equ 5
PK_REVEAL equ 6
CB_IDLE equ 0
CB_DEAL equ 1
CB_PLAYER equ 2
CB_HIT equ 3
CB_DEALER equ 4
CB_RESULT equ 5
LoadCardTableAssets3D PROTO
FreeCardTableAssets3D PROTO
RenderCardTable3D PROTO
ShuffleCards3D PROTO :DWORD
DrawNativeCard3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
DrawNativeSuit3D PROTO :DWORD,:DWORD,:DWORD,:DWORD
DrawNativeChips3D PROTO :DWORD,:DWORD,:DWORD,:DWORD
DrawSlidingCard3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
LookupPokerFive3D PROTO :DWORD
EvaluateNativePoker3D PROTO :DWORD,:DWORD
NativePokerClass3D PROTO :DWORD
InitNativePoker3D PROTO
StartNativePoker3D PROTO
HandleNativePoker3D PROTO
RenderNativePoker3D PROTO
PokerPay3D PROTO :DWORD,:DWORD
PokerCall3D PROTO :DWORD
PokerRaise3D PROTO :DWORD,:DWORD
PokerFold3D PROTO :DWORD
PokerNextTurn3D PROTO :DWORD
PokerNextStreet3D PROTO
PokerShowdown3D PROTO
PokerAIDecide3D PROTO
InitNativeBlackjack3D PROTO
HandleNativeBlackjack3D PROTO
RenderNativeBlackjack3D PROTO
NativeBJScore3D PROTO :DWORD,:DWORD
NativeBJSettle3D PROTO :DWORD
TableBusy3D PROTO
StartNativeBlackjack3D PROTO
NativeBJHit3D PROTO
CardTableMouse3D PROTO :DWORD
DrawTableButton3D PROTO :DWORD,:DWORD,:DWORD
DrawTableHeader3D PROTO :DWORD,:DWORD
DrawStakeControls3D PROTO :DWORD
RenderPokerHole3D PROTO :DWORD,:DWORD,:DWORD,:DWORD
RequestCardExit3D PROTO
CardTableEscape3D PROTO
HandleCardExit3D PROTO
LeaveCardTable3D PROTO
RenderCardExit3D PROTO
.data
cardExitActive3D dd 0
cardExitChoice3D dd 0
cardExitButton3D db 194,32,245,238,235,235,0
cardExitTitle3D db 207,238,234,232,237,243,242,252,32,241,242,238,235,63,0
cardExitWarning3D db 208,224,231,228,224,247,224,32,229,249,184,32,237,229,32,231,224,234,238,237,247,229,237,224,46,0
cardExitStake3D db 209,242,224,226,234,224,32,225,243,228,229,242,32,239,238,242,229,240,255,237,224,46,0
cardExitContinue3D db 207,240,238,228,238,235,230,232,242,252,0
cardExitLeave3D db 194,251,233,242,232,0
cardTablePixels3D dd 0
cardTableHeap3D dd 0
cardRanks3D dd 0
cardRanksHeap3D dd 0
cardTableHeader3D dd 4 dup(0)
cardRanksHeader3D dd 4 dup(0)
cardTablePath3D db "assets\textures\card-table.bin",0
cardRanksPath3D db "assets\data\poker-ranks.bin",0
cardRankNames3D db "2",0,"3",0,"4",0,"5",0,"6",0,"7",0,"8",0,"9",0,"T",0,"J",0,"Q",0,"K",0,"A",0
cardSuitMasks3D db 18h,3Ch,18h,7Eh,0FFh,7Eh,18h,3Ch
db 18h,3Ch,7Eh,0FFh,7Eh,3Ch,18h,0
db 66h,0FFh,0FFh,7Eh,3Ch,18h,0,0
db 18h,3Ch,7Eh,0FFh,0FFh,5Ah,18h,3Ch
cardPrimes3D dd 2,3,5,7,11,13,17,19,23,29,31,37,41
pkState3D dd PK_IDLE
pkTimer3D dd 0
pkBlind3D dd 50
pkStreet3D dd 0
pkButton3D dd 1
pkTurn3D dd 0
pkPot3D dd 0
pkCurrent3D dd 0
pkMinRaise3D dd 50
pkRaise3D dd 50
pkRaisedCount3D dd 0
pkStack3D dd 0
pkPaid3D dd 2 dup(0)
pkActed3D dd 2 dup(0)
pkCanRaise3D dd 1
pkDeck3D dd 52 dup(0)
pkCursor3D dd 4
pkHole3D dd 4 dup(0)
pkBoard3D dd 5 dup(0)
pkBoardCount3D dd 0
pkOldBoardCount3D dd 0
pkResult3D dd 0
pkOutcome3D dd 0
pkScore3D dd 2 dup(7462)
pkEvalHand3D dd 7 dup(0)
pkAiMessage3D dd 0
pkError3D dd 0
pkChipActor3D dd 0
pkChipAmount3D dd 0
pkChipTimer3D dd 320
pkTitle3D db "TEXAS HOLD'EM",0
pkPotText3D db "POT $",0
pkStreet0Text3D db "PREFLOP",0
pkStreet1Text3D db "FLOP",0
pkStreet2Text3D db "TURN",0
pkStreet3Text3D db "RIVER",0
pkStreetNames3D dd OFFSET pkStreet0Text3D,OFFSET pkStreet1Text3D,OFFSET pkStreet2Text3D,OFFSET pkStreet3Text3D
pkCheckText3D db "CHECK",0
pkCallText3D db "CALL",0
pkRaiseText3D db "RAISE",0
pkFoldText3D db "FOLD",0
pkAllInText3D db "ALL-IN",0
pkCostText3D db "CALL $",0
pkMinimumText3D db "MIN RAISE",0
pkDealText3D db "DEAL",0
pkNextText3D db "NEXT",0
pkAiWait3D db "DEALER",0
pkAiCheck3D db "CHECK",0
pkAiCall3D db "CALL",0
pkAiRaise3D db "RAISE",0
pkAiFold3D db "FOLD",0
pkAiNames3D dd OFFSET pkAiWait3D,OFFSET pkAiCheck3D,OFFSET pkAiCall3D,OFFSET pkAiRaise3D,OFFSET pkAiFold3D
pkWinText3D db "YOU WIN",0
pkLoseText3D db "DEALER WINS",0
pkTieText3D db "SPLIT POT",0
pkResults3D dd OFFSET pkWinText3D,OFFSET pkLoseText3D,OFFSET pkTieText3D
pkRank0 db "HIGH CARD",0
pkRank1 db "PAIR",0
pkRank2 db "TWO PAIR",0
pkRank3 db "THREE OF A KIND",0
pkRank4 db "STRAIGHT",0
pkRank5 db "FLUSH",0
pkRank6 db "FULL HOUSE",0
pkRank7 db "FOUR OF A KIND",0
pkRank8 db "STRAIGHT FLUSH",0
pkRankNames3D dd OFFSET pkRank0,OFFSET pkRank1,OFFSET pkRank2,OFFSET pkRank3,OFFSET pkRank4
dd OFFSET pkRank5,OFFSET pkRank6,OFFSET pkRank7,OFFSET pkRank8
pkRankLimits3D dd 7462,6185,3325,2467,1609,1599,322,166,10
cbState3D dd CB_IDLE
cbTimer3D dd 0
cbBet3D dd 100
cbStake3D dd 0
cbDeck3D dd 52 dup(0)
cbCursor3D dd 0
cbPlayer3D dd 12 dup(0)
cbDealer3D dd 12 dup(0)
cbPlayerCount3D dd 0
cbDealerCount3D dd 0
cbPlayerScore3D dd 0
cbDealerScore3D dd 0
cbVisible3D dd 0
cbDouble3D dd 0
cbOutcome3D dd 0
cbCard3D dd 0
cbError3D dd 0
cbTitle3D db "BLACKJACK / 21",0
cbHitText3D db "HIT",0
cbStandText3D db "STAND",0
cbDoubleText3D db "DOUBLE",0
cbNaturalText3D db "BLACKJACK",0
cbResults3D dd OFFSET pkWinText3D,OFFSET pkLoseText3D,OFFSET textTie3D
tableBlindText3D db "BLIND $",0
tableRaiseText3D db "RAISE +$",0
tableScoreText3D db "TOTAL",0
tablePlusText3D db "+",0
tableMinusText3D db "-",0
tableDealOrder3D dd 0,2,1,3
tableHoleX3D dd 114,154,114,154
tableHoleY3D dd 168,168,51,51
.code