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_ptr
use cases)
Particles
- [done] Use
sf::VertexArray
instead of OpenGL - [done] Redesign emitters, add
UniversalEmitter
- [done] Inherit
ParticleSystem
fromsf::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
ResourceManager
toResourceCache
, require 1 template parameter - [done] Replace
ResourcePtr
withstd::shared_ptr
- [done] Add combined resource cache:
MultiResourceCache
- [done] Add lightweight and simple alternative to resource cache with shared pointers
Math
- [done] Add
Distribution
and predefined functions - [done] Evaluate alternatives to
Vertex
inheritance approach - [ceased] Rename triangulation types (
Vertex
etc.) or move them to separate namespace
Animation
- [done] Make
Animator
more flexible - [done] Replace
Animation
class hierarchy with functors - [2.1] Split
Animator
into animation-storing and animating classes - [2.1] Add possibility to queue animations
- [2.1] Write more predefined animation types
Input
- [done] Rename
Action::ActionType
enumerators - [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
ColorGradient
is more flexible with other computation - [2.2] Let
BigSprite
directly 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