Star on GitHubStar1.1k stars

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.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · HarbourMasters/Shipwright · Revision dd702b0
  2. docs/BUILDING.md GitHub · HarbourMasters/Shipwright · Revision dd702b0
  3. docs/supportedHashes.json GitHub · HarbourMasters/Shipwright · Revision dd702b0
  4. CMakeLists.txt GitHub · HarbourMasters/Shipwright · Revision dd702b0
  5. .gitmodules GitHub · HarbourMasters/Shipwright · Revision dd702b0
  6. soh/.gitrepo GitHub · HarbourMasters/Shipwright · Revision dd702b0
  7. docs/CREDITS.md GitHub · HarbourMasters/Shipwright · Revision dd702b0
  8. .github/workflows/generate-builds.yml GitHub · HarbourMasters/Shipwright · Revision dd702b0
  9. soh/soh/Enhancements/randomizer/3drando/LICENSE.md GitHub · HarbourMasters/Shipwright · Revision dd702b0

More in Games

All 318 entries in GamesGames case studies (239)

↑↓ move↵ open⌘↵ new tab