A mod for the Steam release of Ōkami HD that lets the game participate in an Archipelago multiworld randomizer. Pair it with the Okami APWorld on the server side; both are required.
This mod is loaded by the WOLF framework, which handles DLL injection and exposes the game's memory, hooks, and UI surface.
v0.x.x pre-release. Expect breaking changes between versions; not recommended for live syncs yet. v1.0.0 will be the first stable, sync-ready release.
What works right now:
- Connecting to an Archipelago server, picking a slot, sending and receiving items.
- Container randomization, brush randomization, shop randomization.
- AP-isolated saves (
.OKAMIfiles; vanilla saves are untouched).
For a full picture of what the mod actually does at runtime, see docs/mod-flow.md.
-
Download the latest release from the releases page
-
Unzip the release into the mods/ directory, located in the game's installation directory
-
The file structure should look like this:
Okami/ ├── mods/ │ └── apclient/ │ ├── game-data/ │ ├── okami-apclient.dll │ └── cacert.pem ├── wolf-loader.exe ├── dinput8.dll ├── okami.exe (and the rest of the vanilla files) -
Launch WOLF (reference WOLF's quickstart for exact instructions by platform)
Keybindings, console commands, save management, and troubleshooting are covered in docs/usage.md.
For development setup and detailed build instructions, see docs/development.md.
git clone --recursive https://github.com/Axertin/okami-apclient.git
cd okami-apclient
cmake --preset x64-clang-debug
cmake --build --preset x64-clang-debug- Visual Studio 2019/2022 or Windows SDK + Clang/MSVC
- CMake 3.21+, Ninja, Git with submodules support
Dependencies are automatically handled through vcpkg and git submodules.
For first-time contributors, detailed setup instructions, and troubleshooting, see the development guide.
Contributions are welcome! Please:
- Read CONTRIBUTING.md and docs/development.md
- Fork the repository
- Create a feature branch from
master - Test your changes and run
format.sh(use Git Bash on Windows) - Submit a pull request
src/okami-apclient/- Main mod DLL (managers, sockets, UI, AP-side code)include/okami/- Game-side data: enums, bitfields, struct layouts, save and MSD formatstests/- Unit tests (apclient-tests) and end-to-end fixtures (apclient-harness-tests)docs/- Architecture, runtime trace, server protocol, save system, dev guide, usagescripts/- Helper scripts for build-time code generationexternal/- Dependency Git submodules (apclientpp, wswrap, websocketpp, imgui, vcpkg)cmake/- Build system utilities
Projects and people who aren't listed as contributors but have been invaluable as references or assistance
- Shintensu's OriginEdit
- whataboutclyde's okami-utils
- All of the wonderful contributors to the Okami Reverse Engineering Wiki
- Loader and APClient icon: @sidorak26 on the Archipelago Discord
This project is under the MIT License - see the LICENSE file for details.