diff options
author | Travis Howell | 2006-04-21 04:36:26 +0000 |
---|---|---|
committer | Travis Howell | 2006-04-21 04:36:26 +0000 |
commit | 6b7a37d71cd368cafd0821450639ec0cc0544f83 (patch) | |
tree | 9bde5804029606b36715c73b8bfd41e5cbaf78a9 /engines/simon | |
parent | d47459562994cd183645e1ac999447fa5c9a2aa7 (diff) | |
download | scummvm-rg350-6b7a37d71cd368cafd0821450639ec0cc0544f83.tar.gz scummvm-rg350-6b7a37d71cd368cafd0821450639ec0cc0544f83.tar.bz2 scummvm-rg350-6b7a37d71cd368cafd0821450639ec0cc0544f83.zip |
Move _variableArrayPtr changes to match original code, in case it is triggered outside video opcodes
svn-id: r22066
Diffstat (limited to 'engines/simon')
-rw-r--r-- | engines/simon/vga.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/engines/simon/vga.cpp b/engines/simon/vga.cpp index 79fc13d9de..a12d199e28 100644 --- a/engines/simon/vga.cpp +++ b/engines/simon/vga.cpp @@ -1928,13 +1928,6 @@ void SimonEngine::vc48_setPathFinder() { void SimonEngine::setBitFlag(uint bit, bool value) { uint16 *bits = &_bitArray[bit / 16]; *bits = (*bits & ~(1 << (bit & 15))) | (value << (bit & 15)); - - if (getGameType() == GType_FF && bit == 82) { - if (value == true) - _variableArrayPtr = _variableArray2; - else - _variableArrayPtr = _variableArray; - } } bool SimonEngine::getBitFlag(uint bit) { @@ -1943,11 +1936,19 @@ bool SimonEngine::getBitFlag(uint bit) { } void SimonEngine::vc49_setBit() { - setBitFlag(vcReadNextWord(), true); + uint bit = vcReadNextWord(); + if (getGameType() == GType_FF && bit == 82) { + _variableArrayPtr = _variableArray2; + } + setBitFlag(bit, true); } void SimonEngine::vc50_clearBit() { - setBitFlag(vcReadNextWord(), false); + uint bit = vcReadNextWord(); + if (getGameType() == GType_FF && bit == 82) { + _variableArrayPtr = _variableArray; + } + setBitFlag(bit, false); } void SimonEngine::vc51_enableBox() { |