-
Notifications
You must be signed in to change notification settings - Fork 225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add DLC refresh + restore license from Sqlite DB #310
Conversation
Just an additional note that the hardcoded Or we could |
I see one issue with this - users are required to learn new software. Which is not required for restoring their main game from NoNpDrm dump. If you keep only work.bin support, you will get exactly same behavior as it is for main app refresh right now. Basically - 1) you dump your game, 2) you get your rif files, 3) rename to work.bin for safekeeping/backup, 4) when you need to restore, just copy them to device & refresh. Easy-peasy. |
It seems that there is an issue when many DLCs for one game are refreshed. I did following:
If instead I do following:
It looks like promoter starts to ignore all other potential DLCs which exists inside addcont/TITLEID folder when it installs first one there. Not sure the best way to solve this, but it seems that first moving all new DLCs out of addcont (to some ux0:/temp/whatever folder) and then calling promoter one by one on each folder would solve this. That's pretty much what is happening with installation already now. |
@mmozeiko, I think you missed the point I was making about the reason why the use of SQLite should not be dismissed early:
As to your the issue you report with multi DLC, I will check it out. It will probably be a bit of time before I can do so though... Obviously, I also need to point out that this is still an early and experimental feature, which I'm pushing out in the open so that people can test it and bugs/issues can be addressed. I know that promote is very picky about what's going on with the |
If it's working fine, I will merge it. |
@TheOfficialFloW, thanks, but please don't forget to at least increase I would also suggest you publish a pre-release so that people can test and confirm that it also works for them, before doing an official release, but it's your call. |
Disregard, I missed the if and thought you were about to merge it... For now, this needs more testing, so please hold on on merging. |
Can you please commit the change for the increasement? Compile it and share it on vitahacks or somewhere else. Unfortunately I don't have time to do it right now. |
I will do that. |
DLC from ux0:addcont/ is now installed during refresh, provided there exists an sce_sys/package/ directory containing: body.bin, head.bin, inst.bin stat.bin, tail.bin, temp.bin and work.bin. Apart from work.bin, all of these files can be be restored from the official PKG downloads, as demonstrated by pkg_dec. Moreover, this patch adds the ability to restore one's RIFs from an ux0:/license/licenses.db SQLite database with the schema described hereafter (the RIF column being the uncompressed 512-byte binary license): CREATE TABLE `Licenses` ( `CONTENT_ID` TEXT NOT NULL UNIQUE, `RIF` BLOB NOT NULL, PRIMARY KEY(`CONTENT_ID`) ); With both these feature and provided that one's personal licenses have been backed up in ux0:/license/licenses.db, Vita users can conveniently restore or reinstall their legally owned content, straight from Sony's PKG files.
I can confirm that this now works very good - all newly found DLCs are refreshed correctly. |
Thanks! |
DLC from ux0:addcont/ is now installed during refresh, provided there exists an sce_sys/package/
directory containing: body.bin, head.bin, inst.bin stat.bin, tail.bin, temp.bin and work.bin.
Apart from work.bin, all of these files can be be restored from the official PKG downloads, as
demonstrated by pkg_dec.
Moreover, this patch adds the ability to restore one's RIFs from an ux0:/license/licenses.db
SQLite database with the schema described hereafter (the RIF column being the uncompressed
512-byte binary license):
CREATE TABLE
Licenses
(CONTENT_ID
TEXT NOT NULL UNIQUE,RIF
BLOB NOT NULL,PRIMARY KEY(
CONTENT_ID
));
With both these feature and provided that one's personal licenses have been backed up in
ux0:/license/licenses.db, Vita users can conveniently restore or reinstall their legally
owned content, straight from Sony's PKG files.
Additional notes: