dialogic-godot / dialogic-1

Dialogic 1.x - For Godot 3.x!
MIT License
6 stars 4 forks source link

runtime haulting error related to character portraits that are scenes #6

Open Bropocalypse opened 2 years ago

Bropocalypse commented 2 years ago

The problem

Describe the bug When a character's portrait is a .tscn, and a character event set to "update" has an animation going with the "wait for animation" toggle unchecked, and a text event is initiated for that character and a portrait option other than "(don't change)" is selected in that text event, a runtime error occurs when the timeline is played. The specific error differs based on the exact animation from the character update event, but it often results from trying to get a function or property on an object of base 'Nil'.

To Reproduce Steps to reproduce the behavior: Start an empty project, import Dialogic 1.4.5, and create a character whose portrait is a .tscn file. In a timeline, add a 'join' character event for that character, then an 'update' character event with some animation selected and 'wait for animation' turned off, and a text event set to that character with the portrait on something other than "don't change". Under these specific circumstances, pressing 'Play Timeline' will cause the scene to hault when transitioning from the update event to the text event.

Expected behavior The expected behavior would be for the program to continue running in some kind of way rather than hault with an error.

Screenshots image

As you can see in this screen, the problem has to do with Anima- specifically, it's somehow getting passed a Nil value as an argument.

System (please complete the following information):

For now, this error appears specific enough that it's easy to get around, but I couldn't figure out for a while what was causing this to happen here and not in a fresh project.

Bropocalypse commented 2 years ago

An update to this issue: I've discovered that it occurs not just in these specific circumstances. Anytime you have an animation from character update event with 'wait for animation' disabled, a text event that changes the character pose will cause the same hault. It's actually trickier to work around than I thought at first.

zaknafean commented 6 months ago

Confirming this issue persists to this day. I made some changes to fix the halting, but didnt' fix the root issue which requires rewrites to the Anima plugin to use the tree-tween for best effect