KAZIK/tools/tests/hall_furniture_test.inc
Игорь Федосеев ca62db53e9 feat: implement native billiards, scratch tickets, first-person dice, and city wake scene
- Billiards: add native Russian Pyramid & American Eight-Ball pool with physics prediction, controls, and regression tests
- Scratch Tickets: add dedicated counter, mat presentation, elliptical coin scraping, 4 ticket types, and payout effects
- First-Person Dice: add native dice scene, hand anchor frames, throwing animation, and table perspective
- City Wake & Weather: add arrival cutscene, alley geometry, weather/rain effects, and lighter/rocker animation
- World Dressing: add hall paintings, furniture packs, hall lighting, and scene regression tests
- Build & Tooling: update build.bat for modern MSVC toolchain, update launcher hash, and refresh shipping binaries
2026-10-16 12:37:40 +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,HALL_STANDING_EYE
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