Jump to content

[WIP] Bash Tagger (detects up to 49 bash tags!)


fireundubh

Recommended Posts

I think the problem here is that xEdit has a bug where if you check a template flag like "Use AI Packages," the Packages data either doesn't clear or remains accessible via scripts. I'll have to check if the template flags exist before validating the associated elements.

Do you have 3.0.33?

 

What tags are supported for Morrowind

There is no TES3Edit and no BOSS or LOOT for Morrowind. Although there is a Wrye Mash.

 

and Oblivion? Anyone?

u'Body-F', u'Body-M', u'Body-Size-M', u'Body-Size-F', u'C.Climate', u'C.Light', u'C.Music', u'C.Name', u'C.RecordFlags',

u'C.Owner', u'C.Water', u'Deactivate', u'Delev', u'Eyes', u'Factions', u'Relations', u'Filter', u'Graphics', u'Hair',

u'IIM', u'Invent', u'Names', u'NoMerge', u'NpcFaces', u'R.Relations', u'Relev', u'Scripts', u'ScriptContents', u'Sound',

u'SpellStats', u'Stats', u'Voice-F', u'Voice-M', u'R.Teeth', u'R.Mouth', u'R.Ears', u'R.Head', u'R.Attributes-F',

u'R.Attributes-M', u'R.Skills', u'R.Description', u'R.AddSpells', u'R.ChangeSpells', u'Roads', u'Actors.Anims',

u'Actors.AIData', u'Actors.DeathItem', u'Actors.AIPackages', u'Actors.AIPackagesForceAdd', u'Actors.Stats',

u'Actors.ACBS', u'NPC.Class', u'Actors.CombatStyle', u'Creatures.Blood', u'Actors.Spells', u'Actors.SpellsForceAdd',

u'NPC.Race', u'Actors.Skeleton', u'NpcFacesForceFullImport', u'MustBeActiveIfImported', u'Npc.HairOnly', u'Npc.EyesOnly'

 

Are you able to add more record types under existing tags?

 

ALCH, AMMO, ARMO, BOOK, MISC, and WEAP all have sound elements that are often changed by mods, but they're not in the documentation under the Sound tag.

 

There are also a number of record signatures unique to FNV, such as AMEF, CDCK, CHAL, CHIP, CMNY, IMOD, and so on, that aren't in the documentation. Many of these could qualify for the Graphics, Sound, and Names tags, as well as Stats.

Just make a Bash patch and if any of those records are not patched correctly, post in the threads I listed previously. I'll tell you if it's not possible to patch something. Edited by Sharlikran
Link to comment
Share on other sites

v1.3.2 is up.

  • All (known/remembered) flag elements are properly checked now, so tags like C.RecordFlags should validate.
  • Actors.AIData and Actors.AIPackages validate correctly, too.
  • The Destructible validator should no longer throw any errors.

@Sharlikran: Yup, latest svn build of xEdit always. I'll get to Oblivion support a bit later. Thanks.

 

edit: 

 

TODO: Add more flag checks for NPC_ and CREA records, but not at 5am.

Edited by fireundubh
Link to comment
Share on other sites

Odd, I checked the LOOT Masterlist and looked at the record for the YUP ESM, and I saw a record for 'Factions'. I have, however, made the other changes to the record for it in the LOOT masterlist based on the results on the script.

Edited by WilliamImm
why did I even say boss
Link to comment
Share on other sites

 

This is what I see:

 

pL5QEtJ.png

 

Hmm, if you go to xEdit Options and turn off the Hide* options, you'll see that.

 

I think the problem here is that xEdit has a bug where if you check a template flag like "Use AI Packages," the Packages data either doesn't clear or remains accessible via scripts. I'll have to check if the template flags exist before validating the associated elements.

I do not have that at all. The Packages record is blank. 

XVITh7m.png

Link to comment
Share on other sites

I do not have that at all. The Packages record is blank.

 

xEdit has an Options page. To get to the Options page, right-click in the file/records tree, Other > Options. You have to turn these off to see more elements.

 

zTDHMde.png

Edited by fireundubh
Link to comment
Share on other sites

I updated Wrye Flash for Fallout NV so test the script and the tagging with it and report any issues. I'll update Wrye Flash for FO3 later. Just remember that these versions read the plugin header, the BOSS masterlist (if found), and taglist.txt (if I update it, which I haven't) by running a script that reads the BOSS masterlist. So unless all the tags entered into the LOOT masterlist are also entered into the BOSS masterlist then the tags are not automatically applied to Wrye Flash. Only the 306.0.14 Experimental Beta uses the LOOT masterlist and taglist data because it's it based off of 305.

Link to comment
Share on other sites

Okay, I see it know, but now that opens up another question. Do those records need tagging if xEdit hides them by default? Why would they be hidden at all?

No, they don't need to be processed for tagging.

 

I just put together a list of which elements are controlled by which template flags.

0x0    If no template flags set, hide TPLT
0x1    Use Traits              ACBS\Karma (Alignment), ACBS\Disposition Base, INAM, VTCK, RNAM, CNAM, ZNAM, NAM6, NAM7
0x2    Use Stats               ACBS\Flags, ACBS\Fatigue, ACBS\Level, ACBS\Calc min, ACBS\Calc max, ACBS\Speed Multiplier, DATA\Base Health
0x4    Use Factions            Factions
0x8    Use Actor Effects List  Actor Effects, EITM, EAMT
0x16   Use AI Data             ACBS\Barter gold, AIDT
0x32   Use AI Packages         Packages
0x64   Use Model/Animation     Model, Destructable, Head Parts, HNAM, LNAM, ENAM, HCLR, NAM4, FaceGen Data
0x128  Use Base Data           FULL
0x256  Use Inventory           Items
0x512  Use Script              SCRI

It'd be nice if xEdit ignored these elements per the template flag rules by default, so I wouldn't have to write so many flag checks.

Edited by fireundubh
Link to comment
Share on other sites

I've started to test the script with Fallout 3; it will greatly reduce the time it takes me to create bash tags. After looking at about 5 plugins, the only question I have so far is for Bornagain Outcast v3.esp . Along with some tags that seem correct, it says that the script tag should be used, but I don't see any script entry changes in the plugin.

Link to comment
Share on other sites

Wait for v1.3.3 please. Almost there.

 

I have to implement a number of flag checks to work around an xEdit bug. If the Use Script template flag is used in a CREA or NPC_ records, the SCRI element shouldn't be validated.

 

I also just found a Wrye Bash bug with the new Destructible tag, which I will also expand to cover more record types. The "NPC" record type is missing the underscore, so the Destructible tag won't be processed for NPC_ records by Wrye Bash.

self.longTypes = set(('ACTI','ALCH','AMMO','BOOK','CONT','CREA','DOOR','FURN','KEYM','MISC','NPC','WEAP','PROJ','MSTT','TERM','TACT','IMOD'))
Link to comment
Share on other sites

v1.3.3 is up. Changelog:

  • Actors.ACBS: ACBS\Flags flags are now validated
  • Actors.AIData: AIDT\Buys/Sells and Services flags are now validated
  • Destructible: Expanded validation to all applicable record types
  • Special handling for CREA and NPC_ record types to circumvent xEdit bug
  • Improved performance overall due to special handling
 
Smoke tests completed without errors:
 
OldWorldBlues.esm:
Added tags to header: 
{{BASH:Actors.Stats,C.Light,Delev,Destructible,Graphics,Invent,NpcFaces,Scripts,Stats}}

YUP - Base Game + All DLC.esm:
Added tags to header: 
{{BASH:Actors.ACBS,Actors.DeathItem,C.Light,C.Owner,C.Water,Delev,Destructible,Factions,Graphics,Hair,Invent,Names,Relations,Relev,Scripts,SpellStats,Stats,WeaponMods}}

FCOMaster.esm:
Added tags to header: 
{{BASH:Actors.ACBS,Actors.AIData,Actors.AIPackages,Actors.CombatStyle,Actors.Stats,Destructible,Eyes,Factions,NpcFaces,Scripts}}
Edited by fireundubh
Link to comment
Share on other sites

v1.3.4 hotfix is up:

  • Records with the Deleted record flag no longer throw an error, which was a problem with the original script
  • Debug: Implemented GetRecordFlag and GetTemplateFlag functions to facilitate debugging

You don't need to update if you don't have any mods with deleted records.

 

enclavebunker.esp (For the Enclave) is one mod that has Deleted records.

 

Undelete and Disable References won't circumvent this problem.

Link to comment
Share on other sites

With version 1.3.4 Bornagain Outcast v3.esp still gets a Scripts tag and I don't see any SCRI records in the mod.

Give me a link to the mod. I can't find it.

 

e: I found it.

BornAgain Outcast v3.esp:
Added tags to header: 
{{BASH:Actors.Stats,Delev,Stats}}

Same results for the Main and No Bonus ESP.

 

When you applied the script, did you apply the script on only one plugin?

Edited by fireundubh
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.