Fix PAKFILE2.BIN and eboot logic

Fix #5474
This commit is contained in:
sum2012 2014-02-16 10:51:45 +08:00
parent 96a19ea982
commit 864c0be604

View file

@ -109,7 +109,6 @@ void InitMemoryForGameISO(std::string fileToStart) {
// No idea why they are doing this, but it works to just bypass it. They could stop
// inventing new filenames though...
static const char *altBootNames[] = {
"disc0:/PSP_GAME/SYSDIR/EBOOT.OLD",
"disc0:/PSP_GAME/SYSDIR/EBOOT.OLD",
"disc0:/PSP_GAME/SYSDIR/EBOOT.DAT",
"disc0:/PSP_GAME/SYSDIR/EBOOT.BI",
@ -153,15 +152,14 @@ bool Load_PSP_ISO(const char *filename, std::string *error_string)
// Bypass Chinese translation patches, see comment above.
for (int i = 0; i < ARRAY_SIZE(altBootNames); i++) {
if (pspFileSystem.GetFileInfo(altBootNames[i]).exists) {
bootpath = altBootNames[i];
break;
bootpath = altBootNames[i];
}
}
// Bypass another more dangerous one where the file is in USRDIR - this could collide with files in some game.
std::string id = g_paramSFO.GetValueString("DISC_ID");
if (id == "NPJH50624" && pspFileSystem.GetFileInfo("disc0:/PSP_GAME/USRDIR/PAKFILE2.BIN").exists) {
bootpath == "disc0:/PSP_GAME/USRDIR/PAKFILE2.BIN";
bootpath = "disc0:/PSP_GAME/USRDIR/PAKFILE2.BIN";
}