Opened 12 years ago

Closed 12 years ago

Last modified 2 years ago

#4008 closed defect (fixed)

FT: Talk speed inconsistency

Reported by: eriktorbjorn Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Full Throttle

Description

Current SVN version. English version of the game

I'm using speech and subtitles, but I have removed all "talkspeed" settings from my ScummVM configuration file. I start Full Throttle, break out of the dumpster and read the sign.

It takes Ben about 15-16 seconds to read the entire thing.

I restart ScummVM and open the Options dialog to look at the subtitle speed. It's 60. I don't change this, but the setting is stored in my ScummVM configuration file. I start Full Throttle again, and do the same thing as before.

This time, it takes Ben about 22 seconds to read the sign, and then his mouth keeps moving for a few more seconds.

This may be perfectly normal and expected behaviour, but it strikes me as odd. With 0.12.0, the time it takes for Ben to read the sign doesn't differ noticeably in the two cases, but I seem to recall there was some talk speed change made on the trunk since then.

Ticket imported from: #2251765. Ticket imported from: bugs/4008.

Change History (3)

comment:1 by fingolfin, 12 years ago

Some more indirect fallout from patch #2060517 :/. Combine this with revision 22853 of SVN <http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&revision=22853>...

The problem is that FT sets a default talk delay of "3" which by our new system is translated to a talk speed of 170; our default talkspeed 60 corresponds to a talk delay of "7"...

In the past, the two would have been quite close: talk delay 3 back then corresponds to talk delay 9-3=6 today, I think.

What you are noticing is that we handle the talk speed differently depending on whether the user already set a custom talk speed, or not. Doing that has pros and cons; but I think the *real* issue here is twofold:

1) We define a default value for "talkspeed" globaly in ScummVM, when it is not clear whether this "defeault" value makes sense for all games (and I do not even want to start thinking about other *engines* ehere...

2) While several of the games set "good" default talkdelay/talkspeed values during startup, we do not always use these values. Namely, we don't use them if the user set a custom talk speed. Which is the right thing to do if the user actively and consciously did so. But as we see here, it's a bad thing if he didn't -- which, as you noticed, happens if you simply open and close the global options dialog. Ooops!

A brief survey: For FT and monkey2 and all other V5-V7 games (plus Monkey EGA, a V4 game), it seems the scripts set a default talk delay of 3, which corresponds to talkspeed 170. COMI and Zak FM-TOWNS request a delay 1 / speed 227. Loom (various version): 5 / 113.

The fix that I now applied: Completely *ignore* the check for the global default speed value in ScummEngine::writeVar(), as by the above, it will usually be bogus. Instead, check if there is a talkspeed set there specific to the target. If not, use the default value as specified by the game.

comment:2 by fingolfin, 12 years ago

Owner: set to fingolfin
Resolution: fixed
Status: newclosed

comment:3 by digitall, 2 years ago

Component: Engine: SCUMM
Game: Full Throttle
Note: See TracTickets for help on using tickets.