Opened 8 years ago

Closed 2 weeks ago

#6285 closed defect (fixed)

KYRA: HOF - Faun disappears/reappears at the end of the intro

Reported by: eriktorbjorn Owned by: athrxx
Priority: normal Component: Engine: Kyra
Version: Keywords:
Cc: Game: Kyrandia 2

Description

Current ScummVM snapshot English talkie version of the game

At the very end of the intro, when Faun is walking towards the door to Zanthia's house, he disappears, and then reappears a little while later.

The problem only seems to happen when subtitles are enabled, so I guess it's timing-sensitive. There is more delay between lines of speech when subtitles are enabled. In fact, I get the feeling that the lines go by a little too fast without subtitles, because the intro ended before the musical sting that's supposed to play when Zanthia discovers her house has been ransacked. (And with subtitles, the sting happens before she enters the house. It would probably be a good idea to compare the behavior to DOSBox.)

Ticket imported from: #3611514. Ticket imported from: bugs/6285.

Change History (9)

comment:1 by wjp, 5 years ago

Component: Engine: Kyra
Game: Kyrandia 2

comment:2 by raziel-, 14 months ago

Summary: KYRA2: Faun disappears/reappears at the end of the introKYRA: HOF - Faun disappears/reappears at the end of the intro

comment:3 by athrxx, 6 weeks ago

Owner: set to athrxx
Resolution: pending
Status: newpending

I guess that this has long become obsolete. Although I am aware of how much of an unpleasant piece of code that intro player is. But it has seen some fixes over time. I'll close this if there is no update on it...

comment:4 by eriktorbjorn, 6 weeks ago

I just tried it with a freshly added Kyrandia 2, with MIDI music (FluidSynth) and subtitles enabled. Faun still disappeared and re-appeared at the end of the intro, and the musical sting seemed to happen too early.

comment:5 by eriktorbjorn, 6 weeks ago

Resolution: pending
Status: pendingnew

comment:6 by athrxx, 6 weeks ago

Thanks for testing. Just checked myself, I have to admit that it is still like that ;-)

I think the last time I tested this I was missing the part that the subtitles have to be enabled.

Since this is all a hardcoded mess anyway it shouldn't be too hard to fix...

comment:7 by athrxx, 6 weeks ago

I have made a fix that should fix the re-appearing of Faun (an earlier animation frame that got drawn over the final frame at the end).

That "musical sting" is really just part of the song (not a sound effect). So if that happens too early the whole sequence or just some part of it might be timed incorrectly. It's all hardcoded for each part of the intro, there are manual parameters whcih determine at which frame a certain dialogue text should displayed, for how long, etc. Maybe I really should do a DOSBox comparison to see whether we're really way off here...

comment:8 by athrxx, 4 weeks ago

Resolution: pending
Status: newpending

So, I have let the HOFCD intro run side by side with ScummVm and DOSBox (set to 20000 cycles) and with only subtitles (I think the original does not allow speech and subtitles at the same time for the intro). I found the individual scenes to be almost in sync. Nonetheless I have made a fix to slightly improve it, so it should be basically the same now. Except one thing: the loading time between the scenes is way faster in ScummVM, we really don't have any.

I also didn't notice anything peculiar with the the musical sting for the subtitles only version. In both cases it happened before Zanthia started walking into the hut.

Now, I also tried both versions with speech only. The playback is generally faster than without the speech, both in ScummVM and in DOSBox. This is no surprise, since the timeout for the dialogue animations is based on the speech duration instead of a fixed value.
Our intro was too fast, since there was a bug in our code which prevented proper waiting for speech to finish. I have fixed that and some other things.
For DOSBox the musical sting happened when Zanthia said the word "stolen". In ScummVM the sequence finished before reaching that sting (like you said in the bug description). After the fix, it seems to be very much on point...

I set this to pending. I'll close it if there is no objection...

comment:9 by athrxx, 2 weeks ago

Resolution: pendingfixed
Status: pendingclosed
Note: See TracTickets for help on using tickets.