ggez v0.4.0 Release Notes

  • โž• Added

    • Added mouse module with some utility functions
    • Added some utility functions to query window size
    • Sprite batching implemented by termhn!
    • Added mesh builders allowing you to build complex meshes simply.
    • Integrated nalgebra to provide point and vector types.
    • Added MSAA, blend modes, other graphics toys (thanks termhn!)
    • Added graphics_settings example to show hot to play with graphics modes
    • Made the render pipeline just use matrices instead of separate transform elements
    • SHADERS! Woo, thanks nlordell!
    • Added Filesystem::mount() function and made examples use it; they no longer need the cargo-resource-root feature
    • Added filesystem and graphics setting examples
    • Added more useful/informative constructors for Color
    • Added ability to select OpenGL version
    • Added some useful methods to Rect
    • Added a FAQ and some other documentation
    • Added a ContextBuilder type that allows finer control over creating a Context
    • Added an optional color value to DrawParam, which overrides the default foreground color. Life would be simpler removing the foreground color entirely...

    ๐Ÿ”„ Changed

    • First off, there will be some switches in process: We're going to make the master branch STABLE, tracking the latest release, and create a devel branch that new work will be pushed to. That way people don't check out master and get some WIP stuff.
    • The coordinate system moved from origin-at-center, x-increasing-up to origin-at-top-left, x-increasing-down
    • Updated all dependencies to newer versions
    • Refactored EventHandler interface, again
    • Altered timestep functions to be nicer and made examples use them consistently
    • Updated to Lyon 0.8, which brings some bugfixes
    • Refactored Conf interface a little to separate "things that can be changed at runtime" from "things which must be specified at init time".

    ๐Ÿ—„ Deprecated

    โœ‚ Removed

    • Removed get_line_width() and set_line_width() and made line widths parameters where necessary
    • Did the same for get/set_point_size()
    • Removed inaccurate timer::sleep_until_next_frame(), added timer::yield_now().

    ๐Ÿ›  Fixed

    • Fixed some bugs with type visibility and directory paths.
    • Fixed a few smallish filesystem bugs
    • Got the 3D cube example working and shuffled around the gfx-rs interface methods a little, so we could make more of the graphics innards hidden while still exposing the useful bits.