diff options
-rw-r--r-- | scumm/insane/insane_scenes.cpp | 15 | ||||
-rw-r--r-- | scumm/script_v6.cpp | 15 |
2 files changed, 19 insertions, 11 deletions
diff --git a/scumm/insane/insane_scenes.cpp b/scumm/insane/insane_scenes.cpp index a54ac6e2ba..d177979204 100644 --- a/scumm/insane/insane_scenes.cpp +++ b/scumm/insane/insane_scenes.cpp @@ -67,11 +67,17 @@ void Insane::runScene(int arraynum) { break; case 2: setupValues(); - smlayer_setActorCostume(0, 2, readArray(11)); + if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) + smlayer_setActorCostume(0, 2, readArray(10)); + else + smlayer_setActorCostume(0, 2, readArray(11)); smlayer_putActor(0, 2, _actor[0].x, _actor[0].y1 + 190, _smlayer_room2); _mainRoadPos = readArray(2); - if (_mainRoadPos == _posBrokenTruck) { + if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) { + initScene(4); + startVideo("tovista.san", 1, 32, 12, 0); + } else if (_mainRoadPos == _posBrokenTruck) { initScene(5); startVideo("tovista2.san", 1, 32, 12, 0); } else if (_mainRoadPos == _posBrokenCar) { @@ -645,7 +651,10 @@ void Insane::setSceneCostumes(int sceneId) { case 4: case 5: case 6: - smlayer_setActorCostume(0, 2, readArray(11)); + if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) + smlayer_setActorCostume(0, 2, readArray(10)); + else + smlayer_setActorCostume(0, 2, readArray(11)); smlayer_putActor(0, 2, _actor[0].x, _actor[0].y1+190, _smlayer_room2); setupValues(); return; diff --git a/scumm/script_v6.cpp b/scumm/script_v6.cpp index 077211d68e..92c13140f0 100644 --- a/scumm/script_v6.cpp +++ b/scumm/script_v6.cpp @@ -2529,19 +2529,18 @@ void ScummEngine_v6::o6_kernelSetFunctions() { break; case 6: { uint32 speed; - assert(getStringAddressVar(VAR_VIDEONAME)); - if (strcmp((char *)getStringAddressVar(VAR_VIDEONAME), "sq3.san") == 0) { - speed = 1000000 / 14; - } else { - if (_smushFrameRate == 0) - _smushFrameRate = 14; - speed = 1000000 / _smushFrameRate; - } + if (_smushFrameRate == 0) + _smushFrameRate = 14; + speed = 1000000 / _smushFrameRate; debug(1, "INSANE Arg: %d %d", args[1], args[2]); // INSANE mode 0: SMUSH movie playback if (args[1] == 0) { + assert(getStringAddressVar(VAR_VIDEONAME)); + if (strcmp((char *)getStringAddressVar(VAR_VIDEONAME), "sq3.san") == 0) + speed = 1000000 / 14; + SmushPlayer *sp = new SmushPlayer(this, speed); // Correct incorrect smush filename in Macintosh FT demo |