aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/selector.cpp
diff options
context:
space:
mode:
authorColin Snover2017-04-01 22:01:22 -0500
committerColin Snover2017-04-23 13:07:25 -0500
commit3d4fb4ccb4f8bed013e6be9f9c677a071e84266d (patch)
tree21fba33cf1f41ef856c6386e181b09fad17066e0 /engines/sci/engine/selector.cpp
parent1962b1bb6d495365110094f200d50cc4cb303b75 (diff)
downloadscummvm-rg350-3d4fb4ccb4f8bed013e6be9f9c677a071e84266d.tar.gz
scummvm-rg350-3d4fb4ccb4f8bed013e6be9f9c677a071e84266d.tar.bz2
scummvm-rg350-3d4fb4ccb4f8bed013e6be9f9c677a071e84266d.zip
SCI32: Fix mustSetViewVisible for SCI3
In SCI2/2.1, variable indexes are used along with a range encoded in the interpreter executable to determine whether an object variable is a view-related variable. Operands to aTop, sTop, ipToa, dpToa, ipTos, and dpTos are byte offsets into an object, which are divided by two to get the varindex to check against the interpreter range. In SCI3, objects in game scripts contain groups of 32 selectors, and each group has a flag that says whether or not the selectors in that group are view-related. Operands to aTop, sTop, ipToa, dpToa, ipTos, and dpTos are selectors.
Diffstat (limited to 'engines/sci/engine/selector.cpp')
-rw-r--r--engines/sci/engine/selector.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/sci/engine/selector.cpp b/engines/sci/engine/selector.cpp
index 7f509f3968..e28ae799c6 100644
--- a/engines/sci/engine/selector.cpp
+++ b/engines/sci/engine/selector.cpp
@@ -230,8 +230,8 @@ reg_t readSelector(SegManager *segMan, reg_t object, Selector selectorId) {
}
#ifdef ENABLE_SCI32
-void updateInfoFlagViewVisible(Object *obj, int index) {
- if (getSciVersion() >= SCI_VERSION_2 && obj->mustSetViewVisible(index)) {
+void updateInfoFlagViewVisible(Object *obj, int index, bool fromPropertyOp) {
+ if (getSciVersion() >= SCI_VERSION_2 && obj->mustSetViewVisible(index, fromPropertyOp)) {
obj->setInfoSelectorFlag(kInfoFlagViewVisible);
}
}