[Scummvm-cvs-logs] CVS: scummvm/scumm script_v5.cpp,1.151,1.152

Jamieson Christian jamieson630 at users.sourceforge.net
Sat Aug 16 08:19:10 CEST 2003


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

Modified Files:
	script_v5.cpp 
Log Message:
Fixed hang in MI1 EGA Demo. Hang was the result
of a conflict between two scripts trying to
putActorInRoom() on the same actor. One script
was trying to reset an actor which had already
been appropriated and set up by another script.

A warning is displayed when putActorInRoom()
is ignored, just in case this crops up in other
games and causes undesirable behavior. (I
tested with MI2 up until Woodtick, and didn't
encounter any places where the opcode had to
be ignored.)

Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.151
retrieving revision 1.152
diff -u -d -r1.151 -r1.152
--- script_v5.cpp	13 Aug 2003 23:07:05 -0000	1.151
+++ script_v5.cpp	16 Aug 2003 15:13:15 -0000	1.152
@@ -1462,6 +1462,11 @@
 
 	a = derefActor(act, "o5_putActorInRoom");
 
+	if (room == 0 && a->room != _currentRoom && a->room != room && _currentRoom != room) {
+		warning ("o5_putActorInRoom (%d [%d], %d) ignored", act, a->room, room);
+		return;
+	}
+
 	if (a->visible && _currentRoom != room && VAR(VAR_TALK_ACTOR) == a->number) {
 		clearMsgQueue();
 	}





More information about the Scummvm-git-logs mailing list