capitalistspz c4368c7822 padscore: Add more functions and types, rename nunchuck -> nunchuk (#348)
* re-sorted and used BOOL

* Added a bit to wpad

* roll back time, name PeripheralSpace correctly, and IsMplsAttached use correct callback

* name WPADPeripheralSpace correctly again

* Add WPADIsMplsIntegrated, correct description of WPADIsMplsAttached

* Add KPADEnableMpls(), KPADDisableMpls() and KPADMplsMode enum

* Spellings, comments and formatting

* Use enum type for KPADEnableMpls param

* Add more WPADDataFormat entries (taken from Cemu)

* Add WPADiQueue and some WPADi functions

* Add WPADGetInfo, WPADGetInfoAsync, and WPADInfo struct (taken from Cemu)

* Add a bunch of game data functions and the rest of the WPADiSend functions

* Add WPADSpeakerMode and speaker functions

* Enum member changes

* Add KPADEnable/DisableDPD, add mpls status functions, typedef KPADMplsMode to WPADMplsMode

* Update WPADSpeakerMode, add WPADGetSpeakerVolume, WPADSetSpeakerVolume

* Add WPADAddress and WPADGetAddress

* WPADIsEnabledURC, WPADEnableWBC, WPADIsEnableWBC

* Add sync functions, update WPADAddress
- Add WPADStartSyncDevice
- Add WPADStartSyncDeviceEx
- Change variable name

* Update WPADExtensionType
- Add WPAD_EXT_DEV_NOT_FOUND

* Update WPADExtensionType and WPADExtensionCallback, add WPADGetDpdFormat
- Add WPAD_EXT_DEV_NOT_FOUND
- Add WPAD_EXT_UNKNOWN
- WPADExtensionType as param to WPADExtensionCallback

* Add PowerSave functions

* Changes:
- More documentation
- More members to WPADMplsMode
- WPADLed as bitmask

* Slight corrections:
- WPADControlLed returns int32
- WPADiHIDParser returns int32
- WPADStartSyncDevice comments fixed

* WPADControlSpeakerMode -> WPADControlSpeaker

* More appropriate enum names

* More info on speaker

* typedef WPADAddress, char16_t -> uint16_t, comment updates

* Update WPADStartSyncDeviceEx comments
2024-05-13 01:43:09 +02:00
2024-02-22 12:47:28 +01:00
2022-02-10 10:25:17 +00:00
2023-11-08 13:55:24 +00:00
2024-04-27 13:38:33 +02:00
2020-05-10 15:59:40 +10:00
2024-04-22 19:54:53 +01:00
2022-08-02 23:07:24 +02:00
2024-04-27 13:38:33 +02:00
2022-08-02 23:07:24 +02:00

Build status

wut

Let's try to make a Wii U Toolchain / SDK for creating rpx/rpl.

Licensed under the terms of the zlib License (see LICENSE.txt).

Install

It is recommended to follow devkitPro's Getting Started guide, which will guide you through setting up a suitable homebrew development environment. devkitPro Pacman is exclusively used to manage installed homebrew development components.

The following command installs all necessary packages for Wii U homebrew development, including wut:

(sudo) (dkp-)pacman -Syu --needed wiiu-dev

Usage

See samples for examples of how to use wut.

devkitPro CMake provides some helpers for your build:

  • wut_create_rpx(target) - Will create an .rpx file from your CMake target generated by add_executable
  • wut_create_rpl(target) - Will create an .rpl file from your CMake target generated by add_executable
  • wut_add_exports(target exports.def) - Will add exports specified in exports.def for the given target

Building wut projects

Building wut projects with make

You can easily build any devkitPro Makefile based wut project with the following commands:

cd samples/make/helloworld
make

Building wut projects with CMake

You can easily build any devkitPro CMake based wut project with the following commands:

cd samples/cmake/helloworld
mkdir build && cd build
/opt/devkitpro/portlibs/wiiu/bin/powerpc-eabi-cmake ../
make

A minimal CMakeLists.txt file for a C++ project might look like:

cmake_minimum_required(VERSION 3.7)
project(helloworld_cpp CXX)

add_executable(helloworld_cpp main.cpp)
wut_create_rpx(helloworld_cpp)

Building from source

It is strongly recommended to stick to stable released packages installed with devkitPro Pacman.

Building wut is simple as running the following commands:

make
(sudo -E) make install
Description
Let's try to make a Wii U Toolchain / SDK for creating rpx/rpl.
Readme 64 MiB
Languages
C 69.9%
C++ 29.5%
Makefile 0.4%
CMake 0.1%
Assembly 0.1%