I've been working on an xEdit script anolyzes a plugin and suggests up to 58 Wrye Bash tags.
In addition, the script also verifies existing tags against suggested tags, helping you identify invalid tags in plugins that have already been tagged.
Version 1.5.1.0 (as of May 11, 2015) supports FO3, FNV, TES4, and TES5 record structures.
Supported Tags
http://www.gamesas.com/topic/1509287-wipz-wrye-bashexp-skyrim-patcher-update-thread-2/
Unsupported Tags
- [TES4] Actors.SpellsForceAdd (modder preference)
- [TES4] Npc.EyesOnly (modder preference)
- [TES4] Npc.HairOnly (modder preference)
- [TES4] R.AddSpells (modder preference)
- [FO3, FNV, TES4] Actors.AIPackagesForceAdd (modder preference)
- [FO3, FNV, TES4] IIM (modder preference)
- [FO3, FNV, TES4] MustBeActiveIfImported (modder preference)
- [FO3, FNV, TES4] NpcFacesForceFullImport (modder preference)
- [FO3, FNV, TES4] ScriptContents (should not be implemented)
- [FO3, FNV, TES4, TES5] Deactivate (modder preference)
- [FO3, FNV, TES4, TES5] Filter (modder preference)
- [FO3, FNV, TES4, TES5] NoMerge (modder preference)
Testers Wanted
I need testers who are:
- contributors to the BOSS and LOOT masterlists;
- modders who know exactly what tags their mods should have; and/or
- experienced xEdit users who can verify suggested tags against known tags for tagged plugins.
There are too many games, plugins, types of data, and suggested tags to verify on my own.
Once there's been enough testing to confirm that the script isn't missing any tags or suggesting more tags than there should be, I can release the script.
Requirements
- http://afkmods.iguanadons.net/index.php?/topic/3750-wipz-tes5edit/
- https://github.com/matortheeternal/TES5EditScripts/blob/master/trunk/Edit%20Scripts/mteFunctions.pas
Download
https://github.com/fireundubh/xEditScripts/blob/master/Scripts/Generate%20Bash%20Tags.pas
Testing Guide
To start testing, load up the plugin you want to test in xEdit. Don't load up any other plugins. xEdit will load any dependencies automatically.
Once the plugin is loaded, right-click on the plugin and apply the script.
When you run the script on the plugin, you'll get debug output like this:
-------------------------------------------------------------------------------Using record structure for The Elder Scrolls V: Skyrim-------------------------------------------------------------------------------[GetEditValue] Names: \ [04] Unofficial Dragonborn Patch.esp \ [23] GRUP Top "DIAL" \ [387] DLC2TelMithrynWinterhold "You must be almost as powerful as Savos Aren of Winterhold." [DIAL:03036115] \ [2] FULL - Name[GetEditValue] Names: \ [03] Dragonborn.esm \ [50] GRUP Top "DIAL" \ [3838] DLC2TelMithrynWinterhold "You must be almost as powerful as Savros Aren of Winterhold." [DIAL:03036115] \ [2] FULL - Name[Assigned] C.Location: \ [04] Unofficial Dragonborn Patch.esp \ [22] GRUP Top "WRLD" \ [1] GRUP World Children of Tamriel "Skyrim" [WRLD:0000003C] \ [2] GRUP Exterior Cell Block 0, 1 \ [0] GRUP Exterior Cell Sub-Block 1, 4 \ [0] [CELL:0000B498] (in Tamriel "Skyrim" [WRLD:0000003C] at 34,9) \ [9] XLCN - Location[Assigned] C.Location: [ElementCount] Delev: \ [04] Unofficial Dragonborn Patch.esp \ [19] GRUP Top "LVLI" \ [0] DLC2LItemBook3Combined [LVLI:0302AA0D] \ [6] Leveled List Entries[ElementCount] Delev: \ [03] Dragonborn.esm \ [41] GRUP Top "LVLI" \ [529] DLC2LItemBook3Combined [LVLI:0302AA0D] \ [6] Leveled List Entries[CompareKeys] Actors.ACBS: \ [04] Unofficial Dragonborn Patch.esp \ [14] GRUP Top "NPC_" \ [19] DLC2EncBoar01 "Bristleback" [NPC_:0302403B] \ [3] ACBS - Configuration \ [0] Flags[CompareKeys] Actors.ACBS: \ [03] Dragonborn.esm \ [33] GRUP Top "NPC_" \ [337] DLC2EncBoar01 "Bristleback" [NPC_:0302403B] \ [3] ACBS - Configuration \ [0] Flags-------------------------------------------------------------------------------Unofficial Dragonborn Patch.esp-------------------------------------------------------------------------------11 existing tags found:{{BASH:C.Climate,C.Encounter,C.Location,C.Music,C.Name,Delev,Graphics,Invent,Names,Sound,Stats}}1 bad tag found:{{BASH:Graphics}}5 suggested tags to add:{{BASH:Actors.ACBS,Actors.AIData,Actors.AIPackages,Actors.DeathItem,Actors.Stats}}15 suggested tags overall:{{BASH:Actors.ACBS,Actors.AIData,Actors.AIPackages,Actors.DeathItem,Actors.Stats,C.Climate,C.Encounter,C.Location,C.Music,C.Name,Delev,Invent,Names,Sound,Stats}}
Every pair of entries shows you two elements that have been compared and identified as different.
As a tester, you need to verify that the two elements actually are different, and report any bugs. To do that:
- Jump to a record identifed in the log, like 000B91E3, and verify that that record is overriding, or overridden by, another record.
- If the record overrides or is overridden by, verify that the compared element, like FULL, is different between the two records.
- If the comparison is verified, move onto the next pair of entries in the log.
- If the comparison is invalid, keep note of that comparison, and let me know when you've verified all of the logged comparisons.
- If my script throws an error while anolyzing a plugin, send me a copy of the debug output, and a link to where I can download the plugin.
- If you know Pascal, you might be able to pinpoint the bug, in which case please do, but if not, I'll handle it.
If there are no entries, there are no suggested tags for that plugin, which might be incorrect. Make note of that.