Ocarina of Time Switch Port [ Ship of Harkinian ]

dIlN3OL.png



Hey everyone! I'd like to introduce to you my port for the Nintendo Switch of the beloved Ocarina of Time PC port called Ship of Harkinian. It comes with some handy features like widescreen, 60 fps, and even some cool enhancements like an integrated randomizer and a ton of more integrated mods!


UWpp.jpg
toEz.jpg

lZeKEyk.jpg
unknown.png


NCQZlFO.png

Requirements
  • You require a copy of the original OoT game
  • Latest atmosphere ( You can get it from here )
  • A device with Windows / Linux or MacOS to create the OTR

Installation
  • Download the latest release of Ship of Harkinian on a desktop device, you can get it from the links listed above.
  • Use the program called OTRGui to generate the otr file. ( Warning - You need to use one of the versions listed below, only a few are supported for now )
  • Download the latest switch port from here
  • Copy the otr file you generated into switch/ among with the otr you generated on the last step.
  • Enjoy <3!
Supported Versions
  • Ocarina of Time Debug Pal GC (Not MQ) - cee6bc3c2a634b41728f2af8da54d9bf8cc14099
  • Ocarina of Time PAL GC (Not MQ) - 0227d7c0074f2d0ac935631990da8ec5914597b4
  • Ocarina of Time PAL GC Decomp (MQ) - 079b855b943d6ad8bd1eb026c0ed169ecbdac7da
  • Ocarina of Time PAL GC (MQ) - 50bebedad9e0f10746a52b07239e47fa6c284d03
TeeAiH2.png

Missing Stuff
  • Gyro and Rumble support - You can see the progress of this here
  • Better controller handle on imgui​
  • Saves tied to the selected user​
  • Better hbmenu description and a new logo​

D6FGEDC.png

PD: ( Yeah i know this was released a few months, but i didnt upload it to gbatemp back then, im sorry for that <3 )
 
Last edited by Lywx,
it seems timschneeb / @thepbone is on fire !
thank you so much for your work !

Changelog​

  • Added rumble and gyro controls support
    • Gyro controls are disabled by default
  • Network support is working again
  • Fixed a bug where no log files would be written to the SD card
  • Removed some options in the overlay UI that are useless on the Switch and only work on PC
Known issue: The CPU performance mode is not correctly re-applied after waking the console from sleep while the game was running. You might notice performance issues and stuttering after doing so.
As a workaround, enter and exit the home menu to re-apply the overclocking parameters properly.

https://github.com/timschneeb/Shipwright-Switch/releases/tag/9.2.3-nx2
 
Can't get it to boot. I'm just getting software closed error. Generated an otr (not 02r???) and used the rom i always have. 🤷
 
Last edited by Lostbhoy,
  • Like
Reactions: Lostbhoy
Can't get it to boot. I'm just getting software closed error. Generated an otr (not 02r???) and used the rom i always have. 🤷

same here, but with o2r (generated with Win64 build, PAL 1.1 and PAL MQ debug). 9.2.3-nx1 and nx2 → nothing works at all :cry:
(atmosphere 1.9.5, firmware 20.5.0)

of course, oot.o2r and oot-mq.o2r work on Windows...


EDIT : it seems to be related to existing saves (for me, at least)...it works now I deleted my old save.
EDIT2 : yes, it's definitely NOT compatible with 8.xx saves. I will have to restart this master piece (and that's great, after all :moogle: ). HD mod works great too !
BTW I don't understand how to activate gyro (it asks me to add a gyro device), and rumble test does not make anything.
 
Last edited by Badablek,
same here, but with o2r (generated with Win64 build, PAL 1.1 and PAL MQ debug). 9.2.3-nx1 and nx2 → nothing works at all :cry:
(atmosphere 1.9.5, firmware 20.5.0)

of course, oot.o2r and oot-mq.o2r work on Windows...
Hmm weird. I'm using the 9.2.3 Linux PC build with PAL 1.0 and PAL 1.1, both working. I just tried the Win64 build too and it generates a working file as well.

Maybe try renaming/deleting the 'shipofharkinian.json' config file on the SD card to start fresh and see if it still crashes?

You could also send me the crash report (on the SD card at /atmosphere/crash_reports)
____________

Edit: Ah just saw that you figured it out. Not sure why those saves wouldn't be compatible anymore though.. I think that could be a general bug in SoH, not directly related to the Switch port.

To add gyro support, press the '+' button next to 'Add gyro device' and then press a d-pad button or move the analog stick to associate the joycon as the gyro sensor source. I should add that I only tested gyro and rumble support with the joycons in handheld mode. So not sure about Pro Controller support.
 
Last edited by timschneeb,
Did you use the older PC port version 8.0.x (called MacReady Golf) to generate the file? That one is incompatible and generates .otr files.

My fork needs an .o2r file generated by the latest PC version 9.x.x (https://github.com/HarbourMasters/Shipwright/releases/tag/9.2.3)
Yep but I don't get any o2r files, only otr files.

Doikg a fresh install also, no previous files, saves etc

Edit - nevermind, i did use mac ready golf 🫣 will try again later 👍
 
Last edited by Lostbhoy,
Hmm weird. I'm using the 9.2.3 Linux PC build with PAL 1.0 and PAL 1.1, both working. I just tried the Win64 build too and it generates a working file as well.

Maybe try renaming/deleting the 'shipofharkinian.json' config file on the SD card to start fresh and see if it still crashes?

You could also send me the crash report (on the SD card at /atmosphere/crash_reports)
____________

Edit: Ah just saw that you figured it out. Not sure why those saves wouldn't be compatible anymore though.. I think that could be a general bug in SoH, not directly related to the Switch port.

To add gyro support, press the '+' button next to 'Add gyro device' and then press a d-pad button or move the analog stick to associate the joycon as the gyro sensor source. I should add that I only tested gyro and rumble support with the joycons in handheld mode. So not sure about Pro Controller support.

thanks for clarification

I'm using it on my Switch V1 in handled mode, but I'm not able to do anything when I try to add gyro. I tried with joy-con attached (it seems one of my joy-con, the right one, does not work anymore detached, so, for now, I can't test it. EDIT : yep, ribbon cable is dead)
 
thanks for clarification

I'm using it on my Switch V1 in handled mode, but I'm not able to do anything when I try to add gyro. I tried with joy-con attached (it seems one of my joy-con, the right one, does not work anymore detached, so, for now, I can't test it. EDIT : yep, ribbon cable is dead)

That might be the issue then, rumble/gyro doesn't seem to work when only one joycon is connected.

________

Also unrelated to your issue, but in the original PR from 3 years ago which my changes are based on, someone mentioned:
This works great on my Switch apart from one small issue. If I attempt to use a pro controller while in handheld mode, the inputs go through just fine but rumble and Gyro stay on the joycons. They both work fine on the Pro Controller when the switch is docked, and they work great with the joycons in handheld mode, but I do sometimes find myself setting my switch up on my desk and playing with a pro controller with the Switch in handheld mode, would be nice if that would work.
I don't have a Pro Controller so I can't test, but I assume my fork inherited this issue too.
 
That might be the issue then, rumble/gyro doesn't seem to work when only one joycon is connected.

________

Also unrelated to your issue, but in the original PR from 3 years ago which my changes are based on, someone mentioned:

I don't have a Pro Controller so I can't test, but I assume my fork inherited this issue too.

I fixed my right joy-con, so I was able to try attached and detached. I'm unable to add gyro nor rumble, stick/buttons do nothing at all :(
I suppose something should appear if adding gyro or rumble was successful, no ?

ps : by default, there was a SDL gamepad in rumble section. I removed it to try to add it again...nothing.
I will remove any INI file and restart from the beginning.
 
I fixed my right joy-con, so I was able to try attached and detached. I'm unable to add gyro nor rumble, stick/buttons do nothing at all :(
I suppose something should appear if adding gyro or rumble was successful, no ?

ps : by default, there was a SDL gamepad in rumble section. I removed it to try to add it again...nothing.
I will remove any INI file and restart from the beginning.

Yeah, that 'SDL Gamepad' might have been a remnant from a controller config created with the old version. It's supposed to be called 'Switch Controller'. 'Controls > Clear Devices' might help to wipe the old config. Or just try to start with a clean 'shipofharkanian.json' config file.
 
Huge thank you to timschneeb!!! This runs smooth after a few hours with it and the gyro and rumble work great! Bonus - we can now use updated mods.

To get it to run I had to generate new .o2r files from my roms and basically do a fresh install. Totally worth it.
 
Last edited by disavow180,
Huge thank you to timschneeb!!! This runs smooth after a few hours with it and the gyro and rumble work great! Bonus - we can now use updated mods.

To get it to run I had to generate new .o2r files from my roms and basically do a fresh install. Totally worth it. Old save files don't work properly on this updated version unfortunately (they can load but cause strange issues such as grass and npc loading in the wrong spots for me) but creating a new save works perfectly.

Can you explain how you did to make gyro usable, please ? and/or show a screen of your parameters maybe ?

With a fresh "install" (no old config from 8.xx build), I was only able (only one time) to have rumble on the left joy-con (detached). No rumble on right joy-con, and no gyro with detached joy-con (it seems it can't work attached as far as I know)

All I have is a "gamepad SDL" by default in rumble section. If I remove it → I can't add it anymore, and, obviously, it doesn't rumble anymore. I can't add anything in rumble nor gyro sections. When it asks to "press any button or move any axis to add gyro (or rumble) device", no button, no joystick, no D-pad can register
 
Can you explain how you did to make gyro usable, please ? and/or show a screen of your parameters maybe ?

With a fresh "install" (no old config from 8.xx build), I was only able (only one time) to have rumble on the left joy-con (detached). No rumble on right joy-con, and no gyro with detached joy-con (it seems it can't work attached as far as I know)

All I have is a "gamepad SDL" by default in rumble section. If I remove it → I can't add it anymore, and, obviously, it doesn't rumble anymore. I can't add anything in rumble nor gyro sections. When it asks to "press any button or move any axis to add gyro (or rumble) device", no button, no joystick, no D-pad can register
I just started with a fresh install and generated new .o2r files from my roms that I built using the latest PC release. I am on a V1 switch. When I go into the Rumble and Gyro settings it says 'Switch Controller" not gamepad SDL. I didn't do anything besides lay my switch flat on the floor and pressed the + button and then another button and gyro started working. I did this with my joycons attached. Sorry I don't know your issue cause.
 
  • Like
Reactions: Willsito_GG
ok, thanks. I will try on my other hacked switch, maybe my joy-con have problem (even if it works fine everywhere else)

EDIT : @timschneeb / @disavow180 I feel so dumb :glare:...as 9.2.3-nx2 revision was crashing, I overwrote it with 9.2.3-nx1 to test if it was better or not...then I found the crash was caused with old 8.xx saves, which I removed, and tadam : it was working ! BUT I totally forgot I was still playing 9.2.3-nx1 build :ph34r:

so I was trying to use gyro/rumble...with a build that is not supposed to work with. Now that I have overwritten nx1 with nx2, guess what...it works :unsure:

Silly me !
 
Last edited by Badablek,

Site & Scene News

Popular threads in this forum