; Window, presentation and timing state. Gameplay remains MASM32. ApplySoundVolume PROTO 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 displayFill3D dd 1 lastPersistMode3D dd 0 paused3D dd 0 previousTick3D dd 0 frameStart3D dd 0 deltaTime3D dd 16 mouseClick3D dd 0 mouseX3D dd 0 mouseY3D dd 0 viewWidth3D dd 0 viewHeight3D dd 0 viewLeft3D dd 0 viewTop3D dd 0 animationClock3D dd 0 mutex3D dd 0 directory3D db 1024 dup(0) parent3D db "..",0 runtime3D db "runtime",0 displaySettingsPath3D db "runtime\display.cfg",0 displaySettingsData3D dd 44535031h,1,0 displaySettingsIo3D dd 0 savePath3D db "runtime\casino3d-progress.dat",0 saveData3D dd 32443343h, 10000, 0, 0 saveIo3D dd 0 previewBackMap3D dd 0,3,5,2 textPause3D db 202,192,199,200,205,206,32,47,32,205,192,209,210,208,206,201,202,200,0 textResume3D db 69,83,67,32,45,32,207,208,206,196,206,203,198,200,210,220,0 textQuit3D db 81,32,45,32,209,206,213,208,192,205,200,210,220,32,200,32,194,219,201,210,200,0 textDisplayFill3D db 49,32,221,202,208,192,205,58,32,194,197,209,220,32,204,206,205,200,210,206,208,0 textDisplayFit3D db 49,32,221,202,208,192,205,58,32,202,203,192,209,209,200,202,192,32,52,58,51,0 textLowSpec3D db 50,32,208,197,198,200,204,0 textSoundLevel3D db 195,208,206,204,202,206,209,210,220,0 textVolumeKeys3D db 43,32,47,32,45,32,195,208,206,204,202,206,209,210,220,0 textFullscreenKey3D db 70,49,49,32,207,206,203,205,219,201,32,221,202,208,192,205,32,47,32,206,202,205,206,0 textLowSpecOff3D db 207,206,203,205,219,201,0 textLowSpecEco3D db 221,202,206,0 textLowSpecQuiet3D db 210,200,213,200,201,0 textMissing3D db 205,229,32,243,228,224,235,238,241,252,32,231,224,227,240,243,231,232,242,252,32,97,115,115,101,116,115,47,116,101,120,116 db 117,114,101,115,47,99,97,115,105,110,111,51,100,45,104,100,46,98,105,110,46,32,207,224,239,234,224,32,97,115,115,101 db 116,115,32,228,238,235,230,237,224,32,237,224,245,238,228,232,242,252,241,255,32,240,255,228,238,236,32,241,32,232,227,240 db 238,233,46,0 mutexName3D db "Local\AssemblerCasinoGraphical",0 user32Name3D db "user32.dll",0 dpiName3D db "SetProcessDPIAware",0 textWalkKeys3D db 87,47,83,58,32,213,206,196,32,32,65,47,68,58,32,207,206,194,206,208,206,210,32,32,69,58,32,196,197,201,209,210 db 194,200,197,0 textWindowKeys3D db 70,49,49,32,221,202,208,192,205,32,47,32,69,83,67,0 textBank3D db 193,192,205,202,32,36,0 textTip3D db 215,192,197,194,219,197,32,36,49,48,48,0 textUnavailable3D db 207,206,202,192,32,205,197,32,208,197,192,203,200,199,206,194,192,205,206,0 textSlots3D db 55,55,55,32,47,32,192,194,210,206,204,192,210,0 textSlotsKeys3D db 207,208,206,193,197,203,58,32,200,195,208,192,32,32,194,194,197,208,213,47,194,205,200,199,58,32,209,210,192,194,202,192 db 0 textBack3D db 69,83,67,58,32,205,192,199,192,196,32,194,32,202,192,199,200,205,206,0 textBet3D db 209,210,192,194,202,192,32,36,0 textDealer3D db 196,200,203,197,208,0 textPlayer3D db 194,192,216,200,32,202,192,208,210,219,0 textBJKeys3D db 72,58,32,202,192,208,210,192,32,32,83,58,32,213,194,192,210,200,210,0 textDeal3D db 207,208,206,193,197,203,58,32,209,196,192,210,220,32,32,194,194,197,208,213,47,194,205,200,199,58,32,209,210,192,194,202 db 192,0 textNext3D db 207,208,206,193,197,203,58,32,209,203,197,196,211,222,217,192,223,32,208,192,199,196,192,215,192,0 textRed3D db 49,32,202,208,192,209,205,206,197,0 textBlack3D db 50,32,215,168,208,205,206,197,0 textZero3D db 51,32,205,206,203,220,0 textEven3D db 52,32,215,168,210,0 textOdd3D db 53,32,205,197,215,168,210,0 textSpin3D db 207,208,206,193,197,203,58,32,200,195,208,192,32,32,69,83,67,58,32,194,219,213,206,196,0 textResult3D db 215,200,209,203,206,0 textShop3D db 204,192,195,192,199,200,205,32,202,192,199,200,205,206,0 textItem1_3D db 49,32,199,206,203,206,210,192,223,32,208,211,193,192,216,202,192,32,45,32,36,49,48,48,48,0 textItem2_3D db 50,32,200,199,211,204,208,211,196,205,192,223,32,208,211,193,192,216,202,192,32,45,32,36,49,53,48,48,0 textItem3_3D db 51,32,193,192,195,208,206,194,192,223,32,208,211,193,192,216,202,192,32,45,32,36,49,53,48,48,0 textShopHint3D db 202,211,207,200,210,220,32,47,32,194,219,193,208,192,210,220,32,208,211,193,192,216,202,211,0 textBought3D db 208,211,193,192,216,202,192,32,194,219,193,208,192,205,192,0 ownedBacks3D dd 1 selectedBack3D dd 0 cardBackColors3D dd 00434A4Dh,00244780h,009A3248h,00B79835h,0031252Bh,002C7958h dd 00654782h,00202528h,002D6184h,0085663Dh,009D8532h,00276E76h,00613749h textATM3D db 202,192,209,209,192,0 textATMNote3D db 193,192,203,192,205,209,32,209,206,213,208,192,205,223,197,210,209,223,32,207,208,200,32,194,219,213,206,196,197,0 textATMNote2_3D db 203,206,202,192,203,220,205,219,201,32,207,208,206,212,200,203,220,32,200,195,208,206,202,192,0 textNoCash3D db 205,197,196,206,209,210,192,210,206,215,205,206,32,212,200,216,197,202,0 textWin3D db 194,219,200,195,208,219,216,0 textLose3D db 207,208,206,200,195,208,219,216,0 textTie3D db 205,200,215,220,223,0 textBJ3D db 50,49,32,47,32,193,203,221,202,196,198,197,202,0 textTips3D db 209,207,192,209,200,193,206,32,199,192,32,215,192,197,194,219,197,0 .code