This repository has been archived by the owner on Apr 18, 2022. It is now read-only.
Releases: amethyst/amethyst
Releases · amethyst/amethyst
Release 0.11.0
Added
- Introduce
application_dir
utility (#1213) - Derive
Copy
,PartialEq
,Eq
,Serialize
,Deserialize
forFlipped
component. (#1237) - A way to change the default
Source
usingset_default_source
andwith_default_source
. (#1256) - "How To" guides for using assets and defining custom assets. (#1251)
- Explanation on how prefabs function in Amethyst. (#1114)
amethyst_renderer::Rgba
is now aComponent
that changes the color and transparency of the entity
it is attached to. (#1282)AutoFov
andAutoFovSystem
to adjust horizontal FOV to screen aspect ratio. (#1281)- Add
icon
toDisplayConfig
to set a window icon using a path to a file (#1373) - Added setting to control gfx_device_gl logging level separately, and set it to Warn by default. (#1404)
- Add
loaded_icon
toDisplayConfig
to set a window icon programatically (#1405) - Added optional feature gates which will reduce compilation times when used. (#1412)
- Several passes got
with_transparency_settings
which changes the transparency settings for the pass. (#1419) - Add
SpriteRenderPrefab
. (#1435) - Add
ScreenSpace
component. Draws entities using the screen coordinates. (#1424) - Add
add_removal_to_entity
function. ([#1445]) - Add
position_from_screen
toCamera
. Transforms position from screen space to camera space. ([#1442]) - Add
SpriteScenePrefab
. Allows load sprites from a grid and add them to theSpriteRenderer
. ([#1469]) - Add
Widgets
resource. Allows keeping track of UI entities and their components and iterating over them. (#1390) AmethystApplication
takes in application name usingwith_app_name(..)
. ([#1499])- Add
NetEvent::Reliable
variant. When added to NetConnection, these events will eventually reach the target. ([#1513]) - "How To" guides for defining state-specific dispatchers. ([#1498])
- Adding support for AMETHYST_NUM_THREADS environment variable to control size of the threads pool used by thread_pool_builder.
- Add
Input
variant toStateEvent
. ([#1478]) - Support type parameters in
EventReader
derive. ([#1478]) - Derive
Debug
,PartialEq
,Eq
forSource
. ([#1591]) - Added
events
example which demonstrates working even reader and writer in action. ([#1538]) - Implement builder like functionality for
AnimationSet
andAnimationControlSet
([#1568]) - Add
get_mouse_button
andis_mouse_button_down
utility functions to amethyst_input. ([#1582]) - Add
amethyst_input::Axis::MouseWheel
([#1642]) - Add
amethyst_input::BindingError::MouseWheelAlreadyBound
([#1642]) - Add
amethyst_input::InputHandler::send_frame_begin
([#1642]) - Add
amethyst_input::InputHandler::mouse_wheel_value
([#1642]) - Added
Float::from_f32
andFloat::from_f64
const fn
s soFloat
can be used asconst
. ([#1687]) - Add
debug_lines_ortho
example. ([#1703])
Changed
#[derive(PrefabData)]
now supports enums as well as structs- Make
frame_limiter::do_sleep
calculate the amount of time to sleep instead of callingsleep(0)
([#1446]) - Make
application_root_dir
return aResult<Path>
instead of aString
(#1213) - Remove unnecessary texture coordinates offset in
Sprite::from_pixel_values
(#1267) - Changed
ActiveCamera
to have theOption
inside. (#1280) AudioBundle::new()
no longer exists, asAudioBundle
is now a unit type. It also no longer initializes theDjSystem
(#1356)- Convert everything to use err-derive and amethyst_error (#1365)
- Removed redundant code in
renderer.rs
(#1375) - Refactored audio initialization to be more bundle-centric (#1388)
- Changed argument types of
exec_removal
to allow use of both Read and Write Storages. (#1397) - Changed default log level to Info. (#1404)
- Remove unnecessary
mut
fromAnimationControlSet::has_animation
(#1408) - Moved amethyst_gltf from development workspace to be like the other amethyst_* subcrates. (#1411)
- Re-exported amethyst_gltf by amethyst as amethyst::gltf. (#1411)
Default::default
now returns a pass with transparency enabled for all applicable passes. (#1419)- Several passes had a function named
with_transparency
changed to accept a boolean. (#1419) FrameRateLimitConfig
has anew
constructor, and its fields are made public. (#1436)- Derive
Deserialize, Serialize
forMaterialPrimitive
andSpriteRenderPrimitive
, remove
extra bounds fromAnimatablePrefab
andAnimationSetPrefab
(#1435) - Renamed
amethyst_core::specs
toamethyst_core::ecs
andamethyst_core::nalgebra
toamethyst_core::math
. (#1410) - Simplified some of the conditionals in the Pong tutorial. ([#1439])
- Changed the names of many Transform functions to better reflect their actual function and reduce potential semantic confusion ([#1451])
ProgressCounter#num_loading()
no longer includes failed assets. ([#1452])SpriteSheetFormat
field renamed fromspritesheet_*
totexture_*
. ([#1469])- Add new
keep_aspect_ratio
field toStretch::XY
. ([#1480]) - Renamed
Text
UI Prefab toLabel
in preparation for full widget integration in prefabs. (#1390) amethyst_test
includes the application name of a failing test. ([#1499])amethyst_test
returns the panic message of a failed execution. ([#1499])- Rename
NetEvent::Custom
variant toNetEvent::Unreliable
. ([#1513]) - Updated laminar to 0.2.0. ([#1502])
- Large binary files in examples are now tracked with
git-lfs
. ([#1509]) - Allowed the user to arrange with laminar. ([#1523])
- Removed
NetEvent::Custom
and addedNetEvent::Packet(NetPacket)
([#1523]) - Fixed update is no longer frame rate dependent ([#1516])
- Display the syntax error when failing to parse sprite sheets ([#1526])
- Added generic parameter type to
Transform
to configure floating point precision (then removed). (#1334) ([#1584]) NetConnection
is automatically created when client starts sends data to server. ([#1539])- User will receive
NetEvent::Connected
on new connection andNetEvent::Disconnected
on disconnect. ([#1539]) - Added a
pivot
field toUiTransform
. ([#1571]) - Fix fly_camera example initial camera and cube position. ([#1582])
- Add to fly_camera example code to release and capture back mouse input, and to show and hide cursor. ([#1582])
- Updated
rodio
to0.9
. ([#1683])
Rendy support
- Brand new way to define rendering pipelines.
- OpenGL support temporarily dropped, Vulkan and Metal support added.
- Normalized texel coordinates are now in Vulkan convention (top-left 0.0, bottom-right 1.0), mirrored vertically compared to old one.
- World space is now Y-up consistently for all projections (2D and 3D).
Format
type no longer has associatedOptions
and is now object-safe. It is expected to carry required options itself.Format
now supports tag-based deserialization, it is no longer required to provide specific format to prefab type.- Combined input axis/action generics into single type.
Material
is now an asset. Must be turned into handle before putting on an entity.- Removed
Flipped
component. Useflip_horizontal
andflip_vertical
sprite property instead. - Added Rendy migration guide. ([#1626])
Removed
- Removed all
NetEvent's
because they were not used. ([#1539]) - Removed filter logic, because it didn't do anything, will be added back in a later version (NetFilter, FilterConnected). ([#1539])
Fixed
- Optimize loading of wavefront obj mesh assets by getting rid of unnecessary allocations. ([#1454])
- Fixed the "json" feature for amethyst_assets. (#1302)
- Fixed default system font loading to accept uppercase extension ("TTF"). (#1328)
- Set width and height of Pong Paddles (#1363)
- Fix omission in
PosNormTangTex
documentation. (#1371) - Fix division by zero in vertex data building ([#1481])
- Fix tuple index generation on
PrefabData
andEventReader
proc macros. ([#1501]) - Avoid segmentation fault on Windows when using
AudioBundle
inamethyst_test
. ([#1595], [#1599])
Release 0.10.0
Added
- Derive PrefabData for CameraOrtho component (#1188)
- Partially migrate the project to Rust 2018. Full migration will be completed at some point after 2019-01-31 (#1098)
SystemExt::pausable
for better ergonomics when pausing systems for specific states (#1146).amethyst_test
test framework for ergonomic testing of Amethyst applications (#1000)- combinations of buttons triggering actions (#1043)
UiPrefab
fieldhidden: bool
to hide entities (#1051)PrefabData
can now be derived for many situations, see the book for more information (#1035)- Support for DirectionalLight and SpotLight in PBM pass. (#1074, #1081)
UiWidget
variantCustom
for custom composited widgets (#1112)AssetLoaderSystemData
abstracts resources needed fromWorld
to do asset loading (#1090)amethyst_ui::get_default_font
supports loading system font from Path. (#1108)- Added
Callback
andCallbackQueue
for use in asynchronous contexts. (#1125) - Added Trans event queue. Used to trigger state transitions from systems. Also used to trigger multiple state transitions at once. (For example, to
Trans::Pop
two states.) (#1069) sprite_camera_follow
example showing how to use a Camera that has a sprite Parent (#1099)- Added capabilities for the
DrawFlat2D
pass to drawTextureHandle
s by themselves. Also added a simple example for this. (#1153) - Added a
Flipped
component which allows flipping sprites or images horizontally and vertically. (#1153) - Added transform constructor function
Transform::new()
. (#1187)
Changed
- Minimum Rust version is now
1.31.0
– Rust 2018. (#1224) Transform::look_at
renamed toTransform::face_towards
and behavior fixed. (#1142)Material
animations now directly useHandle<Texture>
instead of using indirection. (#1089)SpriteRenderPrimitive::SpriteSheet
now takesHandle<SpriteSheet>
instead of au64
ID. (#1089)nalgebra
is now the math library used by the engine. (#1066)- The
amethyst::renderer::Projection::orthographic
function has had its parameter order changed to match that ofnalgebra
(#1066) SpriteSheet
now useTextureHandle
directly instead of au64
ID coupled withMaterialTextureSet
. (#1117)- Updated
specs
to0.14
andspecs-hierarchy
to0.3
. (#1122) - Updated
winit
to0.18
(see Winit's changelog). (#1131) - Updated
glutin
to0.19
(see Glutin's changelog). (#1131) - Renamed the
DrawSprite
pass toDrawFlat2D
as it now handles both sprites and images without spritesheets. (#1153) BasicScenePrefab
deserialization now returns an error on invalid fields. (#1164)- Reordered arguments for
Transform::set_rotation_euler
to match nalgebra's Euler angles. (#1052) - Remove lifetimes from
SimpleState
(#1198)
Removed
SpriteSheetSet
is removed as it is no longer needed. (#1089)MaterialTextureSet
is removed as it is no longer needed. (#1117)amethyst::core::Orientation
has been removed because of limited use. (#1066)TimedDestroySystem
has been split intoDestroyAtTimeSystem
andDestroyInTimeSystem
. (#1129)- Reverted [MacOS OpenGL workaround][#972] in favor of the upstream fix in
glutin
. (#1184)
Fixed
SpriteSheetFormat
converts pixel coordinates to texture coordinates on load. (#1181)
Release 0.9.0
Welcome to a new Amethyst edition!
See all the changes of this version here: https://www.amethyst.rs/blog/release-0-9/
Release 0.8.0
Huge update.
See all changes here: https://www.amethyst.rs/blog/release-0-8/
The source code is available in the release-0.8 branch, as well as on the master branch for a limited time (until 0.9).
Release 0.7.0
[0.7.0] - 2018-05
Added
- Documentation for Animation crate (#631).
- Support for rendering sprites (#638).
- Fly Camera (#578).
- UI Layouts (#591).
- UI Events (#580).
- Introduce a generic animation system, with support for both transform and texture animation (#558), (#566), (#567), (#569), (#570), (#611), (#641), (#644)
- Add transparency support to core passes (#543), (#574), (#584)
- Add vertex skinning (#545), (#619)
- Expose a basic visibility ordering system, with the ability to swap in better replacement systems (#595)
- Audio
Output
is now added directly rather than as anOption
, should now be fetched withOption<Read<'a, Output>>
(#679) - New nightly feature that enables
shred
s nightly feature (#689) Transform
refactored, and added lots of utility functions (#660)- Add new raw mouse events for use with camera rotation (#699)
- Add UiButtons and UiButtonBuilder (#613)
- Add arc ball camera (#700)
Changed
- Update dependencies to the newest versions: cgmath, winit, glutin, gfx, gfx_glyph (#527), (#572), (#648)
- Rodio updated to 0.7 (#676)
- Refactored bundles to only contain
System
s (#675) - Refactor to use new specs, major breakage! (#674), (#679), (#683), (#662).
- Upgrade to winit 1.13.1 (#698)
- Refactor game data, permit greater extensibility (#691)
- Disable multisampling on all examples, and add a single example with multisampling on (#671)
Fixed
v0.6.0
Release 0.5.1
- Update documentation in crate root
- Fix syntax highlighting in documentation.
Release 0.5.0
Release 0.4.3
Added
- Add mouse button events to
InputHandler
(pull request #181). - Built-in application profiler using
thread_profiler
(pull request
#212). - Screenshots for all in-repo examples (pull request #213).
- Pre-commit hook to automate local testing for commits (pull request #228).
Changed
Fixed
- Fix deferred rendering in renderable example (pull request #211).
- Fix AppVeyor curl command (pull request #217).
- Ignore IntelliJ IDEA project files (pull request #218).
- Fix
InputHandler
key press bug (pull request #227). - Fix CRLF normalization on extensionless files (pull request #207).
- Update code to latest template (pull request #215).
Release 0.4.2
Added
- Allow loading configuration files directly from strings.
- Add
#[derive(Default)]
for some types in ECS module. - Add Ilya Bogdanov, Konstantin Zverev, and Scott Corbeil to
AUTHORS.md
.
Changed
- Implement some clippy suggestions.
- Use
FnvHasher
instead of Rust's default SipHash implementation for better
performance.
Fixed
- Correct the quick example given in
README.md
. - Replace constant paddle width with actual value in Pong example.
- Minor fix of line numbers in link in
CONTRIBUTING.md
. - Add backticks around word in doc comment within
input.rs
. - Match
Stopwatch
behavior to API documentation. - Fix AppVeyor build failures due to
timing.rs
test failure.