Go to file
2023-04-07 20:52:15 +02:00
.github/workflows Change default branch to main 2023-04-07 20:52:15 +02:00
source Bump Version 2023-03-23 15:04:12 +01: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 Change docker registry to ghcr.io 2023-03-16 12:46:54 +01:00
LICENSE Add LICENSE 2022-09-04 09:18:35 +02:00
Makefile Update to use the latest libfunctionpatcher 2023-01-07 13:44:05 +01:00
README.md Change docker registry to ghcr.io 2023-03-16 12:46:54 +01: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 ghcr.io/wiiu-env/clang-format:13.0.0-2 -r ./source --exclude ./source/elfio --exclude ./source/utils/json.hpp -i

Credits