they can both have parameters stashed in a table, and they both play
stuff out of the actor command list. Merge them; now the only
difference between playing and broadcasting a command is that playing
plays recursively on a tree and broadcasting sends to all subscribers.
The distinction between "messages" and "commands" is cosmetic now;
everything is a message. The only thing special about commands intended
to be received as a broadcast is the "Message" suffix, which subscribes it.
When this happens, fYHead (the end of the topcap) will be greater
than fYTail (the start of the bottomcap). We want to clip rendering
of one of them, so we don't draw them both in the same spot. However,
we're clipping both of them: the topcap to the bottomcap's actual start
and the bottomcap to the topcap's actual end. This leaves a gap between
them. Only clip the bottomcap.
Other things are happening here: anchoring the hold note to the
top or bottom, and flipping the wavy texture upside down. These
have separate purposes:
Normal hold rendering anchored to the bottom, so the hold scrolls
up as it's held; if it was anchored at the top, then it would
stay in place and the bottom would disappear as it was held.
In reverse, we can optionally reverse this, so the hold scrolls
down as it's held, or not reverse it, causing the hold to be
eaten by the head as the head comes down.
Normal hold rendering displays the hold body right-side-up.
In reverse, we can optionally render the hold body upside-down.
If we're flipping the head and tail (usually, putting the
overlaid arrow on the bottom instead of the top), mirroring
the body may or may not be wanted.
Additionally, we can optionally reverse the head and tail
(not to be confused with the top and bottom caps) in reverse.
These have been done together, but that's confusing; it's a
single setting with several obscure effects. Split it up.
win with the note skins ~4 years ago, where the hold
note parts were all in one texture. Now, they're split
into several parts, and we're changing the texture for
each part, which is a bigger state change than changing
the glow mode. Simplify this a bit and push DrawHoldHeadTail
and DrawActor together..