Progress
To get a rough impression about the development progress, this site shows you what is planned for Thor 2, and what has already been implemented. Only API-related features are listed.
General, Config
- [done] Port code to C++11
- [done] Adapt SFML's naming convention
- [done] Get rid of
THOR_STATIC - [done] Supply FindSFML.cmake in own repository
- [done] Add CMake option to build doc
- [done] Restructure headers
- [done] Reflect about ownership (particularly
shared_ptruse cases)
Particles
- [done] Use
sf::VertexArrayinstead of OpenGL - [done] Redesign emitters, add
UniversalEmitter - [done] Inherit
ParticleSystemfromsf::Drawable - [done] Write affector type that applies animations, transform some affectors to animations
- [done] Find an emitter/affector API that is more similar to animations
- [done] Consider multiple textures in one particle system
- [2.1] Add user-data to
Particle
Resources
- [done] New resource key API
- [done] Renamed
ResourceManagertoResourceCache, require 1 template parameter - [done] Replace
ResourcePtrwithstd::shared_ptr - [done] Add combined resource cache:
MultiResourceCache - [done] Add lightweight and simple alternative to resource cache with shared pointers
Math
- [done] Add
Distributionand predefined functions - [done] Evaluate alternatives to
Vertexinheritance approach - [ceased] Rename triangulation types (
Vertexetc.) or move them to separate namespace
Animation
- [done] Make
Animatormore flexible - [done] Replace
Animationclass hierarchy with functors - [2.1] Split
Animatorinto animation-storing and animating classes - [2.1] Add possibility to queue animations
- [2.1] Write more predefined animation types
Input
- [done] Rename
Action::ActionTypeenumerators - [done] Add
operator! - [done] Rename module Events to Input
- [done] Question usefulness of
EventSystem - [done] Integrate joystick axis directly with
Action - [done] Consider integration of custom actions
- [2.1] Add support for double clicks
and stateful mouse wheel
Graphics
- [done] Split functionality from Multimedia
- [done] Write setters/getters for generalized access of attributes like alpha value
- [done] Check if
ColorGradientis more flexible with other computation - [2.2] Let
BigSpritedirectly referencesf::Texture - [2.2] Add more functionality to
BigSprite, likesetTextureRect()
Shapes
- [done] Split functionality from Multimedia
- [done] Remove some specific shape functions, maybe provide them as examples
- [2.1] Allow texturing of
ConcaveShape
Time
- [done] See if more specific functions like
restart()are appropriate - [2.1] Consider facilities for frame management
Other
- [2.1] Implement Audio players