aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2006-08-30 11:48:43 +0000
committerPaul Gilbert2006-08-30 11:48:43 +0000
commite0d2b0764f22028e6c5ad0d7e4b73275c90e358e (patch)
treede7e40800cf7db0748fa1d78174629aba318bdbc
parent1ba14890c65492d1d09fd272a37f1c7424023315 (diff)
downloadscummvm-rg350-e0d2b0764f22028e6c5ad0d7e4b73275c90e358e.tar.gz
scummvm-rg350-e0d2b0764f22028e6c5ad0d7e4b73275c90e358e.tar.bz2
scummvm-rg350-e0d2b0764f22028e6c5ad0d7e4b73275c90e358e.zip
Added word wrapping to the status line (necessary when giving long sets of Tell instructions)
svn-id: r23809
-rw-r--r--engines/lure/room.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/lure/room.cpp b/engines/lure/room.cpp
index fe53739dd7..be85e47430 100644
--- a/engines/lure/room.cpp
+++ b/engines/lure/room.cpp
@@ -441,7 +441,18 @@ void Room::update() {
if (_hotspotId != 0)
s.writeString(0, 0, _hotspotName, false, DIALOG_TEXT_COLOUR);
} else {
- s.writeString(0, 0, _statusLine, false, DIALOG_WHITE_COLOUR);
+ // Word wrap (if necessary) the status line and dispaly it
+ char *statusLineCopy = strdup(_statusLine);
+ char **lines;
+ uint8 numLines;
+ int16 yPos = 0;
+ s.wordWrap(statusLineCopy, s.width(), lines, numLines);
+ for (int lineNum = 0; lineNum < numLines; ++lineNum) {
+ s.writeString(0, yPos, lines[lineNum], false, DIALOG_WHITE_COLOUR);
+ yPos += FONT_HEIGHT;
+ }
+ Memory::dealloc(lines);
+ Memory::dealloc(statusLineCopy);
}
// If show information is turned on, show extra debugging information