Opened 22 years ago

Closed 22 years ago

Last modified 5 years ago

#109 closed defect (fixed)

Off voice subtitles

Reported by: SF/logicdeluxe Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game:


Off voices are always subtitled, even if subtitles are dissabled.

Ticket imported from: #529538. Ticket imported from: bugs/109.

Change History (14)

comment:1 by SF/ender, 22 years ago

What do you mean by "Off" voices?

comment:2 by SF/logicdeluxe, 22 years ago

I mean voices off screen. For example the statue close up in the Indy4 intro or Flint, the neighbour in Sam&Max. All the people you can not see at the time they are speaking. In these cases you have always subtitles.

comment:3 by SF/ender, 22 years ago

Changing group/catagory to match new bug guidelines.

comment:4 by SF/ender, 22 years ago

Component: --Unset--

comment:5 by fingolfin, 22 years ago

The subtitles are suppressed in string.cpp, function CHARSET_1:

if (!(a && _noSubtitles)) charset.printChar(c); However, this won't work if there is no actor set, and my guess would be that for off-voices, there is indeed no actor set.

So the proper way to handle this might be to detect for a given text if there is a spoken variant of it, too. But I have no clue how hard that would be, or if it possible at all, since i don't know really how that stuff is handled.

comment:6 by SF/logicdeluxe, 22 years ago

I spotted a case, where it is actually vice versa. Subtitles should display, but don't wiht '-n' specified. It happens outside Bumpusville using the wishing well the 2nd time. Max' thoughts should display then. Checking for a spoken variant would solve this as well, since Max doesn't say anything in this scene.

comment:7 by SF/ender, 22 years ago

Well, what you need to do is look at decodeParseString and decodeParseString2 in script.cpp/script2.cpp and ActorTalk in actor.cpp - those are the main functions controlling text output.

Something someone might want to look at is Var[60]. That should be set to 1 if subtitles are being supressed. Certain games will output different strings depending on the value of var[60].

comment:8 by fingolfin, 22 years ago

I checked in a fix for this; it helps in the cases I tested, but probably needs more testing, so if you notice anything odd, tell me. Logicdeluxe, can you check if it helps in Bumpusville using the wishing well, too?

comment:9 by fingolfin, 22 years ago

Owner: set to fingolfin

comment:10 by fingolfin, 22 years ago

"Zu frh gefreut" as we say in Germany :-) If one talks to the guy in snuckey, his subtitles still appear. Also when you talk on the carnival to the flame throwing guy. It seems the subtitles are only suppressed for the first sentence. Will play some more with it.

comment:11 by fingolfin, 22 years ago

OK, another attempt. This time I tested it better, and in all cases (including wishing well and Snuckey) did it work perfect. Tested with Sam'n'Max and DOTT.

Please give it a try and tell me if it works for you.

comment:12 by fingolfin, 22 years ago

Resolution: fixed
Status: newclosed

comment:13 by fingolfin, 22 years ago

Gee, since nobody is complaining, I am closing this. If you encounter any problems, feel to reopen :-)

comment:14 by digitall, 5 years ago

Component: --Unset--Engine: SCUMM
Note: See TracTickets for help on using tickets.