I made a small tool for testing backwards compatibility. It runs both tools, then compares the outputs.. It checks for missing files/folders, extra files/folders, and compares file content byte-for-byte. I tested the main branch version against my fork's ER branch for DSII & DSIII, and the Sekiro branch version against the ER branch for Sekiro. Here's what I found:
The main branch version incorrectly identifies the signature NVMA as ".nvma" files when they're really ".nva" files, but the ER version identifies them correctly
The main branch version does not include INTERROOT_win64 as part of virtual roots (in FileNameDictionary.cs), but the ER version does - possibly a regression, possibly an enhancement. I'm not knowledgeable enough to know
The main branch version does not correctly detect ".gparam" and ".fltparam" files on a per-game basis, but the ER version does
The ER branch version had my erroneous assumption that UTF-16 signatures were only in Sekiro & ER
The Sekiro branch version does not detect UTF-16 signatures as that code was commented out
The ER branch version did not correctly handle Sekiro's digital artwork & mini soundtrack Data.bdt
Every difference in file names and file content my tool found is covered by those bullet points.
The two bugs in the Elden Ring version were fixed by 6c25f85c7e52ea8c30deb27b798be99adfea2255 and I was unable to test any files from Bloodborne or Dark Souls Remastered as I don't have those games, and no version correctly handles Dark Souls' dvdbnd archives. I also didn't test anything but the regular extraction of .bdt files (and any .dcx files that are automatically extracted therein), but as far as I know there aren't any differences in any of the other formats anyways.
Assuming Bloodborne and DSR work fine, it seems to me that once my changes are merged back to this repo the ER branch should be good to be merged back to master, though I could have missed something.
I made a small tool for testing backwards compatibility. It runs both tools, then compares the outputs.. It checks for missing files/folders, extra files/folders, and compares file content byte-for-byte. I tested the main branch version against my fork's ER branch for DSII & DSIII, and the Sekiro branch version against the ER branch for Sekiro. Here's what I found:
NVMA
as ".nvma" files when they're really ".nva" files, but the ER version identifies them correctlyINTERROOT_win64
as part of virtual roots (inFileNameDictionary.cs
), but the ER version does - possibly a regression, possibly an enhancement. I'm not knowledgeable enough to knowData.bdt
Every difference in file names and file content my tool found is covered by those bullet points.
The two bugs in the Elden Ring version were fixed by 6c25f85c7e52ea8c30deb27b798be99adfea2255 and I was unable to test any files from Bloodborne or Dark Souls Remastered as I don't have those games, and no version correctly handles Dark Souls' dvdbnd archives. I also didn't test anything but the regular extraction of .bdt files (and any .dcx files that are automatically extracted therein), but as far as I know there aren't any differences in any of the other formats anyways.
Assuming Bloodborne and DSR work fine, it seems to me that once my changes are merged back to this repo the ER branch should be good to be merged back to master, though I could have missed something.