Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#432 closed defect (fixed)

ZAK256: Palette messed up

Reported by: SF/trinity78 Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: Zak McKracken

Description

using the latest daily snapshot from the cvs, i 've noticed
several problems with palette colors in zak256. this
happens for example in the seattle cave after the fire has
been ignited and you left and reentered the room or in
the several jungles in the game (mexico).

you can see a screenshot here:

http://domfree.de/trin/zak2.png

or another one showing the same problem while a fade
mode is active:

http://domfree.de/trin/zak1.png

Ticket imported from: #600287. Ticket imported from: bugs/432.

Attachments (5)

zak2.png (120.7 KB ) - added by SF/trinity78 17 years ago.
zak256.s03 (30.8 KB ) - added by SF/trinity78 17 years ago.
zak3.PNG (115.2 KB ) - added by SF/trinity78 17 years ago.
another screen seattle cave
zak256.s01 (30.8 KB ) - added by SF/trinity78 17 years ago.
walk into the cave, light the fire, the exit the cave and enter it again
zak256.s02 (30.8 KB ) - added by SF/trinity78 17 years ago.
after the palette messed up

Download all attachments as: .zip

Change History (19)

by SF/trinity78, 17 years ago

Attachment: zak2.png added

by SF/trinity78, 17 years ago

Attachment: zak256.s03 added

comment:1 by SF/trinity78, 17 years ago

uploaded savegame

by SF/trinity78, 17 years ago

Attachment: zak3.PNG added

another screen seattle cave

comment:2 by SF/trinity78, 17 years ago

uploaded all screens to sourceforge, i will delete the ones on
my domain. so the links above will not work, use the
attachments below.

comment:3 by fingolfin, 17 years ago

The same problem occurs in MIVGA, too (see
https://sourceforge.net/tracker/index.php?func=detail&aid=599442&group_id=37116&atid=418820)

comment:4 by SF/ender, 17 years ago

Owner: set to SF/ender

comment:5 by SF/ender, 17 years ago

Does this still occur?

If so, please upload a save-game from a newer snapshot, as Zak256 save
compatability was broken some time ago.

Please upload a saved game both BEFORE the problem, and AFTER/during
the problem.

Cheers.

by SF/trinity78, 17 years ago

Attachment: zak256.s01 added

walk into the cave, light the fire, the exit the cave and enter it again

comment:6 by SF/trinity78, 17 years ago

yes the problem still occurs.

by SF/trinity78, 17 years ago

Attachment: zak256.s02 added

after the palette messed up

comment:7 by SF/ender, 17 years ago

I can't do anything without the two saved games as mentioned below...
without those I'll have to close this bug.

comment:8 by (none), 17 years ago

Logged In: NO

endy if you whould read this bug report more carefully, you
whould have noticed that i attached two savegames
yesterday.

comment:9 by fingolfin, 17 years ago

And to repeat it again, this seems to be the same palette
bug that is also noted as issue 3 on
https://sourceforge.net/tracker/index.php?func=detail&aid=600287&group_id=37116&atid=418820

comment:10 by eriktorbjorn, 17 years ago

I don't think the MI1VGA palette bug (I assume that's the
one fingolfin meant) is related to this, because that one
should only affect near-white colours, and the ones that are
wrong in that screen shot look like they should be dark or
medium.

This is just a wild guess, but does Zak256 use o5_roomOps(),
opcode 2 (room color)? I'm wondering because that code looks
wrong to me. At the moment, it does

_currentPalette[a] = b;
fullRedraw = 1;

That is, it sets one colour component of one colour. It
seems more likely to me that it should be

_shadowPalette[a] = b;
setDirtyColors(a, a);

Or possibly

_shadowPalette[b] = a;
setDirtyColors(b, b);

But I don't own Zak256, so I can't try this myself.

comment:11 by fingolfin, 17 years ago

Status: newclosed

comment:12 by fingolfin, 17 years ago

Owner: changed from SF/ender to fingolfin
Resolution: fixed

comment:13 by fingolfin, 17 years ago

You were on the right track Erik, but the fix is actually to use
copyPalColor(a, b);
I guess the original game was using EGA colors I guess, and
palette entries were only 8 bits big (2+3+2 format).
Anyway, with that change it works just fine.

comment:14 by eriktorbjorn, 17 years ago

Oh well, pretty close. :-)

Is the _fullRedraw = 1 really needed though? I would have
thought the standard "dirty colours" mechanism would have
been enough.

Note: See TracTickets for help on using tickets.