diff options
Diffstat (limited to 'engines/mohawk/myst_areas.cpp')
-rw-r--r-- | engines/mohawk/myst_areas.cpp | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/engines/mohawk/myst_areas.cpp b/engines/mohawk/myst_areas.cpp index d04bb3a771..fddf46e371 100644 --- a/engines/mohawk/myst_areas.cpp +++ b/engines/mohawk/myst_areas.cpp @@ -68,7 +68,7 @@ MystResource::MystResource(MohawkEngine_Myst *vm, Common::SeekableReadStream *rl MystResource::~MystResource() { } -void MystResource::handleMouseUp(Common::Point *mouse) { +void MystResource::handleMouseUp(const Common::Point &mouse) { if (_dest != 0) _vm->changeToCard(_dest, true); else @@ -101,7 +101,7 @@ MystResourceType5::MystResourceType5(MohawkEngine_Myst *vm, Common::SeekableRead _script = vm->_scriptParser->readScript(rlstStream, kMystScriptNormal); } -void MystResourceType5::handleMouseUp(Common::Point *mouse) { +void MystResourceType5::handleMouseUp(const Common::Point &mouse) { _vm->_scriptParser->runScript(_script, this); } @@ -238,7 +238,7 @@ void MystResourceType7::handleAnimation() { } } -void MystResourceType7::handleMouseUp(Common::Point *mouse) { +void MystResourceType7::handleMouseUp(const Common::Point &mouse) { if (_var7 == 0xFFFF) { if (_numSubResources == 1) _subResources[0]->handleMouseUp(mouse); @@ -258,7 +258,7 @@ void MystResourceType7::handleMouseUp(Common::Point *mouse) { } } -void MystResourceType7::handleMouseDown(Common::Point *mouse) { +void MystResourceType7::handleMouseDown(const Common::Point &mouse) { if (_var7 == 0xFFFF) { if (_numSubResources == 1) _subResources[0]->handleMouseDown(mouse); @@ -520,7 +520,7 @@ void MystResourceType10::drawDataToScreen() MystResourceType8::drawDataToScreen(); } -void MystResourceType10::handleMouseDown(Common::Point *mouse) { +void MystResourceType10::handleMouseDown(const Common::Point &mouse) { // Tell the engine we are dragging a resource _vm->_dragResource = this; @@ -535,7 +535,7 @@ void MystResourceType10::handleMouseDown(Common::Point *mouse) { drawConditionalDataToScreen(2); } -void MystResourceType10::handleMouseUp(Common::Point *mouse) { +void MystResourceType10::handleMouseUp(const Common::Point &mouse) { updatePosition(mouse); // Restore background @@ -567,7 +567,7 @@ void MystResourceType10::handleMouseUp(Common::Point *mouse) { _vm->_dragResource = 0; } -void MystResourceType10::handleMouseDrag(Common::Point *mouse) { +void MystResourceType10::handleMouseDrag(const Common::Point &mouse) { updatePosition(mouse); MystResourceType11::handleMouseDrag(mouse); @@ -579,14 +579,15 @@ void MystResourceType10::handleMouseDrag(Common::Point *mouse) { drawConditionalDataToScreen(2); } -void MystResourceType10::updatePosition(Common::Point *mouse) { +void MystResourceType10::updatePosition(const Common::Point &mouse) { bool positionChanged = false; - setPositionClipping(mouse, mouse); + Common::Point mouseClipped; + setPositionClipping(mouse, mouseClipped); if (_flagHV & 2) { if (_stepV) { - uint16 center = _minV + _stepV * (mouse->y - _minV) / _stepV; + uint16 center = _minV + _stepV * (mouseClipped.y - _minV) / _stepV; uint16 top = center - _sliderHeigth / 2; if (_rect.top != top) { positionChanged = true; @@ -595,8 +596,8 @@ void MystResourceType10::updatePosition(Common::Point *mouse) { } } else { positionChanged = true; - _pos.y = mouse->y; - _rect.top = mouse->y - _sliderHeigth / 2; + _pos.y = mouseClipped.y; + _rect.top = mouseClipped.y - _sliderHeigth / 2; } if (positionChanged) { _rect.bottom = _rect.top + _sliderHeigth; @@ -607,7 +608,7 @@ void MystResourceType10::updatePosition(Common::Point *mouse) { if (_flagHV & 1) { if (_stepH) { - uint16 center = _minH + _stepH * (mouse->x - _minH) / _stepH; + uint16 center = _minH + _stepH * (mouseClipped.x - _minH) / _stepH; uint16 left = center - _sliderWidth / 2; if (_rect.left != left) { positionChanged = true; @@ -616,8 +617,8 @@ void MystResourceType10::updatePosition(Common::Point *mouse) { } } else { positionChanged = true; - _pos.x = mouse->x; - _rect.left = mouse->x - _sliderWidth / 2; + _pos.x = mouseClipped.x; + _rect.left = mouseClipped.x - _sliderWidth / 2; } if (positionChanged) { _rect.right = _rect.left + _sliderWidth; @@ -683,30 +684,30 @@ MystResourceType11::~MystResourceType11() { delete[] _lists[i].list; } -void MystResourceType11::handleMouseDown(Common::Point *mouse) { - setPositionClipping(mouse, &_pos); +void MystResourceType11::handleMouseDown(const Common::Point &mouse) { + setPositionClipping(mouse, _pos); _vm->_scriptParser->runOpcode(_mouseDownOpcode, _var8); } -void MystResourceType11::handleMouseUp(Common::Point *mouse) { - setPositionClipping(mouse, &_pos); +void MystResourceType11::handleMouseUp(const Common::Point &mouse) { + setPositionClipping(mouse, _pos); _vm->_scriptParser->runOpcode(_mouseUpOpcode, _var8); } -void MystResourceType11::handleMouseDrag(Common::Point *mouse) { - setPositionClipping(mouse, &_pos); +void MystResourceType11::handleMouseDrag(const Common::Point &mouse) { + setPositionClipping(mouse, _pos); _vm->_scriptParser->runOpcode(_mouseDragOpcode, _var8); } -void MystResourceType11::setPositionClipping(Common::Point *mouse, Common::Point *dest) { +void MystResourceType11::setPositionClipping(const Common::Point &mouse, Common::Point &dest) { if (_flagHV & 2) { - dest->y = CLIP<uint16>(mouse->y, _minV, _maxV); + dest.y = CLIP<uint16>(mouse.y, _minV, _maxV); } if (_flagHV & 1) { - dest->x = CLIP<uint16>(mouse->x, _minH, _maxH); + dest.x = CLIP<uint16>(mouse.x, _minH, _maxH); } } @@ -770,7 +771,7 @@ void MystResourceType12::handleAnimation() { } } -void MystResourceType12::handleMouseUp(Common::Point *mouse) { +void MystResourceType12::handleMouseUp(const Common::Point &mouse) { // HACK/TODO: Trigger Animation on Mouse Click. Probably not final version. Variable/Type 11 Controlled? _currentFrame = _firstFrame; _doAnimation = true; @@ -794,7 +795,7 @@ void MystResourceType13::handleMouseLeave() { _vm->_scriptParser->runOpcode(_leaveOpcode); } -void MystResourceType13::handleMouseUp(Common::Point *mouse) { +void MystResourceType13::handleMouseUp(const Common::Point &mouse) { // Type 13 Resources do nothing on Mouse Clicks. // This is required to override the inherited default // i.e. MystResource::handleMouseUp |