From 7d5442404823cdf5a2dafce66be6b6b90d3e0a44 Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Fri, 27 Dec 2024 21:31:46 -0600 Subject: [PATCH 1/2] misc: Use selector fields --- .../NSHelper.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Ryujinx.Graphics.Metal.SharpMetalExtensions/NSHelper.cs b/src/Ryujinx.Graphics.Metal.SharpMetalExtensions/NSHelper.cs index 52c192a90..dc2495d07 100644 --- a/src/Ryujinx.Graphics.Metal.SharpMetalExtensions/NSHelper.cs +++ b/src/Ryujinx.Graphics.Metal.SharpMetalExtensions/NSHelper.cs @@ -1,19 +1,23 @@ using SharpMetal.Foundation; using SharpMetal.ObjectiveCCore; using System.Runtime.Versioning; +// ReSharper disable InconsistentNaming namespace Ryujinx.Graphics.Metal.SharpMetalExtensions { [SupportedOSPlatform("macOS")] public static class NSHelper { + private static readonly Selector sel_getCStringMaxLengthEncoding = "getCString:maxLength:encoding:"; + private static readonly Selector sel_stringWithUTF8String = "stringWithUTF8String:"; + public static unsafe string ToDotNetString(this NSString source) { char[] sourceBuffer = new char[source.Length]; fixed (char* pSourceBuffer = sourceBuffer) { ObjectiveC.bool_objc_msgSend(source, - "getCString:maxLength:encoding:", + sel_getCStringMaxLengthEncoding, pSourceBuffer, source.MaximumLengthOfBytes(NSStringEncoding.UTF16) + 1, (ulong)NSStringEncoding.UTF16); @@ -23,6 +27,6 @@ namespace Ryujinx.Graphics.Metal.SharpMetalExtensions } public static NSString ToNSString(this string source) - => new(ObjectiveC.IntPtr_objc_msgSend(new ObjectiveCClass("NSString"), "stringWithUTF8String:", source)); + => new(ObjectiveC.IntPtr_objc_msgSend(new ObjectiveCClass(nameof(NSString)), sel_stringWithUTF8String, source)); } } From 709eeda94ace9fb10e02d65607d4b18249199acc Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Sat, 28 Dec 2024 02:00:46 -0600 Subject: [PATCH 2/2] (try) fix PR build comments --- .github/workflows/nightly_pr_comment.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nightly_pr_comment.yml b/.github/workflows/nightly_pr_comment.yml index 85a6e2de4..9f9fcdcad 100644 --- a/.github/workflows/nightly_pr_comment.yml +++ b/.github/workflows/nightly_pr_comment.yml @@ -41,12 +41,13 @@ jobs: let hidden_headless_artifacts = `\n\n
GUI-less\n`; let hidden_debug_artifacts = `\n\n
Only for Developers\n`; for (const art of artifacts) { + var url = `https://github.com/Ryubing/Ryujinx/actions/runs/${run_id}/artifacts/${art_id}`; if(art.name.includes('Debug')) { - hidden_debug_artifacts += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`; + hidden_debug_artifacts += `\n* [${art.name}](${url})`; } else if(art.name.includes('nogui-ryujinx')) { - hidden_headless_artifacts += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`; + hidden_headless_artifacts += `\n* [${art.name}](${url})`; } else { - body += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`; + body += `\n* [${art.name}](${url})`; } } hidden_headless_artifacts += `\n
`;