aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/insane/insane.cpp13
-rw-r--r--scumm/insane/insane_scenes.cpp2
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);