FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   Directory Patcher (https://fileforums.com/showthread.php?t=103727)

78372 03-08-2020 05:16

Directory Patcher
 
3 Attachment(s)
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.

lolaya 03-08-2020 06:51

awesome

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.

78372 04-08-2020 08:20

Quote:

Originally Posted by Masquerade (Post 487223)
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:

Code:

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:

Code:

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 .\

78372 17-08-2020 09:04

Quote:

Originally Posted by Masquerade (Post 487441)
New issue, when trying to apply a patch, I get this error:

Code:

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:

Code:

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

Quote:

Originally Posted by 78372 (Post 487473)
. 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.

78372 31-08-2020 00:09

1 Attachment(s)
Try this. Works fine here, but I am not sure if it will work for all cases

Masquerade 31-08-2020 03:50

Quote:

Originally Posted by 78372 (Post 487670)
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.
Code:

E:\Games\Among Us
causes instant quit.

Using "%cd%" variable, translating to "E:\Games\Among Us" leads to
Code:

Exception: Patch not in BINARY format
Renaming to E:\Games\Among_Us leads to
Code:

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
Code:

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

78372 23-04-2021 09:48

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.


All times are GMT -7. The time now is 02:24.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com