ID:2409761
 
BYOND Version:512.1454
Operating System:Windows 10 Home 64-bit
Web Browser:Chrome 70.0.3538.77
Applies to:Dream Seeker
Status: Open

Issue hasn't been assigned a status value.
Descriptive Problem Summary:
If a filter is animated, it seems to stick around even if removed from the filters list.

Numbered Steps to Reproduce Problem:
1) Add a filter to an atom.
2) Animate said filter.
3) Set the atoms filters list to list()

If the filter is not animated, it goes away fine. If it is animated, it sticks around. Even trying to grab the filter from the filters list and manually deleting it doesn't work.

Code Snippet (if applicable) to Reproduce Problem:
mob
verb
AFilter()
filters += filter(type="outline", size=2, color="#ac323299")
animate(filters[1], size=1, time=5, loop=-1)
animate(size=2, time=5)

SFilter()
filters += filter(type="outline", size=2, color="#ac323299")

ClearFilters()
world << filters.len // 1
filters = list()
world << filters.len // 0

Obviously this is just a test case and can be all kinds of broken, but it serves it's purpose.

Expected Results:
Filter goes away

Actual Results:
Filter doesn't go away



Workarounds:
Dont animate filters that you might want to get rid of later.



EDIT: It does go away if you change the loop count to a positive value, once it has looped that many times.
Yeah, this has been an annoying one. I'll try out your test to see if that helps me get to the bottom of it. Filter animations have been fairly rough to figure out as you can imagine.
Was given a workaround for now at least. Saving a ref to the filter and 'animate(ref)' in the Clearfilters() proc gets rid of it.

Login to reply.