#5709 closed defect (fixed)
INDY3: EGA version script bugs
Reported by: | BenCastricum | Owned by: | sev- |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | original | |
Cc: | Game: | Indiana Jones 3 |
Description
There are 2 script bugs in the Amiga version of Indy 3 preventing getting all IQ points. I debugged the problem and found the code responsible for those. It would be nice to fix it in ScummVM. My findings are explained on the forum at:
http://forums.scummvm.org/viewtopic.php?t=8018&start=35
Ticket imported from: #3306145. Ticket imported from: bugs/5709.
Attachments (1)
Change History (9)
comment:1 by , 13 years ago
Keywords: | original added; script removed |
---|---|
Summary: | Indy 3 Amiga script bugs → INDY3: EGA version script bugs |
comment:2 by , 13 years ago
comment:3 by , 13 years ago
Small clarifcation: Bug 1 does *not* affect the Mac version, but bug 2 does.
Also, there is another subtle difference in roomobj-25-363: The newer script versions have this line setOwnerOf(406,0); among the other setOwnerOf calls in that script. Maybe a hint at yet another script bug they fixed in the newer versions?
comment:4 by , 13 years ago
Erf... not my day... the mac version does not suffer from those bugs at all. I think I must have read some diffs reverse or whatever... Anyhow, the EGA version is affected, and I guess the Amiga version (I doN't have it right now, but the bug submitter claimed so).
Anyway... the attached patch tries to address both bugs. But I can't test it right now (no time) which is why I don't commit it just now. If anybody could test either of these bugs with this patch applied, that wold be great :)
comment:5 by , 13 years ago
previous patch didn't compile cleanly and set's the wrong value for workaround A, The new patch fixes both. I tested it to be sure.
comment:7 by , 13 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Since forum posts can be deleted, edited or lost otherwise, I will quote & summarize here what was said in that thread. Also note that the issue is also present in the PC EGA and Mac versions of Indy3, but not in the VGA and FM-TOWNS versions.
1) "About the points error leaving Castle Brunwald: It seems to "reversed"! When you get caught, free yourself and escape, you get 25 IQ points even though you're not supposed to. However if you escape WITHOUT getting caught, you get 0 IQ points (supposed to get 25 IQ points). Weird stuff..."
Comparing roomobj-25-363 then yielded this:
PC (correct) : [002E] (0F) if (getState(367) == 0) { Amiga (wrong) : [002C] (0F) if (getState(367) == 1) {
2) "For the 2nd bug (not getting the points for KO of the security officer a.k.a. puzzle 29) : "
This time the issue is in script-106, where startScript(125,[29,10]); near the end would be correct, but in the broken versions, they incorrectly duplicated a line from earlier in the script, namely: startScript(125,[30,15]);