aboutsummaryrefslogtreecommitdiff
path: root/engines/simon/cursor.cpp
diff options
context:
space:
mode:
authorTravis Howell2006-04-16 05:37:16 +0000
committerTravis Howell2006-04-16 05:37:16 +0000
commitcc0ebb97e4a3282644153e274d596dc69e83345f (patch)
treef507f078380b45551859f7ae8b35a6d1243ce227 /engines/simon/cursor.cpp
parent426a75ad6a2fad8227628682051c101fcd21565d (diff)
downloadscummvm-rg350-cc0ebb97e4a3282644153e274d596dc69e83345f.tar.gz
scummvm-rg350-cc0ebb97e4a3282644153e274d596dc69e83345f.tar.bz2
scummvm-rg350-cc0ebb97e4a3282644153e274d596dc69e83345f.zip
Use default cursor in FF for now, to make selection easier
svn-id: r21929
Diffstat (limited to 'engines/simon/cursor.cpp')
-rw-r--r--engines/simon/cursor.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/engines/simon/cursor.cpp b/engines/simon/cursor.cpp
index 3b7725c7d7..9acc4aa59f 100644
--- a/engines/simon/cursor.cpp
+++ b/engines/simon/cursor.cpp
@@ -226,10 +226,23 @@ static const byte _simon2_cursors[10][256] = {
void SimonEngine::drawMousePointer() {
//debug(0, "Mouse %d Anim %d Max %d", _mouseCursor, _mouseAnim, _mouseAnimMax);
- if (getGameType() == GType_SIMON2)
+ if (getGameType() == GType_FF) {
+ byte *src, *dst;
+ VgaPointersEntry *vpe = &_vgaBufferPointers[7];
+
+ src = vpe->vgaFile2 + 98 * 8;
+ uint width = READ_LE_UINT16(src + 6);
+ uint height = READ_LE_UINT16(src + 4) & 0x7FFF;
+ src = vpe->vgaFile2 + readUint32Wrapper(src);
+
+ dst = (byte *)malloc(width * height);
+ memcpy(dst, src, width * height);
+ _system->setMouseCursor(dst, width, height, width / 2, height / 2, 0);
+ } else if (getGameType() == GType_SIMON2) {
_system->setMouseCursor(_simon2_cursors[_mouseCursor], 16, 16, 7, 7);
- else
+ } else {
_system->setMouseCursor(_simon1_cursor, 16, 16, 0, 0);
+ }
}
} // End of namespace Simon