/blockattack-game

Block Attack - Rise of the Blocks - the game

Primary LanguageC++GNU General Public License v2.0GPL-2.0

blockattack-game Build Status Coverity Status license

Block Attack - Rise of the Blocks - the game
A Tetris Attack Clone under the GPL.

Homepage: http://www.blockattack.net
Source: https://github.com/blockattack/blockattack-game

##Screen shot Block Attack - Rise of the Blocks 2.0.0 snapshot

Dependencies

  • A version of g++ with C++11 support. Tested on g++-4.9
  • libSDL2
  • libSDL2_image
  • libSDL2_mixer
  • libSDL2_ttf
  • libphysfs
  • libboost (only needed for compiling)
  • libboost-program-options
  • libutfcpp (only needed for compiling)
  • jsoncpp

Building

The only supported build method is using the Makefile
To build do:

./packdata.sh
cmake .
# or
# cmake -DCMAKE_BUILD_TYPE=Debug .
# or
# cmake -DCMAKE_BUILD_TYPE=Release .
make

The result should be in the "Game"-folder. To run

./Game/blockattack

You can also choose to install it with

sudo make install

Windows build uses MXE (mxe.cc) with these installed:

sdl2 sdl2_image sdl2_mixer sdl2_ttf physfs jsoncpp libtool gettext freetype zlib boost

and libutfcpp copied from "source/misc/travis_help/utf8_v2_3_4/source/" to "/path/to/mxe/usr/lib/gcc/i686-w64-mingw32.static/4.9.3/include"

Compiled with:

i686-w64-mingw32.static-cmake -DCMAKE_BUILD_TYPE=Release . && make

Source Structure

This project is a bit unconversionel because I didn't know any better at the time.

  • Game - The output is placed here
  • man - The manual file and the script to generate it. May be moved to source/misc at some point
  • source/code/ - The source code
  • source/code/Libs - External libs that are compiled into the project because they are either header only (Cereal) or not designed for use as a shared library (NFont).
  • source/code/sago - Source code. Not designed to be specific to Block Attack - Rise of the Blocks
  • source/assets - Source for the assets if relevant. For instance svg source for the graphics.
  • source/misc - Misc stuff. Code related tool that are used for development but not part of the final product.
  • source/misc/astyle - Helper script that enforces code style using the "astyle"-program
  • source/misc/cmake - Files needed by CMake
  • source/misc/icons - Icons for the installer
  • source/misc/screenshots - Screen shots like the one in this README file.
  • source/misc/translation - Translations and related tools and scripts
  • source/misc/travis_help - Helper files for Travis CI
  • windows installer - Information needed to Windows installer. May be moved to source/misc at some point

Reporting bugs

Please report bugs on github: https://github.com/blockattack/blockattack-game/issues If possible: Check if the bug is already fixed in master. But if you don't know how to check it then just report it.

Contributions

Contributions are welcome. Both the current graphics and the original sharedir support was provided by kind individuals. Patches can be attached to a github ticket or sent to poul@poulsander.com directly. You can also create pull requests on Github.