aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2005-03-23 00:25:08 +0000
committerEugene Sandulenko2005-03-23 00:25:08 +0000
commitdd9ecfe1c0589db9a5e81c41d2118bc426cb5a43 (patch)
tree8cc60424d0298d2e468bde6e8b392ce0d77e55d8
parent8e84ee694c90c02417720eb99f45b3855607649a (diff)
downloadscummvm-rg350-dd9ecfe1c0589db9a5e81c41d2118bc426cb5a43.tar.gz
scummvm-rg350-dd9ecfe1c0589db9a5e81c41d2118bc426cb5a43.tar.bz2
scummvm-rg350-dd9ecfe1c0589db9a5e81c41d2118bc426cb5a43.zip
Fixed Amiga cursor for Zak & MM from Quietust.
svn-id: r17201
-rw-r--r--scumm/cursor.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/scumm/cursor.cpp b/scumm/cursor.cpp
index f283a37e01..7a87c5d3a3 100644
--- a/scumm/cursor.cpp
+++ b/scumm/cursor.cpp
@@ -353,6 +353,35 @@ void ScummEngine_v5::setBuiltinCursor(int idx) {
*dst++ = palette[((c0 >> (7 - j)) & 1) | (((c1 >> (7 - j)) & 1) << 1) | ((idx == 3) ? 4 : 0)];
}
+ } else if (_version <= 2 && _features & GF_AMIGA) {
+ _cursor.width = 15;
+ _cursor.height = 15;
+ _cursor.hotspotX = 7;
+ _cursor.hotspotY = 7;
+
+ byte *hotspot = _grabbedCursor + _cursor.hotspotY * _cursor.width + _cursor.hotspotX;
+
+ // Crosshair, symmetric
+ // TODO: Instead of setting this up via code, we should simply extend
+ // default_cursor_images to contain this shape.
+ for (i = 0; i < 5; i++) {
+ *(hotspot - 3 - i) = color;
+ *(hotspot + 3 + i) = color;
+ *(hotspot - _cursor.width * (3 + i)) = color;
+ *(hotspot + _cursor.width * (3 + i)) = color;
+ }
+
+ // Arrow heads, diagonal lines
+ for (i = 1; i <= 2; i++) {
+ *(hotspot - _cursor.width * i - (3 + i)) = color;
+ *(hotspot + _cursor.width * i - (3 + i)) = color;
+ *(hotspot - _cursor.width * i + (3 + i)) = color;
+ *(hotspot + _cursor.width * i + (3 + i)) = color;
+ *(hotspot - _cursor.width * (3 + i) - i) = color;
+ *(hotspot + _cursor.width * (3 + i) - i) = color;
+ *(hotspot - _cursor.width * (3 + i) + i) = color;
+ *(hotspot + _cursor.width * (3 + i) + i) = color;
+ }
} else if (_version <= 2) {
_cursor.width = 23;
_cursor.height = 21;