Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin Documentation #268

Merged
merged 2 commits into from
Oct 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions .github/Plugin-Docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Xenia Canary Game Plugins
This page documents the usage of plugins for [Xenia Canary](../../../../xenia-canary). For patches visit [Game Patches](https://github.com/xenia-canary/game-patches#xenia-canary-game-patches).

## Plugins

Plugins are homebrew xex modules which can be used for making mods. This is an experimental feature since homebrew xex modules may use unimplemented low priority kernel functions. Plugins will often notify if they have been loaded.

Dual booting plugins is possible, however a lot of plugins are incompatible with each other and will often crash on start-up.

## Prerequisites
- [Latest Xenia Canary experimental.](https://github.com/xenia-canary/xenia-canary/releases/download/experimental/xenia_canary.zip)
- Plugins aren't supported on master or outdated versions of Xenia Canary.

## Creating a Plugin config

1. Set `allow_plugins = true` in the config.
2. Create a plugins folder.
3. Create a folder named as the games title id, within the plugins folder.
4. Create a `plugins.toml` for the title.
5. Place the plugin(s) inside the title id folder.

If you see **[Plugins Applied]** in the title bar then the plugin(s) config loaded successfully.

## Example Plugin folder structure
```
└───Xenia Canary
│ xenia-canary.config.toml
│ xenia_canary.exe
│ ...
└───plugins
├───4D5308BC # Crackdown 2
│ ...
│ plugin.xex
│ plugins.toml
└───545408A7 # GTA V
...
plugin 1.xex
plugin 2.xex
plugins.toml
```

## Example Plugin Template
```toml
title_name = "Game Title"
title_id = "1234ABCD"

[[plugin]]
name = "Plugin name"
file = "Plugin file" # plugin.xex must be in the same directory as plugins.toml
hash = "################" # Module the hash applies to (i.e. default.xex)
desc = "Plugin description"
is_enabled = false
```
3 changes: 2 additions & 1 deletion .github/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Xenia Canary Game Patches
This repository contains game patches for [Xenia Canary](../../../../xenia-canary).
This repository contains game patches for [Xenia Canary](../../../../xenia-canary).\
Plugin documentation can be found [here](Plugin-Docs.md).

**Non-patch questions belong on the [Xenia Discord server](https://discord.gg/Q9mxZf9).**

Expand Down