Skip to content

Commit f2dbd6e

Browse files
committed
Added "Bash Patches/FormID Lists.csv". This file is a pre-set of the FLST merger tags.
1 parent 779c5f6 commit f2dbd6e

3 files changed

Lines changed: 41 additions & 3 deletions

File tree

Data/Bash Patches/FormID Lists.csv

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"Mod","LevelerTags","Comments"
2+
"FO3 Wanderers Edition - Main File.esp","DR","Alters lists"
3+
"WeaponModKits.esp",,"Adds new items"
4+
"WeaponModKits - FWE Master Release.esp","DR","Alters lists"
5+
"WeaponModKits - FWE Optional Worn Weapons.esp","DR","Alters lists"

Data/masterlist.txt.example

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ FOOK2 - Main.esm
4242
FOOK2 - [DIK] DLC Improvement Kit.esm
4343
FOOK2 - [WANK] World And Neighbourhood Kit.esm
4444
FO3 Wanderers Edition - Main File.esm
45-
% {{BASH:Invent,Stats,Relations,Reflst,Deflst}}
45+
% {{BASH:Invent,Stats,Relations}}
4646
LingsFinerThings.esm
4747
RH_IRONSIGHTS.esm
4848
EnhancedChildren.esm
@@ -209,6 +209,7 @@ teddybear_brothers.esp
209209
StealthArmorHelmLess.esp
210210
JM Stealth Suit.esp
211211
JM Stealth Suit - Vanilla.esp
212+
FrenchMaid.esp
212213

213214
BoS_DX.esp
214215
% {{BASH:Graphics}}
@@ -360,7 +361,6 @@ CALIBR Ammo Schematics - CRAFT.esp
360361
\Weapon Mod Kits
361362
\'''''''''''''''''''''''''''''''''''''''
362363
WeaponModKits.esp
363-
% {{BASH:Reflst}}
364364

365365
\FOIP-WMK
366366
\'''''''''''''''''''''''''''''''''''''''

Mopy/bosh.py

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9192,6 +9192,10 @@ def __init__(self):
91929192
self.patchesLLPath = dirs['patches'].join('Leveled Lists.csv')
91939193
self.patchesLLTime = 0
91949194
self.patchesLLTags = {}
9195+
#--Bash Patches\FormID Lists.csv
9196+
self.patchesFLPath = dirs['patches'].join('FormID Lists.csv')
9197+
self.patchesFLTime = 0
9198+
self.patchesFLTags = {}
91959199
#--Boss Master List
91969200
self.bossMasterPath = dirs['mods'].join('masterlist.txt')
91979201
self.bossMasterTime = 0
@@ -9212,6 +9216,17 @@ def refresh(self):
92129216
tags[GPath(fields[0])] = tuple(mapper[x] for x in fields[1])
92139217
reader.close()
92149218
self.patchesLLTime = path.mtime
9219+
#--Bash Patches\FormID Lists.csv
9220+
path,mtime,tags = (self.patchesFLPath, self.patchesFLTime, self.patchesFLTags,)
9221+
if path.exists() and path.mtime != mtime:
9222+
tags.clear()
9223+
mapper = {'D':'Deflst','R':'Reflst'}
9224+
reader = bolt.CsvReader(path)
9225+
for fields in reader:
9226+
if len(fields) >= 2 and fields[0] and fields[1] in ('DR','R','D','RD',''):
9227+
tags[GPath(fields[0])] = tuple(mapper[x] for x in fields[1])
9228+
reader.close()
9229+
self.patchesFLTime = path.mtime
92159230
#--Boss Master List
92169231
path,mtime,tags = (self.bossMasterPath, self.bossMasterTime, self.bossMasterTags,)
92179232
if path.exists() and path.mtime != mtime:
@@ -9240,8 +9255,12 @@ def getBashTags(self,modName):
92409255
"""Retrieves bash tags for given file."""
92419256
if modName in self.bossMasterTags:
92429257
return set(self.bossMasterTags[modName])
9258+
patchesTags = set()
92439259
if modName in self.patchesLLTags:
9244-
return set(self.patchesLLTags[modName])
9260+
patchesTags |= set(self.patchesLLTags[modName])
9261+
if modName in self.patchesFLTags:
9262+
patchesTags |= set(self.patchesFLTags[modName])
9263+
return patchesTags
92459264

92469265
#--Mod Checker ------------------------------------------------------------
92479266
def refreshRuleSets(self):
@@ -17669,6 +17688,20 @@ class FidListsMerger(SpecialPatcher,ListPatcher):
1766917688
forceItemCheck = True #--Force configChecked to True for all items
1767017689
iiMode = True
1767117690

17691+
#--Static------------------------------------------------------------------
17692+
@staticmethod
17693+
def getDefaultTags():
17694+
tags = {}
17695+
for fileName in ('FormID Lists.csv','My FormId Lists.csv'):
17696+
textPath = dirs['patches'].join(fileName)
17697+
if textPath.exists():
17698+
reader = bolt.CsvReader(textPath)
17699+
for fields in reader:
17700+
if len(fields) < 2 or not fields[0] or fields[1] not in ('DR','R','D','RD',''): continue
17701+
tags[GPath(fields[0])] = fields[1]
17702+
reader.close()
17703+
return tags
17704+
1767217705
#--Config Phase -----------------------------------------------------------
1767317706
def getChoice(self,item):
1767417707
"""Get default config choice."""

0 commit comments

Comments
 (0)