ID:2659032
 
Not a bug
BYOND Version:514.1548
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 88.0.4324.182
Applies to:Dream Seeker
Status: Not a bug

This is not a bug. It may be an incorrect use of syntax or a limitation in the software. For further discussion on the matter, please consult the BYOND forums.
Descriptive Problem Summary:
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
Lummox JR resolved issue (Not a bug)
Turning by 180° is the same as scaling by -1,-1. It's not obvious in the demo because the rays at the top and bottom look so similar, but it is actually inverting the object and then restoring it.