All image files are uncompressed with one byte per pixel. Each byte is an index into an EGA color palette. The image dimensions are not stored in the file itself. The bytes are in row major format, so each pixel is addressed as [y][x], that is y is the first index.
Program to Decipher Files
This GitHub repo contains a program called con2png. It's a command-line program that takes any of the following image files, along with a palette and dimensions, and produces a PNG.
These files are sprite sheets for enemies, tiles, player graphics, and spell effects. Each sprite is 18x18, and each sprite sheet lays these sprites out horizontally.
The following files are tile sheets, used as the background layer for maps. There are 20 sprites per sheet, which makes the final image 360x18. Which tiles animate vary between maps.
- AFTER.CON: The tile sheet used in Heaven. The brazier is animated.
- DUNGEON.CON: The tile sheet used in the Blackeye's dungeon, the Talisman dungeon, the forest ruins, the mountain ruins, and Vampyr's Castle
- LAND.CON: Additional tiles used to supplement UNIV.CON on the overworld.
- THEEND.CON: The tile sheet used during the ending sequence.
- TOWN.CON: The tile sheet used for every town in the game (including the castle).
The following are NPC/enemy sprite sheets. There are 26 sprites in total. However, there are 2 frames of animation for each NPC, so this file represents 13 unique NPCs. Both the frame ID and that ID+13 belong to the same enemy. The resulting image is 468x18.
- DUNGMON.CON: Enemies found in either Blackeye's dungeon, or the Talisman dungeon
- ENDMON.CON: NPCs present during the ending sequence
- LANDMON.CON: Enemies encountered on the overworld
- LIFEMON.CON: NPCs found in Heaven
- RUINMON.CON: Enemies found in either ruin, but also Vampyr's Castle
- TOWNMON.CON: NPCs found in any given town
The following are oddities:
- PLAYER.CON: Player graphics, corresponding to race ID. ID+7 is the graphic used in heaven. ID+11 is the graphic briefly used during the ending sequence. There are 15 images, which makes this file 270x18.
- UNIV.CON: The tile sheet used on every map in the game. Also includes spell effects. This only has 15 sprites so is only 270x18 pixels.
This is the game logo that appears in the top-right-hand corner during gameplay. It is 145x25 pixels.
These images, when stitched together, form the background of the title screen. They are laid out as follows:
Each individual image is 106x99 pixels. Stitched together, this makes an image of dimensions 318x198 pixels (close enough to 320x200, a multiple of the actual game resolution of 640x400).
SCROLL.PIC and MSCROLL.PIC
SCROLL.PIC is the poem that appears during the startup animation. It is 290x77 pixels. This image is reused for the main menu background by overwriting the black pixels with the patterned fill. The writing on the scroll, according to the EGA color palette, should be purple.
MSCROLL.PIC is the end-scroll that appears to the right of SCROLL.PIC. It is 25x77 pixels.
These are various icons that appear in different places on the main menu. Each icon is 25x25 pixels.