mirror of
https://github.com/libretro/RetroArch
synced 2025-04-16 08:43:10 +00:00
Add configurable support for config file (disabling it... ah, good old
days! :D)
This commit is contained in:
parent
b381350bdc
commit
b69f91027b
6
Makefile
6
Makefile
@ -2,7 +2,7 @@ include config.mk
|
||||
|
||||
TARGET = ssnes tools/ssnes-joyconfig
|
||||
|
||||
OBJ = ssnes.o file.o driver.o conf/config_file.o settings.o dynamic.o
|
||||
OBJ = ssnes.o file.o driver.o settings.o dynamic.o
|
||||
JOYCONFIG_OBJ = tools/ssnes-joyconfig.o conf/config_file.o
|
||||
HEADERS = $(wildcard */*.h) $(wildcard *.h)
|
||||
|
||||
@ -14,6 +14,10 @@ ifeq ($(HAVE_SRC), 1)
|
||||
DEFINES += $(SRC_CFLAGS)
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_CONFIGFILE), 1)
|
||||
OBJ += conf/config_file.o
|
||||
endif
|
||||
|
||||
ifeq ($(HAVE_RSOUND), 1)
|
||||
OBJ += audio/rsound.o
|
||||
LIBS += -lrsound
|
||||
|
@ -107,7 +107,9 @@ struct global
|
||||
char bsx_rom_path[256];
|
||||
char sufami_rom_path[2][256];
|
||||
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
char config_path[256];
|
||||
#endif
|
||||
|
||||
char basename[256];
|
||||
char savefile_name_srm[256];
|
||||
|
@ -3,6 +3,12 @@
|
||||
check_switch_c C99 -std=gnu99
|
||||
check_critical C99 "Cannot find C99 compatible compiler."
|
||||
|
||||
if [ "$HAVE_DYNAMIC" = "yes" ] && [ "$HAVE_CONFIGFILE" = "no" ]; then
|
||||
echo "Cannot have dynamic loading of libsnes and no configfile support."
|
||||
echo "Dynamic loading requires config file support."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $HAVE_DYNAMIC != yes ]; then
|
||||
check_lib_cxx SNES $LIBSNES snes_init -ldl
|
||||
check_critical SNES "Cannot find libsnes."
|
||||
@ -38,7 +44,7 @@ check_critical SRC "Cannot find libsamplerate."
|
||||
check_lib DYNAMIC -ldl dlopen
|
||||
|
||||
# Creates config.mk and config.h.
|
||||
VARS="ALSA OSS AL RSOUND ROAR JACK SDL FILTER CG XML DYNAMIC FFMPEG AVCODEC AVFORMAT AVCORE AVUTIL SWSCALE SRC"
|
||||
VARS="ALSA OSS AL RSOUND ROAR JACK SDL FILTER CG XML DYNAMIC FFMPEG AVCODEC AVFORMAT AVCORE AVUTIL SWSCALE SRC CONFIGFILE"
|
||||
create_config_make config.mk $VARS
|
||||
create_config_header config.h $VARS
|
||||
|
||||
|
@ -11,6 +11,7 @@ add_command_line_enable DYNAMIC "Enable dynamic loading of libsnes library." no
|
||||
add_command_line_string LIBSNES "libsnes library used" "-lsnes"
|
||||
add_command_line_enable FFMPEG "Enable FFmpeg recording support" auto
|
||||
add_command_line_enable FILTER "Disable CPU filter support" yes
|
||||
add_command_line_enable CONFIGFILE "Disable support for config file" yes
|
||||
add_command_line_enable CG "Enable Cg shader support" auto
|
||||
add_command_line_enable XML "Enable bSNES-style XML shader support" auto
|
||||
add_command_line_enable ALSA "Enable ALSA support" auto
|
||||
|
16
settings.c
16
settings.c
@ -125,9 +125,23 @@ static void set_defaults(void)
|
||||
g_settings.input.joypad_map[i] = SSNES_NO_JOYPAD;
|
||||
}
|
||||
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
static void parse_config_file(void);
|
||||
#endif
|
||||
|
||||
void parse_config(void)
|
||||
{
|
||||
memset(&g_settings, 0, sizeof(struct settings));
|
||||
set_defaults();
|
||||
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
parse_config_file();
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
static void parse_config_file(void)
|
||||
{
|
||||
config_file_t *conf = NULL;
|
||||
|
||||
if (strlen(g_extern.config_path) > 0)
|
||||
@ -167,7 +181,6 @@ void parse_config(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
set_defaults();
|
||||
if (conf == NULL)
|
||||
return;
|
||||
|
||||
@ -328,6 +341,7 @@ void parse_config(void)
|
||||
|
||||
config_file_free(conf);
|
||||
}
|
||||
#endif
|
||||
|
||||
struct bind_map
|
||||
{
|
||||
|
14
ssnes.c
14
ssnes.c
@ -246,7 +246,9 @@ static void print_help(void)
|
||||
puts("\t-h/--help: Show this help message");
|
||||
puts("\t-s/--save: Path for save file (*.srm). Required when rom is input from stdin");
|
||||
puts("\t-S/--savestate: Path to use for save states. If not selected, *.state will be assumed.");
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
puts("\t-c/--config: Path for config file." SSNES_DEFAULT_CONF_PATH_STR);
|
||||
#endif
|
||||
puts("\t-g/--gameboy: Path to Gameboy ROM. Load SuperGameBoy as the regular rom.");
|
||||
puts("\t-b/--bsx: Path to BSX rom. Load BSX BIOS as the regular rom.");
|
||||
puts("\t-B/--bsxslot: Path to BSX slotted rom. Load BSX BIOS as the regular rom.");
|
||||
@ -281,7 +283,9 @@ static void parse_input(int argc, char *argv[])
|
||||
#endif
|
||||
{ "verbose", 0, NULL, 'v' },
|
||||
{ "gameboy", 1, NULL, 'g' },
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
{ "config", 0, NULL, 'c' },
|
||||
#endif
|
||||
{ "mouse", 1, NULL, 'm' },
|
||||
{ "scope", 0, NULL, 'p' },
|
||||
{ "savestate", 1, NULL, 'S' },
|
||||
@ -303,7 +307,13 @@ static void parse_input(int argc, char *argv[])
|
||||
#define FFMPEG_RECORD_ARG
|
||||
#endif
|
||||
|
||||
char optstring[] = "hs:vc:S:m:p4jJg:b:B:Y:Z:" FFMPEG_RECORD_ARG;
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
#define CONFIG_FILE_ARG "c:"
|
||||
#else
|
||||
#define CONFIG_FILE_ARG
|
||||
#endif
|
||||
|
||||
char optstring[] = "hs:vS:m:p4jJg:b:B:Y:Z:" FFMPEG_RECORD_ARG CONFIG_FILE_ARG;
|
||||
for(;;)
|
||||
{
|
||||
int c = getopt_long(argc, argv, optstring, opts, &option_index);
|
||||
@ -382,9 +392,11 @@ static void parse_input(int argc, char *argv[])
|
||||
g_extern.has_scope[1] = true;
|
||||
break;
|
||||
|
||||
#ifdef HAVE_CONFIGFILE
|
||||
case 'c':
|
||||
strncpy(g_extern.config_path, optarg, sizeof(g_extern.config_path) - 1);
|
||||
break;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_FFMPEG
|
||||
case 'r':
|
||||
|
Loading…
x
Reference in New Issue
Block a user