Skip to content

Something is broken with inherited stylesΒ #2698

@RolfMaster

Description

@RolfMaster

The problem

Describe the bug
Hard to describe concisely, look at the 8th and 10th reproduction steps to see the description of some symptoms

Steps to reproduce the behavior:
Fresh Godot download, new blank project, fresh Dialogic install (pasted the addons folder from the zip straight into the project directory).

  1. Make 2 characters, characterA and characterB
  2. Make new premade VN style, let's call it styleA
  3. Make inherited style from styleA, let's call the inherited style InheritedStyle (I did this by clicking +, Inherited Style while styleA is selected in the UI)
  4. Inside styleA, in the VN textbox, set the alignment of the name label to "Right". Now InheritedStyle also shows that its name label is aligned to the right
  5. Assign styleA to characterA, and InheritedStyle to characterB
  6. Make the Display Name of characterB noticeably longer than for characterA
  7. make new timeline where characterA speaks first, then characterB, then characterA. No character joining or anything, just 3 texts plain and simple
  8. Click "Play Timeline" and witness the following:
  • characterA speaks first, name label is on the right (as expected)
  • characterB speaks next, name label on the left (should actually be on the right)
  • characterA speaks last, name label is on the left (?) and also the size of the name label remains as large as characterB's display name, so there is extra empty space

Expected behavior
I expected that InheritedStyle would have the name label on the right, just like is written in its settings. Also expected that the name label of styleA wouldn't suddenly switch sides

Bonus bug that I just discovered:
9. In InheritedStyle, set the name label alignment to the left, so basically override the setting of the parent style (styleA)
10. Click "Play Timelie" and watch this happen:

  • characterA speaks first, name label is on the right (as expected)
  • characterB speaks next, name label is missing altogether (!)
  • character A speaks last, but now the name label is wrongly positioned and is as wide as characterB's display name (see screenshot)
Image

These are the bugs that I encountered in this toy example, but in my main project I also witnessed a character not speaking in the custom font that I set for it, but then the character that speaks next speaks in that font. So the font got transferred to the character that speaks next, similar to my description above where the length of the name label got transferred to the character that speaks next.

System

  • OS: Windows 11
  • Godot Version: 4.5.1.stable
  • Dialogic Version: 2.0-Alpha-18 (Godot 4.3+)

Solutions

Workaround
I encountered this bug in an ongoing project so I tried to remake all my characters' styles from scratch and reassign them to my characters. Didn't work.

Possible fixes
idk man, I'm stumped

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions