From bfe648f06ccc6ad6374947960ac1df8f955d8ee1 Mon Sep 17 00:00:00 2001 From: GMatrixGames Date: Sat, 29 May 2021 11:00:14 -0400 Subject: [PATCH] Battle Breakers multiple directory support --- CUE4Parse | 2 +- FModel/MainWindow.xaml.cs | 2 +- FModel/Settings/UserSettings.cs | 2 +- FModel/ViewModels/CUE4ParseViewModel.cs | 16 +++++++++++++--- .../Converters/StringToGameConverter.cs | 7 ++++--- 5 files changed, 20 insertions(+), 9 deletions(-) diff --git a/CUE4Parse b/CUE4Parse index 70d41700..aca9f9ba 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 70d417009d729260486d905eb5d10f45c78cfec7 +Subproject commit aca9f9ba95dd74ea1694fb483e798043f58fc3e2 diff --git a/FModel/MainWindow.xaml.cs b/FModel/MainWindow.xaml.cs index 1c9b1554..639b9bea 100644 --- a/FModel/MainWindow.xaml.cs +++ b/FModel/MainWindow.xaml.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.ComponentModel; using System.Linq; using System.Windows; diff --git a/FModel/Settings/UserSettings.cs b/FModel/Settings/UserSettings.cs index 06b36fe9..583ee28f 100644 --- a/FModel/Settings/UserSettings.cs +++ b/FModel/Settings/UserSettings.cs @@ -205,7 +205,7 @@ namespace FModel.Settings {FGame.Dungeons, EGame.GAME_UE4_LATEST}, {FGame.WorldExplorers, EGame.GAME_UE4_LATEST}, {FGame.g3, EGame.GAME_UE4_22}, - {FGame.StateOfDecay2, EGame.GAME_UE4_LATEST}, + {FGame.StateOfDecay2, EGame.GAME_UE4_13}, {FGame.Prospect, EGame.GAME_UE4_LATEST}, {FGame.Indiana, EGame.GAME_UE4_LATEST}, {FGame.RogueCompany, EGame.GAME_UE4_LATEST}, diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index 2e168471..f6d4bca3 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -82,8 +82,18 @@ namespace FModel.ViewModels default: { Game = gameDirectory.SubstringBeforeLast("\\Content\\Paks").SubstringAfterLast("\\").ToEnum(FGame.Unknown); - Provider = new DefaultFileProvider(gameDirectory, SearchOption.TopDirectoryOnly, true, - UserSettings.Default.OverridedGame[Game], UserSettings.Default.OverridedUEVersion[Game]); + + if (Game == FGame.WorldExplorers) + { + Provider = new DefaultFileProvider(new DirectoryInfo(gameDirectory), new List {new(gameDirectory.SubstringBeforeLast('\\') + "\\EmbeddedPaks\\")}, + SearchOption.TopDirectoryOnly, true, UserSettings.Default.OverridedGame[Game], UserSettings.Default.OverridedUEVersion[Game]); + } + else + { + Provider = new DefaultFileProvider(gameDirectory, SearchOption.TopDirectoryOnly, true, + UserSettings.Default.OverridedGame[Game], UserSettings.Default.OverridedUEVersion[Game]); + } + break; } } @@ -202,7 +212,7 @@ namespace FModel.ViewModels foreach (var file in GameDirectory.DirectoryFiles) { cancellationToken.ThrowIfCancellationRequested(); - if (!(Provider.MountedVfs.FirstOrDefault(x => x.Name == file.Name) is { } vfs)) + if (Provider.MountedVfs.FirstOrDefault(x => x.Name == file.Name) is not { } vfs) continue; file.IsEnabled = true; diff --git a/FModel/Views/Resources/Converters/StringToGameConverter.cs b/FModel/Views/Resources/Converters/StringToGameConverter.cs index e186d78b..c05033c9 100644 --- a/FModel/Views/Resources/Converters/StringToGameConverter.cs +++ b/FModel/Views/Resources/Converters/StringToGameConverter.cs @@ -12,14 +12,15 @@ namespace FModel.Views.Resources.Converters { return value switch { + "Newt" => "Spellbreak", "Fortnite" => "Fortnite", + "VALORANT" => "Valorant", "Pewee" => "Rogue Company", - "Rosemallow" => "The Outer Worlds", "Catnip" => "Borderlands 3", "AzaleaAlpha" => "The Cycle", + "Snoek" => "State of Decay 2", + "Rosemallow" => "The Outer Worlds", "WorldExplorersLive" => "Battle Breakers", - "Newt" => "Spellbreak", - "VALORANT" => "Valorant", "MinecraftDungeons" => "Minecraft Dungeons", "shoebill" => "Star Wars: Jedi Fallen Order", "a99769d95d8f400baad1f67ab5dfe508" => "Core",