Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update C# Implementation of JPatch #153

Closed
Mgamerz opened this issue Oct 7, 2020 · 4 comments
Closed

Update C# Implementation of JPatch #153

Mgamerz opened this issue Oct 7, 2020 · 4 comments

Comments

@Mgamerz
Copy link
Member

Mgamerz commented Oct 7, 2020

In September 2020, Joris Heirbaut released a new version of JojoDiff, which very lightly altered the diff file format. While old patches will work on the new application tool, new diffs will not work on the old code. The implementation changes are as follows:

Hi,
The only change is that the ESC-MOD sequence is now the default when a new operation sequence is needed 
(at the start of a file or after an EQL, DEL or BKT operation). It's a small efficiency gain of 2 bytes, but also simplifies the code.
Thank's for using jdiff !
Best regards,
Joris Heirbaut

The JPatch.cs implementation I wrote needs to be updated to account for these so I can leverage the updated patch files, as the new diffing algorithm seems to be more efficient.

@mirh
Copy link

mirh commented Oct 7, 2020

I see you are already working on it..
But by any chance, what's its usage here?
Couldn't vcdiff, bsdiff or xdiff be better?

@Mgamerz
Copy link
Member Author

Mgamerz commented Oct 7, 2020

Cause on ME3Tweaks there is about 4200 patches in jdiff format already. No point in changing things since none of the old ones would work, plus I do not want external dependencies (managed or native) for it. I dynamically generate many of these patches on modmaker.

@Mgamerz
Copy link
Member Author

Mgamerz commented Oct 8, 2020

Implemented in 5e59760

@Mgamerz Mgamerz closed this as completed Oct 8, 2020
@mirh
Copy link

mirh commented Oct 8, 2020

Mhh I see.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants