Skip to content
/ togo Public

A collection of C++ libraries and tools for games and applications.

License

Notifications You must be signed in to change notification settings

komiga/togo

Repository files navigation

What be it?

togo is a collection of libraries with simplicity and rapid iteration at heart.

Components

Library: core

Core library. All other libraries depend on it.

Dependencies:

  1. Lua == 5.3.5

Library: image

Imaging library.

Library: platform

Platform library.

Dependencies:

  1. libnotify (system)

Library: window

Windowing library.

Dependencies:

  1. glad
  2. Backend (one of):
  3. SDL >= 2.0.3 (OpenGL, raster)
  4. GLFW >= 3.0.4 (OpenGL)
  5. With raster backends:
  6. lib/image

Library: game

Game engine.

This library takes significant inspiration from bitsquid (now Stingray), who have written about their design in great detail.

Dependencies:

  1. lib/window (requires OpenGL backend)

Tool: res_build

Resource package compiler for the game library. Interface is available as a static library for extension and automation.

Dependencies:

  1. lib/game

Platforms

togo is developed under Linux and currently only supports Linux. Its primary interface implementations utilize POSIX and the C Standard Library (by way of the C++ Standard Library, of which only little is used).

Building

togo libraries are compiled static libraries (by default).

All features support Clang 3.5+ with libc++ (roughly at SVN head) on Ubuntu 14.04 x86_64. GCC and libstdc++ might work, but they are untested.

Interface headers are generated by igen, which requires Python 2.x, Mako, and cindex.py (libclang wrapper).

Inclusions are sorted with include_sort (see scripts/include_sort), but it is not required to build togo.

See dep/README.md for dependency setup. Components can then be built using my standard project protocol.

The only difference from the project protocol is scripts/premake in place of Premake, which enforces recipe order to allow the use of GNU Make's --jobs.

Build configuration:

  • --togo-test

    Enable test mode.

  • --togo-window-backend=sdl | glfw

    Set window backend. See lib/window above for the dependencies required.

License

togo carries the MIT license, which can be found in the LICENSE file.

About

A collection of C++ libraries and tools for games and applications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages