aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTravis Howell2006-03-30 23:58:37 +0000
committerTravis Howell2006-03-30 23:58:37 +0000
commite504e814b102992f2aa3dbdb7aa47a8dcaa3fec1 (patch)
treeb5b8832908ba938be71201e253510f0da03e7a8b /engines
parent3e974d3604a30a6387d3699a0e25366d418d169a (diff)
downloadscummvm-rg350-e504e814b102992f2aa3dbdb7aa47a8dcaa3fec1.tar.gz
scummvm-rg350-e504e814b102992f2aa3dbdb7aa47a8dcaa3fec1.tar.bz2
scummvm-rg350-e504e814b102992f2aa3dbdb7aa47a8dcaa3fec1.zip
Improve mine road in PC demo of FT
svn-id: r21505
Diffstat (limited to 'engines')
-rw-r--r--engines/scumm/insane/insane.cpp35
-rw-r--r--engines/scumm/insane/insane_ben.cpp28
-rw-r--r--engines/scumm/insane/insane_scenes.cpp5
3 files changed, 50 insertions, 18 deletions
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;