Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Index color was changed in sprite areas that are painted with mask color after changing Transparent Color #3208

Open
Gasparoken opened this issue Mar 16, 2022 · 1 comment

Comments

@Gasparoken
Copy link
Member

It's hard to me explain it with a few words, so I attach the action sequence to reproduce the bug:
Screen Shot 2022-03-16 at 15 39 14

  1. Starting with a RGBA sprite with a mask color in the palette (mask color is index 2).
  2. Convert the Sprite to INDEXED (index color areas added to the 2nd image).
  3. Go to Sprite > Properties... > Transparent Color , pick color index 2.

Unexpected result: some sprite 'transparent areas' with color index = 0 changes to color index = 2 (lower part is transparent).
Expected result: the lower part of the sprite should be black.

This bug is a complement of issue #3207.

  • Aseprite version: 1.2.34.1
  • System: MacOS
@Gasparoken
Copy link
Member Author

Gasparoken commented Jul 7, 2022

Implemented 4d075f7 to solve #3207, we get the following result:
RGBA test image:
Screen Shot 2022-07-07 at 09 34 28
Indexed image obtained (transparent color is now '1'):
index

Now, if we want to change the Transparent Color to 0 (through Sprite > Properties > Transparent Color), we can expect 2 different results:

  1. Preserve the indices to keep the drawing intact. We'll get two mask colors (one defined as Sprite Transparent Color index=0, and other color which is transparent on index = 1). This option sounds good, but the artist may be confused by the existence of two mask colors.

Screen Shot 2022-07-07 at 10 11 44 copy

  1. Remap old transparent indices on the drawing to the new index 0. I like this, I think is better in the way nothing is hidden to the artist... but what happens if the artist wants to paint with Index = 1. I think the logical behavior is drawing with such index, so we'll get a drawing with 2 different mask colors.... finally I see option 1 is better.

Screen Shot 2022-07-07 at 10 11 44

Just for the records: current (1.2.35) conversion in similar circumstances:
Screen Shot 2022-07-07 at 11 31 45
The sprite Transparent Index was changed to 0, but mask color on the 2x2 image isn't changed. So, in the current behavior we also have 2 mask/transparent color on the sprite.

What do you think @dacap?

@Gasparoken Gasparoken removed the wip label Jul 7, 2022
@dacap dacap modified the milestones: v1.2-stable, v1.3.x Dec 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants