; Window, presentation and timing state. Gameplay remains MASM32. GetClientRect PROTO :DWORD,:DWORD GetWindowRect PROTO :DWORD,:DWORD GetWindowLongA PROTO :DWORD,:DWORD SetWindowLongA PROTO :DWORD,:DWORD,:DWORD SetWindowPos PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD SetStretchBltMode PROTO :DWORD,:DWORD PatBlt PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD GetForegroundWindow PROTO IsIconic PROTO :DWORD LoadCursorA PROTO :DWORD,:DWORD LoadIconA PROTO :DWORD,:DWORD GetModuleHandleA PROTO :DWORD GetProcAddress PROTO :DWORD,:DWORD SetCurrentDirectoryA PROTO :DWORD GetFileAttributesA PROTO :DWORD MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:DWORD BeginPaint PROTO :DWORD,:DWORD EndPaint PROTO :DWORD,:DWORD MonitorFromWindow PROTO :DWORD,:DWORD GetMonitorInfoA PROTO :DWORD,:DWORD AdjustWindowRectEx PROTO :DWORD,:DWORD,:DWORD,:DWORD CreateMutexA PROTO :DWORD,:DWORD,:DWORD GetLastError PROTO CanWalk3D PROTO :DWORD,:DWORD FindWindowA PROTO :DWORD,:DWORD Pressed3D PROTO :DWORD WindowEvents3D PROTO :DWORD,:DWORD,:DWORD,:DWORD Create3DWindow PROTO LoadTextures3D PROTO Present3D PROTO ToggleFullscreen3D PROTO UpdateCamera3D PROTO SaveProgress3D PROTO InitPaths3D PROTO LoadProgress3D PROTO .data clientRect3D dd 4 dup(0) savedRect3D dd 4 dup(0) monitor3D dd 40, 9 dup(0) paint3D db 64 dup(0) keys3D db 256 dup(0) pressedKeys3D db 256 dup(0) fullscreen3D dd 0 paused3D dd 0 previousTick3D dd 0 frameStart3D dd 0 deltaTime3D dd 16 animationClock3D dd 0 mutex3D dd 0 directory3D db 1024 dup(0) parent3D db "..",0 runtime3D db "runtime",0 savePath3D db "runtime\casino3d-progress.dat",0 saveData3D dd 32443343h, 10000, 0, 0 saveIo3D dd 0 textPause3D db "CASINO / PAUSE",0 textResume3D db "ESC - RESUME",0 textQuit3D db "Q - SAVE AND EXIT",0 textMissing3D db "Cannot load assets/textures/casino3d-hd.bin. Keep the assets folder next to the game.",0 mutexName3D db "Local\AssemblerCasinoGraphical",0 user32Name3D db "user32.dll",0 dpiName3D db "SetProcessDPIAware",0 textWalkKeys3D db "W/S: MOVE A/D: TURN E: USE",0 textWindowKeys3D db "F11 FULL / ESC",0 textBank3D db "BANK $",0 textTip3D db "TIP $100",0 textUnavailable3D db "THIS TABLE IS NOT PORTED YET",0 textSlots3D db "777 / SLOT MACHINE",0 textSlotsKeys3D db "SPACE: SPIN UP/DOWN: BET",0 textBack3D db "ESC: BACK TO CASINO",0 textBet3D db "BET $",0 textDealer3D db "DEALER",0 textPlayer3D db "YOUR HAND",0 textBJKeys3D db "H: HIT S: STAND",0 textDeal3D db "SPACE: DEAL UP/DOWN: BET",0 textNext3D db "SPACE: NEXT HAND",0 textRed3D db "1 RED",0 textBlack3D db "2 BLACK",0 textZero3D db "3 ZERO",0 textEven3D db "4 EVEN",0 textOdd3D db "5 ODD",0 textSpin3D db "SPACE: SPIN ESC: LEAVE",0 textResult3D db "NUMBER",0 textShop3D db "CASINO BOUTIQUE",0 textItem1_3D db "1 GOLD CARD BACK - $1000",0 textItem2_3D db "2 EMERALD BACK - $1500",0 textItem3_3D db "3 CRIMSON BACK - $1500",0 textShopHint3D db "BUY ONCE / PRESS AGAIN TO EQUIP",0 textBought3D db "CARD BACK EQUIPPED",0 ownedBacks3D dd 1 selectedBack3D dd 0 cardBackColors3D dd 00244780h, 00B79835h, 002C7958h, 009A3248h textATM3D db "CASHIER",0 textATMNote3D db "BALANCE IS SAVED ON EXIT",0 textATMNote2_3D db "SEPARATE 2.5D PREVIEW PROFILE",0 textNoCash3D db "NOT ENOUGH CHIPS",0 textWin3D db "WIN",0 textLose3D db "LOSS",0 textTie3D db "PUSH",0 textBJ3D db "21 / BLACKJACK",0 textTips3D db "THANK YOU FOR THE TIP",0 .code