ComboShip is a cross-game randomizer for Ship of Harkinian (Ocarina of Time) and 2 Ship 2 Harkinian (Majora's Mask).
DISCLAIMER: THIS IS AN UNOFFICIAL PROJECT AND USES AI AS PART OF THE DEVELOPMENT. IT IS NOT CREATED OR HANDLED BY THE HARBOUR MASTERS TEAM. BRING ANY IDEAS, QUESTIONS, OR CONCERNS TO ME DIRECTLY!
Like OOTMM, ComboShip shuffles items across both games at once: a check in Ocarina of Time can hold a Majora's Mask item and vice-versa, and a single seed spans the two. Both games run together in one application; ComboShip builds that combined runtime on top of the existing Ship of Harkinian and 2 Ship 2 Harkinian ports.
- Anything within Ship and 2Ship is here. When those projects gets new updates, they are not far from inclusion here.
- Online Multiplayer through Anchor. And yes it works cross-game as well. Work together in OOT and MM, split or together.
- Possibly looking into some more OOTMM features, but it's not a priority yet.
- Possible Archipelago support as well, ideally through the existing SoH implementation
Probably many! Create an issue if you find any.
ComboShip currently builds on Windows only. macOS and Linux support will return later.
- Windows 10/11 (x64)
- Visual Studio 2022 (MSVC, with C++20 / C23 support)
- CMake 3.26 or newer
From the Combo/ directory, configure once to generate the Visual Studio solution:
cmake -B build/x64 -A x64Helper scripts in scripts/ wrap cmake --build and default to a Debug build (pass --Release for Release):
./scripts/build-comboship.ps1 -> ComboShip.execpack produces a single Windows ZIP bundling the full runtime (ComboShip.exe, the engine and UI DLLs, both ports, and assets):
cpackComboShip is built on two upstream projects, kept as vendored copies under soh/ and mm/:
- Ship of Harkinian — https://github.com/HarbourMasters/Shipwright
- 2 Ship 2 Harkinian — https://github.com/HarbourMasters/2ship2harkinian
ComboShip-specific code lives in combo/, and changes to the vendored ports are kept minimal and guarded behind COMBO_BUILD. See docs/ARCHITECTURE.md for the design and docs/UPSTREAM_MERGES.md for how upstream changes are merged in.
ComboShip combines two separately-licensed projects; each retains its own license. See the soh/ and mm/ directories for details.