Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#896 closed defect (fixed)

MONKEYEGA: Palette wrong in some locations

Reported by: Kirben Owned by: Kirben
Priority: low Component: Engine: SCUMM
Keywords: Cc:
Game: Monkey Island 1


Latest ScummVM cvs version.
English version of Monkey Island (EGA)
Compiled under mingw with GCC 3.2.3 and running under
Windows XP.

The color of the verbs in monkeyega under ScummVM
are wrong, they should be green.
Also some colors seem to be missing from Guybrush
when he is standing still. He looks more detailed in the
original game.
Screenshots are attached.

Ticket imported from: #755839. Ticket imported from: bugs/896.

Attachments (5)

monkeyega.jpg (19.1 KB ) - added by Kirben 16 years ago.
Original game
scummvm.jpg (63.1 KB ) - added by Kirben 16 years ago.
test1.jpg (66.7 KB ) - added by Kirben 16 years ago.
test2.jpg (63.3 KB ) - added by Kirben 16 years ago.
sunset.jpg (72.4 KB ) - added by Kirben 16 years ago.
Sun set

Download all attachments as: .zip

Change History (19)

by Kirben, 16 years ago

Attachment: monkeyega.jpg added

Original game

comment:1 by Kirben, 16 years ago

Priority: normallow

by Kirben, 16 years ago

Attachment: scummvm.jpg added


comment:2 by eriktorbjorn, 16 years ago

Maybe our EGA palette is wrong? I don't know how it's
derived. The most plausible explanation I've found is that
each colour number, 0 through 15, is the IRGB (intensity,
red, green, blue) value of the colour.

That'd give four possible intensity levels for each colour
component, which we apparently map to 0, 84, 168 and 252.

Khalek changed colours 4, 5 and 12 to "Amiga values", which
may account for some discrepancy. (I'm not sure I like this
change myself. Perhaps it could be made an option instead?)

But if this is how the colours are derived, then we have
some obvious errors in our palette:

Colour 6 would be (168 168 0), not (168 84 0)
Colour 10 would be (84 252 84), not (0 252 0)
Colour 11 would be (84 252 252), not (0 252 252)
Colour 13 would be (252 84 252), not (252 0 252)
Colour 14 would be (252 252 84), not (252 252 0)

I did find a colour list that claimed to be the "EGA Color
Table". It agrees with me on colours 10, 11, 13 and 14
(apart from mapping the colour levels to 0, 85, 170 and 255
instead) but maintains that colour 6 is (170 85 0). If so,
that'd be the only colour which uses three different
intensity levels.

But since I don't have MonkeyEGA I cannot test how these
changes would affect the picture.

comment:3 by Kirben, 16 years ago

The problems occured before Khalek's recent EGA palette
The really strange part is that these two problems only occur
in the full game and not in the Monkey Island 1 demo.

by Kirben, 16 years ago

Attachment: test1.jpg added

comment:4 by Kirben, 16 years ago

I just tried making those changes but they make no difference
to these two problems:
With your suggested changes alone I get a weird shade of
yellow (test1).
With the extra change to color 6, that colors looks the same
as before (test2).

by Kirben, 16 years ago

Attachment: test2.jpg added

comment:5 by eriktorbjorn, 16 years ago

I just tried the changes in a paint program, and colour 6
seems to be the only one to change the colour in a
noticeable way. And that change was the one that was most
likely wrong... Oh well.

For the verb colour, I guess one way of narrowing it down
would be to check which colour the demo and the full game
use to draw the verbs. That's probably done by o5_verbOps().

comment:6 by SF/logicdeluxe, 16 years ago

It seems that ScummVM translates the palette wrong only in
some particular screens. Not only Guybrush has a gray suit
instead of white, also the pulsating cursor has no white in
its sequence. This does not happen at the look out point or
inside the Scumm Bar for example. We had similar problems in
ZAK256. Maybe they are related, maybe not. Just some thoughts.

And yes, I think you got the EGA pallette correct. For the
Amiga differences (MM, ZAK, INDY3 and LOOM), how about using
the '-a' switch for activating the Amiga 16 colour pallette
in 16 colour games? As I understood, the '-a' switch only
affects 32 colour games for now, so it could be used that
way, too.

comment:7 by eriktorbjorn, 16 years ago

So the inventory is drawn in the wrong colour, but only in
some rooms? Sounds like a palette remapping problem. Just as
an experiment, what happens if you remove the "shadow
palette" handling (that is only enabled for GF_SMALL_HEADER
games) from the updatePalette() function?

by Kirben, 16 years ago

Attachment: sunset.jpg added

Sun set

comment:8 by Kirben, 16 years ago

If I remove the shadow palette handling it solves those two
wrong color issues but I get an odd looking sunset.
Check picture.

comment:9 by eriktorbjorn, 16 years ago

Hmm... I remember the palette remapping used to be handled a
bit differently in 16-colour games than it is now, and that
I changed it to its current method to get palette changes in
EGA Loom to work.

Maybe it needs to be handled in yet another way in
MonkeyEGA. I won't be able to test this since I don't have
this game.

By the way, could this be related to bug #755124?

If whoever fixes it wants to test for regressions in EGA
Loom, it's the scene where the dragon finds Rusty. It uses
palette changes to simulate the dragon's shadow on Rusty.
(Rusty's cloak will look rainbow-coloured during the
transition effect to the next scene, but that happened when
I tried it in DOSbox as well.)

comment:10 by SF/logicdeluxe, 16 years ago

I noticed a feature in the EGA version the VGA version has
not: That sun disappears when the game advances. (Compare to
the VGA version: There never is a sun at all in that
particular screen!)
This might be of interrest because after the sun set the
colours also are wrong, but different. In ScummVM Guybrush's
suit appreas cyan then, instead of white. Also the cursor
pulsates cyan instead of white. The game certainly seem to
use some kind of palette effect. The change happens when I
follow the shop keeper to the swortmaster.

comment:11 by SF/logicdeluxe, 16 years ago

I just played the whole game through the end.

Another colour glitch appears in the screen with the yellow
petal where some yellow is visible in Guybrush's face.

In case you are wondering about it: in the scene on melee
with the cable to the small island it is normal behavior
that the inventory items are highlighted red instead of
bright magenta, and on monkey island in the catacombs it is
also normal that the verbs and inventory are red instead of
green and magenta. So don't worry about those.

comment:12 by Kirben, 16 years ago

Summary: MONKEYEGA: Some colors wrongMONKEYEGA: Palette wrong in some locations

comment:13 by Kirben, 16 years ago

Fixed in latest ScummVM cvs.

comment:14 by Kirben, 16 years ago

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