Allow use of "games" folder for core rom folders.

This commit is contained in:
Jamie Dickson
2019-10-20 14:12:47 -05:00
committed by sorgelig
parent d7b7340480
commit 45b35c2cff
10 changed files with 87 additions and 25 deletions

View File

@@ -624,9 +624,17 @@ static void create_path(const char *base_dir, const char* sub_dir)
mkdir(full_path, S_IRWXU | S_IRWXG | S_IRWXO);
}
void FileCreatePath(char *dir)
{
if (!isPathDirectory(dir)) {
make_fullpath(dir);
mkdir(full_path, S_IRWXU | S_IRWXG | S_IRWXO);
}
}
void FileGenerateScreenshotName(const char *name, char *out_name, int buflen)
{
create_path(SCREENSHOT_DIR, HomeDir);
create_path(SCREENSHOT_DIR, CoreName);
time_t t = time(NULL);
struct tm tm = *localtime(&t);
@@ -634,13 +642,13 @@ void FileGenerateScreenshotName(const char *name, char *out_name, int buflen)
if (tm.tm_year >= 119) // 2019 or up considered valid time
{
strftime(datecode, 31, "%Y%m%d_%H%M%S", &tm);
snprintf(out_name, buflen, "%s/%s/%s-%s.png", SCREENSHOT_DIR, HomeDir, datecode, name[0] ? name : SCREENSHOT_DEFAULT);
snprintf(out_name, buflen, "%s/%s/%s-%s.png", SCREENSHOT_DIR, CoreName, datecode, name[0] ? name : SCREENSHOT_DEFAULT);
}
else
{
for (int i = 1; i < 10000; i++)
{
snprintf(out_name, buflen, "%s/%s/NODATE-%s_%04d.png", SCREENSHOT_DIR, HomeDir, name[0] ? name : SCREENSHOT_DEFAULT, i);
snprintf(out_name, buflen, "%s/%s/NODATE-%s_%04d.png", SCREENSHOT_DIR, CoreName, name[0] ? name : SCREENSHOT_DEFAULT, i);
if (!getFileType(out_name)) return;
}
}
@@ -648,9 +656,9 @@ void FileGenerateScreenshotName(const char *name, char *out_name, int buflen)
void FileGenerateSavePath(const char *name, char* out_name)
{
create_path(SAVE_DIR, HomeDir);
create_path(SAVE_DIR, CoreName);
sprintf(out_name, "%s/%s/", SAVE_DIR, HomeDir);
sprintf(out_name, "%s/%s/", SAVE_DIR, CoreName);
char *fname = out_name + strlen(out_name);
const char *p = strrchr(name, '/');
@@ -686,6 +694,20 @@ uint32_t getFileType(const char *name)
return st.st_mode;
}
void prefixGameDir(char *dir, size_t dir_len)
{
if (isPathDirectory(dir)) {
printf("Found existing: %s\n", dir);
return;
}
FileCreatePath((char *) GAMES_DIR);
static char temp_dir[1024];
snprintf(temp_dir, 1024, "%s/%s", GAMES_DIR, dir);
strncpy(dir, temp_dir, dir_len);
printf("Prefixed dir to %s\n", temp_dir);
}
static int device = 0;
static int usbnum = 0;
const char *getStorageDir(int dev)