Blaster AUTOFIRE no DoEndLockup?

So I can’t figure out why it seems blaster AUTOFIRE is not respecting a EFFECT_LOCKUP_END animation when used as the Trigger Event.

The case in the prop is for Fire button released to DoEndLockup()
All looks like it should be fine here.
Serial Monitor calls the Fire button “Up” and I get this on release:

14:28:05.460 -> EVENT: Up-HeldLong#1 ON millis=582749
14:28:05.460 -> EVENT: Up-HeldLong ON millis=582749
14:28:05.809 -> EVENT: Up-Released#1 ON millis=583075
14:28:05.809 -> EVENT: Up-Released ON millis=583076
14:28:05.809 -> unit = 4 vol = 0.50, Playing testfont2a/endauto1.wav

Audio is fine, just no blade animation from this layer:

LockupTrL<Layers<
    TransitionLoopL<TrConcat<TrWipe<50>,Red,TrWipe<150>>>,
    TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<200>>>>,TrConcat<TrInstant,Rgb<255,100,100>,TrFade<200>>,TrConcat<TrFade<200>,AlphaL<Red,SmoothStep<Scale<Trigger<EFFECT_LOCKUP_END,Int<1>,Int<1>,Int<1500>>,Int<60000>,Int<0>>,Int<30000>>>,TrDelay<2000>>,SaberBase::LOCKUP_AUTOFIRE>>>(),

It works fine in Style Editor when converted to SaberBase:LOCKUP_NORMAL.

StylePtr<LockupTrL<Layers<
TransitionLoopL<TrConcat<TrWipe<50>,Red,TrWipe<150>>>,
TransitionLoopL<TrConcat<TrInstant,AlphaL<White,Bump<Int<0>,Int<25000>>>,TrFade<200>>>>,TrConcat<TrInstant,Rgb<255,100,100>,TrFade<200>>,TrConcat<TrFade<200>,AlphaL<Red,SmoothStep<Scale<Trigger<EFFECT_LOCKUP_END,Int<1>,Int<1>,Int<1500>>,Int<60000>,Int<0>>,Int<30000>>>,TrDelay<2000>>,SaberBase::LOCKUP_NORMAL>>()

Not sure why that’s not linking to the editor…

I also thought that maybe checking if we’re in Lockup state is redundant in auto mode, since that’s the only possibility, no?
But even without that clause, same non-animation:

      case EVENTID(BUTTON_FIRE, EVENT_RELEASED, MODE_ON):
        if (blaster_mode == MODE_AUTO) {
          //if (SaberBase::Lockup()) {
            SaberBase::DoEndLockup();
            SaberBase::SetLockup(SaberBase::LOCKUP_NONE);
            auto_firing_ = false;
          //}
        }
        return true;

EFFECT_LOCKUP_END is only for regular lockup.
There is no EFFECT_* _{BEGIN,END} for newer lockup modes.
Ideally LockupTrL should be all we need.

I was looking to make the barrel cooling down from one end to the other, and a wide edge SmoothStep was what I wanted, just needed it to move via Trigger on LOCKUP_END.
I worked around using Trigger with a TrJoined fat wave and a wipe of a fading tip bump to simulate the SmoothStep .
Just didn’t want a hard edge wipe.

1 Like