Coder Social home page Coder Social logo

octolib's Introduction

octolib Build Status

Octodyssey's core library repository.

How to report problems?

Please do it using this issue tracker.

Organisation

The source files of the library are located in includes/ and src/ directories.
This repository contains an units test program located in tests/' directory and somes graphics interactives test programs located in interactive_tests/ folder.
Somes modules provides tools applications which are located in tools/ directory.

Sources of theses interactives application are a good entry point to discover the library, and they are used as examples by generated documentation.

Tools can be found in tools/<tool_name>.

  • Packager: tools/packager
  • Package reader: tools/package_reader
  • Editors: tools/editors

Documentation files are located in doc/

How to build?

Requierements

  • C++ 11 compiler (clang 6, g++ 4.8 or higher)
  • Doxygen for documentation (with Dot if you wants cutes graphs)
  • GNU make
  • SFML 2.2 or higher
  • Qt 5 framework
  • Boost test library

Building the library

Produces the library libocto.a into the root directory:

$> git clone [email protected]:IohannRabeson/octolib.git
$> cd octolib
$> make complete

Generate the documentation:

$> make doc

Builds are made in builds/ folder.

Updating the library

$> git pull origin master
$> git submodule update
$> make complete

Makefile

Rules

  • make complete: rebuilds the library then build tools and unit tests
  • make doc: generate documentation
  • make open_doc: open documentation in your web browser (OSX only)
  • make run_tests: builds unit tests
  • make tests: builds unit tests
  • make application_tests: builds interactives tests
  • make tools: builds tools

Debug/Release switch

By default the Makefile builds in release mode.
You can switch this mode to debug using MODE variable.
Exemple to run make re in debug mode:

make re MODE=debug

Documentation

Modules

Octolib is separable into several modules:

Core module

Provides commons stuff.

State management module

Provides services to manage the differents screens required by a game.

Package module

Provides services to pack multiple ressources into an unique file called package. This module provides also a way to read datas from a package file.

Resource module

Manage all the games ressources such textures, fonts, sound. Resource module use read services of packages module.

Animation system

Provides services to animate objects properties.

Graphics

Provides services to render stuff

Audio engine

Provides classes to play music composed in real-time.

Gui system

Provides basic stuffs to create simple user interface.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.