aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/input.cpp
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2013-04-18 23:55:01 +0200
committerWillem Jan Palenstijn2013-05-08 20:47:44 +0200
commit102299630901d08a44ef3aec367fcbcae065b9fe (patch)
tree98db4bbe0c54176c0a43e2f5076f8b3d63b8065c /engines/parallaction/input.cpp
parent583f9abaf98f64895546b75573e9442ca47426e3 (diff)
parent78ba3210a57094086d44b25d5a8507c33ce9bef3 (diff)
downloadscummvm-rg350-102299630901d08a44ef3aec367fcbcae065b9fe.tar.gz
scummvm-rg350-102299630901d08a44ef3aec367fcbcae065b9fe.tar.bz2
scummvm-rg350-102299630901d08a44ef3aec367fcbcae065b9fe.zip
Merge branch 'master'
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;