Skip to content

Commit

Permalink
add macOS run instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
timbergeron committed Sep 20, 2024
1 parent 85e5abf commit 5000856
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 0 deletions.
4 changes: 4 additions & 0 deletions MacOSX/QuakeSpasm.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@
85AC9B2C2A70521E00228EF3 /* pmove.c in Sources */ = {isa = PBXBuildFile; fileRef = 85AC9B2A2A70521E00228EF3 /* pmove.c */; };
85AC9B2D2A70521E00228EF3 /* pmovetst.c in Sources */ = {isa = PBXBuildFile; fileRef = 85AC9B2B2A70521E00228EF3 /* pmovetst.c */; };
85C58F442B9D79580010F658 /* json.c in Sources */ = {isa = PBXBuildFile; fileRef = 85C58F432B9D79580010F658 /* json.c */; };
85F640312C9E1EE300615B7F /* macos_instructions.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85F640302C9E1EE300615B7F /* macos_instructions.html */; };
932AE8F92944103F0062F917 /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 932AE8F3294410200062F917 /* libopus.a */; };
93B34FA22946BA0300FB5B72 /* libmad.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 93B34FA02946BA0300FB5B72 /* libmad.a */; };
93B34FA32946BA0300FB5B72 /* libFLAC.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 93B34FA12946BA0300FB5B72 /* libFLAC.a */; };
Expand Down Expand Up @@ -147,6 +148,7 @@
files = (
8558644E2B8421810016F8F6 /* qssm.pak in CopyFiles */,
668A0137277D80B0009D9427 /* Quakespasm-Spiked.txt in CopyFiles */,
85F640312C9E1EE300615B7F /* macos_instructions.html in CopyFiles */,
66991C071DBAB4A600C373C0 /* quakespasm.pak in CopyFiles */,
66991C081DBAB4A600C373C0 /* LICENSE.txt in CopyFiles */,
66991C091DBAB4A600C373C0 /* Quakespasm-Music.txt in CopyFiles */,
Expand Down Expand Up @@ -356,6 +358,7 @@
85C58F432B9D79580010F658 /* json.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = json.c; path = ../Quake/json.c; sourceTree = "<group>"; };
85C58F452B9D79680010F658 /* json.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = json.h; path = ../Quake/json.h; sourceTree = SOURCE_ROOT; };
85C58F472B9D7AAB0010F658 /* jsmn.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = jsmn.h; path = ../Quake/jsmn.h; sourceTree = SOURCE_ROOT; };
85F640302C9E1EE300615B7F /* macos_instructions.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; name = macos_instructions.html; path = ../Quake/macos_instructions.html; sourceTree = "<group>"; };
85F94F5A2A606C26005D9F52 /* libmad.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmad.a; path = libs_universal/libmad.a; sourceTree = "<group>"; };
85F94F5B2A606C31005D9F52 /* libFLAC.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libFLAC.a; path = libs_universal/libFLAC.a; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
Expand Down Expand Up @@ -774,6 +777,7 @@
children = (
66991C061DBAB48000C373C0 /* quakespasm.pak */,
8558644D2B8421770016F8F6 /* qssm.pak */,
85F640302C9E1EE300615B7F /* macos_instructions.html */,
66991C021DBAB47000C373C0 /* LICENSE.txt */,
66991C031DBAB47000C373C0 /* Quakespasm-Music.txt */,
668A0133277D8068009D9427 /* Quakespasm-Spiked.txt */,
Expand Down
97 changes: 97 additions & 0 deletions Quake/macos_instructions.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Run QSS-M</title>

<!-- Font Awesome CDN for icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">

<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
line-height: 1.6;
background-color: #2c2c2c;
color: #e0e0e0;
}
h1 {
color: #ffffff;
}
code {
display: inline-block;
background-color: #000000;
border: 1px solid #555;
padding: 10px;
margin: 10px 0;
font-family: Consolas, monospace;
white-space: pre-wrap;
color: #dcdcdc;
position: relative;
}
ol {
color: #cfcfcf;
}
.copy-btn {
background-color: transparent;
border: none;
cursor: pointer;
font-size: 16px;
color: #dcdcdc;
margin-left: 10px;
vertical-align: middle;
}
.copy-btn i {
color: #9d9d9d;
}

</style>
</head>
<body>
<h1>How to Allow QSS-M App to Run on macOS</h1>
<p>If you want to run the QSS-M app (because it was <strong>not</strong> downloaded from the App Store), you'll need to make it executable and remove any restrictions:</p>

<ol>
<li><strong>Open Terminal:</strong> You can find Terminal in your Applications folder under Utilities.</li>
<p>If you drag QSS-M.app (or the folder with it) to the terminal window it will show the path.</p>

<li><strong>Change Directory to QSS-M.app path:</strong></li>
<code id="code1">cd path/to/QSS-M.app</code>
<p>Get the path from dragging to window or just type it if you know it.</p>


<li><strong>Make the App Executable:</strong> Type the following command and hit Enter:</li>
<code id="code2">sudo chmod +x QSS-M.app</code>
<button class="copy-btn" onclick="copyText('code2', this)"><i class="fas fa-copy"></i></button>
<p>This command gives the app permission to run.</p>

<li><strong>Remove Quarantine Restrictions:</strong> Next, enter this command and press Enter:</li>
<code id="code3">sudo xattr -r -d com.apple.quarantine QSS-M.app</code>
<button class="copy-btn" onclick="copyText('code3', this)"><i class="fas fa-copy"></i></button>
<p>This removes any restrictions that might prevent the app from opening because it was downloaded from the internet.</p>

</ol>

<script>
function copyText(id, btn) {
var codeBlock = document.getElementById(id);
var text = codeBlock.textContent;

// Copy the text to the clipboard
navigator.clipboard.writeText(text);

// Change the icon to a checkmark
var icon = btn.querySelector('i');
icon.classList.remove('fa-copy');
icon.classList.add('fa-check');

// Change it back to the copy icon after 1 second
setTimeout(function() {
icon.classList.remove('fa-check');
icon.classList.add('fa-copy');
}, 300); // 1 second delay
}
</script>
</body>
</html>

0 comments on commit 5000856

Please sign in to comment.