; Independent blackjack seats share one deck, never the player's wallet. CB_BOTS equ 6 BJ_BOT_WAIT equ 0 BJ_BOT_FLIGHT equ 1 BJ_BOT_DONE equ 2 BJ_PARTY_MS equ 550 BJBot3D STRUCT cards dd 12 dup(0) count dd 0 score dd 0 stake dd 0 outcome dd 0 state dd 0 BJBot3D ENDS InitBJParty3D PROTO FreeBJParty3D PROTO DealBJParty3D PROTO BeginBJDealer3D PROTO FinishBJPlayer3D PROTO :DWORD UpdateBJParty3D PROTO BJBotDecision3D PROTO :DWORD ResolveBJParty3D PROTO BJPartyInput3D PROTO SetBJPartyCount3D PROTO :DWORD RenderBJParty3D PROTO DrawBJPartySelector3D PROTO DrawBJMiniCard3D PROTO :DWORD,:DWORD,:DWORD,:DWORD DrawBJMiniFlight3D PROTO :DWORD,:DWORD,:DWORD,:DWORD .data cbBotCount3D dd 0 cbBots3D BJBot3D 3 dup(<>) cbBotTurn3D dd 0 cbBotTimer3D dd 0 cbBotCard3D dd 0 cbEarlyOutcome3D dd -1 cbBotsSettled3D dd 0 cbInitialFlights3D dd 4 cbPartyArt3D AnimPack3D <> cbPartyArtPath3D db "assets\animations\tables\blackjack-guests-v1.bin",0 cbPartyRoom3D AnimPack3D <> cbPartyRoomPath3D db "assets\animations\tables\blackjack-room-v1.bin",0 cbPartyNames3D dd OFFSET cbPartyName0,OFFSET cbPartyName1,OFFSET cbPartyName2 cbPartyName0 db 210,206,203,223,0 cbPartyName1 db 209,197,208,195,197,201,0 cbPartyName2 db 192,203,200,209,192,0 cbBotsLabel3D db 193,206,210,219,0 cbBotWaitText3D db 198,196,168,210,0 cbBotHitText3D db 202,192,208,210,192,0 cbBotStandText3D db 213,194,192,210,200,210,0 cbBotBustText3D db 207,197,208,197,193,206,208,0 cbBotWinText3D db 207,206,193,197,196,192,0 cbBotLoseText3D db 207,208,206,200,195,208,219,216,0 cbBotPushText3D db 205,200,215,220,223,0 cbBotNaturalText3D db 193,203,221,202,196,198,197,202,0 cbBotResults3D dd OFFSET cbBotWinText3D,OFFSET cbBotLoseText3D,OFFSET cbBotPushText3D,OFFSET cbBotNaturalText3D cbDealerLabel3D db 196,200,203,197,208,0 cbPartyPlayerText3D db 194,219,0 cbPartyDigit3D db "0",0,"1",0,"2",0,"3",0 cbPartyX3D dd 8,120,232 .code