GLB Format (Galactix)

From ModdingWiki
Jump to navigation Jump to search
GLB Format (Galactix)
Format typeArchive
Max files232-1 (~4 billion)
File Allocation Table (FAT)Beginning
Filenames?Yes, 15 chars
Metadata?None
Supports compression?No
Supports encryption?No
Supports subdirectories?No
Hidden data?Yes
Games

The Galactix GLB Format is used by Galactix to store all the game data files. The format was later altered for Raptor to add encryption, resulting in the Raptor GLB Format.

Signature

For version 1.0 and 1.3, the first FAT entry has the filename "GLIB FILE". This can be checked without decryption, noting that the offset is different between versions.

For version 1.3a and later, the first FAT entry must be decrypted, then it contains the filename "(C)CYGNUS1992". The entry must be decrypted (rather than checking the encrypted bytes) because if the file count changes, so will the following encrypted bytes including the signature filename.

File format

The file begins with a File Allocation Table (FAT), which lists the filename, size and offset of each file within the archive.

The very first entry is not a real file, but is a header. The offset field of this entry contains the number of files in the FAT (not including this header entry itself.) The filename is used as a signature and varies depending on the file version (see below). The file size reported for this entry is zero.

The first file's data begins directly after the FAT, which will also be the offset value of the second FAT entry.

Version 1.0

This layout is used in the shareware and registered versions of Galactix v1.0. The file is not encrypted.

Data type Name Description
char filename[22] Null-terminated filename (21 chars + terminating null).
UINT32LE offset Offset of the file data, relative to the start of the archive.
UINT32LE length Size of the file data, in bytes. ! Could be UINT16LE length followed by UINT16LE flags

The filename of the first entry is "GLIB FILE".

Version 1.3

This layout is used in Galactix v1.3. The file is not encrypted.

Data type Name Description
UINT32LE offset Offset of the file data, relative to the start of the archive
char filename[22] Null-terminated filename (21 chars + terminating null)
UINT16LE length Size of the file data, in bytes

The filename of the first entry is "GLIB FILE".

Version 1.3a

This layout is used in Galactix v1.3a and later. The files are not encrypted but the FAT is encrypted with the same algorithm used for GLB Format (Raptor) but with the encryption key "GX1".

Data type Name Description
UINT16LE unknown Unknown value.
UINT32LE offset Offset of the file data, relative to the start of the archive.
UINT16LE length Size of the file data, in bytes.
char filename[16] Null-terminated filename (15 chars + terminating null)

The filename of the first entry is "(C)CYGNUS1992".

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/ANoN/A v1.3 only
Galactix fuse DOSYesN/ANoNoN/ANoN/A v1.3 only

Credits

This file format was reverse engineered by Malvineous. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)