diff --git a/CUE4Parse b/CUE4Parse index 54a95bf8..bc97b8c2 160000 --- a/CUE4Parse +++ b/CUE4Parse @@ -1 +1 @@ -Subproject commit 54a95bf82efd13cd9e4423f182296f0c0127ccaf +Subproject commit bc97b8c240085267aeeb1485b0e133b167f3d6f1 diff --git a/FModel/Enums.cs b/FModel/Enums.cs index 111801b9..39e3f0e6 100644 --- a/FModel/Enums.cs +++ b/FModel/Enums.cs @@ -94,7 +94,9 @@ public enum FGame [Description("Your Beloved ™ Panda")] PandaGame, [Description("Tower of Fantasy")] - Hotta + Hotta, + [Description("eFootball 2023")] + eFootball } public enum ELoadingMode diff --git a/FModel/Settings/UserSettings.cs b/FModel/Settings/UserSettings.cs index ea7304c5..0e170738 100644 --- a/FModel/Settings/UserSettings.cs +++ b/FModel/Settings/UserSettings.cs @@ -284,7 +284,8 @@ namespace FModel.Settings {FGame.Gameface, Constants._NO_PRESET_TRIGGER}, {FGame.Athena, Constants._NO_PRESET_TRIGGER}, {FGame.PandaGame, Constants._NO_PRESET_TRIGGER}, - {FGame.Hotta, Constants._NO_PRESET_TRIGGER} + {FGame.Hotta, Constants._NO_PRESET_TRIGGER}, + {FGame.eFootball, Constants._NO_PRESET_TRIGGER} }; public IDictionary Presets { @@ -314,7 +315,8 @@ namespace FModel.Settings {FGame.Gameface, EGame.GAME_GTATheTrilogyDefinitiveEdition}, {FGame.Athena, EGame.GAME_SeaOfThieves}, {FGame.PandaGame, EGame.GAME_UE4_26}, - {FGame.Hotta, EGame.GAME_TowerOfFantasy} + {FGame.Hotta, EGame.GAME_TowerOfFantasy}, + {FGame.eFootball, EGame.GAME_UE4_26} }; public IDictionary OverridedGame { @@ -344,7 +346,8 @@ namespace FModel.Settings {FGame.Gameface, null}, {FGame.Athena, null}, {FGame.PandaGame, null}, - {FGame.Hotta, null} + {FGame.Hotta, null}, + {FGame.eFootball, null} }; public IDictionary> OverridedCustomVersions { @@ -374,7 +377,8 @@ namespace FModel.Settings {FGame.Gameface, null}, {FGame.Athena, null}, {FGame.PandaGame, null}, - {FGame.Hotta, null} + {FGame.Hotta, null}, + {FGame.eFootball, null} }; public IDictionary> OverridedOptions { @@ -410,7 +414,8 @@ namespace FModel.Settings {FGame.Gameface, new FEndpoint[]{new (), new ()}}, {FGame.Athena, new FEndpoint[]{new (), new ()}}, {FGame.PandaGame, new FEndpoint[]{new (), new ()}}, - {FGame.Hotta, new FEndpoint[]{new (), new ()}} + {FGame.Hotta, new FEndpoint[]{new (), new ()}}, + {FGame.eFootball, new FEndpoint[]{new (), new ()}} }; public IDictionary CustomEndpoints { @@ -487,7 +492,8 @@ namespace FModel.Settings {FGame.Gameface, new List()}, {FGame.Athena, new List()}, {FGame.PandaGame, new List()}, - {FGame.Hotta, new List()} + {FGame.Hotta, new List()}, + {FGame.eFootball, new List()} }; public IDictionary> CustomDirectories { diff --git a/FModel/ViewModels/CUE4ParseViewModel.cs b/FModel/ViewModels/CUE4ParseViewModel.cs index c2288177..43678334 100644 --- a/FModel/ViewModels/CUE4ParseViewModel.cs +++ b/FModel/ViewModels/CUE4ParseViewModel.cs @@ -139,6 +139,7 @@ public class CUE4ParseViewModel : ViewModel default: { var parent = gameDirectory.SubstringBeforeLast("\\Content").SubstringAfterLast("\\"); + if (gameDirectory.Contains("eFootball")) parent = gameDirectory.SubstringBeforeLast("\\pak").SubstringAfterLast("\\"); Game = Helper.IAmThePanda(parent) ? FGame.PandaGame : parent.ToEnum(FGame.Unknown); var versions = new VersionContainer(UserSettings.Default.OverridedGame[Game], UserSettings.Default.OverridedPlatform, customVersions: UserSettings.Default.OverridedCustomVersions[Game], @@ -163,6 +164,13 @@ public class CUE4ParseViewModel : ViewModel }, SearchOption.AllDirectories, true, versions); break; + case FGame.eFootball: + Provider = new DefaultFileProvider(new DirectoryInfo(gameDirectory), new List + { + new(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\KONAMI\\eFootball\\ST\\Download") + }, + SearchOption.AllDirectories, true, versions); + break; case FGame.Unknown when UserSettings.Default.ManualGames.TryGetValue(gameDirectory, out var settings): { versions = new VersionContainer(settings.OverridedGame, UserSettings.Default.OverridedPlatform, diff --git a/FModel/ViewModels/GameSelectorViewModel.cs b/FModel/ViewModels/GameSelectorViewModel.cs index 43b39e23..fdb1c9c4 100644 --- a/FModel/ViewModels/GameSelectorViewModel.cs +++ b/FModel/ViewModels/GameSelectorViewModel.cs @@ -117,6 +117,7 @@ public class GameSelectorViewModel : ViewModel yield return GetSteamGame(578080, "\\TslGame\\Content\\Paks"); // PUBG yield return GetSteamGame(677620, "\\PortalWars\\Content\\Paks"); // Splitgate yield return GetSteamGame(1172620, "\\Athena\\Content\\Paks"); // Sea of Thieves + yield return GetSteamGame(1665460, "\\pak"); // eFootball 2023 yield return GetRockstarGamesGame("GTA III - Definitive Edition", "\\Gameface\\Content\\Paks"); yield return GetRockstarGamesGame("GTA San Andreas - Definitive Edition", "\\Gameface\\Content\\Paks"); yield return GetRockstarGamesGame("GTA Vice City - Definitive Edition", "\\Gameface\\Content\\Paks"); diff --git a/FModel/Views/Resources/Converters/StringToGameConverter.cs b/FModel/Views/Resources/Converters/StringToGameConverter.cs index 1b1b6456..58f9e095 100644 --- a/FModel/Views/Resources/Converters/StringToGameConverter.cs +++ b/FModel/Views/Resources/Converters/StringToGameConverter.cs @@ -31,6 +31,7 @@ public class StringToGameConverter : IValueConverter 578080 => FGame.TslGame, 677620 => FGame.PortalWars, 1172620 => FGame.Athena, + 1665460 => FGame.eFootball, _ => FGame.Unknown }; return ret == FGame.Unknown ? value : ret.GetDescription();