# 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.