dialogic-godot / dialogic

💬 Create Dialogs, Visual Novels, RPGs, and manage Characters with Godot to create your Game!
https://dialogic.pro
MIT License
3.53k stars 215 forks source link

Default character Displayed Name Label color is white on white bubble, making it invisible -> suggesting default to black color #2230

Open hsandt opened 1 month ago

hsandt commented 1 month ago

The problem

Describe the bug I was testing dialogue with named characters and thought that a bug prevented character Displayed Name from being shown.

By debugging, I saw that the Name Label was indeed visible, but font color was white.

Then I noticed the color box near the Displayed Name indicating the character's associated color, and it was white.

Changing it fixed the issue.

So, there is bug in code, behavior is correct, but surprising for a new user.

To Reproduce Steps to reproduce the behavior:

  1. Create a new timeline with a character saying something
  2. Make sure to name the character (Displayed Name). Note the white color box besides.
  3. Play timeline with some code: see how Name Label looks invisible because it's white on white

Expected behavior Name Label should appear visible in new timelines with zero customizations, to help new users

Screenshots

image

image

image

System (please complete the following information):

Solutions

Workaround

Remember to set every new character Displayed Name color to black

OR

Add custom code to override Name Label color...

Possible fixes

I suggest setting default Displayed Name color to black (obviously it depends on the bubble, but it would work with the default white bubble).

Alternatively, we could have an option to ignore per-character color and use a uniform color for all characters (convenient to avoid having to change colors for all characters when UI designer changes their mind).

A global Style would be great for this, unfortunately it seems that in Dialogic 2 we lost Theme options for Name Labels from Dialogic 1 (https://github.com/dialogic-godot/dialogic/pull/738) so we'd have to reimplement them (in this case restoring the Use character Color flag which is exactly the option I'm suggesting).

Jowan-Spooner commented 1 month ago

I can understand that the default of the textbubble style is a bit bad, maybe we should just have the "Use Character Color" disabled by default. But these options do exist on the textbubble layer, so this is easily solveable. grafik

I think the character color should stay white by default for now, as the other styles are using a dark background by default.

hsandt commented 1 month ago

Thanks, I would disable Use Character Color. It seems it can also be used for Box Modulate so it makes sense it could also be a light color for light background.

I also searched for a place in code / data to change the default character color just for my project, but I could find nowhere in code / data corresponding to this. The default Godot color is BLACK, therefore there must be somewhere where WHITE is set by Dialogic, but where?

Jowan-Spooner commented 1 month ago

It's just the default character color, defined in the character.gd resource.