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;