Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Library for extracting and modifying graphics from PC DOS games
tree: be4de43cd4

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Camoto: Classic-game Modding Tools
Copyright 2010-2012 Adam Nielsen <>

Camoto is a collection of utilities for editing (modding) "classic games",
those from the early to mid 1990s.

This is libgamegraphics, one component of the Camoto suite.  libgamegraphics
provides a standard method of accessing pixel and palette data in the many
different (often custom) image formats used by many games.  It allows
full-screen images, sprites and animations to be extracted and/or modified.

Pixel data is provided as an array of bytes, with one byte per pixel.  This
allows it to work with images of up to 256 colours.  Images of less colours
(such as EGA 16-colour) will still be expanded to one byte per pixel, only the
values used will be limited (e.g. 0-15.)  This means any application using
the library will only need to handle a single image format - 8bpp with a
32-bit RGBA palette.

The palette will be made available if it exists, however as many image formats
store the palette externally it is left up to the application to locate and
supply any external palette data.

File formats from the following games have been implemented:

  * Catacomb/Catacomb II (tiles)
  * Captain Comic (tiles, sprites and fullscreen images)
  * Cosmo's Cosmic Adventures (tiles)
  * Crystal Caves (tiles)
  * Dangerous Dave (tiles)
  * Duke Nukem II (fullscreen images)
  * Halloween Harry (tiles and fullscreen images)
  * Jill of the Jungle (tiles, read-only)
  * Monster Bash (tiles)
  * Wacky Wheels (tiles and fullscreen images)
  * Word Rescue (tiles and fullscreen images)
  * Xargon (tiles, read-only)
  * Zone 66 (tiles)

Many more formats are planned.

This distribution includes two example programs (gameimg and gamegfx) which
provide access to single-image files and tilesets respectively.  These are
intended as both command-line interfaces to the library as well as an example
of how to use the library.  The programs are installed as part of the
"make install" process.  See the manpages for full details.

Both libgamecommon and png++ are required dependencies of this library.
png++ can be obtained from

The library is then compiled and installed in the usual way:

  ./configure && make
  sudo make install
  sudo ldconfig

If you downloaded the git release, run ./ before the commands above.

All supported image formats are fully documented on the ModdingWiki - see

This library is released under the GPLv3 license.
Something went wrong with that request. Please try again.