KAZIK/tools/tests/hall_furniture_test.inc
Artvasil09 4f8ae0893b Implement native slots, coin toss, European roulette and hall furniture
Add native assembly scenes and assets for Slots (777), Coin flip, and European Roulette; add 3D hall furniture packs and prompts; improve Russian UI strings in CP1251; update launcher hash and rebuild shipping binaries.
2026-10-10 14:43:30 +03:00

80 lines
2.4 KiB
PHP

.data
hallFurnitureCardShot3D db "build\actions\hall-card-furniture-v5.bmp",0
hallFurnitureSkillShot3D db "build\actions\hall-skill-furniture-v5.bmp",0
hallFurnitureLoungeShot3D db "build\actions\hall-lounge-v5.bmp",0
.code
TestHallFurniture3D PROC uses ebx esi edi
cmp hallCardFurniture3D.imageWidth,320
jne furniture_test_fail
cmp hallCardFurniture3D.height,208
jne furniture_test_fail
cmp hallSkillFurniture3D.imageWidth,224
jne furniture_test_fail
cmp hallSkillFurniture3D.height,368
jne furniture_test_fail
cmp hallSlotFurniture3D.frames,3
jne furniture_test_fail
cmp hallStationPacks3D[12*4],OFFSET hallSkillFurniture3D
jne furniture_test_fail
cmp hallSpriteHeights3D[12*4],FP_1*9/5
jne furniture_test_fail
; New decor has floor anchors, valid rooms, collision and preserved walking routes.
xor esi,esi
furniture_test_positions:
imul ebx,esi,SIZEOF CityProp3D
cmp hallLoungeDecor3D[ebx].groundZ,0
jne furniture_test_fail
mov eax,hallLoungeDecor3D[ebx].posX
sar eax,16
mov edx,hallLoungeDecor3D[ebx].posY
sar edx,16
shl edx,5
add eax,edx
cmp casinoMap[eax],0
jne furniture_test_fail
invoke CanWalk3D,hallLoungeDecor3D[ebx].posX,hallLoungeDecor3D[ebx].posY
test eax,eax
jnz furniture_test_fail
inc esi
cmp esi,HALL_DECOR_COUNT
jb furniture_test_positions
invoke CanWalk3D,16*FP_1,18*FP_1
cmp eax,1
jne furniture_test_fail
mov engineMode,MODE_WALK
mov viewHorizon3D,HALF_H
mov viewEye3D,FP_1*17/20
mov playerAngle,384
mov playerX,12*FP_1+FP_HALF
mov playerY,11*FP_1
call UpdateCamera3D
call RenderCeilingAndFloor
call RenderWalls
call PrepareCityDepth3D
call RenderSprites
call RenderHall3D
invoke WriteActionSnapshot3D,OFFSET hallFurnitureCardShot3D
mov playerX,18*FP_1
mov playerY,18*FP_1
call UpdateCamera3D
call RenderCeilingAndFloor
call RenderWalls
call PrepareCityDepth3D
call RenderSprites
call RenderHall3D
invoke WriteActionSnapshot3D,OFFSET hallFurnitureSkillShot3D
mov playerX,14*FP_1
mov playerY,22*FP_1
call UpdateCamera3D
call RenderCeilingAndFloor
call RenderWalls
call PrepareCityDepth3D
call RenderSprites
call RenderHall3D
invoke WriteActionSnapshot3D,OFFSET hallFurnitureLoungeShot3D
mov eax,1
ret
furniture_test_fail:
xor eax,eax
ret
TestHallFurniture3D ENDP