Sparking things with INWR+CRAY(SPRK) will erase color information from sparked particles.
Yes but I think we can keep the bug, it will be useful, a third way to erase colour without SOAP (second way is CONV)
It's probably not intentional (and is unlikely to be kept as an intentional thing in this form, since clearing decorations when using something that's just meant to create sparks is rather unintuitive), but I'm intrigued as to how it could break things, as opposed to just making things look ugly. Setting the temperature of conductors (which is the other effect of INWR+CRAY), yes, I can see how that might break things, but not clearing decoration colour.
I made a hybrid read\write display, it is using CRAY(COAL)\CRAY(INST) to create black\white "pixels". INST is pretty dark, you can barely distinguish it from COAL, but there is no way I can use something different because INST is the only conductor which does not conduct to itself. So I paint the INST with green FILT to make it more visible, but when I spark it with INWR+CRAY(SPRK) to read the state... yeah, color is erased and pixel becomes almost black. Besides, I painted some flashy electronics black to avoid distraction but this bug just keeps erasing everything.
Fortunately, I fixed it. And I'm about to publish my creation ^__^
> INWR+CRAY(most things) will now just create spark
What?! You just broke half of my saves, some china-richway2 saves, one CRAY printer save using CRAY(SOAP), can't remember ID... and god knows how many other saves!
Undo that, keep everything as it is, just stop INWR+CRAY(SPRK) from erasing color.
Perhaps I've been misled by the variable name "createSpark = (parts[r>>8].ctype==PT_INWR)" that was in there before my change, but I'm not sure in what way. Can you provide some example saves?
According to my understanding:
INWR+CRAY = create spark
INST+CRAY = create ctype, and don't stop at obstacles
PSCN+CRAY = destroy particles
other conductors+CRAY = create ctype, and stop at the first obstacle.