From 2ddf5d334c5a7ea2b0619572169c2f3841d15061 Mon Sep 17 00:00:00 2001 From: TuxSH <1922548+TuxSH@users.noreply.github.com> Date: Thu, 1 Aug 2024 12:39:21 +0200 Subject: [PATCH] Create payloads directory during upgrade process Closes #2058 --- arm9/source/fs.c | 9 +++++++++ arm9/source/fs.h | 1 + 2 files changed, 10 insertions(+) diff --git a/arm9/source/fs.c b/arm9/source/fs.c index 5061554a..58afd750 100644 --- a/arm9/source/fs.c +++ b/arm9/source/fs.c @@ -230,6 +230,12 @@ bool fileCopy(const char *pathSrc, const char *pathDst, bool replace, void *tmpB return true; } +bool createDir(const char *path) +{ + FRESULT res = f_mkdir(path); + return res == FR_OK || res == FR_EXIST; +} + bool findPayload(char *path, u32 pressed) { const char *pattern; @@ -494,5 +500,8 @@ bool doLumaUpgradeProcess(void) fileDelete("sdmc:/luma/config.bin"); fileDelete("nand:/rw/luma/config.bin"); + createDir("sdmc:/luma/payloads"); + createDir("nand:/rw/luma/payloads"); + return ok && ok2; } diff --git a/arm9/source/fs.h b/arm9/source/fs.h index 0261a848..7800943a 100644 --- a/arm9/source/fs.h +++ b/arm9/source/fs.h @@ -39,6 +39,7 @@ u32 getFileSize(const char *path); bool fileWrite(const void *buffer, const char *path, u32 size); bool fileDelete(const char *path); bool fileCopy(const char *pathSrc, const char *pathDst, bool replace, void *tmpBuffer, size_t bufferSize); +bool createDir(const char *path); bool findPayload(char *path, u32 pressed); bool payloadMenu(char *path, bool *hasDisplayedMenu); u32 firmRead(void *dest, u32 firmType);