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

Description

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.
ScummVM
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)

Changed 16 years ago by Kirben

Attachment: monkeyega.jpg added

Original game

comment:1 Changed 16 years ago by Kirben

Priority: normallow

Changed 16 years ago by Kirben

Attachment: scummvm.jpg added

ScummVM

comment:2 Changed 16 years ago by eriktorbjorn

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 Changed 16 years ago by Kirben

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

Changed 16 years ago by Kirben

Attachment: test1.jpg added

comment:4 Changed 16 years ago by Kirben

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).

Changed 16 years ago by Kirben

Attachment: test2.jpg added

comment:5 Changed 16 years ago by eriktorbjorn

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 Changed 16 years ago by SF/logicdeluxe

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 Changed 16 years ago by eriktorbjorn

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?

Changed 16 years ago by Kirben

Attachment: sunset.jpg added

Sun set

comment:8 Changed 16 years ago by Kirben

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 Changed 16 years ago by eriktorbjorn

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 Changed 16 years ago by SF/logicdeluxe

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 Changed 16 years ago by SF/logicdeluxe

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 Changed 16 years ago by Kirben

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

comment:13 Changed 16 years ago by Kirben

Fixed in latest ScummVM cvs.

comment:14 Changed 16 years ago by Kirben

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