Add Air Velocity to debug info

This commit is contained in:
juliancoffee
2024-02-01 13:30:30 +02:00
parent 52328b89d2
commit 16c41109d3

View File

@ -270,6 +270,7 @@ widget_ids! {
velocity, velocity,
glide_ratio, glide_ratio,
glide_aoe, glide_aoe,
air_vel,
orientation, orientation,
look_direction, look_direction,
loaded_distance, loaded_distance,
@ -2735,6 +2736,7 @@ impl Hud {
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.set(self.ids.glide_ratio, ui_widgets); .set(self.ids.glide_ratio, ui_widgets);
// Glide Angle of Attack
let glide_angle_text = angle_of_attack_text( let glide_angle_text = angle_of_attack_text(
debug_info.in_fluid, debug_info.in_fluid,
debug_info.velocity, debug_info.velocity,
@ -2746,6 +2748,14 @@ impl Hud {
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.set(self.ids.glide_aoe, ui_widgets); .set(self.ids.glide_aoe, ui_widgets);
// Air velocity
let air_vel_text = air_velocity(debug_info.in_fluid);
Text::new(&air_vel_text)
.color(TEXT_COLOR)
.down_from(self.ids.glide_aoe, V_PAD)
.font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14))
.set(self.ids.air_vel, ui_widgets);
// Player's orientation vector // Player's orientation vector
let orientation_text = match debug_info.ori { let orientation_text = match debug_info.ori {
Some(ori) => { Some(ori) => {
@ -2759,7 +2769,7 @@ impl Hud {
}; };
Text::new(&orientation_text) Text::new(&orientation_text)
.color(TEXT_COLOR) .color(TEXT_COLOR)
.down_from(self.ids.glide_aoe, V_PAD) .down_from(self.ids.air_vel, V_PAD)
.font_id(self.fonts.cyri.conrod_id) .font_id(self.fonts.cyri.conrod_id)
.font_size(self.fonts.cyri.scale(14)) .font_size(self.fonts.cyri.scale(14))
.set(self.ids.orientation, ui_widgets); .set(self.ids.orientation, ui_widgets);
@ -5387,6 +5397,17 @@ pub fn angle_of_attack_text(
} }
} }
fn air_velocity(fluid: Option<comp::Fluid>) -> String {
if let Some(comp::Fluid::Air { vel: air_vel, .. }) = fluid {
format!(
"Air Velocity: ({:.1}, {:.1}, {:.1})",
air_vel.0.x, air_vel.0.y, air_vel.0.z
)
} else {
"Air Velocity: Not in Air".to_owned()
}
}
/// Converts multiplier to percentage. /// Converts multiplier to percentage.
/// NOTE: floats are not the most precise type. /// NOTE: floats are not the most precise type.
/// ///