aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex0007 <Alex0007lolpvp@gmail.com>2024-01-23 02:10:25 +0400
committerGitHub <noreply@github.com>2024-01-22 23:10:25 +0100
commit34a9922b57b582fb18a670241f7efe43d4723fe7 (patch)
treed1bb89e235a1678487e73be1b3af0a01421e0788
parent4df22eb86707005821a5012421a76b308bcc1989 (diff)
Fix architecture preference for MacOS game shortcuts (#6145)1.1.1122
* Fix architecture preference for MacOS game shortcuts * Detect arch and then pass it to script Co-authored-by: jcm <john.moody@coloradocollege.edu> * Remove old script write call in `CreateShortcutMacos` * Turn launch script into EmbeddedResource * Added final newline --------- Co-authored-by: jcm <john.moody@coloradocollege.edu>
-rw-r--r--distribution/macos/shortcut-launch-script.sh8
-rw-r--r--src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs4
-rw-r--r--src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj1
3 files changed, 11 insertions, 2 deletions
diff --git a/distribution/macos/shortcut-launch-script.sh b/distribution/macos/shortcut-launch-script.sh
new file mode 100644
index 00000000..784d780a
--- /dev/null
+++ b/distribution/macos/shortcut-launch-script.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+launch_arch="$(uname -m)"
+if [ "$(sysctl -in sysctl.proc_translated)" = "1" ]
+then
+ launch_arch="arm64"
+fi
+
+arch -$launch_arch {0} {1}
diff --git a/src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs b/src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs
index 97b9853d..60b92898 100644
--- a/src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs
+++ b/src/Ryujinx.Ui.Common/Helper/ShortcutHelper.cs
@@ -54,6 +54,7 @@ namespace Ryujinx.Ui.Common.Helper
{
string basePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Ryujinx");
var plistFile = EmbeddedResources.ReadAllText("Ryujinx.Ui.Common/shortcut-template.plist");
+ var shortcutScript = EmbeddedResources.ReadAllText("Ryujinx.Ui.Common/shortcut-launch-script.sh");
// Macos .App folder
string contentFolderPath = Path.Combine("/Applications", cleanedAppName + ".app", "Contents");
string scriptFolderPath = Path.Combine(contentFolderPath, "MacOS");
@@ -68,8 +69,7 @@ namespace Ryujinx.Ui.Common.Helper
string scriptPath = Path.Combine(scriptFolderPath, ScriptName);
using StreamWriter scriptFile = new(scriptPath);
- scriptFile.WriteLine("#!/bin/sh");
- scriptFile.WriteLine($"{basePath} {GetArgsString(appFilePath)}");
+ scriptFile.Write(shortcutScript, basePath, GetArgsString(appFilePath));
// Set execute permission
FileInfo fileInfo = new(scriptPath);
diff --git a/src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj b/src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
index 74331fde..1a8c216a 100644
--- a/src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
+++ b/src/Ryujinx.Ui.Common/Ryujinx.Ui.Common.csproj
@@ -51,6 +51,7 @@
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'osx-x64' OR '$(RuntimeIdentifier)' == 'osx-arm64' OR '$(RuntimeIdentifier)' == ''">
<EmbeddedResource Include="..\..\distribution\macos\shortcut-template.plist" />
+ <EmbeddedResource Include="..\..\distribution\macos\shortcut-launch-script.sh" />
</ItemGroup>
<ItemGroup>