diff --git a/FModel/Settings/CustomDirectory.cs b/FModel/Settings/CustomDirectory.cs index 998e40ab..dce8dbd9 100644 --- a/FModel/Settings/CustomDirectory.cs +++ b/FModel/Settings/CustomDirectory.cs @@ -45,6 +45,15 @@ public class CustomDirectory : ViewModel new("Data Tables", "DeadByDaylight/Content/Data/"), new("Localization", "DeadByDaylight/Content/Localization/") }; + case "Neverness to Everness": + return new List + { + new("Blueprints", "HT/Content/Blueprints/"), + new("Characters", "HT/Content/Characters"), + new("DataTables", "HT/Content/DataTable/"), + new("Icons", "HT/Content/UI/"), + new("Localization", "HT/Content/Localization/") + }; default: return new List(); } diff --git a/FModel/ViewModels/GameSelectorViewModel.cs b/FModel/ViewModels/GameSelectorViewModel.cs index 369945b2..5c3e8f0e 100644 --- a/FModel/ViewModels/GameSelectorViewModel.cs +++ b/FModel/ViewModels/GameSelectorViewModel.cs @@ -202,6 +202,7 @@ public class GameSelectorViewModel : ViewModel yield return GetRockstarGamesGame("GTA San Andreas - Definitive Edition", "\\Gameface\\Content\\Paks", EGame.GAME_GTATheTrilogyDefinitiveEdition); yield return GetRockstarGamesGame("GTA Vice City - Definitive Edition", "\\Gameface\\Content\\Paks", EGame.GAME_GTATheTrilogyDefinitiveEdition); yield return GetLevelInfiniteGame("tof_launcher", "\\Hotta\\Content\\Paks", EGame.GAME_TowerOfFantasy); + yield return GetNTEGame("Neverness to Everness", "\\Client\\WindowsNoEditor\\HT\\Content\\Paks", EGame.GAME_NevernessToEverness, aesKey: "0x390B40DA3E0805AE7397DFA707E7227DBA06C35E95262E7FFF8F8E60CBC7A69C"); } private LauncherInstalled _launcherInstalled; @@ -303,6 +304,26 @@ public class GameSelectorViewModel : ViewModel return null; } + private DirectorySettings GetNTEGame(string key, string pakDirectory, EGame ueVersion, string aesKey = "") + { + foreach (var drive in DriveInfo.GetDrives()) + { + var rootDir = Path.Combine(drive.Name, "Program Files"); + if (!Directory.Exists(rootDir)) continue; + + foreach (var dir in Directory.GetDirectories(rootDir)) + { + var gameDir = $"{dir}{pakDirectory}"; + if (!Directory.Exists(gameDir)) continue; + + Log.Debug("Found {GameName} in the registry", key); + return DirectorySettings.Default(key, gameDir, ue: ueVersion, aes: aesKey); + } + } + + return null; + } + private T GetDriveLauncherInstalls(string jsonFile) { foreach (var drive in DriveInfo.GetDrives())