GRP Format

From ModdingWiki
Jump to navigation Jump to search
GRP Format
Format typeArchive
Max files4,294,967,295
File Allocation Table (FAT)Beginning
Filenames?Yes, 8.3
Metadata?None
Supports compression?No
Supports encryption?No
Supports subdirectories?No
Hidden data?No
Games

The GRP Format is used by a number of games powered by Ken Silverman's Build engine. It is one of the more efficient group files in that it only stores file sizes in the headers, and the file offsets must be calculated from these. It does not however support compression, but this does make it a very elegant and easy to understand example of what a group file is and does.

File format

Signature

All GRP files begin with the format designer's name, "KenSilverman", followed by the number of files stored inside the group file.

Data type Name Description
char[12] signature "KenSilverman", not NULL-terminated
UINT32LE fileCount Number of files

The signature is followed immediately by a file entry structure, repeated fileCount times.

File entry

A file entry consists of the filename and its size.

Data type Name Description
char[12] filename Filename (8.3 style), only NULL-terminated if there is enough room
UINT32LE size File size

The file's offset must be calculated from the offset of the previous file plus its size. The first file's data immediately follows the last file entry, and if required its offset can be calculated by adding one to fileCount (to include the KenSilverman signature) and multiplying the result by 16 (the size of a file entry, also the same as the signature size.)

Tools

The following tools are able to work with files in this format.

Name PlatformExtract files? Decompress on extract? Create new? Modify? Compress on insert? Access hidden data? Edit metadata? Notes
Camoto Linux/WindowsYesN/AYesYesN/AN/AN/A
KGROUP/KEXTRACT DOSYesN/AYesNoN/AN/AN/A Official utility
Wombat WindowsYesN/ANoNoN/AN/AN/A