From e504e814b102992f2aa3dbdb7aa47a8dcaa3fec1 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 30 Mar 2006 23:58:37 +0000 Subject: Improve mine road in PC demo of FT svn-id: r21505 --- engines/scumm/insane/insane.cpp | 35 +++++++++++++++++++++++++--------- engines/scumm/insane/insane_ben.cpp | 28 +++++++++++++++++++-------- engines/scumm/insane/insane_scenes.cpp | 5 ++++- 3 files changed, 50 insertions(+), 18 deletions(-) (limited to 'engines') diff --git a/engines/scumm/insane/insane.cpp b/engines/scumm/insane/insane.cpp index 61589976ba..5f629d1e55 100644 --- a/engines/scumm/insane/insane.cpp +++ b/engines/scumm/insane/insane.cpp @@ -959,8 +959,9 @@ bool Insane::actor1StateFlags(int state) { void Insane::escapeKeyHandler(void) { struct fluConf *flu; - // Demos have just one scene - if (!_insaneIsRunning || _vm->_game.features & GF_DEMO) { + // The Macintosh demo has just one scene + if (((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformMacintosh)) || + !_insaneIsRunning) { smush_setToFinish(); return; } @@ -971,8 +972,12 @@ void Insane::escapeKeyHandler(void) { debugC(DEBUG_INSANE, "scene: %d", _currSceneId); switch (_currSceneId) { case 1: - queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame1, 1300); - writeArray(9, 0); + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) { + queueSceneSwitch(1, 0, "minedriv.san", 64, 0, 0, 0); + } else { + queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame1, 1300); + writeArray(9, 0); + } break; case 18: queueSceneSwitch(17, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame1, 1300); @@ -980,8 +985,11 @@ void Insane::escapeKeyHandler(void) { break; case 2: flu = &_fluConf[14 + _iactSceneId2]; - queueSceneSwitch(flu->sceneId, *flu->fluPtr, flu->filenamePtr, 64, 0, - flu->startFrame, flu->numFrames); + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) + queueSceneSwitch(4, 0, "tovista.san", 64, 0, 0, 0); + else + queueSceneSwitch(flu->sceneId, *flu->fluPtr, flu->filenamePtr, 64, 0, + flu->startFrame, flu->numFrames); break; case 3: queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame, 1300); @@ -1031,12 +1039,18 @@ void Insane::escapeKeyHandler(void) { break; case 8: flu = &_fluConf[7 + _iactSceneId2]; - queueSceneSwitch(flu->sceneId, *flu->fluPtr, flu->filenamePtr, 64, 0, + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) + queueSceneSwitch(1, 0, "minedriv.san", 64, 0, 0, 0); + else + queueSceneSwitch(flu->sceneId, *flu->fluPtr, flu->filenamePtr, 64, 0, flu->startFrame, flu->numFrames); break; case 7: flu = &_fluConf[0 + _iactSceneId2]; - queueSceneSwitch(flu->sceneId, *flu->fluPtr, flu->filenamePtr, 64, 0, + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) + queueSceneSwitch(1, 0, "minedriv.san", 64, 0, 0, 0); + else + queueSceneSwitch(flu->sceneId, *flu->fluPtr, flu->filenamePtr, 64, 0, flu->startFrame, flu->numFrames); break; case 23: @@ -1052,7 +1066,10 @@ void Insane::escapeKeyHandler(void) { queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame1, 1300); break; case 13: - queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame, 1300); + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) + queueSceneSwitch(1, 0, "minedriv.san", 64, 0, 0, 0); + else + queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame, 1300); break; case 24: queueSceneSwitch(21, 0, "rottfite.san", 64, 0, 0, 0); diff --git a/engines/scumm/insane/insane_ben.cpp b/engines/scumm/insane/insane_ben.cpp index 4fcb7f8c3e..b2ed722e70 100644 --- a/engines/scumm/insane/insane_ben.cpp +++ b/engines/scumm/insane/insane_ben.cpp @@ -1900,29 +1900,41 @@ void Insane::switchBenWeapon(void) { switch (_actor[0].weapon) { case INV_CHAIN: - smlayer_setActorCostume(0, 2, readArray(20)); + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) + smlayer_setActorCostume(0, 2, readArray(19)); + else + smlayer_setActorCostume(0, 2, readArray(20)); smlayer_setActorFacing(0, 2, 18, 180); _actor[0].weaponClass = 1; _actor[0].act[2].state = 34; break; case INV_CHAINSAW: - smlayer_setActorCostume(0, 2, readArray(24)); + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) + smlayer_setActorCostume(0, 2, readArray(23)); + else + smlayer_setActorCostume(0, 2, readArray(24)); smlayer_setActorFacing(0, 2, 18, 180); _actor[0].weaponClass = 1; _actor[0].act[2].state = 34; break; case INV_MACE: - smlayer_setActorCostume(0, 2, readArray(23)); + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) + smlayer_setActorCostume(0, 2, readArray(22)); + else + smlayer_setActorCostume(0, 2, readArray(23)); smlayer_setActorFacing(0, 2, 18, 180); _actor[0].weaponClass = 1; _actor[0].act[2].state = 34; break; case INV_2X4: - if (_currEnemy == EN_CAVEFISH) - smlayer_setActorCostume(0, 2, readArray(38)); - else - smlayer_setActorCostume(0, 2, readArray(19)); - + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) { + smlayer_setActorCostume(0, 2, readArray(18)); + } else { + if (_currEnemy == EN_CAVEFISH) + smlayer_setActorCostume(0, 2, readArray(38)); + else + smlayer_setActorCostume(0, 2, readArray(19)); + } smlayer_setActorFacing(0, 2, 18, 180); _actor[0].weaponClass = 1; _actor[0].act[2].state = 34; diff --git a/engines/scumm/insane/insane_scenes.cpp b/engines/scumm/insane/insane_scenes.cpp index 9337131adf..58e28452cd 100644 --- a/engines/scumm/insane/insane_scenes.cpp +++ b/engines/scumm/insane/insane_scenes.cpp @@ -639,7 +639,10 @@ void Insane::setSceneCostumes(int sceneId) { return; break; case 2: - smlayer_setActorCostume(0, 2, readArray(10)); + if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) + smlayer_setActorCostume(0, 2, readArray(9)); + else + smlayer_setActorCostume(0, 2, readArray(10)); setupValues(); return; break; -- cgit v1.2.3