diff options
-rw-r--r-- | engines/simon/items.cpp | 6 | ||||
-rw-r--r-- | engines/simon/simon.cpp | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/engines/simon/items.cpp b/engines/simon/items.cpp index 5a9612fe9e..30fefaca7f 100644 --- a/engines/simon/items.cpp +++ b/engines/simon/items.cpp @@ -1246,12 +1246,16 @@ void SimonEngine::o1_scnTxtLongText(bool &cond, int &ret) { uint color = getVarOrByte(); uint stringId = getVarOrByte(); uint speechId = 0; + TextLocation *tl; const char *string_ptr = (const char *)getStringPtrByID(_stringIdArray3[stringId]); - TextLocation *tl = getTextLocation(vgaSpriteId); if (getFeatures() & GF_TALKIE) speechId = _speechIdArray4[stringId]; + if (getGameType() == GType_FF) + vgaSpriteId = 1; + tl = getTextLocation(vgaSpriteId); + if (_speech && speechId != 0) playSpeech(speechId, vgaSpriteId); if (string_ptr != NULL && _subtitles) diff --git a/engines/simon/simon.cpp b/engines/simon/simon.cpp index 39b75609f9..27bf2c442d 100644 --- a/engines/simon/simon.cpp +++ b/engines/simon/simon.cpp @@ -2143,10 +2143,9 @@ void SimonEngine::o_printStr() { speech_id = (uint16)getNextWord(); if (getGameType() == GType_FF) - tl = getTextLocation(1); - else - tl = getTextLocation(vgaSpriteId); + vgaSpriteId = 1; + tl = getTextLocation(vgaSpriteId); if (_speech && speech_id != 0) playSpeech(speech_id, vgaSpriteId); if ((getGameType() == GType_SIMON2) && (getFeatures() & GF_TALKIE) && speech_id == 0) |