diff options
author | Sven Hesse | 2009-07-05 12:52:14 +0000 |
---|---|---|
committer | Sven Hesse | 2009-07-05 12:52:14 +0000 |
commit | daaba72677cb12fe9ce3345505dbbcccd2437341 (patch) | |
tree | 6f437b7843e3836ffe9ad1c811da894deaa94540 | |
parent | 0b4e5c43d3821b803a4bf9b1699f567e860dfb68 (diff) | |
download | scummvm-rg350-daaba72677cb12fe9ce3345505dbbcccd2437341.tar.gz scummvm-rg350-daaba72677cb12fe9ce3345505dbbcccd2437341.tar.bz2 scummvm-rg350-daaba72677cb12fe9ce3345505dbbcccd2437341.zip |
Adding a workaround for an invalid expression in Gob1 EGA
svn-id: r42135
-rw-r--r-- | engines/gob/inter_v1.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/gob/inter_v1.cpp b/engines/gob/inter_v1.cpp index 7d32104552..7c5094d175 100644 --- a/engines/gob/inter_v1.cpp +++ b/engines/gob/inter_v1.cpp @@ -868,7 +868,16 @@ bool Inter_v1::o1_loadSpriteToPos(OpFuncParams ¶ms) { _vm->_draw->_spriteLeft = _vm->_game->_script->readInt16(); _vm->_draw->_destSpriteX = _vm->_game->_script->readValExpr(); - _vm->_draw->_destSpriteY = _vm->_game->_script->readValExpr(); + + // WORKAROUND: The EGA version of Gobliiins 1 has an invalid expression there + if (_vm->isEGA() && (_vm->_game->_script->pos() == 1398) && + !scumm_stricmp(_vm->_game->_curTotFile, "intro.tot")) { + + _vm->_draw->_destSpriteY = 0; + _vm->_game->_script->skip(1); + + } else + _vm->_draw->_destSpriteY = _vm->_game->_script->readValExpr(); _vm->_draw->_transparency = _vm->_game->_script->peekByte() & 1; _vm->_draw->_destSurface = ((int16) (_vm->_game->_script->peekByte() >> 1)) - 1; |