0c7e80a190
* Add brightness control and on/off toggle for tunic LED colors. * Removed toggle, mentioned brightness of 0% for turning off LEDs. * Set up grabbing tunic color values from Cosmetics Editor for cosmetics sync. * Why these stupid differences between Windows and Linux compilers? * Fix Mac build errors? Also try to move the color fetching back into the switch statements to lessen potential computational load. * Real fix? * Move "Customize Game Controls" button under "Controller Configuration" button under Settings -> Controller. Renamed "Controller Configuration" to "Configure Controller" and "Customize Game Controls" to "Customize In-game Controls" * Added LEDColor and LEDColorSource enums for code clarity. Moved controller LED brightness to new LED Colors group in "Customize In-game Controls" menu. Added combobox to choose between vanilla tunics, cosmetics tunics, health, and custom as color sources. Added critical health override checkbox to allow display of red when health is low even when other sources are selected. Port color pickers have not been implemented yet, default color is white. * Moved LED control to OTRControllerCallback and wrapped it in a check to `CanSetLed()`. * Move settings to Port 1 tab in Customize In-game Controls and limited application of colors in `OTRControllerCallback` to port 1. * UI clarity updates. * Removed unnecessary LED color enum. Added custom color picker to port 1 color settings. * Changed Critical Health Override default to true. * Modified logic to not do color fetching and instead default to {0,0,0,0} when brightness is off. * Fix bad cvar string for custom color. * Cleaning up some post-merge artifacts. * Update soh/soh/Enhancements/controls/GameControlEditor.h Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com> * Some name changes. * idea for cleaning up controller callback stuff * Rearranged color source checks to make sure criticalOverride is applied regardless of other settings. --------- Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com> Co-authored-by: briaguya <briaguya@alice> |
||
---|---|---|
.devcontainer | ||
.github/workflows | ||
CMake | ||
docs | ||
libultraship@57660fbb18 | ||
OTRExporter | ||
OTRGui | ||
scripts | ||
soh | ||
ZAPDTR | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
copy-existing-otrs.cmake | ||
Dockerfile | ||
README.md |
Website
Official Website: https://www.shipofharkinian.com/
Discord
Official Discord: https://discord.com/invite/shipofharkinian
If you're having any trouble after reading through this README
, feel free ask for help in the Support text channels. Please keep in mind that we do not condone piracy.
Quick Start
The Ship does not include any copyrighted assets. You are required to provide a supported copy of the game.
1. Check your sha1
You can verify you have a supported copy of the game by checking the sha1
hash. There are many ways to do this, one of the simplest is using the hasher-js
webapp hosted at https://www.romhacking.net/hash/.
Supported Version | sha1 |
---|---|
PAL GC | 0227d7c0074f2d0ac935631990da8ec5914597b4 |
PAL GC (Debug) | cee6bc3c2a634b41728f2af8da54d9bf8cc14099 |
PAL MQ (Debug) | 079b855b943d6ad8bd1eb026c0ed169ecbdac7da |
PAL MQ (Debug) | 50bebedad9e0f10746a52b07239e47fa6c284d03 |
2. Download The Ship of Harkinian from Discord
The latest release is available in the most recent post in the #downloads
channel.
3. Launch the Game!
Windows
- Extract the zip
- Launch
soh.exe
Linux
- Place your supported copy of the game in the same folder as the appimage.
- Execute
soh.appimage
. You may have tochmod +x
the appimage via terminal.
macOS
- Run
soh.app
. When prompted, select your supported copy of the game. - You should see a notification saying
Processing OTR
, then, once the process is complete, you should get a notification sayingOTR Successfully Generated
, then the game should start.
Nintendo Switch
- Run one of the PC releases to generate an
oot.otr
and/oroot-mq.otr
file. After launching the game on PC, you will be able to find these files in the same directory assoh.exe
orsoh.appimage
. On macOS, these files can be found in/Users/<username>/Library/Application Support/com.shipofharkinian.soh/
- Copy the files to your sd card
sdcard
└── switch
└── soh
├── oot-mq.otr
├── oot.otr
├── soh.nro
└── soh.otr
- Launch via Atmosphere's
Game+R
launcher method.
4. Play!
Congratulations, you are now sailing with the Ship of Harkinian! Have fun!
Configuration
Default keyboard configuration
N64 | A | B | Z | Start | Analog stick | C buttons | D-Pad |
---|---|---|---|---|---|---|---|
Keyboard | X | C | Z | Space | WASD | Arrow keys | TFGH |
Other shortcuts
Keys | Action |
---|---|
F1 | Toggle menubar |
F5 | Save state |
F6 | Change state |
F7 | Load state |
F9 | Toggle Text-to-Speech (Windows and Mac only) |
F10 | Fullscreen (OpenGL) |
Tab | Toggle Alternate assets |
Alt+Enter | Fullscreen (DirectX) |
Ctrl+R | Reset |
Graphics Backends
Currently, there are three rendering APIs supported: DirectX11 (Windows), OpenGL (all platforms), and Metal (MacOS). You can change which API to use in the Settings
menu of the menubar, which requires a restart. If you're having an issue with crashing, you can change the API in the shipofharkinian.json
file by finding the line gfxbackend:""
and changing the value to sdl
for OpenGL. DirectX 11 is the default on Windows.
Custom Assets
Custom assets are packed in .otr
files. To use custom assets, place them in the mods
folder.
If you're interested in creating and/or packing your own custom asset .otr
files, check out the following tools:
Development
Building
If you want to manually compile SoH, please consult the building instructions.
Playtesting
If you want to playtest a continuous integration build, you can find them at the links below. Keep in mind that these are for playtesting only, and you will likely encounter bugs and possibly crashes.
- Windows
- macOS
- Linux (performance) (requires
glibc 2.35
or newer, but will be more performant than the compatibility build.) - Linux (compatibility) (compatible with most Linux distributions, but may not be as performant as the performance build.)
- Switch