Opened 11 years ago
Closed 7 years 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 |
Version: | 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 by , 11 years ago
comment:2 by , 11 years ago
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:4 by , 7 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
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.