Go to file
2022-09-18 00:38:18 +02:00
.github/workflows Add action to the pr workflow that checks building the plugin with logging 2022-04-23 09:22:57 +02:00
src Use the ContentRedirectionModule to redirect /vol/content 2022-04-22 21:40:49 +02:00
.clang-format Format the code via clang-format 2022-02-04 15:07:59 +01:00
.gitignore first commit 2021-04-06 16:58:19 +02:00
Dockerfile Update the Dockerfile 2022-09-18 00:38:18 +02:00
Makefile Update the Makefile to be compatible with CLion 2022-09-18 00:38:18 +02:00
README.md Add documentation of build flags to the README 2022-04-22 22:28:54 +02:00

CI-Release

SDCafiine Plugin

What is SDCafiine

The main feature of this application is the on-the-fly replacing of files, which can be used used to loaded modified content from external media (SD). It hooks into the file system functions of the WiiU. Whenever a file is accessed, SDCafiine checks if a (modified) version of it present on the SD device, and redirect the file operations if needed.

Dependecies

Requires the ContentRedirectionModule to be loaded.

Installation of the modules

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

  1. Copy the file sdcafiine.wps into sd:/wiiu/environments/[ENVIRONMENT]/plugins.
  2. Requires the WiiUPluginLoaderBackend in sd:/wiiu/environments/[ENVIRONMENT]/modules.
  3. Requires the ContentRedirectionModule in sd:/wiiu/environments/[ENVIRONMENT]/modules.

Installation of the mods

Before the mods can be loaded, they need to be copied to a SD Card. In the following "root:/" is corresponding to the root of your SD card. The basic filepath structure is this:

root:/sdcafiine/[TITLEID]/[MODPACK]/content/  <-- for game files. Maps to /vol/content/

Replace the following:

  • "[TITLEID]" need to be replaced the TitleID of the games that should be modded. A list of can be found here (without the "-"). Example for SSBU "0005000010145000". Make sure to use the ID of the fullgame and not the update title ID.
  • "[MODPACK]" name of the modpack. This folder name can be everything but "content" or "aoc".

Example path for the EUR version of SuperSmashBros for Wii U:

root:/sdcafiine/0005000010145000/SpecialChars/content/  <-- for game files. Maps to /vol/content/

For replacing the file /vol/content/movie/intro.mp4, put a modified file into:

root:/sdcafiine/0005000010145000/SpecialChars/content/movie/intro.mp4

*NOTES: paths like "root:/sdcafiine/0005000010145000/content/" are still supported for compatibility, but not recommended *

Handling multiple mod packs

SDCafiine supports multiple different mods for a single game on the same SDCard. Each mod has an own subfolder. Example:

sd:/sdcafiine/0005000010145000/ModPack1/content/
sd:/sdcafiine/0005000010145000/ModPack2/content/

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

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

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

Format the code via docker

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