Skip to content

Commit 43aa3b5

Browse files
nephatrineInfernio
andcommitted
Fallout 4 VR Support
Infernio: - Edited to keep it up to date with WB changes, checked into repo to make keeping track easier. - Updated for 'Rework game version calculation' - Updated for 'Move allBethFiles to game/*/vanilla_files.py' - Updated for 'Refactor se.steam_exe, kill SteamInstall setting' - Updated for 'Support .esu plugins' - Updated for 'Drop bush.game.dataDirsPlus, add FO3/FNV dirs' FO4VR: Hardcode strings for DLCs too The DLCs can easily be copied over from regular FO4, and many users do so, so we should probably support that use case. Co-authored-by: Infernio <infernio@icloud.com>
1 parent 091e8dd commit 43aa3b5

13 files changed

Lines changed: 457 additions & 3 deletions

File tree

Mopy/bash/_games_lo.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,6 +1110,10 @@ def remove_from_plugins_txt(self):
11101110
return {bolt.GPath(u'Fallout4.esm')} | set(
11111111
self.must_be_active_if_present)
11121112

1113+
class Fallout4VR(Fallout4):
1114+
must_be_active_if_present = (bolt.GPath(u'Fallout4_VR.esm'),)
1115+
_ccc_filename = u''
1116+
11131117
class SkyrimSE(AsteriskGame):
11141118

11151119
must_be_active_if_present = (bolt.GPath(u'Update.esm'),
@@ -1219,6 +1223,8 @@ def game_factory(game_fsName, mod_infos, plugins_txt_path,
12191223
return SkyrimSE(mod_infos, plugins_txt_path)
12201224
elif game_fsName == u'Fallout4':
12211225
return Fallout4(mod_infos, plugins_txt_path)
1226+
elif game_fsName == u'Fallout4VR':
1227+
return Fallout4VR(mod_infos, plugins_txt_path)
12221228
else:
12231229
return TimestampGame(mod_infos, plugins_txt_path)
12241230

Mopy/bash/bosh/bsa_files.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -655,5 +655,5 @@ def get_bsa_type(game_fsName):
655655
return SkyrimBsa
656656
elif game_fsName == u'Skyrim Special Edition':
657657
return SkyrimSeBsa
658-
elif game_fsName == u'Fallout4':
658+
elif game_fsName in (u'Fallout4', u'Fallout4VR'):
659659
return Fallout4Ba2

Mopy/bash/bosh/mods_metadata.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,8 @@ def getLootApiGameType(fsName):
332332
return loot_api.GameType.fonv
333333
elif fsName == 'Fallout4':
334334
return loot_api.GameType.fo4
335+
elif fsName == 'Fallout4VR':
336+
return loot_api.GameType.fo4vr
335337
else:
336338
return None
337339

@@ -1203,7 +1205,8 @@ def getRecordReader(flags, size):
12031205
recType, rec_siz = header.recType, header.size
12041206
if recType == 'GRUP':
12051207
# FIXME(ut): monkey patch for fallout QUST GRUP
1206-
if bush.game.fsName == u'Fallout4' and header.groupType == 10:
1208+
if bush.game.fsName in (u'Fallout4', u'Fallout4VR') and \
1209+
header.groupType == 10:
12071210
ins.seek(rec_siz - header.__class__.rec_header_size, 1)
12081211
continue
12091212
label = header.label

Mopy/bash/bosh/save_headers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ def get_save_header_type(game_fsName):
497497
return OblivionSaveHeader
498498
elif game_fsName in (u'Enderal', u'Skyrim', u'Skyrim Special Edition'):
499499
return SkyrimSaveHeader
500-
elif game_fsName == u'Fallout4':
500+
elif game_fsName in (u'Fallout4', u'Fallout4VR'):
501501
return Fallout4SaveHeader
502502
elif game_fsName == u'FalloutNV':
503503
return FalloutNVSaveHeader
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# GPL License and Copyright Notice ============================================
4+
# This file is part of Wrye Bash.
5+
#
6+
# Wrye Bash is free software; you can redistribute it and/or
7+
# modify it under the terms of the GNU General Public License
8+
# as published by the Free Software Foundation; either version 2
9+
# of the License, or (at your option) any later version.
10+
#
11+
# Wrye Bash is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU General Public License
17+
# along with Wrye Bash; if not, write to the Free Software Foundation,
18+
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19+
#
20+
# Wrye Bash copyright (C) 2005-2009 Wrye, 2010-2019 Wrye Bash Team
21+
# https://github.com/wrye-bash
22+
#
23+
# =============================================================================
24+
"""GameInfo override for Fallout 4 VR. Inherits from Fallout 4 and tweaks where
25+
necessary."""
26+
27+
from ..fallout4 import Fallout4GameInfo
28+
from ... import brec
29+
30+
class Fallout4VRGameInfo(Fallout4GameInfo):
31+
displayName = u'Fallout 4 VR'
32+
fsName = u'Fallout4VR'
33+
altName = u'Wrye VRash'
34+
defaultIniFile = u'Fallout4.ini'
35+
launch_exe = u'Fallout4VR.exe'
36+
game_detect_file = [u'Fallout4VR.exe']
37+
version_detect_file = [u'Fallout4VR.exe']
38+
masterFiles = [u'Fallout4.esm', u'Fallout4_VR.esm',]
39+
iniFiles = [
40+
u'Fallout4.ini',
41+
u'Fallout4Prefs.ini',
42+
u'Fallout4Custom.ini',
43+
u'Fallout4VrCustom.ini',
44+
]
45+
regInstallKeys = (u'Bethesda Softworks\\Fallout 4 VR', u'Installed Path')
46+
47+
vanilla_string_bsas = Fallout4GameInfo.vanilla_string_bsas.copy()
48+
vanilla_string_bsas.update({
49+
u'fallout4_vr.esm': [u'Fallout4_VR - Main.ba2'],
50+
})
51+
52+
espm_extensions = Fallout4GameInfo.espm_extensions - {u'.esl'}
53+
check_esl = False
54+
55+
class se(Fallout4GameInfo.se):
56+
se_abbrev = u'F4SEVR'
57+
long_name = u'Fallout 4 VR Script Extender'
58+
exe = u'f4sevr_loader.exe'
59+
ver_files = [u'f4sevr_loader.exe', u'f4sevr_steam_loader.dll']
60+
61+
SkipBAINRefresh = {u'fo4vredit backups', u'fo4vredit cache'}
62+
63+
# ---------------------------------------------------------------------
64+
# --Imported - MreGlob is special import, not in records.py
65+
# ---------------------------------------------------------------------
66+
@classmethod
67+
def init(cls):
68+
cls._dynamic_import_modules(__name__)
69+
# First import from fallout4.records file, so MelModel is set correctly
70+
from .records import MreHeader, MreLvli, MreLvln
71+
# ---------------------------------------------------------------------
72+
# These Are normally not mergable but added to brec.MreRecord.type_class
73+
#
74+
# MreCell,
75+
# ---------------------------------------------------------------------
76+
# These have undefined FormIDs Do not merge them
77+
#
78+
# MreNavi, MreNavm,
79+
# ---------------------------------------------------------------------
80+
# These need syntax revision but can be merged once that is corrected
81+
#
82+
# MreAchr, MreDial, MreLctn, MreInfo, MreFact, MrePerk,
83+
# ---------------------------------------------------------------------
84+
cls.mergeClasses = (
85+
# -- Imported from Skyrim/SkyrimSE
86+
# Added to records.py
87+
MreLvli, MreLvln
88+
)
89+
# Setting RecordHeader class variables --------------------------------
90+
brec.RecordHeader.topTypes = [
91+
'GMST', 'KYWD', 'LCRT', 'AACT', 'TRNS', 'CMPO', 'TXST', 'GLOB',
92+
'DMGT', 'CLAS', 'FACT', 'HDPT', 'RACE', 'SOUN', 'ASPC', 'MGEF',
93+
'LTEX', 'ENCH', 'SPEL', 'ACTI', 'TACT', 'ARMO', 'BOOK', 'CONT',
94+
'DOOR', 'INGR', 'LIGH', 'MISC', 'STAT', 'SCOL', 'MSTT', 'GRAS',
95+
'TREE', 'FLOR', 'FURN', 'WEAP', 'AMMO', 'NPC_', 'PLYR', 'LVLN',
96+
'KEYM', 'ALCH', 'IDLM', 'NOTE', 'PROJ', 'HAZD', 'BNDS', 'TERM',
97+
'LVLI', 'WTHR', 'CLMT', 'SPGD', 'RFCT', 'REGN', 'NAVI', 'CELL',
98+
'WRLD', 'QUST', 'IDLE', 'PACK', 'CSTY', 'LSCR', 'LVSP', 'ANIO',
99+
'WATR', 'EFSH', 'EXPL', 'DEBR', 'IMGS', 'IMAD', 'FLST', 'PERK',
100+
'BPTD', 'ADDN', 'AVIF', 'CAMS', 'CPTH', 'VTYP', 'MATT', 'IPCT',
101+
'IPDS', 'ARMA', 'ECZN', 'LCTN', 'MESG', 'DOBJ', 'DFOB', 'LGTM',
102+
'MUSC', 'FSTP', 'FSTS', 'SMBN', 'SMQN', 'SMEN', 'DLBR', 'MUST',
103+
'DLVW', 'EQUP', 'RELA', 'SCEN', 'ASTP', 'OTFT', 'ARTO', 'MATO',
104+
'MOVT', 'SNDR', 'SNCT', 'SOPM', 'COLL', 'CLFM', 'REVB', 'PKIN',
105+
'RFGP', 'AMDL', 'LAYR', 'COBJ', 'OMOD', 'MSWP', 'ZOOM', 'INNR',
106+
'KSSM', 'AECH', 'SCCO', 'AORU', 'SCSN', 'STAG', 'NOCM', 'LENS',
107+
'GDRY', 'OVIS']
108+
brec.RecordHeader.recordTypes = (set(brec.RecordHeader.topTypes) |
109+
{'GRUP', 'TES4', 'REFR', 'ACHR', 'PMIS', 'PARW', 'PGRE', 'PBEA',
110+
'PFLA', 'PCON', 'PBAR', 'PHZD', 'LAND', 'NAVM', 'DIAL', 'INFO'})
111+
brec.RecordHeader.plugin_form_version = 131
112+
brec.MreRecord.type_class = dict((x.classType,x) for x in (
113+
#--Always present
114+
MreHeader, MreLvli, MreLvln,
115+
# Imported from Skyrim or SkyrimSE
116+
# Added to records.py
117+
))
118+
brec.MreRecord.simpleTypes = (
119+
set(brec.MreRecord.type_class) - {'TES4',})
120+
121+
GAME_TYPE = Fallout4VRGameInfo
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# GPL License and Copyright Notice ============================================
4+
# This file is part of Wrye Bash.
5+
#
6+
# Wrye Bash is free software; you can redistribute it and/or
7+
# modify it under the terms of the GNU General Public License
8+
# as published by the Free Software Foundation; either version 2
9+
# of the License, or (at your option) any later version.
10+
#
11+
# Wrye Bash is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU General Public License
17+
# along with Wrye Bash; if not, write to the Free Software Foundation,
18+
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19+
#
20+
# Wrye Bash copyright (C) 2005-2009 Wrye, 2010-2019 Wrye Bash Team
21+
# https://github.com/wrye-bash
22+
#
23+
# =============================================================================
24+
25+
# Import all constants from Fallout 4 then edit them as needed
26+
from ..fallout4.constants import *
27+
28+
#--Game ESM/ESP/BSA files
29+
# These filenames need to be in lowercase,
30+
bethDataFiles = {
31+
u'fallout4.esm',
32+
u'fallout4.cdx',
33+
u'fallout4 - animations.ba2',
34+
u'fallout4 - geometry.csg',
35+
u'fallout4 - interface.ba2',
36+
u'fallout4 - materials.ba2',
37+
u'fallout4 - meshes.ba2',
38+
u'fallout4 - meshesextra.ba2',
39+
u'fallout4 - misc.ba2',
40+
u'fallout4 - shaders.ba2',
41+
u'fallout4 - sounds.ba2',
42+
u'fallout4 - startup.ba2',
43+
u'fallout4 - textures1.ba2',
44+
u'fallout4 - textures2.ba2',
45+
u'fallout4 - textures3.ba2',
46+
u'fallout4 - textures4.ba2',
47+
u'fallout4 - textures5.ba2',
48+
u'fallout4 - textures6.ba2',
49+
u'fallout4 - textures7.ba2',
50+
u'fallout4 - textures8.ba2',
51+
u'fallout4 - textures9.ba2',
52+
u'fallout4 - voices.ba2',
53+
u'fallout4_vr.esm',
54+
u'fallout4_vr - main.ba2',
55+
u'fallout4_vr - shaders.ba2',
56+
u'fallout4_vr - textures.ba2',
57+
}
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# GPL License and Copyright Notice ============================================
4+
# This file is part of Wrye Bash.
5+
#
6+
# Wrye Bash is free software; you can redistribute it and/or
7+
# modify it under the terms of the GNU General Public License
8+
# as published by the Free Software Foundation; either version 2
9+
# of the License, or (at your option) any later version.
10+
#
11+
# Wrye Bash is distributed in the hope that it will be useful,
12+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
# GNU General Public License for more details.
15+
#
16+
# You should have received a copy of the GNU General Public License
17+
# along with Wrye Bash; if not, write to the Free Software Foundation,
18+
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19+
#
20+
# Wrye Bash copyright (C) 2005-2009 Wrye, 2010-2019 Wrye Bash Team
21+
# https://github.com/wrye-bash
22+
#
23+
# =============================================================================
24+
from collections import OrderedDict
25+
26+
default_tweaks = {
27+
u'Modding, Enabled [Fallout4Custom].ini': OrderedDict(
28+
[(u'Archive', OrderedDict(
29+
[(u'bInvalidateOlderFiles', u'1'),
30+
(u'sResourceDataDirsFinal', u'')]))]),
31+
u'Modding, Disabled ~Default [Fallout4Custom].ini': OrderedDict(
32+
[(u'Archive', OrderedDict(
33+
[(u'bInvalidateOlderFiles', u'0'),
34+
(u'sResourceDataDirsFinal', u'STRINGS\\')]))]),
35+
u'Always Run, Disabled [Fallout4Prefs].ini': OrderedDict(
36+
[(u'Controls', OrderedDict([(u'bAlwaysRunByDefault', u'0')]))]),
37+
u'Always Run, Enabled ~Default [Fallout4Prefs].ini': OrderedDict(
38+
[(u'Controls', OrderedDict([(u'bAlwaysRunByDefault', u'1')]))]),
39+
u'Colour HUD, Buff [Fallout4Prefs].ini': OrderedDict(
40+
[(u'Interface', OrderedDict(
41+
[(u'iHUDColorG', u'180'), (u'iHUDColorR', u'238'),
42+
(u'iHUDColorB', u'34')]))]),
43+
u'Colour HUD, Coral [Fallout4Prefs].ini': OrderedDict(
44+
[(u'Interface', OrderedDict(
45+
[(u'iHUDColorG', u'114'), (u'iHUDColorR', u'255'),
46+
(u'iHUDColorB', u'86')]))]),
47+
u'Colour HUD, Cream [Fallout4Prefs].ini': OrderedDict(
48+
[(u'Interface', OrderedDict(
49+
[(u'iHUDColorG', u'230'), (u'iHUDColorR', u'238'),
50+
(u'iHUDColorB', u'133')]))]),
51+
u'Colour HUD, Green ~Default [Fallout4Prefs].ini': OrderedDict([(
52+
u'Interface', OrderedDict(
53+
[(u'iHUDColorG', u'255'), (u'iHUDColorR', u'18'),
54+
(u'iHUDColorB', u'21')]))]),
55+
u'Colour HUD, Mauve [Fallout4Prefs].ini': OrderedDict(
56+
[(u'Interface', OrderedDict(
57+
[(u'iHUDColorG', u'58'), (u'iHUDColorR', u'178'),
58+
(u'iHUDColorB', u'238')]))]),
59+
u'Colour HUD, Red [Fallout4Prefs].ini': OrderedDict(
60+
[(u'Interface', OrderedDict(
61+
[(u'iHUDColorG', u'0'), (u'iHUDColorR', u'205'),
62+
(u'iHUDColorB', u'0')]))]),
63+
u'Colour HUD, SeaGreen [Fallout4Prefs].ini': OrderedDict(
64+
[(u'Interface', OrderedDict(
65+
[(u'iHUDColorG', u'178'), (u'iHUDColorR', u'32'),
66+
(u'iHUDColorB', u'170')]))]),
67+
u'Colour PipBoy, Buff [Fallout4Prefs].ini': OrderedDict(
68+
[(u'Pipboy', OrderedDict([(u'fPipboyEffectColorB', u'0.0900'),
69+
(u'fPipboyEffectColorR', u'0.8840'),
70+
(u'fPipboyEffectColorG', u'0.6940')]))]),
71+
u'Colour PipBoy, Coral [Fallout4Prefs].ini': OrderedDict(
72+
[(u'Pipboy', OrderedDict([(u'fPipboyEffectColorB', u'0.3397'),
73+
(u'fPipboyEffectColorR', u'0.8314'),
74+
(u'fPipboyEffectColorG', u'0.4071')]))]),
75+
u'Colour PipBoy, Cream [Fallout4Prefs].ini': OrderedDict(
76+
[(u'Pipboy', OrderedDict([(u'fPipboyEffectColorB', u'0.4867'),
77+
(u'fPipboyEffectColorR', u'0.8771'),
78+
(u'fPipboyEffectColorG', u'0.8412')]))]),
79+
u'Colour PipBoy, Green ~Default [Fallout4Prefs].ini': OrderedDict([(
80+
u'Pipboy', OrderedDict([(u'fPipboyEffectColorB', u'0.0900'),
81+
(u'fPipboyEffectColorR', u'0.0800'),
82+
(u'fPipboyEffectColorG', u'1.0000')]))]),
83+
u'Colour PipBoy, Mauve [Fallout4Prefs].ini': OrderedDict(
84+
[(u'Pipboy', OrderedDict([(u'fPipboyEffectColorB', u'0.8579'),
85+
(u'fPipboyEffectColorR', u'0.6534'),
86+
(u'fPipboyEffectColorG', u'0.1853')]))]),
87+
u'Colour PipBoy, Red [Fallout4Prefs].ini': OrderedDict(
88+
[(u'Pipboy', OrderedDict([(u'fPipboyEffectColorB', u'0.0349'),
89+
(u'fPipboyEffectColorR', u'0.6436'),
90+
(u'fPipboyEffectColorG', u'0.0359')]))]),
91+
u'Colour PipBoy, SeaGreen [Fallout4Prefs].ini': OrderedDict(
92+
[(u'Pipboy', OrderedDict([(u'fPipboyEffectColorB', u'0.5983'),
93+
(u'fPipboyEffectColorR', u'0.0973'),
94+
(u'fPipboyEffectColorG', u'0.6185')]))]),
95+
u'DebugLog, Disabled ~Default [Fallout4Custom].ini': OrderedDict([(
96+
u'Papyrus', OrderedDict(
97+
[(u'bEnableLogging', u'0'), (u'bLoadDebugInformation', u'0'),
98+
(u'bEnableTrace', u'0')]))]),
99+
u'DebugLog, Enabled [Fallout4Custom].ini': OrderedDict(
100+
[(u'Papyrus', OrderedDict(
101+
[(u'bEnableLogging', u'1'), (u'bLoadDebugInformation', u'1'),
102+
(u'bEnableTrace', u'1')]))]),
103+
u'Depth Of Field, Off [Fallout4Prefs].ini': OrderedDict(
104+
[(u'Imagespace', OrderedDict([(u'bDoDepthOfField', u'0')]))]),
105+
u'Depth Of Field, On ~Default [Fallout4Prefs].ini': OrderedDict(
106+
[(u'Imagespace', OrderedDict([(u'bDoDepthOfField', u'1')]))]),
107+
u'Max Particles, 3000 [Fallout4Prefs].ini': OrderedDict(
108+
[(u'Particles', OrderedDict([(u'iMaxDesired', u'3000')]))]),
109+
u'Max Particles, 4000 [Fallout4Prefs].ini': OrderedDict(
110+
[(u'Particles', OrderedDict([(u'iMaxDesired', u'4000')]))]),
111+
u'Max Particles, 5000 [Fallout4Prefs].ini': OrderedDict(
112+
[(u'Particles', OrderedDict([(u'iMaxDesired', u'5000')]))]),
113+
u'Max Particles, 6000 ~Default [Fallout4Prefs].ini': OrderedDict(
114+
[(u'Particles', OrderedDict([(u'iMaxDesired', u'6000')]))]),
115+
u'Max Particles, 7000 [Fallout4Prefs].ini': OrderedDict(
116+
[(u'Particles', OrderedDict([(u'iMaxDesired', u'7000')]))]),
117+
u'ShadowMap, res 1024 [Fallout4Prefs].ini': OrderedDict(
118+
[(u'Display', OrderedDict([(u'iShadowMapResolution', u'1024')]))]),
119+
u'ShadowMap, res 2048 [Fallout4Prefs].ini': OrderedDict(
120+
[(u'Display', OrderedDict([(u'iShadowMapResolution', u'2048')]))]),
121+
u'ShadowMap, res 4096 [Fallout4Prefs].ini': OrderedDict(
122+
[(u'Display', OrderedDict([(u'iShadowMapResolution', u'4096')]))]),
123+
u'ShadowMap, res 512 [Fallout4Prefs].ini': OrderedDict(
124+
[(u'Display', OrderedDict([(u'iShadowMapResolution', u'512')]))]),
125+
u'VR Render Size Multiplier, 0.8 [Fallout4Custom].ini': OrderedDict(
126+
[(u'VRDisplay', OrderedDict([(u'fRenderTargetSizeMultiplier', u'0.8')]))]),
127+
u'VR Render Size Multiplier, 1.0 [Fallout4Custom].ini': OrderedDict(
128+
[(u'VRDisplay', OrderedDict([(u'fRenderTargetSizeMultiplier', u'1.0')]))]),
129+
u'VR Render Size Multiplier, 1.2 [Fallout4Custom].ini': OrderedDict(
130+
[(u'VRDisplay', OrderedDict([(u'fRenderTargetSizeMultiplier', u'1.2')]))]),
131+
u'VR Render Size Multiplier, 1.4 [Fallout4Custom].ini': OrderedDict(
132+
[(u'VRDisplay', OrderedDict([(u'fRenderTargetSizeMultiplier', u'1.4')]))]),
133+
u'VR Scale, 70 [Fallout4VrCustom].ini': OrderedDict(
134+
[(u'VR', OrderedDict([(u'fVrScale', u'70')]))]),
135+
u'VR Scale, 75 [Fallout4VrCustom].ini': OrderedDict(
136+
[(u'VR', OrderedDict([(u'fVrScale', u'75')]))]),
137+
u'VR Scale, 80 [Fallout4VrCustom].ini': OrderedDict(
138+
[(u'VR', OrderedDict([(u'fVrScale', u'80')]))]),
139+
}

0 commit comments

Comments
 (0)