WiiUPluginLoaderBackend/README.md

71 lines
3.2 KiB
Markdown
Raw Normal View History

2022-02-04 16:25:44 +01:00
[![CI-Release](https://github.com/wiiu-env/WiiUPluginLoaderBackend/actions/workflows/ci.yml/badge.svg)](https://github.com/wiiu-env/WiiUPluginLoaderBackend/actions/workflows/ci.yml)
# Wii U Plugin Loader Backend
This is the backend for the [WiiUPluginSystem](https://github.com/wiiu-env/WiiUPluginSystem). Check out the readme for more information about the Plugin System.
2019-08-18 22:38:48 +02:00
## Usage
2022-01-30 17:04:08 +01:00
(`[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](https://github.com/wiiu-env/WUMSLoader) in `sd:/wiiu/environments/[ENVIRONMENT]/modules/setup`.
3. Requires the [FunctionPatcherModule](https://github.com/wiiu-env/FunctionPatcherModule) in `sd:/wiiu/environments/[ENVIRONMENT]/modules`.
4. Requires the [MemoryMappingModule](https://github.com/wiiu-env/MemoryMappingModule) in `sd:/wiiu/environments/[ENVIRONMENT]/modules`.
2023-08-16 10:08:44 +02:00
5. Requires the [NotificationModule](https://github.com/wiiu-env/NotificationModule) in `sd:/wiiu/environments/[ENVIRONMENT]/modules`.
2019-08-18 22:38:48 +02:00
Plugins needs to be placed into the following directory:
2019-08-18 22:38:48 +02:00
```
2022-01-30 17:04:08 +01:00
sd:/wiiu/environments/[ENVIRONMENT]/plugins
2019-08-18 22:38:48 +02:00
```
## Building
2020-05-17 21:10:47 +02:00
In order to be able to compile this, you need to have devkitPPC installed
2019-08-18 22:38:48 +02:00
[devkitPPC](https://devkitpro.org/wiki/Getting_Started) with the following
pacman packages installed.
```
(sudo) (dkp-)pacman -Syu --needed wiiu-dev
2019-08-18 22:38:48 +02:00
```
Make sure the following environment variables are set:
```
DEVKITPRO=/opt/devkitpro
DEVKITPPC=/opt/devkitpro/devkitPPC
```
2023-08-16 10:08:44 +02:00
Also make sure to install [wut](https://github.com/decaf-emu/wut), [WiiUPluginSystem](https://github.com/wiiu-env/WiiUPluginSystem), [WiiUModuleSystem](https://github.com/wiiu-env/WiiUModuleSystem), [libfunctionpatcher](https://github.com/wiiu-env/libfunctionpatcher), [libnotifications](https://github.com/wiiu-env/libnotifications) and [libmappedmemory](https://github.com/wiiu-env/libmappedmemory).
2019-08-18 22:38:48 +02:00
2022-04-22 22:52:19 +02:00
## Buildflags
### Logging
Building via `make` only logs errors (via OSReport). To enable logging via the [LoggingModule](https://github.com/wiiu-env/LoggingModule) set `DEBUG` to `1` or `VERBOSE`.
`make` Logs errors only (via OSReport).
`make DEBUG=1` Enables information and error logging via [LoggingModule](https://github.com/wiiu-env/LoggingModule).
`make DEBUG=VERBOSE` Enables verbose information and error logging via [LoggingModule](https://github.com/wiiu-env/LoggingModule).
If the [LoggingModule](https://github.com/wiiu-env/LoggingModule) is not present, it'll fallback to UDP (Port 4405) and [CafeOS](https://github.com/wiiu-env/USBSerialLoggingModule) logging.
2020-06-26 20:41:42 +02:00
## 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
```
2022-02-04 16:25:44 +01:00
## Format the code via docker
2023-03-16 12:39:40 +01:00
`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`
2022-02-04 16:25:44 +01:00
2019-08-18 22:38:48 +02:00
# Credits
- Maschell
- orboditilt
- https://github.com/serge1/ELFIO