Closed mscharley closed 3 years ago
Converting this back to a draft for now - it seems a little buggy. I originally wrote this against the 1.0 release but the latest main branch has changed a few things.
Thanks for the contribution, I will be able to test today or tomorrow, but in the mean time. Have you tested it with exported projects? From previous experiences there are some differences between testing Godot projects "running them" from the editor and running exported games. If you haven't please give it a go and confirm that things are working as expected. Just in case 😅
I've only tested the new manual workflow, I haven't tested the old workflow much. I hadn't tested with an exported project but I just did that and I didn't see any issues. user://dialogic
was still not created, and the import/export functionality worked with my saved game system.
Something that might be nice to do that I only just noticed was possible would be to have a setting in res://dialogic/settings.cfg
that controls the default value for autoload. For now though, setting it to false in an _ready
in a singleton works well.
@arnaudvergnet can you test this one as well since you made the original saving?
@coppolaemilio I saw you merged it, do you still need me to test it?
@arnaudvergnet yes, since you did the other part of it I believe you would be better fit to test it properly. I did some tests and it seems to run fine but if you could take an extra look I would really appreciate it 🙇🏻
I tried it a bit and this is a breaking change. Nothing gets saved on my own project even after setting autosave to true, I'll investigate a bit more to see what changed
Never mind this is working as expected, I forgot I edited my project so it wasn't working with the last version either
Fixes #224.
This is my proposal for manual save management. This allows developers to manually handle save data management if they need something more complicated that the autosave provides. This also allows for multiple save states using whatever save mechanism the developer is using already.
Example usage:
Changes to existing behaviour
Dialogic should continue to work the same way unless
set_autosave(false)
is called with one exception:user://dialogic
, instead waiting to create them just in time as it saves state for the first time.