Opened 2 years ago

Closed 7 weeks ago

Last modified 2 weeks ago

#11948 closed feature request (fixed)

INDY3: Disable saving like the original game did

Reported by: JohnnyWalkerDesign Owned by: AndywinXp
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Indiana Jones 3

Description (last modified by JohnnyWalkerDesign)

ScummVM v2.2.0

In Indiana Jones and the Last Crusade the original game deliberately prevents you from saving during the three challenges. It is part of the gameplay and the original design of the game. Other supported games have moments when you can't save too, and these are respected by ScummVM (see Cruise for a Corpse).

ScummVM, however, ignores this restriction for Last Crusade, allowing the user to take a snapshot at any moment. While this can be fun, it is also essentially breaking the intended gameplay experience.

The lack of ability to save is supposed to make that part of the game feel more intense.

Being allowed to save during the three trials also creates bugs. For example, during the third trial the player must click on the other side of the chasm without hesitation. If they delay, Indy will fall.

With ScummVM the user can save after the required time has passed, and be unaware of that the puzzle is impossible to solve. Subsequent save states now leave it impossible for Indy to cross. (This happened to a friend of mine recently -- took forever for me to realise what had caused the problem.)

My request is to disable the ability to save during the three trials, just like the original game designers intended.

(Note: As a compromise, possibly put in an option in the GUI to allow saving during the trials, for advanced players who wish to experiment.)

Attachments (1)

scummvm-indy3-vga-00001.png (75.7 KB ) - added by JohnnyWalkerDesign 2 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 by JohnnyWalkerDesign, 2 years ago

Description: modified (diff)

comment:2 by JohnnyWalkerDesign, 2 years ago

Owner: set to JohnnyWalkerDesign
Resolution: fixed
Status: newclosed

comment:3 by JohnnyWalkerDesign, 2 years ago

Description: modified (diff)
Resolution: fixed
Status: closednew

by JohnnyWalkerDesign, 2 years ago

Attachment: scummvm-indy3-vga-00001.png added

comment:4 by bluegr, 2 years ago

Summary: Disable saving like the original game didINDY3: Disable saving like the original game did

For the first part (disabling game saving during the trials): you don't have to save your game. Although the option is there, the player can choose not to use the savegame system during the trials.

comment:5 by JohnnyWalkerDesign, 2 years ago

Description: modified (diff)

comment:6 by JohnnyWalkerDesign, 2 years ago

Description: modified (diff)

comment:7 by eriktorbjorn, 19 months ago

Part of the trick would be figuring out exactly how to do it. I'll start, and hope someone else can provide the rest of the information:

I can only speak about the two versions of the game that I personally own: The 256-color DOS version, and the 16-color Mac version.

In the DOS version, the save/load dialog is at least partly implemented as a separate room. Room 14, to be specific. I have a hunch that it's Var[58] that controls if you are able to open it or not. 0 seems to mean that save/load is temporarily disabled, 1 that it's enabled and 2 that it's permanently disabled.

The variable is set to 2 when entering the Grail temple, e.g. in the entry-82 script. Here is the start of it:

[0000] (3C) stopSound(70);
[0002] (0C) Resource.loadScript(65);
[0005] (13) ActorOps(1,[Costume(2),WalkSpeed(8,2),Width(16)]);
[000F] (1A) Var[58] = 2;
[0014] (A8) if (Bit[1497]) {
[0019] (1A)   Local[0] = 0;
[001E] (B0)   setBoxFlags(Local[0],128);

But of course, the Mac version just had to be different. Room 14 is empty, perhaps because the game uses a Macintosh file dialog for saving and loading. It's possible that it's still variable 58 that controls things, but here it's set to 0, not 2:

[0000] (3C) stopSound(70);
[0002] (0C) Resource.loadScript(65);
[0005] (13) ActorOps(1,[Costume(2),WalkSpeed(8,2),Width(16)]);
[000F] (1A) Var[95 Bit 13] = 1;
[0014] (1A) Var[58] = 0;
[0019] (A8) if (Var[93 Bit 9]) {
[001E] (1A)   Local[0] = 0;
[0023] (B0)   setBoxFlags(Local[0],128);

It'd be interesting to know what the 16-color DOS version does, but as I said I don't own that. And it was apparently also released for Amiga, Atari ST, CDTV, and FM Towns.

comment:8 by AndywinXp, 5 months ago

I'm implementing the original menus for all SCUMM games, so this might become a non-issue in the future.
Taking that into consideration, I personally think that in this case unless it crashes the game or unless it's trivial to disable it, we should always allow saving and loading from the GMM: this way the user can choose to play normally while also being able to perform "emergency" save/load operations.

comment:9 by AndywinXp, 7 weeks ago

Owner: changed from JohnnyWalkerDesign to AndywinXp
Resolution: fixed
Status: newclosed

Okay, this is now fixed, closing!

comment:10 by JohnnyWalkerDigital, 2 weeks ago

You are a star, AndywinXp!! (and thank you, eriktorbjorn)

Note: See TracTickets for help on using tickets.