Did this get sorted out? It's been a pain point for me when working with 1992-era images:
http://exult.sourceforge.net/forum/read ... &t=1764018
The Ultima 7 graphics are done in a pretty efficient way for 256 color VGA. They are done in the "midday light" color, and then for clouds the engine swaps the indexed palette for another darker one. A washed-out one happens briefly for lightning strikes, and a red-washed one for when the player character is wounded. It was a great technical solution in the days of the size constraints of floppy disks.
However they made an unfortunately choice to use the same color in different places in the same palette, with some cycling for a magical glimmer. For that reason keeping the exact colormap is important. A "white" in the top row is the same "white" in the bottom row of the palette, but the engine treats them differently.
Most humanoid shapes are somewhere between 24-32 frames, so hand-editing is not ideal. Exult Studio can export these as PNGs with the proper "midday light" colormap. Some work done via ImageMagick is here:
http://exult.sourceforge.net/forum/read ... &t=1732655
The command to keep the color map does not seem to work.
Code: Select all
-define png:preserve-colormap=true
So while all the color changes work, the palette is always reduced. I have to use GIMP to change the color map back. But for any with "magic" colors, that are handled based on their position in the original palette, there is no easy way to handle things. Can this be preserve-colormap option be implemented or fixed, please?