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,

V800

Active Member
Newcomer
Joined
May 16, 2022
Messages
30
Trophies
0
Age
30
Location
Vigo
XP
34
Country
Spain
@FelipeMr98 what is the right size of the oot.otr file? I mean, now that you've got it working how many kbs are displayed. I wonder if there's just one correct size or may be more than one (since people report crashes at differents point in the game)
 

FelipeMr98

Member
Newcomer
Joined
May 13, 2022
Messages
10
Trophies
0
Age
23
Location
Florianópolis
XP
28
Country
Brazil
by the way i have seen that someone managed to change the gamepad button scheme to look like the n64 ones, would it be possible to do the same with the pro controller?
 

Steffenfield

Well-Known Member
Newcomer
Joined
Sep 14, 2009
Messages
93
Trophies
0
XP
520
Country
United States
What?? If you have it you will see it!

You install the forwarder or channel with wup installer gx2 which should be in your sd/wiiu/apps folder. Load it from hbl.

The forwarder /channel files themselves go into sd/install folder.
This is how it appears on my end and the only way to launch the title.

Wii U.jpg


Lostboy, I'll read your post as many times as it takes until it finally makes some sense to me.

Would be helpful though to know what the end result should look like.

All I've done on my Wii U was copied my physical CDs to a USB card and that was like a year ago.

I haven't tried doing any game downloads until now.
 

Lostbhoy

HEY YOU GUYS!
Member
Joined
Aug 23, 2009
Messages
1,319
Trophies
1
Location
Scotland
XP
3,003
Country
United Kingdom
This is how it appears on my end and the only way to launch the title.

View attachment 310288

Lostboy, I'll read your post as many times as it takes until it finally makes some sense to me.

Would be helpful though to know what the end result should look like.

All I've done on my Wii U was copied my physical CDs to a USB card and that was like a year ago.

I haven't tried doing any game downloads until now.

That's the game itself, inside the folder, inside hbl. By pressing that it will load the game. That is how it should look. (i made an icon you can pop in the soh folder also so it doesn't look empty https://gbatemp.net/threads/ship-of-harkinian-ocarina-of-time-wii-u-port.612074/post-9822670 )
does the game load when you press soh/soh.rpx?

Use the app below your soh folder (wup installer gx2) to install @ploggy 's forwarder or channel found earlier in the thread and it will appear on your wii u menu in the first available space. These files should be on your sd card as

Sd/install/forwarder or channel folder here
 

Rgorgory

Well-Known Member
Member
Joined
Sep 23, 2017
Messages
133
Trophies
0
Age
38
XP
318
Country
Venezuela
What is the difference by using PAL Gamecube to generate the oot.otr.. does it include spanish language?
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
30,191
Trophies
2
XP
19,847
Country
United States
What is the difference by using PAL Gamecube to generate the oot.otr.. does it include spanish language?
there are specific reasons for using the pal version according to pc crew, but I'm not sure what those are. it's beyond just the language aspect, I think.
 

Rgorgory

Well-Known Member
Member
Joined
Sep 23, 2017
Messages
133
Trophies
0
Age
38
XP
318
Country
Venezuela
What is the difference by using PAL Gamecube to generate the oot.otr.. does it include spanish language?
there are specific reasons for using the pal version according to pc crew, but I'm not sure what those are. it's beyond just the language aspect, I think.
I asked in the Ship of Harkinian Discord and this was the answer

rgorgory — Today at 5:23 PM
Hello everyone
General question here.
Is there any specific case where to use Ocarina of Time PAL GameCube game to generate oot.otr file?
What is the main difference? does it support spanish language?

InfoManiac — Today at 5:23 PM
There is no official Spanish translation of OoT (except for 3DS)

Argorath (sixty eff pee esss!!!) — Today at 5:23 PM
both support the same languages, but the gamecube rom causes some visual issues atm
 
  • Like
Reactions: godreborn

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
30,191
Trophies
2
XP
19,847
Country
United States
I asked in the Ship of Harkinian Discord and this was the answer

rgorgory — Today at 5:23 PM
Hello everyone
General question here.
Is there any specific case where to use Ocarina of Time PAL GameCube game to generate oot.otr file?
What is the main difference? does it support spanish language?

InfoManiac — Today at 5:23 PM
There is no official Spanish translation of OoT (except for 3DS)

Argorath (sixty eff pee esss!!!) — Today at 5:23 PM
both support the same languages, but the gamecube rom causes some visual issues atm
I got that info from the blawar oot, which also uses the pal rom. they made placeholders for ntsc U and J iirc, but they were not used. I'm on their discord server, but I don't click on it very often.
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
30,191
Trophies
2
XP
19,847
Country
United States
I asked in the Ship of Harkinian Discord and this was the answer

rgorgory — Today at 5:23 PM
Hello everyone
General question here.
Is there any specific case where to use Ocarina of Time PAL GameCube game to generate oot.otr file?
What is the main difference? does it support spanish language?

InfoManiac — Today at 5:23 PM
There is no official Spanish translation of OoT (except for 3DS)

Argorath (sixty eff pee esss!!!) — Today at 5:23 PM
both support the same languages, but the gamecube rom causes some visual issues atm
1652822580644.png
 

V800

Active Member
Newcomer
Joined
May 16, 2022
Messages
30
Trophies
0
Age
30
Location
Vigo
XP
34
Country
Spain
No one else is getting Failed to create default configs! Make sure your SD is not write protected?
I've already tried with/without the cvars.cfg file in the folder, different oot.otr files and it doesn't work.
 

V10lator

Well-Known Member
Member
Joined
Apr 21, 2019
Messages
976
Trophies
0
Age
34
XP
2,347
Country
Germany
does it include spanish language?
No. Available langages are english (0), german (1) and french (2). You can change language by setting gLanguages at the cvars.cfg file like described in the OP.

//EDIT: To all: I made a cvars.cfg showing all available options at the time of writing and setting them to values I like:
Code:
gDisableLOD = 0
gDebugEnabled = 0
gPauseLiveLink = 1
gMinimalUI = 0
gRumbleEnabled = 1
gUniformLR = 1
gNewDrops = 1
gDekuNutUpgradeFix = 1
gTwoHandedIdle = 1
gVisualAgony = 0
gLanguages = 0
gTextSpeed = 3
gDpadPauseName = 1
gDpadOcarinaText = 1
gDpadShop = 1
gFixDungeonMinimapIcon = 1
gTextureFilter = 0
Explaining the values:

gDisableLOD is for disabling level of detail reductions. DO NOT ENABLE as this is currently broken!
gDebugEnabled enables debugging functionality. You don't need that.
gPauseLiveLink animates Link at the pause screen instead of showing a static image.
gMinimalUI enables some form of minimal UI. I never tested this and guess you don't want this.
gRumbleEnabled enables rumble. Should work nicely with latest nightly.
gUniformLR fixes a cosmetic issue at the pause screen.
gNewDrops replaces low poly drops with the 3D models you see when taking something out of a chest.
gDekuNutUpgradeFix fixes a game bug where you can't ugrade your deku bag anymore.
gTwoHandedIdle better idle animation when holding a two hand weapon.
gVisualAgony visualises the stone of agony. You might want to enable that in case you have rumble disabled.
gLanguages sets the language, see above.
gTextSpeed 3x text speed (like in OOT 3D).
gDpadPauseName allows you to navigate the pause menu with the dpad.
gDpadOcarinaText allows you to play the ocarina notes with the dpad.
gDpadShop allows you to navigate through shop items with the dpad.
gFixDungeonMinimapIcon fixes dungeon minimap icon missplacement.
gTextureFilter isn't used yet but will enable 3 point texture filtering in the future. 0 = three point, 1 = 4 point. Right now it's forced to 4 point / the setting is ignored.
 
Last edited by V10lator,
General chit-chat
Help Users
    Dark_Phoras @ Dark_Phoras: What's the point of your existence?