Jump to content

Wrye Bash - All Games


Utumno

Recommended Posts

On 10/1/2017 at 9:17 PM, Utumno said:

Well - as I keep saying I am very pressed for time. We got to solve couple issues before posting a beta that need lots of work - saves is one, esl and load order is another. A third one is loot @Daidalos is working on that.

@Utumno I think we should leave the loot update out of the beta, I tried integrating the new version and it throws "Runtime Error: bad cast" even in minimal examples. I have already contacted Wrinkly about it here, but I do not know how long fixing this is going to take.

Link to comment
Share on other sites

21 hours ago, Utumno said:

Latest version of utumno wip should support esl SSE saves - give it a whirl

Whirl taken, saves are visible and no errors whatsoever raised either in the GUI or bug dump.

Was able to list and diff masters as expected.

Link to comment
Share on other sites

10 hours ago, hlp said:

@Utumno I expected the question :) . I need to come with better names for those version fields in xEdit. So no, it is not the version seen in the header but the one appearing in the compressed content of the SSE saves prior to the list of plugin names.

I call them version and formVersion respectively :P

Do we have a table for those per game ?

1 hour ago, Daidalos said:

@Utumno I think we should leave the loot update out of the beta, I tried integrating the new version and it throws "Runtime Error: bad cast" even in minimal examples. I have already contacted Wrinkly about it here, but I do not know how long fixing this is going to take.

Ok probably - anyway it will take some time - at least saves are read apparently

Will pack a standalone ASAP

Link to comment
Share on other sites

Save headers. Nice. Finally some mysteries with ESL files are beginning to make sense.

Link to comment
Share on other sites

EDIT: for clarity  - A bugcheck triggered when building a bashed patch with this build.

Bug dump is zipped and attached since it is ~130Kb.

Beermotor-20171004-bashbugdump-wip.7z

I was able to replicate the bugcheck on my MBP (booted into Bootcamp). I usually stay on MacOS so the Skyrim SE build on this machine did not have the survival .esl installed. I was incorrect earlier when I said it had not been updated. Bugdump attached.

Beermotor-20171005-laptop-bashbugdump.7z

Link to comment
Share on other sites

Relevant info on how ESM/ESL/ESP files relate to each other as of 1.5.3. Thankfully much easier to decipher with the ability to read the save headers.

 

Link to comment
Share on other sites

So .. "User generated ESL files NOT flagged as a master. Loaded as specified in plugins.txt."

.. Loading after all esp files .. are those the ones forced to load by the game in slot 254 ? (I find this bit confusing, because it sounds like you can have a bunch of plugins all loading in the same slot)

And does that also mean they will load after the Bashed Patch ? (effectively always overriding everything by being last to load before the save file)

Link to comment
Share on other sites

Yes, they will always load dead last, after the bashed patch and anything else in your mod list. Which has me considering defending my Dawnguard Map Markers mod against problems associated with that by turning it into an ESL file.

Link to comment
Share on other sites

Well I dont know if it will be necessary, just ruminating :

Possibility of a Bashed Patch, 0.esl

and then it could still be specified to load last in plugins.txt, after user made esl

Link to comment
Share on other sites

Why do people want to dynamically build a file that has strict guidelines or even make an ESL file without the CK at all? If you had a Bash Patch ESL, what are you going to do build one and then tell the user opps, you can't now because it has too many FomrIDs in it?  Then also lets merge files that are already merging by themselves in memory at runtime.  Oh and wait, better yet it won't be compatible with your save game because every time you build one it will have different FormIDs.  I don't really see the point.

Just for the sake of argument, lets say everyone makes a Bash Patch or wants to anyway. You can't merge all the reocrds, Wrye Bash has limitations on how it handles records currently. Also it needs work.  It puts everything in a dictionary and you can't have duplicate values. However, it's not looking at subrecords and seeing if they exist and appending to a list in the dictionary where the key is the subrecord, and then only writing out the attributes for the specific element. Bash needs to have updated patchers just to patch anything, let alone expecting it to handle ESL files. The bash patch is still writing records are are equal to the previous override also so any such file would be bloated.

Link to comment
Share on other sites

Yeah, I'm not sure it would be practical to build the patch in ESL format. My own patches often greatly exceed 2048 records, which is all an individual ESL can hold.

Link to comment
Share on other sites

11 hours ago, Beermotor said:

EDIT: for clarity  - A bugcheck triggered when building a bashed patch with this build.

Bug dump is zipped and attached since it is ~130Kb.

Beermotor-20171004-bashbugdump-wip.7z

I was able to replicate the bugcheck on my MBP (booted into Bootcamp). I usually stay on MacOS so the Skyrim SE build on this machine did not have the survival .esl installed. I was incorrect earlier when I said it had not been updated. Bugdump attached.

Beermotor-20171005-laptop-bashbugdump.7z

The one of the two errors I fixed in latest wip - what about the other ?

Link to comment
Share on other sites

9 hours ago, Arthmoor said:

Ok. Just so this is straight now. Here's the deal after testing with the dev version of Wrye Bash with the save headers fully visible.

The order goes like this:

* Original 5 SSE master files - hardcoded load order. Cannot be changed.

* Standard ESM files generated by users. In whatever order they are specified in plugins.txt. ESP files flagged as ESM files are treated the same.

* CC Content flagged as master ESL files. Files within this segment are sorted alphabetically. This is hardcoded.

* User generated ESL files flagged as masters. Loaded in the order specified by plugins.txt.

* Standard ESP files. Loaded in the order specified by plugins.txt.

* User generated ESL files NOT flagged as a master. Loaded as specified in plugins.txt.

CC Content flagged as master ESL files. Files within this segment are sorted alphabetically. This is hardcoded.: which are those files ? shouldn't we hardcode that too ?

User generated ESL files flagged as masters.: flagged as masters ? How can I tell that ?

 

Link to comment
Share on other sites

The list of files hardcoded for the CC ESL block is not finite. It will grow over time.

An ESL file flagged as a master will show up already in Bash as a blue file just like other things flagged as a master. Meaning they have the ESM flag set in the header.

Regarding Beermotor's bug dump, I just tried building a patch and can confirm a huge string of errors that all read like this:

unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00000EB3
  eid = u'dunTransmogrifyHare'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 163
Error in Skyrim.esm

There's a lot, and they trigger on every file in the load order for various different fields.

Link to comment
Share on other sites

1 hour ago, Utumno said:

The one of the two errors I fixed in latest wip - what about the other ?

Yes I didn't have any bugchecks raised during the normal use of the app until I started building the Bashed Patch.  The patcher process completes but the resultant "bashed patch,0.esp" only had 43 records in it.

 

 

Link to comment
Share on other sites

@Utumno How much more work is there left to do for WBSA308 and I assume WB308 is gonna be released soon, especially when Bethesda introduced the .ESL file along with the CC content in the 1.5.3 patch?

Link to comment
Share on other sites

5 hours ago, Arthmoor said:

unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00000EB3
  eid = u'dunTransmogrifyHare'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 163
Error in Skyrim.esm

 

There's a lot, and they trigger on every file in the load order for various different fields.

If I wanted to reproduce that (I can't currently with the utumno-wip) what file would I download and install to get those errors?

Link to comment
Share on other sites

39 minutes ago, Sharlikran said:

If I wanted to reproduce that (I can't currently with the utumno-wip) what file would I download and install to get those errors?

In the case of Arthmoor and I, we just built bashed patches. When I ran into the bugcheck yesterday afternoon and was able to reproduce it,  I hopped on Discord to ask  Arthmoor to test to see if he could reproduce the bugcheck. This is when I also tested on my Macbook and reproduced the bugcheck.

 

Link to comment
Share on other sites

I'm just building Bash Patches also. So there has to be something causing it.  Would you be willing to uncheck mods until it goes away so that you can narrow it down to something I could use? I can't reproduce it.

Link to comment
Share on other sites

25 minutes ago, Sharlikran said:

I'm just building Bash Patches also. So there has to be something causing it.  Would you be willing to uncheck mods until it goes away so that you can narrow it down to something I could use? I can't reproduce it.

Yes absolutely. I'll check on my laptop this afternoon when I get home.

Link to comment
Share on other sites

Just now, Beermotor said:

Yes absolutely. I'll check on my laptop this afternoon when I get home.

No problem, real life first. I have plenty to keep me busy.

Link to comment
Share on other sites

Here's the complete list of the bugs that get sent to the window. You'll note that they include the master DLCs which are impossible to leave out of the equation.

	unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00000EB3
  eid = u'dunTransmogrifyHare'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 163
Error in Skyrim.esm
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0009F83A
  eid = u'dunBluePalaceMareMaiden'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 123
Error in Update.esm
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00107A9B
  eid = u'EncVampire00BretonF'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 80
Error in Dawnguard.esm
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00013605
  eid = u'Pactur'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 67
Error in HearthFires.esm
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0201DBDC
  eid = u'DLC2SummonAshGuardianNeloth'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 88
Error in Dragonborn.esm
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00013255
  eid = u'Addvar'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 147
Error in Unofficial Skyrim Special Edition Patch.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 010840BA
  eid = u'FSTestCombatant01'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 78
Error in Falskaar.esm
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0200A049
  eid = u'WTJashavidar'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 153
Error in Wyrmstooth.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 01602939
  eid = u'BSKEncGoblin01aTemplateBerserker'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 93
Error in BSAssets.esm
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 020D700A
  eid = u'CYREncThalmor04MagicBossM'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 86
Error in BSHeartland.esm
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00013602
  eid = u'ArgiFarseer'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 152
Error in Cutting Room Floor.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 03025B5D
  eid = u'ARTHCVRVolkiharDGApothecary'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 88
Error in Castle Volkihar Rebuilt.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 02000D6B
  eid = u'ISS_Skeleton_Argonian_AmbushMelee1H'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 131
Error in Prometheus_BeastSkeletons.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00013BB2
  eid = u'IdolafBattleBorn'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 157
Error in Legionettes.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'FURN' record and/or subrecord: 00107354
  eid = u'ThroneDawnstar01'
  subrecord = 'FNPR'
  subrecord size = 4
  file pos = 367
Error in Sit up Jarls.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 02018FCA
  eid = u'DLC2SVAeta'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 71
Error in SkaalKidAetaCoat.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0001D4B7
  eid = u'Babette'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 140
Error in Babettes New Dress.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'FURN' record and/or subrecord: 000727A1
  eid = u'CraftingTanningRackMarker'
  subrecord = 'FNPR'
  subrecord size = 4
  file pos = 7170
Error in Ars Metallica.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0200590D
  eid = u'ARTHTPDToormaarfeyn'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 125
Error in The Paarthurnax Dilemma.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0200293E
  eid = u'ARTHAldosDrenKynesgrove'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 164
Error in Kynesgrove.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 020055BD
  eid = u'ARTHDWCMeieran'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 75
Error in Darkwater Crossing.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00019FE8
  eid = u'Golldir'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 148
Error in Ivarstead.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 02024138
  eid = u'ARTHSSTavernServer'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 139
Error in Shor's Stone.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 000AE779
  eid = u'Badnir'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 67
Error in Whistling Mine.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0200593C
  eid = u'GuardSoljundsImperialNight'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 87
Error in Soljund's Sinkhole.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0202EEBD
  eid = u'ARTHHelarchenCreekFarmerDroi'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 169
Error in Helarchen Creek.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00019A24
  eid = u'TasiusTragus'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 73
Error in Dragon Bridge.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'FURN' record and/or subrecord: 0202AA4B
  eid = u'BalokShovelFloorMarker'
  subrecord = 'FNPR'
  subrecord size = 4
  file pos = 119066
Error in Helgen Reborn.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 00039F83
  eid = u'WICourierNPC'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 73
Error in Provincial Courier Service.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 0101BA0E
  eid = u'EncDraugr01DarmokCorpseSSewers'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 91
Error in SkyrimSewers.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 05001D53
  eid = u'OCSRiftenGateAttendant1'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 84
Error in Open Cities Skyrim.esp
unbound method loadData() must be called with MelStruct instance as first argument (got MelObject instance instead)
Error loading 'NPC_' record and/or subrecord: 05031371
  eid = u'ARTHLALFarmGeraldineShoal'
  subrecord = 'SNAM'
  subrecord size = 8
  file pos = 166
Error in Alternate Start - Live Another Life.esp

The dump is quit thorough in specifying all of the mods it tripped over along the way.

Link to comment
Share on other sites

4 hours ago, Sharlikran said:

I'm just building Bash Patches also. So there has to be something causing it.  Would you be willing to uncheck mods until it goes away so that you can narrow it down to something I could use? I can't reproduce it.

 

2 hours ago, Arthmoor said:

Here's the complete list of the bugs that get sent to the window. You'll note that they include the master DLCs which are impossible to leave out of the equation

Also @Utumno Ok I grabbed the very latest WIP released this morning and no more bugcheck.

Spoiler

Wrye Bash starting
Using Wrye Bash Version 307
OS info: Windows-10-10.0.10586
Python version: 2.7.14
wxPython version: 2.8.12.1 (msw-unicode)
input encoding: UTF8; output encoding: None; locale: ('en_US', 'cp1252')
filesystem encoding: mbcs
bash.py  324 main: Searching for game to manage:
bush.py   76 _supportedGames: Detected the following supported games via Windows Registry:
bush.py   78 _supportedGames:  Oblivion: C:\Steam\steamapps\common\Oblivion
bush.py   78 _supportedGames:  Skyrim Special Edition: C:\Steam\steamapps\common\Skyrim Special Edition
bush.py  136 _detectGames: Detecting games via the -o argument, bash.ini and relative path:
bush.py  142 _detectGames: Set game mode to Skyrim Special Edition found in parent directory of Mopy:  C:\Steam\steamapps\common\Skyrim Special Edition
bush.py  156 __setGame:  Using Skyrim Special Edition game: C:\Steam\steamapps\common\Skyrim Special Edition
testing UAC
mods_metadata.py  228 __init__: Using LOOT API version: 0.10.2
games.py  158 warn_lo: Fixed Load Order: added(ccqdrsse001-survivalmode.esl), removed(None), reordered (No)
games.py  158 warn_lo: Fixed Load Order: added(ccqdrsse001-survivalmode.esl), removed(None), reordered (No)

 

This is on my Macbook with all of the mods installed. I haven't tested on my desktop machine yet, but I'm confident it will be the same result.

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