Captain Comic II Map Format
Format type | Map/level |
---|---|
Map type | 2D tile-based |
Layer count | 1 |
Tile size (pixels) | 16×16 |
Viewport (pixels) | 208×160 |
Games |
This format stores the playable game levels in Captain Comic II. Each level is stored in a separate file in the game directory, using the FRNNN.1 filename pattern, where NNN ranges from 000 to 014.
The files only store the map background layer. It is currently unknown how to change the player start position.
File format
The file format differs from Captain Comic Map Format. In the former game, each 'level' (or game region using a specific tileset) contained three different maps or 'parts' stored in .PT files. All those parts were a fixed 128x10 tiles. In the new format, the map file is a container for a variable number of 'parts', each with a variable tile dimension.
Header
Each file begins with the following header.
Data Type | Name | Description |
---|---|---|
UINT16LE | numParts | Number of maps in the file |
MAPDEF[numParts] | mapdefs | see below |
MAPDEF is defined as follows:
Data Type | Name | Description |
---|---|---|
UINT16LE | width | Width in tiles of the map |
UINT16LE | height | Height in tiles of the map |
UINT16LE | offset | Offset in this file of the compressed map data |
Each map data chunk is compressed with the same algorithm described in Captain Comic 2 Tileset Format. Once uncompressed, the data has the same format as in Captain Comic Map Format, with one byte for each tile, left-to-right and top-to-bottom. The total size of this section is the map width multiplied by the map height.
Map codes
Map codes are direct indices into the tileset. So a map code of 0x01 means the second tile in the tileset should be drawn at that location. The tileset to use is matched up by filename (FR002.0 provides the tiles for the maps in FR002.1, for example.)
Credits
This file format was reverse engineered by Ceidwad. 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!)