KAZIK/docs/HELL_ASSET_PIPELINE.md
Игорь Федосеев ce5121debd feat: add native hell expedition
Add a painting entrance, Freedoom combat and Doom-style HUD.

Persist the one-time clear reward in signed saves without changing file sizes. Include native regression checks and synchronized game/launcher builds.
2026-11-01 22:29:09 +03:00

25 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Hell presentation asset contract
Imported offline from the pinned Freedoom 0.13.0 archive using
`tools/generators/import_freedoom.py`. Runtime remains MASM32.
All packs: 20-byte `ANM1` header (five little-endian DWORDs: magic, width, height,
frame count, payload bytes), then row-major BGRA frames. Nearest-neighbour only.
| Pack | Frame size | Layout / alpha / origin |
|---|---|---|
| `hud.bin` | 320×32 | One `STBAR` frame, rendered 2× at (0,416) |
| `digits.bin` | 16×16 | Ten digits and percent, right-aligned; transparent |
| `faces.bin` | 24×32 | Five health bands × four expressions, then dead; bottom-centred |
| `impacts.bin` | 32×32 | Four `PUFF` frames, shared sprite origin; transparent |
| `painting.bin` | 512×256 | One opaque, power-of-two wall texture; full-frame UVs |
Painting composes Freedoom sky, lava, masonry and monsters with an authored gilt
border. Its preview uses intended landscape aspect. Engine maps the texture onto
a 6×2-world-unit wall panel; it is not a camera-facing sprite. Power-of-two
dimensions are required by `DrawCityVertical3D`'s masked texture coordinates.
No generated AI image or proprietary Doom artwork is used.
HUD glyphs and portrait retain original pixel-art palette. Frame padding avoids
per-expression scaling jitter. See `assets/hell/manifest.json` for source lumps
and `assets/hell/COPYING.txt` / `CREDITS.txt` for licence and attribution.