mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-18 17:29:17 +01:00
f5e6663784
Boot-Strategy: - is "argv[0]" set, then the boot-device extracted from the argv. - if no meaningful boot device found, then looking for "boot.dol"/"boot.elf" in "apps/usbloader_gx/" first on "SD:/" and then on "USB:/". When found, than use this Device. Otherwise use the default "SD:" - Set all default-Paths on this Device - Set the Path for config-Folder, GXGlobal.cfg, GXGameSettings.cfg and GXGameFavorites.cfg on this Device (e.g. USB:/config and so on)
72 lines
1.3 KiB
C
72 lines
1.3 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <gccore.h>
|
|
#include <fat.h>
|
|
#include <sys/dir.h>
|
|
#include <dirent.h>
|
|
#include <unistd.h>
|
|
|
|
#include "listfiles.h"
|
|
|
|
|
|
static char alldirfiles[300][70];
|
|
char filenames[80];
|
|
|
|
bool findfile(const char * filename, const char * path)
|
|
{
|
|
DIR *dir;
|
|
struct dirent *file;
|
|
|
|
dir = opendir(path);
|
|
|
|
char temp[11];
|
|
while ((file = readdir(dir)))
|
|
{
|
|
snprintf(temp,sizeof(temp),"%s",file->d_name);
|
|
if (!strncmpi(temp,filename,11))
|
|
{
|
|
//WindowPrompt(path, filename,"go" ,0);
|
|
closedir(dir);
|
|
return true;
|
|
}
|
|
}
|
|
closedir(dir);
|
|
return false;
|
|
}
|
|
|
|
char * GetFileName(int i)
|
|
{
|
|
return alldirfiles[i];
|
|
}
|
|
|
|
s32 filenamescmp(const void *a, const void *b)
|
|
{
|
|
/* Compare strings */
|
|
return stricmp((char *)a, (char *)b);
|
|
}
|
|
|
|
int GetAllDirFiles(char * filespath)
|
|
{
|
|
int countfiles = 0;
|
|
|
|
struct stat st;
|
|
DIR_ITER* dir;
|
|
dir = diropen (filespath);
|
|
|
|
if (dir == NULL) //If empty
|
|
return 0;
|
|
while (dirnext(dir,filenames,&st) == 0)
|
|
{
|
|
if ((st.st_mode & S_IFDIR) == 0)
|
|
{
|
|
// st.st_mode & S_IFDIR indicates a directory
|
|
snprintf(alldirfiles[countfiles], 70, "%s", filenames);
|
|
countfiles++;
|
|
}
|
|
}
|
|
dirclose(dir);
|
|
qsort(alldirfiles, countfiles, sizeof(char[70]), filenamescmp);
|
|
return countfiles;
|
|
}
|