DAT Format (Wacky Wheels)

From ModdingWiki
Jump to navigation Jump to search
DAT Format (Wacky Wheels)
Format typeArchive
Max files65,535
File Allocation Table (FAT)Embedded
Filenames?Yes, 8.3
Metadata?None
Supports compression?No
Supports encryption?No
Supports subdirectories?No
Hidden data?Yes
Games

The DAT format is used to store most of the data for Wacky Wheels. Unfortunately the format has no signature and a generic filename extension (.dat) so automatic detection of these files is difficult.

In Wacky Wheels 1.0 (a pre-release version of Wacky Wheels), this file was named WACKY.LID.

Wacky Wheels does not check the current directory for files before falling back to the DAT file, so any changed files must be merged into the DAT file before the game will see them.

File format

Signature

There is no signature for this format. One method to identify files is to read in the file entries (failing if the end of the file is reached early) and confirm that each filename only consists of ASCII characters or nulls, and each file offset plus its size is less than the total size of the DAT file. It is extremely unlikely that this method would incorrectly identify a file.

Header

The file starts with a single field indicating the number of files present.

Data type Description
UINT16LE numFiles File count

File entry

After the two-byte header, the following structure is repeated numFiles times. As each entry includes both an offset and a size, it is possible (in theory) for two different files to share the same data, and to insert “hidden” data between files.

Data type Description
BYTE filename[14] Filename (8.3, 12 chars including dot, null padded to 14 chars)
UINT32LE size File size
UINT32LE offset File offset (see below)

The file offsets don’t include the two-byte file count in the header, so an offset of 10 means the file actually starts at 12 bytes from the beginning of the DAT file.

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
Wombat Windows GUIYesN/ANoYesN/ANoN/A
wextract DOSYesN/ANoNoN/ANoN/A