Skip to content
This repository has been archived by the owner on Mar 28, 2023. It is now read-only.

The Timeline resource is not saved when playing project #23

Closed
Crystalwarrior opened this issue Dec 30, 2021 · 7 comments · Fixed by #28
Closed

The Timeline resource is not saved when playing project #23

Crystalwarrior opened this issue Dec 30, 2021 · 7 comments · Fixed by #28
Labels
bug Something isn't working partially fixed

Comments

@Crystalwarrior
Copy link
Collaborator

Crystalwarrior commented Dec 30, 2021

OS

Occurred on Windows 10 x64 and Windows 11

Godot Version

3.4.stable

Plugin Version

1.2.1 (lastest)

Issue description

If you press the "play project" or "play scene" buttons when editing the timeline without pressing Ctrl+S beforehand, that timeline resource will break for the rest of the editor session without telling you. It will appear as if the timeline is saved properly, but in-game tests indicate that is not the case. When reloading the project, it will be revealed that none of your changes actually saved.

It's a horrendously frustrating bug that should be fixed ASAP, it could be godot-related but regardless it must have something to do with the debug instance locking up the resources and perhaps the timeline resource does not save fast enough or something. Whatever it is it's utterly wack.

Steps to reproduce

  1. Create a timeline
  2. Edit the timeline without saving via Ctrl+S
  3. Launch your game.
  4. Realize your in-game timeline does not match your most recent edits.
  5. Restart the editor
  6. Open the timeline
  7. Realize your timeline did not save, despite lying to you saying it did.

Workaround

Make a habit to Ctrl+S every time you edit the timeline for anything. Otherwise get used to reloading your project after every change :/

@Crystalwarrior Crystalwarrior added the bug Something isn't working label Dec 30, 2021
@MdSahil-oss
Copy link

hey! you still need help in resolving this bug

@Crystalwarrior
Copy link
Collaborator Author

Crystalwarrior commented Dec 31, 2021

Here's the bug in action, the timeline resource is not modified even though the editor claims it is. I have it open in visual studio code and I edit it and it works.

Odvtm6LPrz.mp4

@AnidemDex
Copy link
Owner

I think maybe something related to save_external_data but I'm not sure if it's a good idea to force it to save, verify if it's saved or simply remove that function. I'll keep debugging

Crystalwarrior added a commit to Crystalwarrior/Godot-EventSystem that referenced this issue Jan 3, 2022


In theory, the issue occurs because of a botched call stack due to _update_values being a deferred call, making the engine and resource system really confused.
@AnidemDex
Copy link
Owner

Related to Zylann/godot_heightmap_plugin#101 (for future reference)

@Crystalwarrior
Copy link
Collaborator Author

Big problem, if you save a timeline that is like this, the save will not be recognized and you have to save at the "original" timeline (e.g. 1_present.tres)
So sub-resources require their main resource to be saved to update:
image

@AnidemDex
Copy link
Owner

Seems like #44 solves it. If this can't be replicated anymore on main, I'll close the issue

@AnidemDex
Copy link
Owner

Can't replicate in 1.4.3

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working partially fixed
Projects
None yet
3 participants