|
||
---|---|---|
.github/workflows | ||
OpenSpades.xcodeproj | ||
Resources | ||
Sources | ||
XSpades | ||
cmake | ||
flatpak | ||
snap | ||
vcpkg@81b67c3878 | ||
.clang-format | ||
.editorconfig | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
CMakeLists.txt | ||
LICENSE | ||
OpenSpades.h.in | ||
OpenSpades.rc.in | ||
README.md | ||
TROUBLESHOOTING.md | ||
crowdin-download.sh | ||
crowdin.yml | ||
run-clang-format.ps1 | ||
update-pot.sh | ||
vcpkg_x86-windows.txt | ||
vcpkg_x86_64-darwin.txt |
README.md
LibreSpades
Libregaming community chat Libregaming community matchmaker
What is it?
LibreSpades is a fork of OpenSpades aimed at removing all non-libre dependencies of OpenSpades. Feel free to substitute 'LibreSpades' wherever 'OpenSpades' is mention In this and other documents. 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.
Liberation status and work to do:
-
Status: works, but...
-
needs new models for player characters. Currently, these are small red boxes floating about. This makes it hard to tell enemies/friendlies apart.
-
needs new models for weapons. Does not make it less playable.
-
needs new sounds/music
-
look into BetterSpades@proprietaryHub for potential asset replacements.
- has GPL3? assets, but needs licensing checking
-
-
maintainer needed.
On Linux : Building and installing from source
GCC 4.9 / Clang 3.2 or later is recommended because OpenSpades relies on C++11 features heavily.
-
Install dependencies:
On Debian-derived distributions:
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 cmake imagemagick
(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 Fedora or other RHEL-derived distributions:
sudo dnf install pkgconf-pkg-config glew-devel openssl-devel libcurl-devel SDL2-devel SDL2_image-devel \ freealut-devel xdg-utils freetype-devel opus-devel opusfile-devel \ libjpeg-devel libXinerama-devel libXft-devel cmake ImageMagick
On other distributions: Install corresponding packages from your repository (or compile from source).
-
Clone LibreSpades repository:
git clone https://codeberg.org/LibreGaming/librespades.git && cd librespades
-
Create directory
build
somewhere, change to it and compile:mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo && make
-
Install LibreSpades (optional but recommended):
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. -
Launch:
openspades
(if installed) orcd $REPO_DIRECTORY; ./build/bin/OpenSpades
and enjoy. ATTENTION if you launch this program while in the build directory, the main menu text will be garbled.
On Windows (with Visual Studio)
- Get the required software if you haven't already:
- CMake 2.8+
- PowerShell 5.0
- Integrated with Windows 10.
- Older versions are not tested, but might work
- Visual Studio 2017 or later
- VS2015 is also supported, but VS2017 is more recommended
- VS2013 is no longer supported, but might work
- Grab the source code:
- Stable version: https://github.com/yvt/openspades/releases
- Latest development version (0.1.x): https://github.com/yvt/openspades/archive/master.zip
- Checkout the source
- All examples will assume
E:/Projects/openspades
, update paths in the examples to reflect yours - Make sure to update all git submodules, e.g., by
git clone ... --recurse-submodules
). Note that the GitHub website's ZIP download currently does not support submodules.
-
Build libraries using vcpkg:
cd E:/Projects/openspades vcpkg/bootstrap-vcpkg.bat vcpkg/vcpkg install @vcpkg_x86-windows.txt
-
Run CMake:
- Source:
E:/Projects/openspades
- Binaries:
E:/Projects/openspades/OpenSpades.msvc
- Generator:
- For VS2019:
Visual Studio 16 (2019)
- For VS2017:
Visual Studio 15 (2017)
- For VS2015:
Visual Studio 14 (2015)
- For VS2019:
- Platform:
Win32
- Toolchain file:
E:/Projects/openspades/vcpkg/scripts/buildsystems/vcpkg.cmake
- Add a new string entry
VCPKG_TARGET_TRIPLET=x86-windows-static
- Open
E:/Projects/openspades/OpenSpades.msvc/OpenSpades.sln
in Visual Studio. - Build the solution.
- The recommended build configuration is
MinSizeRel
orRelease
if you're not an developer - The default build output directory is
E:/projects/OpenSpades/OpenSpades.msvc/bin/BUILD_TYPE/
- To get audio working, download a Windows release of OpenSpades, 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
- (Not recommended) download the Non-free pak, extract it, and copy
Nonfree/pak000-Nonfree.pak
to theResources
folder inside your build output directory, which is probablyE:/Projects/openspades/openspades.msvc/bin/BUILD_TYPE/Resources
. You can also copy the paks contained inOfficial Mods/
folder of OpenSpades 0.0.12b to add more fonts and improve localization support of your build.
On macOS (with Ninja)
-
Get the latest version of Xcode and the OpenSpades source code. Install the following prerequisites:
- Xcode's command-line tools. Install them by
xcode-select --install
andsudo xcodebuild -license
. - CMake.
- Install
pkg-config
by one of the following methods:- Homebrew:
brew install pkg-config
- Nix: add
$(nix-build '<nixpkgs>' -A pkg-config-unwrapped --no-out-link)/bin
toPATH
.
- Homebrew:
- Xcode's command-line tools. Install them by
-
vcpkg/bootstrap-vcpkg.sh
-
vcpkg/vcpkg install @vcpkg_x86_64-darwin.txt
-
Create directory
openspades.mk
in the cloned/downloaded openspades repo and compile:mkdir openspades.mk cd openspades.mk cmake -G Ninja .. -D CMAKE_BUILD_TYPE=RelWithDebInfo -D CMAKE_OSX_ARCHITECTURES=x86_64 -D CMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake -D VCPKG_TARGET_TRIPLET=x64-osx ninja
-
Launch:
open bin/OpenSpades.app
(Universal builds aren't supported yet.)
Network usage during building
LibreSpades' build process downloads prebuilt game assets and libraries if requested. Specifically:
pak000-Nonfree.pak
andfont-uniform.pak
from https://github.com/yvt/openspades-paks. Can be enabled by passing-D OPENSPADES_NONFREE_RESOURCES=ON
to CMake.- The prebuilt binaries of YSRSpades (audio engine) from https://github.com/yvt/openspades-media. Can be enabled by passing
-D OPENSPADES_YSR=ON
to CMake.
In addition, vcpkg (sort of package manager only used for Windows and macOS builds) collects and sends telemetry data to Microsoft. You can opt out of this behavior by passing -disableMetrics
option when running vcpkg/bootstrap-vcpkg.sh
command.
Troubleshooting
For troubleshooting and common problems see TROUBLESHOOTING.
Licensing
Please see the file named LICENSE.