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

fix(relinker): Fixed replacement by searching by lower-case filenames #271

Open
wants to merge 1 commit into
base: x64
Choose a base branch
from

Conversation

kostua16
Copy link

@kostua16 kostua16 commented Feb 16, 2022

Situation

  • We have plugin called "MySuperPlugin.esp"
  • We have script called "MySuperScript.pex" that contains code 'game.GetFormFromFile(1, "mySuperPlugin.esp")'
    OR
    We have script called "MySuperScript.pex" that contains code 'String EspFile = "mySuperPlugin.esp"'

Without ZMerge

  • Game loads such plugins and scripts without issues, cause Windows doesn't differentiate "MySuperPlugin.esp" and "mySuperPlugin.esp".
  • Expected = Actual

With ZMerge

  • We have ZMerge that contains "MySuperPlugin.esp" and a result plugin called "MySuperMerge.esp"
  • Relinker tries to re-link "MySuperScript.pex" but skips 'game.GetFormFromFile(1, "mySuperPlugin.esp")' cause there is no exact match.
  • Relinker tries to re-link "MySuperScript.pex" but skips 'String EspFile = "mySuperPlugin.esp"' cause there is no exact match.
  • Expected != Actual

Proposed solution

To do a lower-cased search that this pull request implements.
[X] Expected = Actual

Small note

The function that does lower-cased search moved to the "collectionUtils" helper to be re-used in case of future changes, but it's can be moved directly to "relinkedService" to reduce changes.

@kostua16 kostua16 changed the title fix(relinker): Fixed replacement by searching for lower-cased filenames fix(relinker): Fixed replacement by searching by lower-case filenames Feb 16, 2022
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

Successfully merging this pull request may close these issues.

1 participant