Coder Social home page Coder Social logo

utf-4096 / butterspades Goto Github PK

View Code? Open in Web Editor NEW
16.0 1.0 1.0 6.32 MB

BetterSpades-based Ace of Spades client aiming to improve look and feel.

License: GNU General Public License v3.0

CMake 0.87% C 92.42% C++ 6.72%
ace-of-spades betterspades

butterspades's Introduction

ButterSpades

Windows: 64bit - 32bit

ButterSpades is a fork which aims to improve the overall UI and feel of BetterSpades.

What's different

  • In-game settings/controls menu
  • Better UI scaling (HUD/Main UI)
  • Configurable UI background and color accents
  • Chat colors and killfeed (OpenSpades compatible)
  • Adaptive chat size
  • HUD shadows
  • Spectator Y-Clamp

Previews


Apocalypse on Babel

Babel

Chat

Player list

Customizable UI

Background and color scheme

System requirements

Type min. requirement
OS Windows 98 or Linux
CPU 1 GHz single core processor
GPU 64MB VRAM, Mobile Intel 945GM or equivalent
RAM 256MB
Display 800x600px
Others Keyboard and mouse
Dial up network connection

Build requirements

This project uses the following libraries and files:

Name License Usage GitHub
GLFW3 ZLib OpenGL context Link
OpenAL soft LGPL-2.1 3D sound environment Link
inih BSD-3.Clause .INI file parser Link
stb_truetype Public domain TrueType font renderer Link
dr_wav Public domain wav support Link
http Public domain http client library Link
LodePNG MIT png support Link
libdeflate MIT decompression of maps Link
enet MIT networking library Link
parson MIT JSON parser Link
log.c MIT logger Link
GLEW MIT OpenGL extensions Link
hashtable MIT hashtable Link
libvxl MIT access VXL format Link
microui MIT user interface Link

You will need to compile the following by yourself, or get hold of precompiled binaries:

  • GLFW3
  • GLEW
  • OpenAL soft (only needed on Windows)
  • libdeflate
  • enet

Follow the instructions on their project page, then place produced static libraries in deps/.

All other requirements of the above list (like single file libs) will be downloaded by CMake automatically and don't need to be taken care of. Because state of copyright of 0.75 assets is unknown, CMake will also download additional assets from here which are not part of this repository.

Windows

This project uses CMake to generate all Makefiles automatically. It's best to use MinGW-w64 for GCC on Windows. You can generate the required files by opening cmd.exe in the build/ directory and typing:

cmake -G "MinGW Makefiles" ..
mingw32-make

If everything went well, the client should be in the build/BetterSpades/ subfolder.

When starting client.exe, you will be greeted by a server list. Select a server on it to start playing! You can also start the client the same way as you did with the voxlap version by opening cmd and putting an aos:// link in as the first argument:

client.exe -aos://16777343:32887 //Connects to a local server

Linux

Compilation now works the same on Linux. Just change the build system to Unix Makefiles or leaving it as default will work too (cmake ..).

You can build each library yourself, or install them with your distro's package manager:

sudo apt install libgl1-mesa libgl1-mesa-dev libopenal1 libopenal-dev libglfw-dev libenet-dev libglew-dev

(this does not include libdeflate which is a requirement too, see Wiki/Building for more details)

Start the client e.g. with the following inside the build/bin/ directory:

./client

Or connect directly to localhost:

./client -aos://16777343:32887

macOS

The same instructions for Linux work on macOS aside from some minor differences. First, use Homebrew or MacPorts to grab dependencies:

brew install glfw enet

The development headers for OpenAL and OpenGL don't have to be installed since they come with macOS by default. libdeflate should be installed and placed manually in a way similar to Linux. See Wiki/Building for more details.

butterspades's People

Contributors

calinou avatar davidco113 avatar feikname avatar groggone avatar haxk20 avatar iamgreaser avatar kuunikal avatar notafile avatar teodor6140 avatar utf-4096 avatar vuolen avatar win8linux avatar xtreme8000 avatar yvt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

groggone

butterspades's Issues

Implement gamemode integrations

Gamemode integrations would, as the name implies, integrate specific parts of a gamemode in the client UI.
Some mockups of how gamemodes would look like:

Babel

Show the name of the player who is holding the intel. The player's name would also match the color of their team.
image

Implementation

Using the IntelPickup packet.

Arena

Show the number of players who are still alive for each team.
Countdown should also be shown here when the round hasn't started, and then being replaced with the number of alive players instead when it starts.
Round ends would show the winning team only, or maybe making the other team be grayed out (and reset when the next round starts).
image

Implementation

Scraping the chat messages for countdown, using the regular player list for alive count.
Possibly using a protocol extension for countdown, if it gets decided.

Autologin

Have an option to automatically send /login username password or /login password when joining a specific server (based on aos:// URL)

TODO: Features to implement

TODO

  • Fix crash when connecting to a 0.76 server from server list
  • Add exit button in main menu
  • Make newest messages appear from the bottom when chat is opened (toggleable in config)
  • Let settings be changed in-game
  • Allow Y-Clamp in spectator
  • Add smooth camera in spectator
  • Add configurable fly speed
  • Add toggleable spectator xray
  • Add toggleable name and health display in spec

Chat Log and Change Spectator Mode Controls

It would be great if you add chat log to copy text and the option to change spectator mode controls the V and mouse wheel button.
It would also be great if you put a width limit on the chat box since then people write very long texts that cover the whole screen and you can't read the whole message.
1673584405

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.