diff options
author | Willem Jan Palenstijn | 2016-03-01 20:18:29 +0100 |
---|---|---|
committer | Willem Jan Palenstijn | 2016-03-01 20:18:29 +0100 |
commit | 0012390f2ad1c417d68e7db74717a6d996ce41ee (patch) | |
tree | 53fd11f23bc8a7526bad826f0f301ef23d5b8d2d /engines | |
parent | b6a8907edf0d604aa37300f4d1485d8d6e542994 (diff) | |
download | scummvm-rg350-0012390f2ad1c417d68e7db74717a6d996ce41ee.tar.gz scummvm-rg350-0012390f2ad1c417d68e7db74717a6d996ce41ee.tar.bz2 scummvm-rg350-0012390f2ad1c417d68e7db74717a6d996ce41ee.zip |
SCI32: Fix index/offset mixup in updateInfoFlagViewVisible
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/engine/selector.cpp | 4 | ||||
-rw-r--r-- | engines/sci/engine/selector.h | 4 | ||||
-rw-r--r-- | engines/sci/engine/vm.cpp | 6 |
3 files changed, 7 insertions, 7 deletions
diff --git a/engines/sci/engine/selector.cpp b/engines/sci/engine/selector.cpp index 320f2c0664..1393e96880 100644 --- a/engines/sci/engine/selector.cpp +++ b/engines/sci/engine/selector.cpp @@ -207,10 +207,10 @@ reg_t readSelector(SegManager *segMan, reg_t object, Selector selectorId) { } #ifdef ENABLE_SCI32 -void updateInfoFlagViewVisible(Object *obj, int offset) { +void updateInfoFlagViewVisible(Object *obj, int index) { // 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) { + if (index >= 26 && index <= 44 && getSciVersion() >= SCI_VERSION_2) { obj->setInfoSelectorFlag(kInfoFlagViewVisible); } } diff --git a/engines/sci/engine/selector.h b/engines/sci/engine/selector.h index 1952ca0599..a8bbbe75e3 100644 --- a/engines/sci/engine/selector.h +++ b/engines/sci/engine/selector.h @@ -201,10 +201,10 @@ void invokeSelector(EngineState *s, reg_t object, int selectorId, /** * SCI32 set kInfoFlagViewVisible in the -info- selector if a certain * range of properties was written to. - * This function checks if offset is in the right range, and sets the flag + * This function checks if index is in the right range, and sets the flag * on obj.-info- if it is. */ -void updateInfoFlagViewVisible(Object *obj, int offset); +void updateInfoFlagViewVisible(Object *obj, int index); #endif } // End of namespace Sci diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index 66d9fee5fd..64e6c045db 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -1100,7 +1100,7 @@ void run_vm(EngineState *s) { // Accumulator To Property validate_property(s, obj, opparams[0]) = s->r_acc; #ifdef ENABLE_SCI32 - updateInfoFlagViewVisible(obj, opparams[0]); + updateInfoFlagViewVisible(obj, opparams[0]>>1); #endif break; @@ -1113,7 +1113,7 @@ void run_vm(EngineState *s) { // Stack To Property validate_property(s, obj, opparams[0]) = POP32(); #ifdef ENABLE_SCI32 - updateInfoFlagViewVisible(obj, opparams[0]); + updateInfoFlagViewVisible(obj, opparams[0]>>1); #endif break; @@ -1130,7 +1130,7 @@ void run_vm(EngineState *s) { else opProperty -= 1; #ifdef ENABLE_SCI32 - updateInfoFlagViewVisible(obj, opparams[0]); + updateInfoFlagViewVisible(obj, opparams[0]>>1); #endif if (opcode == op_ipToa || opcode == op_dpToa) s->r_acc = opProperty; |