forked from Mirror/Ryujinx
Fix architecture preference for MacOS game shortcuts (#6145)
* 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>
This commit is contained in:
parent
4df22eb867
commit
34a9922b57
3 changed files with 11 additions and 2 deletions
8
distribution/macos/shortcut-launch-script.sh
Normal file
8
distribution/macos/shortcut-launch-script.sh
Normal file
|
@ -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}
|
|
@ -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);
|
||||
|
|
|
@ -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>
|
||||
|
|
Reference in a new issue