No description
  • C 88.6%
  • C++ 9.7%
  • CMake 1.1%
  • Python 0.1%
  • HLSL 0.1%
  • Other 0.1%
Find a file
Ralphie Morell 67e561c6b8 Achievement Fix-ups (#1)
* Add `BossDefeated` event to final bowser

* Add new hooks

* actual achievement work; clang

* fix star counts for getting total stars when determining achievements

* implemented racing achievement

* clang

* implemented metal cap achievement; added save support for metal cap (+ coins); (mostly) stick with event Mario state instead of `gMarioState`; added color support for achievement histograms; clang
2026-03-23 21:08:09 -06:00
.github Updated o2r task 2026-02-20 20:23:38 -06:00
actors Fixed THI and Goddard 2026-01-21 21:12:29 -06:00
assets/ymls Fixed HD font textures 2026-01-20 00:37:39 -06:00
cmake Some small cmake fixes 2026-01-18 15:24:46 -06:00
data [WIP] Implemented GeoLayout loading and moved to otr every actor (#53) 2026-01-07 01:37:43 -06:00
docs Updated building docs 2026-01-19 01:25:37 -06:00
include Implemented toggleable draw distance (#149) 2026-02-17 12:32:05 -06:00
ios Some small cmake fixes 2026-01-18 15:24:46 -06:00
levels [Rando] Adds Logic Calculations to Check Tracker (#157) 2026-03-04 21:35:34 -06:00
lib/src Implemented tons of possible crash fixes for audio 2026-02-02 01:14:54 -06:00
libultraship@e0c1b1fc35 Sorted achievements, added clang and pushed temp lus 2026-03-23 21:08:09 -06:00
port Implemented event debugger, added grayscale images and more 2026-03-23 21:08:09 -06:00
sound Removed extract assets and added otrs into gitignore 2023-09-24 15:42:07 -06:00
src Achievement Fix-ups (#1) 2026-03-23 21:08:09 -06:00
Torch@98331e4908 Implemented XML Audio Sequences 2026-03-23 21:08:09 -06:00
wiki Added a wiki folder for documentation 2026-01-08 11:20:23 -06:00
.clang-format Readded clang-format 2026-01-08 20:35:16 -06:00
.clang-tidy Refresh 1 2019-09-01 15:50:50 -04:00
.gitattributes Refresh 1 2019-09-01 15:50:50 -04:00
.gitignore Moved rando to its own achievement window 2026-03-23 21:08:09 -06:00
.gitmodules [WIP] Implemented GeoLayout loading and moved to otr every actor (#53) 2026-01-07 01:37:43 -06:00
assets.json Added full bank and sample external loading 2023-09-15 20:47:05 -06:00
charmap.txt refresh 5 2020-01-03 10:38:57 -05:00
charmap_menu.txt refresh 5 2020-01-03 10:38:57 -05:00
CMakeLists.txt Modified CI to use GeneratePortO2R instead 2026-02-20 20:23:38 -06:00
config.yml Implemented XML Audio Sequences 2026-03-23 21:08:09 -06:00
ExecutableResource.h Fixed some missing things 2026-01-07 02:21:30 -06:00
extract_assets.py Removed unnecesary prefixing 2023-08-26 11:28:48 -06:00
format.sh init2 2019-08-25 00:46:40 -04:00
formatyamls.py Format Asset Yamls and Add Script (#42) 2024-05-28 15:21:31 +01:00
Ghostship.desktop [WIP] Implemented GeoLayout loading and moved to otr every actor (#53) 2026-01-07 01:37:43 -06:00
ghostship.ico Bump torch and updated icons 2026-01-08 14:56:47 -06:00
ghostship.manifest Fixed some missing things 2026-01-07 02:21:30 -06:00
Info.plist temp progress 2026-01-17 14:14:54 -06:00
LICENSE.md Updated license 2026-01-17 17:41:31 -06:00
logo.png Bump torch and updated icons 2026-01-08 14:56:47 -06:00
Makefile [WIP] Implemented GeoLayout loading and moved to otr every actor (#53) 2026-01-07 01:37:43 -06:00
nx-logo.jpg Bump torch and updated icons 2026-01-08 14:56:47 -06:00
properties.h.in Fixed some missing things 2026-01-07 02:21:30 -06:00
README.md Updated wrong url 2026-01-24 17:59:24 -06:00
rename_sym.sh Refresh 14 2021-07-12 23:17:54 -04:00
Resource.rc Fixed some missing things 2026-01-07 02:21:30 -06:00
run-clang-format.ps1 Modified so only works on port specific files 2026-01-08 20:38:20 -06:00
run-clang-format.sh Modified so only works on port specific files 2026-01-08 20:38:20 -06:00

Ghostship

Lead Developers:

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 Ghostship Support text channels. Please keep in mind that we do not condone piracy.

Quick Start

Ghostship does not include any copyrighted assets. You are required to provide a supported copy of the game.

1. Verify your ROM dump

The supported ROMs are US and JP versions. You can verify you have dumped a supported copy of the game by using the SHA-1 File Checksum Online at https://www.romhacking.net/hash/.

  • The SHA-1 hash for a US ROM is 9bef1128717f958171a4afac3ed78ee2bb4e86ce.
  • The SHA-1 hash for a JP ROM is 8a20a5c83d6ceb0f0506cfc9fa20d8f438cafe51.

2. Verify your ROM is in .z64 format

Your ROM needs to be in .z64 format. If it's in .n64 format, use the following to convert it to a .z64: https://hack64.net/tools/swapper.php

2. Download Ghostship from Releases

3. Generating the OTR from the ROM and Play!

Windows

  • Extract every file from the zip into a folder of your choosing.
  • Run Ghostship.exe and select your US or JP ROM.

Linux

  • Extract every file from the zip into a folder of your choosing.
  • Execute Ghostship.appimage. You may have to chmod +x the appimage via terminal.

MacOS

  • Extract every file from the zip into a folder of your choosing.
  • Run Ghostship and select your US or JP ROM.

Nintendo Switch

  • Run one of the PC releases to generate an sm64.o2r file. After launching the game on PC, you will be able to find these files in the same directory as Ghostship.exe or Ghostship.appimage.
  • Copy the files to your sd card

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
Esc Toggle menu
Ctrl+R Reset (inside levels)
F11 Fullscreen
Tab Toggle Alternate assets

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 Ghostship.cfg.json file by finding the line "Backend":{... and changing the id value to 3 and set the Name to OpenGL. DirectX 11 with id 2 is the default on Windows. Metal with id 4 is the default on macOS.

Custom Assets

Custom assets are packed in .o2r or .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 .o2r/.otr files, check out the following tools:

Development

Building

If you want to manually compile Ghostship, 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.

Powered by libultraship

Special Thanks:

  • Kenix3 : for helping with the Engine development that were brought into other ports.
  • HM64 Team : for creating Libultraship and helping with various issues.
  • garrettjoecox : for contributing with fixes to this port.
  • inspectredc : for contributing to the extraction of the game's assets.
  • Malkierian : for contributing to the extraction of the game's assets.