Closed googleben closed 2 years ago
Thanks for the PR. Give me a ping once your work is done and I can start the pull and publish the final release. I guess I could also pull this into master and create branches for the older games.
Looks like you removed some lines from GetRegulationKey that you added for the Elden Ring key. Unpacking the regulation files isn't working due to that.
I'm mostly finished with the changes I want to make on my Elden Ring branch. This PR includes an updated README, extra documentation in some C# files, CLI niceties like progress indicators on some operations, and 99.99% coverage of file names in the ER dictionary (I can't seem to find any reference to the remaining 12 files, which look like near-identical duplicates of the 12 shader files in data0). I also fixed a nasty bug with my
MemoryStream
replacementBdt5InnerStream
(which can handle files with more bytes than a single array can hold) that would corrupt files larger than a certain threshold.As for what's left to be done: I still plan on checking backwards compatibility with pre-ER games, which should be at least mostly working, as well as some more work on the CLI and maybe adding more file formats like gparam, but for now this should be everything needed to extract most Elden Ring files as of 1.03. In the future I'd also like to look into a bit of an API redesign to allow the
BinderTool.Core
package to be used as a general-purpose library for FromSoft formats, possibly even with some native code for hot loops like decryption - I feel like a GUI-based in-memory browser for these file formats is past due when they can take well over 100GB of disk space uncompressed.Do note I didn't change the version since I'd rather leave that up to @Atvaark as the owner.