Ver Fonte

UI: Only show Amiibo bin scan menu item if the key file exists

Evan Husted há 1 ano atrás
pai
commit
381921390a

Diff do ficheiro suprimidas por serem muito extensas
+ 0 - 58
distribution/misc/macOS.svg


+ 3 - 4
src/Ryujinx.HLE/HOS/Services/Nfc/AmiiboDecryption/AmiiboBinReader.cs

@@ -333,10 +333,9 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.AmiiboDecryption
             return Path.Combine(AppDataManager.KeysDirPath, "key_retail.bin");
         }
 
-        public static bool HasKeyRetailBinPath()
-        {
-            return File.Exists(GetKeyRetailBinPath());
-        }
+        public static bool HasKeyRetailBinPath => File.Exists(GetKeyRetailBinPath());
+
+        
         public static DateTime DateTimeFromTag(ushort value)
         {
             try

+ 6 - 0
src/Ryujinx/UI/ViewModels/MainWindowViewModel.cs

@@ -127,6 +127,9 @@ namespace Ryujinx.Ava.UI.ViewModels
 
         public IEnumerable<LdnGameData> LastLdnGameData;
 
+        // The UI specifically uses a thicker bordered variant of the icon to avoid crunching out the border at lower resolutions.
+        // For an example of this, download canary 1.2.95, then open the settings menu, and look at the icon in the top-left.
+        // The border gets reduced to colored pixels in the 4 corners.
         public static readonly Bitmap IconBitmap =
             new(Assembly.GetAssembly(typeof(ConfigurationState))!.GetManifestResourceStream("Ryujinx.UI.Common.Resources.Logo_Thiccjinx.png")!);
 
@@ -330,6 +333,9 @@ namespace Ryujinx.Ava.UI.ViewModels
                 OnPropertyChanged();
             }
         }
+
+        public bool CanScanAmiiboBinaries => AmiiboBinReader.HasKeyRetailBinPath;
+        
         public bool ShowLoadProgress
         {
             get => _showLoadProgress;

+ 1 - 0
src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml

@@ -247,6 +247,7 @@
                     Click="OpenBinFile"
                     Header="{ext:Locale MenuBarActionsScanAmiiboBin}"
                     Icon="{ext:Icon mdi-cube-scan}"
+                    IsVisible="{Binding CanScanAmiiboBinaries}"
                     IsEnabled="{Binding IsAmiiboBinRequested}" />
                 <MenuItem
                     Command="{Binding TakeScreenshot}"

+ 1 - 1
src/Ryujinx/UI/Views/Main/MainMenuBarView.axaml.cs

@@ -178,7 +178,7 @@ namespace Ryujinx.Ava.UI.Views.Main
         private void ScanBinAmiiboMenuItem_AttachedToVisualTree(object sender, VisualTreeAttachmentEventArgs e)
         {
             if (sender is MenuItem)
-                ViewModel.IsAmiiboBinRequested = ViewModel.IsAmiiboRequested && AmiiboBinReader.HasKeyRetailBinPath();
+                ViewModel.IsAmiiboBinRequested = ViewModel.IsAmiiboRequested && AmiiboBinReader.HasKeyRetailBinPath;
         }
 
         private async void InstallFileTypes_Click(object sender, RoutedEventArgs e)

Alguns ficheiros não foram mostrados porque muitos ficheiros mudaram neste diff