Diff Wrapper
This is a file patching tool that allows (but is not limited to) automatic cleanup of DLC with the click of a button without breaking Bethesdas' copyright
Screenshots 1 screenshots
About this mod Machine translation
This is a file patching tool that allows (but is not limited to) automatic cleanup of DLC with the click of a button without breaking Bethesdas' copyright
Go to Oldrim version
what is it
It is an open source program (source code) written in Java that is a wrapper around another open source tool for binary diffing (bsdiff). What is that? Well, there are basically two ways to change a file. You can either open it with a program that knows what it's doing, opens it correctly, knows its structure and is able to make changes that don't break...or you treat the file as a long string of zeroes and zeroes and try to figure out where to delete and where to add more zeroes and zeroes in order to get the expected result. Binary diffing is the second method and is widely used to patch .exe files when releasing new versions of software (to avoid sending the entire file again).
how it works
The program itself is a .jar file. To run it, you need Java Runtime Environment installed on your system. When you do this, you can use it by double-clicking on it. Once run, it will find each .diff file in the current directory and attempt to run the changes contained within it.
Each .diff file is actually a .zip file containing two files - the configuration .json file and the actual patch. The Json file contains information about which files are patched and hashed to ensure you are running the diff on the exact same file it was created for. If the hashes match, perform the actual patching (save the original file in the backup folder) and confirm whether it was successful by comparing the resulting file hash with the expected file hash in the config. If it works - voila, your file changes exactly as the person who provided the .diff file intended. It's safe to run multiple times (it won't do anything for files that don't match the hash saved in its configuration), and it won't corrupt anything on your computer unless the creator of the .diff file is malicious themselves.
DLC cleaning
In addition to the program, I've also included a set of 4 .diff files that change the latest version of Skyrim DLCs esms and Update.esm to a clean version. I use TES5Edit/SSEEdit (for gaming) 3.2 to complete the cleaning. Follow this guide for correspondence. For Oldrim the checksums of the CRC result files will be exactly as shown in that guide, for SSE they will be different (as the .esm files seem to change slightly with game updates).
To use them, just place the program itself (.jar file) and the four diff files in the Skyrim Data folder before running it. Allow bspatch.exe to do this when Windows prompts you to do so (on Windows 10, it will ask for each file to be patched). You can view the log of events that occurred in the BinaryDiffLog.txt file that was created.
Create your own DIFF file
As will be made clear in the next section, there are some important things to consider when creating .diff files, so I haven't included any features that would simplify creating more - but it's entirely possible and not very difficult. Instructions for this can be found on the project page on Github. Everyone is free to publish their diff files where they see fit.
Security warning
Binary diff is an inflexible but powerful tool. In principle there is nothing stopping anyone from sending a .diff file to turn your Skyrim .esm into a 10 hour Rickroll video. or infected files. This is why every user is encouraged to treat them with caution.
Additionally, while this format makes it easy to distribute small changes without fear of breaking copyright - it's entirely possible to use it to break copyright law. As mentioned above, diff can change a file into a completely different file. In extreme cases, the difference between an empty file and some copyrighted file is an entire copyrighted file. Compressed files are known to alter their entire structure, making minimal changes to their internals, which may cause the diff file to contain more information than the copyright owner i …
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- There is no universal mod manager for this game: some mods replace game files directly, some go into a game-specific Mods folder, and some need a game-specific community loader or tool first — follow the bundled readme.
- Place the files exactly as the readme says; mods with listed dependencies need those installed too.
- Launch the game to confirm it loaded; some games require enabling mods in settings or an in-game mod menu.
Install locations vary a lot between games and mods — the bundled readme is the most reliable guide.