mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-27 03:47:11 +02:00
parent
417df486b1
commit
361d0c5632
622 changed files with 3080 additions and 2652 deletions
|
@ -13,10 +13,10 @@ using LibHac.Tools.Fs;
|
|||
using LibHac.Tools.FsSystem;
|
||||
using LibHac.Tools.FsSystem.NcaUtils;
|
||||
using Ryujinx.Ava.Common.Locale;
|
||||
using Ryujinx.Ava.UI.Windows;
|
||||
using Ryujinx.Ava.UI.Helpers;
|
||||
using Ryujinx.Ava.Utilities;
|
||||
using Ryujinx.Ava.Systems.Configuration;
|
||||
using Ryujinx.Ava.UI.Helpers;
|
||||
using Ryujinx.Ava.UI.Windows;
|
||||
using Ryujinx.Ava.Utilities;
|
||||
using Ryujinx.Common.Helper;
|
||||
using Ryujinx.Common.Logging;
|
||||
using Ryujinx.HLE.FileSystem;
|
||||
|
@ -292,7 +292,7 @@ namespace Ryujinx.Ava.Common
|
|||
};
|
||||
extractorThread.Start();
|
||||
}
|
||||
|
||||
|
||||
public static void ExtractAoc(string destination, string updateFilePath, string updateName)
|
||||
{
|
||||
CancellationTokenSource cancellationToken = new();
|
||||
|
@ -416,12 +416,12 @@ namespace Ryujinx.Ava.Common
|
|||
Title = LocaleManager.Instance[LocaleKeys.FolderDialogExtractTitle]
|
||||
});
|
||||
|
||||
if (!result.HasValue) return;
|
||||
|
||||
if (!result.HasValue)
|
||||
return;
|
||||
|
||||
ExtractAoc(result.Value.Path.LocalPath, updateFilePath, updateName);
|
||||
}
|
||||
|
||||
|
||||
public static async Task ExtractSection(IStorageProvider storageProvider, NcaSectionType ncaSectionType, string titleFilePath, string titleName, int programIndex = 0)
|
||||
{
|
||||
Optional<IStorageFolder> result = await storageProvider.OpenSingleFolderPickerAsync(new FolderPickerOpenOptions
|
||||
|
@ -429,7 +429,8 @@ namespace Ryujinx.Ava.Common
|
|||
Title = LocaleManager.Instance[LocaleKeys.FolderDialogExtractTitle]
|
||||
});
|
||||
|
||||
if (!result.HasValue) return;
|
||||
if (!result.HasValue)
|
||||
return;
|
||||
|
||||
ExtractSection(result.Value.Path.LocalPath, ncaSectionType, titleFilePath, titleName, programIndex);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
using Gommon;
|
||||
using Ryujinx.Ava.Systems;
|
||||
using Ryujinx.Ava.UI.ViewModels;
|
||||
using Ryujinx.Ava.Systems.Configuration;
|
||||
using Ryujinx.Ava.UI.ViewModels;
|
||||
using Ryujinx.Common;
|
||||
using Ryujinx.Common.Utilities;
|
||||
using System;
|
||||
|
@ -49,7 +49,7 @@ namespace Ryujinx.Ava.Common.Locale
|
|||
{
|
||||
string localeLanguageCode = !string.IsNullOrEmpty(ConfigurationState.Instance.UI.LanguageCode.Value) ?
|
||||
ConfigurationState.Instance.UI.LanguageCode.Value : CultureInfo.CurrentCulture.Name.Replace('-', '_');
|
||||
|
||||
|
||||
LoadLanguage(localeLanguageCode);
|
||||
|
||||
// Save whatever we ended up with.
|
||||
|
@ -64,8 +64,8 @@ namespace Ryujinx.Ava.Common.Locale
|
|||
public static string GetUnformatted(LocaleKeys key) => Instance.Get(key);
|
||||
|
||||
public string Get(LocaleKeys key) =>
|
||||
_localeStrings.TryGetValue(key, out string value)
|
||||
? value
|
||||
_localeStrings.TryGetValue(key, out string value)
|
||||
? value
|
||||
: key.ToString();
|
||||
|
||||
public string this[LocaleKeys key]
|
||||
|
@ -89,7 +89,7 @@ namespace Ryujinx.Ava.Common.Locale
|
|||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
return key.ToString(); // If the locale text doesn't exist return the key.
|
||||
}
|
||||
set
|
||||
|
@ -116,7 +116,7 @@ namespace Ryujinx.Ava.Common.Locale
|
|||
|
||||
OnPropertyChanged("Translation");
|
||||
}
|
||||
|
||||
|
||||
public string UpdateAndGetDynamicValue(LocaleKeys key, params object[] values)
|
||||
{
|
||||
SetDynamicValues(key, values);
|
||||
|
@ -162,8 +162,8 @@ namespace Ryujinx.Ava.Common.Locale
|
|||
if (locale.Translations.Count < _localeData.Value.Languages.Count)
|
||||
{
|
||||
throw new Exception($"Locale key {{{locale.ID}}} is missing languages! Has {locale.Translations.Count} translations, expected {_localeData.Value.Languages.Count}!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (locale.Translations.Count > _localeData.Value.Languages.Count)
|
||||
{
|
||||
throw new Exception($"Locale key {{{locale.ID}}} has too many languages! Has {locale.Translations.Count} translations, expected {_localeData.Value.Languages.Count}!");
|
||||
|
@ -175,7 +175,7 @@ namespace Ryujinx.Ava.Common.Locale
|
|||
string str = locale.Translations.TryGetValue(languageCode, out string val) && !string.IsNullOrEmpty(val)
|
||||
? val
|
||||
: locale.Translations[DefaultLanguageCode];
|
||||
|
||||
|
||||
if (string.IsNullOrEmpty(str))
|
||||
{
|
||||
throw new Exception($"Locale key '{locale.ID}' has no valid translations for desired language {languageCode}! {DefaultLanguageCode} is an empty string or null");
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
using Avalonia.Data.Core;
|
||||
using Avalonia.Data.Core;
|
||||
using Avalonia.Markup.Xaml;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions;
|
||||
using Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings;
|
||||
|
@ -27,7 +27,7 @@ namespace Ryujinx.Ava.Common.Markup
|
|||
Setter as Action<object, object?>,
|
||||
typeof(T));
|
||||
|
||||
public override object ProvideValue(IServiceProvider serviceProvider)
|
||||
public override object ProvideValue(IServiceProvider serviceProvider)
|
||||
=> new CompiledBindingExtension(
|
||||
new CompiledBindingPathBuilder()
|
||||
.Property(PropertyInfo, PropertyInfoAccessorFactory.CreateInpcPropertyAccessor)
|
||||
|
|
|
@ -9,32 +9,32 @@ namespace Ryujinx.Ava.Common.Markup
|
|||
public override string Name => "Icon";
|
||||
protected override Icon Value => new() { Value = iconString };
|
||||
}
|
||||
|
||||
|
||||
internal class SpinningIconExtension(string iconString) : BasicMarkupExtension<Icon>
|
||||
{
|
||||
public override string Name => "SIcon";
|
||||
protected override Icon Value => new() { Value = iconString, Animation = IconAnimation.Spin };
|
||||
}
|
||||
|
||||
|
||||
internal class LocaleExtension(LocaleKeys key) : BasicMarkupExtension<string>
|
||||
{
|
||||
public override string Name => "Translation";
|
||||
protected override string Value => LocaleManager.Instance[key];
|
||||
|
||||
protected override void ConfigureBindingExtension(CompiledBindingExtension bindingExtension)
|
||||
protected override void ConfigureBindingExtension(CompiledBindingExtension bindingExtension)
|
||||
=> bindingExtension.Source = LocaleManager.Instance;
|
||||
}
|
||||
|
||||
|
||||
internal class WindowTitleExtension(LocaleKeys key, bool includeVersion) : BasicMarkupExtension<string>
|
||||
{
|
||||
public WindowTitleExtension(LocaleKeys key) : this(key, true)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
public override string Name => "WindowTitleTranslation";
|
||||
protected override string Value => RyujinxApp.FormatTitle(key, includeVersion);
|
||||
|
||||
protected override void ConfigureBindingExtension(CompiledBindingExtension bindingExtension)
|
||||
protected override void ConfigureBindingExtension(CompiledBindingExtension bindingExtension)
|
||||
=> bindingExtension.Source = LocaleManager.Instance;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ namespace Ryujinx.Ava.Common.Models.Github
|
|||
public class GithubReleasesJsonResponse
|
||||
{
|
||||
public string Name { get; set; }
|
||||
|
||||
|
||||
public string TagName { get; set; }
|
||||
public List<GithubReleaseAssetJsonResponse> Assets { get; set; }
|
||||
}
|
||||
|
|
|
@ -34,8 +34,8 @@ namespace Ryujinx.Ava.Common.Models
|
|||
{
|
||||
get
|
||||
{
|
||||
return ProcessingOutcome != XCIFileTrimmer.OperationOutcome.Undetermined &&
|
||||
ProcessingOutcome != XCIFileTrimmer.OperationOutcome.Successful;
|
||||
return ProcessingOutcome is not XCIFileTrimmer.OperationOutcome.Undetermined and
|
||||
not XCIFileTrimmer.OperationOutcome.Successful;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -43,10 +43,10 @@ namespace Ryujinx.Ava.Common.Models
|
|||
{
|
||||
if (obj == null)
|
||||
return false;
|
||||
|
||||
|
||||
return this.Path == obj.Path;
|
||||
}
|
||||
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return this.Path.GetHashCode();
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace Ryujinx.Ava.Common
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
internal class TrimmerWindow : Ryujinx.Common.Logging.XCIFileTrimmerLog
|
||||
{
|
||||
private readonly XciTrimmerViewModel _viewModel;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue