Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#1196 closed defect (fixed)

COMI: strange light pixels

Reported by: SF/logicdeluxe Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 3


ScummVM 0.5.3cvs (Aug 27 2003 16:57:28)
This can be seen on several places throughout the game.
Some charakters have some strange light colored pixels
on them. For example this can be seen on Lafeet on
Scull Island, on Elain in Part V or on LeChuck at the
ice set in Part VI.

Ticket imported from: #795940. Ticket imported from: bugs/1196.

Attachments (1) (54.9 KB ) - added by SF/logicdeluxe 16 years ago.

Download all attachments as: .zip

Change History (7)

by SF/logicdeluxe, 16 years ago

Attachment: added

comment:1 by fingolfin, 16 years ago

Interesting. I see the problem, too (with Elaine in part V, at least,
using your savegame).
Note: all actors in that scene are set to shadow_mode 3, maybe
that's related...

comment:2 by SF/bigmuzzy, 16 years ago

Kenny's lemonade has no color when he pour it through the
bottomless mug.

[English version of CoMI; Windows XP SP1; ScummVM
0.6.0pre (Feb 24 2004 12:10:45)]

comment:3 by Kirben, 15 years ago

I noticed the palette glitches in all those scenes stop if I
exclude (pcolor = 4) from the shadow_mode 3 section of akos
codec1. So could add hack to 0.6.0 branch for now.
That isn't correct solution though, COMI disasm. clearly
shows the same '(pcolor < 8)' check for shadow_mode 3 in
akos codec 1 but divides each pcolor values into separate
cases of code after that.

comment:4 by fingolfin, 15 years ago

It would be interesting to see that disasm... could you attach or email it?

comment:5 by fingolfin, 15 years ago

What happens is this: Shadow mode 3 is used; in this special mode,
colors 0-7 act as "shadow" colors; they are used to fake a "darkening"
of the color below the pixel being drawn. To achieve (a resemblence of)
transparency like this with 8bit graphics, the game uses a trick: the
shadow palettes match each color to another "faded" color, from the
palette. Anyway, let's forget about these details for now...

The problem is that the game apparently only ever sets the shadow
palettes for level 6 and 7. At least the scripts I've looked at only do
it for that palette. As a result, when the other levels get used (like
by the elaine-costume in this scene), we don't get the desired result.

Solution: always let the shadow palettes default to all black (in other
words, memset it to black within startScene()).

comment:6 by fingolfin, 15 years ago

Owner: set to fingolfin
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.