aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/talk.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2011-07-15 22:12:56 +1000
committerPaul Gilbert2011-07-15 22:12:56 +1000
commit8c7130fdfaf6e7b6f93f158fc2399f81f2c12b71 (patch)
tree42975596f5f33badf17f2a55aa4f01e80ee4a179 /engines/cge/talk.cpp
parentb74e1b6af026bf0420e548e7d63e11968041e9a2 (diff)
downloadscummvm-rg350-8c7130fdfaf6e7b6f93f158fc2399f81f2c12b71.tar.gz
scummvm-rg350-8c7130fdfaf6e7b6f93f158fc2399f81f2c12b71.tar.bz2
scummvm-rg350-8c7130fdfaf6e7b6f93f158fc2399f81f2c12b71.zip
CGE: Fix display of in-game hotspot description
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;