Opened 5 years ago

Closed 3 years ago

#10790 closed defect (fixed)

SCI: Hoyle4 - Sample is cut short in Crazy Eights / incorrect game pacing

Reported by: FredPJ Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords: original
Cc: Game: Hoyle's Classic Card Games

Description

Tested using Windows daily build: ScummVM 2.1.0git3829-g5ed1a3dab4 (Nov 1 2018 08:10:55)

What happens: In Crazy Eights, when one of the players draws an 8 card and chooses the suit, the musical sound effect sample that plays along with the animation is cut short, and the game continues without playing the sample entirely.

What should happen: Instead, it should play the musical sound effect sample entirely, and then continue the game, unless the player mouse clicks to skip it.

Change History (12)

comment:1 by FredPJ, 5 years ago

Component: --Unset--Engine: SCI

comment:2 by digitall, 5 years ago

@FredPJ: Thanks for the bug report. Could you post a file listing of your game datafiles with file MD5sums i.e. output from md5summer.org tool or similar? This is so developers can locate the exact version you are testing with.

Also, could you try testing with v1.9.0 and other versions to check if this is a recent regression or if this bug has always been present for this game?

comment:3 by FredPJ, 5 years ago

It's not possible to test with v1.9.0 since the digital sound effects were only added/enabled quite recently.

Game VERSION file states:
2.000
Hoyle Classic Card Games
7.16.93

20b7406eb122b2ff59c19d6e3a0de0c5 *600.HEP
a3b5cf814f6f3855ca95bf50c1689c42 *600.SCR
52ba0cdc56636275b010e4978d551c43 *600.TEX
833a407e4a4c809629b88d11a545b317 *937.HEP
530a09aaaa893473e5e3ee21301d2446 *937.SCR
5b3b93130e29620927a2056ca1d31084 *ADL.DRV
8988cd85741a3575fb0813ee437a6282 *AUDBLAST.DRV
9ef05c13681c16c45fc54c10feb51815 *AUDDISNY.DRV
dc8e1d36ca78b15672d2e1a62a7cb069 *AUDMSSYS.DRV
2c7dc2f6d8cb40e6e361a2d6bf8bcf43 *AUDNONE.DRV
9bbe259708ee9695133d9d24f2409065 *AUDPRO.DRV
f622cd009615cbf37105fc80c77544d2 *AUDPRO16.DRV
e813414fdd141446a687745388b75517 *AUDPS1.DRV
8d1987ef799c70480378e8eaaba98b0e *AUDTHUND.DRV
739062d1d7a9f5035c9d67af0694b0f9 *CLASSIC.BAT
36e21e035d55cf46308a6e685fbc328f *EGA640.DRV
22aa153907cb69d5aac4b128555f7b62 *GENMIDI.DRV
dcbfc80d71c1401d62fdc9335ecdcea8 *HLPCONV.TXT
b99199a1bd3e65c85ba1aa21695d179f *HOYLE.BAT
3e33931a9bfe41408806d392c26f57b3 *IBMKBD.DRV
eacc88538ed711cc103e3c9bd40efc86 *IBMPS1.DRV
02b412c30a9db2565dd9e56537dc390d *INSTALL.EXE
5b8399d036756858769c2ac3d22d58df *INSTALL.HLP
fea47e5d88d8daaabbbda0bded63acf1 *INSTALL.SCR
b6aa8debe9ae6dcc7b34546005de94d2 *INSTALL.TXT
01b9b2549b189ea609f905fb8f432ea1 *INTERP.ERR
c75b73974160ff652a909a0d01f97214 *JOYSTICK.DRV
963fc9e3860753fce5ad00815288c5a7 *MICROSOF.DRV
e2bcbb34b6bfe586c52605258ef9a312 *MT32.DRV
184fbf00cfb5cf1f6ef43982a9045d56 *PROAUDIO.DRV
9e2b6a5c1a671aa1e95f69390ab3de8c *README
b9586eb7b9f96e102bcec71980f1d383 *README.BAT
f7b15d8fa44572f3deb368a78b4f6ddf *RESOURCE.000
de99554332926ee18017deef8021ffd9 *RESOURCE.AUD
087e08730afd1b9928b9f7270e00f8b4 *RESOURCE.CFG
2b577c975cc8d8d43f61b6a756129fe3 *RESOURCE.MAP
1ecb03e9ef121104b9a5cb6a44a5e061 *SBPRO.DRV
40b440e4f20e7766c16104acf65123fe *SIERRA.EXE
aa444eeb77bc162d0ee52379df408358 *STD.DRV
30b93377dbfe1b748d3f4e70d8ebef9a *TANDY3V.DRV
b846c86ff10adbf93c57754d101c0160 *VERSION
6ce7e367bdea13766b59d8ef1898e382 *VGA320.DRV
143ce4219d360a31cb2d01aa81019af7 *VGA320BW.DRV

comment:4 by digitall, 5 years ago

@FredPJ: Ah OK. Thanks for the file listing as that will help SCI engine developers find the specific game variant.

I think digital sound effects were added to SCI engine around v1.1.1 / v1.5.0 releases, but they previously defaulted to off/not preferred so you may need to enable a config option to enable them for some releases, you may be able to enable them if you look at the per-game options:
https://github.com/scummvm/scummvm/commit/b8aa17b6fbb3946e28033fd4bf731ba12e4dc250
https://github.com/scummvm/scummvm/commit/3752396aefc43beba2df6a47221407d805cb3a7b

Can you try testing with v2.0.0 if this supported them?

comment:5 by FredPJ, 5 years ago

v2.0.0 didn't support some of the digital sound effects in Hoyle Classic Card Games, they were only fixed about 2 months ago:

https://bugs.scummvm.org/ticket/10412#comment:10

So it's not a regression bug, it's something that never worked properly.

I don't think that it's a problem with the sample playing itself because it starts playing fine, but instead the game not waiting for that sound to play until the end, and moving on with the game like it was skipped.

comment:6 by FredPJ, 5 years ago

I have posted a video here:

https://www.youtube.com/watch?v=RbuhHMfAtnY

After choosing the suit, I didn't click anything.
It seems like as soon the animation is finished that music sound sample is cut, but in the original game, that sample keeps on playing until the end even after the suit change animation is done.
I hope this helps.

comment:7 by FredPJ, 5 years ago

For comparison here is the game running on DOSBox, here's how it should sound:

https://www.youtube.com/watch?v=osNJAv5UM8k

So in the original that short music after choosing the suit isn't cut short.

comment:8 by digitall, 5 years ago

Ah, I see, so only recently enabled by:
https://github.com/scummvm/scummvm/commit/7cbd3782f198ddc48eb00cf021abacf6a34f0afe

and thus only enabled / present in latest git / daily builds.

FredPJ: OK, I think there is now sufficient detail for SCI engine developers to take a look at this and work out why this is occurring. Thanks for providing this. Please standby as it may be a while before someone can take a look at this.

comment:9 by raziel-, 4 years ago

Summary: HOYLE4: Sample is cut short in Crazy Eights / incorrect game pacingSCI: Hoyle4 - Sample is cut short in Crazy Eights / incorrect game pacing

comment:10 by sluicebox, 3 years ago

This is the same behavior as in the original.

The game does no synchronization with the transition sound, it waits on the card transition animation instead, so the sound only ever completed on a slow computer (or low DOSBox cycles) where the interpreter couldn't keep up and get to the next deal fast enough. Turn DOSBox up past 3000 cycles and the next card is dealt before the sound completes, interrupting it with the next sample, just like in ScummVM. Plus, you can lower the delay between cards with the "Pace" slider, causing the transition sound to get interrupted even sooner.

That said, we might be able to improve this. I have a script patch that switches the cue from the animation to the sound so that the sound always completes, and the effect feels much better. In testing this though, I found that unchecking "Prefer digital sound effects" caused *no* sounds to play when there was a sample and a MIDI, meaning the animation instantly completed, so I want to get that setting sorted out first.

comment:11 by sluicebox, 3 years ago

Keywords: original added

comment:12 by sluicebox, 3 years ago

Owner: set to sluicebox
Resolution: fixed
Status: newclosed

Fixed in: https://github.com/scummvm/scummvm/commit/318e18fd9c94064c49c46d3a260c23fee78df845

On further inspection, this patch doesn't need to be held up

Note: See TracTickets for help on using tickets.