aboutsummaryrefslogtreecommitdiff
path: root/engines/gnap
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gnap')
-rw-r--r--engines/gnap/gnap.cpp2
-rw-r--r--engines/gnap/gnap.h2
-rw-r--r--engines/gnap/grid.cpp75
-rw-r--r--engines/gnap/scenes/group0.cpp56
-rw-r--r--engines/gnap/scenes/group1.cpp70
-rw-r--r--engines/gnap/scenes/group2.cpp82
-rw-r--r--engines/gnap/scenes/group3.cpp32
-rw-r--r--engines/gnap/scenes/group4.cpp66
8 files changed, 207 insertions, 178 deletions
diff --git a/engines/gnap/gnap.cpp b/engines/gnap/gnap.cpp
index 36d288927d..9f1ae26150 100644
--- a/engines/gnap/gnap.cpp
+++ b/engines/gnap/gnap.cpp
@@ -1200,7 +1200,7 @@ bool GnapEngine::testWalk(int animationIndex, int someStatus, int gridX1, int gr
_gnap->_actionStatus = -1;
_plat->_actionStatus = -1;
gnapWalkTo(Common::Point(gridX1, gridY1), -1, -1, 1);
- platypusWalkTo(gridX2, gridY2, -1, -1, 1);
+ platypusWalkTo(Common::Point(gridX2, gridY2), -1, -1, 1);
_mouseClickState._left = false;
return true;
}
diff --git a/engines/gnap/gnap.h b/engines/gnap/gnap.h
index 619afdd7a8..59326b0511 100644
--- a/engines/gnap/gnap.h
+++ b/engines/gnap/gnap.h
@@ -507,7 +507,7 @@ public:
bool platFindPath2(int gridX, int gridY, int index);
bool platFindPath3(int gridX, int gridY);
bool platFindPath4(int gridX, int gridY);
- bool platypusWalkTo(int gridX, int gridY, int animationIndex, int sequenceId, int flags);
+ bool platypusWalkTo(Common::Point gridPos, int animationIndex, int sequenceId, int flags);
void platypusWalkStep();
void platypusMakeRoom();
diff --git a/engines/gnap/grid.cpp b/engines/gnap/grid.cpp
index 21881a7581..568fe2520e 100644
--- a/engines/gnap/grid.cpp
+++ b/engines/gnap/grid.cpp
@@ -1207,15 +1207,17 @@ bool GnapEngine::platFindPath3(int gridX, int gridY) {
return done;
}
-bool GnapEngine::platypusWalkTo(int gridX, int gridY, int animationIndex, int sequenceId, int flags) {
+bool GnapEngine::platypusWalkTo(Common::Point gridPos, int animationIndex, int sequenceId, int flags) {
int datNum = flags & 3;
bool done = false;
_timers[1] = 60;
+ int gridX = gridPos.x;
if (gridX < 0)
gridX = (_leftClickMouseX - _gridMinX + 37) / 75;
+ int gridY = gridPos.y;
if (gridY < 0)
gridY = (_leftClickMouseY - _gridMinY + 24) / 48;
@@ -1365,27 +1367,54 @@ bool GnapEngine::platypusWalkTo(int gridX, int gridY, int animationIndex, int se
}
void GnapEngine::platypusWalkStep() {
- bool done = false;
- for (int i = 1; !done && i < _gridMaxX; ++i) {
- done = true;
- if (!isPointBlocked(_plat->_pos.x + i, _plat->_pos.y))
- platypusWalkTo(_plat->_pos.x + i, _plat->_pos.y, -1, -1, 1);
- else if (!isPointBlocked(_plat->_pos.x - i, _plat->_pos.y))
- platypusWalkTo(_plat->_pos.x - i, _plat->_pos.y, -1, -1, 1);
- else if (!isPointBlocked(_plat->_pos.x, _plat->_pos.y + 1))
- platypusWalkTo(_plat->_pos.x, _plat->_pos.y + 1, -1, -1, 1);
- else if (!isPointBlocked(_plat->_pos.x, _plat->_pos.y - 1))
- platypusWalkTo(_plat->_pos.x, _plat->_pos.y - 1, -1, -1, 1);
- else if (!isPointBlocked(_plat->_pos.x + 1, _plat->_pos.y + 1))
- platypusWalkTo(_plat->_pos.x + 1, _plat->_pos.y + 1, -1, -1, 1);
- else if (!isPointBlocked(_plat->_pos.x - 1, _plat->_pos.y + 1))
- platypusWalkTo(_plat->_pos.x - 1, _plat->_pos.y + 1, -1, -1, 1);
- else if (!isPointBlocked(_plat->_pos.x + 1, _plat->_pos.y - 1))
- platypusWalkTo(_plat->_pos.x + 1, _plat->_pos.y - 1, -1, -1, 1);
- else if (!isPointBlocked(_plat->_pos.x - 1, _plat->_pos.y - 1))
- platypusWalkTo(_plat->_pos.x - 1, _plat->_pos.y - 1, -1, -1, 1);
- else
- done = false;
+ for (int i = 1; i < _gridMaxX; ++i) {
+ Common::Point checkPt = Common::Point(_plat->_pos.x + i, _plat->_pos.y);
+ if (!isPointBlocked(checkPt)) {
+ platypusWalkTo(checkPt, -1, -1, 1);
+ break;
+ }
+
+ checkPt = Common::Point(_plat->_pos.x - i, _plat->_pos.y);
+ if (!isPointBlocked(checkPt)) {
+ platypusWalkTo(checkPt, -1, -1, 1);
+ break;
+ }
+
+ checkPt = Common::Point(_plat->_pos.x, _plat->_pos.y + 1);
+ if (!isPointBlocked(checkPt)) {
+ platypusWalkTo(checkPt, -1, -1, 1);
+ break;
+ }
+
+ checkPt = Common::Point(_plat->_pos.x, _plat->_pos.y - 1);
+ if (!isPointBlocked(checkPt)) {
+ platypusWalkTo(checkPt, -1, -1, 1);
+ break;
+ }
+
+ checkPt = Common::Point(_plat->_pos.x + 1, _plat->_pos.y + 1);
+ if (!isPointBlocked(checkPt)) {
+ platypusWalkTo(checkPt, -1, -1, 1);
+ break;
+ }
+
+ checkPt = Common::Point(_plat->_pos.x - 1, _plat->_pos.y + 1);
+ if (!isPointBlocked(checkPt)) {
+ platypusWalkTo(checkPt, -1, -1, 1);
+ break;
+ }
+
+ checkPt = Common::Point(_plat->_pos.x + 1, _plat->_pos.y - 1);
+ if (!isPointBlocked(checkPt)) {
+ platypusWalkTo(checkPt, -1, -1, 1);
+ break;
+ }
+
+ checkPt = Common::Point(_plat->_pos.x - 1, _plat->_pos.y - 1);
+ if (!isPointBlocked(checkPt)) {
+ platypusWalkTo(checkPt, -1, -1, 1);
+ break;
+ }
}
}
@@ -1396,7 +1425,7 @@ void GnapEngine::platypusMakeRoom() {
rndGridX = getRandom(_gridMaxX);
} while (ABS(rndGridX - _plat->_pos.x) > 4 || ABS(rndGridY - _plat->_pos.y) > 3 ||
isPointBlocked(rndGridX, rndGridY));
- platypusWalkTo(rndGridX, rndGridY, -1, -1, 1);
+ platypusWalkTo(Common::Point(rndGridX, rndGridY), -1, -1, 1);
}
} // End of namespace Gnap
diff --git a/engines/gnap/scenes/group0.cpp b/engines/gnap/scenes/group0.cpp
index c47c195071..8eeb4bf4d4 100644
--- a/engines/gnap/scenes/group0.cpp
+++ b/engines/gnap/scenes/group0.cpp
@@ -95,7 +95,7 @@ void Scene01::run() {
_vm->_plat->initPos(12, 6, kDirUnk4);
_vm->endSceneInit();
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(9, 6, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 6), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(8, 6), -1, 0x107B9, 1);
} else {
_vm->_gnap->initPos(1, 6, kDirBottomRight);
@@ -228,7 +228,7 @@ void Scene01::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[1], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS01LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[1].x, _vm->_hotspotsWalkPos[1].y + 1, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[1] + Common::Point(0, 1), -1, 0x107CD, 1);
_vm->_newSceneNum = 2;
}
break;
@@ -417,7 +417,7 @@ void Scene02::run() {
_vm->_plat->initPos(12, 6, kDirUnk4);
_vm->endSceneInit();
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(9, 6, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 6), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(8, 6), -1, 0x107BA, 1);
break;
case 4:
@@ -427,7 +427,7 @@ void Scene02::run() {
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(7, 6), 0, 0x107B9, 1);
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(8, 6, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(8, 6), 1, 0x107C2, 1);
updateHotspots();
gameSys.waitForUpdate();
break;
@@ -449,7 +449,7 @@ void Scene02::run() {
_vm->_plat->initPos(-1, 7, kDirNone);
_vm->endSceneInit();
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(2, 7, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(2, 7), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
break;
}
@@ -610,7 +610,7 @@ void Scene02::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[6], 0, 0x107AD, 1);
_vm->_gnap->_actionStatus = kAS02LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[6].x + 1, _vm->_hotspotsWalkPos[6].y, -1, 0x107C1, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[6] + Common::Point(1, 0), -1, 0x107C1, 1);
updateHotspots();
_vm->_newSceneNum = 4;
}
@@ -622,7 +622,7 @@ void Scene02::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[7], 0, 0x107AD, 1);
_vm->_gnap->_actionStatus = kAS02LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[7].x + 1, _vm->_hotspotsWalkPos[7].y, -1, 0x107C1, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[7] + Common::Point(1, 0), -1, 0x107C1, 1);
updateHotspots();
_vm->_newSceneNum = 5;
}
@@ -634,7 +634,7 @@ void Scene02::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[8], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS02LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[8].x, _vm->_hotspotsWalkPos[8].y, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[8], -1, 0x107CD, 1);
_vm->_newSceneNum = 3;
}
break;
@@ -645,7 +645,7 @@ void Scene02::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[9], 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS02LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[9].x, _vm->_hotspotsWalkPos[9].y, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[9], -1, 0x107CF, 1);
_vm->_newSceneNum = 1;
}
break;
@@ -925,7 +925,7 @@ void Scene03::run() {
_vm->endSceneInit();
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(4, 7, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(4, 7), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(3, 6), -1, 0x107B9, 1);
while (!_vm->_sceneDone) {
@@ -999,7 +999,7 @@ void Scene03::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[2], 0, 0x107AD, 1);
_vm->_gnap->_actionStatus = kAS03LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[2].x, _vm->_hotspotsWalkPos[2].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[2], -1, 0x107C2, 1);
_vm->_hotspots[kHS03PlatypusWalkArea]._flags &= ~SF_WALKABLE;
if (_vm->_cursorValue == 1)
_vm->_newSceneNum = 2;
@@ -1406,7 +1406,7 @@ void Scene04::run() {
_vm->_plat->initPos(6, 11, kDirUpLeft);
_vm->endSceneInit();
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(5, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(5, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(6, 9), -1, 0x107BA, 1);
} else if (_vm->_prevSceneNum == 38) {
_vm->_gnap->initPos(5, 7, kDirBottomRight);
@@ -1418,7 +1418,7 @@ void Scene04::run() {
_vm->_plat->initPos(12, 8, kDirNone);
_vm->endSceneInit();
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(9, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(9, 9), -1, 0x107BA, 1);
}
}
@@ -1590,7 +1590,7 @@ void Scene04::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[5], 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS04LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[5].x, _vm->_hotspotsWalkPos[5].y, -1, 0x107C7, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[5], -1, 0x107C7, 1);
if (_vm->_cursorValue == 1)
_vm->_newSceneNum = 2;
else
@@ -1634,7 +1634,7 @@ void Scene04::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[8], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS04LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[8].x, _vm->_hotspotsWalkPos[8].y + 1, -1, 0x107C1, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[8] + Common::Point(0, 1), -1, 0x107C1, 1);
if (_vm->_cursorValue == 1)
_vm->_newSceneNum = 5;
else
@@ -1889,7 +1889,7 @@ void Scene05::run() {
_vm->_plat->initPos(-1, 9, kDirNone);
_vm->endSceneInit();
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(2, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(2, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(2, 9), -1, 0x107B9, 1);
} else {
_vm->_gnap->initPos(6, 8, kDirBottomRight);
@@ -1962,7 +1962,7 @@ void Scene05::run() {
case PLAT_CURSOR:
if (_vm->isFlag(kGFPlatypus)) {
_vm->_gnap->useDeviceOnPlatypus();
- if (_vm->platypusWalkTo(_vm->_hotspotsWalkPos[1].x, _vm->_hotspotsWalkPos[1].y, 1, 0x107C2, 1)) {
+ if (_vm->platypusWalkTo(_vm->_hotspotsWalkPos[1], 1, 0x107C2, 1)) {
_vm->_plat->_actionStatus = kAS05PlatSearchHaystack;
_vm->_plat->_idleFacing = kDirUnk4;
}
@@ -2073,7 +2073,7 @@ void Scene05::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[4], 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS05LeaveScene;
if (_vm->isFlag(kGFPlatypus))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[4].x, _vm->_hotspotsWalkPos[4].y + 1, -1, 0x107C7, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[4] + Common::Point(0, 1), -1, 0x107C7, 1);
if (_vm->_cursorValue == 1)
_vm->_newSceneNum = 4;
else
@@ -2319,7 +2319,7 @@ void Scene06::run() {
_vm->_plat->initPos(6, 12, kDirNone);
_vm->endSceneInit();
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107B9, 1);
while (!_vm->_sceneDone) {
@@ -2436,7 +2436,7 @@ void Scene06::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[3], 0, 0x107BC, 1);
_vm->_hotspots[kHS06WalkArea5]._flags &= ~SF_WALKABLE;
_vm->_gnap->_idleFacing = kDirUpLeft;
- _vm->platypusWalkTo(6, 8, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), 1, 0x107C2, 1);
_vm->_plat->_idleFacing = kDirNone;
_vm->_gnap->_actionStatus = kAS06UseTwigOnHorse;
_vm->setGrabCursorSprite(-1);
@@ -2957,7 +2957,7 @@ void Scene08::run() {
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(1, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(1, 7, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 7), -1, 0x107C2, 1);
_vm->_timers[5] = _vm->getRandom(40) + 50;
@@ -3013,7 +3013,7 @@ void Scene08::run() {
_vm->gnapActionIdle(0x14D);
_vm->gnapWalkTo(Common::Point(0, 6), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS08LeaveScene;
- _vm->platypusWalkTo(0, 7, 1, 0x107CF, 1);
+ _vm->platypusWalkTo(Common::Point(0, 7), 1, 0x107CF, 1);
_vm->_newSceneNum = 9;
break;
@@ -3022,7 +3022,7 @@ void Scene08::run() {
_vm->gnapActionIdle(0x14D);
_vm->gnapWalkTo(Common::Point(3, 9), 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS08LeaveScene;
- _vm->platypusWalkTo(4, 9, 1, 0x107C1, 1);
+ _vm->platypusWalkTo(Common::Point(4, 9), 1, 0x107C1, 1);
_vm->_newSceneNum = 7;
break;
@@ -3049,7 +3049,7 @@ void Scene08::run() {
case PLAT_CURSOR:
_vm->gnapActionIdle(0x14D);
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(6, 6, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 6), 1, 0x107C2, 1);
_vm->_plat->_actionStatus = kAS08PlatWithMan;
_vm->_plat->_idleFacing = kDirNone;
_vm->playGnapIdle(6, 6);
@@ -3085,7 +3085,7 @@ void Scene08::run() {
_vm->setFlag(kGFSceneFlag1);
_vm->gnapActionIdle(0x14D);
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(3, 7, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(3, 7), 1, 0x107C2, 1);
_vm->_plat->_actionStatus = kAS08PlatWithDog;
_vm->_plat->_idleFacing = kDirNone;
_vm->playGnapIdle(3, 7);
@@ -3387,7 +3387,7 @@ void Scene09::run() {
_vm->_plat->initPos(12, 7, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(9, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 7, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 7), -1, 0x107D2, 1);
} else {
_vm->_gnap->initPos(4, 7, kDirBottomRight);
_vm->_plat->initPos(5, 7, kDirNone);
@@ -3441,7 +3441,7 @@ void Scene09::run() {
_vm->_newSceneNum = 10;
_vm->gnapWalkTo(Common::Point(4, 7), 0, 0x107BF, 1);
_vm->_gnap->_actionStatus = kAS09LeaveScene;
- _vm->platypusWalkTo(4, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(4, 8), -1, 0x107D2, 1);
_vm->_plat->_idleFacing = kDirUnk4;
break;
@@ -3450,7 +3450,7 @@ void Scene09::run() {
_vm->_newSceneNum = 8;
_vm->gnapWalkTo(Common::Point(10, -1), 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS09LeaveScene;
- _vm->platypusWalkTo(10, -1, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(Common::Point(10, -1), -1, 0x107CD, 1);
_vm->_plat->_idleFacing = kDirUnk4;
break;
diff --git a/engines/gnap/scenes/group1.cpp b/engines/gnap/scenes/group1.cpp
index 630a6940f8..cb74bff32f 100644
--- a/engines/gnap/scenes/group1.cpp
+++ b/engines/gnap/scenes/group1.cpp
@@ -76,13 +76,13 @@ void Scene10::run() {
_vm->_plat->initPos(12, 7, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(9, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 7, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 7), -1, 0x107D2, 1);
} else {
_vm->_gnap->initPos(-1, 7, kDirBottomRight);
_vm->_plat->initPos(-2, 8, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(1, 7), -1, 0x107B9, 1);
- _vm->platypusWalkTo(1, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 8), -1, 0x107C2, 1);
}
_vm->_timers[4] = _vm->getRandom(80) + 150;
@@ -134,7 +134,7 @@ void Scene10::run() {
_vm->gnapActionIdle(0x10C);
_vm->gnapWalkTo(Common::Point(0, 7), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS10LeaveScene;
- _vm->platypusWalkTo(0, 7, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(Common::Point(0, 7), -1, 0x107CF, 1);
_vm->_newSceneNum = 11;
break;
@@ -143,7 +143,7 @@ void Scene10::run() {
_vm->gnapActionIdle(0x10C);
_vm->gnapWalkTo(Common::Point(2, 9), 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS10LeaveScene;
- _vm->platypusWalkTo(3, 9, -1, 0x107C7, 1);
+ _vm->platypusWalkTo(Common::Point(3, 9), -1, 0x107C7, 1);
_vm->_newSceneNum = 9;
break;
@@ -170,7 +170,7 @@ void Scene10::run() {
case PLAT_CURSOR:
_vm->gnapActionIdle(0x10C);
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(4, 6, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(4, 6), -1, -1, 1);
_vm->gnapWalkTo(Common::Point(4, 8), 0, 0x107BB, 1);
_vm->_gnap->_actionStatus = kAS10AnnoyCook;
break;
@@ -207,7 +207,7 @@ void Scene10::run() {
else {
_vm->gnapActionIdle(0x10C);
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(3, 7, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(3, 7), -1, -1, 1);
_vm->gnapWalkTo(Common::Point(4, 8), 0, 0x107BB, 1);
_vm->_gnap->_actionStatus = kAS10AnnoyCook;
}
@@ -240,7 +240,7 @@ void Scene10::run() {
_vm->setFlag(kGFMudTaken);
_vm->gnapActionIdle(0x10C);
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(7, 6, 1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(7, 6), 1, 0x107D2, 1);
_vm->_plat->_actionStatus = kAS10PlatWithBox;
_vm->_plat->_idleFacing = kDirUnk4;
_vm->_largeSprite = gameSys.createSurface(0xC3);
@@ -574,7 +574,7 @@ void Scene11::run() {
if (_vm->_prevSceneNum == 12) {
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(1, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 8), -1, 0x107C2, 1);
}
gameSys.insertSequence(0x208, 256, 0, 0, kSeqNone, 40, 0, 0);
@@ -614,7 +614,7 @@ void Scene11::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(6, 5), 0, 0x107BF, 1);
_vm->_gnap->_actionStatus = kAS11LeaveScene;
- _vm->platypusWalkTo(6, 6, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(6, 6), -1, -1, 1);
_vm->_newSceneNum = 10;
break;
@@ -622,7 +622,7 @@ void Scene11::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(8, 5), 0, 0x107BF, 1);
_vm->_gnap->_actionStatus = kAS11LeaveScene;
- _vm->platypusWalkTo(8, 6, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(8, 6), -1, -1, 1);
_vm->_newSceneNum = 13;
break;
@@ -630,7 +630,7 @@ void Scene11::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(-1, 8), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS11LeaveScene;
- _vm->platypusWalkTo(-1, 9, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(Common::Point(-1, 9), -1, 0x107CF, 1);
_vm->_newSceneNum = 12;
break;
@@ -990,7 +990,7 @@ void Scene12::run() {
_vm->_plat->initPos(12, 8, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 8), -1, 0x107D2, 1);
}
while (!_vm->_sceneDone) {
@@ -1032,7 +1032,7 @@ void Scene12::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(10, -1), 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS12LeaveScene;
- _vm->platypusWalkTo(10, -1, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(10, -1), -1, -1, 1);
_vm->_newSceneNum = 11;
break;
@@ -1070,7 +1070,7 @@ void Scene12::run() {
break;
case PLAT_CURSOR:
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(3, 7, 1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(3, 7), 1, 0x107D2, 1);
_vm->_plat->_actionStatus = kAS12PlatWithToothGuy;
_vm->_plat->_idleFacing = kDirUnk4;
_vm->playGnapIdle(2, 7);
@@ -1140,7 +1140,7 @@ void Scene12::run() {
break;
case PLAT_CURSOR:
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(7, 6, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(7, 6), 1, 0x107C2, 1);
_vm->_plat->_actionStatus = kAS12PlatWithBeardGuy;
_vm->_plat->_idleFacing = kDirNone;
_vm->playGnapIdle(7, 6);
@@ -1541,7 +1541,7 @@ void Scene13::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(2, 7), 0, 0x107C0, 1);
_vm->_gnap->_actionStatus = kAS13LeaveScene;
- _vm->platypusWalkTo(2, 8, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(2, 8), -1, -1, 1);
if (_vm->isFlag(kGFUnk14) || _vm->isFlag(kGFSpringTaken)) {
_vm->_newSceneNum = 11;
} else {
@@ -1694,7 +1694,7 @@ void Scene13::run() {
if (!_vm->_isLeavingScene) {
_vm->_plat->updateIdleSequence();
if (_vm->_plat->_pos.y == 5 || _vm->_plat->_pos.y == 6)
- _vm->platypusWalkTo(-1, 7, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(-1, 7), -1, -1, 1);
if (_vm->_gnap->_actionStatus < 0)
_vm->_gnap->updateIdleSequence();
if (!_vm->_timers[4]) {
@@ -2418,7 +2418,7 @@ void Scene17::run() {
_vm->_gnap->initPos(4, 6, kDirBottomRight);
_vm->_plat->initPos(5, 6, kDirNone);
_vm->endSceneInit();
- _vm->platypusWalkTo(5, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(5, 9), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(4, 8), -1, 0x107B9, 1);
} else if (_vm->isFlag(kGFUnk27)) {
_vm->_gnap->initPos(3, 9, kDirUpLeft);
@@ -2472,7 +2472,7 @@ void Scene17::run() {
_vm->_gnap->initPos(6, 6, kDirBottomRight);
_vm->_plat->initPos(5, 6, kDirNone);
_vm->endSceneInit();
- _vm->platypusWalkTo(5, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(5, 9), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(4, 8), -1, 0x107B9, 1);
} else {
if (_vm->isFlag(kGFSpringTaken)) {
@@ -2506,7 +2506,7 @@ void Scene17::run() {
_vm->_plat->_sequenceId = 0x7C1;
_vm->_plat->_sequenceDatNum = 1;
_vm->_plat->_idleFacing = kDirBottomRight;
- _vm->platypusWalkTo(2, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(2, 9), -1, 0x107C2, 1);
}
while (!_vm->_sceneDone) {
@@ -2531,7 +2531,7 @@ void Scene17::run() {
_vm->_gnap->useJointOnPlatypus();
} else {
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[6].x, _vm->_hotspotsWalkPos[6].y, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[6], 1, 0x107C2, 1);
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[6] + Common::Point(1, 0), 0, 0x107BA, 1);
_vm->_plat->_actionStatus = kAS17GetWrench1;
_vm->_gnap->_actionStatus = kAS17GetWrench1;
@@ -2578,7 +2578,7 @@ void Scene17::run() {
if (_canTryGetWrench) {
platHangUpPhone();
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[6].x + 1, _vm->_hotspotsWalkPos[6].y, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[6] + Common::Point(1, 0), 1, 0x107C2, 1);
_vm->_plat->_actionStatus = kAS17TryGetWrench;
_vm->_gnap->_actionStatus = kAS17TryGetWrench;
_vm->_timers[5] = _vm->getRandom(30) + 80;
@@ -2619,7 +2619,7 @@ void Scene17::run() {
_vm->_isLeavingScene = true;
_vm->_gnap->useDeviceOnPlatypus();
_vm->_plat->_idleFacing = kDirUpLeft;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[2].x, _vm->_hotspotsWalkPos[2].y, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[2], 1, 0x107C2, 1);
_vm->setFlag(kGFUnk16);
_vm->_plat->_actionStatus = kAS17PlatUsePhone;
_vm->_gnap->_actionStatus = kAS17PlatUsePhone;
@@ -2663,7 +2663,7 @@ void Scene17::run() {
_vm->_isLeavingScene = true;
_vm->_gnap->useDeviceOnPlatypus();
_vm->_plat->_idleFacing = kDirUpLeft;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[2].x, _vm->_hotspotsWalkPos[2].y, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[2], 1, 0x107C2, 1);
_vm->setFlag(kGFUnk16);
_vm->_plat->_actionStatus = kAS17PlatUsePhone;
_vm->_gnap->_actionStatus = kAS17PlatUsePhone;
@@ -2683,7 +2683,7 @@ void Scene17::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[5], 0, 0x107BB, 1);
_vm->_gnap->_actionStatus = kAS17LeaveScene;
if (_vm->_plat->_actionStatus != kAS17PlatPhoningAssistant)
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[5].x - 1, _vm->_hotspotsWalkPos[5].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[5] + Common::Point(-1, 0), -1, 0x107C2, 1);
}
break;
@@ -2695,7 +2695,7 @@ void Scene17::run() {
_vm->_gnap->_idleFacing = kDirUpLeft;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[3], 0, 0x107BC, 1);
_vm->_gnap->_actionStatus = kAS17LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[3].x + 1, _vm->_hotspotsWalkPos[3].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[3] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -3396,19 +3396,19 @@ void Scene18::run() {
_vm->_plat->initPos(5, 11, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(4, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(5, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(5, 9), -1, 0x107C2, 1);
} else if (_vm->_prevSceneNum == 19) {
_vm->_gnap->initPos(7, 7, kDirBottomRight);
_vm->_plat->initPos(8, 7, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(7, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(8, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(8, 8), -1, 0x107C2, 1);
} else {
_vm->_gnap->initPos(-1, 10, kDirBottomRight);
_vm->_plat->initPos(-1, 10, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(3, 7), -1, 0x107B9, 1);
- _vm->platypusWalkTo(3, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(3, 8), -1, 0x107C2, 1);
}
}
@@ -3657,7 +3657,7 @@ void Scene18::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS18ExitToyStore], 0, 0x107C0, 1);
_vm->_gnap->_actionStatus = kAS18LeaveScene;
if (!_vm->isFlag(kGFPlatypusTalkingToAssistant))
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS18ExitToyStore].x + 1, _vm->_hotspotsWalkPos[kHS18ExitToyStore].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS18ExitToyStore] + Common::Point(1, 0), -1, 0x107C2, 1);
}
}
break;
@@ -3676,7 +3676,7 @@ void Scene18::run() {
if (_vm->isFlag(kGFPlatypusTalkingToAssistant))
_vm->setFlag(kGFUnk27);
else
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS18ExitPhoneBooth].x + 1, _vm->_hotspotsWalkPos[kHS18ExitPhoneBooth].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS18ExitPhoneBooth] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -3695,7 +3695,7 @@ void Scene18::run() {
if (_vm->isFlag(kGFPlatypusTalkingToAssistant))
platEndPhoning(false);
else
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS18ExitGrubCity].x, _vm->_hotspotsWalkPos[kHS18ExitGrubCity].y - 1, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS18ExitGrubCity] + Common::Point(0, -1), -1, 0x107CF, 1);
_vm->_hotspots[kHS18WalkArea2]._flags &= ~SF_WALKABLE;
}
break;
@@ -3744,7 +3744,7 @@ void Scene18::run() {
_vm->_plat->_actionStatus = -1;
_vm->_sceneWaiting = false;
_vm->_plat->initPos(-1, 10, kDirNone);
- _vm->platypusWalkTo(3, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(3, 9), -1, 0x107C2, 1);
_vm->clearFlag(kGFPlatypusTalkingToAssistant);
}
} else {
@@ -4119,7 +4119,7 @@ void Scene19::run() {
_vm->_plat->initPos(4, 6, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(4, 9), -1, 0x107B9, 1);
- _vm->platypusWalkTo(5, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(5, 9), -1, 0x107C2, 1);
}
while (!_vm->_sceneDone) {
@@ -4175,7 +4175,7 @@ void Scene19::run() {
if (_vm->isFlag(kGFPlatypusTalkingToAssistant))
_vm->setFlag(kGFUnk27);
else
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[1].x + 1, _vm->_hotspotsWalkPos[1].y, -1, 0x107C5, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[1] + Common::Point(1, 0), -1, 0x107C5, 1);
_vm->_hotspots[kHS19WalkArea1]._flags &= ~SF_WALKABLE;
}
break;
diff --git a/engines/gnap/scenes/group2.cpp b/engines/gnap/scenes/group2.cpp
index 8b742eea9d..e02b2fa8b5 100644
--- a/engines/gnap/scenes/group2.cpp
+++ b/engines/gnap/scenes/group2.cpp
@@ -209,7 +209,7 @@ void Scene20::run() {
_vm->_gnap->initPos(11, 8, kDirBottomLeft);
_vm->_plat->initPos(11, 9, kDirUnk4);
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(6, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 9), -1, 0x107C2, 1);
} else {
switch (_vm->_prevSceneNum) {
case 17:
@@ -217,28 +217,28 @@ void Scene20::run() {
_vm->_plat->initPos(6, 11, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(6, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 9), -1, 0x107C2, 1);
break;
case 18:
_vm->_gnap->initPos(11, 8, kDirBottomLeft);
_vm->_plat->initPos(11, 9, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(6, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 9), -1, 0x107C2, 1);
break;
case 21:
_vm->_gnap->initPos(-1, 8, kDirBottomLeft);
_vm->_plat->initPos(-1, 9, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(3, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(3, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(3, 9), -1, 0x107C2, 1);
break;
case 22:
_vm->_gnap->initPos(7, 6, kDirBottomRight);
_vm->_plat->initPos(8, 6, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(9, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 9), -1, 0x107C2, 1);
break;
default:
_vm->_gnap->initPos(8, 6, kDirBottomLeft);
@@ -246,7 +246,7 @@ void Scene20::run() {
_vm->endSceneInit();
_vm->_hotspots[kHS20WalkArea2]._flags |= SF_WALKABLE;
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 9), -1, 0x107C2, 1);
_vm->_hotspots[kHS20WalkArea2]._flags &= ~SF_WALKABLE;
break;
}
@@ -304,7 +304,7 @@ void Scene20::run() {
_vm->_newSceneNum = 21;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS20ExitParkingLot], 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS20LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitParkingLot].x, _vm->_hotspotsWalkPos[kHS20ExitParkingLot].y + 1, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitParkingLot] + Common::Point(0, 1), -1, 0x107CF, 1);
_vm->_plat->_idleFacing = kDirUnk4;
}
break;
@@ -317,7 +317,7 @@ void Scene20::run() {
_vm->_newSceneNum = 17;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS20ExitPhone], 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS20LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitPhone].x + 1, _vm->_hotspotsWalkPos[kHS20ExitPhone].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitPhone] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -330,7 +330,7 @@ void Scene20::run() {
_vm->_hotspots[kHS20WalkArea2]._flags |= SF_WALKABLE;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS20ExitOutsideToyStore], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS20LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitOutsideToyStore].x, _vm->_hotspotsWalkPos[kHS20ExitOutsideToyStore].y + 1, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitOutsideToyStore] + Common::Point(0, 1), -1, 0x107CD, 1);
_vm->_hotspots[kHS20WalkArea2]._flags &= ~SF_WALKABLE;
}
break;
@@ -343,7 +343,7 @@ void Scene20::run() {
_vm->_newSceneNum = 22;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS20ExitInsideGrubCity] + Common::Point(0, - 1), 0, 0x107BB, 1);
_vm->_gnap->_actionStatus = kAS20LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitInsideGrubCity].x + 1, _vm->_hotspotsWalkPos[kHS20ExitInsideGrubCity].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitInsideGrubCity] + Common::Point(1, 0), -1, 0x107C2, 1);
_vm->_plat->_idleFacing = kDirUnk4;
}
break;
@@ -356,7 +356,7 @@ void Scene20::run() {
_vm->_newSceneNum = 24;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS20ExitOutsideCircusWorld], 0, 0x107BB, 1);
_vm->_gnap->_actionStatus = kAS20LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitOutsideCircusWorld].x + 1, _vm->_hotspotsWalkPos[kHS20ExitOutsideCircusWorld].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS20ExitOutsideCircusWorld] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -758,7 +758,7 @@ void Scene21::run() {
gameSys.insertSequence(0x8D, 59, 0, 0, kSeqNone, 0, 0, 0);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
}
} else {
_vm->_gnap->initPos(5, 11, kDirBottomRight);
@@ -770,7 +770,7 @@ void Scene21::run() {
_vm->_timers[4] = _vm->getRandom(30) + 50;
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
}
while (!_vm->_sceneDone) {
@@ -876,7 +876,7 @@ void Scene21::run() {
_vm->_newSceneNum = 20;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS21ExitOutsideGrubCity], 0, 0x107B3, 1);
_vm->_gnap->_actionStatus = kAS21LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS21ExitOutsideGrubCity].x + 1, _vm->_hotspotsWalkPos[kHS21ExitOutsideGrubCity].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS21ExitOutsideGrubCity] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -1051,7 +1051,7 @@ void Scene22::run() {
_vm->_plat->initPos(11, _vm->_hotspotsWalkPos[kHS22ExitBackGrubCity].y + 1, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(9, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 8), -1, 0x107C2, 1);
}
if (_vm->isFlag(kGFSceneFlag1)) {
@@ -1136,7 +1136,7 @@ void Scene22::run() {
_vm->_newSceneNum = 20;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS22ExitOutsideGrubCity], 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS22LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS22ExitOutsideGrubCity].x, _vm->_hotspotsWalkPos[kHS22ExitOutsideGrubCity].y + 1, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS22ExitOutsideGrubCity] + Common::Point(0, 1), -1, 0x107C2, 1);
}
break;
@@ -1146,7 +1146,7 @@ void Scene22::run() {
_vm->_newSceneNum = 23;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS22ExitBackGrubCity], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS22LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS22ExitBackGrubCity].x, _vm->_hotspotsWalkPos[kHS22ExitBackGrubCity].y + 1, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS22ExitBackGrubCity] + Common::Point(0, 1), -1, 0x107C2, 1);
}
break;
@@ -1298,7 +1298,7 @@ void Scene23::run() {
gameSys.insertSequence(0xBF, 2, 0, 0, kSeqNone, 0, 0, 0);
_vm->endSceneInit();
- _vm->platypusWalkTo(1, 7, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 7), -1, 0x107C2, 1);
if (_vm->isFlag(kGFUnk24)) {
_vm->gnapWalkTo(Common::Point(2, 7), -1, 0x107B9, 1);
@@ -1393,7 +1393,7 @@ void Scene23::run() {
_vm->_newSceneNum = 22;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS23ExitFrontGrubCity], 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS23LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS23ExitFrontGrubCity].x, _vm->_hotspotsWalkPos[kHS23ExitFrontGrubCity].y - 1, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS23ExitFrontGrubCity] + Common::Point(0, -1), -1, 0x107C2, 1);
}
break;
@@ -1567,13 +1567,13 @@ void Scene24::run() {
_vm->_plat->initPos(2, 8, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(1, 9), -1, 0x107B9, 1);
- _vm->platypusWalkTo(2, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(2, 9), -1, 0x107C2, 1);
} else {
_vm->_gnap->initPos(8, 8, kDirBottomLeft);
_vm->_plat->initPos(8, 8, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(3, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(3, 8), -1, 0x107C2, 1);
}
while (!_vm->_sceneDone) {
@@ -1626,7 +1626,7 @@ void Scene24::run() {
_vm->_newSceneNum = 25;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS24ExitCircusWorld], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS24LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS24ExitCircusWorld].x + 1, _vm->_hotspotsWalkPos[kHS24ExitCircusWorld].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS24ExitCircusWorld] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -1637,7 +1637,7 @@ void Scene24::run() {
_vm->_gnap->_idleFacing = kDirUpRight;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS24ExitOutsideGrubCity], 0, _vm->_gnap->getSequenceId(gskIdle, 0, 0) | 0x10000, 1);
_vm->_gnap->_actionStatus = kAS24LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS24ExitOutsideGrubCity].x + 1, _vm->_hotspotsWalkPos[kHS24ExitOutsideGrubCity].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS24ExitOutsideGrubCity] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -1816,13 +1816,13 @@ void Scene25::run() {
_vm->_plat->initPos(6, 11, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(5, 7), -1, 0x107BA, 1);
- _vm->platypusWalkTo(6, 7, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 7), -1, 0x107C2, 1);
} else {
_vm->_gnap->initPos(5, 6, kDirBottomRight);
_vm->_plat->initPos(6, 6, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
}
while (!_vm->_sceneDone) {
@@ -1902,7 +1902,7 @@ void Scene25::run() {
_vm->_newSceneNum = 24;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS25ExitOutsideCircusWorld], 0, 0x107B4, 1);
_vm->_gnap->_actionStatus = kAS25LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS25ExitOutsideCircusWorld].x + 1, _vm->_hotspotsWalkPos[kHS25ExitOutsideCircusWorld].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS25ExitOutsideCircusWorld] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -1914,7 +1914,7 @@ void Scene25::run() {
_vm->_hotspots[kHS25WalkArea1]._flags |= SF_WALKABLE;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS25ExitInsideCircusWorld], 0, 0x107B1, 1);
_vm->_gnap->_actionStatus = kAS25LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS25ExitInsideCircusWorld].x + 1, _vm->_hotspotsWalkPos[kHS25ExitInsideCircusWorld].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS25ExitInsideCircusWorld] + Common::Point(1, 0), -1, 0x107C2, 1);
_vm->_hotspots[kHS25WalkArea1]._flags &= ~SF_WALKABLE;
} else {
_vm->_hotspots[kHS25WalkArea1]._flags |= SF_WALKABLE;
@@ -2134,7 +2134,7 @@ void Scene26::run() {
_vm->_plat->initPos(-2, 8, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(1, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 8), -1, 0x107C2, 1);
} else {
_vm->_gnap->initPos(2, 8, kDirBottomRight);
_vm->_plat->initPos(3, 8, kDirNone);
@@ -2351,21 +2351,21 @@ void Scene27::run() {
_vm->_plat->initPos(6, 12, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(7, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
break;
case 29:
_vm->_gnap->initPos(-1, 8, kDirBottomRight);
_vm->_plat->initPos(-1, 9, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(3, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(3, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(3, 9), -1, 0x107C2, 1);
break;
case 31:
_vm->_gnap->initPos(12, 8, kDirBottomLeft);
_vm->_plat->initPos(12, 9, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(8, 9, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(8, 9), -1, 0x107C2, 1);
break;
default:
_vm->_gnap->initPos(6, 8, kDirBottomRight);
@@ -2472,7 +2472,7 @@ void Scene27::run() {
_vm->_newSceneNum = 26;
_vm->gnapWalkTo(Common::Point(-1, _vm->_hotspotsWalkPos[kHS27ExitCircus].y), 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS27LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS27ExitCircus].x + 1, _vm->_hotspotsWalkPos[kHS27ExitCircus].y, -1, 0x107C7, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS27ExitCircus] + Common::Point(1, 0), -1, 0x107C7, 1);
}
break;
@@ -2482,7 +2482,7 @@ void Scene27::run() {
_vm->_newSceneNum = 29;
_vm->gnapWalkTo(Common::Point(-1, _vm->_hotspotsWalkPos[kHS27ExitArcade].y), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS27LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS27ExitArcade].x, _vm->_hotspotsWalkPos[kHS27ExitArcade].y + 1, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS27ExitArcade] + Common::Point(0, 1), -1, 0x107CF, 1);
}
break;
@@ -2492,7 +2492,7 @@ void Scene27::run() {
_vm->_newSceneNum = 31;
_vm->gnapWalkTo(Common::Point(-1, _vm->_hotspotsWalkPos[kHS27ExitBeerStand].y), 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS27LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS27ExitBeerStand].x, _vm->_hotspotsWalkPos[kHS27ExitBeerStand].y + 1, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS27ExitBeerStand] + Common::Point(0, 1), -1, 0x107CD, 1);
}
break;
@@ -2503,7 +2503,7 @@ void Scene27::run() {
_vm->_newSceneNum = 28;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS27ExitClown], 0, 0x107AD, 1);
_vm->_gnap->_actionStatus = kAS27LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS27ExitClown].x + 1, _vm->_hotspotsWalkPos[kHS27ExitClown].y, -1, 0x107C4, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS27ExitClown] + Common::Point(1, 0), -1, 0x107C4, 1);
} else {
_vm->_hotspots[kHS27WalkArea1]._flags |= SF_WALKABLE;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS27ExitClown].x, 7), 0, 0x107BC, 1);
@@ -2868,7 +2868,7 @@ void Scene28::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS28ExitOutsideClown], 0, 0x107BF, 1);
_vm->_gnap->_actionStatus = kAS28LeaveScene;
_vm->_hotspots[kHS28WalkArea1]._flags &= ~SF_WALKABLE;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS28ExitOutsideClown].x - 1, _vm->_hotspotsWalkPos[kHS28ExitOutsideClown].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS28ExitOutsideClown] + Common::Point(-1, 0), -1, 0x107C2, 1);
}
break;
@@ -3128,13 +3128,13 @@ void Scene29::run() {
_vm->_plat->initPos(12, 8, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 7), -1, 0x107B9, 1);
- _vm->platypusWalkTo(8, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(8, 8), -1, 0x107C2, 1);
} else {
_vm->_gnap->initPos(-1, 7, kDirBottomRight);
_vm->_plat->initPos(-2, 7, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(2, 7), -1, 0x107B9, 1);
- _vm->platypusWalkTo(1, 7, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 7), -1, 0x107C2, 1);
}
while (!_vm->_sceneDone) {
@@ -3212,7 +3212,7 @@ void Scene29::run() {
_vm->_newSceneNum = 26;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS29ExitCircus], 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS29LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS29ExitCircus].x + 1, _vm->_hotspotsWalkPos[kHS29ExitCircus].y, -1, -1, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS29ExitCircus] + Common::Point(1, 0), -1, -1, 1);
}
break;
@@ -3222,7 +3222,7 @@ void Scene29::run() {
_vm->_newSceneNum = 27;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS29ExitOutsideClown], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS29LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS29ExitOutsideClown].x, _vm->_hotspotsWalkPos[kHS29ExitOutsideClown].y - 1, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS29ExitOutsideClown] + Common::Point(0, -1), -1, 0x107CD, 1);
}
break;
@@ -3351,7 +3351,7 @@ void Scene29::updateAnimations() {
_vm->_timers[5] = 30;
while (_vm->_timers[5])
_vm->gameUpdateTick();
- _vm->platypusWalkTo(0, 8, 1, 0x107CF, 1);
+ _vm->platypusWalkTo(Common::Point(0, 8), 1, 0x107CF, 1);
while (gameSys.getAnimationStatus(1) != 2)
_vm->gameUpdateTick();
} else if (_nextMonkeySequenceId == -1) {
diff --git a/engines/gnap/scenes/group3.cpp b/engines/gnap/scenes/group3.cpp
index be8b9113fc..8a91123571 100644
--- a/engines/gnap/scenes/group3.cpp
+++ b/engines/gnap/scenes/group3.cpp
@@ -68,7 +68,7 @@ void Scene30::run() {
_vm->_plat->initPos(6, 12, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(7, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
while (!_vm->_sceneDone) {
_vm->updateMouseCursor();
@@ -148,7 +148,7 @@ void Scene30::run() {
_vm->_newSceneNum = 26;
_vm->gnapWalkTo(Common::Point(-1, _vm->_hotspotsWalkPos[kHS30ExitCircus].y), 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS30LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS30ExitCircus].x + 1, _vm->_hotspotsWalkPos[kHS30ExitCircus].y, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS30ExitCircus] + Common::Point(1, 0), -1, 0x107C2, 1);
}
break;
@@ -316,13 +316,13 @@ void Scene31::run() {
_vm->_plat->initPos(-1, 9, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(3, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(3, 9, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(3, 9), -1, 0x107D2, 1);
} else {
_vm->_gnap->initPos(7, 12, kDirBottomRight);
_vm->_plat->initPos(6, 12, kDirNone);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(7, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(6, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107D2, 1);
}
while (!_vm->_sceneDone) {
@@ -394,9 +394,9 @@ void Scene31::run() {
case PLAT_CURSOR:
if (!_vm->invHas(kItemBucketWithBeer)) {
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS31MeasuringClown].x, _vm->_hotspotsWalkPos[kHS31MeasuringClown].y + 1, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS31MeasuringClown] + Common::Point(0, 1), 1, 0x107C2, 1);
_vm->_hotspots[kHS31WalkArea1]._flags |= SF_WALKABLE;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS31MeasuringClown].x, _vm->_hotspotsWalkPos[kHS31MeasuringClown].y, 1, 0x107C2, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS31MeasuringClown], 1, 0x107C2, 1);
_vm->_hotspots[kHS31WalkArea1]._flags &= ~SF_WALKABLE;
_vm->_plat->_actionStatus = kAS31PlatMeasuringClown;
_vm->_gnap->_actionStatus = kAS31PlatMeasuringClown;
@@ -452,7 +452,7 @@ void Scene31::run() {
_vm->_newSceneNum = 26;
_vm->gnapWalkTo(Common::Point(-1, _vm->_hotspotsWalkPos[kHS31ExitCircus].y), 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS31LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS31ExitCircus].x + 1, _vm->_hotspotsWalkPos[kHS31ExitCircus].y, -1, -1, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS31ExitCircus] + Common::Point(1, 0), -1, -1, 1);
}
break;
@@ -462,7 +462,7 @@ void Scene31::run() {
_vm->_newSceneNum = 27;
_vm->gnapWalkTo(Common::Point(-1, _vm->_hotspotsWalkPos[kHS31ExitOutsideClown].y), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS31LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS31ExitOutsideClown].x, _vm->_hotspotsWalkPos[kHS31ExitOutsideClown].y + 1, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS31ExitOutsideClown] + Common::Point(0, 1), -1, 0x107CF, 1);
}
break;
@@ -667,7 +667,7 @@ void Scene32::run() {
_vm->_gnap->initPos(11, 6, kDirBottomLeft);
_vm->_plat->initPos(12, 6, kDirUnk4);
_vm->endSceneInit();
- _vm->platypusWalkTo(9, 6, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 6), -1, 0x107D2, 1);
_vm->gnapWalkTo(Common::Point(8, 6), -1, 0x107BA, 1);
} else {
_vm->_gnap->initPos(1, 6, kDirBottomRight);
@@ -721,7 +721,7 @@ void Scene32::run() {
_vm->setGrabCursorSprite(-1);
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS32ExitTruck], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS32LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS32ExitTruck].x, _vm->_hotspotsWalkPos[kHS32ExitTruck].y + 1, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS32ExitTruck] + Common::Point(0, 1), -1, 0x107CD, 1);
_vm->_newSceneNum = 33;
}
break;
@@ -830,7 +830,7 @@ void Scene33::run() {
_vm->_plat->initPos(12, 7, kDirUnk4);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 7), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 7, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 7), -1, 0x107D2, 1);
break;
case 37:
_vm->_gnap->initPos(7, 7, kDirBottomRight);
@@ -841,7 +841,7 @@ void Scene33::run() {
_vm->_gnap->initPos(-1, 6, kDirBottomRight);
_vm->_plat->initPos(-1, 7, kDirNone);
_vm->endSceneInit();
- _vm->platypusWalkTo(2, 7, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(2, 7), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
break;
default:
@@ -947,7 +947,7 @@ void Scene33::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS33ExitCreek], 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS33LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS33ExitCreek].x, _vm->_hotspotsWalkPos[kHS33ExitCreek].y, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS33ExitCreek], -1, 0x107CD, 1);
_vm->_newSceneNum = 34;
}
break;
@@ -957,7 +957,7 @@ void Scene33::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS33ExitPigpen], 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS33LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS33ExitPigpen].x, _vm->_hotspotsWalkPos[kHS33ExitPigpen].y, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS33ExitPigpen], -1, 0x107CF, 1);
_vm->_newSceneNum = 32;
}
break;
@@ -1216,7 +1216,7 @@ void Scene38::run() {
_vm->playGnapImpossible(0, 0);
else {
_vm->gnapWalkTo(Common::Point(3, 6), 0, 0x107BB, 1);
- _vm->platypusWalkTo(4, 8, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(4, 8), -1, -1, 1);
_vm->_gnap->_actionStatus = kAS38UseHuntingTrophy;
}
break;
@@ -1355,7 +1355,7 @@ void Scene38::updateAnimations() {
_vm->_plat->playSequence(0x107D5);
else
_vm->_plat->playSequence(0x107D4);
- _vm->platypusWalkTo(8, 7, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(8, 7), -1, 0x107D2, 1);
gameSys.insertSequence(0xA1, _vm->_gnap->_id + 1, _vm->_plat->_sequenceId | (_vm->_plat->_sequenceDatNum << 16), _vm->_plat->_id, kSeqSyncWait, 0, 0, 0);
_vm->_plat->_sequenceId = 0xA1;
_vm->_plat->_sequenceDatNum = 0;
diff --git a/engines/gnap/scenes/group4.cpp b/engines/gnap/scenes/group4.cpp
index f6f41e6be5..b805c1052c 100644
--- a/engines/gnap/scenes/group4.cpp
+++ b/engines/gnap/scenes/group4.cpp
@@ -276,14 +276,14 @@ void Scene41::run() {
_vm->_gnap->initPos(-1, 8, kDirUpRight);
_vm->_plat->initPos(-2, 8, kDirUpLeft);
_vm->endSceneInit();
- _vm->platypusWalkTo(1, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
} else if (_vm->_prevSceneNum == 42) {
_vm->_gnap->initPos(11, 8, kDirUpRight);
_vm->_plat->initPos(11, 9, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 8), -1, 0x107D2, 1);
} else {
_vm->_gnap->initPos(5, 8, kDirBottomRight);
_vm->_plat->initPos(6, 8, kDirBottomLeft);
@@ -383,7 +383,7 @@ void Scene41::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS41Exit].x, -1), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS41LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS41Exit].x, -1, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS41Exit].x, -1), -1, 0x107CF, 1);
_vm->_newSceneNum = 45;
break;
@@ -391,7 +391,7 @@ void Scene41::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS41ExitBBQ].x, -1), 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS41LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS41ExitBBQ].x, -1, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS41ExitBBQ].x, -1), -1, 0x107CD, 1);
_vm->_newSceneNum = 42;
break;
@@ -789,19 +789,19 @@ void Scene42::run() {
_vm->_plat->initPos(-1, 9, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(1, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 8), -1, 0x107C2, 1);
} else if (_vm->_prevSceneNum == 43) {
_vm->_gnap->initPos(11, 8, kDirUpRight);
_vm->_plat->initPos(11, 9, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 8), -1, 0x107D2, 1);
} else {
_vm->_gnap->initPos(5, 11, kDirUpRight);
_vm->_plat->initPos(6, 11, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
}
while (!_vm->_sceneDone) {
@@ -888,7 +888,7 @@ void Scene42::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_gnap->_pos.x, _vm->_hotspotsWalkPos[kHS42ExitUfoParty].y), 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = kAS42LeaveScene;
- _vm->platypusWalkTo(_vm->_plat->_pos.x, _vm->_hotspotsWalkPos[kHS42ExitUfoParty].y, -1, 0x107C7, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_plat->_pos.x, _vm->_hotspotsWalkPos[kHS42ExitUfoParty].y), -1, 0x107C7, 1);
_vm->_newSceneNum = 40;
break;
@@ -896,7 +896,7 @@ void Scene42::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS42ExitToyStand].x, _vm->_gnap->_pos.y), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = kAS42LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS42ExitToyStand].x, _vm->_hotspotsWalkPos[kHS42ExitToyStand].y, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS42ExitToyStand], -1, 0x107CF, 1);
_vm->_newSceneNum = 41;
break;
@@ -904,7 +904,7 @@ void Scene42::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS42ExitUfo].x, _vm->_gnap->_pos.y), 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = kAS42LeaveScene;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS42ExitUfo].x, _vm->_hotspotsWalkPos[kHS42ExitUfo].y, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS42ExitUfo], -1, 0x107CD, 1);
_vm->_newSceneNum = 43;
break;
@@ -913,7 +913,7 @@ void Scene42::run() {
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS42BBQVendor], 0, 0x107BB, 1);
_vm->_gnap->_actionStatus = kAS42UseQuarterWithBBQVendor;
if (_vm->_plat->_pos.y < 9)
- _vm->platypusWalkTo(_vm->_plat->_pos.x, 9, -1, -1, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_plat->_pos.x, 9), -1, -1, 1);
} else if (_vm->_grabCursorSpriteIndex >= 0) {
_vm->playGnapShowCurrItem(_vm->_hotspotsWalkPos[kHS42BBQVendor].x, _vm->_hotspotsWalkPos[kHS42BBQVendor].y, _vm->_hotspotsWalkPos[kHS42BBQVendor].x + 1, 0);
} else {
@@ -1231,27 +1231,27 @@ void Scene43::run() {
_vm->_plat->initPos(-1, 9, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(1, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 8), -1, 0x107C2, 1);
break;
case 44:
_vm->_gnap->initPos(11, 8, kDirUpRight);
_vm->_plat->initPos(11, 9, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 8), -1, 0x107D2, 1);
break;
case 54:
_vm->_gnap->initPos(4, 7, kDirBottomLeft);
_vm->_plat->initPos(11, 8, kDirUpLeft);
_vm->endSceneInit();
- _vm->platypusWalkTo(9, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 8), -1, 0x107D2, 1);
break;
default:
_vm->_gnap->initPos(5, 11, kDirUpRight);
_vm->_plat->initPos(6, 11, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
break;
}
}
@@ -1346,7 +1346,7 @@ void Scene43::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(_vm->_hotspotsWalkPos[kHS43ExitUfoParty], 0, 0x107AE, 1);
_vm->_gnap->_actionStatus = 0;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS43ExitUfoParty].x, _vm->_hotspotsWalkPos[kHS43ExitUfoParty].y, -1, 0x107C7, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS43ExitUfoParty], -1, 0x107C7, 1);
_vm->_newSceneNum = 40;
break;
@@ -1354,7 +1354,7 @@ void Scene43::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS43ExitBBQ].x, _vm->_gnap->_pos.y), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = 0;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS43ExitBBQ].x, _vm->_hotspotsWalkPos[kHS43ExitBBQ].y, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS43ExitBBQ], -1, 0x107CF, 1);
_vm->_newSceneNum = 42;
break;
@@ -1362,7 +1362,7 @@ void Scene43::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS43ExitKissinBooth].x, _vm->_gnap->_pos.y), 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = 0;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS43ExitKissinBooth].x, _vm->_hotspotsWalkPos[kHS43ExitKissinBooth].y, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS43ExitKissinBooth], -1, 0x107CD, 1);
_vm->_newSceneNum = 44;
break;
@@ -1685,14 +1685,14 @@ void Scene44::run() {
_vm->_plat->initPos(-1, 7, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
- _vm->platypusWalkTo(1, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 8), -1, 0x107C2, 1);
break;
case 46:
_vm->_gnap->initPos(11, 8, kDirUpRight);
_vm->_plat->initPos(11, 8, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(6, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(7, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(7, 8), -1, 0x107D2, 1);
break;
case 50:
_vm->_gnap->initPos(4, 8, kDirBottomRight);
@@ -1714,7 +1714,7 @@ void Scene44::run() {
_vm->_gnap->initPos(5, 11, kDirUpRight);
_vm->_plat->initPos(6, 11, kDirUpLeft);
_vm->endSceneInit();
- _vm->platypusWalkTo(6, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(5, 8), -1, 0x107BA, 1);
break;
}
@@ -1801,7 +1801,7 @@ void Scene44::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS44ExitUfo].x, _vm->_gnap->_pos.y), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = 0;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS44ExitUfo].x, _vm->_plat->_pos.y, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS44ExitUfo].x, _vm->_plat->_pos.y), -1, 0x107CF, 1);
_vm->_newSceneNum = 43;
break;
@@ -1832,7 +1832,7 @@ void Scene44::run() {
break;
case PLAT_CURSOR:
_vm->_gnap->useDeviceOnPlatypus();
- _vm->platypusWalkTo(6, 7, 1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(6, 7), 1, 0x107D2, 1);
if (_vm->_gnap->_pos == Common::Point(7, 7))
_vm->gnapWalkStep();
_vm->playGnapIdle(5, 7);
@@ -2153,19 +2153,19 @@ void Scene45::run() {
_vm->_gnap->initPos(-1, 8, kDirUpRight);
_vm->_plat->initPos(-1, 9, kDirUpLeft);
_vm->endSceneInit();
- _vm->platypusWalkTo(4, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(4, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(2, 7), -1, 0x107B9, 1);
} else if (_vm->_prevSceneNum == 41) {
_vm->_gnap->initPos(11, 8, kDirUpRight);
_vm->_plat->initPos(11, 9, kDirUpLeft);
_vm->endSceneInit();
- _vm->platypusWalkTo(4, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(4, 8), -1, 0x107D2, 1);
_vm->gnapWalkTo(Common::Point(10, 9), -1, 0x107BA, 1);
} else {
_vm->_gnap->initPos(2, 11, kDirUpRight);
_vm->_plat->initPos(6, 11, kDirUpLeft);
_vm->endSceneInit();
- _vm->platypusWalkTo(4, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(4, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(2, 7), -1, 0x107B9, 1);
}
@@ -2295,7 +2295,7 @@ void Scene45::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS45ExitShoe].x, _vm->_gnap->_pos.y), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = 0;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS45ExitShoe].x, _vm->_plat->_pos.y, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS45ExitShoe].x, _vm->_plat->_pos.y), -1, 0x107CF, 1);
_vm->_newSceneNum = 46;
}
break;
@@ -2305,7 +2305,7 @@ void Scene45::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS45ExitRight].x, _vm->_gnap->_pos.y), 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = 0;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS45ExitRight].x, _vm->_plat->_pos.y, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS45ExitRight].x, _vm->_plat->_pos.y), -1, 0x107CD, 1);
_vm->_newSceneNum = 41;
}
break;
@@ -2517,19 +2517,19 @@ void Scene46::run() {
_vm->_gnap->initPos(-1, 8, kDirUpRight);
_vm->_plat->initPos(-1, 8, kDirUpLeft);
_vm->endSceneInit();
- _vm->platypusWalkTo(1, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(1, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(2, 8), -1, 0x107B9, 1);
} else if (_vm->_prevSceneNum == 45) {
_vm->_gnap->initPos(11, 8, kDirUpRight);
_vm->_plat->initPos(12, 8, kDirUpLeft);
_vm->endSceneInit();
_vm->gnapWalkTo(Common::Point(8, 8), -1, 0x107BA, 1);
- _vm->platypusWalkTo(9, 8, -1, 0x107D2, 1);
+ _vm->platypusWalkTo(Common::Point(9, 8), -1, 0x107D2, 1);
} else {
_vm->_gnap->initPos(5, 11, kDirUpRight);
_vm->_plat->initPos(6, 11, kDirUpLeft);
_vm->endSceneInit();
- _vm->platypusWalkTo(5, 8, -1, 0x107C2, 1);
+ _vm->platypusWalkTo(Common::Point(5, 8), -1, 0x107C2, 1);
_vm->gnapWalkTo(Common::Point(6, 8), -1, 0x107BA, 1);
}
@@ -2657,7 +2657,7 @@ void Scene46::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS46ExitKissinBooth].x, _vm->_gnap->_pos.y), 0, 0x107AF, 1);
_vm->_gnap->_actionStatus = 0;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS46ExitKissinBooth].x, _vm->_plat->_pos.y, -1, 0x107CF, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS46ExitKissinBooth].x, _vm->_plat->_pos.y), -1, 0x107CF, 1);
_vm->_newSceneNum = 44;
break;
@@ -2665,7 +2665,7 @@ void Scene46::run() {
_vm->_isLeavingScene = true;
_vm->gnapWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS46ExitDisco].x, _vm->_gnap->_pos.y), 0, 0x107AB, 1);
_vm->_gnap->_actionStatus = 0;
- _vm->platypusWalkTo(_vm->_hotspotsWalkPos[kHS46ExitDisco].x, _vm->_plat->_pos.y, -1, 0x107CD, 1);
+ _vm->platypusWalkTo(Common::Point(_vm->_hotspotsWalkPos[kHS46ExitDisco].x, _vm->_plat->_pos.y), -1, 0x107CD, 1);
_vm->_newSceneNum = 45;
break;