From af1cf151de9ffc9d040a4e52b57fe3dfd754969b Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 12 May 2016 07:53:06 +0200 Subject: GNAP: Use Common::Rect for hotspots --- engines/gnap/scenes/group1.cpp | 28 +++++++++++----------------- engines/gnap/scenes/group2.cpp | 4 ++-- engines/gnap/scenes/group4.cpp | 8 ++------ 3 files changed, 15 insertions(+), 25 deletions(-) (limited to 'engines/gnap/scenes') diff --git a/engines/gnap/scenes/group1.cpp b/engines/gnap/scenes/group1.cpp index 0993cf53c4..7aa5d9efdd 100644 --- a/engines/gnap/scenes/group1.cpp +++ b/engines/gnap/scenes/group1.cpp @@ -2068,10 +2068,7 @@ void Scene15::run() { _vm->updateMouseCursor(); _vm->updateCursorByHotspot(); - _vm->_hotspots[kHS15Platypus]._x1 = 0; - _vm->_hotspots[kHS15Platypus]._y1 = 0; - _vm->_hotspots[kHS15Platypus]._x2 = 0; - _vm->_hotspots[kHS15Platypus]._y2 = 0; + _vm->_hotspots[kHS15Platypus].clearRect(); _vm->_sceneClickedHotspot = _vm->getClickedHotspotId(); _vm->updateGrabCursorSprite(0, 0); @@ -3147,23 +3144,20 @@ void Scene18::updateHotspots() { if (_vm->isFlag(kGFTruckFilledWithGas)) { if (_vm->isFlag(kGFTruckKeysUsed)) { _vm->_hotspots[kHS18HydrantTopValve]._flags = SF_DISABLED; - _vm->_hotspots[kHS18HydrantRightValve]._x1 = 148; - _vm->_hotspots[kHS18HydrantRightValve]._y1 = 403; + _vm->_hotspots[kHS18HydrantRightValve]._rect.left = 148; + _vm->_hotspots[kHS18HydrantRightValve]._rect.top = 403; _vm->_hotspots[kHS18GarbageCan]._flags = SF_DISABLED; _vm->_hotspotsWalkPos[kHS18GarbageCan].x = 3; _vm->_hotspotsWalkPos[kHS18GarbageCan].y = 7; } else { - _vm->_hotspots[kHS18HydrantTopValve]._y1 = 246; + _vm->_hotspots[kHS18HydrantTopValve]._rect.top = 246; } } else if (_vm->isFlag(kGFBarnPadlockOpen)) { _vm->_hotspots[kHS18HydrantRightValve]._flags = SF_DISABLED; - _vm->_hotspots[kHS18HydrantTopValve]._x1 = 105; - _vm->_hotspots[kHS18HydrantTopValve]._x2 = 192; + _vm->_hotspots[kHS18HydrantTopValve]._rect.left = 105; + _vm->_hotspots[kHS18HydrantTopValve]._rect.right = 192; } else if (_vm->isFlag(kGFTruckKeysUsed)) { - _vm->_hotspots[kHS18GarbageCan]._x1 = 115; - _vm->_hotspots[kHS18GarbageCan]._y1 = 365; - _vm->_hotspots[kHS18GarbageCan]._x2 = 168; - _vm->_hotspots[kHS18GarbageCan]._y2 = 470; + _vm->_hotspots[kHS18GarbageCan]._rect = Common::Rect(115, 365, 168, 470); _vm->_hotspots[kHS18GarbageCan]._flags = SF_WALKABLE | SF_TALK_CURSOR | SF_GRAB_CURSOR | SF_LOOK_CURSOR; _vm->_hotspotsWalkPos[kHS18GarbageCan].x = 3; _vm->_hotspotsWalkPos[kHS18GarbageCan].y = 7; @@ -3794,11 +3788,11 @@ void Scene18::run() { _vm->clearFlag(kGFPlatypusTalkingToAssistant); } } else { - _vm->_hotspots[kHS18WalkArea1]._y2 += 48; - _vm->_hotspots[kHS18WalkArea2]._x1 += 75; + _vm->_hotspots[kHS18WalkArea1]._rect.bottom += 48; + _vm->_hotspots[kHS18WalkArea2]._rect.left += 75; plat.updateIdleSequence(); - _vm->_hotspots[kHS18WalkArea2]._x1 -= 75; - _vm->_hotspots[kHS18WalkArea1]._y2 -= 48; + _vm->_hotspots[kHS18WalkArea2]._rect.left -= 75; + _vm->_hotspots[kHS18WalkArea1]._rect.bottom -= 48; } if (!_vm->_timers[5]) { _vm->_timers[5] = _vm->getRandom(100) + 100; diff --git a/engines/gnap/scenes/group2.cpp b/engines/gnap/scenes/group2.cpp index 81bc8c5920..380bb0ba67 100644 --- a/engines/gnap/scenes/group2.cpp +++ b/engines/gnap/scenes/group2.cpp @@ -473,9 +473,9 @@ void Scene20::run() { if (!_vm->_isLeavingScene) { if (plat._actionStatus < 0) { - _vm->_hotspots[kHS20WalkArea1]._y2 += 48; + _vm->_hotspots[kHS20WalkArea1]._rect.bottom += 48; plat.updateIdleSequence(); - _vm->_hotspots[kHS20WalkArea1]._y2 -= 48; + _vm->_hotspots[kHS20WalkArea1]._rect.bottom -= 48; } if (gnap._actionStatus < 0) gnap.updateIdleSequence(); diff --git a/engines/gnap/scenes/group4.cpp b/engines/gnap/scenes/group4.cpp index 3c67dd6f4b..810e4bfdfc 100644 --- a/engines/gnap/scenes/group4.cpp +++ b/engines/gnap/scenes/group4.cpp @@ -303,12 +303,8 @@ void Scene41::run() { if (!_vm->isSoundPlaying(0x1094B)) _vm->playSound(0x1094B, true); - if (!_vm->isFlag(kGFGnapControlsToyUFO)) { - _vm->_hotspots[kHS41ToyUfo]._x1 = _vm->_toyUfoX - 25; - _vm->_hotspots[kHS41ToyUfo]._y1 = _vm->_toyUfoY - 20; - _vm->_hotspots[kHS41ToyUfo]._x2 = _vm->_toyUfoX + 25; - _vm->_hotspots[kHS41ToyUfo]._y2 = _vm->_toyUfoY + 20; - } + if (!_vm->isFlag(kGFGnapControlsToyUFO)) + _vm->_hotspots[kHS41ToyUfo]._rect = Common::Rect(_vm->_toyUfoX - 25, _vm->_toyUfoY - 20, _vm->_toyUfoX + 25, _vm->_toyUfoY + 20); _vm->updateMouseCursor(); _vm->updateCursorByHotspot(); -- cgit v1.2.3