diff --git a/CHANGELOG.md b/CHANGELOG.md index 4198681..e86d23d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # Changelog +- all texture atlas layout parameters are integers (u32) now + ## v0.20.2 - 18.05.2024 - Fix texture atlas layout in asset collections (see [#212](https://github.com/NiklasEi/bevy_asset_loader/pull/212)) diff --git a/bevy_asset_loader/Cargo.toml b/bevy_asset_loader/Cargo.toml index 7f6b67a..3ef0ed8 100644 --- a/bevy_asset_loader/Cargo.toml +++ b/bevy_asset_loader/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bevy_asset_loader" -version = "0.20.2" +version = "0.21.0-rc2.1" authors = ["Niklas Eicker "] edition = "2021" license = "MIT OR Apache-2.0" @@ -22,20 +22,20 @@ standard_dynamic_assets = ["dep:bevy_common_assets", "dep:serde"] progress_tracking = ["dep:iyes_progress"] [dependencies] -bevy = { version = "0.13", default-features = false, features = ["bevy_asset"] } -bevy_asset_loader_derive = { version = "=0.20.2", path = "../bevy_asset_loader_derive" } +bevy = { version = "0.14.0-rc.2", default-features = false, features = ["bevy_asset"] } +bevy_asset_loader_derive = { version = "=0.21.0-rc2.1", path = "../bevy_asset_loader_derive" } anyhow = "1" path-slash = "0.2" -bevy_common_assets = { version = "0.10", features = ["ron"], optional = true } +bevy_common_assets = { version = "0.11.0-rc.2.1", features = ["ron"], optional = true } serde = { version = "1", optional = true } -iyes_progress = { version = "0.11", optional = true } +iyes_progress = { git = "https://github.com/NiklasEi/iyes_progress", branch = "update_bevy_main_for_0_14_cycle", optional = true } [dev-dependencies] -bevy = { version = "0.13", features = ["vorbis"] } +bevy = { version = "0.14.0-rc.2", features = ["vorbis"] } anyhow = "1" -iyes_progress = { version = "0.11" } -bevy_common_assets = { version = "0.10", features = ["ron"] } +iyes_progress = { git = "https://github.com/NiklasEi/iyes_progress", branch = "update_bevy_main_for_0_14_cycle" } +bevy_common_assets = { version = "0.11.0-rc.2.1", features = ["ron"] } serde = { version = "1" } ron = "0.8.1" trybuild = { version = "1.0" } diff --git a/bevy_asset_loader/assets/dynamic_asset.assets.ron b/bevy_asset_loader/assets/dynamic_asset.assets.ron index 3148998..459b43c 100644 --- a/bevy_asset_loader/assets/dynamic_asset.assets.ron +++ b/bevy_asset_loader/assets/dynamic_asset.assets.ron @@ -3,8 +3,8 @@ path: "images/female_adventurer_sheet.png", ), "layout.player_sheet": TextureAtlasLayout ( - tile_size_x: 96., - tile_size_y: 99., + tile_size_x: 96, + tile_size_y: 99, columns: 8, rows: 1 ), diff --git a/bevy_asset_loader/assets/dynamic_asset_arrays.asset_arrays.ron b/bevy_asset_loader/assets/dynamic_asset_arrays.asset_arrays.ron index 1656784..d1b3db9 100644 --- a/bevy_asset_loader/assets/dynamic_asset_arrays.asset_arrays.ron +++ b/bevy_asset_loader/assets/dynamic_asset_arrays.asset_arrays.ron @@ -1,26 +1,26 @@ ({ "layouts": [ TextureAtlasLayout( - tile_size_x: 96., - tile_size_y: 99., + tile_size_x: 96, + tile_size_y: 99, columns: 8, rows: 1, ), TextureAtlasLayout( - tile_size_x: 32., - tile_size_y: 64., + tile_size_x: 32, + tile_size_y: 64, columns: 12, rows: 6, ), TextureAtlasLayout( - tile_size_x: 64., - tile_size_y: 32., + tile_size_x: 64, + tile_size_y: 32, columns: 6, rows: 12, ), TextureAtlasLayout( - tile_size_x: 64., - tile_size_y: 64., + tile_size_x: 64, + tile_size_y: 64, columns: 6, rows: 6, ), diff --git a/bevy_asset_loader/assets/full_dynamic_collection.assets.ron b/bevy_asset_loader/assets/full_dynamic_collection.assets.ron index 3e6c159..52eb0a9 100644 --- a/bevy_asset_loader/assets/full_dynamic_collection.assets.ron +++ b/bevy_asset_loader/assets/full_dynamic_collection.assets.ron @@ -6,8 +6,8 @@ path: "images/tree.png", ), "texture_atlas_layout": TextureAtlasLayout ( - tile_size_x: 96., - tile_size_y: 99., + tile_size_x: 96, + tile_size_y: 99, columns: 8, rows: 1, ), diff --git a/bevy_asset_loader/examples/asset_maps.rs b/bevy_asset_loader/examples/asset_maps.rs index 7d78926..9c719ed 100644 --- a/bevy_asset_loader/examples/asset_maps.rs +++ b/bevy_asset_loader/examples/asset_maps.rs @@ -71,7 +71,7 @@ fn use_audio_assets(audio_assets: Res, mut quit: EventWriter, // you can configure the sampler for the sprite sheet image #[asset(image(sampler = nearest))] diff --git a/bevy_asset_loader/examples/custom_dynamic_assets.rs b/bevy_asset_loader/examples/custom_dynamic_assets.rs index d65ee59..ee92a69 100644 --- a/bevy_asset_loader/examples/custom_dynamic_assets.rs +++ b/bevy_asset_loader/examples/custom_dynamic_assets.rs @@ -1,3 +1,4 @@ +use bevy::ecs::system::SystemState; use bevy::prelude::*; use bevy::reflect::TypePath; use bevy::render::render_asset::RenderAssetUsages; @@ -117,18 +118,14 @@ impl DynamicAsset for CustomDynamicAsset { // This method is called when all asset handles returned from `load` are done loading. // The handles that you return, should also be loaded. fn build(&self, world: &mut World) -> Result { - let cell = world.cell(); - let asset_server = cell - .get_resource::() - .expect("Failed to get asset server"); match self { CustomDynamicAsset::CombinedImage { top_layer, bottom_layer, } => { - let mut images = cell - .get_resource_mut::>() - .expect("Failed to get image assets"); + let mut system_state = + SystemState::<(ResMut>, Res)>::new(world); + let (mut images, asset_server) = system_state.get_mut(world); let first = images .get(&asset_server.load(top_layer)) .expect("Failed to get first layer"); @@ -161,10 +158,11 @@ impl DynamicAsset for CustomDynamicAsset { base_color_texture, base_color, } => { - let mut materials = cell - .get_resource_mut::>() - .expect("Failed to get standard material assets"); - let color = Color::rgba(base_color[0], base_color[1], base_color[2], base_color[3]); + let mut system_state = + SystemState::<(ResMut>, Res)>::new(world); + let (mut materials, asset_server) = system_state.get_mut(world); + let color = + Color::linear_rgba(base_color[0], base_color[1], base_color[2], base_color[3]); let image = asset_server.load(base_color_texture); let mut material = StandardMaterial::from(color); material.base_color_texture = Some(image); @@ -173,9 +171,9 @@ impl DynamicAsset for CustomDynamicAsset { Ok(DynamicAssetType::Single(materials.add(material).untyped())) } CustomDynamicAsset::Cube { size } => { - let mut meshes = cell + let mut meshes = world .get_resource_mut::>() - .expect("Failed to get mesh assets"); + .expect("Cannot get Assets"); let handle = meshes .add(Mesh::from(Cuboid { half_size: Vec3::splat(size / 2.), diff --git a/bevy_asset_loader/examples/dynamic_asset.rs b/bevy_asset_loader/examples/dynamic_asset.rs index 5652bef..684a24f 100644 --- a/bevy_asset_loader/examples/dynamic_asset.rs +++ b/bevy_asset_loader/examples/dynamic_asset.rs @@ -50,18 +50,20 @@ fn spawn_player_and_tree(mut commands: Commands, image_assets: Res) let mut transform = Transform::from_translation(Vec3::new(0., 0., 1.)); transform.scale = Vec3::splat(0.5); commands - .spawn(SpriteSheetBundle { - transform: Transform { - translation: Vec3::new(0., 150., 0.), + .spawn(( + SpriteBundle { + transform: Transform { + translation: Vec3::new(0., 150., 0.), + ..Default::default() + }, + texture: image_assets.player.clone(), ..Default::default() }, - texture: image_assets.player.clone(), - atlas: TextureAtlas { + TextureAtlas { layout: image_assets.player_layout.clone(), index: 0, }, - ..Default::default() - }) + )) .insert(AnimationTimer(Timer::from_seconds( 0.1, TimerMode::Repeating, diff --git a/bevy_asset_loader/examples/dynamic_asset_arrays.rs b/bevy_asset_loader/examples/dynamic_asset_arrays.rs index 623577b..5922c04 100644 --- a/bevy_asset_loader/examples/dynamic_asset_arrays.rs +++ b/bevy_asset_loader/examples/dynamic_asset_arrays.rs @@ -38,18 +38,20 @@ fn spawn_player_and_tree(mut commands: Commands, image_assets: Res) let mut transform = Transform::from_translation(Vec3::new(0., 0., 1.)); transform.scale = Vec3::splat(0.5); commands - .spawn(SpriteSheetBundle { - transform: Transform { - translation: Vec3::new(0., 150., 0.), + .spawn(( + SpriteBundle { + transform: Transform { + translation: Vec3::new(0., 150., 0.), + ..Default::default() + }, + texture: image_assets.mixed_handlers[1].clone().typed(), ..Default::default() }, - texture: image_assets.mixed_handlers[1].clone().typed(), - atlas: TextureAtlas { + TextureAtlas { layout: image_assets.atlas_layout[0].clone(), index: 0, }, - ..Default::default() - }) + )) .insert(AnimationTimer(Timer::from_seconds( 0.1, TimerMode::Repeating, diff --git a/bevy_asset_loader/examples/failure_state.rs b/bevy_asset_loader/examples/failure_state.rs index a94f4c8..e7ad9f0 100644 --- a/bevy_asset_loader/examples/failure_state.rs +++ b/bevy_asset_loader/examples/failure_state.rs @@ -35,7 +35,7 @@ fn fail() { fn ok(mut quit: EventWriter) { info!("As expected, bevy_asset_loader switched to the failure state"); info!("Quitting the application..."); - quit.send(AppExit); + quit.send(AppExit::Success); } fn timeout(time: Res