Jump to content


Photo

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

fallout3 fallout_nv skyrim xedit bash tags

  • Please log in to reply
122 replies to this topic

#91 Sharlikran

Sharlikran

    Thane

  • Mod Author
  • 86 posts

Posted 14 January 2015 - 09:30 PM

At the risk of exposing my ignorance to the masses

That is not ignorance. The question is valid.
 

if someone was only ever using WB to generate a bashed patch, will this tool eventually be used to assist xEdit to apply these tags and generate a 'bashed' patch from within xEdit? Or am I completely missing the purpose of this tool?

EDIT: This isn't really on topic and I should not have responded to it. My apologizes.

Edited by Sharlikran, 15 January 2015 - 11:34 AM.

  • 0

#92 fireundubh

fireundubh

    Knight

  • Mod Author
  • Pip
  • 350 posts

Posted 14 January 2015 - 09:57 PM

What people don't realize is that the CK will change a lot of things depending on what you do in the CK. It happens all behind the scenes. Since we don't have the source code for the CK we can't make xEdit do all the extra stuff the CK does.

Thankfully. The CK changes a lot of things that shouldn't be changed, and it does so because it's an internal development tool meant for internal use. Internal dev tools always have problems. It's okay for internal development tools to be janky though. Large game development teams have dedicated tools programmers whose sole purpose is to keep the tools working and to build new tools when needed.

 

Personally, I've always found the messaging that xEdit is "just a conflict resolution tool" to be wrong. I've made all of my mods almost exclusively in xEdit, and I could do that because I don't make content mods. I desperately avoid the CK whenever I can. But towing the line that xEdit is just for conflict resolution probably scares off a lot of users who might not otherwise know what they're doing, so I usually let it be. But this is my thread. In this thread, xEdit has a lot more uses than just conflict resolution. ;)

 

PS. v1.3.9 now checks only the cell record flags that Wrye Bash cares about.


Edited by fireundubh, 14 January 2015 - 09:58 PM.

  • 0

#93 GrantSP

GrantSP

    The antipodean

  • VIP-Supporter
  • PipPipPipPipPipPipPipPipPipPipPip
  • 4,302 posts

Posted 14 January 2015 - 11:01 PM

Creating a bashed patch with an xEdit script, while possible, would probably take at least 20 minutes for 100-200 plugins. I'm probably being overly optimistic about that number, too.

Thank you, I wasn't expecting that as an answer. Is that due to the inadequacies of the script implementation over a purposely built tool such as WB?

Maybe someone could strip out the code from the WB repo and create a specific tool just to create patches? Or not! ::P:

Since the future of WB and its variants hinges on a hodge-podge of code maintained by people not fluent in either the languages or the code itself, it may be simpler to strip it for parts and move on. xEdit seems to be moving nicely along, I was hoping it might be an alternative.


  • 0

#94 zilav

zilav

    Knight

  • Mod Author
  • Pip
  • 374 posts

Posted 15 January 2015 - 02:29 AM

I have plans to implement DBash directly in xEdit so it will take less than a minute probably, just don't know when it'll happen though. This will require some time (and extensive testing) which I don't have right now.

By the way I confirmed bug with SortKey, nice catch.


  • 0

#95 fireundubh

fireundubh

    Knight

  • Mod Author
  • Pip
  • 350 posts

Posted 15 January 2015 - 07:33 AM

v1.3.9 is up. Changelog:

  • Requires xEdit svn1839 or older (SortKey is broken in later versions of xEdit; no ETA on fix)
  • Uses SortKeys to evaluate records for tags instead of iterating through every element by index
  • As a result, tag generation is more accurate (e.g., [FNV] YUM loses the Relations tag)
  • Improved conflict detection through the magic of mteFunctions
  • Significant performance improvement (e.g., [FNV] YUM processing time down from 35-40s to 21-22s)
  • Refactored code and added some useful functions/procedures
  • Added a counter to the final message output so you know right away how many tags were generated

I think the accuracy of tag generation can be improved a little bit further, if it's not already 100%, but I have to do some more testing during the day.

 

v1.3.9.1 hotfix is up. Changelog:

  • C.Water: This tag was being generated in error by interior cells whose water heights had been changed. For the purposes of generating the C.Water tag, interior cells are now ignored.

Edited by fireundubh, 15 January 2015 - 08:03 AM.

  • 0

#96 z929669

z929669

    Ixian Inventor

  • Administrator
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7,082 posts

Posted 15 January 2015 - 11:22 AM

At the risk of exposing my ignorance to the masses, if someone was only ever using WB to generate a bashed patch, will this tool eventually be used to assist xEdit to apply these tags and generate a 'bashed' patch from within xEdit? Or am I completely missing the purpose of this tool?
 
Since one of the major functions of WB is the management of mods and that is now handled by MO with STEP users, as I see it the only other function left with WB, and the only reason why I have it installed at this moment, is to generate bashed patches. If that too can be handled by another more robust tool, such as xEdit, why the need for WB and its variants?

Since this is asking about the functionality of the tool that is being discussed/tested within this topic, I think it is perfectly on topic.
 
The OP links to the tool's description and download. Use this tool to modify the headers of your plugins to include the 'correct' bash tags so that WB can (more) appropriately construct the Bashed Patch without having to enter the bash tags manually (and possibly incorrectly or incompletely), since LOOT-WB apparently don't handle this ideally right now:
 

This script detects up to 49 bash tags in FO3, FNV, and Skyrim plugins. Tags automatically replace the Description in the File Header. Wrye Bash/Flash can then use these tags to help you create more intelligent bashed patches.



#97 zilav

zilav

    Knight

  • Mod Author
  • Pip
  • 374 posts

Posted 15 January 2015 - 03:26 PM

Uploaded update with SortKey fixed.


  • 0

#98 fireundubh

fireundubh

    Knight

  • Mod Author
  • Pip
  • 350 posts

Posted 15 January 2015 - 10:33 PM

Someone want to move this thread to the new xEdit Support forum?


  • 0

#99 EssArrBee

EssArrBee

    Incompatibilism Manager

  • VIP-Supporter
  • PipPipPipPipPipPipPipPipPipPipPipPipPipPipPip
  • 7,461 posts

Posted 15 January 2015 - 10:43 PM

Someone want to move this thread to the new xEdit Support forum?

Done.


  • 0

#100 Kelmych

Kelmych

    Emperor

  • VIP-Supporter
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,903 posts

Posted 16 January 2015 - 02:56 AM

When I run script v1.3.9.1 with xEdit svn1876 on "FO3 Wanderers Edition - Main File.esm", shortly after starting I get an error box: Error in BashTagsDetection  line 69  Type mismatch. I haven't seen this on any of the other plugin files I'm testing with.


  • 0

#101 fireundubh

fireundubh

    Knight

  • Mod Author
  • Pip
  • 350 posts

Posted 16 January 2015 - 03:23 AM

When I run script v1.3.9.1 with xEdit svn1876 on "FO3 Wanderers Edition - Main File.esm", shortly after starting I get an error box: Error in BashTagsDetection  line 69  Type mismatch. I haven't seen this on any of the other plugin files I'm testing with.

I'll check it out. Thanks for the report.


  • 0

#102 Mator

Mator

    General

  • Mod Author
  • PipPip
  • 625 posts

Posted 16 January 2015 - 02:26 PM

This is pretty cool.  Keep up the good work!

 

EDIT: Also, in response to "Improved conflict detection through the magic of mteFunctions", all I did in regards to conflicts is condense four already existing TES5Edit functions down to two and made the return type a string so comparisons, lists, and log messages are easier to work with.  The real magic is in the handiwork of zilav.  ^_^

 

EDIT 2: Also, you should provide a link to download mteFunctions.pas for those people who don't have it (what blasphemy!).


Edited by Mator, 16 January 2015 - 03:24 PM.

  • 0

#103 Sharlikran

Sharlikran

    Thane

  • Mod Author
  • 86 posts

Posted 16 January 2015 - 04:08 PM

With SVN v1876 of xEdit, the latest version of the script 1.3.9.1, and Mator's latest mteFunctions.pas from his GitHub when the script finishes it does not say "No tags suggested".

Instead you see this:
Applying script...

-------------------------------------------------------------------------------
Using record structure for The Elder Scrolls V: Skyrim
-------------------------------------------------------------------------------
[Apply Script done]  Processed Records: 213, Elapsed Time: 00:02
However, if there are tags like for Update.esm it will say the follwoing:
Applying script...

-------------------------------------------------------------------------------
Using record structure for The Elder Scrolls V: Skyrim
-------------------------------------------------------------------------------

Update.esm
Suggesting 6 tags: 
{{BASH:C.Encounter,C.Location,Delev,Invent,Names,Stats}}

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

[Apply Script done]  Processed Records: 1081, Elapsed Time: 00:34

  • 0

#104 Mator

Mator

    General

  • Mod Author
  • PipPip
  • 625 posts

Posted 16 January 2015 - 04:34 PM

With SVN v1876 of xEdit, the latest version of the script 1.3.9.1, and Mator's latest mteFunctions.pas from his GitHub when the script finishes it does not say "No tags suggested".

Instead you see this:

Applying script...

-------------------------------------------------------------------------------
Using record structure for The Elder Scrolls V: Skyrim
-------------------------------------------------------------------------------
[Apply Script done]  Processed Records: 213, Elapsed Time: 00:02
However, if there are tags like for Update.esm it will say the follwoing:
Applying script...

-------------------------------------------------------------------------------
Using record structure for The Elder Scrolls V: Skyrim
-------------------------------------------------------------------------------

Update.esm
Suggesting 6 tags: 
{{BASH:C.Encounter,C.Location,Delev,Invent,Names,Stats}}

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

[Apply Script done]  Processed Records: 1081, Elapsed Time: 00:34

 

Sounds like an early exit, to me.


  • 0

#105 fireundubh

fireundubh

    Knight

  • Mod Author
  • Pip
  • 350 posts

Posted 16 January 2015 - 06:27 PM

Sounds like an early exit, to me.

Yup. 1.4 is a bit different and has complete TES4/TES5 support. 1.3.9.1 and older don't even look at records for things like Stats when working with Skyrim. I'm not even sure how some of those tags are being generated for Skyrim plugins because the code says "if Fallout 3 or Fallout NV" not "if Fallout 3 or Fallout NV or Skyrim."


Edited by fireundubh, 16 January 2015 - 06:30 PM.

  • 0



Also tagged with one or more of these keywords: fallout3, fallout_nv, skyrim, xedit, bash tags,

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users