notaz.gp2x.de
/
fceu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refresh rate: comments
[fceu.git]
/
drivers
/
gp2x
/
main.c
diff --git
a/drivers/gp2x/main.c
b/drivers/gp2x/main.c
index
5926da7
..
628f88b
100644
(file)
--- a/
drivers/gp2x/main.c
+++ b/
drivers/gp2x/main.c
@@
-128,25
+128,44
@@
static CFGSTRUCT fceuconfig[]={
ENDCFGSTRUCT
};
ENDCFGSTRUCT
};
-
void SaveConfig(const char *name
)
+
static const char *skip_path(const char *path
)
{
{
+ const char *p;
+ if (path == NULL) return NULL;
+ for (p = path+strlen(path)-1; p > path && *p != '/'; p--);
+ if (*p == '/') p++;
+ return p;
+}
+
+int SaveConfig(const char *llgn_path)
+{
+ const char *name = skip_path(llgn_path);
char tdir[2048];
char tdir[2048];
+ int ret;
if (name)
sprintf(tdir,"%s"PSS"cfg"PSS"%s.cfg",BaseDirectory,name);
else sprintf(tdir,"%s"PSS"fceu2.cfg",BaseDirectory);
if (name)
sprintf(tdir,"%s"PSS"cfg"PSS"%s.cfg",BaseDirectory,name);
else sprintf(tdir,"%s"PSS"fceu2.cfg",BaseDirectory);
+ printf("saving cfg to %s ... ", tdir); fflush(stdout);
FCEUI_GetNTSCTH(&ntsctint, &ntschue);
FCEUI_GetNTSCTH(&ntsctint, &ntschue);
- SaveFCEUConfig(tdir,fceuconfig);
+ ret=SaveFCEUConfig(tdir,fceuconfig);
+ printf(ret == 0 ? "done\n" : "failed\n");
+ return ret;
}
}
-static
void LoadConfig(const char *name
)
+static
int LoadConfig(const char *llgn_path
)
{
{
+ const char *name = skip_path(llgn_path);
char tdir[2048];
char tdir[2048];
+ int ret;
if (name)
sprintf(tdir,"%s"PSS"cfg"PSS"%s.cfg",BaseDirectory,name);
else sprintf(tdir,"%s"PSS"fceu2.cfg",BaseDirectory);
if (name)
sprintf(tdir,"%s"PSS"cfg"PSS"%s.cfg",BaseDirectory,name);
else sprintf(tdir,"%s"PSS"fceu2.cfg",BaseDirectory);
+ printf("loading cfg from %s ... ", tdir); fflush(stdout);
FCEUI_GetNTSCTH(&ntsctint, &ntschue); /* Get default settings for if no config file exists. */
FCEUI_GetNTSCTH(&ntsctint, &ntschue); /* Get default settings for if no config file exists. */
- LoadFCEUConfig(tdir,fceuconfig);
+
ret=
LoadFCEUConfig(tdir,fceuconfig);
FCEUI_SetNTSCTH(ntsccol, ntsctint, ntschue);
FCEUI_SetNTSCTH(ntsccol, ntsctint, ntschue);
+ printf(ret == 0 ? "done\n" : "failed\n");
+ return ret;
}
static void LoadLLGN(void)
}
static void LoadLLGN(void)
@@
-333,7
+352,7
@@
static int DoArgs(int argc, char *argv[])
int CLImain(int argc, char *argv[])
{
int CLImain(int argc, char *argv[])
{
- int last_arg_parsed;
+ int last_arg_parsed
, ret
;
/* TODO if(argc<=1)
{
ShowUsage(argv[0]);
/* TODO if(argc<=1)
{
ShowUsage(argv[0]);
@@
-379,11
+398,16
@@
int CLImain(int argc, char *argv[])
{
if (fceugi)
CloseGame();
{
if (fceugi)
CloseGame();
+ ret=LoadConfig(lastLoadedGameName);
+ if (ret != 0)
+ {
+ LoadConfig(NULL);
+ }
+ FCEUI_SetEmuMode(Settings.accurate_mode);
fceugi=FCEUI_LoadGame(lastLoadedGameName);
if (fceugi)
{
char infostring[32];
fceugi=FCEUI_LoadGame(lastLoadedGameName);
if (fceugi)
{
char infostring[32];
- LoadConfig(lastLoadedGameName);
if (Settings.region_force)
FCEUI_SetVidSystem(Settings.region_force - 1);
ParseGI(fceugi);
if (Settings.region_force)
FCEUI_SetVidSystem(Settings.region_force - 1);
ParseGI(fceugi);
@@
-401,7
+425,7
@@
int CLImain(int argc, char *argv[])
{
switch(LoadGameLastError) {
default: strcpy(menuErrorMsg, "failed to load ROM"); break;
{
switch(LoadGameLastError) {
default: strcpy(menuErrorMsg, "failed to load ROM"); break;
- case 2: strcpy(menuErrorMsg, "Can't find a ROM for movie"); break;
+ case 2: strcpy(menuErrorMsg, "Can't find a ROM for
ips/
movie"); break;
case 10: strcpy(menuErrorMsg, "FDS BIOS ROM is missing, read docs"); break;
case 11: strcpy(menuErrorMsg, "Error reading auxillary FDS file"); break;
}
case 10: strcpy(menuErrorMsg, "FDS BIOS ROM is missing, read docs"); break;
case 11: strcpy(menuErrorMsg, "Error reading auxillary FDS file"); break;
}
@@
-438,6
+462,7
@@
int CLImain(int argc, char *argv[])
CloseGame();
SaveLLGN();
CloseGame();
SaveLLGN();
+ FCEUI_Kill();
DriverKill();
return 0;
}
DriverKill();
return 0;
}