Skip to content

Commit 58dac11

Browse files
committed
Enable GMST merging for all games
Skyrim and its derivatives already had this enabled, as did CBash for Oblivion. From some preliminary testing, there is no reason not to enable this for all games - the record format is completely unchanged since Oblivion. Note that 'all games' does mean 'all games' here, including Fallout 4. Relies on the GMST rewrite in inf-records-refactoring.
1 parent cfe753b commit 58dac11

4 files changed

Lines changed: 10 additions & 8 deletions

File tree

Mopy/bash/game/fallout3/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ def init(cls):
304304
MreNpc, MrePack, MrePerk, MreProj, MrePwat, MreQust, MreRace,
305305
MreRads, MreRegn, MreRgdl, MreScol, MreScpt, MreSoun, MreSpel,
306306
MreStat, MreTact,MreTerm, MreTree, MreTxst, MreVtyp, MreWatr,
307-
MreWeap, MreWthr,
307+
MreWeap, MreWthr, MreGmst,
308308
)
309309
# Setting RecordHeader class variables --------------------------------
310310
brec.RecordHeader.topTypes = [
@@ -326,7 +326,7 @@ def init(cls):
326326
brec.RecordHeader.plugin_form_version = 15
327327
brec.MreRecord.type_class = dict(
328328
(x.classType, x) for x in (cls.mergeClasses + # Not Mergeable
329-
(MreAchr, MreAcre, MreCell, MreDial, MreGmst, MreInfo, MreNavi,
329+
(MreAchr, MreAcre, MreCell, MreDial, MreInfo, MreNavi,
330330
MreNavm, MrePgre, MrePmis, MreRefr, MreWrld, MreHeader)))
331331
brec.MreRecord.simpleTypes = (set(brec.MreRecord.type_class) - {
332332
# 'TES4','ACHR','ACRE','REFR','CELL','PGRD','ROAD','LAND',

Mopy/bash/game/fallout4/__init__.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ class esp(GameInfo.esp):
139139
def init(cls):
140140
cls._dynamic_import_modules(__name__)
141141
# First import from fallout4.records file, so MelModel is set correctly
142-
from .records import MreHeader, MreLvli, MreLvln
142+
from .records import MreGmst, MreHeader, MreLvli, MreLvln
143143
# ---------------------------------------------------------------------
144144
# These Are normally not mergable but added to brec.MreRecord.type_class
145145
#
@@ -156,7 +156,7 @@ def init(cls):
156156
cls.mergeClasses = (
157157
# -- Imported from Skyrim/SkyrimSE
158158
# Added to records.py
159-
MreLvli, MreLvln
159+
MreGmst, MreLvli, MreLvln
160160
)
161161
# Setting RecordHeader class variables --------------------------------
162162
brec.RecordHeader.topTypes = [
@@ -183,9 +183,11 @@ def init(cls):
183183
brec.RecordHeader.plugin_form_version = 131
184184
brec.MreRecord.type_class = dict((x.classType,x) for x in (
185185
#--Always present
186-
MreHeader, MreLvli, MreLvln,
186+
MreHeader,
187187
# Imported from Skyrim or SkyrimSE
188+
MreGmst,
188189
# Added to records.py
190+
MreLvli, MreLvln,
189191
))
190192
brec.MreRecord.simpleTypes = (
191193
set(brec.MreRecord.type_class) - {'TES4',})

Mopy/bash/game/falloutnv/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ def init(cls):
159159
MrePack, MrePerk, MreProj, MrePwat, MreQust, MreRace, MreRads,
160160
MreRcct, MreRcpe, MreRegn, MreRepu, MreRgdl, MreScol, MreScpt,
161161
MreSlpd, MreSoun, MreSpel, MreStat, MreTact, MreTerm, MreTree,
162-
MreTxst, MreVtyp, MreWatr, MreWeap, MreWthr,
162+
MreTxst, MreVtyp, MreWatr, MreWeap, MreWthr, MreGmst,
163163
)
164164
# Setting RecordHeader class variables --------------------------------
165165
brec.RecordHeader.topTypes = [
@@ -183,7 +183,7 @@ def init(cls):
183183
brec.RecordHeader.plugin_form_version = 15
184184
brec.MreRecord.type_class = dict(
185185
(x.classType, x) for x in (cls.mergeClasses + # Not Mergeable
186-
(MreAchr, MreAcre, MreCell, MreDial, MreGmst, MreInfo, MreNavi,
186+
(MreAchr, MreAcre, MreCell, MreDial, MreInfo, MreNavi,
187187
MreNavm, MrePgre, MrePmis, MreRefr, MreWrld, MreHeader,)))
188188
brec.MreRecord.simpleTypes = (
189189
set(brec.MreRecord.type_class) - {

Mopy/bash/game/oblivion/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ def init(cls):
253253
MreLvsp, MreMgef, MreMisc, MreNpc, MrePack, MreQust, MreRace,
254254
MreScpt, MreSgst, MreSlgm, MreSoun, MreSpel, MreStat, MreTree,
255255
MreWatr, MreWeap, MreWthr, MreClmt, MreCsty, MreIdle, MreLtex,
256-
MreRegn, MreSbsp, MreSkil,
256+
MreRegn, MreSbsp, MreSkil, MreGmst,
257257
)
258258
cls.readClasses = (MreMgef, MreScpt,)
259259
cls.writeClasses = (MreMgef,)

0 commit comments

Comments
 (0)