Jump to content

Wrye Bash - All Games


Utumno

Recommended Posts

The limit warning is still there for .esp files. Basically all regular .esp files and ESM flagged files still count toward your limit of 255 mods. All .esl files will have the ESM flag set even if not on disk at run-time. So I probably should check if they should count towards the 255 limit.

You could have ESM flagged mods and .esp files totaling 177 mods. Then a bunch of mods with the ESL flag set. If you had 450 mods total, then you have 177 non ESL flagged files and 450 active mods.

All ESL flagged and non ESL flagged mods are included in the Bash Patch.

 

load order.jpg

Link to comment
Share on other sites

Yes, thats what I thought, so to eliminate that problem ESLs should not bump the 'normal' Index.

Someone has 0-255 slots already taken, actually I think it should be 254 now

FF (slot 256) is the hard coded save game slot

FE (slot 255) is now the hard coded slot for all ESL forms

So we only have 0-254 for plugins (including vanilla plugins and a Bashed Patch)

 

So someone has filled all 254, then they add another esl

Wrye Bash will complain that there are too many plugins and will not rebuild the patch

Whereas if this newly added ESL did not bump the Index, Wrye Bash would be happy.

 

If ESL forms are all going to load at FE, then ESLs bumping the Index is an unnecessary hindrance .. When we used to Merge plugins fully into the Bashed Patch, this was not an issue because Wrye Bash would auto-deselect them (putting a + indicator in the tick box to let the user know the mod had been merged into the bashed patch, and was not counting towards the plugin limit of activated mods)

Edit : Note .. My earlier Screenshot of Wrye Bash with + next to the mergeable plugins, was a screenshot of Utumno's nightly build having merged those plugins (see the version number in the title bar of Wrye Bash)

Link to comment
Share on other sites

And my terminology, so it's not confusing. Lower case is for file extension, upper case is for flag names. So .esl file extension is just the extension. CC mods have both falgs. An ESL flagged file isn't an .esl file as it could have the .esp extension. Full slots are normal ESM flagged files and .esp files with no flags. Light slots are plugins that have the ESL flag.

 

Quote

So someone has filled all 254, then they add another esl Wrye Bash will complain that there are too many plugins and will not rebuild the patch

Correction: "So someone has filled all 00-254 (00 - FD) full slots, then they add another .esp file and Wrye Bash will complain that you cannot exceed 255 active plugins, and will not allow the mod to be active."

Link to comment
Share on other sites

Yup

Plus see my edit in my last post, I just read back a bit and reference the +, you dont need to look into that in your build I dont think, that was the result of Utumnos build merging the plugins and still having them marked appropriately as being merged ( I included Wrye Bash title bars in my screenshots to show which version is in use )

Edit : I think that about covers all and all is understood, gotta go, stuff to do.

Link to comment
Share on other sites

No worries. I will make sure that you can't activate mods past FD if they are all full slots so there are no errors later on. I think I have to check for the + though anyway. I'm not sure I added proper code for the icons, just the other 98% of the code was updated. Your observations were very helpful, thanks for sharing them.

Link to comment
Share on other sites

@Sharlikran something else to note, Save games are always coming up Orange :

"Some plugins have changed order. the game and the Construction Set/Creation Kit will adjust for this when loaded. However, if some of the plugins that you depend made conflicting changes to the same item, a different plugin may now dominate because of the reordering."

This is with the version I was using yesterday, and also with 307.201810141217

See also Tankers post in the Plugins and You topic 

 

In the following screenshot, Load Order has changed for some of the older saves, but the most recent two at the top there has been no change at all

v1J8Rhu.png

Here is the actual Load Order

UfX4Cpb.png

Note that Maximum Player Runes / Minimum Jump Height / Social Conversation Distance are ESP which have been Elsified by Wrye Bash. In the Load Order they are being positioned up with the other ESL.

But in the Save Game Masters, they are further down (and out of view) in that list.

I think Wrye Bash new ELSified plugins are causing this out of order issue making saves orange when they should not be.

If you want to try the plugins and "Elsify Self" on them to see what happens, they are here Game Tweaks SSE.

Once they are Elsified, these plugins can be positioned anywhere in the Load Order (in fact LOOT does reorder them to a bit further down), but I wanted them positioned with CBBE.ESL just to keep them together and because it doesnt really matter where these are positioned, their records will always win anyway. So I dragged them back up in Wrye Bash to follow CBBE.esl in the Load Order.

However the save game obviously has different ideas about where these have been positioned.

--------------------------

 

@Utumno Another issue with a reproducer, I am separating this out from the above because its a more complex Python issue which I think is not specifically related to Sharlikran's testing build

Using a Wizard Back button can lose the plot a little, this issue has happened before which Lojack fixed many moons ago, but seems to be occurring again in recent dev builds :

Reproducer - Grab CBBE SE v1.5 Main file, also make a wizard.txt out of the code box in the spoiler in this post.

Put the wizard in the package.

When using the WizBAIN, choose whatever you want until you get to the page with "RaceMenu Morphs" option. Put a tick in the box for that option.

Now go forward to the finish page. When you get there note that there are two plugins ready to install, CBBE.esl and the RacemenuMorphs plugins, now dont click anything except the Back button, and keep going back to where you ticked the box for the RaceMenu Morphs option. Untick it, now go forward to the finish page again.

Now note that the RaceMenuMorphs plugin is not selected for installation - And now finish the Installation.

After that you will see the RaceMenuMorphs plugin got installed anyway, which it shouldn't have done.

Apart from that wizards seem to be working fine, its just when using the back button to change your mind about some options and then going forward again.

Link to comment
Share on other sites

@alt3rn1ty The save game header is not being displayed as it is on disk as far as I remember. Unless it changed at some point, Utumno altered it as he was only doing his best to figure out how to make it display better and in a way that would make sense. He can only do so much to work with what Bethesda has done with the save game header structure and how Wrye Bash displays the save game header and it's files.

If he no longer sorts the list, sorry I didn't know that changed.

Also I believe there is still some disconnection with ESL flagged files and .esl files, and anything relating to the new file format. ESL has nothing to do with Load Order and even Elminster is getting rather tired of repeating himself lately. People are all over the forums and he doesn't have time to correct them all. They should just read the xEdit docs. Let me quote Elminster here.

Quote

ESL flag has 0000000000 impact on load order
an .esp behaves exactly the same, no matter if it has the ESL flag or not
FormID prefix has nothing to do with load order
01, 02, FE000, 03, FE001, ... that's a valid load order
load order is determined by the order in which the modules load. at which point they are assigned the next full or light slot depending on the ESL flag
the ESL flag does not change the load order

I understand it's a new concept for people but it really is very simple. I hope people are not trying to look at their load order and the save game header and determine what is happening in game to qualify ESL functionality. That would be very disappointing as the game determines the order that the modules will be loaded when you start Skyrim SE or Fallout 4. Those decisions happen before you create a new game or load a save game. When the save game is written to the disk, the ESL flagged files are added to the save header in a very arbitrary way.  The other thing I mention in the xEdit docs is that files with the .esl extension will then load in what is traditionally called the ESM block whether or not they have and ESL flag on disk. However, they may be in the save game among the other ESL flagged files just because of the extension.

Your feedback is appreciated and I don't think it is meant to criticize me or be disparaging in any way. However, it does bear the implication that you feel the changes are wrong. LOOT and xEdit are the benchmark for my changes as they display files in a way that coincides with how the game itself works. In fact xEdit after selecting the modules to load from the module selection screen, will rearrange any files that have delinquent masters.

For Wrye Bash it should be close to what LOOT and xEdit do but it may not be perfect. I am also not getting reports of Wrye Bash shifting the load order in a way that doesn't coincide with how LOOT sorted the mods. For example if you had just sorted with prior to opening Wrye Bash.

My changes are not causing anything. I appreciate the feedback but I don't know if I feel comfortable contributing anymore, again, at this point. Users are posting on the nexus that the program is unusable in it's current state and I don't think Utumno reads the Nexus or has time to make changes that would improve the programs usefulness. I'll just explain why the save header is the way it is and go work on xEdit as that is probably a better use of my time and would be better received.

The save game header has basically two parts to it. The first section is the original or traditional section where it shows the plugins with the ESM flag or .esp files without flags. This is the same system that has been in place for over a decade for Oblivion up to original Skyrim. The restriction though is that it can't have more then 255 files listed which is a Byte. With the invent of ESL files Bethesda did not add them to that section because of the limitation of 255 files in the header, or 00 to FD.

What they decided to do was to add the ESL files to an additional block at the end and you reference that block by first finding the count of files Bethesda has saved there. So you would loop over the save game header for the first block which is all the full slots. Then at the end you will find a count and from there you loop over the files that are assigned a light slot.

Without sorting them like Utumno attempted to do, they would make no sense. Bethesda did not make that part of the save game header convenient for displaying the order of the files in a way that is useful.

Link to comment
Share on other sites

Having the save header display correctly for ESL use would be nice, but I imagine that's not as easy as it sounds.

Link to comment
Share on other sites

37 minutes ago, Sharlikran said:

Your feedback is appreciated and I don't think it is meant to criticize me or be disparaging in any way. However, it does bear the implication that you feel the changes are wrong.

My bold - Nope, I am just pointing out that Wrye Bash is giving users a message that makes us think something is wrong, so if ESLs are to be supported then Wrye Bash needs to change the messages it is giving - IE The orange colouring which people are looking up in the Docs, which are telling them and I will quote it again so that it is clear ..

"Some plugins have changed order. the game and the Construction Set/Creation Kit will adjust for this when loaded. However, if some of the plugins that you depend made conflicting changes to the same item, a different plugin may now dominate because of the reordering."

I feel the changes are marvellous, and hope they can be made to work.

 

The only downside is losing the ability to free up slots by fully merging some mods, but if that can be made to work one way or the other as previously discussed it would be excellent .. Personally I never use above say 50-100 mods anyway, makes no difference to me :), but there are a lot of people out there can never have enough slots and will moan about the ones they have to prune because Bash has lost the ability. Tis just something to consider thats all.

Link to comment
Share on other sites

I'll leave my post as I had it. However, Wrye can no longer because of ESL flagged files display the files in the order they are used in the game. ESL has no effect on load order so the order of the files in the save header is useless and meaningless. It has not been suggested but before it is, I don't see the point of hiding them either. The docs can't say that for Skyrim SE and Fallout 4 it's useless. I guess it could. That's not a decision I want to make.

Link to comment
Share on other sites

;) Thanks Sharlikran, when I test things I give feedback from a users point of view, you need never take anything as if its personal from me.

Suggestion I wonder if Wrye Bash would be able to check, and edit, the content of ..

Skyrim.ccc

Then if Wrye Bash could add Modders ESLs (aswell as Official ESLs), to that list, then it could still deactivate light plugins so long as they remain in that list.

This would act like the old merging, instead of Wrye Bash merging them into the Bashed Patch, its telling the game to auto load them like official ones do, and so they can be deactivated if that condition is true .. And still manage to free up slots ?

 

Link to comment
Share on other sites

No the CCC can't be altered as that is provided by Bethesda, that would be about as bad as changing Skyrim.esm and it would be replaced with the next update to the creation club content.

Quote

This would act like the old merging, instead of Wrye BAsh merging them into the Bashed Patch, its telling the game to auto load them like official ones do, and so they can be deactivated if that condition is true .. And still manage to free up slots ?

That's not needed. Files with the .esp extension that qualify to be merged into the bash patch like it would for original Skyrim should be given the ESL flag. Especially since the flag has noting to do with load order.

Any files that sort among the ESM block have the ESM flag, so they have to be there anywy, or have the .esl extension and will be given the ESM flag at runtime even if not on disk.

Link to comment
Share on other sites

Yes Wrye Bash would have to check that file every time it loads, in case an official update comes along and adds more official content wiping out the edits Wrye Bash last did.

But its no worse than me adding Cleaned Official DLCs into a BAIN, and setting the Installers switch to NOT "Skip Bethsoft Content" in packages, so that I can install official content that has been cleaned with xEdit

Edit : Anyway, its just an idea I thought worth throwing in there. People are already manually doing that in the modding community.

 

ij6yyBL.png

Link to comment
Share on other sites

Adding an ESL flagged file to the .ccc file would only work for a genuine .esl and not for one that's in a regular .esp file with the ESL flag. Messing with that is going to screw up the load ordering since the contents of the .ccc file are loaded prior to the ESM flagged block in the load order.

Something like this couldn't be used for any sort of patch file that depends on its position being correct relative to its masters. Plus I agree that allowing edits to a Bethesda supplied file like this is a bad idea.

Link to comment
Share on other sites

Now sorry if I'm seemingly abrasive alt3rnaty, not my intent. It's all good. The sorting on the mods tab is what it should be from what LOOT and xEdit are doing. Howeer, the save game header can't be used really. Because you can't pre determine how the game will load them 100%. The same as elminsters example. As the game looks at plugins.txt it just says, filename is Skyrim.esm full slot 00, SomePlugin.esp full slot 01, next is SomePlugin.esp with the ESL flag so Light slot FE 000, and so on.

Link to comment
Share on other sites

The CBBE.esl file has the .esl extension so it has to go in the ESM block. Then ESM flagged files go there also.  All .esp files can have an ESL flag and be sorted however you need among all the .esp files that don't have a flag.

:hugs: basically how you are allowed to sort things is how it works.

Link to comment
Share on other sites

It is the correct logic to look at plugins.txt though alt3rnaty for the order of files. With the exception of the CCC and DLC. So to be honest I might be able to deal with the esl files in the save header, if we all cross our fingers. I'll make an attempt.

  • Thanks 2
Link to comment
Share on other sites

Yep I understand. I'm loving the huge amount of changes and development to xEdit recently (and the knock on effect of adding more ability to Shesons projects in beta at the moment), dont knock yourself out on too many projects.

Link to comment
Share on other sites

Elminster is doing all the work on xEdit I'm just sitting back on awe and wonder of it all. He is now adding the ability to check for a new version and show the user when one is available. It just looks at the tag_name field as shown here. But not gonna try that just yet. I'm waiting to see how Elminster does it first, and I don't know what code is out there for that. But with comtypes I may not need other code. I just haven't looked into it yet. I'm just interested in the possibility.

Link to comment
Share on other sites

My take from all this is that the files are working as they are supposed to. WB isn't going to display the save's masters in the way that I want (no more purple), but this is not actually a problem for the game. It's only a problem if I accidentally mess up my load order, because I won't be able to use the color coding of the save files to spot issues. Well, I should be more careful anyway. 

It is surprisingly easy to convert .esl files back to regular plugins (CK help files tell how), and I did that with the two that I have. But that defeats the purpose of .esl's, of course. I'm certainly not going to give up Bash for SSE at this point, just because I can't have purple save files. It still shows all the masters as they were loaded by the game, which is what no other manager does (except the old Morrowind launcher). 

I want to thank everyone for the continued work on Bash (and Mash -- I use Sharlikran's version). As far as I'm concerned, it is the only usable mod manager for SSE. I can't do all the "weird" things you guys do to test it for bugs. I just use it to install and manage mods, and it's just about flawless at that level.

Link to comment
Share on other sites

On 10/16/2018 at 4:38 AM, Sharlikran said:

It is the correct logic to look at plugins.txt though alt3rnaty for the order of files. With the exception of the CCC and DLC. So to be honest I might be able to deal with the esl files in the save header, if we all cross our fingers. I'll make an attempt.

We need our saves to show up good and healthy!

...

There may be some kind of ephemeral type of bug in the ini tweaks section.
Loaded up a mod A via wizard and checked its ini tweaks were applied. All nicely activated and showing up in Oblivion.ini. Uninstalled mod and the tweaks nicely reverted to vanilla.

Installed mod B with wizard and checked its ini tweaks were applied- but then there was a message about not finding Oblivion.ini albeit its contents still showing up in the ini tweaks section. When that message was okayed I think the tweaks were applied and Oblivion.ini was edited.

However when it came to uninstalling B and re-installing A as before, the "missing Oblivion.ini" popup did not arrive- and although the ini tweaks showed as applied, Oblivion.ini was not changed - even when restarting WB and running as Admin.

That's all the info on offer at this time- the file system here is fairly healthy and Oblivion.ini has never been removed. (Edit:) Also worth noting the Anneal function was also used when the yellowed package showed the ini tweaks as missing. Could that have broken something?

Thanks.

Link to comment
Share on other sites

On 10/18/2018 at 1:36 AM, lmstearn said:

We need our saves to show up good and healthy!

 

The only reason I am not sure I can ever make sense of the esl section is because...

Probably no way to convert this:

Spoiler

 

Non ESL List:

00 Skyrim.esm
01 Update.esm
02 Dawnguard.esm
03 HearthFires.esm
04 Dragonborn.esm
05 Falskaar.esm
06 SkyUI_SE.esp
07 3DNPC.esp

ESL List:

00 Insignificant Object Remover.esp
01 SomeESLMod.esp
02 SomeESLModB.esp
03 SomeESLModC.esp
04 SomeESLMod-ESM-Flagged.esp
05 SomeMod.esl

 

 

 

To This:

Spoiler

 

00 Skyrim.esm
01 Update.esm
02 Dawnguard.esm
03 HearthFires.esm
04 Dragonborn.esm
FE 000 SomeESLMod-ESM-Flagged.esp
05 Falskaar.esm
FE 001 SomeMod.esl
06 SkyUI_SE.esp
FE 002 SomeESLMod.esp
07 3DNPC.esp
FE 003 SomeESLModB.esp
FE 004 Insignificant Object Remover.esp
FE 005 SomeESLModC.esp

 

 

 

There is no data stored anywhere to know how to insert "SomeESLMod-ESM-Flagged.esp". How do we know that game had that while you were playing?

Because of how Wrye Bash works though it is not a good idea to try and make it display the "FE 000" part anyway. Ignore that from the example because I wanted to show how the games sees that. ESL flag has nothing to do with load order.

There is just too much code to change. To Wrye Bash the plugin list looks like this.

Spoiler

00 Skyrim.esm
01 Update.esm
02 Dawnguard.esm
03 HearthFires.esm
04 Dragonborn.esm
05 SomeESLMod-ESM-Flagged.esp
06 Falskaar.esm
07 SomeMod.esl
08 SkyUI_SE.esp
09 SomeESLMod.esp
0A 3DNPC.esp
0B SomeESLModB.esp
0C Insignificant Object Remover.esp
0D SomeESLModC.esp

Everything works the way it is right now with over 255 mods. My test environment with about 397-ish and make the bash patch just fine. xEdit didn't have that ability initially because it was designed around the idea of having 255 plugins max. Wrye Bash was never designed with that in mind. It was made to handle more the 255 plugins because it was going to merge them into the Bash Patch so all of the code knows what to do. Start messing with it and it will break all over the place.

So really it needs to be something were you can let go of that "my save is healthy" feature because it's not really possible. If I just sort it according to plugins.txt then it would always be healthy unless you uninstalled a mod. That's not what the feature was designed to do.

Link to comment
Share on other sites

Didn't read the thread right through, sorry. This issue only arises when the ELSified feature is applied?

Sounds as if the saves tab would want two lists anyway

5 hours ago, Sharlikran said:

on ESL List:

00 Skyrim.esm
01 Update.esm
02 Dawnguard.esm
03 HearthFires.esm
04 Dragonborn.esm
05 Falskaar.esm
06 SkyUI_SE.esp
07 3DNPC.esp

ESL List:

00 Insignificant Object Remover.esp
01 SomeESLMod.esp
02 SomeESLModB.esp
03 SomeESLModC.esp
04 SomeESLMod-ESM-Flagged.esp
05 SomeMod.esl

Thus any changes in the ESL list reflect there only, so it's then possible to have a different colour for each list. But a bit of work because the ESL info in a new array would also have to be stored in .dat.

Link to comment
Share on other sites

1 hour ago, lmstearn said:

Didn't read the thread right through, sorry. This issue only arises when the ELSified feature is applied?

Sounds as if the saves tab would want two lists anyway

Thus any changes in the ESL list reflect there only, so it's then possible to have a different colour for each list. But a bit of work because the ESL info in a new array would also have to be stored in .dat.

So first yes the second list applies to only ESL flagged files.

Two lists on the saves tab no. Makes no sense. You have to look at my example more closely. Let me quote Elminster.
 

Quote

ESL flag has 0000000000 impact on load order
an .esp behaves exactly the same, no matter if it has the ESL flag or not
FormID prefix has nothing to do with load order
01, 02, FE000, 03, FE001, ... that's a valid load order
load order is determined by the order in which the modules load. at which point they are assigned the next full or light slot depending on the ESL flag
the ESL flag does not change the load order

00, 01, 02, FE000, 03, FE001, 04, FE002, FE003, 05, 06

So that is a valid load order. You and everyone keeps thinking in the old fashond way where you feel all mods load in some kind of sequential order according to what has been called the Prefix. 0100182F where 01 is the prefix. Any mod without the ESL flag gets a normal slot, and mod with the ESL flag gets a light slot.

No way to reconstruct one list of how the game loaded the mods at run time and then take two lists and somehow guess as to the correct placement. I would have to check again but last time I looked when ESL files were introduced, the list of files was saved in alphabetical order. Which would make it even more difficult to figure out.

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