Captain Comic II Map Format

From ModdingWiki
Jump to navigation Jump to search
Captain Comic II Map Format
Captain Comic II Map Format.png
Format typeMap/level
Map type2D tile-based
Layer count1
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!)