ggez v0.5.0 Release Notes
-
➕ Added
- Added line cap and join options
- Added spatial sources for audio
- Added
From
implementations forColor
to convert from various tuples off32
's. Redundant but it annoyed me they don't exist. - Add OpenGL ES 3.0 support
- Add optional textures to
Mesh
es. - Added lots of tests and doctests.
- Added a
c_dependencies
feature. It's on by default, but disabling it will build ggez without unnecessary C dependencies (currentlybzip2
andminimp3
). #549 - Added (basic) spatial sound support.
- Added loading of resource zip files from in-memory bytes
🔄 Changed
- Updated versions of lots of dependencies.
- Minimum rustc version is now 1.33, rust 2018 edition.
- We now use
winit
instead ofsdl2
for window creation and events! This removes the last major C dependency from ggez. It also involves lots of minor changes, the full extent of which is still going to evolve. DrawParam
now uses the builder pattern instead of being a bare struct, which allows easier conversion from generics (such asmint
types) as well as simplifying the internal math.- All public-facing API's that take
Point2
,Vector2
orMatrix4
should now takeInto<mint::...>
for the appropriate type from themint
crate. This should let users use whatever math library they care to that supportsmint
; currentlynalgebra
,cgmath
andeuclid
are all options. - Moved all the
FilesystemContext
methods into top-level functions in thefilesystem
module, to be consistent with the rest of the API. - What used to be the
text_cached
module is now thetext
module, replacing all the old text stuff with cached text drawing using theglyph_brush
crate. This dramatically changes the text API, as well as being faster and more powerful. - Various dimension parameters have changed to fit the underlying implementations more closely.
Image
dimensions have changed fromu32
tou16
, which they always were but now it's exposed to the API. Various screen size dimensions have changed fromu32
tof64
, which allowswinit
to do smoother scaling. - Similarly,
Mesh
's now haveu32
indices. #574 - Various getters have been renamed from
get_<field>()
to<field>
(). Of particular note are changes to Drawable and ShaderHandle traits. - Some minor modularization has taken place; at least, gamepad and audio module scan be disabled with settings in your
conf.toml
. Doing the same for filesystem, graphics, and input is a liiiiiittle more involved. MeshBuilder
DrawMode
's now can take parameters, and have some shortcut functions to make default parameters. This simplifies things somewhat by not needing separate args to specify things like a stroke width forDrawMode::Stroke
.- HiDPI support removed since it doesn't do anything useful. Any problems with your window not being the size you asked for are
winit
's problem and will be solved once they fix it. #587 - Moved
ggez::quit()
toggez::event::quit()
. This commit - Probably tons of other things I've forgotten.
🗄 Deprecated
- Nothing, it's a breaking change so things just got removed.
✂ Removed
- Apple products are no longer officially supported. They may work fine anyway, and I'll accept PR's for them, but handlin it all myself is too large an investment of time and energy. Sorry. :-( this commit
- The foreground and background colors and associated functions have beeen removed; all colors are now specified purely where they are used for drawing.
- Removed deprecated
BoundSpriteBatch
type. - Removed
Context::print_resource_stats()
in favor offilesystem::print_all()
. - Removed
graphics::rectangle()
and friends in favor of just building and drawing the meshes explicitly. Shortcut functions for this have been added toMesh
. #466 - Removed
TTFFont
font type in favor ofGlyphBrush
. #132 - Removed
Context::from_conf()
forContextBuilder
which is strictly more powerful. #429 - Removed bitmap fonts; better support deserves to exist than what ggez currently provides, and there's no reason it can't be its own crate.
- Removed the
cargo-resource-root
feature flag; just usefilesystem::mount()
instead or add the directories to yourContextBuilder
.
🛠 Fixed
- Minor things beyond counting. Don't worry, we added plenty of new bugs too.
Broken
- Does not work on Windows 7 or below, again due to
gilrs
. #588