Jazz Jackrabbit Tile Format
Format type | Tileset |
---|---|
Hardware | VGA |
Max tile count | 240 |
Palette | Internal |
Tile names? | No |
Minimum tile size (pixels) | 32x32 |
Maximum tile size (pixels) | 32x32 |
Plane count | 1 |
Plane arrangement | Linear |
Transparent pixels? | Yes |
Hitmap pixels? | No |
Metadata? | None |
Supports sub-tilesets? | No |
Compressed tiles? | Yes |
Hidden data? | No |
Games |
Jazz Jackrabbit has two sort of tiles:
- Tiles for regular levels are stored in BLOCKS.xxx files. This file is used in all levels with filename LEVELy.xxx where xxx is the same.
- Tiles for bonus levels are stored in BONUSy.000 files. The bonus levels contain a string that determines what tile file to use.
Regular tiles
The file starts with an RLE-compressed palette, which is used for all the tiles. This is followed by two other RLE palettes used for the sky (Each block of sky is 256 pixels high and stretched across the level. There are two alternating sky blocks stacked in the level.) For a total of 768 possible colors for each level.
Tile data consists of 4 tile sets containing 60 32x32 tile blocks each (No more than 240 tiles total.). Each tile set block starts with 'ok'.
If a block has data in it it start with 'ok' it will be RLE compressed using Jazz Jackrabbit RLE compression, if it is empty, it will consist simply of the byte $20. (These can be seen at the end of the default files.)
Some tiles do contain transparency with the pixel value 0x7F (127).
Bonus tiles
The file consists of three blocks, all RLE compressed. The first is the sky used in the bonus level, the second is the palette used for the graphics and the third is tile data.
The tile block is identical to that found in regular tiles, but without the 'ok' text. There are only 60 tiles in a bonus tileset.
Credits
The format for regular tiles was deciphered from the source of OpenJazz. The format for bonus tiles was deciphered by Zander Zoftware. Some corrections were made by Levellass. 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!)