aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gui/gui.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/gui/gui.cpp')
-rw-r--r--engines/sci/gui/gui.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/sci/gui/gui.cpp b/engines/sci/gui/gui.cpp
index 32ab95f052..5f03cec1f9 100644
--- a/engines/sci/gui/gui.cpp
+++ b/engines/sci/gui/gui.cpp
@@ -880,6 +880,9 @@ void SciGui::frameOut() {
if (priority == -1)
continue;
+ int16 planeTop = GET_SEL32V(_s->_segMan, planeObj, top);
+ int16 planeLeft = GET_SEL32V(_s->_segMan, planeObj, left);
+
for (uint32 itemNr = 0; itemNr < _screenItems.size(); itemNr++) {
reg_t viewObj = _screenItems[itemNr];
reg_t planeOfItem = GET_SEL32(_s->_segMan, viewObj, plane);
@@ -892,6 +895,9 @@ void SciGui::frameOut() {
priority = GET_SEL32V(_s->_segMan, viewObj, priority);
//int16 signal = GET_SEL32V(_s->_segMan, viewObj, signal);
+ leftPos += planeLeft;
+ topPos += planeTop;
+
// Theoretically, leftPos and topPos should be sane
// Apparently, sometimes they're not, therefore I'm adding some sanity checks here so that
// the hack underneath does not try and draw cels outside the screen coordinates