Do some additional checks on what kind of eboot it is before trying to boot it.

This commit is contained in:
The Dax 2013-09-01 13:25:42 -04:00
parent 34470232c7
commit cd40856914

View File

@ -162,6 +162,13 @@ bool LoadFile(std::string &filename, std::string *error_string) {
if (fileInfo.exists) {
INFO_LOG(LOADER, "File is a PBP in a directory!");
std::string ebootPath = filename + "/EBOOT.PBP";
IdentifiedFileType ebootType = Identify_File(ebootPath);
if(ebootType == FILETYPE_PSP_ISO_NP) {
InitMemoryForGameISO(ebootPath);
pspFileSystem.SetStartingDirectory("disc0:/PSP_GAME/USRDIR");
return Load_PSP_ISO(filename.c_str(), error_string);
}
std::string path = filename;
size_t pos = path.find("/PSP/GAME/");
if (pos != std::string::npos)
@ -213,6 +220,7 @@ bool LoadFile(std::string &filename, std::string *error_string) {
case FILETYPE_NORMAL_DIRECTORY:
ERROR_LOG(LOADER, "Just a directory.");
*error_string = "Just a directory.";
break;
case FILETYPE_UNKNOWN_BIN: