This came up in another thread but wasn't answered (unless I missed it), so I figured I'd repeat it here: how does the magnifying glass work on the stage select screen of Darkwing Duck? I don't know if it's technically impressive, but it sure looks neat. Do any other games use a similar effect?
There are a few games the use/abuse the sprite priority for other than normal masking stuff, but not in this particular way. It's pretty clever. Clever like Jackie Chan silhouette effect. And what's even weirder, is that DWD of all games has this trick. Everything else in that game is plain jane/below average FX wise.
The effect works like this: Sprites have a priority setting directly inherent to the order they appear in the SAT (sprite attribute table, there are 64 entries for 64 sprites). Sprite #0 has a higher priority and shown above sprite #1, and so on. The each sprite also has a BG priority setting. Set to 0, the sprite gets shown behind the BG colors #1-15 (palette assigned doesn't matter and color #0 is always shown in the least/farthest layer. No even low priority sprites show behind this). If a sprite is higher priority than another, but is set to show behind the BG while the less priority sprite is set to show above the BG layer and they collide, the visible pixels of sprite 1 that overlap visible pixels of sprite 2 - cause the BG to show in its place instead.
_________
| _______|_ <- sprite layer 1 (cut out mask)
| | _______|_ <- BG layer
| | | _______|_ <- sprite layer 2 (magnafied image)
| | | | | <- sprite layer 3 (magnafying glass and hand)
|_| | | |
|_| | |
|_| |
|_________|
______
| __ | <- sprite layer 1 mask
| / \ |
| \__/ |
|______|
A group of high priority sprites (low priority to the BG layer) for a mask with a hole in the center. The mask is behind the BG tiles, so you can't actually see it. But the center has a circle of blank pixels. This allows sprite layer #2 to be seen in that area, everything else is hidden behind. Sprite layer #3, the magnifying glass, is highest priority and above the BG layer - so it shows above everything and moves in unison with sprite layer #1. Sprite layer #2 scrolls at a different speed and direction, but to remain behind the mask it needs to drop out sprites on the border edges as not to be show outside the masking box.
It's clever that they used it in this way. It definitely took a bit of thinking to flesh this out.