Skip to content

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