Go to file
2022-04-23 09:11:36 +02:00
.github/workflows Format the code via clang-format 2022-02-04 16:35:53 +01:00
source Control verbose logging via buildflags 2022-04-23 09:11:36 +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 Use proper alignmend buffer for reading/writing 2022-02-26 16:43:08 +01: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