summaryrefslogtreecommitdiff
path: root/src/progs
diff options
context:
space:
mode:
authorFedja Beader <fedja@protonmail.ch>2025-02-20 22:02:00 +0000
committerFedja Beader <fedja@protonmail.ch>2025-02-20 22:02:00 +0000
commitbb5d5bef365c65fed4fa32c3ac2ce384b2ea4e52 (patch)
tree003b8a99a17f76592a89b72d9f007ceb6b626b55 /src/progs
parent530545589cdaf6d1664438e885d0b4e538684d9b (diff)
downloadplus-bb5d5bef365c65fed4fa32c3ac2ce384b2ea4e52.tar.gz
plus-bb5d5bef365c65fed4fa32c3ac2ce384b2ea4e52.tar.bz2
plus-bb5d5bef365c65fed4fa32c3ac2ce384b2ea4e52.tar.xz
plus-bb5d5bef365c65fed4fa32c3ac2ce384b2ea4e52.zip
Convert navigateTo to take a Position instead of two integers.
Tile coordinates dance in pairs, so let's pair them up. also grows exe size by about 3K, hope this will go away when the rest is converted to Position as well. Note: on my local debug build only. Not on gcc10 CI. Squashed with: * Should it be mNavigateDest or mNavigateTo? Hmm, the jury is still out there ... **** mana/plus!116
Diffstat (limited to 'src/progs')
-rw-r--r--src/progs/manaplus/actions/commands.cpp11
-rw-r--r--src/progs/manaplus/gui/viewport.cpp24
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});
}
}
}