aboutsummaryrefslogtreecommitdiff
path: root/scumm/script_v5.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/script_v5.cpp')
-rw-r--r--scumm/script_v5.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp
index c5f3c95fa6..b3f8458121 100644
--- a/scumm/script_v5.cpp
+++ b/scumm/script_v5.cpp
@@ -1462,6 +1462,13 @@ void Scumm_v5::o5_putActorInRoom() {
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 @@ void Scumm_v5::o5_resourceRoutines() {
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;