Go to file
2022-05-14 15:43:30 +02:00
.github/workflows Fix name of action + step 2022-04-23 09:11:36 +02:00
source Fix loading plugins with ".wut_load_bounds" section 2022-05-14 15:43:30 +02:00
.clang-format Format the code via clang-format 2022-02-04 16:35:53 +01:00
.gitignore Build with WiiUModuleSystem, export a bunch of useful functions to control the backend 2020-05-17 21:08:13 +02:00
Dockerfile Rewrite the plugin backend, use smart pointers is possible, don't persist in structs and simplify code 2022-05-14 15:43:30 +02:00
Makefile Control verbose logging via buildflags 2022-04-23 09:11:36 +02:00
README.md Add missing dependencies to the README, fix minor typos 2022-04-23 09:11:36 +02:00

CI-Release

Wii U Plugin Loader Backend

This is the backend for the WiiUPluginSystem. Check out the readme for more information about the Plugin System.

Usage

([ENVIRONMENT] is a placeholder for the actual environment name.)

  1. Copy the file PluginBackend.wms into sd:/wiiu/environments/[ENVIRONMENT]/modules.
  2. Requires the WUMSLoader in sd:/wiiu/environments/[ENVIRONMENT]/modules/setup.
  3. Requires the FunctionPatcherModule in sd:/wiiu/environments/[ENVIRONMENT]/modules.
  4. Requires the MemoryMappingModule in sd:/wiiu/environments/[ENVIRONMENT]/modules.

Plugins needs to be placed into the following directory:

sd:/wiiu/environments/[ENVIRONMENT]/plugins

Building

In order to be able to compile this, you need to have devkitPPC installed devkitPPC with the following pacman packages installed.

(sudo) (dkp-)pacman -Syu --needed wiiu-dev

Make sure the following environment variables are set:

DEVKITPRO=/opt/devkitpro
DEVKITPPC=/opt/devkitpro/devkitPPC

Also make sure to install wut, WiiUPluginSystem, WiiUModuleSystem, libfunctionpatcher and libmappedmemory.

Buildflags

Logging

Building via make only logs errors (via OSReport). To enable logging via the LoggingModule set DEBUG to 1 or VERBOSE.

make Logs errors only (via OSReport).
make DEBUG=1 Enables information and error logging via LoggingModule.
make DEBUG=VERBOSE Enables verbose information and error logging via LoggingModule.

If the LoggingModule is not present, it'll fallback to UDP (Port 4405) and CafeOS logging.

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 wiiupluginloaderbackend-builder

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

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

Format the code via docker

docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source -i

Credits