diff options
Diffstat (limited to 'src/progs')
-rw-r--r-- | src/progs/manaplus/actions/commands.cpp | 11 | ||||
-rw-r--r-- | src/progs/manaplus/gui/viewport.cpp | 24 |
2 files changed, 16 insertions, 19 deletions
diff --git a/src/progs/manaplus/actions/commands.cpp b/src/progs/manaplus/actions/commands.cpp index 53c0996ac..443217de2 100644 --- a/src/progs/manaplus/actions/commands.cpp +++ b/src/progs/manaplus/actions/commands.cpp @@ -483,11 +483,10 @@ impHandler(navigate) return false; } - int x = 0; - int y = 0; + Position dest {0, 0}; - if (parse2Int(event.args, x, y)) - localPlayer->navigateTo(x, y); + if (parse2Int(event.args, dest.x, dest.y)) + localPlayer->navigateTo(dest); else localPlayer->navigateClean(); return true; @@ -509,7 +508,7 @@ impHandler(navigateTo) ActorType::Unknown); if (being != nullptr) { - localPlayer->navigateTo(being->getTileX(), being->getTileY()); + localPlayer->navigateTo({being->getTileX(), being->getTileY()}); } else if (localPlayer->isInParty()) { @@ -523,7 +522,7 @@ impHandler(navigateTo) o != nullptr && m->getMap() == o->getMap()) { - localPlayer->navigateTo(m->getX(), m->getY()); + localPlayer->navigateTo({m->getX(), m->getY()}); } } } diff --git a/src/progs/manaplus/gui/viewport.cpp b/src/progs/manaplus/gui/viewport.cpp index 5483b3d0e..a091a2c75 100644 --- a/src/progs/manaplus/gui/viewport.cpp +++ b/src/progs/manaplus/gui/viewport.cpp @@ -724,7 +724,7 @@ void Viewport::walkByMouse(const MouseEvent &event) BlockMask::WATER | BlockMask::PLAYERWALL)) { - localPlayer->navigateTo(playerX + dx, playerY + dy); + localPlayer->navigateTo({playerX + dx, playerY + dy}); } else { @@ -810,29 +810,27 @@ void Viewport::walkByMouse(const MouseEvent &event) } } } - localPlayer->navigateTo(playerX + dx, playerY + dy); + localPlayer->navigateTo({playerX + dx, playerY + dy}); } } else { - int destX; - int destY; - getMouseTile(event.getX(), event.getY(), - destX, destY); - if (playerX != destX || playerY != destY) + Position dest {0, 0}; + getMouseTile(event.getX(), event.getY(), dest.x, dest.y); + if (playerX != dest.x || playerY != dest.y) { - if (!localPlayer->navigateTo(destX, destY)) + if (!localPlayer->navigateTo(dest)) { - if (playerX > destX) + if (playerX > dest.x) playerX --; - else if (playerX < destX) + else if (playerX < dest.x) playerX ++; - if (playerY > destY) + if (playerY > dest.y) playerY --; - else if (playerY < destY) + else if (playerY < dest.y) playerY ++; if (mMap->getWalk(playerX, playerY, 0)) - localPlayer->navigateTo(playerX, playerY); + localPlayer->navigateTo({playerX, playerY}); } } } |