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

Dialog does not start if a savesystem load had been performed, while using Visual Novel layout #1934

Closed
MarkusSecundus opened this issue Dec 4, 2023 · 2 comments
Labels
Needs testing More feedback/testing would be good

Comments

@MarkusSecundus
Copy link

MarkusSecundus commented Dec 4, 2023

The problem

Describe the bug
After a game state load had been performed, if I initiate a dialogue, no dialogue bubble will show up. Looking in the remote inspector, the $.../DialogTextPanel is hidden and when I force unhide it, it has no text written on it and just overall doesn't do anything.

This occurs only while using the default Visual Novel layout. RPG Single Portrait and TextBubble don't seem to have this issue.

To Reproduce
Steps to reproduce the behavior:

  1. In script1... Dialogic.Save.load(some_save_slot_name)
  2. In script2... add_child(Dialogic.start(some_timeline_name))

notes:

  • 2) can be happening on the next line of the same script just after 1), or much later in another script via a button press, it does not matter
  • If instead of 1) I do just Dialogic.load_full_state(Dialogic.get_full_state()), it's still sufficient for the bug to occur

Expected behavior
The dialogue shows up correctly, just as it does when using other layouts than Visual Novel

System (please complete the following information):

  • OS: Windows 10
  • Godot Version: 4.1.1
  • Dialogic Version: 2.0 alpha 11

Solutions

Workaround

The bug mysteriously stops appearing if in Dialogic.load_full_state() (DialogicGameHandler.gd, l.280-297), I skip updating one of the subsystems (it almost doesn't matter which one xD) - like this:

	...
	var i := 0
	for subsystem in get_children():
		if subsystem.name == 'Style':
			continue
		if i == 12: #can be any number from 0 to 12
			continue 
		subsystem.load_game_state()
		i += 1

Another thing that mysteriously fixes it is if in the DefaultLayouts/Default/DialogicDefaultLayout.tscn scene, I set InputCatcher node to hidden or just delete it.

Possible fixes

I have no idea what the root cause might be. (This is pretty much my first day just trying to casually use Dialogic for a uni project and I'm not yet familiar with the codebase)

@sudisk
Copy link
Contributor

sudisk commented Dec 18, 2023

It should be fixed by the PR I submitted for #1959. The #1957 PR should be of some help too.

@Jowan-Spooner Jowan-Spooner added the Needs testing More feedback/testing would be good label Jan 29, 2024
@Jowan-Spooner
Copy link
Member

Saving and Loading has worked fine for me in my tests recently, so I will close this. If you still experience this with the current main branch or the next alpha version, feel free to reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs testing More feedback/testing would be good
Development

No branches or pull requests

3 participants