-
Notifications
You must be signed in to change notification settings - Fork 84
Description
I don't expect you guys to go out any buy headsets or the game to work on this yourselves, but I tried to implement Fallout 4 VR support myself in a clone of utumno-wip by copying the bash/game/fallout4 directory to bash/game/fallout4vr and making the necessary changes to the __init__.py in there. These are the things I changed in there:
displayName = u'Fallout 4 Vr'
fsName = u'Fallout4VR'
altName = u'VRye Flash'
exe = u'Fallout4VR.exe'
regInstallKeys = (u'Bethesda Softworks\\Fallout 4 VR', u'Installed Path')
vanilla_string_bsas = {
u'fallout4.esm': [u'Fallout4 - Interface.ba2'],
u'fallout4_vr.esm': [u'Fallout4_VR - Main.ba2'],
}
iniFiles = [
u'Fallout4.ini',
u'Fallout4Prefs.ini',
u'Fallout4Custom.ini',
u'Fallout4VrCustom.ini',
]
masterFiles = [
u'Fallout4.esm',
u'Fallout4_VR.esm',
]
I changed the file lists in constants.py as well since there are different vanilla files in the VR install. I'm not going to paste those here because I can't really see how I'd have screwed that up.
I also added another AsteriskGame override in bash/games.py:
class Fallout4VR(AsteriskGame):
must_be_active_if_present = (bolt.GPath(u'Fallout4_VR.esm'),)
_ccc_filename = u''
@property
def remove_from_plugins_txt(self):
return {bolt.GPath(u'Fallout4.esm')} | set(
self.must_be_active_if_present)
and the check to use it in the same file:
elif name == u'Fallout4VR':
return Fallout4VR(mod_infos, plugins_txt_path)
This is sufficient for Fallout 4 Vr to show up as an option to select when starting up Wrye Bash, but upon selecting it I get this cryptic (maybe just cryptic because I'm not familiar with Python) error:
bush.py 156 __setGame: Using Fallout4VR game: C:\Games\Steam\steamapps\common\Fallout 4 VR
mods_metadata.py 39 <module>: Failed to import the loot_api module: (No module named loot_api)
fail bash\bosh.py
Error! Unable to start Wrye Bash.
Please ensure Wrye Bash is correctly installed.
Traceback (most recent call last):
File "bash\bash.py", line 351, in _main
import bosh # this imports balt (DUH) which imports wx
File "Wrye Bash Launcher.pyw", line 76, in load_module
exec compile(code, initfile, 'exec') in mod.__dict__
File "bash\bosh\__init__.py", line 1188, in <module>
class BSAInfo(FileInfo, _bsa_type):
ImportError: caused by TypeError('Error when calling the metaclass bases\n metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases',)
I can still select other games like Skyrim Special Edition and Wrye Bash seems to work just fine with them so I guess the problem is specifically with the fallout4vr folder and I have no idea where I goofed up. I've looked all over the BSAInfo class and don't see anything remotely relevant to anything I did.
Sub-issues: