Opened 21 years ago

Closed 21 years ago

#512 closed defect (fixed)

DIG: Layer problem

Reported by: SF/jsaathof Owned by: SF/khalek
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: The Dig


In some scenes in The Dig there is a problem with layers. The first one I encountered is on the alien planet where the creatures are burried. Maggie Robbins is standing in front of the piles of bones, but the piles are projected in front of her.

Later in the game this behaviour comes back on some occasions. In the lab of the inventor down at the control panel, the talk icons are projected behind the vines.

Also the water reflections near some spires don't seem right.

I use scummvm version 0.2.2 CVS built on Oct. 26 2002 on a Debian Linux system. English talkie version of The Dig.

Ticket imported from: #629412. Ticket imported from: bugs/512.

Change History (6)

comment:1 by SF/nightweaver, 21 years ago

I've also noticed this frequently with the captions; first on the asteroid, when the device is armed in Quadrant 3. I also noticed the same thing with Maggie as described above. Also, related or not (I don't know), when Brink died, he was still shown digging (not moving though) when the view switched back to the surface. Using latest at time of posting (Nov. 6) Win32 build.

comment:2 by eriktorbjorn, 21 years ago

The room with the buried creatures should be fixed now (see patch #634326 for details). Could you check if the fix had any effect on the other bugs? (I haven't gotten far enough in The Dig to be able to test it myself.)

comment:3 by SF/proff_fs, 21 years ago

ScummVM 0.2.81 CVS Built on Nov 14 2002 18:55:22 (GMT) The Dig (German) Win32 MP3 enabled

This seems to be mostly fixed (I just got to the nexus). Only when placing the bomb in quadrant two (top right) and activating it, one picture of the glowing animation partly overlays the sprite of Boston.

comment:4 by eriktorbjorn, 21 years ago

> one picture of the glowing animation partly > overlays the sprite of Boston.

That's a different bug. Here's what seems to be happening:

For all practical purposes, we have two actors here: Boston (actor 3) and the glowing light (actor 6). Boston isn't doing anything, so he's only redrawn when his area of the screen is "dirtied".

Actor 6, on the other hand, is always being redrawn because animateCostume() always tells it to, which in turn is because akos_increaseAnims() always returns true for it. Which makes sense since its appearence is constantly changing.

However, there is one frame where actor 6 isn't drawn because drawCostumeChannel() terminates on the code == AKC_Return case. So in this case, the screen won't be dirtied which means that actor 3 won't be marked for redraw.

So on the next frame, *only* actor 6 is redrawn.

Unfortunately I have no idea how to fix this correctly.

comment:5 by SF/khalek, 21 years ago

Owner: set to SF/khalek
Resolution: fixed
Status: newclosed

comment:6 by SF/khalek, 21 years ago

this seems to be fixed as far as I can tell reopen if this isn't the case.

Note: See TracTickets for help on using tickets.