[Scummvm-cvs-logs] CVS: scummvm/scumm room.cpp,1.29,1.30

Max Horn fingolfin at users.sourceforge.net
Sun Feb 5 07:49:11 CET 2006


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

Modified Files:
	room.cpp 
Log Message:
WORKAROUND bug #1074444 (DOTT: Can't get teeth)

Index: room.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/room.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- room.cpp	5 Feb 2006 06:32:16 -0000	1.29
+++ room.cpp	5 Feb 2006 15:48:46 -0000	1.30
@@ -415,6 +415,19 @@
 				_HEV7ActorPalette[i] = i;
 		}
 	}
+	
+	
+	// WORKAROUND bug #1074444: The dreaded DOTT "Can't get teeth" bug
+	// makes it impossible to go on playing w/o cheating in some way.
+	// It's not quite clear what causes it, but the effect is that object
+	// 182, the teeth, are still in class 32 (kObjectClassUntouchable),
+	// when they shouldn't be. Luckily, bitvar69 is set to 1 if and only if
+	// the teeth are trapped and have not yet been taken by the player. So
+	// we can make use of that fact to fix the object class of obj 182.
+	if (_gameId == GID_TENTACLE && _roomResource == 26 && readVar(0x8000 + 69)
+			&& getClass(182, kObjectClassUntouchable)) {
+		putClass(182, kObjectClassUntouchable, 0);
+	}
 
 	gdi.roomChanged(roomptr, _IM00_offs, trans);
 }





More information about the Scummvm-git-logs mailing list