07-24-2013, 07:26 PM
(07-19-2013, 09:30 AM)nightflyer Wrote: EDIT5: I think I have the problem: The savefiles I have are secure files[if (saveFileSecureEntriesAddr != 0) results in true]. Furthermore if(saveFileEntriesAddr != 0) results in a false-value. That alone would be no problem but with the new implementation, there is a if(savedataParams.isSecureFile(entry)) check before checking if we have a value for saveFileSecureEntriesAddr. And that check returns a false.Thank you for the exact analysis
So I took a closer look to the isSecureFile() function. Said function accesses this value: psf.get("SAVEDATA_FILE_LIST"), which is not set for my savefiles.
What exactly is this SAVEDATA_FILE_LIST and why is it suddenly needed, even though things seem to work without it(at least for my saves)?
EDIT6: I forgot to mention, I had to change mem.write64(entryAddr + 8, ((stat.size + 0xF) & ~0xF) - 0x10); back to mem.write64(entryAddr + 8, stat.size); for things to work. What was that change supposed to do?
So now that I found a way to make saving/loading work for me again, could you explain what SAVEDATA_FILE_LIST and ((stat.size + 0xF) & ~0xF) - 0x10) are supposed to be doing gid15? Any idea why that changes made it impossible to load savegames for VC2[ULUS10515] and VC3[NPJH50343]?
PARAM.SFO files created before r3306 do not include the entry SAVEDATA_FILE_LIST and are incorrectly interpreted. Could you test again with r3324? Please test the following scenarios:
- loading a savedata created before r3306
- save a new savedata and try to load it (the PARAM.SFO file should now contain the SAVEDATA_FILE_LIST entry)
Thank you!
Always include a complete log file at INFO level in your reports. Thanks! How to post a log