diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/lure/room.cpp | 13 |
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 |