Opened 22 years ago

Closed 20 years ago

Last modified 20 years ago

#619 closed defect (fixed)

SAM: Bad Colors in first Room

Reported by: SF/leo42 Owned by: cyxx
Priority: low Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Sam and Max

Description

When you switch on the "red light" in the right of the first room, colors are bad... When you do nothing some minutes, a small "screensaver" appears inside the game: some colors are also wrong here...

.ScummVM version 0.3.0b (GL and Non- GL) (Bug also appear in v 0.2.0)

.Language of game: French

.Version of game: Floppy

.Platform and Compiler: WinXP

Hope it will help...

@+, Léo.

See attached ScreenGrab...

Ticket imported from: #651077. Ticket imported from: bugs/619.

Attachments (8)

samBUG.gif (135.7 KB ) - added by SF/leo42 22 years ago.
comparison.png (19.7 KB ) - added by SF/khalek 22 years ago.
comparison of scummvm cvs and dos
original.png (99.1 KB ) - added by Kirben 20 years ago.
Screenshot from original game
scummvm.png (44.8 KB ) - added by Kirben 20 years ago.
Screenshot from ScummVM
LightsOff.png (67.8 KB ) - added by Kirben 20 years ago.
Room light off, dark light on
LightsOff2.png (69.4 KB ) - added by Kirben 20 years ago.
Room light off, dark light on, characters out of way
TestCase.png (101.2 KB ) - added by Kirben 20 years ago.
Dark light after test case
sammax_651077.diff (1.2 KB ) - added by cyxx 20 years ago.
setupShadowPalette() matching original interpreter

Download all attachments as: .zip

Change History (45)

comment:1 by SF/leo42, 22 years ago

Summary: Bad Colors in first RoomSAM: Bad Colors in first Room

by SF/leo42, 22 years ago

Attachment: samBUG.gif added

comment:2 by SF/leo42, 22 years ago

What is the status of this item?

comment:3 by SF/aberkvam, 22 years ago

Well, I see pretty much the exact same colors on Mac OS X / ScummVM 0.3.0b. Thing is, I see about those same colors when I run the original game too. What makes you think that the colors are incorrect?

Maybe you are missing the joke? Max has a "black light" in his closet. This is a light that shines with a dark purple and UV light that makes colors look very strange. Check out http://www.howstuffworks.com/question59.htm for more details about blacklights.

As far as the screen saver, I am not sure what you are seeing there.

comment:4 by fingolfin, 22 years ago

Leo, it can take minutes to months to fix a bug, there is really no point in asking for its status 4 hours after you filed it!

comment:5 by SF/leo42, 22 years ago

Sorry... I just wanted to make a change to the bugs'title, (game's title was not shown): I was not asking for its status: I didn't know that you recieved a mail each changes are made... I'm pretty new to sourceforge...

As for the "his is a light that shines with a dark purple and UV light that makes colors look very strange.[...]", do you mean I'm a bit silly ? If so, stop it RIGHT NOW...

I thought the light effect was better in the original version that's why I assumed it was a bug but I was wrong... (here, Sam's sprite is really ugly and seems to use only one color when under the light... other lights effects are better in the game...)

Regards, Leo.

comment:6 by fingolfin, 22 years ago

No worries :-)

I personally don't remember at all how this looked in the original, so I am not sure whether we do it wrong or not. And since I currently have no way to test the original here, I can't find out... somebody else will have to look into this.

comment:7 by SF/ender, 22 years ago

Personally, the effects both look exactly the same to me - under
ScummVM or the Original.

Can anyone else verify that the original behaves differently? If
so, please post a screenshot of the original vs ScummVM
behavior so we can do colour comparisons.

Assigning lowest priority - one small potential graphical glitch that only occurs under very precise (not to mention unneeded to complete the game) circumstances... isn't very important :)

comment:8 by SF/ender, 22 years ago

Priority: normallow

by SF/khalek, 22 years ago

Attachment: comparison.png added

comparison of scummvm cvs and dos

comment:9 by SF/khalek, 22 years ago

comparison of scummvm and dos attached

comment:10 by fingolfin, 22 years ago

Owner: set to eriktorbjorn

comment:11 by fingolfin, 22 years ago

Obviously we are way off... hey erik, this might be one for you :-) (but feel free to unassign this)

comment:12 by eriktorbjorn, 22 years ago

Well, the problem seems to be in CostumeRenderer::proc_special() and/or Scumm::createSpecialPalette(), so presumably it's the same bug as the transparency problem someone - I forget who - reported in the Hall of Oddities.

I have no idea how to fix it, though.

comment:13 by eriktorbjorn, 22 years ago

Unassigning myself, since I don't have the knowledge or tools to fix it.

comment:14 by eriktorbjorn, 22 years ago

Owner: eriktorbjorn removed

comment:15 by fingolfin, 22 years ago

Owner: set to eriktorbjorn

comment:16 by fingolfin, 22 years ago

Despite claiming not to know enough, erik found a fix which solves this (although the colors still seem to be different from the original :-)

Feel free to close this, or not, erik :-)

comment:17 by eriktorbjorn, 22 years ago

Well... our version still Doesn't look like the DOS screenshot, but I think it's an improvement. Actually, I think our version looks better than the DOS screenshot, but that's debatable.

With the latest - still not applied - patch, Sam's cuff should change colour too.

comment:18 by eriktorbjorn, 22 years ago

I'm starting to think that the main reason the black light doesn't look like in the DOS version is that createSpecialPalette() works on the original palette. If I change it to work on the current palette instead, it looks more like the original.

This is probably also what keeps the "LOVE" text from appearing when the black light is turned on. The manipulations to make that happen are all made on the current palette, not the original. (I suspect this text was only meant to be visible under the black light, and even then possibly only when the office lights were turned off, but that it was never implemented quite correctly even in the original.)

However, if I do that it will look absolutely terrible if I turn off the office light, so it's obviously not the Right Thing(tm) to do. Right now I'm tempted to say that the way it is now is as good as it's going to get.

comment:19 by fingolfin, 21 years ago

Any news on this? Probably not... BTW the screensaver issue has a seperate bug report.

comment:20 by eriktorbjorn, 21 years ago

I haven't looked at it, so I assume it's unchanged.

comment:21 by eriktorbjorn, 20 years ago

Unassigning myself, since I have absolutely no idea on how to get it any closer to the original.

comment:22 by eriktorbjorn, 20 years ago

Owner: eriktorbjorn removed

comment:23 by Kirben, 20 years ago

In original Sam & Max disasm., the same palette function is used by o6_roomOps case 183 and o6_kernelSetFunctions cases 108/109/112. The only difference is that o6_roomOps case 183 doesn't send the last two arguments to palette function. So it looks like we shouldn't have a separate palette and that shadow_palette should be used instead.

comment:24 by Kirben, 20 years ago

The love sign not been shown when black light was turned on was a regression, fixed now.

comment:25 by fingolfin, 20 years ago

could somebody summarize the current status of this bug report, please? What exactly is still missing to be able to close this? Maybe you can also include screen shots which show the correct behaviour, to make it easier to implement a fix? Thanks!

by Kirben, 20 years ago

Attachment: original.png added

Screenshot from original game

by Kirben, 20 years ago

Attachment: scummvm.png added

Screenshot from ScummVM

comment:26 by Kirben, 20 years ago

The colors of Sam and Max are still wrong when they are in the light of the Black Light in the first room. Compare the screenshots from original game and scummVM which I attached. Maybe a difference in our setupShadowPalette() code, compared to original Sam & Max.

comment:27 by fingolfin, 20 years ago

I wonder if this is related to <https://sourceforge.net/tracker/index.php? func=detail&aid=905833&group_id=37116&atid=418820>

comment:28 by fingolfin, 20 years ago

Could somebody provide a screenshot of how the "dark light" shoud look with the original engine while the room lights are turned off?

comment:29 by fingolfin, 20 years ago

Oh and one more thing to be tested with the original engine: if you turn off the room lights; then turn on the dark light; then turn back on the room lights -- how does the (still active) dark light then look like?

comment:30 by Kirben, 20 years ago

Screenshot from original Sam & Max attached.

by Kirben, 20 years ago

Attachment: LightsOff.png added

Room light off, dark light on

by Kirben, 20 years ago

Attachment: LightsOff2.png added

Room light off, dark light on, characters out of way

comment:31 by Kirben, 20 years ago

I tried your test case in original Sam & Max and I didn't notice anything unusal happening. Attached another screenshot of room, after test case.

by Kirben, 20 years ago

Attachment: TestCase.png added

Dark light after test case

comment:32 by fingolfin, 20 years ago

hey cyx, you made some fixes for COMI regarding the darkenPalette code. In a sense, this issue here is related; maybe you have some ideas on this, or are interested in comparing with disasm... Feel free to unassign this, I just wanted to get your attention on the issue :-)

comment:33 by fingolfin, 20 years ago

Owner: set to cyxx

by cyxx, 20 years ago

Attachment: sammax_651077.diff added

setupShadowPalette() matching original interpreter

comment:34 by cyxx, 20 years ago

The "problem" was due to setupShadowPalette. In samnmax the weight of a color is computed differently (and less accurately). I made a quick patch which should match the original interpreter behaviour.

But like Erik, I think the effect looks better in ScummVM as it is now.

comment:35 by Kirben, 20 years ago

Resolution: fixed
Status: newclosed

comment:36 by Kirben, 20 years ago

We want to match the original game, so I added patch to ScummVM CVS. I checked disasm. of earlier games and the changes apply to SCUMM5 games too.

comment:37 by cyxx, 20 years ago

Fine. I don't have Fate of Atlantis myself, but it maybe nice to check and update the comment in setupShadowPalette(). And the local 'max' variable can go away too...

Note: See TracTickets for help on using tickets.