Libraries

stmm-games

Latest version: 0.32

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 libfontconfig1

Download, unzip and install

$ wget https://www.efanomars.com/bins/stmm-games-0.32-1-deb-amd64-d09.tar.gz
$ sha256sum stmm-games-0.32-1-deb-amd64-d09.tar.gz    # should return
$ # af525f31990940f426ab1cec7628f45868c62512f0747a8c126a03403bff388c
$ tar xvz -f stmm-games-0.32-1-deb-amd64-d09.tar.gz
$ cd stmm-games-0.32
$ ./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 fontconfig

Download and install

$ wget https://www.efanomars.com/bins/stmm-games-0.32-1-arch-amd64-m.pkg.tar.xz
$ sha256sum stmm-games-0.32-1-arch-amd64-m.pkg.tar.xz    # should return
$ # fd9aee020822bec791a8d5f21e435ed5b71be6f9752d96379ffe95b2d7d210ad
$ sudo pacman -U stmm-games-0.32-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 libfontconfig1

Download, unzip and install

$ wget https://www.efanomars.com/bins/stmm-games-0.32-1-deb-arm64-d09.tar.gz
$ sha256sum stmm-games-0.32-1-deb-arm64-d09.tar.gz    # should return
$ # 43af06a727506d8735d5d214cd98317aca4d0140eb680ed42d828d0dc7e42396
$ tar xvz -f stmm-games-0.32-1-deb-arm64-d09.tar.gz
$ cd stmm-games-0.32
$ ./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 fontconfig

Download and install

$ wget https://www.efanomars.com/bins/stmm-games-0.32-1-arch-arm64-m.pkg.tar.xz
$ sha256sum stmm-games-0.32-1-arch-arm64-m.pkg.tar.xz    # should return
$ # c82c044701047c8e3740e10c9507067d152c69d4a8475b4265b62a2e4864ea55
$ sudo pacman -U stmm-games-0.32-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.32.tar.gz

(sha256sum: 4cd73001339ca2148e4cb2a13a5a08da66f0c3dd6eb79654a16607ce93ab19db)

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