SCI: Fix ScummVM freezing during the credits scene in EcoQuest 1 (bug #3101846)

svn-id: r54395
This commit is contained in:
Filippos Karapetis 2010-11-20 19:52:31 +00:00
parent 29c6ab433e
commit d886c037dd

View File

@ -33,6 +33,7 @@
#include "sci/sci.h"
#include "sci/debug.h" // for g_debug_sleeptime_factor
#include "sci/event.h"
#include "sci/resource.h"
#include "sci/engine/features.h"
#include "sci/engine/state.h"
@ -1118,6 +1119,14 @@ reg_t kAnimate(EngineState *s, int argc, reg_t *argv) {
g_sci->_gfxAnimate->kernelAnimate(castListReference, cycle, argc, argv);
// WORKAROUND: At the end of Ecoquest 1, during the credits, the game
// doesn't call kGetEvent(), so no events are processed (e.g. window
// focusing, window moving etc). We poll events for that scene, to
// keep ScummVM responsive. Fixes ScummVM "freezing" during the credits,
// bug #3101846
if (g_sci->getGameId() == GID_ECOQUEST && s->currentRoomNumber() == 680)
g_sci->getEventManager()->getSciEvent(SCI_EVENT_PEEK);
return s->r_acc;
}