From f0ffea2d6417ee1aac9ad3e92ffcfd5c8c6ebbd2 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Wed, 15 Oct 2003 09:40:44 +0000 Subject: Disable code which seems to be real cause of lock up in title screen of MI1 demos svn-id: r10811 --- scumm/camera.cpp | 7 ++++++- scumm/script_v5.cpp | 16 ---------------- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/scumm/camera.cpp b/scumm/camera.cpp index 872cb593ce..a59bd4ec57 100644 --- a/scumm/camera.cpp +++ b/scumm/camera.cpp @@ -367,13 +367,18 @@ void ScummEngine::actorFollowCamera(int act) { if (!(_features & GF_NEW_CAMERA)) { int old; - /* mi1 compatibilty */ +// Exactly why is this code needed for Monkey Island 1? +// Seems to be the real cause of lock up at title screen +// in Amiga and PC demo versions. +/* + // MI1 compatibilty if (act == 0) { camera._mode = CM_NORMAL; camera._follows = 0; camera._movingToActor = false; return; } +*/ old = camera._follows; setCameraFollows(derefActor(act, "actorFollowCamera")); diff --git a/scumm/script_v5.cpp b/scumm/script_v5.cpp index 3822b01d41..6271d3981c 100644 --- a/scumm/script_v5.cpp +++ b/scumm/script_v5.cpp @@ -1639,22 +1639,6 @@ void ScummEngine_v5::o5_putActorInRoom() { a = derefActor(act, "o5_putActorInRoom"); - // WORKAROUND: Fix for Bug #770710 - // This fixes conflicting actor usage by two different scripts - // in MI1 Demo (PC GID_MONKEY_EGA or Amiga GID_MONKEY_VGA). The - // exit script for the LucasArts logo screen attempts to reset an - // actor that has already been set up for the next scene by the - // boot script. The fix cannot be used as a general behavior - // because it does cause GFX glitches in other games that try to - // do legitimate cleanup of actors that are in another room. - // (The Indy3 "Indy at Donovan's" cutscene, for instance.) - if (_gameId == GID_MONKEY_EGA || _gameId == GID_MONKEY_VGA) { - 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(); } -- cgit v1.2.3