Skip to content

Commit

Permalink
upgrade bevy to 0.12
Browse files Browse the repository at this point in the history
  • Loading branch information
nelson137 committed Mar 26, 2024
1 parent 0a91519 commit 88a2195
Show file tree
Hide file tree
Showing 16 changed files with 429 additions and 234 deletions.
501 changes: 345 additions & 156 deletions Cargo.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions framework_crates/bones_asset/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ once_cell = "1.18"
path-absolutize = { version = "3.1", features = ["use_unix_paths_on_wasm"] }
ehttp = "0.3"
tracing = "0.1"
bevy_tasks = "0.11"
bevy_tasks = "0.12"
dashmap = "5.5"
event-listener = "3.0"
event-listener = "4.0"
elsa = "1.9"
append-only-vec = "0.1.3"

Expand All @@ -47,4 +47,4 @@ web-sys = { version = "0.3", features = ["console"] }
[dev-dependencies]
bones_schema = { version = "0.3", path = "../bones_schema", features = ["glam"] }
glam = "0.24"
bevy_tasks = "0.11"
bevy_tasks = "0.12"
2 changes: 1 addition & 1 deletion framework_crates/bones_asset/examples/tutorial.rs
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ fn main() -> anyhow::Result<()> {

// Load assets
let s = asset_server.clone();
IoTaskPool::init(TaskPool::default);
IoTaskPool::get_or_init(TaskPool::default);
println!("Loading Assets...");

// Spawn a task to load the assets
Expand Down
6 changes: 3 additions & 3 deletions framework_crates/bones_bevy_renderer/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ webgl2 = ["bevy/webgl2"]
[dependencies]
bones_framework = { version = "0.3", path = "../bones_framework" }

bevy_egui = "0.22"
bevy_egui = "0.24"
glam = { version = "0.24", features = ["serde"] }
bevy_prototype_lyon = "0.9"
bevy_prototype_lyon = "0.10"
serde_yaml = "0.9"
serde = "1.0.188"
anyhow = "1.0"

[dependencies.bevy]
default-features = false
features = ["bevy_render", "bevy_core_pipeline", "bevy_sprite", "x11", "bevy_gilrs"]
version = "0.11"
version = "0.12"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
directories = "5.0"
Expand Down
108 changes: 57 additions & 51 deletions framework_crates/bones_bevy_renderer/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -661,7 +661,7 @@ fn setup_egui(world: &mut World) {
// Insert the bones egui textures
ctx.data_mut(|map| {
map.insert_temp(
bevy_egui::egui::Id::null(),
bevy_egui::egui::Id::NULL,
bones_data.bones_egui_textures.clone(),
);
});
Expand Down Expand Up @@ -695,19 +695,19 @@ fn get_bones_input(
(
bones::MouseInputs {
movement: mouse_motion_events
.iter()
.read()
.last()
.map(|x| x.delta)
.unwrap_or_default(),
wheel_events: mouse_wheel_events
.iter()
.read()
.map(|event| bones::MouseScrollEvent {
unit: event.unit.into_bones(),
movement: Vec2::new(event.x, event.y),
})
.collect(),
button_events: mouse_button_input_events
.iter()
.read()
.map(|event| bones::MouseButtonEvent {
button: event.button.into_bones(),
state: event.state.into_bones(),
Expand All @@ -716,7 +716,7 @@ fn get_bones_input(
},
bones::KeyboardInputs {
key_events: keyboard_events
.iter()
.read()
.map(|event| bones::KeyboardEvent {
scan_code: event.scan_code,
key_code: event.key_code.map(|x| x.into_bones()).into(),
Expand All @@ -726,7 +726,7 @@ fn get_bones_input(
},
bones::GamepadInputs {
gamepad_events: gamepad_events
.iter()
.read()
.map(|event| match event {
GamepadEvent::Connection(c) => {
bones::GamepadEvent::Connection(bones::GamepadConnectionEvent {
Expand Down Expand Up @@ -805,7 +805,7 @@ fn step_bones_game(world: &mut World) {

let BonesData { game, .. } = &mut data;

let bevy_time = world.resource::<Time>();
let bevy_time = world.resource::<Time<Real>>();

// Reload assets if necessary
if let Some(mut asset_server) = game.shared_resource_mut::<bones::AssetServer>() {
Expand Down Expand Up @@ -1023,23 +1023,26 @@ fn extract_bones_sprites(
please open an issue."
);
};
extracted_sprites.sprites.push(ExtractedSprite {
entity: bones_renderable_entity.0,
transform: {
let mut t: Transform = transform.into_bevy();
// Add tiny z offset to enforce a consistent z-sort
t.translation.z += z_offset;
z_offset += 0.00001;
t.into()
extracted_sprites.sprites.insert(
bones_renderable_entity.0,
ExtractedSprite {
original_entity: Some(bones_renderable_entity.0),
transform: {
let mut t: Transform = transform.into_bevy();
// Add tiny z offset to enforce a consistent z-sort
t.translation.z += z_offset;
z_offset += 0.00001;
t.into()
},
color: sprite.color.into_bevy(),
rect: None,
custom_size: None,
image_handle_id: bones_image_ids.get(&image_id).unwrap().id(),
flip_x: sprite.flip_x,
flip_y: sprite.flip_y,
anchor: Anchor::Center.as_vec(),
},
color: sprite.color.into_bevy(),
rect: None,
custom_size: None,
image_handle_id: bones_image_ids.get(&image_id).unwrap().id(),
flip_x: sprite.flip_x,
flip_y: sprite.flip_y,
anchor: Anchor::Center.as_vec(),
})
);
}

// Extract atlas sprites
Expand All @@ -1065,17 +1068,20 @@ fn extract_bones_sprites(
min,
max: min + atlas.tile_size,
};
extracted_sprites.sprites.push(ExtractedSprite {
entity: bones_renderable_entity.0,
transform: transform.into_bevy().into(),
color: atlas_sprite.color.into_bevy(),
rect: Some(rect),
custom_size: None,
image_handle_id: bones_image_ids.get(&image_id).unwrap().id(),
flip_x: atlas_sprite.flip_x,
flip_y: atlas_sprite.flip_y,
anchor: Anchor::Center.as_vec(),
})
extracted_sprites.sprites.insert(
bones_renderable_entity.0,
ExtractedSprite {
original_entity: Some(bones_renderable_entity.0),
transform: transform.into_bevy().into(),
color: atlas_sprite.color.into_bevy(),
rect: Some(rect),
custom_size: None,
image_handle_id: bones_image_ids.get(&image_id).unwrap().id(),
flip_x: atlas_sprite.flip_x,
flip_y: atlas_sprite.flip_y,
anchor: Anchor::Center.as_vec(),
},
);
}
}
}
Expand Down Expand Up @@ -1167,17 +1173,20 @@ fn extract_bones_tilemaps(
// create a proper tile renderer. That can render multiple tiles on one quad instead
// of using a separate quad for each tile.
transform.scale += Vec3::new(0.01, 0.01, 0.0);
extracted_sprites.sprites.push(ExtractedSprite {
entity: bones_renderable_entity.0,
transform: transform.into(),
color: Color::WHITE,
rect: Some(rect),
custom_size: None,
image_handle_id: bones_image_ids.get(&image_id).unwrap().id(),
flip_x: tile.flip_x,
flip_y: tile.flip_y,
anchor: Anchor::BottomLeft.as_vec(),
})
extracted_sprites.sprites.insert(
bones_renderable_entity.0,
ExtractedSprite {
original_entity: Some(bones_renderable_entity.0),
transform: transform.into(),
color: Color::WHITE,
rect: Some(rect),
custom_size: None,
image_handle_id: bones_image_ids.get(&image_id).unwrap().id(),
flip_x: tile.flip_x,
flip_y: tile.flip_y,
anchor: Anchor::BottomLeft.as_vec(),
},
);
}
}
}
Expand Down Expand Up @@ -1213,7 +1222,7 @@ fn sync_bones_path2ds(
new_components = Some((
bundle.path,
lyon::Stroke::new(Color::default(), 1.0),
bundle.transform,
Transform::default(),
));
let (path, stroke, transform) = new_components.as_mut().unwrap();
(path, stroke, transform)
Expand Down Expand Up @@ -1244,11 +1253,8 @@ fn sync_bones_path2ds(
// Spawn the shape if it doesn't already exist
if let Some((path, stroke, transform)) = new_components {
commands
.spawn(lyon::ShapeBundle {
path,
transform,
..default()
})
.spawn(lyon::ShapeBundle { path, ..default() })
.insert(transform)
.insert(stroke)
.insert(BevyBonesEntity);
}
Expand Down
6 changes: 3 additions & 3 deletions framework_crates/bones_framework/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ bones_scripting = { version = "0.3", path = "../bones_scripting", optional = tru
# Other
anyhow = "1.0"
async-channel = "1.7"
bevy_tasks = { version = "0.11" }
bevy_tasks = { version = "0.12" }
bytemuck = "1.12"
either = "1.8"
futures-lite = "1.12"
Expand All @@ -98,8 +98,8 @@ serde = { version = "1.0", features = ["derive"] }
image = { version = "0.24", default-features = false }

# Gui
egui = { version = "0.23", optional = true }
egui_plot = "0.23"
egui = { version = "0.24", optional = true }
egui_plot = "0.24"
ttf-parser = { version = "0.20", default-features = false, optional = true }

# Audio
Expand Down
6 changes: 3 additions & 3 deletions framework_crates/bones_framework/src/render/ui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -184,13 +184,13 @@ pub trait EguiContextExt {

impl EguiContextExt for &egui::Context {
fn clear_focus(self) {
self.memory_mut(|r| r.request_focus(egui::Id::null()));
self.memory_mut(|r| r.request_focus(egui::Id::NULL));
}
fn get_state<T: Clone + Default + Sync + Send + 'static>(self) -> T {
self.data_mut(|data| data.get_temp_mut_or_default::<T>(egui::Id::null()).clone())
self.data_mut(|data| data.get_temp_mut_or_default::<T>(egui::Id::NULL).clone())
}
fn set_state<T: Clone + Default + Sync + Send + 'static>(self, value: T) {
self.data_mut(|data| *data.get_temp_mut_or_default::<T>(egui::Id::null()) = value);
self.data_mut(|data| *data.get_temp_mut_or_default::<T>(egui::Id::NULL) = value);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ impl<'a> Widget for BorderedButton<'a> {

if let Some(border) = border {
let texture = ui.data(|map| {
map.get_temp::<AtomicResource<EguiTextures>>(egui::Id::null())
map.get_temp::<AtomicResource<EguiTextures>>(egui::Id::NULL)
.unwrap()
.borrow()
.unwrap()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ impl BorderedFramePrepared {
};
if ui.is_rect_visible(paint_rect) {
let texture = ui.data(|map| {
map.get_temp::<AtomicResource<EguiTextures>>(egui::Id::null())
map.get_temp::<AtomicResource<EguiTextures>>(egui::Id::NULL)
.unwrap()
.borrow()
.unwrap()
Expand Down
2 changes: 1 addition & 1 deletion framework_crates/bones_scripting/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ keywords.workspace = true
[dependencies]
async-channel = "1.9"
tracing = "0.1"
bevy_tasks = "0.11"
bevy_tasks = { version = "0.12", features = ["multi-threaded"] }
bones_lib = { version = "0.3", path = "../bones_lib" }
bones_asset = { version = "0.3", path = "../bones_asset" }
piccolo = { version = "0.3" }
Expand Down
4 changes: 2 additions & 2 deletions framework_crates/bones_scripting/src/lua.rs
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ impl Default for LuaEngine {
/// Initialize the Lua engine.
fn default() -> Self {
// Make sure the compute task pool is initialized
ComputeTaskPool::init(TaskPool::new);
ComputeTaskPool::get_or_init(TaskPool::new);

#[cfg(not(target_arch = "wasm32"))]
let executor = {
Expand All @@ -276,7 +276,7 @@ impl Default for LuaEngine {
let executor = Arc::new(ThreadExecutor::new());
send.try_send(executor.clone()).unwrap();

let ticker = executor.ticker().unwrap();
let ticker = (*executor).ticker().unwrap();
loop {
ticker.tick().await;
}
Expand Down
10 changes: 5 additions & 5 deletions framework_crates/bones_scripting/src/lua/bindings/ecsref.rs
Original file line number Diff line number Diff line change
Expand Up @@ -227,13 +227,13 @@ impl EcsRefData {
pub fn borrow(&self) -> EcsRefBorrowKind {
match self {
EcsRefData::Resource(resource) => {
let b = resource.borrow();
let b = resource.as_ref().borrow();
EcsRefBorrowKind::Resource(b)
}
EcsRefData::Component(componentref) => {
let b = componentref.store.borrow();
let b = componentref.store.as_ref();
EcsRefBorrowKind::Component(ComponentBorrow {
borrow: b,
borrow: b.borrow(),
entity: componentref.entity,
})
}
Expand All @@ -242,8 +242,8 @@ impl EcsRefData {
EcsRefBorrowKind::Asset(b)
}
EcsRefData::Free(rc) => {
let b = rc.borrow();
EcsRefBorrowKind::Free(b)
let b = rc.as_ref();
EcsRefBorrowKind::Free(b.borrow())
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion other_crates/bones_matchmaker/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ repository.workspace = true

[dependencies]
anyhow = "1.0"
bevy_tasks = "0.11"
bevy_tasks = "0.12"
bytes = "1.2"
either = "1.8"
futures-lite = "1.12"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ fn configure_client() -> ClientConfig {
}

pub fn main() {
IoTaskPool::init(TaskPool::new);
IoTaskPool::get_or_init(TaskPool::new);
let task_pool = IoTaskPool::get();
futures_lite::future::block_on(task_pool.spawn(async move {
if let Err(e) = client().await {
Expand Down
2 changes: 1 addition & 1 deletion other_crates/bones_matchmaker/src/cli.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use clap::Parser;
use tracing::metadata::LevelFilter;

pub fn start() {
IoTaskPool::init(TaskPool::new);
IoTaskPool::get_or_init(TaskPool::new);
let task_pool = IoTaskPool::get();
configure_logging();

Expand Down
2 changes: 1 addition & 1 deletion other_crates/quinn_runtime_bevy/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ repository.workspace = true
[dependencies]
async-executor = "1.4"
async-io = "2.3"
bevy_tasks = "0.11"
bevy_tasks = "0.12"
futures-lite = "1.0"
pin-project = "1.0"
quinn = { version = "0.10", default-features = false, features = ["native-certs", "tls-rustls"] }
Expand Down

0 comments on commit 88a2195

Please sign in to comment.