/openspades

Compatible client of Ace of Spades 0.75

Primary LanguageC++GNU General Public License v3.0GPL-3.0

OpenSpades Build status

OpenSpades banner

Official websiteDownloadCommunityTrello board

What is it?

OpenSpades is a compatible client of Ace of Spades 0.75.

  • Can connect to a vanilla/pyspades/pysnip server.
  • Uses OpenGL/AL for better experience.
  • Open source, and cross platform.

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, which may be up to date
  2. Or open an issue if the problem persists

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:

    sudo apt-get install pkg-config libglew-dev libcurl3-openssl-dev libsdl2-dev libsdl2-image-dev libalut-dev
    

    (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

    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

    wget https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.0.tar.gz
    tar -zxvf SDL2_image-2.0.0.tar.gz
    cd SDL2_image-2.0.0/
    ./configure --disable-png-shared && make && sudo make install
    cd ../

    Additional dependencies may be required.

  4. Clone OpenSpades repository:

    git clone https://github.com/yvt/openspades.git && cd openspades
  5. Create directory openspades.mk in cloned/downloaded openspades repo and compile:

    mkdir openspades.mk
    cd openspades.mk
    cmake .. -DCMAKE_BUILD_TYPE=Release && make
  6. Install OpensSpades:

    sudo make install

    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:

    • If you're compiling certain release (0.0.10 for example):

      Download windows binary of OpenSpades from https://sites.google.com/a/yvt.jp/openspades/downloads, extract it, and copy the .pak files inside Resources directory into /usr/local/share/games/openspades/Resources or $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.

    • If you're compiling straight from source (git clone):

      All needed resources would be downloaded while make install, so no need to worry.

      If you didn't launch make install, you can install resources manually. See Resources/PakLocation.txt to find out where get latest shared files. Download, extract, and place them into /usr/local/share/games/openspades/Resources or $XDG_DATA_HOME/openspades/Resources

  8. Launch:

    openspades or cd $REPO_DIRECTORY; ./openspades.mk/bin/OpenSpades and enjoy

On Windows (with Visual Studio)

  1. Get the required software.
  • CMake 2.8+
  • Visual Studio 2013 Express or Visual Studio 2015
    • VS2015 in currently in experimental support, but should work fine
  1. Grab the source code:
  1. Extract or checkout the source
  • All examples will assume E:/Projects/openspades, update paths in the examples to reflect yours
  1. 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 a pre-compiled set of libraries, make sure to pick the right one for your version of VS).

  2. Run CMake, using the paths:

    Source: E:/Projects/openspades, Binaries: E:/Projects/openspades/OpenSpades.msvc Generator: Visual Studio 12 (2013) or 14 (2015) (not Win64!)

    For your convenience, create the directory: E:/Projects/openspades/OpenSpades.msvc/os.Resources, and extract the Non-free pak (pak000-Nonfree.pak) into it. Also, please note you can't distribute this pak separately from OpenSpades releases or binaries, as noted on Resources/PakLocation.txt

    set OPENSPADES_RESDIR to point to os.Resources. (Run CMake again, now when running debug builds openspades will also read resources from this directory)

    Note: OPENSPADES_RESDIR must be set using slashes instead of backslashes (E:/Projects/openspades/os.Resources instead of E:\Projects\openspades\os.Resources). Also, no slashes at end.

  3. Open E:/Projects/openspades/OpenSpades.msvc/OpenSpades.sln in Visual Studio.

  4. Build the solution.

  5. Copy all .dll files from Source/Externals/lib to the build output directory.

  6. Download Windows release of OpenSpades, extract it, and copy openal32.dll and YSRSpades.dll to the build output directory.

    Note: In case OpenSpades still fails to find any dll, copy all the remaing dlls which aren't there yet, it should solve the problem.

  7. In case it's a debug build, copy E:/Projects/openspades/Resources folder to your build directory, which is probably E:/Projects/openspades/openspades.msvc/bin/Debug

    In case you haven't set OPENSPADES_RESDIR and extracted the Non-free pak into it, extract it and merge it inside the Resources folder you just copied.

On Mac OS X (with Xcode)

  1. Get the latest version of Xcode and OpenSpades source.
  2. Download and install SDL2 development libraries for OS X to /Library/Frameworks.
  3. Download and install SDL2_image development libraries for OS X to /Library/Frameworks.
  4. Download OS X release of OpenSpades, show the package contents, and copy libysrspades.dylib to the root of OpenSpades source tree.
  5. Open OpenSpades.xcodeproj and build.

Troubleshooting

For troubleshooting and common problems see TROUBLESHOOTING.

Licensing

Please see the file named LICENSE.