Commit Graph
8 Commits
Author SHA1 Message Date
athrxx bd1dbecde9 TTS: (ENGINES) - add support for tts enable function
The new option only works as intended if the engine that have TTS support apply their own settings. It cannot be globally implemented before and after runGame(), since the engines don't all use the same config manager variables (sometimes "tts_enabled_speech", "tts_enabled" or "tts_narrator, sometimes more than one of these).
2022-04-26 21:08:41 +03:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Filippos Karapetis 6af691e344 SCI: Skip TTS for QFG4 room 140 (character creation screen)
In this screen, the UI is refreshed with many short sentences (e.g.
"Strength"), which are drawn very quickly. Since this causes TTS to
constantly start and stop, it introduces an unwanted lag, thus we
skip TTS in that screen
2021-12-24 02:57:27 +02:00
Filippos Karapetis 433f11da95 SCI: Only strip color codes in SCI1.1 for TTS
Color code processing has been removed in newer SCI versions
2021-12-24 02:57:27 +02:00
Filippos Karapetis f335d74e87 SCI: Strip color codes in TTS, and only handle actual texts in TTS
We now remove all color codes from strings, and only handle texts in
TTS if they contain at least one vowel. This allows us to skip texts
such as the one shown when talking to the alien in SQ5 room 500, where
a series of symbols is shown, as part of a joke
2021-12-24 02:57:27 +02:00
Filippos Karapetis ee2995fe82 SCI: Don't hook up kDisplay to TTS
kDisplay is used to redraw parts of the UI, so it's not ideal to hook
TTS there, as it keeps spamming sentences that get redrawn in the UI
frequently, such as the intro text and the points in SQ5
2021-12-24 02:57:27 +02:00
Filippos Karapetis 0aaf48f900 SCI: Handle text in TTS where the first character is chopped off
This occurs in games such as KQ5 and KQ6
2021-12-24 02:57:27 +02:00
Filippos Karapetis a488bb47e8 SCI: Text to Speech (TTS) functionality for SCI16 (SCI0 - SCI1.1) games
This is based on the work done for GSoC by @taylorzhancher in PR #3256

Highlights:
- TTS has been hooked globally onto places where text is shown
- TTS is currently performed for textboxes and button texts
- TTS stops when text windows are disposed (which enhances the in-game
  experience)
- No game-specific logic has been added
- This hasn't been extensively tested with all SCI16 games yet
- There will be cases that are not handled properly yet
- The TTS functions have been grouped under a SciTTS class
2021-12-24 02:57:27 +02:00