[Scummvm-cvs-logs] CVS: scummvm/scumm/smush insane.cpp,1.22,1.23 smush_player.cpp,1.82,1.83

Eugene Sandulenko sev at users.sourceforge.net
Wed Dec 24 16:19:01 CET 2003


Update of /cvsroot/scummvm/scummvm/scumm/smush
In directory sc8-pr-cvs1:/tmp/cvs-serv16688

Modified Files:
	insane.cpp smush_player.cpp 
Log Message:
Fixed bug when Ben disappeared after some battles.
Fixed bug with correct scene ending behaviour, now FT Mac Demo is completable.
Fixed some bugs with cavefish actor.
Cleanup.


Index: insane.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/insane.cpp,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- insane.cpp	22 Dec 2003 08:22:04 -0000	1.22
+++ insane.cpp	25 Dec 2003 00:18:41 -0000	1.23
@@ -40,21 +40,10 @@
 
 #ifdef INSANE
 
-// NOTE:
-// san files with IACT chunks:
-// minedriv.san
-// minefite.san
-// toranch.san
-// tovista1.san
-// tovista2.san
-
 // TODO (in no particular order):
+// o Cannot leave mines, problem with playing san from the middle
 // o Ben's velocity don't get zeroed after crash
-// o After third crash Ben disappears
-// o Check why ftmacdemo doesn't finish insane scene
 // o TRS file support. Everything is in place, I just need to figure out function parameters
-// o FLU files support
-// o IACT
 // o Code review/cleanup
 // o DOS demo INSANE
 
@@ -2619,7 +2608,7 @@
 void Insane::setEnemyCostumes (void) {
 	int i;
 
-	debug(0, "setEnemyCostumes()");
+	debug(0, "setEnemyCostumes(%d)", _currEnemy);
 
 	smlayer_setActorCostume(0, 2, readArray(_numberArray, 12));
 	smlayer_setActorCostume(0, 0, readArray(_numberArray, 14));
@@ -2801,7 +2790,7 @@
 
 int32 Insane::idx1Tweak(void) {
 	_objArray1Idx++;
-	if (_objArray1Idx > 100)
+	if (_objArray1Idx >= 100)
 		_objArray1Idx = 0;
 	
 	return _objArray1[_objArray1Idx];
@@ -2813,7 +2802,7 @@
 			return false;
 	
 	_objArray2Idx++;
-	if (_objArray2Idx > 100) {
+	if (_objArray2Idx >= 100) {
 		_idx2Exceeded = 0;
 		_objArray2Idx = 0;
 	}
@@ -2865,16 +2854,19 @@
 		_currSceneId = _temp2SceneId;
 		_needSceneSwitch = false;
 		loadSceneData(_temp2SceneId, 0, 1);
+
 		if(loadSceneData(_temp2SceneId, 0, 2)) {
 			setSceneCostumes(_temp2SceneId);
 			_sceneData2Loaded = 0;
 			_sceneData1Loaded = 0;
 			return;
 		}
+
 		_sceneData2Loaded = 1;
 		if (_temp2SceneId == 13 || _temp2SceneId == 3)
 			_isBenCut = 1;
 	}
+
 	if (_sceneData2Loaded && !_sceneData1Loaded) {
 		setSceneCostumes(_currSceneId);
 		_sceneData2Loaded = 0;
@@ -5851,7 +5843,7 @@
 	if (phase == 1) {
 		_objArray2Idx2++;
 		_objArray2[_objArray2Idx2] = id;
-		if (_objArray2Idx2 > 100) {
+		if (_objArray2Idx2 >= 100) {
 			_idx2Exceeded = 1;
 			_objArray2Idx2 = 0;
 		}
@@ -6971,6 +6963,9 @@
 		if (_currSceneId == 21) {
 			queueSceneSwitch(22, 0, "rottflip.san", 64, 0, 0, 0);
 			_actor[1].act[2].state = 38;
+		} else {
+			queueSceneSwitch(11, 0, _enemy[_currEnemy].filename, 64, 0, 0, 0);
+			_actor[1].act[2].state = 38;
 		}
 		break;
 	case 102:
@@ -6984,13 +6979,8 @@
 	case 103:
 		_actor[1].kicking = 0;
 		
-		if (_actor[1].act[2].frame >= 18) {
-			if (_actor[1].x >= 50 && _actor[1].x <= 270)
-				break;
-
-			if (_actor[1].act[2].frame < 9)
-				break;
-
+		if (_actor[1].act[2].frame >= 18 || ((_actor[1].x < 50 || _actor[1].x > 270) &&
+											 _actor[1].act[2].frame >= 9)) {
 			_enemy[EN_CAVEFISH].field_10 = 1;
 			queueSceneSwitch(20, 0, "wr2_cvko.san", 64, 0, 0, 0);
 			_actor[1].act[2].state = 38;

Index: smush_player.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_player.cpp,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -d -r1.82 -r1.83
--- smush_player.cpp	24 Dec 2003 17:42:20 -0000	1.82
+++ smush_player.cpp	25 Dec 2003 00:18:41 -0000	1.83
@@ -742,7 +742,6 @@
 	start_time = _scumm->_system->get_msecs();
 
 #ifdef INSANE
-	// FIXME: Check either it is proper place for the call
 	if (_insanity) {
 		_scumm->_insane->procPreRendering();
 	}
@@ -804,8 +803,7 @@
 	}
 
 #ifdef INSANE
-	// FIXME: Check either it is proper place for the call
-	//        Check either parameters are valid
+	// FIXME: Check either parameters are valid
 	if (_insanity) {
 		_scumm->_insane->procPostRendering(_dst, 0, 0, 0, _frame, _nbframes-1);
 	}





More information about the Scummvm-git-logs mailing list