[3.x] Backport new pause modes
Non-compatibility-breaking backport of #46191
The PR just adds 2 new pause modes:
PAUSE_MODE_STOP_ALWAYS -> same as PROCESS_MODE_DISABLED in 4.0
PAUSE_MODE_PROCESS_PAUSED -> same as PROCESS_MODE_WHEN_PAUSED in 4.0
Everything else is the same.
I tested with AnimationPlayer and the new pause modes work as expected, even when inherited.
Ok, as it turns out, the fact that it worked for AnimationPlayer was a coincidence. Some nodes seem to just use can_process(), so for them this will work. But some nodes rely on NOTIFICATION_PAUSED and NOTIFICATION_UNPAUSED. The original PR sends the notification after pause mode changes. I could backport that too, but it slightly breaks compatibility I guess 🤔 Not sure if that's acceptable.
EDIT: I tried to implement it, but it requires more changes and causes more problems than it's worth. Also the current pause modes are broken anyways (#58543, probably applies to all similar nodes)
So it sounds like this isn't working properly yet? Is it still worth attempting for 3.6 or should we shelve it?
I think it should work correctly after #58577 is merged.
This would be a great feature to have. Any update on this?
Well, #58577 was merged, so this might be functional now, but I didn't test. I'm not really interested in this feature anymore, so feel free to take over.