Ticket #3114: bug_1678230_fix_2.diff

File bug_1678230_fix_2.diff, 774 bytes (added by SF/mthreepwood, 18 years ago)

Possible Fix (fixed)

  • op_cmd.cpp

     
    12331233        if ((g_agi->getFeatures() & GF_AGIPAL) && p0 >= 101 && p0 < 110) {
    12341234                g_gfx->setAGIPal(p0);
    12351235                return;
    1236         } else
    1237                 g_gfx->shakeStart();
     1236        }
    12381237
     1238        //Disables input while shaking to prevent bug #1678230
     1239        int originalValue = game.inputEnabled;
     1240        game.inputEnabled = 0;
     1241
     1242        g_gfx->shakeStart();
     1243
    12391244        g_sprites->commitBoth();                /* Fixes SQ1 demo */
    12401245        for (i = 4 * p0; i; i--) {
    12411246                g_gfx->shakeScreen(i & 1);
     
    12431248                g_agi->mainCycle();
    12441249        }
    12451250        g_gfx->shakeEnd();
     1251
     1252        //Sets input back to what it was
     1253        game.inputEnabled = originalValue;
    12461254}
    12471255
    12481256static void (*agiCommand[183])(uint8 *) = {