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

Feature: Tool: Package Merge #347

Open
Mgamerz opened this issue Sep 26, 2022 · 0 comments
Open

Feature: Tool: Package Merge #347

Mgamerz opened this issue Sep 26, 2022 · 0 comments

Comments

@Mgamerz
Copy link
Member

Mgamerz commented Sep 26, 2022

Is your feature request related to a problem? Please describe.
This would be a tool to help develop compatibility patches between mods. This is a very complex idea that would require a significant amount of thinking.

Describe the solution you'd like
A tool would take two same-packages and compare the changes from the vanilla version of the file. It would need to skip things such as SeekFreeShaderCache and other ones that are automatically updated, though we may need to add some detection logic for these such as textures which may have changed (though per proper standards, should have been renamed).

It would then calculate if any of these changes overlap, in which case it would require manual resolution. If there are no overlaps, then the changes could be merged. I'm not 100% sure on how the relinker would handle this, but assuming no items overlap, it shouldn't have too much trouble porting both changesets in.

Describe alternatives you've considered
Many devs have done this manually and many devs have complained that it's a huge pain in the ass. This tool would be ONLY supported for the mod developers - users would not receive support nor should they be expected to use this.

Additional context
We have a detailed package comparison tool that I used for ME2R comparison. We also previously discussed a CompareTo() method for BinaryInterpreter, but that might be too low level for changes. This is NOT a package delta format.

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

1 participant