KAZIK/src_graphics/hall_data.inc
Artvasil09 3ad5bf4c9d Develop assembly-only casino scenes and native games
Add native Durak, poker, blackjack, roulette, Buckshot and billiards scenes with animation assets and regression tests. Improve arrival, city, hall, profiles, shops, audio and exit handling; remove the portable C game core and refresh shipping executables.
2026-10-08 22:39:19 +03:00

129 lines
6.6 KiB
PHP

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