From 8ad75307400df859cc819c08a90fc3dd4f4d15e8 Mon Sep 17 00:00:00 2001 From: mlangkabel Date: Mon, 25 May 2026 07:56:03 +0200 Subject: [PATCH] fix ships to be drawn facing the correct direction in ArenaView --- src/balancing/ArenaView.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/balancing/ArenaView.cpp b/src/balancing/ArenaView.cpp index efda8d6..46745ac 100644 --- a/src/balancing/ArenaView.cpp +++ b/src/balancing/ArenaView.cpp @@ -315,9 +315,9 @@ void ArenaView::drawStations(QPainter& painter) void ArenaView::drawShips(QPainter& painter) { - m_sim->admin().forEach( + m_sim->admin().forEach( [&](entt::entity e, const ShipIdentity& /*si*/, const Position& pos, - const DynamicBodyComponent& body, const Faction& fac) + const Facing& facing, const Faction& fac) { const bool hasCargo = m_sim->admin().hasAll(e); const bool hasRepair = m_sim->admin().hasAll(e); @@ -327,9 +327,7 @@ void ArenaView::drawShips(QPainter& painter) if (it == m_visuals->ships.end()) { return; } const QPointF center = worldToWidget(pos.value); - const QVector2D dir = (body.velocity.length() > 0.0001f) - ? body.velocity.normalized() - : QVector2D(1.0f, 0.0f); + const QVector2D dir(std::cos(facing.radians), std::sin(facing.radians)); const QVector2D perp(-dir.y(), dir.x()); const float fwd = tilePx() * 0.45f;