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
This commit is contained in:
Filippos Karapetis 2021-12-19 22:05:26 +02:00
parent 4f2f0e3a45
commit a488bb47e8
11 changed files with 145 additions and 11 deletions

View file

@ -185,6 +185,18 @@ const ADExtraGuiOptionsMap optionsList[] = {
}
},
#ifdef USE_TTS
{
GAMEOPTION_TTS,
{
_s("Enable Text to Speech"),
_s("Use TTS to read the descriptions (if TTS is available)"),
"tts_enabled",
false
}
},
#endif
AD_EXTRA_GUI_OPTIONS_TERMINATOR
};