HarvesterHarvester (HH) is a tool for "harvesting" data from the dat files of DigiFX Interactive's 1996 game, Harvester.
Intended to be the first piece in a toolchain for reverse engineering Harvester, HH first reconstructs the original disk images that Harvester would've shipped with during its initial release before then extracting data from the .dat files contained within that new file system. In total, HH restores approximately 2.1 GiB of data.
Related tools:
- BMtoBMP: a tool for converting Harvester's BM/PAL files into bitmap images. (Homepage/GitHub)
- CMPto???: a tool for converting Harvester's CMP files into some regular sound format. [COMING SOON!]
New in v2.0.0 is the ability to apply these same processes to other, similar file systems as well!
The simplest way to try HH for yourself is to navigate to the releases page and download the correct zip file for your system. Once downloaded, simply extract the zip file wherever you'd like and you're ready to start harvesting. See USAGE.md for more details on how to run HH itself.
If you're unsure which zip file to use on your system, HarvesterHarvester-<?>-Windows-amd64.zip will likely be what you're looking for. If not, see below:
# Windows
HarvesterHarvester-<?>-Windows-amd64 # 64-bit Windows (amd64/x86_64/x64)
HarvesterHarvester-<?>-Windows-i686 # 32-bit Windows (i686/x86)
# Linux/Unix/MacOS
HarvesterHarvester-<?>-Linux-amd64 # 64-bit Linux (amd64/x86_64/x64)
HarvesterHarvester-<?>-Linux-i686 # 32-bit Linux (i686/x86)
NOTE: I am currently unable to test whether MacOS support works. If you run into issues on MacOS, please open up a new issue provided one doesn't already exist! Thanks!
Prior to release, HH has been tested as working on Fedora Linux 42, Windows 10, and Windows 98. Continued support to all of these platforms, however, is not guaranteed.
- Install the following dependencies:
gcc make cmake # Required
clang-format valgrind # Optional, but strongly recommended for developers
- Download a copy of the source code:
$ git clone https://github.com/IcePanorama/HarvesterHarvester/ && cd HarvesterHarvester
# Or, alternatively ...
$ git clone git@github.com:IcePanorama/HarvesterHarvester.git && cd HarvesterHarvester
- Use CMake to generate the necessary build files:
$ mkdir build && cd build
$ cmake -DCMAKE_BUILD_TYPE=<?> -DCMAKE_TOOLCHAIN_FILE=<?> ..
Where CMAKE_BUILD_TYPE is either Release or Debug and CMAKE_TOOLCHAIN_FILE is a path to one of the many toolchain files in the .cmake directory.
Note: you may be required to define CMAKE_C_COMPILER while attempting to build a Windows executable on Linux (and, potentially, vice versa).
- Build the final executable with
make:
$ make
# Or, alternatively:
$ make full # Also checks for memory leaks via Valgrind
HH requires that you supply your own .dat files for use.
The GOG version around which this project was built is available here for $5.99, although it is worth noting that it does go on sale rather often. Alternatively, visit any of the retailers listed here if you'd rather shop elsewhere.
This project in no way intends to encourage the piracy of DigiFX Interactive's software.
HarvesterHarvester is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.