Add rooftop elevator, lounge, volumetric city, river and animated traffic. Prune invisible mesh faces, clip CPU surfaces, streamline compositing and add automatic/F8 roof quality profiles with renderer diagnostics. Include dartboard/reticle improvements, tracked fortune orb numerals and fate-session visuals, native regression tests, compatible jukebox IDs and updated shipping executables.
189 lines
6.7 KiB
PHP
189 lines
6.7 KiB
PHP
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
|