diff options
author | Martin Kiewitz | 2010-07-16 09:51:57 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-07-16 09:51:57 +0000 |
commit | 5356a6133872c00ce0db904047ce2624bf853e03 (patch) | |
tree | bccdb0e9bf95265c097c15be8eed7a6aefeeb9e8 | |
parent | 3473e8c6da4565d3c0729ba106b5405dc6039d29 (diff) | |
download | scummvm-rg350-5356a6133872c00ce0db904047ce2624bf853e03.tar.gz scummvm-rg350-5356a6133872c00ce0db904047ce2624bf853e03.tar.bz2 scummvm-rg350-5356a6133872c00ce0db904047ce2624bf853e03.zip |
SCI: only use xLast/yLast in kDoBresen for sci1middle+ only. qfg1 ega has those selector names, but doesn't use them inside mover objects
svn-id: r50933
-rw-r--r-- | engines/sci/engine/kmovement.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/sci/engine/kmovement.cpp b/engines/sci/engine/kmovement.cpp index 71f9632ef3..82a232f6b4 100644 --- a/engines/sci/engine/kmovement.cpp +++ b/engines/sci/engine/kmovement.cpp @@ -267,10 +267,12 @@ reg_t kDoBresen(EngineState *s, int argc, reg_t *argv) { bdelta = (int16)readSelectorValue(segMan, mover, SELECTOR(b_incr)); axis = (int16)readSelectorValue(segMan, mover, SELECTOR(b_xAxis)); - if (SELECTOR(xLast) != -1) { - // Introduced SCI1MIDDLE (it seems) - save last position into mover - writeSelectorValue(segMan, mover, SELECTOR(xLast), x); - writeSelectorValue(segMan, mover, SELECTOR(yLast), y); + if ((getSciVersion() >= SCI_VERSION_1_MIDDLE)) { + if (SELECTOR(xLast) != -1) { + // Introduced SCI1MIDDLE (it seems) - save last position into mover + writeSelectorValue(segMan, mover, SELECTOR(xLast), x); + writeSelectorValue(segMan, mover, SELECTOR(yLast), y); + } } //printf("movecnt %d, move speed %d\n", movcnt, max_movcnt); |