[Scummvm-tracker] [ScummVM :: Bugs] #11948: INDY3: Disable saving like the original game did

ScummVM :: Bugs trac at scummvm.org
Thu Jul 15 12:12:41 UTC 2021


#11948: INDY3: Disable saving like the original game did
-------------------------------+---------------------------------
Reporter:  JohnnyWalkerDesign  |       Owner:  JohnnyWalkerDesign
    Type:  feature request     |      Status:  new
Priority:  normal              |   Component:  Engine: SCUMM
 Version:                      |  Resolution:
Keywords:                      |        Game:  Indiana Jones 3
-------------------------------+---------------------------------
Comment (by eriktorbjorn):

 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.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/11948#comment:7>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list