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 | 
