Turn()ing a matrix (at least in animate()) is Scaling the icon, not turning it.
Numbered Steps to Reproduce Problem:
turn a matrix by 180 in animate()
Code Snippet (if applicable) to Reproduce Problem:
obj
icon = 'circle.dmi'
filters = filter(type = "rays", size = 32)
test1 // works as expected
color = "red"
Click()
animate(src, loop = -1, transform = matrix().Turn(90), time = 10)
animate(loop = -1, transform = matrix().Turn(180), time = 10)
animate(loop = -1, transform = matrix().Turn(270), time = 10)
animate(loop = -1, transform = matrix().Turn(0), time = 10)
test2 // scales the icon
color = "blue"
Click()
animate(src, loop = -1, transform = matrix().Turn(180), time = 10)
animate(loop = -1, transform = matrix().Turn(0), time = 10)
Expected Results:
Turn() by 180 to turn the sprite by 180 degrees
Actual Results:
The sprite is scaled to 0, then back to 1
Does the problem occur:
Every time? Or how often? YES
In other games? YES
In other user accounts? YES
On other computers? YES
When does the problem NOT occur? YES
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: YES
(see code block)
Test Case:
https://cdn.discordapp.com/attachments/725458744711839873/ 815358282658480128/turn_bug.zip