mirror of
https://github.com/wiiu-env/PayloadLoaderInstaller.git
synced 2024-11-17 23:49:15 +01:00
Compare commits
No commits in common. "main" and "v0.1" have entirely different histories.
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@ -7,9 +7,9 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
clang-format:
|
clang-format:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-18.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v2
|
||||||
- name: clang-format
|
- name: clang-format
|
||||||
run: |
|
run: |
|
||||||
docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source
|
docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source
|
||||||
@ -17,7 +17,7 @@ jobs:
|
|||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
needs: clang-format
|
needs: clang-format
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v2
|
||||||
- name: Checkout submodules using a PAT
|
- name: Checkout submodules using a PAT
|
||||||
run: |
|
run: |
|
||||||
git config --file .gitmodules --get-regexp url | while read url; do
|
git config --file .gitmodules --get-regexp url | while read url; do
|
||||||
|
10
.github/workflows/pr.yml
vendored
10
.github/workflows/pr.yml
vendored
@ -4,17 +4,17 @@ on: [pull_request]
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
clang-format:
|
clang-format:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-18.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v2
|
||||||
- name: clang-format
|
- name: clang-format
|
||||||
run: |
|
run: |
|
||||||
docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source
|
docker run --rm -v ${PWD}:/src wiiuenv/clang-format:13.0.0-2 -r ./source
|
||||||
check-build-with-logging:
|
check-build-with-logging:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-18.04
|
||||||
needs: clang-format
|
needs: clang-format
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v2
|
||||||
- name: Checkout submodules using a PAT
|
- name: Checkout submodules using a PAT
|
||||||
run: |
|
run: |
|
||||||
git config --file .gitmodules --get-regexp url | while read url; do
|
git config --file .gitmodules --get-regexp url | while read url; do
|
||||||
@ -32,7 +32,7 @@ jobs:
|
|||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
needs: clang-format
|
needs: clang-format
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v2
|
||||||
- name: Checkout submodules using a PAT
|
- name: Checkout submodules using a PAT
|
||||||
run: |
|
run: |
|
||||||
git config --file .gitmodules --get-regexp url | while read url; do
|
git config --file .gitmodules --get-regexp url | while read url; do
|
||||||
|
6
Makefile
6
Makefile
@ -13,8 +13,8 @@ TOPDIR ?= $(CURDIR)
|
|||||||
# APP_SHORTNAME sets the short name of the application
|
# APP_SHORTNAME sets the short name of the application
|
||||||
# APP_AUTHOR sets the author of the application
|
# APP_AUTHOR sets the author of the application
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
APP_NAME := Payload-Loader Installer
|
APP_NAME := PayloadLoader Installer
|
||||||
APP_SHORTNAME := Payload-Loader Installer
|
APP_SHORTNAME := PayloadLoader Installer
|
||||||
APP_AUTHOR := Maschell, rw-r-r-0644, GaryOderNichts
|
APP_AUTHOR := Maschell, rw-r-r-0644, GaryOderNichts
|
||||||
|
|
||||||
include $(DEVKITPRO)/wut/share/wut_rules
|
include $(DEVKITPRO)/wut/share/wut_rules
|
||||||
@ -38,7 +38,7 @@ SOURCES := source \
|
|||||||
source/fs \
|
source/fs \
|
||||||
source/input
|
source/input
|
||||||
INCLUDES := include source
|
INCLUDES := include source
|
||||||
ICON := meta/icon.png
|
ICON := meta/icon.jpg
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
# options for code generation
|
# options for code generation
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
# Payload-Loader Installer
|
# PayloadLoader Installer
|
||||||
A (hopefully) userfriendly and safe installer to inject a ["payload.elf-loader"](https://github.com/wiiu-env/PayloadFromRPX) into the Health and Safety application via [FailST](https://maschell.github.io/homebrew/2020/12/02/failst.html).
|
A (hopefully) userfriendly and safe installer to inject a ["payload.elf-loader"](https://github.com/wiiu-env/PayloadFromRPX) into the Health and Safety application via [FailST](https://maschell.github.io/homebrew/2020/12/02/failst.html).
|
||||||
|
|
||||||
To be able to do a coldboot setup you need launch this installer via the Health & Safety injection itself.
|
To be able to do a coldboot setup you need launch this installer via the Health & Safety injection itself.
|
||||||
|
|
||||||
**Use the installer to uninstall the Payload-Loader, even a factory won't remove it**
|
**Use the installer to uninstall the PayloadLoader, even a factory won't remove it**
|
||||||
|
|
||||||
**There is always the risk of bricking the console, only proceed with installing if you understand this risk**
|
**There is always the risk of bricking the console, only proceed with installing if you understand this risk**
|
||||||
|
|
||||||
@ -17,8 +17,8 @@ To be able to do a coldboot setup you need launch this installer via the Health
|
|||||||
|
|
||||||
Load the Installer with the [PayloadLoaderInstallerEnvironment](https://github.com/wiiu-env/PayloadLoaderInstallerEnvironment) or [homebrew_on_menu_plugin](https://github.com/wiiu-env/homebrew_on_menu_plugin).
|
Load the Installer with the [PayloadLoaderInstallerEnvironment](https://github.com/wiiu-env/PayloadLoaderInstallerEnvironment) or [homebrew_on_menu_plugin](https://github.com/wiiu-env/homebrew_on_menu_plugin).
|
||||||
|
|
||||||
- Coldbooting into the Payload-Loader can only be activated if you launch the installer from an environment that has been loaded by the Payload-Loader. This ensures the Payload-Loader is actually working properly before coldbooting into it.
|
- Coldbooting into the PayloadLoader can only be activated if you launch the installer from an environment that has been loaded by the PayloadLoader. This ensures the PayloadLoader is actually working properly before coldbooting into it.
|
||||||
- **Launching the Payload-Loader Installer from the browser won't let change the boot title to Payload-Loader.**
|
- **Launching the PayloadLoader Installer from the browser won't let change the boot title to PayloadLoader.**
|
||||||
- The PayloadFromRPX can only be updated when coldbooting into the Wii U Menu.
|
- The PayloadFromRPX can only be updated when coldbooting into the Wii U Menu.
|
||||||
- Coldbooting can only be activated when the installer recognizes the PayloadFromRPX.
|
- Coldbooting can only be activated when the installer recognizes the PayloadFromRPX.
|
||||||
- The installer is only designed to work with a unmodifed system. **If your have modified the Health & Safety Application or system.xml in the past the installer may fail**
|
- The installer is only designed to work with a unmodifed system. **If your have modified the Health & Safety Application or system.xml in the past the installer may fail**
|
||||||
|
BIN
meta/icon.jpg
Normal file
BIN
meta/icon.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
BIN
meta/icon.png
BIN
meta/icon.png
Binary file not shown.
Before Width: | Height: | Size: 20 KiB |
@ -21,7 +21,7 @@ void ApplicationState::changeState(eGameState newState) {
|
|||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Press A to return to the Wii U Menu.", STATE_EXIT_SYSMENU);
|
menu.addOption("Press A to return to the Wii U Menu.", STATE_EXIT_SYSMENU);
|
||||||
} else if (this->state == STATE_WELCOME_SCREEN) {
|
} else if (this->state == STATE_WELCOME_SCREEN) {
|
||||||
menu.addText("Welcome to the Payload-Loader Installer!");
|
menu.addText("Welcome to the PayloadLoader Installer!");
|
||||||
menu.addText("Do you want to check if an installation is possible?");
|
menu.addText("Do you want to check if an installation is possible?");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Check", STATE_GET_APP_INFORMATION);
|
menu.addOption("Check", STATE_GET_APP_INFORMATION);
|
||||||
@ -33,9 +33,9 @@ void ApplicationState::changeState(eGameState newState) {
|
|||||||
} else if (this->state == STATE_CHECK_COLDBOOT_STATUS) {
|
} else if (this->state == STATE_CHECK_COLDBOOT_STATUS) {
|
||||||
menu.addText("Check if coldboot can be enabled.");
|
menu.addText("Check if coldboot can be enabled.");
|
||||||
} else if (this->state == STATE_CHECK_REMOVAL_POSSIBLE) {
|
} else if (this->state == STATE_CHECK_REMOVAL_POSSIBLE) {
|
||||||
menu.addText("Check if Payload-Loader can be removed.");
|
menu.addText("Check if PayloadLoader can be removed.");
|
||||||
} else if (this->state == STATE_APP_INCOMPATIBLE) {
|
} else if (this->state == STATE_APP_INCOMPATIBLE) {
|
||||||
menu.addText("Sorry, Payload-Loader cannot be safely installed to:");
|
menu.addText("Sorry, PayloadLoader cannot be safely installed to:");
|
||||||
menu.addText(std::string(appInfo->appName));
|
menu.addText(std::string(appInfo->appName));
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addText("Additional informations:");
|
menu.addText("Additional informations:");
|
||||||
@ -59,7 +59,7 @@ void ApplicationState::changeState(eGameState newState) {
|
|||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Exit", STATE_EXIT_SYSMENU);
|
menu.addOption("Exit", STATE_EXIT_SYSMENU);
|
||||||
} else if (this->state == STATE_MAIN_MENU) {
|
} else if (this->state == STATE_MAIN_MENU) {
|
||||||
menu.addText("Payload-Loader " + std::string(this->alreadyInstalledAndUpdated ? "is" : "can be") + " installed to:");
|
menu.addText("PayloadLoader " + std::string(this->alreadyInstalledAndUpdated ? "is" : "can be") + " installed to:");
|
||||||
menu.addText(std::string(appInfo->appName));
|
menu.addText(std::string(appInfo->appName));
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Install / Update", STATE_INSTALL_CONFIRM_DIALOG);
|
menu.addOption("Install / Update", STATE_INSTALL_CONFIRM_DIALOG);
|
||||||
@ -75,13 +75,13 @@ void ApplicationState::changeState(eGameState newState) {
|
|||||||
menu.addOption("Back", STATE_MAIN_MENU);
|
menu.addOption("Back", STATE_MAIN_MENU);
|
||||||
} else {
|
} else {
|
||||||
if (this->coldbootTitleId == this->appInfo->titleId) {
|
if (this->coldbootTitleId == this->appInfo->titleId) {
|
||||||
menu.addText("Before you can install/update Payload-Loader you need to change");
|
menu.addText("Before you can install/update PayloadLoader you need to change");
|
||||||
menu.addText("the coldboot title back to Wii U Menu");
|
menu.addText("the coldboot title back to Wii U Menu");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Back", STATE_MAIN_MENU);
|
menu.addOption("Back", STATE_MAIN_MENU);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
menu.addText("Are you REALLY sure you want to install Payload-Loader?");
|
menu.addText("Are you REALLY sure you want to install PayloadLoader?");
|
||||||
menu.addText("Installing could permanently damage your console");
|
menu.addText("Installing could permanently damage your console");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addText("After the installation the following app will turn into");
|
menu.addText("After the installation the following app will turn into");
|
||||||
@ -104,17 +104,17 @@ void ApplicationState::changeState(eGameState newState) {
|
|||||||
} else if (this->state == STATE_INSTALL_RPX) {
|
} else if (this->state == STATE_INSTALL_RPX) {
|
||||||
menu.addText("... install safe.rpx");
|
menu.addText("... install safe.rpx");
|
||||||
} else if (this->state == STATE_INSTALL_SUCCESS) {
|
} else if (this->state == STATE_INSTALL_SUCCESS) {
|
||||||
menu.addText("Payload-Loader was successfully installed");
|
menu.addText("PayloadLoader was successfully installed");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Press A to shutdown the console", STATE_EXIT_SHUTDOWN);
|
menu.addOption("Press A to shutdown the console", STATE_EXIT_SHUTDOWN);
|
||||||
} else if (this->state == STATE_REMOVE_CONFIRM_DIALOG) {
|
} else if (this->state == STATE_REMOVE_CONFIRM_DIALOG) {
|
||||||
if (this->systemXMLAlreadyPatched) {
|
if (this->systemXMLAlreadyPatched) {
|
||||||
menu.addText("Before you can remove Payload-Loader you need to switch");
|
menu.addText("Before you can remove PayloadLoader you need to switch");
|
||||||
menu.addText("the system boot title back to the Wii U Menu");
|
menu.addText("the system boot title back to the Wii U Menu");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Back", STATE_MAIN_MENU);
|
menu.addOption("Back", STATE_MAIN_MENU);
|
||||||
} else {
|
} else {
|
||||||
menu.addText("Are you REALLY sure you want to remove Payload-Loader?");
|
menu.addText("Are you REALLY sure you want to remove PayloadLoader?");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Back", STATE_MAIN_MENU);
|
menu.addOption("Back", STATE_MAIN_MENU);
|
||||||
menu.addOption("Remove", STATE_REMOVE_STARTED);
|
menu.addOption("Remove", STATE_REMOVE_STARTED);
|
||||||
@ -124,9 +124,9 @@ void ApplicationState::changeState(eGameState newState) {
|
|||||||
} else if (this->state == STATE_REMOVE_COLDBOOT) {
|
} else if (this->state == STATE_REMOVE_COLDBOOT) {
|
||||||
menu.addText("... remove system.xml coldboot patches");
|
menu.addText("... remove system.xml coldboot patches");
|
||||||
} else if (this->state == STATE_REMOVE_PAYLOAD_LOADER) {
|
} else if (this->state == STATE_REMOVE_PAYLOAD_LOADER) {
|
||||||
menu.addText("... remove Payload-Loader application patches");
|
menu.addText("... remove PayloadLoader application patches");
|
||||||
} else if (this->state == STATE_REMOVE_SUCCESS) {
|
} else if (this->state == STATE_REMOVE_SUCCESS) {
|
||||||
menu.addText("Payload-Loader was successfully removed");
|
menu.addText("PayloadLoader was successfully removed");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addOption("Press A to shutdown the console", STATE_EXIT_SHUTDOWN);
|
menu.addOption("Press A to shutdown the console", STATE_EXIT_SHUTDOWN);
|
||||||
} else if (this->state == STATE_BOOT_MENU) {
|
} else if (this->state == STATE_BOOT_MENU) {
|
||||||
@ -142,19 +142,19 @@ void ApplicationState::changeState(eGameState newState) {
|
|||||||
|
|
||||||
menu.addOption("Switch back to Wii U Menu", STATE_BOOT_SWITCH_SYSMENU);
|
menu.addOption("Switch back to Wii U Menu", STATE_BOOT_SWITCH_SYSMENU);
|
||||||
} else if (this->systemXMLPatchAllowed) {
|
} else if (this->systemXMLPatchAllowed) {
|
||||||
menu.addOption("Switch to Payload-Loader", STATE_BOOT_SWITCH_PAYLOAD_LOADER);
|
menu.addOption("Switch to PayloadLoader", STATE_BOOT_SWITCH_PAYLOAD_LOADER);
|
||||||
} else if (this->systemXMLPatchAllowedButNoRPXCheck) {
|
} else if (this->systemXMLPatchAllowedButNoRPXCheck) {
|
||||||
menu.addText("Your RPX is not as expected. You probably");
|
menu.addText("Your RPX is not as expected. You probably");
|
||||||
menu.addText("need to update or re-install Payload-Loader first.");
|
menu.addText("need to update or re-install PayloadLoader first.");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
} else if (this->systemXMLPatchPossible) {
|
} else if (this->systemXMLPatchPossible) {
|
||||||
menu.addText("To change the system boot title to Payload-Loader, you need to");
|
menu.addText("To change the system boot title to PayloadLoader, you need to");
|
||||||
menu.addText("launch this installer from an already running Payload-Loader");
|
menu.addText("launch this installer from an already running PayloadLoader");
|
||||||
menu.addText("instance, in order to verify that the installation");
|
menu.addText("instance, in order to verify that the installation");
|
||||||
menu.addText("is working properly.");
|
menu.addText("is working properly.");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
menu.addText("After installing Payload-Loader, reboot the console, open the");
|
menu.addText("After installing PayloadLoader, reboot the console, open the");
|
||||||
menu.addText("Health & Safety app and relaunch the Payload-Loader installer.");
|
menu.addText("Health & Safety app and relaunch the PayloadLoader installer.");
|
||||||
menu.addText();
|
menu.addText();
|
||||||
} else {
|
} else {
|
||||||
menu.addText("Sorry, your system.xml file has not yet been tested");
|
menu.addText("Sorry, your system.xml file has not yet been tested");
|
||||||
@ -286,7 +286,7 @@ void ApplicationState::update(Input *input) {
|
|||||||
|
|
||||||
ApplicationState::ApplicationState() {
|
ApplicationState::ApplicationState() {
|
||||||
menu.setOptionsCallback([this](auto &&newState) { changeState(std::forward<decltype(newState)>(newState)); });
|
menu.setOptionsCallback([this](auto &&newState) { changeState(std::forward<decltype(newState)>(newState)); });
|
||||||
menu.setHeader("Payload-Loader Installer");
|
menu.setHeader("PayloadLoader Installer");
|
||||||
menu.setFooter("By Maschell, rw-r-r-0644, GaryOderNichts");
|
menu.setFooter("By Maschell, rw-r-r-0644, GaryOderNichts");
|
||||||
|
|
||||||
changeState(STATE_WELCOME_SCREEN);
|
changeState(STATE_WELCOME_SCREEN);
|
||||||
|
@ -65,7 +65,7 @@ int main_loop() {
|
|||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
WHBLogUdpInit();
|
WHBLogUdpInit();
|
||||||
DEBUG_FUNCTION_LINE("Hello from Payload-Loader Installer!");
|
DEBUG_FUNCTION_LINE("Hello from PayloadLoader Installer!");
|
||||||
WHBProcInit();
|
WHBProcInit();
|
||||||
WiiUScreen::Init();
|
WiiUScreen::Init();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user