Opened 6 years ago

Closed 22 months ago

#6352 closed defect (fixed)

SCUMM: Speech cut after calling menu in Freddi Fish games

Reported by: SF/greencis Owned by: BenCastricum
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Freddi Fish 3

Description

WinXP 32bit, ScummVM 1.7.0git540-g49ec202 (Jun 15 2013 07:44:11)
Android 2.3.6, ScummVM 1.7.0git540-g49ec202 (Jun 15 2013 06:13:14)

In Freddi Fish 1-4 and Water Worries, when a speech plays, if you call main menu, wait some time amount (let's call it T seconds) and then back to game, the speech will continue, but it will be cut at T seconds from the end. In other words, the timer of the speech isn't stopped when you call the menu, but the sound is stopped. And when you resume the game, the speech and the timer are out of sync, and the timer ends earlier than sound. I didn't manage to reproduce that in FT and SamNMax.

Ticket imported from: #3614506. Ticket imported from: bugs/6352.

Change History (4)

comment:1 Changed 6 years ago by digitall

Replicated with Freddi 3 with latest Git Master on Linux x86_64. This can replicated as the submitter indicated by starting a conversation i.e. with the pelican, then hitting F5 to bring up the menu, wait then hit resume... The speech will be truncated in time as described.

comment:2 Changed 6 years ago by digitall

Have done some investigation. These games use the HE variant code within the SCUMM engine. Speech lines are triggered by the function "void SoundHE::startHETalkSound(uint32 offset)":
https://github.com/scummvm/scummvm/blob/master/engines/scumm/he/sound_he.cpp#L766

This is called from case 84 in the function "bool ScummEngine_v72he::handleNextCharsetCode(Actor *a, int *code)":
https://github.com/scummvm/scummvm/blob/master/engines/scumm/string.cpp#L352
https://github.com/scummvm/scummvm/blob/master/engines/scumm/string.cpp#L387

The delay here seems to be associated ether with the scripting or the queuing within the HE sound code...

I hope this helps the SCUMM devs investigate this.

comment:3 Changed 3 years ago by BenCastricum

A patch for this bug went into master.

comment:4 Changed 22 months ago by BenCastricum

Owner: set to BenCastricum
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.