Go to file
2024-05-05 20:06:11 +02:00
.github Bump actions/checkout from 3 to 4 2024-04-27 14:33:49 +02:00
src Fix button combo detection for non-gamepad inputs, fix read change screen butto combo from config 2024-05-05 20:06:11 +02:00
.clang-format Port plugin to Aroma 2023-02-16 10:52:22 +01:00
.gitignore Update .gitignore to ignore zip files 2024-04-27 14:33:49 +02:00
Dockerfile Update Dockerfile 2024-05-05 18:00:46 +02:00
LICENSE Add license 2018-07-01 19:36:07 +02:00
Makefile WUPS 0.8.0 support 2024-04-27 14:33:49 +02:00
README.md Add optional button combo to change screen mode 2024-05-05 18:28:08 +02:00

SwipSwapMe Plugin

This little plugin can be used to swap the TV and GamePad screen and offers different audio modes.

When this plugin is enabled, the audio output of your Wii U is forced to stereo

Installation

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

  1. Copy the file swipswapme.wps into sd:/wiiu/environments/[ENVIRONMENT]/plugins.
  2. Requires the WiiUPluginLoaderBackend in sd:/wiiu/environments/[ENVIRONMENT]/modules.
  3. Requires the MemoryMappingModule in sd:/wiiu/environments/[ENVIRONMENT]/modules.
  4. Requires the NotificationModule in sd:/wiiu/environments/[ENVIRONMENT]/modules.

Usage

Press a button combo (default is the GamePad's TV button) on the GamePad, Pro Controller or Classic Controller to take swap the screens.

Via the plugin config menu (press L, DPAD Down and Minus on the GamePad, Pro Controller or Classic Controller) you can configure the plugin. The available options are the following:

  • Settings:
    • Plugin enabled: (Default is true)
      • Enables or disables the SwipSwapMe plugin. Forces the audio output to stereo when enabled.
    • Show notifications: (Default is true)
      • Displays notifications when swapping the screens or changing the audio mode.
    • Swap screens: (Default is false)
      • Swaps the TV and GamePad screen when set to true.
    • Screen mode: (Default is "Normal")
      • Sets the screen mode. See "Screen modes" for more details.
    • Audio mode: (Default is "Sound matches screen")
      • Sets the audio mode. See "Audio modes" for more details.
  • Button combos
    • Enable swap screen button combo: (Default is true)
      • Determines if the screen can be swapped with a button combo.
    • Swap screen: (Default is the "TV" button)
      • Button combo to swap the TV and GamePad screen.
    • Enable swap screen button combo: (Default is false)
      • Determines if the screen can be changed with a button combo.
    • Change screen: (Default is "right stick button"/R3)
      • Button combo to change screen mode.
    • Enable change audio mode button combo: (Default is false)
      • Determines if the audio mode can be changed via a button combo.
    • Change audio: (Default is "left stick button"/L3)
      • Button combo to change the audio mode.

Audio Modes

SwipSwapme does not only allow you to swap the screen, it also offers multiple audio modes:

  • Normal
    • The audio output is not touched at all.
  • Swap TV and GamePad sound
    • Swaps the audio output of the TV and GamePad regardless of the screen swapping.
  • Sound matches screen
    • Swaps the audio output of the TV and GamePad if the screen are swapped as well.
  • Combine TV and GamePad sound
    • Outputs the TV and GamePad sound on both.
  • Left: TV; Right: GamePad
    • Outputs the TV sound on the left speaker, and the GamePad sound on the right speaker.

Screen Modes

SwipSwapme does not only allow you to swap the screen, it also offers multiple screen modes:

  • Normal
    • The screen output is not touched at all.
  • Swap TV and GamePad
    • Swaps the TV and GamePad screen.
  • Mirror TV
    • Mirrors the TV screen onto the GamePad.
  • Mirror GamePad
    • Mirrors the GamePad screen onto the TV.

Building

For building you need:

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

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

# make clean
docker run -it --rm -v ${PWD}:/project swipswapme-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 ./src -i