marcrobledo / RomPatcher.js

An IPS/UPS/APS/BPS/RUP/PPF/xdelta ROM patcher made in HTML5.
https://www.marcrobledo.com/RomPatcher.js/
Other
653 stars 133 forks source link

[Feature Request] Add Proper Xdelta/VCDIFF Support (Including Secondary Compression) #45

Closed DeadSkullzJr closed 2 years ago

DeadSkullzJr commented 2 years ago

I have no idea why you used nine year old code, incomplete based on some short glances, from a school related project as a base for Xdelta3 format support, but I recommend you use official source material instead. v3.1.0 is an appropriate version to use, majority of offline Xdelta patching solutions use this version already. The secondary compression formats are important here given some patches out in the wild actually use them, not to mention are backwards compatible with older versions of Xdelta3 when using front end solutions like Xdelta UI (uses v3.0u). Patches made with newer versions of Xdelta3 do not work with the online patcher since the code used doesn't understand the newer algorithm format that these newer patches are in. Due to this issue, it actually makes it difficult for some users out there who do not have access to a computer or uses an operating system that doesn't have a compiled patcher solution of sorts to work with.

Side note, v3.1.1 exists under the current source page, but it's kind of buggy, hence why v3.1.0 is a more appropriate version to use, so chances are you'll want to examine the GPL based source.

Sources: https://github.com/jmacd/xdelta (Current) https://github.com/jmacd/xdelta-gpl (Original)

marcrobledo commented 2 years ago

Duplicate from #5