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

Make Custom Full Layout should create a scene based on the layers in the layout #1985

Closed
nlupugla opened this issue Jan 2, 2024 · 2 comments

Comments

@nlupugla
Copy link
Contributor

nlupugla commented Jan 2, 2024

Is your feature request related to a problem? Please describe.
When I make a full custom layout, Dialogic starts me with a nearly-empty scene that just contains a DialogicLayoutBase node. This is frustrating if you want a custom layout that is pretty close to one of the presets except for a few modifications, as you essentially have to manually rebuild the preset. I also find it easier to edit my layout from Godot's scene editor compared to Dialogic's Style UI as the scene editor gives me instant feedback compared to entering a value, hitting "Test Style", then waiting for the scene to load.

If the user wanted a blank slate, they probably would have selected the "+ -> Custom Style" option from the Styles menu.

Describe the solution you'd like
When the user selects "Make Custom -> Full Layout" from the Layers menu, the created scene should essentially match the scene you would create if you had hit the "Test Style" button.

Describe alternatives you've considered
The created scene could instead match the default scene for whatever premade style the user had previously selected, but I think this would be both harder to implement and less useful overall.

Edit:

Another alternative could be to add a "Save Style" button next to the "Test Style" button. The "Save Style" button would create a .tscn file describing the scene that would be created when hitting "Test Style".

Additional context
Add any other context or screenshots about the feature request here.

@Jowan-Spooner
Copy link
Collaborator

Hmm... I'm not sure if I'm understanding you correctly, but if I use "MakeCustom>FullLayout" I already get a scene that is exactly the same as what is used when pressing TestTimeline. (It might not look like it, but it is).

I assume the problem here is that using this button will keep all the options as options and they are not live-applied in editor, as that can ruin them.

The problem is that the options are hard to remove automatically from the scene without messing it up.
I think if you don't want to keep the options, going for a static and simpler custom scene (made from scratch) would be the best way anyways.

You can try to add an alternative button (I assume it will be hard), but the current option of realizing the scene has to stay.

@nlupugla
Copy link
Contributor Author

nlupugla commented Jan 7, 2024

Ah, I think I understand what's going on here. It is related to getting parse errors on account some GDScript settings: #1975

Here's is what happens when the GDScript settings are all default and I believe is the intended behavior.

Starting from the premade visual novel scene, I click Make Custom -> Full Layout

image

The layer window now looks like so

image

and inspecting the scene reveals a full custom layout ready for edits:

image

However, this is what happens when I go through the same process, but with slightly stricter GDScript settings:

image

I hit Make Custom -> Full Layout and the Layers panel displays

image

Inspecting the Layout scene reveals a blank scene:

image

For completeness, this is the error log:

image

TLDR: the intended behavior seems to be essentially what I described in this proposal, which is great! On the other hand, I wasn't getting the intended behavior because of GDScript settings that are probably fairly common (although not default).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants