aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-02SCI: Disable LONGBOW Amiga speed testsluicebox
2019-09-02CONFIGURE: Add check for NSSpeechSynthesizerDelegate protocole availability ↵Thierry Crozat
on macOS
2019-09-02MADE: Split out the game detection entries and add a note for Manhole MEdafioram
The Manhole: Masterpiece Edition is not a MADE engine and should not be added to the detection list. It is a HyperCard-like engine
2019-09-02GLK: GLUXE: Fix GCC Compiler WarningsD G Turner
These were for possible unintended fallthrough, though inspection shows that these were occurring after fatal error handler calls so adding breaks would not be an issue. However, since these call error() and thus the breaks will not be executed and are thus "dead" code, this might provoke warnings in future. Another solution would have been to comment that these fallthroughs are intended, but breaks are better in case the error handler is changed in future.
2019-09-02GUI: Fix Missing Field Initializer in List WidgetD G Turner
This field was introduced by the TTS code changes, but only one of the constructors was modified to set the default value.
2019-09-02SCI: Fix LONGBOW Amiga Fulk rescuesluicebox
Fixes bug #11137
2019-09-02COMMON: Don't include win32.h in common/encoding.hSupSuper
2019-09-01XEEN: Don't de-equip armor/acccessories when brokenPaul Gilbert
2019-09-01SCI: Fix ECO2 reappearing items in shacksluicebox
Fixes bug #11135
2019-09-01XEEN: Fix crash loading Great Pyramid Level 3Paul Gilbert
2019-09-01COMMON: Add CP437 encoding conversion table.Jaromir Wysoglad
2019-09-01COMMON: Add CP850 conversion.Jaromir Wysoglad
CP850 is used by the mortevielle engine (and apparently by other engines too). Anytime an engine using CP850 encoding wants to use the TTS, the encoding has to be converted, so this is pretty important encoding conversion to support. Unfortunately SDL (when compiled without iconv) doesn't support this encoding (which means, there might not be a way to convert this encoding on some platforms), so I added a conversion table for this.
2019-09-01TTS: Use Common::Encoding for encoding conversion.Jaromir Wysoglad
2019-09-01TESTBED: Fix include guard in speech.hJaromir Wysoglad
2019-09-01WIN32: Use uint instead of unsigned int.Jaromir Wysoglad
2019-09-01TTS: Better documentation of TTSVoice.Jaromir Wysoglad
2019-09-01TTS: Rename LinuxTextToSpeechManager to SpeechDispatcherManagerJaromir Wysoglad
Add a new define for the SpeechDispatcherManager
2019-09-01TTS: Remove USE_PLATFORM_TTS definesJaromir Wysoglad
Use defined(USE_TTS) && defined(PLATFORM) instead
2019-09-01TTS: Add summary of changes in sphelper-scummvm.hJaromir Wysoglad
2019-09-01TTS: RefactoringJaromir Wysoglad
Refactoring as suggested by bluegr on github.
2019-09-01TESTBED: Don't build TTS tests if TTS is disabledJaromir Wysoglad
2019-09-01TTS: Document diferences in resume()Jaromir Wysoglad
On linux the resume() behaves slightly differently than on other platforms.
2019-09-01TTS: Fix missing indentationJaromir Wysoglad
2019-09-01JANITORIAL: Remove some trailing whitespacesJaromir Wysoglad
2019-09-01TTS: Implement our own queuing on windows.Jaromir Wysoglad
Similarly as on linux, there isn't enough control of the speech queue to properly implement INTERRUPT_NO_REPEAT. So since this commit we use our own queuing and use SAPI to speak each speech. This is done outside the main thread.
2019-09-01TESTBED: Increase pause in TTS pause testJaromir Wysoglad
2019-09-01TTS: Add proper speech queuing, update INT_NO_REP.Jaromir Wysoglad
Before I used SPD to queue messages and I had a copy of the queue, so I could requeue everything when resume is called(). But more control of the queue is needed, so I don't use the SPD's queue and instead start speeches from my queue one by one from another thread. INTERRUPT_NO_REPEAT now behaves as described in the documentation
2019-09-01TTS: Update documentation of INTERRUPT_NO_REPEATJaromir Wysoglad
2019-09-01TESTBED: Improve some TTS testsJaromir Wysoglad
2019-09-01TTS: Improve documentationJaromir Wysoglad
2019-09-01TTS: Restart SPD if resume() fails.Jaromir Wysoglad
2019-09-01TTS: Fix INTERRUPT_NO_REPEAT on WindowsJaromir Wysoglad
2019-09-01TTS: Implement *_NO_REPEAT actions and Fix state synchronization issues on macOSThierry Crozat
The NSSpeechSynthesizer is asynchronous and does not immediately start, pause, or stop the speech. As a result querrying the state of the NSSpeechSynthesizer does not alwats return the expected result (for example isSpeaking may not yet been true just after we requested starting to speak). So instead the TextToSpeechManager on macOS keeps track of the state itself.
2019-09-01TESTBED: Make sure to process events while waiting for speech to finishThierry Crozat
Same implementations of TextToSpeechManager may require system events to be processed for the state synchronisation to work properly. This commit also fixes a few typos or inconsistencies in some texts.
2019-09-01TESTBED: Move the TTS tests after the critical componentsThierry Crozat
2019-09-01TTS: Implement our own queuing for linuxJaromir Wysoglad
It seems like, that at least some versions of speech-dispatcher aren't able to successfuly pause and resume. For me, when trying to pause, it still finishes the speech just being said instead of pausing it and then it puts it at the end of the speech queue with some speech-dispatcher internal commands added to it, which are also hearable. There is no way to find out where the speech ended when calling pause, so it is just stopped and when resume is called it is read from it's start again.
2019-09-01TTS: Use QUEUE_NO_REPEAT action for tooltipsJaromir Wysoglad
2019-09-01TESTBED: Add tests for TTS *_NO_REPEAT actionsJaromir Wysoglad
2019-09-01TESTBED: Rewrite parts of TTS tests.Jaromir Wysoglad
As suggested by Criezy on github
2019-09-01TTS: Add *_NO_REPEAT actionsJaromir Wysoglad
2019-09-01TESTBED: Add state queries to TTS tests.Jaromir Wysoglad
2019-09-01TTS: Reimplement isSpeaking on Windows.Jaromir Wysoglad
2019-09-01TTS: Fix pause() and resume() on linuxJaromir Wysoglad
2019-09-01TESTBET: Add TTS testsJaromir Wysoglad
2019-09-01TTS: Make state switching faster on LinuxJaromir Wysoglad
2019-09-01TTS: Implement speech queueing on macOSThierry Crozat
2019-09-01TTS: Make one say() method non-virtualJaromir Wysoglad
2019-09-01TTS: Don't read tooltips when TTS is speakingJaromir Wysoglad
2019-09-01TTS: Implement speech queueing on Linux and WinJaromir Wysoglad
2019-09-01TTS: Implement OSD message readingJaromir Wysoglad