Persistance of lists does not work
shrnjad opened this issue · comments
Describe the bug
When adding an entry to a list, the change will not be persisted.
To Reproduce
Start the attached project. Click on 'Add entry to list' -> Click on 'Save Ink' -> Close program and reopen -> Click on 'Load Ink' and observe the text in the label.
Expected behavior
After the steps outline above, the label should say that the entry is contained in the list.
Ink files
test.ink in attached project
Environment:
- OS: Windows, also observed in web-browsers on Windows, mobile devices and Mac
- Godot version: 3.2.3
- Inklecate version: 0.9.0 (I think)
- inkgd version: 0.2.1
Additional context
It can be fixed by _story._get_runtime().dont_save_default_values = false
Attached Godot project
inkgd_issue.zip
@shrnjad thank you so much for reporting the issue and attaching a project.
Sorry it took so long to tackle this. I believe the issue is fixed in 0.4.0, would you be able to double check? The attached project seems to behave properly.
@ephread So sorry for the late reply. We are currently in the early stage of our current project (Hauma again). I would test it a bit later when I get around to implementing persistance if that is ok and we are not in a hurry.
So I tried to test with version 0.4.2 but could not get the test project to run. (I downloaded it from the link in this issue)
It is also not obvious what the problem is while debugging. The problem happens at this line:
It runs into some recursive error that happens at this place in ink_list.gd
:
Has the interface for lists changed? Or what could be broken?
It's my fault, types are broken, I was overzealous in adding them. Thanks for uncovering the issue! I wish GDscript would support optionals.
It runs into some recursive error that happens
The recursive error is misleading, it happens because the debugger keeps retrieving the value from the getter to display it in the inspector. I consider this a bug in Godot, but I've been too lazy to report it.
I'll fix it, publish a new version and keep you posted. Sorry for the inconvenience 😞
No worries, I am happy to support you! 💪