View Full Version : Directory Patcher
Directory Patcher is a tool that makes a patch file for a whole directory.
Imagine you have repacked a game that has been updated by the developer and now you need to repack the whole game again for the update.
For cutting off your time you can make a patch using this program. You will need the old game files and the newer ones. This program will generate a patch for you and can easily apply it with the command line tool provided with this.
Usage for dpzapply.exe:
dpzapply.exe patchfile dir
The xdelta mode is faster than normal mode and takes less memory. But it requires xdelta3.exe to be present.
The normal mode uses bdiff by Peter Johnson. is slow and memory sucker. But it doesn't require any other files.
Bugs:
The program doesn't handle errors at this moment. If you do something wrong, the program may mess up stuff. Made this in one day so do some tests to know how it's actually doing stuff.
Source:
Will be uploaded soon.
amin fear
04-08-2020, 03:52
Thanks , Nice tool !
Masquerade
04-08-2020, 06:30
Hi, I appear to be having some minor issues with your tool:
https://i.imgur.com/CtnalYQ.png
This pops up when MT is selected and XDelta disabled, is there some incompatibility here?
If this helps: testing on a small Unreal Engine games with very few changed files (a few dlls).
Testing XDelta mode now.
Hi, I appear to be having some minor issues with your tool:
https://i.imgur.com/CtnalYQ.png
This pops up when MT is selected and XDelta disabled, is there some incompatibility here?
If this helps: testing on a small Unreal Engine games with very few changed files (a few dlls).
Testing XDelta mode now.
Thanks, at least someone tested the program.
Bugfix uploaded.
Masquerade
16-08-2020, 09:25
New issue, when trying to apply a patch, I get this error:
Exception: Patch not in BINARY format
This is with Xdelta turned OFF, Multithreading turned ON in the dp window.
Using command:
dpzapply patch.x ..\
Running through batch file.
Xdelta option has this error:
EDirectoryNotFoundException: The specified path was not found
When I tried the xdelta patch through, I did place the xdelta3 binary with the dpzapply and patch file, inside the temp folder (which I why I set the patch dir to be ..\)
Same error occurs if I place files in root dir and use .\
New issue, when trying to apply a patch, I get this error:
Exception: Patch not in BINARY format
This is with Xdelta turned OFF, Multithreading turned ON in the dp window.
Using command:
dpzapply patch.x ..\
Running through batch file.
Xdelta option has this error:
EDirectoryNotFoundException: The specified path was not found
When I tried the xdelta patch through, I did place the xdelta3 binary with the dpzapply and patch file, inside the temp folder (which I why I set the patch dir to be ..\)
Same error occurs if I place files in root dir and use .\
. is not expanded somehow so you need to write the full dir. The dpzapply and xdelta exe should be in the same dir.
Masquerade
17-08-2020, 12:26
. is not expanded somehow so you need to write the full dir. The dpzapply and xdelta exe should be in the same dir.
And how would this work if I am deploying an update to a game?
Say I share game A, then it updates so the game is now A.2.
I would like to share just the update to people, so how will I write the full dir when there are multiple different paths everyone can have?
I also tried %cd%, but %cd% doesn't work.
Do you have any other answer? I really like this tool, it's a shame I just can't get it to work.
Try this. Works fine here, but I am not sure if it will work for all cases
Masquerade
31-08-2020, 03:50
Try this. Works fine here, but I am not sure if it will work for all cases
XDelta quits straight away, bdiff quits just after some patch data is extracted.
I have messaged you the game I'm testing on, with the old folder and the new folder. Patch.bat is in old folder.
Masquerade
21-09-2020, 08:08
Ok I did some further looking today,
I still cannot apply a patch, but I have found that the patcher will quit if the directory the patch is being applied to has a space in:
E.g. E:\Games\Among Us causes instant quit.
Using "%cd%" variable, translating to "E:\Games\Among Us" leads to Exception: Patch not in BINARY format
Renaming to E:\Games\Among_Us leads to EInOutError: The system cannot find the file specified
All using non Xdelta patch method.
Epic Titan 69
13-03-2021, 01:45
I used this tool to make patch update for a small game
Now the output file is
FILENAME.dpz
can anyone tell me full procedure of how to apply it to older game version
I am Little bit confused about it....
Thanks In Advance
BDiff takes too much time for me to test and running xdelta is not stable yet somehow. I can't find a xdelta dll with examples that works with streams/handles, and at this current condition, this project takes a lot of time and patience to test. I don't have much time right now so this project is dead now.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.