Pushover Tileset Format

From ModdingWiki
Jump to navigation Jump to search
Pushover Tileset Format
There is no image of a tileset in this format — upload one!
Format typeTileset
HardwareEGA, VGA
Max tile count400
PaletteExternal
Tile names?No
Minimum tile size (pixels)16×16
Maximum tile size (pixels)16×16
Plane count5
Plane arrangementPlane-major, MSB-first
Transparent pixels?Yes
Hitmap pixels?No
Metadata?None
Supports sub-tilesets?No
Compressed tiles?Yes
Hidden data?No
Games

THEMES/*.BCX contains background/architecture tiles for Pushover. Files are RNC-compressed and use the matching .PAL palette. The decompressed icon layout is shared by .BCX and .PLX.

File format

Relative offset Size Description
0x00 32 Plane A (pixel bit 0)
0x20 32 Plane B (bit 1)
0x40 32 Plane C (bit 2)
0x60 32 Plane D (bit 3)
0x80 32 Plane E (bit 4)

There is no header or offset table. Each icon occupies 160 bytes and measures 16×16 pixels. Icon i begins at i * 160. Each plane has sixteen rows of two bytes; the most significant bit is the leftmost pixel.

Combine the five corresponding bits into v = A | B<<1 | C<<2 | D<<3 | E<<4. The repository decoders treat v == 0 as transparent and otherwise use palette index v & 15. Thus value 16 draws opaque palette colour 0. There are 16 displayed colours, not 32 independent palette entries.

Tile numbering

The SCR background word directly selects a zero-based .BCX icon. The loader supports up to 400 icons. Documented bank sizes are Aztec 392, Castle 286, Cavern 173, Dungeon 151, Electro 281, Greek 308, Japanese 341, Mechanic 373, Option 340, Space 400 and Toxcity 271.

Source code

From pushover, the open-source browser port and its reverse-engineering notes:

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!)