The loader for the Wii U Plugin System
Go to file
Maschell 6fa1a45d68
Update README.md
2023-01-06 09:56:31 +01:00
data First commit on new repo. 2018-09-22 19:52:52 +02:00
languages First commit on new repo. 2018-09-22 19:52:52 +02:00
libs First commit on new repo. 2018-09-22 19:52:52 +02:00
meta First commit on new repo. 2018-09-22 19:52:52 +02:00
src Stub libntfs usage. 2019-05-14 22:28:30 +02:00
.gitignore First commit on new repo. 2018-09-22 19:52:52 +02:00
.gitmodules First commit on new repo. 2018-09-22 19:52:52 +02:00
.travis.yml Remove docker image caching, use devkitpro/dekitarm image from docker hub instead of an own installation 2018-09-22 20:37:36 +02:00
Dockerfile Remove docker image caching, use devkitpro/dekitarm image from docker hub instead of an own installation 2018-09-22 20:37:36 +02:00
LICENSE First commit on new repo. 2018-09-22 19:52:52 +02:00
Makefile Add missing libs for linking to fix compiling 2019-05-14 22:29:28 +02:00
README.md Update README.md 2023-01-06 09:56:31 +01:00
filelist.sh First commit on new repo. 2018-09-22 19:52:52 +02:00
gitrev.sh First commit on new repo. 2018-09-22 19:52:52 +02:00
installupdateportlibs.sh Stub libntfs usage. 2019-05-14 22:28:30 +02:00
updatelang.sh First commit on new repo. 2018-09-22 19:52:52 +02:00

README.md

This project is outdated, new version is at: https://github.com/wiiu-env/WiiUPluginLoaderBackend

Nightly builds | Issue Tracker | Discussion | Discord | Wiki

Wii U Plugin Loader Build Status

This is the plugin loader for the WiiUPluginSystem.

Features

The project is still in it's very early days, but it already has basic functions to play with.

  • The plugins will be loaded, even when you swap the running game.
  • Support for up to 32 plugins at the same time.
  • Each plugin can override up to 100 different existing system functions.
  • Multiple plugins can override the same system functions.
  • Plugins can register for certain hook (for example whenever an application was started)
  • Plugins inherit the SD/USB access from the loader. All plugins have global SD and USB (FAT32 only) access.
  • Plugins can be configured at run-time. Press L, DPAD down, and minus on the gamepad at the same time to open the configuration menu.

Usage

Use the "Wii U Plugin Loader" to load plugins from the sd card. It is built to be loaded through the homebrew launcher, which can be either loaded with the browser exploit or haxchi. Plugins needs to be placed into the following folder:

sd:/wiiu/plugins

You need to start this Application every time you reboot your console. When you re-enter the homebrew launcher, the plugins will get unloaded. This means it's not possible to combine this with other homebrews (yet).

Create plugins

Information on how to create plugin can be found in the wiki.

Building

Make sure the toolchain is uptodate pacman -Syu devkitPPC devkitARM vim general-tools

For building you need:

Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself.

A detailed instruction can be found in the Wiki:

Building using the Dockerfile

It's possible to use a docker image for building. This way you don't need anything installed on your host system.

# Build docker image (only needed once
docker build . -t wups-loader-builder

# make 
docker run -it --rm -v ${PWD}:/project wups-loader-builder make

# make clean
docker run -it --rm -v ${PWD}:/project wups-loader-builder make clean

Load a plugin via network

While the loader is running, it's possible to load a single plugin via wiiload.
When using this feature, this and all plugins in sd:/wiiu/plugins/temp will be loaded. The plugin will copied to the SDCard, this mean a SDCard is required. A windows executable can be found in tools/wiiload.exe
More information about wiiload and alternatives can be found here: http://wiibrew.org/wiki/Wiiload

Credits

Some files are based on brainslug by Chadderz:
https://github.com/Chadderz121/brainslug-wii
Much stuff also wouldn't be possible without dimok789. He made many great tools and homebrew this stuff in based on (Makefiles, Mocha, homebrew channel, udp logger, dynamic_libs etc.)
Also thanks to everyone who made actual exploits.