Opened 10 years ago
Last modified 10 years ago
#6781 new defect
ZVISION: Animation glitch (position? scaling?) in Nemesis laboratory
Reported by: | eriktorbjorn | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | Engine: ZVision |
Version: | Keywords: | ||
Cc: | Game: | Zork Nemesis |
Description
Current git snapshot of ScummVM English Zork Nemesis, included on ZGI DVD version
In the attached savegame, you can click on the red picture on the desk to reveal a picture of a violinist underneath. But the animation doesn't line up with the background, creating a very noticeable seam. This does not happen in the original interpreter. At least not in the DOS version.
Ticket imported from: bugs/6781.
Attachments (7)
Change History (12)
by , 10 years ago
Attachment: | znemesis.003 added |
---|
by , 10 years ago
Attachment: | animation-glitch.png added |
---|
comment:1 by , 10 years ago
by , 10 years ago
Attachment: | dosbox.png added |
---|
comment:2 by , 10 years ago
I tried capturing the same image in DOSBox. This is as close as I got. It's not the exact same frame, but to me it does seem to suggest that it's scaling, not position, that is off.
comment:3 by , 10 years ago
The problem seems to be that it's scaling down the animation (I don't yet know the reason why). If I force it to draw the animation at the actual size, it matches the background as well as can be expected.
comment:4 by , 10 years ago
These scripts, from tl9e.scr, seem to be responsible for setting up the animation. So it appears that it's the scripts that specify too little space for the frames. Did the original ignore the specified size in some cases? If so, when?
(They don't appear after each other like this in the original script file, but GitHub merged the text blocks together when I tried to separate them.)
puzzle:1283 { # TL9E Hide Photo puzl criteria { [1280] = 1 # tl9e hide photo } results { action:assign(1280, 0) # tl9e hide photo action:assign(1283, 0) # TL9E Hide Photo puzl action:disable_control(1280) # tl9e hide photo action:disable_control(1278) # tl9e Get Photo action:syncsound(27030 0 tl9eq1sc.raw 22050 16 0 0) #a background:playpreload:1282(27030 146 142 297 229 12 22 1) } flags { ONCE_PER_INST } } puzzle:1290 { # TL9E Reveal Photo pzl criteria { [1287] = 1 # tl9e Reveal Photo } results { action:assign(1287, 0) # tl9e Reveal Photo action:assign(1290, 0) # TL9E Reveal Photo pzl action:disable_control(1287) # tl9e Reveal Photo action:syncsound(27030 0 tl9eq1sc.raw 22050 16 0 0) #a background:playpreload:1289(27030 146 142 297 229 0 11 1) } flags { ONCE_PER_INST } }
by , 10 years ago
Attachment: | dosbox.2.png added |
---|
comment:5 by , 10 years ago
Another example of scaling gone wrong is the fist controls. Here are screenshots of DOSBox, ScummVM and ScummVM where fist_control.cpp calls blitSurfaceToBkg() instead of blitSurfaceToBkgScaled().
comment:6 by , 10 years ago
The "fists" glitch had already been filed as bug #6784, Earth pavilion door puzzle inset videos out of alignment
comment:8 by , 10 years ago
The bug in the Nemesis laboratory is not related to the fist door puzzle (which is fixed by commit 1adcb23d7)
Here is a screenshot during the animation.