aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/talk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/cge/talk.cpp')
-rw-r--r--engines/cge/talk.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/cge/talk.cpp b/engines/cge/talk.cpp
index 146c720667..11dedf349b 100644
--- a/engines/cge/talk.cpp
+++ b/engines/cge/talk.cpp
@@ -309,11 +309,22 @@ void InfoLine::update(const char *tx) {
uint16 size = 4 * psiz; // whole map size
// clear whole rectangle
+ byte *pDest;
+ memset(v + 2, TEXT_BG, dsiz); // data bytes
+ for (pDest = v + lsiz; pDest < (v + psiz); pDest += lsiz) {
+ Common::copy(v, v + lsiz, pDest);
+ }
+ *(uint16 *)(v + psiz - 2) = EOI; // plane trailer uint16
+ for (pDest = v + psiz; pDest < (v + 4 * psiz); pDest += psiz) {
+ Common::copy(v, v + psiz, pDest);
+ }
+
+/*
memset(v + 2, TEXT_BG, dsiz); // data bytes
memmove(v + lsiz, v, psiz - lsiz);
*(uint16 *)(v + psiz - 2) = EOI; // plane trailer uint16
memmove(v + psiz, v, 3 * psiz);
-
+*/
// paint text line
if (tx) {
uint8 *p = v + 2, * q = p + size;