fix ships to be drawn facing the correct direction in ArenaView
This commit is contained in:
@@ -315,9 +315,9 @@ void ArenaView::drawStations(QPainter& painter)
|
|||||||
|
|
||||||
void ArenaView::drawShips(QPainter& painter)
|
void ArenaView::drawShips(QPainter& painter)
|
||||||
{
|
{
|
||||||
m_sim->admin().forEach<ShipIdentity, Position, DynamicBodyComponent, Faction>(
|
m_sim->admin().forEach<ShipIdentity, Position, Facing, Faction>(
|
||||||
[&](entt::entity e, const ShipIdentity& /*si*/, const Position& pos,
|
[&](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<SalvageCargo>(e);
|
const bool hasCargo = m_sim->admin().hasAll<SalvageCargo>(e);
|
||||||
const bool hasRepair = m_sim->admin().hasAll<RepairTool>(e);
|
const bool hasRepair = m_sim->admin().hasAll<RepairTool>(e);
|
||||||
@@ -327,9 +327,7 @@ void ArenaView::drawShips(QPainter& painter)
|
|||||||
if (it == m_visuals->ships.end()) { return; }
|
if (it == m_visuals->ships.end()) { return; }
|
||||||
|
|
||||||
const QPointF center = worldToWidget(pos.value);
|
const QPointF center = worldToWidget(pos.value);
|
||||||
const QVector2D dir = (body.velocity.length() > 0.0001f)
|
const QVector2D dir(std::cos(facing.radians), std::sin(facing.radians));
|
||||||
? body.velocity.normalized()
|
|
||||||
: QVector2D(1.0f, 0.0f);
|
|
||||||
const QVector2D perp(-dir.y(), dir.x());
|
const QVector2D perp(-dir.y(), dir.x());
|
||||||
|
|
||||||
const float fwd = tilePx() * 0.45f;
|
const float fwd = tilePx() * 0.45f;
|
||||||
|
|||||||
Reference in New Issue
Block a user