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.
62 lines
3.2 KiB
Markdown
62 lines
3.2 KiB
Markdown
# Hall and Basement
|
|
|
|
The runtime stays MASM32. Image generation and Python packing are offline asset
|
|
work only. Original generated atlases and prompts live in `assets/sprites/hall`.
|
|
|
|
## Bar and Dining
|
|
|
|
The six-unit walnut counter occupies x=3..9, y=23..24. Its top, end panels and
|
|
front panels use different dedicated materials. The bartender works at y=22.5;
|
|
three bottle shelf sections are behind him at y=22. They are fixed world planes,
|
|
not sprites that rotate towards the camera. Dining tables and red seating are
|
|
south of the counter at y=27..29, on the customer side. The central x=5..8 aisle
|
|
stays open. Counter, back-bar cabinet and dining footprints block walking.
|
|
|
|
The drink view uses the same world scene as walking. Mixing has sixteen
|
|
bartender poses; drinking uses eight hand poses. Rendering does not debit money.
|
|
|
|
## Basement
|
|
|
|
The shop uses faded green wall tiles, worn plaster, a stepped vault and small
|
|
stone floor tiles. A wooden counter separates the trader from customers; card
|
|
decks, chips and talismans fill the mesh-front shelves and glass display cases.
|
|
The desktop has a lamp, ledger, cards and an old CRT, not workshop equipment.
|
|
Texture slots 92..99 are dedicated bunker materials, not outdoor facade or
|
|
dumpster materials. Eight actual stair treads connect the entrance to the lower
|
|
room. Merchant interaction stays inside the basement and the stair interaction
|
|
returns to the hall. The vault is stepped geometry, not a smooth curved mesh.
|
|
|
|
## Architecture and Texture Sampling
|
|
|
|
The hall has patterned carpet, wood flooring in the lounge and pool area, low
|
|
partitions with walkable openings, a plaster ceiling and six individually
|
|
placed chandeliers. Columns and stone cornices frame the gaming area. The
|
|
street facade includes projecting masonry, bay windows, porch supports and
|
|
wall lanterns. The entrance retains the CASINO lettering in its original
|
|
artwork rather than drawing a second sign over it.
|
|
|
|
Nearby indoor surfaces and detailed outdoor planes sample their full 256-pixel
|
|
source width. Alpha-cutout architectural planes only write depth at opaque
|
|
pixels. Horizontal surfaces crossing the camera's near plane remain visible.
|
|
These fixes do not increase the native 640x480 framebuffer resolution.
|
|
|
|
## Visitors
|
|
|
|
Ten stationary guests stand at game tables and the bar or sit in the dining
|
|
area. Two additional guests walk a twenty-second loop through the central
|
|
aisles, with four source walk poses each. Route phase uses elapsed time, not
|
|
render calls; accepted positions must pass the world's collision checks.
|
|
Sprites share ground anchors and depth testing with furniture.
|
|
|
|
This is the first population pass: walking sprites are camera-facing billboards,
|
|
not eight-direction character sets, and guests do not yet converse or play full
|
|
autonomous rounds. Visitor routes pause while a table mode is active.
|
|
|
|
## Verification
|
|
|
|
`tools/tests/test_casino_actions.ps1` builds and runs the real assembly executable
|
|
with isolated profile fixtures. Hall tests cover a full visitor route, furniture
|
|
collision, room transitions, drink charges, one-pixel texture detail and
|
|
near-plane surface clipping. Native framebuffer snapshots
|
|
include close views of the bar, basement, stairs and dining area. Tests are not
|
|
a substitute for manually playing on the target low-end laptop.
|