INWR+CRAY(SPRK) Color bug

  • arK
    5th Sep 2013 Member 0 Permalink

    Sparking things with INWR+CRAY(SPRK) will erase color information from sparked particles.

     

  • boxmein
    5th Sep 2013 Former Staff 0 Permalink
    This is awesome.
    First off CRAY(SPRK) is a neat ray, second that it erases deco elements.
    We do have soap tho so it's redundant and might as well be fixed.
  • doyfo
    5th Sep 2013 Banned 0 Permalink
    This post is hidden because the user is banned
  • china-richway2
    8th Sep 2013 Member 0 Permalink

    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)

  • arK
    8th Sep 2013 Member 0 Permalink

    I don't think so. This bug is absolutely pointless, I can't imagine a situation where it could be useful. In contrast, I'm already in situation when it breaks things in multiple places >_>

  • jacksonmj
    8th Sep 2013 Developer 0 Permalink

    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.

  • arK
    8th Sep 2013 Member 0 Permalink

    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 ^__^

  • jacksonmj
    8th Sep 2013 Developer 0 Permalink

    INWR+CRAY(most things) will now just create spark. INWR+CRAY(SOAP) will clear decorations.

     

    Though it may be a while before Simon turns up again and releases the next version.

  • arK
    8th Sep 2013 Member 1 Permalink

    > 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.

  • jacksonmj
    8th Sep 2013 Developer 0 Permalink

    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.