mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
new cfg file system
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@390 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
2385f27374
commit
58c86d0018
13 changed files with 302 additions and 298 deletions
|
@ -109,19 +109,8 @@ void emu_Deinit(void)
|
|||
SRam.changed = 0;
|
||||
}
|
||||
|
||||
if (!(currentConfig.EmuOpt & 0x20)) {
|
||||
FILE *f = fopen(PicoConfigFile, "r+b");
|
||||
if (!f) emu_WriteConfig(0);
|
||||
else {
|
||||
// if we already have config, reload it, except last ROM
|
||||
fseek(f, sizeof(currentConfig.lastRomFile), SEEK_SET);
|
||||
fread(¤tConfig.EmuOpt, 1, sizeof(currentConfig) - sizeof(currentConfig.lastRomFile), f);
|
||||
fseek(f, 0, SEEK_SET);
|
||||
fwrite(¤tConfig, 1, sizeof(currentConfig), f);
|
||||
fflush(f);
|
||||
fclose(f);
|
||||
}
|
||||
}
|
||||
if (!(currentConfig.EmuOpt & 0x20))
|
||||
config_writelrom(PicoConfigFile);
|
||||
|
||||
PicoExit();
|
||||
}
|
||||
|
|
|
@ -1080,29 +1080,6 @@ menu_entry opt_entries[] =
|
|||
#define OPT_ENTRY_COUNT (sizeof(opt_entries) / sizeof(opt_entries[0]))
|
||||
|
||||
|
||||
static const char *region_name(unsigned int code)
|
||||
{
|
||||
static const char *names[] = { "Auto", " Japan NTSC", " Japan PAL", " USA", " Europe" };
|
||||
static const char *names_short[] = { "", " JP", " JP", " US", " EU" };
|
||||
int u, i = 0;
|
||||
if (code) {
|
||||
code <<= 1;
|
||||
while((code >>= 1)) i++;
|
||||
if (i > 4) return "unknown";
|
||||
return names[i];
|
||||
} else {
|
||||
static char name[24];
|
||||
strcpy(name, "Auto:");
|
||||
for (u = 0; u < 3; u++) {
|
||||
i = 0; code = ((PicoAutoRgnOrder >> u*4) & 0xf) << 1;
|
||||
while((code >>= 1)) i++;
|
||||
strcat(name, names_short[i]);
|
||||
}
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void menu_opt_cust_draw(const menu_entry *entry, int x, int y, void *param)
|
||||
{
|
||||
char *str, str24[24];
|
||||
|
@ -1129,7 +1106,7 @@ static void menu_opt_cust_draw(const menu_entry *entry, int x, int y, void *para
|
|||
text_out16(x, y, "Sound Quality: %5iHz %s", currentConfig.PsndRate, str);
|
||||
break;
|
||||
case MA_OPT_REGION:
|
||||
text_out16(x, y, "Region: %s", region_name(currentConfig.PicoRegion));
|
||||
text_out16(x, y, "Region: %s", me_region_name(PicoRegionOverride, PicoAutoRgnOrder));
|
||||
break;
|
||||
case MA_OPT_CONFIRM_STATES:
|
||||
switch ((currentConfig.EmuOpt >> 9) & 5) {
|
||||
|
@ -1188,21 +1165,21 @@ static void region_prevnext(int right)
|
|||
static int rgn_orders[] = { 0x148, 0x184, 0x814, 0x418, 0x841, 0x481 };
|
||||
int i;
|
||||
if (right) {
|
||||
if (!currentConfig.PicoRegion) {
|
||||
if (!PicoRegionOverride) {
|
||||
for (i = 0; i < 6; i++)
|
||||
if (rgn_orders[i] == PicoAutoRgnOrder) break;
|
||||
if (i < 5) PicoAutoRgnOrder = rgn_orders[i+1];
|
||||
else currentConfig.PicoRegion=1;
|
||||
else PicoRegionOverride=1;
|
||||
}
|
||||
else currentConfig.PicoRegion<<=1;
|
||||
if (currentConfig.PicoRegion > 8) currentConfig.PicoRegion = 8;
|
||||
else PicoRegionOverride<<=1;
|
||||
if (PicoRegionOverride > 8) PicoRegionOverride = 8;
|
||||
} else {
|
||||
if (!currentConfig.PicoRegion) {
|
||||
if (!PicoRegionOverride) {
|
||||
for (i = 0; i < 6; i++)
|
||||
if (rgn_orders[i] == PicoAutoRgnOrder) break;
|
||||
if (i > 0) PicoAutoRgnOrder = rgn_orders[i-1];
|
||||
}
|
||||
else currentConfig.PicoRegion>>=1;
|
||||
else PicoRegionOverride>>=1;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1210,7 +1187,6 @@ static void menu_options_save(void)
|
|||
{
|
||||
PicoOpt = currentConfig.PicoOpt;
|
||||
PsndRate = currentConfig.PsndRate;
|
||||
PicoRegionOverride = currentConfig.PicoRegion;
|
||||
if (PicoRegionOverride) {
|
||||
// force setting possibly changed..
|
||||
Pico.m.pal = (PicoRegionOverride == 2 || PicoRegionOverride == 8) ? 1 : 0;
|
||||
|
@ -1230,7 +1206,6 @@ static int menu_loop_options(void)
|
|||
|
||||
currentConfig.PicoOpt = PicoOpt;
|
||||
currentConfig.PsndRate = PsndRate;
|
||||
currentConfig.PicoRegion = PicoRegionOverride;
|
||||
|
||||
me_enable(opt_entries, OPT_ENTRY_COUNT, MA_OPT_SAVECFG_GAME, rom_loaded);
|
||||
me_enable(opt_entries, OPT_ENTRY_COUNT, MA_OPT_LOADCFG, config_slot != config_slot_current);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue