Saving some of the newer types of filters causes a hard crash.
Numbered Steps to Reproduce Problem:
1. Attach a filter of a specific type (bloom, color, rays, ripple) to an atom
2. Save that atom
3. Crash
Code Snippet (if applicable) to Reproduce Problem:
atom
proc
SaveFilter(savefile/F, type)
world.log << "Saving [type] filter"
filters = filter(type=type)
F << src
sleep(world.tick_lag)
mob
verb
TestSaveFilters()
var/obj/O = new()
var/savefile/F = new("test.sav")
SaveFilter(F, "alpha")
SaveFilter(F, "angular_blur")
// SaveFilter(F, "bloom") // crash
// SaveFilter(F, "color") // crash
SaveFilter(F, "displace")
SaveFilter(F, "drop_shadow")
SaveFilter(F, "blur")
SaveFilter(F, "layer")
SaveFilter(F, "motion_blur")
SaveFilter(F, "outline")
SaveFilter(F, "radial_blur")
// SaveFilter(F, "rays") // crash
// SaveFilter(F, "ripple") // crash
SaveFilter(F, "wave")
Expected Results:
Not to crash.
Actual Results:
It crash.
Does the problem occur:
Every time? Or how often? Every time.
In other games? Yes.
In other user accounts? Yes.
On other computers? Yes.
When does the problem NOT occur?
When you don't save those types of filters.
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.)
Tested on 514.1585, likely was present since the first version those filter types were introduced.
Workarounds:
Don't save filters.