diff options
Diffstat (limited to 'scummvm.cpp')
| -rw-r--r-- | scummvm.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/scummvm.cpp b/scummvm.cpp index 67a51faa84..ab32fb9482 100644 --- a/scummvm.cpp +++ b/scummvm.cpp @@ -899,11 +899,22 @@ void Scumm::processKbd() { getKeyInput(0); _virtual_mouse_x = mouse.x + virtscr[0].xstart; - _virtual_mouse_y = mouse.y + virtscr[0].topline; + _virtual_mouse_y = mouse.y; + + if(!(_features & GF_OLD256)) + _virtual_mouse_y+=virtscr[0].topline; + else + _virtual_mouse_y-=16; + if (_virtual_mouse_y < 0) _virtual_mouse_y = -1; - if (_virtual_mouse_y >= virtscr[0].height) - _virtual_mouse_y = -1; + if (_features & GF_OLD256) { + if (_virtual_mouse_y >= virtscr[0].height + virtscr[0].topline) + _virtual_mouse_y = -1; + } else { + if (_virtual_mouse_y >= virtscr[0].height) + _virtual_mouse_y = -1; + } if (!_lastKeyHit) return; |
