Data-oriented and data-driven game engine written in Rust
0.15.2 was published off the wrong commit. As fate would have it, the commit wasn't just trivially wrong, like a typo in a changelog...it was flat out broken. 🤦♂️ As we don't want any accidental use of it, 0.15.2 has been yanked from crates.io.
0.15.3 is the new 0.15.2 that actually works. Enjoy!
Please note that after the 0.15.x series Amethyst will switch from specs to legion for the ECS subsystem. This will be a significant breaking change.
cargo new pong
instead of deprecated amethyst new pong
in the book tutorial (#2448)Camera::screen_ray
bug introduced in 0.15.1 (#2447)Please note that after the 0.15.x series Amethyst will switch from specs
to legion
for the ECS subsystem. This will be a significant breaking change.
optional_graphics
example demonstrating running an app with and without graphics (#2282)Dispatcher
from GameDataBuilder::build_dispatcher
instead of using DataInit
to build a GameData
(#2294)UiButton
and UiLabel
(#2316)Axis::Multiple
(#2341)UiLabelBuilder
(#2358)UiLabelBuilder
and UiButtonBuilder
(#2358)GltfPrefab
now also imports lights from a glTF source (#2362)SpriteRender::new
for cleaner instantiation (#2395, #2419)amethyst_ui::UiButtonActionRetrigger
now derives Default
and Clone
. (#2388)amethyst_rendy::shape::Shape::upload
takes &ShapeUpload
. (#2264)UiText
now requires 2 more arguments line_mode
and align
(#2358)MapMovementSystem
to look for the correct components (#2209)TileMap
s were rendered with the same transformation. (#2210)DynamicVertexBuffer::<B,u32>
(#2221)UiButtonBuilder
so buttons it builds get rendered (#2299)Tint
so its color is converted from sRGBA to linear RGBA so shader color is correct. Also update various documentation regarding linear RGBA (#2314, #2398)UiText
(#2316, #2358)get_parent_pixel_size
functions from the ui module. ([#2128)pixel_width
and pixel_height
methods on the UiTransform
. ([#2128)"storage-event-control"
feature enables the specs
"storage-event-control"
feature. (#2152)TargetedEvent
from amethyst_ui
. (#2114)amethyst::ui::Anchor
is now Copy
. (#2148)amethyst::ui::LineMode
is now Copy
. (#2148)UiButtonBuilder::build
takes in &mut UiButtonBuilderResources
. (#2148)UiBundle
depends on InputBundle
being registered with the dispatcher first. (#2151)UiImageLoadPrefab
from amethyst_ui
. (#2169, #2181)HiddenPropagate
components set by users manually. (#2155)"nightly"
feature is removed, missing resource panic message includes type name on stable. (#2136)states_ui
example loading items incorrectly. (#2117)amethyst_test
crate features now map 1-1 to amethyst
features. (#2153)Debug
for ProgressCounter
and ProgressCounterTracker
. (#1973)examples/tiles
to the examples readme. (#1978)amethyst_test::WaitForLoad
. (#1984)amethyst_test::WaitForLoad
has not completed in 10 seconds. (#1984)Copy
and PartialEq
for amethyst::renderer::resources::Tint
. (#2033)Hash
for amethyst::input::{Button, ControllerButton, ScrollDirection}
. (#2041)Draggable
component that can be used with UiTransform
to make widgets draggable. (#2080)AmethystApplication::with_fn
constraint relaxed from Fn
to FnOnce
. (#1983)Config::load
now returns an error or failure rather than silently falling back to the default config. Same is true for the from_config_file
methods on RenderToWindow
, WindowBundle
, and WindowSystem
(#1989)get
methods to the underlying net::transport resources (#2005)SpriteSheetFormat::import_simple
to allow importing grid based SpriteSheets
(#2023)
Migration Note: Rons need to wrap their content in either Grid() or List()NetworkSimulationEvent
.$HOME/.amethyst
to $HOME/.config/amethyst
(#2079)world_to_screen
camera transformation to match inverse of the one in screen_ray
(#2057)amethyst_input::Axis::Mouse
now only has a single radius value. One of the two values was guaranteed to be unused. (#2099)Config::load_no_fallback
, use Config::load
instead (#1989)Config
types no longer require a Default
impl (#1989)System::setup
for pausable systems' delegate. (#2029)This release simply fixes a yanked dependency in the amethyst-locale crate.
This release fixes some bugs in amethyst_locale
and amethyst_tiles
.
FlatEncoder
added to amethyst_tiles for flat linear encoding which is optimized for space. (#1950)syn
, quote
, and proc-macro2
to 1.0
. (#1952)TileMap
was not allocating enough space for to compensate for morton encoding alignment. This means that
all tilemap allocation must occur on 2^n boundary aligned on all axis (or x-y axis for Morton2D) (#1950)TileArgs
POD had incorrect format for tile_coordinate
argument, caused a crash on metal backend. (#1957)This release, on top of the changes below, adds the amethyst_tiles
crate, which provides utilities that makes handling and drawing stuff in tiles a lot easier! 🎉
SystemDesc
intermediate builder. (#1780)SystemDesc
proc macro derive to simplify defining SystemDesc
s. (#1780)UiButtonData
is now exported from amethyst_ui
and can be used for custom widgets. (#1859)DispatcherOperation
to store dispatcher build logic, which can be executed lazily. (#1870)AmethystApplication
takes in SystemDesc
s through with_system_desc
. (#1882)AmethystApplication::with_thread_local_desc
takes in RunNowDesc
. (#1882)NineSlice
support to UiImage
. (#1896)RenderingBundle
for full manual control of the rendering pipeline via a custom GraphCreator
. (#1839)CameraOrtho::new
takes in CameraOrthoWorldCoordinates
, which can be set to custom dimensions. (#1916)Camera::screen_ray
method added, returning an appropriate Ray
structure (#1918).amethyst_test
: InMemorySource
and WaitForLoad
helpers (#1933).UiTransform
s. ([#1935])-Builder
structs in amethyst_ui/prefab.rs are now called -Data
. (#1859)AmethystApplication
takes in a System
instead of a closure for with_system
. (#1882)AmethystApplication::with_thread_local
constraint relaxed to RunNow
(previously System
). (#1882)SystemDesc
proc macro supports #[system_desc(event_reader_id)]
to register event reader. (#1883)SystemDesc
proc macro supports #[system_desc(flagged_storage_reader(Component))]
. (#1886)SystemDesc
derive to generate SystemDesc
implementations for common case systems. (#1887)DispatcherOperation
stores system name and dependencies as String
s. (#1891)TextureProcessor
renamed to TextureProcessorSystem
. (#1839)MeshProcessor
renamed to MeshProcessorSystem
. (#1839)AmethystApplication::with_setup
now takes in FnOnce(&mut World) + Send + 'static
. (#1912)AmethystApplication::with_setup
runs the function before the dispatcher. (#1912)UiImage:PartialTexture
& UiImage:Sprite
texture coordinates are correct. Clarified types. (#1906,#1919)Camera::screen_to_world
renamed Camera::screen_to_world_point
and its API has changed to a Point3 (#1918).RenderingBundle
is registered last in all examples. (#1881)New release! :tada:
Float
newtype removed, moved back to f32
primitive for all values (#1747)TextureProcessor
and MeshProcessor
systems are now separated from RenderingSystem
(#1772)sentry
to disable the sentry dependency. (#1804) (#1825)position_from_world
as screen_to_world
. Also added
world_to_screen
. Also adds Transform::copy_local_to_global()' for
debug_assertion` builds (#1733)add_rectangle
, add_rotated_rectangle
, add_box
, add_rotated_box
, add_circle
, add_rotated_circle
,
add_cylinder
, add_rotated_cylinder
and add_sphere
functions to DebugLinesComponent
and the corresponding draw functions to DebugLines
, to draw simple shapes with debug lines. (#1766)InputEvent::AxisMoved
is sent upon button press / release. (#1512, #1797)UiImage
is updated to allow for partial textures and sprites. (#1809,#1811)RenderingBundle
with a rendering plugin system, making rendering setup easier (#1772)Tint
component. (#1802)/resources
directory of amethyst projects into /assets
and /config
. ([#1806])load_from_data_async
to Asset Loader. (#1753)SerializableFormat
marker trait which is now needed to be implemented for all the formats that are supposed to be serialized. (#1720)InputEvent<T>
now takes in the BindingTypes
as a type parameter. (#1797)crossbeam-queue
crate directly. (#1822)This release does not come with any API changes or additions, it only contains documentation fixes and a fix to make docs.rs build amethyst
again.