; 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