[Scummvm-cvs-logs] CVS: scummvm/scumm/insane insane.cpp,1.32,1.33 insane_ben.cpp,1.11,1.12 insane_scenes.cpp,1.17,1.18

Travis Howell kirben at users.sourceforge.net
Wed Aug 4 19:05:03 CEST 2004


Update of /cvsroot/scummvm/scummvm/scumm/insane
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27686/scumm/insane

Modified Files:
	insane.cpp insane_ben.cpp insane_scenes.cpp 
Log Message:

Small correction from FT disasm.
Add some basic support for INSANE in PC version of FT demo


Index: insane.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/insane/insane.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- insane.cpp	26 Jul 2004 23:16:37 -0000	1.32
+++ insane.cpp	5 Aug 2004 02:04:34 -0000	1.33
@@ -51,13 +51,6 @@
 Insane::Insane(ScummEngine_v6 *scumm) {
 	_vm = scumm;
 	
-#ifndef FTDOSDEMO
-	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) {
-		_insaneIsRunning = false;
-		return;
-	}
-#endif
-
 	initvars();
 
 	if (!((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))) {
@@ -181,8 +174,15 @@
 	for (i = 0; i < 0x80; i++)
 		_iactBits[i] = 0;
 
-	init_enemyStruct(EN_ROTT1, EN_ROTT1, 0, 0, 160, 0, INV_MACE, 90, "wr2_rott.san", 
-					 26, 16, 17, 27, 11, 3);
+	
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) {
+		init_enemyStruct(EN_ROTT1, EN_ROTT1, 0, 0, 160, 0, INV_MACE, 90, "endcrshr.san", 
+						 25, 16, 15, 27, 11, 3);
+	} else {
+		init_enemyStruct(EN_ROTT1, EN_ROTT1, 0, 0, 160, 0, INV_MACE, 90, "wr2_rott.san", 
+						 26, 16, 17, 27, 11, 3);
+	}
+
 	init_enemyStruct(EN_ROTT2, EN_ROTT2, 1, 0, 250, 0, INV_2X4, 90, "wr2_rott.san", 
 					 28, 16, 17, 42, 11, 3);
 	init_enemyStruct(EN_ROTT3, EN_ROTT3, 2, 0, 120, 0, INV_HAND, 90, "wr2_rott.san", 
@@ -638,27 +638,31 @@
 	_actor[0].inventory[INV_HAND] = 1;
 	_actor[0].inventory[INV_BOOT] = 1;
 
-	_smlayer_room = readArray(320);
-	_smlayer_room2 = readArray(321);
-	_posBrokenTruck = readArray(322);
-	_posVista = readArray(323);
-	_val57d = readArray(324);
-	_posCave = readArray(325);
-	_posBrokenCar = readArray(326);
-	_val54d = readArray(327);
-	_posFatherTorque = readArray(328);
-	_enemy[EN_TORQUE].occurences = readArray(337);
-	_enemy[EN_ROTT1].occurences = readArray(329);
-	_enemy[EN_ROTT2].occurences = readArray(330);
-	_enemy[EN_ROTT3].occurences = readArray(331);
-	_enemy[EN_VULTF1].occurences = readArray(332);
-	_enemy[EN_VULTM1].occurences = readArray(333);
-	_enemy[EN_VULTF2].occurences = readArray(334);
-	_enemy[EN_VULTM2].occurences = readArray(335);
-	_enemy[EN_CAVEFISH].occurences = readArray(336);
-	_enemy[EN_VULTM2].field_10 = readArray(340);
 	_enemy[EN_CAVEFISH].field_10 = readArray(56);
-	_enemy[EN_VULTF2].field_10 = readArray(339);
+	if (!((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))) {
+		_smlayer_room = readArray(320);
+		_smlayer_room2 = readArray(321);
+		_posBrokenTruck = readArray(322);
+		_posVista = readArray(323);
+		_val57d = readArray(324);
+		_posCave = readArray(325);
+		_posBrokenCar = readArray(326);
+		_val54d = readArray(327);
+		_posFatherTorque = readArray(328);
+		_enemy[EN_TORQUE].occurences = readArray(337);
+		_enemy[EN_ROTT1].occurences = readArray(329);
+		_enemy[EN_ROTT2].occurences = readArray(330);
+		_enemy[EN_ROTT3].occurences = readArray(331);
+		_enemy[EN_VULTF1].occurences = readArray(332);
+		_enemy[EN_VULTM1].occurences = readArray(333);
+		_enemy[EN_VULTF2].occurences = readArray(334);
+		_enemy[EN_VULTM2].occurences = readArray(335);
+		_enemy[EN_CAVEFISH].occurences = readArray(336);
+		_enemy[EN_VULTM2].field_10 = readArray(340);
+		_enemy[EN_VULTF2].field_10 = readArray(339);
+	} else {
+		_smlayer_room = _smlayer_room2 = 13;
+	}
 }
 
 void Insane::setupValues(void) {
@@ -757,6 +761,9 @@
 
 // smlayer_stopSound
 void Insane::smlayer_stopSound(int idx) {
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))
+		return;
+
 	_vm->_imuseDigital->stopSound(readArray(idx));
 }
 
@@ -894,9 +901,15 @@
 }
 
 void Insane::reinitActors(void) {
-	smlayer_setActorCostume(0, 2, readArray(12));
-	smlayer_setActorCostume(0, 0, readArray(14));
-	smlayer_setActorCostume(0, 1, readArray(13));
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) {
+		smlayer_setActorCostume(0, 2, readArray(11));
+		smlayer_setActorCostume(0, 0, readArray(13));
+		smlayer_setActorCostume(0, 1, readArray(12));
+	} else {
+		smlayer_setActorCostume(0, 2, readArray(12));
+		smlayer_setActorCostume(0, 0, readArray(14));
+		smlayer_setActorCostume(0, 1, readArray(13));
+	}
 	smlayer_setActorLayer(0, 1, 1);
 	smlayer_setActorLayer(0, 2, 5);
 	smlayer_setActorLayer(0, 0, 10);
@@ -959,7 +972,7 @@
 		writeArray(9, 0);
 		break;
 	case 18:
-		queueSceneSwitch(1, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame1, 1300);
+		queueSceneSwitch(17, _smush_minedrivFlu, "minedriv.san", 64, 0, _continueFrame1, 1300);
 		writeArray(9, 1);
 		break;
 	case 2:
@@ -1100,6 +1113,9 @@
 
 // smlayer_loadSound1 && smlayer_loadSound2
 int Insane::smlayer_loadSound(int id, int flag, int phase) {
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))
+		return 0;
+
 	int resid;
 	
 	if (phase == 1) {
@@ -1170,6 +1186,9 @@
 }
 
 void Insane::smlayer_setFluPalette(byte *pal, int shut_flag) {
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))
+		return;
+
 	//	  if (shut_flag)
 	//		// FIXME: shut colors and make picture appear smoothly
 	//		SmushPlayer::setPalette(pal);
@@ -1178,10 +1197,16 @@
 }
 
 bool Insane::smlayer_isSoundRunning(int32 sound) {
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))
+		return 1;
+
 	return _vm->_imuseDigital->getSoundStatus(readArray(sound)) != 0;
 }
 
 bool Insane::smlayer_startSfx(int32 sound) {
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))
+		return 1;
+
 	if (smlayer_loadSound(sound, 0, 2)) {
 		_vm->_imuseDigital->startSfx(readArray(sound), 40);
 		return true;
@@ -1190,6 +1215,9 @@
 }
 
 bool Insane::smlayer_startVoice(int32 sound) {
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))
+		return 1;
+
 	if (smlayer_loadSound(sound, 0, 2)) {
 		_vm->_imuseDigital->startSfx(readArray(sound), 126);
 		return true;
@@ -1328,6 +1356,9 @@
 }
 
 const char *Insane::handleTrsTag(int32 trsId) {
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) 
+		return 0;
+
 	debugC(DEBUG_INSANE, "Insane::handleTrsTag(%d)", trsId);
 	return _player->getString(trsId);
 }

Index: insane_ben.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/insane/insane_ben.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- insane_ben.cpp	23 Jun 2004 03:16:04 -0000	1.11
+++ insane_ben.cpp	5 Aug 2004 02:04:34 -0000	1.12
@@ -1201,7 +1201,10 @@
 				case EN_ROTT1:
 				case EN_ROTT2:
 				case EN_ROTT3:
-					queueSceneSwitch(9, 0, "wr2_benr.san", 64, 0, 0, 0);
+					if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))
+						queueSceneSwitch(9, 0, "bencrshe.san", 64, 0, 0, 0);
+					else
+						queueSceneSwitch(9, 0, "wr2_benr.san", 64, 0, 0, 0);
 					break;
 				case EN_VULTF1:
 				case EN_VULTM1:

Index: insane_scenes.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/insane/insane_scenes.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- insane_scenes.cpp	19 Jul 2004 10:51:00 -0000	1.17
+++ insane_scenes.cpp	5 Aug 2004 02:04:34 -0000	1.18
@@ -34,11 +34,6 @@
 namespace Scumm {
 
 void Insane::runScene(int arraynum) {
-#ifndef FTDOSDEMO
-	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))
-		return;
-#endif
-
 	_insaneIsRunning = true;
 	_player = new SmushPlayer(_vm, _speed);
 	_player->insanity(true);
@@ -146,18 +141,20 @@
 	writeArray(53, _actor[0].inventory[INV_2X4]);
 	writeArray(54, _actor[0].inventory[INV_WRENCH]);
 	writeArray(55, _actor[0].inventory[INV_DUST]);
-	writeArray(337, _enemy[EN_TORQUE].occurences);
-	writeArray(329, _enemy[EN_ROTT1].occurences);
-	writeArray(330, _enemy[EN_ROTT2].occurences);
-	writeArray(331, _enemy[EN_ROTT3].occurences);
-	writeArray(332, _enemy[EN_VULTF1].occurences);
-	writeArray(333, _enemy[EN_VULTM1].occurences);
-	writeArray(334, _enemy[EN_VULTF2].occurences);
-	writeArray(335, _enemy[EN_VULTM2].occurences);
-	writeArray(336, _enemy[EN_CAVEFISH].occurences);
-	writeArray(339, _enemy[EN_VULTF2].field_10);
 	writeArray(56, _enemy[EN_CAVEFISH].field_10);
-	writeArray(340, _enemy[EN_VULTM2].field_10);
+	if (!((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC))) {
+		writeArray(337, _enemy[EN_TORQUE].occurences);
+		writeArray(329, _enemy[EN_ROTT1].occurences);
+		writeArray(330, _enemy[EN_ROTT2].occurences);
+		writeArray(331, _enemy[EN_ROTT3].occurences);
+		writeArray(332, _enemy[EN_VULTF1].occurences);
+		writeArray(333, _enemy[EN_VULTM1].occurences);
+		writeArray(334, _enemy[EN_VULTF2].occurences);
+		writeArray(335, _enemy[EN_VULTM2].occurences);
+		writeArray(336, _enemy[EN_CAVEFISH].occurences);
+		writeArray(339, _enemy[EN_VULTF2].field_10);
+		writeArray(340, _enemy[EN_VULTM2].field_10);
+	}
 	// insane_unlock(); // FIXME
 	_vm->_sound->stopAllSounds(); // IMUSE_StopAllSounds();
 	if (_memoryAllocatedNotOK) {
@@ -657,9 +654,15 @@
 
 	debugC(DEBUG_INSANE, "setEnemyCostumes(%d)", _currEnemy);
 
-	smlayer_setActorCostume(0, 2, readArray(12));
-	smlayer_setActorCostume(0, 0, readArray(14));
-	smlayer_setActorCostume(0, 1, readArray(13));
+	if ((_vm->_features & GF_DEMO) && (_vm->_features & GF_PC)) {
+		smlayer_setActorCostume(0, 2, readArray(11));
+		smlayer_setActorCostume(0, 0, readArray(13));
+		smlayer_setActorCostume(0, 1, readArray(12));
+	} else {
+		smlayer_setActorCostume(0, 2, readArray(12));
+		smlayer_setActorCostume(0, 0, readArray(14));
+		smlayer_setActorCostume(0, 1, readArray(13));
+	}
 	smlayer_setActorLayer(0, 1, 1);
 	smlayer_setActorLayer(0, 2, 5);
 	smlayer_setActorLayer(0, 0, 10);





More information about the Scummvm-git-logs mailing list