diff --git a/JKSM_OG_SRC/.gitignore b/JKSM_OG_SRC/.gitignore index 142b7cf..b0d8e47 100644 --- a/JKSM_OG_SRC/.gitignore +++ b/JKSM_OG_SRC/.gitignore @@ -12,5 +12,3 @@ release/ *.log *.7z *.project -*.cia -*.3dsx \ No newline at end of file diff --git a/JKSM_OG_SRC/JKSM.xml b/JKSM_OG_SRC/JKSM.xml new file mode 100644 index 0000000..acd58cc --- /dev/null +++ b/JKSM_OG_SRC/JKSM.xml @@ -0,0 +1 @@ + diff --git a/JKSM_OG_SRC/README.md b/JKSM_OG_SRC/README.md index de8a4f6..8d72f3d 100644 --- a/JKSM_OG_SRC/README.md +++ b/JKSM_OG_SRC/README.md @@ -1,8 +1,17 @@ -# JKSM Rosalina -This is a fork from: +# JKSM JKSM - JK's Save Manager ---- -This version's 3DSX is only compatible with the Rosalina entrypoint of the Homebrew Launcher. -For the old *hax 3dsx please visit the original fork by JK. ---- -WARNING: This fork moves the JKSV folder from the root of the sdcard to the "3ds/data/JKSM" folder. You must move your saves there before you are able to restore it. \ No newline at end of file + +Requires: + [smealum's ctrulib](https://github.com/smealum/ctrulib) + [xerpi's portlibs](https://github.com/xerpi/3ds_portlibs) + [xerpi's sf2d](https://github.com/xerpi/sf2dlib/tree/effe77ea81d21c26bad457d4f5ed8bb16ce7b753) + [xerpi's sftd](https://github.com/xerpi/sftdlib) + +Place makerom inside your devkitARM's bin directory. Type 'make cia' inside the project's directory to build. + +A custom font can be used by placing it in the sd:/JKSV folder and naming it "font.ttf". I also recommend replacing the font with a smaller one if you're building a 3dsx. + +Due to the fact that I cannot keep up with homebrew releases anymore, I've decided to make the filter list external. If you need to add a program to it, copy its lower ID to the end of filter.txt +in your JKSV folder as 0xXXXXXXXX. + +A big thanks to everyone who has worked on ctrulib. \ No newline at end of file diff --git a/JKSM_OG_SRC/source/backup.cpp b/JKSM_OG_SRC/source/backup.cpp index a73ed97..e87b065 100644 --- a/JKSM_OG_SRC/source/backup.cpp +++ b/JKSM_OG_SRC/source/backup.cpp @@ -99,7 +99,7 @@ bool backupData(const titleData dat, FS_Archive arch, int mode, bool autoName) if(slot.empty()) return false; - //get path returns path to /3ds/data/JKSM/[DIR] + //get path returns path to /JKSV/[DIR] pathOut = getPath(mode) + dat.nameSafe + (char16_t)'/' + slot; std::u16string recreate = pathOut;//need this later after directory is deleted. pathOut += (char16_t)'/'; diff --git a/JKSM_OG_SRC/source/main.cpp b/JKSM_OG_SRC/source/main.cpp index 21f4c25..8727dec 100644 --- a/JKSM_OG_SRC/source/main.cpp +++ b/JKSM_OG_SRC/source/main.cpp @@ -5,6 +5,7 @@ #include #include #include + #include "sys.h" #include "global.h" #include "util.h" @@ -16,15 +17,28 @@ int main(int argc, const char * argv[]) hidInit(); hidScanInput(); u32 held = hidKeysHeld(); + if((held & KEY_R) && (held & KEY_L)) + devMode = true; + //This is for making sure I didn't butcher the font + else if(held & KEY_R) + sysLanguage = CFG_LANGUAGE_JP; + + sysInit(); - if((held & KEY_R) && (held & KEY_L)) { devMode = true; } - - sysInit(); - sdTitlesInit(); - nandTitlesInit(); - while(aptMainLoop() && !kill) + if(runningUnder() && !devMode) { - handleState(); + hbl = true; + start3dsxMode(); + } + else + { + sdTitlesInit(); + nandTitlesInit(); + + while(aptMainLoop() && !kill) + { + handleState(); + } } sysExit(); diff --git a/JKSM_OG_SRC/source/sys.cpp b/JKSM_OG_SRC/source/sys.cpp index 206e0e0..f294c27 100644 --- a/JKSM_OG_SRC/source/sys.cpp +++ b/JKSM_OG_SRC/source/sys.cpp @@ -59,8 +59,8 @@ void createDir(const char *path) void sysInit() { romfsInit(); - mkdir("/3ds/data/JKSM", 0777); - chdir("/3ds/data/JKSM"); + mkdir("/JKSV", 0777); + chdir("/JKSV"); if(fexists("colBin")) loadCol(); @@ -99,11 +99,11 @@ void sysInit() if(useLang) CFGU_GetSystemLanguage(&sysLanguage); - createDir("/3ds/data/JKSM/Saves"); - createDir("/3ds/data/JKSM/ExtData"); - createDir("/3ds/data/JKSM/SysSave"); - createDir("/3ds/data/JKSM/Boss"); - createDir("/3ds/data/JKSM/Shared"); + createDir("/JKSV/Saves"); + createDir("/JKSV/ExtData"); + createDir("/JKSV/SysSave"); + createDir("/JKSV/Boss"); + createDir("/JKSV/Shared"); prepareMenus(); } diff --git a/JKSM_OG_SRC/source/util.cpp b/JKSM_OG_SRC/source/util.cpp index be143b9..5d1190a 100644 --- a/JKSM_OG_SRC/source/util.cpp +++ b/JKSM_OG_SRC/source/util.cpp @@ -163,22 +163,22 @@ std::u16string getPath(int mode) switch(mode) { case MODE_SAVE: - return tou16("/3ds/data/JKSM/Saves/"); + return tou16("/JKSV/Saves/"); break; case MODE_EXTDATA: - return tou16("/3ds/data/JKSM/ExtData/"); + return tou16("/JKSV/ExtData/"); break; case MODE_BOSS: - return tou16("/3ds/data/JKSM/Boss/"); + return tou16("/JKSV/Boss/"); break; case MODE_SYSSAVE: - return tou16("/3ds/data/JKSM/SysSave/"); + return tou16("/JKSV/SysSave/"); break; case MODE_SHARED: - return tou16("/3ds/data/JKSM/Shared/"); + return tou16("/JKSV/Shared/"); break; default: - return tou16("/3ds/data/JKSM/"); + return tou16("/JKSV/"); break; } }