- Added a feature to enable or disable bzip2 zip file support
- Lots of small documentation fixes and improvements thanks to lovely contributors
- Added a
bzip2
feature to allow opening zip files compressed with bzip2 algorithm - Added termhn's
ggez_snake
to the examples, 'cause it's awesome - Added
timer::get_remaining_update_time()
to let you easily do sub-frame timing for interpolation and such. - Many small improvements and cleanups
- Version bumped lots of dependencies: zip, rand, rodio, rusttype
- Switched to the
app_dirs2
crate to avoid a bug in upcoming rustc change
- Made
Image::from_rgba8
properly check that the array you pass it is the right size - Fixed more documentation bugs (ggez#303).
- Added
Text::into_inner()
and related methods to get ahold of aText
object's underlyingImage
- Added
SoundData::new()
andSource::set_repeat()
/Source::get_repeat()
(thanks jupart!) - Added
Context::process_event()
to smooth out a bump or two in the API for writing custom event loops. This does change the API a little, but the old style should still work. - Added functions for taking screenshots and saving
Image
's (thanks DenialAdams!)
- Version-bumped
lyon
crate
- Deprecated
BoundSpriteBatch
, since you can just clone anImage
relatively cheaply.
- Nothing
- Fixed bug in
mouse::get_position()
, see ggez#283 - Lots of small documentation fixes from a variety of awesome sharp-eyed contributors
- Fixed bug that was making canvas's render upside-down ggez#252
- 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 thecargo-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 aContext
- Added an optional
color
value toDrawParam
, which overrides the default foreground color. Life would be simpler removing the foreground color entirely...
- 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.
- 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".
- Removed
get_line_width()
andset_line_width()
and made line widths parameters where necessary - Did the same for
get/set_point_size()
- Removed inaccurate
timer::sleep_until_next_frame()
, addedtimer::yield_now()
.
- 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.
- Backported correction to SRGB color conversions
- Added std::error::Error implementation for GameError
- Documentation and unit test updates
- Derive some common traits on types
- Fixed bug in conf.toml reading and writing (thanks chinatsu)
- Made filesystem.print_all() a little more informative
- Added graphics::set_mode() function to allow setting window size, etc.
- Added some functions to allow querying fullscreen modes and such
- Made gamepad example test all input
- Added bindings to the
mint
crate (a whole one type conversion) - Implemented stop() for audio
- Fixed bug in when CARGO_MANIFEST_DIR is checked (thanks 17cupsofcoffee)
- Added experimental support for SDL's gamepads (thanks kampffrosch94)
- Re-improved resource-not-found error messages (thanks 17cupsofcoffee)
- Fixed minor bug with text rendering alpha, added more useful methods to
Text
- Fixed bug with text wrapping (I hope)
- VERY EXPERIMENTAL functions for exposing the gfx-rs rendering context to a bold user
- Almost everything is now pure rust; the only C dependency is libsdl2.
- Entirely new rendering engine using
gfx-rs
backed by OpenGL 3.2 - New (if limited) 2D drawing primitives using
lyon
- Font rendering still uses
rusttype
but it's still cool - New option to enable/disable vsync
- New sound system using
rodio
, supporting pure Rust loading of WAV, Vorbis and FLAC files - Configuration system now uses
serde
rather thanrustc_serialize
- Refactored event loop handling somewhat to make it less magical and more composable.
- New filesystem indirection code using
app_dirs
, andcargo-resource-root
feature flag.
Added set_color_mod
and set_alpha_mod
functions which I'd forgotten
IIRC, switched from SDL_ttf to rusttype because of horrible evil API's not playing nice with lifetimes.
Made a fairly fully fleshed out SDL implementation
Initial proof of concept