Bladeren bron

misc: chore: add direct error code tuple to DisplayErrorAppletDialog

for use when i find the list of error codes -> causes
Evan Husted 1 jaar geleden
bovenliggende
commit
f6822f7358

+ 4 - 2
src/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs

@@ -158,13 +158,15 @@ namespace Ryujinx.HLE.HOS.Applets.Error
 
             string[] buttons = GetButtonsText(module, description, "DlgBtn");
 
-            bool showDetails = _horizon.Device.UIHandler.DisplayErrorAppletDialog($"Error Code: {module}-{description:0000}", "\n" + message, buttons);
+            (uint Module, uint Description) errorCodeTuple = (module, uint.Parse(description.ToString("0000")));
+            
+            bool showDetails = _horizon.Device.UIHandler.DisplayErrorAppletDialog($"Error Code: {module}-{description:0000}", "\n" + message, buttons, errorCodeTuple);
             if (showDetails)
             {
                 message = GetMessageText(module, description, "FlvMsg");
                 buttons = GetButtonsText(module, description, "FlvBtn");
 
-                _horizon.Device.UIHandler.DisplayErrorAppletDialog($"Details: {module}-{description:0000}", "\n" + message, buttons);
+                _horizon.Device.UIHandler.DisplayErrorAppletDialog($"Details: {module}-{description:0000}", "\n" + message, buttons, errorCodeTuple);
             }
         }
 

+ 3 - 1
src/Ryujinx.HLE/UI/IHostUIHandler.cs

@@ -45,10 +45,12 @@ namespace Ryujinx.HLE.UI
         /// <param name="value">The value associated to the <paramref name="kind"/>.</param>
         void ExecuteProgram(Switch device, ProgramSpecifyKind kind, ulong value);
 
+        /// <summary>
         /// Displays a Message Dialog box specific to Error Applet and blocks until it is closed.
         /// </summary>
         /// <returns>False when OK is pressed, True when another button (Details) is pressed.</returns>
-        bool DisplayErrorAppletDialog(string title, string message, string[] buttonsText);
+        // ReSharper disable once UnusedParameter.Global
+        bool DisplayErrorAppletDialog(string title, string message, string[] buttonsText, (uint Module, uint Description)? errorCode = null);
 
         /// <summary>
         /// Creates a handler to process keyboard inputs into text strings.

+ 2 - 2
src/Ryujinx/Headless/Windows/WindowBase.cs

@@ -513,7 +513,7 @@ namespace Ryujinx.Headless
             Exit();
         }
 
-        public bool DisplayErrorAppletDialog(string title, string message, string[] buttonsText)
+        public bool DisplayErrorAppletDialog(string title, string message, string[] buttonsText, (uint Module, uint Description)? errorCode = null)
         {
             SDL_MessageBoxData data = new()
             {
@@ -521,7 +521,7 @@ namespace Ryujinx.Headless
                 message = message,
                 buttons = new SDL_MessageBoxButtonData[buttonsText.Length],
                 numbuttons = buttonsText.Length,
-                window = WindowHandle,
+                window = WindowHandle
             };
 
             for (int i = 0; i < buttonsText.Length; i++)

+ 1 - 1
src/Ryujinx/UI/Applet/AvaHostUIHandler.cs

@@ -217,7 +217,7 @@ namespace Ryujinx.Ava.UI.Applet
             _parent.ViewModel.AppHost?.Stop();
         }
 
-        public bool DisplayErrorAppletDialog(string title, string message, string[] buttons)
+        public bool DisplayErrorAppletDialog(string title, string message, string[] buttons, (uint Module, uint Description)? errorCode = null)
         {
             ManualResetEvent dialogCloseEvent = new(false);