YoYoGames / GameMaker-Bugs

Public tracking for GameMaker bugs
21 stars 8 forks source link

Spine: If image_speed is set to 0, frames reached via a stepped curve will not display, and the previous frame will be shown instead. Additionally, toggling an attachment's visibility on the frame that the animation is stopped on doesn't display correctly #5140

Open KormexGit opened 5 months ago

KormexGit commented 5 months ago

Description

If you set image_speed to 0 to stop a spine sprite from animating, and the frame it stops on was reached via a stepped curve, it will show the previous frame instead of the frame the animation is actually on. If you toggle the visibility of an attachment on a frame and stop on that frame by setting image_speed to 0, it will not reflect the change in visibility for the attachement, regardless of what kind of curve was used to reach the frame.

Steps To Reproduce

Set up a spine animation with a stepped curve. Set image_speed to 0 while that animation is playing, and set the frame to the stepped frame. The wrong frame will show. See attached project + spine file for more detailed steps.

Which version of GameMaker are you reporting this issue for?

IDE v2024.400.0.526 Runtime v2024.400.0.547

Which operating system(s) are you seeing the problem on?

Windows 10.0.22631.0

e3a7373c-b246-4cf0-952e-d0015284770a

KormexGit commented 5 months ago

Right after posting, found another related issue. It seems transforms of any kind will not display when image_speed is set to 0 if that transform track has it's first keyframe on that frame. For example, my rotation changes here are not showing when stopping on frame 7: image Adding a keyframe on frame 6 fixes the issue, and the rotation shows when image_speed is set to 0 on frame 7. However, the issue persists if the keyframe on frame 6 is set to stepped curve mode, it needs to be either linear curve or bezier curve mode, similar to the issues described above.