Center resting barrels and anchor every firing pose to the HUD edge. Add native framebuffer regression checks for all nine poses and update game assets, binaries and launcher integrity hash.
2.1 KiB
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 |
pistol.bin, shotgun.bin |
320×160 | Resting barrel centred at x=160; every frame bottom-anchored |
Weapon art retains the shared animation scale from a 192×160 fit. The wider
transparent canvas preserves the shotgun's leftward pump movement; horizontal
translation is shared across each weapon's frames. Each frame's opaque bottom
is registered at y=160, keeping wrists attached to the status bar during recoil.
Rendered at (80,176), size 480×240: resting barrel x=320, hands end at HUD y=416.
python tools/tests/check_hell_weapons.py checks all asset anchors;
python tools/tests/check_hell_fps.py also compares all nine weapon poses against
the real ASM framebuffer and writes build/scratch/hell-weapon-native.png.
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.