Go to file
Maschell 43a18b56d7 Small fixes to the .wps loading, return nullptr instead of OSFatal, add asserts instead of OSFatal 2024-05-08 18:08:03 +02:00
.github Bump softprops/action-gh-release from 1 to 2 2024-04-25 16:19:26 +02:00
source Small fixes to the .wps loading, return nullptr instead of OSFatal, add asserts instead of OSFatal 2024-05-08 18:08:03 +02:00
.clang-format Format the code via clang-format 2022-02-04 16:35:53 +01:00
.gitignore Add support for notifications on error 2023-08-16 11:03:28 +02:00
Dockerfile Add support for WUPS 0.8.1 2024-05-05 14:49:59 +02:00
LICENSE Add LICENSE 2022-09-04 09:18:35 +02:00
Makefile Implement new ConfigAPI and new Config Menu 2024-04-25 16:19:26 +02:00
README.md Update build instructions in README 2024-04-25 16:19:26 +02:00

README.md

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.
  5. Requires the NotificationModule 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 wiiu-portlibs

Make sure the following environment variables are set:

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

Also make sure to install wut, WiiUPluginSystem, WiiUModuleSystem, libfunctionpatcher, libnotifications 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