Catalog · How the catalog works
harvester-tools
Scripts and tools for working with Harvester's game data files
- ★ 3 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
Harvester Resource Explorer
Harvester Resource Explorer is a companion tool for the Harvester reverse-engineering work described in the Reverse Engineering Harvester blog series. It loads Harvester data files and exposes a searchable resource browser for inspecting archives, loose assets, decoded images, movies, audio, scripts, dialogue, and raw binary payloads.
The goal is practical format validation while reconstructing the engine: find a resource by path, check which archive or disc it came from, preview the decoded content, and compare behavior against the native game data.
Capabilities
The explorer can discover Harvester archive sets from INDEX.001, INDEX.002, and INDEX.003 sidecars paired with HARVEST.DAT, SOUND.DAT, and HARVEST2.DAT. It also scans loose resources under the selected data root.
Supported resource handling currently includes:
DAT/INDEX.00Narchive discovery,XFLEindex parsing, archive offsets, stored sizes, unpacked sizes, and packed-entry expansion..BMstatic bitmap preview with automatic palette lookup and manual palette override..ABManimated bitmap preview, including frame offsets, RLE decoding, and palette-index-0 transparency..PALVGA palette swatch preview..CMP/FCMPaudio decoding to mono PCM for playback through a local audio player such asafplay,ffplay, oraplay..WAVmono audio playback..FSTmovie decoding with video frame preview and PCM audio playback.DIALOGUE.IDXdecoding into dialogue id and subtitle rows..SCRtext decoding through Harvester's XOR0xAAscript encoding.- Hex preview for resources without a specialized decoder.
- Search/filtering by source, logical path, type, and size.
The GUI requires Python, Tk, and Pillow.
Usage
Install Pillow, then point the explorer at a Harvester data root:
python3 -m venv .venv
source .venv/bin/activate
pip install Pillow
python3 harvester_resource_explorer.py harvester-demoRun a headless smoke check against representative resources:
python3 harvester_resource_explorer.py harvester-demo --validateYou can also pass a full game extraction or install directory instead of harvester-demo, as long as the root contains the expected INDEX.00N / DAT pairs or loose Harvester resource files.
Included Demo Data
This repository includes the playable Harvester demo under harvester-demo/ so the explorer has a known test corpus. The demo was sourced from the Internet Archive item "Harvester - demo".
The Harvester demo resources, game content, trademarks, installer files, and bundled third-party redistributables are copyrighted by their respective rightsholders. They are included only as reference material for reverse engineering and format testing. They are not covered by this repository's MIT license.
License
The resource explorer source code and project documentation are licensed under the MIT License. See LICENSE.
The MIT License does not apply to harvester-demo/ or to any Harvester game/demo assets or third-party redistributables contained there. Intel Indeo files in the demo tree retain their own Intel license text.

