MODE_BAR equ 14 MODE_STAIRS equ 15 INTERACT_BAR equ 21 INTERACT_BASEMENT equ 22 INTERACT_UPSTAIRS equ 23 INTERACT_BILLIARDS equ 24 RenderCeilingAndFloor PROTO RenderSprites PROTO InitHall3D PROTO LoadHallAssets3D PROTO FreeHallAssets3D PROTO CheckHallInteractions3D PROTO TriggerHallInteraction3D PROTO RenderHall3D PROTO HandleBar3D PROTO RenderBar3D PROTO HandleStairs3D PROTO RenderStairs3D PROTO RenderCityGuards3D PROTO CanWalkHall3D PROTO :DWORD,:DWORD RenderCityFacade3D PROTO UpdateHall3D PROTO UpdatePatrons3D PROTO RenderPatrons3D PROTO ResolveWorldSurface3D PROTO :DWORD include src_graphics\hall_layout.inc .data hallSign3D AnimPack3D <> hallSignPath3D db "assets\animations\hall\sign.bin",0 hallCityDetail3D AnimPack3D <> hallCityDetailPath3D db "assets\animations\hall\city-detail.bin",0 hallRoomMaterials3D AnimPack3D <> hallRoomMaterialsPath3D db "assets\animations\hall\room-materials.bin",0 hallPatrons3D AnimPack3D <> hallPatronsPath3D db "assets\animations\hall\patrons.bin",0 hallStreetLife3D AnimPack3D <> hallStreetLifePath3D db "assets\animations\hall\street-life-v4.bin",0 hallRoomHD3D AnimPack3D <> hallArchitecture3D AnimPack3D <> hallArchitectureHD3D AnimPack3D <> hallDecorPack3D AnimPack3D <> hallRoomHDPath3D db "assets\animations\hall\room-materials-hd.bin",0 hallArchitecturePath3D db "assets\animations\hall\architecture.bin",0 hallArchitectureHDPath3D db "assets\animations\hall\architecture-hd.bin",0 hallDecorPath3D db "assets\animations\hall\architecture-props.bin",0 patronClock3D dd 0 HALL_PATRON_COUNT equ 16 hallGuests3D CityProp3D <18*FP_1,18*FP_1,FP_1*3/5,FP_1*6/5,0,OFFSET hallPatrons3D> CityProp3D <22*FP_1,20*FP_1,FP_1*3/5,FP_1*6/5,4,OFFSET hallPatrons3D> CityProp3D <3*FP_1,27*FP_1+FP_HALF,FP_1*3/5,FP_1*4/5,8,OFFSET hallPatrons3D> CityProp3D <10*FP_1,27*FP_1+FP_HALF,FP_1*3/5,FP_1*4/5,10,OFFSET hallPatrons3D> CityProp3D <13*FP_1+FP_HALF,8*FP_1+FP_HALF,FP_1*3/5,FP_1*6/5,12,OFFSET hallPatrons3D> CityProp3D <21*FP_1+FP_HALF,8*FP_1+FP_HALF,FP_1*3/5,FP_1*6/5,13,OFFSET hallPatrons3D> CityProp3D <5*FP_1,15*FP_1,FP_1*3/5,FP_1*6/5,12,OFFSET hallPatrons3D> CityProp3D <10*FP_1,25*FP_1,FP_1*3/5,FP_1*6/5,13,OFFSET hallPatrons3D> CityProp3D <4*FP_1,27*FP_1,2*FP_1,2*FP_1,14,OFFSET hallPatrons3D> CityProp3D <9*FP_1,27*FP_1,2*FP_1,2*FP_1,14,OFFSET hallPatrons3D> CityProp3D <4*FP_1,24*FP_1+FP_1*4/5,FP_1/2,FP_1*3/5,15,OFFSET hallPatrons3D> CityProp3D <8*FP_1,24*FP_1+FP_1*4/5,FP_1/2,FP_1*3/5,15,OFFSET hallPatrons3D> CityProp3D <11*FP_1+FP_HALF,8*FP_1+FP_HALF,FP_1*3/5,FP_1*4/5,8,OFFSET hallPatrons3D> CityProp3D <19*FP_1+FP_HALF,8*FP_1+FP_HALF,FP_1*3/5,FP_1*4/5,10,OFFSET hallPatrons3D> CityProp3D <23*FP_1+FP_HALF,8*FP_1+FP_HALF,FP_1*3/5,FP_1*4/5,8,OFFSET hallPatrons3D> CityProp3D <15*FP_1+FP_HALF,10*FP_1+FP_HALF,FP_1*3/5,FP_1*4/5,10,OFFSET hallPatrons3D> HALL_LIGHT_COUNT equ 6 hallLights3D CityProp3D <12*FP_1+FP_HALF,8*FP_1,FP_1*3/4,FP_1*13/20,0,OFFSET hallDecorPack3D,FP_1*37/20> CityProp3D <16*FP_1+FP_HALF,10*FP_1,FP_1*3/4,FP_1*13/20,0,OFFSET hallDecorPack3D,FP_1*37/20> CityProp3D <20*FP_1+FP_HALF,8*FP_1,FP_1*3/4,FP_1*13/20,0,OFFSET hallDecorPack3D,FP_1*37/20> CityProp3D <24*FP_1+FP_HALF,8*FP_1,FP_1*3/4,FP_1*13/20,0,OFFSET hallDecorPack3D,FP_1*37/20> CityProp3D <6*FP_1,23*FP_1,FP_1*3/4,FP_1*13/20,0,OFFSET hallDecorPack3D,FP_1*37/20> CityProp3D <9*FP_1,27*FP_1,FP_1*3/4,FP_1*13/20,0,OFFSET hallDecorPack3D,FP_1*37/20> bunkerDisplay3D CityProp3D <19*FP_1,16*FP_1+FP_HALF,FP_1*6/5,FP_1*6/5,3,OFFSET hallDecorPack3D> bunkerDesk3D CityProp3D <15*FP_1,14*FP_1+FP_HALF,FP_1*3/2,FP_1,4,OFFSET hallDecorPack3D,FP_1/2> hallLevel3D dd 0 hallBartender3D AnimPack3D <> hallProps3D AnimPack3D <> hallDrink3D AnimPack3D <> hallBartenderPath3D db "assets\animations\hall\bartender-v4.bin",0 hallPropsPath3D db "assets\animations\hall\props.bin",0 hallDrinkPath3D db "assets\animations\hall\drink-v4.bin",0 hallLegacyPack3D AnimPack3D <314D4E41h,128,128,1,128*128*4,0> hallSpriteTemp3D CityProp3D <> hallSpriteWidths3D dd 3 dup(FP_1*3/5),4 dup(FP_1*3/2),2 dup(FP_1),5 dup(FP_1*3/2),FP_1,FP_1,FP_1,5 dup(FP_1*3/2) hallSpriteHeights3D dd 3 dup(FP_1*6/5),4 dup(FP_1*4/5),2 dup(FP_1*3/2),5 dup(FP_1*4/5),FP_1,FP_1*3/2,FP_1*3/2,5 dup(FP_1*4/5) HALL_PROP_COUNT equ 19 hallObjects3D CityProp3D <12*FP_1+FP_HALF,7*FP_1,FP_1*3/5,FP_1*6/5,0,OFFSET hallProps3D> CityProp3D <16*FP_1+FP_HALF,9*FP_1,FP_1*3/5,FP_1*6/5,2,OFFSET hallProps3D> CityProp3D <20*FP_1+FP_HALF,7*FP_1,FP_1*3/5,FP_1*6/5,1,OFFSET hallProps3D> CityProp3D <24*FP_1+FP_HALF,7*FP_1,FP_1*3/5,FP_1*6/5,0,OFFSET hallProps3D> CityProp3D <6*FP_1,22*FP_1+FP_HALF,FP_1,FP_1,0,OFFSET hallBartender3D,FP_1*9/20> CityProp3D <27*FP_1,25*FP_1,FP_1*5/2,FP_1,4,OFFSET hallProps3D> CityProp3D <28*FP_1+FP_HALF,10*FP_1+FP_HALF,FP_1*3/2,FP_1*9/5,5,OFFSET hallProps3D> CityProp3D <3*FP_1,4*FP_1,FP_1*5/2,FP_1,6,OFFSET hallProps3D> CityProp3D <27*FP_1,4*FP_1,FP_1*5/2,FP_1,6,OFFSET hallProps3D> CityProp3D <3*FP_1,29*FP_1,FP_1*5/2,FP_1,6,OFFSET hallProps3D> CityProp3D <10*FP_1,29*FP_1,FP_1*5/2,FP_1,6,OFFSET hallProps3D> CityProp3D <11*FP_1+FP_HALF,11*FP_1+FP_HALF,FP_1/2,FP_1*5/2,7,OFFSET hallProps3D> CityProp3D <24*FP_1+FP_HALF,11*FP_1+FP_HALF,FP_1/2,FP_1*5/2,7,OFFSET hallProps3D> CityProp3D <11*FP_1+FP_HALF,19*FP_1+FP_HALF,FP_1/2,FP_1*5/2,7,OFFSET hallProps3D> CityProp3D <24*FP_1+FP_HALF,19*FP_1+FP_HALF,FP_1/2,FP_1*5/2,7,OFFSET hallProps3D> CityProp3D <16*FP_1,2*FP_1+FP_HALF,10*FP_1,FP_1*5/2,8,OFFSET hallProps3D> CityProp3D <6*FP_1,13*FP_1,FP_1*3/5,FP_1*6/5,0,OFFSET hallProps3D> CityProp3D <10*FP_1,14*FP_1,FP_1*3/5,FP_1*6/5,1,OFFSET hallProps3D> CityProp3D <14*FP_1,14*FP_1,FP_1*3/5,FP_1*6/5,2,OFFSET hallProps3D> bunkerMerchant3D CityProp3D <16*FP_1,13*FP_1,FP_1*3/2,FP_1*6/5,0,OFFSET merchantPack3D,FP_1/8> bunkerDoor3D CityProp3D <16*FP_1,27*FP_1,FP_1*3/2,FP_1*7/5,5,OFFSET hallProps3D,FP_1> cityGuardLeft3D CityProp3D <21*FP_1+FP_1*4/5,8*FP_1+FP_HALF,FP_1,FP_1*8/5,0,OFFSET guardPack3D> cityGuardRight3D CityProp3D <23*FP_1+FP_1/5,8*FP_1+FP_HALF,FP_1,FP_1*8/5,0,OFFSET guardPack3D> hallBarPrompt3D db "E: COCKTAIL BAR",0 hallBunkerPrompt3D db "E: BASEMENT / SHOP",0 hallUpPrompt3D db "E: UPSTAIRS",0 hallPoolPrompt3D db "E: BILLIARDS",0 barName3D db "OLD TOWN BAR",0 barDrinks3D db "1 HIGHBALL $100",0 barDrinks23D db "2 COCKTAIL $200",0 barDrinks33D db "3 WATER $0",0 barPoor3D db "NOT ENOUGH CHIPS",0 barMixText3D db "MIXING",0 barDrinkText3D db "CHEERS",0 barTime3D dd 0 barPhase3D dd 0 barSelection3D dd 0 barPrice3D dd 100,200,0 barStrength3D dd 20000,35000,0 barIntoxication3D dd 0 stairsTime3D dd 0 stairsReturnX3D dd 0 stairsReturnY3D dd 0 stairsReturnAngle3D dd 0 .code