#include "platform.h"
#include "menu.h"
#include "settings.h"
+#include "../libpicofe/config_file.h"
#include "../../fce.h"
#include "../../cart.h"
AC(Settings.gamma),
AC(Settings.perfect_vsync),
AC(Settings.accurate_mode),
+ AC(Settings.sw_filter),
+ AC(Settings.hw_filter),
ENDCFGSTRUCT
};
{
const char *name = skip_path(llgn_path);
char tdir[2048];
+ FILE *f;
int ret;
+
if (name)
sprintf(tdir,"%s"PSS"cfg"PSS"%s.cfg",BaseDirectory,name);
else sprintf(tdir,"%s"PSS"fceu2.cfg",BaseDirectory);
FCEUI_GetNTSCTH(&ntsctint, &ntschue);
ret=SaveFCEUConfig(tdir,fceuconfig);
printf(ret == 0 ? "done\n" : "failed\n");
+
+ // keys
+ if (name)
+ sprintf(tdir,"%s"PSS"cfg"PSS"%s_keys.cfg",BaseDirectory,name);
+ else sprintf(tdir,"%s"PSS"fceu_keys.cfg",BaseDirectory);
+ f=fopen(tdir, "w");
+ if (f!=NULL) {
+ config_write_keys(f);
+ fclose(f);
+ }
+
return ret;
}
{
const char *name = skip_path(llgn_path);
char tdir[2048];
- int ret;
+ FILE *f;
+ int ret, l;
+
if (name)
sprintf(tdir,"%s"PSS"cfg"PSS"%s.cfg",BaseDirectory,name);
else sprintf(tdir,"%s"PSS"fceu2.cfg",BaseDirectory);
ret=LoadFCEUConfig(tdir,fceuconfig);
FCEUI_SetNTSCTH(ntsccol, ntsctint, ntschue);
printf(ret == 0 ? "done\n" : "failed\n");
+
+ // keys
+ if (name)
+ sprintf(tdir,"%s"PSS"cfg"PSS"%s_keys.cfg",BaseDirectory,name);
+ else sprintf(tdir,"%s"PSS"fceu_keys.cfg",BaseDirectory);
+ f=fopen(tdir, "r");
+ if (f!=NULL) {
+ l=fread(tdir,1,sizeof(tdir)-1,f);
+ tdir[l]=0;
+ config_read_keys(tdir);
+ fclose(f);
+ }
+
return ret;
}
lastLoadedGameName[len] = 0;
fclose(f);
}
+ else
+ {
+ platform_get_def_rompath(lastLoadedGameName, sizeof(lastLoadedGameName));
+ }
}
static void SaveLLGN(void)
LoadConfig(NULL);
last_arg_parsed=DoArgs(argc-1,&argv[1]);
platform_late_init();
- in_probe();
LoadLLGN();
FCEUI_SetNTSCTH(ntsccol, ntsctint, ntschue);
ret = menu_loop();
if (ret == 1) break; // exit emu
if (ret == 2) { // reload ROM
+ SaveLLGN();
Exit = 0;
continue;
}
if (fceugi)
CloseGame();
- SaveLLGN();
FCEUI_Kill();
DriverKill();
platform_finish();