Opened 22 years ago

Closed 22 years ago

Last modified 22 years ago

#432 closed defect (fixed)

ZAK256: Palette messed up

Reported by: SF/trinity78 Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Version: 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 22 years ago.
zak256.s03 (30.8 KB ) - added by SF/trinity78 22 years ago.
zak3.PNG (115.2 KB ) - added by SF/trinity78 22 years ago.
another screen seattle cave
zak256.s01 (30.8 KB ) - added by SF/trinity78 22 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 22 years ago.
after the palette messed up

Download all attachments as: .zip

Change History (19)

by SF/trinity78, 22 years ago

Attachment: zak2.png added

by SF/trinity78, 22 years ago

Attachment: zak256.s03 added

comment:1 by SF/trinity78, 22 years ago

uploaded savegame

by SF/trinity78, 22 years ago

Attachment: zak3.PNG added

another screen seattle cave

comment:2 by SF/trinity78, 22 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, 22 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, 22 years ago

Owner: set to SF/ender

comment:5 by SF/ender, 22 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, 22 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, 22 years ago

yes the problem still occurs.

by SF/trinity78, 22 years ago

Attachment: zak256.s02 added

after the palette messed up

comment:7 by SF/ender, 22 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), 22 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, 22 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, 22 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, 22 years ago

Status: newclosed

comment:12 by fingolfin, 22 years ago

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

comment:13 by fingolfin, 22 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, 22 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.