To support legally modding software, assuming I already have a way to legally extract the source code and/or embedded content, I need a way to patch the data without distributing any of the original content.
Is there a generic patching tool or system that supports the following?
- Deltas that don’t contain any of the original content (unlike unix-style textual patches).
- Support for both textual and binary deltas.
- Support for Windows.
- No-cost license for the tool.
- Automated copy and rename of files. This is so you can effectively make a separate modded copy of content, rather than completely replacing it with the patched version.
- Dealing with compressed data (like png files). This might be difficult, as the diff and patch programs would be responsible for uncompressing and recompressing the data. This can be worked around with other tools (like png -> bmp converters).
- Smart detection of ideal block sizes for binary deltas.
- Support for some sort of checksum or one-way hashing so you can validate that the source data is correct before applying the patch, without distributing copies of that data.
- Support for combining multiple versions of deltas, so you can distribute one patch that will apply to multiple versions of the source software.
- Support for non-Windows OSs.
- Open source.
This seems like a common problem to solve for legal, but unsupported game modding. Before I create my own tools I’d like to see if there are existing ones. This is not for a game that has any modding tools available yet.
A combination of tools that I could string together with shell scripts/batch files would be perfectly acceptable, as long as I can get all the required features I’ve listed.