Skip to content

Source release 2.4.0 / SFML 2.4.0

Compare
Choose a tag to compare
@oprypin oprypin released this 10 Aug 18:18
· 186 commits to sources since this release

CrSFML has been rewritten from scratch. It no longer uses CSFML (why?). The installation procedure has changed.

For a quick tour of the changes, see a diff from porting examples to the new version.

API changes

  • Event is now an abstract struct, not a union (details)
  • Structs no longer have to be created though separate constructor methods.
  • Some classes and methods were renamed to be more consistent with SFML or Crystal rather than CSFML
    • Some classes become namespaced: FtpResponseFtp::Response
    • More getter methods (is_foo, has_foo) were changed to foo?
  • Vector and Rect are proper generic types
    • The vector2 constructor method is now stricter, use vector2f or vector2i to avoid manual type conversions.
  • The TransformableM module is gone, subclass or compose Transformable instead.
  • Drawable module now must be included to pass the object to the draw method.
  • Minor changes in function signatures - more consistent types, overloads and default arguments.
  • Objects now keep references to the objects they store
    • No surprises or having to keep a reference to an object manually so it isn't deleted.
    • A getter will return the same object after setting it, not a different wrapper every time.