diff --git a/assets/sprites/dashboard_rotation_stabiliser.png b/assets/sprites/dashboard_rotation_stabiliser.png new file mode 100644 index 0000000..cc31004 Binary files /dev/null and b/assets/sprites/dashboard_rotation_stabiliser.png differ diff --git a/src/hud.rs b/src/hud.rs index 1897b09..0cd7847 100644 --- a/src/hud.rs +++ b/src/hud.rs @@ -92,6 +92,8 @@ impl Plugin for HudPlugin { enum Dashboard { Leak, Flashlight, + RotationStabiliser, + CruiseControl, } #[derive(Component, Debug, Copy, Clone)] @@ -433,6 +435,8 @@ pub fn setup( // Car-Dashboard-Style icons let dashboard_icon_size = 64.0; let flashlight_visibility = bool2vis(visibility == Visibility::Visible && settings.flashlight_active); + let rotation_stabiliser_visibility = bool2vis(visibility == Visibility::Visible && !settings.rotation_stabilizer_active); + let cruise_control_visibility = bool2vis(visibility == Visibility::Visible && settings.cruise_control_active); let style_dashboard = Style { width: Val::Px(dashboard_icon_size), height: Val::Px(dashboard_icon_size), @@ -472,6 +476,24 @@ pub fn setup( }, Dashboard::Leak, )); + builder.spawn(( + ImageBundle { + image: UiImage::new(asset_server.load("sprites/dashboard_rotation_stabiliser.png")), + style: style_dashboard.clone(), + visibility: rotation_stabiliser_visibility, + ..Default::default() + }, + Dashboard::RotationStabiliser, + )); + builder.spawn(( + ImageBundle { + image: UiImage::new(asset_server.load("sprites/dashboard_cruise_control.png")), + style: style_dashboard.clone(), + visibility: cruise_control_visibility, + ..Default::default() + }, + Dashboard::CruiseControl, + )); }); // Add Speedometer @@ -634,6 +656,12 @@ fn update_dashboard( Dashboard::Leak => { suit.integrity < 0.5 } + Dashboard::RotationStabiliser => { + !settings.rotation_stabilizer_active + } + Dashboard::CruiseControl => { + settings.cruise_control_active + } }); } } diff --git a/src/svg/dashboard_rotation_stabiliser.svg b/src/svg/dashboard_rotation_stabiliser.svg new file mode 100644 index 0000000..87b5266 --- /dev/null +++ b/src/svg/dashboard_rotation_stabiliser.svg @@ -0,0 +1,133 @@ + + + + diff --git a/src/var.rs b/src/var.rs index 7c8e424..286a9e7 100644 --- a/src/var.rs +++ b/src/var.rs @@ -89,6 +89,7 @@ pub struct Settings { pub is_zooming: bool, pub third_person: bool, pub rotation_stabilizer_active: bool, + pub cruise_control_active: bool, pub shadows_sun: bool, pub shadows_pointlights: bool, pub shadowmap_resolution: usize, @@ -215,6 +216,7 @@ impl Default for Settings { is_zooming: false, third_person: true, rotation_stabilizer_active: true, + cruise_control_active: true, shadows_sun: true, shadows_pointlights: false, shadowmap_resolution: 2048,