diff options
author | Silas Bartha <[email protected]> | 2024-07-24 12:02:10 -0400 |
---|---|---|
committer | Silas Bartha <[email protected]> | 2024-07-24 12:02:10 -0400 |
commit | 345e0665bfc9cb796d054c106f56966e9d5a7e22 (patch) | |
tree | 5a4b371cbb8231048d13d07e0c4249834dbc379b /src | |
parent | f6b9eda55d3a2f3dbae7e1671138cf10d4151f17 (diff) |
Update to bevy 0.14 + Add 0BSD Optionv0.3.0
Diffstat (limited to 'src')
-rw-r--r-- | src/display/components.rs | 14 | ||||
-rw-r--r-- | src/display/systems.rs | 8 | ||||
-rw-r--r-- | src/input/systems.rs | 2 | ||||
-rw-r--r-- | src/lib.rs | 46 |
4 files changed, 31 insertions, 39 deletions
diff --git a/src/display/components.rs b/src/display/components.rs index 4459325..1deb6f5 100644 --- a/src/display/components.rs +++ b/src/display/components.rs @@ -1,6 +1,6 @@ use bevy::{prelude::*, render::render_resource::{Extent3d, TextureDescriptor, TextureDimension, TextureFormat, TextureUsages}}; use bevy_dither_post_process::components::DitherPostProcessSettings; -use bevy_framebuffer_extract::{components::{ExtractFramebufferBundle, FramebufferExtractDestination}, render_assets::FramebufferExtractSource}; +use bevy_headless_render::{components::{HeadlessRenderBundle, HeadlessRenderDestination}, render_assets::HeadlessRenderSource}; /// Marker component for terminal display #[derive(Component)] @@ -11,8 +11,8 @@ pub struct TerminalDisplay; #[derive(Bundle)] pub struct TerminalDisplayBundle { _terminal_display: TerminalDisplay, - extract_framebuffer_bundle: ExtractFramebufferBundle, - dither_post_process_settings: DitherPostProcessSettings, + _headless_render_bundle: HeadlessRenderBundle, + _dither_post_process_settings: DitherPostProcessSettings, image_handle: Handle<Image>, } @@ -48,16 +48,16 @@ impl TerminalDisplayBundle { let image_handle = asset_server.add(image); let framebuffer_extract_source = - asset_server.add(FramebufferExtractSource(image_handle.clone())); + asset_server.add(HeadlessRenderSource(image_handle.clone())); Self { _terminal_display: TerminalDisplay, - extract_framebuffer_bundle: ExtractFramebufferBundle { + _headless_render_bundle: HeadlessRenderBundle { source: framebuffer_extract_source, - dest: FramebufferExtractDestination::default(), + dest: HeadlessRenderDestination::default(), }, image_handle, - dither_post_process_settings: DitherPostProcessSettings::new( + _dither_post_process_settings: DitherPostProcessSettings::new( dither_level, asset_server, ), diff --git a/src/display/systems.rs b/src/display/systems.rs index 037f72d..9f8acb9 100644 --- a/src/display/systems.rs +++ b/src/display/systems.rs @@ -2,9 +2,7 @@ use bevy::{ prelude::*, render::render_resource::{Extent3d, TextureFormat}, }; -use bevy_framebuffer_extract::{ - components::FramebufferExtractDestination, render_assets::FramebufferExtractSource, -}; +use bevy_headless_render::{components::HeadlessRenderDestination, render_assets::HeadlessRenderSource}; use crossterm::event::Event; use ratatui::{ style::Stylize, @@ -27,7 +25,7 @@ const BRAILLE_DOT_BIT_POSITIONS: [u8; 8] = [0, 1, 2, 6, 3, 4, 5, 7]; /// Prints out the contents of a render image to the terminal as braille characters pub fn print_to_terminal( mut terminal: ResMut<Terminal>, - image_exports: Query<&FramebufferExtractDestination>, + image_exports: Query<&HeadlessRenderDestination>, mut widgets: Query<&mut Widget>, ) { for image_export in image_exports.iter() { @@ -108,7 +106,7 @@ fn braille_char(mask: u8) -> char { /// Watches for terminal resize events and resizes the render image accordingly pub fn resize_handling( mut images: ResMut<Assets<Image>>, - mut sources: ResMut<Assets<FramebufferExtractSource>>, + mut sources: ResMut<Assets<HeadlessRenderSource>>, mut event_reader: EventReader<TerminalInputEvent>, ) { for event in event_reader.read() { diff --git a/src/input/systems.rs b/src/input/systems.rs index 366ccba..9560e1e 100644 --- a/src/input/systems.rs +++ b/src/input/systems.rs @@ -51,4 +51,4 @@ pub fn input_handling( _ => (), } } -} +}
\ No newline at end of file @@ -10,15 +10,13 @@ use std::{ use bevy::{ log::{ - tracing_subscriber::{self, prelude::*, Registry}, + tracing_subscriber::{self, layer::SubscriberExt, EnvFilter, Layer, Registry}, Level, LogPlugin, - }, - prelude::*, - utils::tracing::level_filters::LevelFilter, + }, prelude::*, utils::tracing::{level_filters::LevelFilter, subscriber} }; use bevy_dither_post_process::DitherPostProcessPlugin; -use bevy_framebuffer_extract::FramebufferExtractPlugin; +use bevy_headless_render::HeadlessRenderPlugin; pub use crossterm; use once_cell::sync::Lazy; pub use ratatui; @@ -53,29 +51,25 @@ impl Plugin for TerminalDisplayPlugin { *LOG_PATH .lock() .expect("Failed to get lock on log path mutex") = self.log_path.clone(); + let log_file = OpenOptions::new() + .write(true) + .create(true) + .truncate(true) + .open( + LOG_PATH + .lock() + .expect("Failed to get lock on log path mutex") + .clone(), + ) + .unwrap(); + let file_layer = tracing_subscriber::fmt::Layer::new() + .with_writer(log_file) + .with_filter(EnvFilter::builder().parse_lossy(format!("{},{}", Level::INFO, "wgpu=error,naga=warn"))); + let subscriber = Registry::default().with(file_layer); + subscriber::set_global_default(subscriber).unwrap(); app.add_plugins(( DitherPostProcessPlugin, - FramebufferExtractPlugin, - LogPlugin { - update_subscriber: Some(|_| { - let log_file = OpenOptions::new() - .write(true) - .create(true) - .truncate(true) - .open( - LOG_PATH - .lock() - .expect("Failed to get lock on log path mutex") - .clone(), - ) - .unwrap(); - let file_layer = tracing_subscriber::fmt::Layer::new() - .with_writer(log_file) - .with_filter(LevelFilter::from_level(Level::INFO)); - Box::new(Registry::default().with(file_layer)) - }), - ..Default::default() - }, + HeadlessRenderPlugin, )) .add_systems(Startup, input::systems::setup_input) .add_systems( |