feature request finding mod conflict (multiple mod changing same object ID)

Feedback on past, current, and future development.
silentthief
Posts: 368
Joined: 18 Apr 2013, 01:20
Location: Currently traversing the Ascadian Isles

feature request finding mod conflict (multiple mod changing same object ID)

Post by silentthief » 04 Jan 2019, 18:22

I don't know if this has been thought of and/or already is on the list for future development but I did not see it in the post 1.0 document.

Would it be possible to upon starting a game in openmw to scan any/all mods loaded for conflicts? I know that that may sound like a large undertaking but what I meant is like this, scan mods and check if any mods modify the same record (object/GMST/Leveled list, etc) and report the mods and the object ID in a log somewhere. I do not want this to throw errors on screen, but I think that output of multiple changes to same object should be written out somewhere which a user can find and work on fixing

This alone will help immensely with finding mod conflicts

ST
"Hurry, hurry! Last boat to Solstheim! Until the next one. Hah-ha-hah."

Chris
Posts: 1557
Joined: 04 Sep 2011, 08:33

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by Chris » 05 Jan 2019, 01:10

silentthief wrote:
04 Jan 2019, 18:22
I know that that may sound like a large undertaking but what I meant is like this, scan mods and check if any mods modify the same record (object/GMST/Leveled list, etc) and report the mods and the object ID in a log somewhere.
That will basically end up listing every modded record. A lot of mods work by redefining records from other game files, so that the replacement shows up instead of the original. Mod conflicts arise because one mod changes some records in a way that another mod doesn't work right with, not that the record changed at all, and a compatibility patch changes those same things in a different way that works better with that other mod, or by combining certain records of the mods in a certain way (and maybe a few additions to glue it together better) that couldn't be done with a last-one-listed-takes-all method.

At best I could see it logging when a mod replaces a record that wasn't last replaced by one of the mod's listed masters. But even that could have a number of false positives.

User avatar
Jemolk
Posts: 177
Joined: 20 Mar 2017, 02:12
Location: Sadrith Mora

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by Jemolk » 05 Jan 2019, 09:10

Chris wrote:
05 Jan 2019, 01:10
silentthief wrote:
04 Jan 2019, 18:22
I know that that may sound like a large undertaking but what I meant is like this, scan mods and check if any mods modify the same record (object/GMST/Leveled list, etc) and report the mods and the object ID in a log somewhere.
That will basically end up listing every modded record. A lot of mods work by redefining records from other game files, so that the replacement shows up instead of the original. Mod conflicts arise because one mod changes some records in a way that another mod doesn't work right with, not that the record changed at all, and a compatibility patch changes those same things in a different way that works better with that other mod, or by combining certain records of the mods in a certain way (and maybe a few additions to glue it together better) that couldn't be done with a last-one-listed-takes-all method.

At best I could see it logging when a mod replaces a record that wasn't last replaced by one of the mod's listed masters. But even that could have a number of false positives.
Honestly, false positives are fine. Sometimes I just really need to know what all is affecting a record or area, and it's an absolutely massive pain to try to go through each of my mods one by one to see what could be doing it. Especially with the loadouts I like to make. Helping us narrow things down would be huge. I wholly support ST's idea here. Hell, I'd be actually quite happy to have a list of all the records changed by a file that didn't create them and all the files that changed them, because even with dependent mods and so forth, it's possible to end up accidentally altering something that didn't need to be altered. Keep in mind this isn't so we can completely automate mod conflict resolution. I don't think any of us are naive enough to think that could be done. But right now, doing it manually, we potentially have way too much data to sift through and have to do it in probably the single most labor-intensive way possible.

Chris
Posts: 1557
Joined: 04 Sep 2011, 08:33

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by Chris » 06 Jan 2019, 00:05

Jemolk wrote:
05 Jan 2019, 09:10
Honestly, false positives are fine. Sometimes I just really need to know what all is affecting a record or area, and it's an absolutely massive pain to try to go through each of my mods one by one to see what could be doing it.
It would similarly be a massive pain to go through dozens or hundreds of false positives to find the one legitimate record you're interested in. Especially if it lists every time a particular record is overridden (e.g. ModA overrides a base game record, ModB overrides that same record, and ModC also overrides that record, means the same record would get listed two or three times), and even worse if you don't know the exact record name.

silentthief
Posts: 368
Joined: 18 Apr 2013, 01:20
Location: Currently traversing the Ascadian Isles

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by silentthief » 06 Jan 2019, 00:30

I saw your first reply and I kind of agreed that this would output false positives, and that it may not be that useful. After this reply, I tend to think it would be more useful than I thought:
Chris wrote:
06 Jan 2019, 00:05
Jemolk wrote:
05 Jan 2019, 09:10
Honestly, false positives are fine. Sometimes I just really need to know what all is affecting a record or area, and it's an absolutely massive pain to try to go through each of my mods one by one to see what could be doing it.
It would similarly be a massive pain to go through dozens or hundreds of false positives to find the one legitimate record you're interested in. Especially if it lists every time a particular record is overridden (e.g. ModA overrides a base game record, ModB overrides that same record, and ModC also overrides that record, means the same record would get listed two or three times), and even worse if you don't know the exact record name.
Because you would see the output (theoretically in the order that the mods are loaded in) to see which mods are making changes to what entries - both which ones made changes, and which one was the last modification and hence the (theoretically) active one. While this then may report a massive bunch of information that is essentially false positives but it would also show when a mod is unexpectedly changing something that you didn't realize or conflicting with something that you didn't think it would.

I think it would help with making patches for a situation where you have multiple mods changing the same record

ST
PS- I am not a dev so I am unable to make this myself, but I also understand that this may be out of the scope of the plan to get us to 1.0
"Hurry, hurry! Last boat to Solstheim! Until the next one. Hah-ha-hah."

User avatar
AnyOldName3
Posts: 1453
Joined: 26 Nov 2015, 03:25

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by AnyOldName3 » 06 Jan 2019, 01:29

There's a pretty good chance that xEdit is going to get basic Morrowind support pretty soon. The guy working on it has actually come to the OpenMW discord to ask us about the guts of the ESM format (as it's very different to all the later, FormID-based, games) recently. That'll be able to do everything discussed here. Based on my experience trying to resolve mod conflicts with FO4Edit and TES5Edit, I can confidently say that about 90% of records in all mods are going to be overrides of something else and a load of mods will have swathes of completely benign conflicts with each other. It's definitely not something you want to analyse from a text file.
AnyOldName3, Master of Shadows

User avatar
Jemolk
Posts: 177
Joined: 20 Mar 2017, 02:12
Location: Sadrith Mora

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by Jemolk » 07 Jan 2019, 00:57

AnyOldName3 wrote:
06 Jan 2019, 01:29
There's a pretty good chance that xEdit is going to get basic Morrowind support pretty soon. The guy working on it has actually come to the OpenMW discord to ask us about the guts of the ESM format (as it's very different to all the later, FormID-based, games) recently. That'll be able to do everything discussed here. Based on my experience trying to resolve mod conflicts with FO4Edit and TES5Edit, I can confidently say that about 90% of records in all mods are going to be overrides of something else and a load of mods will have swathes of completely benign conflicts with each other. It's definitely not something you want to analyse from a text file.
Better analyzing from a single text file than analyzing from thirty or more CS or OpenCS windows, which is what we're currently stuck with. But yes, if xEdit gets Morrowind support, and especially if it gets Linux support and OpenMW support, this won't be needed.

Jwcolby54
Posts: 21
Joined: 01 Jan 2019, 08:48
Location: NC
Contact:

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by Jwcolby54 » 13 Jan 2019, 18:30

Only lines in a mod that conflicts with lines in another mod are going to count as conflicts. I am not seeing where conflicts have to be analyzed as much as noted.

There are a couple of scenarios to consider.

Users - if a mod conflicts with another, choose which you want to use. Users can't analyze conflicts and if they could, could not fix them. Pick mods which don't conflict with each other.

Authors - are more complicated. They may be interested in what the conflicts are. They can only modify their own mod. However they may choose not to, taking an attitude that the user just has to choose.

That said a mod author needs to avoid conflicts with game structures. But the cs should handle that side of things. So we are back to collision between mods.

Or am I missing something?

Jwcolby54
Posts: 21
Joined: 01 Jan 2019, 08:48
Location: NC
Contact:

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by Jwcolby54 » 13 Jan 2019, 18:51

Only lines in a mod that conflicts with lines in another mod are going to count as conflicts. I am not seeing where conflicts have to be analyzed as much as noted.

There are a couple of scenarios to consider.

Users - if a mod conflicts with another, choose which you want to use. Users can't analyze conflicts and if they could, could not fix them. Pick mods which don't conflict with each other.

Authors - are more complicated. They may be interested in what the conflicts are. They can only modify their own mod. However they may choose not to, taking an attitude that the user just has to choose.

That said a mod author needs to avoid conflicts with game structures. But the cs should handle that side of things. So we are back to collision between mods.

Or am I missing something?

Jwcolby54
Posts: 21
Joined: 01 Jan 2019, 08:48
Location: NC
Contact:

Re: feature request finding mod conflict (multiple mod changing same object ID)

Post by Jwcolby54 » 13 Jan 2019, 19:00

I find comments that simply state problems without suggested solutions to be unhelpful. Yes, a massive list of collisions to sort through is less than optimal. But OTOH it is better than no list of collisions.

I'm proposing a real database to load the mods in and a program wrapper that allows the user to search, sort and display the collisions.

Post Reply