Skip to content

@distransient distransient released this Oct 5, 2019 · 115 commits to master since this release

This release simply fixes a yanked dependency in the amethyst-locale crate.

Fixed

  • Fix fluent and unic-langid alignment (#1966)
Assets 2

@distransient distransient released this Oct 4, 2019 · 121 commits to master since this release

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, and proc-macro2 to 1.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 for tile_coordinate argument, caused a crash on metal backend. (#1957)
Assets 2

@distransient distransient released this Sep 26, 2019 · 149 commits to master since this release

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 defining SystemDescs. (#1780)
  • UiButtonData is now exported from amethyst_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 in SystemDescs through with_system_desc. (#1882)
  • AmethystApplication::with_thread_local_desc takes in RunNowDesc. (#1882)
  • Add 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).
  • Animations are available with UiTransforms. ([#1935])

Changed

  • All -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)
  • Use SystemDesc derive to generate SystemDesc implementations for common case systems. (#1887)
  • DispatcherOperation stores system name and dependencies as Strings. (#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).

Fixed

  • RenderingBundle is registered last in all examples. (#1881)
Assets 2

@jojolepro jojolepro released this Jul 30, 2019 · 402 commits to master since this release

New release! 🎉

Breaking changes

  • Float newtype removed, moved back to f32 primitive for all values (#1747)
  • TextureProcessor and MeshProcessor systems are now separated from RenderingSystem (#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 as screen_to_world. Also added
    world_to_screen. Also adds Transform::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 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)
  • 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 the BindingTypes as a type parameter. (#1797)
  • Use crossbeam-queue crate directly. (#1822)

Fixed

  • Fix stack overflow on serializing Box<dyn Format<_>>. (#1720)
  • Fix the steps for enabling the nightly flag in the pong tutorial. (#1805)
  • Fix animation unwrap on missing animated component. (#1773)
  • Fix tangent generation in procedural shapes. (#1807)
Assets 2

@torkleyy torkleyy released this Jun 22, 2019 · 686 commits to master since this release

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.

Assets 2

@torkleyy torkleyy released this Jun 16, 2019 · 686 commits to master since this release

Added

  • Introduce application_dir utility (#1213)
  • Derive Copy, PartialEq, Eq, Serialize, Deserialize for Flipped component. (#1237)
  • A way to change the default Source using set_default_source and with_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 a Component that changes the color and transparency of the entity
    it is attached to. (#1282)
  • AutoFov and AutoFovSystem to adjust horizontal FOV to screen aspect ratio. (#1281)
  • Add icon to DisplayConfig 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 to DisplayConfig 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 to Camera. Transforms position from screen space to camera space. (#1442)
  • Add SpriteScenePrefab. Allows load sprites from a grid and add them to the SpriteRenderer. (#1469)
  • Add Widgets resource. Allows keeping track of UI entities and their components and iterating over them. (#1390)
  • AmethystApplication takes in application name using with_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 to StateEvent. (#1478)
  • Support type parameters in EventReader derive. (#1478)
  • Derive Debug, PartialEq, Eq for Source. (#1591)
  • Added events example which demonstrates working even reader and writer in action. (#1538)
  • Implement builder like functionality for AnimationSet and AnimationControlSet (#1568)
  • Add get_mouse_button and is_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 and Float::from_f64 const fns so Float can be used as const. (#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 calling sleep(0) (#1446)
  • Make application_root_dir return a Result<Path> instead of a String (#1213)
  • Remove unnecessary texture coordinates offset in Sprite::from_pixel_values (#1267)
  • Changed ActiveCamera to have the Option inside. (#1280)
  • AudioBundle::new() no longer exists, as AudioBundle is now a unit type. It also no longer initializes the DjSystem (#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 from AnimationControlSet::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 a new constructor, and its fields are made public. (#1436)
  • Derive Deserialize, Serialize for MaterialPrimitive and SpriteRenderPrimitive, remove
    extra bounds from AnimatablePrefab and AnimationSetPrefab (#1435)
  • Renamed amethyst_core::specs to amethyst_core::ecs and amethyst_core::nalgebra to amethyst_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 from spritesheet_* to texture_*. (#1469)
  • Add new keep_aspect_ratio field to Stretch::XY. (#1480)
  • Renamed Text UI Prefab to Label 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 to NetEvent::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 added NetEvent::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 and NetEvent::Disconnected on disconnect. (#1539)
  • Added a pivot field to UiTransform. (#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 to 0.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 associated Options 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. Use flip_horizontal and flip_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 and EventReader proc macros. (#1501)
  • Avoid segmentation fault on Windows when using AudioBundle in amethyst_test. (#1595, #1599)
Assets 2
Jan 4, 2019
0.10.3 version of amethyst_renderer (diverged)

@LucioFranco LucioFranco released this Dec 8, 2018

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 field hidden: 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 variant Custom for custom composited widgets (#1112)
  • AssetLoaderSystemData abstracts resources needed from World to do asset loading (#1090)
  • amethyst_ui::get_default_font supports loading system font from Path. (#1108)
  • Added Callback and CallbackQueue 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 draw TextureHandles 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 to Transform::face_towards and behavior fixed. (#1142)
  • Material animations now directly use Handle<Texture> instead of using indirection. (#1089)
  • SpriteRenderPrimitive::SpriteSheet now takes Handle<SpriteSheet> instead of a u64 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 of nalgebra (#1066)
  • SpriteSheet now use TextureHandle directly instead of a u64 ID coupled with MaterialTextureSet. (#1117)
  • Updated specs to 0.14 and specs-hierarchy to 0.3. (#1122)
  • Updated winit to 0.18 (see Winit's changelog). (#1131)
  • Updated glutin to 0.19 (see Glutin's changelog). (#1131)
  • Renamed the DrawSprite pass to DrawFlat2D 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 into DestroyAtTimeSystem and DestroyInTimeSystem. (#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)
Assets 2

@jojolepro jojolepro released this Oct 23, 2018 · 2217 commits to master since this release

Welcome to a new Amethyst edition!
See all the changes of this version here: https://www.amethyst.rs/blog/release-0-9/

Assets 2

@jojolepro jojolepro released this Aug 6, 2018

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).

Assets 2
You can’t perform that action at this time.