correction for loading settings from usb, set widescreen to maximum size

This commit is contained in:
dborth 2009-06-16 05:03:49 +00:00
parent 79ca573270
commit ae1ae8a45c
4 changed files with 37 additions and 15 deletions

View File

@ -59,6 +59,7 @@ int ShutdownRequested = 0;
int ResetRequested = 0; int ResetRequested = 0;
int ExitRequested = 0; int ExitRequested = 0;
char appPath[1024]; char appPath[1024];
int appLoadMethod = METHOD_AUTO;
FreeTypeGX *fontSystem; FreeTypeGX *fontSystem;
int frameskip = 0; int frameskip = 0;
unsigned char * nesrom = NULL; unsigned char * nesrom = NULL;
@ -185,16 +186,21 @@ static void CreateAppPath(char origpath[])
sprintf(appPath, GCSettings.SaveFolder); sprintf(appPath, GCSettings.SaveFolder);
#else #else
char path[1024]; char path[1024];
strcpy(path, origpath); // make a copy so we don't mess up original strncpy(path, origpath, 1024); // make a copy so we don't mess up original
char * loc; char * loc;
int pos = -1; int pos = -1;
if(strncmp(path, "sd:/", 5) == 0 || strncmp(path, "fat:/", 5) == 0)
appLoadMethod = METHOD_SD;
else if(strncmp(path, "usb:/", 5) == 0)
appLoadMethod = METHOD_USB;
loc = strrchr(path,'/'); loc = strrchr(path,'/');
if (loc != NULL) if (loc != NULL)
*loc = 0; // strip file name *loc = 0; // strip file name
loc = strchr(path,'/'); // looking for / from fat:/ loc = strchr(path,'/'); // looking for first / (after sd: or usb:)
if (loc != NULL) if (loc != NULL)
pos = loc - path + 1; pos = loc - path + 1;

View File

@ -94,6 +94,7 @@ extern int ConfigRequested;
extern int ShutdownRequested; extern int ShutdownRequested;
extern int ExitRequested; extern int ExitRequested;
extern char appPath[]; extern char appPath[];
extern int appLoadMethod;
extern int frameskip; extern int frameskip;
#endif #endif

View File

@ -560,8 +560,7 @@ static void SetupVideoMode()
// widescreen fix // widescreen fix
if(CONF_GetAspectRatio() == CONF_ASPECT_16_9) if(CONF_GetAspectRatio() == CONF_ASPECT_16_9)
{ {
vmode->viWidth = VI_MAX_WIDTH_PAL-12; vmode->viWidth = VI_MAX_WIDTH_PAL;
vmode->viXOrigin = ((VI_MAX_WIDTH_PAL - vmode->viWidth) / 2);
} }
#endif #endif

View File

@ -337,10 +337,12 @@ SavePrefs (bool silent)
char filepath[1024]; char filepath[1024];
int datasize; int datasize;
int offset = 0; int offset = 0;
int method = appLoadMethod;
// We'll save using the first available method (probably SD) since this // We'll save using the first available method (probably SD) since this
// is the method preferences will be loaded from by default // is the method preferences will be loaded from by default
int method = autoSaveMethod(silent); if(method == METHOD_AUTO)
autoSaveMethod(silent);
if(method == METHOD_AUTO) if(method == METHOD_AUTO)
return false; return false;
@ -418,16 +420,30 @@ bool LoadPrefs()
return true; return true;
bool prefFound = false; bool prefFound = false;
if(ChangeInterface(METHOD_SD, SILENT))
prefFound = LoadPrefsFromMethod(METHOD_SD); if(appLoadMethod == METHOD_SD)
if(!prefFound && ChangeInterface(METHOD_USB, SILENT)) {
prefFound = LoadPrefsFromMethod(METHOD_USB); if(ChangeInterface(METHOD_SD, SILENT))
if(!prefFound && TestMC(CARD_SLOTA, SILENT)) prefFound = LoadPrefsFromMethod(METHOD_SD);
prefFound = LoadPrefsFromMethod(METHOD_MC_SLOTA); }
if(!prefFound && TestMC(CARD_SLOTB, SILENT)) else if(appLoadMethod == METHOD_USB)
prefFound = LoadPrefsFromMethod(METHOD_MC_SLOTB); {
if(!prefFound && ChangeInterface(METHOD_SMB, SILENT)) if(ChangeInterface(METHOD_USB, SILENT))
prefFound = LoadPrefsFromMethod(METHOD_SMB); prefFound = LoadPrefsFromMethod(METHOD_USB);
}
else
{
if(ChangeInterface(METHOD_SD, SILENT))
prefFound = LoadPrefsFromMethod(METHOD_SD);
if(!prefFound && ChangeInterface(METHOD_USB, SILENT))
prefFound = LoadPrefsFromMethod(METHOD_USB);
if(!prefFound && TestMC(CARD_SLOTA, SILENT))
prefFound = LoadPrefsFromMethod(METHOD_MC_SLOTA);
if(!prefFound && TestMC(CARD_SLOTB, SILENT))
prefFound = LoadPrefsFromMethod(METHOD_MC_SLOTB);
if(!prefFound && ChangeInterface(METHOD_SMB, SILENT))
prefFound = LoadPrefsFromMethod(METHOD_SMB);
}
prefLoaded = true; // attempted to load preferences prefLoaded = true; // attempted to load preferences