aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/platform/sdl/win32/win32.cpp2
-rw-r--r--backends/text-to-speech/linux/linux-text-to-speech.cpp5
-rw-r--r--backends/text-to-speech/linux/linux-text-to-speech.h2
-rw-r--r--backends/text-to-speech/windows/windows-text-to-speech.h2
-rwxr-xr-xconfigure2
-rw-r--r--gui/gui-manager.cpp7
6 files changed, 13 insertions, 7 deletions
diff --git a/backends/platform/sdl/win32/win32.cpp b/backends/platform/sdl/win32/win32.cpp
index 4b0961bc3c..4328773c36 100644
--- a/backends/platform/sdl/win32/win32.cpp
+++ b/backends/platform/sdl/win32/win32.cpp
@@ -119,6 +119,8 @@ void OSystem_Win32::initBackend() {
// Initialize updates manager
_updateManager = new Win32UpdateManager();
#endif
+
+ // Initialize text to speech
#ifdef USE_WINDOWS_TTS
_textToSpeechManager = new WindowsTextToSpeechManager();
#endif
diff --git a/backends/text-to-speech/linux/linux-text-to-speech.cpp b/backends/text-to-speech/linux/linux-text-to-speech.cpp
index 9abe805767..d6195229c5 100644
--- a/backends/text-to-speech/linux/linux-text-to-speech.cpp
+++ b/backends/text-to-speech/linux/linux-text-to-speech.cpp
@@ -256,6 +256,11 @@ void LinuxTextToSpeechManager::updateVoices() {
createVoice(SPD_CHILD_MALE, Common::TTSVoice::MALE, Common::TTSVoice::CHILD, voiceInfo[6]);
createVoice(SPD_CHILD_FEMALE, Common::TTSVoice::FEMALE, Common::TTSVoice::CHILD, voiceInfo[7]);
+ for (int i = 0; i < 8; i++)
+ free(voiceInfo[i]);
+
+ free(voiceInfo);
+
}
void LinuxTextToSpeechManager::freeVoiceData(void *data) {
diff --git a/backends/text-to-speech/linux/linux-text-to-speech.h b/backends/text-to-speech/linux/linux-text-to-speech.h
index feb595095e..a6994f7f40 100644
--- a/backends/text-to-speech/linux/linux-text-to-speech.h
+++ b/backends/text-to-speech/linux/linux-text-to-speech.h
@@ -63,8 +63,6 @@ public:
virtual void setLanguage(Common::String language);
- bool popState();
-
void updateState(SpeechState state);
virtual void freeVoiceData(void *data);
diff --git a/backends/text-to-speech/windows/windows-text-to-speech.h b/backends/text-to-speech/windows/windows-text-to-speech.h
index 6498c9cc2c..87e4ceb218 100644
--- a/backends/text-to-speech/windows/windows-text-to-speech.h
+++ b/backends/text-to-speech/windows/windows-text-to-speech.h
@@ -64,8 +64,6 @@ public:
virtual void setLanguage(Common::String language);
- bool popState();
-
virtual void freeVoiceData(void *data);
private:
diff --git a/configure b/configure
index 096e11d73f..0a13ee0684 100755
--- a/configure
+++ b/configure
@@ -1050,6 +1050,8 @@ Optional Features:
--enable-text-console use text console instead of graphical console
--enable-verbose-build enable regular echoing of commands during build
process
+ --enable-tts build support for text to speech
+ --disable-tts don't build support for text to speech
--disable-bink don't build with Bink video support
--opengl-mode=MODE OpenGL (ES) mode to use for OpenGL output [auto]
available modes: auto for autodetection
diff --git a/gui/gui-manager.cpp b/gui/gui-manager.cpp
index 82f7591ae8..9f4af81e42 100644
--- a/gui/gui-manager.cpp
+++ b/gui/gui-manager.cpp
@@ -630,10 +630,11 @@ void GuiManager::initTextToSpeech() {
return;
#ifdef USE_TRANSLATION
Common::String currentLanguage = TransMan.getCurrentLanguage();
- if (currentLanguage != "C") {
+ if (currentLanguage == "C")
+ currentLanguage = "en";
+ else
currentLanguage.setChar('\0', 2);
- ttsMan->setLanguage(currentLanguage);
- }
+ ttsMan->setLanguage(currentLanguage);
#endif
int volume = (ConfMan.getInt("speech_volume", "scummvm") * 100) / 256;
if (ConfMan.hasKey("mute", "scummvm") && ConfMan.getBool("mute", "scummvm"))