aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2014-11-01 20:57:39 -0400
committerPaul Gilbert2014-12-12 22:19:35 -0500
commit48edbf1e34993ee8eda7902197e1e6cdb33dce7b (patch)
tree5c0d7cc1e13562d4aa13a6905fb359e2ce9bda0a
parentae24bf54b43ab682f4e057c117810c1506b58d4d (diff)
downloadscummvm-rg350-48edbf1e34993ee8eda7902197e1e6cdb33dce7b.tar.gz
scummvm-rg350-48edbf1e34993ee8eda7902197e1e6cdb33dce7b.tar.bz2
scummvm-rg350-48edbf1e34993ee8eda7902197e1e6cdb33dce7b.zip
ACCESS: Fixed clearing talk bubbles during conversations
-rw-r--r--engines/access/bubble_box.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/access/bubble_box.cpp b/engines/access/bubble_box.cpp
index c4272b607a..d865d5c9b3 100644
--- a/engines/access/bubble_box.cpp
+++ b/engines/access/bubble_box.cpp
@@ -47,6 +47,15 @@ void BubbleBox::load(Common::SeekableReadStream *stream) {
}
void BubbleBox::clearBubbles() {
+ // Loop through the bubble list to restore the screen areas
+ for (uint i = 0; i < _bubbles.size(); ++i) {
+ _vm->_screen->_screenYOff = 0;
+ Common::Rect r = _bubbles[i];
+ r.left -= 2;
+ _vm->_screen->copyBlock(&_vm->_buffer2, r);
+ }
+
+ // Clear the list
_bubbles.clear();
}
@@ -56,7 +65,7 @@ void BubbleBox::placeBubble(const Common::String &msg) {
}
void BubbleBox::placeBubble1(const Common::String &msg) {
- BubbleBox::clearBubbles();
+ clearBubbles();
_vm->_fonts._charSet._lo = 1;
_vm->_fonts._charSet._hi = 8;
_vm->_fonts._charFor._lo = 29;