Libraries

stmm-games

Latest version: 0.26

Extensible 2D games library for C++

Beware! This library is very alpha and its API and ABI are constantly changing, even when a new release just increases the minor version number.

Debian binary packages (amd64 architecture)

For Debian based Linux distros like Debian, Ubuntu, Linux Mint, etc.

Hardware: PCs (x86-64 or amd64 CPUs)

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite projects (must be installed first)

Prerequisite packages

$ sudo apt-get install librsvg2-2 libxml++2.6-2v5

Download, unzip and install

$ wget https://www.efanomars.com/bins/stmm-games-0.26-1-deb-amd64-d09.tar.gz
$ sha256sum stmm-games-0.26-1-deb-amd64-d09.tar.gz    # should return
$ # 9188f481854377c64617e1d85c64340b87ee4d2e6631461f2d9406e79161e6d5
$ tar xvz -f stmm-games-0.26-1-deb-amd64-d09.tar.gz
$ cd stmm-games-0.26
$ ./install-bin.sh    # with -d also development debs are installed

Uninstall

From the same directory of install-bin.sh
$ # Remember to uninstall dependant projects first !
$ ./uninstall-bin.sh    # with -d also development debs are uninstalled

Arch binary package (amd64 architecture)

For Linux Arch based distros like Arch, Manjaro, etc.

Hardware: PCs (x86-64 or amd64 CPUs)

This project is also available in the AUR (Arch User Repository) at https://aur.archlinux.org/packages/stmm-games/.

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite projects (must be installed first)

Prerequisite packages

$ sudo pacman -S librsvg libxml++2.6

Download and install

$ wget https://www.efanomars.com/bins/stmm-games-0.26-1-arch-amd64-m.pkg.tar.xz
$ sha256sum stmm-games-0.26-1-arch-amd64-m.pkg.tar.xz    # should return
$ # 51948824871717be480a8699fc76f2c56cc8ecc16521b181285a11dd7385772c
$ sudo pacman -U stmm-games-0.26-1-arch-amd64-m.pkg.tar.xz

Uninstall

$ sudo pacman -R stmm-games

Debian binary packages (arm64 architecture)

For Debian based Linux distros like Raspberry Pi OS, Debian, Ubuntu, etc.

Hardware: Raspberry Pi 4, PineBook

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite projects (must be installed first)

Prerequisite packages

$ sudo apt-get install librsvg2-2 libxml++2.6-2v5

Download, unzip and install

$ wget https://www.efanomars.com/bins/stmm-games-0.26-1-deb-arm64-d09.tar.gz
$ sha256sum stmm-games-0.26-1-deb-arm64-d09.tar.gz    # should return
$ # 10ab752781dc07cff88cc8aa01aed35578b0df49eff2451289a6ef9b0d782213
$ tar xvz -f stmm-games-0.26-1-deb-arm64-d09.tar.gz
$ cd stmm-games-0.26
$ ./install-bin.sh    # with -d also development debs are installed

Uninstall

From the same directory of install-bin.sh
$ # Remember to uninstall dependant projects first !
$ ./uninstall-bin.sh    # with -d also development debs are uninstalled

Arch binary package (arm64 architecture)

For Linux Arch based distros like Arch, Manjaro, etc.

Hardware: PineBook, Raspberry Pi 4

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite projects (must be installed first)

Prerequisite packages

$ sudo pacman -S librsvg libxml++2.6

Download and install

$ wget https://www.efanomars.com/bins/stmm-games-0.26-1-arch-arm64-m.pkg.tar.xz
$ sha256sum stmm-games-0.26-1-arch-arm64-m.pkg.tar.xz    # should return
$ # 90fc4e25498a82fece241ee58d9103873b8ed1336f9de70467c8529ec1e9cc2d
$ sudo pacman -U stmm-games-0.26-1-arch-arm64-m.pkg.tar.xz

Uninstall

$ sudo pacman -R stmm-games

Other linux distributions or architectures

Prerequisite projects (must be installed first)

Prerequisite packages

Download, build and install

$ git clone https://gitlab.com/efanomars/stmm-games.git
$ cd stmm-games
$ STMM_MAKE_OPTIONS="--jobs=4"   ./scripts/install_stmm-games-all.py -b=Release

Uninstall

$ ./scripts/uninstall_stmm-games-all.py

Source code

Gitlab: https://gitlab.com/efanomars/stmm-games

Tarball: https://www.efanomars.com/sources/stmm-games-0.26.tar.gz

(sha256sum: 345e9ca261410d60f0a02ba56582d9d9ba19ab8d68110c34e4051affb4523cdd)

Contents

This source package contains:
  • libstmm-games: library that defines the base classes of the model and the interfaces of the view of a game
  • libstmm-games-fake: library meant for developers that need to test their game based on libstmm-games
  • libstmm-games-file: library that defines base classes for loaders
  • libstmm-games-gtk: library that implements a view of a game with gtkmm3, providing a Gtk::Window subclass that automatically generates preferences, highscore dialogs based on parameters passed to it
  • libstmm-games-xml-base: library that provides common functionality for xml loaders
  • libstmm-games-xml-game: library that provides a game definition “language” based on xml and persistency for preferences and highscores
  • libstmm-games-xml-gtk: library that provides a theme definition “language” based on xml and binds to gtk