Skip to content
Unfinished xjump clone written in C++ using Boost, SFML and Box2D [2012]
Python C++ Shell Prolog
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Documentation
Editor
Game
Testing
.gitignore
COPYING
Doxyfile
README.md
buggy_bawkses.pro
main.cpp

README.md

Buggy Bawkses!

Buggy Bawkses is an unfinished clone of the popular game xjump.

Copyright 2012 Thomas Trapp, except where indicated otherwise. http://www.thomastrapp.com

Bugy Bawkses is free Software under the terms of the GNU General Public License Version 2.
See COPYING for full license text.

Online documentation can be found at http://thomastrapp.github.com/buggy-bawkses/.

Dependencies:

Optional dependencies:

Build:

In project folder, run

qmake
make

There should now be a binary named "buggy_bawkses"

ls -lah ./buggy_bawkses

Generate documentation:

In project folder, run:

doxygen ./Doxyfile

Documentaton can be found in Documentation/html/index.html

Formatting:

  • Max 80 chars per line
  • No tabs, only spaces
  • Indentation is 2 spaces

3rd party licenses:

Static code analysis with cppcheck:

Make sure you have the cppcheck binary in /usr/bin
Run the wrapper script in project root:

./Testing/run_cppcheck.sh .

Static code analysis with Google's cpplint.py:

Run the wrapper script in project root:

./Testing/run_cpplint.sh .

The following lint-checks are disabled:

Heap analysis with gperftools:

Compile with target heap_checker
Run

./Testing/run_heapcheck.sh ./buggy_bawkses_heap_checker

gperftools indicate leakage of 192 bytes outside of this project (at least on my machine). It's probably safe to ignore these two leaks.

Build targets:

  • release
    Binary: buggy_bawkses
  • debug: Your typical debug build. All Box2D shapes are outlined.
    Binary: buggy_bawkses_debug
  • heap_checker: Debug build linked with libtcmalloc (gperftools)
    Binary: buggy_bawkses_heap_checker

Tips for debian/ubuntu users:

Building Box2D from source:

To install unmet dependencies for Box2D run as root:

apt-get build-dep libbox2d0

Download Box2D 2.2.1 and unpack.
In unpacked folder run:

cmake .  
make

To install the Box2D header files as well as the shared libraries run as root:

make install

Building SFML from source:

(It may be sufficient to install the precompiled libraries for your architecture:
"SFML 2.0 Release Candidate - C++ | version 2.0 RC | 32/64bit" This includes needed header files)

To install unmet dependencies for SFML run as root:

apt-get build-dep libsfml

Download https://github.com/LaurentGomila/SFML/tarball/master and unpack.
In unpacked folder run:

cmake .  
make  

To install the SFML header files as well as the shared libraries run as root:

make install

Installing qmake, boost and qtcreator:

Hints:

  • Package names may vary between distros and versions.
  • The packages in your distro's repository might be outdated.

Run as root:

apt-get install qt4-qmake libboost-dev qtcreator

Check if all libraries can be found by the linker:

This shell command echoes "All OK" if all libraries were found:

ld -lsfml-graphics -lsfml-window -lsfml-system \  
   -lboost_program_options -lBox2D -o /tmp/buggy_bawkses_linker_test \  
   && echo "All OK"

ld tries to link these libraries, creating the executable /tmp/buggy_bawkses_linker_test. If it cannot load a library it prints the library's name and exits indicating failure. If all went well it will still print an error message stating that it couldn't find an entry point (=main). This error can safely be ignored.

Something went wrong with that request. Please try again.