diff options
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index 3048e30745..3f96afcd9a 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -779,8 +779,11 @@ void _k_GenericDrawControl(EngineState *s, reg_t controlObject, bool hilite) { // Games from early SCI1 onwards use topString upperOffset = GET_SEL32V(s->_segMan, controlObject, topString); } else { - // Earlier games use lsTop - upperOffset = GET_SEL32V(s->_segMan, controlObject, lsTop); + // Earlier games use lsTop or brTop + if (lookup_selector(s->_segMan, controlObject, s->_kernel->_selectorCache.brTop, NULL, NULL) == kSelectorVariable) + upperOffset = GET_SEL32V(s->_segMan, controlObject, brTop); + else + upperOffset = GET_SEL32V(s->_segMan, controlObject, lsTop); } // Count string entries in NULL terminated string list |