diff options
author | Willem Jan Palenstijn | 2016-02-24 00:12:29 +0100 |
---|---|---|
committer | Willem Jan Palenstijn | 2016-02-27 14:21:14 +0100 |
commit | d803847ca1458d7caeaa2bd4bbffabe134e13ef4 (patch) | |
tree | 6eec6e6fa5df6e6e381b351879858a15573ee7a2 /engines/sci/engine/selector.cpp | |
parent | 138c19f06f2830a4c5b549de4852597529a2c121 (diff) | |
download | scummvm-rg350-d803847ca1458d7caeaa2bd4bbffabe134e13ef4.tar.gz scummvm-rg350-d803847ca1458d7caeaa2bd4bbffabe134e13ef4.tar.bz2 scummvm-rg350-d803847ca1458d7caeaa2bd4bbffabe134e13ef4.zip |
SCI32: Update InfoFlagViewVisible in VM opcodes
Diffstat (limited to 'engines/sci/engine/selector.cpp')
-rw-r--r-- | engines/sci/engine/selector.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/engines/sci/engine/selector.cpp b/engines/sci/engine/selector.cpp index 66f3793918..320f2c0664 100644 --- a/engines/sci/engine/selector.cpp +++ b/engines/sci/engine/selector.cpp @@ -206,6 +206,16 @@ reg_t readSelector(SegManager *segMan, reg_t object, Selector selectorId) { return *address.getPointer(segMan); } +#ifdef ENABLE_SCI32 +void updateInfoFlagViewVisible(Object *obj, int offset) { + // TODO: Make this correct for all SCI versions + // Selectors 26 through 44 are selectors for View script objects in SQ6 + if (offset >= 26 && offset <= 44 && getSciVersion() >= SCI_VERSION_2) { + obj->setInfoSelectorFlag(kInfoFlagViewVisible); + } +} +#endif + void writeSelector(SegManager *segMan, reg_t object, Selector selectorId, reg_t value) { ObjVarRef address; @@ -221,11 +231,7 @@ void writeSelector(SegManager *segMan, reg_t object, Selector selectorId, reg_t else { *address.getPointer(segMan) = value; #ifdef ENABLE_SCI32 - // TODO: Make this correct for all SCI versions - // Selectors 26 through 44 are selectors for View script objects - if (getSciVersion() >= SCI_VERSION_2 && selectorId >= 26 && selectorId <= 44) { - segMan->getObject(object)->setInfoSelectorFlag(kInfoFlagViewVisible); - } + updateInfoFlagViewVisible(segMan->getObject(object), selectorId); #endif } } |