Ship of Harkinian (Ocarina of Time) Wii U Port


This is a port of Ship of Harkinian to the Wii U. Ship of Harkinian is a PC port of Ocarina of Time allowing you to enjoy the game with modern controls, widescreen, high-resolution, and other great features!
Check out the awesome original project here!

Quick Start

  1. Download the latest release from the releases page and extract it to the root of your SD Card.
  2. Requires a supported copy of the game (See supported games below).
  3. Download the OTRGui BE version from here.
  4. Use OTRGui to create an oot.otr archive file.
  5. Copy the oot.otr file to the wiiu/apps/soh/ folder on your SD Card.
Nightly builds can be downloaded as artifacts from the actions tab (requires a GitHub account).

Supported Games

Ocarina of Time Debug (not Master Quest) (Recommended)
Build team: `[email protected]`
Build date: `03-02-21 00:49:18` (year-month-day)
sha1: cee6bc3c2a634b41728f2af8da54d9bf8cc14099

Ocarina of Time PAL GameCube
sha1: 0227d7c0074f2d0ac935631990da8ec5914597b4

:arrow: Downloads
:arrow: Source code

Configuration options

CVars

There are several Gameplay options which can be configured. To configure them create a file called cvars.cfg in wiiu/apps/soh/ and add the lines listed below, separated by a newline, using a text editor.

Game language
0 = English / 1 = German / 2 = French
set gLanguages 0

Text speed
Text speed can be between 1 and 5
set gTextSpeed 1

Enable rumble
set gRumbleEnabled 1

There are several more options which haven't been listed here yet :P

Controller mappings

A default mapping will be created after for each connected controller after launching the port at least once.

Customizing controller mappings

To edit controller bindings edit the shipofharkinian.ini file in wiiu/apps/soh/ using a text editor. [wiiu gamepad binding 1] is the gamepad binding, [wiiu procontroller binding 1] a binding for a pro controller in slot 1, [wiiu classiccontroller binding 2] a binding for a classic controller in slot 2, etc, you get the idea...

# C-Buttons
btn_cright
btn_cleft
btn_cdown
btn_cup
# Secondary C-Button mapping
btn_cright_2
btn_cleft_2
btn_cdown_2
btn_cup_2
# L and R buttons
btn_r
btn_l
# DPAD
btn_dright
btn_dleft
btn_ddown
btn_dup
# START button
btn_start
# Z utton
btn_z
# A and B buttons
btn_b
btn_a
# Analog stick
btn_stickright
btn_stickleft
btn_stickdown
btn_stickup

The following values can be used for bindings:
//! The A button.
32768
//! The B button.
16384
//! The X button.
8192
//! The Y button.
4096
//! The left button of the D-pad.
2048
//! The right button of the D-pad.
1024
//! The up button of the D-pad.
512
//! The down button of the D-pad.
256
//! The ZL button.
128
//! The ZR button.
64
//! The L button.
32
//! The R button.
16
//! The + button.
8
//! The - button.
4
//! The HOME button.
2
//! The SYNC button.
1
//! The right stick button.
131072
//! The left stick button.
262144
//! The TV button.
65536
//! Left on the right stick.
67108864
//! Right on the right stick.
33554432
//! Up on the right stick.
16777216
//! Down on the right stick.
8388608
//! Left on the left stick.
1073741824
//! Right on the left stick.
536870912
//! Up on the left stick.
268435456
//! Down on the left stick.
134217728

//! The up button of the D-pad.
1
//! The left button of the D-pad.
2
//! The ZR button.
4
//! The X button.
8
//! The A button.
16
//! The Y button.
32
//! The B button.
64
//! The ZL button.
128
//! Reserved.
256
//! The right trigger button.
512
//! The + button.
1024
//! The HOME button.
2048
//! The - button.
4096
//! The left trigger button.
8192
//! The down button of the D-pad.
16384
//! The right button of the D-pad.
32768
//! The right stick button.
65536
//! The left stick button.
131072
//! Up on the left stick.
2097152
//! Down on the left stick.
1048576
//! Left on the left stick.
262144
//! Right on the left stick.
524288
//! Up on the right stick.
33554432
//! Down on the right stick.
16777216
//! Left on the right stick.
4194304
//! Right on the right stick.
8388608

//! The up button of the D-pad.
1
//! The left button of the D-pad.
2
//! The ZR button.
4
//! The X button.
8
//! The A button.
16
//! The Y button.
32
//! The B button.
64
//! The ZL button.
128
//! The R button.
512
//! The + button.
1024
//! The HOME button.
2048
//! The - button.
4096
//! The L button.
8192
//! The down button of the D-pad.
16384
//! The right button of the D-pad.
32768
//! Left on the left stick.
65536
//! Right on the left stick.
131072
//! Down on the left stick.
262144
//! Up on the left stick.
524288
//! Left on the right stick.
1048576
//! Right on the right stick.
2097152
//! Down on the right stick.
4194304
//! Up on the right stick.
8388608

Example:
A mapping which would map the "A" button of a Pro Controller in slot 1 would look like this:
Code:
[wiiu procontroller binding 1]
btn_a=16

TODO

Known bugs and issues

Let me know if there are any bugs or issues while playing the game. If these are also present on the PC version of SoH, consider reporting them to the original project instead.

Missing features​

  • Gyroscope support
Credits

 
Last edited by GaryOderNichts,

Kopimist

Well-Known Member
Member
Joined
Nov 6, 2019
Messages
272
Trophies
0
Age
35
XP
700
Country
United States
But if you have the rom to build this then you could've just emulated it on the wii u?
This is much better than just emulating the rom. Game looks glorious for an N64 title as the port.

@GaryOderNichts is it safe to assume that as new releases come out, we just need to replace the .rpx file on our SD card right? No need to rebuild the archive file correct?
 
Last edited by Kopimist,
  • Like
Reactions: Lostbhoy

GaryOderNichts

Well-Known Member
OP
Member
Joined
Aug 9, 2018
Messages
620
Trophies
1
XP
3,736
Country
Germany
@GaryOderNichts is it safe to assume that as new releases come out, we just need to replace the .rpx file on our SD card right? No need to rebuild the archive file correct?
Can't say for sure yet. Sometimes some assets get added upstream which would require rebuilding the OTR.
I will put a note into the release notes if that's necessary.
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
30,284
Trophies
2
XP
19,946
Country
United States
Can't say for sure yet. Sometimes some assets get added upstream which would require rebuilding the OTR.
I will put a note into the release notes if that's necessary.
does compiling it build the otr as well? I forgot to check, just know it built the rpx. I haven't tested oot out on the wiiu. I already have a save at ganon on the nso version. no issues with the pc version, but there's some sort of bug with the linux or rather building the linux version that many people, including myself, have encountered--the segmentation fault error.
 

GaryOderNichts

Well-Known Member
OP
Member
Joined
Aug 9, 2018
Messages
620
Trophies
1
XP
3,736
Country
Germany
does compiling it build the otr as well? I forgot to check, just know it built the rpx. I haven't tested oot out on the wiiu. I already have a save at ganon on the nso version. no issues with the pc version, but there's some sort of bug with the linux or rather building the linux version that many people, including myself, have encountered--the segmentation fault error.
Segmentation fault while building the linux version? Or while playing?
You can try setting this to "true" and see if it changes anything: https://github.com/HarbourMasters/S...afecac2be9ade576da7/ZAPDTR/ZAPD/Main.cpp#L333
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
30,284
Trophies
2
XP
19,946
Country
United States
Segmentation fault while building the linux version? Or while playing?
You can try setting this to "true" and see if it changes anything: https://github.com/HarbourMasters/S...afecac2be9ade576da7/ZAPDTR/ZAPD/Main.cpp#L333
doing that causes this error:

Fatal error: can't create build/ZAPD/Main.o: Permission denied
make[2]: *** [Makefile:117: build/ZAPD/Main.o] Error 1
make[2]: Leaving directory '/home/godreborn/ShipWright/ZAPDTR'
make[1]: *** [Makefile:130: mpq] Error 2
make[1]: Leaving directory '/home/godreborn/ShipWright/soh'
make: *** [Makefile:125: setup] Error 2
 

GaryOderNichts

Well-Known Member
OP
Member
Joined
Aug 9, 2018
Messages
620
Trophies
1
XP
3,736
Country
Germany
doing that causes this error:

Fatal error: can't create build/ZAPD/Main.o: Permission denied
make[2]: *** [Makefile:117: build/ZAPD/Main.o] Error 1
make[2]: Leaving directory '/home/godreborn/ShipWright/ZAPDTR'
make[1]: *** [Makefile:130: mpq] Error 2
make[1]: Leaving directory '/home/godreborn/ShipWright/soh'
make: *** [Makefile:125: setup] Error 2
Looks like there are still files left from building with Docker. You shouldn't switch between a docker environment and non-docker without running make clean.
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
30,284
Trophies
2
XP
19,946
Country
United States
Looks like there are still files left from building with Docker. You shouldn't switch between a docker environment and non-docker without running make clean.
still won't open:

./soh.elf
[2022-05-31 22:26:52.667] [libultraship/Archive.cpp:300]
Reading ./oot.otr mpq patch
[2022-05-31 22:27:00.310] [libultraship/ResourceMgr.cpp:72] [info] Resource Manager LoadFileThread started
[2022-05-31 22:27:00.310] [libultraship/ResourceMgr.cpp:107] [info] Resource Manager LoadResourceThread started
[2022-05-31 22:27:00.316] [libultraship/stox.cpp:31] [debug] Failed to parse int32_t from string due to invalid argument: stoi ()
error: XDG_RUNTIME_DIR not set in the environment.
The path /dev/dri/ cannot be opened or is not available
The path /dev/dri/ cannot be opened or is not available
error: XDG_RUNTIME_DIR not set in the environment.
The path /dev/dri/ cannot be opened or is not available
The path /dev/dri/ cannot be opened or is not available
Segmentation fault
 

GaryOderNichts

Well-Known Member
OP
Member
Joined
Aug 9, 2018
Messages
620
Trophies
1
XP
3,736
Country
Germany
still won't open:

./soh.elf
[2022-05-31 22:26:52.667] [libultraship/Archive.cpp:300]
Reading ./oot.otr mpq patch
[2022-05-31 22:27:00.310] [libultraship/ResourceMgr.cpp:72] [info] Resource Manager LoadFileThread started
[2022-05-31 22:27:00.310] [libultraship/ResourceMgr.cpp:107] [info] Resource Manager LoadResourceThread started
[2022-05-31 22:27:00.316] [libultraship/stox.cpp:31] [debug] Failed to parse int32_t from string due to invalid argument: stoi ()
error: XDG_RUNTIME_DIR not set in the environment.
The path /dev/dri/ cannot be opened or is not available
The path /dev/dri/ cannot be opened or is not available
error: XDG_RUNTIME_DIR not set in the environment.
The path /dev/dri/ cannot be opened or is not available
The path /dev/dri/ cannot be opened or is not available
Segmentation fault
You need to build in the docker container and run it without the docker container.

This thread isn't for linux building support though, check out the SoH discord.
 
  • Like
Reactions: godreborn

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
30,284
Trophies
2
XP
19,946
Country
United States
I actually wasn't in docker. I was using the sudo command considering someone showed an image of it working for him with that command. with or without sudo, it doesn't load up, but everything compiled okay. I read it's due to the distro used as some have had success with certain distros, then when they tried with another, it didn't work (same segmentation failure error). anyway, I apologize for going off topic, and thanks for the suggestions.
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
30,284
Trophies
2
XP
19,946
Country
United States
hello, could you share your collection of versions of the game
?
by private message or where you can if possible?
Thank you
Afaik, that one only works with pal. It may need the reverse engineered rom, which you can Google. Type re

Edit btw, I can compile that one with visual studio. The only problematic ones are the Linux ones, always a problem.
 

cvskid

Well-Known Member
Member
Joined
Apr 13, 2014
Messages
2,745
Trophies
1
XP
2,619
Country
United States
I have everything setup except for the oot.otr file. On a 64 bit windows machine when i open OTRGui.exe it opens command prompt for a split second then closes.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    DEMONGreninjaPG @ DEMONGreninjaPG: @NeoGaming lol]