aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-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