aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2006-04-21 04:36:26 +0000
committerTravis Howell2006-04-21 04:36:26 +0000
commit6b7a37d71cd368cafd0821450639ec0cc0544f83 (patch)
tree9bde5804029606b36715c73b8bfd41e5cbaf78a9
parentd47459562994cd183645e1ac999447fa5c9a2aa7 (diff)
downloadscummvm-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
-rw-r--r--engines/simon/vga.cpp19
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() {