From 09e34925f874e8f3b1d13a8cbd454c8ab2499123 Mon Sep 17 00:00:00 2001 From: THEN00P Date: Mon, 5 Aug 2019 21:12:50 +0200 Subject: [PATCH] actual 1.1.0 --- CMakeLists.txt | 1 + src/graphics/desc4.png | Bin 0 -> 3786 bytes src/main.cpp | 1 + src/main.hpp | 1 + src/screens/popup.cpp | 20 ++++++++----- src/screens/popup.hpp | 1 + src/utils/filesystem.cpp | 62 +++++++++++++-------------------------- 7 files changed, 38 insertions(+), 48 deletions(-) create mode 100644 src/graphics/desc4.png diff --git a/CMakeLists.txt b/CMakeLists.txt index c6b5660..80d51d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -106,4 +106,5 @@ vita_create_vpk(easyplugin.vpk ${VITA_TITLEID} easyplugin.self FILE src/graphics/desc1.png resources/desc1.png FILE src/graphics/desc2.png resources/desc2.png FILE src/graphics/desc3.png resources/desc3.png + FILE src/graphics/desc4.png resources/desc4.png ) diff --git a/src/graphics/desc4.png b/src/graphics/desc4.png new file mode 100644 index 0000000000000000000000000000000000000000..1debfd62971af523e20fae8308e62b85a9a9fb4f GIT binary patch literal 3786 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 installFiles; vita2d_texture *desc = vita2d_load_PNG_file("ux0:app/ESPL00009/resources/desc2.png"); vita2d_texture *desc2 = vita2d_load_PNG_file("ux0:app/ESPL00009/resources/desc3.png"); + vita2d_texture *desc3 = vita2d_load_PNG_file("ux0:app/ESPL00009/resources/desc4.png"); }; \ No newline at end of file diff --git a/src/utils/filesystem.cpp b/src/utils/filesystem.cpp index 0d616e0..cfdd21e 100644 --- a/src/utils/filesystem.cpp +++ b/src/utils/filesystem.cpp @@ -3,6 +3,7 @@ #include #include +#include "psp2/kernel/clib.h" #include "filesystem.hpp" bool hasEndSlash(std::string str) { @@ -189,48 +190,27 @@ int Filesystem::copyPath(std::string src, std::string dst) { int Filesystem::removePath(std::string path) { SceUID dfd = sceIoDopen(path.c_str()); - if (dfd >= 0) { - int res = 0; - - do { - SceIoDirent dir; - memset(&dir, 0, sizeof(SceIoDirent)); - - res = sceIoDread(dfd, &dir); - if (res > 0) { - char *new_path = (char *)malloc(path.length() + strlen(dir.d_name) + 2); - snprintf(new_path, MAX_PATH_LENGTH, "%s%s%s", path, hasEndSlash(path) ? "" : "/", dir.d_name); - - if (SCE_S_ISDIR(dir.d_stat.st_mode)) { - int ret = removePath(new_path); - if (ret <= 0) { - free(new_path); - sceIoDclose(dfd); - return ret; - } - } else { - int ret = sceIoRemove(new_path); - if (ret < 0) { - free(new_path); - sceIoDclose(dfd); - return ret; - } - } - - free(new_path); - } - } while (res > 0); - - sceIoDclose(dfd); - - int ret = sceIoRmdir(path.c_str()); - if (ret < 0) - return ret; - } else { - int ret = sceIoRemove(path.c_str()); - if (ret < 0) - return ret; + if(dfd < 0) + return dfd; + + SceIoDirent dir; + memset(&dir, 0, sizeof(SceIoDirent)); + while(sceIoDread(dfd, &dir) > 0) { + std::string newString = path + (hasEndSlash(path) ? "" : "/") + dir.d_name; + + if(SCE_S_ISDIR(dir.d_stat.st_mode)) { + Filesystem::removePath(newString); + } + else { + if(int ret = sceIoRemove(newString.c_str()) < 0) + return ret; + } } + if(int ret = sceIoDclose(dfd) < 0) + return ret; + + if(int ret = sceIoRmdir(path.c_str()) < 0) + return ret; return 1; } \ No newline at end of file