#7065 closed defect (fixed)
SCI: PHARKAS Mac easter egg freezes partway
Reported by: | SF/eisnerguy1 | Owned by: | sluicebox |
---|---|---|---|
Priority: | normal | Component: | Engine: SCI |
Version: | Keywords: | original has-pull-request | |
Cc: | sluicebox | Game: | Freddy Pharkas: Frontier Pharmacist |
Description
Freddy Pharkas: Frontier Pharmacist (Macintosh/English) Tried in: ScummVM 1.7.0 ScummVM 1.9.0git-dirty (Feb 29 2016 00:58:11) (commit 3e5adc33a84b0a4f0af6ab289782bc6ec7319c9c) Mac OS X 10.10.5
So, I recently discovered a rare easter egg that was exclusive to the Mac version of Freddy Pharkas. By using the “Talk” icon in the same spot on the Mine that generates the “Mac programmers deep within the Old Abandoned Mine toil at their shunned lore.” message (by using the "Look" icon), a sequence will begin that ends with a hand raising a Macintosh out of the swamp.
I uploaded a video of the whole easter egg (while being played in SheepShaver) on YouTube.
https://www.youtube.com/watch?v=12N6y47yTwk
But, if you were to try it in ScummVM (the versions I listed above), when the sound "Find the golden ball" plays, that just continues to loop and the easter egg doesn't continue as normal. There's no output in Terminal or any messages in the ScummVM debugger. I've attached a recording of the ScummVM version & a save file at the swamp.
Ticket imported from: bugs/7065.
Attachments (2)
Change History (10)
by , 9 years ago
Attachment: | Fredd_Pharkas_Mac_Easter_egg_ScummVM.mov added |
---|
by , 9 years ago
Attachment: | freddypharkas-mac.002.zip added |
---|
comment:1 by , 9 years ago
comment:2 by , 8 years ago
This still occurs in ScummVM 1.9.0 (Oct 11 2016 19:58:14). Running it on 10.10.5.
comment:3 by , 8 years ago
This still occurs in ScummVM 1.10.0git2888-ga925264 (Mar 27 2017 04:50:05). Running it on Mac OS X 10.12.4.
comment:4 by , 6 years ago
I took a look at this and it is a script bug, though I don't know why it worked in the original. I'm not setup to disassemble the Mac interpreter and I pray to never be.
The reason the sound is looping forever is because the script requests it to. The loop property on macSound is set to -1, which means loop forever. The script macThing plays macSound and tells it to continue macThing when the sound finishes playing, which it never does on ScummVM, because the sound isn't supposed to finish. It looks like they put the wrong loop value but it accidentally worked on Sierra's interpreter so no one noticed. No other scripts in this game wait on a sound with loop -1 to finish. That's what I'd expect since deliberately doing that wouldn't make sense.
macSound is also declared with the wrong sound number: the Yeehaw! from the title screen. This isn't a problem since the number is set to the right one when playing, but it could be a hint to some copy/pasting or unfamiliarity with sound scripting that led to the bug.
Right now this game doesn't load at all (#10440, #10792) but once that's taken care of this can be fixed with a small script patch that changes macSound:loop from -1 to 1 or an investigation can be launched into why the behavior is different in ScummVM. I tried patching the loop value and that worked. I doubt any other scripts in other games depend on this behavior since they'd all break in ScummVM the way this one did and be noticed, but maybe it's something more complicated.
I guess the lesson is that if you're going to tack on an easter egg about being a shunned Mac programmer you better make sure you do it right...
comment:5 by , 6 years ago
Cc: | added |
---|---|
Keywords: | original has-pull-request added |
Workaround for the script bug:
comment:7 by , 6 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:8 by , 3 years ago
Owner: | changed from | to
---|
Here's the save file.