Jump to content

[RELz] LOOT - Load Order Optimisation Tool


WrinklyNinja

Recommended Posts

Link

- name: 'YUP - NPC Fixes (Base Game + All DLC).esp'
url: [ 'http://www.nexusmods.com/newvegas/mods/51664' ]
- global_priority: -80

+ group: *ttwPatchesGroup

 

This should probably be group *yupFixesGroup

Displaying the name of the groups instead of the priority numbers (in the left pane in case the editor is opened) has a great side effect, if done right it can immediately convey the information from which mod a plugin comes from.

 

 

Link to comment
Share on other sites

For classic Skyrim, Dawnguard.esm, Hearthfires.esm and Dragonborn.esm are within group *unofficialPatchGroup

Was that intentional? Shouldn't they be in one group with Update.esm? On the other hand, you put Update.esm in *updateEsmGroup ..

Link to comment
Share on other sites

30 minutes ago, pStyl3 said:

Link

- name: 'YUP - NPC Fixes (Base Game + All DLC).esp'
url: [ 'http://www.nexusmods.com/newvegas/mods/51664' ]
- global_priority: -80

+ group: *ttwPatchesGroup

 

This should probably be group *yupFixesGroup

Displaying the name of the groups instead of the priority numbers (in the left pane in case the editor is opened) has a great side effect, if done right it can immediately convey the information from which mod a plugin comes from.

 

 

15 minutes ago, pStyl3 said:

For classic Skyrim, Dawnguard.esm, Hearthfires.esm and Dragonborn.esm are within group *unofficialPatchGroup

Was that intentional? Shouldn't they be in one group with Update.esm? On the other hand, you put Update.esm in *updateEsmGroup ..

For now I've just done a 1:1 mapping from global priorities to groups, some of the names aren't fully inclusive and some groups could be subdivided, but that's something I'll get around to later.

For now, I need to figure out how to sensibly map local priorities to groups. This is a bit trickier because local priorities only have an effect between two conflicting plugins with the same global priority, so I think the groups will need to take into account any global priority inheritance...

Link to comment
Share on other sites

I can open the new group editor, though not much is currently working from within it. Using the bin icon doesn't have an effect, as does "New after group name +". The latter is actually displayed twice for me at the bottom of the group editor. I can click on the different groups on the left side, which updates the top entry on the right side, but it seemingly does not display the entry I clicked on.

The group of each plugin is displayed in the normal editor, so that seems to work.

Link to comment
Share on other sites

5 minutes ago, pStyl3 said:

I can open the new group editor, though not much is currently working from within it. Using the bin icon doesn't have an effect, as does "New after group name +". The latter is actually displayed twice for me at the bottom of the group editor. I can click on the different groups on the left side, which updates the top entry on the right side, but it seemingly does not display the entry I clicked on.

The group of each plugin is displayed in the normal editor, so that seems to work.

I thought I fixed both inputs having the same placeholder text... The rest is probably just it being a terrible UI though. The left is a list of groups, the right is a list of the groups the selected group should load after. If the bin icons are grey they're disabled because it's data defined in the masterlist. You're supposed to type the name of a new group (on the left) or a new group to load after (on the right) then click the plus icon to add it.

Link to comment
Share on other sites

Okay, now things make more sense. I can add groups and groups to load after just fine, and bin them if I want to.

I think it is a bit confusing to display the right list (groups to load after) always at the top of the right pane. One way to deal with this could be to display the groups to load after at the same line/height as the target group (left side) is at.

Or, if that should stay that way, try to distinguish more between the two columns, however that would look like .. maybe with index numbers for the list of groups to load after (right side), in order to convey the information that they belong to something (the target group on the left).

Anyway, I can add multiple groups on the left with name "Test". Is that alright (allowing identical group names)?

Link to comment
Share on other sites

1 hour ago, pStyl3 said:

Okay, now things make more sense. I can add groups and groups to load after just fine, and bin them if I want to.

I think it is a bit confusing to display the right list (groups to load after) always at the top of the right pane. One way to deal with this could be to display the groups to load after at the same line/height as the target group (left side) is at. Or, distinguish more between the two columns, however that would look like .. maybe with index numbers for the list of groups to load after (right side), in order to convey the information that they belong to something (the target group on the left).

I was thinking of adding some more spacing and mentioning the selected group in the title of the load after column, e.g. instead of "Load After", "<Group name> loads after...". I'm also thinking of hiding the delete icon completely for entries that can't be deleted, maybe that's less initially confusing.

Also, new build. I've fixed a few bugs about the group lists not updating properly when state changes, and (now that the v0.13 masterlist branches are fully converted) removed priorities from the GUI. The API used still supports them, so any userlist priorities will still be used when sorting, but that'll go too in due course.

Link to comment
Share on other sites

On 2/26/2018 at 1:32 AM, BBCM said:

I also have kb140245 installed on my Win7 machine with LOOT 0.12.4 and cannot acquire a masterlist. But I am a complete newb when it comes to this.

Please, which MS Easy Fix and what Registry key?  Alternatively, how do you manually download and install a masterlist?

Sorry for being so stupid about all this. Will this mean manually installing any new masterlists every single time from now on?

Thanks for any help! 

 

So sorry to be late responding, I just now (March 23) got a notification about your post. I ran the MS Easy Fix that I linked in my OP. The correct Registry Key is "known" to the Easy Fix so you don't need to worry about it- just click my link and tell it "OK" to any questions it asks. Worked for me.

Link to comment
Share on other sites

If I try to Apply-close the Groups Editor, I get the following: Cannot read property 'map' of undefined

Cancel-closing it works just fine.

Link to comment
Share on other sites

13 hours ago, pStyl3 said:

If I try to Apply-close the Groups Editor, I get the following: Cannot read property 'map' of undefined

Cancel-closing it works just fine.

Ah, I broke that, fixed in this build, which also adds documentation for groups and removed priorities docs and improves the sorting error message when an undefined group is referenced.

Also, here's a list of all plugins which had local priorities, and so are most likely to suffer accidental load order breakage from the conversion:

Spoiler

Plugins which had local priorities
==================================

Skyrim SE: none

Skyrim LE:

- UnlimitedBookshelves.esp
- Requiem - Bugsmasher Edition.esp
- Requiem - Legendary Bugsmasher Edition.esp
- Requiem - Hearthfire.esp
- NRM_Dragonborn_Reqtified.esp
- Fozars_Dragonborn_-_Requiem_Patch.esp
- Requiem - Audio Overhaul for Skyrim.esp
- Requiem - Minor Arcana - USLEEP patch.esp
- Requiem - Height Adjusted Races with True Giants.esp
- BetterQuestObjectives-RequiemPatch.esp
- Pre PaMa WAFR Patch.esp
- Pre PaMa CCF Patch.esp
- Pre PaMa CCOR Patch.esp
- Ordinator - Perks of Skyrim.esp

Fallout 4:

- NoSharedDogmeatTemplate.esp
- Scrapper Corpse Highlighting.esp
- Scrapper Corpse Highlighting DLC Patch.esp
- Scrapper Corpse Highlighting - DLCRobots Fixes.esp
- Scrap Everything.esp
- Scrap Everything - Ultimate Edition.esp
- Scrap Everything - Core.esp
- Scrap Everything - Automatron.esp
- Scrap Everything - Far Harbor.esp
- Scrap Everything - Vault-Tec Workshop.esp
- Scrap Everything - Nuka World.esp
- EnhancedLightsandFX.esp

Fallout 3:

- RadioHotkey.esp
- RadioHotkey_RadioBluesAddon.esp
- FasterMorePowerfulMines.esp
- fasttravelfromindoors.esp
- FastTravelIndoors.esp
- PLFewerItems.esp

Fallout New Vegas:

- Mart's Mutant Mod Merged Patch Helper.esp
- ttwadvertitronradioshownfix.esp
- ttw_-_cut_item_stats.esp
- YUP - Gameplay Tweaks.esp
- YUP - Gameplay Tweaks - TTW.esp

Oblivion:

- GTAesgaard_2.esm
- DibellasWatch.esm
- Morrowind_ob.esm
- Essential_Merchants.esp
- HrmnsOblivionScriptOptimizationv1.0.esp
- HrmnsOblivionScriptOptimizationv SI 1.0.esp
- Skillbookssave.esp
- OBSE Save Skill Books For Later DV.esp
- Book Jackets Oblivion - SSBFL.esp
- Book Jackets Oblivion - BP - SSBFL.esp
- Oblivion Vwalk.esp
- CyrodiilUpgradeResourcePack Vwalk.esp
- SoVvM Vwalk.esp
- Oblivion_SI Vwalk Full.esp
- TRoN.esp
- TRoN 0-59-1b Vwalk.esp
- TRoN Rwalk.esp
- TRoN Swalk.esp
- TRoN Vwalk.esp
- Underdark v1.1 Delayer.esp
- !Oblivion_PL.esp
- tes4-CHS-main.esp
- Better Looking NPC.esp
- EURN.esp
- xeoex.esp
- xeoex Vwalk.esp
- xeosp++.esp
- xeosp++ Vwalk.esp
- TNR - THE REDGUARDS.esp
- TNR - THE DUNMER.esp
- TNR - THE IMPERIALS.esp
- TNR - THE BRETONS.esp
- TNR - THE ALTMER.esp
- TNR - THE BOSMER.esp
- TNR - THE NORDS.esp
- TNR - THE ORCS.esp
- TNR - THE KHAJIIT.esp
- TNR - THE ARGONIANS.esp
- TNR - all.esp
- TNR- All Races.esp
- TNR ALL RACES FINAL.esp
- TNR - ALL RACES FINAL.esp
- TNR - ALL RACES FINAL DV.esp
- TNR - All Races for OOO.esp
- TNR - ShiveringIsles.esp
- TNR - ShiveringIsles no helms.esp
- Tamriel NPCs Revamped.esp
- Cobl Races TNR.esp
- Cobl Races TNR SI.esp
- Cobl - NPCDiversity - TNR Merge.esp
- TweakedGenericFaces.esp
- TweakedGenericFaces-LITE.esp
- Better-Horse-Eyes.esp
- Younger Hotter NPC's 0.99.esp
- Younger Hotter NPC's v1.0.esp
- Younger Hotter NPC's v1.0_GE.esp
- YoungerHotterNPCwithPussies.esp
- YH Orcs v1.esp
- Ren's hair on Young Hot NPCs.esp
- Ren's hair on Young Hot NPCs Vwalk.esp
- Younger  Women's_1C Gold.esp
- Beautiful_Women_NiceOnly.esp
- Beautiful_Women_DB_Addon.esp
- Beautiful_Women_SI.esp
- Beautiful_Women_Vampires.esp
- Beautiful_Women_Vampires_50.esp
- Beautiful_Women_DB_Addon Vwalk.esp
- Beautiful_Women_NotSoNice_Bonus.esp
- Beautiful_Women_Revised.esp
- Beautiful_Women_Revised_DB.esp
- Beautiful_Women_Revised_SI.esp
- Beautiful_Women_Revised_NotSoNice.esp
- Handsome_Gents_Addon.esp
- Handsome_Gents_DB_Addon.esp
- Handsome_Gents_SI.esp
- Handsome_Gents_Vampires.esp
- Handsome_Gents_Vampires_50.esp
- Handsome_Gents_Bonus.esp
- Handsome_Gents_Revised.esp
- Handsome_Gents_Revised_DB.esp
- Handsome_Gents_Revised_SI.esp
- emperorface.esp
- Absolutely_Sexy_MarketDistrict.esp
- YoungerNPCs.esp
- Colourwheels Sexy Female NPCs.esp
- Colourwheels Sexy Female NPCs Vwalk.esp
- ChangeSomeCyrodiilLadies.esp
- CSCP.esp
- Beautiful Amazon.esp
- BeautifulJensine.esp
- Prettier Vampire Faces.esp
- Better Faces.esp
- BPFace_Oblivion.esp
- LD_Patrick_Stewart_Sean_Bean.esp
- TolkieneElderElf.esp

EDIT: Also, the documentation for the group-metadata branch is now available online.

Link to comment
Share on other sites

I now see that you've changed it so LOOT enforces unique group names. That's generally working, LOOT tells me that the group already exists if I type the name of an already existing group. However, if I add a new group (typing the name, clicking on the +, Apply), and reopen the groups editor, I will still see the string I've entered into the textbox the last time I've used the groups editor. In this case, LOOT won't tell me that the group name already already exists. I can then proceed to add it a second time and apply that.

I think it would be best if the textbox where I enter a new group name would be cleared, once the + is clicked. That should prevent such issues. Also, could it be adjusted, so that I can also use "Enter" to add the group name to the list?

Link to comment
Share on other sites

I've created two new groups, Test_Inigo and Test_RunForYourLives. I did not specify groups for them to load after when I apply-closed the groups editor. Without adding any plugins in my load order to those newly created groups, I've sorted my load order (no changes had to be made). LOOTDebugLog.txt

Then I added Inigo.esp to Test_Inigo and Run For Your Lives.esp to Test_RunForYourLives - both groups still without specified groups to load after. Then I've sorted my load order again, LOOTDebugLog.txt - both plugins were placed at the bottom of my load order. Is that behavior you would expect? Since the new groups had nothing definied to group load after, I wouldn't have expected for the plugins to move at all, let alone after Alternate Start - Live Another Live.

Link to comment
Share on other sites

2 hours ago, pStyl3 said:

I've created two new groups, Test_Inigo and Test_RunForYourLives. I did not specify groups for them to load after when I apply-closed the groups editor. Without adding any plugins in my load order to those newly created groups, I've sorted my load order (no changes had to be made). LOOTDebugLog.txt

Then I added Inigo.esp to Test_Inigo and Run For Your Lives.esp to Test_RunForYourLives - both groups still without specified groups to load after. Then I've sorted my load order again, LOOTDebugLog.txt - both plugins were placed at the bottom of my load order. Is that behavior you would expect? Since the new groups had nothing definied to group load after, I wouldn't have expected for the plugins to move at all, let alone after Alternate Start - Live Another Live.

Well, your log shows they're loading there due to overlap with LAL, because LAL doesn't load after the groups they belong to.

Would it be useful for this case if the groups editor also displayed a list of groups that have the selected group in their load after lists?

Link to comment
Share on other sites

3 hours ago, pStyl3 said:

I now see that you've changed it so LOOT enforces unique group names. That's generally working, LOOT tells me that the group already exists if I type the name of an already existing group. However, if I add a new group (typing the name, clicking on the +, Apply), and reopen the groups editor, I will still see the string I've entered into the textbox the last time I've used the groups editor. In this case, LOOT won't tell me that the group name already already exists. I can then proceed to add it a second time and apply that.

I think it would be best if the textbox where I enter a new group name would be cleared, once the + is clicked. That should prevent such issues. Also, could it be adjusted, so that I can also use "Enter" to add the group name to the list?

I've made a note of both.

Link to comment
Share on other sites

1 hour ago, WrinklyNinja said:

Well, your log shows they're loading there due to overlap with LAL, because LAL doesn't load after the groups they belong to.

Would it be useful for this case if the groups editor also displayed a list of groups that have the selected group in their load after lists?

Hmm, I was a bit confused there .. but I think I do understand things better now. Your suggestion basically would translate to a third column in the groups editor named "<Selected Plugin> loads before..." - right? It would probably be a nice to have feature, on the other hand it would also increase the confusion when looking at the groups editor. Two columns is probably enough as is.

What would be great .. right now the left pane in the groups editor is depicting the groups, and they are ordered alphabetically. Would it be possible to order them like they would load after one another during sorting? Ordering them alphabetically is good in order to find a specific group within the list of groups, but deciding after which group A my custom group B shoud load would be easier, if I could see the 'order' of groups. Maybe add an option to toggle between the two ways of displaying the list of groups?

Link to comment
Share on other sites

52 minutes ago, pStyl3 said:

Hmm, I was a bit confused there .. but I think I do understand things better now. Your suggestion basically would translate to a third column in the groups editor named "<Selected Plugin> loads before..." - right? It would probably be a nice to have feature, on the other hand it would also increase the confusion when looking at the groups editor. Two columns is probably enough as is.

What would be great .. right now the left pane in the groups editor is depicting the groups, and they are ordered alphabetically. Would it be possible to order them like they would load after one another during sorting? Ordering them alphabetically is good in order to find a specific group within the list of groups, but deciding after which group A my custom group B shoud load would be easier, if I could see the 'order' of groups. Maybe add an option to toggle between the two ways of displaying the list of groups?

Ordering the groups as they would during sorting would be good, but what about when there's a cycle and the user needs to edit them to remove the cycle? I'm also reluctant to duplicate the sorting logic in the UI, which I'd need to do or have a callback into the API every time you add a group, which is messy.

Ideally I'd like for the groups editor to be a flowchart-like canvas that you could edit, something like this, I think that's a lot more intuitive. That's a bit more complex to implement though, so as a first attempt I went for a couple of lists, but I don't want to do too much with them or else I'll never get around to trying the visualisation.

Link to comment
Share on other sites

Does LOOT still accept reports of dirty edits in Oblivion mods? I just recently restarted playing Oblivion after not playing in years. I remember that back then, reports were done through BOSS' bethsoft.com forum thread, but the bethsoft.com forums are now dead. In LOOT, where should I submit reports of mods with dirty edits?

Link to comment
Share on other sites

Here's a mock-up/WIP screenshot of a graph-visualisation-based groups editor, let me know what you think!

52 minutes ago, TheAdoringFan said:

Does LOOT still accept reports of dirty edits in Oblivion mods? I just recently restarted playing Oblivion after not playing in years. I remember that back then, reports were done through BOSS' bethsoft.com forum thread, but the bethsoft.com forums are now dead. In LOOT, where should I submit reports of mods with dirty edits?

On the Oblivion masterlist's issue tracker is preferred, but here is fine too (it's just more likely to get forgotten about and lost).

Link to comment
Share on other sites

I'm trying out the latest build .. Would it be possible to have the group editor list the groups top to bottom visually (same as the load order)

So instead of Maps being visually at the top, Main game master would be at the top instead.

I get that the arrows are pointing in the direction of the ordering flow, and they can all be dragged around, so it makes no difference really but I just think by default it should flow visually the same as the LOOT load order top to bottom, bottom being last.

 

I like how easy it is dragging the groups around and zoom in/out with the mouse wheel

Link to comment
Share on other sites

6 hours ago, alt3rn1ty said:

I'm trying out the latest build .. Would it be possible to have the group editor list the groups top to bottom visually (same as the load order)

So instead of Maps being visually at the top, Main game master would be at the top instead.

I get that the arrows are pointing in the direction of the ordering flow, and they can all be dragged around, so it makes no difference really but I just think by default it should flow visually the same as the LOOT load order top to bottom, bottom being last.

 

I like how easy it is dragging the groups around and zoom in/out with the mouse wheel

I have very little control over where nodes go with that layout engine, it's possible with another, but it makes less efficient use of the available space, the text can get quite small. I don't think the more logical layout is worth it, and it may be possible to counter a random layout with better styling of the lines/arrows. If the arrows were bigger or appeared at the end of a line, would that help? What about colouring?

EDIT: With the above layout it's possible to go left-to-right, but then there's more of a problem with group names getting very squashed together, and it's not that much better.

Link to comment
Share on other sites

Ah tis no big thing anyway, left to right would be bad with the group names side-by-side.

The arrows being a few pixels bigger would help though. And maybe if the arrow head is a little further along the line, at the moment to me it looks like the arrow head is positioned a third of the way along the line

---->------

It would look better if it were two thirds along

------>----

 

I like the naming of the groups too, Late Patches works for a variety of plugins which need to load after defaults and before dynamic patches (such as filter patches)

Do the groups expand the more types of mods that you actually have installed (For example I currently have nothing installed for Skyrim, so the groups editor is only showing one group, Default) .. Or is it a case of other supported games have yet to have the full set of groups defined for them ?

(Heh, I just noticed Fallout 4 has a lot of groups, and lists them from the top down, main at the top .. Has a mind of its own)

Dont know if you have it noted anywhere but for the to-do list https://loot-api.readthedocs.io/en/latest/api/sorting.html

Link to comment
Share on other sites

On 24.3.2018 at 9:10 PM, WrinklyNinja said:

OK, group input issues fixed in this build.

For completeness sake, I can confirm that those issues were fixed with "loot_0.12.5-20-g599a4c9_group-metadata.7z".

Link to comment
Share on other sites

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...