aboutsummaryrefslogtreecommitdiff
path: root/engines/director/score.cpp
diff options
context:
space:
mode:
authorDmitry Iskrich2016-07-01 20:15:34 +0300
committerEugene Sandulenko2016-08-03 23:40:36 +0200
commit32fb9a33442af5786a207f1b9b053f0ef5cda8ae (patch)
tree6447b585ab8c75bd42be306bb79883570752fe2e /engines/director/score.cpp
parent1b0e5467456bfe452217c09af7494861480c4523 (diff)
downloadscummvm-rg350-32fb9a33442af5786a207f1b9b053f0ef5cda8ae.tar.gz
scummvm-rg350-32fb9a33442af5786a207f1b9b053f0ef5cda8ae.tar.bz2
scummvm-rg350-32fb9a33442af5786a207f1b9b053f0ef5cda8ae.zip
DIRECTOR: Draw string with mac fonts
Diffstat (limited to 'engines/director/score.cpp')
-rw-r--r--engines/director/score.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index e5857f2e95..ea0616a7fe 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1303,7 +1303,8 @@ Image::ImageDecoder *Frame::getImageFrom(uint16 spriteId) {
void Frame::renderText(Graphics::ManagedSurface &surface, uint16 spriteID) {
uint16 castID = _sprites[spriteID]->_castId;
- Cast *textCast = _vm->_currentScore->_casts[castID];
+
+ TextCast *textCast = static_cast<TextCast *>(_vm->_currentScore->_casts[castID]);
Common::SeekableSubReadStreamEndian *textStream;
if (_vm->_currentScore->_movieArchive->hasResource(MKTAG('S','T','X','T'), castID + 1024)) {
@@ -1332,8 +1333,13 @@ void Frame::renderText(Graphics::ManagedSurface &surface, uint16 spriteID) {
int height = _sprites[spriteID]->_height;
int width = _sprites[spriteID]->_width;
- //FIXME
- FontMan.getFontByUsage(Graphics::FontManager::kBigGUIFont)->drawString(&surface, text, x, y, width, 0);
+ const Graphics::Font *font = FontMan.getFontByName(_vm->_currentScore->_fontMap[textCast->fontId]);
+
+ if (!font) {
+ error("Cannot load font %s", _vm->_currentScore->_fontMap[textCast->fontId].c_str());
+ }
+
+ font->drawString(&surface, text, x, y, width, 0);
}
void Frame::drawBackgndTransSprite(Graphics::ManagedSurface &target, const Graphics::Surface &sprite, Common::Rect &drawRect) {