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.
129 lines
6.6 KiB
PHP
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
|