maxim-zhao / bmp2tile

Converts images to Master System data formats
MIT License
44 stars 3 forks source link

Palette image doesn't reflect what's in the saved data #12

Closed sverx closed 5 years ago

sverx commented 5 years ago

Let's start saying I'm not really fond of this: https://github.com/maxim-zhao/bmp2tile/blob/master/source/Unit1.pas#L785 but I understand why it's there.

The problem is that the colors in the palette tab are the original color from the image, not the colors that you're going to save in your data. As an example:

image

the 14th color (pink) turns white ($3f) but still appears pink up there. Probably updating the colors according to the generated data would help? I'm not really sure on how to workaround this tbh. :/

maxim-zhao commented 5 years ago

Yeah, it's trying to snap colours to the SMS palette while being tolerant of different ways to define that palette. Indeed it really should therefore show you the post-snapped colours.

In general I like to say that people should sort out their source art, BMP2Tile is not intending to do a good job of converting images to the SMS palette... hence why it doesn't do any colour reduction at all.

Also, the code is generally horrible... I think I've come a long way in the last ~17 years. That makes me a little afraid to try to change things. However, this one seems achievable.

sverx commented 5 years ago

Yes, I totally agree that the input art should be sorted out the best way possible.

Here I was really wondering why I couldn't get that pink even if I could clearly see it in GIMP palette and even in BMP2Tile color strip in Palette tab... and sure, it was a bit off the ideal #ffaaff but not so much and then when I noticed it became SMS color $3F (white!) I thought it was a mistake, as the original color is just a little bit off, as it's #fcbcff. Then I read the source and found that line.

Well, in short I really think the color strip shouldn't show the pink if it's going to save that as white instead.

Thanks for any improvement you will do.

maxim-zhao commented 5 years ago

Well, I did it :) The palette strip actually had a hint excusing away what it did, so I removed that too.

sverx commented 5 years ago

The zip here https://github.com/maxim-zhao/bmp2tile/releases/latest seems to still contain the old exe file... :/

maxim-zhao commented 5 years ago

Whoops, fixed now 😊

sverx commented 5 years ago

Works like a charm now! :D