Skip to content

Commit

Permalink
sleeping makes you clever
Browse files Browse the repository at this point in the history
  • Loading branch information
4sval committed Aug 6, 2022
1 parent 516fa33 commit e2a5a6a
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 115 deletions.
2 changes: 1 addition & 1 deletion FModel/Settings/UserSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public static void Delete()
if (File.Exists(FilePath)) File.Delete(FilePath);
}

public static bool TryGetGameCustomEndpoint(FGame game, EEndpointType type, out FEndpoint endpoint)
public static bool IsEndpointEnabled(FGame game, EEndpointType type, out FEndpoint endpoint)
{
endpoint = null;
if (!Default.CustomEndpoints.TryGetValue(game, out var endpoints))
Expand Down
4 changes: 2 additions & 2 deletions FModel/ViewModels/CUE4ParseViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ public async Task RefreshAes()
{
// game directory dependent, we don't have the provider game name yet since we don't have aes keys
// except when this comes from the AES Manager
if (!UserSettings.TryGetGameCustomEndpoint(Game, EEndpointType.Aes, out var endpoint))
if (!UserSettings.IsEndpointEnabled(Game, EEndpointType.Aes, out var endpoint))
return;

await _threadWorkerView.Begin(cancellationToken =>
Expand Down Expand Up @@ -323,7 +323,7 @@ await _threadWorkerView.Begin(cancellationToken =>

public async Task InitBenMappings()
{
if (!UserSettings.TryGetGameCustomEndpoint(Game, EEndpointType.Mapping, out var endpoint))
if (!UserSettings.IsEndpointEnabled(Game, EEndpointType.Mapping, out var endpoint))
return;

await _threadWorkerView.Begin(cancellationToken =>
Expand Down
28 changes: 19 additions & 9 deletions FModel/ViewModels/SettingsViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,20 @@ public Dictionary<string, bool> SelectedOptions
set => SetProperty(ref _selectedOptions, value);
}

private FEndpoint _aesEndpoint;
public FEndpoint AesEndpoint
{
get => _aesEndpoint;
set => SetProperty(ref _aesEndpoint, value);
}

private FEndpoint _mappingEndpoint;
public FEndpoint MappingEndpoint
{
get => _mappingEndpoint;
set => SetProperty(ref _mappingEndpoint, value);
}

private ELanguage _selectedAssetLanguage;
public ELanguage SelectedAssetLanguage
{
Expand Down Expand Up @@ -96,13 +110,6 @@ public ECompressedAudio SelectedCompressedAudio
set => SetProperty(ref _selectedCompressedAudio, value);
}

private string _currentMappingFile;
public string CurrentMappingFile // only used so that it updates the UI
{
get => _currentMappingFile;
set => SetProperty(ref _currentMappingFile, value);
}

private EIconStyle _selectedCosmeticStyle;
public EIconStyle SelectedCosmeticStyle
{
Expand Down Expand Up @@ -198,8 +205,11 @@ public void Initialize()
_optionsSnapshot = UserSettings.Default.OverridedOptions[_game];
}

if (UserSettings.TryGetGameCustomEndpoint(_game, EEndpointType.Mapping, out var endpoint))
CurrentMappingFile = endpoint.Path;
if (UserSettings.Default.CustomEndpoints.TryGetValue(_game, out var endpoints))
{
AesEndpoint = endpoints[0];
MappingEndpoint = endpoints[1];
}

_assetLanguageSnapshot = UserSettings.Default.AssetLanguage;
_compressedAudioSnapshot = UserSettings.Default.CompressedAudioMode;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
values[1] is not EEndpointType type)
return false;

var isEnabled = UserSettings.TryGetGameCustomEndpoint(viewModel.CUE4Parse.Game, type, out _);
var isEnabled = UserSettings.IsEndpointEnabled(viewModel.CUE4Parse.Game, type, out _);
return targetType switch
{
not null when targetType == typeof(Visibility) => isEnabled ? Visibility.Visible : Visibility.Collapsed,
Expand Down
67 changes: 20 additions & 47 deletions FModel/Views/SettingsView.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -199,23 +199,13 @@
</Button>
</Grid>

<TextBlock Grid.Row="13" Grid.Column="0" Text="AES Reload at Launch" VerticalAlignment="Center" Margin="0 0 0 5">
<TextBlock.Visibility>
<MultiBinding Converter="{x:Static converters:EndpointToTypeConverter.Instance}">
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}" Path="DataContext" />
<Binding Source="{x:Static local:EEndpointType.Aes}" />
</MultiBinding>
</TextBlock.Visibility>
</TextBlock>
<TextBlock Grid.Row="13" Grid.Column="0" Text="AES Reload at Launch" VerticalAlignment="Center" Margin="0 0 0 5"
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}}"
Visibility="{Binding SettingsView.AesEndpoint.IsEnabled, Converter={StaticResource BoolToVisibilityConverter}}" />
<ComboBox Grid.Row="13" Grid.Column="2" Grid.ColumnSpan="5" Margin="0 0 0 5"
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}}"
ItemsSource="{Binding SettingsView.AesReloads}" SelectedItem="{Binding SettingsView.SelectedAesReload, Mode=TwoWay}">
<ComboBox.Visibility>
<MultiBinding Converter="{x:Static converters:EndpointToTypeConverter.Instance}">
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}" Path="DataContext" />
<Binding Source="{x:Static local:EEndpointType.Aes}" />
</MultiBinding>
</ComboBox.Visibility>
ItemsSource="{Binding SettingsView.AesReloads}" SelectedItem="{Binding SettingsView.SelectedAesReload, Mode=TwoWay}"
Visibility="{Binding SettingsView.AesEndpoint.IsEnabled, Converter={StaticResource BoolToVisibilityConverter}}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Converter={x:Static converters:EnumToStringConverter.Instance}}" />
Expand All @@ -227,42 +217,25 @@
<CheckBox Grid.Row="14" Grid.Column="2" Content="{Binding IsChecked, RelativeSource={RelativeSource Self}, Converter={x:Static converters:BoolToToggleConverter.Instance}}"
IsChecked="{Binding KeepDirectoryStructure, Source={x:Static local:Settings.UserSettings.Default}, Mode=TwoWay}" Margin="0 5 0 10"/>

<TextBlock Grid.Row="15" Grid.Column="0" Text="Overwrite Mapping File" VerticalAlignment="Center" Margin="0 0 0 5">
<TextBlock.Visibility>
<!-- if mapping custom endpoint is enabled, make this visible -->
<MultiBinding Converter="{x:Static converters:EndpointToTypeConverter.Instance}">
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}" Path="DataContext" />
<Binding Source="{x:Static local:EEndpointType.Mapping}" />
</MultiBinding>
</TextBlock.Visibility>
</TextBlock>
<CheckBox x:Name="OverwriteCkBox" Grid.Row="15" Grid.Column="2" Margin="0 5 0 10"
Content="{Binding IsChecked, RelativeSource={RelativeSource Self}, Converter={x:Static converters:BoolToToggleConverter.Instance}}">
<CheckBox.Visibility>
<!-- if mapping custom endpoint is enabled, make this visible -->
<MultiBinding Converter="{x:Static converters:EndpointToTypeConverter.Instance}">
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}" Path="DataContext" />
<Binding Source="{x:Static local:EEndpointType.Mapping}" />
</MultiBinding>
</CheckBox.Visibility>
<CheckBox.IsChecked>
<!-- if mapping custom endpoint is enabled, this gets/sets the value of Overwrite -->
<MultiBinding Converter="{x:Static converters:EndpointOverwriteToBoolConverter.Instance}">
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}" Path="DataContext" />
<Binding Path="." Source="{x:Static local:EEndpointType.Mapping}" /> <!-- TwoWay binding needs a Path -->
</MultiBinding>
</CheckBox.IsChecked>
</CheckBox>
<TextBlock Grid.Row="15" Grid.Column="0" Text="Overwrite Mapping File" VerticalAlignment="Center" Margin="0 0 0 5"
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}}"
Visibility="{Binding SettingsView.MappingEndpoint.IsEnabled, Converter={StaticResource BoolToVisibilityConverter}}" />
<CheckBox Grid.Row="15" Grid.Column="2" Margin="0 5 0 10"
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}}"
Content="{Binding IsChecked, RelativeSource={RelativeSource Self}, Converter={x:Static converters:BoolToToggleConverter.Instance}}"
Visibility="{Binding SettingsView.MappingEndpoint.IsEnabled, Converter={StaticResource BoolToVisibilityConverter}}"
IsChecked="{Binding SettingsView.MappingEndpoint.Overwrite, Mode=TwoWay}" />

<TextBlock Grid.Row="16" Grid.Column="0" Text="Mapping File Path" VerticalAlignment="Center" Margin="0 0 0 5"
Visibility="{Binding IsChecked, ElementName=OverwriteCkBox, Converter={StaticResource BoolToVisibilityConverter}}">
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}}"
Visibility="{Binding SettingsView.MappingEndpoint.Overwrite, Converter={StaticResource BoolToVisibilityConverter}}">
</TextBlock>
<TextBox Grid.Row="16" Grid.Column="2" Grid.ColumnSpan="3" Margin="0 0 0 5"
IsReadOnly="True" Text="{Binding SettingsView.CurrentMappingFile, Mode=TwoWay}"
Visibility="{Binding IsChecked, ElementName=OverwriteCkBox, Converter={StaticResource BoolToVisibilityConverter}}"
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}}" />
<TextBox Grid.Row="16" Grid.Column="2" Grid.ColumnSpan="3" Margin="0 0 0 5" Text="{Binding SettingsView.MappingEndpoint.Path, Mode=TwoWay}"
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}}"
Visibility="{Binding SettingsView.MappingEndpoint.Overwrite, Converter={StaticResource BoolToVisibilityConverter}}" />
<Button Grid.Row="16" Grid.Column="6" Content="..." HorizontalAlignment="Right" Click="OnBrowseMappings" Margin="0 0 0 5"
Visibility="{Binding IsChecked, ElementName=OverwriteCkBox, Converter={StaticResource BoolToVisibilityConverter}}" />
DataContext="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:Views.SettingsView}}}"
Visibility="{Binding SettingsView.MappingEndpoint.Overwrite, Converter={StaticResource BoolToVisibilityConverter}}" />
</Grid>
</DataTemplate>
<DataTemplate x:Key="CreatorTemplate">
Expand Down
5 changes: 2 additions & 3 deletions FModel/Views/SettingsView.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -99,11 +99,10 @@ private async void OnBrowseMappings(object sender, RoutedEventArgs e)
Filter = "USMAP Files (*.usmap)|*.usmap|All Files (*.*)|*.*"
};

if (!openFileDialog.ShowDialog().GetValueOrDefault() ||
!UserSettings.TryGetGameCustomEndpoint(_applicationView.CUE4Parse.Game, EEndpointType.Mapping, out var endpoint))
if (!openFileDialog.ShowDialog().GetValueOrDefault())
return;

endpoint.Path = _applicationView.SettingsView.CurrentMappingFile = openFileDialog.FileName;
_applicationView.SettingsView.MappingEndpoint.Path = openFileDialog.FileName;
await _applicationView.CUE4Parse.InitBenMappings();
}

Expand Down

0 comments on commit e2a5a6a

Please sign in to comment.