KAZIK/src_graphics/rooftop_data.inc
Artvasil09 41ba8f46ed feat: add rooftop city and optimize native terrace rendering
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.
2026-10-26 23:20:35 +03:00

202 lines
7.2 KiB
PHP

; Native walkable rooftop and elevator share the existing hall engine.
HALL_ROOF equ 4
INTERACT_LIFT_CALL equ 48
INTERACT_LIFT_TRAVEL equ 49
INTERACT_ROOF_SEAT equ 50
INTERACT_ROOF_RAIL equ 51
ROOF_STANDING_EYE equ FP_1*165/100
ROOF_SEATED_EYE equ FP_1*118/100
ROOF_RAIL_HEIGHT equ FP_1*102/100
ROOF_FAR_DEPTH equ FP_1*1024
ROOF_FACADE equ 186
ROOF_FOLIAGE equ 194
ROOF_EARTH equ 195
ROOF_CITY_ROOF equ 196
ROOF_CITY_ROAD equ 197
ROOF_CITY_WATER equ 198
ROOF_MODERN_FACADE equ 199
ROOF_CITY_LAWN equ 207
ROOF_LAST_MATERIAL equ 207
ROOF_CITY_STREET_Z equ -60*FP_1
ROOF_DECK equ 161
ROOF_STONE equ 162
ROOF_TEAL equ 163
ROOF_IVORY equ 164
ROOF_METAL equ 165
ROOF_BRASS equ 166
ROOF_MARBLE equ 167
ROOF_PLASTER equ 168
ROOF_DOOR equ 169
ROOF_BUTTON equ 170
ROOF_BAR_FRONT equ 171
ROOF_BOTTLES equ 172
ROOF_TREE equ 173
ROOF_GRASS equ 174
ROOF_LANTERN equ 175
ROOF_TABLE equ 176
ROOF_INDICATOR equ 177
ROOF_LIGHT equ 178
ROOF_SOFA_FRONT equ 179
ROOF_SOFA_SIDE equ 180
ROOF_SOFA_BACK equ 181
ROOF_CHAIR_FRONT equ 182
ROOF_CHAIR_SIDE equ 183
ROOF_CHAIR_BACK equ 184
ROOF_BAR_STOOL equ 185
ROOF_SEAT_COUNT equ 13
ROOF_TREE_COUNT equ 8
ROOF_GUEST_COUNT equ 8
LIFT_CENTRE_X equ FP_1*244/10
LIFT_FRONT_Y equ FP_1*345/100
InitRoof3D PROTO
LoadRoofAssets3D PROTO
FreeRoofAssets3D PROTO
ResolveRoofSurface3D PROTO :DWORD
DrawRoofSky3D PROTO
RenderRoof3D PROTO
RenderLift3D PROTO
UpdateRoof3D PROTO
CheckRoofInteractions3D PROTO
TryRoofInteraction3D PROTO
LiftCanWalk3D PROTO :DWORD,:DWORD
RoofCanWalk3D PROTO :DWORD,:DWORD
UpdateRoofEye3D PROTO
UpdateRoofLook3D PROTO
StandFromRoofSeat3D PROTO
DrawRoofSofa3D PROTO :DWORD,:DWORD
DrawRoofChair3D PROTO :DWORD,:DWORD,:DWORD
DrawRoofCoffee3D PROTO :DWORD,:DWORD
DrawRoofTree3D PROTO :DWORD,:DWORD,:DWORD
DrawRoofBulb3D PROTO :DWORD,:DWORD,:DWORD
UpdateRoofIndicator3D PROTO
DrawRoofSolid3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
DrawRoofUpholstery3D PROTO :DWORD,:DWORD,:DWORD
DrawRoofPlanter3D PROTO :DWORD,:DWORD,:DWORD,:DWORD
RenderRoofDistrict3D PROTO
UpdateRoofGuests3D PROTO :DWORD
CheckRoofRail3D PROTO
StartRoofLean3D PROTO
RenderRoofLean3D PROTO
DrawRoofHandsPlane3D PROTO :DWORD,:DWORD,:DWORD
ShadeRoofNight3D PROTO
PrepareRoofFloorDepth3D PROTO
DrawRoofEllipsoid3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
DrawRoofPadding3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
RenderRoofCityGround3D PROTO
RenderRoofLandmarks3D PROTO
RenderRoofCityParks3D PROTO
ShadeRoofCityPixel3D PROTO :DWORD,:DWORD,:DWORD,:DWORD
DrawRoofSlope3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
DrawRoofPyramid3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
SampleRoofGroundLight3D PROTO :DWORD,:DWORD,:DWORD
RenderRoofCityLamps3D PROTO
RenderRoofTraffic3D PROTO
DrawRoofCar3D PROTO :DWORD,:DWORD,:DWORD,:DWORD
PrepareRoofCityAA3D PROTO
FinishRoofCityAA3D PROTO
RenderRoofCityBloom3D PROTO
include src_graphics\rooftop_district_data.inc
include src_graphics\rooftop_map.inc
include src_graphics\rooftop_gl_data.inc
.data
roofSkyArt3D AnimPack3D <>
roofMaterialArt3D AnimPack3D <>
roofDetailArt3D AnimPack3D <>
roofCityArt3D AnimPack3D <>
roofCityNightArt3D AnimPack3D <>
roofHandsArt3D AnimPack3D <>
roofNightArt3D AnimPack3D <>
roofLightingArt3D AnimPack3D <>
roofLightingPath3D db "assets\animations\rooftop\lighting-v1.bin",0
roofCityPath3D db "assets\animations\rooftop\city-v1.bin",0
roofCityNightPath3D db "assets\animations\rooftop\city-night-v1.bin",0
roofHandsPath3D db "assets\animations\rooftop\rail-hands-v1.bin",0
roofNightPath3D db "assets\animations\rooftop\night-v1.bin",0
roofNight3D dd 0
roofCityPass3D dd 0
roofLandmarkLight3D dd 0
roofPixelGlow3D dd 0
roofAAValid3D dd 0
roofAAStill3D dd 0
roofAAFrame3D dd 0
roofAAX3D dd 0
roofAAY3D dd 0
roofAAAngle3D dd 0
roofAAEye3D dd 0
roofAAHorizon3D dd 0
roofAATheme3D dd 0
roofSlopeMask3D dd 0
roofSlopeCentreX3D dd 0
roofSlopeCentreY3D dd 0
roofSlopeHalfX3D dd 0
roofSlopeHalfY3D dd 0
roofLean3D dd 0
roofLeanTime3D dd 0
roofLeanAngle3D dd 0
roofLeanSide3D dd 0
roofHandsContactX3D dd 320
roofHandsWidth3D dd 640
roofGuestClock3D dd 0
roofGroundRoadPixels3D dd 0
roofGroundWaterPixels3D dd 0
roofGuestStep3D dd ROOF_GUEST_COUNT dup(0)
roofGuestWait3D dd 1200,2400,3600,1800,3000,4200,2000,3300
roofGuestMoving3D dd ROOF_GUEST_COUNT dup(0)
roofGuestDistance3D dd ROOF_GUEST_COUNT dup(0)
roofGuestDir3D dd ROOF_GUEST_COUNT dup(0)
roofFloatFP3D REAL4 65536.0
roofFloatHalfTex3D REAL4 127.5
roofFloatShade3D REAL4 44.0
roofFloatAmbient3D REAL4 205.0
roofFloat4803D REAL4 480.0
roofSkyPath3D db "assets\animations\rooftop\panorama-v1.bin",0
roofMaterialPath3D db "assets\animations\rooftop\materials-v1.bin",0
roofDetailPath3D db "assets\animations\rooftop\details-v1.bin",0
liftPhase3D dd 0
liftDoor3D dd 0
liftTrip3D dd 0
liftDestination3D dd 0
liftRideTime3D dd 0
liftAwayTime3D dd 0
roofUpdateClock3D dd -1
roofIndicatorPixel3D dd 0FFFFE9BDh
roofSeat3D dd 0
roofReturnX3D dd 0
roofReturnY3D dd 0
roofReturnAngle3D dd 0
roofSeatX3D dd FP_1*145/10,FP_1*245/10,FP_1*195/10,FP_1*177/10,FP_1*206/10,FP_1*145/10,FP_1*245/10
dd 13*FP_1,15*FP_1,17*FP_1,13*FP_1,13*FP_1,13*FP_1
roofSeatY3D dd FP_1*95/10,FP_1*95/10,18*FP_1,FP_1*95/10,FP_1*95/10,15*FP_1,15*FP_1
dd FP_1*61/10,FP_1*61/10,FP_1*61/10,FP_1*124/10,FP_1*139/10,FP_1*154/10
roofSeatKind3D dd 0,0,0,1,1,1,1,2,2,2,3,3,3
roofTargetSeat3D dd 0
roofTreeX3D dd 12*FP_1,28*FP_1,12*FP_1,28*FP_1,FP_1*194/10,FP_1*215/10,FP_1*175/10,FP_1*278/10
roofTreeY3D dd FP_1*68/10,8*FP_1,FP_1*189/10,16*FP_1,FP_1*134/10,FP_1*195/10,FP_1*195/10,FP_1*45/10
roofPostX3D dd 12*FP_1,18*FP_1,12*FP_1,18*FP_1,FP_1*117/10,FP_1*283/10,FP_1*117/10,FP_1*283/10
roofPostY3D dd FP_1*15/10,FP_1*15/10,FP_1*62/10,FP_1*62/10,7*FP_1,7*FP_1,15*FP_1,15*FP_1
roofGuestX3D dd FP_1*188/10,FP_1*165/10,FP_1*265/10,FP_1*163/10,FP_1*221/10,FP_1*263/10,FP_1*155/10,FP_1*205/10
roofGuestY3D dd FP_1*65/10,FP_1*75/10,13*FP_1,FP_1*119/10,FP_1*122/10,FP_1*188/10,FP_1*188/10,FP_1*16/10+15*FP_1
roofGuestFrame3D dd 0,24,12,6,18,30,0,24
roofActor3D CityProp3D <0,0,FP_1*75/100,FP_1*175/100,0,OFFSET npcGuestArt3D>
roofTender3D CityProp3D <15*FP_1,FP_1*34/10,FP_1,FP_1,0,OFFSET hallBartender3D,FP_1*9/20>
roofBarName3D db 203,192,211,205,198,45,193,192,208,32,34,194,219,209,206,210,192,34,0
roofLiftCall3D db 69,58,32,194,219,199,194,192,210,220,32,203,200,212,210,0
roofLiftUp3D db 49,58,32,199,192,202,192,210,32,47,32,50,58,32,205,206,215,220,32,47,32,69,58,32,197,213,192,210,220,0
roofLeanPrompt3D db 69,58,32,206,193,203,206,202,206,210,200,210,220,209,223,0
roofLeanLeave3D db 69,58,32,206,210,206,201,210,200,0
roofSunsetName3D db 199,192,202,192,210,0
roofNightName3D db 205,206,215,220,0
roofLiftDown3D db 69,58,32,194,32,195,203,192,194,205,219,201,32,199,192,203,0
roofLiftBusy3D db 203,200,212,210,32,207,206,196,205,200,204,192,197,210,209,223,0
roofLiftBusyDown3D db 203,200,212,210,32,209,207,211,209,202,192,197,210,209,223,0
roofSeatPrompt3D db 69,58,32,207,208,200,209,197,209,210,220,0
roofStandPrompt3D db 69,58,32,194,209,210,192,210,220,0
roofBarPrompt3D db 69,58,32,203,192,211,205,198,45,193,192,208,32,34,194,219,209,206,210,192,34,0
roofArrival3D db 202,208,219,216,192,32,47,32,210,197,208,208,192,209,192,32,34,194,219,209,206,210,192,34,0
.data?
roofIndicatorPixels3D dd 4096 dup(?)
roofCityMask3D db SCREEN_SIZE dup(?)
roofGlowMask3D db SCREEN_SIZE dup(?)
roofSlopeRay3D dd SCREEN_W dup(?)
roofAAHistory3D dd SCREEN_SIZE dup(?)
.code