From f01fbb846751797e4a897a0c203349273a0215e5 Mon Sep 17 00:00:00 2001 From: Eugene Sandulenko Date: Sun, 22 Apr 2007 16:17:14 +0000 Subject: [PATCH] Patch from bugreport #1678230: "AGI: Entering text while screen is shaking" svn-id: r26568 --- engines/agi/op_cmd.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/engines/agi/op_cmd.cpp b/engines/agi/op_cmd.cpp index f9017da3202..d55963f6708 100644 --- a/engines/agi/op_cmd.cpp +++ b/engines/agi/op_cmd.cpp @@ -1233,8 +1233,14 @@ cmd(shake_screen) { if ((g_agi->getFeatures() & GF_AGIPAL) && p0 >= 101 && p0 < 110) { g_gfx->setAGIPal(p0); return; - } else - g_gfx->shakeStart(); + } + + // Disables input while shaking to prevent bug + // #1678230: AGI: Entering text while screen is shaking + int originalValue = game.inputEnabled; + game.inputEnabled = 0; + + g_gfx->shakeStart(); g_sprites->commitBoth(); /* Fixes SQ1 demo */ for (i = 4 * p0; i; i--) { @@ -1243,6 +1249,9 @@ cmd(shake_screen) { g_agi->mainCycle(); } g_gfx->shakeEnd(); + + //Sets input back to what it was + game.inputEnabled = originalValue; } static void (*agiCommand[183])(uint8 *) = {