Three bytes. Three goddamn bytes in a 50GB file were wrong. It could have been a cosmic ray. It could have been a faulty SATA cable. It didn't matter. The XDelta algorithm was a zealot. It demanded perfection. A single bit difference and the entire operation failed. There was no "close enough" in the world of binary diffs. The new voice actor's lines would be spliced into the wrong places. The ray-tracing toggle would try to write to a memory address that didn't exist.
An Xdelta output file cannot be applied in reverse (to downgrade a file) unless specifically generated for that purpose. To allow both upgrading and downgrading, two separate output files must be generated. xdelta output file
The output file serves as a bridge between two states of data. Three bytes
As the progress bar hit 89%, Julian leaned back, rubbing his eyes. He imagined the patch as a set of hyper-specific instructions. Go to sector 4,872,221. Read 2048 bytes. Those bytes are now obsolete. Overwrite them with this new sequence. Go to the end of the file. Append 1.3GB of new cutscene data. It could have been a faulty SATA cable