Merge pull request #3550 from thedax/master

Game loading: Fix a bug and prevent a "file is corrupt" error for demos/np PBPs that really aren't corrupt.
This commit is contained in:
Henrik Rydgård 2013-09-01 10:32:29 -07:00
commit cfbf83eeab

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: