Opened 21 years ago
Closed 18 years ago
#1339 closed defect (fixed)
ZAK: "Oxygene-bug" on Mars
Reported by: | SF/slc_ | Owned by: | fingolfin |
---|---|---|---|
Priority: | low | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Zak McKracken |
Description
Tested with a CVS-snapshot of the win32-build from 12th of December, 2003.
After turning on the "oxygene-machine" on Mars, I by mistake went outside with one of the girls. She said "I can't breathe" and I tried getting inside again by chosing "walk to chamber" (or something like that). Then she said "I can't reach it" until I put on the helmet again. Sometimes, if trying to walk towards it she will eventually get inside again.
Savegame attached.
Ticket imported from: #859513. Ticket imported from: bugs/1339.
Attachments (1)
Change History (11)
by , 21 years ago
Attachment: | zak256.s21 added |
---|
comment:1 by , 21 years ago
Summary: | ZAK256: "Oxygene-bug" on Mars → ZAK256: "Oxygene-bug" on Mars |
---|
comment:2 by , 19 years ago
Interesting! I think the problem is caused by the talk animation. This might be related to bug #771483.
To be precises: script 131 is responsible for printing the "I can't breathe" string. In particular it contains this: ... [0055] (91) animateCostume(VAR_EGO,246) ... [00BC] (D8) printEgo([Text("I can't breathe!")]); ...
So, the actor is told to turn around and face the player. That interfers with the player's commands (who tells the girl to walk back in); so she turns around, which stops all here other movements.
comment:3 by , 19 years ago
Summary: | ZAK256: "Oxygene-bug" on Mars → ZAK: "Oxygene-bug" on Mars |
---|
comment:4 by , 19 years ago
This bug occurs in the PC versions of Zak McKracken too, not just the FM-TOWNS version.
comment:5 by , 19 years ago
In order to fix this with the think-it-through-method (as opposed to the disassembling method :-), it would be very useful to know how the original interpreter behaves in this situation -- is it buggy, too? Is the turn command simply ignored? Is the turn exectued but then the walk continues? Hmmm...
comment:6 by , 18 years ago
I checked the original FM-TOWNS version of game under Unz emulator, and the exact same situation occurs in the original game, when without oxygen too.
So this isn't a ScummVM specific issue, although maybe we could add work around?
comment:7 by , 18 years ago
Priority: | normal → low |
---|
comment:8 by , 18 years ago
It's a relief to hear we are not doing anything wrong, phew.
Yes, we could add a workaround. One idea would be to ignore that particular
animateCostume() opcode (i.e. check for the game/script/room IDs or so, and if
they match, ignore the opcode). Of course that's rather crude. More elegant
would be to only ignore it while walking. Even more sophisticated approaches
would be possible, up to rewriting that script and patching the game to use our
modified script, but I don't think it would be worth the effort :-)
comment:9 by , 18 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:10 by , 18 years ago
I put a workaround into SVN (namely, I changed it to ignore that particular animation command).
In the great chambers...