Skip to content

Commit

Permalink
migrate main key + fix custom dirs dup + fix manual games add by ref
Browse files Browse the repository at this point in the history
  • Loading branch information
4sval committed Jun 18, 2023
1 parent 2a265ea commit d891c3e
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 10 deletions.
2 changes: 1 addition & 1 deletion FModel/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ private void MigrateV1Games()
{
if (!Directory.Exists(gameDir)) continue;
UserSettings.Default.PerDirectory[gameDir] =
DirectorySettings.Default(setting.GameName, setting.GameDirectory, true, setting.OverridedGame);
DirectorySettings.Default(setting.GameName, setting.GameDirectory, true, setting.OverridedGame, setting.AesKeys?.MainKey);
}
UserSettings.Default.ManualGames.Clear();
}
Expand Down
1 change: 0 additions & 1 deletion FModel/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ public MainWindow()

private void OnClosing(object sender, CancelEventArgs e)
{
_applicationView.CustomDirectories.Save();
_discordHandler.Dispose();
}

Expand Down
11 changes: 8 additions & 3 deletions FModel/Settings/DirectorySettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

namespace FModel.Settings;

public class DirectorySettings : ViewModel
public class DirectorySettings : ViewModel, ICloneable
{
public static DirectorySettings Default(
string gameName, string gameDir, bool manual = false, EGame ue = EGame.GAME_UE4_LATEST)
string gameName, string gameDir, bool manual = false, EGame ue = EGame.GAME_UE4_LATEST, string aes = "")
{
UserSettings.Default.PerDirectory.TryGetValue(gameDir, out var old);
return new DirectorySettings
Expand All @@ -23,7 +23,7 @@ public class DirectorySettings : ViewModel
Versioning = old?.Versioning ?? new VersioningSettings(),
Endpoints = old?.Endpoints ?? EndpointSettings.Default(gameName),
Directories = old?.Directories ?? CustomDirectory.Default(gameName),
AesKeys = old?.AesKeys ?? new AesResponse { MainKey = string.Empty, DynamicKeys = null },
AesKeys = old?.AesKeys ?? new AesResponse { MainKey = aes, DynamicKeys = null },
LastAesReload = old?.LastAesReload ?? DateTime.Today.AddDays(-1)
};
}
Expand Down Expand Up @@ -112,4 +112,9 @@ public override int GetHashCode()
{
return HashCode.Combine(GameDirectory, (int) UeVersion);
}

public object Clone()
{
return this.MemberwiseClone();
}
}
3 changes: 2 additions & 1 deletion FModel/ViewModels/ApplicationViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public ApplicationViewModel()

CUE4Parse = new CUE4ParseViewModel();
CustomDirectories = new CustomDirectoriesViewModel();
SettingsView = new SettingsViewModel(CUE4Parse.Game);
SettingsView = new SettingsViewModel();
AesManager = new AesManagerViewModel(CUE4Parse);
MapViewer = new MapViewerViewModel(CUE4Parse);
AudioPlayer = new AudioPlayerViewModel();
Expand All @@ -103,6 +103,7 @@ public DirectorySettings AvoidEmptyGameDirectory(bool bAlreadyLaunched)
if (!bAlreadyLaunched || UserSettings.Default.CurrentDir.Equals(gameLauncherViewModel.SelectedDirectory))
return gameLauncherViewModel.SelectedDirectory;

// UserSettings.Save(); // ??? change key then change game, key saved correctly what?
UserSettings.Default.CurrentDir = gameLauncherViewModel.SelectedDirectory;
RestartWithWarning();
return null;
Expand Down
3 changes: 3 additions & 0 deletions FModel/ViewModels/CustomDirectoriesViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public int GetIndex(CustomDirectory dir)
public void Add(CustomDirectory dir)
{
_directories.Add(new MenuItem { Header = dir.Header, Tag = dir.DirectoryPath, ItemsSource = EnumerateCommands(dir) });
Save();
}

public void Edit(int index, CustomDirectory newDir)
Expand All @@ -46,11 +47,13 @@ public void Edit(int index, CustomDirectory newDir)

dir.Header = newDir.Header;
dir.Tag = newDir.DirectoryPath;
Save();
}

public void Delete(int index)
{
_directories.RemoveAt(index);
Save();
}

public void Save()
Expand Down
2 changes: 1 addition & 1 deletion FModel/ViewModels/GameSelectorViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public GameSelectorViewModel(string gameDirectory)
_detectedDirectories = new ObservableCollection<DirectorySettings>(EnumerateDetectedGames().Where(x => x != null));
foreach (var dir in UserSettings.Default.PerDirectory.Values.Where(x => x.IsManual))
{
_detectedDirectories.Add(dir);
_detectedDirectories.Add((DirectorySettings) dir.Clone());
}

DetectedDirectories = new ReadOnlyObservableCollection<DirectorySettings>(_detectedDirectories);
Expand Down
5 changes: 2 additions & 3 deletions FModel/ViewModels/SettingsViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,6 @@ public ETextureFormat SelectedTextureExportFormat
public ReadOnlyObservableCollection<ETextureFormat> TextureExportFormats { get; private set; }
public ReadOnlyObservableCollection<ETexturePlatform> Platforms { get; private set; }

private readonly FGame _game;
private string _outputSnapshot;
private string _rawDataSnapshot;
private string _propertiesSnapshot;
Expand All @@ -189,9 +188,9 @@ public ETextureFormat SelectedTextureExportFormat

private bool _mappingsUpdate = false;

public SettingsViewModel(FGame game)
public SettingsViewModel()
{
_game = game;

}

public void Initialize()
Expand Down

0 comments on commit d891c3e

Please sign in to comment.