Opened 15 years ago

Closed 15 years ago

Last modified 5 months ago

#1690 closed defect (fixed)

DOTT: (German) Crash in 2nd intro. sequence (Regression)

Reported by: SF/trinity78 Owned by: fingolfin
Priority: high Component: Engine: SCUMM
Keywords: Cc:
Game: Day of the Tentacle

Description

Windows 2000 Sp 4
ScummVM 0.6.1 as well as ScummVM Daily Build
Day of the Tentacle - German - disk version

The game exits in the second part of the intro.
This is the part, where all three travel back in time using
the loos and all the funny things (cats, clocks,
tentacles, E=mc2 ...) flying around them.

The game exits with following message:

Assertion failed: version == 0x010A || version ==
0x0114, file sound/voc.cpp, line 142

The Dott - German - Talkie works fine, so its disk only.
Savegame attached.

Ticket imported from: #999638. Ticket imported from: bugs/1690.

Attachments (1)

tentaclea.s01 (7.7 KB ) - added by SF/trinity78 15 years ago.
DOTT - German - disk - savegame

Download all attachments as: .zip

Change History (19)

by SF/trinity78, 15 years ago

Attachment: tentaclea.s01 added

DOTT - German - disk - savegame

comment:1 by SF/trinity78, 15 years ago

Just checked it with the english DOTT - disk version. Works
fine. Maybe my german version got somehow corrupted.
Can someone else who owns the german disk version check it?

comment:2 by SF/trinity78, 15 years ago

Hmm, I did a clean install from disk using the original install
files. So the files are not corrupted.
Seems to me that the german "monster.sou" file is somehow
different from the english one, which works fine.
Its a specific error with the german disk version of DOTT, all
other versions (english, german cd) according to my tests
work fine.

comment:3 by SF/trinity78, 15 years ago

Just wanted to add:

In ScummVM 0.6.1 the error message is:

Assertion failed: memcpy(&fileHeader, "Creative Voice
File\x1A", 20) == 0, file sound/voc.cpp, line 125

In ScummVM Daily Build the error message is:

Assertion failed: version == 0x010A || version == 0x0114, file
sound/voc.cpp, line 142

The attached savegame is from the daily build.

I checked the game with DosBox and it worked without
problems.

comment:4 by SF/trinity78, 15 years ago

Another update :)

1.)
It does not (!) crash with ScummVM 0.6.0. On the contrary it
works perfect.

2.)
With ScummVM 0.6.1 or the daily build it also crashes in the
first part of the intro, when the tentacles drink the
radioactive slime and the purple tentacle says "die welt
erobern" ("take over the world"). Displays the same assertion
failed message as with the other crash.

comment:5 by SF/c3lo, 15 years ago

I have the same problem on my Fujitsu/Siemens Pocket LOOX
610. (ScummVM 0.6 works fine)

comment:6 by Kirben, 15 years ago

Those asserts were added by fingolfin, in sound/voc.cpp
revision 1.15.

comment:7 by Kirben, 15 years ago

Owner: set to fingolfin

comment:8 by Kirben, 15 years ago

Summary: DOTT: Crash in 2. intro sequenceDOTT: (German) Crash in 2nd intro. sequence (Regression)

comment:9 by fingolfin, 15 years ago

Yeah. Those version values are the only ones I know that make up a
valid VOC version. Either there is a third one (unlikely, but not
impossible), or the LEC guys simply screwed up once more and used
invalid VOC data <sigh>.
Would be interesting to get a dump of the VOC in question. Anybody who
has the data files in question might be able to insert this right before the
assert:
Common::hexdump((byte *)&fileHeader, sizeof(VocFileHeader));
Then paste me the output here, please.

comment:10 by Kirben, 15 years ago

I just had the same assert problem reported in French version
of Simon the Sorcerer 2. A dump of header which causes
arrset in this case:
000000: 43 72 65 61 74 69 76 65 20 56 6f 69 63 65 20 46
|Creative Voice F|
000010: 69 6c 65 1a 1a 00 00 01 33 11
|ile.....3. |

The invalid version is 0100 instead of 010A

comment:11 by (none), 15 years ago

Logged In: NO

Hello,

I've got the same problem with the french version of DOTT.
But the error message is slightly different.

Assertion failed: memcmp(&fileHeader, "Creative Voice
File\x1A", 20) == 0, file
sound/voc.cpp, line 125

This was a clean install from a clean package, so it is unsure
that VOC files are corrupted.

Perhaps are there differences between localized versions of
VOC files ?

Laurent.

comment:12 by fingolfin, 15 years ago

nobody/Laurent: sounds like you were using an older version. However
since you give us no details on your setup, I can't really say much more.

Kirben: hm, version 0x100? We could add that to the list, I guess.
Although it's odd :-). Try modifying sound/voc.cpp, and extend the
version check, does that help?
assert(version == 0x010A || version == 0x0114);
--->
assert(version == 0x010A || version == 0x0114 || version ==
0x0100);

comment:13 by fingolfin, 15 years ago

Priority: normalhigh

comment:14 by Kirben, 15 years ago

I added the invalid version used by French version of Simon
the Sorcerer 2 and it works fine now.

Could someone with German version of DOTT disk version
please try the current Windows daily snapshot to see if it
helps. If the problem still occurs, paste the last few lines of
output from console window.

comment:15 by SF/trinity78, 15 years ago

Yes, all crashes are fixed with the latest changes. Works
perfect again.

Thanks Kirben and Fingolfin :)

comment:16 by Kirben, 15 years ago

Status: newclosed

comment:17 by Kirben, 15 years ago

Resolution: fixed

comment:18 by Peter Kohaut <peterkohaut@…>, 5 months ago

Last edited 5 months ago by criezy (previous) (diff)
Note: See TracTickets for help on using tickets.