aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/input.cpp
diff options
context:
space:
mode:
authorAlyssa Milburn2013-04-17 23:20:55 +0200
committerAlyssa Milburn2013-04-17 23:20:55 +0200
commit1dc58b0b2a361865aa0f5f5202297c4834ba2675 (patch)
tree41da842b31b12fc54367b934aec9d0d60fd63d34 /engines/parallaction/input.cpp
parent1eefd6301bc246d397cd9f1cfebee978fa4e92de (diff)
downloadscummvm-rg350-1dc58b0b2a361865aa0f5f5202297c4834ba2675.tar.gz
scummvm-rg350-1dc58b0b2a361865aa0f5f5202297c4834ba2675.tar.bz2
scummvm-rg350-1dc58b0b2a361865aa0f5f5202297c4834ba2675.zip
PARALLACTION: Fix BRA amiga inventory item cursors.
Diffstat (limited to 'engines/parallaction/input.cpp')
-rw-r--r--engines/parallaction/input.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/parallaction/input.cpp b/engines/parallaction/input.cpp
index 4fbd9b99cc..484e210893 100644
--- a/engines/parallaction/input.cpp
+++ b/engines/parallaction/input.cpp
@@ -551,8 +551,12 @@ void Input::setInventoryCursor(ItemName name) {
case GType_BRA: {
byte *src = _mouseArrow->getData(0);
byte *dst = _comboArrow->getData(0);
- memcpy(dst, src, _comboArrow->getSize(0));
// FIXME: destination offseting is not clear
+ Common::Rect srcRect, dstRect;
+ _mouseArrow->getRect(0, srcRect);
+ _comboArrow->getRect(0, dstRect);
+ for (uint y = 0; y < (uint)srcRect.height(); y++)
+ memcpy(dst + y * dstRect.width(), src + y * srcRect.width(), srcRect.width());
_vm->_inventoryRenderer->drawItem(name, dst + _mouseComboProps_BR._yOffset * _mouseComboProps_BR._width + _mouseComboProps_BR._xOffset, _mouseComboProps_BR._width);
CursorMan.replaceCursor(dst, _mouseComboProps_BR._width, _mouseComboProps_BR._height, 0, 0, 0);
break;