From 0f1bdb80346d56dc9c702ec1d622159e4e3c8edb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Mei=C3=9Fner?= Date: Fri, 28 Jun 2013 22:30:51 +0200 Subject: [PATCH 1/3] Change README format to Markdown --- README.md | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++ README.rst | 125 ----------------------------------------------------- 2 files changed, 123 insertions(+), 125 deletions(-) create mode 100644 README.md delete mode 100644 README.rst diff --git a/README.md b/README.md new file mode 100644 index 00000000..9e8b138c --- /dev/null +++ b/README.md @@ -0,0 +1,123 @@ +Plasma +====== + +A CMake-based fork of the GPLv3-licensed **CyanWorlds.com Engine** (Headspin/Plasma), with a focus on bug-fixes, cross-platform compatibility, and enhanced features. + +For more information on Myst Online, see http://mystonline.com/developers/ + + +Related Projects +---------------- + +- [moul-scripts](https://github.com/H-uru/moul-scripts) - An updated repository of game scripts containing bug-fixes and compatible with modern python interpreters for use with Plasma. +- [dirtsand](https://github.com/H-uru/dirtsand) - An open-source Plasma-compatible server project. + + +Library Dependencies +-------------------- + +Plasma currently utilizes the following third-party libraries: + +- nVidia PhysX 2.6.4 - http://www.nvidia.com/object/physx_archives.html#SDK +- Creative Labs' OpenAL SDK 1.1 - http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip +- Microsoft DirectX SDK + - November 2008: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5493f76a-6d37-478d-ba17-28b1cca4865a or + - June 2010: http://www.microsoft.com/downloads/en/details.aspx?familyid=3021d52b-514e-41d3-ad02-438a3ba730ba +- Python 2.7 - http://www.python.org/download/releases/2.7/ +- libOgg and libVorbis - http://www.xiph.org/downloads/ +- OpenSSL - http://www.slproweb.com/products/Win32OpenSSL.html +- eXpat - http://expat.sourceforge.net/ +- libJPEG - http://www.ijg.org/ +- libPNG - http://www.libpng.org/ +- speex - http://www.speex.org/downloads/ +- zlib - http://zlib.net/ +- PCRE - http://www.pcre.org/ +- libcurl - http://curl.haxx.se/ +- PyGTK - http://www.pygtk.org/downloads.html +- PIL - http://www.pythonware.com/products/pil/ +- (optional, for plFontConverter) Freetype - http://freetype.org/ + +Reducing the use of proprietary libraries is a focus of development and should be expected to change. + +PhysX, OpenAL, and DirectX SDK will need to be acquired through the above links. +All other required libraries are available as precompiled binaries and associated files in the [development libraries bundle](http://guildofwriters.org/tools/devlibs.zip) or can be built using their individual build instructions. + + +Compiling Instructions +---------------------- + +Currently, compilation only targets Windows systems and requires Visual Studio 2010 or Visual Studio 2012 (including Express Editions). + +To compile: + +1. Start **CMake-GUI**. +2. Set the *Where is the source code* option to the location where you cloned the repository. +3. Set the *Where to build the binaries* option to a subfolder of the aforementioned location called *build*. +4. Check the **Grouped** and **Advanced** options. +5. Press **Configure**. Select *Visual Studio 10* (or your preferred version of Visual Studio) as the generator. +6. Set the *CMAKE_INSTALL_PREFIX* option under CMAKE to the *cwe-prefix* folder that you extracted from the [development libraries bundle](http://guildofwriters.org/tools/devlibs.zip). +7. Press **Configure** again. +8. Set the *OpenAL include and library path* options under OPENAL. + - Default Include Path: `C:\Program Files\OpenAL 1.1 SDK\include` + - Default Library Path: `C:\Program Files\OpenAL 1.1 SDK\lib\win32\OpenAL32.lib` +9. Press **Configure** again. +10. Set the *PHYSX_SDK_PATH* option under PHYSX. + - Default Path: `C:\Program Files\AGEIA Technologies\AGEIA PhysX SDK\v2.6.4\SDKs` +11. Press **Configure**... For the last time! +12. Press **Generate**. You will now have a Visual Studio solution file (.sln) in the folder that you specified to build the binaries in. +13. Open the solution in Visual Studio. You can compile CyanWorlds.com Engine by pressing *Build -> Build Solution*. This will take some time. + + +Running Instructions +-------------------- + +To run the Internal Client for testing with MOULa content, you will need the a fully-patched installation of MOULa provided by Cyan Worlds. In addition, you will need to download or clone the files available on the [moul-scripts repository](https://github.com/H-uru/moul-scripts). + +1. Copy the **files from your existing MOULa installation** to a new folder, or install fresh if you do not already have it installed. This folder will be referred to as *MOUL-OS* for the remainder of these instructions. +2. Copy the **Python and SDL** folders from moul-scripts into the *MOUL-OS* folder, as well as the **files in dat** into the existing dat folder. +3. Copy the example_server.ini file from the root of the Plasma repository into your *MOUL-OS* folder, and rename it as **server.ini**. If you are running your own dirtsand server or are connecting to one run by someone else, use the server.ini generated from that. +4. Copy the **DLLs** from the development libraries bundle, as well as the DLLs PhysXLoader.dll, NxExtensions.dll, NxCooking.dll, and NxCharacter.dll from your PhysX SDK installation into the *MOUL-OS* folder. +5. Copy the **resource.dat** file from `\bin` to the *MOUL-OS* folder, or from http://www.guildofwriters.org/tools/resource.dat if you did not build your own. +6. Create a **shortcut** in the *MOUL-OS* folder to the compiled plClient.exe. +7. Edit the shortcut's **properties**, and after the final quotation mark in the *Target* field, add `/LocalData`. Also, change the *Start in* field to the path of your *MOUL-OS* folder. +8. Double-click the shortcut to **connect** to your server and test! + +Alternatively, if you wish to be able to debug using a single content folder from inside Visual Studio, you will need to do the following for each Configuration (Debug, Release, etc.) you have: + +1. Open the Plasma Solution in Visual Studio. +2. Right-click on the plClient project in the Solution Explorer. +3. Select *Configuration Properties->Debugging*. +4. Enter `/LocalData` in the *Command Arguments* field. +5. Enter your *MOUL-OS* folder path in the *Working Directory* field. + + +Additional Information +---------------------- + +- Myst Online is available to play for free at http://mystonline.com/play/ +- For more information on this fork and more in-depth building instructions, see the [Guild of Writers wiki](http://guildofwriters.org/wiki/Development:CyanWorlds.com_Engine). +- This code was forked from the initial release repository at [OpenUru.org](http://openuru.org/). + +About Non-Free Libraries +------------------------ + +This software uses some non-free libraries for which exceptions appear in the +source code license inserts. It is suggested that anyone who thinks of doing +substantial further work on this program should first free it from dependence +on the non-free libraries so that it does the same job without the non-free +libraries. Further introduction of non-free libraries likely would require a +revised license and thus permission from all contributors to the codebase. +That being problematic, any additional non-free libraries are unlikely to be +accepted by Cyan Worlds or the development community. + +Acknowledgements +---------------- + +### OPENSSL ### +This product includes software developed by the OpenSSL Project for use in +the OpenSSL Toolkit (http://www.openssl.org/). 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). + +### Independent JPEG Group (IJG) JPEG Library ### +This software is based in part on the work of the Independent JPEG Group. diff --git a/README.rst b/README.rst deleted file mode 100644 index e17e8f10..00000000 --- a/README.rst +++ /dev/null @@ -1,125 +0,0 @@ -====== -Plasma -====== -A CMake-based fork of the GPLv3-licensed **CyanWorlds.com Engine** (Headspin/Plasma), with a focus on bug-fixes, cross-platform compatibility, and enhanced features. - -For more information on Myst Online, see http://mystonline.com/developers/ - - -Related projects ----------------- -- moul-scripts - https://github.com/H-uru/moul-scripts - An updated repository of game scripts containing bug-fixes and compatible with modern python interpreters for use with Plasma. -- dirtsand - https://github.com/H-uru/dirtsand - An open-source Plasma-compatible server project. - - -Library Dependencies --------------------- -Plasma currently utilizes the following third-party libraries: - -- nVidia PhysX 2.6.4 - http://www.nvidia.com/object/physx_archives.html#SDK -- Creative Labs' OpenAL SDK 1.1 - http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip -- Microsoft DirectX SDK - - November 2008 - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5493f76a-6d37-478d-ba17-28b1cca4865a or - - June 2010 - http://www.microsoft.com/downloads/en/details.aspx?familyid=3021d52b-514e-41d3-ad02-438a3ba730ba - - -- Python 2.7 - http://www.python.org/download/releases/2.7/ -- libOgg and libVorbis - http://www.xiph.org/downloads/ -- OpenSSL - http://www.slproweb.com/products/Win32OpenSSL.html -- eXpat - http://expat.sourceforge.net/ -- libJPEG - http://www.ijg.org/ -- libPNG - http://www.libpng.org/ -- speex - http://www.speex.org/downloads/ -- zlib - http://zlib.net/ -- PCRE - http://www.pcre.org/ -- libcurl - http://curl.haxx.se/ - -- PyGTK - http://www.pygtk.org/downloads.html -- PIL - http://www.pythonware.com/products/pil/ - -- (optional, for plFontConverter) Freetype - http://freetype.org/ - -Reducing the use of proprietary libraries is a focus of development and should be expected to change. - -PhysX, OpenAL, and DirectX SDK will need to be acquired through the above links. -All other required libraries are available as precompiled binaries and associated files in the development libraries bundle (http://guildofwriters.org/tools/devlibs.zip) or can be built using their individual build instructions. - - -Compiling Instructions ----------------------- -Currently, compilation only targets Windows systems and requires Visual Studio 2010 or Visual Studio 2012 (including Express Editions). - -To compile: - -#) Start **CMake-GUI**. -#) Set the *Where is the source code* option to the location where you cloned the repository. -#) Set the *Where to build the binaries* option to a subfolder of the aforementioned location called *build*. -#) Check the **Grouped** and **Advanced** options. -#) Press **Configure**. Select *Visual Studio 10* (or your preferred version of Visual Studio) as the generator. -#) Set the *CMAKE_INSTALL_PREFIX* option under CMAKE to the *cwe-prefix* folder that you extracted from the development libraries bundle (http://guildofwriters.org/tools/devlibs.zip). -#) Press **Configure** again. -#) Set the *OpenAL include and library path* options under OPENAL. - - Default Include Path: ``C:\Program Files\OpenAL 1.1 SDK\include`` - - Default Library Path: ``C:\Program Files\OpenAL 1.1 SDK\lib\win32\OpenAL32.lib`` -#) Press **Configure** again. -#) Set the *PHYSX_SDK_PATH* option under PHYSX. The default value is ``C:\Program Files\AGEIA Technologies\AGEIA PhysX SDK\v2.6.4\SDKs``. -#) Press **Configure**... For the last time! -#) Press **Generate**. You will now have a Visual Studio solution file (.sln) in the folder that you specified to build the binaries in. -#) Open the solution in Visual Studio. You can compile CyanWorlds.com Engine by pressing *Build -> Build Solution*. This will take some time. - - -Running Instructions --------------------- - -To run the Internal Client for testing with MOULa content, you will need the a fully-patched installation of MOULa provided by Cyan Worlds. In addition, you will need to download or clone the files available on the moul-scripts repository (https://github.com/H-uru/moul-scripts). - -#) Copy the **files from your existing MOULa installation** to a new folder, or install fresh if you do not already have it installed. This folder will be referred to as *MOUL-OS* for the remainder of these instructions. -#) Copy the **Python and SDL** folders from moul-scripts into the *MOUL-OS* folder, as well as the **files in dat** into the existing dat folder. -#) Copy the example_server.ini file from the root of the Plasma repository into your *MOUL-OS* folder, and rename it as **server.ini**. If you are running your own dirtsand server or are connecting to one run by someone else, use the server.ini generated from that. -#) Copy the **DLLs** from the development libraries bundle, as well as the DLLs PhysXLoader.dll, NxExtensions.dll, NxCooking.dll, and NxCharacter.dll from your PhysX SDK installation into the *MOUL-OS* folder. -#) Copy the **resource.dat** file from ``\bin`` to the *MOUL-OS* folder, or from http://www.guildofwriters.org/tools/resource.dat if you did not build your own. -#) Create a **shortcut** in the *MOUL-OS* folder to the compiled plClient.exe. -#) Edit the shortcut's **properties**, and after the final quotation mark in the *Target* field, add ``/LocalData``. Also, change the *Start in* field to the path of your *MOUL-OS* folder. -#) Double-click the shortcut to **connect** to your server and test! - -Alternatively, if you wish to be able to debug using a single content folder from inside Visual Studio, you will need to do the following for each Configuration (Debug, Release, etc.) you have: - -#) Open the Plasma Solution in Visual Studio. -#) Right-click on the plClient project in the Solution Explorer. -#) Select *Configuration Properties->Debugging*. -#) Enter ``/LocalData`` in the *Command Arguments* field. -#) Enter your *MOUL-OS* folder path in the *Working Directory* field. - - - -Additional Information ----------------------- -- Myst Online is available to play for free at http://mystonline.com/play/ -- For more information on this fork and more in-depth building instructions, see the Guild of Writers wiki: http://guildofwriters.org/wiki/Development:CyanWorlds.com_Engine. -- This code was forked from the initial release repository at OpenUru.org: http://openuru.org/ - -About Non-Free Libraries ------------------------- -This software uses some non-free libraries for which exceptions appear in the -source code license inserts. It is suggested that anyone who thinks of doing -substantial further work on this program should first free it from dependence -on the non-free libraries so that it does the same job without the non-free -libraries. Further introduction of non-free libraries likely would require a -revised license and thus permission from all contributors to the codebase. -That being problematic, any additional non-free libraries are unlikely to be -accepted by Cyan Worlds or the development community. - -Acknowledgements ----------------- - -OPENSSL -~~~~~~~ -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (http://www.openssl.org/). 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). - -Independent JPEG Group (IJG) JPEG Library -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -This software is based in part on the work of the Independent JPEG Group. - From 5dc47eb0a151924f357e95dcc4f3623e374a6092 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Mei=C3=9Fner?= Date: Sat, 29 Jun 2013 20:37:49 +0200 Subject: [PATCH 2/3] Move the optional dependencies to a separete list --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 9e8b138c..5cb6a797 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Related Projects Library Dependencies -------------------- -Plasma currently utilizes the following third-party libraries: +Plasma currently requires the following third-party libraries: - nVidia PhysX 2.6.4 - http://www.nvidia.com/object/physx_archives.html#SDK - Creative Labs' OpenAL SDK 1.1 - http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip @@ -33,9 +33,12 @@ Plasma currently utilizes the following third-party libraries: - zlib - http://zlib.net/ - PCRE - http://www.pcre.org/ - libcurl - http://curl.haxx.se/ -- PyGTK - http://www.pygtk.org/downloads.html -- PIL - http://www.pythonware.com/products/pil/ -- (optional, for plFontConverter) Freetype - http://freetype.org/ + +The following libraries are optional: + +- (for building resource.dat) PyGTK - http://www.pygtk.org/downloads.html +- (for building resource.dat) PIL - http://www.pythonware.com/products/pil/ +- (for plFontConverter) Freetype - http://freetype.org/ Reducing the use of proprietary libraries is a focus of development and should be expected to change. From 432ec2d7fd070b18376a2b73c69906de7e83ed22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Mei=C3=9Fner?= Date: Sat, 29 Jun 2013 21:22:06 +0200 Subject: [PATCH 3/3] Remove November 2008 DirectX SDK from README --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 5cb6a797..09f92506 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,7 @@ Plasma currently requires the following third-party libraries: - nVidia PhysX 2.6.4 - http://www.nvidia.com/object/physx_archives.html#SDK - Creative Labs' OpenAL SDK 1.1 - http://connect.creativelabs.com/openal/Downloads/OpenAL11CoreSDK.zip -- Microsoft DirectX SDK - - November 2008: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5493f76a-6d37-478d-ba17-28b1cca4865a or - - June 2010: http://www.microsoft.com/downloads/en/details.aspx?familyid=3021d52b-514e-41d3-ad02-438a3ba730ba +- Microsoft DirectX SDK - http://www.microsoft.com/downloads/en/details.aspx?familyid=3021d52b-514e-41d3-ad02-438a3ba730ba - Python 2.7 - http://www.python.org/download/releases/2.7/ - libOgg and libVorbis - http://www.xiph.org/downloads/ - OpenSSL - http://www.slproweb.com/products/Win32OpenSSL.html