DRACI: Add text-to-speech (TTS)#6742
Conversation
| // TTS for all languages but Czech struggles to voice a lot of Czech characters in the credits, | ||
| // and oftentimes skips them entirely (i.e. "Špalek" is pronounced as "Palek") | ||
| // To more closely resemble how the names are supposed to be pronounced, | ||
| // this table replaces certain Czech characters with an alternative |
engines/draci/draci.cpp
Outdated
| _dubbingArchive = nullptr; | ||
| _showWalkingMap = 0; | ||
| _pauseStartTime = 0; | ||
| _language = gameDesc->language; |
There was a problem hiding this comment.
The standard approach is slightly different.
- Add to metanegine.cpp, the following method:
Common::Language DraciEngine::getLanguage() const {
return _gameDescription->language;
}- Use everywhere
getLanguage()call
criezy
left a comment
There was a problem hiding this comment.
It looks good, but I have one suggestion that I think would both improve the behaviour and simplify the code.
|
I have now tested the pull request, and there is one big issue: you can have the original Czech or Polish dubbing in the English and German versions of the game. And if you do and enable TTS then you have both at the same time and it is unintelligible. From https://www.ucw.cz/draci-historie/index-en.html#download:
And in the ScummVM options you need to enable "Voice" or "Both" voice and subtitle. So if "Voice" is enabled and the dub file is present, then the TTS subtitle option should be ignored (or rather work like the "tts_enabled_missing_voice " option). An alternative would be to disable original voices when the TTS subtitle option is enabled, but I prefer to give precedence to the original voice for several reasons:
|
Adds toggles for text-to-speech to the game options.
Adds text-to-speech for the following: