memset(&defaultConfig, 0, sizeof(defaultConfig));\r
defaultConfig.EmuOpt = 0x9d | EOPT_RAM_TIMINGS|EOPT_EN_CD_LEDS;\r
defaultConfig.s_PicoOpt = POPT_EN_STEREO|POPT_EN_FM|POPT_EN_PSG|POPT_EN_Z80 |\r
- POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_SVP_DRC|POPT_ACC_SPRITES |\r
+ POPT_EN_MCD_PCM|POPT_EN_MCD_CDDA|POPT_EN_MCD_GFX |\r
+ POPT_EN_SVP_DRC|POPT_ACC_SPRITES |\r
POPT_EN_32X|POPT_EN_PWM;\r
defaultConfig.s_PsndRate = 44100;\r
defaultConfig.s_PicoRegion = 0; // auto\r
}\r
else\r
{\r
- char *sect = emu_make_rom_id(rom_fname);\r
+ char ext[16];\r
+ int vol;\r
\r
if (config_slot != 0)\r
- sprintf(cfg, "game.%i.cfg", config_slot);\r
- else strcpy(cfg, "game.cfg");\r
-\r
- ret = -1;\r
- if (config_havesect(cfg, sect))\r
- {\r
- // read user's config\r
- int vol = currentConfig.volume;\r
- emu_set_defconfig();\r
- ret = config_readsect(cfg, sect);\r
- currentConfig.volume = vol; // make vol global (bah)\r
- }\r
+ snprintf(ext, sizeof(ext), ".%i.cfg", config_slot);\r
else\r
+ strcpy(ext, ".cfg");\r
+\r
+ fname_ext(cfg, sizeof(cfg), "cfg"PATH_SEP, ext, rom_fname);\r
+\r
+ // read user's config\r
+ vol = currentConfig.volume;\r
+ ret = config_readsect(cfg, NULL);\r
+ currentConfig.volume = vol; // make vol global (bah)\r
+\r
+ if (ret != 0)\r
{\r
// read global config, and apply game_def.cfg on top\r
make_config_cfg(cfg);\r
config_readsect(cfg, NULL);\r
- emu_make_path(cfg, "game_def.cfg", sizeof(cfg));\r
- ret = config_readsect(cfg, sect);\r
- }\r
\r
- if (ret == 0)\r
- {\r
- lprintf("loaded cfg from sect \"%s\"\n", sect);\r
+ emu_make_path(cfg, "game_def.cfg", sizeof(cfg));\r
+ ret = config_readsect(cfg, emu_make_rom_id(rom_fname));\r
}\r
}\r
\r
\r
int emu_write_config(int is_game)\r
{\r
- char cfg[512], *game_sect = NULL;\r
+ char cfg[512];\r
int ret, write_lrom = 0;\r
\r
if (!is_game)\r
make_config_cfg(cfg);\r
write_lrom = 1;\r
} else {\r
+ char ext[16];\r
+\r
if (config_slot != 0)\r
- sprintf(cfg, "game.%i.cfg", config_slot);\r
- else strcpy(cfg, "game.cfg");\r
- game_sect = emu_make_rom_id(rom_fname_loaded);\r
- lprintf("emu_write_config: sect \"%s\"\n", game_sect);\r
+ snprintf(ext, sizeof(ext), ".%i.cfg", config_slot);\r
+ else\r
+ strcpy(ext, ".cfg");\r
+\r
+ romfname_ext(cfg, sizeof(cfg), "cfg"PATH_SEP, ext);\r
}\r
\r
lprintf("emu_write_config: %s ", cfg);\r
- ret = config_writesect(cfg, game_sect);\r
+ ret = config_write(cfg);\r
if (write_lrom) config_writelrom(cfg);\r
#ifndef NO_SYNC\r
sync();\r
mkdir_path(path, pos, "mds");\r
mkdir_path(path, pos, "srm");\r
mkdir_path(path, pos, "brm");\r
+ mkdir_path(path, pos, "cfg");\r
\r
pprof_init();\r
\r