sdl: by default; check ${fceux_dir}/cfg.d/ for any files and loads the configuration in alphabetical order. useful for applying a specific configuration
This commit is contained in:
parent
06c8230c88
commit
7d6a4b00d2
|
@ -1,5 +1,4 @@
|
|||
|
||||
|
||||
06-mar-2012 - prg - supports loading of configuration files in $FCEUXDIR/cfg.d/*
|
||||
18-feb-2012 - AnS - PATTERNS menu, loading data from "tools\taseditor_patterns.txt"
|
||||
18-feb-2012 - AnS - "Use pattern" checkbox in Recorder; Config->ColumnSet Pattern skips Lag
|
||||
18-feb-2012 - AnS - Taseditor: "Frame#" lights when Alt key is being held, not entering menu by Alt
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <dirent.h>
|
||||
|
||||
#include "../../types.h"
|
||||
#include "configSys.h"
|
||||
|
@ -558,6 +559,33 @@ Config::parse(int argc,
|
|||
return error;
|
||||
}
|
||||
|
||||
// try to read cfg.d/*
|
||||
std::string cfgd_dir_name = _dir + "/" + "cfg.d/";
|
||||
DIR *d;
|
||||
struct dirent *dir;
|
||||
d = opendir(cfgd_dir_name.c_str());
|
||||
if (d)
|
||||
{
|
||||
while ((dir = readdir(d)) != NULL)
|
||||
{
|
||||
// dont load "." or ".."
|
||||
if(strcmp(dir->d_name, ".") == 0 || strcmp(dir->d_name, "..") == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// TODO 0 = good -1 = bad
|
||||
std::string fname = cfgd_dir_name + dir->d_name;
|
||||
printf("Loading configuration file at %s\n", fname.c_str());
|
||||
if (_loadFile(fname.c_str()) != 0)
|
||||
{
|
||||
printf("Failed to parse configuration at %s\n", fname.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
closedir(d);
|
||||
}
|
||||
|
||||
// parse the arguments
|
||||
return _parseArgs(argc, argv);
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ LoadCPalette(const std::string &file)
|
|||
static void
|
||||
CreateDirs(const std::string &dir)
|
||||
{
|
||||
char *subs[7]={"fcs","snaps","gameinfo","sav","cheats","movies"};
|
||||
char *subs[8]={"fcs","snaps","gameinfo","sav","cheats","movies","cfg.d"};
|
||||
std::string subdir;
|
||||
int x;
|
||||
|
||||
|
@ -105,7 +105,8 @@ GetBaseDirectory(std::string &dir)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// returns a config structure with default options
|
||||
// also creates config base directory (ie: /home/user/.fceux as well as subdirs
|
||||
Config *
|
||||
InitConfig()
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue