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:
Logged In: YES
user_id=547613
uploaded savegame
another screen seattle cave
Logged In: YES
user_id=547613
uploaded all screens to sourceforge, i will delete the ones on
my domain. so the links above will not work, use the
attachments below.
Logged In: YES
user_id=12935
The same problem occurs in MIVGA, too (see
https://sourceforge.net/tracker/index.php?func=detail&aid=599442&group_id=37116&atid=418820\)
Logged In: YES
user_id=2715
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.
walk into the cave, light the fire, the exit the cave and enter it again
Logged In: YES
user_id=547613
yes the problem still occurs.
after the palette messed up
Logged In: YES
user_id=2715
I can't do anything without the two saved games as mentioned below...
without those I'll have to close this bug.
Logged In: NO
endy if you whould read this bug report more carefully, you
whould have noticed that i attached two savegames
yesterday.
Logged In: YES
user_id=12935
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
Logged In: YES
user_id=577918
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.
Logged In: YES
user_id=12935
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.
Logged In: YES
user_id=577918
Oh well, pretty close. :-)
Is the _fullRedraw = 1 really needed though? I would have
thought the standard "dirty colours" mechanism would have
been enough.