@@ -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