- Native player-controlled stairs, upper lounge bar, and Hell Tower infernal portal - Cabaret stage with musical acts, audience seating, and interaction - Dedicated cash/trophy wall terminals with native balance and achievement screens - Projecting 3D wall lanterns with ray/plane intersection - Six roaming guests with seated poses and card rank rendering updates - Synchronized launcher hash and updated binaries
180 lines
5.9 KiB
PHP
180 lines
5.9 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,0,"3",0,0,"4",0,0,"5",0,0,"6",0,0,"7",0,0,"8",0,0,"9",0,0,"10",0,"J",0,0,"Q",0,0,"K",0,0,"A",0,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 210,197,213,192,209,209,202,200,201,32,213,206,203,196,197,204,0
|
|
pkPotText3D db 193,192,205,202,0
|
|
pkStreet0Text3D db 207,208,197,212,203,206,207,0
|
|
pkStreet1Text3D db 212,203,206,207,0
|
|
pkStreet2Text3D db 210,168,208,205,0
|
|
pkStreet3Text3D db 208,200,194,197,208,0
|
|
pkStreetNames3D dd OFFSET pkStreet0Text3D,OFFSET pkStreet1Text3D,OFFSET pkStreet2Text3D,OFFSET pkStreet3Text3D
|
|
pkCheckText3D db 207,192,209,0
|
|
pkCallText3D db 211,208,192,194,205,223,210,220,0
|
|
pkRaiseText3D db 207,206,194,219,209,200,210,220,0
|
|
pkFoldText3D db 209,193,208,206,209,0
|
|
pkAllInText3D db 194,192,45,193,192,205,202,0
|
|
pkCostText3D db 202,206,203,203,0
|
|
pkMinimumText3D db 204,200,205,46,32,208,197,201,199,0
|
|
pkDealText3D db 209,196,192,210,220,0
|
|
pkNextText3D db 196,192,203,197,197,0
|
|
pkAiWait3D db 196,200,203,197,208,0
|
|
pkAiCheck3D db 207,192,209,0
|
|
pkAiCall3D db 202,206,203,203,0
|
|
pkAiRaise3D db 208,197,201,199,0
|
|
pkAiFold3D db 209,193,208,206,209,0
|
|
pkAiNames3D dd OFFSET pkAiWait3D,OFFSET pkAiCheck3D,OFFSET pkAiCall3D,OFFSET pkAiRaise3D,OFFSET pkAiFold3D
|
|
pkWinText3D db 194,219,32,194,219,200,195,208,192,203,200,0
|
|
pkLoseText3D db 196,200,203,197,208,32,194,219,200,195,208,192,203,0
|
|
pkTieText3D db 193,192,205,202,32,207,206,208,206,194,205,211,0
|
|
pkResults3D dd OFFSET pkWinText3D,OFFSET pkLoseText3D,OFFSET pkTieText3D
|
|
pkRank0 db 209,210,192,208,216,192,223,32,202,192,208,210,192,0
|
|
pkRank1 db 207,192,208,192,0
|
|
pkRank2 db 196,194,197,32,207,192,208,219,0
|
|
pkRank3 db 210,208,206,201,202,192,0
|
|
pkRank4 db 209,210,208,200,210,0
|
|
pkRank5 db 212,203,197,216,0
|
|
pkRank6 db 212,211,203,203,45,213,192,211,209,0
|
|
pkRank7 db 202,192,208,197,0
|
|
pkRank8 db 209,210,208,200,210,45,212,203,197,216,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 193,203,221,202,196,198,197,202,32,47,32,50,49,0
|
|
cbHitText3D db 202,192,208,210,192,0
|
|
cbStandText3D db 213,194,192,210,200,210,0
|
|
cbDoubleText3D db 211,196,194,206,200,210,220,0
|
|
cbNaturalText3D db 193,203,221,202,196,198,197,202,0
|
|
cbResults3D dd OFFSET pkWinText3D,OFFSET pkLoseText3D,OFFSET textTie3D
|
|
tableBlindText3D db 193,203,192,201,205,196,32,36,0
|
|
tableRaiseText3D db 208,197,201,199,32,43,36,0
|
|
tableScoreText3D db 206,215,202,200,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
|