Releases: amethyst/amethyst
Amethyst 0.15.3
0.15.3 is the new 0.15.2
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!
Amethyst 0.15.2
Note
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.
Changed
- Internal CI improvements
- Recommend
cargo new pong
instead of deprecatedamethyst new pong
in the book tutorial (#2448)
Fixed
- Fix
Camera::screen_ray
bug introduced in 0.15.1 (#2447)
Amethyst 0.15.1
Note
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.
Added
- New
optional_graphics
example demonstrating running an app with and without graphics (#2282) - Return a standalone
Dispatcher
fromGameDataBuilder::build_dispatcher
instead of usingDataInit
to build aGameData
(#2294) - Added User Interface chapter to The Book (#2311, #2346, #2347, #2368, #2373)
- Support text alignment in
UiButton
andUiLabel
(#2316) - You can now bind multiple inputs to a single axis via
Axis::Multiple
(#2341) - Support layer to be set in
UiLabelBuilder
(#2358) - Support line mode to be set in
UiLabelBuilder
andUiButtonBuilder
(#2358) GltfPrefab
now also imports lights from a glTF source (#2362)- Added Tiles chapter to The Book (#2391)
- Added
SpriteRender::new
for cleaner instantiation (#2395, #2419) amethyst_ui::UiButtonActionRetrigger
now derivesDefault
andClone
. (#2388)
Changed
- Removed far plane from perspective projection (#2118)
- Experimented with CI solutions, selected GitHub Actions. Fixed bors & stalebot. (#2262, #2380, #2382, #2410, #2413, #2414, #2415)
amethyst_rendy::shape::Shape::upload
takes&ShapeUpload
. (#2264)- Updated examples, with special attention to the pong example. Improved readmes, updated screenshots, colocated assets with example code (#2248, #2289, #2305, #2201, #2310, #2312, #2349, #2384, [#2396], #2422)
UiText
now requires 2 more argumentsline_mode
andalign
(#2358)- Updated the style of The Book (#2355)
Fixed
- Fix tile example's
MapMovementSystem
to look for the correct components (#2209) - Fix issue where all
TileMap
s were rendered with the same transformation. (#2210) - Fix the bind method for
DynamicVertexBuffer::<B,u32>
(#2221) - Fix examples which would not run due to incorrect system order. (#2213, #2223, #2239, #2243, #2267)
- Fix Texture asset debugging representation (#2231)
- Fix fixed updates being tied to time_scale (#2255)
- Fix incorrect assets being used when asset handles get reused (#2258)
- Fix bug causing only one TileMap to be rendered (#2296)
- Fix
UiButtonBuilder
so buttons it builds get rendered (#2299) - Fix
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) - Fix text alignment in
UiText
(#2316, #2358) - Fix release build path resolution on Windows (#2337)
- Fix textures sometimes showing up incorrectly or not at all. (#2339)
Amethyst 0.15.0
Added
- Support settings module log levels from a RON file. (#2115)
- Export the
get_parent_pixel_size
functions from the ui module. ([#2128) - Export the
pixel_width
andpixel_height
methods on theUiTransform
. ([#2128) - Support UiEvents targeting multiple overlapping entities. (#2138)
"storage-event-control"
feature enables thespecs
"storage-event-control"
feature. (#2152)
Changed
- Re-export
TargetedEvent
fromamethyst_ui
. (#2114) amethyst::ui::Anchor
is nowCopy
. (#2148)amethyst::ui::LineMode
is nowCopy
. (#2148)UiButtonBuilder::build
takes in&mut UiButtonBuilderResources
. (#2148)- Breaking:
UiBundle
depends onInputBundle
being registered with the dispatcher first. (#2151) - Re-export
UiImageLoadPrefab
fromamethyst_ui
. (#2169, #2181) - Don't remove
HiddenPropagate
components set by users manually. (#2155)
Removed
"nightly"
feature is removed, missing resource panic message includes type name on stable. (#2136)
Fixed
- Fixed an issue with
states_ui
example loading items incorrectly. (#2117) - Editable text fields now correctly highlight strings containing spaces. (#2108, #2143)
- Caret for editable text box is drawn in correct position. (#2146, #2149)
- Caret for editable text box is positioned correctly on first click. (#2151)
- Editable text is correctly blurred / unfocused when clicking outside its bounds. (#2091, #2151)
amethyst_test
crate features now map 1-1 toamethyst
features. (#2153)
Release 0.14.0
Added
- Implement
Debug
forProgressCounter
andProgressCounterTracker
. (#1973) - Added a custom render pass Example. (#1904)
- Add an entry for
examples/tiles
to the examples readme. (#1978) - Added UI states/menu example. #1986
- Allow user to specify custom completion function in
amethyst_test::WaitForLoad
. (#1984) - Log warning when
amethyst_test::WaitForLoad
has not completed in 10 seconds. (#1984) - Derive
Copy
andPartialEq
foramethyst::renderer::resources::Tint
. (#2033) - Derive
Hash
foramethyst::input::{Button, ControllerButton, ScrollDirection}
. (#2041) - Added Trans::Replace, Trans::NewStack, and Trans::Sequence to the State Machine Transitions. (#2067,#2071)
- Add rendy/gfx-backend log verbosity through configuration. (#1652) (#2048)
- Add
Draggable
component that can be used withUiTransform
to make widgets draggable. (#2080)
Changed
- Use a premultiplied view_proj matrix in vertex shaders. (#1964)
- amethyst_network completely rewritten to provide a new baseline with which to build. ([#1917])
- Cleaned up tiles example. Added rotation and translation tests, fixed raycast debug box. Added default zoom to PROJECT
perspective projection since no one knew to zoom out. (#1974) - TileMaps to_tile and to_world now take an Option<&Transform> that allows them to work if the entire map in
translated. (#1987,#1991) AmethystApplication::with_fn
constraint relaxed fromFn
toFnOnce
. (#1983)- ScreenDimensions now consistently reports window size in physical pixels. ([#1988])
Config::load
now returns an error or failure rather than silently falling back to the default config. Same is true for thefrom_config_file
methods onRenderToWindow
,WindowBundle
, andWindowSystem
(#1989)- Adds
get
methods to the underlying net::transport resources (#2005) - Changed
SpriteSheetFormat::import_simple
to allow importing grid basedSpriteSheets
(#2023)
Migration Note: Rons need to wrap their content in either Grid() or List() - TileMap to_tile doesn't panic in debug mode. It instead return Result<Point,TileOutOfBounds>. (#2020,#2070)
- Added new Error options for
NetworkSimulationEvent
. - Changed amethyst config directory from
$HOME/.amethyst
to$HOME/.config/amethyst
(#2079) - Changed
world_to_screen
camera transformation to match inverse of the one inscreen_ray
(#2057) amethyst_input::Axis::Mouse
now only has a single radius value. One of the two values was guaranteed to be unused. (#2099)
Deprecated
Config::load_no_fallback
, useConfig::load
instead (#1989)
Fixed
- Tilemap rotation was incorrect and not transposed. Fixed and uses component rotation. (#1974)
Config
types no longer require aDefault
impl (#1989)- Fixed Incorrect path for sprite_camera_follow example (#2004)
- Run
System::setup
for pausable systems' delegate. (#2029) - Fixed an incorrect dimensions being used in Tile Encoders, causing bad lookups in assymetric maps in any Z-level besides 0 (#2017)
- Fix encoders dimensional cases and optimize storage space (#2059)
- Fixed off by one issue in to_tile function (#2103)
- Fix dragging UI widgets that have ScaleMode::Percent (#2111)
Release 0.13.2
This release simply fixes a yanked dependency in the amethyst-locale crate.
Fixed
- Fix fluent and unic-langid alignment (#1966)
Release 0.13.1
This release fixes some bugs in amethyst_locale
and amethyst_tiles
.
Added
FlatEncoder
added to amethyst_tiles for flat linear encoding which is optimized for space. (#1950)
Changed
- Updated
syn
,quote
, andproc-macro2
to1.0
. (#1952)
Fixed
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)- Add missing re-export for HideHierarchySystemDesc (#1945)
TileArgs
POD had incorrect format fortile_coordinate
argument, caused a crash on metal backend. (#1957)
Release 0.13.0
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! 🎉
Major breaking changes
- Systems needing initialization with world resources must go through a
SystemDesc
intermediate builder. (#1780)
Added
- 'amethyst_tiles' crate added supporting 2d and 3d tile map rendering with sprites. (#1820)
SystemDesc
proc macro derive to simplify definingSystemDesc
s. (#1780)UiButtonData
is now exported fromamethyst_ui
and can be used for custom widgets. (#1859)- Add an audio subchapter to the pong chapter. (#1842)
- Add
DispatcherOperation
to store dispatcher build logic, which can be executed lazily. (#1870) AmethystApplication
takes inSystemDesc
s throughwith_system_desc
. (#1882)AmethystApplication::with_thread_local_desc
takes inRunNowDesc
. (#1882)- Add
NineSlice
support toUiImage
. (#1896) RenderingBundle
for full manual control of the rendering pipeline via a customGraphCreator
. (#1839)CameraOrtho::new
takes inCameraOrthoWorldCoordinates
, which can be set to custom dimensions. (#1916)Camera::screen_ray
method added, returning an appropriateRay
structure (#1918).amethyst_test
:InMemorySource
andWaitForLoad
helpers (#1933).- Animations are available with
UiTransform
s. ([#1935])
Changed
- All
-Builder
structs in amethyst_ui/prefab.rs are now called-Data
. (#1859) AmethystApplication
takes in aSystem
instead of a closure forwith_system
. (#1882)AmethystApplication::with_thread_local
constraint relaxed toRunNow
(previouslySystem
). (#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)- Use
SystemDesc
derive to generateSystemDesc
implementations for common case systems. (#1887) DispatcherOperation
stores system name and dependencies asString
s. (#1891)TextureProcessor
renamed toTextureProcessorSystem
. (#1839)MeshProcessor
renamed toMeshProcessorSystem
. (#1839)AmethystApplication::with_setup
now takes inFnOnce(&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
renamedCamera::screen_to_world_point
and its API has changed to a Point3 (#1918).
Fixed
RenderingBundle
is registered last in all examples. (#1881)
Release 0.12.0
New release! 🎉
Breaking changes
Float
newtype removed, moved back tof32
primitive for all values (#1747)TextureProcessor
andMeshProcessor
systems are now separated fromRenderingSystem
(#1772)
Added
- Add a feature flag
sentry
to disable the sentry dependency. (#1804) (#1825) - Fixes and renames regression from ([#1442]) added back
position_from_world
asscreen_to_world
. Also added
world_to_screen
. Also addsTransform::copy_local_to_global()' for
debug_assertion` builds (#1733) - Add
add_rectangle
,add_rotated_rectangle
,add_box
,add_rotated_box
,add_circle
,add_rotated_circle
,
add_cylinder
,add_rotated_cylinder
andadd_sphere
functions toDebugLinesComponent
and the corresponding draw functions toDebugLines
, 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)- Added
RenderingBundle
with a rendering plugin system, making rendering setup easier (#1772) - Documentation for
Tint
component. (#1802)
Changed
- Splitted the
/resources
directory of amethyst projects into/assets
and/config
. ([#1806]) - Rename FPSCounter, FPSCounterBundle, FPSCounterSystem to FpsCounter, FpsCounterBundle, FpsCounterSystem. (#1719)
- Add Tint component support for sprites. (#1756)
- Remove remaining <N: RealField> type parameter on GameDataBuilder, add Debug derive to LoggerConfig (#1758)
- Inverted mouse wheel scroll direction event. Now using winit's standard. (#1767)
- Add
load_from_data_async
to Asset Loader. (#1753) - Add
SerializableFormat
marker trait which is now needed to be implemented for all the formats that are supposed to be serialized. (#1720) - Make the GltfSceneOptions field of GltfSceneFormat public. (#1791)
- Updated fluent to version 0.6. (#1800)
InputEvent<T>
now takes in theBindingTypes
as a type parameter. (#1797) - Use
crossbeam-queue
crate directly. (#1822)
Fixed
Release 0.11.1
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.