Pushover Image Format
| Format type | Image |
|---|---|
| Hardware | EGA, VGA |
| Colour depth | 4-bit colour |
| Minimum size (pixels) | 320×200 |
| Maximum size (pixels) | 320×200 |
| Palette | Internal |
| Plane count | 4 |
| Transparent pixels? | No |
| Hitmap pixels? | No |
| Games |
DATA/ANI??.PIX contains full-screen backdrop graphics for Pushover. Related title/reward screens use this asset family. Files are RNC-compressed; the expected decompressed size is 32034 bytes.
File format
| Offset | Data type | Description |
|---|---|---|
| 0x00 | UINT16BE[16] | Internal RGB444 palette (0RGB words) |
| 0x20 | BYTE[2] | Unidentified header bytes |
| 0x22 | BYTE[32000] | 320×200 image, four interleaved bitplanes |
Palette
Decode the 16 colours as in Pushover Palette Format, scaling each nibble by 17. Unlike .PAL files, this header has only two bytes after the colours, not 32 padding bytes.
Bitmap
Each horizontal run of 16 pixels occupies eight bytes: two bytes from plane 0, two from plane 1, two from plane 2 and two from plane 3. Bits are MSB-first. Combine planes 0–3 with weights 1, 2, 4 and 8. There are 20 runs per row and 200 rows, in row-major order.
This is word-interleaved storage, unlike the plane-major sprite banks. The matching .DLX applies XOR changes to the decoded palette-index image.
Notes
The presence of a TITLE asset is not proof that the examined executable loads it. The repository records unresolved title-screen call paths.
Source code
From pushover, the open-source browser port and its reverse-engineering notes:
- docs/formats/ani-pix-dlx.md – reverse-engineering documentation
- tools/asset-convert/ani-pix-decode.js – decoder / format implementation
Credits
This file format was reverse engineered by VorticonCmdr. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)