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.
For each actor, create a context table, with an __index link to the
parent's. This can be used to propagate information down complex
actor trees.
Code needs to be changed to do AddChild() calls before loading,
rather than after, so context links are available during loads.
This will be done as necessary.
bezier curves.
The "bouncebegin" and "bounceend" tweens are now implemented in Lua,
using 2D beziers which approximate the old behavior very closely.
Added "ease" tween, which works like Flash's.
Custom tweens can be used, passing in a table of 4 values for a
1D bezier, or 8 values for 2D.
tween,.5,TweenBezier,{ 0, p1, p2, 1 }
tween,.5,TweenBezier,{ 0, 0, x1, y1, x2, y2, 1, 1 }
As with all tweens, the first parameter is the duration.
The 1D bezier { a, b, c, d } is equivalent to the 2D bezier
{ 0, a, 1/3, b, 2/3, c, 1, d }, but a 1D bezier is more efficient.
it was (BitmapText::LoadFromNode, etc. called it). This worked because
REGISTER_ACTOR_CLASS called it before the object was downcasted to an Actor.
We then re-called Actor::LoadFromNode from ActorUtil::LoadFromActorFile;
this worked because all it did was re-run Actor init (causing double
calls to Init) and not the whole actor.
(first half fix: make Actor::LoadFromNode virtual and add comment)
XML features, where there's not necessarily any corrolation between elements
of different graphics. This didn't work well, anyway: it'd apply the old tweening
queue to the new graphics, but they might have completely different animations.
This will cause transitions between NoteSkins to be more abrupt, but we don't
use that feature anyway.