From 3ae432337945e4fecc82b4720f0ebf38eb855ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=A4=D0=B5=D0=B4=D0=BE?= =?UTF-8?q?=D1=81=D0=B5=D0=B5=D0=B2?= Date: Thu, 24 Sep 2026 22:31:49 +0300 Subject: [PATCH] feat(2.5d): integrate all classic games via dedicated terminal windows and 22 stations --- build/graphics/casino3d.inc | 492 +++++++++++++++++++++++++++++------- build/graphics/poker.asm | 47 ++++ build/graphics/poker.exe | Bin 197632 -> 201728 bytes casino3d.inc | 492 +++++++++++++++++++++++++++++------- poker.asm | 47 ++++ poker.exe | Bin 184832 -> 201728 bytes 6 files changed, 904 insertions(+), 174 deletions(-) diff --git a/build/graphics/casino3d.inc b/build/graphics/casino3d.inc index 7a2a563..2165e88 100644 --- a/build/graphics/casino3d.inc +++ b/build/graphics/casino3d.inc @@ -167,17 +167,46 @@ dancerLuckBuff dd 0 flashTimer dd 0 flashMessage db 128 dup(0) -promptDancer db "[E] CABARET - TIP $100",0 -promptSlot1 db "[E] SLOTS 777",0 -promptSlot2 db "[E] SLOTS 777",0 -promptBlackjack db "[E] BLACKJACK / 21",0 -promptPoker db "POKER - UNDER CONSTRUCTION",0 -promptRoulette db "[E] ROULETTE",0 -promptShop db "[E] BOUTIQUE",0 -promptATM db "[E] CASHIER",0 -promptBackroom db "BACKROOM - UNDER CONSTRUCTION",0 -promptDurak db "DURAK - UNDER CONSTRUCTION",0 -promptHell db "TOWER - UNDER CONSTRUCTION",0 +promptDancer db "[E] ÊÀÁÀÐÅ - ×ÀÅÂÛÅ $100",0 +promptBlackjack db "[E] ÁËÝÊÄÆÅÊ (21)",0 +promptPoker db "[E] ÏÎÊÅÐ (TEXAS HOLD'EM)",0 +promptDurak db "[E] ÊÀÐÒÛ: ÏÎÄÊÈÄÍÎÉ ÄÓÐÀÊ",0 +promptCasinoRoulette db "[E] ÅÂÐÎÏÅÉÑÊÀß ÐÓËÅÒÊÀ",0 +promptClassicSlot db "[E] ÊËÀÑÑÈ×ÅÑÊÈÅ ÑËÎÒÛ 777",0 +promptCloverSlot db "[E] ÑËÎÒÛ CLOVERPIT (5x3)",0 +promptDice db "[E] ÈÃÐÀ  ÊÎÑÒÈ (CRAPS)",0 +promptSkulls db "[E] ÍÀϨÐÑÒÊÈ (×ÅÐÅÏÀ)",0 +promptCoin db "[E] ÌÎÍÅÒÊÀ (ÎШË/ÐÅØÊÀ)",0 +promptSkillCheck db "[E] ÒÐÅÍÈÐÎÂÊÀ ÐÅÀÊÖÈÈ",0 +promptBuckshot db "[E] BUCKSHOT ROULETTE",0 +promptRussianRoulette db "[E] ÐÓÑÑÊÀß ÐÓËÅÒÊÀ (VIP)",0 +promptOnlineRR db "[E] ÑÅÒÅÂÀß ÐÓËÅÒÊÀ (NET)",0 +promptUmamusume db "[E] ÑÊÀ×ÊÈ ÓÌÀÌÓÑÓÌÝ",0 +promptHellTower db "[E] ÁÀØÍß ÀÄÀ (10 ÝÒÀÆÅÉ)",0 +promptShop db "[E] ÁÓÒÈÊ È ÒÀËÈÑÌÀÍÛ",0 +promptATM db "[E] ÁÀÍÊÎÌÀÒ È ÁÀËÀÍÑ",0 +promptPlayerTerminal db "[E] ÒÅÐÌÈÍÀË: ÑÒÀÒÛ È À×ÈÂÊÈ",0 +promptObserver db "[E] ÐÅÆÈÌ ÍÀÁËÞÄÀÒÅËß (ÈÈ)",0 + +szTitleBlackjack db "[KAZIK 3D CASINO] - ÁËÝÊÄÆÅÊ (21)",0 +szTitlePoker db "[KAZIK 3D CASINO] - ÏÎÊÅÐ (TEXAS HOLD'EM)",0 +szTitleDurak db "[KAZIK 3D CASINO] - ÏÎÄÊÈÄÍÎÉ ÄÓÐÀÊ",0 +szTitleCasinoRoulette db "[KAZIK 3D CASINO] - ÅÂÐÎÏÅÉÑÊÀß ÐÓËÅÒÊÀ",0 +szTitleClassicSlot db "[KAZIK 3D CASINO] - ÊËÀÑÑÈ×ÅÑÊÈÅ ÑËÎÒÛ 777",0 +szTitleCloverSlot db "[KAZIK 3D CASINO] - ÑËÎÒ-ÌÀØÈÍÀ CLOVERPIT (5x3)",0 +szTitleDice db "[KAZIK 3D CASINO] - ÈÃÐÀ  ÊÎÑÒÈ (CRAPS)",0 +szTitleSkulls db "[KAZIK 3D CASINO] - ÍÀϨÐÑÒÊÈ",0 +szTitleCoin db "[KAZIK 3D CASINO] - ÌÎÍÅÒÊÀ (ÎШË/ÐÅØÊÀ)",0 +szTitleSkillCheck db "[KAZIK 3D CASINO] - ÏÐÎÂÅÐÊÀ ÐÅÀÊÖÈÈ",0 +szTitleBuckshot db "[KAZIK 3D CASINO] - BUCKSHOT ROULETTE",0 +szTitleRussianRoulette db "[KAZIK 3D CASINO] - ÐÓÑÑÊÀß ÐÓËÅÒÊÀ",0 +szTitleOnlineRR db "[KAZIK 3D CASINO] - ÑÅÒÅÂÀß ÐÓÑÑÊÀß ÐÓËÅÒÊÀ",0 +szTitleUmamusume db "[KAZIK 3D CASINO] - ÑÊÀ×ÊÈ ÓÌÀÌÓÑÓÌÝ",0 +szTitleHellTower db "[KAZIK 3D CASINO] - ÁÀØÍß ÀÄÀ (ÒÓÐÍÈÐ)",0 +szTitleShop db "[KAZIK 3D CASINO] - ÁÓÒÈÊ È ÒÀËÈÑÌÀÍÛ",0 +szTitleATM db "[KAZIK 3D CASINO] - ÁÀÍÊÎÌÀÒ",0 +szTitleTerminal db "[KAZIK 3D CASINO] - ÒÅÐÌÈÍÀË ÈÃÐÎÊÀ",0 +szTitleObserver db "[KAZIK 3D CASINO] - ÐÅÆÈÌ ÍÀÁËÞÄÀÒÅËß (ÈÈ)",0 msgDancerTipped db "Âû áðîñèëè $100 òàíöîâùèöå! ÓÄÀ×À ÀÊÒÈÂÈÐÎÂÀÍÀ!",0 msgNeedMoney db "Íåäîñòàòî÷íî äåíåã â êîøåëüêå!",0 @@ -186,7 +215,29 @@ targetHUDFormat db " luckHUDFormat db " ÓÄÀ×À: +",0 controlsHUD db "WASD/Ñòðåëêè: Õîäüáà | E: Äåéñòâèå | ESC: Ìåíþ",0 -NUM_SPRITES equ 13 +NUM_SPRITES equ 22 + +INTERACT_NONE equ 0 +INTERACT_BLACKJACK equ 1 +INTERACT_POKER equ 2 +INTERACT_SLOTS_777 equ 3 +INTERACT_ROULETTE equ 4 +INTERACT_SKULLS equ 5 +INTERACT_SHOP equ 6 +INTERACT_ATM equ 7 +INTERACT_DANCER equ 8 +INTERACT_HELL_TOWER equ 9 +INTERACT_DURAK equ 10 +INTERACT_BUCKSHOT equ 11 +INTERACT_COIN equ 12 +INTERACT_DICE equ 13 +INTERACT_SLOTS_CLOVER equ 14 +INTERACT_UMAMUSUME equ 15 +INTERACT_OBSERVER equ 16 +INTERACT_TERMINAL equ 17 +INTERACT_ONLINE_RR equ 18 +INTERACT_RUSSIAN_ROULETTE equ 19 +INTERACT_SKILL_CHECK equ 20 ALIGN 4 casinoSprites SpriteObject NUM_SPRITES dup(<>) sortedSprites dd NUM_SPRITES dup(0) @@ -2633,18 +2684,104 @@ interaction_done: ret CheckInteractions ENDP +; --- LaunchClassicGame: Îòêðûòèå îòäåëüíîãî îêíà äëÿ êëàññè÷åñêîé âåðñèè èãðû --- +LaunchClassicGame PROC uses ebx esi edi, pGameProc:DWORD, gameId:DWORD, pTitle:DWORD + LOCAL rc3D[16]:BYTE + LOCAL conWnd:DWORD + LOCAL conW:DWORD, conH:DWORD, conX:DWORD, conY:DWORD + + mov eax, gameId + mov currentGameId, eax + + invoke AllocConsole + test eax, eax + jz launch_ret + + invoke GetStdHandle, STD_OUTPUT_HANDLE + mov hOut, eax + invoke GetStdHandle, STD_INPUT_HANDLE + mov hIn, eax + + invoke SetConsoleCP, 1251 + invoke SetConsoleOutputCP, 1251 + + cmp pTitle, 0 + je @F + invoke SetConsoleTitleA, pTitle +@@: + call EnableAnsi + call ConfigureConsoleSize + + invoke GetConsoleWindow + mov conWnd, eax + test eax, eax + jz run_game_body + + cmp h3DWnd, 0 + je show_con_fallback + + lea eax, rc3D + invoke GetWindowRect, h3DWnd, eax + mov eax, dword ptr rc3D[0] + add eax, 40 + mov conX, eax + mov eax, dword ptr rc3D[4] + add eax, 40 + mov conY, eax + mov conW, 960 + mov conH, 680 + invoke SetWindowPos, conWnd, 0, conX, conY, conW, conH, 40h ; SWP_SHOWWINDOW + jmp set_con_focus + +show_con_fallback: + invoke ShowWindow, conWnd, 5 ; SW_SHOW +set_con_focus: + invoke SetForegroundWindow, conWnd + invoke SetFocus, conWnd + +run_game_body: + call pGameProc + + invoke FreeConsole + mov hOut, 0 + mov hIn, 0 + + cmp h3DWnd, 0 + je cleanup_game_input + invoke SetForegroundWindow, h3DWnd + invoke SetFocus, h3DWnd + +cleanup_game_input: + mov ecx, 256 + xor eax, eax + lea edi, keys3D + rep stosb + mov ecx, 256 + lea edi, pressedKeys3D + rep stosb + + invoke GetTickCount + mov previousTick3D, eax + mov frameStart3D, eax + mov deltaTime3D, 0 + + call SaveProgress3D + +launch_ret: + ret +LaunchClassicGame ENDP + Trigger3DInteraction PROC mov eax, interactTargetId test eax, eax - jz @F + jz trigger_done - cmp eax, 8 ; DANCER - jne check_target_slots + cmp eax, INTERACT_DANCER + jne check_target_bj cmp bankroll, 100 jl dancer_no_cash sub bankroll, 100 inc dancerLuckBuff - ; Tips are cosmetic and must not silently change game odds. invoke CopyString3D, OFFSET textTips3D, OFFSET flashMessage mov flashTimer, 100 invoke PlaySoundA, OFFSET soundJackpot, 0, 1 @@ -2654,42 +2791,124 @@ dancer_no_cash: mov flashTimer, 60 ret -check_target_slots: - cmp eax, 3 ; SLOTS - jne check_target_bj - mov engineMode, MODE_SLOTS - invoke PlaySoundA, OFFSET soundClick, 0, 1 +check_target_bj: + cmp eax, INTERACT_BLACKJACK + jne check_target_poker + invoke LaunchClassicGame, OFFSET Game21, 1, OFFSET szTitleBlackjack ret -check_target_bj: - cmp eax, 1 ; BLACKJACK +check_target_poker: + cmp eax, INTERACT_POKER + jne check_target_durak + invoke LaunchClassicGame, OFFSET GamePoker, 2, OFFSET szTitlePoker + ret + +check_target_durak: + cmp eax, INTERACT_DURAK + jne check_target_slots777 + invoke LaunchClassicGame, OFFSET GameDurak, 10, OFFSET szTitleDurak + ret + +check_target_slots777: + cmp eax, INTERACT_SLOTS_777 + jne check_target_slots_clover + invoke LaunchClassicGame, OFFSET GameClassicSlot, 9, OFFSET szTitleClassicSlot + ret + +check_target_slots_clover: + cmp eax, INTERACT_SLOTS_CLOVER jne check_target_roulette - mov engineMode, MODE_BLACKJACK - mov bjState, 0 + invoke LaunchClassicGame, OFFSET GameSlot, 3, OFFSET szTitleCloverSlot ret check_target_roulette: - cmp eax, 4 ; ROULETTE + cmp eax, INTERACT_ROULETTE + jne check_target_dice + invoke LaunchClassicGame, OFFSET GameCasinoRoulette, 8, OFFSET szTitleCasinoRoulette + ret + +check_target_dice: + cmp eax, INTERACT_DICE + jne check_target_skulls + invoke LaunchClassicGame, OFFSET GameDice, 7, OFFSET szTitleDice + ret + +check_target_skulls: + cmp eax, INTERACT_SKULLS + jne check_target_coin + invoke LaunchClassicGame, OFFSET GameSkulls, 5, OFFSET szTitleSkulls + ret + +check_target_coin: + cmp eax, INTERACT_COIN + jne check_target_skill + invoke LaunchClassicGame, OFFSET GameCoin, 6, OFFSET szTitleCoin + ret + +check_target_skill: + cmp eax, INTERACT_SKILL_CHECK + jne check_target_buckshot + invoke LaunchClassicGame, OFFSET GameSkillCheck, 11, OFFSET szTitleSkillCheck + ret + +check_target_buckshot: + cmp eax, INTERACT_BUCKSHOT + jne check_target_rr + invoke LaunchClassicGame, OFFSET GameBuckshot, 13, OFFSET szTitleBuckshot + ret + +check_target_rr: + cmp eax, INTERACT_RUSSIAN_ROULETTE + jne check_target_online_rr + invoke LaunchClassicGame, OFFSET GameRoulette, 4, OFFSET szTitleRussianRoulette + ret + +check_target_online_rr: + cmp eax, INTERACT_ONLINE_RR + jne check_target_umamusume + invoke LaunchClassicGame, OFFSET GameOnlineCasino, 20, OFFSET szTitleOnlineRR + ret + +check_target_umamusume: + cmp eax, INTERACT_UMAMUSUME + jne check_target_hell + invoke LaunchClassicGame, OFFSET GameUmamusume, 21, OFFSET szTitleUmamusume + ret + +check_target_hell: + cmp eax, INTERACT_HELL_TOWER jne check_target_shop - mov engineMode, MODE_ROULETTE - mov roulState, 0 + invoke LaunchClassicGame, OFFSET GameTournament, 666, OFFSET szTitleHellTower ret check_target_shop: - cmp eax, 6 ; SHOP + cmp eax, INTERACT_SHOP jne check_target_atm - mov engineMode, MODE_SHOP + invoke LaunchClassicGame, OFFSET GameShop, 0, OFFSET szTitleShop ret check_target_atm: - cmp eax, 7 ; ATM - jne target_unported + cmp eax, INTERACT_ATM + jne check_target_terminal mov engineMode, MODE_ATM ret + +check_target_terminal: + cmp eax, INTERACT_TERMINAL + jne check_target_observer + invoke LaunchClassicGame, OFFSET GamePlayerTerminal, 0, OFFSET szTitleTerminal + ret + +check_target_observer: + cmp eax, INTERACT_OBSERVER + jne target_unported + invoke LaunchClassicGame, OFFSET GameObserver, 14, OFFSET szTitleObserver + ret + target_unported: invoke CopyString3D, OFFSET textUnavailable3D, OFFSET flashMessage mov flashTimer, 150 -@@: +trigger_done: ret Trigger3DInteraction ENDP @@ -2721,7 +2940,7 @@ init_sprites_table: mov casinoSprites[0*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[0*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[0*SIZEOF SpriteObject].animSpeed, 5 - mov casinoSprites[0*SIZEOF SpriteObject].interactId, 8 + mov casinoSprites[0*SIZEOF SpriteObject].interactId, INTERACT_DANCER mov casinoSprites[0*SIZEOF SpriteObject].promptPtr, OFFSET promptDancer ; Sprite 1: VIP Dancer 2 (Center Stage Star) @@ -2732,7 +2951,7 @@ init_sprites_table: mov casinoSprites[1*SIZEOF SpriteObject].curFrame, 2 mov casinoSprites[1*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[1*SIZEOF SpriteObject].animSpeed, 5 - mov casinoSprites[1*SIZEOF SpriteObject].interactId, 8 + mov casinoSprites[1*SIZEOF SpriteObject].interactId, INTERACT_DANCER mov casinoSprites[1*SIZEOF SpriteObject].promptPtr, OFFSET promptDancer ; Sprite 2: VIP Dancer 3 (Stage Right) @@ -2743,21 +2962,21 @@ init_sprites_table: mov casinoSprites[2*SIZEOF SpriteObject].curFrame, 1 mov casinoSprites[2*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[2*SIZEOF SpriteObject].animSpeed, 5 - mov casinoSprites[2*SIZEOF SpriteObject].interactId, 8 + mov casinoSprites[2*SIZEOF SpriteObject].interactId, INTERACT_DANCER mov casinoSprites[2*SIZEOF SpriteObject].promptPtr, OFFSET promptDancer - ; Sprite 3: Blackjack Table with Dealer (Front Center Left) + ; Sprite 3: VIP Blackjack (Front Center Left) mov casinoSprites[3*SIZEOF SpriteObject].posX, (12 * FP_1 + FP_HALF) - mov casinoSprites[3*SIZEOF SpriteObject].posY, (10 * FP_1) + mov casinoSprites[3*SIZEOF SpriteObject].posY, (8 * FP_1) mov casinoSprites[3*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[3*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[3*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[3*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[3*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[3*SIZEOF SpriteObject].interactId, 1 + mov casinoSprites[3*SIZEOF SpriteObject].interactId, INTERACT_BLACKJACK mov casinoSprites[3*SIZEOF SpriteObject].promptPtr, OFFSET promptBlackjack - ; Sprite 4: Roulette Table (Front Center) + ; Sprite 4: European Roulette Table (Front Center) mov casinoSprites[4*SIZEOF SpriteObject].posX, (16 * FP_1 + FP_HALF) mov casinoSprites[4*SIZEOF SpriteObject].posY, (10 * FP_1) mov casinoSprites[4*SIZEOF SpriteObject].baseTexId, 31 @@ -2765,96 +2984,195 @@ init_sprites_table: mov casinoSprites[4*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[4*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[4*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[4*SIZEOF SpriteObject].interactId, 4 - mov casinoSprites[4*SIZEOF SpriteObject].promptPtr, OFFSET promptRoulette + mov casinoSprites[4*SIZEOF SpriteObject].interactId, INTERACT_ROULETTE + mov casinoSprites[4*SIZEOF SpriteObject].promptPtr, OFFSET promptCasinoRoulette - ; Sprite 5: Poker Table (Front Center Right) - mov casinoSprites[5*SIZEOF SpriteObject].posX, (21 * FP_1) - mov casinoSprites[5*SIZEOF SpriteObject].posY, (10 * FP_1) + ; Sprite 5: Texas Hold'em Poker Table (Front Center Right) + mov casinoSprites[5*SIZEOF SpriteObject].posX, (20 * FP_1 + FP_HALF) + mov casinoSprites[5*SIZEOF SpriteObject].posY, (8 * FP_1) mov casinoSprites[5*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[5*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[5*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[5*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[5*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[5*SIZEOF SpriteObject].interactId, 1 + mov casinoSprites[5*SIZEOF SpriteObject].interactId, INTERACT_POKER mov casinoSprites[5*SIZEOF SpriteObject].promptPtr, OFFSET promptPoker - ; Sprite 6: Slot Machine 1 (West Arcade) - mov casinoSprites[6*SIZEOF SpriteObject].posX, (6 * FP_1) + ; Sprite 6: Podkidnoy Durak Card Table + mov casinoSprites[6*SIZEOF SpriteObject].posX, (24 * FP_1 + FP_HALF) mov casinoSprites[6*SIZEOF SpriteObject].posY, (8 * FP_1) - mov casinoSprites[6*SIZEOF SpriteObject].baseTexId, 24 - mov casinoSprites[6*SIZEOF SpriteObject].frameCount, 3 + mov casinoSprites[6*SIZEOF SpriteObject].baseTexId, 30 + mov casinoSprites[6*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[6*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[6*SIZEOF SpriteObject].animTimer, 0 - mov casinoSprites[6*SIZEOF SpriteObject].animSpeed, 8 - mov casinoSprites[6*SIZEOF SpriteObject].interactId, 3 - mov casinoSprites[6*SIZEOF SpriteObject].promptPtr, OFFSET promptSlot1 + mov casinoSprites[6*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[6*SIZEOF SpriteObject].interactId, INTERACT_DURAK + mov casinoSprites[6*SIZEOF SpriteObject].promptPtr, OFFSET promptDurak - ; Sprite 7: Slot Machine 2 (CloverPit) + ; Sprite 7: Classic Slots 777 (West Arcade 1) mov casinoSprites[7*SIZEOF SpriteObject].posX, (6 * FP_1) - mov casinoSprites[7*SIZEOF SpriteObject].posY, (11 * FP_1) + mov casinoSprites[7*SIZEOF SpriteObject].posY, (8 * FP_1) mov casinoSprites[7*SIZEOF SpriteObject].baseTexId, 24 mov casinoSprites[7*SIZEOF SpriteObject].frameCount, 3 - mov casinoSprites[7*SIZEOF SpriteObject].curFrame, 1 + mov casinoSprites[7*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[7*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[7*SIZEOF SpriteObject].animSpeed, 8 - mov casinoSprites[7*SIZEOF SpriteObject].interactId, 3 - mov casinoSprites[7*SIZEOF SpriteObject].promptPtr, OFFSET promptSlot2 + mov casinoSprites[7*SIZEOF SpriteObject].interactId, INTERACT_SLOTS_777 + mov casinoSprites[7*SIZEOF SpriteObject].promptPtr, OFFSET promptClassicSlot - ; Sprite 8: Slot Machine 3 + ; Sprite 8: CloverPit Slots 5x3 (West Arcade 2) mov casinoSprites[8*SIZEOF SpriteObject].posX, (6 * FP_1) - mov casinoSprites[8*SIZEOF SpriteObject].posY, (14 * FP_1) + mov casinoSprites[8*SIZEOF SpriteObject].posY, (11 * FP_1) mov casinoSprites[8*SIZEOF SpriteObject].baseTexId, 24 mov casinoSprites[8*SIZEOF SpriteObject].frameCount, 3 - mov casinoSprites[8*SIZEOF SpriteObject].curFrame, 2 + mov casinoSprites[8*SIZEOF SpriteObject].curFrame, 1 mov casinoSprites[8*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[8*SIZEOF SpriteObject].animSpeed, 8 - mov casinoSprites[8*SIZEOF SpriteObject].interactId, 3 - mov casinoSprites[8*SIZEOF SpriteObject].promptPtr, OFFSET promptSlot1 + mov casinoSprites[8*SIZEOF SpriteObject].interactId, INTERACT_SLOTS_CLOVER + mov casinoSprites[8*SIZEOF SpriteObject].promptPtr, OFFSET promptCloverSlot - ; Sprite 9: Bartender / Bar Counter (East Wing) - mov casinoSprites[9*SIZEOF SpriteObject].posX, (26 * FP_1) - mov casinoSprites[9*SIZEOF SpriteObject].posY, (12 * FP_1) - mov casinoSprites[9*SIZEOF SpriteObject].baseTexId, 32 + ; Sprite 9: Craps & Dice Table (West Arcade 3) + mov casinoSprites[9*SIZEOF SpriteObject].posX, (6 * FP_1) + mov casinoSprites[9*SIZEOF SpriteObject].posY, (14 * FP_1) + mov casinoSprites[9*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[9*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[9*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[9*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[9*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[9*SIZEOF SpriteObject].interactId, 6 - mov casinoSprites[9*SIZEOF SpriteObject].promptPtr, OFFSET promptShop + mov casinoSprites[9*SIZEOF SpriteObject].interactId, INTERACT_DICE + mov casinoSprites[9*SIZEOF SpriteObject].promptPtr, OFFSET promptDice - ; Sprite 10: ATM Bank Terminal (East Wing) - mov casinoSprites[10*SIZEOF SpriteObject].posX, (26 * FP_1) - mov casinoSprites[10*SIZEOF SpriteObject].posY, (16 * FP_1) - mov casinoSprites[10*SIZEOF SpriteObject].baseTexId, 33 + ; Sprite 10: Skulls & Cups Table + mov casinoSprites[10*SIZEOF SpriteObject].posX, (10 * FP_1) + mov casinoSprites[10*SIZEOF SpriteObject].posY, (15 * FP_1) + mov casinoSprites[10*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[10*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[10*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[10*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[10*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[10*SIZEOF SpriteObject].interactId, 7 - mov casinoSprites[10*SIZEOF SpriteObject].promptPtr, OFFSET promptATM + mov casinoSprites[10*SIZEOF SpriteObject].interactId, INTERACT_SKULLS + mov casinoSprites[10*SIZEOF SpriteObject].promptPtr, OFFSET promptSkulls - ; Sprite 11: Underground Table (South Wing) - mov casinoSprites[11*SIZEOF SpriteObject].posX, (16 * FP_1 + FP_HALF) - mov casinoSprites[11*SIZEOF SpriteObject].posY, (24 * FP_1) - mov casinoSprites[11*SIZEOF SpriteObject].baseTexId, 34 + ; Sprite 11: Coin Toss Stand + mov casinoSprites[11*SIZEOF SpriteObject].posX, (14 * FP_1) + mov casinoSprites[11*SIZEOF SpriteObject].posY, (15 * FP_1) + mov casinoSprites[11*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[11*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[11*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[11*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[11*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[11*SIZEOF SpriteObject].interactId, 5 - mov casinoSprites[11*SIZEOF SpriteObject].promptPtr, OFFSET promptBackroom + mov casinoSprites[11*SIZEOF SpriteObject].interactId, INTERACT_COIN + mov casinoSprites[11*SIZEOF SpriteObject].promptPtr, OFFSET promptCoin - ; Sprite 12: Secret Demon Portal (South Wing) - mov casinoSprites[12*SIZEOF SpriteObject].posX, (16 * FP_1 + FP_HALF) - mov casinoSprites[12*SIZEOF SpriteObject].posY, (29 * FP_1) - mov casinoSprites[12*SIZEOF SpriteObject].baseTexId, 4 + ; Sprite 12: Skill Check Stand + mov casinoSprites[12*SIZEOF SpriteObject].posX, (18 * FP_1) + mov casinoSprites[12*SIZEOF SpriteObject].posY, (15 * FP_1) + mov casinoSprites[12*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[12*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[12*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[12*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[12*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[12*SIZEOF SpriteObject].interactId, 9 - mov casinoSprites[12*SIZEOF SpriteObject].promptPtr, OFFSET promptHell + mov casinoSprites[12*SIZEOF SpriteObject].interactId, INTERACT_SKILL_CHECK + mov casinoSprites[12*SIZEOF SpriteObject].promptPtr, OFFSET promptSkillCheck + + ; Sprite 13: Umamusume Derby Lounge + mov casinoSprites[13*SIZEOF SpriteObject].posX, (22 * FP_1) + mov casinoSprites[13*SIZEOF SpriteObject].posY, (15 * FP_1) + mov casinoSprites[13*SIZEOF SpriteObject].baseTexId, 30 + mov casinoSprites[13*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[13*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[13*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[13*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[13*SIZEOF SpriteObject].interactId, INTERACT_UMAMUSUME + mov casinoSprites[13*SIZEOF SpriteObject].promptPtr, OFFSET promptUmamusume + + ; Sprite 14: Boutique & Shop (East Wing) + mov casinoSprites[14*SIZEOF SpriteObject].posX, (26 * FP_1) + mov casinoSprites[14*SIZEOF SpriteObject].posY, (12 * FP_1) + mov casinoSprites[14*SIZEOF SpriteObject].baseTexId, 32 + mov casinoSprites[14*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[14*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[14*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[14*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[14*SIZEOF SpriteObject].interactId, INTERACT_SHOP + mov casinoSprites[14*SIZEOF SpriteObject].promptPtr, OFFSET promptShop + + ; Sprite 15: Cashier & ATM (East Wing) + mov casinoSprites[15*SIZEOF SpriteObject].posX, (26 * FP_1) + mov casinoSprites[15*SIZEOF SpriteObject].posY, (16 * FP_1) + mov casinoSprites[15*SIZEOF SpriteObject].baseTexId, 33 + mov casinoSprites[15*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[15*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[15*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[15*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[15*SIZEOF SpriteObject].interactId, INTERACT_ATM + mov casinoSprites[15*SIZEOF SpriteObject].promptPtr, OFFSET promptATM + + ; Sprite 16: Player Terminal (East Wing) + mov casinoSprites[16*SIZEOF SpriteObject].posX, (26 * FP_1) + mov casinoSprites[16*SIZEOF SpriteObject].posY, (20 * FP_1) + mov casinoSprites[16*SIZEOF SpriteObject].baseTexId, 33 + mov casinoSprites[16*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[16*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[16*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[16*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[16*SIZEOF SpriteObject].interactId, INTERACT_TERMINAL + mov casinoSprites[16*SIZEOF SpriteObject].promptPtr, OFFSET promptPlayerTerminal + + ; Sprite 17: Buckshot Roulette (South-West) + mov casinoSprites[17*SIZEOF SpriteObject].posX, (12 * FP_1) + mov casinoSprites[17*SIZEOF SpriteObject].posY, (22 * FP_1) + mov casinoSprites[17*SIZEOF SpriteObject].baseTexId, 30 + mov casinoSprites[17*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[17*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[17*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[17*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[17*SIZEOF SpriteObject].interactId, INTERACT_BUCKSHOT + mov casinoSprites[17*SIZEOF SpriteObject].promptPtr, OFFSET promptBuckshot + + ; Sprite 18: Observer Lounge (South-East) + mov casinoSprites[18*SIZEOF SpriteObject].posX, (20 * FP_1) + mov casinoSprites[18*SIZEOF SpriteObject].posY, (22 * FP_1) + mov casinoSprites[18*SIZEOF SpriteObject].baseTexId, 30 + mov casinoSprites[18*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[18*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[18*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[18*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[18*SIZEOF SpriteObject].interactId, INTERACT_OBSERVER + mov casinoSprites[18*SIZEOF SpriteObject].promptPtr, OFFSET promptObserver + + ; Sprite 19: Russian Roulette (Backroom Entrance) + mov casinoSprites[19*SIZEOF SpriteObject].posX, (16 * FP_1) + mov casinoSprites[19*SIZEOF SpriteObject].posY, (25 * FP_1) + mov casinoSprites[19*SIZEOF SpriteObject].baseTexId, 34 + mov casinoSprites[19*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[19*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[19*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[19*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[19*SIZEOF SpriteObject].interactId, INTERACT_RUSSIAN_ROULETTE + mov casinoSprites[19*SIZEOF SpriteObject].promptPtr, OFFSET promptRussianRoulette + + ; Sprite 20: Online Russian Roulette (Backroom Secret Terminal) + mov casinoSprites[20*SIZEOF SpriteObject].posX, (18 * FP_1) + mov casinoSprites[20*SIZEOF SpriteObject].posY, (25 * FP_1) + mov casinoSprites[20*SIZEOF SpriteObject].baseTexId, 34 + mov casinoSprites[20*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[20*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[20*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[20*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[20*SIZEOF SpriteObject].interactId, INTERACT_ONLINE_RR + mov casinoSprites[20*SIZEOF SpriteObject].promptPtr, OFFSET promptOnlineRR + + ; Sprite 21: Hell Tower Portal (South Wing Deep End) + mov casinoSprites[21*SIZEOF SpriteObject].posX, (16 * FP_1 + FP_HALF) + mov casinoSprites[21*SIZEOF SpriteObject].posY, (29 * FP_1) + mov casinoSprites[21*SIZEOF SpriteObject].baseTexId, 4 + mov casinoSprites[21*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[21*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[21*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[21*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[21*SIZEOF SpriteObject].interactId, INTERACT_HELL_TOWER + mov casinoSprites[21*SIZEOF SpriteObject].promptPtr, OFFSET promptHellTower mov eax, 1 jmp init_return diff --git a/build/graphics/poker.asm b/build/graphics/poker.asm index 3b6eb62..39bdc15 100644 --- a/build/graphics/poker.asm +++ b/build/graphics/poker.asm @@ -72,6 +72,13 @@ GetConsoleScreenBufferInfo PROTO :DWORD, :DWORD GetConsoleMode PROTO :DWORD, :DWORD SetConsoleMode PROTO :DWORD, :DWORD FillConsoleOutputCharacterA PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD +AllocConsole PROTO +FreeConsole PROTO +GetConsoleWindow PROTO +SetConsoleTitleA PROTO :DWORD +GetWindowRect PROTO :DWORD, :DWORD +SetWindowPos PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD +SetFocus PROTO :DWORD mciSendStringA PROTO :DWORD, :DWORD, :DWORD, :DWORD waveOutSetVolume PROTO :DWORD, :DWORD AnimFrameDelay PROTO :DWORD @@ -14925,6 +14932,46 @@ uma_exit: ret GameUmamusume ENDP +; --- GamePlayerTerminal: Èãðîâîé òåðìèíàë (ñòàòèñòèêà, à÷èâêè, êâåñòû) --- +titleTerminal db "=== ÒÅÐÌÈÍÀË ÈÃÐÎÊÀ ===",13,10,0 +textTerminalMenu db "1. Äîñòèæåíèÿ",13,10,"2. Ñòàòèñòèêà ïî èãðàì",13,10,"3. Åæåäíåâíûå çàäàíèÿ",13,10,"4. Ãëàâíîå ìåíþ è ÷èòû",13,10,"0. Íàçàä â êàçèíî",13,10,0 + +GamePlayerTerminal PROC +terminal_loop: + call ClearView + invoke PrintTitleColor, OFFSET titleTerminal + invoke PrintStr, OFFSET textTerminalMenu + invoke PrintStr, OFFSET choiceText + call ReadKey + cmp al, '1' + je term_ach + cmp al, '2' + je term_stats + cmp al, '3' + je term_daily + cmp al, '4' + je term_classic_menu + cmp al, '0' + je term_exit + cmp al, 1Bh + je term_exit + jmp terminal_loop +term_ach: + call GameAchievements + jmp terminal_loop +term_stats: + call GameStatsByGame + jmp terminal_loop +term_daily: + call GameDailyTasks + jmp terminal_loop +term_classic_menu: + call MainMenu + jmp terminal_loop +term_exit: + ret +GamePlayerTerminal ENDP + include casino3d.inc diff --git a/build/graphics/poker.exe b/build/graphics/poker.exe index ae0ea43be0d831d6760c6ea6feefb57a3b4466a5..8e7557b49489401ce683ae52c21efbdb572d4476 100644 GIT binary patch delta 63701 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 delta 60883 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 diff --git a/casino3d.inc b/casino3d.inc index 7a2a563..2165e88 100644 --- a/casino3d.inc +++ b/casino3d.inc @@ -167,17 +167,46 @@ dancerLuckBuff dd 0 flashTimer dd 0 flashMessage db 128 dup(0) -promptDancer db "[E] CABARET - TIP $100",0 -promptSlot1 db "[E] SLOTS 777",0 -promptSlot2 db "[E] SLOTS 777",0 -promptBlackjack db "[E] BLACKJACK / 21",0 -promptPoker db "POKER - UNDER CONSTRUCTION",0 -promptRoulette db "[E] ROULETTE",0 -promptShop db "[E] BOUTIQUE",0 -promptATM db "[E] CASHIER",0 -promptBackroom db "BACKROOM - UNDER CONSTRUCTION",0 -promptDurak db "DURAK - UNDER CONSTRUCTION",0 -promptHell db "TOWER - UNDER CONSTRUCTION",0 +promptDancer db "[E] ÊÀÁÀÐÅ - ×ÀÅÂÛÅ $100",0 +promptBlackjack db "[E] ÁËÝÊÄÆÅÊ (21)",0 +promptPoker db "[E] ÏÎÊÅÐ (TEXAS HOLD'EM)",0 +promptDurak db "[E] ÊÀÐÒÛ: ÏÎÄÊÈÄÍÎÉ ÄÓÐÀÊ",0 +promptCasinoRoulette db "[E] ÅÂÐÎÏÅÉÑÊÀß ÐÓËÅÒÊÀ",0 +promptClassicSlot db "[E] ÊËÀÑÑÈ×ÅÑÊÈÅ ÑËÎÒÛ 777",0 +promptCloverSlot db "[E] ÑËÎÒÛ CLOVERPIT (5x3)",0 +promptDice db "[E] ÈÃÐÀ  ÊÎÑÒÈ (CRAPS)",0 +promptSkulls db "[E] ÍÀϨÐÑÒÊÈ (×ÅÐÅÏÀ)",0 +promptCoin db "[E] ÌÎÍÅÒÊÀ (ÎШË/ÐÅØÊÀ)",0 +promptSkillCheck db "[E] ÒÐÅÍÈÐÎÂÊÀ ÐÅÀÊÖÈÈ",0 +promptBuckshot db "[E] BUCKSHOT ROULETTE",0 +promptRussianRoulette db "[E] ÐÓÑÑÊÀß ÐÓËÅÒÊÀ (VIP)",0 +promptOnlineRR db "[E] ÑÅÒÅÂÀß ÐÓËÅÒÊÀ (NET)",0 +promptUmamusume db "[E] ÑÊÀ×ÊÈ ÓÌÀÌÓÑÓÌÝ",0 +promptHellTower db "[E] ÁÀØÍß ÀÄÀ (10 ÝÒÀÆÅÉ)",0 +promptShop db "[E] ÁÓÒÈÊ È ÒÀËÈÑÌÀÍÛ",0 +promptATM db "[E] ÁÀÍÊÎÌÀÒ È ÁÀËÀÍÑ",0 +promptPlayerTerminal db "[E] ÒÅÐÌÈÍÀË: ÑÒÀÒÛ È À×ÈÂÊÈ",0 +promptObserver db "[E] ÐÅÆÈÌ ÍÀÁËÞÄÀÒÅËß (ÈÈ)",0 + +szTitleBlackjack db "[KAZIK 3D CASINO] - ÁËÝÊÄÆÅÊ (21)",0 +szTitlePoker db "[KAZIK 3D CASINO] - ÏÎÊÅÐ (TEXAS HOLD'EM)",0 +szTitleDurak db "[KAZIK 3D CASINO] - ÏÎÄÊÈÄÍÎÉ ÄÓÐÀÊ",0 +szTitleCasinoRoulette db "[KAZIK 3D CASINO] - ÅÂÐÎÏÅÉÑÊÀß ÐÓËÅÒÊÀ",0 +szTitleClassicSlot db "[KAZIK 3D CASINO] - ÊËÀÑÑÈ×ÅÑÊÈÅ ÑËÎÒÛ 777",0 +szTitleCloverSlot db "[KAZIK 3D CASINO] - ÑËÎÒ-ÌÀØÈÍÀ CLOVERPIT (5x3)",0 +szTitleDice db "[KAZIK 3D CASINO] - ÈÃÐÀ  ÊÎÑÒÈ (CRAPS)",0 +szTitleSkulls db "[KAZIK 3D CASINO] - ÍÀϨÐÑÒÊÈ",0 +szTitleCoin db "[KAZIK 3D CASINO] - ÌÎÍÅÒÊÀ (ÎШË/ÐÅØÊÀ)",0 +szTitleSkillCheck db "[KAZIK 3D CASINO] - ÏÐÎÂÅÐÊÀ ÐÅÀÊÖÈÈ",0 +szTitleBuckshot db "[KAZIK 3D CASINO] - BUCKSHOT ROULETTE",0 +szTitleRussianRoulette db "[KAZIK 3D CASINO] - ÐÓÑÑÊÀß ÐÓËÅÒÊÀ",0 +szTitleOnlineRR db "[KAZIK 3D CASINO] - ÑÅÒÅÂÀß ÐÓÑÑÊÀß ÐÓËÅÒÊÀ",0 +szTitleUmamusume db "[KAZIK 3D CASINO] - ÑÊÀ×ÊÈ ÓÌÀÌÓÑÓÌÝ",0 +szTitleHellTower db "[KAZIK 3D CASINO] - ÁÀØÍß ÀÄÀ (ÒÓÐÍÈÐ)",0 +szTitleShop db "[KAZIK 3D CASINO] - ÁÓÒÈÊ È ÒÀËÈÑÌÀÍÛ",0 +szTitleATM db "[KAZIK 3D CASINO] - ÁÀÍÊÎÌÀÒ",0 +szTitleTerminal db "[KAZIK 3D CASINO] - ÒÅÐÌÈÍÀË ÈÃÐÎÊÀ",0 +szTitleObserver db "[KAZIK 3D CASINO] - ÐÅÆÈÌ ÍÀÁËÞÄÀÒÅËß (ÈÈ)",0 msgDancerTipped db "Âû áðîñèëè $100 òàíöîâùèöå! ÓÄÀ×À ÀÊÒÈÂÈÐÎÂÀÍÀ!",0 msgNeedMoney db "Íåäîñòàòî÷íî äåíåã â êîøåëüêå!",0 @@ -186,7 +215,29 @@ targetHUDFormat db " luckHUDFormat db " ÓÄÀ×À: +",0 controlsHUD db "WASD/Ñòðåëêè: Õîäüáà | E: Äåéñòâèå | ESC: Ìåíþ",0 -NUM_SPRITES equ 13 +NUM_SPRITES equ 22 + +INTERACT_NONE equ 0 +INTERACT_BLACKJACK equ 1 +INTERACT_POKER equ 2 +INTERACT_SLOTS_777 equ 3 +INTERACT_ROULETTE equ 4 +INTERACT_SKULLS equ 5 +INTERACT_SHOP equ 6 +INTERACT_ATM equ 7 +INTERACT_DANCER equ 8 +INTERACT_HELL_TOWER equ 9 +INTERACT_DURAK equ 10 +INTERACT_BUCKSHOT equ 11 +INTERACT_COIN equ 12 +INTERACT_DICE equ 13 +INTERACT_SLOTS_CLOVER equ 14 +INTERACT_UMAMUSUME equ 15 +INTERACT_OBSERVER equ 16 +INTERACT_TERMINAL equ 17 +INTERACT_ONLINE_RR equ 18 +INTERACT_RUSSIAN_ROULETTE equ 19 +INTERACT_SKILL_CHECK equ 20 ALIGN 4 casinoSprites SpriteObject NUM_SPRITES dup(<>) sortedSprites dd NUM_SPRITES dup(0) @@ -2633,18 +2684,104 @@ interaction_done: ret CheckInteractions ENDP +; --- LaunchClassicGame: Îòêðûòèå îòäåëüíîãî îêíà äëÿ êëàññè÷åñêîé âåðñèè èãðû --- +LaunchClassicGame PROC uses ebx esi edi, pGameProc:DWORD, gameId:DWORD, pTitle:DWORD + LOCAL rc3D[16]:BYTE + LOCAL conWnd:DWORD + LOCAL conW:DWORD, conH:DWORD, conX:DWORD, conY:DWORD + + mov eax, gameId + mov currentGameId, eax + + invoke AllocConsole + test eax, eax + jz launch_ret + + invoke GetStdHandle, STD_OUTPUT_HANDLE + mov hOut, eax + invoke GetStdHandle, STD_INPUT_HANDLE + mov hIn, eax + + invoke SetConsoleCP, 1251 + invoke SetConsoleOutputCP, 1251 + + cmp pTitle, 0 + je @F + invoke SetConsoleTitleA, pTitle +@@: + call EnableAnsi + call ConfigureConsoleSize + + invoke GetConsoleWindow + mov conWnd, eax + test eax, eax + jz run_game_body + + cmp h3DWnd, 0 + je show_con_fallback + + lea eax, rc3D + invoke GetWindowRect, h3DWnd, eax + mov eax, dword ptr rc3D[0] + add eax, 40 + mov conX, eax + mov eax, dword ptr rc3D[4] + add eax, 40 + mov conY, eax + mov conW, 960 + mov conH, 680 + invoke SetWindowPos, conWnd, 0, conX, conY, conW, conH, 40h ; SWP_SHOWWINDOW + jmp set_con_focus + +show_con_fallback: + invoke ShowWindow, conWnd, 5 ; SW_SHOW +set_con_focus: + invoke SetForegroundWindow, conWnd + invoke SetFocus, conWnd + +run_game_body: + call pGameProc + + invoke FreeConsole + mov hOut, 0 + mov hIn, 0 + + cmp h3DWnd, 0 + je cleanup_game_input + invoke SetForegroundWindow, h3DWnd + invoke SetFocus, h3DWnd + +cleanup_game_input: + mov ecx, 256 + xor eax, eax + lea edi, keys3D + rep stosb + mov ecx, 256 + lea edi, pressedKeys3D + rep stosb + + invoke GetTickCount + mov previousTick3D, eax + mov frameStart3D, eax + mov deltaTime3D, 0 + + call SaveProgress3D + +launch_ret: + ret +LaunchClassicGame ENDP + Trigger3DInteraction PROC mov eax, interactTargetId test eax, eax - jz @F + jz trigger_done - cmp eax, 8 ; DANCER - jne check_target_slots + cmp eax, INTERACT_DANCER + jne check_target_bj cmp bankroll, 100 jl dancer_no_cash sub bankroll, 100 inc dancerLuckBuff - ; Tips are cosmetic and must not silently change game odds. invoke CopyString3D, OFFSET textTips3D, OFFSET flashMessage mov flashTimer, 100 invoke PlaySoundA, OFFSET soundJackpot, 0, 1 @@ -2654,42 +2791,124 @@ dancer_no_cash: mov flashTimer, 60 ret -check_target_slots: - cmp eax, 3 ; SLOTS - jne check_target_bj - mov engineMode, MODE_SLOTS - invoke PlaySoundA, OFFSET soundClick, 0, 1 +check_target_bj: + cmp eax, INTERACT_BLACKJACK + jne check_target_poker + invoke LaunchClassicGame, OFFSET Game21, 1, OFFSET szTitleBlackjack ret -check_target_bj: - cmp eax, 1 ; BLACKJACK +check_target_poker: + cmp eax, INTERACT_POKER + jne check_target_durak + invoke LaunchClassicGame, OFFSET GamePoker, 2, OFFSET szTitlePoker + ret + +check_target_durak: + cmp eax, INTERACT_DURAK + jne check_target_slots777 + invoke LaunchClassicGame, OFFSET GameDurak, 10, OFFSET szTitleDurak + ret + +check_target_slots777: + cmp eax, INTERACT_SLOTS_777 + jne check_target_slots_clover + invoke LaunchClassicGame, OFFSET GameClassicSlot, 9, OFFSET szTitleClassicSlot + ret + +check_target_slots_clover: + cmp eax, INTERACT_SLOTS_CLOVER jne check_target_roulette - mov engineMode, MODE_BLACKJACK - mov bjState, 0 + invoke LaunchClassicGame, OFFSET GameSlot, 3, OFFSET szTitleCloverSlot ret check_target_roulette: - cmp eax, 4 ; ROULETTE + cmp eax, INTERACT_ROULETTE + jne check_target_dice + invoke LaunchClassicGame, OFFSET GameCasinoRoulette, 8, OFFSET szTitleCasinoRoulette + ret + +check_target_dice: + cmp eax, INTERACT_DICE + jne check_target_skulls + invoke LaunchClassicGame, OFFSET GameDice, 7, OFFSET szTitleDice + ret + +check_target_skulls: + cmp eax, INTERACT_SKULLS + jne check_target_coin + invoke LaunchClassicGame, OFFSET GameSkulls, 5, OFFSET szTitleSkulls + ret + +check_target_coin: + cmp eax, INTERACT_COIN + jne check_target_skill + invoke LaunchClassicGame, OFFSET GameCoin, 6, OFFSET szTitleCoin + ret + +check_target_skill: + cmp eax, INTERACT_SKILL_CHECK + jne check_target_buckshot + invoke LaunchClassicGame, OFFSET GameSkillCheck, 11, OFFSET szTitleSkillCheck + ret + +check_target_buckshot: + cmp eax, INTERACT_BUCKSHOT + jne check_target_rr + invoke LaunchClassicGame, OFFSET GameBuckshot, 13, OFFSET szTitleBuckshot + ret + +check_target_rr: + cmp eax, INTERACT_RUSSIAN_ROULETTE + jne check_target_online_rr + invoke LaunchClassicGame, OFFSET GameRoulette, 4, OFFSET szTitleRussianRoulette + ret + +check_target_online_rr: + cmp eax, INTERACT_ONLINE_RR + jne check_target_umamusume + invoke LaunchClassicGame, OFFSET GameOnlineCasino, 20, OFFSET szTitleOnlineRR + ret + +check_target_umamusume: + cmp eax, INTERACT_UMAMUSUME + jne check_target_hell + invoke LaunchClassicGame, OFFSET GameUmamusume, 21, OFFSET szTitleUmamusume + ret + +check_target_hell: + cmp eax, INTERACT_HELL_TOWER jne check_target_shop - mov engineMode, MODE_ROULETTE - mov roulState, 0 + invoke LaunchClassicGame, OFFSET GameTournament, 666, OFFSET szTitleHellTower ret check_target_shop: - cmp eax, 6 ; SHOP + cmp eax, INTERACT_SHOP jne check_target_atm - mov engineMode, MODE_SHOP + invoke LaunchClassicGame, OFFSET GameShop, 0, OFFSET szTitleShop ret check_target_atm: - cmp eax, 7 ; ATM - jne target_unported + cmp eax, INTERACT_ATM + jne check_target_terminal mov engineMode, MODE_ATM ret + +check_target_terminal: + cmp eax, INTERACT_TERMINAL + jne check_target_observer + invoke LaunchClassicGame, OFFSET GamePlayerTerminal, 0, OFFSET szTitleTerminal + ret + +check_target_observer: + cmp eax, INTERACT_OBSERVER + jne target_unported + invoke LaunchClassicGame, OFFSET GameObserver, 14, OFFSET szTitleObserver + ret + target_unported: invoke CopyString3D, OFFSET textUnavailable3D, OFFSET flashMessage mov flashTimer, 150 -@@: +trigger_done: ret Trigger3DInteraction ENDP @@ -2721,7 +2940,7 @@ init_sprites_table: mov casinoSprites[0*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[0*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[0*SIZEOF SpriteObject].animSpeed, 5 - mov casinoSprites[0*SIZEOF SpriteObject].interactId, 8 + mov casinoSprites[0*SIZEOF SpriteObject].interactId, INTERACT_DANCER mov casinoSprites[0*SIZEOF SpriteObject].promptPtr, OFFSET promptDancer ; Sprite 1: VIP Dancer 2 (Center Stage Star) @@ -2732,7 +2951,7 @@ init_sprites_table: mov casinoSprites[1*SIZEOF SpriteObject].curFrame, 2 mov casinoSprites[1*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[1*SIZEOF SpriteObject].animSpeed, 5 - mov casinoSprites[1*SIZEOF SpriteObject].interactId, 8 + mov casinoSprites[1*SIZEOF SpriteObject].interactId, INTERACT_DANCER mov casinoSprites[1*SIZEOF SpriteObject].promptPtr, OFFSET promptDancer ; Sprite 2: VIP Dancer 3 (Stage Right) @@ -2743,21 +2962,21 @@ init_sprites_table: mov casinoSprites[2*SIZEOF SpriteObject].curFrame, 1 mov casinoSprites[2*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[2*SIZEOF SpriteObject].animSpeed, 5 - mov casinoSprites[2*SIZEOF SpriteObject].interactId, 8 + mov casinoSprites[2*SIZEOF SpriteObject].interactId, INTERACT_DANCER mov casinoSprites[2*SIZEOF SpriteObject].promptPtr, OFFSET promptDancer - ; Sprite 3: Blackjack Table with Dealer (Front Center Left) + ; Sprite 3: VIP Blackjack (Front Center Left) mov casinoSprites[3*SIZEOF SpriteObject].posX, (12 * FP_1 + FP_HALF) - mov casinoSprites[3*SIZEOF SpriteObject].posY, (10 * FP_1) + mov casinoSprites[3*SIZEOF SpriteObject].posY, (8 * FP_1) mov casinoSprites[3*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[3*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[3*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[3*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[3*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[3*SIZEOF SpriteObject].interactId, 1 + mov casinoSprites[3*SIZEOF SpriteObject].interactId, INTERACT_BLACKJACK mov casinoSprites[3*SIZEOF SpriteObject].promptPtr, OFFSET promptBlackjack - ; Sprite 4: Roulette Table (Front Center) + ; Sprite 4: European Roulette Table (Front Center) mov casinoSprites[4*SIZEOF SpriteObject].posX, (16 * FP_1 + FP_HALF) mov casinoSprites[4*SIZEOF SpriteObject].posY, (10 * FP_1) mov casinoSprites[4*SIZEOF SpriteObject].baseTexId, 31 @@ -2765,96 +2984,195 @@ init_sprites_table: mov casinoSprites[4*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[4*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[4*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[4*SIZEOF SpriteObject].interactId, 4 - mov casinoSprites[4*SIZEOF SpriteObject].promptPtr, OFFSET promptRoulette + mov casinoSprites[4*SIZEOF SpriteObject].interactId, INTERACT_ROULETTE + mov casinoSprites[4*SIZEOF SpriteObject].promptPtr, OFFSET promptCasinoRoulette - ; Sprite 5: Poker Table (Front Center Right) - mov casinoSprites[5*SIZEOF SpriteObject].posX, (21 * FP_1) - mov casinoSprites[5*SIZEOF SpriteObject].posY, (10 * FP_1) + ; Sprite 5: Texas Hold'em Poker Table (Front Center Right) + mov casinoSprites[5*SIZEOF SpriteObject].posX, (20 * FP_1 + FP_HALF) + mov casinoSprites[5*SIZEOF SpriteObject].posY, (8 * FP_1) mov casinoSprites[5*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[5*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[5*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[5*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[5*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[5*SIZEOF SpriteObject].interactId, 1 + mov casinoSprites[5*SIZEOF SpriteObject].interactId, INTERACT_POKER mov casinoSprites[5*SIZEOF SpriteObject].promptPtr, OFFSET promptPoker - ; Sprite 6: Slot Machine 1 (West Arcade) - mov casinoSprites[6*SIZEOF SpriteObject].posX, (6 * FP_1) + ; Sprite 6: Podkidnoy Durak Card Table + mov casinoSprites[6*SIZEOF SpriteObject].posX, (24 * FP_1 + FP_HALF) mov casinoSprites[6*SIZEOF SpriteObject].posY, (8 * FP_1) - mov casinoSprites[6*SIZEOF SpriteObject].baseTexId, 24 - mov casinoSprites[6*SIZEOF SpriteObject].frameCount, 3 + mov casinoSprites[6*SIZEOF SpriteObject].baseTexId, 30 + mov casinoSprites[6*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[6*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[6*SIZEOF SpriteObject].animTimer, 0 - mov casinoSprites[6*SIZEOF SpriteObject].animSpeed, 8 - mov casinoSprites[6*SIZEOF SpriteObject].interactId, 3 - mov casinoSprites[6*SIZEOF SpriteObject].promptPtr, OFFSET promptSlot1 + mov casinoSprites[6*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[6*SIZEOF SpriteObject].interactId, INTERACT_DURAK + mov casinoSprites[6*SIZEOF SpriteObject].promptPtr, OFFSET promptDurak - ; Sprite 7: Slot Machine 2 (CloverPit) + ; Sprite 7: Classic Slots 777 (West Arcade 1) mov casinoSprites[7*SIZEOF SpriteObject].posX, (6 * FP_1) - mov casinoSprites[7*SIZEOF SpriteObject].posY, (11 * FP_1) + mov casinoSprites[7*SIZEOF SpriteObject].posY, (8 * FP_1) mov casinoSprites[7*SIZEOF SpriteObject].baseTexId, 24 mov casinoSprites[7*SIZEOF SpriteObject].frameCount, 3 - mov casinoSprites[7*SIZEOF SpriteObject].curFrame, 1 + mov casinoSprites[7*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[7*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[7*SIZEOF SpriteObject].animSpeed, 8 - mov casinoSprites[7*SIZEOF SpriteObject].interactId, 3 - mov casinoSprites[7*SIZEOF SpriteObject].promptPtr, OFFSET promptSlot2 + mov casinoSprites[7*SIZEOF SpriteObject].interactId, INTERACT_SLOTS_777 + mov casinoSprites[7*SIZEOF SpriteObject].promptPtr, OFFSET promptClassicSlot - ; Sprite 8: Slot Machine 3 + ; Sprite 8: CloverPit Slots 5x3 (West Arcade 2) mov casinoSprites[8*SIZEOF SpriteObject].posX, (6 * FP_1) - mov casinoSprites[8*SIZEOF SpriteObject].posY, (14 * FP_1) + mov casinoSprites[8*SIZEOF SpriteObject].posY, (11 * FP_1) mov casinoSprites[8*SIZEOF SpriteObject].baseTexId, 24 mov casinoSprites[8*SIZEOF SpriteObject].frameCount, 3 - mov casinoSprites[8*SIZEOF SpriteObject].curFrame, 2 + mov casinoSprites[8*SIZEOF SpriteObject].curFrame, 1 mov casinoSprites[8*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[8*SIZEOF SpriteObject].animSpeed, 8 - mov casinoSprites[8*SIZEOF SpriteObject].interactId, 3 - mov casinoSprites[8*SIZEOF SpriteObject].promptPtr, OFFSET promptSlot1 + mov casinoSprites[8*SIZEOF SpriteObject].interactId, INTERACT_SLOTS_CLOVER + mov casinoSprites[8*SIZEOF SpriteObject].promptPtr, OFFSET promptCloverSlot - ; Sprite 9: Bartender / Bar Counter (East Wing) - mov casinoSprites[9*SIZEOF SpriteObject].posX, (26 * FP_1) - mov casinoSprites[9*SIZEOF SpriteObject].posY, (12 * FP_1) - mov casinoSprites[9*SIZEOF SpriteObject].baseTexId, 32 + ; Sprite 9: Craps & Dice Table (West Arcade 3) + mov casinoSprites[9*SIZEOF SpriteObject].posX, (6 * FP_1) + mov casinoSprites[9*SIZEOF SpriteObject].posY, (14 * FP_1) + mov casinoSprites[9*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[9*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[9*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[9*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[9*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[9*SIZEOF SpriteObject].interactId, 6 - mov casinoSprites[9*SIZEOF SpriteObject].promptPtr, OFFSET promptShop + mov casinoSprites[9*SIZEOF SpriteObject].interactId, INTERACT_DICE + mov casinoSprites[9*SIZEOF SpriteObject].promptPtr, OFFSET promptDice - ; Sprite 10: ATM Bank Terminal (East Wing) - mov casinoSprites[10*SIZEOF SpriteObject].posX, (26 * FP_1) - mov casinoSprites[10*SIZEOF SpriteObject].posY, (16 * FP_1) - mov casinoSprites[10*SIZEOF SpriteObject].baseTexId, 33 + ; Sprite 10: Skulls & Cups Table + mov casinoSprites[10*SIZEOF SpriteObject].posX, (10 * FP_1) + mov casinoSprites[10*SIZEOF SpriteObject].posY, (15 * FP_1) + mov casinoSprites[10*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[10*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[10*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[10*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[10*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[10*SIZEOF SpriteObject].interactId, 7 - mov casinoSprites[10*SIZEOF SpriteObject].promptPtr, OFFSET promptATM + mov casinoSprites[10*SIZEOF SpriteObject].interactId, INTERACT_SKULLS + mov casinoSprites[10*SIZEOF SpriteObject].promptPtr, OFFSET promptSkulls - ; Sprite 11: Underground Table (South Wing) - mov casinoSprites[11*SIZEOF SpriteObject].posX, (16 * FP_1 + FP_HALF) - mov casinoSprites[11*SIZEOF SpriteObject].posY, (24 * FP_1) - mov casinoSprites[11*SIZEOF SpriteObject].baseTexId, 34 + ; Sprite 11: Coin Toss Stand + mov casinoSprites[11*SIZEOF SpriteObject].posX, (14 * FP_1) + mov casinoSprites[11*SIZEOF SpriteObject].posY, (15 * FP_1) + mov casinoSprites[11*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[11*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[11*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[11*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[11*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[11*SIZEOF SpriteObject].interactId, 5 - mov casinoSprites[11*SIZEOF SpriteObject].promptPtr, OFFSET promptBackroom + mov casinoSprites[11*SIZEOF SpriteObject].interactId, INTERACT_COIN + mov casinoSprites[11*SIZEOF SpriteObject].promptPtr, OFFSET promptCoin - ; Sprite 12: Secret Demon Portal (South Wing) - mov casinoSprites[12*SIZEOF SpriteObject].posX, (16 * FP_1 + FP_HALF) - mov casinoSprites[12*SIZEOF SpriteObject].posY, (29 * FP_1) - mov casinoSprites[12*SIZEOF SpriteObject].baseTexId, 4 + ; Sprite 12: Skill Check Stand + mov casinoSprites[12*SIZEOF SpriteObject].posX, (18 * FP_1) + mov casinoSprites[12*SIZEOF SpriteObject].posY, (15 * FP_1) + mov casinoSprites[12*SIZEOF SpriteObject].baseTexId, 30 mov casinoSprites[12*SIZEOF SpriteObject].frameCount, 1 mov casinoSprites[12*SIZEOF SpriteObject].curFrame, 0 mov casinoSprites[12*SIZEOF SpriteObject].animTimer, 0 mov casinoSprites[12*SIZEOF SpriteObject].animSpeed, 1 - mov casinoSprites[12*SIZEOF SpriteObject].interactId, 9 - mov casinoSprites[12*SIZEOF SpriteObject].promptPtr, OFFSET promptHell + mov casinoSprites[12*SIZEOF SpriteObject].interactId, INTERACT_SKILL_CHECK + mov casinoSprites[12*SIZEOF SpriteObject].promptPtr, OFFSET promptSkillCheck + + ; Sprite 13: Umamusume Derby Lounge + mov casinoSprites[13*SIZEOF SpriteObject].posX, (22 * FP_1) + mov casinoSprites[13*SIZEOF SpriteObject].posY, (15 * FP_1) + mov casinoSprites[13*SIZEOF SpriteObject].baseTexId, 30 + mov casinoSprites[13*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[13*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[13*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[13*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[13*SIZEOF SpriteObject].interactId, INTERACT_UMAMUSUME + mov casinoSprites[13*SIZEOF SpriteObject].promptPtr, OFFSET promptUmamusume + + ; Sprite 14: Boutique & Shop (East Wing) + mov casinoSprites[14*SIZEOF SpriteObject].posX, (26 * FP_1) + mov casinoSprites[14*SIZEOF SpriteObject].posY, (12 * FP_1) + mov casinoSprites[14*SIZEOF SpriteObject].baseTexId, 32 + mov casinoSprites[14*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[14*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[14*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[14*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[14*SIZEOF SpriteObject].interactId, INTERACT_SHOP + mov casinoSprites[14*SIZEOF SpriteObject].promptPtr, OFFSET promptShop + + ; Sprite 15: Cashier & ATM (East Wing) + mov casinoSprites[15*SIZEOF SpriteObject].posX, (26 * FP_1) + mov casinoSprites[15*SIZEOF SpriteObject].posY, (16 * FP_1) + mov casinoSprites[15*SIZEOF SpriteObject].baseTexId, 33 + mov casinoSprites[15*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[15*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[15*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[15*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[15*SIZEOF SpriteObject].interactId, INTERACT_ATM + mov casinoSprites[15*SIZEOF SpriteObject].promptPtr, OFFSET promptATM + + ; Sprite 16: Player Terminal (East Wing) + mov casinoSprites[16*SIZEOF SpriteObject].posX, (26 * FP_1) + mov casinoSprites[16*SIZEOF SpriteObject].posY, (20 * FP_1) + mov casinoSprites[16*SIZEOF SpriteObject].baseTexId, 33 + mov casinoSprites[16*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[16*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[16*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[16*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[16*SIZEOF SpriteObject].interactId, INTERACT_TERMINAL + mov casinoSprites[16*SIZEOF SpriteObject].promptPtr, OFFSET promptPlayerTerminal + + ; Sprite 17: Buckshot Roulette (South-West) + mov casinoSprites[17*SIZEOF SpriteObject].posX, (12 * FP_1) + mov casinoSprites[17*SIZEOF SpriteObject].posY, (22 * FP_1) + mov casinoSprites[17*SIZEOF SpriteObject].baseTexId, 30 + mov casinoSprites[17*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[17*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[17*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[17*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[17*SIZEOF SpriteObject].interactId, INTERACT_BUCKSHOT + mov casinoSprites[17*SIZEOF SpriteObject].promptPtr, OFFSET promptBuckshot + + ; Sprite 18: Observer Lounge (South-East) + mov casinoSprites[18*SIZEOF SpriteObject].posX, (20 * FP_1) + mov casinoSprites[18*SIZEOF SpriteObject].posY, (22 * FP_1) + mov casinoSprites[18*SIZEOF SpriteObject].baseTexId, 30 + mov casinoSprites[18*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[18*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[18*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[18*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[18*SIZEOF SpriteObject].interactId, INTERACT_OBSERVER + mov casinoSprites[18*SIZEOF SpriteObject].promptPtr, OFFSET promptObserver + + ; Sprite 19: Russian Roulette (Backroom Entrance) + mov casinoSprites[19*SIZEOF SpriteObject].posX, (16 * FP_1) + mov casinoSprites[19*SIZEOF SpriteObject].posY, (25 * FP_1) + mov casinoSprites[19*SIZEOF SpriteObject].baseTexId, 34 + mov casinoSprites[19*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[19*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[19*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[19*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[19*SIZEOF SpriteObject].interactId, INTERACT_RUSSIAN_ROULETTE + mov casinoSprites[19*SIZEOF SpriteObject].promptPtr, OFFSET promptRussianRoulette + + ; Sprite 20: Online Russian Roulette (Backroom Secret Terminal) + mov casinoSprites[20*SIZEOF SpriteObject].posX, (18 * FP_1) + mov casinoSprites[20*SIZEOF SpriteObject].posY, (25 * FP_1) + mov casinoSprites[20*SIZEOF SpriteObject].baseTexId, 34 + mov casinoSprites[20*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[20*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[20*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[20*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[20*SIZEOF SpriteObject].interactId, INTERACT_ONLINE_RR + mov casinoSprites[20*SIZEOF SpriteObject].promptPtr, OFFSET promptOnlineRR + + ; Sprite 21: Hell Tower Portal (South Wing Deep End) + mov casinoSprites[21*SIZEOF SpriteObject].posX, (16 * FP_1 + FP_HALF) + mov casinoSprites[21*SIZEOF SpriteObject].posY, (29 * FP_1) + mov casinoSprites[21*SIZEOF SpriteObject].baseTexId, 4 + mov casinoSprites[21*SIZEOF SpriteObject].frameCount, 1 + mov casinoSprites[21*SIZEOF SpriteObject].curFrame, 0 + mov casinoSprites[21*SIZEOF SpriteObject].animTimer, 0 + mov casinoSprites[21*SIZEOF SpriteObject].animSpeed, 1 + mov casinoSprites[21*SIZEOF SpriteObject].interactId, INTERACT_HELL_TOWER + mov casinoSprites[21*SIZEOF SpriteObject].promptPtr, OFFSET promptHellTower mov eax, 1 jmp init_return diff --git a/poker.asm b/poker.asm index 3b6eb62..39bdc15 100644 --- a/poker.asm +++ b/poker.asm @@ -72,6 +72,13 @@ GetConsoleScreenBufferInfo PROTO :DWORD, :DWORD GetConsoleMode PROTO :DWORD, :DWORD SetConsoleMode PROTO :DWORD, :DWORD FillConsoleOutputCharacterA PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD +AllocConsole PROTO +FreeConsole PROTO +GetConsoleWindow PROTO +SetConsoleTitleA PROTO :DWORD +GetWindowRect PROTO :DWORD, :DWORD +SetWindowPos PROTO :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD +SetFocus PROTO :DWORD mciSendStringA PROTO :DWORD, :DWORD, :DWORD, :DWORD waveOutSetVolume PROTO :DWORD, :DWORD AnimFrameDelay PROTO :DWORD @@ -14925,6 +14932,46 @@ uma_exit: ret GameUmamusume ENDP +; --- GamePlayerTerminal: Èãðîâîé òåðìèíàë (ñòàòèñòèêà, à÷èâêè, êâåñòû) --- +titleTerminal db "=== ÒÅÐÌÈÍÀË ÈÃÐÎÊÀ ===",13,10,0 +textTerminalMenu db "1. Äîñòèæåíèÿ",13,10,"2. Ñòàòèñòèêà ïî èãðàì",13,10,"3. Åæåäíåâíûå çàäàíèÿ",13,10,"4. Ãëàâíîå ìåíþ è ÷èòû",13,10,"0. Íàçàä â êàçèíî",13,10,0 + +GamePlayerTerminal PROC +terminal_loop: + call ClearView + invoke PrintTitleColor, OFFSET titleTerminal + invoke PrintStr, OFFSET textTerminalMenu + invoke PrintStr, OFFSET choiceText + call ReadKey + cmp al, '1' + je term_ach + cmp al, '2' + je term_stats + cmp al, '3' + je term_daily + cmp al, '4' + je term_classic_menu + cmp al, '0' + je term_exit + cmp al, 1Bh + je term_exit + jmp terminal_loop +term_ach: + call GameAchievements + jmp terminal_loop +term_stats: + call GameStatsByGame + jmp terminal_loop +term_daily: + call GameDailyTasks + jmp terminal_loop +term_classic_menu: + call MainMenu + jmp terminal_loop +term_exit: + ret +GamePlayerTerminal ENDP + include casino3d.inc diff --git a/poker.exe b/poker.exe index cef22cb42c39cc4f2e0ed639e7807494cb6da4c1..8e7557b49489401ce683ae52c21efbdb572d4476 100644 GIT binary patch delta 69945 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