Opened 21 years ago

Closed 21 years ago

Last modified 6 years ago

#1602 closed defect (fixed)

ALL: Quit when 'invalid' VOC is encountered ?

Reported by: SF/michel75 Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Day of the Tentacle

Description

CVS from 14april quits when speech is spoken. Tested with DOTT and SAMnMAX. Doesn't happen with stable release so I imagine this is a bug. Regards

Ticket imported from: #937133. Ticket imported from: bugs/1602.

Change History (23)

comment:1 by fingolfin, 21 years ago

What format is your speech data stored in? Uncompressed monster.sou file, or did you compress it? If so, to which format?

comment:2 by fingolfin, 21 years ago

To process your bug report appropriately, we need you to provide the following additional information:

* ScummVM version (PLEASE test the latest CVS/Daily build) * Bug details, including instructions on reproducing it * Language of game (English, German, ...) * Version of game (talkie, floppy, ...) * Platform and Compiler (Win32, Linux, MacOS, ...) * Attach a save game if possible * If this bug only occurred recently, please note the last version without the bug, and the first version including the bug. That way we can fix it quicker by looking at the changes made.

This should only take you a little time but will make it much easier for us to process your bug report in a way that satisfies both you and us.

Thank you for your support!

comment:3 by fingolfin, 21 years ago

To process your bug report appropriately, we need you to provide the following additional information:

* ScummVM version (PLEASE test the latest CVS/Daily build) * Bug details, including instructions on reproducing it * Language of game (English, German, ...) * Version of game (talkie, floppy, ...) * Platform and Compiler (Win32, Linux, MacOS, ...) * Attach a save game if possible * If this bug only occurred recently, please note the last version without the bug, and the first version including the bug. That way we can fix it quicker by looking at the changes made.

This should only take you a little time but will make it much easier for us to process your bug report in a way that satisfies both you and us.

Thank you for your support!

comment:4 by fingolfin, 21 years ago

What format is your speech data stored in? Uncompressed monster.sou file, or did you compress it? If so, to which format?

comment:5 by SF/michel75, 21 years ago

Right,

-Using the latest CVS (16 april and also tested on 14april). DOTT (floppy - 13mb). Samnmax floppy as well if the CD talkie version exists. When speech is about to be spoken the game exits. (Right before "Friends, you want to be friends" in samnmax for example) FT speech works but the background music brakes up. Win32 Original titles with monster.sou etc. Doesn't happen with 0.6.0 stable. No save game to attach, cannot save so early into the game I would expect. English versions.

Regards

comment:6 by SF/ender, 21 years ago

No output on the console?

comment:7 by SF/michel75, 21 years ago

The game starts and "warning - imuse do command 6 - set volume (74)" appears. When the game quits there is big warning message in the msdos window, but can't read it, since it quits. Any way to output that to txt file?

comment:8 by SF/ender, 21 years ago

Not easily. If it's a standard error condition, the error message would pop up in ScummVM.

The best idea is to run ScummVM from a dos box, with the parameter -d9. Then copy the last 10 or so lines and paste them here.

comment:9 by SF/michel75, 21 years ago

This is the message:

WARNING: _hasMask mismatch (case A 0) - please report to Fingolfin! Assertion failed: memcmp(&fileHeader, "Creative Voice File\x1A", 20) == 0, file sound/voc.cpp, line 125

This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

comment:10 by fingolfin, 21 years ago

I recently added a check in sound/voc.cpp, which is supposed to catch invalid VOC data. This is being triggered here. I'll take a look and decide whether either my check is incorrect, or if this is really caused by bad VOC data (in which case I'll turn the error into a warning).

comment:11 by fingolfin, 21 years ago

Owner: set to fingolfin

comment:12 by fingolfin, 21 years ago

Component: --Unset--
Summary: ScummVm quits when speech is spokenALL: Quit when 'invalid' VOC is encountered ?

comment:13 by fingolfin, 21 years ago

I can't reproduce this issue with my english CD versions of DOTT and SAM...

comment:14 by SF/kaminari, 21 years ago

I've just bumped into this bug with The Dig (DOS Demo, available on the website) and using the latest Win32 CVS (1518K exe file, last update: April 20, 2004, 4:38 am). No crash whatsoever, but the console displays the following warning whenever someone's talking:

WARNING: loadVOCFile: invalid header! WARNING: startSfxSound failed to load sound!

comment:15 by fingolfin, 21 years ago

kaminari, I fixed that one in CVS now, it was a regression, but it's not related to this bug report.

So I still can't reproduce this "crash". Are you sure your data files aren't corrupt, michel75 ?

comment:16 by SF/michel75, 21 years ago

Definetely not corrupt because as i mentioned the games work fine in 0.6.0 stable release.

comment:17 by fingolfin, 21 years ago

That doesn't prove anything - in 0.6.0, we simply would ignore the problem; now we error out.

Anyway: you say the crash occurs in the intro of Sam&Max, before the "Friends, you want to be friends", in both the floppy and CD versions? The english one? I can't reproduce it with the english CD version of Sam&Max.

comment:18 by SF/michel75, 21 years ago

Well, I only have floppy versions for the DOTT and SAM. SamnMax is 15.3mb and DOTT is 13.7mb.

Not sure how I would go about checking that it is definetely not corrupt.

Regards

comment:19 by Kirben, 21 years ago

Maybe it only occurs with floppy versions of DOTT and Sam & Max ? I noticed it also occurs in DOTT demo, when the sample rate change hack for it (In sound/voc.cpp) is removed.

comment:20 by fingolfin, 21 years ago

It turns out that the MONSTER.SOU shipped with the DOTT demo contains invalid VOC headers. I am still totally irritated, because this doesn't explain why it didn't crash with Kirben's sample rate hack in place .... Very strange.

Anyway, I put a work around for that into CVS. Wonder if it helps the regular (floppy) DOTT and SAMNMAX. Michel, could you try with a current CVS/daily build whether the problem still occurs?

comment:21 by SF/michel75, 21 years ago

Seems to work :) Thanx for that.

comment:22 by fingolfin, 21 years ago

Resolution: fixed
Status: newclosed

comment:23 by digitall, 6 years ago

Component: --Unset--Engine: SCUMM
Game: Day of the Tentacle
Note: See TracTickets for help on using tickets.