[Scummvm-cvs-logs] CVS: scummvm/scumm script_v5.cpp,1.153,1.154 scummvm.cpp,2.344,2.345

Travis Howell kirben at users.sourceforge.net
Sat Aug 16 19:35:05 CEST 2003


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

Modified Files:
	script_v5.cpp scummvm.cpp 
Log Message:

Fix regressions in MI1 Amiga
Revert last change to MI1 demo fix and make it monkeyega target only.


Index: script_v5.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/script_v5.cpp,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -d -r1.153 -r1.154
--- script_v5.cpp	16 Aug 2003 21:45:00 -0000	1.153
+++ script_v5.cpp	17 Aug 2003 02:34:34 -0000	1.154
@@ -1462,6 +1462,13 @@
 
 	a = derefActor(act, "o5_putActorInRoom");
 	
+	if (_gameId & GID_MONKEY_EGA) {
+		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();
 	}
@@ -1524,22 +1531,15 @@
 			ensureResourceLoaded(rtRoom, resid);
 		break;
 
-	case 8:											// nuke room
-		if (resid == _currentRoom) {
-			warning ("Nuking current room %d - exit script called early", resid);
-			runExitScript();
-			_currentRoom = 0;
-		}
-		// Fall through
 	case 5:											// nuke script
 	case 6:											// nuke sound
 	case 7:											// nuke costume
+	case 8:											// nuke room
 		if (_gameId == GID_ZAK256)
 			warning("o5_resourceRoutines %d should not occur in Zak256", op);
 		else
 			setResourceCounter(resType[op-5], resid, 0x7F);
 		break;
-
 	case 9:											// lock script
 		if (resid >= _numGlobalScripts)
 			break;

Index: scummvm.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/scummvm.cpp,v
retrieving revision 2.344
retrieving revision 2.345
diff -u -d -r2.344 -r2.345
--- scummvm.cpp	16 Aug 2003 21:45:00 -0000	2.344
+++ scummvm.cpp	17 Aug 2003 02:34:34 -0000	2.345
@@ -624,7 +624,7 @@
 	_playerV2 = NULL;
 	if (_features & GF_DIGI_IMUSE) {
 		_imuseDigital = new IMuseDigital(this);
-	} else if ((_features & GF_AMIGA) && (_features & GF_OLD_BUNDLE)) {
+	} else if ((_features & GF_AMIGA) && (_version < 5)) {
 		_playerV2 = NULL;
 	} else if (((_midiDriver == MD_PCJR) || (_midiDriver == MD_PCSPK)) && ((_version > 2) && (_version < 5))) {
 		_playerV2 = new Player_V2(this);
@@ -1057,7 +1057,7 @@
 		case MD_PCSPK:
 		case MD_PCJR:  VAR(VAR_SOUNDCARD) = 1; break;
 		default:       
-			if (_features & GF_SMALL_HEADER)
+			if (_features & GF_SMALL_HEADER && !(_features & GF_AMIGA))
 				VAR(VAR_SOUNDCARD) = 4;
 			else
 				VAR(VAR_SOUNDCARD) = 3;
@@ -1761,8 +1761,7 @@
 	if (!(_features & GF_SMALL_HEADER) && VAR_NEW_ROOM != 0xFF)  // Disable for SH games. Overwrites
 		VAR(VAR_NEW_ROOM) = room; // gamevars, eg Zak cashcards
 
-	if (_currentRoom)
-		runExitScript();
+	runExitScript();
 	killScriptsAndResources();
 	clearEnqueue();
 	stopCycle(0);





More information about the Scummvm-git-logs mailing list