Opened 17 years ago

Closed 15 years ago

Last modified 13 months ago

#7267 closed enhancement (worksforme)

TOOLS: Add support for German DOTT to Rescumm

Reported by: SF/zaurak Owned by: fingolfin
Priority: normal Component: Tools
Keywords: Cc:
Game:

Description

I own a few original LucasArts adventure
game CDs for MacOS in MacHFS format.
I have used rescumm.exe (latest version for
Win32) to split up the Mac Data files in single
files for using with ScummVM. It works fine
with the English DOTT version but quits when
using the German DOTT version reporting:

"error 'Day of the Tentacle Data'.
file name not null terminated"

I suppose, that this depends on a slightly
different format of the German Data version,
because contrary to the English version, which
includes the original 'Maniac Mansion' game
inside DOTT, the German version doesn't.
Therefore the Data file is shorter compared to
the English version. Here are the directory listings:

German version:
CD ROM Software 5.1.1 Dir
Desktop Folder Dir
Dinge für Ihren Systemordner Dir
LEC Demos Dir
Trash Dir
Day of the Tentacle 363051
Day of the Tentacle.rsrc 333177
Day of the Tentacle Data 252138634
Desktop.rsrc 286
Desktop DB 40960
Desktop DF 81154
Iconż.rsrc 2670
Read Me 12162
Read Me.rsrc 2236
9 files - 5 directories - 123533 blocks used

English version:
CD ROM Software 5.1.1 Dir
Desktop Folder Dir
Items for your System Folder Dir
Trash Dir
Day of the Tentacle 363021
Day of the Tentacle.rsrc 324636
Day of the Tentacle Data 282467632
Desktop.rsrc 286
Desktop DB 40960
Desktop DF 68674
Iconż.rsrc 2670
Read Me 11563
Read Me.rsrc 2372
9 files - 4 directories - 138331 blocks used

Would be great if you could add rescumm support
for the German DOTT version, too.

Regards,
Jan

Ticket imported from: #738775. Ticket imported from: feature-requests/83.

Attachments (2)

rescumm.png (6.6 KB ) - added by SF/zaurak 16 years ago.
bytes.zip (1.3 KB ) - added by SF/zaurak 16 years ago.

Download all attachments as: .zip

Change History (25)

comment:1 by fingolfin, 17 years ago

W/o a german Mac DOTT version, I see no chance to do this (and please,
don't offer us to send copies of your data files, we can't accept such offers,
as it's illegal and we have to be careful not to get into conflicts with
LucasArts).

comment:2 by SF/zaurak, 17 years ago

Too bad! :-( Luckily, rescumm works fine with the German
Mac versions of 'Sam & Max', 'Vollgas (Full Throttle)'
and 'The Dig', at least. Thanks anyway.

Regards,
Jan

comment:3 by fingolfin, 16 years ago

Component: Engine: SCUMMTools
Game: Day of the Tentacle
Summary: Rescumm doesn't work with German DOTT versionTOOLS: Rescumm doesn't work with German DOTT version

comment:4 by SF/nnooiissee, 16 years ago

I was a bit error check happy on the day I wrote rescumm
(never test for an error you don't know how to deal with?).
The error you get is probably one of two things: either the
data format is completely different, or there is a file in
there with a name longer than 31 characters.

I intend to get a diff together to remove/bypass this check
when I get a chance.

comment:5 by SF/zaurak, 16 years ago

I suppose, that the data format is different, because the
filename showing during the error message above is totally
screwed up (just some random characters that don't make sense).

comment:6 by fingolfin, 16 years ago

What is the status of this item? Does the problem still occur with
the latest (CVS) version of rescumm? If necessary I can provide a
current Mac OS X binary of rescumm for testing.

comment:7 by fingolfin, 16 years ago

What is the status of this item? Does the problem still occur with
the latest (CVS) version of rescumm? If necessary I can provide a
current Mac OS X binary of rescumm for testing.

comment:8 by fingolfin, 16 years ago

Status: newpending

by SF/zaurak, 16 years ago

Attachment: rescumm.png added

comment:9 by SF/zaurak, 16 years ago

Status: pendingnew

comment:10 by SF/zaurak, 16 years ago

Rescumm still doesn't work with German "Day of Tentacle
Data" (tested with rescumm from the latest ScummVM
0.5.3cvs (Sep 1 2003 21:34:46)). Screenshot attached.

comment:11 by fingolfin, 16 years ago

While it's not legal to get a copy of your german/mac DOTT, for
debugging this we strictly spoken only need the end of the file
(hm, at least IIRC they stored it at the end)

Maybe you can use some tool to do just that, and extract e.g. the
first and last 1024 bytes of your Data file. I think you are using
Windows, so I am not sure how one would do it (I can tell how to
easily do it on Unix, though).

by SF/zaurak, 16 years ago

Attachment: bytes.zip added

comment:12 by SF/zaurak, 16 years ago

I have uploaded the first 1024 and the last 1024 bytes of the
Mac data file.

comment:13 by fingolfin, 16 years ago

Thanks!

That looks indeed totally different, for the end at least. Maybe you
can search the hex file and check if the filenames do occur
anywhere in them, i.e search for:
samnmax.000
and
SAMNMAX.000
Maybe the format changed. Maybe they just left out the filenames
completely (though that'd be odd; but it's not impossible). Or
maybe the file is "encrypted" like old level files used to be.

comment:14 by SF/zaurak, 16 years ago

Filenames were not found inside the data file. I was looking
for "tentacle.000" & "TENTACLE.000", but those names aren't
present inside data file. I would agree, that it is maybe packed
and/or encrypted in some way. The German Data version is
30MB shorter compared to the English one.

comment:15 by fingolfin, 16 years ago

Interesting, the bit about the length.

In any case, I finally found my DOTT Mac CD again (phew).
Comparing the start of your and my file, the data looks pretty
similar, so if there is some sort of encryption/compression, it's not
on all of the file. Moreover, it doesn't really make sense to
encrypt the index of an archive file... hrm

Are you really sure that your data file isn't truncated? Can you
play the game with the original engine (i.e. the original LucasArts
Mac OS program file) ?

comment:16 by fingolfin, 16 years ago

Actually, 5secs after I submitted my last comment I thought "gee,
the file length is encoded in the first 4 bytes of the data file, why
not look at 1024start to find out..."... and indeed, for my english
DOTT data file it says 282465272bytes = 269 MB (seems right),
for your file it says 252136234bytes = 240 MB... so I assume your
data file may bejust fine :-)
Can you tell me the exact byte length of your data file, please?

comment:17 by SF/zaurak, 16 years ago

The data file "Day of the Tentacle Data" is exactly 252138634
bytes long. And yes, it runs indeed fine on MacOS 7.5.5 :)

comment:18 by fingolfin, 16 years ago

Good... or bad.. :-) This means that in the german DOTT version
the archive table is simply missing (since the offset/length in the
data file is identical to the actual file length).

Makes me wonder if they simple hard coded the table in the
binary; or maybe put it into the reas fork of the binary; or what...
hmmm

comment:19 by fingolfin, 15 years ago

While this issue is nasty, I am afraid I can't do anything about it
(unless somebody donates a german mac DOTT for me - something
relatively rare :-/).

Since this isn't really a bug, more a missing feature, I am moving
this to the FR tracker.

Finally, of course if we ever add code for this, it should not only
be added to rescumm, but also to the code in ScummVM which is
responsible for opening mac data files (will be in the next major
ScummVM release).

comment:20 by fingolfin, 15 years ago

Component: Tools
Summary: TOOLS: Rescumm doesn't work with German DOTT versionTOOLS: Add support for German DOTT to Rescumm

comment:21 by fingolfin, 15 years ago

Zaurak was so kind to donate his German DOTT copy to me.

Well, it turns out that it works perfectly fine for me! I dunno what
is going on, but when I look at the end of the data file, a
completely normal TOC is there, like in the english version. I can
happily play it directly from CD using the latest ScummVM CVS
version.

comment:22 by fingolfin, 15 years ago

Owner: set to fingolfin
Resolution: worksforme
Status: newclosed

comment:23 by digitall, 13 months ago

Component: Tools
Note: See TracTickets for help on using tickets.