diff options
| author | Martin Kiewitz | 2016-03-05 21:28:09 +0100 |
|---|---|---|
| committer | Martin Kiewitz | 2016-03-05 21:28:09 +0100 |
| commit | 4ebca0353461cf4461f3425d52a7b82eb9fd983f (patch) | |
| tree | 20b8acfd24b1255ff0a0bb5c5833a90c28babf62 /engines/sci/graphics | |
| parent | 04b5f3833771c3073df5860c023c8274706dbbc7 (diff) | |
| download | scummvm-rg350-4ebca0353461cf4461f3425d52a7b82eb9fd983f.tar.gz scummvm-rg350-4ebca0353461cf4461f3425d52a7b82eb9fd983f.tar.bz2 scummvm-rg350-4ebca0353461cf4461f3425d52a7b82eb9fd983f.zip | |
SCI: Make cursor workaround work properly on OpenPandora
Other platforms, that support analog stick + touch screen at the
same time, are possibly also affected.
Cursor workarounds exist for qfg1vga, qfg3, lsl5 and Island of
Dr. Brain. Those sometimes worked and sometimes didn't on
at least OpenPandora and should be fixed now.
Diffstat (limited to 'engines/sci/graphics')
| -rw-r--r-- | engines/sci/graphics/cursor.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/engines/sci/graphics/cursor.cpp b/engines/sci/graphics/cursor.cpp index e8496b96e5..f5dd473959 100644 --- a/engines/sci/graphics/cursor.cpp +++ b/engines/sci/graphics/cursor.cpp @@ -336,6 +336,9 @@ void GfxCursor::setPosition(Common::Point pos) { && ((workaround->newPositionX == pos.x) && (workaround->newPositionY == pos.y))) { EngineState *s = g_sci->getEngineState(); s->_cursorWorkaroundActive = true; + // At least on OpenPandora it seems that the cursor is actually set, but a bit afterwards + // touch screen controls will overwrite the position. More information see kGetEvent in kevent.cpp. + s->_cursorWorkaroundPosCount = 5; // should be enough for OpenPandora s->_cursorWorkaroundPoint = pos; s->_cursorWorkaroundRect = Common::Rect(workaround->rectLeft, workaround->rectTop, workaround->rectRight, workaround->rectBottom); return; |
