Skip to content

Library and command line utilities for examining and editing archive/group files used by DOS games

License

Notifications You must be signed in to change notification settings

binarymaster/libgamearchive

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Camoto: Classic-game Modding Tools
Copyright 2010-2014 Adam Nielsen <[email protected]>
https://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[123])
  * Descent (.hog)
  * Doofus (.g-d)
  * Doom (.wad)
  * Duke Nukem II (.cmp)
  * Duke Nukem 3D (.grp, .rts)
  * God of Thunder (.dat) [no decompression yet]
  * Halloween Harry (.bnk, harry.-0)
  * Highway Hunter (.dat)
  * Heretic (.wad)
  * Hexen (.wad)
  * Hocus Pocus (.dat)
  * Hugo II: Whodunit? and Hugo III: Jungle of Doom! (.dat)
  * Lion King (.epf)
  * Lost Vikings (.dat)
  * Major Stryker (.ms[123])
  * Monster Bash (.dat)
  * Mystic Towers (.dat)
  * Raptor (.glb)
  * Rise of the Triad (.wad, .rts)
  * Redneck Rampage (.grp, .rts)
  * Sango Fighter (.dat, .pcm, and many others)
  * Sherlock Holmes, The Lost Files of (.lib)
  * SkyRoads (.lzs)
  * Shadow Warrior (.grp, .rts)
  * 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
https://www.shikadi.net/moddingwiki/

This library is released under the GPLv3 license.

About

Library and command line utilities for examining and editing archive/group files used by DOS games

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 99.9%
  • Other 0.1%