include src_graphics\rooftop_gl_api.inc ROOF_HD_W equ 1280 ROOF_HD_H equ 960 ROOF_GL_TEXTURES equ 49 InitRoofHD3D PROTO FreeRoofHD3D PROTO RenderRoofHD3D PROTO PresentRoofHD3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD LoadRoofMesh3D PROTO :DWORD,:DWORD FreeRoofMesh3D PROTO :DWORD RoofGLProc3D PROTO :DWORD,:DWORD UploadRoofGLTexture3D PROTO :DWORD,:DWORD,:DWORD,:DWORD BuildRoofGLList3D PROTO :DWORD,:DWORD,:DWORD,:DWORD DrawRoofGLSky3D PROTO DrawRoofGLTraffic3D PROTO DrawRoofGLWater3D PROTO UploadRoofGLSky3D PROTO :DWORD,:DWORD UpdateRoofGLFog3D PROTO UpdateRoofQuality3D PROTO ComposeRoofFrame3D PROTO RenderRoofQualityToast3D PROTO WriteRoofRendererInfo3D PROTO WriteRoofLogString3D PROTO :DWORD,:DWORD .data roofHDReady3D dd 0 roofHDStage3D dd 0 roofHDWindow3D dd 0 roofHDDC3D dd 0 roofHDRC3D dd 0 roofHDModule3D dd 0 roofHDBuffer3D dd 0 roofHDFBO3D dd 0 roofHDColorTex3D dd 0 roofHDDepth3D dd 0 roofHDLists3D dd 0 roofHDSkyTextures3D dd 2 dup(0) roofHDDayTextures3D dd ROOF_GL_TEXTURES dup(0) roofHDNightTextures3D dd ROOF_GL_TEXTURES dup(0) roofHDEmissionTextures3D dd ROOF_GL_TEXTURES dup(0) roofHDMeshScene3D dd 4 dup(0) roofHDMeshCar3D dd 4 dup(0) roofHDMeshBoat3D dd 4 dup(0) roofHDScenePath3D db "assets\animations\rooftop\mesh-city-v1.bin",0 roofHDCarPath3D db "assets\animations\rooftop\mesh-car-v1.bin",0 roofHDBoatPath3D db "assets\animations\rooftop\mesh-boat-v1.bin",0 roofHDMeshPtrs3D dd OFFSET roofHDMeshScene3D,OFFSET roofHDMeshCar3D,OFFSET roofHDMeshBoat3D roofHDClassName3D db "AssemblerCasinoRoofOffscreen",0 roofHDTitle3D db "Roof offscreen renderer",0 roofHDClass3D dd 20h,OFFSET DefWindowProcA,0,0,0,0,0,0,0,OFFSET roofHDClassName3D ; PIXELFORMATDESCRIPTOR: RGBA32, depth24, draw-to-window/OpenGL/double-buffer. roofHDPixelFormat3D dw 40,1 dd 25h db 0,32,0,0,0,0,0,0,8,0,0,0,0,0,0,24,8,0,0,0 dd 0,0,0 roofHDOverlayDC3D dd 0 roofHDOverlayBmp3D dd 0 roofHDOverlayOld3D dd 0 roofHDFinalDC3D dd 0 roofHDFinalBmp3D dd 0 roofHDFinalOld3D dd 0 roofHDFinalPixels3D dd 0 roofHDOverlayPixels3D dd 0 roofHDOverlayBMI3D dd 40,640,-480 dw 1,32 dd 0,640*480*4,0,0,0,0 roofHDBMI3D dd 40,ROOF_HD_W,ROOF_HD_H dw 1,32 dd 0,ROOF_HD_W*ROOF_HD_H*4,0,0,0,0 roofGLGenFBO3D dd 0 roofGLBindFBO3D dd 0 roofGLAttachTexture3D dd 0 roofGLCheckFBO3D dd 0 roofGLDeleteFBO3D dd 0 roofGLGenRBO3D dd 0 roofGLBindRBO3D dd 0 roofGLStoreRBO3D dd 0 roofGLAttachRBO3D dd 0 roofGLDeleteRBO3D dd 0 roofGLMipmap3D dd 0 roofGLProcSlots3D dd OFFSET roofGLGenFBO3D,OFFSET roofGLBindFBO3D,OFFSET roofGLAttachTexture3D dd OFFSET roofGLCheckFBO3D,OFFSET roofGLDeleteFBO3D,OFFSET roofGLGenRBO3D dd OFFSET roofGLBindRBO3D,OFFSET roofGLStoreRBO3D,OFFSET roofGLAttachRBO3D dd OFFSET roofGLDeleteRBO3D,OFFSET roofGLMipmap3D roofGLProcNames3D dd OFFSET roofGLName0,OFFSET roofGLName1,OFFSET roofGLName2,OFFSET roofGLName3 dd OFFSET roofGLName4,OFFSET roofGLName5,OFFSET roofGLName6,OFFSET roofGLName7 dd OFFSET roofGLName8,OFFSET roofGLName9,OFFSET roofGLName10 roofGLProcExtNames3D dd OFFSET roofGLExt0,OFFSET roofGLExt1,OFFSET roofGLExt2,OFFSET roofGLExt3 dd OFFSET roofGLExt4,OFFSET roofGLExt5,OFFSET roofGLExt6,OFFSET roofGLExt7 dd OFFSET roofGLExt8,OFFSET roofGLExt9,OFFSET roofGLExt10 roofGLName0 db "glGenFramebuffers",0 roofGLName1 db "glBindFramebuffer",0 roofGLName2 db "glFramebufferTexture2D",0 roofGLName3 db "glCheckFramebufferStatus",0 roofGLName4 db "glDeleteFramebuffers",0 roofGLName5 db "glGenRenderbuffers",0 roofGLName6 db "glBindRenderbuffer",0 roofGLName7 db "glRenderbufferStorage",0 roofGLName8 db "glFramebufferRenderbuffer",0 roofGLName9 db "glDeleteRenderbuffers",0 roofGLName10 db "glGenerateMipmap",0 roofGLExt0 db "glGenFramebuffersEXT",0 roofGLExt1 db "glBindFramebufferEXT",0 roofGLExt2 db "glFramebufferTexture2DEXT",0 roofGLExt3 db "glCheckFramebufferStatusEXT",0 roofGLExt4 db "glDeleteFramebuffersEXT",0 roofGLExt5 db "glGenRenderbuffersEXT",0 roofGLExt6 db "glBindRenderbufferEXT",0 roofGLExt7 db "glRenderbufferStorageEXT",0 roofGLExt8 db "glFramebufferRenderbufferEXT",0 roofGLExt9 db "glDeleteRenderbuffersEXT",0 roofGLExt10 db "glGenerateMipmapEXT",0 roofGLFogDay3D REAL4 0.67,0.61,0.69,1.0 roofGLFogNight3D REAL4 0.05,0.09,0.17,1.0 roofGLFogCurrent3D REAL4 0.67,0.61,0.69,1.0 roofGLFogWhite3D REAL4 1.0,1.0,1.0,1.0 roofGLFogBlack3D REAL4 0.0,0.0,0.0,1.0 roofGLColorScale3D REAL4 255.0 roofGLWaveDiv3D REAL4 100000.0 roofGLHalf3D REAL4 0.5 roofGLWaterVertices3D REAL4 -2000.0,-62.0,76.0,-166.666667,6.333333 REAL4 2000.0,-62.0,76.0,166.666667,6.333333 REAL4 2000.0,-62.0,60.0,166.666667,5.0 REAL4 -2000.0,-62.0,60.0,-166.666667,5.0 REAL4 70.0,-62.0,60.0,5.833333,5.0 REAL4 2000.0,-62.0,60.0,166.666667,5.0 REAL4 2000.0,-62.0,29.0,166.666667,2.416667 REAL4 70.0,-62.0,29.0,5.833333,2.416667 roofGLAmbientDay3D REAL4 0.43,0.43,0.48,1.0 roofGLAmbientNight3D REAL4 0.20,0.23,0.32,1.0 roofGLSunColorDay3D REAL4 0.75,0.57,0.39,1.0 roofGLSunColorNight3D REAL4 0.12,0.15,0.25,1.0 roofGLSunDirection3D REAL4 -0.8,0.8,0.4,0.0 roofGLEmissionZero3D REAL4 0.0,0.0,0.0,1.0 roofGLEmissionGold3D REAL4 0.42,0.28,0.08,1.0 roofGLEmissionLamp3D REAL4 0.9,0.67,0.3,1.0 roofGLInvFP3D REAL4 0.0000152587890625 roofGLDegrees3D REAL4 0.703125 roofGLNinety3D REAL4 90.0 roofGLHalfWidth3D REAL8 0.66 roofGLLeft3D REAL8 -0.66 roofGLRight3D REAL8 0.66 roofGLNear3D REAL8 1.0 roofGLFar3D REAL8 2048.0 roofGLZeroD3D REAL8 0.0 roofGLOneD3D REAL8 1.0 roofGLMinusOneD3D REAL8 -1.0 roofGLScreenWidthD3D REAL8 1280.0 roofGLScreenHeightD3D REAL8 960.0 roofGLCameraH3D dd 480 roofHDRenderX3D dd -1 roofHDRenderY3D dd -1 roofHDRenderAngle3D dd -1 roofHDRenderEye3D dd -1 roofHDRenderHorizon3D dd -1 roofHDRenderTheme3D dd -1 roofHDRenderClock3D dd -1 roofRenderW3D dd 960 roofRenderH3D dd 720 roofQualityMode3D dd 0 roofAutoWidth3D dd 960 roofQualityMapW3D dd 0 roofQualityClock3D dd -1 roofQualitySlow3D dd 0 roofQualityToast3D dd 0 roofQualityAutoText3D db 202,208,219,216,192,58,32,192,194,210,206,0 roofQualityEcoText3D db 202,208,219,216,192,58,32,221,202,206,0 roofQualityHighText3D db 202,208,219,216,192,58,32,196,197,210,192,203,200,0 roofLogPath3D db "runtime\roof-renderer.txt",0 roofLogHeader3D db "Native MASM rooftop renderer",13,10,0 roofLogVendor3D db "Vendor: ",0 roofLogRenderer3D db "Renderer: ",0 roofLogVersion3D db "OpenGL: ",0 roofLogStage3D db "Init stage (0=ready): ",0 roofLogAssets3D db "City texture pack present: ",0 roofLogWidth3D db "Render width: ",0 roofLogSmall3D db "640",0 roofLogMedium3D db "960",0 roofLogLarge3D db "1280",0 roofLogUnknown3D db "unavailable",0 roofLogNL3D db 13,10,0 roofLogDigit3D db "0",0 .data? roofHDBackdrop3D dd SCREEN_SIZE dup(?) roofHDUsedMaterials3D db ROOF_GL_TEXTURES dup(?) roofQualityX3D dd SCREEN_W dup(?) roofQualityXCount3D dd SCREEN_W dup(?) roofQualityY3D dd SCREEN_H dup(?) roofQualityYCount3D dd SCREEN_H dup(?) .code