diff options
Diffstat (limited to 'engines/bladerunner/subtitles.cpp')
-rw-r--r-- | engines/bladerunner/subtitles.cpp | 8 |
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()); |