Opened 17 years ago

Closed 16 years ago

Last modified 2 years 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 17 years ago.
bytes.zip (1.3 KB ) - added by SF/zaurak 17 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, 17 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, 17 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, 17 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, 17 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, 17 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, 17 years ago

Status: newpending

by SF/zaurak, 17 years ago

Attachment: rescumm.png added

comment:9 by SF/zaurak, 17 years ago

Status: pendingnew

comment:10 by SF/zaurak, 17 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, 17 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, 17 years ago

Attachment: bytes.zip added

comment:12 by SF/zaurak, 17 years ago

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

comment:13 by fingolfin, 17 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, 17 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, 17 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, 17 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, 17 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, 17 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, 16 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, 16 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, 16 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, 16 years ago

Owner: set to fingolfin
Resolution: worksforme
Status: newclosed

comment:23 by digitall, 2 years ago

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