Skip to content

Commit

Permalink
Merge pull request #880 from dpogue/gh-pages-vcpkg
Browse files Browse the repository at this point in the history
GitHub Landing Page updates
  • Loading branch information
zrax authored Mar 22, 2021
2 parents 73e9e25 + 2bda288 commit 3203e36
Show file tree
Hide file tree
Showing 11 changed files with 662 additions and 88 deletions.
191 changes: 191 additions & 0 deletions building.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Building - Plasma</title>

<meta name="viewport" content="width=device-width">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Plasma</h1>
<span>The Cyan Worlds Engine</span>
</header>

<main class="page">
<nav>
<a href="index.html">Overview</a>
<a href="download.html">Download</a>
<a href="building.html" class="active">Building</a>
<a href="running.html">Running</a>
<a href="involvement.html">Get Involved</a>
<a href="credits.html">Credits</a>
</nav>

<h2>Building</h2>

<p>Currently, the complete game client can only be built for Windows, using Visual Studio.</p>
<p>By default these steps will compile a client targeting your machine architecture. It is possible to build a 64-bit game client, but only the 32-bit (x86) client is officially supported.</p>


<h3 id="dependencies">Library Dependencies</h3>

<p>Plasma requires a number of third-party libraries as dependencies. All required libraries are available through the <a href="https://github.com/microsoft/vcpkg">vcpkg package manager</a> and can be downloaded as part of the build process, or can be built using their individual build instructions.</p>

<details>
<summary>Expand to view the complete list of libraries</summary>

<p>Plasma currently requires the following third-party libraries:</p>
<ul>
<li><a href="https://www.python.org/downloads/">Python 3.8 or higher</a></li>
<li><a href="https://www.xiph.org/downloads/">libOgg and libVorbis</a></li>
<li><a href="https://www.openssl.org/">OpenSSL</a></li>
<li><a href="https://openal-soft.org/">OpenAL Soft</a></li>
<li><a href="https://libexpat.github.io/">Expat</a></li>
<li><a href="https://libjpeg-turbo.org/">libjpeg</a></li>
<li><a href="http://www.libpng.org/">libpng</a></li>
<li><a href="https://zlib.net/">zlib</a></li>
<li><a href="https://curl.se/">libcurl</a></li>
<li><a href="https://github.com/zrax/string_theory/">string_theory</a></li>
<li><a href="https://think-async.com/Asio/">Standalone ASIO</a></li>
</ul>

<p>The following libraries are optional:</p>
<ul>
<li><a href="https://cairosvg.org/">CairoSVG</a> (for building resource.dat)</li>
<li><a href="https://python-pillow.org/">Pillow</a> (for building resource.dat)</li>
<li><a href="https://www.freetype.org/">FreeType</a> (for plFontConverter)</li>
<li><a href="https://www.qt.io/download-open-source">Qt5</a> (for the GUI tools)</li>
<li><a href="https://www.webmproject.org/">VPX and WebM</a> (for video)</li>
<li><a href="https://www.opus-codec.org/">Opus</a> (for video and voice chat)</li>
<li><a href="https://www.speex.org/downloads/">Speex</a> (for legacy voice chat)</li>
<li>Autodesk 3ds Max 7 (non-free SDK; for 3ds Max plugin)</li>
</ul>
</details>


<h3 id="building-windows">Building on Windows</h3>

<p>Compiling on Windows requires Visual Studio. We recommend <a href="https://visualstudio.microsoft.com/downloads/">Visual Studio 2019 Community Edition</a>, which is available as a free download. Install the “Desktop development with C++” workload.</p>

<ol>
<li>
<p>Clone the repository from GitHub, including all submodules, using a git client. On the command line, this can be done by executing the following:<br>
<code>git clone --recurse-submodules https://github.com/H-uru/Plasma.git</code></p>

<p class="infonote" data-infotype="warning"><b>Note:</b> We recommend using <a href="https://git-scm.com/download/win">Git for Windows</a>. Using the git program provided by Cygwin will not set permissions properly on some files and result in build failures.</p>

<p class="infonote" data-infotype="warning"><b>Note:</b> Some dependencies may fail to build if the path to the code contains spaces.</p>
</li>

<li>
<p>Launch Visual Studio.</p>
</li>

<li>
<p>Select <strong>Open a local folder</strong> and choose the folder where you cloned the repository.</p>
</li>

<li>
<p>Compile the project by using <strong>Build &gt; Install Plasma</strong>. All required dependencies will automatically be downloaded from vcpkg as part of the build process.</p>

<details id="building-windows-32">
<summary class="expanding-heading">Building a 32-bit client on a 64-bit system</summary>

<ol>
<li>
<p>Wait for Visual Studio to finish preparing the workspace.<br>Look for a line that says “<tt>CMake generation finished</tt>” in the Output window.</p>
</li>

<li>
<p>Open the CMake Settings (<strong>Project &gt; CMake Settings for Plasma</strong>).</p>
</li>

<li>
<p>Click the green <strong>+</strong> button to add a new configuration.</p>
</li>

<li>
<p>Select “x86-Release” from the popup window.</p>
</li>

<li>
<p>Save the CMake settings, using Ctrl+S or the Save button in the toolbar.</p>
</li>

<li>
<p>In the dropdown menu in the toolbar, select the new “x86-Release” configuration.</p>
</li>

<li>
<p>Compile the project by using <strong>Build &gt; Install Plasma</strong>.</p>
</li>
</ol>
</details>
</li>

<li>
<p>The client will be built and installed into a subfolder of where you cloned the repo.</p>

<dl class="wider">
<dt>32-bit Debug:</dt>
<dd><tt>out\install\x86-Debug\client</tt></dd>

<dt>32-bit Release:</dt>
<dd><tt>out\install\x86-Release\client</tt></dd>

<dt>64-bit Debug:</dt>
<dd><tt>out\install\x64-Debug\client</tt></dd>

<dt>64-bit Release:</dt>
<dd><tt>out\install\x64-Release\client</tt></dd>
</dl>

<p>The client output folder will be referred to as your “MOUL-OS” folder in the instructions on <a href="running.html">Running Plasma</a>.</p>
</li>
</ol>


<h3 id="building-nix">Building on macOS &amp; Linux</h3>

<p>Linux and macOS are <strong>not officially supported targets</strong>, and the game client does not compile. However, several of the tools can be built and run.</p>

<p>You will need to ensure all the required dependencies are available. You may be able to use vcpkg on these platforms, but it has not been extensively tested.</p>

<ol>
<li>
<p>Clone the repository from GitHub, including all submodules, using a git client. On the command line, this can be done by executing the following:<br>
<code>git clone --recurse-submodules https://github.com/H-uru/Plasma.git</code></p>
</li>

<li>
<p>In the folder where you cloned the repository, run CMake to create a build folder:<br>
<code>cmake --builddir build -S .</code></p>
<p>If you want to use vcpkg to automatically build dependencies, enable the <tt>USE_VCPKG</tt> option:<br>
<code>cmake -D USE_VCPKG=ON --builddir build -S .</code></p>
</li>

<li>
<p>Compile the project with the following command:<br>
<code>cmake --builddir build --config RelWithDebInfo</code></p>
</li>

<li>
<p>Install the resulting tools with the following command:<br>
<code>cmake --install build --config RelWithDebInfo</code></p>
</li>

<li>
<p>The tools will be built and installed into the <tt>build/install/tools</tt> subfolder of where you cloned the repo.</p>
</li>
</ol>
</main>

<footer>
</footer>
</body>
</html>

48 changes: 48 additions & 0 deletions credits.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Credits - Plasma</title>

<meta name="viewport" content="width=device-width">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Plasma</h1>
<span>The Cyan Worlds Engine</span>
</header>

<main class="page">
<nav>
<a href="index.html">Overview</a>
<a href="download.html">Download</a>
<a href="building.html">Building</a>
<a href="running.html">Running</a>
<a href="involvement.html">Get Involved</a>
<a href="credits.html" class="active">Credits</a>
</nav>

<h2>Credits</h2>

<p>The Plasma game engine and its tools were developed and open-sourced by <a href="https://cyan.com">Cyan, Inc</a>. This repository’s code was forked from the initial release repository at <a href="http://openuru.org/">OpenUru.org</a>.</p>

<p>The open-source Plasma engine is developed and maintained through contributions by volunteers. A full list of contributors can be found <a href="https://github.com/H-uru/Plasma/graphs/contributors">on GitHub</a>.</p>

<p>This software is licensed under the GNU General Public Licence v3 (GPL v3) with exceptions for a list of non-free libraries used by the engine. No additional non-free library dependencies can be added to the project due to the difficulty in changing licensing exceptions.</p>

<h3>Acknowledgements</h3>

<h4>OpenSSL</h4>
<p>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (<a href="https://www.openssl.org/">https://www.openssl.org/</a>). This product includes cryptographic software written by Eric A. Young (eay@cryptsoft.com). This product includes software written by Tim J. Hudson (tjh@cryptsoft.com).</p>

<h4>Independent JPEG Group (IJG) JPEG Library</h4>
<p>This software is based in part on the work of the Independent JPEG Group.</p>
</main>

<footer>
</footer>
</body>
</html>
53 changes: 53 additions & 0 deletions download.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Download - Plasma</title>

<meta name="viewport" content="width=device-width">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Plasma</h1>
<span>The Cyan Worlds Engine</span>
</header>

<main class="page">
<nav>
<a href="index.html">Overview</a>
<a href="download.html" class="active">Download</a>
<a href="building.html">Building</a>
<a href="running.html">Running</a>
<a href="involvement.html">Get Involved</a>
<a href="credits.html">Credits</a>
</nav>

<h2>Download</h2>

<h3 id="official">Official Releases</h3>

<p>To download and play <b><em>Myst Online: Uru Live again</em></b>, please use the installer from the <a href="https://mystonline.com/play/">Myst Online website</a>.</p>
<p>To play on the Guild of Writers <b>Gehn shard</b>, please use the installer from the <a href="https://www.guildofwriters.org/gehn/">Guild of Writers website</a>.</p>

<h3 id="devbuilds">Development</h3>

<p>Experimental development builds are available for download as artifacts from our <a href="https://github.com/H-uru/Plasma/actions?query=workflow%3ACI+branch%3Amaster">GitHub Continuous Integration system</a>. These are built automatically when code is merged, and are not tested for stability. These should be used for local testing only.</p>

<p>The game engine source code is also available for download from GitHub. For compiling instructions, please see the <a href="building.html">Development section</a>.</p>

<p>For instructions on how to run these game clients, see the section on <a href="running.html">Running Plasma</a>.</p>

<h3 id="assets">Game Assets</h3>

<p>Additional game data files from <em>Myst Online: Uru Live again</em> are also available from the <a href="https://github.com/H-uru/moul-assets">H-uru/moul-assets GitHub repository</a>. These assets are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC-BY-NC-SA 4.0) Licence.</p>
</main>

<footer>
</footer>
</body>
</html>


Loading

0 comments on commit 3203e36

Please sign in to comment.