Library and command line utilities for examining and editing archive/group files used by DOS games
Fetching latest commit…
Cannot retrieve the latest commit at this time
Camoto: Classic-game Modding Tools Copyright 2010-2013 Adam Nielsen <firstname.lastname@example.org> http://www.shikadi.net/camoto/ Camoto is a collection of utilities for editing (modding) "classic games", those from the early to mid 1990s. This is libgamearchive, one component of the Camoto suite. libgamearchive is a library that provides access to different "archive" files used by games to store all their data files. Just like a .zip file, many games squash all their data files together into one big data file, and this library provides access to those data files. It currently supports full editing, so files can be extracted, added, removed and replaced from supported archive formats. File formats from the following games have been implemented: * Blood (.rff) * Cosmo's Cosmic Adventures (.vol, .stn) * Crystal Caves (.exe) * Dangerous Dave (.exe) * Dark Ages (file05.da) * Descent (.hog) * Doofus (.g-d) * Duke Nukem II (.cmp) * Duke Nukem 3D (.grp) * God of Thunder (.dat) [no decompression yet] * Halloween Harry (.bnk, harry.-0) * Hocus Pocus (.dat) * Hugo II: Whodunit? and Hugo III: Jungle of Doom! (.dat) * Lion King (.epf) * Major Stryker (.ms) * Monster Bash (.dat) * Raptor (.glb) * Redneck Rampage (.grp) * Sango Fighter (.dat, .pcm, and many others) * SkyRoads (.lzs) * Shadow Warrior (.grp) * Stargunner (.dlt) * Stellar 7 (.res) * Terminal Velocity (.pod) * The Incredible Machine (resource.*) * Vinyl Goddess From Mars (.lbr) * Wacky Wheels (.dat) * Word Rescue (.1) Many more formats are planned. The library also implements the following compression/encryption algorithms used by these formats: * Dangerous Dave * God of Thunder * Lion King (decompress only) * Monster Bash (decompress only) * Raptor * Secret Agent * SkyRoads * Stargunner (decompress only, game works with uncompressed files) * Stellar 7 (decompress only) * Zone 66 The library is compiled and installed in the usual way: ./configure && make sudo make install sudo ldconfig You will need libgamecommon installed first. If you downloaded the git release, run ./autogen.sh before the commands above. You can also run "make check" to compile and run the tests. This distribution includes an example program "gamearch" which serves as both a command-line interface to the library as well as an example of how to use the library. This program is installed as part of the "make install" process. See "man gamearch" for full details (note the manpage is currently documenting intended behaviour, but not everything has been implemented yet.) A second example is also included ("gamecomp") which provides command line access to the compression algorithms implemented in the library. Although gamearch will automatically decompress files on extraction, gamecomp can be used to decompress files that are not contained within an archive (such as the Zone 66 data files.) All supported archive formats are fully documented on the ModdingWiki - see http://www.shikadi.net/moddingwiki/ This library is released under the GPLv3 license.