Table of Contents
.CER file format
The .CER file stores assets used by ZZT Enhancer worlds.
A simple extraction tool is available here.
Header
Offset | Type | Description |
---|---|---|
0 | uint16 | Asset entry count |
2… | asset_entry[] | Asset entries |
Asset entry
Offset | Type | Description |
---|---|---|
0 | uint16 | Asset index (used in OOP) |
2 | uint32 | Offset, from beginning of file |
6 | uint32 | Length, in bytes |
Known asset formats
Asset type information is not stored in the .CER file - rather, any asset can be used as any format by using its index with a given OOP command.
Configuration
This format is always present at asset index 1. It seems to automatically be loaded by ZZT Enhancer on startup. It's stored as a text file with DOS line endings (CR-LF).
Line | Description |
---|---|
1 | World filename, without the .ZZT extension. |
2 | Unknown; always 123456789abcdef0123456789abcdef0 in preserved worlds. |
3 | Long world name, used for the ZZT Enhancer startup screen. |
4 | Unknown; Caverns uses 2 , while Evil3 uses 0 . |
5 | .DLM filename, if used by the game in question. |
Font
256 characters, 32 bytes each - the first 14 bytes are used for each character in 8×14 mode.
Palette
Sixteen consecutive triplets of Red, Green, and Blue values in the range 0 - 63. Matches MegaZeux's palette format.
Screen
The width and height are followed by (width x height) character/color pairs.
Offset | Type | Description |
---|---|---|
0 | uint8 | Width |
1 | uint8 | Height |
… | uint8 | Character |
… | uint8 | Color |
Wave
Unsigned 8-bit mono RIFF wave files of arbitrary? frequency (known: 8000 Hz, 22050 Hz).
Module
Tracked module file. ZZT Enhancer was compiled with an unknown version of MikMod (close to but newer than 2.09b), implying support for .MOD, .MTM, .S3M, .STM and limited support for .XM files.