Opened 3 years ago
Last modified 3 years ago
#13425 new defect
SCUMM: PAJAMA Multiple animation errors during Cheese & Crackers game during final cutscene
Reported by: | Thunderforge | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Pajama Sam 1 |
Description (last modified by )
During the final cutscene, Pajama Sam plays Cheese & Crackers with Darkness. However, there are a lot of errors with it:
- The board isn't visible
- The flashlight and the light it casts aren't visible
- The left door isn't drawn
- The right door "reflects" on the floor
See attached screenshots.
Reproduction Steps
- Load the attached save game
- Click on the door
- Watch the cutscene. After about a minute, the scene in question will be played
Versions Tested
- ScummVM 2.1.0 (bundled with the Steam release), 2.5.1, and Nightly 2022-04-18
- Pajama Sam Steam version
Attachments (6)
Change History (18)
by , 3 years ago
Attachment: | pajama-win-pajama.sg2 added |
---|
by , 3 years ago
Attachment: | Original Interpreter.png added |
---|
by , 3 years ago
Attachment: | ScummVM.png added |
---|
comment:1 by , 3 years ago
Description: | modified (diff) |
---|
comment:2 by , 3 years ago
Description: | modified (diff) |
---|
comment:3 by , 3 years ago
comment:4 by , 3 years ago
The main (possibly only?) missing object is drawn by a call to drawObject(), with obj = 2.
That prompts it to look for an IM01 resource to draw. I added some debug messages based on that, and this is what I saw in my HE99 version:
xpos: 7, ypos: 248, width: 64, height = 208 Searching... curpos = 8, totalsize = 15540 Looking for IM01 but seeing IMHD (size 30) Looking for IM01 but seeing IM01 (size 15502) Found it!
In the Steam version, I saw this instead:
xpos: 7, ypos: 248, width: 64, height = 208 Searching... curpos = 8, totalsize = 34 Looking for IM01 but seeing IMHD (size 26) I give up
So for whatever reason, there was no image to be found?
comment:5 by , 3 years ago
@sev asked me to add this information:
This is what ScummVM says for the version I have that works:
User picked target 'pajama1' (engine ID 'scumm', game ID 'pajama')... Looking for a plugin supporting this target... SCUMM [all games] Using gameid pajama, variant HE 99, extra Updated SCUMM version 6, HE version 99 Using MD5 '898eaa21f79cf8d4f08db856244689ff'
And this is for the Steam version:
User picked target 'pajama-win' (engine ID 'scumm', game ID 'pajama')... Looking for a plugin supporting this target... SCUMM [all games] Using gameid pajama, variant HE 100, extra Updated SCUMM version 6, HE version 100 Using MD5 '37aed3f91c1ef959e0bd265f9b13781f'
comment:6 by , 3 years ago
By the way, is it a bug or a feature that the end credits appear at the bottom of the screen line-by-line rather than pixel-by-pixel?
Answering my own question, at least in my older CD version the credits do indeed appear line-by-line when running the original interpreter. So ScummVM is correct in that respect.
by , 3 years ago
Attachment: | Windows XP Professional-2022-05-02-12-34-03.png added |
---|
comment:7 by , 3 years ago
follow-up: 9 comment:8 by , 3 years ago
As I've mentioned on discord, my GOG version is detected as follows:
User picked target 'pajama-win' (engine ID 'scumm', game ID 'pajama')... Using gameid pajama, variant , extra SCUMM version 6, HE version 80 Using MD5 '672dec94b82f7f0877ebb5b5cf7f4bc1'
I can test any potential fixes if needed, but I cannot load the attached save, as ScummVM (2.6.0git, build from master HEAD, on Windows 10 x64 Pro) throws a segmentation fault:
Assertion failed: idx < _res->_types[type].size(), file engines/scumm/saveload.cpp, line 1280
So I'll have to play till the end. I understand that it's a small game anyway.
comment:9 by , 3 years ago
Replying to antoniou79:
So I'll have to play till the end. I understand that it's a small game anyway.
Using the debug command room 58
skips straight to the cutscene in question
comment:10 by , 3 years ago
It seems the image resources for objects 938 (door) and 939 (board/floor) are actually missing from Steam (HE100) version.
the resources only contain the image headers but does not containg the image data (26 bytes total).
There are several other images missing in other rooms but they are less noticable.
comment:11 by , 3 years ago
Here are the images for reference
Note that the board and floor has an opaque black background, which covers up the black reflection marks on the floor so that it's not seen in game.
And it does appear to be just a matter of missing images, not an interpreter issue.
injecting the missing images as is from HE99 version to HE100 version seem to fix the issue, but I'm not sure if it's ok to create such patch
comment:12 by , 3 years ago
Since it's a matter of missing images in the game files, it seems like our options are:
- Do nothing. Children and nostalgic adults who buy the game on Steam are confused.
- Add the missing images to ScummVM, but we are currently unsure of if we have permission.
- Are we in contact with the IP owner? Can we ask their permission?
- Create our own replacement images (under a GPLv3-compatible license) that are distinct from the ones in the game, then add those.
Are there other options? Option 2 would be the best if we could be sure that we won't have any rights issues by including them.
by , 3 years ago
Attachment: | Object 938.png added |
---|
by , 3 years ago
Attachment: | Object 939.png added |
---|
I can reproduce this with the Steam version, which ScummVM identifies as
I can't reproduce it with my other version, identified as
I'll see if I can figure out what they do differently, but I can't promise anything. I haven't looked much at the HE side of things.