diff options
-rw-r--r-- | scumm/insane/insane.cpp | 13 | ||||
-rw-r--r-- | scumm/insane/insane_scenes.cpp | 2 |
2 files changed, 12 insertions, 3 deletions
diff --git a/scumm/insane/insane.cpp b/scumm/insane/insane.cpp index 166f94d3cb..287b534fbf 100644 --- a/scumm/insane/insane.cpp +++ b/scumm/insane/insane.cpp @@ -1302,13 +1302,22 @@ void Insane::smlayer_showStatusMsg(int32 arg_0, byte *renderBitmap, int32 codecp } void Insane::procSKIP(Chunk &b) { - _player->checkBlock(b, TYPE_SKIP, 4); int16 par1, par2; + _player->_skipNext = false; + + if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) { + _player->checkBlock(b, TYPE_SKIP, 2); + par1 = b.getWord(); + if (isBitSet(par1)) + _player->_skipNext = true; + return; + } + + _player->checkBlock(b, TYPE_SKIP, 4); par1 = b.getWord(); par2 = b.getWord(); - _player->_skipNext = false; if (!par2) { if (isBitSet(par1)) diff --git a/scumm/insane/insane_scenes.cpp b/scumm/insane/insane_scenes.cpp index d177979204..ddf1e385b8 100644 --- a/scumm/insane/insane_scenes.cpp +++ b/scumm/insane/insane_scenes.cpp @@ -75,7 +75,7 @@ void Insane::runScene(int arraynum) { _mainRoadPos = readArray(2); if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) { - initScene(4); + initScene(5); startVideo("tovista.san", 1, 32, 12, 0); } else if (_mainRoadPos == _posBrokenTruck) { initScene(5); |