Jump to content

Question

Posted

This is to outline what the code inside MO that generates these PMOP messages does and why.

Quote
I am not a programmer, this my rudimentary understanding of the code as I read it. This description will be revised upon further understanding or correction from others.

 

 

Firstly your computer will not explode, burst into flame or otherwise if you disregard those messages, your game however MAY suffer from some bugs, unless you absolutely know what you are doing with those mods.

 

The official stance for MO is to allow the MO warning dialogue to have the mods (left-hand pane) to be 'fixed'.

STEP guides may provide another arrangement and therefore you can disregard any potential errors.

 

PMOP = "Potential Mod order problem"

The operative word here is 'potential'. There are no deep, fancy searches made inside the contents of your scripts to determine whether a mod should or shouldn't be where it is placed, that is for the user to determine.

 

The steps involved are as outlined here:

  1. MO searches the list of mods for those that contain scripts (*.pex) and uses ONLY THOSE mods for the next step
  2. Using the order of the plugins (right-hand pane) as the desired order, it presents a series of moves to arrange the mods (left-hand pane) to match.
  3. A dialogue is presented that shows the mods that don't match the order as expected and the steps needed to arrange correctly.
  4. MO then checks the order again and if all is fine, the error message is removed.

Note: The code needed to slimline these steps would be complex and extravagant. Often the provided list of steps needed to 'fix' the mods can be done by moving just one or two, not all of them. However, doing so will not break your game.

After installing your mods, it is usual to arrange the plugins into the correct order, either manually or with a tool like LOOTLOOT uses an extensive list of sorted plugins to assist this process, there is no such such list for mod order in MO's left-hand pane.

It is after this step the order of your mods needs to be examined. Do it manually or allow MO to aid you, but you must also ensure the left-hand order is correct.

 

 

Why does MO make these checks?

As the dialogue says:

Quote

 

 

The conflict resolution order for some mods containing scripts differs from that of the corresponding esp.
This may lead to subtle, hard to locate bugs. You should re-order the affected mods (left list!).
There is no way to reliably know if each of these changes is absolutely necessary but its definitively safer.

Isn't that something we all want, a reliable working game? There is no nefarious intrusion on your modding going on, simply another tool to aid in ordering your mods.

 

Doesn't LOOT already do this for us?

No. LOOT deals only with the plugins (right-hand pane) and therefore has no possibility of handling the order of the mods. (left-hand pane)

 

I didn't have to worry about this with NMM/FOMM/Wrye Bash. What's the big deal?

That's right, you didn't. You also didn't have the ability to move your mods that contain these assets around to provide the best installation. All other managers rely on the actual install order and if you make a mistake, you have to start over. Because MO allows you to do this it also provides a tool to check for any errors.

* Note the proviso mentioned in the first comment below.

 

Okay, so if I do ignore MO's warnings, what will happen?

Good question. Depends on what is provided by the 'winning' mod in the conflict. Remember all MO is doing is checking for the presence of scripts that are the same, it makes no line-by-line comparisons of the actual script code.

If the scripts are identical, nothing will happen. If the scripts are different then the desired effect will either be missing or broken somehow. MO doesn't know there will be a problem, that's why it is called a "potential" problem.

 

Yeah, yeah, but these messages annoy me.

Hmm... easily offended are we? Not to worry, MO also allows you to disable ALL helpful messages if you desire, just examine the 'Settings'.

 

 

So, next time you see this error dialogue, stop to think what is actually being offered to you.

Here is a helpful reminder to re-examine the list of mods/plugins and check if there are issues.

 

Have a look at the amount of code involved in the LOOT project to see what is needed to have software make all these checks for you, and that is only for checking *.esp/esm conflicts. Imagine what would be needed to create code that checks the internals of scripts or other assets to order them correctly!

While MO isn't quite performing those sort of tasks, it is doing the next best thing - warning of potential problems!

8 answers to this question

Recommended Posts

  • 0
Posted

Thank you for writing this down, I'm sure this will be helpful to users.  ::):

 

One correction though:

 

I didn't have to worry about this with NMM/FOMM/Wrye Bash. What's the big deal?

That's right, you didn't. You also didn't have the ability to move your mods that contain these assets around to provide the best installation. All other managers rely on the actual install order and if you make a mistake, you have to start over. Because MO allows you to do this it also provides a tool to check for any errors.

 

This isn't entirely true. At least when the assets are stored in BSAs, the engine automatically loads the assets in the same order as the plugins. This means that with other mod managers, as long as the assets are in BSAs you automatically get the asset load order that MO suggests for all esp/bsa bundles (including those without scripts) without doing extra work.

 

MO gives users more flexibility here, allowing assets (including those in bsas) to be rearranged freely and warns when you may be shooting yourself in the foot with this freedom.

  • 0
Posted (edited)

Thanks for the details. 

 

Something I had a really hard time to figure out, and I believe should be mentionned :

 

  • MO searches the list of mods for those that contain scripts (*.pex) and uses ONLY THOSE mods for the next step
 

This is extremly accurate. Unlike I thought at first, that it was displaying warnings only for mods in mismatched LO-position - Ressources-Position which had scripts (.pex files) overriding each other. It display the message, no matter what scripts we're talking about.

Edited by Kesta
  • 0
Posted

hi,

There is one thing that sometimes bother me with PMOP

 

it's how obscure its suggestions seems to be

 

For example :

with my current load order & install order  I get this :

 

 

  • Move Unmanaged: Dawnguard before The Choice is Yours - Fewer Forced Quests - Improved Dialogue Options
  • Move Unofficial Skyrim Legendary Edition Patch before The Choice is Yours - Fewer Forced Quests - Improved Dialogue Options
  • Move Arissa - The Wandering Rogue before The Choice is Yours - Fewer Forced Quests - Improved Dialogue Options
  • Move Cutting Room Floor before The Choice is Yours - Fewer Forced Quests - Improved Dialogue Options
  • Move Even Better Quest Objectives +CRF update before The Choice is Yours - Fewer Forced Quests - Improved Dialogue Options
  • Move When Vampires Attack after Wiseman303's Trap Fixes
  • Move aMidianBorn Book of Silence after When Vampires Attack
  • Move Complete Crafting Overhaul Remade after aMidianBorn Book of Silence
  • Move Better Fast Travel - Carriages and Ships - Overhauled after Complete Crafting Overhaul Remade
  • Move Timing is Everything - Quest Delay and Timing Control after Better Fast Travel - Carriages and Ships - Overhauled
  • Move The Paarthurnax Dilemma after Timing is Everything - Quest Delay and Timing Control
  • Move The Choice is Yours - Dawnguard after The Paarthurnax Dilemma
  • Move Requiem - The Roleplaying Overhaul after The Choice is Yours - Dawnguard
  • Move Bathing in Skyrim after Requiem - The Roleplaying Overhaul
  • Move Take Notes - Journal of the Dragonborn after Bathing in Skyrim
  • Move Enhanced Blood Textures after Campfire - Complete Camping System
  • Move Clothing and Clutter Fixes after Weapons and Armor Fixes Remade

 

 

 

so I'm not asking to fix my setup for me, while it would be nice to have some advice, I'm not commenting for this purpose.

Rather I want to comment some of the changes PMOP suggest and why it's very hard to decipher, make sense of it, and maybe it could be improved some day ?

 

so the very first line : Dawnguard is unmanaged alright, so asking me to move it ... XD

also all of "The choice is Yours" lines are already setup like this.(they are all "before" like it asks me to)

Looking at some other changes asked : it's hard to fathom why it asks

for example if you compare "Take Notes - Journal of the Dragonborn" & "Bathing in Skyrim", It's all because of the included FISS script so it doesn't really matter

 

if you compare , "Bathing in Skyrim" & "Requiem - The Roleplaying Overhaul", I don't even see the correlation between the two (there is no file conflict between the two)

 

sooooo...

What am I getting at ?

I believe it would be nice, IF there was a sort of "advanced mode" to PMOP

something that would disclose a bit more of the internal logic of moving stuff around

 

example :
 

Move Take Notes - Journal of the Dragonborn after Bathing in Skyrim // Reason : script conflict resolution (FISS Interface.pex , ...)

Additional Options : FIX, IGNORE,CANCEL

 

another example : if each change doesn't relate to a single reason, there could be a list of reasons separate from the list of proposed fixes

 

Another reason why that would be real nice in my humble opinion is that LOOT is in my humble opinion (again) not the "be all end all" of sorting ESPs & ESMs

so sometimes PMOP wants to fix an install order based on a wrong LOOT order, knowing why PMOP wants to do stuff might help fix the ESP order instead, manually. (example : FISS is ordered by LOOT AFTER some of the mods that depend on it, might work but still bad practice in my humble opinion ???)

 

I realize you might have stopped working on MO anyway, but I thought I'd drop this comment anyway, as it might get read and perhaps help make design decisions in the future.

 

Thanks for reading.

  • 0
Posted

MO is still being developed. There are some fixes that many of us are still waiting on for MO 1.3.12?...1.4? Anyway, most of Tannin's attention is on MO v2 which has 64bit support for newer games like FO4. Version 2 is still in alpha and is dropping PMOP because it also drops BSA management support that is seen in the version 1 releases. Many feel this is a step backwards, but I think we all understand why Tannin is dropping the BSA management support and "getting back to basics" with the new version.

 

Tannin has stated before that PMOP can't really be improved upon though. It simply finds conflicting scripts and tosses out a warning if they're out of order from their related plugin order. This sometime creates false positives. One case would be if two mods have the exact same script. It really doesn't matter, in that case, which order the plugins are in. Another good example is your FISS example above. FISS really wasn't a thing when PMOP was developed and can create false positives there as well. It's not perfect, but in actual modding practices, it's purpose is sound. It's up to the user to determine if the warnings are actually issues or not.

  • 0
Posted

hi TechAngel, thanks for your answer

I'm sorry to say you completely missed my point though xD

 

the point is that PMOP is obscure.

you said : "it finds conflicting scripts ?" alright why doesn't it tell us about them ? hum ? hum ?

 

And yes it's up to the user to determine, but in my humble opinion, not enough information is given to the user, as well as not enough control over PMOP,

imho, we should be able to tell him : ignore those files warnings (points at FISS files) therefore potentially "thinning out" the bunch of warnings that PMOP gives out.

Just saying ...

 

That said if PMOP is dropped in v2 then I suppose there's no point in putting more time in its development xD

  • 0
Posted

Actually, I didn't and I agree with your opinions and suggestions j however, what I tried to convey was that Tannin will not likely be improving this feature any. Tannin does welcome users to pick up some work, if they have the skills, and do the improvements themselves and submit the work to him for review and inclusion.

  • 0
Posted (edited)

Ha! I had a quick look at how PMOP works internally, while I'm an amateur programmer, I don't think it's enough to do anything unfortunately *sighs*

but at least now I understand why it works the way it works, I think the main issue is that it's really rough on the edges (it's not a critic). I mean, it does batch work(probably for speed reasons), comparing load order to install order globally which is why it can't identify a single reason for a single problem. also it works by suggesting minimal moves to conflict resolution.

which means the list of "conflicts" may actually be bigger or smaller and this is why PMOP proposed changes make little sense to the end-user.

 

Also I believe suggesting to move "unmanaged" assets is a bug.

 

I have ideas to change that, that could work with minimal efforts on the codebase I believe & minimal strain on execution time.

First would be to have an empty list of "ignored script conflicts" that is checked against the conflicting scripts list to remove some of the conflicts

-PMOP would then do two things : calculate its usual stuff, present its usual fix & also a list of conflicting scripts

-at this moment the user is presented with the option to ignore some script conflicts or not (this list could be behind an ADVANCED button or something)

-if no change were made to ADVANCED : proceed as usual

-if some scripts were ignored : recalculate the list of proposed moves

-the list of ignored is stored which means any future checks will include the user changes

-as a refinement the ignored list could also have a companion user comment list, just so that users could write out their own comments next to their own decisions.

 

I believe this would work, and wouldn't overload PMOP with too much so that its code is still fast enough. much of it is interface changes.

Albeit this is all up in the air right now, probably wasted my "breath" saying all that but whatever, it doesn't really matter xD.

 

Anyways. Thanks for reading and for making your opinion clear now :)

Edited by whismerhill

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.