Opened 11 years ago

Closed 6 years ago

#6417 closed defect (fixed)

DREAMWEB: Intro speech truncated in German Version

Reported by: SF/frankenbuam Owned by: bluegr
Priority: normal Component: Engine: Dreamweb
Version: Keywords:
Cc: Game: Dreamweb

Description

ScummVM version: 1.6.0 9 Juli 2013 (11:25:59) Language: German CD Version of game: Talkie cd version (Download from ScummVM website) Plattform: Windows 7 64 bit in the intro from dreamweb (at picture) It comes to a termination from the speech when the red man claps.

Ticket imported from: #3615073. Ticket imported from: bugs/6417.

Attachments (1)

scummvm00005.jpg (26.0 KB ) - added by SF/frankenbuam 11 years ago.

Download all attachments as: .zip

Change History (9)

by SF/frankenbuam, 11 years ago

Attachment: scummvm00005.jpg added

comment:1 by digitall, 11 years ago

Hmm.. Replicated with the latest Git development master of ScummVM (1.7.0git) and the German version... The speech phrase as the keeper raises both his arms to produce the ball which wakes Ryan is clipped... truncated. This doesn't happen in the English UK version... but the keeper doesn't appear to be speaking at this point, so not sure why he is in the German version. The last phrase should be "The time has come and I shall awaken him." after the phrase "Yes. It has grown strong and he is stirring."

frankenbaum: I don't speak German... are both equivalent phrases present?Or has the second one been clipped off...

Running "scummvm -d 1" in the buggy case, this shows: stopSound(1) loadSpeech(T82T0017.RAW) playChannel1(index:62) playSound(channel:1, id:62, loops:1) cancelCh1() stopSound(1) loadSpeech(T82T0018.RAW) playChannel1(index:62) playSound(channel:1, id:62, loops:1) playChannel1(index:16) playSound(channel:1, id:16, loops:1) playChannel1(index:16) playSound(channel:1, id:16, loops:1)

I think what is happening is that the ball animation sound is causing the speech playback to be aborted early... The original engine design relied on a number of "implicit" delays and we may need to add another delay or interlock to stop this happening.

frankenbaum: Could you also try running this under the original interpreter in DOSBox (the freeware release includes the original DOS binary installer) and see if this occurs there as well... so we can check if this was a bug in the original German localisation or if this is a regression... Thanks.

comment:2 by digitall, 11 years ago

Component: Engine: Dreamweb
Game: Dreamweb
Owner: set to digitall

comment:3 by digitall, 11 years ago

Summary: Dreamweb (German), termination from speech in introDREAMWEB: Intro speech truncated in German Version

comment:4 by SF/frankenbuam, 11 years ago

hi tdhs! :) yes, that's right. I tested the german freeware version and my orignal CD and i found out, that probably in the scummvm version the entire part to late worn out. because in fact he spoke all sooner. also in the german version the keeper doesn't appear to be speaking when he both his arms to produce the ball which wakes Ryan.

The german text..

...in the german scummvm version he says: yes. It has grown strong and he is stirring. his ..... [truncated]

...in orginal (dosbox): yes. It has grown strong and he is stirring. his ... name is ryan. The time has come and I shall awaken him.

*man lifts his hands in the air*

comment:5 by digitall, 11 years ago

frankenbaum: Hmm... Can you try testing with v1.5.0 and then if you are capable of compiling ScummVM yourself, doing a git bisection to track down the regression point... as I suspect this may have worked at some point in the development. I will try to do the same, but it may take me some time, especially as I don't speak German so trickier to spot the truncation of speech...

comment:6 by digitall, 11 years ago

frankenbaum: Don't worry... I have done this work myself. The bug occurs in v1.5.0 and have run git bisection to locate the regressive commit. This is identified as: commit 1193792310815b5f83fcf4fa5f018c4a41f4131a Author: Willem Jan Palenstijn <wjp@usecode.org> Date: Tue Dec 6 19:23:38 2011 +0100

DREAMWEB: Fix regressions in 'monks2text'

However, the audio prior to this commit is also glitching in the intro (repeated phrases) but not truncating.

The cause of this appears from the content of the commit to be a faulty conversion of the "monks2text" function to C++ or a latent timing bug exposed by the conversion. The conversion was actually done by: commit d5b220220f61a16c0eaaa9ca88e3e0b4d39d1d33

Filippos Karapetis <md5@scummvm.org> 2011-12-06 10:35:47

DREAMWEB: 'intro1text', 'intro2text', 'intro3text', 'monks2text' ported to C++. textForMonk() has been converted to C++, too.

Thus commit 7d9d53d2badfdf124fa67360599087f1e5fc06e2 prior to this being the last "good" commit and I have tested this as thus.

Hopefully with this information, we can fix this issue.

comment:7 by digitall, 10 years ago

Have done some further investigation on this. The issue is in the monks2text function conversion, which is still not correct even after wjp's 1193792310815b5f83fcf4fa5f018c4a41f4131a corrections.

The original ASM for this function has three different versions for German CD, German Floppy and All Other Builds. The dreamgen.cpp output for tasm-recover only converts one version of this (All Other) and thus wjp needed to manually translate and add support for the other two cases.

Either he made a minor mistake in some of the logic or the parameters passed to setupTimedTemp() calls in the German case, or the original ASM is incorrect for these cases...

comment:8 by bluegr, 6 years ago

Owner: changed from digitall to bluegr
Resolution: fixed
Status: newclosed

This bug should finally be fixed in commit fc5261b0c4.

Note: See TracTickets for help on using tickets.