A tool for harvesting data out of Harvester's (DigiFX Interactive, 1996) dat files.
This program is the first piece of a toolchain that I'm developing as I work to reverse engineering Harvester. The ultimate goal of this project is to eventually port the game to a more modern graphics framework (Raylib or OpenGL) just for fun/to teach myself the basics of reverse engineering.
The program works in two steps:
- It reconstructs the original disk images that Harvester would've shipped with in 1996
- Note: if you own the original game disks, this step is not needed.
- See USAGE.md for more details.
- It extracts the dat files contained within those new directories in order to give you full access to all of the game's files (~2GiB in total!).
The next step for me in this project will be creating an asset viewer.
This will require me to reverse engineer all of the various, non-standardized file formats that DigiFX used when making the game, which will be essential for porting the game in the future.
So far, I've already been able to reverse engineer the *.BM
files, which are used for all the static backgrounds in the games, for character portraits, the map, and more. Unfortunately, I likely can't to share these files, at least not in bulk (see below). I will, however, be sharing a small handful of these images as I show this project off online and I'll make sure to add a link here in the future if you wish to view those!
Navigate to the releases page and download the latest zip file.
Once downloaded, extract the zip file wherever you'd like and you're done! See USAGE.md for more details on how to run the program.
- Install the following dependencies:
gcc make cmake mingw32-gcc clang-tools-extra valgrind doxygen
- Clone the repo and cd into this new directory:
$ git clone https://github.com/IcePanorama/HarvesterHarvester/ && cd HarvesterHarvester
# ... or, alternatively ...
$ git clone git@github.com:IcePanorama/HarvesterHarvester.git && cd HarvesterHarvester
- Create a build directory and cd into there:
$ mkdir build && cd build
- Build using cmake and make:
$ cmake ..
$ make release # for *nix, x86_64, and i686 executables
# ... or, alternatively ...
$ make full # for just the *nix executable
Running make release
is strongly recommended as the build process for the release target makes use of every single dependency listed above, thus ensuring that you have all the correct packages installed on your machine.
Congrats! You're now all set to use the program or start contributing.
This program requires that you legally own a copy of Harvester in order to source the necessary dat files.
The GOG version (which this project was built around) is available here for $5.99, although it's worth noting that it does go on sale rather often.
Alternatively, visit any of the retailers on this link if you'd rather shop elsewhere.
This project in no way intends to encourage the piracy of DigiFX' software.