aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorMartin Kiewitz2016-01-29 14:03:47 +0100
committerMartin Kiewitz2016-01-29 14:03:47 +0100
commitccfd870c818aa1ecf59399ab18e1ae7d32c11079 (patch)
tree207c6e324eefa229ca315f1ea355e22949ba41e4 /engines
parent8a595e7771aa89d06876e13d7ab6751e26da8982 (diff)
downloadscummvm-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.
Diffstat (limited to 'engines')
-rw-r--r--engines/agi/agi.cpp9
-rw-r--r--engines/agi/graphics.cpp3
-rw-r--r--engines/agi/graphics.h1
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;