Opened 3 weeks ago

Closed 12 days ago

Last modified 10 days ago

#15766 closed defect (fixed)

SCUMM: ZAK: Wrong positioning of the devotee

Reported by: GermanTribun Owned by: athrxx
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Zak McKracken

Description

ScummVM: 2.9.0
Game: Zak
Version: C64, PC, Amiga, Atari

I discovered this one by accident, but there is a problem with the positioning of the devotee at the airport - and then Zak himself as well.

When the devotee starts his sales pitch for the book, he is supposed to always look in Zak's direction. However, in ScummVM, he after stopping does look forward to the player, instead of to Zak. Also, when he's actually making the sale, he still looks forward, and now so does Zak, even though they are supposed to look at each other. The only part of the scene that is correct is the devotee looking away from the player when making the money transaction.

This actually impacts many ports of the game. The wrong implementation in ScummVM at least is found on the C64, Amiga, Atari and DOS V2 versions of the game. Interestingly, the FM-Towns version has the correct behavior.

Screenshots are added to show correct behavior in DosBox and wrong behehavior in ScummVM.

Attachments (5)

zak_002.png (3.6 KB ) - added by GermanTribun 3 weeks ago.
zak_003.png (4.6 KB ) - added by GermanTribun 3 weeks ago.
scummvm-zak-00002.png (10.9 KB ) - added by GermanTribun 3 weeks ago.
scummvm-zak-00003.png (13.1 KB ) - added by GermanTribun 3 weeks ago.
scummvm-zak-00001.png (13.0 KB ) - added by GermanTribun 3 weeks ago.

Download all attachments as: .zip

Change History (10)

by GermanTribun, 3 weeks ago

Attachment: zak_002.png added

by GermanTribun, 3 weeks ago

Attachment: zak_003.png added

by GermanTribun, 3 weeks ago

Attachment: scummvm-zak-00002.png added

by GermanTribun, 3 weeks ago

Attachment: scummvm-zak-00003.png added

by GermanTribun, 3 weeks ago

Attachment: scummvm-zak-00001.png added

comment:1 by dwatteau, 12 days ago

Owner: set to athrxx
Resolution: fixed
Status: newclosed

Thank you for reporting this, and spending time on comparing behavior with the original interpreters.

I think this should be fixed by commit a0ee0af22747e3167d50e30fe9ffbd8878addc5b (by athrxx), now in the daily builds at <https://www.scummvm.org/downloads/#daily>.

Feel free to report any issue you'd still see in that area.

comment:2 by GermanTribun, 11 days ago

I used the "stable" one from today, but the bug is not fixed. Did I use the wrong one?

in reply to:  2 comment:3 by dwatteau, 11 days ago

Replying to GermanTribun:

I used the "stable" one from today, but the bug is not fixed. Did I use the wrong one?

Yes, you should only pick up from the first column (= future 2.10.0 release). The second, "stable" one, is meant for any future 2.9.x bugfix-only update we could make.

Bug fixes usually appear on the development release first. (The "stable" bugfix-only releases are only made from time to time, so we usually manually bring some "development" changes to the "stable" releases when we're sure a new 2.9.1 release is necessary. Otherwise, most changes are only applied to the development builds.)

comment:4 by GermanTribun, 11 days ago

Yep, now it works.

Something that surprised me was how many versions of the game were hit by that.

Funny enough, while comparing that I noticed that on the C64 the bus in SanFansisco is missing it's engine noise before the scene change to the airport. Should I open a new report?

Last edited 11 days ago by GermanTribun (previous) (diff)

in reply to:  4 comment:5 by dwatteau, 10 days ago

Thanks for your test!

Replying to GermanTribun:

Something that surprised me was how many versions of the game were hit by that.

That's because the bug you reported was a small SCUMM v1/v2 bug in ScummVM.

Zak releases may use SCUMM v1, v2, or v3 (v3 is FM-TOWNS in that case):
<https://github.com/scummvm/scummvm/blob/v2.9.0/devtools/scumm-md5.txt#L90-L118>

The versions where you saw the bug were all SCUMM v1/v2 -- and since this ScummVM bug would happen in v1/v2 releases, that's why all Zak releases you've tested (except for the FM-TOWNS v3 one) showed that bug.

(As for why the earliest v0/v1/v2 SCUMM games appear to be a bit more likely to have accuracy issues than later titles in ScummVM nowadays, that's because -- maybe counterintuitively, at first sight -- the earliest SCUMM interpreters are harder to reverse-engineer than the later ones, AFAICS.)

In any case, detailed comparisons with the original interpreters, like the ones you report here, are very useful in helping us improve the accuracy of ScummVM :)

Funny enough, while comparing that I noticed that on the C64 the bus in SanFansisco is missing it's engine noise before the scene change to the airport. Should I open a new report?

Yes, this is very welcome, thanks. But it's better to have a separate ticket for it, since it looks like it is C64 specific, this time. Separate matters are better handled in separate tickets. I see that you've indeed created issue #15793 for this, thanks.

(It's also helpful that you've added a YouTube link showing the behavior of the original interpreter in an emulator. It often makes it easier to figure out what to look at. Thanks for that as well.)

Note: See TracTickets for help on using tickets.