openspades/README.md

144 lines
6.7 KiB
Markdown
Raw Normal View History

2016-11-23 18:30:28 +01:00
# OpenSpades [![Build status](https://travis-ci.org/yvt/openspades.png?branch=master)](https://travis-ci.org/yvt/openspades)
2014-03-11 16:56:20 +09:00
2016-11-22 17:20:27 -02:00
![OpenSpades banner](https://dl.dropboxusercontent.com/u/37804131/github/OpenSpadesBanner.jpg)
2016-11-06 20:59:15 +09:00
2016-11-22 17:20:27 -02:00
[Official website](http://openspades.yvt.jp) — [Download](https://github.com/yvt/openspades/releases) — [Community](http://buildandshoot.com) — [Trello board](https://trello.com/b/3rfpvODj/openspades-roadmap)
2016-11-06 21:15:53 +09:00
2016-11-22 17:20:27 -02:00
## What is it?
OpenSpades is a compatible client of Ace of Spades 0.75.
2013-08-18 16:55:06 +09:00
* Can connect to a vanilla/pyspades/pysnip server.
2016-11-06 20:59:15 +09:00
* Uses OpenGL/AL for better experience.
2013-08-18 16:55:06 +09:00
* Open source, and cross platform.
2016-11-22 17:20:27 -02:00
## How to Build/Install?
**Before you start:** In case you're having issues to build OpenSpades, it may be because this README file is outdated, if so:
1. See the [Building Guide](https://github.com/yvt/openspades/wiki/Building), which may be up to date
2. Or [open an issue](https://github.com/yvt/openspades/issues) if the problem persists
2013-08-18 16:55:06 +09:00
### On Linux
GCC 4.9 / Clang 3.2 or later is recommended because OpenSpades relies on C++11 features heavily.
1. Install dependencies:
*On Debian-derived distributions*:
2016-11-06 20:59:15 +09:00
```
2016-12-18 01:40:45 +09:00
sudo apt-get install pkg-config libglew-dev libcurl3-openssl-dev libsdl2-dev libsdl2-image-dev libalut-dev xdg-utils libfreetype6-dev libopus-dev libopusfile-dev
2016-11-06 20:59:15 +09:00
```
(because of a bug in some distributions, you might also
have to install more packages by `sudo apt-get install libjpeg-dev libxinerama-dev libxft-dev`)
*On other distributions*:
Install corresponding packages from your repository (or compile from source).
2. Download & install `SDL-2.0.2`
2014-04-13 19:51:12 +11:00
```bash
wget http://www.libsdl.org/release/SDL2-2.0.2.tar.gz
tar -zxvf SDL2-2.0.2.tar.gz
cd SDL2-2.0.2/
./configure && make && sudo make install
cd ../
```
Additional dependencies may be required.
3. Download & install `SDL2_image-2.0.0`
2014-04-13 19:51:12 +11:00
```bash
wget https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.0.tar.gz
2014-07-17 13:22:56 +09:00
tar -zxvf SDL2_image-2.0.0.tar.gz
2014-04-27 21:48:38 +11:00
cd SDL2_image-2.0.0/
./configure --disable-png-shared && make && sudo make install
cd ../
```
Additional dependencies may be required.
4. Clone OpenSpades repository:
2016-11-06 20:59:15 +09:00
```bash
git clone https://github.com/yvt/openspades.git && cd openspades
```
5. Create directory `openspades.mk` in cloned/downloaded openspades repo and compile:
```bash
mkdir openspades.mk
cd openspades.mk
cmake .. -DCMAKE_BUILD_TYPE=Release && make
```
2016-12-26 17:46:32 +09:00
6. Install OpenSpades:
2016-11-06 20:59:15 +09:00
`sudo make install`
2016-11-12 18:24:35 +09:00
**note**: If you have a previous installation of OpenSpades, you have to uninstall it manually by `sudo rm -rf /usr/local/share/games/openspades` before installing a new one.
7. Get shared files:
2016-11-22 17:20:27 -02:00
* If you're compiling certain release (0.0.10 for example):
Download windows binary of OpenSpades from
2016-12-26 17:46:32 +09:00
https://github.com/yvt/openspades/releases, extract it, and copy the .pak files
2014-04-11 17:23:11 +11:00
inside Resources directory into `/usr/local/share/games/openspades/Resources` or
2014-04-13 19:51:12 +11:00
`$XDG_DATA_HOME/openspades/Resources`. If there were some files in these directories, you probably
should remove them.
**note**: use `~/.openspades/Resources` in old releases.
2016-11-22 19:33:37 -02:00
* If you're compiling straight from source (git clone):
2014-04-13 19:51:12 +11:00
All needed resources would be downloaded while `make install`, so no need to worry.
2016-11-22 19:33:37 -02:00
If you didn't launch `make install`, you can install resources manually.
See `Resources/PakLocation.txt` to find out where get latest shared files.
2014-04-11 17:23:11 +11:00
Download, extract, and place them into `/usr/local/share/games/openspades/Resources` or
`$XDG_DATA_HOME/openspades/Resources`
8. Launch:
2016-12-26 17:46:32 +09:00
`openspades` or `cd $REPO_DIRECTORY/openspades.mk; bin/OpenSpades` and enjoy
2013-08-18 16:55:06 +09:00
2013-11-01 21:22:54 +01:00
### On Windows (with Visual Studio)
2016-12-06 00:47:55 -02:00
1. Get the required software if you haven't already:
2016-11-24 21:26:59 -02:00
* CMake 2.8+
* PowerShell 5.0
* Integrated with Windows 10.
* Older versions are not tested, but might work
2016-12-03 19:55:35 +09:00
* *Visual Studio 2015*
* VS2013 is no longer supported, but might work
2016-12-06 00:47:55 -02:00
* VS2017 is not yet supported, but might work
2016-11-24 21:26:59 -02:00
2. Grab the source code:
* From a release: https://github.com/yvt/openspades/releases
* Latest development version (0.1.0): https://github.com/yvt/openspades/archive/master.zip
3. Extract or checkout the source
* All examples will assume `E:/Projects/openspades`, update paths in the examples to reflect yours
2016-12-06 00:47:55 -02:00
4. Get (pre-compiled) copies of glew, curl, sdl2 and zlib, and place them in `E:/Projects/openspades/Sources/Externals`
* See the file `E:/Projects/openspades/Sources/Externals/readme.txt` for details and links to pre-compiled sets of libraries for your version of Visual Studio
5. Run CMake:
* Source: `E:/Projects/openspades`
* Binaries: `E:/Projects/openspades/OpenSpades.msvc`
* Generator: Visual Studio 14 (2015) (not Win64!)
2016-11-24 21:26:59 -02:00
6. Open `E:/Projects/openspades/OpenSpades.msvc/OpenSpades.sln` in Visual Studio.
2016-12-06 00:47:55 -02:00
7. Build the solution.
* The recommended build configuration is `MinSizeRel` or `Release` if you're not an developer
* The default build output directory is `E:/projects/OpenSpades/OpenSpades.msvc/bin/BUILD_TYPE/`
2016-11-24 21:26:59 -02:00
8. Copy all `.dll` files from `Source/Externals/lib` to the build output directory.
9. To get audio working, download a [Windows release of OpenSpades](https://github.com/yvt/openspades/releases), extract it, and copy the following dlls to the build output directory:
* For OpenAL audio: `openal32.dll`
* For YSR audio: `YSRSpades.dll`, `libgcc_s_dw2-1.dll`, `libstdc++-6.dll`, `pthreadGC2.dll`
2016-12-18 01:40:34 +09:00
10. Download the [Non-free pak](https://github.com/yvt/openspades-paks/releases/download/r32/OpenSpadesDevPackage-r32.zip) and copy it to the `Resources` folder inside your build output directory, which is probably `E:/Projects/openspades/openspades.msvc/bin/BUILD_TYPE/Resources`. You can also copy the paks contained in `Official Mods/` folder of OpenSpades 0.0.12b to add more fonts and improve localization support of your build.
2014-04-07 01:04:56 +09:00
### On Mac OS X (with Xcode)
1. Get the latest version of Xcode and OpenSpades source.
2016-12-25 23:59:03 +09:00
2. Get (pre-compiled) copies of libraries, and place them in `Sources/Externals`
* See the file `Sources/Externals/readme.txt` for details
4. Download [OS X release of OpenSpades](https://github.com/yvt/openspades/releases), show the package contents, and copy `libysrspades.dylib` to `Sources/Externals/lib`.
5. Download and extract the [Non-free pak](https://github.com/yvt/openspades-paks/releases/download/r32/OpenSpadesDevPackage-r32.zip). After that, copy `pak000-Nonfree.pak` and `font-unifont.pak` to `Resources/`.
6. Open `OpenSpades.xcodeproj` and build.
2014-04-07 01:04:56 +09:00
## Troubleshooting
For troubleshooting and common problems see [TROUBLESHOOTING](TROUBLESHOOTING.md).
2016-11-22 17:20:27 -02:00
## Licensing
2014-02-11 00:08:33 +09:00
Please see the file named LICENSE.