From 2f912833f1401e2ce8cb3ba5180ab82b337913a9 Mon Sep 17 00:00:00 2001 From: Crementif <26669564+Crementif@users.noreply.github.com> Date: Sun, 12 May 2024 14:09:31 +0200 Subject: [PATCH] Disable SD card access entirely Shutting down Aroma doesn't halt any of the background plugins, it seems, so corruption still occurs even if Dumpling tried to shutdown Aroma. --- README.md | 2 +- source/app/cfw.cpp | 41 ++++++++++++++++++----------------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index 71fd974..231bed3 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ You don't need to run/have Mocha CFW or Haxchi, just launch Dumpling from the Ho ## How to compile - Install [DevkitPro](https://devkitpro.org/wiki/Getting_Started) for your platform. - - Install freetype2 using DevkitPro's pacman (e.g. `(dkp-)pacman -Sy ppc-pkg-config ppc-freetype`). + - Install xxd if you don't have it already. You can do this using your Linux package manager or something equivalent on Windows/MacOS. - Install [wut](https://github.com/devkitpro/wut) through DevkitPro's pacman or compile (and install) the latest source yourself. - Compile [libmocha](https://github.com/wiiu-env/libmocha). - Then, with all those dependencies installed, you can just run `make` to get the .rpx file that you can run on your Wii U. diff --git a/source/app/cfw.cpp b/source/app/cfw.cpp index 646876f..39d15ea 100644 --- a/source/app/cfw.cpp +++ b/source/app/cfw.cpp @@ -56,34 +56,29 @@ CFWVersion testCFW() { currCFWVersion = CFWVersion::DUMPLING; } else { - uint8_t stopCFW = showDialogPrompt(L"Detected Mocha or Tiramisu CFW...\n\nTo allow SD card access and to prevent SD card corruption\nDumpling needs to shutdown Aroma/Tiramisu temporarily.\nThis will also stop Aroma plugins like SwipSwapMe and FTPiiU.\n\nYou can skip this step if you're only planning on dumping to USB sticks.", L"Allow SD card access and stop CFW", L"Only allow USB devices but keep CFW"); - if (stopCFW == 0) { - if (stopMochaServer()) { - WHBLogFreetypeClear(); - WHBLogPrint("Detected and stopped Tiramisu/Aroma..."); - WHBLogPrint("Attempt to replace it now with Dumpling CFW..."); - WHBLogFreetypeDraw(); - sleep_for(1s); - currCFWVersion = CFWVersion::DUMPLING; - } - else { - WHBLogFreetypeClear(); - WHBLogPrint("Failed to stop Aroma/Tiramisu CFW!"); - WHBLogPrint("Please try again after restarting your Wii U!"); - WHBLogPrint(""); - WHBLogPrint("Exiting Dumpling in 10 seconds..."); - WHBLogFreetypeDraw(); - sleep_for(10s); - currCFWVersion = CFWVersion::FAILED; - } + uint8_t onlyAllowUSB = showDialogPrompt(L"Detected Mocha or Tiramisu CFW...\nYou can't use SD card access while using Aroma safely!\n\nTo enable SD card support, reboot your Wii U while holding the R button.\nThis'll boot your Wii U without Aroma.\nThen, use your web browser and go to https://dumplingapp.com to start Dumpling.\n\nYou can skip this step if you're only planning on dumping to USB sticks.", L"Continue and only show USB devices", L"Exit Dumpling (user needs to manually reboot Wii U)"); + if (onlyAllowUSB == 0) { + WHBLogFreetypeClear(); + WHBLogPrint("Detected Mocha or Tiramisu CFW..."); + WHBLogPrint("Only allowing USB devices since Aroma is active..."); + WHBLogFreetypeDraw(); + sleep_for(5s); + currCFWVersion = CFWVersion::MOCHA_FSCLIENT; } else { WHBLogFreetypeClear(); WHBLogPrint("Detected Mocha or Tiramisu CFW..."); - WHBLogPrint("Skipping stopping CFW and allowing USB devices..."); + WHBLogPrint("User opted to enable SD card access by rebooting their Wii U!"); + WHBLogPrint(""); + WHBLogPrint("After you reboot your Wii U while holding the R button"); + WHBLogPrint("you need to use the web browser and go to https://dumplingapp.com"); + WHBLogPrint("After doing this you can use Dumpling with full capabilities!"); + WHBLogPrint(""); + WHBLogPrint("Don't forget to memorize this link and button combination!"); + WHBLogPrint("Exiting Dumpling in 10 seconds..."); WHBLogFreetypeDraw(); - sleep_for(2s); - currCFWVersion = CFWVersion::MOCHA_FSCLIENT; + sleep_for(10s); + currCFWVersion = CFWVersion::FAILED; } } return currCFWVersion;