FANDOM


About

H2O is the archive format used by Liquid to store Battle Realm information such as textures, models, text, music, and dialogue. These files can be identifies with the .H2O extension.

It is most likely that the name H2O was picked because the company's name is Liquid Entertainment and H2O is the molecular name for water.

Format Specifications

Special thanks to the creator of H2OTool Tobias Mattsson for the format and Gamemakergm for writing this documentation.

This format is divided into six sections which will all be explained below.

Header

Byte- Start of Header. Always 0x1A. There is a comment section before this that can be ignored.

Unsigned Int - Version. It has to be 6

Unsigned Int - Number of files in archive.

Unsigned Int - Unknown. Seems to always be 0.

Unsigned Int - Unknown.

Unsigned Long - Compressed size of archive.

Unsigned Long - Raw size of archive.

File Entries

Note: Number of file entries = Number of files in archive.

Unsigned Int - Entry type. (Raw = 0), (Compressed = 1)

Int - Directory Entry. -1 if no directory.

Int - File Entry. -1 if entry is unused.

Unsigned Int - Compressed size of file.

Unsigned Int - Raw size of file.

Unsigned Int - Unknown.

Unsigned Int - Offset

Unsigned Int - Unknown.

Unsigned Int - Checksum. Computed with crc32

Unsigned Int - Unknown.

File Entries #2

Should be the exact same as entries #1. Compare for equality or ignore.

Directory Names

Chunk Header

Unsigned Int - Compressed size of chunk.

Unsigned Int - Raw size of chunk.

Unsigned Int - PUTANGINA

Chunk Data

Unsigned Int - Number of strings.

Unsigned Int - Size of string block including this header.

Array of Strings - Directory names in Unicode.

Chunk Header #2

Same as above. You can skip it as it is redundant.

Chunk Data #2

Same as above. You can skip it as it is redundant.

Notes:

If (CompressedSize == RawSize) then the chunk is not compressed. Otherwise, if it is compressed, you have to run decompress. You can use Blast(Based on PKWare's Explode Algorithm by Mark Adler) for this purpose. Source code in H2OTool's source.

You might want to check the checksum at this point with crc32.

Filenames

Same as directory names.

Directory Tree Map

To be finished...

Tools

The only tool known to open and extract H2O files is called H2OTool. H2OTool is built with C. H2OTool does not build H2O archives correctly yet as it does not compress files with PKWare's Compression Library. One of our Wiki Sysops is working on implementing that at the moment.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.