Skip to content

Commit

Permalink
FO4: Add support for Next Gen Update RRR
Browse files Browse the repository at this point in the history
Seems like the only thing we need to do is add the two new BA2 versions
to valid_versions, it doesn't look like their structure has actually
changed.

FO4: Update vanilla files/CCC for Next Gen Update

Well, and update the vanilla files and CCC fallback. Also took the
opportunity to check the Skyrim one, and it looks like we missed the
_ResourcePack.esl addition to CCC. Not a big deal, pretty much everyone
has the CCC.

Closes # 680 <--- RRR
  • Loading branch information
Infernio authored and Utumno committed May 20, 2024
1 parent 7794f80 commit c200e3d
Show file tree
Hide file tree
Showing 3 changed files with 191 additions and 162 deletions.
324 changes: 164 additions & 160 deletions Mopy/bash/_games_lo.py
Original file line number Diff line number Diff line change
Expand Up @@ -1200,165 +1200,168 @@ class Fallout4(AsteriskGame):
u'DLCUltraHighResolution.esm')))
_ccc_filename = u'Fallout4.ccc'
_ccc_fallback = tuple(map(FName, (
# Up to date as of 2019/11/22
u'ccBGSFO4001-PipBoy(Black).esl',
u'ccBGSFO4002-PipBoy(Blue).esl',
u'ccBGSFO4003-PipBoy(Camo01).esl',
u'ccBGSFO4004-PipBoy(Camo02).esl',
u'ccBGSFO4006-PipBoy(Chrome).esl',
u'ccBGSFO4012-PipBoy(Red).esl',
u'ccBGSFO4014-PipBoy(White).esl',
u'ccBGSFO4005-BlueCamo.esl',
u'ccBGSFO4016-Prey.esl',
u'ccBGSFO4018-GaussRiflePrototype.esl',
u'ccBGSFO4019-ChineseStealthArmor.esl',
u'ccBGSFO4020-PowerArmorSkin(Black).esl',
u'ccBGSFO4022-PowerArmorSkin(Camo01).esl',
u'ccBGSFO4023-PowerArmorSkin(Camo02).esl',
u'ccBGSFO4025-PowerArmorSkin(Chrome).esl',
u'ccBGSFO4033-PowerArmorSkinWhite.esl',
u'ccBGSFO4024-PACamo03.esl',
u'ccBGSFO4038-HorseArmor.esl',
u'ccBGSFO4041-DoomMarineArmor.esl',
u'ccBGSFO4042-BFG.esl',
u'ccBGSFO4044-HellfirePowerArmor.esl',
u'ccFSVFO4001-ModularMilitaryBackpack.esl',
u'ccFSVFO4002-MidCenturyModern.esl',
u'ccFRSFO4001-HandmadeShotgun.esl',
u'ccEEJFO4001-DecorationPack.esl',
u'ccRZRFO4001-TunnelSnakes.esm',
u'ccBGSFO4045-AdvArcCab.esl',
u'ccFSVFO4003-Slocum.esl',
u'ccGCAFO4001-FactionWS01Army.esl',
u'ccGCAFO4002-FactionWS02ACat.esl',
u'ccGCAFO4003-FactionWS03BOS.esl',
u'ccGCAFO4004-FactionWS04Gun.esl',
u'ccGCAFO4005-FactionWS05HRPink.esl',
u'ccGCAFO4006-FactionWS06HRShark.esl',
u'ccGCAFO4007-FactionWS07HRFlames.esl',
u'ccGCAFO4008-FactionWS08Inst.esl',
u'ccGCAFO4009-FactionWS09MM.esl',
u'ccGCAFO4010-FactionWS10RR.esl',
u'ccGCAFO4011-FactionWS11VT.esl',
u'ccGCAFO4012-FactionAS01ACat.esl',
u'ccGCAFO4013-FactionAS02BoS.esl',
u'ccGCAFO4014-FactionAS03Gun.esl',
u'ccGCAFO4015-FactionAS04HRPink.esl',
u'ccGCAFO4016-FactionAS05HRShark.esl',
u'ccGCAFO4017-FactionAS06Inst.esl',
u'ccGCAFO4018-FactionAS07MM.esl',
u'ccGCAFO4019-FactionAS08Nuk.esl',
u'ccGCAFO4020-FactionAS09RR.esl',
u'ccGCAFO4021-FactionAS10HRFlames.esl',
u'ccGCAFO4022-FactionAS11VT.esl',
u'ccGCAFO4023-FactionAS12Army.esl',
u'ccAWNFO4001-BrandedAttire.esl',
u'ccSWKFO4001-AstronautPowerArmor.esm',
u'ccSWKFO4002-PipNuka.esl',
u'ccSWKFO4003-PipQuan.esl',
u'ccBGSFO4050-DgBColl.esl',
u'ccBGSFO4051-DgBox.esl',
u'ccBGSFO4052-DgDal.esl',
u'ccBGSFO4053-DgGoldR.esl',
u'ccBGSFO4054-DgGreatD.esl',
u'ccBGSFO4055-DgHusk.esl',
u'ccBGSFO4056-DgLabB.esl',
u'ccBGSFO4057-DgLabY.esl',
u'ccBGSFO4058-DGLabC.esl',
u'ccBGSFO4059-DgPit.esl',
u'ccBGSFO4060-DgRot.esl',
u'ccBGSFO4061-DgShiInu.esl',
u'ccBGSFO4036-TrnsDg.esl',
u'ccRZRFO4004-PipInst.esl',
u'ccBGSFO4062-PipPat.esl',
u'ccRZRFO4003-PipOver.esl',
u'ccFRSFO4002-AntimaterielRifle.esl',
u'ccEEJFO4002-Nuka.esl',
u'ccYGPFO4001-PipCruiser.esl',
u'ccBGSFO4072-PipGrog.esl',
u'ccBGSFO4073-PipMMan.esl',
u'ccBGSFO4074-PipInspect.esl',
u'ccBGSFO4075-PipShroud.esl',
u'ccBGSFO4076-PipMystery.esl',
u'ccBGSFO4071-PipArc.esl',
u'ccBGSFO4079-PipVim.esl',
u'ccBGSFO4078-PipReily.esl',
u'ccBGSFO4077-PipRocket.esl',
u'ccBGSFO4070-PipAbra.esl',
u'ccBGSFO4008-PipGrn.esl',
u'ccBGSFO4015-PipYell.esl',
u'ccBGSFO4009-PipOran.esl',
u'ccBGSFO4011-PipPurp.esl',
u'ccBGSFO4021-PowerArmorSkinBlue.esl',
u'ccBGSFO4027-PowerArmorSkinGreen.esl',
u'ccBGSFO4034-PowerArmorSkinYellow.esl',
u'ccBGSFO4028-PowerArmorSkinOrange.esl',
u'ccBGSFO4031-PowerArmorSkinRed.esl',
u'ccBGSFO4030-PowerArmorSkinPurple.esl',
u'ccBGSFO4032-PowerArmorSkinTan.esl',
u'ccBGSFO4029-PowerArmorSkinPink.esl',
u'ccGRCFO4001-PipGreyTort.esl',
u'ccGRCFO4002-PipGreenVim.esl',
u'ccBGSFO4013-PipTan.esl',
u'ccBGSFO4010-PipPnk.esl',
u'ccSBJFO4001-SolarFlare.esl',
u'ccZSEF04001-BHouse.esm',
u'ccTOSFO4001-NeoSky.esm',
u'ccKGJFO4001-bastion.esl',
u'ccBGSFO4063-PAPat.esl',
u'ccQDRFO4001_PowerArmorAI.esl',
u'ccBGSFO4048-Dovah.esl',
u'ccBGSFO4101-AS_Shi.esl',
u'ccBGSFO4114-WS_Shi.esl',
u'ccBGSFO4115-X02.esl',
u'ccRZRFO4002-Disintegrate.esl',
u'ccBGSFO4116-HeavyFlamer.esl',
u'ccBGSFO4091-AS_Bats.esl',
u'ccBGSFO4092-AS_CamoBlue.esl',
u'ccBGSFO4093-AS_CamoGreen.esl',
u'ccBGSFO4094-AS_CamoTan.esl',
u'ccBGSFO4097-AS_Jack-oLantern.esl',
u'ccBGSFO4104-WS_Bats.esl',
u'ccBGSFO4105-WS_CamoBlue.esl',
u'ccBGSFO4106-WS_CamoGreen.esl',
u'ccBGSFO4107-WS_CamoTan.esl',
u'ccBGSFO4111-WS_Jack-oLantern.esl',
u'ccBGSFO4118-WS_TunnelSnakes.esl',
u'ccBGSFO4113-WS_ReillysRangers.esl',
u'ccBGSFO4112-WS_Pickman.esl',
u'ccBGSFO4110-WS_Enclave.esl',
u'ccBGSFO4108-WS_ChildrenOfAtom.esl',
u'ccBGSFO4103-AS_TunnelSnakes.esl',
u'ccBGSFO4099-AS_ReillysRangers.esl',
u'ccBGSFO4098-AS_Pickman.esl',
u'ccBGSFO4096-AS_Enclave.esl',
u'ccBGSFO4095-AS_ChildrenOfAtom.esl',
u'ccBGSFO4090-PipTribal.esl',
u'ccBGSFO4089-PipSynthwave.esl',
u'ccBGSFO4087-PipHaida.esl',
u'ccBGSFO4085-PipHawaii.esl',
u'ccBGSFO4084-PipRetro.esl',
u'ccBGSFO4083-PipArtDeco.esl',
u'ccBGSFO4082-PipPRC.esl',
u'ccBGSFO4081-PipPhenolResin.esl',
u'ccBGSFO4080-PipPop.esl',
u'ccBGSFO4035-Pint.esl',
u'ccBGSFO4086-PipAdventure.esl',
u'ccJVDFO4001-Holiday.esl',
u'ccBGSFO4047-QThund.esl',
u'ccFRSFO4003-CR75L.esl',
u'ccZSEFO4002-SManor.esm',
u'ccACXFO4001-VSuit.esl',
u'ccBGSFO4040-VRWorkshop01.esl',
u'ccFSVFO4005-VRDesertIsland.esl',
u'ccFSVFO4006-VRWasteland.esl',
u'ccSBJFO4002_ManwellRifle.esl',
u'ccTOSFO4002_NeonFlats.esm',
u'ccBGSFO4117-CapMerc.esl',
u'ccFSVFO4004-VRWorkshopGNRPlaza.esl',
u'ccBGSFO4046-TesCan.esl',
u'ccGCAFO4025-PAGunMM.esl',
u'ccCRSFO4001-PipCoA.esl',
# Up to date as of 2024/04/30
'ccBGSFO4001-PipBoy(Black).esl',
'ccBGSFO4002-PipBoy(Blue).esl',
'ccBGSFO4003-PipBoy(Camo01).esl',
'ccBGSFO4004-PipBoy(Camo02).esl',
'ccBGSFO4006-PipBoy(Chrome).esl',
'ccBGSFO4012-PipBoy(Red).esl',
'ccBGSFO4014-PipBoy(White).esl',
'ccBGSFO4005-BlueCamo.esl',
'ccBGSFO4016-Prey.esl',
'ccBGSFO4018-GaussRiflePrototype.esl',
'ccBGSFO4019-ChineseStealthArmor.esl',
'ccBGSFO4020-PowerArmorSkin(Black).esl',
'ccBGSFO4022-PowerArmorSkin(Camo01).esl',
'ccBGSFO4023-PowerArmorSkin(Camo02).esl',
'ccBGSFO4025-PowerArmorSkin(Chrome).esl',
'ccBGSFO4033-PowerArmorSkinWhite.esl',
'ccBGSFO4024-PACamo03.esl',
'ccBGSFO4038-HorseArmor.esl',
'ccBGSFO4041-DoomMarineArmor.esl',
'ccBGSFO4042-BFG.esl',
'ccBGSFO4044-HellfirePowerArmor.esl',
'ccFSVFO4001-ModularMilitaryBackpack.esl',
'ccFSVFO4002-MidCenturyModern.esl',
'ccFRSFO4001-HandmadeShotgun.esl',
'ccEEJFO4001-DecorationPack.esl',
'ccRZRFO4001-TunnelSnakes.esm',
'ccBGSFO4045-AdvArcCab.esl',
'ccFSVFO4003-Slocum.esl',
'ccGCAFO4001-FactionWS01Army.esl',
'ccGCAFO4002-FactionWS02ACat.esl',
'ccGCAFO4003-FactionWS03BOS.esl',
'ccGCAFO4004-FactionWS04Gun.esl',
'ccGCAFO4005-FactionWS05HRPink.esl',
'ccGCAFO4006-FactionWS06HRShark.esl',
'ccGCAFO4007-FactionWS07HRFlames.esl',
'ccGCAFO4008-FactionWS08Inst.esl',
'ccGCAFO4009-FactionWS09MM.esl',
'ccGCAFO4010-FactionWS10RR.esl',
'ccGCAFO4011-FactionWS11VT.esl',
'ccGCAFO4012-FactionAS01ACat.esl',
'ccGCAFO4013-FactionAS02BoS.esl',
'ccGCAFO4014-FactionAS03Gun.esl',
'ccGCAFO4015-FactionAS04HRPink.esl',
'ccGCAFO4016-FactionAS05HRShark.esl',
'ccGCAFO4017-FactionAS06Inst.esl',
'ccGCAFO4018-FactionAS07MM.esl',
'ccGCAFO4019-FactionAS08Nuk.esl',
'ccGCAFO4020-FactionAS09RR.esl',
'ccGCAFO4021-FactionAS10HRFlames.esl',
'ccGCAFO4022-FactionAS11VT.esl',
'ccGCAFO4023-FactionAS12Army.esl',
'ccAWNFO4001-BrandedAttire.esl',
'ccSWKFO4001-AstronautPowerArmor.esm',
'ccSWKFO4002-PipNuka.esl',
'ccSWKFO4003-PipQuan.esl',
'ccBGSFO4050-DgBColl.esl',
'ccBGSFO4051-DgBox.esl',
'ccBGSFO4052-DgDal.esl',
'ccBGSFO4053-DgGoldR.esl',
'ccBGSFO4054-DgGreatD.esl',
'ccBGSFO4055-DgHusk.esl',
'ccBGSFO4056-DgLabB.esl',
'ccBGSFO4057-DgLabY.esl',
'ccBGSFO4058-DGLabC.esl',
'ccBGSFO4059-DgPit.esl',
'ccBGSFO4060-DgRot.esl',
'ccBGSFO4061-DgShiInu.esl',
'ccBGSFO4036-TrnsDg.esl',
'ccRZRFO4004-PipInst.esl',
'ccBGSFO4062-PipPat.esl',
'ccRZRFO4003-PipOver.esl',
'ccFRSFO4002-AntimaterielRifle.esl',
'ccEEJFO4002-Nuka.esl',
'ccYGPFO4001-PipCruiser.esl',
'ccBGSFO4072-PipGrog.esl',
'ccBGSFO4073-PipMMan.esl',
'ccBGSFO4074-PipInspect.esl',
'ccBGSFO4075-PipShroud.esl',
'ccBGSFO4076-PipMystery.esl',
'ccBGSFO4071-PipArc.esl',
'ccBGSFO4079-PipVim.esl',
'ccBGSFO4078-PipReily.esl',
'ccBGSFO4077-PipRocket.esl',
'ccBGSFO4070-PipAbra.esl',
'ccBGSFO4008-PipGrn.esl',
'ccBGSFO4015-PipYell.esl',
'ccBGSFO4009-PipOran.esl',
'ccBGSFO4011-PipPurp.esl',
'ccBGSFO4021-PowerArmorSkinBlue.esl',
'ccBGSFO4027-PowerArmorSkinGreen.esl',
'ccBGSFO4034-PowerArmorSkinYellow.esl',
'ccBGSFO4028-PowerArmorSkinOrange.esl',
'ccBGSFO4031-PowerArmorSkinRed.esl',
'ccBGSFO4030-PowerArmorSkinPurple.esl',
'ccBGSFO4032-PowerArmorSkinTan.esl',
'ccBGSFO4029-PowerArmorSkinPink.esl',
'ccGRCFO4001-PipGreyTort.esl',
'ccGRCFO4002-PipGreenVim.esl',
'ccBGSFO4013-PipTan.esl',
'ccBGSFO4010-PipPnk.esl',
'ccSBJFO4001-SolarFlare.esl',
'ccZSEF04001-BHouse.esm',
'ccTOSFO4001-NeoSky.esm',
'ccKGJFO4001-bastion.esl',
'ccBGSFO4063-PAPat.esl',
'ccQDRFO4001_PowerArmorAI.esl',
'ccBGSFO4048-Dovah.esl',
'ccBGSFO4101-AS_Shi.esl',
'ccBGSFO4114-WS_Shi.esl',
'ccBGSFO4115-X02.esl',
'ccRZRFO4002-Disintegrate.esl',
'ccBGSFO4116-HeavyFlamer.esl',
'ccBGSFO4091-AS_Bats.esl',
'ccBGSFO4092-AS_CamoBlue.esl',
'ccBGSFO4093-AS_CamoGreen.esl',
'ccBGSFO4094-AS_CamoTan.esl',
'ccBGSFO4097-AS_Jack-oLantern.esl',
'ccBGSFO4104-WS_Bats.esl',
'ccBGSFO4105-WS_CamoBlue.esl',
'ccBGSFO4106-WS_CamoGreen.esl',
'ccBGSFO4107-WS_CamoTan.esl',
'ccBGSFO4111-WS_Jack-oLantern.esl',
'ccBGSFO4118-WS_TunnelSnakes.esl',
'ccBGSFO4113-WS_ReillysRangers.esl',
'ccBGSFO4112-WS_Pickman.esl',
'ccBGSFO4110-WS_Enclave.esl',
'ccBGSFO4108-WS_ChildrenOfAtom.esl',
'ccBGSFO4103-AS_TunnelSnakes.esl',
'ccBGSFO4099-AS_ReillysRangers.esl',
'ccBGSFO4098-AS_Pickman.esl',
'ccBGSFO4096-AS_Enclave.esl',
'ccBGSFO4095-AS_ChildrenOfAtom.esl',
'ccBGSFO4090-PipTribal.esl',
'ccBGSFO4089-PipSynthwave.esl',
'ccBGSFO4087-PipHaida.esl',
'ccBGSFO4085-PipHawaii.esl',
'ccBGSFO4084-PipRetro.esl',
'ccBGSFO4083-PipArtDeco.esl',
'ccBGSFO4082-PipPRC.esl',
'ccBGSFO4081-PipPhenolResin.esl',
'ccBGSFO4080-PipPop.esl',
'ccBGSFO4035-Pint.esl',
'ccBGSFO4086-PipAdventure.esl',
'ccJVDFO4001-Holiday.esl',
'ccBGSFO4047-QThund.esl',
'ccFRSFO4003-CR75L.esl',
'ccZSEFO4002-SManor.esm',
'ccACXFO4001-VSuit.esl',
'ccBGSFO4040-VRWorkshop01.esl',
'ccFSVFO4005-VRDesertIsland.esl',
'ccFSVFO4006-VRWasteland.esl',
'ccFSVFO4007-Halloween.esl',
'ccSBJFO4002_ManwellRifle.esl',
'ccTOSFO4002_NeonFlats.esm',
'ccBGSFO4117-CapMerc.esl',
'ccFSVFO4004-VRWorkshopGNRPlaza.esl',
'ccBGSFO4046-TesCan.esl',
'ccGCAFO4025-PAGunMM.esl',
'ccCRSFO4001-PipCoA.esl',
'ccSBJFO4003-Grenade.esl',
'ccOTMFO4001-Remnants.esl',
)))

class Fallout4VR(Fallout4):
Expand All @@ -1374,7 +1377,7 @@ class SkyrimSE(AsteriskGame):
'Update.esm', 'Dawnguard.esm', 'HearthFires.esm', 'Dragonborn.esm')))
_ccc_filename = u'Skyrim.ccc'
_ccc_fallback = tuple(map(FName, (
# Up to date as of 2021/11/19
# Up to date as of 2024/04/30
'ccASVSSE001-ALMSIVI.esm',
'ccBGSSSE001-Fish.esm',
'ccBGSSSE002-ExoticArrows.esl',
Expand Down Expand Up @@ -1449,6 +1452,7 @@ class SkyrimSE(AsteriskGame):
'ccKRTSSE001_Altar.esl',
'ccCBHSSE001-Gaunt.esl',
'ccAFDSSE001-DweSanctuary.esm',
'_ResourcePack.esl',
)))

class SkyrimVR(SkyrimSE):
Expand Down
4 changes: 2 additions & 2 deletions Mopy/bash/game/fallout4/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,8 @@ class Ess(GameInfo.Ess):
ext = u'.fos'

class Bsa(GameInfo.Bsa):
bsa_extension = u'.ba2'
valid_versions = {0x01}
bsa_extension = '.ba2'
valid_versions = {0x01, 0x07, 0x08}

class Psc(GameInfo.Psc):
source_extensions = {u'.psc'}
Expand Down
25 changes: 25 additions & 0 deletions Mopy/bash/game/fallout4/vanilla_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,14 +45,39 @@
'ccBGSFO4020-PowerArmorSkin(Black) - Textures.ba2',
'ccBGSFO4038-HorseArmor - Main.ba2',
'ccBGSFO4038-HorseArmor - Textures.ba2',
'ccBGSFO4044-HellfirePowerArmor.esl',
'ccBGSFO4044-HellfirePowerArmor - Main.ba2',
'ccBGSFO4044-HellfirePowerArmor - Textures.ba2',
'ccBGSFO4046-TesCan.esl',
'ccBGSFO4046-TesCan - Main.ba2',
'ccBGSFO4046-TesCan - Textures.ba2',
'ccBGSFO4096-AS_Enclave.esl',
'ccBGSFO4096-AS_Enclave - Main.ba2',
'ccBGSFO4096-AS_Enclave - Textures.ba2',
'ccBGSFO4110-WS_Enclave.esl',
'ccBGSFO4110-WS_Enclave - Main.ba2',
'ccBGSFO4110-WS_Enclave - Textures.ba2',
'ccBGSFO4115-X02.esl',
'ccBGSFO4115-X02 - Main.ba2',
'ccBGSFO4115-X02 - Textures.ba2',
'ccBGSFO4116-HeavyFlamer.esl',
'ccBGSFO4116-HeavyFlamer - Main.ba2',
'ccBGSFO4116-HeavyFlamer - Textures.ba2',
'ccFRSFO4001-HandmadeShotgun - Main.ba2',
'ccFRSFO4001-HandmadeShotgun - Textures.ba2',
'ccFSVFO4001-ModularMilitaryBackpack - Main.ba2',
'ccFSVFO4001-ModularMilitaryBackpack - Textures.ba2',
'ccFSVFO4002-MidCenturyModern - Main.ba2',
'ccFSVFO4002-MidCenturyModern - Textures.ba2',
'ccFSVFO4007-Halloween.esl',
'ccFSVFO4007-Halloween - Main.ba2',
'ccFSVFO4007-Halloween - Textures.ba2',
'ccOTMFO4001-Remnants.esl',
'ccOTMFO4001-Remnants - Main.ba2',
'ccOTMFO4001-Remnants - Textures.ba2',
'ccSBJFO4003-Grenade.esl',
'ccSBJFO4003-Grenade - Main.ba2',
'ccSBJFO4003-Grenade - Textures.ba2',
'LSData\\DtC6dal.dat',
'LSData\\DtC6dl.dat',
'LSData\\Wt16M9bs.dat',
Expand Down

0 comments on commit c200e3d

Please sign in to comment.