[Scummvm-cvs-logs] CVS: scummvm/scumm/insane insane.cpp,1.11,1.12 insane_iact.cpp,1.7,1.8 insane_scenes.cpp,1.7,1.8

Eugene Sandulenko sev at users.sourceforge.net
Tue Jan 27 20:12:12 CET 2004


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

Modified Files:
	insane.cpp insane_iact.cpp insane_scenes.cpp 
Log Message:
Partial fix for bug #885488 (Some INSANE trouble)

 o Finally fixed seek error. Now I never encounter it, though there are weird
   SAUD errors in some cases.
 o Started to hunt cave-dude-only bug


Index: insane.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/insane/insane.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- insane.cpp	27 Jan 2004 20:05:23 -0000	1.11
+++ insane.cpp	28 Jan 2004 04:07:54 -0000	1.12
@@ -40,10 +40,7 @@
 
 // TODO (in no particular order):
 // o Ben's velocity don't get zeroed after crash
-// o Mine road used to have correct behaviour with ESC but now is not.
-//   Instead of skipping portions of road it just restarts
 // o Road signs are not aligned properly
-// o With goggles on there is a seek error
 // o SAUD complaining again
 // o Insane::postCase16() has workaround. Cockpit is not transparent so it is
 //   disabled now

Index: insane_iact.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/insane/insane_iact.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- insane_iact.cpp	26 Jan 2004 22:44:46 -0000	1.7
+++ insane_iact.cpp	28 Jan 2004 04:07:54 -0000	1.8
@@ -200,7 +200,7 @@
 }
 
 void Insane::proc62(void) {
-	if (readArray(58) == 0)
+	if (readArray(58) != 0)
 		_enemy[EN_TORQUE].field_10 = 1;
 
 	if (_enemy[EN_TORQUE].field_8 == 0) {
@@ -217,15 +217,22 @@
 
 	int32 en, edi, ebp, edx, esi, eax, ebx, ecx;
 
-	for (en = 0; _enemy[en].field_10 == 0; en++);
-	en -= 4;
+	edx = eax = 0;
+
+	for (eax = 0; eax < 9; eax++)
+		if (_enemy[eax].field_10 == 0)
+			edx++;
+	  
+	edx -= 4;
+
+	en = edx;
 
 	ebp = 0;
 	edi = 0;
 
 	_loop1:
 	edi++;
-	if (edi > 14)
+	if (edi >= 14)
 		goto loc5;
 
 	edx = rand() / 11;
@@ -351,6 +358,9 @@
 }
 
 void Insane::proc64(int32 enemy1) {
+	if (enemy1 >= _val215d)
+		return;
+
 	_val215d--;
 
 	for (int en = enemy1; en < _val215d; en++)

Index: insane_scenes.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/insane/insane_scenes.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- insane_scenes.cpp	26 Jan 2004 22:44:46 -0000	1.7
+++ insane_scenes.cpp	28 Jan 2004 04:07:54 -0000	1.8
@@ -1052,7 +1052,7 @@
 	smlayer_showStatusMsg(-1, renderBitmap, codecparam, 140, 168, 1, 2, 0, "%s", buf);
 	smlayer_showStatusMsg(-1, renderBitmap, codecparam, 170, 43, 1, 2, 0, "%s", buf);
 
-	// FIXME: it should be transparent
+	// FIXME: it should be transparent, so now it is disabled
 	//smlayer_drawSomething(renderBitmap, codecparam, 0, 0, 1, _smush_bensgoggNut, 0, 0, 0);
 	
 	if (!_val124_)





More information about the Scummvm-git-logs mailing list