Opened 4 years ago

Closed 3 years ago

Last modified 7 months ago

#11946 closed defect (fixed)

SCUMM: INDY4: Dialogue skip passes several lines at once

Reported by: JohnnyWalkerDesign Owned by: athrxx
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Indiana Jones 4

Description (last modified by JohnnyWalkerDesign)

ScummVM v2.2.0
Fate of Atlantis CD Talkie
macOS 10.14.6 (Catalina)


When playing Fate of Atlantis, pressing "." (skip dialogue) the game skips several lines at once. This means you miss important plot points.

As intended (and with all other Scumm based games), pressing "." skips the line visible on the screen. For some reason in FOA several lines are skipped at once.

For example, Heimdall in Iceland. If you ask him about the Atlanteans and press the . key, you will get Indy's reaction instead of just skipping the current line Heimdall is saying.

The can be seen again with Costa on the Azores. Ask him where Atlantis is and press . and you will get Indy's response without hearing him describe how the Azores is Atlantis.

As someone who has played through Scumm games for decades, I regularly use the . to skip dialogue I have read. I have never had this issue before. Thanks!

Change History (11)

comment:1 by athrxx, 4 years ago

I tested the Azores scene with several versions (DOS, FM-Towns, Amiga). The dialogue when I click on "I hear you know something about Atlantis" is always like this:
Indy: "I hear you know something about Atlantis"
Costa: "Pah."
Costa: "Wouldn't tell you if I did."
Then I get three new dialogue options:

  • "Come on. Be a chum."
  • "Come on. I'm a fellow believer."
  • "Then don't. Be jerk."

There is no difference whether I have speech or text enabled or both. Hitting '.' will work as intended.

I thought the bug desription wasn't quite right (you don't get to ask him where Atlantis is, he will ask you). So I tried this:

  • click "I hear you know something about Plato's Lost Dialogue."

Costa: "Maybe so, maybe no."
Costa: "Who are you?"

  • click "I'm a fellow believer."

Costa: "Is that right?"
Costa: "Do you know where Atlantis is?"

  • click "Why yes, of course I do."

Costa: "Oh."
Costa: "Do tell."

  • click "Somewhere under the ocean."

Costa: "No. No. No."
Costa: "Come closer, boy, and I'll tell you."
Costa: "You're STANDING on it!"

Still, I can hit '.' with speech or subtitles or both on any of Indy's or Costa's lines and it will only skip the current line. I am on Windows. Maybe it's something with the MacOS version. I'll see that I try Linux, later.

comment:2 by athrxx, 4 years ago

Summary: Dialogue skip passes several lines at onceSCUMM: INDY4: Dialogue skip passes several lines at once

comment:3 by JohnnyWalkerDesign, 4 years ago

Here you go. I made a video demonstrating what I'm seeing. Look at what happens after I press "I'm a fellow believer." Costa's line appears ("Is that right?). I skip that and a bunch of dialogue is lost.

One thing I forgot to mention (really silly of me): I'm playing with Voices turned off. Only subtitles.

comment:4 by JohnnyWalkerDesign, 4 years ago

Description: modified (diff)

comment:5 by athrxx, 4 years ago

Thanks for the followup. I could replicate the bug for that exact situation (DOS/Talkie). And it appears regardless of speech and subtitles setting. I'll see what I can do...

comment:6 by JohnnyWalkerDesign, 4 years ago

Wonderful. Thanks!

comment:7 by athrxx, 3 years ago

Okay, so I finally got to look at this for a bit yesterday.

This bevavior seems to occur only in talkie versions with actor messages that are "split up" so they appear like separate messsages (e. g. "Is that right?" "Do you know where Atlantis is?" That's actually one message, only that there are control codes in between the sentences which will make the engine display it in two parts).

In talkie versions hitting the '.' key will also stop the voice. And stopping the voice will kill the remaining message.

Now, at first glance this is easy to fix. But the problem is, for these "split up" messages there is still only one voice file. So if we silence the voice when pressing the skip key there is no way to play the rest of it. We'd have to let the voice keep playing except for skips of the final message part making it look a bit out of sync (hard to tell whether anyone would notice). Again, this is easy to do (I am testing it locally), but might also annoy people (only slightly differently than now). I am not convinved whether we should make any changes here. I'll see if anyone of the other devs have any opinions on this...

comment:8 by JohnnyWalkerDesign, 3 years ago

Interesting! I’ve never noticed this behaviour before! I think what you describe would work intuitively as long as there’s subtitles enabled. I feel it should definitely work the way you expect if you have voices off (as I did). Thanks!

comment:9 by athrxx, 3 years ago

I just checked again. If it is a talkie version it is irrelevant whether speech, subtitles or both are enabled. The code will still always go through the stopTalk function and kill the rest of the sentence. Maybe it would make sense to distinguish between the settings. At least when speech is off we could treat this like a non-talkie version. Oh well, we'll figure it out...

comment:10 by athrxx, 3 years ago

Owner: set to athrxx
Resolution: fixed
Status: newclosed

I kind of lost sight of this, since it isn't exactly a priority bug. I have now confirmed the original behavior from INDY4 and also DOTT (since it is a later Scumm version). The games are indeed supposed to suppress the whole text message when speech is enabled (even if it is multi part like in our example), but allow stepping through the message line by line in text only mode. I have now committed a fix, so that text only mode works correctly.

comment:11 by JohnnyWalkerDigital, 7 months ago


Note: See TracTickets for help on using tickets.