[Scummvm-cvs-logs] CVS: scummvm/scumm script_v5.cpp,1.9,1.10 script_v6.cpp,1.27,1.28
James Brown
ender at users.sourceforge.net
Thu Dec 26 16:24:02 CET 2002
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv7809/scumm
Modified Files:
script_v5.cpp script_v6.cpp
Log Message:
Patch 650135 (method 3): FOA parrot hang
Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- script_v5.cpp 26 Dec 2002 00:21:19 -0000 1.9
+++ script_v5.cpp 27 Dec 2002 00:23:45 -0000 1.10
@@ -2348,10 +2348,12 @@
_opcode = fetchScriptByte();
switch (_opcode & 0x1F) {
- case 1: /* wait for actor */
- if (derefActorSafe(getVarOrDirectByte(0x80), "o5_wait")->moving)
- break;
- return;
+ case 1: { /* wait for actor */
+ Actor *a = derefActorSafe(getVarOrDirectByte(0x80), "o5_wait");
+ if (a && a->isInCurrentRoom() && a->moving)
+ break;
+ return;
+ }
case 2: /* wait for message */
if (_vars[VAR_HAVE_MSG])
break;
Index: script_v6.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v6.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- script_v6.cpp 26 Dec 2002 23:24:27 -0000 1.27
+++ script_v6.cpp 27 Dec 2002 00:23:45 -0000 1.28
@@ -2072,13 +2072,14 @@
{
switch (fetchScriptByte()) {
case 168:{
- int offs = fetchScriptWordSigned();
- if (derefActorSafe(pop(), "o6_wait")->moving) {
- _scriptPointer += offs;
- o6_breakHere();
- }
- return;
+ Actor *a = derefActorSafe(pop(), "o6_wait");
+ int offs = (int16)fetchScriptWord();
+ if (a && a->isInCurrentRoom() && a->moving) {
+ _scriptPointer += offs;
+ o6_breakHere();
}
+ return;
+ }
case 169:
// HACK: For Conroy Bumpus' song in Sam & Max.
// During the song three calls to o6_wait() appear,
More information about the Scummvm-git-logs
mailing list