diff options
author | Martin Kiewitz | 2009-10-12 15:52:50 +0000 |
---|---|---|
committer | Martin Kiewitz | 2009-10-12 15:52:50 +0000 |
commit | 291e479daf44611be9238943ba0ee33150baaedc (patch) | |
tree | a3c5555326ac70c72031a67f59f9c40885227a42 /engines | |
parent | cfc3af3466484dbd5cccefa1276716836d09e754 (diff) | |
download | scummvm-rg350-291e479daf44611be9238943ba0ee33150baaedc.tar.gz scummvm-rg350-291e479daf44611be9238943ba0ee33150baaedc.tar.bz2 scummvm-rg350-291e479daf44611be9238943ba0ee33150baaedc.zip |
SCI/newgui: background of noupdate cels is now correctly saved (was typo) solves sticky cel problem
svn-id: r44989
Diffstat (limited to 'engines')
-rw-r--r-- | engines/sci/gui/gui_gfx.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/engines/sci/gui/gui_gfx.cpp b/engines/sci/gui/gui_gfx.cpp index 703b730e5b..4143d1c720 100644 --- a/engines/sci/gui/gui_gfx.cpp +++ b/engines/sci/gui/gui_gfx.cpp @@ -1147,7 +1147,7 @@ void SciGuiGfx::AnimateUpdate() { GuiAnimateList::iterator listBegin = _animateList.begin(); GuiAnimateList::iterator listEnd = _animateList.end(); - // Remove all previous cels from screen + // Remove all no-update cels, if requested listIterator = _animateList.reverse_begin(); while (listIterator != listEnd) { listEntry = *listIterator; @@ -1174,6 +1174,7 @@ void SciGuiGfx::AnimateUpdate() { listIterator--; } + // Draw always-update cels listIterator = listBegin; while (listIterator != listEnd) { listEntry = *listIterator; @@ -1196,6 +1197,7 @@ void SciGuiGfx::AnimateUpdate() { listIterator++; } + // Saving background for all NoUpdate-cels listIterator = listBegin; while (listIterator != listEnd) { listEntry = *listIterator; @@ -1208,7 +1210,7 @@ void SciGuiGfx::AnimateUpdate() { } else { signal &= 0xFFFF ^ SCI_ANIMATE_SIGNAL_REMOVEVIEW; if (signal & SCI_ANIMATE_SIGNAL_IGNOREACTOR) - bitsHandle = BitsSave(listEntry->celRect, SCI_SCREEN_MASK_PRIORITY|SCI_SCREEN_MASK_PRIORITY); + bitsHandle = BitsSave(listEntry->celRect, SCI_SCREEN_MASK_VISUAL|SCI_SCREEN_MASK_PRIORITY); else bitsHandle = BitsSave(listEntry->celRect, SCI_SCREEN_MASK_ALL); PUT_SEL32(curObject, underBits, bitsHandle); @@ -1218,6 +1220,7 @@ void SciGuiGfx::AnimateUpdate() { listIterator++; } + // Draw NoUpdate cels listIterator = listBegin; while (listIterator != listEnd) { listEntry = *listIterator; |