z-edit / zedit

An integrated development environment for Bethesda Plugin Files.
https://z-edit.github.io
MIT License
304 stars 55 forks source link

z-merge NOT catching/modifying all necessary subrecord data for merged mods #258

Closed primem0ver closed 2 years ago

primem0ver commented 2 years ago

Hello Mator, I am the person who messaged you on Discord about this major issue. I, myself am an "upcoming" utility author who wanted to work with zMerge to streamline the process of building large load orders. (It already does this to a large extent as you will see below). This was actually the original intention of the utility (as a result of the limitations of xEdit, Merge Plugins, and now zEdit to deal with a limited number of mods at once). However, I discovered the new ESL feature and I built a new ESL converter from the ground up as part of my utility. As such, I am in a position to help you resolve these particular issues. Before I can do that though, I need to help you understand what I believe is going on.

When I developed my utility, I used documentation on UESP.com (Unofficial Elder Scrolls Pages) to help me write the converter. However, I soon discovered that this documentation was not always correct. Part of this was probably due to changes (which may be the case here with zMerge as well).

Merges shouldn't have significant errors in merges that are made of mods without any errors. Yet, merges which my utility predicts no errors (due to their sources having no errors), your utility creates (in some cases) hundreds of errors. You can see from my posted images below, that these errors are consistently located in subrecords of SPECIFIC TYPES. I had this same problem when building and troubleshooting my ESL converter. I had to find the source of the missed form id references and fix them. Here are the images.

The first image are the "magic" mods I merged as viewed in my utility. The next image is of the errors that resulted from the merge. (NOTICE That ALL errors in this particular merge result from two specific data points. The most common being in the LVLI record/LVLO sub-record. The second being the EFID subrecord of the SPEL record types.

The third image are the "dungeon" mods I merged as viewed in my utility, followed by samples of around 300 errors that this merge produced. MagicMerge ErrorImage_001 CoreDungeon_Merge ErrorImage_002 ErrorImage_003

primem0ver commented 2 years ago

Thanks so much for communicating with me on Discord. Your explanation there helped me figure out this is an issue with my utility not putting masters in your json file. Doing that should fix the issues I am having!