Jump to content
  • 0

Wrye Bash/Smash/Flash Patcher updates


Sharlikran

Question

Wrye Bash 307-Experimental Fallout 3/Fallout New Vegas/Oblivion/Skyrim patcher Update

This thread is to discuss and troubleshoot implementation of Fallout 3, Fallout New Vegas, Oblivion and Skyrim patcher updates. This will be done using three different versions of Wrye Bash/Flash/Smash. Version 307.x will be primarily for Oblivion and Skyrim but anyone is more then welcome to test this version with Fallout. Since the current official releases for Fallout by Valda are working rather well and just need updating I will be providing links to those versions as well. I will use them as a baseline for the updates I am making to 307.x.

New releases will be on my OneDrive or a Mediafire Link. Version 307.x also marks the beginning of implementing Fallout 3 and Fallout NV support thanks to WrinklyNinja's previous efforts and starting the process for version 304.3. Valda updated Wrye Flash for Fallout 3 (30.x) and Fallout New Vegas (16.0) based off of a much older version of Wrye Bash (292 I think). Valda is not currently helping me with updates so if I can't make the changes myself they will remain unresolved. Please be patient while I wait for new volunteers that have time to help make updates.

To help with Bash Tags fireundubh has been kind enough to provide us with a beta script for xEdit that should work with all four versions. You can obtain Generate Bash Tags.pas from his GitHub repo. I am unaware of where you can post questions and bug reports at this time and I do not maintain that file so posting here will not get you the help you are looking for.

find updates to the script in this thread. Please post all bug reports and requests in that thread.

ATTN for Skyrim version: This version's Skyrim patcher is very new. Unless you know how to use TES5Edit and understand a great deal about plugins you may not want to use this version. Manual editing may be needed for the Bash patch to function correctly. Both Python and Standalone versions are available.

Fallout 3 and Fallout New Vegas: If you are using 306.x for Fallout 3 or Fallout New Vegas the Bash Patch should not have many issues since the code already existed to handle all the routines in the previous versions. Please report any issues so they can be corrected.

If you are using the official releases for FO3 and FNV they are very stable and quite usable in game. However, they do need updating so feel free to post issues you encounter with the Bash Patch.


Links to 307.x for FO3/FNV/Oblivion/Skyrim/FO4:

Wrye Bash 307.09_EXP - Python Source.7z - MediaFire, OneDrive
Wrye Bash 307.09_EXP - Standalone Executable.7z - MediaFire, OneDrive

Links to Wrye Flash by Valda:

Wrye Flash for FO3 v31.5 - Python Source.7z - MediaFire, OneDrive
Wrye Flash for FO3 v31.5 - Standalone Executable.7z - MediaFire, OneDrive
Wrye Flash for FNV v17.4 - Python Source.7z - MediaFire, OneDrive
Wrye Flash for FNV v17.4 - Standalone Executable.7z - MediaFire, OneDrive

Bethesda WIpz threads for FO3/FNV/Skyrim/Oblivion/FO4 Updates:

Skyrim
Oblivion
Fallout 3
Fallout NV
Fallout 4

STEP Thread:

Wrye Bash/Smash/Flash Experemental Patcher Updates

What kind of testing am I looking for?

I need people with a great deal of knowledge with Bash Tags and plugins to report errors with the Bash Patch for it's respective patchers. For example if a sound from a mod should have ended up in the bash patch but didn't, I need to know. The only bugs I am not interested in are Unicode related bugs. So if you go to install a mod and you get a Unicode error post that in the Wrye Bash thread.

What I am not looking for in regards to version 306.x:

The Python based patchers have never been updated that I am aware of. At least not for the last three years. If records do not carry over into the Bash Patch that clearly should be there I am not directly causing this. I am not experienced with Python enough to change the patcher's behaviour. I can only assign or update records and subrecords to their respective patchers. Once there are volunteers willing to help hopefully the patchers can be updated to produce a more accurate patch. In the meantime rather then assuming the patcher is buggy, I suggest checking all the Bash Tags by using the provided script.

In regards to CBash for Oblivion, I will consider updating the Python code that tells CBash what to do. However, if after I make updates, if the same issue is still occurring, I will not be able to update CBash itself. 99% of the time any issues with CBash will originate from flawed Python code.

Error reporting:

Post the Game you are using (FO3/FNV/TES4/TES5) the FormID of the record, what type of record it is (MGEF, INGR), the Subrecord involved, and the name of the field in xEdit. For example, "Skyrim SNDD - Sounds, Sound".

If I can't find a similar type of setup for the record in the CK/CS/GECK I may ask for a link to the mod.

Record structures:

Documentation for Fallout 3 and Fallout: New Vegas plugin file formats can be found on GitHub/fopdoc courtesy of WrinklyNinja

Documentation for Oblivion and Skyrim file formats can be found on UESP Wiki

Bash Tags

If you have forgotten the Bash Tags most of them are in this list. As I update Wrye Bash I will update that section to reflect changes I have made.

Supported Bash tags for 306.x:

Oblivion: Body-F, Body-M, Body-Size-M, Body-Size-F, C.Climate, C.Light, C.Music, C.Name, C.RecordFlags, C.Owner, C.Water, Deactivate, Delev, Eyes, Factions, Relations, Filter, Graphics, Hair, IIM, Invent, Names, NoMerge, NpcFaces, R.Relations, Relev, Scripts, ScriptContents, Sound, SpellStats, Stats, Voice-F, Voice-M, R.Teeth, R.Mouth, R.Ears, R.Head, R.Attributes-F, R.Attributes-M, R.Skills, R.Description, R.AddSpells, R.ChangeSpells, Roads, Actors.Anims, Actors.AIData, Actors.DeathItem, Actors.AIPackages, Actors.AIPackagesForceAdd, Actors.Stats, Actors.ACBS, NPC.Class, Actors.CombatStyle, Creatures.Blood, Actors.Spells, Actors.SpellsForceAdd, NPC.Race, Actors.Skeleton, NpcFacesForceFullImport, MustBeActiveIfImported, Npc.HairOnly, Npc.EyesOnly
Skyrim: C.Acoustic, C.Climate, C.Encounter, C.ImageSpace, C.Light, C.Location, C.Music, C.Name, C.Owner, C.RecordFlags, C.Regions, C.SkyLighting, C.Water, Deactivate, Delev, Filter, Graphics, Invent, Names, NoMerge, Relev, Sound, Stats
Fallout 3: C.Acoustic, C.Climate, C.Encounter, C.ImageSpace, C.Light, C.Music, C.Name, C.Owner, C.RecordFlags, C.Water, Deactivate, Deflst, Delev, Destructible, Factions, Filter, Graphics, Invent, Names, NoMerge, Relations, Relev, Sound, Stats
Fallout New Vegas: C.Acoustic, C.Climate, C.Encounter, C.ImageSpace, C.Light, C.Music, C.Name, C.Owner, C.RecordFlags, C.Water, Deactivate, Deflst, Delev, Destructible, Factions, Filter, Graphics, Invent, Names, NoMerge, Relations, Relev, Sound, Stats, WeaponMods

Supported Bash tags for Wrye Flash FNV:

Fallout New Vegas: Body-F, Body-M, Body-Size-M, Body-Size-F, C.Acoustic, C.Climate, C.Encounter, C.ImageSpace, C.Light, C.Music, C.Name, C.RecordFlags, C.Owner, C.Water, Deactivate, Delev, Eyes, Factions, Relations, Filter, Graphics, Hair, IIM, Invent, Names, NoMerge, NpcFaces, R.Relations, Relev, Scripts, ScriptContents, Sound, Stats, Voice-F, Voice-M, R.Teeth, R.Mouth, R.Ears, R.Head, R.Attributes-F, R.Attributes-M, R.Skills, R.Description, Actors.Anims, Actors.AIData, Actors.DeathItem, Actors.AIPackages, Actors.AIPackagesForceAdd, Actors.Stats, Actors.ACBS, NPC.Class, Actors.CombatStyle, Creatures.Blood, NPC.Race, Actors.Skeleton, NpcFacesForceFullImport, MustBeActiveIfImported, Deflst, Destructible, WeaponMods

Supported Bash tags for Wrye Flash FO3:

Fallout 3: Body-F, Body-M, Body-Size-M, Body-Size-F, C.Acoustic, C.Climate, C.Encounter, C.ImageSpace, C.Light, C.Music, C.Name, C.RecordFlags, C.Owner, C.Water, Deactivate, Delev, Eyes, Factions, Relations, Filter, Graphics, Hair, IIM, Invent, Names, NoMerge, NpcFaces, R.Relations, Relev, Scripts, ScriptContents, Sound, Stats, Voice-F, Voice-M, R.Teeth, R.Mouth, R.Ears, R.Head, R.Attributes-F, R.Attributes-M, R.Skills, R.Description, Actors.Anims, Actors.AIData, Actors.DeathItem, Actors.AIPackages, Actors.AIPackagesForceAdd, Actors.Stats, Actors.ACBS, NPC.Class, Actors.CombatStyle, Creatures.Blood, NPC.Race, Actors.Skeleton, NpcFacesForceFullImport, MustBeActiveIfImported, Deflst, Destructible

Patcher Progress:
A link detailing which records are not functioning in Wrye Bash and an update of what is and isn't finished at this time is available on the Wrye Bash GitHub.

Skyrim Progress
Fallout Progress

I have a very limited knowledge of Python. I will need help if it involves more complex routines. Updating the records is pretty straight forward and sometimes the patchers make sense including reading the specific fields in a record like MGEF or whatever. So I will be able to update some things on my own. I will be posting in the Known Issues section things that have been reported that I cannot update or have not been updated.

Known Issues:

Oblivion:

None at this time.

Skyrim:

  • Keywords are not copied into the Bash Patch.
  • VMAD records from loosing plugins are not copied into the Bash Patch.
  • Some records with repeating sounds like SNDR:ANAM are not carried over into the Bash Patch.
  • Special routine needed to handle INAM for Outfits.
  • LVLD - Chance None is not always utilized. Needs verification because code does look at this value.
  • CTDA conditions not always carried over into bash patch from loosing plugins.

CELL:

Interior cells

XCLW - Field is being blanked out, which may lead to Bash adding unnecessary records. If Bash needs to make a record for the cell, set it to the huge negative value. Otherwise don't import it at all.

Fallout 3:

None at this time.

Fallout New Vegas:

None at this time.

Version numbers will start with 306 but since this is a beta and not an official release I will make incremental updates, 306.0.01, and so on.

Volunteers Needed:

Currently I am looking for volunteers to contribute Wrye Bash. The main focus is updating Wrye Bash's Skyrim Patcher. However, this version also has limited Fallout 3 and Fallout NV support. Wrye Bash is written in Python so I am looking for people who are fairly knowledgeable with that programming language. You need to have Skyrim installed on your system so that you can test your updates to the code. If you wish to help with Fallout support then you should own a copy of Fallout 3 or New Vegas.

If you wish to help please PM me with your GitHub account name and which game mode you are willing to help with. P.S. please be willing to at least proofread my attempts to write Python code for Skyrim even if you prefer not to help with that and don't own a copy of Skyrim.

  • +1 1
Link to comment
Share on other sites

Recommended Posts

  • 0

Uploaded 307.0.7 links are updated in OP.

Updated to Utumno's latest refactored code. I am still looking for anyone who has more information on the Save Game header for Fallout 4. If you think you can decode the header of the save game more then it is please contact me.

NOTE: This update includes cutting edge changes from the 307 Beta for Skyrim and Oblivion. Until an official release a change log isn't possible as the Beta is still a work in progress. However, Utumno has improved performance and made various BugFixes. Bug fixes not included would be updates to Skyrim Patchers or Oblivion Patchers via CBash or PBash (Python Routines).

Uploaded 307.0.8 links are updated in OP.

Replaced the loot32.dll with an older copy from 307.0.6. This was done to resolve an issue for Skyrim where Bash tags were added to mods for no reason. The issue seems to be resolved for Arthmoor at least who helped me do the testing.

Edited by Sharlikran
Link to comment
Share on other sites

  • 0

Fuuunexus the reason they aren't enabled is because they wouldn't work. The code is for Oblivion only. So I have to take some variables/code and put it in the separate file under the Oblivion game folder. Then I have to copy that code to Skyrim, FO3 and FNV and then update it even if the code or variables are empty for Skyrim.  The problem is I don't know python so I have an even harder time doing that.  I kind of gave up due to lack of help a while back.  I am however, going to try and get more updated.  For now please use Valda's versions for FO3 and FNV.

Link to comment
Share on other sites

  • 0

307.20181012

- [APP] Updated layout for Installers tab - Package Context Menus.

- [skyrim] Handle Truncated Records in Skyrim.esm

- [sSE] Enabled additional patchers

- [ALL] Fix C.Regions ITM & ITPO

- [ALL] Add Persistent Cells to Patcher Check

- [TES4] Add C.Regions support to Oblivion

- [All] Updated Advanced Readme - Bash Tag section

- [All] LOOT Bash taglists updated to v0.13

- [skyrim, SSE] Added new cell bash tags C.GridFlags, C.MaxHeight & C.LockList.

- [skyrim, SSE] Updated class MelModel

- [sSE, FO4] ESL flagged files do not count toward max plugin count of 255

- [sSE] Added ESLify in plugin context menu.

- [sSE] Added ESL qualification check

- [sSE, FO4] Disable Merge Plugins

- [sSE] Update messages to display ESL rather then Mergable

- [FO4] Disable ESLify flagging and ESL verification support

- [ALL] Fix Exterior Cells x,y cords Order in Cell Patcher

- [skyrim, SSE] Tweak to NamesPatcher to remove FACT because it would not copy other subrecords.

- [skyrim, SSE] Remove unused Alias Patcher

- [ALL] Remove Add master from all versions - this does not renumber FormIDs

- [skyrim SE] Update MreLens

- [skyrim SE] Updated MreLeveledListBase with extra flag for Skyrim SE

307.20181013

- [FO4] Update Fallout 4 Leveled List patcher to evaluate more fields

307.201810141217

- [FO4] Fix error in Bash Patch generation where Wrye Flash for Fallout 4 would create duplicate FormIDs and GRUP records for certain groups.

307.201810221913

- [FNV/FO3] Record updates for MelModel and Leveled Creatures.

 

EXE Installer

Standalone EXE

Python Source

 

Just some more experimentation with the code if anyone is willing to try it out.

 

Wrye Bash Discord

Edited by Sharlikran
Link to comment
Share on other sites

  • 0

My reasons for the change:

  • Plugins that qualified as mergable were not allowed to have new records
  • Files with the ESL flag can have new records if they are within the range specified by Bethesda 0x800 to 0xFFF
  • Merged plugins had to be left in the Data folder for each time you rebuilt the Bashed Patch, but disabled.
  • Conflict resolution cannot occur with disabled plugins in xEdit. You have to load all the plugins to look for conflicts. Many users do not do this and complain about unexpected values appearing in the Bash Patch. For the most part the unexpected values came from disabled, imported or merged plugins.
  • A Merge Patch, Smashed Patch, or a Bashed Patch cannot exceed a byte for the count of masters. I don't know if the game will allow 00 to 254 or 00 to 255 nobody has ever had that kind of file and actually had a working game.
Edited by Sharlikran
Link to comment
Share on other sites

  • 0

How authors release mods, understanding the mods you have installed, and how to resolve conflicts can be improved on. If anyone would like to join the xEdit discord and talk with others about functionality then download the latest version and click the Discord button.
 
With all the tools available such as LOOT, Wrye Bash, and xEdit, anyone should be able to have a stable game regardless of whether or not you have less or more then 255 mods.
 
There is also a new xEdit feature to make a delta patch but I have not tried it yet. Some people are testing it out today on YUP to see if it does what Elminster expected it to do.  If I understand correctly it shows you a diff between mods. You probably have to have the old file installed and the new one with a new name but I'm not sure since it's new and I haven't tried it. The result is a file with only the changes between the two plugins.
 
There are people with mods ranging from 350 to 550 that have spoken with the xEdit team or are currently using the dev version of Wrye Bash and don't notice any issues at this time. I am sure issues will show up as more people us the tools. With xEdit Elminster has been resolving the issues since he has made the changes. For Wrye Bash I hope I can make corrections because my python skills are limited. There is a new volunteer that has been working with LOOT and Wrye Bash though it has been a pleasure to work with.

There are probably many unused features in xEdit. Modgroups for one which diff plugins that are in the group. I have been experimenting with it to provide a better walk through similar to how Miax and JustonOther did for the original Fallout Training Guide. Examples are available on the xEdit GitHub.

There is no reason to merge mods with Wrye Bash for games that have ESL capability because of the limited functionality. Files only qualify to be merged if they contain overrides of the masters. They cannot have new records. An ESL flagged mod can have overrides and new records. People might not even know that.

I don't know where all the posts are (don't need any links though) but Elminster was very surprised as to how complicated people make ESL files out to be. It is something he consistently corrects people on if they say anything contrary to what he had me add to the xEdit docs. Just having him back and the progress made with xEdit has really changed my view about how mods work in FO4 and SSE.

Users may still feel that with over 255 mods that leveled lists can have any amount of entries, and that's not true, it's limited to 255 entries. That the Bash Patch can save files at FE xxx, when it can't, it's still limited to 255 masters like it has been in the past.

Using mods and patches made with xEdit should prevent the Bash Patch from becoming overloaded. With a patch flagged with the ESL flag, if it's records are the winning record, then it should not end up in the Bash Patch. Thus allowing potentially 550 or more mods installed with no issues. People with a more modest amount of mods, say around 100 will still have the same benefits as those with more mods.

I set up a modgroup for just two mods and after I did so and asked about what I was looking at. Elminster and others in the xEdit channel showed me where the differences were and making a patch at that point took minutes because I was not seeing as many records anymore. I was only looking at was different between the mods loaded.

I have even been experimenting with mods that are clearly incompatible like NPC overhauls or NPC AI overhauls. Between the two of them there still may be no way to resolve all changes, but it's shown me the value of the process. If users can pick up on it and follow the examples I am working on, they can make patches quickly and easily and won't have to bother mod authors at all. Once the patch is made and becomes an ESL flagged file, they can then load other mods and continue.

I can't even imagine how hard it must be to maintain a merged mod of over 100 modules and know everything you put into the merge. Say all your weather merges. What if the author comes out with a new version? How do you overwrite the change into the merged mod? Rather then explain it, consider, you no longer even have to. If it can be an ESL then make it one. If it's a patch and could have been merged it can have the ESL flag.

Elmisnter has over 450 modules and told me he is approaching 500 mods installed, no merging, and no bash patch and he has no issues. He makes all his micro patches starting with the merge patch. When he makes a micro patch for two or three mods he only loads those mods. Which many people want to just load the entire load order. Makes no sense.

What's unfortunate is modgroups and all the things Elminster is sharing has been around for over a decade. Even the docs I added to a website are just an HTML version of the Fallout 3 training manual that I have been altering. Most of the same Fallout 3 mods are available and when I can I install them and just make new screen shots. Everything Miax and JustinOther showed about xEdit could have been something someone could have used this whole time but probably never bothered to look at. Simply for the fact that some people don't read the description page or look at wiki pages or see that there was a PDF.

I don't know there is also the possibility that some might have seen the PDF, and may have thought it was for Fallout 3 and Fallout NV and dismissed it as useful to Skyrim. I don't know but I just never see people reference the PDF but now I am starting to see people reference the online documentation.

I'd like to see it where people don't have to worry about troubleshooting failed merges, searching google for solutions, posting comments and not getting an answer, or having to wait on anything useful. What I am trying to drive users toward with xEdit, LOOT, and Wrye Bash, is... install, test, play, and when needed, update and play.

Somehow more time playing, less time working to make it so you can play.

Edited by Sharlikran
Link to comment
Share on other sites

  • 0

310.beta1

  • #630: Crashes in Oblivion with Irresponsible Creatures tweak [Infernio]
  • #628: Improve doc browser usability [Infernio]
  • #627: Implement the last few parts of the FOMOD schema [Infernio]
  • #624: Show in-game plugin indices on the Saves tab [Infernio]
  • #617: FO3 & FNV Windows Store Support [Infernio]
  • #616: Skyrim Anniversary Edition Support [Infernio]
  • #610: Various locale settings crash WB on boot [Utumno]
  • #604: Gracefully fail when parsing invalid LOOT masterlists [Infernio]
  • #603: Validate FOMOD XML schema when running FOMOD installers [Infernio]
  • #601: Applying BCFs does not work [Infernio]
  • #599: Add 'Import Enchantments' patcher [Infernio]
  • #593: Add an option to create a BAIN project from FOMOD output [Infernio]
  • #460: Python 3 Upgrade [GandaG, Infernio, Utumno, lojack5]
  • #151: Port all patchers to Skyrim [Infernio]
  • #40: Improve BAIN readme/docs detection [Infernio]
Edited by Greg
Removed font color
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...

Important Information

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