Ticket #1790: 1035739.diff
File 1035739.diff, 2.8 KB (added by , 18 years ago) |
---|
-
scumm/scumm.cpp
364 364 _bgNeedsRedraw = false; 365 365 _screenEffectFlag = false; 366 366 _completeScreenRedraw = false; 367 _disableFadeInEffect = false; 367 368 memset(&_cursor, 0, sizeof(_cursor)); 368 369 memset(_grabbedCursor, 0, sizeof(_grabbedCursor)); 369 370 _currentCursor = 0; -
scumm/smush/smush_player.cpp
345 345 346 346 _vm->_fullRedraw = true; 347 347 348 // WORKAROUND bug #1035739: This is hack to workaround some ugly palette349 // issues, see the mentioned bug report for details.350 _vm->_doEffect = false;351 352 353 348 // HACK HACK HACK: This is an *evil* trick, beware! See above for 354 349 // some explanation. 355 350 _vm->virtscr[0].pitch = _origPitch; 356 351 _vm->gdi._numStrips = _origNumStrips; 357 352 358 359 353 _initDone = false; 360 354 } 361 355 -
scumm/gfx.cpp
2952 2952 #pragma mark - 2953 2953 2954 2954 void ScummEngine::fadeIn(int effect) { 2955 if (_disableFadeInEffect) { 2956 // fadeIn() calls can be disabled in TheDig after a SMUSH movie 2957 // has been played. Like the original interpreter, we introduce 2958 // an extra flag to handle this. 2959 _disableFadeInEffect = false; 2960 _doEffect = false; 2961 return; 2962 } 2963 2955 2964 updatePalette(); 2956 2965 2957 2966 switch (effect) { … … 3012 3021 memcpy(_scrollBuffer, vs->getPixels(0, 0), vs->h * vs->pitch); 3013 3022 } 3014 3023 3015 3016 if (_screenEffectFlag && effect != 0) { 3024 // TheDig can disable fadeIn(), and may call fadeOut() several times. 3025 // Disabling the _screenEffectFlag check forces the screen to get cleared. 3026 // This fixes glitches, at least, in the first cutscene when bypassed. 3027 if ((_game.id == GID_DIG || _screenEffectFlag) && effect != 0) { 3017 3028 3018 3029 // Fill screen 0 with black 3019 3030 memset(vs->getPixels(0, 0), 0, vs->pitch * vs->h); -
scumm/scumm.h
976 976 //ender: fullscreen 977 977 bool _fullRedraw, _bgNeedsRedraw; 978 978 bool _screenEffectFlag, _completeScreenRedraw; 979 bool _disableFadeInEffect; 979 980 980 981 struct { 981 982 int hotspotX, hotspotY, width, height; -
scumm/script_v6.cpp
2544 2544 _insane->runScene(insaneVarNum); 2545 2545 _insaneRunning = false; 2546 2546 } 2547 if (_game.id == GID_DIG) { 2548 _disableFadeInEffect = true; 2549 } 2547 2550 } 2548 2551 break; 2549 2552 #endif