Go to file
2018-02-26 10:14:01 +01:00
loader Added new hook-methods, added more information to the example_plugin 2018-02-25 13:07:49 +01:00
plugins Moved controller stuff out of the modpack selector files for cleanliness 2018-02-26 10:14:01 +01:00
src Added new hook-methods, added more information to the example_plugin 2018-02-25 13:07:49 +01:00
tools [Tools] Added gettext windows binaries 2018-02-17 14:45:45 +01:00
wups_include Added new hook-methods, added more information to the example_plugin 2018-02-25 13:07:49 +01:00
.gitignore [Loader] Code formatting and minor logging improvements. 2018-02-24 12:35:00 +01:00
.gitmodules [Loader] Added mocha and device mounting. 2018-02-14 19:46:14 +01:00
.travis.yml [ALL] Renamed the EntryData into FunctionData, fixed some comments. 2018-02-18 19:03:51 +01:00
gitrev.sh [General] Moved gitrev.sh 2018-02-04 11:17:01 +01:00
LICENSE Create LICENSE 2018-02-03 09:27:57 +01:00
Makefile [ALL] Added overlay callback 2018-02-20 12:41:58 +01:00
PLANS.MD Updated the README, moved plans/ideas into an own file 2018-02-16 22:20:04 +01:00
README.MD Added libgui to the list of dependencies in the readme 2018-02-20 09:55:50 +01:00
wups_elf.ld [WUPS] Added Macro for the Initialization hook 2018-02-10 17:00:17 +01:00
wups.ld [General] Removed the DISCARD section in the .ld file. This fixes C++ support.. 2018-02-12 20:40:54 +01:00

Nightly builds | Issue Tracker | Discussion.

Plugin system for the Wii U. (WIP) Build Status

WARNING: THIS PROJECT HAS JUST STARTED AND IS FOR DEVS AND PEOPLE WHO WANT TO PLAY AROUND WITH NEW THINGS. IT MAY BE BUGGY, FEATURE COULD BREAK AT ANY TIME, INTERFACES CAN CHANGE, AND MANY BUGS CAN OCCUR. THIS APPLICATION COMES WITH NO WARRANTY-

What is the Wii U Plugin System?

The Wii U Plugin allows you to load multiple plugins on your Wii U which enhance your experience. For example you can mod your games, use USB controller, swap your gamepad and TV screen and much more.

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.

How to build

The building process is split into multiple parts.

WUPS library

First we have the "Wii U Plugin System" (WUPS) library. To compile this, you need DEVKITPRO and DEVKITPPC installed and set in your environment. Then call the following command in the root directory.

make
make install

The "make" builds the library, the "make install" copies it into your DEVKITPRO folder.

Plugin loader

The plugin loader is the software run via the Homebrew Launcher, that uses the plugins. It contains a copy mocha, so for building you need a copy of DEVKITARM installed and set in your environment.

For building the loader you need:

Then call the following command in the "loader" directory.

make

This should create an "wiiupluginloader.elf" which can be loaded with the Homebrew Launcher.

Plugins

Last but not least you need to build the plugins that should be loaded. Plugins depend on the "WUPS library" installed in build step one, other dependencies are optional. In the folder "plugins" you can find serveral example plugins. In their READMEs are information about needed dependencies.

You can build them all with the following command in the "plugins" folder (when all dependencies are installed).

make

You can also check out the travis script for needed dependencies of the library, loader and example plugins.

Logging

For logging (for example of the loader) you need to start the UdpDebugReader on a computer in the same network. This has been created by @dimok789 and can be found in the tools folder.

Future

Checkout the PLANS.MD for goals, issues and future plans.

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.