mirror of
https://github.com/d0k3/GodMode9.git
synced 2025-06-26 13:42:47 +00:00
Group drives by NAND source
This commit is contained in:
parent
d05a72b05a
commit
704d6725c4
@ -66,24 +66,24 @@ bool GetRootDirContentsWorker(DirStruct* contents) {
|
||||
u32 n_entries = 0;
|
||||
|
||||
// virtual root objects hacked in
|
||||
for (u32 pdrv = 0; (pdrv < NORM_FS+VIRT_FS) && (n_entries < MAX_DIR_ENTRIES); pdrv++) {
|
||||
for (u32 i = 0; (i < NORM_FS+VIRT_FS) && (n_entries < MAX_DIR_ENTRIES); i++) {
|
||||
DirEntry* entry = &(contents->entry[n_entries]);
|
||||
if (!DriveType(drvnum[pdrv])) continue; // drive not available
|
||||
if (!DriveType(drvnum[i])) continue; // drive not available
|
||||
memset(entry->path, 0x00, 64);
|
||||
snprintf(entry->path + 0, 4, drvnum[pdrv]);
|
||||
if ((pdrv == 7) && (GetMountState() & IMG_FAT)) // FAT image handling
|
||||
snprintf(entry->path + 4, 32, "[%s] %s", drvnum[pdrv], "FAT IMAGE");
|
||||
else if ((pdrv == 9) && !(GetMountState() & IMG_NAND)) // RAM drive handling
|
||||
snprintf(entry->path + 4, 32, "[%s] %s", drvnum[pdrv], "RAMDRIVE");
|
||||
else if (pdrv == 10) // Game drive special handling
|
||||
snprintf(entry->path + 4, 32, "[%s] %s %s", drvnum[pdrv],
|
||||
snprintf(entry->path + 0, 4, drvnum[i]);
|
||||
if ((*(drvnum[i]) == '7') && (GetMountState() & IMG_FAT)) // FAT image handling
|
||||
snprintf(entry->path + 4, 32, "[%s] %s", drvnum[i], "FAT IMAGE");
|
||||
else if ((*(drvnum[i]) == '9') && !(GetMountState() & IMG_NAND)) // RAM drive handling
|
||||
snprintf(entry->path + 4, 32, "[%s] %s", drvnum[i], "RAMDRIVE");
|
||||
else if (*(drvnum[i]) == 'G') // Game drive special handling
|
||||
snprintf(entry->path + 4, 32, "[%s] %s %s", drvnum[i],
|
||||
(GetMountState() & GAME_CIA ) ? "CIA" :
|
||||
(GetMountState() & GAME_NCSD ) ? "NCSD" :
|
||||
(GetMountState() & GAME_NCCH ) ? "NCCH" :
|
||||
(GetMountState() & GAME_EXEFS) ? "EXEFS" :
|
||||
(GetMountState() & GAME_ROMFS) ? "ROMFS" :
|
||||
(GetMountState() & SYS_FIRM) ? "FIRM" : "UNK", drvname[pdrv]);
|
||||
else snprintf(entry->path + 4, 32, "[%s] %s", drvnum[pdrv], drvname[pdrv]);
|
||||
(GetMountState() & SYS_FIRM) ? "FIRM" : "UNK", drvname[i]);
|
||||
else snprintf(entry->path + 4, 32, "[%s] %s", drvnum[i], drvname[i]);
|
||||
entry->name = entry->path + 4;
|
||||
entry->size = GetTotalSpace(entry->path);
|
||||
entry->type = T_ROOT;
|
||||
|
@ -27,19 +27,17 @@
|
||||
|
||||
#define FS_DRVNAME \
|
||||
"SDCARD", \
|
||||
"SYSNAND CTRNAND", "SYSNAND TWLN", "SYSNAND TWLP", \
|
||||
"EMUNAND CTRNAND", "EMUNAND TWLN", "EMUNAND TWLP", \
|
||||
"IMGNAND CTRNAND", "IMGNAND TWLN", "IMGNAND TWLP", \
|
||||
"GAME IMAGE", \
|
||||
"SYSNAND SD", "EMUNAND SD", \
|
||||
"SYSNAND CTRNAND", "SYSNAND TWLN", "SYSNAND TWLP", "SYSNAND SD", "SYSNAND VIRTUAL", \
|
||||
"EMUNAND CTRNAND", "EMUNAND TWLN", "EMUNAND TWLP", "EMUNAND SD", "EMUNAND VIRTUAL", \
|
||||
"IMGNAND CTRNAND", "IMGNAND TWLN", "IMGNAND TWLP", "IMGNAND VIRTUAL", \
|
||||
"GAMECART", \
|
||||
"SYSNAND VIRTUAL", "EMUNAND VIRTUAL", "IMGNAND VIRTUAL", \
|
||||
"NAND XORPADS", \
|
||||
"GAME IMAGE", \
|
||||
"MEMORY VIRTUAL", \
|
||||
"NAND XORPADS", \
|
||||
"LAST SEARCH" \
|
||||
|
||||
#define FS_DRVNUM \
|
||||
"0:", "1:", "2:", "3:", "4:", "5:", "6:", "7:", "8:", "9:", "G:", "A:", "B:", "C:", "S:", "E:", "I:", "X:", "M:", "Z:"
|
||||
"0:", "1:", "2:", "3:", "A:", "S:", "4:", "5:", "6:", "B:", "E:", "7:", "8:", "9:", "I:", "C:", "G:", "M:", "X:", "Z:"
|
||||
|
||||
/** Function to identify the type of a drive **/
|
||||
int DriveType(const char* path);
|
||||
|
Loading…
x
Reference in New Issue
Block a user