Case study
Ship of Harkinian: a native Ocarina of Time port built on the decompilation
Builds Ocarina of Time as a native PC application from the OoT decompilation’s source, with libultraship standing in for the N64 libultra SDK and DirectX 11, OpenGL or Metal rendering. No game assets are shipped: they are converted from the user’s supported ROM into an .o2r archive, and the port adds save states, alternate and custom assets and other enhancements.
- Targets
- Game
- Category
- Independent reconstruction cases
- Relationship
- Independent reconstruction project
- Sources reviewed
Requirements & limits
- Prerequisites: Play requires a legally acquired, supported Ocarina of Time ROM; docs/supportedHashes.json lists 19 SHA-1 entries covering PAL, NTSC (US/JP), GameCube, Master Quest and debug variants. Copyrighted assets are not included and are converted from that ROM into oot.o2r or oot-mq.o2r; prebuilt releases still need the ROM.
- Prerequisites: README documents Windows, Linux (AppImage) and macOS releases with DirectX 11, OpenGL or Metal; CMake also has Nintendo Switch and CafeOS (Wii U) branches. Source builds need CMake 3.26+, Python 3, Git and the libultraship and Torch submodules, plus Visual Studio 2022 (v143) on Windows or the listed distribution packages and minimum GCC/Clang versions on Linux.
- Scope: README presents Ship of Harkinian as built on libultraship and dependent on source from the OoT decompilation project; the soh/src tree carries that decomp-derived game code. The output is a modified native port (CMake project version 9.3.0) with added features, not a matching ROM build or a byte-for-byte reconstruction.
- Testing evidence: The reviewed CI workflow builds Windows, macOS and Linux packages and generates soh.o2r; it runs no gameplay or fidelity comparison against the original game.
- License: The pinned tree has no root license file and GitHub detects none; the randomizer’s 3drando component carries its own license, the submodules are separate repositories and Nintendo content keeps its own rights. README says the project does not condone piracy.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · HarbourMasters/Shipwright · Revision dd702b0
- docs/BUILDING.md GitHub · HarbourMasters/Shipwright · Revision dd702b0
- docs/supportedHashes.json GitHub · HarbourMasters/Shipwright · Revision dd702b0
- CMakeLists.txt GitHub · HarbourMasters/Shipwright · Revision dd702b0
- .gitmodules GitHub · HarbourMasters/Shipwright · Revision dd702b0
- soh/.gitrepo GitHub · HarbourMasters/Shipwright · Revision dd702b0
- docs/CREDITS.md GitHub · HarbourMasters/Shipwright · Revision dd702b0
- .github/workflows/generate-builds.yml GitHub · HarbourMasters/Shipwright · Revision dd702b0
- soh/soh/Enhancements/randomizer/3drando/LICENSE.md GitHub · HarbourMasters/Shipwright · Revision dd702b0
More in Games
- sm64ex: an enhanced Super Mario 64 PC port from the decompilation · Case study
- SpaghettiKart: a native Mario Kart 64 port built on decompiled source · Case study
- Starship: a Star Fox 64 PC port built from the decompilation · Case study
- Super Mario Sunshine: a native PC port from an AI-assisted decompilation · Case study
- TH08 Web: a WebAssembly port built from reconstructed source · Case study
- TonyWasAProSkater: a THPS1 native port forked from a matching decompilation · Case study