Section 1
//AdjustColor (fl.motion.AdjustColor)
package fl.motion {
public class AdjustColor {
private var m_brightnessMatrix:ColorMatrix;
private var m_saturationMatrix:ColorMatrix;
private var m_hueMatrix:ColorMatrix;
private var m_finalMatrix:ColorMatrix;
private var m_contrastMatrix:ColorMatrix;
private static var s_arrayOfDeltaIndex:Array = [0, 0.01, 0.02, 0.04, 0.05, 0.06, 0.07, 0.08, 0.1, 0.11, 0.12, 0.14, 0.15, 0.16, 0.17, 0.18, 0.2, 0.21, 0.22, 0.24, 0.25, 0.27, 0.28, 0.3, 0.32, 0.34, 0.36, 0.38, 0.4, 0.42, 0.44, 0.46, 0.48, 0.5, 0.53, 0.56, 0.59, 0.62, 0.65, 0.68, 0.71, 0.74, 0.77, 0.8, 0.83, 0.86, 0.89, 0.92, 0.95, 0.98, 1, 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78, 1.84, 1.9, 1.96, 2, 2.12, 2.25, 2.37, 2.5, 2.62, 2.75, 2.87, 3, 3.2, 3.4, 3.6, 3.8, 4, 4.3, 4.7, 4.9, 5, 5.5, 6, 6.5, 6.8, 7, 7.3, 7.5, 7.8, 8, 8.4, 8.7, 9, 9.4, 9.6, 9.8, 10];
private function CalculateFinalMatrix():Boolean{
if (!this.AllValuesAreSet()){
return (false);
};
this.m_finalMatrix = new ColorMatrix();
this.m_finalMatrix.Multiply(this.m_brightnessMatrix);
this.m_finalMatrix.Multiply(this.m_contrastMatrix);
this.m_finalMatrix.Multiply(this.m_saturationMatrix);
this.m_finalMatrix.Multiply(this.m_hueMatrix);
return (true);
}
public function set brightness(_arg1:Number):void{
if (this.m_brightnessMatrix == null){
this.m_brightnessMatrix = new ColorMatrix();
};
if (_arg1 != 0){
this.m_brightnessMatrix.SetBrightnessMatrix(_arg1);
};
}
public function set contrast(_arg1:Number):void{
var _local2:Number = _arg1;
if (_arg1 == 0){
_local2 = 127;
} else {
if (_arg1 > 0){
_local2 = ((s_arrayOfDeltaIndex[int(_arg1)] * 127) + 127);
} else {
_local2 = (((_arg1 / 100) * 127) + 127);
};
};
if (this.m_contrastMatrix == null){
this.m_contrastMatrix = new ColorMatrix();
};
this.m_contrastMatrix.SetContrastMatrix(_local2);
}
public function set hue(_arg1:Number):void{
if (this.m_hueMatrix == null){
this.m_hueMatrix = new ColorMatrix();
};
if (_arg1 != 0){
this.m_hueMatrix.SetHueMatrix(((_arg1 * Math.PI) / 180));
};
}
public function CalculateFinalFlatArray():Array{
if (this.CalculateFinalMatrix()){
return (this.m_finalMatrix.GetFlatArray());
};
return (null);
}
public function AllValuesAreSet():Boolean{
return (((((((this.m_brightnessMatrix) && (this.m_contrastMatrix))) && (this.m_saturationMatrix))) && (this.m_hueMatrix)));
}
public function set saturation(_arg1:Number):void{
var _local2:Number = _arg1;
if (_arg1 == 0){
_local2 = 1;
} else {
if (_arg1 > 0){
_local2 = (1 + ((3 * _arg1) / 100));
} else {
_local2 = ((_arg1 / 100) + 1);
};
};
if (this.m_saturationMatrix == null){
this.m_saturationMatrix = new ColorMatrix();
};
this.m_saturationMatrix.SetSaturationMatrix(_local2);
}
}
}//package fl.motion
Section 2
//Animator (fl.motion.Animator)
package fl.motion {
import flash.geom.*;
import flash.display.*;
public class Animator extends AnimatorBase {
public function Animator(_arg1:XML=null, _arg2:DisplayObject=null){
this.motion = new Motion(_arg1);
super(_arg1, _arg2);
}
override protected function setTimeClassic(_arg1:int, _arg2:MotionBase, _arg3:KeyframeBase):Boolean{
var _local17:Number;
var _local18:Number;
var _local19:Number;
var _local20:Matrix;
var _local21:Number;
var _local4:Motion = (_arg2 as Motion);
if (!_local4){
return (false);
};
var _local5:Number = _local4.getValue(_arg1, Tweenables.X);
var _local6:Number = _local4.getValue(_arg1, Tweenables.Y);
var _local7:Point = new Point(_local5, _local6);
if (this.positionMatrix){
_local7 = this.positionMatrix.transformPoint(_local7);
};
_local7.x = (_local7.x + this.targetState.x);
_local7.y = (_local7.y + this.targetState.y);
var _local8:Number = (_local4.getValue(_arg1, Tweenables.SCALE_X) * this.targetState.scaleX);
var _local9:Number = (_local4.getValue(_arg1, Tweenables.SCALE_Y) * this.targetState.scaleY);
var _local10:Number = 0;
var _local11:Number = 0;
if (this.orientToPath){
_local17 = _local4.getValue((_arg1 + 1), Tweenables.X);
_local18 = _local4.getValue((_arg1 + 1), Tweenables.Y);
_local19 = (Math.atan2((_local18 - _local6), (_local17 - _local5)) * (180 / Math.PI));
if (!isNaN(_local19)){
_local10 = (_local19 + this.targetState.skewX);
_local11 = (_local19 + this.targetState.skewY);
};
} else {
_local10 = (_local4.getValue(_arg1, Tweenables.SKEW_X) + this.targetState.skewX);
_local11 = (_local4.getValue(_arg1, Tweenables.SKEW_Y) + this.targetState.skewY);
};
var _local12:Matrix = new Matrix((_local8 * Math.cos((_local11 * (Math.PI / 180)))), (_local8 * Math.sin((_local11 * (Math.PI / 180)))), (-(_local9) * Math.sin((_local10 * (Math.PI / 180)))), (_local9 * Math.cos((_local10 * (Math.PI / 180)))), 0, 0);
var _local13:Boolean;
if (_local4.useRotationConcat(_arg1)){
_local20 = new Matrix();
_local21 = _local4.getValue(_arg1, Tweenables.ROTATION_CONCAT);
_local20.rotate(_local21);
_local12.concat(_local20);
_local13 = true;
};
_local12.tx = _local7.x;
_local12.ty = _local7.y;
var _local14:Point = _local12.transformPoint(this.targetState.transformPointInternal);
var _local15:Number = (_local12.tx - _local14.x);
var _local16:Number = (_local12.ty - _local14.y);
_local12.tx = (_local12.tx + _local15);
_local12.ty = (_local12.ty + _local16);
if (!_local13){
this._target.rotation = _local11;
};
this._target.transform.matrix = _local12;
if (((((_local13) && ((this._target.scaleX == 0)))) && ((this._target.scaleY == 0)))){
this._target.scaleX = _local8;
this._target.scaleY = _local9;
};
this._target.cacheAsBitmap = _arg3.cacheAsBitmap;
return (true);
}
override public function set motion(_arg1:MotionBase):void{
super.motion = _arg1;
var _local2:Motion = (_arg1 as Motion);
if (((((_local2) && (_local2.source))) && (_local2.source.transformationPoint))){
this.transformationPoint = _local2.source.transformationPoint.clone();
};
}
override protected function setTargetState():void{
var _local2:Number;
var _local3:Number;
var _local4:Point;
this.targetState.scaleX = this._target.scaleX;
this.targetState.scaleY = this._target.scaleY;
this.targetState.skewX = MatrixTransformer.getSkewX(this._target.transform.matrix);
this.targetState.skewY = MatrixTransformer.getSkewY(this._target.transform.matrix);
var _local1:Object = (this.targetState.bounds = this._target.getBounds(this._target));
if (this.transformationPoint){
_local2 = ((this.transformationPoint.x * _local1.width) + _local1.left);
_local3 = ((this.transformationPoint.y * _local1.height) + _local1.top);
this.targetState.transformPointInternal = new Point(_local2, _local3);
_local4 = this._target.transform.matrix.transformPoint(this.targetState.transformPointInternal);
this.targetState.x = _local4.x;
this.targetState.y = _local4.y;
} else {
this.targetState.transformPointInternal = new Point(0, 0);
this.targetState.x = this._target.x;
this.targetState.y = this._target.y;
};
this.targetState.z = 0;
this.targetState.rotationX = (this.targetState.rotationY = 0);
}
public static function fromXMLString(_arg1:String, _arg2:DisplayObject=null):Animator{
return (new Animator(new XML(_arg1), _arg2));
}
}
}//package fl.motion
Section 3
//AnimatorBase (fl.motion.AnimatorBase)
package fl.motion {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class AnimatorBase extends EventDispatcher {
public var transformationPoint:Point;
protected var targetState:Object;
private var _isPlaying:Boolean;// = false
private var _time:int;// = -1
protected var _target:DisplayObject;
public var repeatCount:int;// = 1
private var _lastRenderedTime:int;// = -1
private var _spanStart:int;// = -1
public var transformationPointZ:int;
protected var _isAnimator3D:Boolean;
private var _sceneName:String;// = ""
public var positionMatrix:Matrix;
private var _frameEvent:String;// = "enterFrame"
public var autoRewind:Boolean;// = false
private var _motion:MotionBase;
private var _targetName:String;// = ""
private var _useCurrentFrame:Boolean;// = false
private var playCount:int;// = 0
public var orientToPath:Boolean;// = false
private var targetStateOriginal:Object;// = null
private var _targetState3D:Array;// = null
private var _targetParent:DisplayObjectContainer;// = null
private static var _registeredParents:Dictionary = new Dictionary(true);
private static var enterFrameBeacon:MovieClip = new MovieClip();
public function AnimatorBase(_arg1:XML=null, _arg2:DisplayObject=null){
this.target = _arg2;
this._isAnimator3D = false;
this.transformationPoint = new Point(0.5, 0.5);
this.transformationPointZ = 0;
this._sceneName = "";
}
protected function setTime3D(_arg1:int, _arg2:MotionBase):Boolean{
return (false);
}
private function handleLastFrame(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.playCount++;
if ((((this.repeatCount == 0)) || ((this.playCount < this.repeatCount)))){
this.rewind();
} else {
this.end(_arg1, _arg2);
};
}
public function get targetState3D():Array{
return (this._targetState3D);
}
public function get target():DisplayObject{
return (this._target);
}
private function get enterFrameHandler():Function{
if (AnimatorBase.hasRegisteredParents){
return (AnimatorBase.parentEnterFrameHandler);
};
return (this.handleEnterFrame);
}
public function get usingCurrentFrame():Boolean{
return (this._useCurrentFrame);
}
public function set initialPosition(_arg1:Array):void{
}
public function useCurrentFrame(_arg1:Boolean, _arg2:int):void{
this._useCurrentFrame = _arg1;
this._spanStart = _arg2;
}
public function set time(_arg1:int):void{
var _local5:ColorTransform;
var _local6:Array;
if (_arg1 == this._time){
return;
};
var _local2:MotionBase = this.motion;
if (_arg1 > (_local2.duration - 1)){
_arg1 = (_local2.duration - 1);
} else {
if (_arg1 < 0){
_arg1 = 0;
};
};
this._time = _arg1;
this.dispatchEvent(new MotionEvent(MotionEvent.TIME_CHANGE));
var _local3:KeyframeBase = _local2.getCurrentKeyframe(_arg1);
var _local4:Boolean = (((_local3.index == this._lastRenderedTime)) && (!(_local3.tweensLength)));
if (_local4){
return;
};
this._target.visible = false;
if (!_local3.blank){
if (this._isAnimator3D){
this.setTime3D(_arg1, _local2);
} else {
this.setTimeClassic(_arg1, _local2, _local3);
};
_local5 = _local2.getColorTransform(_arg1);
if (_local5){
this._target.transform.colorTransform = _local5;
};
_local6 = _local2.getFilters(_arg1);
if (_local6){
this._target.filters = _local6;
};
this._target.blendMode = _local3.blendMode;
this._target.visible = true;
};
this._lastRenderedTime = this._time;
this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_UPDATE));
}
public function set target(_arg1:DisplayObject):void{
if (!_arg1){
return;
};
this._target = _arg1;
var _local2:Boolean;
if (((this.targetParent) && (!((this.targetName == ""))))){
if (this.targetStateOriginal){
this.targetState = this.targetStateOriginal;
return;
};
_local2 = true;
};
this.targetState = {};
this.setTargetState();
if (_local2){
this.targetStateOriginal = this.targetState;
};
}
public function get isPlaying():Boolean{
return (this._isPlaying);
}
public function startFrameEvents():void{
enterFrameBeacon.addEventListener(this.frameEvent, this.enterFrameHandler, false, 0, true);
}
public function get frameEvent():String{
return (this._frameEvent);
}
public function stop():void{
enterFrameBeacon.removeEventListener(this.frameEvent, this.enterFrameHandler);
this._isPlaying = false;
this.playCount = 0;
this.rewind();
this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_END));
}
public function get spanEnd():int{
if (((this._motion) && ((this._motion.duration > 0)))){
return (((this._spanStart + this._motion.duration) - 1));
};
return (this._spanStart);
}
public function get targetParent():DisplayObjectContainer{
return (this._targetParent);
}
public function get spanStart():int{
return (this._spanStart);
}
public function play(_arg1:int=-1, _arg2:Boolean=true):void{
if (!this._isPlaying){
if ((((((this._target == null)) && (this._targetParent))) && (!((this._targetName == ""))))){
this.target = this._targetParent[this._targetName];
if (!this.target){
this.target = this._targetParent.getChildByName(this._targetName);
};
};
if (_arg2){
enterFrameBeacon.addEventListener(this.frameEvent, this.enterFrameHandler, false, 0, true);
};
if (!this.target){
return;
};
this._isPlaying = true;
};
this.playCount = 0;
if (_arg1 > -1){
this.time = _arg1;
} else {
this.rewind();
};
this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_START));
}
public function get targetName():String{
return (this._targetName);
}
public function set targetParent(_arg1:DisplayObjectContainer):void{
this._targetParent = _arg1;
}
protected function setTargetState():void{
}
protected function setTimeClassic(_arg1:int, _arg2:MotionBase, _arg3:KeyframeBase):Boolean{
return (false);
}
private function handleEnterFrame(_arg1:Event):void{
this.nextFrame();
}
public function get motion():MotionBase{
return (this._motion);
}
public function get sceneName():String{
return (this._sceneName);
}
public function nextFrame():void{
if (this.time >= (this.motion.duration - 1)){
this.handleLastFrame();
} else {
this.time++;
};
}
public function get time():int{
return (this._time);
}
public function resume():void{
enterFrameBeacon.addEventListener(this.frameEvent, this.enterFrameHandler, false, 0, true);
this._isPlaying = true;
}
public function rewind():void{
this.time = 0;
}
public function set frameEvent(_arg1:String):void{
this._frameEvent = _arg1;
}
public function set targetState3D(_arg1:Array):void{
this._targetState3D = _arg1;
}
public function end(_arg1:Boolean=false, _arg2:Boolean=true):void{
if (_arg2){
enterFrameBeacon.removeEventListener(this.frameEvent, this.enterFrameHandler);
};
this._isPlaying = false;
this.playCount = 0;
if (this.autoRewind){
this.rewind();
} else {
if (this.time != (this.motion.duration - 1)){
this.time = (this.motion.duration - 1);
};
};
if (_arg1){
if (((this._targetParent) && (!((this._targetName == ""))))){
this._target = null;
};
this._lastRenderedTime = -1;
this._time = -1;
};
this.dispatchEvent(new MotionEvent(MotionEvent.MOTION_END));
}
public function set motion(_arg1:MotionBase):void{
this._motion = _arg1;
}
public function set sceneName(_arg1:String):void{
this._sceneName = _arg1;
}
public function pause():void{
enterFrameBeacon.removeEventListener(this.frameEvent, this.enterFrameHandler);
this._isPlaying = false;
}
public function set targetName(_arg1:String):void{
this._targetName = _arg1;
}
public static function processCurrentFrame(_arg1:MovieClip, _arg2:AnimatorBase, _arg3:Boolean, _arg4:Boolean=false):void{
var _local5:int;
var _local6:int;
if (((_arg2) && (_arg1))){
if (!_arg1.root){
if (((((_arg2.usingCurrentFrame) && (!(_arg2.isPlaying)))) && (_arg4))){
_arg2.startFrameEvents();
};
return;
};
if (_arg2.usingCurrentFrame){
_local5 = (_arg1.currentFrame - 1);
if (_arg1.scenes.length > 1){
if (_arg1.currentScene.name != _arg2.sceneName){
_local5 = -1;
};
};
if ((((_local5 >= _arg2.spanStart)) && ((_local5 <= _arg2.spanEnd)))){
_local6 = (_local5 - _arg2.spanStart);
if (!_arg2.isPlaying){
_arg2.play(_local6, _arg3);
} else {
if (!_arg4){
if (_local5 == _arg2.spanEnd){
_arg2.handleLastFrame(true, false);
} else {
_arg2.time = _local6;
};
};
};
} else {
if (((_arg2.isPlaying) && (!(_arg4)))){
_arg2.end(true, false);
} else {
if (((!(_arg2.isPlaying)) && (_arg4))){
_arg2.startFrameEvents();
};
};
};
} else {
if (((((_arg2.targetParent) && ((_arg2.targetParent[_arg2.targetName] == null)))) && ((_arg2.targetParent.getChildByName(_arg2.targetName) == null)))){
if (_arg2.isPlaying){
_arg2.end(true, false);
} else {
if (_arg4){
_arg2.startFrameEvents();
};
};
} else {
if (!_arg2.isPlaying){
_arg2.play(0, _arg3);
} else {
if (!_arg4){
_arg2.nextFrame();
};
};
};
};
};
}
public static function registerParentFrameHandler(_arg1:MovieClip, _arg2:AnimatorBase, _arg3:int, _arg4:int=0, _arg5:Boolean=false):void{
var _local6:AnimatorParent = (_registeredParents[_arg1] as AnimatorParent);
if (_local6 == null){
_local6 = new AnimatorParent();
_local6.parent = _arg1;
_registeredParents[_arg1] = _local6;
};
if (_arg3 == -1){
_arg3 = (_arg1.currentFrame - 1);
};
if (_arg5){
_arg2.useCurrentFrame(true, _arg3);
} else {
_arg2.repeatCount = _arg4;
};
_local6.animators.push(_arg2);
}
private static function parentEnterFrameHandler(_arg1:Event):void{
var _local2:*;
var _local3:AnimatorParent;
var _local4:MovieClip;
var _local5:Array;
var _local6:int;
var _local7:AnimatorBase;
for (_local2 in _registeredParents) {
_local3 = (_registeredParents[_local2] as AnimatorParent);
if (!_local3){
} else {
_local4 = _local3.parent;
_local5 = _local3.animators;
if (((!(_local4)) || (!(_local5)))){
} else {
_local6 = 0;
while (_local6 < _local5.length) {
_local7 = (_local5[_local6] as AnimatorBase);
if (((!(_local7.usingCurrentFrame)) || (!((_local4.currentFrame == _local3.lastFrameHandled))))){
processCurrentFrame(_local4, _local7, false);
};
_local6++;
};
_local3.lastFrameHandled = _local4.currentFrame;
};
};
};
}
public static function registerButtonState(_arg1:SimpleButton, _arg2:AnimatorBase, _arg3:int):void{
var _local4:DisplayObject = _arg1.upState;
switch (_arg3){
case 1:
_local4 = _arg1.overState;
break;
case 2:
_local4 = _arg1.downState;
break;
case 3:
_local4 = _arg1.hitTestState;
break;
};
if (!_local4){
return;
};
_arg2.target = _local4;
_arg2.time = 0;
}
private static function get hasRegisteredParents():Boolean{
var _local1:*;
for (_local1 in _registeredParents) {
return (true);
};
return (false);
}
}
}//package fl.motion
import flash.display.*;
class AnimatorParent {
public var parent:MovieClip;// = null
public var lastFrameHandled:int;// = -1
public var animators:Array;
private function AnimatorParent(){
this.animators = new Array();
super();
}
}
Section 4
//AnimatorFactory (fl.motion.AnimatorFactory)
package fl.motion {
public class AnimatorFactory extends AnimatorFactoryBase {
public function AnimatorFactory(_arg1:MotionBase){
super(_arg1);
}
override protected function getNewAnimator():AnimatorBase{
return (new Animator(null, null));
}
}
}//package fl.motion
Section 5
//AnimatorFactoryBase (fl.motion.AnimatorFactoryBase)
package fl.motion {
import flash.geom.*;
import flash.display.*;
import flash.utils.*;
public class AnimatorFactoryBase {
protected var _transformationPoint:Point;
private var _animators:Dictionary;
protected var _transformationPointZ:int;
private var _motion:MotionBase;
protected var _sceneName:String;
protected var _is3D:Boolean;
public function AnimatorFactoryBase(_arg1:MotionBase){
this._motion = _arg1;
this._animators = new Dictionary();
this._transformationPoint = new Point(0.5, 0.5);
this._transformationPointZ = 0;
this._is3D = false;
this._sceneName = "";
}
public function addTargetInfo(_arg1:DisplayObject, _arg2:String, _arg3:int=0, _arg4:Boolean=true, _arg5:int=-1, _arg6:Boolean=false, _arg7:Array=null):AnimatorBase{
var _local11:Class;
if (((!((_arg1 is DisplayObjectContainer))) && (!((_arg1 is SimpleButton))))){
return (null);
};
var _local8:Dictionary = this._animators[_arg1];
if (!_local8){
_local8 = new Dictionary();
this._animators[_arg1] = _local8;
};
var _local9:AnimatorBase = _local8[_arg2];
var _local10:Boolean;
if (!_local9){
_local9 = this.getNewAnimator();
_local11 = (getDefinitionByName("flash.events.Event") as Class);
if (_local11.hasOwnProperty("FRAME_CONSTRUCTED")){
_local9.frameEvent = "frameConstructed";
};
_local8[_arg2] = _local9;
_local10 = true;
};
_local9.motion = this._motion;
_local9.transformationPoint = this._transformationPoint;
_local9.transformationPointZ = this._transformationPointZ;
_local9.sceneName = this._sceneName;
if (_local10){
if ((_arg1 is MovieClip)){
AnimatorBase.registerParentFrameHandler((_arg1 as MovieClip), _local9, _arg5, _arg3, _arg6);
};
};
if ((_arg1 is MovieClip)){
_local9.targetParent = MovieClip(_arg1);
_local9.targetName = _arg2;
} else {
if ((_arg1 is SimpleButton)){
AnimatorBase.registerButtonState((_arg1 as SimpleButton), _local9, _arg5);
};
};
if (_arg7){
_local9.initialPosition = _arg7;
};
if (_arg4){
AnimatorBase.processCurrentFrame((_arg1 as MovieClip), _local9, true, true);
};
return (_local9);
}
public function set transformationPointZ(_arg1:int):void{
this._transformationPointZ = _arg1;
}
public function set transformationPoint(_arg1:Point):void{
this._transformationPoint = _arg1;
}
protected function getNewAnimator():AnimatorBase{
return (null);
}
public function get motion():MotionBase{
return (this._motion);
}
public function addTarget(_arg1:DisplayObject, _arg2:int=0, _arg3:Boolean=true, _arg4:int=-1, _arg5:Boolean=false):AnimatorBase{
if (_arg1){
return (this.addTargetInfo(_arg1.parent, _arg1.name, _arg2, _arg3, _arg4, _arg5));
};
return (null);
}
public function set sceneName(_arg1:String):void{
this._sceneName = _arg1;
}
}
}//package fl.motion
Section 6
//BezierEase (fl.motion.BezierEase)
package fl.motion {
import flash.geom.*;
public class BezierEase implements ITween {
public var points:Array;
private var firstNode:Point;
private var _target:String;// = ""
private var lastNode:Point;
public function BezierEase(_arg1:XML=null){
this.points = [];
this.parseXML(_arg1);
}
public function set target(_arg1:String):void{
this._target = _arg1;
}
private function parseXML(_arg1:XML=null):BezierEase{
var _local3:XML;
if (!_arg1){
return (this);
};
if (_arg1.@target.length()){
this.target = _arg1.@target;
};
var _local2:XMLList = _arg1.elements();
for each (_local3 in _local2) {
this.points.push(new Point(Number(_local3.@x), Number(_local3.@y)));
};
return (this);
}
public function get target():String{
return (this._target);
}
public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg4 <= 0){
return (NaN);
};
var _local5:Number = (_arg1 / _arg4);
if (_local5 <= 0){
return (_arg2);
};
if (_local5 >= 1){
return ((_arg2 + _arg3));
};
this.firstNode = new Point(0, _arg2);
this.lastNode = new Point(1, (_arg2 + _arg3));
var _local6:Array = [this.firstNode].concat(this.points);
_local6.push(this.lastNode);
var _local7:Number = CustomEase.getYForPercent(_local5, _local6);
return (_local7);
}
}
}//package fl.motion
Section 7
//BezierSegment (fl.motion.BezierSegment)
package fl.motion {
import flash.geom.*;
public class BezierSegment {
public var a:Point;
public var c:Point;
public var b:Point;
public var d:Point;
public function BezierSegment(_arg1:Point, _arg2:Point, _arg3:Point, _arg4:Point){
this.a = _arg1;
this.b = _arg2;
this.c = _arg3;
this.d = _arg4;
}
public function getValue(_arg1:Number):Point{
var _local2:Number = this.a.x;
var _local3:Number = (((((_arg1 * _arg1) * (this.d.x - _local2)) + ((3 * (1 - _arg1)) * ((_arg1 * (this.c.x - _local2)) + ((1 - _arg1) * (this.b.x - _local2))))) * _arg1) + _local2);
var _local4:Number = this.a.y;
var _local5:Number = (((((_arg1 * _arg1) * (this.d.y - _local4)) + ((3 * (1 - _arg1)) * ((_arg1 * (this.c.y - _local4)) + ((1 - _arg1) * (this.b.y - _local4))))) * _arg1) + _local4);
return (new Point(_local3, _local5));
}
public function getYForX(_arg1:Number, _arg2:Array=null):Number{
var _local6:Number;
if (this.a.x < this.d.x){
if (_arg1 <= (this.a.x + 1E-16)){
return (this.a.y);
};
if (_arg1 >= (this.d.x - 1E-16)){
return (this.d.y);
};
} else {
if (_arg1 >= (this.a.x + 1E-16)){
return (this.a.y);
};
if (_arg1 <= (this.d.x - 1E-16)){
return (this.d.y);
};
};
if (!_arg2){
_arg2 = getCubicCoefficients(this.a.x, this.b.x, this.c.x, this.d.x);
};
var _local3:Array = getCubicRoots(_arg2[0], _arg2[1], _arg2[2], (_arg2[3] - _arg1));
var _local4:Number = NaN;
if (_local3.length == 0){
_local4 = 0;
} else {
if (_local3.length == 1){
_local4 = _local3[0];
} else {
for each (_local6 in _local3) {
if ((((0 <= _local6)) && ((_local6 <= 1)))){
_local4 = _local6;
break;
};
};
};
};
if (isNaN(_local4)){
return (NaN);
};
var _local5:Number = getSingleValue(_local4, this.a.y, this.b.y, this.c.y, this.d.y);
return (_local5);
}
public static function getCubicCoefficients(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Array{
return ([(((-(_arg1) + (3 * _arg2)) - (3 * _arg3)) + _arg4), (((3 * _arg1) - (6 * _arg2)) + (3 * _arg3)), ((-3 * _arg1) + (3 * _arg2)), _arg1]);
}
public static function getSingleValue(_arg1:Number, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0, _arg5:Number=0):Number{
return ((((((_arg1 * _arg1) * (_arg5 - _arg2)) + ((3 * (1 - _arg1)) * ((_arg1 * (_arg4 - _arg2)) + ((1 - _arg1) * (_arg3 - _arg2))))) * _arg1) + _arg2));
}
public static function getCubicRoots(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0, _arg4:Number=0):Array{
var _local9:Number;
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local13:Number;
var _local14:Number;
var _local15:int;
var _local16:Number;
if (!_arg1){
return (BezierSegment.getQuadraticRoots(_arg2, _arg3, _arg4));
};
if (_arg1 != 1){
_arg2 = (_arg2 / _arg1);
_arg3 = (_arg3 / _arg1);
_arg4 = (_arg4 / _arg1);
};
var _local5:Number = (((_arg2 * _arg2) - (3 * _arg3)) / 9);
var _local6:Number = (((((_arg2 * _arg2) - (3 * _arg3)) / 9) * _local5) * _local5);
var _local7:Number = ((((((2 * _arg2) * _arg2) * _arg2) - ((9 * _arg2) * _arg3)) + (27 * _arg4)) / 54);
var _local8:Number = (_local6 - (_local7 * _local7));
if (_local8 >= 0){
if (!_local5){
return ([0]);
};
_local9 = Math.acos((_local7 / Math.sqrt(_local6)));
_local10 = Math.sqrt(_local5);
_local11 = (((-2 * _local10) * Math.cos((_local9 / 3))) - (_arg2 / 3));
_local12 = (((-2 * _local10) * Math.cos(((_local9 + (2 * Math.PI)) / 3))) - (_arg2 / 3));
_local13 = (((-2 * _local10) * Math.cos(((_local9 + (4 * Math.PI)) / 3))) - (_arg2 / 3));
return ([_local11, _local12, _local13]);
//unresolved jump
};
_local14 = Math.pow((Math.sqrt(-(_local8)) + Math.abs(_local7)), (1 / 3));
_local15 = ((_local7)>0) ? 1 : ((_local7 < 0)) ? -1 : 0;
_local16 = ((-(_local15) * (_local14 + (_local5 / _local14))) - (_arg2 / 3));
return ([_local16]);
}
public static function getQuadraticRoots(_arg1:Number, _arg2:Number, _arg3:Number):Array{
var _local7:Number;
var _local4:Array = [];
if (!_arg1){
if (!_arg2){
return ([]);
};
_local4[0] = (-(_arg3) / _arg2);
return (_local4);
};
var _local5:Number = ((_arg2 * _arg2) - ((4 * _arg1) * _arg3));
var _local6:int = ((_local5)>0) ? 1 : ((_local5 < 0)) ? -1 : 0;
if (_local6 < 0){
return ([]);
};
if (!_local6){
_local4[0] = (-(_arg2) / (2 * _arg1));
} else {
_local4[0] = (_local4[1] = (-(_arg2) / (2 * _arg1)));
_local7 = (Math.sqrt(_local5) / (2 * _arg1));
_local4[0] = (_local4[0] - _local7);
_local4[1] = (_local4[1] + _local7);
};
return (_local4);
}
}
}//package fl.motion
Section 8
//Color (fl.motion.Color)
package fl.motion {
import flash.geom.*;
import flash.display.*;
public class Color extends ColorTransform {
private var _tintColor:Number;// = 0
private var _tintMultiplier:Number;// = 0
public function Color(_arg1:Number=1, _arg2:Number=1, _arg3:Number=1, _arg4:Number=1, _arg5:Number=0, _arg6:Number=0, _arg7:Number=0, _arg8:Number=0){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7, _arg8);
}
private function deriveTintColor():uint{
var _local1:Number = (1 / this.tintMultiplier);
var _local2:uint = Math.round((this.redOffset * _local1));
var _local3:uint = Math.round((this.greenOffset * _local1));
var _local4:uint = Math.round((this.blueOffset * _local1));
var _local5:uint = (((_local2 << 16) | (_local3 << 8)) | _local4);
return (_local5);
}
public function set brightness(_arg1:Number):void{
if (_arg1 > 1){
_arg1 = 1;
} else {
if (_arg1 < -1){
_arg1 = -1;
};
};
var _local2:Number = (1 - Math.abs(_arg1));
var _local3:Number = 0;
if (_arg1 > 0){
_local3 = (_arg1 * 0xFF);
};
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = _local2));
this.redOffset = (this.greenOffset = (this.blueOffset = _local3));
}
private function parseXML(_arg1:XML=null):Color{
var _local3:XML;
var _local4:String;
var _local5:uint;
if (!_arg1){
return (this);
};
var _local2:XML = _arg1.elements()[0];
if (!_local2){
return (this);
};
for each (_local3 in _local2.attributes()) {
_local4 = _local3.localName();
if (_local4 == "tintColor"){
_local5 = (Number(_local3.toString()) as uint);
this.tintColor = _local5;
} else {
this[_local4] = Number(_local3.toString());
};
};
return (this);
}
public function get tintColor():uint{
return (this._tintColor);
}
public function set tintColor(_arg1:uint):void{
this.setTint(_arg1, this.tintMultiplier);
}
public function get brightness():Number{
return ((this.redOffset) ? (1 - this.redMultiplier) : (this.redMultiplier - 1));
}
public function set tintMultiplier(_arg1:Number):void{
this.setTint(this.tintColor, _arg1);
}
public function get tintMultiplier():Number{
return (this._tintMultiplier);
}
public function setTint(_arg1:uint, _arg2:Number):void{
this._tintColor = _arg1;
this._tintMultiplier = _arg2;
this.redMultiplier = (this.greenMultiplier = (this.blueMultiplier = (1 - _arg2)));
var _local3:uint = ((_arg1 >> 16) & 0xFF);
var _local4:uint = ((_arg1 >> 8) & 0xFF);
var _local5:uint = (_arg1 & 0xFF);
this.redOffset = Math.round((_local3 * _arg2));
this.greenOffset = Math.round((_local4 * _arg2));
this.blueOffset = Math.round((_local5 * _arg2));
}
public static function interpolateColor(_arg1:uint, _arg2:uint, _arg3:Number):uint{
var _local4:Number = (1 - _arg3);
var _local5:uint = ((_arg1 >> 24) & 0xFF);
var _local6:uint = ((_arg1 >> 16) & 0xFF);
var _local7:uint = ((_arg1 >> 8) & 0xFF);
var _local8:uint = (_arg1 & 0xFF);
var _local9:uint = ((_arg2 >> 24) & 0xFF);
var _local10:uint = ((_arg2 >> 16) & 0xFF);
var _local11:uint = ((_arg2 >> 8) & 0xFF);
var _local12:uint = (_arg2 & 0xFF);
var _local13:uint = ((_local5 * _local4) + (_local9 * _arg3));
var _local14:uint = ((_local6 * _local4) + (_local10 * _arg3));
var _local15:uint = ((_local7 * _local4) + (_local11 * _arg3));
var _local16:uint = ((_local8 * _local4) + (_local12 * _arg3));
var _local17:uint = ((((_local13 << 24) | (_local14 << 16)) | (_local15 << 8)) | _local16);
return (_local17);
}
public static function interpolateTransform(_arg1:ColorTransform, _arg2:ColorTransform, _arg3:Number):ColorTransform{
var _local4:Number = (1 - _arg3);
var _local5:ColorTransform = new ColorTransform(((_arg1.redMultiplier * _local4) + (_arg2.redMultiplier * _arg3)), ((_arg1.greenMultiplier * _local4) + (_arg2.greenMultiplier * _arg3)), ((_arg1.blueMultiplier * _local4) + (_arg2.blueMultiplier * _arg3)), ((_arg1.alphaMultiplier * _local4) + (_arg2.alphaMultiplier * _arg3)), ((_arg1.redOffset * _local4) + (_arg2.redOffset * _arg3)), ((_arg1.greenOffset * _local4) + (_arg2.greenOffset * _arg3)), ((_arg1.blueOffset * _local4) + (_arg2.blueOffset * _arg3)), ((_arg1.alphaOffset * _local4) + (_arg2.alphaOffset * _arg3)));
return (_local5);
}
public static function fromXML(_arg1:XML):Color{
return (Color(new (Color).parseXML(_arg1)));
}
}
}//package fl.motion
Section 9
//ColorMatrix (fl.motion.ColorMatrix)
package fl.motion {
public class ColorMatrix extends DynamicMatrix {
protected static const LUMINANCEB:Number = 0.082;
protected static const LUMINANCER:Number = 0.3086;
protected static const LUMINANCEG:Number = 0.6094;
public function ColorMatrix(){
super(5, 5);
LoadIdentity();
}
public function GetFlatArray():Array{
var _local4:int;
if (!m_matrix){
return (null);
};
var _local1:Array = new Array();
var _local2:int;
var _local3:int;
while (_local3 < 4) {
_local4 = 0;
while (_local4 < 5) {
_local1[_local2] = m_matrix[_local3][_local4];
_local2++;
_local4++;
};
_local3++;
};
return (_local1);
}
public function SetBrightnessMatrix(_arg1:Number):void{
if (!m_matrix){
return;
};
m_matrix[0][4] = _arg1;
m_matrix[1][4] = _arg1;
m_matrix[2][4] = _arg1;
}
public function SetContrastMatrix(_arg1:Number):void{
if (!m_matrix){
return;
};
var _local2:Number = (0.5 * (127 - _arg1));
_arg1 = (_arg1 / 127);
m_matrix[0][0] = _arg1;
m_matrix[1][1] = _arg1;
m_matrix[2][2] = _arg1;
m_matrix[0][4] = _local2;
m_matrix[1][4] = _local2;
m_matrix[2][4] = _local2;
}
public function SetHueMatrix(_arg1:Number):void{
var _local11:int;
if (!m_matrix){
return;
};
LoadIdentity();
var _local2:DynamicMatrix = new DynamicMatrix(3, 3);
var _local3:DynamicMatrix = new DynamicMatrix(3, 3);
var _local4:DynamicMatrix = new DynamicMatrix(3, 3);
var _local5:Number = Math.cos(_arg1);
var _local6:Number = Math.sin(_arg1);
var _local7:Number = 0.213;
var _local8:Number = 0.715;
var _local9:Number = 0.072;
_local2.SetValue(0, 0, _local7);
_local2.SetValue(1, 0, _local7);
_local2.SetValue(2, 0, _local7);
_local2.SetValue(0, 1, _local8);
_local2.SetValue(1, 1, _local8);
_local2.SetValue(2, 1, _local8);
_local2.SetValue(0, 2, _local9);
_local2.SetValue(1, 2, _local9);
_local2.SetValue(2, 2, _local9);
_local3.SetValue(0, 0, (1 - _local7));
_local3.SetValue(1, 0, -(_local7));
_local3.SetValue(2, 0, -(_local7));
_local3.SetValue(0, 1, -(_local8));
_local3.SetValue(1, 1, (1 - _local8));
_local3.SetValue(2, 1, -(_local8));
_local3.SetValue(0, 2, -(_local9));
_local3.SetValue(1, 2, -(_local9));
_local3.SetValue(2, 2, (1 - _local9));
_local3.MultiplyNumber(_local5);
_local4.SetValue(0, 0, -(_local7));
_local4.SetValue(1, 0, 0.143);
_local4.SetValue(2, 0, -((1 - _local7)));
_local4.SetValue(0, 1, -(_local8));
_local4.SetValue(1, 1, 0.14);
_local4.SetValue(2, 1, _local8);
_local4.SetValue(0, 2, (1 - _local9));
_local4.SetValue(1, 2, -0.283);
_local4.SetValue(2, 2, _local9);
_local4.MultiplyNumber(_local6);
_local2.Add(_local3);
_local2.Add(_local4);
var _local10:int;
while (_local10 < 3) {
_local11 = 0;
while (_local11 < 3) {
m_matrix[_local10][_local11] = _local2.GetValue(_local10, _local11);
_local11++;
};
_local10++;
};
}
public function SetSaturationMatrix(_arg1:Number):void{
if (!m_matrix){
return;
};
var _local2:Number = (1 - _arg1);
var _local3:Number = (_local2 * LUMINANCER);
m_matrix[0][0] = (_local3 + _arg1);
m_matrix[1][0] = _local3;
m_matrix[2][0] = _local3;
_local3 = (_local2 * LUMINANCEG);
m_matrix[0][1] = _local3;
m_matrix[1][1] = (_local3 + _arg1);
m_matrix[2][1] = _local3;
_local3 = (_local2 * LUMINANCEB);
m_matrix[0][2] = _local3;
m_matrix[1][2] = _local3;
m_matrix[2][2] = (_local3 + _arg1);
}
}
}//package fl.motion
class XFormData {
public var ox:Number;
public var oy:Number;
public var oz:Number;
private function XFormData(){
}
}
Section 10
//CustomEase (fl.motion.CustomEase)
package fl.motion {
import flash.geom.*;
public class CustomEase implements ITween {
public var points:Array;
private var firstNode:Point;
private var _target:String;// = ""
private var lastNode:Point;
public function CustomEase(_arg1:XML=null){
this.points = [];
this.parseXML(_arg1);
this.firstNode = new Point(0, 0);
this.lastNode = new Point(1, 1);
}
public function set target(_arg1:String):void{
this._target = _arg1;
}
private function parseXML(_arg1:XML=null):CustomEase{
var _local3:XML;
if (!_arg1){
return (this);
};
if (_arg1.@target.length()){
this.target = _arg1.@target;
};
var _local2:XMLList = _arg1.elements();
for each (_local3 in _local2) {
this.points.push(new Point(Number(_local3.@x), Number(_local3.@y)));
};
return (this);
}
public function get target():String{
return (this._target);
}
public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg4 <= 0){
return (NaN);
};
var _local5:Number = (_arg1 / _arg4);
if (_local5 <= 0){
return (_arg2);
};
if (_local5 >= 1){
return ((_arg2 + _arg3));
};
var _local6:Array = [this.firstNode].concat(this.points);
_local6.push(this.lastNode);
var _local7:Number = getYForPercent(_local5, _local6);
return ((_arg2 + (_local7 * _arg3)));
}
static function getYForPercent(_arg1:Number, _arg2:Array):Number{
var _local8:int;
var _local9:BezierSegment;
var _local3:BezierSegment = new BezierSegment(_arg2[0], _arg2[1], _arg2[2], _arg2[3]);
var _local4:Array = [_local3];
var _local5 = 3;
while (_local5 < (_arg2.length - 3)) {
_local4.push(new BezierSegment(_arg2[_local5], _arg2[(_local5 + 1)], _arg2[(_local5 + 2)], _arg2[(_local5 + 3)]));
_local5 = (_local5 + 3);
};
var _local6:BezierSegment = _local3;
if (_arg2.length >= 5){
_local8 = 0;
while (_local8 < _local4.length) {
_local9 = _local4[_local8];
if ((((_local9.a.x <= _arg1)) && ((_arg1 <= _local9.d.x)))){
_local6 = _local9;
break;
};
_local8++;
};
};
var _local7:Number = _local6.getYForX(_arg1);
return (_local7);
}
}
}//package fl.motion
Section 11
//DynamicMatrix (fl.motion.DynamicMatrix)
package fl.motion {
public class DynamicMatrix {
protected var m_matrix:Array;
protected var m_width:int;
protected var m_height:int;
public static const MATRIX_ORDER_APPEND:int = 1;
public static const MATRIX_ORDER_PREPEND:int = 0;
public function DynamicMatrix(_arg1:int, _arg2:int){
this.Create(_arg1, _arg2);
}
public function Add(_arg1:DynamicMatrix):Boolean{
var _local5:int;
var _local6:Number;
if (((!(this.m_matrix)) || (!(_arg1)))){
return (false);
};
var _local2:int = _arg1.GetHeight();
var _local3:int = _arg1.GetWidth();
if (((!((this.m_width == _local3))) || (!((this.m_height == _local2))))){
return (false);
};
var _local4:int;
while (_local4 < this.m_height) {
_local5 = 0;
while (_local5 < this.m_width) {
_local6 = 0;
_local6 = (this.m_matrix[_local4][_local5] + _arg1.GetValue(_local4, _local5));
this.m_matrix[_local4][_local5] = _local6;
_local5++;
};
_local4++;
};
return (true);
}
public function LoadIdentity():void{
var _local1:int;
var _local2:int;
if (this.m_matrix){
_local1 = 0;
while (_local1 < this.m_height) {
_local2 = 0;
while (_local2 < this.m_width) {
if (_local1 == _local2){
this.m_matrix[_local1][_local2] = 1;
} else {
this.m_matrix[_local1][_local2] = 0;
};
_local2++;
};
_local1++;
};
};
}
public function LoadZeros():void{
var _local1:int;
var _local2:int;
if (this.m_matrix){
_local1 = 0;
while (_local1 < this.m_height) {
_local2 = 0;
while (_local2 < this.m_width) {
this.m_matrix[_local1][_local2] = 0;
_local2++;
};
_local1++;
};
};
}
public function Multiply(_arg1:DynamicMatrix, _arg2:int=0):Boolean{
var _local5:DynamicMatrix;
var _local6:int;
var _local7:int;
var _local8:Number;
var _local9:int;
var _local10:int;
if (((!(this.m_matrix)) || (!(_arg1)))){
return (false);
};
var _local3:int = _arg1.GetHeight();
var _local4:int = _arg1.GetWidth();
if (_arg2 == MATRIX_ORDER_APPEND){
if (this.m_width != _local3){
return (false);
};
_local5 = new DynamicMatrix(_local4, this.m_height);
_local6 = 0;
while (_local6 < this.m_height) {
_local7 = 0;
while (_local7 < _local4) {
_local8 = 0;
_local9 = 0;
_local10 = 0;
while ((((_local9 < Math.max(this.m_height, _local3))) && ((_local10 < Math.max(this.m_width, _local4))))) {
_local8 = (_local8 + (_arg1.GetValue(_local9, _local7) * this.m_matrix[_local6][_local10]));
_local9++;
_local10++;
};
_local5.SetValue(_local6, _local7, _local8);
_local7++;
};
_local6++;
};
this.Destroy();
this.Create(_local4, this.m_height);
_local6 = 0;
while (_local6 < _local3) {
_local7 = 0;
while (_local7 < this.m_width) {
this.m_matrix[_local6][_local7] = _local5.GetValue(_local6, _local7);
_local7++;
};
_local6++;
};
} else {
if (this.m_height != _local4){
return (false);
};
_local5 = new DynamicMatrix(this.m_width, _local3);
_local6 = 0;
while (_local6 < _local3) {
_local7 = 0;
while (_local7 < this.m_width) {
_local8 = 0;
_local9 = 0;
_local10 = 0;
while ((((_local9 < Math.max(_local3, this.m_height))) && ((_local10 < Math.max(_local4, this.m_width))))) {
_local8 = (_local8 + (this.m_matrix[_local9][_local7] * _arg1.GetValue(_local6, _local10)));
_local9++;
_local10++;
};
_local5.SetValue(_local6, _local7, _local8);
_local7++;
};
_local6++;
};
this.Destroy();
this.Create(this.m_width, _local3);
_local6 = 0;
while (_local6 < _local3) {
_local7 = 0;
while (_local7 < this.m_width) {
this.m_matrix[_local6][_local7] = _local5.GetValue(_local6, _local7);
_local7++;
};
_local6++;
};
};
return (true);
}
public function MultiplyNumber(_arg1:Number):Boolean{
var _local3:int;
var _local4:Number;
if (!this.m_matrix){
return (false);
};
var _local2:int;
while (_local2 < this.m_height) {
_local3 = 0;
while (_local3 < this.m_width) {
_local4 = 0;
_local4 = (this.m_matrix[_local2][_local3] * _arg1);
this.m_matrix[_local2][_local3] = _local4;
_local3++;
};
_local2++;
};
return (true);
}
public function SetValue(_arg1:int, _arg2:int, _arg3:Number):void{
if ((((((((_arg1 >= 0)) && ((_arg1 < this.m_height)))) && ((_arg2 >= 0)))) && ((_arg2 <= this.m_width)))){
this.m_matrix[_arg1][_arg2] = _arg3;
};
}
public function GetWidth():Number{
return (this.m_width);
}
protected function Destroy():void{
this.m_matrix = null;
}
public function GetValue(_arg1:int, _arg2:int):Number{
var _local3:Number = 0;
if ((((((((_arg1 >= 0)) && ((_arg1 < this.m_height)))) && ((_arg2 >= 0)))) && ((_arg2 <= this.m_width)))){
_local3 = this.m_matrix[_arg1][_arg2];
};
return (_local3);
}
protected function Create(_arg1:int, _arg2:int):void{
var _local3:int;
var _local4:int;
if ((((_arg1 > 0)) && ((_arg2 > 0)))){
this.m_width = _arg1;
this.m_height = _arg2;
this.m_matrix = new Array(_arg2);
_local3 = 0;
while (_local3 < _arg2) {
this.m_matrix[_local3] = new Array(_arg1);
_local4 = 0;
while (_local4 < _arg2) {
this.m_matrix[_local3][_local4] = 0;
_local4++;
};
_local3++;
};
};
}
public function GetHeight():Number{
return (this.m_height);
}
}
}//package fl.motion
Section 12
//FunctionEase (fl.motion.FunctionEase)
package fl.motion {
import flash.utils.*;
public class FunctionEase implements ITween {
private var _functionName:String;// = ""
public var parameters:Array;// = null
private var _target:String;// = ""
public var easingFunction:Function;// = null
public function FunctionEase(_arg1:XML=null){
this.parseXML(_arg1);
}
public function get functionName():String{
return (this._functionName);
}
public function set target(_arg1:String):void{
this._target = _arg1;
}
public function set functionName(_arg1:String):void{
var _local2:Array = _arg1.split(".");
var _local3:String = _local2.pop();
var _local4:String = _local2.join(".");
var _local5:Class = (getDefinitionByName(_local4) as Class);
if ((_local5[_local3] is Function)){
this.easingFunction = _local5[_local3];
this._functionName = _arg1;
};
}
public function get target():String{
return (this._target);
}
public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Array;
if ((this.parameters is Array)){
_local5 = [_arg1, _arg2, _arg3, _arg4].concat(this.parameters);
return (this.easingFunction.apply(null, _local5));
};
return (this.easingFunction(_arg1, _arg2, _arg3, _arg4));
}
private function parseXML(_arg1:XML=null):FunctionEase{
if (!_arg1){
return (this);
};
if (_arg1.@functionName.length()){
this.functionName = _arg1.@functionName;
};
if (_arg1.@target.length()){
this.target = _arg1.@target;
};
return (this);
}
}
}//package fl.motion
Section 13
//ITween (fl.motion.ITween)
package fl.motion {
public interface ITween {
function get target():String;
function set target(_arg1:String):void;
function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number;
}
}//package fl.motion
Section 14
//Keyframe (fl.motion.Keyframe)
package fl.motion {
import flash.filters.*;
import flash.utils.*;
public class Keyframe extends KeyframeBase {
public var tweenSync:Boolean;// = false
public var tweens:Array;
public var tweenSnap:Boolean;// = false
public var tweenScale:Boolean;// = true
public function Keyframe(_arg1:XML=null){
super(_arg1);
this.tweens = [];
this.parseXML(_arg1);
}
private function parseXML(_arg1:XML=null):KeyframeBase{
var tweenableName:String;
var elements:XMLList;
var filtersArray:Array;
var child:XML;
var attribute:XML;
var attributeValue:String;
var name:String;
var tweenChildren:XMLList;
var tweenChild:XML;
var tweenName:String;
var filtersChildren:XMLList;
var filterXML:XML;
var filterName:String;
var filterClassName:String;
var filterClass:Object;
var filterInstance:BitmapFilter;
var filterTypeInfo:XML;
var accessorList:XMLList;
var ratios:Array;
var attrib:XML;
var attribName:String;
var accessor:XML;
var attribType:String;
var attribValue:String;
var uintValue:uint;
var valuesArray:Array;
var xml = _arg1;
if (!xml){
return (this);
};
var indexString:String = xml.@index.toXMLString();
var indexValue:int = parseInt(indexString);
if (indexString){
this.index = indexValue;
} else {
throw (new Error("<Keyframe> is missing the required attribute \"index\"."));
};
if (xml.@label.length()){
this.label = xml.@label;
};
if (xml.@tweenScale.length()){
this.tweenScale = (xml.@tweenScale.toString() == "true");
};
if (xml.@tweenSnap.length()){
this.tweenSnap = (xml.@tweenSnap.toString() == "true");
};
if (xml.@tweenSync.length()){
this.tweenSync = (xml.@tweenSync.toString() == "true");
};
if (xml.@blendMode.length()){
this.blendMode = xml.@blendMode;
};
if (xml.@cacheAsBitmap.length()){
this.cacheAsBitmap = (xml.@cacheAsBitmap.toString() == "true");
};
if (xml.@rotateDirection.length()){
this.rotateDirection = xml.@rotateDirection;
};
if (xml.@rotateTimes.length()){
this.rotateTimes = parseInt(xml.@rotateTimes);
};
if (xml.@orientToPath.length()){
this.orientToPath = (xml.@orientToPath.toString() == "true");
};
if (xml.@blank.length()){
this.blank = (xml.@blank.toString() == "true");
};
var tweenableNames:Array = ["x", "y", "scaleX", "scaleY", "rotation", "skewX", "skewY"];
for each (tweenableName in tweenableNames) {
attribute = xml.attribute(tweenableName)[0];
if (!attribute){
} else {
attributeValue = attribute.toString();
if (attributeValue){
this[tweenableName] = Number(attributeValue);
};
};
};
elements = xml.elements();
filtersArray = [];
for each (child in elements) {
name = child.localName();
if (name == "tweens"){
tweenChildren = child.elements();
for each (tweenChild in tweenChildren) {
tweenName = tweenChild.localName();
if (tweenName == "SimpleEase"){
this.tweens.push(new SimpleEase(tweenChild));
} else {
if (tweenName == "CustomEase"){
this.tweens.push(new CustomEase(tweenChild));
} else {
if (tweenName == "BezierEase"){
this.tweens.push(new BezierEase(tweenChild));
} else {
if (tweenName == "FunctionEase"){
this.tweens.push(new FunctionEase(tweenChild));
};
};
};
};
};
} else {
if (name == "filters"){
filtersChildren = child.elements();
for each (filterXML in filtersChildren) {
filterName = filterXML.localName();
filterClassName = ("flash.filters." + filterName);
if (filterName == "AdjustColorFilter"){
} else {
filterClass = getDefinitionByName(filterClassName);
filterInstance = new (filterClass);
filterTypeInfo = describeType(filterInstance);
accessorList = filterTypeInfo.accessor;
ratios = [];
for each (attrib in filterXML.attributes()) {
attribName = attrib.localName();
accessor = accessorList.(@name == attribName)[0];
attribType = accessor.@type;
attribValue = attrib.toString();
if (attribType == "int"){
filterInstance[attribName] = parseInt(attribValue);
} else {
if (attribType == "uint"){
filterInstance[attribName] = (parseInt(attribValue) as uint);
uintValue = (parseInt(attribValue) as uint);
} else {
if (attribType == "Number"){
filterInstance[attribName] = Number(attribValue);
} else {
if (attribType == "Boolean"){
filterInstance[attribName] = (attribValue == "true");
} else {
if (attribType == "Array"){
attribValue = attribValue.substring(1, (attribValue.length - 1));
valuesArray = null;
if ((((attribName == "ratios")) || ((attribName == "colors")))){
valuesArray = splitUint(attribValue);
} else {
if (attribName == "alphas"){
valuesArray = splitNumber(attribValue);
};
};
if (attribName == "ratios"){
ratios = valuesArray;
} else {
if (valuesArray){
filterInstance[attribName] = valuesArray;
};
};
} else {
if (attribType == "String"){
filterInstance[attribName] = attribValue;
};
};
};
};
};
};
};
if (ratios.length){
filterInstance["ratios"] = ratios;
};
filtersArray.push(filterInstance);
};
};
} else {
if (name == "color"){
this.color = Color.fromXML(child);
};
};
};
this.filters = filtersArray;
};
return (this);
}
override public function get tweensLength():int{
return (this.tweens.length);
}
override protected function hasTween():Boolean{
return (!((this.getTween() == null)));
}
public function getTween(_arg1:String=""):ITween{
var _local2:ITween;
for each (_local2 in this.tweens) {
if ((((((((_local2.target == _arg1)) || ((((_local2.target == "rotation")) && ((((_arg1 == "skewX")) || ((_arg1 == "skewY")))))))) || ((((_local2.target == "position")) && ((((_arg1 == "x")) || ((_arg1 == "y")))))))) || ((((_local2.target == "scale")) && ((((_arg1 == "scaleX")) || ((_arg1 == "scaleY")))))))){
return (_local2);
};
};
return (null);
}
private static function splitNumber(_arg1:String):Array{
var _local2:Array = _arg1.split(",");
var _local3:int;
while (_local3 < _local2.length) {
_local2[_local3] = Number(_local2[_local3]);
_local3++;
};
return (_local2);
}
private static function splitUint(_arg1:String):Array{
var _local2:Array = _arg1.split(",");
var _local3:int;
while (_local3 < _local2.length) {
_local2[_local3] = (parseInt(_local2[_local3]) as uint);
_local3++;
};
return (_local2);
}
private static function splitInt(_arg1:String):Array{
var _local2:Array = _arg1.split(",");
var _local3:int;
while (_local3 < _local2.length) {
_local2[_local3] = (parseInt(_local2[_local3]) as int);
_local3++;
};
return (_local2);
}
}
}//package fl.motion
Section 15
//KeyframeBase (fl.motion.KeyframeBase)
package fl.motion {
import flash.display.*;
import flash.filters.*;
import flash.utils.*;
public class KeyframeBase {
public var y:Number;// = NAN
public var filters:Array;
public var skewX:Number;// = NAN
public var skewY:Number;// = NAN
public var blendMode:String;
public var useRotationConcat:Boolean;// = false
public var rotationX:Number;// = NAN
public var rotationY:Number;// = NAN
public var firstFrame:String;
public var cacheAsBitmap:Boolean;// = false
public var rotateTimes:uint;// = 0
public var loop:String;
public var rotationConcat:Number;// = NAN
public var scaleX:Number;// = NAN
public var scaleY:Number;// = NAN
private var _index:int;// = -1
public var blank:Boolean;// = false
public var adjustColorObjects:Dictionary;// = null
public var color:Color;
public var orientToPath:Boolean;// = false
public var rotateDirection:String;// = "auto"
public var label:String;// = ""
public var x:Number;// = NAN
public var matrix3D:Object;// = null
public var z:Number;// = NAN
public function KeyframeBase(_arg1:XML=null){
this.blendMode = BlendMode.NORMAL;
super();
this.filters = [];
this.adjustColorObjects = new Dictionary();
}
public function set index(_arg1:int):void{
this._index = ((_arg1)<0) ? 0 : _arg1;
if (this._index == 0){
this.setDefaults();
};
}
public function getValue(_arg1:String):Number{
return (Number(this[_arg1]));
}
public function setValue(_arg1:String, _arg2:Number):void{
this[_arg1] = _arg2;
}
public function get index():int{
return (this._index);
}
private function setDefaults():void{
if (isNaN(this.x)){
this.x = 0;
};
if (isNaN(this.y)){
this.y = 0;
};
if (isNaN(this.z)){
this.z = 0;
};
if (isNaN(this.scaleX)){
this.scaleX = 1;
};
if (isNaN(this.scaleY)){
this.scaleY = 1;
};
if (isNaN(this.skewX)){
this.skewX = 0;
};
if (isNaN(this.skewY)){
this.skewY = 0;
};
if (isNaN(this.rotationConcat)){
this.rotationConcat = 0;
};
if (!this.color){
this.color = new Color();
};
}
public function setAdjustColorProperty(_arg1:int, _arg2:String, _arg3):void{
var _local5:ColorMatrixFilter;
var _local6:Array;
if (_arg1 >= this.filters.length){
return;
};
var _local4:AdjustColor = this.adjustColorObjects[_arg1];
if (_local4 == null){
_local4 = new AdjustColor();
this.adjustColorObjects[_arg1] = _local4;
};
switch (_arg2){
case "adjustColorBrightness":
_local4.brightness = _arg3;
break;
case "adjustColorContrast":
_local4.contrast = _arg3;
break;
case "adjustColorSaturation":
_local4.saturation = _arg3;
break;
case "adjustColorHue":
_local4.hue = _arg3;
break;
};
if (_local4.AllValuesAreSet()){
_local5 = (this.filters[_arg1] as ColorMatrixFilter);
if (_local5){
_local6 = _local4.CalculateFinalFlatArray();
if (_local6){
_local5.matrix = _local6;
};
};
};
}
public function affectsTweenable(_arg1:String=""):Boolean{
return (((((((((((((!(_arg1)) || (!(isNaN(this[_arg1]))))) || ((((_arg1 == "color")) && (this.color))))) || ((((_arg1 == "filters")) && (this.filters.length))))) || ((((_arg1 == "matrix3D")) && (this.matrix3D))))) || (this.blank))) || (this.hasTween())));
}
public function get tweensLength():int{
return (0);
}
protected function hasTween():Boolean{
return (false);
}
public function set rotation(_arg1:Number):void{
if (((isNaN(this.skewX)) || (isNaN(this.skewY)))){
this.skewX = _arg1;
} else {
this.skewX = (this.skewX + (_arg1 - this.skewY));
};
this.skewY = _arg1;
}
public function get rotation():Number{
return (this.skewY);
}
}
}//package fl.motion
Section 16
//MatrixTransformer (fl.motion.MatrixTransformer)
package fl.motion {
import flash.geom.*;
public class MatrixTransformer {
public static function getSkewY(_arg1:Matrix):Number{
return ((Math.atan2(_arg1.b, _arg1.a) * (180 / Math.PI)));
}
public static function getScaleX(_arg1:Matrix):Number{
return (Math.sqrt(((_arg1.a * _arg1.a) + (_arg1.b * _arg1.b))));
}
public static function getScaleY(_arg1:Matrix):Number{
return (Math.sqrt(((_arg1.c * _arg1.c) + (_arg1.d * _arg1.d))));
}
public static function setSkewXRadians(_arg1:Matrix, _arg2:Number):void{
var _local3:Number = getScaleY(_arg1);
_arg1.c = (-(_local3) * Math.sin(_arg2));
_arg1.d = (_local3 * Math.cos(_arg2));
}
public static function setRotation(_arg1:Matrix, _arg2:Number):void{
setRotationRadians(_arg1, (_arg2 * (Math.PI / 180)));
}
public static function rotateAroundInternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{
var _local5:Point = new Point(_arg2, _arg3);
_local5 = _arg1.transformPoint(_local5);
_arg1.tx = (_arg1.tx - _local5.x);
_arg1.ty = (_arg1.ty - _local5.y);
_arg1.rotate((_arg4 * (Math.PI / 180)));
_arg1.tx = (_arg1.tx + _local5.x);
_arg1.ty = (_arg1.ty + _local5.y);
}
public static function setSkewX(_arg1:Matrix, _arg2:Number):void{
setSkewXRadians(_arg1, (_arg2 * (Math.PI / 180)));
}
public static function setSkewY(_arg1:Matrix, _arg2:Number):void{
setSkewYRadians(_arg1, (_arg2 * (Math.PI / 180)));
}
public static function setScaleX(_arg1:Matrix, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
var _local3:Number = getScaleX(_arg1);
if (_local3){
_local4 = (_arg2 / _local3);
_arg1.a = (_arg1.a * _local4);
_arg1.b = (_arg1.b * _local4);
} else {
_local5 = getSkewYRadians(_arg1);
_arg1.a = (Math.cos(_local5) * _arg2);
_arg1.b = (Math.sin(_local5) * _arg2);
};
}
public static function setScaleY(_arg1:Matrix, _arg2:Number):void{
var _local4:Number;
var _local5:Number;
var _local3:Number = getScaleY(_arg1);
if (_local3){
_local4 = (_arg2 / _local3);
_arg1.c = (_arg1.c * _local4);
_arg1.d = (_arg1.d * _local4);
} else {
_local5 = getSkewXRadians(_arg1);
_arg1.c = (-(Math.sin(_local5)) * _arg2);
_arg1.d = (Math.cos(_local5) * _arg2);
};
}
public static function setRotationRadians(_arg1:Matrix, _arg2:Number):void{
var _local3:Number = getRotationRadians(_arg1);
var _local4:Number = getSkewXRadians(_arg1);
setSkewXRadians(_arg1, ((_local4 + _arg2) - _local3));
setSkewYRadians(_arg1, _arg2);
}
public static function setSkewYRadians(_arg1:Matrix, _arg2:Number):void{
var _local3:Number = getScaleX(_arg1);
_arg1.a = (_local3 * Math.cos(_arg2));
_arg1.b = (_local3 * Math.sin(_arg2));
}
public static function getSkewX(_arg1:Matrix):Number{
return ((Math.atan2(-(_arg1.c), _arg1.d) * (180 / Math.PI)));
}
public static function getSkewYRadians(_arg1:Matrix):Number{
return (Math.atan2(_arg1.b, _arg1.a));
}
public static function getSkewXRadians(_arg1:Matrix):Number{
return (Math.atan2(-(_arg1.c), _arg1.d));
}
public static function getRotation(_arg1:Matrix):Number{
return ((getRotationRadians(_arg1) * (180 / Math.PI)));
}
public static function rotateAroundExternalPoint(_arg1:Matrix, _arg2:Number, _arg3:Number, _arg4:Number):void{
_arg1.tx = (_arg1.tx - _arg2);
_arg1.ty = (_arg1.ty - _arg3);
_arg1.rotate((_arg4 * (Math.PI / 180)));
_arg1.tx = (_arg1.tx + _arg2);
_arg1.ty = (_arg1.ty + _arg3);
}
public static function getRotationRadians(_arg1:Matrix):Number{
return (getSkewYRadians(_arg1));
}
public static function matchInternalPointWithExternal(_arg1:Matrix, _arg2:Point, _arg3:Point):void{
var _local4:Point = _arg1.transformPoint(_arg2);
var _local5:Number = (_arg3.x - _local4.x);
var _local6:Number = (_arg3.y - _local4.y);
_arg1.tx = (_arg1.tx + _local5);
_arg1.ty = (_arg1.ty + _local6);
}
}
}//package fl.motion
Section 17
//Motion (fl.motion.Motion)
package fl.motion {
import flash.geom.*;
import flash.filters.*;
import flash.utils.*;
public class Motion extends MotionBase {
public var source:Source;
private var _keyframesCompact:Array;
private static var typeCache:Object = {};
public function Motion(_arg1:XML=null){
var _local2:Keyframe;
super();
this.keyframes = [];
this.parseXML(_arg1);
if (!this.source){
this.source = new Source();
};
if (this.duration == 0){
_local2 = (this.getNewKeyframe() as Keyframe);
_local2.index = 0;
this.addKeyframe(_local2);
};
}
override protected function findTweenedValue(_arg1:Number, _arg2:String, _arg3:KeyframeBase, _arg4:Number, _arg5:Number):Number{
var _local10:Number;
var _local11:Number;
var _local12:Number;
var _local6:Keyframe = (_arg3 as Keyframe);
if (!_local6){
return (NaN);
};
var _local7:ITween = ((_local6.getTween(_arg2)) || (_local6.getTween()));
if (((((!(_local7)) || (((!(_local6.tweenScale)) && ((((_arg2 == Tweenables.SCALE_X)) || ((_arg2 == Tweenables.SCALE_Y)))))))) || ((((_local6.rotateDirection == RotateDirection.NONE)) && ((((((_arg2 == Tweenables.ROTATION)) || ((_arg2 == Tweenables.SKEW_X)))) || ((_arg2 == Tweenables.SKEW_Y)))))))){
return (_arg5);
};
var _local8:String = _arg2;
if (_local7.target == ""){
_local8 = "";
};
var _local9:Keyframe = (this.getNextKeyframe(_arg1, _local8) as Keyframe);
if (((!(_local9)) || (_local9.blank))){
return (_arg5);
};
_local10 = _local9.getValue(_arg2);
if (isNaN(_local10)){
_local10 = _arg5;
};
_local11 = (_local10 - _arg5);
if ((((((_arg2 == Tweenables.SKEW_X)) || ((_arg2 == Tweenables.SKEW_Y)))) || ((_arg2 == Tweenables.ROTATION)))){
if (_local6.rotateDirection == RotateDirection.AUTO){
_local11 = (_local11 % 360);
if (_local11 > 180){
_local11 = (_local11 - 360);
} else {
if (_local11 < -180){
_local11 = (_local11 + 360);
};
};
} else {
if (_local6.rotateDirection == RotateDirection.CW){
if (_local11 < 0){
_local11 = ((_local11 % 360) + 360);
};
_local11 = (_local11 + (_local6.rotateTimes * 360));
} else {
if (_local11 > 0){
_local11 = ((_local11 % 360) - 360);
};
_local11 = (_local11 - (_local6.rotateTimes * 360));
};
};
};
_local12 = (_local9.index - _local6.index);
return (_local7.getValue(_arg4, _arg5, _local11, _local12));
}
private function parseXML(_arg1:XML):Motion{
var _local4:XML;
var _local5:XML;
if (!_arg1){
return (this);
};
if (_arg1.@duration.length()){
this.duration = parseInt(_arg1.@duration);
};
var _local2:XMLList = _arg1.elements();
var _local3:Number = 0;
while (_local3 < _local2.length()) {
_local4 = _local2[_local3];
if (_local4.localName() == "source"){
_local5 = _local4.children()[0];
this.source = new Source(_local5);
} else {
if (_local4.localName() == "Keyframe"){
this.addKeyframe(this.getNewKeyframe(_local4));
};
};
_local3++;
};
return (this);
}
override public function getFilters(_arg1:Number):Array{
var _local7:Keyframe;
var _local8:Array;
var _local9:Number;
var _local10:Number;
var _local2:Array;
var _local3:Keyframe = (this.getCurrentKeyframe(_arg1, "filters") as Keyframe);
if (((!(_local3)) || (((_local3.filters) && (!(_local3.filters.length)))))){
return ([]);
};
var _local4:Array = _local3.filters;
var _local5:Number = (_arg1 - _local3.index);
var _local6:ITween = ((_local3.getTween("filters")) || (_local3.getTween()));
if ((((_local5 == 0)) || (!(_local6)))){
_local2 = _local4;
} else {
if (_local6){
_local7 = (this.getNextKeyframe(_arg1, "filters") as Keyframe);
if (((!(_local7)) || (!(_local7.filters.length)))){
_local2 = _local4;
} else {
_local8 = _local7.filters;
_local9 = (_local7.index - _local3.index);
_local10 = _local6.getValue(_local5, 0, 1, _local9);
_local2 = interpolateFilters(_local4, _local8, _local10);
};
};
};
return (_local2);
}
override protected function getNewKeyframe(_arg1:XML=null):KeyframeBase{
return (new Keyframe(_arg1));
}
public function set keyframesCompact(_arg1:Array):void{
var _local2:KeyframeBase;
this._keyframesCompact = _arg1.concat();
this.keyframes = [];
for each (_local2 in this._keyframesCompact) {
this.addKeyframe(_local2);
};
}
public function get keyframesCompact():Array{
var _local1:KeyframeBase;
this._keyframesCompact = [];
for each (_local1 in this.keyframes) {
if (_local1){
this._keyframesCompact.push(_local1);
};
};
return (this._keyframesCompact);
}
override public function getColorTransform(_arg1:int):ColorTransform{
var _local7:Keyframe;
var _local8:ColorTransform;
var _local9:Number;
var _local10:Number;
var _local2:ColorTransform;
var _local3:Keyframe = (this.getCurrentKeyframe(_arg1, "color") as Keyframe);
if (((!(_local3)) || (!(_local3.color)))){
return (null);
};
var _local4:ColorTransform = _local3.color;
var _local5:Number = (_arg1 - _local3.index);
var _local6:ITween = ((((_local3.getTween("color")) || (_local3.getTween("alpha")))) || (_local3.getTween()));
if ((((_local5 == 0)) || (!(_local6)))){
_local2 = _local4;
} else {
if (_local6){
_local7 = (this.getNextKeyframe(_arg1, "color") as Keyframe);
if (((!(_local7)) || (!(_local7.color)))){
_local2 = _local4;
} else {
_local8 = _local7.color;
_local9 = (_local7.index - _local3.index);
_local10 = _local6.getValue(_local5, 0, 1, _local9);
_local2 = Color.interpolateTransform(_local4, _local8, _local10);
};
};
};
return (_local2);
}
private static function getTypeInfo(_arg1):XML{
var _local2 = "";
if ((_arg1 is String)){
_local2 = _arg1;
} else {
_local2 = getQualifiedClassName(_arg1);
};
if ((_local2 in typeCache)){
return (typeCache[_local2]);
};
if ((_arg1 is String)){
_arg1 = getDefinitionByName(_arg1);
};
return ((typeCache[_local2] = describeType(_arg1)));
}
public static function interpolateFilter(_arg1:BitmapFilter, _arg2:BitmapFilter, _arg3:Number):BitmapFilter{
var _local8:XML;
var _local9:String;
var _local10:String;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:Array;
var _local15:Array;
var _local16:Array;
var _local17:int;
var _local18:int;
var _local19:int;
var _local20:int;
var _local21:int;
var _local22:Number;
var _local23:uint;
var _local24:Number;
var _local25:int;
var _local26:Number;
var _local27:uint;
var _local28:Number;
var _local29:int;
var _local30:uint;
var _local31:Number;
if (((!(_arg2)) || (!((_arg1["constructor"] == _arg2["constructor"]))))){
return (_arg1);
};
if (_arg3 > 1){
_arg3 = 1;
} else {
if (_arg3 < 0){
_arg3 = 0;
};
};
var _local4:Number = (1 - _arg3);
var _local5:BitmapFilter = _arg1.clone();
var _local6:XML = getTypeInfo(_arg1);
var _local7:XMLList = _local6.accessor;
for each (_local8 in _local7) {
_local9 = _local8.@name.toString();
_local10 = _local8.@type;
if ((((_local10 == "Number")) || ((_local10 == "int")))){
_local5[_local9] = ((_arg1[_local9] * _local4) + (_arg2[_local9] * _arg3));
} else {
if (_local10 == "uint"){
switch (_local9){
case "color":
case "highlightColor":
case "shadowColor":
_local11 = _arg1[_local9];
_local12 = _arg2[_local9];
_local13 = Color.interpolateColor(_local11, _local12, _arg3);
_local5[_local9] = _local13;
break;
default:
_local5[_local9] = ((_arg1[_local9] * _local4) + (_arg2[_local9] * _arg3));
break;
};
};
};
};
if ((((_arg1 is GradientGlowFilter)) || ((_arg1 is GradientBevelFilter)))){
_local14 = [];
_local15 = [];
_local16 = [];
_local17 = _arg1["ratios"].length;
_local18 = _arg2["ratios"].length;
_local19 = Math.max(_local17, _local18);
_local20 = 0;
while (_local20 < _local19) {
_local21 = Math.min(_local20, (_local17 - 1));
_local22 = _arg1["ratios"][_local21];
_local23 = _arg1["colors"][_local21];
_local24 = _arg1["alphas"][_local21];
_local25 = Math.min(_local20, (_local18 - 1));
_local26 = _arg2["ratios"][_local25];
_local27 = _arg2["colors"][_local25];
_local28 = _arg2["alphas"][_local25];
_local29 = ((_local22 * _local4) + (_local26 * _arg3));
_local30 = Color.interpolateColor(_local23, _local27, _arg3);
_local31 = ((_local24 * _local4) + (_local28 * _arg3));
_local14[_local20] = _local29;
_local15[_local20] = _local30;
_local16[_local20] = _local31;
_local20++;
};
_local5["colors"] = _local15;
_local5["alphas"] = _local16;
_local5["ratios"] = _local14;
};
return (_local5);
}
public static function interpolateFilters(_arg1:Array, _arg2:Array, _arg3:Number):Array{
var _local6:BitmapFilter;
var _local7:BitmapFilter;
var _local8:BitmapFilter;
if (_arg1.length != _arg2.length){
return (null);
};
var _local4:Array = [];
var _local5:int;
while (_local5 < _arg1.length) {
_local6 = _arg1[_local5];
_local7 = _arg2[_local5];
_local8 = interpolateFilter(_local6, _local7, _arg3);
if (_local8){
_local4.push(_local8);
};
_local5++;
};
return (_local4);
}
public static function fromXMLString(_arg1:String):Motion{
var _local2:XML = new XML(_arg1);
return (new Motion(_local2));
}
}
}//package fl.motion
Section 18
//MotionBase (fl.motion.MotionBase)
package fl.motion {
import flash.geom.*;
import flash.filters.*;
import flash.utils.*;
public class MotionBase {
private var _is3D:Boolean;// = false
public var keyframes:Array;
private var _overrideSkew:Boolean;
private var _overrideScale:Boolean;
private var _overrideRotate:Boolean;
private var _duration:int;// = 0
public function MotionBase(_arg1:XML=null){
var _local2:KeyframeBase;
super();
this.keyframes = [];
if (this.duration == 0){
_local2 = this.getNewKeyframe();
_local2.index = 0;
this.addKeyframe(_local2);
};
this._overrideScale = false;
this._overrideSkew = false;
this._overrideRotate = false;
}
public function addKeyframe(_arg1:KeyframeBase):void{
this.keyframes[_arg1.index] = _arg1;
if (this.duration < this.keyframes.length){
this.duration = this.keyframes.length;
};
}
public function initFilters(_arg1:Array, _arg2:Array, _arg3:int=-1, _arg4:int=-1):void{
var _local6:Class;
var _local7:int;
var _local8:KeyframeBase;
var _local9:BitmapFilter;
var _local10:int;
if ((((_arg3 == -1)) || ((_arg4 == -1)))){
_arg3 = 0;
_arg4 = this.duration;
};
var _local5:int;
while (_local5 < _arg1.length) {
_local6 = (getDefinitionByName(_arg1[_local5]) as Class);
_local7 = _arg3;
while (_local7 < _arg4) {
_local8 = KeyframeBase(this.keyframes[_local7]);
if (_local8 == null){
_local8 = this.getNewKeyframe();
_local8.index = _local7;
this.addKeyframe(_local8);
};
if (((_local8) && ((_local8.filters == null)))){
_local8.filters = new Array();
};
if (((_local8) && (_local8.filters))){
_local9 = null;
switch (_arg1[_local5]){
case "flash.filters.GradientBevelFilter":
case "flash.filters.GradientGlowFilter":
_local10 = _arg2[_local5];
_local9 = BitmapFilter(new _local6(4, 45, new Array(_local10), new Array(_local10), new Array(_local10)));
break;
default:
_local9 = BitmapFilter(new (_local6));
break;
};
if (_local9){
_local8.filters.push(_local9);
};
};
_local7++;
};
_local5++;
};
}
public function getCurrentKeyframe(_arg1:int, _arg2:String=""):KeyframeBase{
var _local4:KeyframeBase;
if (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))){
return (null);
};
var _local3:int = _arg1;
while (_local3 > 0) {
_local4 = this.keyframes[_local3];
if (((_local4) && (_local4.affectsTweenable(_arg2)))){
return (_local4);
};
_local3--;
};
return (this.keyframes[0]);
}
public function addFilterPropertyArray(_arg1:int, _arg2:String, _arg3:Array, _arg4:int=-1, _arg5:int=-1):void{
var _local10:KeyframeBase;
var _local11:*;
var _local12:int;
var _local6:int = _arg3.length;
var _local7:* = null;
var _local8:Boolean;
if (_local6 > 0){
if ((_arg3[0] is Number)){
_local8 = false;
};
};
if (this.duration < _local6){
this.duration = _local6;
};
if ((((_arg4 == -1)) || ((_arg5 == -1)))){
_arg4 = 0;
_arg5 = this.duration;
};
var _local9:int = _arg4;
while (_local9 < _arg5) {
_local10 = KeyframeBase(this.keyframes[_local9]);
if (_local10 == null){
_local10 = this.getNewKeyframe();
_local10.index = _local9;
this.addKeyframe(_local10);
};
_local11 = _local7;
_local12 = (_local9 - _arg4);
if (_local12 < _arg3.length){
if (((_arg3[_local12]) || (!(_local8)))){
_local11 = _arg3[_local12];
};
};
switch (_arg2){
case "adjustColorBrightness":
case "adjustColorContrast":
case "adjustColorSaturation":
case "adjustColorHue":
_local10.setAdjustColorProperty(_arg1, _arg2, _local11);
break;
default:
if (_arg1 < _local10.filters.length){
_local10.filters[_arg1][_arg2] = _local11;
};
break;
};
_local7 = _local11;
_local9++;
};
}
public function get duration():int{
if (this._duration < this.keyframes.length){
this._duration = this.keyframes.length;
};
return (this._duration);
}
public function useRotationConcat(_arg1:int):Boolean{
var _local2:KeyframeBase = this.getCurrentKeyframe(_arg1, "rotationConcat");
return ((_local2) ? _local2.useRotationConcat : false);
}
public function get is3D():Boolean{
return (this._is3D);
}
public function getFilters(_arg1:Number):Array{
var _local2:Array;
var _local3:KeyframeBase = this.getCurrentKeyframe(_arg1, "filters");
if (((!(_local3)) || (((_local3.filters) && (!(_local3.filters.length)))))){
return ([]);
};
var _local4:Array = _local3.filters;
var _local5:Number = (_arg1 - _local3.index);
if (_local5 == 0){
_local2 = _local4;
};
return (_local2);
}
protected function findTweenedValue(_arg1:Number, _arg2:String, _arg3:KeyframeBase, _arg4:Number, _arg5:Number):Number{
return (NaN);
}
public function addPropertyArray(_arg1:String, _arg2:Array, _arg3:int=-1, _arg4:int=-1):void{
var _local10:KeyframeBase;
var _local11:*;
var _local12:int;
var _local13:*;
var _local5:int = _arg2.length;
var _local6:* = null;
var _local7:Boolean;
var _local8:Number = 0;
if (_local5 > 0){
if ((_arg2[0] is Number)){
_local7 = false;
if ((_arg2[0] is Number)){
_local8 = Number(_arg2[0]);
};
};
};
if (this.duration < _local5){
this.duration = _local5;
};
if ((((_arg3 == -1)) || ((_arg4 == -1)))){
_arg3 = 0;
_arg4 = this.duration;
};
var _local9:int = _arg3;
while (_local9 < _arg4) {
_local10 = KeyframeBase(this.keyframes[_local9]);
if (_local10 == null){
_local10 = this.getNewKeyframe();
_local10.index = _local9;
this.addKeyframe(_local10);
};
if (((_local10.filters) && ((_local10.filters.length == 0)))){
_local10.filters = null;
};
_local11 = _local6;
_local12 = (_local9 - _arg3);
if (_local12 < _arg2.length){
if (((_arg2[_local12]) || (!(_local7)))){
_local11 = _arg2[_local12];
};
};
switch (_arg1){
case "blendMode":
_local10.blendMode = _local11;
break;
case "matrix3D":
_local10[_arg1] = _local11;
break;
case "rotationConcat":
_local10.useRotationConcat = true;
if (((!(this._overrideRotate)) && (!(_local7)))){
_local10.setValue(_arg1, (((_local11 - _local8) * Math.PI) / 180));
} else {
_local10.setValue(_arg1, ((_local11 * Math.PI) / 180));
};
break;
case "brightness":
case "tintMultiplier":
case "tintColor":
case "alphaMultiplier":
case "alphaOffset":
case "redMultiplier":
case "redOffset":
case "greenMultiplier":
case "greenOffset":
case "blueMultiplier":
case "blueOffset":
if (_local10.color == null){
_local10.color = new Color();
};
_local10.color[_arg1] = _local11;
break;
case "rotationZ":
_local10.useRotationConcat = true;
this._is3D = true;
if (((!(this._overrideRotate)) && (!(_local7)))){
_local10.setValue("rotationConcat", (_local11 - _local8));
} else {
_local10.setValue("rotationConcat", _local11);
};
break;
case "rotationX":
case "rotationY":
case "z":
this._is3D = true;
default:
_local13 = _local11;
if (!_local7){
switch (_arg1){
case "scaleX":
case "scaleY":
if (!this._overrideScale){
if (_local8 == 0){
_local13 = (_local11 + 1);
} else {
_local13 = (_local11 / _local8);
};
};
break;
case "skewX":
case "skewY":
if (!this._overrideSkew){
_local13 = (_local11 - _local8);
};
break;
case "rotationX":
case "rotationY":
if (!this._overrideRotate){
_local13 = (_local11 - _local8);
};
break;
};
};
_local10.setValue(_arg1, _local13);
break;
};
_local6 = _local11;
_local9++;
};
}
public function getMatrix3D(_arg1:int):Object{
var _local2:KeyframeBase = this.getCurrentKeyframe(_arg1, "matrix3D");
return ((_local2) ? _local2.matrix3D : null);
}
public function setValue(_arg1:int, _arg2:String, _arg3:Number):void{
if (_arg1 == 0){
return;
};
var _local4:KeyframeBase = this.keyframes[_arg1];
if (!_local4){
_local4 = this.getNewKeyframe();
_local4.index = _arg1;
this.addKeyframe(_local4);
};
_local4.setValue(_arg2, _arg3);
}
private function indexOutOfRange(_arg1:int):Boolean{
return (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1)))));
}
public function overrideTargetTransform(_arg1:Boolean=true, _arg2:Boolean=true, _arg3:Boolean=true):void{
this._overrideScale = _arg1;
this._overrideSkew = _arg2;
this._overrideRotate = _arg3;
}
public function set duration(_arg1:int):void{
if (_arg1 < this.keyframes.length){
_arg1 = this.keyframes.length;
};
this._duration = _arg1;
}
protected function getNewKeyframe(_arg1:XML=null):KeyframeBase{
return (new KeyframeBase(_arg1));
}
public function getValue(_arg1:Number, _arg2:String):Number{
var _local3:Number = NaN;
var _local4:KeyframeBase = this.getCurrentKeyframe(_arg1, _arg2);
if (((!(_local4)) || (_local4.blank))){
return (NaN);
};
var _local5:Number = _local4.getValue(_arg2);
if (((isNaN(_local5)) && ((_local4.index > 0)))){
_local5 = this.getValue((_local4.index - 1), _arg2);
};
if (isNaN(_local5)){
return (NaN);
};
var _local6:Number = (_arg1 - _local4.index);
if (_local6 == 0){
return (_local5);
};
_local3 = this.findTweenedValue(_arg1, _arg2, _local4, _local6, _local5);
return (_local3);
}
public function set is3D(_arg1:Boolean):void{
this._is3D = _arg1;
}
public function getNextKeyframe(_arg1:int, _arg2:String=""):KeyframeBase{
var _local4:KeyframeBase;
if (((((isNaN(_arg1)) || ((_arg1 < 0)))) || ((_arg1 > (this.duration - 1))))){
return (null);
};
var _local3:int = (_arg1 + 1);
while (_local3 < this.keyframes.length) {
_local4 = this.keyframes[_local3];
if (((_local4) && (_local4.affectsTweenable(_arg2)))){
return (_local4);
};
_local3++;
};
return (null);
}
public function getColorTransform(_arg1:int):ColorTransform{
var _local2:ColorTransform;
var _local3:KeyframeBase = this.getCurrentKeyframe(_arg1, "color");
if (((!(_local3)) || (!(_local3.color)))){
return (null);
};
var _local4:ColorTransform = _local3.color;
var _local5:Number = (_arg1 - _local3.index);
if (_local5 == 0){
_local2 = _local4;
};
return (_local2);
}
}
}//package fl.motion
Section 19
//MotionEvent (fl.motion.MotionEvent)
package fl.motion {
import flash.events.*;
public class MotionEvent extends Event {
public static const MOTION_UPDATE:String = "motionUpdate";
public static const TIME_CHANGE:String = "timeChange";
public static const MOTION_START:String = "motionStart";
public static const MOTION_END:String = "motionEnd";
public function MotionEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new MotionEvent(this.type, this.bubbles, this.cancelable));
}
}
}//package fl.motion
Section 20
//RotateDirection (fl.motion.RotateDirection)
package fl.motion {
public class RotateDirection {
public static const CW:String = "cw";
public static const CCW:String = "ccw";
public static const NONE:String = "none";
public static const AUTO:String = "auto";
}
}//package fl.motion
Section 21
//SimpleEase (fl.motion.SimpleEase)
package fl.motion {
public class SimpleEase implements ITween {
private var _ease:Number;// = 0
private var _target:String;// = ""
public function SimpleEase(_arg1:XML=null){
this.parseXML(_arg1);
}
public function set target(_arg1:String):void{
this._target = _arg1;
}
private function parseXML(_arg1:XML=null):SimpleEase{
if (_arg1){
if (_arg1.@ease.length()){
this.ease = Number(_arg1.@ease);
};
if (_arg1.@target.length()){
this.target = _arg1.@target;
};
};
return (this);
}
public function get ease():Number{
return (this._ease);
}
public function get target():String{
return (this._target);
}
public function getValue(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (easeQuadPercent(_arg1, _arg2, _arg3, _arg4, this.ease));
}
public function set ease(_arg1:Number):void{
this._ease = ((_arg1 > 1)) ? 1 : ((_arg1 < -1)) ? -1 : (isNaN(_arg1)) ? 0 : _arg1;
}
public static function easeQuadPercent(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):Number{
if (_arg4 <= 0){
return (NaN);
};
if (_arg1 <= 0){
return (_arg2);
};
_arg1 = (_arg1 / _arg4);
if (_arg1 >= 1){
return ((_arg2 + _arg3));
};
if (!_arg5){
return (((_arg3 * _arg1) + _arg2));
};
if (_arg5 > 1){
_arg5 = 1;
} else {
if (_arg5 < -1){
_arg5 = -1;
};
};
if (_arg5 < 0){
return ((((_arg3 * _arg1) * ((_arg1 * -(_arg5)) + (1 + _arg5))) + _arg2));
};
return ((((_arg3 * _arg1) * (((2 - _arg1) * _arg5) + (1 - _arg5))) + _arg2));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
if (_arg4 <= 0){
return (NaN);
};
if (_arg1 <= 0){
return (_arg2);
};
if (_arg1 >= _arg4){
return ((_arg2 + _arg3));
};
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package fl.motion
Section 22
//Source (fl.motion.Source)
package fl.motion {
import flash.geom.*;
public class Source {
public var instanceName:String;// = ""
public var symbolName:String;// = ""
public var dimensions:Rectangle;
public var scaleX:Number;// = 1
public var skewX:Number;// = 0
public var skewY:Number;// = 0
public var elementType:String;// = ""
public var transformationPoint:Point;
public var linkageID:String;// = ""
public var scaleY:Number;// = 1
public var frameRate:Number;// = NAN
public var x:Number;// = 0
public var y:Number;// = 0
public var rotation:Number;// = 0
public function Source(_arg1:XML=null){
this.parseXML(_arg1);
}
private function parseXML(_arg1:XML=null):Source{
var _local3:XML;
var _local4:XML;
var _local5:XML;
if (!_arg1){
return (this);
};
if (_arg1.@instanceName){
this.instanceName = String(_arg1.@instanceName);
};
if (_arg1.@symbolName){
this.symbolName = String(_arg1.@symbolName);
};
if (_arg1.@linkageID){
this.linkageID = String(_arg1.@linkageID);
};
if (!isNaN(_arg1.@frameRate)){
this.frameRate = Number(_arg1.@frameRate);
};
var _local2:XMLList = _arg1.elements();
for each (_local3 in _local2) {
if (_local3.localName() == "transformationPoint"){
_local4 = _local3.children()[0];
this.transformationPoint = new Point(Number(_local4.@x), Number(_local4.@y));
} else {
if (_local3.localName() == "dimensions"){
_local5 = _local3.children()[0];
this.dimensions = new Rectangle(Number(_local5.@left), Number(_local5.@top), Number(_local5.@width), Number(_local5.@height));
};
};
};
return (this);
}
}
}//package fl.motion
Section 23
//Tweenables (fl.motion.Tweenables)
package fl.motion {
public class Tweenables {
public static const SCALE_X:String = "scaleX";
public static const SCALE_Y:String = "scaleY";
public static const SKEW_X:String = "skewX";
public static const SKEW_Y:String = "skewY";
public static const ROTATION_CONCAT:String = "rotationConcat";
public static const ROTATION_X:String = "rotationX";
public static const X:String = "x";
public static const Y:String = "y";
public static const Z:String = "z";
public static const ROTATION:String = "rotation";
public static const ROTATION_Y:String = "rotationY";
}
}//package fl.motion
Section 24
//MainTimeline (Twilighttrubite_fla.MainTimeline)
package Twilighttrubite_fla {
import fl.motion.*;
import flash.geom.*;
import flash.display.*;
import flash.filters.*;
public dynamic class MainTimeline extends MovieClip {
public var __id0_:MovieClip;
public var xdsgf:AnimatorFactory;
public var __motion_xdsgf:MotionBase;
public function MainTimeline(){
addFrameScript(1082, frame1083);
if (__motion_xdsgf == null){
__motion_xdsgf = new Motion();
__motion_xdsgf.duration = 135;
__motion_xdsgf.overrideTargetTransform();
__motion_xdsgf.addPropertyArray("x", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
__motion_xdsgf.addPropertyArray("y", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
__motion_xdsgf.addPropertyArray("scaleX", [0.632828, 0.645179, 0.657507, 0.669825, 0.68212, 0.694404, 0.706665, 0.718905, 0.731133, 0.743339, 0.755523, 0.767695, 0.779846, 0.791985, 0.804102, 0.816197, 0.828269, 0.84033, 0.85238, 0.864397, 0.876403, 0.888386, 0.900358, 0.912308, 0.924247, 0.936152, 0.948057, 0.959929, 0.97179, 0.983628, 0.995456, 1.007261, 1.019044, 1.030815, 1.042565, 1.054292, 1.066008, 1.077702, 1.089373, 1.101033, 1.112671, 1.124298, 1.135892, 1.147485, 1.159045, 1.170594, 1.182121, 1.193637, 1.20513, 1.216612, 1.228061, 1.239498, 1.250925, 1.262329, 1.273711, 1.28507, 1.296419, 1.307745, 1.31906, 1.330353, 1.341623, 1.352883, 1.36412, 1.375335, 1.386538, 1.39772, 1.40889, 1.420038, 1.431164, 1.442267, 1.45336, 1.46443, 1.475489, 1.486525, 1.49754, 1.508543, 1.519524, 1.530483, 1.54143, 1.552355, 1.56327, 1.574161, 1.585031, 1.595878, 1.606715, 1.61754, 1.628331, 1.639112, 1.64987, 1.660617, 1.671342, 1.682056, 1.692736, 1.703416, 1.714063, 1.724699, 1.735312, 1.745914, 1.756494, 1.767052, 1.777599, 1.788123, 1.798625, 1.809116, 1.819585, 1.830031, 1.840467, 1.85088, 1.861281, 1.87165, 1.882018, 1.892353, 1.902677, 1.912979, 1.923269, 1.933538, 1.943795, 1.954018, 1.964231, 1.974432, 1.984611, 1.994768, 2.004903, 2.015026, 2.025127, 2.035217, 2.045285, 2.055331, 2.065365, 2.075377, 2.085367, 2.095345, 2.105302, 2.115247, 2.12517]);
__motion_xdsgf.addPropertyArray("scaleY", [0.632828, 0.645179, 0.657507, 0.669825, 0.68212, 0.694404, 0.706665, 0.718905, 0.731133, 0.743339, 0.755523, 0.767695, 0.779846, 0.791985, 0.804102, 0.816197, 0.828269, 0.84033, 0.85238, 0.864397, 0.876403, 0.888386, 0.900358, 0.912308, 0.924247, 0.936152, 0.948057, 0.959929, 0.97179, 0.983628, 0.995456, 1.007261, 1.019044, 1.030815, 1.042565, 1.054292, 1.066008, 1.077702, 1.089373, 1.101033, 1.112671, 1.124298, 1.135892, 1.147485, 1.159045, 1.170594, 1.182121, 1.193637, 1.20513, 1.216612, 1.228061, 1.239498, 1.250925, 1.262329, 1.273711, 1.28507, 1.296419, 1.307745, 1.31906, 1.330353, 1.341623, 1.352883, 1.36412, 1.375335, 1.386538, 1.39772, 1.40889, 1.420038, 1.431164, 1.442267, 1.45336, 1.46443, 1.475489, 1.486525, 1.49754, 1.508543, 1.519524, 1.530483, 1.54143, 1.552355, 1.56327, 1.574161, 1.585031, 1.595878, 1.606715, 1.61754, 1.628331, 1.639112, 1.64987, 1.660617, 1.671342, 1.682056, 1.692736, 1.703416, 1.714063, 1.724699, 1.735312, 1.745914, 1.756494, 1.767052, 1.777599, 1.788123, 1.798625, 1.809116, 1.819585, 1.830031, 1.840467, 1.85088, 1.861281, 1.87165, 1.882018, 1.892353, 1.902677, 1.912979, 1.923269, 1.933538, 1.943795, 1.954018, 1.964231, 1.974432, 1.984611, 1.994768, 2.004903, 2.015026, 2.025127, 2.035217, 2.045285, 2.055331, 2.065365, 2.075377, 2.085367, 2.095345, 2.105302, 2.115247, 2.12517]);
__motion_xdsgf.addPropertyArray("skewX", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
__motion_xdsgf.addPropertyArray("skewY", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
__motion_xdsgf.addPropertyArray("rotationConcat", [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
__motion_xdsgf.addPropertyArray("blendMode", ["normal"]);
__motion_xdsgf.addPropertyArray("alphaMultiplier", [0, 0.008276, 0.016537, 0.024791, 0.03303, 0.041261, 0.049478, 0.057679, 0.065873, 0.074052, 0.082216, 0.090373, 0.098515, 0.106649, 0.114769, 0.122873, 0.130963, 0.139045, 0.147119, 0.155172, 0.163216, 0.171246, 0.179269, 0.187276, 0.195276, 0.203254, 0.211231, 0.219186, 0.227134, 0.235067, 0.242992, 0.250903, 0.258798, 0.266686, 0.27456, 0.282418, 0.290268, 0.298104, 0.305925, 0.313739, 0.321537, 0.329328, 0.337097, 0.344866, 0.352612, 0.360351, 0.368074, 0.375791, 0.383492, 0.391186, 0.398858, 0.406522, 0.414179, 0.421821, 0.429448, 0.43706, 0.444664, 0.452254, 0.459836, 0.467403, 0.474955, 0.4825, 0.49003, 0.497545, 0.505052, 0.512545, 0.52003, 0.5275, 0.534955, 0.542395, 0.549828, 0.557246, 0.564657, 0.572052, 0.579433, 0.586806, 0.594164, 0.601507, 0.608843, 0.616164, 0.623477, 0.630776, 0.63806, 0.645328, 0.652589, 0.659843, 0.667074, 0.674298, 0.681507, 0.688709, 0.695895, 0.703074, 0.710231, 0.717388, 0.724522, 0.731649, 0.738761, 0.745866, 0.752955, 0.76003, 0.767097, 0.774149, 0.781186, 0.788216, 0.795231, 0.802231, 0.809224, 0.816201, 0.823172, 0.830119, 0.837067, 0.843992, 0.85091, 0.857813, 0.864709, 0.871589, 0.878463, 0.885313, 0.892157, 0.898992, 0.905813, 0.912619, 0.91941, 0.926194, 0.932963, 0.939724, 0.94647, 0.953201, 0.959925, 0.966634, 0.973328, 0.980015, 0.986687, 0.993351, 1]);
__motion_xdsgf.initFilters(["flash.filters.BlurFilter"], [0], -1, -1);
__motion_xdsgf.addFilterPropertyArray(0, "blurX", [12, 11.9338, 11.8677, 11.8017, 11.7358, 11.6699, 11.6042, 11.5386, 11.473, 11.4076, 11.3423, 11.277, 11.2119, 11.1468, 11.0819, 11.017, 10.9523, 10.8876, 10.823, 10.7586, 10.6943, 10.63, 10.5659, 10.5018, 10.4378, 10.374, 10.3102, 10.2465, 10.1829, 10.1195, 10.0561, 9.99278, 9.92961, 9.86651, 9.80352, 9.74066, 9.67785, 9.61517, 9.5526, 9.49009, 9.4277, 9.36537, 9.30323, 9.24108, 9.17911, 9.1172, 9.0554, 8.99367, 8.93206, 8.87051, 8.80914, 8.74782, 8.68657, 8.62543, 8.56442, 8.50352, 8.44269, 8.38197, 8.32131, 8.26078, 8.20036, 8.14, 8.07976, 8.01964, 7.95958, 7.89964, 7.83976, 7.78, 7.72036, 7.66084, 7.60137, 7.54203, 7.48275, 7.42358, 7.36454, 7.30555, 7.24669, 7.18794, 7.12926, 7.07069, 7.01218, 6.95379, 6.89552, 6.83737, 6.77928, 6.72126, 6.6634, 6.60561, 6.54794, 6.49033, 6.43284, 6.3754, 6.31815, 6.2609, 6.20382, 6.14681, 6.08991, 6.03308, 5.97636, 5.91976, 5.86323, 5.80681, 5.75051, 5.69427, 5.63815, 5.58215, 5.52621, 5.47039, 5.41463, 5.35905, 5.30346, 5.24806, 5.19272, 5.13749, 5.08233, 5.02728, 4.9723, 4.91749, 4.86275, 4.80806, 4.75349, 4.69905, 4.64472, 4.59045, 4.5363, 4.48221, 4.42824, 4.37439, 4.3206, 4.26693, 4.21337, 4.15988, 4.10651, 4.05319, 4], -1, -1);
__motion_xdsgf.addFilterPropertyArray(0, "blurY", [12, 11.9338, 11.8677, 11.8017, 11.7358, 11.6699, 11.6042, 11.5386, 11.473, 11.4076, 11.3423, 11.277, 11.2119, 11.1468, 11.0819, 11.017, 10.9523, 10.8876, 10.823, 10.7586, 10.6943, 10.63, 10.5659, 10.5018, 10.4378, 10.374, 10.3102, 10.2465, 10.1829, 10.1195, 10.0561, 9.99278, 9.92961, 9.86651, 9.80352, 9.74066, 9.67785, 9.61517, 9.5526, 9.49009, 9.4277, 9.36537, 9.30323, 9.24108, 9.17911, 9.1172, 9.0554, 8.99367, 8.93206, 8.87051, 8.80914, 8.74782, 8.68657, 8.62543, 8.56442, 8.50352, 8.44269, 8.38197, 8.32131, 8.26078, 8.20036, 8.14, 8.07976, 8.01964, 7.95958, 7.89964, 7.83976, 7.78, 7.72036, 7.66084, 7.60137, 7.54203, 7.48275, 7.42358, 7.36454, 7.30555, 7.24669, 7.18794, 7.12926, 7.07069, 7.01218, 6.95379, 6.89552, 6.83737, 6.77928, 6.72126, 6.6634, 6.60561, 6.54794, 6.49033, 6.43284, 6.3754, 6.31815, 6.2609, 6.20382, 6.14681, 6.08991, 6.03308, 5.97636, 5.91976, 5.86323, 5.80681, 5.75051, 5.69427, 5.63815, 5.58215, 5.52621, 5.47039, 5.41463, 5.35905, 5.30346, 5.24806, 5.19272, 5.13749, 5.08233, 5.02728, 4.9723, 4.91749, 4.86275, 4.80806, 4.75349, 4.69905, 4.64472, 4.59045, 4.5363, 4.48221, 4.42824, 4.37439, 4.3206, 4.26693, 4.21337, 4.15988, 4.10651, 4.05319, 4], -1, -1);
__motion_xdsgf.addFilterPropertyArray(0, "quality", [BitmapFilterQuality.LOW], -1, -1);
xdsgf = new AnimatorFactory(__motion_xdsgf);
xdsgf.transformationPoint = new Point(0.500745, 0.5);
};
}
function frame1083(){
gotoAndPlay(416);
}
}
}//package Twilighttrubite_fla
Section 25
//Timeline_1 (Twilighttrubite_fla.Timeline_1)
package Twilighttrubite_fla {
import flash.geom.*;
import flash.display.*;
import flash.events.*;
import flash.filters.*;
import flash.utils.*;
import flash.system.*;
import adobe.utils.*;
import flash.accessibility.*;
import flash.errors.*;
import flash.external.*;
import flash.media.*;
import flash.net.*;
import flash.printing.*;
import flash.profiler.*;
import flash.sampler.*;
import flash.text.*;
import flash.ui.*;
import flash.xml.*;
public dynamic class Timeline_1 extends MovieClip {
public const AUTO_PLAY:Boolean = false;
public const FRAME_RATE_ADJUST:Boolean = true;
public const LOADER_FRAME_RATE:Number = 30;
public var ngButton:SimpleButton;
public var bar:MovieClip;
public var initialized:Boolean;
public var movieFrameRate:Number;
public var loadingComplete:Boolean;
public function Timeline_1(){
addFrameScript(0, frame1, 71, frame72);
}
public function ngButtonClickHandler(_arg1:Event):void{
navigateToURL(new URLRequest("http://www.newgrounds.com"), "_blank");
}
function frame72(){
startMovie();
stop();
}
public function init():void{
if (initialized){
return;
};
movieFrameRate = 0;
if (((FRAME_RATE_ADJUST) && (stage))){
movieFrameRate = stage.frameRate;
stage.frameRate = LOADER_FRAME_RATE;
};
initialized = true;
stop();
if (((root) && ((root is MovieClip)))){
MovieClip(root).stop();
};
loadingComplete = false;
ngButton.addEventListener(MouseEvent.CLICK, ngButtonClickHandler, false, 0, true);
addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true);
if (meetsVersion([9, 0, 28, 0])){
addEventListener(Event.REMOVED_FROM_STAGE, cleanup, false, 0, true);
};
enterFrameHandler();
}
public function enterFrameHandler(_arg1:Event=null):void{
var _local2:Number;
if (((((!(movieFrameRate)) && (FRAME_RATE_ADJUST))) && (stage))){
movieFrameRate = stage.frameRate;
stage.frameRate = LOADER_FRAME_RATE;
};
if (!loadingComplete){
_local2 = 0;
if (loaderInfo){
_local2 = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal);
};
if (bar){
bar.scaleY = _local2;
};
if (_local2 == 1){
loadingComplete = true;
if (AUTO_PLAY){
startMovie();
} else {
gotoAndPlay("loaded");
};
};
};
}
function frame1(){
initialized = false;
init();
}
public function cleanup(_arg1:Event=null){
if (initialized){
ngButton.removeEventListener(MouseEvent.CLICK, ngButtonClickHandler);
removeEventListener(Event.ENTER_FRAME, enterFrameHandler);
if (meetsVersion([9, 0, 28, 0])){
removeEventListener(Event.REMOVED_FROM_STAGE, cleanup);
};
if (movieFrameRate){
stage.frameRate = movieFrameRate;
movieFrameRate = 0;
};
};
initialized = false;
}
public function meetsVersion(_arg1:Array):Boolean{
var _local2:Array = String(Capabilities.version.split(" ")[1]).split(",");
var _local3:uint;
while (_local3 < _arg1.length) {
if (uint(_local2[_local3]) > _arg1[_local3]){
return (true);
};
if (uint(_local2[_local3]) < _arg1[_local3]){
return (false);
};
_local3++;
};
return (true);
}
public function startMovie():void{
cleanup();
if (((root) && ((root is MovieClip)))){
MovieClip(root).play();
};
dispatchEvent(new Event(Event.COMPLETE));
}
}
}//package Twilighttrubite_fla