diff options
author | Martin Kiewitz | 2016-01-29 14:03:47 +0100 |
---|---|---|
committer | Martin Kiewitz | 2016-01-29 14:03:47 +0100 |
commit | ccfd870c818aa1ecf59399ab18e1ae7d32c11079 (patch) | |
tree | 207c6e324eefa229ca315f1ea355e22949ba41e4 | |
parent | 8a595e7771aa89d06876e13d7ab6751e26da8982 (diff) | |
download | scummvm-rg350-ccfd870c818aa1ecf59399ab18e1ae7d32c11079.tar.gz scummvm-rg350-ccfd870c818aa1ecf59399ab18e1ae7d32c11079.tar.bz2 scummvm-rg350-ccfd870c818aa1ecf59399ab18e1ae7d32c11079.zip |
AGI: adjust mouse pos using render start Y
instead of having it hardcoded.
-rw-r--r-- | engines/agi/agi.cpp | 9 | ||||
-rw-r--r-- | engines/agi/graphics.cpp | 3 | ||||
-rw-r--r-- | engines/agi/graphics.h | 1 |
3 files changed, 9 insertions, 4 deletions
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp index 19e05959dc..9362ceff70 100644 --- a/engines/agi/agi.cpp +++ b/engines/agi/agi.cpp @@ -275,9 +275,7 @@ AgiBase::~AgiBase() { delete _sound; - if (_fontDataAllocated) { - free(_fontDataAllocated); - } + free(_fontDataAllocated); } void AgiBase::initRenderMode() { @@ -856,7 +854,10 @@ void AgiEngine::redrawScreen() { // Used on mouse cursor coordinates before passing them to scripts void AgiEngine::adjustPosToGameScreen(int16 &x, int16 &y) { x = x / 2; // 320 -> 160 - y = y - 8; // remove status bar line + y = y - _gfx->getRenderStartOffsetY(); // remove status bar line + if (y < 0) { + y = 0; + } if (y >= SCRIPT_HEIGHT) { y = SCRIPT_HEIGHT + 1; // 1 beyond } diff --git a/engines/agi/graphics.cpp b/engines/agi/graphics.cpp index e9ae1295e9..467d63be84 100644 --- a/engines/agi/graphics.cpp +++ b/engines/agi/graphics.cpp @@ -172,6 +172,9 @@ void GfxMgr::setRenderStartOffset(uint16 offsetY) { _renderStartOffsetY = offsetY; } +uint16 GfxMgr::getRenderStartOffsetY() { + return _renderStartOffsetY; +} void GfxMgr::debugShowMap(int mapNr) { switch (mapNr) { diff --git a/engines/agi/graphics.h b/engines/agi/graphics.h index a89a7fdabc..7fffe320c9 100644 --- a/engines/agi/graphics.h +++ b/engines/agi/graphics.h @@ -80,6 +80,7 @@ public: int deinitMachine(); void setRenderStartOffset(uint16 offsetY); + uint16 getRenderStartOffsetY(); private: uint _pixels; |