homm3tools is a repository containing various tools for Heroes of Might and Magic 3, Horn of the Abyss. The code is currently tested working on HotA version 1.6.1.
The base code used to read savefiles and order the data in structs and classes is found in src/h3. The code in these files are used to build the other tools.
h3viewer is an application to visualize a series of save files (a game).
| Plot Kingdom Army Strength | Plot Number of Heroes | Plot Number of Towns |
|---|---|---|
![]() |
![]() |
![]() |
h3decompress is an application to decompress a single save file.
The h3decompress utility is mainly a gunzip of the target save file. However, it does handle some quirks of the save files themselves:
gunziprequires the file extension to be known whileh3decompressdoes not.- Using
gunzipon the (renamed) save file produces the errorgzip: savefile.gz: invalid compressed data--crc errorwhileh3decompressdoes not. - The reason for the former error is not known, but the checksum of the compressed library is incorrect.
h3decompresstherefore inflates/decompresses as many bytes as it can beforezlibreturns an error about incorrect data (Z_DATA_ERROR). It is always the last 4 bytes that are disregarded in the save files.
The first argument to h3decompress must be a HotA save file while the second argument must be the output filename.



