Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

Michalius

Uploaded by

Michalius

Virus scan

Some manually verified files

Tags for this mod

About this mod

It's a utility for file patching that allows (but is not restricted to) automatically clean DLCs at the click of the button, without breaking Bethesdas copyrights

Requirements
Permissions and credits
go to Oldrim version

WHAT IS IT


It's an open source program written in Java (source code) that's a wrapper around another open source tool (bsdiff) for binary diffing. What's that? Well, there are basically two ways in which you can change a file. Either you do that with a program that knows what it's doing, opens it correctly, knows it's structure and is capable of making changes that don't break that... Or you look at the file as a long string of ones and zeroes, and try to find out where to delete and where to add more ones and zeroes so that you get the expected result. Binary diff is the second approach, and is widely used in, for example, patching .exe files when releasing new version of software (to avoid sending the entire file again).

HOW DOES IT WORK

The program itself is the .jar file. To run it you need to have Java Runtime Environment installed on your system. When you do you can use it by double-clicking it. Once run it will find every .diff file in the current directory and try to run the changes contained within.
Each .diff file is actually a .zip file containing exactly two files - configuration .json file, and actual patch. Json file contains information what file is the patch for and hashes that make sure you run the diff on exactly the same file it was created for. If the hashes match it does the actual patching (saving the original file in the backup folder), and confirms it succeeded by comparing resulting file hash with the expected one from config. If it worked - voila, your file is changed exactly as the person who gave you the .diff file wanted it to be. It is safe to run multiple times (it won't do anything to a file that does not match the hash saved in it's configuration), and unless creator of the .diff file itself was malicious it has no chance of breaking anything on your computer.


DLC CLEANING

Along with the program I include a pack of 4 .diff files that change stock upto date Skyrim DLCs esms and Update.esm into their cleaned versions. Cleaning was done by me using TES5Edit/SSEEdit (as appropriate for the game) 3.2 following this guide to the letter. For Oldrim CRC checksums of resulting files will be exactly as shown in that guide, for SSE they will differ (because .esm files seem to have changed slightly with game updates).

To use them simply place the program itself (the .jar file), and four diff files in your Skyrim Data folder, than run it. Allow the bspatch.exe to do it's work when Windows prompts you to do so (on Windows 10 for me it asks for each file that gets patched). You can see the log of what happened in BinaryDiffLog.txt file that gets created.


CREATING YOUR OWN DIFF FILES

As will be made clear in the next section there are important things to consider when creating .diff files, therefore I did not include any functionality easing up the process of creating more - but it is entirely possible and not very hard anyway. For instructions for this see project page on Github. Everyone is free to post their diff files anywhere they deem appropriate.

SAFETY WARNINGS

Binary diffing is an inflexible but powerful tool. In principle there is nothing stopping anyone from sending out a .diff file that would change your Skyrim.esm into 10 hour Rickroll video. Or infected files. That's why every user is encouraged to treat them with cautiousness.

Also, while this format makes it easy to distribute small changes without fear of breaking copyright - it is entirely possible to break copyright laws with it. As mentioned above, diff can change a file into entirely different file. In the extreme, a diff between an empty file and some copyrighted file is the whole copyrighted file. Compressed files are known to change their entire structure with the smallest change to it's insides, which could make the diff file contain more information than copyright holders are comfortable with. Be very cautious of anyone distributing .diff files bigger than, say, 10% of the file they're changing.