Opened 6 months ago
Last modified 10 days ago
#15149 new defect
PINK: Hokus Pokus Pink shows a different scene transition with invalid scene parameters
Reported by: | Grimfangs | Owned by: | |
---|---|---|---|
Priority: | low | Component: | Engine: Pink |
Version: | Keywords: | crash, font | |
Cc: | Grimfangs | Game: | Pink Panther: Hokus Pokus Pink |
Description
Right after the girl turns into a mermaid and eats the poisoned apple and goes to sleep, a monologue starts. When the monologue ends, the game enters a Black Screen similar to a loading screen with the loading icon: a hand with a watch on it.
But after two to four seconds, ScummVM simply crashes and exits back to the desktop. The last entry on the Log File says:
WARNING: Director: falling back to built-in font!
I played the section through the .exe file and it works fine. It also doesn't load anything in the Windows native version. Could point at some sort of file loading or pointer error.
I'm attaching both the log file and the save file in question. Just play it and it'll crash after a few lines of dialogue that can be skipped by pressing Spacebar anyway.
Required information
ScummVM version: 2.8.1
Language: English
Version: CD-ROM
Operating System: Windows 11 Home
Related Bug Report:' https://bugs.scummvm.org/ticket/10805
Relevant files attached.
Attachments (2)
Change History (7)
by , 6 months ago
Attachment: | scummvm.log added |
---|
by , 6 months ago
follow-up: 2 comment:1 by , 6 months ago
comment:2 by , 6 months ago
Replying to antoniou79:
I doubt that might be the case since I'm using the .ORB file from the disc to bypass the CD-ROM DRM even while using the .exe file. Completed the game yesterday with no bugs whatsoever.
The issue only arises with ScummVM.
This is also the point where you get new destinations to travel to through the black hole, so I'm assuming that perhaps it's a sort of resource exception where the emulator can't find the files to load next and simply crashes. Of course, this is just a hypothesis. I know nothing about how any of this works.
EDIT: Actually, thinking about it, since this wasn't an issue with the executable of the game, it is most likely a pointer/reference error. The Executable loads the files just fine, so ScummVM probably can't interpret the instructions properly and points/refers to the wrong/non-existing system files somehow. Again, I have no idea how ScummVM works.
comment:3 by , 6 months ago
At the point of the crash:
- A cutscene has finished and the script requires loading a new module ("Module2") and a new page ("HouseCut").
- There is no such page in Module2 and so ScummVM crashes.
- With a crude fix, if in this case, we set the page to be the first page in the module (as we do when the page name is an empty string), the scene sort of works, but you get a full scene animated transition and Pink Panther enters the room from the right. This is different from what happens in the original (no scene transition, Pink stays in place).
- I also experimented with a hack monstrosity, whereby I wouldn't allow a module switch if the page in the new next module did not exist, but switch to that next module in the first future page transition (to a page that exists in the new module). Which seemed to work (no scene transition, Pink stays in place) up to the point where Pink tries to then use the black hole in the room. That would lead to a crash. (I may have botched the module queue I quickly hacked though, who knows).
I have only marginally worked on the PINK ScummVM engine to fix a few reported issues, but I cannot tell if in this case this is a script mechanic that the ScummVM engine does not implement as the original, or if this had some specific hack or a patch (eg. it did not work in the original version but worked in a subsequent/patched or re-release one) in the original that ScummVM does not implement.
Someone more experienced on the engine should probably implement the fix for this.
I hope the above info helps.
comment:5 by , 10 days ago
Priority: | normal → low |
---|---|
Summary: | PINK: Hokus Pokus Pink game crashes right after the girl turns into a mermaid → PINK: Hokus Pokus Pink shows a different scene transition with invalid scene parameters |
Thanks for your analysis @antoniou79!
Added a fix that avoids crashing the game in such cases, although the scene transition is different than how the original handles such errors. I'm keeping this bug open because of the different transition, but lowering priority, since the game no longer crashes.
That fonts warning in the log should be irrelevant for this specific crash.
The error sounds similar to what's shown in this video, where the game is played from a Windows 98 OS (not via ScummVM). The gameplay shown in the video is in general rather glitchy though:
https://youtu.be/zUDmJZoTJ4c?si=klC17UXClDNSiME0&t=3969
Another LP does not show this error at all (although it's apparent that at least one actor snaps crudely back in place):
https://youtu.be/nLPtSPnfiD8?si=L-v9YttZ9PUaj7Z2&t=823
I wonder if it's some odd side-effect from a copy protection system for the game?