aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/subtitles.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/bladerunner/subtitles.cpp')
-rw-r--r--engines/bladerunner/subtitles.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/engines/bladerunner/subtitles.cpp b/engines/bladerunner/subtitles.cpp
index 36daee3d4c..df38552e2c 100644
--- a/engines/bladerunner/subtitles.cpp
+++ b/engines/bladerunner/subtitles.cpp
@@ -364,8 +364,12 @@ void Subtitles::draw(Graphics::Surface &s) {
return;
}
- Common::Array<Common::U32String> lines;
- _font->wordWrapText(_currentText, kTextMaxWidth, lines);
+ // This check is done so that lines won't be re-calculated multiple times for the same text
+ if (_currentText != _prevText) {
+ lines.clear();
+ _prevText = _currentText;
+ _font->wordWrapText(_currentText, kTextMaxWidth, lines);
+ }
int y = s.h - (kMarginBottom + MAX(kPreferedLine, lines.size()) * _font->getFontHeight());