Indiana Jones and the Last Crusade: Explain this mistery to me

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

invwar
Posts: 70
Joined: Mon Jul 28, 2008 11:35 am

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by invwar »

I have asked a friend of me and he had actually the 1.0 version, couldn't get into the same situation like you described, even when I got to Venice without the grail diary.

The files of the 5.25" and the 3.5" versions are identical. Only difference are the additional files DISK4-6.ID for the 5.25" version, but they are just blank indicators, likely for faster disk check. They are not needed for the game.
I assume the disk swaps are saved hardcoded into the game and it just assumes it is the 5.25" based on the read errors. I have only tested the disk swap on the 5.25" so.
tecate
Posts: 25
Joined: Tue Feb 27, 2024 11:42 pm

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by tecate »

invwar wrote: Sat Mar 16, 2024 4:16 pm I have asked a friend of me and he had actually the 1.0 version, couldn't get into the same situation like you described, even when I got to Venice without the grail diary.
Did he try on scummVM or on dosbox? ScummVM and IJ3 v1.0 work fine for me. It's when I try it on dosbox that I have the error happen.
invwar wrote: Sat Mar 16, 2024 4:16 pm The files of the 5.25" and the 3.5" versions are identical. Only difference are the additional files DISK4-6.ID for the 5.25" version, but they are just blank indicators, likely for faster disk check. They are not needed for the game.
I assume the disk swaps are saved hardcoded into the game and it just assumes it is the 5.25" based on the read errors. I have only tested the disk swap on the 5.25" so.
Yes, but file XX.LFL is in disk 3 for the 3.5" version, and in disk 6 for the 5.25" version. How does the game know whether to request disk 3 or disk 6? Let's say that disk 1 is currently in the drive. Does the game check for file YY.LFL that is in disk 1 in the 3.5" version, but in disk 2 in the 5.25" version, and then say "oh, file YY.LFL is here, therefore this is the 3.5" version of the game and I should ask for disk 3 to get XX.LFL" or "oh, file YY.LFL is not here, therefore this is the 5.25" version of the game and I should ask for disk 6 to get XX.LFL"?
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3560
Joined: Mon Oct 31, 2005 7:39 am

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by eriktorbjorn »

tecate wrote: Sun Mar 17, 2024 12:09 am Yes, but file XX.LFL is in disk 3 for the 3.5" version, and in disk 6 for the 5.25" version. How does the game know whether to request disk 3 or disk 6? Let's say that disk 1 is currently in the drive. Does the game check for file YY.LFL that is in disk 1 in the 3.5" version, but in disk 2 in the 5.25" version, and then say "oh, file YY.LFL is here, therefore this is the 3.5" version of the game and I should ask for disk 3 to get XX.LFL" or "oh, file YY.LFL is not here, therefore this is the 5.25" version of the game and I should ask for disk 6 to get XX.LFL"?
I could be wrong, but the way I thought it worked in the early games was that the 00.LFL file provides an index for on which disk each of the other files were stored.

At least, that would explain why the Maniac Mansion sold on GOG has a different 00.LFL file than the one from the "Classic Adventures From LucasArts" collection. The DREAMM emulator, which cares more about these sort of things, identifies the former as a "2x360k Floppy" version and the latter as a "1x720k Floppy" version.

Taking a look inside the files, the differences appear to be in a 53 byte table. (There are 54 .LFL files in the game, but if 00.LFL presumably has to be hard-coded.) In the 2x360k version, it contains the hexadecimal values 205 and 206, while in the 1x720k version it's all 205. I believe the files are encrypted by simply inverting all the bits, which would turn 205 and 206 into 49 and 50, which are the ASCII codes for "1" and "2". Which at the very least is suggestive.

(The GOG version also has a one-byte difference in 43.LFL, but that's because GOG (and Steam, I believe) is selling a cracked version of the game. ScummVM fixes that, but that fix isn't in the outdated version GOG uses, and I will always try to find a way to point this out wherever it's even remotely relevant. :()
tecate
Posts: 25
Joined: Tue Feb 27, 2024 11:42 pm

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by tecate »

eriktorbjorn wrote: Sun Mar 17, 2024 8:15 am I could be wrong, but the way I thought it worked in the early games was that the 00.LFL file provides an index for on which disk each of the other files were stored.
If that's true, then the 3.5" version and the 5.25" version of the game are not identical.
invwar
Posts: 70
Joined: Mon Jul 28, 2008 11:35 am

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by invwar »

tecate wrote: Sun Mar 17, 2024 12:09 am Did he try on scummVM or on dosbox? ScummVM and IJ3 v1.0 work fine for me. It's when I try it on dosbox that I have the error happen.
He had sent me the files and I tested them in my DosBox-X and in ScummVM, played trough both versions (my CD version and the 5,25" 1.0 version) up to the library. I couldn't see a difference, even if I haven't opened the package until the library. The savegame is btw offline, so I can't test it with your save.
tecate wrote: Tue Mar 19, 2024 6:19 pm If that's true, then the 3.5" version and the 5.25" version of the game are not identical.
I compared both versions sent by my friend, they were identical for the versions. At least I thought so.
tecate
Posts: 25
Joined: Tue Feb 27, 2024 11:42 pm

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by tecate »

invwar wrote: Sun Mar 24, 2024 1:49 pm The savegame is btw offline, so I can't test it with your save.
I uploaded it again.
https://file.io/HIzgoKuNcu4G
tecate
Posts: 25
Joined: Tue Feb 27, 2024 11:42 pm

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by tecate »

I tried the game on an actual MS-DOS computer and it has the same bug. This version of the game is messed-up, but ScummVM fixes the bug. It'd be interesting to know if ScummVM developers did this intentionally (and why would they fix a bug on a pirated version) or if it's an unintentional fix that is the result of fixing something else.
borges
Posts: 4
Joined: Wed Dec 30, 2020 11:33 am

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by borges »

The copy protection, the Roman numerals speech, and the grail diary all depend on a SCUMM command that sets a bit in a variable. It sounds like the copy protection was removed by disabling this command in the interpreter and not by modifying the copy protection script. The game works in ScummVM because its interpreter actually implements this command correctly.
tecate
Posts: 25
Joined: Tue Feb 27, 2024 11:42 pm

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by tecate »

borges wrote: Tue Apr 16, 2024 7:08 pm The copy protection, the Roman numerals speech, and the grail diary all depend on a SCUMM command that sets a bit in a variable. It sounds like the copy protection was removed by disabling this command in the interpreter and not by modifying the copy protection script. The game works in ScummVM because its interpreter actually implements this command correctly.
So perhaps it was recently (*) cracked with ScummVM in mind? They probably thought that nobody would play it on dosbox or actual ms-dos if it can be played on ScummWV.


(*) by recently I mean any time after ScummVM was first released.
User avatar
sev
ScummVM Lead
Posts: 2306
Joined: Wed Sep 21, 2005 1:06 pm
Contact:

Re: Indiana Jones and the Last Crusade: Explain this mistery to me

Post by sev »

Locking this topic. We really do not want to spend time on a cracked game and any "mysteries" associated with it. Once we implement integrity checking, such manipulated versions will be rightfully rejected.
Locked