[Scummvm-tracker] [ScummVM :: Bugs] #11484: ZVISION: ZGI: Can no longer examine items

ScummVM :: Bugs trac at scummvm.org
Sun Jan 3 23:57:23 UTC 2021


#11484: ZVISION: ZGI: Can no longer examine items
-------------------------------------------------+-------------------------
Reporter:  vocaab                                |       Owner:  bluegr
    Type:  defect                                |      Status:  pending
Priority:  high                                  |   Component:  Engine:
                                                 |  ZVision
 Version:                                        |  Resolution:  pending
Keywords:  Zork, Grand Inquisitor, examine, bug  |        Game:  Zork Grand
                                                 |  Inquisitor
-------------------------------------------------+-------------------------
Changes (by bluegr):

 * owner:  (none) => bluegr
 * status:  new => pending
 * resolution:   => pending

Comment:

 I tried your saved game. The problem is that a timer that is supposed to
 start when closing the magnify screen (06110) is not properly reset, so
 the magnify screen refuses to open.

 I'm not sure how you managed to achieve this, and I have tried opening and
 closing the magnify screen very quickly, but couldn't replicate the issue.
 It looks to be a race condition in the game scripts, but I couldn't
 replicate it and break the timer like this.

 You can fix your saved game by opening the console with Control-Alt-D and
 typing "**statevalue 6110 0**"

 The relevant script which starts the timer is this part in gjiv.scr:

 puzzle:06105 {  # gjiv_put_item_away_then_go
     criteria {
         [00008] = 32    # KeyPress
         [04512] ! 0     # gjiv_item_in_magnify_spot
     }
     criteria {
         [06106] = 1     # gjiv_return_arrow
         [04512] ! 0     # gjiv_item_in_magnify_spot
     }
     results {
         action:stop(06107)      # universe_magic_timer
         action:assign(06107, 0) # universe_magic_timer
         action:assign(06108, 0) # gjiv_magic_spell_miscast_timer
         action:assign(06109, 1) # gjiv_can_put_object_away
         action:timer:06110(10)  # gjiv_put_item_away_timer
     }
     flags {
         once_per_inst
     }
 }

 If you can remember how you managed to break the saved game, it would help
 a lot in debugging the issue. Setting the issue as pending, awaiting
 further feedback. If no feedback is provided by next weekend, the issue
 shall be closed, as it hasn't been possible to replicate the problem.

 As mentioned, the saved game can be easily fixed, but that fixes the
 symptom, not the possible underlying issue, which seems to be a race
 condition in the original game scripts.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/11484#comment:3>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list