From 7e41383ea98900d02be21c4a774ab8bd2c2e4cec Mon Sep 17 00:00:00 2001 From: Mark Date: Sun, 14 Jan 2024 11:10:04 -0800 Subject: [PATCH] Fixed radar arrow --- crates/render/src/ui/radar.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/crates/render/src/ui/radar.rs b/crates/render/src/ui/radar.rs index f7506c6..17c0ca4 100644 --- a/crates/render/src/ui/radar.rs +++ b/crates/render/src/ui/radar.rs @@ -294,11 +294,9 @@ impl Radar { let q = Point2::new(0.0, 0.0) - self.last_player_position; let m = q.magnitude(); if m > 200.0 { - let player_angle = q.angle(&Vector2::new(0.0, 1.0)); - - let position: Point2 = - Point2::new(radar_size / 2.0 + 10.0, radar_size / -2.0 - 10.0) - + ((q.normalize() * 0.865) * (radar_size / 2.0)); + let angle = clockwise_angle(&Vector2::new(1.0, 0.0), &q); + let position = Point2::new(10.0 + (radar_size / 2.0), -10.0 - (radar_size / 2.0)) + + Rotation2::new(angle) * Vector2::new(0.915 * (radar_size / 2.0), 0.0); if state.vertex_buffers.ui_counter as u64 > UI_SPRITE_INSTANCE_LIMIT { // TODO: no panic, handle this better. @@ -311,7 +309,7 @@ impl Radar { bytemuck::cast_slice(&[UiInstance { anchor: PositionAnchor::NwC.to_int(), position: position.into(), - angle: -player_angle, + angle, size: 10.0, color: [1.0, 1.0, 1.0, 1f32.min((m - 200.0) / 400.0)], sprite_index: arrow_sprite.get_index(),