Opened 17 years ago

Closed 17 years ago

Last modified 17 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 17 years ago.
Original game
scummvm.jpg (63.1 KB ) - added by Kirben 17 years ago.
ScummVM
test1.jpg (66.7 KB ) - added by Kirben 17 years ago.
test2.jpg (63.3 KB ) - added by Kirben 17 years ago.
sunset.jpg (72.4 KB ) - added by Kirben 17 years ago.
Sun set

Download all attachments as: .zip

Change History (19)

by Kirben, 17 years ago

Attachment: monkeyega.jpg added

Original game

comment:1 by Kirben, 17 years ago

Priority: normallow

by Kirben, 17 years ago

Attachment: scummvm.jpg added

ScummVM

comment:2 by eriktorbjorn, 17 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, 17 years ago

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.

by Kirben, 17 years ago

Attachment: test1.jpg added

comment:4 by Kirben, 17 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, 17 years ago

Attachment: test2.jpg added

comment:5 by eriktorbjorn, 17 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, 17 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, 17 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, 17 years ago

Attachment: sunset.jpg added

Sun set

comment:8 by Kirben, 17 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, 17 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, 17 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, 17 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, 17 years ago

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

comment:13 by Kirben, 17 years ago

Fixed in latest ScummVM cvs.

comment:14 by Kirben, 17 years ago

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