ID:2299200
 
Resolved
Animating a stack of filters sometimes caused a crash.
BYOND Version:512.1388
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 61.0.3163.100
Applies to:Dream Seeker
Status: Resolved (512.1389)

This issue has been resolved.
Descriptive Problem Summary:
put outline and drop shadow filter in a obj with maptext; animating it results in crash (just creating it is fine);
Numbered Steps to Reproduce Problem:
create an object put two filters on it, maptext it and see the magic happening (btw, didnt check if this still crashes on normal objs without maptext)
Code Snippet (if applicable) to Reproduce Problem:
obj
Text
name="Text"
density = 0
layer = MOB_LAYER+31
maptext_width = 128
maptext = "test"
//maptext_x = -64
filters=filter(type="outline", size = 1,color = rgb(0,0,0))
New()
..()
filters+=filter(type="drop_shadow", x=0, y=0, size=5, offset=2, color=rgb(255,255,170))
animate(src, transform = matrix()*2, pixel_y = rand(-64,64), pixel_x = rand(-64,64), alpha = 0, time = rand(20,40))





Expected Results:
the text to have an outline and a dropshadow, and to be animated;
Actual Results:
crashes
Does the problem occur:
everytime I try to animate that

When does the problem NOT occur?
When I dont try to animate that
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:

dont animate, or use only one filter;
I made a change and the crash disappeared, but although it hasn't come back in my tests yet I can't yet be confident in saying it's a fix. I think it has been fixed, but I'll keep testing.

Incidentally, whatever effect you're going for will look better if you fold those pixel offsets into the transform instead, since pixel offsets are always integers. At slow speeds there's jerkiness.

Any of these formats will work (they're all the same)

matrix(2,0,rand(-64,64),0,2,rand(-64,64))
matrix() * 2 * matrix(rand(-64,64), rand(-64,64), MATRIX_TRANSLATE)
matrix(2, MATRIX_SCALE) * matrix(rand(-64,64), rand(-64,64), MATRIX_TRANSLATE)
Lummox JR resolved issue with message:
Animating a stack of filters sometimes caused a crash.