ID:2773733
 
Resolved
Parallel animations didn't handle dir changes properly in many cases. This also would have applied to other copy-only changes like icon_state.
BYOND Version:514
Operating System:Windows 10 Home 64-bit
Web Browser:Firefox 97.0
Applies to:Dream Seeker
Status: Resolved (514.1582)

This issue has been resolved.
Descriptive Problem Summary:
Animating dir with some variables fails to actually cause dir state changes. Tested with parallel and nonparallel animations.

Numbered Steps to Reproduce Problem:
http://files.byondhome.com/Azrun/animate_dir.zip
Code Snippet (if applicable) to Reproduce Problem:
obj/arrow/a
maptext = "A"
New()
animate(src, time=50, loop = -1, dir=EAST)
animate(time=50, dir=WEST)


obj/arrow/b
maptext = "B"
New()
animate(src, time=50, loop = -1, dir=EAST)
animate(time=50, dir=WEST)

animate(src, time=50, loop = -1, pixel_x=6, flags=ANIMATION_PARALLEL)
animate(time=50, pixel_x=-6)

obj/arrow/c
maptext = "C"
New()
animate(src, time=50, loop = -1, dir=EAST, flags=ANIMATION_PARALLEL)
animate(time=50, dir=WEST)

animate(src, time=50, loop = -1, pixel_x=6, flags=ANIMATION_PARALLEL)
animate(time=50, pixel_x=-6)

obj/arrow/d
maptext = "D"
New()
animate(src, time=50, loop = -1, dir=EAST, pixel_x=6, flags=ANIMATION_PARALLEL)
animate(time=50, pixel_x=-6, dir=WEST)

obj/arrow/e
maptext = "E"
New()
animate(src, time=50, loop = -1, dir=EAST, pixel_x=6)
animate(time=50, pixel_x=-6, dir=WEST)


Expected Results:
'A', 'B', 'C', 'D', 'E' all change dir as animation loops.

Actual Results:
'A' changes dir as animation loops.

Does the problem occur:
Every time? Or how often?
In other games?
In other user accounts?
On other computers?

When does the problem NOT occur?
When only DIR is animated.
A, D, E correctly animated when paired with maptext, maptext width, alpha and possibly other variables.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)

Workarounds:
Invert X scale for icon states that are mirrored.
Thanks for that test case. I'll take a look and get to the bottom of it.
Lummox JR resolved issue with message:
Parallel animations didn't handle dir changes properly in many cases. This also would have applied to other copy-only changes like icon_state.