Conversation
AndywinXp
left a comment
There was a problem hiding this comment.
Great job overall!
My review, admittedly, has been VERY pedantic, sorry about that.
The main points are:
- I'd like everything concerning the new code to be enclosed within the USE_TTS macro: this is because I'd like to see, on first sight, that what I'm seeing is not code available in the original executable but something external; this is of great help when debugging code side to side with the disassemblies of the original games, and surely will inform future developers of said thing.
- There are some new arguments in some functions; these have to be named as
ttsArgNameinstead ofargName, this is for the same reason stated above; I'm not sure I would like to have a double declaration within USE_TTS (I'll decide it and handle it later on my own, don't worry).
Again, sorry for being so pedantic, but this is to prevent situations during which we didn't know the provenience of certain pieces of code (it has happened before and caused us issues).
Thank you!
|
Oh, also, please beware of the build errors in Windows. |
83a2212 to
31ccefb
Compare
|
Thank you for the great patience, looks great to me now! |
|
edit: Reuploaded video, now with audio 🫠
2025-08-06.21-56-15.mp4Probably not huge issues, but I thought I document them as I found them. If we merge without fixing them I'm happy to file them in trac. |
|
PS: I also tried Monkey Island and I found that there's a setting in the game that's missing from the other two Demos. Is this intended? They still played TTS even without that flag. ( |
|
Hi @ellm135, Thanks for your work and time on this. You mentioned testing this on demos; does this mean you've tested it on all SCUMM demos we provide, or only a subset of it? If so, which one? The idea would be to know if all main titles were tested, and if some of them require more thorough, collective testing. In particular, to what extent were the non-English titles tested? I know from There's also the case of Indy4 using a particular byte to make up a non-breaking space that's used very often in that game. I wonder how the TTS engine takes care of it. Anyway: the end goal is to have a better idea on where to spend time and focus while testing this. In my opinion, it looks like we may need more testing on the non-English titles before merging this? |
I think I've tested it at least briefly with all major SCUMM demos provided on scummvm.org, though not necessarily different demos for the same game (for example, I tested the Full Throttle Mac demo a fair amount, but only briefly glanced at the DOS demo). I tested only a small number of Humongous Entertainment demos (Spy Fox: Dry Cereal, Putt-Putt Goes to the Moon, Freddi Fish 4, and Fatty Bear) because they didn't seem to have much or any text. The only non-English titles I was able to test are the German translation of the Secret of Monkey Island's demo, the French and German translations of Day of the Tentacle's non-interactive demo, the German translation of Sam & Max's demo, and the Russian translation of Maniac Mansion's non-interactive demo. I tried a few non-English HE games, but I couldn't find any text (the subtitles seem to always be in English). TTS for Indy4 appears to be working without issue where the non-breaking space appears. However, this may just be my system, or perhaps the encoding is replacing it with a character that my TTS voices as a space. I'm not sure if it will function correctly across versions, so I may try implementing a more direct replacement. I think that more testing for non-English titles would be good, particularly because not many non-English titles have been tested so far, and there may be a fair number of encoding exceptions that currently aren't accounted for. |
|
OK, thanks for detailing this! Then we're probably good for broader testing. To cover all the games, variants and localisations, we need feedback by end users, anyway. LGTM, let's just see if @athrxx or @eriktorbjorn have any objection, as the PR does add some stuff. And thanks for your work! |
|
Thank you! |



Adds a toggle for text-to-speech to the game options.
Adds text-to-speech for the following:
Currently only tested with demos.