MCPcopy Index your code
hub / github.com/HarbourMasters/2ship2harkinian

github.com/HarbourMasters/2ship2harkinian @4.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 4.0.2 ↗ · + Follow
21,302 symbols 78,198 edges 3,391 files 2,708 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

2 Ship 2 Harkinian

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

Quick Start

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

1. Verify your ROM dump

You can verify you have dumped a supported copy of the game by using the compatibility checker at https://2ship.equipment/. If you'd prefer to manually validate your ROM dump, you can cross-reference its sha1 hash with the hashes here.

2. Download 2 Ship 2 Harkinian from Releases

3. Launch the Game!

Windows

  • Extract the zip
  • Launch 2ship.exe

Linux

  • Place your supported copy of the game in the same folder as the appimage.
  • Execute 2ship.appimage. You may have to chmod +x the appimage via terminal.

macOS

  • Run 2ship.app.
  • When prompted, select your supported copy of the game.

4. Play!

Congratulations, you are now sailing with 2 Ship 2 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
F11 Fullscreen
Tab Toggle Alternate assets
Ctrl+R Reset

Graphics Backends

Currently, there are three rendering APIs supported: DirectX 11 (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 also change the API manually in the 2ship2harkinian.json file by finding the "Backend": { section and updating the backend ID and name. Be sure to use one of the valid values:

  • 0 = DirectX 11 (default on Windows)
  • 1 = OpenGL
  • 2 = Metal (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: * retro - OTR and O2R generator * fast64 - Blender plugin (Note that MM is not fully supported at this time)

Development

If you want to manually compile 2S2H, please consult the building instructions.

Nightly Builds

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.

<img alt="Powered by libultraship" src="https://github.com/HarbourMasters/2ship2harkinian/raw/4.0.2/docs/poweredbylus.lightmode.png">

Core symbols most depended-on inside this repo

Actor_PlaySfx
called by 1754
mm/src/code/z_actor.c
Rand_ZeroOne
called by 1627
mm/src/boot/O2/rand.c
gSPDisplayList
called by 1456
mm/src/code/stubs.c
Math_SinS
called by 1226
mm/src/code/z_lib.c
Math_Vec3f_Copy
called by 1158
mm/src/code/z_lib.c
Math_CosS
called by 1040
mm/src/code/z_lib.c
Actor_Kill
called by 1030
mm/src/code/z_actor.c
Message_StartTextbox
called by 930
mm/src/code/z_message.c

Shape

Function 18,568
Class 1,415
Enum 759
Method 560

Languages

C83%
C++17%
Python1%

Modules by API surface

mm/src/overlays/actors/ovl_player_actor/z_player.c671 symbols
mm/src/overlays/actors/ovl_En_Invadepoh/z_en_invadepoh.c259 symbols
mm/src/code/z_actor.c251 symbols
mm/src/code/z_collision_check.c211 symbols
mm/src/audio/code_8019AF00.c204 symbols
mm/src/code/z_bgcheck.c193 symbols
mm/src/code/z_camera.c186 symbols
mm/src/overlays/actors/ovl_Boss_07/z_boss_07.c168 symbols
mm/src/overlays/actors/ovl_En_Horse/z_en_horse.c157 symbols
mm/src/code/sys_math3d.c107 symbols
mm/src/code/z_player_lib.c105 symbols
mm/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c103 symbols

For agents

$ claude mcp add 2ship2harkinian \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page