Section 1
//MD5 (com.adobe.crypto.MD5)
package com.adobe.crypto {
import flash.utils.*;
import com.adobe.utils.*;
public class MD5 {
public static var digest:ByteArray;
private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function f(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg2) | (~(_arg1) & _arg3)));
}
private static function g(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 & _arg3) | (_arg2 & ~(_arg3))));
}
private static function h(_arg1:int, _arg2:int, _arg3:int):int{
return (((_arg1 ^ _arg2) ^ _arg3));
}
private static function i(_arg1:int, _arg2:int, _arg3:int):int{
return ((_arg2 ^ (_arg1 | ~(_arg3))));
}
private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{
var _local9:int;
_local9 = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8);
return ((IntUtil.rol(_local9, _arg7) + _arg3));
}
private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hash(_arg1:String):String{
var _local2:ByteArray;
_local2 = new ByteArray();
_local2.writeUTFBytes(_arg1);
return (hashBinary(_local2));
}
private static function createBlocks(_arg1:ByteArray):Array{
var _local2:Array;
var _local3:int;
var _local4:int;
var _local5:int;
_local2 = new Array();
_local3 = (_arg1.length * 8);
_local4 = 0xFF;
_local5 = 0;
while (_local5 < _local3) {
_local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32)));
_local5 = (_local5 + 8);
};
_local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32)));
_local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3;
return (_local2);
}
public static function hashBinary(_arg1:ByteArray):String{
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Array;
var _local11:int;
var _local12:int;
_local2 = 1732584193;
_local3 = -271733879;
_local4 = -1732584194;
_local5 = 271733878;
_local10 = createBlocks(_arg1);
_local11 = _local10.length;
_local12 = 0;
while (_local12 < _local11) {
_local6 = _local2;
_local7 = _local3;
_local8 = _local4;
_local9 = _local5;
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162);
_local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682);
_local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101);
_local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290);
_local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501);
_local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467);
_local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784);
_local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473);
_local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189);
_local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487);
_local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835);
_local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520);
_local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649);
_local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070);
_local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379);
_local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259);
_local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551);
_local2 = (_local2 + _local6);
_local3 = (_local3 + _local7);
_local4 = (_local4 + _local8);
_local5 = (_local5 + _local9);
_local12 = (_local12 + 16);
};
digest = new ByteArray();
digest.writeInt(_local2);
digest.writeInt(_local3);
digest.writeInt(_local4);
digest.writeInt(_local5);
digest.position = 0;
return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5)));
}
private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{
return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7));
}
public static function hashBytes(_arg1:ByteArray):String{
return (hashBinary(_arg1));
}
}
}//package com.adobe.crypto
Section 2
//IntUtil (com.adobe.utils.IntUtil)
package com.adobe.utils {
public class IntUtil {
private static var hexChars:String = "0123456789abcdef";
public static function toHex(_arg1:int, _arg2:Boolean=false):String{
var _local3:String;
var _local4:int;
var _local5:int;
_local3 = "";
if (_arg2){
_local4 = 0;
while (_local4 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15))));
_local4++;
};
} else {
_local5 = 0;
while (_local5 < 4) {
_local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15))));
_local5++;
};
};
return (_local3);
}
public static function ror(_arg1:int, _arg2:int):uint{
var _local3:int;
_local3 = (32 - _arg2);
return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3))));
}
public static function rol(_arg1:int, _arg2:int):int{
return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2))));
}
}
}//package com.adobe.utils
Section 3
//CDK (com.coreyoneil.collision.CDK)
package com.coreyoneil.collision {
import flash.display.*;
import flash.utils.*;
import flash.geom.*;
import flash.text.*;
import flash.errors.*;
public class CDK {
private var colorTransform1:ColorTransform;
private var colorTransform2:ColorTransform;
private var _returnAngleType:String;
private var pixels1:ByteArray;
private var pixels2:ByteArray;
private var bmdResample:BitmapData;
private var _returnAngle:Boolean;
private var transMatrix2:Matrix;
private var rect1:Rectangle;
private var rect2:Rectangle;
private var transMatrix1:Matrix;
protected var objectCheckArray:Array;
private var _alphaThreshold:Number;
private var item1Registration:Point;
private var bmd1:BitmapData;
private var bmd2:BitmapData;
protected var objectArray:Array;
private var item2Registration:Point;
protected var objectCollisionArray:Array;
private var _numChildren:uint;
private var colorExclusionArray:Array;
public function CDK():void{
if (getQualifiedClassName(this) == "com.coreyoneil.collision::CDK"){
throw (new Error("CDK is an abstract class and is not meant for instantiation - use CollisionGroup or CollisionList"));
};
init();
}
public function get returnAngle():Boolean{
return (_returnAngle);
}
public function set returnAngle(_arg1:Boolean):void{
_returnAngle = _arg1;
}
private function init():void{
objectCheckArray = [];
objectCollisionArray = [];
objectArray = [];
colorExclusionArray = [];
_alphaThreshold = 0;
_returnAngle = true;
_returnAngleType = "RADIANS";
}
protected function findCollisions(_arg1, _arg2):void{
var item1_isText:Boolean;
var item2_isText:Boolean;
var item1xDiff:Number;
var item1yDiff:Number;
var currentObj:*;
var k:uint;
var value1:uint;
var value2:uint;
var collisionPoint:Number;
var overlap:Boolean;
var overlapping:Array;
var locY:Number;
var locX:Number;
var locStage:Point;
var hasColors:int;
var pixelLength:int;
var alpha1:uint;
var alpha2:uint;
var colorFlag:Boolean;
var red1:uint;
var red2:uint;
var green1:uint;
var green2:uint;
var blue1:uint;
var blue2:uint;
var colorObj:Object;
var aPlus:uint;
var aMinus:uint;
var rPlus:uint;
var rMinus:uint;
var gPlus:uint;
var gMinus:uint;
var bPlus:uint;
var bMinus:uint;
var item1Flags:uint;
var item2Flags:uint;
var n:uint;
var angle:Number;
var recordedCollision:Object;
var item1 = _arg1;
var item2 = _arg2;
item1_isText = false;
item2_isText = false;
if ((item1 is TextField)){
item1_isText = ((item1.antiAliasType)=="advanced") ? true : false;
item1.antiAliasType = ((item1.antiAliasType)=="advanced") ? "normal" : item1.antiAliasType;
};
if ((item2 is TextField)){
item2_isText = ((item2.antiAliasType)=="advanced") ? true : false;
item2.antiAliasType = ((item2.antiAliasType)=="advanced") ? "normal" : item2.antiAliasType;
};
colorTransform1 = item1.transform.colorTransform;
colorTransform2 = item2.transform.colorTransform;
item1Registration = new Point();
item2Registration = new Point();
item1Registration = item1.localToGlobal(item1Registration);
item2Registration = item2.localToGlobal(item2Registration);
bmd1 = new BitmapData(item1.width, item1.height, true, 0xFFFFFF);
bmd2 = new BitmapData(item1.width, item1.height, true, 0xFFFFFF);
transMatrix1 = item1.transform.matrix;
currentObj = item1;
while (currentObj.parent != null) {
transMatrix1.concat(currentObj.parent.transform.matrix);
currentObj = currentObj.parent;
};
rect1 = item1.getBounds(currentObj);
if (item1 != currentObj){
rect1.x = (rect1.x + currentObj.x);
rect1.y = (rect1.y + currentObj.y);
};
var _local4 = (item1Registration.x - rect1.left);
item1xDiff = _local4;
transMatrix1.tx = _local4;
_local4 = (item1Registration.y - rect1.top);
item1yDiff = _local4;
transMatrix1.ty = _local4;
transMatrix2 = item2.transform.matrix;
currentObj = item2;
while (currentObj.parent != null) {
transMatrix2.concat(currentObj.parent.transform.matrix);
currentObj = currentObj.parent;
};
transMatrix2.tx = (item2Registration.x - rect1.left);
transMatrix2.ty = (item2Registration.y - rect1.top);
bmd1.draw(item1, transMatrix1, colorTransform1, null, null, true);
bmd2.draw(item2, transMatrix2, colorTransform2, null, null, true);
pixels1 = bmd1.getPixels(new Rectangle(0, 0, bmd1.width, bmd1.height));
pixels2 = bmd2.getPixels(new Rectangle(0, 0, bmd1.width, bmd1.height));
k = 0;
value1 = 0;
value2 = 0;
collisionPoint = -1;
overlap = false;
overlapping = [];
hasColors = colorExclusionArray.length;
pixels1.position = 0;
pixels2.position = 0;
pixelLength = pixels1.length;
while (k < pixelLength) {
k = pixels1.position;
try {
value1 = pixels1.readUnsignedInt();
value2 = pixels2.readUnsignedInt();
} catch(e:EOFError) {
break;
};
alpha1 = ((value1 >> 24) & 0xFF);
alpha2 = ((value2 >> 24) & 0xFF);
if ((((alpha1 > _alphaThreshold)) && ((alpha2 > _alphaThreshold)))){
colorFlag = false;
if (hasColors){
red1 = ((value1 >> 16) & 0xFF);
red2 = ((value2 >> 16) & 0xFF);
green1 = ((value1 >> 8) & 0xFF);
green2 = ((value2 >> 8) & 0xFF);
blue1 = (value1 & 0xFF);
blue2 = (value2 & 0xFF);
n = 0;
while (n < hasColors) {
colorObj = Object(colorExclusionArray[n]);
item1Flags = 0;
item2Flags = 0;
if ((((blue1 >= colorObj.bMinus)) && ((blue1 <= colorObj.bPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((blue2 >= colorObj.bMinus)) && ((blue2 <= colorObj.bPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((green1 >= colorObj.gMinus)) && ((green1 <= colorObj.gPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((green2 >= colorObj.gMinus)) && ((green2 <= colorObj.gPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((red1 >= colorObj.rMinus)) && ((red1 <= colorObj.rPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((red2 >= colorObj.rMinus)) && ((red2 <= colorObj.rPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((alpha1 >= colorObj.aMinus)) && ((alpha1 <= colorObj.aPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((alpha2 >= colorObj.aMinus)) && ((alpha2 <= colorObj.aPlus)))){
item2Flags = (item2Flags + 1);
};
if ((((item1Flags == 4)) || ((item2Flags == 4)))){
colorFlag = true;
};
n = (n + 1);
};
};
if (!colorFlag){
overlap = true;
collisionPoint = (k >> 2);
locY = (collisionPoint / bmd1.width);
locX = (collisionPoint % bmd1.width);
locY = (locY - item1yDiff);
locX = (locX - item1xDiff);
locStage = item1.localToGlobal(new Point(locX, locY));
overlapping.push(locStage);
};
};
};
if (overlap){
angle = (_returnAngle) ? findAngle(item1, item2) : 0;
recordedCollision = {object1:item1, object2:item2, angle:angle, overlapping:overlapping};
objectCollisionArray.push(recordedCollision);
};
if (item1_isText){
item1.antiAliasType = "advanced";
};
if (item2_isText){
item2.antiAliasType = "advanced";
};
_local4 = false;
item2_isText = _local4;
item1_isText = _local4;
}
public function dispose():void{
objectArray = [];
}
public function excludeColor(_arg1:uint, _arg2:uint=0xFF, _arg3:uint=20, _arg4:uint=20, _arg5:uint=20):void{
var _local6:int;
var _local7:uint;
var _local8:uint;
var _local9:uint;
var _local10:uint;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:uint;
var _local15:uint;
var _local16:Object;
_local6 = colorExclusionArray.length;
_local7 = 0;
while (_local7 < _local6) {
if (colorExclusionArray[_local7].color == _arg1){
throw (new Error((("Color could not be added - color already in the exclusion list [" + _arg1) + "]")));
};
_local7++;
};
_local8 = (((_arg1 >> 24) & 0xFF) + _arg2);
_local9 = (_local8 - (_arg2 << 1));
_local10 = (((_arg1 >> 16) & 0xFF) + _arg3);
_local11 = (_local10 - (_arg3 << 1));
_local12 = (((_arg1 >> 8) & 0xFF) + _arg4);
_local13 = (_local12 - (_arg4 << 1));
_local14 = ((_arg1 & 0xFF) + _arg5);
_local15 = (_local14 - (_arg5 << 1));
_local16 = {color:_arg1, aPlus:_local8, aMinus:_local9, rPlus:_local10, rMinus:_local11, gPlus:_local12, gMinus:_local13, bPlus:_local14, bMinus:_local15};
colorExclusionArray.push(_local16);
}
public function get numChildren():uint{
return (objectArray.length);
}
public function get alphaThreshold():Number{
return (_alphaThreshold);
}
public function removeItem(_arg1):void{
var _local2:int;
_local2 = objectArray.indexOf(_arg1);
if (_local2 > -1){
objectArray.splice(_local2, 1);
} else {
throw (new Error((_arg1 + " could not be removed - object not found in item list.")));
};
}
public function set returnAngleType(_arg1:String):void{
_arg1 = _arg1.toUpperCase();
switch (_arg1){
case "DEGREES":
case "DEGREE":
case "DEG":
case "DEGS":
_returnAngleType = "DEGREES";
break;
case "RADIANS":
case "RADIAN":
case "RAD":
case "RADS":
_returnAngleType = "RADIANS";
break;
default:
throw (new Error("returnAngleType expects 'DEGREES' or 'RADIANS'"));
};
}
private function findAngle(_arg1:DisplayObject, _arg2:DisplayObject):Number{
var center:Point;
var pixels:ByteArray;
var columnHeight:uint;
var rowWidth:uint;
var pixel:uint;
var thisAlpha:uint;
var lastAlpha:int;
var edgeArray:Array;
var hasColors:int;
var j:uint;
var edgePoint:int;
var numEdges:int;
var slopeYAvg:Number;
var slopeXAvg:Number;
var average:Number;
var k:uint;
var upperLimit:int;
var colorFlag:Boolean;
var red1:uint;
var green1:uint;
var blue1:uint;
var colorObj:Object;
var a:uint;
var r:uint;
var g:uint;
var b:uint;
var item1Flags:uint;
var n:uint;
var item1 = _arg1;
var item2 = _arg2;
center = new Point((item1.width >> 1), (item1.height >> 1));
pixels = pixels2;
transMatrix2.tx = (transMatrix2.tx + center.x);
transMatrix2.ty = (transMatrix2.ty + center.y);
bmdResample = new BitmapData((item1.width << 1), (item1.height << 1), true, 0xFFFFFF);
bmdResample.draw(item2, transMatrix2, colorTransform2, null, null, true);
pixels = bmdResample.getPixels(new Rectangle(0, 0, bmdResample.width, bmdResample.height));
center.x = (bmdResample.width >> 1);
center.y = (bmdResample.height >> 1);
columnHeight = Math.round(bmdResample.height);
rowWidth = Math.round(bmdResample.width);
edgeArray = [];
hasColors = colorExclusionArray.length;
j = 0;
while (j < columnHeight) {
k = ((j * rowWidth) << 2);
pixels.position = k;
lastAlpha = -1;
upperLimit = (((j + 1) * rowWidth) << 2);
while (k < upperLimit) {
k = pixels.position;
try {
pixel = pixels.readUnsignedInt();
} catch(e:EOFError) {
break;
};
thisAlpha = ((pixel >> 24) & 0xFF);
if (lastAlpha == -1){
lastAlpha = thisAlpha;
} else {
if (thisAlpha > _alphaThreshold){
colorFlag = false;
if (hasColors){
red1 = ((pixel >> 16) & 0xFF);
green1 = ((pixel >> 8) & 0xFF);
blue1 = (pixel & 0xFF);
n = 0;
while (n < hasColors) {
colorObj = Object(colorExclusionArray[n]);
item1Flags = 0;
if ((((blue1 >= colorObj.bMinus)) && ((blue1 <= colorObj.bPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((green1 >= colorObj.gMinus)) && ((green1 <= colorObj.gPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((red1 >= colorObj.rMinus)) && ((red1 <= colorObj.rPlus)))){
item1Flags = (item1Flags + 1);
};
if ((((thisAlpha >= colorObj.aMinus)) && ((thisAlpha <= colorObj.aPlus)))){
item1Flags = (item1Flags + 1);
};
if (item1Flags == 4){
colorFlag = true;
};
n = (n + 1);
};
};
if (!colorFlag){
edgeArray.push((k >> 2));
};
};
};
};
j = (j + 1);
};
numEdges = edgeArray.length;
slopeYAvg = 0;
slopeXAvg = 0;
j = 0;
while (j < numEdges) {
edgePoint = int(edgeArray[j]);
slopeYAvg = (slopeYAvg + (center.y - (edgePoint / rowWidth)));
slopeXAvg = (slopeXAvg + ((edgePoint % rowWidth) - center.x));
j = (j + 1);
};
average = -(Math.atan2(slopeYAvg, slopeXAvg));
average = ((_returnAngleType == "RADIANS")) ? average : (average * 57.2957795);
return (average);
}
public function addItem(_arg1):void{
if ((_arg1 is DisplayObject)){
objectArray.push(_arg1);
} else {
throw (new Error((("Cannot add item: " + _arg1) + " - item must be a Display Object.")));
};
}
public function get returnAngleType():String{
return (_returnAngleType);
}
public function set alphaThreshold(_arg1:Number):void{
if ((((_arg1 <= 1)) && ((_arg1 >= 0)))){
_alphaThreshold = (_arg1 * 0xFF);
} else {
throw (new Error("alphaThreshold expects a value from 0 to 1"));
};
}
public function removeExcludeColor(_arg1:uint):void{
var _local2:Boolean;
var _local3:int;
var _local4:uint;
_local2 = false;
_local3 = colorExclusionArray.length;
_local4 = 0;
while (_local4 < _local3) {
if (colorExclusionArray[_local4].color == _arg1){
colorExclusionArray.splice(_local4, 1);
_local2 = true;
break;
};
_local4++;
};
if (!_local2){
throw (new Error((("Color could not be removed - color not found in exclusion list [" + _arg1) + "]")));
};
}
protected function clearArrays():void{
objectCheckArray = [];
objectCollisionArray = [];
}
}
}//package com.coreyoneil.collision
Section 4
//CollisionList (com.coreyoneil.collision.CollisionList)
package com.coreyoneil.collision {
import flash.display.*;
public class CollisionList extends CDK {
public function CollisionList(_arg1, ... _args):void{
var _local3:uint;
super();
addItem(_arg1);
_local3 = 0;
while (_local3 < _args.length) {
addItem(_args[_local3]);
_local3++;
};
}
public function swapTarget(_arg1):void{
if ((_arg1 is DisplayObject)){
objectArray[0] = _arg1;
} else {
throw (new Error((("Cannot swap target: " + _arg1) + " - item must be a Display Object.")));
};
}
public function checkCollisions():Array{
var _local1:uint;
var _local2:*;
var _local3:DisplayObject;
var _local4:uint;
clearArrays();
_local1 = objectArray.length;
_local2 = DisplayObject(objectArray[0]);
_local4 = 1;
while (_local4 < _local1) {
_local3 = DisplayObject(objectArray[_local4]);
if (_local2.hitTestObject(_local3)){
if ((_local3.width * _local3.height) > (_local2.width * _local2.height)){
objectCheckArray.push([_local2, _local3]);
} else {
objectCheckArray.push([_local3, _local2]);
};
};
_local4++;
};
_local1 = objectCheckArray.length;
_local4 = 0;
while (_local4 < _local1) {
findCollisions(DisplayObject(objectCheckArray[_local4][0]), DisplayObject(objectCheckArray[_local4][1]));
_local4++;
};
return (objectCollisionArray);
}
override public function removeItem(_arg1):void{
var _local2:int;
_local2 = objectArray.indexOf(_arg1);
if (_local2 > 0){
objectArray.splice(_local2, 1);
} else {
if (_local2 == 0){
throw (new Error("You cannot remove the target from CollisionList. Use swapTarget to change the target."));
};
throw (new Error((_arg1 + " could not be removed - object not found in item list.")));
};
}
}
}//package com.coreyoneil.collision
Section 5
//PropTween (com.greensock.core.PropTween)
package com.greensock.core {
public class PropTween {
public var start:Number;
public var name:String;
public var prevNode:PropTween;
public var change:Number;
public var target:Object;
public var priority:int;
public var property:String;
public var nextNode:PropTween;
public var isPlugin:Boolean;
public function PropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number, _arg5:String, _arg6:Boolean, _arg7:PropTween=null, _arg8:int=0){
this.target = _arg1;
this.property = _arg2;
this.start = _arg3;
this.change = _arg4;
this.name = _arg5;
this.isPlugin = _arg6;
if (_arg7){
_arg7.prevNode = this;
this.nextNode = _arg7;
};
this.priority = _arg8;
}
}
}//package com.greensock.core
Section 6
//SimpleTimeline (com.greensock.core.SimpleTimeline)
package com.greensock.core {
public class SimpleTimeline extends TweenCore {
public var autoRemoveChildren:Boolean;
protected var _lastChild:TweenCore;
protected var _firstChild:TweenCore;
public function SimpleTimeline(_arg1:Object=null){
super(0, _arg1);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:TweenCore;
var _local5:Number;
var _local6:TweenCore;
_local4 = _firstChild;
this.cachedTotalTime = _arg1;
this.cachedTime = _arg1;
while (_local4) {
_local6 = _local4.nextNode;
if (((_local4.active) || ((((((_arg1 >= _local4.cachedStartTime)) && (!(_local4.cachedPaused)))) && (!(_local4.gc)))))){
if (!_local4.cachedReversed){
_local4.renderTime(((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale), _arg2, false);
} else {
_local5 = (_local4.cacheIsDirty) ? _local4.totalDuration : _local4.cachedTotalDuration;
_local4.renderTime((_local5 - ((_arg1 - _local4.cachedStartTime) * _local4.cachedTimeScale)), _arg2, false);
};
};
_local4 = _local6;
};
}
public function addChild(_arg1:TweenCore):void{
if (((!(_arg1.gc)) && (_arg1.timeline))){
_arg1.timeline.remove(_arg1, true);
};
_arg1.timeline = this;
if (_arg1.gc){
_arg1.setEnabled(true, true);
};
if (_firstChild){
_firstChild.prevNode = _arg1;
};
_arg1.nextNode = _firstChild;
_firstChild = _arg1;
_arg1.prevNode = null;
}
public function get rawTime():Number{
return (this.cachedTotalTime);
}
public function remove(_arg1:TweenCore, _arg2:Boolean=false):void{
if (((!(_arg1.gc)) && (!(_arg2)))){
_arg1.setEnabled(false, true);
};
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
} else {
if (_lastChild == _arg1){
_lastChild = _arg1.prevNode;
};
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (_firstChild == _arg1){
_firstChild = _arg1.nextNode;
};
};
}
}
}//package com.greensock.core
Section 7
//TweenCore (com.greensock.core.TweenCore)
package com.greensock.core {
import com.greensock.*;
public class TweenCore {
public var initted:Boolean;
protected var _hasUpdate:Boolean;
public var active:Boolean;
protected var _delay:Number;
public var cachedReversed:Boolean;
public var nextNode:TweenCore;
public var cachedTime:Number;
protected var _rawPrevTime:Number;// = -1
public var vars:Object;
public var cachedTotalTime:Number;
public var data;
public var timeline:SimpleTimeline;
public var cachedStartTime:Number;
public var prevNode:TweenCore;
public var cachedDuration:Number;
public var gc:Boolean;
protected var _pauseTime:Number;
public var cacheIsDirty:Boolean;
public var cachedPaused:Boolean;
public var cachedTimeScale:Number;
public var cachedTotalDuration:Number;
public static const version:Number = 1.13;
protected static var _classInitted:Boolean;
public function TweenCore(_arg1:Number=0, _arg2:Object=null){
var _local3:SimpleTimeline;
_rawPrevTime = -1;
super();
this.vars = ((_arg2) || ({}));
this.cachedDuration = (this.cachedTotalDuration = ((_arg1) || (0)));
_delay = ((this.vars.delay) || (0));
this.cachedTimeScale = ((this.vars.timeScale) || (1));
this.active = Boolean((((((_arg1 == 0)) && ((_delay == 0)))) && (!((this.vars.immediateRender == false)))));
this.cachedTotalTime = (this.cachedTime = 0);
this.data = this.vars.data;
if (!_classInitted){
if (isNaN(TweenLite.rootFrame)){
TweenLite.initClass();
_classInitted = true;
} else {
return;
};
};
_local3 = ((this.vars.timeline is SimpleTimeline)) ? this.vars.timeline : (this.vars.useFrames) ? TweenLite.rootFramesTimeline : TweenLite.rootTimeline;
this.cachedStartTime = (_local3.cachedTotalTime + _delay);
_local3.addChild(this);
if (this.vars.reversed){
this.cachedReversed = true;
};
if (this.vars.paused){
this.paused = true;
};
}
public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
}
public function get delay():Number{
return (_delay);
}
public function get duration():Number{
return (this.cachedDuration);
}
public function set reversed(_arg1:Boolean):void{
if (_arg1 != this.cachedReversed){
this.cachedReversed = _arg1;
setTotalTime(this.cachedTotalTime, true);
};
}
public function set startTime(_arg1:Number):void{
var _local2:Boolean;
_local2 = Boolean(((!((this.timeline == null))) && (((!((_arg1 == this.cachedStartTime))) || (this.gc)))));
this.cachedStartTime = _arg1;
if (_local2){
this.timeline.addChild(this);
};
}
public function set delay(_arg1:Number):void{
this.startTime = (this.startTime + (_arg1 - _delay));
_delay = _arg1;
}
public function resume():void{
this.paused = false;
}
public function get paused():Boolean{
return (this.cachedPaused);
}
public function play():void{
this.reversed = false;
this.paused = false;
}
public function set duration(_arg1:Number):void{
this.cachedDuration = (this.cachedTotalDuration = _arg1);
setDirtyCache(false);
}
public function invalidate():void{
}
public function restart(_arg1:Boolean=false, _arg2:Boolean=true):void{
this.reversed = false;
this.paused = false;
this.setTotalTime((_arg1) ? -(_delay) : 0, _arg2);
}
public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
if (!_arg1){
renderTime(this.cachedTotalDuration, _arg2, false);
return;
};
if (this.timeline.autoRemoveChildren){
this.setEnabled(false, false);
} else {
this.active = false;
};
if (!_arg2){
if (((((this.vars.onComplete) && ((this.cachedTotalTime == this.cachedTotalDuration)))) && (!(this.cachedReversed)))){
this.vars.onComplete.apply(null, this.vars.onCompleteParams);
} else {
if (((((this.cachedReversed) && ((this.cachedTotalTime == 0)))) && (this.vars.onReverseComplete))){
this.vars.onReverseComplete.apply(null, this.vars.onReverseCompleteParams);
};
};
};
}
public function get reversed():Boolean{
return (this.cachedReversed);
}
public function get totalTime():Number{
return (this.cachedTotalTime);
}
public function get startTime():Number{
return (this.cachedStartTime);
}
public function set currentTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
protected function setDirtyCache(_arg1:Boolean=true):void{
var _local2:TweenCore;
_local2 = (_arg1) ? this : this.timeline;
while (_local2) {
_local2.cacheIsDirty = true;
_local2 = _local2.timeline;
};
}
public function reverse(_arg1:Boolean=true):void{
this.reversed = true;
if (_arg1){
this.paused = false;
} else {
if (this.gc){
this.setEnabled(true, false);
};
};
}
public function set paused(_arg1:Boolean):void{
if (((!((_arg1 == this.cachedPaused))) && (this.timeline))){
if (_arg1){
_pauseTime = this.timeline.rawTime;
} else {
this.cachedStartTime = (this.cachedStartTime + (this.timeline.rawTime - _pauseTime));
_pauseTime = NaN;
setDirtyCache(false);
};
this.cachedPaused = _arg1;
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
};
if (((!(_arg1)) && (this.gc))){
this.setTotalTime(this.cachedTotalTime, false);
this.setEnabled(true, false);
};
}
public function kill():void{
setEnabled(false, false);
}
public function set totalTime(_arg1:Number):void{
setTotalTime(_arg1, false);
}
public function get currentTime():Number{
return (this.cachedTime);
}
protected function setTotalTime(_arg1:Number, _arg2:Boolean=false):void{
var _local3:Number;
var _local4:Number;
if (this.timeline){
_local3 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
if (this.cachedReversed){
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
this.cachedStartTime = (_local3 - ((_local4 - _arg1) / this.cachedTimeScale));
} else {
this.cachedStartTime = (_local3 - (_arg1 / this.cachedTimeScale));
};
if (!this.timeline.cacheIsDirty){
setDirtyCache(false);
};
if (this.cachedTotalTime != _arg1){
renderTime(_arg1, _arg2, false);
};
};
}
public function pause():void{
this.paused = true;
}
public function set totalDuration(_arg1:Number):void{
this.duration = _arg1;
}
public function get totalDuration():Number{
return (this.cachedTotalDuration);
}
public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
if (_arg1){
this.active = Boolean(((((!(this.cachedPaused)) && ((this.cachedTotalTime > 0)))) && ((this.cachedTotalTime < this.cachedTotalDuration))));
if (((!(_arg2)) && (this.gc))){
this.timeline.addChild(this);
};
} else {
this.active = false;
if (!_arg2){
this.timeline.remove(this, true);
};
};
this.gc = !(_arg1);
return (false);
}
}
}//package com.greensock.core
Section 8
//Back (com.greensock.easing.Back)
package com.greensock.easing {
public class Back {
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = (_arg1 / _arg4);
return (((((_arg3 * _arg1) * _arg1) * (((_arg5 + 1) * _arg1) - _arg5)) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number=1.70158):Number{
_arg1 = (_arg1 / (_arg4 * 0.5));
if (_arg1 < 1){
_arg5 = (_arg5 * 1.525);
return ((((_arg3 * 0.5) * ((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) - _arg5))) + _arg2));
};
_arg1 = (_arg1 - 2);
_arg5 = (_arg5 * 1.525);
return ((((_arg3 / 2) * (((_arg1 * _arg1) * (((_arg5 + 1) * _arg1) + _arg5)) + 2)) + _arg2));
}
}
}//package com.greensock.easing
Section 9
//Linear (com.greensock.easing.Linear)
package com.greensock.easing {
public class Linear {
public static const power:uint = 0;
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeNone(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return ((((_arg3 * _arg1) / _arg4) + _arg2));
}
}
}//package com.greensock.easing
Section 10
//Strong (com.greensock.easing.Strong)
package com.greensock.easing {
public class Strong {
public static const power:uint = 4;
public static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = ((_arg1 / _arg4) - 1);
return (((_arg3 * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 1)) + _arg2));
}
public static function easeIn(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / _arg4);
return (((((((_arg3 * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
}
public static function easeInOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (_arg1 / (_arg4 * 0.5));
if (_arg1 < 1){
return ((((((((_arg3 * 0.5) * _arg1) * _arg1) * _arg1) * _arg1) * _arg1) + _arg2));
};
_arg1 = (_arg1 - 2);
return ((((_arg3 * 0.5) * (((((_arg1 * _arg1) * _arg1) * _arg1) * _arg1) + 2)) + _arg2));
}
}
}//package com.greensock.easing
Section 11
//TweenEvent (com.greensock.events.TweenEvent)
package com.greensock.events {
import flash.events.*;
public class TweenEvent extends Event {
public static const COMPLETE:String = "complete";
public static const START:String = "init";
public static const UPDATE:String = "change";
public static const REVERSE_COMPLETE:String = "reverseComplete";
public static const VERSION:Number = 1;
public static const REPEAT:String = "repeat";
public function TweenEvent(_arg1:String, _arg2:Boolean=false, _arg3:Boolean=false){
super(_arg1, _arg2, _arg3);
}
override public function clone():Event{
return (new TweenEvent(this.type, this.bubbles, this.cancelable));
}
}
}//package com.greensock.events
Section 12
//AutoAlphaPlugin (com.greensock.plugins.AutoAlphaPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class AutoAlphaPlugin extends TweenPlugin {
protected var _ignoreVisible:Boolean;
protected var _target:Object;
public static const API:Number = 1;
public function AutoAlphaPlugin(){
this.propName = "autoAlpha";
this.overwriteProps = ["alpha", "visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
addTween(_arg1, "alpha", _arg1.alpha, _arg2, "alpha");
return (true);
}
override public function killProps(_arg1:Object):void{
super.killProps(_arg1);
_ignoreVisible = Boolean(("visible" in _arg1));
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
if (!_ignoreVisible){
_target.visible = Boolean(!((_target.alpha == 0)));
};
}
}
}//package com.greensock.plugins
Section 13
//BevelFilterPlugin (com.greensock.plugins.BevelFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class BevelFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "highlightColor", "highlightAlpha", "shadowColor", "shadowAlpha", "blurX", "blurY", "strength", "quality"];
public function BevelFilterPlugin(){
this.propName = "bevelFilter";
this.overwriteProps = ["bevelFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BevelFilter;
initFilter(_arg2, new BevelFilter(0, 0, 0xFFFFFF, 0.5, 0, 0.5, 2, 2, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 14
//BezierPlugin (com.greensock.plugins.BezierPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import com.greensock.*;
public class BezierPlugin extends TweenPlugin {
protected var _future:Object;
protected var _orientData:Array;
protected var _orient:Boolean;
protected var _beziers:Object;
protected var _target:Object;
public static const API:Number = 1;
protected static const _RAD2DEG:Number = 57.2957795130823;
public function BezierPlugin(){
_future = {};
super();
this.propName = "bezier";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), false);
return (true);
}
protected function init(_arg1:TweenLite, _arg2:Array, _arg3:Boolean):void{
var _local4:Object;
var _local5:Object;
var _local6:int;
var _local7:String;
var _local8:Object;
_target = _arg1.target;
_local4 = ((_arg1.vars.isTV)==true) ? _arg1.vars.exposedVars : _arg1.vars;
if (_local4.orientToBezier == true){
_orientData = [["x", "y", "rotation", 0, 0.01]];
_orient = true;
} else {
if ((_local4.orientToBezier is Array)){
_orientData = _local4.orientToBezier;
_orient = true;
};
};
_local5 = {};
_local6 = 0;
while (_local6 < _arg2.length) {
for (_local7 in _arg2[_local6]) {
if (_local5[_local7] == undefined){
_local5[_local7] = [_arg1.target[_local7]];
};
if (typeof(_arg2[_local6][_local7]) == "number"){
_local5[_local7].push(_arg2[_local6][_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_arg2[_local6][_local7])));
};
};
_local6++;
};
for (_local7 in _local5) {
this.overwriteProps[this.overwriteProps.length] = _local7;
if (_local4[_local7] != undefined){
if (typeof(_local4[_local7]) == "number"){
_local5[_local7].push(_local4[_local7]);
} else {
_local5[_local7].push((_arg1.target[_local7] + Number(_local4[_local7])));
};
_local8 = {};
_local8[_local7] = true;
_arg1.killVars(_local8, false);
delete _local4[_local7];
};
};
_beziers = parseBeziers(_local5, _arg3);
}
override public function killProps(_arg1:Object):void{
var _local2:String;
for (_local2 in _beziers) {
if ((_local2 in _arg1)){
delete _beziers[_local2];
};
};
super.killProps(_arg1);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:String;
var _local4:Object;
var _local5:Number;
var _local6:uint;
var _local7:Number;
var _local8:Object;
var _local9:Number;
var _local10:Number;
var _local11:Array;
var _local12:Number;
var _local13:Object;
var _local14:Boolean;
if (_arg1 == 1){
for (_local3 in _beziers) {
_local2 = (_beziers[_local3].length - 1);
_target[_local3] = _beziers[_local3][_local2][2];
};
} else {
for (_local3 in _beziers) {
_local6 = _beziers[_local3].length;
if (_arg1 < 0){
_local2 = 0;
} else {
if (_arg1 >= 1){
_local2 = (_local6 - 1);
} else {
_local2 = int((_local6 * _arg1));
};
};
_local5 = ((_arg1 - (_local2 * (1 / _local6))) * _local6);
_local4 = _beziers[_local3][_local2];
if (this.round){
_local7 = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
_target[_local3] = ((_local7)>0) ? int((_local7 + 0.5)) : int((_local7 - 0.5));
} else {
_target[_local3] = (_local4[0] + (_local5 * (((2 * (1 - _local5)) * (_local4[1] - _local4[0])) + (_local5 * (_local4[2] - _local4[0])))));
};
};
};
if (_orient){
_local2 = _orientData.length;
_local8 = {};
while (_local2--) {
_local11 = _orientData[_local2];
_local8[_local11[0]] = _target[_local11[0]];
_local8[_local11[1]] = _target[_local11[1]];
};
_local13 = _target;
_local14 = this.round;
_target = _future;
this.round = false;
_orient = false;
_local2 = _orientData.length;
while (_local2--) {
_local11 = _orientData[_local2];
this.changeFactor = (_arg1 + ((_local11[4]) || (0.01)));
_local12 = ((_local11[3]) || (0));
_local9 = (_future[_local11[0]] - _local8[_local11[0]]);
_local10 = (_future[_local11[1]] - _local8[_local11[1]]);
_local13[_local11[2]] = ((Math.atan2(_local10, _local9) * _RAD2DEG) + _local12);
};
_target = _local13;
this.round = _local14;
_orient = true;
};
}
public static function parseBeziers(_arg1:Object, _arg2:Boolean=false):Object{
var _local3:int;
var _local4:Array;
var _local5:Object;
var _local6:String;
var _local7:Object;
_local7 = {};
if (_arg2){
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 2){
_local5[_local5.length] = [_local4[0], (_local4[1] - ((_local4[2] - _local4[0]) / 4)), _local4[1]];
_local3 = 1;
while (_local3 < (_local4.length - 1)) {
_local5[_local5.length] = [_local4[_local3], (_local4[_local3] + (_local4[_local3] - _local5[(_local3 - 1)][1])), _local4[(_local3 + 1)]];
_local3++;
};
} else {
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
} else {
for (_local6 in _arg1) {
_local4 = _arg1[_local6];
_local5 = [];
_local7[_local6] = _local5;
if (_local4.length > 3){
_local5[_local5.length] = [_local4[0], _local4[1], ((_local4[1] + _local4[2]) / 2)];
_local3 = 2;
while (_local3 < (_local4.length - 2)) {
_local5[_local5.length] = [_local5[(_local3 - 2)][2], _local4[_local3], ((_local4[_local3] + _local4[(_local3 + 1)]) / 2)];
_local3++;
};
_local5[_local5.length] = [_local5[(_local5.length - 1)][2], _local4[(_local4.length - 2)], _local4[(_local4.length - 1)]];
} else {
if (_local4.length == 3){
_local5[_local5.length] = [_local4[0], _local4[1], _local4[2]];
} else {
if (_local4.length == 2){
_local5[_local5.length] = [_local4[0], ((_local4[0] + _local4[1]) / 2), _local4[1]];
};
};
};
};
};
return (_local7);
}
}
}//package com.greensock.plugins
Section 15
//BezierThroughPlugin (com.greensock.plugins.BezierThroughPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class BezierThroughPlugin extends BezierPlugin {
public static const API:Number = 1;
public function BezierThroughPlugin(){
this.propName = "bezierThrough";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (!(_arg2 is Array)){
return (false);
};
init(_arg3, (_arg2 as Array), true);
return (true);
}
}
}//package com.greensock.plugins
Section 16
//BlurFilterPlugin (com.greensock.plugins.BlurFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class BlurFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["blurX", "blurY", "quality"];
public function BlurFilterPlugin(){
this.propName = "blurFilter";
this.overwriteProps = ["blurFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = BlurFilter;
initFilter(_arg2, new BlurFilter(0, 0, ((_arg2.quality) || (2))), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 17
//ColorMatrixFilterPlugin (com.greensock.plugins.ColorMatrixFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class ColorMatrixFilterPlugin extends FilterPlugin {
protected var _matrix:Array;
protected var _matrixTween:EndArrayPlugin;
public static const API:Number = 1;
private static var _propNames:Array = [];
protected static var _lumG:Number = 0.71516;
protected static var _lumR:Number = 0.212671;
protected static var _idMatrix:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
protected static var _lumB:Number = 0.072169;
public function ColorMatrixFilterPlugin(){
this.propName = "colorMatrixFilter";
this.overwriteProps = ["colorMatrixFilter"];
}
override public function set changeFactor(_arg1:Number):void{
_matrixTween.changeFactor = _arg1;
ColorMatrixFilter(_filter).matrix = _matrix;
super.changeFactor = _arg1;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:Object;
var _local5:Array;
_target = _arg1;
_type = ColorMatrixFilter;
_local4 = _arg2;
initFilter({remove:_arg2.remove, index:_arg2.index, addFilter:_arg2.addFilter}, new ColorMatrixFilter(_idMatrix.slice()), _propNames);
_matrix = ColorMatrixFilter(_filter).matrix;
_local5 = [];
if (((!((_local4.matrix == null))) && ((_local4.matrix is Array)))){
_local5 = _local4.matrix;
} else {
if (_local4.relative == true){
_local5 = _matrix.slice();
} else {
_local5 = _idMatrix.slice();
};
_local5 = setBrightness(_local5, _local4.brightness);
_local5 = setContrast(_local5, _local4.contrast);
_local5 = setHue(_local5, _local4.hue);
_local5 = setSaturation(_local5, _local4.saturation);
_local5 = setThreshold(_local5, _local4.threshold);
if (!isNaN(_local4.colorize)){
_local5 = colorize(_local5, _local4.colorize, _local4.amount);
};
};
_matrixTween = new EndArrayPlugin();
_matrixTween.init(_matrix, _local5);
return (true);
}
public static function setSaturation(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_local3 = (1 - _arg2);
_local4 = (_local3 * _lumR);
_local5 = (_local3 * _lumG);
_local6 = (_local3 * _lumB);
_local7 = [(_local4 + _arg2), _local5, _local6, 0, 0, _local4, (_local5 + _arg2), _local6, 0, 0, _local4, _local5, (_local6 + _arg2), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local7, _arg1));
}
public static function setHue(_arg1:Array, _arg2:Number):Array{
var _local3:Number;
var _local4:Number;
var _local5:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 * (Math.PI / 180));
_local3 = Math.cos(_arg2);
_local4 = Math.sin(_arg2);
_local5 = [((_lumR + (_local3 * (1 - _lumR))) + (_local4 * -(_lumR))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * -(_lumG))), ((_lumB + (_local3 * -(_lumB))) + (_local4 * (1 - _lumB))), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * 0.143)), ((_lumG + (_local3 * (1 - _lumG))) + (_local4 * 0.14)), ((_lumB + (_local3 * -(_lumB))) + (_local4 * -0.283)), 0, 0, ((_lumR + (_local3 * -(_lumR))) + (_local4 * -((1 - _lumR)))), ((_lumG + (_local3 * -(_lumG))) + (_local4 * _lumG)), ((_lumB + (_local3 * (1 - _lumB))) + (_local4 * _lumB)), 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1];
return (applyMatrix(_local5, _arg1));
}
public static function setContrast(_arg1:Array, _arg2:Number):Array{
var _local3:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = (_arg2 + 0.01);
_local3 = [_arg2, 0, 0, 0, (128 * (1 - _arg2)), 0, _arg2, 0, 0, (128 * (1 - _arg2)), 0, 0, _arg2, 0, (128 * (1 - _arg2)), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function applyMatrix(_arg1:Array, _arg2:Array):Array{
var _local3:Array;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (_arg2);
};
_local3 = [];
_local4 = 0;
_local5 = 0;
_local6 = 0;
while (_local6 < 4) {
_local7 = 0;
while (_local7 < 5) {
if (_local7 == 4){
_local5 = _arg1[(_local4 + 4)];
} else {
_local5 = 0;
};
_local3[(_local4 + _local7)] = (((((_arg1[_local4] * _arg2[_local7]) + (_arg1[(_local4 + 1)] * _arg2[(_local7 + 5)])) + (_arg1[(_local4 + 2)] * _arg2[(_local7 + 10)])) + (_arg1[(_local4 + 3)] * _arg2[(_local7 + 15)])) + _local5);
_local7++;
};
_local4 = (_local4 + 5);
_local6++;
};
return (_local3);
}
public static function setThreshold(_arg1:Array, _arg2:Number):Array{
var _local3:Array;
if (isNaN(_arg2)){
return (_arg1);
};
_local3 = [(_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), (_lumR * 0x0100), (_lumG * 0x0100), (_lumB * 0x0100), 0, (-256 * _arg2), 0, 0, 0, 1, 0];
return (applyMatrix(_local3, _arg1));
}
public static function colorize(_arg1:Array, _arg2:Number, _arg3:Number=1):Array{
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Array;
if (isNaN(_arg2)){
return (_arg1);
};
if (isNaN(_arg3)){
_arg3 = 1;
};
_local4 = (((_arg2 >> 16) & 0xFF) / 0xFF);
_local5 = (((_arg2 >> 8) & 0xFF) / 0xFF);
_local6 = ((_arg2 & 0xFF) / 0xFF);
_local7 = (1 - _arg3);
_local8 = [(_local7 + ((_arg3 * _local4) * _lumR)), ((_arg3 * _local4) * _lumG), ((_arg3 * _local4) * _lumB), 0, 0, ((_arg3 * _local5) * _lumR), (_local7 + ((_arg3 * _local5) * _lumG)), ((_arg3 * _local5) * _lumB), 0, 0, ((_arg3 * _local6) * _lumR), ((_arg3 * _local6) * _lumG), (_local7 + ((_arg3 * _local6) * _lumB)), 0, 0, 0, 0, 0, 1, 0];
return (applyMatrix(_local8, _arg1));
}
public static function setBrightness(_arg1:Array, _arg2:Number):Array{
if (isNaN(_arg2)){
return (_arg1);
};
_arg2 = ((_arg2 * 100) - 100);
return (applyMatrix([1, 0, 0, 0, _arg2, 0, 1, 0, 0, _arg2, 0, 0, 1, 0, _arg2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1], _arg1));
}
}
}//package com.greensock.plugins
Section 18
//ColorTransformPlugin (com.greensock.plugins.ColorTransformPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.geom.*;
public class ColorTransformPlugin extends TintPlugin {
public static const API:Number = 1;
public function ColorTransformPlugin(){
this.propName = "colorTransform";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:ColorTransform;
var _local5:String;
var _local6:Number;
if (!(_arg1 is DisplayObject)){
return (false);
};
_local4 = _arg1.transform.colorTransform;
for (_local5 in _arg2) {
if ((((_local5 == "tint")) || ((_local5 == "color")))){
if (_arg2[_local5] != null){
_local4.color = int(_arg2[_local5]);
};
} else {
if ((((((_local5 == "tintAmount")) || ((_local5 == "exposure")))) || ((_local5 == "brightness")))){
} else {
_local4[_local5] = _arg2[_local5];
};
};
};
if (!isNaN(_arg2.tintAmount)){
_local6 = (_arg2.tintAmount / (1 - (((_local4.redMultiplier + _local4.greenMultiplier) + _local4.blueMultiplier) / 3)));
_local4.redOffset = (_local4.redOffset * _local6);
_local4.greenOffset = (_local4.greenOffset * _local6);
_local4.blueOffset = (_local4.blueOffset * _local6);
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = (1 - _arg2.tintAmount)));
} else {
if (!isNaN(_arg2.exposure)){
_local4.redOffset = (_local4.greenOffset = (_local4.blueOffset = (0xFF * (_arg2.exposure - 1))));
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = 1));
} else {
if (!isNaN(_arg2.brightness)){
_local4.redOffset = (_local4.greenOffset = (_local4.blueOffset = Math.max(0, ((_arg2.brightness - 1) * 0xFF))));
_local4.redMultiplier = (_local4.greenMultiplier = (_local4.blueMultiplier = (1 - Math.abs((_arg2.brightness - 1)))));
};
};
};
_ignoreAlpha = Boolean(((!((_arg3.vars.alpha == undefined))) && ((_arg2.alphaMultiplier == undefined))));
init((_arg1 as DisplayObject), _local4);
return (true);
}
}
}//package com.greensock.plugins
Section 19
//DropShadowFilterPlugin (com.greensock.plugins.DropShadowFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class DropShadowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["distance", "angle", "color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout", "hideObject"];
public function DropShadowFilterPlugin(){
this.propName = "dropShadowFilter";
this.overwriteProps = ["dropShadowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = DropShadowFilter;
initFilter(_arg2, new DropShadowFilter(0, 45, 0, 0, 0, 0, 1, ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout, _arg2.hideObject), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 20
//EndArrayPlugin (com.greensock.plugins.EndArrayPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class EndArrayPlugin extends TweenPlugin {
protected var _info:Array;
protected var _a:Array;
public static const API:Number = 1;
public function EndArrayPlugin(){
_info = [];
super();
this.propName = "endArray";
this.overwriteProps = ["endArray"];
}
public function init(_arg1:Array, _arg2:Array):void{
var _local3:int;
_a = _arg1;
_local3 = _arg2.length;
while (_local3--) {
if (((!((_arg1[_local3] == _arg2[_local3]))) && (!((_arg1[_local3] == null))))){
_info[_info.length] = new ArrayTweenInfo(_local3, _a[_local3], (_arg2[_local3] - _a[_local3]));
};
};
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is Array))) || (!((_arg2 is Array))))){
return (false);
};
init((_arg1 as Array), _arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:ArrayTweenInfo;
var _local4:Number;
_local2 = _info.length;
if (this.round){
while (_local2--) {
_local3 = _info[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_a[_local3.index] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _info[_local2];
_a[_local3.index] = (_local3.start + (_local3.change * _arg1));
};
};
}
}
}//package com.greensock.plugins
class ArrayTweenInfo {
public var change:Number;
public var index:uint;
public var start:Number;
private function ArrayTweenInfo(_arg1:uint, _arg2:Number, _arg3:Number){
this.index = _arg1;
this.start = _arg2;
this.change = _arg3;
}
}
Section 21
//FilterPlugin (com.greensock.plugins.FilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.core.*;
import com.greensock.*;
import flash.filters.*;
public class FilterPlugin extends TweenPlugin {
protected var _index:int;
protected var _filter:BitmapFilter;
protected var _type:Class;
protected var _remove:Boolean;
protected var _target:Object;
public static const VERSION:Number = 2.03;
public static const API:Number = 1;
public function onCompleteTween():void{
var _local1:Array;
var _local2:int;
if (_remove){
_local1 = _target.filters;
if (!(_local1[_index] is _type)){
_local2 = _local1.length;
while (_local2--) {
if ((_local1[_local2] is _type)){
_local1.splice(_local2, 1);
break;
};
};
} else {
_local1.splice(_index, 1);
};
_target.filters = _local1;
};
}
protected function initFilter(_arg1:Object, _arg2:BitmapFilter, _arg3:Array):void{
var _local4:Array;
var _local5:String;
var _local6:int;
var _local7:HexColorsPlugin;
var _local8:Object;
_local4 = _target.filters;
_local8 = ((_arg1 is BitmapFilter)) ? {} : _arg1;
_index = -1;
if (_local8.index != null){
_index = _local8.index;
} else {
_local6 = _local4.length;
while (_local6--) {
if ((_local4[_local6] is _type)){
_index = _local6;
break;
};
};
};
if ((((((_index == -1)) || ((_local4[_index] == null)))) || ((_local8.addFilter == true)))){
_index = ((_local8.index)!=null) ? _local8.index : _local4.length;
_local4[_index] = _arg2;
_target.filters = _local4;
};
_filter = _local4[_index];
if (_local8.remove == true){
_remove = true;
this.onComplete = onCompleteTween;
};
_local6 = _arg3.length;
while (_local6--) {
_local5 = _arg3[_local6];
if ((((_local5 in _arg1)) && (!((_filter[_local5] == _arg1[_local5]))))){
if ((((((_local5 == "color")) || ((_local5 == "highlightColor")))) || ((_local5 == "shadowColor")))){
_local7 = new HexColorsPlugin();
_local7.initColor(_filter, _local5, _filter[_local5], _arg1[_local5]);
_tweens[_tweens.length] = new PropTween(_local7, "changeFactor", 0, 1, _local5, false);
} else {
if ((((((((_local5 == "quality")) || ((_local5 == "inner")))) || ((_local5 == "knockout")))) || ((_local5 == "hideObject")))){
_filter[_local5] = _arg1[_local5];
} else {
addTween(_filter, _local5, _filter[_local5], _arg1[_local5], _local5);
};
};
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:PropTween;
var _local4:Array;
_local2 = _tweens.length;
_local4 = _target.filters;
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
if (!(_local4[_index] is _type)){
_local2 = (_index = _local4.length);
while (_local2--) {
if ((_local4[_local2] is _type)){
_index = _local2;
break;
};
};
};
_local4[_index] = _filter;
_target.filters = _local4;
}
}
}//package com.greensock.plugins
Section 22
//FrameLabelPlugin (com.greensock.plugins.FrameLabelPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FrameLabelPlugin extends FramePlugin {
public static const API:Number = 1;
public function FrameLabelPlugin(){
this.propName = "frameLabel";
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:Array;
var _local5:String;
var _local6:int;
var _local7:int;
if ((!(_arg3.target) is MovieClip)){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
_local4 = _target.currentLabels;
_local5 = _arg2;
_local6 = _target.currentFrame;
_local7 = _local4.length;
while (_local7--) {
if (_local4[_local7].name == _local5){
_local6 = _local4[_local7].frame;
break;
};
};
if (this.frame != _local6){
addTween(this, "frame", this.frame, _local6, "frame");
};
return (true);
}
}
}//package com.greensock.plugins
Section 23
//FramePlugin (com.greensock.plugins.FramePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class FramePlugin extends TweenPlugin {
public var frame:int;
protected var _target:MovieClip;
public static const API:Number = 1;
public function FramePlugin(){
this.propName = "frame";
this.overwriteProps = ["frame", "frameLabel"];
this.round = true;
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((!((_arg1 is MovieClip))) || (isNaN(_arg2)))){
return (false);
};
_target = (_arg1 as MovieClip);
this.frame = _target.currentFrame;
addTween(this, "frame", this.frame, _arg2, "frame");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.gotoAndStop(this.frame);
}
}
}//package com.greensock.plugins
Section 24
//GlowFilterPlugin (com.greensock.plugins.GlowFilterPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.filters.*;
public class GlowFilterPlugin extends FilterPlugin {
public static const API:Number = 1;
private static var _propNames:Array = ["color", "alpha", "blurX", "blurY", "strength", "quality", "inner", "knockout"];
public function GlowFilterPlugin(){
this.propName = "glowFilter";
this.overwriteProps = ["glowFilter"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_type = GlowFilter;
initFilter(_arg2, new GlowFilter(0xFFFFFF, 0, 0, 0, ((_arg2.strength) || (1)), ((_arg2.quality) || (2)), _arg2.inner, _arg2.knockout), _propNames);
return (true);
}
}
}//package com.greensock.plugins
Section 25
//HexColorsPlugin (com.greensock.plugins.HexColorsPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class HexColorsPlugin extends TweenPlugin {
protected var _colors:Array;
public static const API:Number = 1;
public function HexColorsPlugin(){
this.propName = "hexColors";
this.overwriteProps = [];
_colors = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
for (_local4 in _arg2) {
initColor(_arg1, _local4, uint(_arg1[_local4]), uint(_arg2[_local4]));
};
return (true);
}
override public function killProps(_arg1:Object):void{
var _local2:int;
_local2 = (_colors.length - 1);
while (_local2 > -1) {
if (_arg1[_colors[_local2][1]] != undefined){
_colors.splice(_local2, 1);
};
_local2--;
};
super.killProps(_arg1);
}
public function initColor(_arg1:Object, _arg2:String, _arg3:uint, _arg4:uint):void{
var _local5:Number;
var _local6:Number;
var _local7:Number;
if (_arg3 != _arg4){
_local5 = (_arg3 >> 16);
_local6 = ((_arg3 >> 8) & 0xFF);
_local7 = (_arg3 & 0xFF);
_colors[_colors.length] = [_arg1, _arg2, _local5, ((_arg4 >> 16) - _local5), _local6, (((_arg4 >> 8) & 0xFF) - _local6), _local7, ((_arg4 & 0xFF) - _local7)];
this.overwriteProps[this.overwriteProps.length] = _arg2;
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:int;
var _local3:Array;
_local2 = (_colors.length - 1);
while (_local2 > -1) {
_local3 = _colors[_local2];
_local3[0][_local3[1]] = ((((_local3[2] + (_arg1 * _local3[3])) << 16) | ((_local3[4] + (_arg1 * _local3[5])) << 8)) | (_local3[6] + (_arg1 * _local3[7])));
_local2--;
};
}
}
}//package com.greensock.plugins
Section 26
//RemoveTintPlugin (com.greensock.plugins.RemoveTintPlugin)
package com.greensock.plugins {
public class RemoveTintPlugin extends TintPlugin {
public static const API:Number = 1;
public function RemoveTintPlugin(){
this.propName = "removeTint";
}
}
}//package com.greensock.plugins
Section 27
//RoundPropsPlugin (com.greensock.plugins.RoundPropsPlugin)
package com.greensock.plugins {
public class RoundPropsPlugin extends TweenPlugin {
public static const API:Number = 1;
public function RoundPropsPlugin(){
this.propName = "roundProps";
this.overwriteProps = [];
this.round = true;
}
public function add(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
addTween(_arg1, _arg2, _arg3, (_arg3 + _arg4), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 28
//ShortRotationPlugin (com.greensock.plugins.ShortRotationPlugin)
package com.greensock.plugins {
import com.greensock.*;
public class ShortRotationPlugin extends TweenPlugin {
public static const API:Number = 1;
public function ShortRotationPlugin(){
this.propName = "shortRotation";
this.overwriteProps = [];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:String;
if (typeof(_arg2) == "number"){
return (false);
};
for (_local4 in _arg2) {
initRotation(_arg1, _local4, _arg1[_local4], ((typeof(_arg2[_local4]))=="number") ? Number(_arg2[_local4]) : (_arg1[_local4] + Number(_arg2[_local4])));
};
return (true);
}
public function initRotation(_arg1:Object, _arg2:String, _arg3:Number, _arg4:Number):void{
var _local5:Number;
_local5 = ((_arg4 - _arg3) % 360);
if (((_arg4 - _arg3) % 360) != (_local5 % 180)){
_local5 = ((_local5)<0) ? (_local5 + 360) : (_local5 - 360);
};
addTween(_arg1, _arg2, _arg3, (_arg3 + _local5), _arg2);
this.overwriteProps[this.overwriteProps.length] = _arg2;
}
}
}//package com.greensock.plugins
Section 29
//TintPlugin (com.greensock.plugins.TintPlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.core.*;
import com.greensock.*;
import flash.geom.*;
public class TintPlugin extends TweenPlugin {
protected var _ct:ColorTransform;
protected var _transform:Transform;
protected var _ignoreAlpha:Boolean;
public static const API:Number = 1;
protected static var _props:Array = ["redMultiplier", "greenMultiplier", "blueMultiplier", "alphaMultiplier", "redOffset", "greenOffset", "blueOffset", "alphaOffset"];
public function TintPlugin(){
this.propName = "tint";
this.overwriteProps = ["tint"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
var _local4:ColorTransform;
if (!(_arg1 is DisplayObject)){
return (false);
};
_local4 = new ColorTransform();
if (((!((_arg2 == null))) && (!((_arg3.vars.removeTint == true))))){
_local4.color = uint(_arg2);
};
_ignoreAlpha = true;
init((_arg1 as DisplayObject), _local4);
return (true);
}
public function init(_arg1:DisplayObject, _arg2:ColorTransform):void{
var _local3:int;
var _local4:String;
_transform = _arg1.transform;
_ct = _transform.colorTransform;
_local3 = _props.length;
while (_local3--) {
_local4 = _props[_local3];
if (_ct[_local4] != _arg2[_local4]){
_tweens[_tweens.length] = new PropTween(_ct, _local4, _ct[_local4], (_arg2[_local4] - _ct[_local4]), "tint", false);
};
};
}
override public function set changeFactor(_arg1:Number):void{
var _local2:ColorTransform;
updateTweens(_arg1);
if (_ignoreAlpha){
_local2 = _transform.colorTransform;
_ct.alphaMultiplier = _local2.alphaMultiplier;
_ct.alphaOffset = _local2.alphaOffset;
};
_transform.colorTransform = _ct;
}
}
}//package com.greensock.plugins
Section 30
//TweenPlugin (com.greensock.plugins.TweenPlugin)
package com.greensock.plugins {
import com.greensock.core.*;
import com.greensock.*;
public class TweenPlugin {
public var activeDisable:Boolean;
public var onEnable:Function;
public var round:Boolean;
public var onDisable:Function;
public var propName:String;
protected var _tweens:Array;
public var priority:int;// = 0
public var overwriteProps:Array;
public var onComplete:Function;
protected var _changeFactor:Number;// = 0
public static const VERSION:Number = 1.31;
public static const API:Number = 1;
public function TweenPlugin(){
priority = 0;
_tweens = [];
_changeFactor = 0;
super();
}
public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_changeFactor = _arg1;
}
protected function addTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String=null):void{
var _local6:Number;
if (_arg4 != null){
_local6 = ((typeof(_arg4))=="number") ? (Number(_arg4) - _arg3) : Number(_arg4);
if (_local6 != 0){
_tweens[_tweens.length] = new PropTween(_arg1, _arg2, _arg3, _local6, ((_arg5) || (_arg2)), false);
};
};
}
protected function updateTweens(_arg1:Number):void{
var _local2:int;
var _local3:PropTween;
var _local4:Number;
_local2 = _tweens.length;
if (this.round){
while (_local2--) {
_local3 = _tweens[_local2];
_local4 = (_local3.start + (_local3.change * _arg1));
_local3.target[_local3.property] = ((_local4)>0) ? int((_local4 + 0.5)) : int((_local4 - 0.5));
};
} else {
while (_local2--) {
_local3 = _tweens[_local2];
_local3.target[_local3.property] = (_local3.start + (_local3.change * _arg1));
};
};
}
public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
addTween(_arg1, this.propName, _arg1[this.propName], _arg2, this.propName);
return (true);
}
public function get changeFactor():Number{
return (_changeFactor);
}
public function killProps(_arg1:Object):void{
var _local2:int;
_local2 = this.overwriteProps.length;
while (_local2--) {
if ((this.overwriteProps[_local2] in _arg1)){
this.overwriteProps.splice(_local2, 1);
};
};
_local2 = _tweens.length;
while (_local2--) {
if ((PropTween(_tweens[_local2]).name in _arg1)){
_tweens.splice(_local2, 1);
};
};
}
public static function activate(_arg1:Array):Boolean{
var _local2:int;
var _local3:Object;
TweenLite.onPluginEvent = TweenPlugin.onTweenEvent;
_local2 = _arg1.length;
while (_local2--) {
if (_arg1[_local2].hasOwnProperty("API")){
_local3 = new ((_arg1[_local2] as Class));
TweenLite.plugins[_local3.propName] = _arg1[_local2];
};
};
return (true);
}
private static function onTweenEvent(_arg1:String, _arg2:TweenLite):Boolean{
var _local3:PropTween;
var _local4:Boolean;
var _local5:Array;
var _local6:int;
_local3 = _arg2.cachedPT1;
if (_arg1 == "onInit"){
_local5 = [];
while (_local3) {
_local5[_local5.length] = _local3;
_local3 = _local3.nextNode;
};
_local5.sortOn("priority", (Array.NUMERIC | Array.DESCENDING));
_local6 = _local5.length;
while (_local6--) {
PropTween(_local5[_local6]).nextNode = _local5[(_local6 + 1)];
PropTween(_local5[_local6]).prevNode = _local5[(_local6 - 1)];
};
_arg2.cachedPT1 = _local5[0];
} else {
while (_local3) {
if (((_local3.isPlugin) && (_local3.target[_arg1]))){
if (_local3.target.activeDisable){
_local4 = true;
};
var _local7 = _local3.target;
_local7[_arg1]();
};
_local3 = _local3.nextNode;
};
};
return (_local4);
}
}
}//package com.greensock.plugins
Section 31
//VisiblePlugin (com.greensock.plugins.VisiblePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
public class VisiblePlugin extends TweenPlugin {
protected var _tween:TweenLite;
protected var _visible:Boolean;
protected var _target:Object;
protected var _initVal:Boolean;
public static const API:Number = 1;
public function VisiblePlugin(){
this.propName = "visible";
this.overwriteProps = ["visible"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
_target = _arg1;
_tween = _arg3;
_initVal = _target.visible;
_visible = Boolean(_arg2);
return (true);
}
override public function set changeFactor(_arg1:Number):void{
if ((((_arg1 == 1)) && ((((_tween.cachedDuration == _tween.cachedTime)) || ((_tween.cachedTime == 0)))))){
_target.visible = _visible;
} else {
_target.visible = _initVal;
};
}
}
}//package com.greensock.plugins
Section 32
//VolumePlugin (com.greensock.plugins.VolumePlugin)
package com.greensock.plugins {
import flash.display.*;
import com.greensock.*;
import flash.media.*;
public class VolumePlugin extends TweenPlugin {
protected var _st:SoundTransform;
protected var _target:Object;
public static const API:Number = 1;
public function VolumePlugin(){
this.propName = "volume";
this.overwriteProps = ["volume"];
}
override public function onInitTween(_arg1:Object, _arg2, _arg3:TweenLite):Boolean{
if (((isNaN(_arg2)) || (!(_arg1.hasOwnProperty("soundTransform"))))){
return (false);
};
_target = _arg1;
_st = _target.soundTransform;
addTween(_st, "volume", _st.volume, _arg2, "volume");
return (true);
}
override public function set changeFactor(_arg1:Number):void{
updateTweens(_arg1);
_target.soundTransform = _st;
}
}
}//package com.greensock.plugins
Section 33
//OverwriteManager (com.greensock.OverwriteManager)
package com.greensock {
import com.greensock.core.*;
public class OverwriteManager {
public static const ALL_ONSTART:int = 4;
public static const CONCURRENT:int = 3;
public static const ALL_IMMEDIATE:int = 1;
public static const PREEXISTING:int = 5;
public static const AUTO:int = 2;
public static const version:Number = 6;
public static const NONE:int = 0;
public static var enabled:Boolean;
public static var mode:int;
public static function getGlobalPaused(_arg1:TweenCore):Boolean{
while (_arg1) {
if (_arg1.cachedPaused){
return (true);
};
_arg1 = _arg1.timeline;
};
return (false);
}
public static function init(_arg1:int=2):int{
if (TweenLite.version < 11.099994){
throw (new Error("Warning: Your TweenLite class needs to be updated to work with OverwriteManager (or you may need to clear your ASO files). Please download and install the latest version from http://www.tweenlite.com."));
};
TweenLite.overwriteManager = OverwriteManager;
mode = _arg1;
enabled = true;
return (mode);
}
public static function manageOverwrites(_arg1:TweenLite, _arg2:Object, _arg3:Array, _arg4:uint):Boolean{
var _local5:int;
var _local6:Boolean;
var _local7:TweenLite;
var _local8:Number;
var _local9:Array;
var _local10:Array;
var _local11:uint;
var _local12:uint;
var _local13:uint;
var _local14:Number;
var _local15:Number;
var _local16:TweenCore;
var _local17:Number;
var _local18:SimpleTimeline;
if (_arg4 >= 4){
_local13 = _arg3.length;
_local5 = 0;
while (_local5 < _local13) {
_local7 = _arg3[_local5];
if (_local7 != _arg1){
if (_local7.setEnabled(false, false)){
_local6 = true;
};
} else {
if (_arg4 == 5){
break;
};
};
_local5++;
};
return (_local6);
};
_local8 = _arg1.startTime;
_local9 = [];
_local10 = [];
_local11 = 0;
_local12 = 0;
_local5 = _arg3.length;
while (_local5--) {
_local7 = _arg3[_local5];
if ((((_local7 == _arg1)) || (_local7.gc))){
} else {
if (_local7.timeline != _arg1.timeline){
if (!getGlobalPaused(_local7)){
var _temp1 = _local11;
_local11 = (_local11 + 1);
var _local19 = _temp1;
_local10[_local19] = _local7;
};
} else {
if ((((((_local7.startTime <= _local8)) && (((_local7.startTime + _local7.totalDuration) > _local8)))) && (!(getGlobalPaused(_local7))))){
var _temp2 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp2;
_local9[_local19] = _local7;
};
};
};
};
if (_local11 != 0){
_local14 = _arg1.cachedTimeScale;
_local15 = _local8;
_local18 = _arg1.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.startTime);
_local18 = _local18.timeline;
};
_local8 = (_local14 * _local15);
_local5 = _local11;
while (_local5--) {
_local16 = _local10[_local5];
_local14 = _local16.cachedTimeScale;
_local15 = _local16.startTime;
_local18 = _local16.timeline;
while (_local18) {
_local14 = (_local14 * _local18.cachedTimeScale);
_local15 = (_local15 + _local18.startTime);
_local18 = _local18.timeline;
};
_local17 = (_local14 * _local15);
if ((((_local17 <= _local8)) && (((((_local17 + (_local16.totalDuration * _local14)) > _local8)) || ((_local16.cachedDuration == 0)))))){
var _temp3 = _local12;
_local12 = (_local12 + 1);
_local19 = _temp3;
_local9[_local19] = _local16;
};
};
};
if (_local12 == 0){
return (_local6);
};
_local5 = _local12;
if (_arg4 == 2){
while (_local5--) {
_local7 = _local9[_local5];
if (_local7.killVars(_arg2)){
_local6 = true;
};
if ((((_local7.cachedPT1 == null)) && (_local7.initted))){
_local7.setEnabled(false, false);
};
};
} else {
while (_local5--) {
if (TweenLite(_local9[_local5]).setEnabled(false, false)){
_local6 = true;
};
};
};
return (_local6);
}
}
}//package com.greensock
Section 34
//TweenLite (com.greensock.TweenLite)
package com.greensock {
import flash.display.*;
import flash.events.*;
import com.greensock.core.*;
import flash.utils.*;
import com.greensock.plugins.*;
public class TweenLite extends TweenCore {
public var target:Object;
protected var _overwrite:uint;
public var ratio:Number;// = 0
protected var _notifyPluginsOfEnabled:Boolean;
protected var _hasPlugins:Boolean;
public var cachedPT1:PropTween;
protected var _overwrittenProps:Object;
public var propTweenLookup:Object;
protected var _ease:Function;
public static const version:Number = 11.131;
public static var rootTimeline:SimpleTimeline;
public static var fastEaseLookup:Dictionary = new Dictionary(false);
public static var onPluginEvent:Function;
public static var rootFramesTimeline:SimpleTimeline;
public static var defaultEase:Function = TweenLite.easeOut;
public static var plugins:Object = {};
public static var masterList:Dictionary = new Dictionary(false);
public static var overwriteManager:Object;
public static var rootFrame:Number;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
private static var _shape:Shape = new Shape();
protected static var _reservedProps:Object = {ease:1, delay:1, overwrite:1, onComplete:1, onCompleteParams:1, useFrames:1, runBackwards:1, startAt:1, onUpdate:1, onUpdateParams:1, roundProps:1, onStart:1, onStartParams:1, onReverseComplete:1, onReverseCompleteParams:1, onRepeat:1, onRepeatParams:1, proxiedEase:1, easeParams:1, yoyo:1, onCompleteListener:1, onUpdateListener:1, onStartListener:1, onReverseCompleteListener:1, onRepeatListener:1, orientToBezier:1, timeScale:1, immediateRender:1, repeat:1, repeatDelay:1, timeline:1, data:1, paused:1};
public function TweenLite(_arg1:Object, _arg2:Number, _arg3:Object){
var _local4:Array;
var _local5:TweenLite;
ratio = 0;
super(_arg2, _arg3);
this.target = _arg1;
if ((((this.target is TweenCore)) && (("timeScale" in this.vars)))){
this.cachedTimeScale = 1;
};
propTweenLookup = {};
_ease = defaultEase;
_overwrite = (((!((Number(_arg3.overwrite) > -1))) || (((!(overwriteManager.enabled)) && ((_arg3.overwrite > 1)))))) ? overwriteManager.mode : int(_arg3.overwrite);
_local4 = masterList[_arg1];
if (!_local4){
masterList[_arg1] = [this];
} else {
if (_overwrite == 1){
for each (_local5 in _local4) {
if (!_local5.gc){
_local5.setEnabled(false, false);
};
};
masterList[_arg1] = [this];
} else {
_local4[_local4.length] = this;
};
};
if (((this.active) || (this.vars.immediateRender))){
renderTime(0, false, true);
};
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Boolean;
var _local5:Number;
var _local6:PropTween;
_local5 = this.cachedTime;
if (_arg1 >= this.cachedDuration){
this.cachedTotalTime = (this.cachedTime = this.cachedDuration);
this.ratio = 1;
_local4 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime > 0){
_arg3 = true;
_local4 = true;
};
_rawPrevTime = _arg1;
};
};
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local4 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
this.ratio = _ease(_arg1, 0, 1, this.cachedDuration);
};
};
if ((((this.cachedTime == _local5)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
if (((!(_local4)) && (this.cachedTime))){
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if ((((((((_local5 == 0)) && (this.vars.onStart))) && (!((this.cachedTime == 0))))) && (!(_arg2)))){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
_local6 = this.cachedPT1;
while (_local6) {
_local6.target[_local6.property] = (_local6.start + (this.ratio * _local6.change));
_local6 = _local6.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (_local4){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
};
}
protected function init():void{
var _local1:String;
var _local2:int;
var _local3:*;
var _local4:Boolean;
var _local5:Array;
var _local6:PropTween;
if (typeof(this.vars.ease) == "function"){
_ease = this.vars.ease;
};
if (this.vars.easeParams){
this.vars.proxiedEase = _ease;
_ease = easeProxy;
};
this.cachedPT1 = null;
this.propTweenLookup = {};
for (_local1 in this.vars) {
if ((((_local1 in _reservedProps)) && (!((((_local1 == "timeScale")) && ((this.target is TweenCore))))))){
} else {
if ((((_local1 in plugins)) && (new ((plugins[_local1] as Class)).onInitTween(this.target, this.vars[_local1], this)))){
this.cachedPT1 = new PropTween(_local3, "changeFactor", 0, 1, ((_local3.overwriteProps.length)==1) ? _local3.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
if (this.cachedPT1.name == "_MULTIPLE_"){
_local2 = _local3.overwriteProps.length;
while (_local2--) {
this.propTweenLookup[_local3.overwriteProps[_local2]] = this.cachedPT1;
};
} else {
this.propTweenLookup[this.cachedPT1.name] = this.cachedPT1;
};
if (_local3.priority){
this.cachedPT1.priority = _local3.priority;
_local4 = true;
};
if (((_local3.onDisable) || (_local3.onEnable))){
_notifyPluginsOfEnabled = true;
};
_hasPlugins = true;
} else {
this.cachedPT1 = new PropTween(this.target, _local1, Number(this.target[_local1]), ((typeof(this.vars[_local1]))=="number") ? (Number(this.vars[_local1]) - this.target[_local1]) : Number(this.vars[_local1]), _local1, false, this.cachedPT1);
this.propTweenLookup[_local1] = this.cachedPT1;
};
};
};
if (_local4){
onPluginEvent("onInit", this);
};
if (this.vars.runBackwards){
_local6 = this.cachedPT1;
while (_local6) {
_local6.start = (_local6.start + _local6.change);
_local6.change = -(_local6.change);
_local6 = _local6.nextNode;
};
};
_hasUpdate = Boolean(!((this.vars.onUpdate == null)));
if (_overwrittenProps){
killVars(_overwrittenProps);
if (this.cachedPT1 == null){
this.setEnabled(false, false);
};
};
if ((((((((_overwrite > 1)) && (this.cachedPT1))) && (masterList[this.target]))) && ((_local5.length > 1)))){
if (overwriteManager.manageOverwrites(this, this.propTweenLookup, _local5, _overwrite)){
init();
};
};
this.initted = true;
}
protected function easeProxy(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
return (this.vars.proxiedEase.apply(null, arguments.concat(this.vars.easeParams)));
}
override public function invalidate():void{
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
onPluginEvent("onDisable", this);
};
this.cachedPT1 = null;
_overwrittenProps = null;
_hasUpdate = (this.initted = (this.active = (_notifyPluginsOfEnabled = false)));
this.propTweenLookup = {};
}
public function killVars(_arg1:Object, _arg2:Boolean=true):Boolean{
var _local3:String;
var _local4:PropTween;
var _local5:Boolean;
if (_overwrittenProps == null){
_overwrittenProps = {};
};
for (_local3 in _arg1) {
if ((_local3 in propTweenLookup)){
_local4 = propTweenLookup[_local3];
if (((_local4.isPlugin) && ((_local4.name == "_MULTIPLE_")))){
_local4.target.killProps(_arg1);
if (_local4.target.overwriteProps.length == 0){
_local4.name = "";
};
};
if (_local4.name != "_MULTIPLE_"){
if (_local4.nextNode){
_local4.nextNode.prevNode = _local4.prevNode;
};
if (_local4.prevNode){
_local4.prevNode.nextNode = _local4.nextNode;
} else {
if (this.cachedPT1 == _local4){
this.cachedPT1 = _local4.nextNode;
};
};
if (((_local4.isPlugin) && (_local4.target.onDisable))){
_local4.target.onDisable();
if (_local4.target.activeDisable){
_local5 = true;
};
};
delete propTweenLookup[_local3];
};
};
if (_arg2){
_overwrittenProps[_local3] = 1;
};
};
return (_local5);
}
override public function setEnabled(_arg1:Boolean, _arg2:Boolean=false):Boolean{
var _local3:Array;
if (_arg1){
_local3 = TweenLite.masterList[this.target];
if (!_local3){
TweenLite.masterList[this.target] = [this];
} else {
_local3[_local3.length] = this;
};
};
super.setEnabled(_arg1, _arg2);
if (((_notifyPluginsOfEnabled) && (this.cachedPT1))){
return (onPluginEvent((_arg1) ? "onEnable" : "onDisable", this));
};
return (false);
}
public static function initClass():void{
rootFrame = 0;
rootTimeline = new SimpleTimeline(null);
rootFramesTimeline = new SimpleTimeline(null);
rootTimeline.cachedStartTime = (getTimer() * 0.001);
rootFramesTimeline.cachedStartTime = rootFrame;
rootTimeline.autoRemoveChildren = true;
rootFramesTimeline.autoRemoveChildren = true;
_shape.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true);
if (overwriteManager == null){
overwriteManager = {mode:1, enabled:false};
};
}
public static function killTweensOf(_arg1:Object, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:int;
if ((_arg1 in masterList)){
_local3 = masterList[_arg1];
_local4 = _local3.length;
while (_local4--) {
if (!TweenLite(_local3[_local4]).gc){
if (_arg2){
TweenLite(_local3[_local4]).complete(false, false);
} else {
TweenLite(_local3[_local4]).setEnabled(false, false);
};
};
};
delete masterList[_arg1];
};
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenLite(_arg1, _arg2, _arg3));
}
protected static function easeOut(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
_arg1 = (1 - (_arg1 / _arg4));
return ((1 - (_arg1 * _arg1)));
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenLite{
return (new TweenLite(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
protected static function updateAll(_arg1:Event=null):void{
var _local2:Dictionary;
var _local3:Object;
var _local4:Array;
var _local5:int;
rootTimeline.renderTime((((getTimer() * 0.001) - rootTimeline.cachedStartTime) * rootTimeline.cachedTimeScale), false, false);
rootFrame++;
rootFramesTimeline.renderTime(((rootFrame - rootFramesTimeline.cachedStartTime) * rootFramesTimeline.cachedTimeScale), false, false);
if (!(rootFrame % 60)){
_local2 = masterList;
for (_local3 in _local2) {
_local4 = _local2[_local3];
_local5 = _local4.length;
while (_local5--) {
if (TweenLite(_local4[_local5]).gc){
_local4.splice(_local5, 1);
};
};
if (_local4.length == 0){
delete _local2[_local3];
};
};
};
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenLite{
return (new TweenLite(_arg1, _arg2, _arg3));
}
}
}//package com.greensock
Section 35
//TweenMax (com.greensock.TweenMax)
package com.greensock {
import flash.display.*;
import flash.events.*;
import com.greensock.core.*;
import flash.utils.*;
import com.greensock.plugins.*;
import com.greensock.events.*;
public class TweenMax extends TweenLite implements IEventDispatcher {
protected var _easePower:uint;
protected var _dispatcher:EventDispatcher;
protected var _hasUpdateListener:Boolean;
protected var _easeType:uint;
public var yoyo:Boolean;
protected var _repeat:int;// = 0
protected var _cyclesComplete:uint;// = 0
protected var _repeatDelay:Number;// = 0
public static const version:Number = 11.131;
private static var _overwriteMode:int = (OverwriteManager.enabled) ? OverwriteManager.mode : OverwriteManager.init(2);
;
public static var killTweensOf:Function = TweenLite.killTweensOf;
public static var killDelayedCallsTo:Function = TweenLite.killTweensOf;
public function TweenMax(_arg1:Object, _arg2:Number, _arg3:Object){
_repeat = 0;
_repeatDelay = 0;
_cyclesComplete = 0;
super(_arg1, _arg2, _arg3);
if (TweenLite.version < 11.1){
throw (new Error("TweenMax error! Please update your TweenLite class or try deleting your ASO files. TweenMax requires a more recent version. Download updates at http://www.TweenMax.com."));
};
this.yoyo = Boolean(this.vars.yoyo);
_repeat = ((this.vars.repeat) || (0));
_repeatDelay = ((this.vars.repeatDelay) || (0));
this.cacheIsDirty = true;
if (((((((((this.vars.onCompleteListener) || (this.vars.onUpdateListener))) || (this.vars.onStartListener))) || (this.vars.onRepeatListener))) || (this.vars.onReverseCompleteListener))){
initDispatcher();
if ((((_arg2 == 0)) && ((_delay == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
};
};
if (((("timeScale" in this.vars)) && (!((this.target is TweenCore))))){
this.cachedTimeScale = this.vars.timeScale;
};
}
override protected function init():void{
var _local1:TweenMax;
var _local2:int;
var _local3:String;
var _local4:String;
var _local5:Array;
var _local6:Object;
var _local7:PropTween;
var _local8:PropTween;
var _local9:int;
if (this.vars.startAt){
this.vars.startAt.overwrite = 0;
this.vars.startAt.immediateRender = true;
_local1 = new TweenMax(this.target, 0, this.vars.startAt);
};
super.init();
if ((_ease in fastEaseLookup)){
_easeType = fastEaseLookup[_ease][0];
_easePower = fastEaseLookup[_ease][1];
};
if (((!((this.vars.roundProps == null))) && (("roundProps" in TweenLite.plugins)))){
_local5 = this.vars.roundProps;
_local9 = _local5.length;
while (_local9--) {
_local3 = _local5[_local9];
_local8 = this.cachedPT1;
while (_local8) {
if (_local8.name == _local3){
if (_local8.isPlugin){
_local8.target.round = true;
} else {
if (_local6 == null){
_local6 = new TweenLite.plugins.roundProps();
_local6.add(_local8.target, _local3, _local8.start, _local8.change);
_hasPlugins = true;
_local7 = insertPropTween(_local6, "changeFactor", 0, 1, "_MULTIPLE_", true, this.cachedPT1);
this.cachedPT1 = _local7;
} else {
_local6.add(_local8.target, _local3, _local8.start, _local8.change);
};
this.removePropTween(_local8);
this.propTweenLookup[_local3] = _local7;
};
} else {
if (((((_local8.isPlugin) && ((_local8.name == "_MULTIPLE_")))) && (!(_local8.target.round)))){
_local4 = ((" " + _local8.target.overwriteProps.join(" ")) + " ");
if (_local4.indexOf(((" " + _local3) + " ")) != -1){
_local8.target.round = true;
};
};
};
_local8 = _local8.nextNode;
};
};
};
}
protected function adjustStartValues():void{
var _local1:Number;
var _local2:PropTween;
var _local3:Number;
if (this.cachedTime != 0){
_local1 = (1 / (1 - this.ratio));
_local2 = this.cachedPT1;
while (_local2) {
if (!_local2.isPlugin){
_local3 = (_local2.start + _local2.change);
_local2.change = ((_local3 - _local2.target[_local2.property]) * _local1);
_local2.start = (_local3 - _local2.change);
_local2 = _local2.nextNode;
};
};
};
}
protected function updateTo(_arg1:Object, _arg2:Boolean=true):void{
var _local3:PropTween;
var _local4:Number;
var _local5:String;
var _local6:Object;
var _local7:Boolean;
var _local8:Object;
var _local9:int;
_local3 = this.cachedPT1;
_local4 = this.cachedTotalTime;
if (this.initted){
if (!_arg2){
this.totalTime = 0;
};
killVars(_arg1, false);
for (_local5 in _arg1) {
if ((_local5 in _reservedProps)){
} else {
if ((((_local5 in plugins)) && (new ((plugins[_local5] as Class)).onInitTween(this.target, _arg1[_local5], this)))){
_local8 = {};
_local9 = _local6.overwriteProps.length;
while (_local9--) {
_local8[_local6.overwriteProps[_local9]] = true;
};
killVars(_local8, false);
this.cachedPT1 = insertPropTween(_local6, "changeFactor", 0, 1, ((_local6.overwriteProps.length)==1) ? _local6.overwriteProps[0] : "_MULTIPLE_", true, this.cachedPT1);
_hasPlugins = true;
if (_local6.priority){
this.cachedPT1.priority = _local6.priority;
_local7 = true;
};
} else {
this.cachedPT1 = insertPropTween(this.target, _local5, this.target[_local5], _arg1[_local5], _local5, false, this.cachedPT1);
};
};
this.vars[_local5] = _arg1[_local5];
};
if (_local7){
onPluginEvent("onInit", this);
};
if (((_arg2) && (this.cachedTotalTime))){
adjustStartValues();
};
} else {
for (_local5 in _arg1) {
this.vars[_local5] = _arg1[_local5];
};
};
}
public function set repeat(_arg1:int):void{
_repeat = _arg1;
setDirtyCache(true);
}
override public function complete(_arg1:Boolean=false, _arg2:Boolean=false):void{
super.complete(_arg1, _arg2);
if (((!(_arg2)) && (_dispatcher))){
if ((((this.cachedTotalTime == this.cachedTotalDuration)) && (!(this.cachedReversed)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.COMPLETE));
} else {
if (((this.cachedReversed) && ((this.cachedTotalTime == 0)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REVERSE_COMPLETE));
};
};
};
}
public function set totalProgress(_arg1:Number):void{
setTotalTime((this.totalDuration * _arg1), false);
}
override public function invalidate():void{
this.yoyo = Boolean((this.vars.yoyo == true));
_repeat = ((this.vars.repeat) || (0));
_repeatDelay = ((this.vars.repeatDelay) || (0));
_hasUpdateListener = false;
if (((((!((this.vars.onCompleteListener == null))) || (!((this.vars.onUpdateListener == null))))) || (!((this.vars.onStartListener == null))))){
initDispatcher();
};
setDirtyCache(true);
super.invalidate();
}
public function killProperties(_arg1:Array):void{
var _local2:Object;
var _local3:int;
_local2 = {};
_local3 = _arg1.length;
while (_local3--) {
_local2[_arg1[_local3]] = true;
};
killVars(_local2);
}
public function dispatchEvent(_arg1:Event):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.dispatchEvent(_arg1));
}
protected function insertPropTween(_arg1:Object, _arg2:String, _arg3:Number, _arg4, _arg5:String, _arg6:Boolean, _arg7:PropTween):PropTween{
var _local8:PropTween;
var _local9:Array;
var _local10:int;
_local8 = new PropTween(_arg1, _arg2, _arg3, ((typeof(_arg4))=="number") ? (_arg4 - _arg3) : Number(_arg4), _arg5, _arg6, _arg7);
if (((_arg6) && ((_arg5 == "_MULTIPLE_")))){
_local9 = _arg1.overwriteProps;
_local10 = _local9.length;
while (_local10--) {
this.propTweenLookup[_local9[_local10]] = _local8;
};
} else {
this.propTweenLookup[_arg5] = _local8;
};
return (_local8);
}
public function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{
if (_dispatcher){
_dispatcher.removeEventListener(_arg1, _arg2, _arg3);
};
}
public function setDestination(_arg1:String, _arg2, _arg3:Boolean=true):void{
var _local4:Object;
_local4 = {};
_local4[_arg1] = _arg2;
updateTo(_local4, _arg3);
}
public function set repeatDelay(_arg1:Number):void{
_repeatDelay = _arg1;
setDirtyCache(true);
}
public function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:int=0, _arg5:Boolean=false):void{
if (_dispatcher == null){
initDispatcher();
};
if (_arg1 == TweenEvent.UPDATE){
_hasUpdateListener = true;
};
_dispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5);
}
public function get timeScale():Number{
return (this.cachedTimeScale);
}
override public function renderTime(_arg1:Number, _arg2:Boolean=false, _arg3:Boolean=false):void{
var _local4:Number;
var _local5:Number;
var _local6:Boolean;
var _local7:Boolean;
var _local8:Boolean;
var _local9:PropTween;
var _local10:Number;
var _local11:uint;
var _local12:Number;
_local4 = (this.cacheIsDirty) ? this.totalDuration : this.cachedTotalDuration;
_local5 = this.cachedTime;
if (_arg1 >= _local4){
this.cachedTotalTime = _local4;
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local6 = true;
if (this.cachedDuration == 0){
if ((((((_arg1 == 0)) || ((_rawPrevTime < 0)))) && (!((_rawPrevTime == _arg1))))){
_arg3 = true;
};
_rawPrevTime = _arg1;
};
} else {
if (_arg1 <= 0){
if (_arg1 < 0){
this.active = false;
if (this.cachedDuration == 0){
if (_rawPrevTime > 0){
_arg3 = true;
_local6 = true;
};
_rawPrevTime = _arg1;
};
};
this.cachedTotalTime = (this.cachedTime = (this.ratio = 0));
if (((this.cachedReversed) && (!((_local5 == 0))))){
_local6 = true;
};
} else {
this.cachedTotalTime = (this.cachedTime = _arg1);
_local8 = true;
};
};
if (_repeat != 0){
_local10 = (this.cachedDuration + _repeatDelay);
if (_local6){
if (((this.yoyo) && ((_repeat % 2)))){
this.cachedTime = (this.ratio = 0);
};
} else {
if (_arg1 > 0){
if (_cyclesComplete != (_cyclesComplete = int((this.cachedTotalTime / _local10)))){
_local7 = true;
};
this.cachedTime = (((this.cachedTotalTime / _local10) - _cyclesComplete) * _local10);
if (((this.yoyo) && ((_cyclesComplete % 2)))){
this.cachedTime = (this.cachedDuration - this.cachedTime);
} else {
if (this.cachedTime >= this.cachedDuration){
this.cachedTime = this.cachedDuration;
this.ratio = 1;
_local8 = false;
};
};
if (this.cachedTime <= 0){
this.cachedTime = (this.ratio = 0);
_local8 = false;
};
};
};
};
if ((((_local5 == this.cachedTime)) && (!(_arg3)))){
return;
};
if (!this.initted){
init();
};
if (((!(this.active)) && (!(this.cachedPaused)))){
this.active = true;
};
if (_local8){
if (_easeType){
_local11 = _easePower;
_local12 = (this.cachedTime / this.cachedDuration);
if (_easeType == 2){
_local12 = (1 - _local12);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (1 - this.ratio);
} else {
if (_easeType == 1){
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
} else {
if (_local12 < 0.5){
_local12 = (_local12 * 2);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (this.ratio * 0.5);
} else {
_local12 = ((1 - _local12) * 2);
this.ratio = _local12;
while (_local11--) {
this.ratio = (_local12 * this.ratio);
};
this.ratio = (1 - (0.5 * this.ratio));
};
};
};
} else {
this.ratio = _ease(this.cachedTime, 0, 1, this.cachedDuration);
};
};
if ((((((_local5 == 0)) && (!((this.cachedTotalTime == 0))))) && (!(_arg2)))){
if (this.vars.onStart){
this.vars.onStart.apply(null, this.vars.onStartParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.START));
};
};
_local9 = this.cachedPT1;
while (_local9) {
_local9.target[_local9.property] = (_local9.start + (this.ratio * _local9.change));
_local9 = _local9.nextNode;
};
if (((_hasUpdate) && (!(_arg2)))){
this.vars.onUpdate.apply(null, this.vars.onUpdateParams);
};
if (((_hasUpdateListener) && (!(_arg2)))){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.UPDATE));
};
if (_local6){
if (((_hasPlugins) && (this.cachedPT1))){
onPluginEvent("onComplete", this);
};
complete(true, _arg2);
} else {
if (((_local7) && (!(_arg2)))){
if (this.vars.onRepeat){
this.vars.onRepeat.apply(null, this.vars.onRepeatParams);
};
if (_dispatcher){
_dispatcher.dispatchEvent(new TweenEvent(TweenEvent.REPEAT));
};
};
};
}
public function willTrigger(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.willTrigger(_arg1));
}
public function set currentProgress(_arg1:Number):void{
if (_cyclesComplete == 0){
setTotalTime((this.duration * _arg1), false);
} else {
setTotalTime(((this.duration * _arg1) + (_cyclesComplete * this.cachedDuration)), false);
};
}
public function get totalProgress():Number{
return ((this.cachedTotalTime / this.totalDuration));
}
protected function removePropTween(_arg1:PropTween):Boolean{
if (_arg1.nextNode){
_arg1.nextNode.prevNode = _arg1.prevNode;
};
if (_arg1.prevNode){
_arg1.prevNode.nextNode = _arg1.nextNode;
} else {
if (this.cachedPT1 == _arg1){
this.cachedPT1 = _arg1.nextNode;
};
};
if (((_arg1.isPlugin) && (_arg1.target.onDisable))){
_arg1.target.onDisable();
if (_arg1.target.activeDisable){
return (true);
};
};
return (false);
}
public function get repeatDelay():Number{
return (_repeatDelay);
}
public function get repeat():int{
return (_repeat);
}
public function get currentProgress():Number{
return ((this.cachedTime / this.duration));
}
override public function set currentTime(_arg1:Number):void{
if (_cyclesComplete == 0){
} else {
if (((this.yoyo) && (((_cyclesComplete % 2) == 1)))){
_arg1 = ((this.duration - _arg1) + (_cyclesComplete * (this.cachedDuration + _repeatDelay)));
} else {
_arg1 = (_arg1 + (_cyclesComplete * (this.duration + _repeatDelay)));
};
};
setTotalTime(_arg1, false);
}
protected function initDispatcher():void{
if (_dispatcher == null){
_dispatcher = new EventDispatcher(this);
};
if ((this.vars.onStartListener is Function)){
_dispatcher.addEventListener(TweenEvent.START, this.vars.onStartListener, false, 0, true);
};
if ((this.vars.onUpdateListener is Function)){
_dispatcher.addEventListener(TweenEvent.UPDATE, this.vars.onUpdateListener, false, 0, true);
_hasUpdateListener = true;
};
if ((this.vars.onCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.COMPLETE, this.vars.onCompleteListener, false, 0, true);
};
if ((this.vars.onRepeatListener is Function)){
_dispatcher.addEventListener(TweenEvent.REPEAT, this.vars.onRepeatListener, false, 0, true);
};
if ((this.vars.onReverseCompleteListener is Function)){
_dispatcher.addEventListener(TweenEvent.REVERSE_COMPLETE, this.vars.onReverseCompleteListener, false, 0, true);
};
}
public function hasEventListener(_arg1:String):Boolean{
return (((_dispatcher)==null) ? false : _dispatcher.hasEventListener(_arg1));
}
override public function set totalDuration(_arg1:Number):void{
if (_repeat == -1){
return;
};
this.duration = ((_arg1 - (_repeat * _repeatDelay)) / (_repeat + 1));
}
override public function get totalDuration():Number{
if (this.cacheIsDirty){
this.cachedTotalDuration = ((_repeat)==-1) ? 999999999999 : ((this.cachedDuration * (_repeat + 1)) + (_repeatDelay * _repeat));
this.cacheIsDirty = false;
};
return (this.cachedTotalDuration);
}
public function set timeScale(_arg1:Number):void{
var _local2:Number;
if (_arg1 == 0){
_arg1 = 0.0001;
};
_local2 = (((_pauseTime) || ((_pauseTime == 0)))) ? _pauseTime : this.timeline.cachedTotalTime;
this.cachedStartTime = (_local2 - (((_local2 - this.cachedStartTime) * this.cachedTimeScale) / _arg1));
this.cachedTimeScale = _arg1;
setDirtyCache(false);
}
public static function set globalTimeScale(_arg1:Number):void{
var _local2:SimpleTimeline;
var _local3:Number;
if (_arg1 == 0){
_arg1 = 0.0001;
};
if (TweenLite.rootTimeline == null){
TweenLite.to({}, 0, {});
};
_local2 = TweenLite.rootTimeline;
_local3 = (getTimer() * 0.001);
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
_local2 = TweenLite.rootFramesTimeline;
_local3 = TweenLite.rootFrame;
_local2.cachedStartTime = (_local3 - (((_local3 - _local2.cachedStartTime) * _local2.cachedTimeScale) / _arg1));
TweenLite.rootFramesTimeline.cachedTimeScale = (TweenLite.rootTimeline.cachedTimeScale = _arg1);
}
public static function fromTo(_arg1:Object, _arg2:Number, _arg3:Object, _arg4:Object):TweenMax{
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg4));
}
public static function allFromTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Object, _arg5:Number=0, _arg6:Function=null, _arg7:Array=null):Array{
_arg4.startAt = _arg3;
if (_arg3.immediateRender){
_arg4.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg4, _arg5, _arg6, _arg7));
}
public static function pauseAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(true, _arg1, _arg2);
}
public static function getTweensOf(_arg1:Object):Array{
var _local2:Array;
var _local3:Array;
var _local4:int;
var _local5:uint;
_local2 = masterList[_arg1];
_local3 = [];
if (_local2){
_local4 = _local2.length;
_local5 = 0;
while (_local4--) {
if (!_local2[_local4].gc){
var _temp1 = _local5;
_local5 = (_local5 + 1);
var _local6 = _temp1;
_local3[_local6] = _local2[_local4];
};
};
};
return (_local3);
}
public static function get globalTimeScale():Number{
return (((TweenLite.rootTimeline)==null) ? 1 : TweenLite.rootTimeline.cachedTimeScale);
}
public static function killChildTweensOf(_arg1:DisplayObjectContainer, _arg2:Boolean=false):void{
var _local3:Array;
var _local4:Object;
var _local5:DisplayObjectContainer;
var _local6:int;
_local3 = getAllTweens();
_local6 = _local3.length;
while (_local6--) {
_local4 = _local3[_local6].target;
if ((_local4 is DisplayObject)){
_local5 = _local4.parent;
while (_local5) {
if (_local5 == _arg1){
if (_arg2){
_local3[_local6].complete(false);
} else {
_local3[_local6].setEnabled(false, false);
};
};
_local5 = _local5.parent;
};
};
};
}
public static function delayedCall(_arg1:Number, _arg2:Function, _arg3:Array=null, _arg4:Boolean=false):TweenMax{
return (new TweenMax(_arg2, 0, {delay:_arg1, onComplete:_arg2, onCompleteParams:_arg3, immediateRender:false, useFrames:_arg4, overwrite:0}));
}
public static function isTweening(_arg1:Object):Boolean{
var _local2:Array;
var _local3:int;
var _local4:TweenLite;
_local2 = getTweensOf(_arg1);
_local3 = _local2.length;
while (_local3--) {
_local4 = _local2[_local3];
if (((_local4.active) || ((((_local4.cachedStartTime == _local4.timeline.cachedTime)) && (_local4.timeline.active))))){
return (true);
};
};
return (false);
}
public static function killAll(_arg1:Boolean=false, _arg2:Boolean=true, _arg3:Boolean=true):void{
var _local4:Array;
var _local5:Boolean;
var _local6:int;
_local4 = getAllTweens();
_local6 = _local4.length;
while (_local6--) {
_local5 = (_local4[_local6].target == _local4[_local6].vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
if (_arg1){
_local4[_local6].complete(false);
} else {
_local4[_local6].setEnabled(false, false);
};
};
};
}
private static function changePause(_arg1:Boolean, _arg2:Boolean=true, _arg3:Boolean=false):void{
var _local4:Array;
var _local5:Boolean;
var _local6:int;
_local4 = getAllTweens();
_local6 = _local4.length;
while (_local6--) {
_local5 = (TweenLite(_local4[_local6]).target == TweenLite(_local4[_local6]).vars.onComplete);
if ((((_local5 == _arg3)) || (!((_local5 == _arg2))))){
TweenCore(_local4[_local6]).paused = _arg1;
};
};
}
public static function from(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allFrom(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
_arg3.runBackwards = true;
if (!("immediateRender" in _arg3)){
_arg3.immediateRender = true;
};
return (allTo(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6));
}
public static function getAllTweens():Array{
var _local1:Dictionary;
var _local2:uint;
var _local3:Array;
var _local4:Array;
var _local5:int;
_local1 = masterList;
_local2 = 0;
_local3 = [];
for each (_local4 in _local1) {
_local5 = _local4.length;
while (_local5--) {
if (!TweenLite(_local4[_local5]).gc){
var _temp1 = _local2;
_local2 = (_local2 + 1);
var _local8 = _temp1;
_local3[_local8] = _local4[_local5];
};
};
};
return (_local3);
}
public static function resumeAll(_arg1:Boolean=true, _arg2:Boolean=true):void{
changePause(false, _arg1, _arg2);
}
public static function to(_arg1:Object, _arg2:Number, _arg3:Object):TweenMax{
return (new TweenMax(_arg1, _arg2, _arg3));
}
public static function allTo(_arg1:Array, _arg2:Number, _arg3:Object, _arg4:Number=0, _arg5:Function=null, _arg6:Array=null):Array{
var i:int;
var varsDup:Object;
var p:String;
var l:uint;
var a:Array;
var curDelay:Number;
var onCompleteProxy:Function;
var onCompleteParamsProxy:Array;
var lastIndex:int;
var targets = _arg1;
var duration = _arg2;
var vars = _arg3;
var stagger = _arg4;
var onCompleteAll = _arg5;
var onCompleteAllParams = _arg6;
l = targets.length;
a = [];
curDelay = ((vars.delay) || (0));
onCompleteProxy = vars.onComplete;
onCompleteParamsProxy = vars.onCompleteParams;
lastIndex = ((stagger)<=0) ? 0 : (l - 1);
i = 0;
while (i < l) {
varsDup = {};
for (p in vars) {
varsDup[p] = vars[p];
};
varsDup.delay = curDelay;
if ((((i == lastIndex)) && (!((onCompleteAll == null))))){
varsDup.onComplete = function ():void{
if (onCompleteProxy != null){
onCompleteProxy.apply(null, onCompleteParamsProxy);
};
onCompleteAll.apply(null, onCompleteAllParams);
};
};
a[a.length] = new TweenMax(targets[i], duration, varsDup);
curDelay = (curDelay + stagger);
i = (i + 1);
};
return (a);
}
TweenPlugin.activate([AutoAlphaPlugin, EndArrayPlugin, FramePlugin, RemoveTintPlugin, TintPlugin, VisiblePlugin, VolumePlugin, BevelFilterPlugin, BezierPlugin, BezierThroughPlugin, BlurFilterPlugin, ColorMatrixFilterPlugin, ColorTransformPlugin, DropShadowFilterPlugin, FrameLabelPlugin, GlowFilterPlugin, HexColorsPlugin, RoundPropsPlugin, ShortRotationPlugin, {}]);
}
}//package com.greensock
Section 36
//Tracker (com.memecounter.Tracker)
package com.memecounter {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.net.*;
import flash.system.*;
public class Tracker {
public static const ORI_DOM:String = "ori_dom";
public static const LOCALHOST:String = "localhost";
private static const MAX_ATTEMPTS:int = 3;
public static const LOCAL:String = "Local";
private static const ERROR_URL:String = "http://error.distralytics.com/comms/";
public static const TRACKER_PATH:String = "/node/tracking/trackerAS3.swf";
private static var ori_dom:String;
private static var lurl:String;
private static var _isReady:Boolean = false;
private static var _isInited:Boolean = false;
public static var c:uint;
public static var d:String = "";
public static var a:uint = 0;
public static var root:DisplayObject;
public static var mcEvent:Function;
public static var fpv:String = "";
private static var l:Loader;
public static var da:Array = ["distralytics.com", "distralytics.co.uk"];
private static var tracker:MovieClip;
private static function loadComplete(_arg1:Event):void{
var e = _arg1;
try {
tracker = e.target.content;
tracker.init(Tracker, root);
} catch(e:Error) {
trace("Memecounter error: unable to access tracker object due to security sandbox.");
};
}
public static function init(_arg1:uint, _arg2:DisplayObject):void{
var _local3:uint;
if (!_isInited){
_isInited = true;
c = _arg1;
root = _arg2;
_local3 = 0;
while (_local3 < da.length) {
Security.allowDomain(("*" + da[_local3]));
Security.allowDomain(da[_local3]);
Security.allowDomain(((c + ".c.") + da[_local3]));
Security.allowDomain(("*." + da[_local3]));
_local3++;
};
ori_dom = (root.loaderInfo.parameters.hasOwnProperty(ORI_DOM)) ? root.loaderInfo.parameters[ORI_DOM] : "";
d = ((ori_dom)!="") ? ori_dom : ((new LocalConnection().domain.indexOf(LOCALHOST))==-1) ? new LocalConnection().domain : LOCAL;
fpv = Capabilities.version.split(" ")[1].split(",")[0];
lurl = (((((((((TRACKER_PATH + "?c=") + c) + "&r=") + Math.floor((Math.random() * 10000000000))) + "&d=") + d) + "&p=") + fpv) + "&as=3");
l = new Loader();
l.contentLoaderInfo.addEventListener(Event.INIT, loadComplete);
l.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError);
lc();
mcEvent = kvEvent;
};
}
public static function trackerReady():void{
_isReady = true;
}
public static function get isReady():Boolean{
return (_isReady);
}
public static function mcClick(_arg1:String, _arg2:String=null):void{
if (_isReady){
tracker.mcClick(_arg1, _arg2);
};
}
private static function loadError(_arg1:Event):void{
var _local2:URLLoader;
var _local3:URLRequest;
var _local4:URLVariables;
a++;
if (a < MAX_ATTEMPTS){
lc();
} else {
_local2 = new URLLoader();
_local3 = new URLRequest(ERROR_URL);
_local4 = new URLVariables();
_local3.method = URLRequestMethod.GET;
_local3.data = _local4;
_local4.error = "Unable to load SWF";
_local4.c = c;
_local4.fd = root.loaderInfo.loaderURL;
_local4.p = fpv;
_local4.mv = "3.3.x";
_local4.r = Math.random();
_local2.load(_local3);
};
}
public static function kvCountry():String{
if (_isReady){
return (tracker.kvCountry());
};
return ("");
}
public static function kvClick(_arg1:uint):void{
if (_isReady){
tracker.kvClick(_arg1);
};
}
public static function kvEvent(_arg1):void{
if (_isReady){
tracker.kvEvent(_arg1);
};
}
private static function lc():void{
var _local1:String;
var _local2:String;
_local2 = da[(a % da.length)];
if (_local2.charAt(0) === "."){
_local1 = (("http://" + _local2.substr(1, (_local2.length - 1))) + lurl);
} else {
_local1 = (((("http://" + c) + ".c.") + _local2) + lurl);
};
Security.allowDomain(_local1);
l.load(new URLRequest(_local1));
}
}
}//package com.memecounter
Section 37
//_assets_38 (hit_fla._assets_38)
package hit_fla {
import flash.display.*;
public dynamic class _assets_38 extends MovieClip {
public function _assets_38(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hit_fla
Section 38
//batsman_hit_24 (hit_fla.batsman_hit_24)
package hit_fla {
import flash.display.*;
public dynamic class batsman_hit_24 extends MovieClip {
public function batsman_hit_24(){
addFrameScript(0, frame1, 14, frame15);
}
function frame15(){
stop();
}
function frame1(){
stop();
}
}
}//package hit_fla
Section 39
//bowler_16 (hit_fla.bowler_16)
package hit_fla {
import flash.display.*;
public dynamic class bowler_16 extends MovieClip {
public var mc_inner:MovieClip;
public function bowler_16(){
addFrameScript(0, frame1, 1, frame2, 21, frame22);
}
function frame1(){
stop();
}
function frame22(){
stop();
}
function frame2(){
mc_inner.gotoAndPlay(2);
}
}
}//package hit_fla
Section 40
//bowler_throw_18 (hit_fla.bowler_throw_18)
package hit_fla {
import flash.display.*;
public dynamic class bowler_throw_18 extends MovieClip {
public function bowler_throw_18(){
addFrameScript(71, frame72);
}
function frame72(){
stop();
}
}
}//package hit_fla
Section 41
//game_extras_5 (hit_fla.game_extras_5)
package hit_fla {
import flash.display.*;
public dynamic class game_extras_5 extends MovieClip {
public var mc_bowler:MovieClip;
public var mc_umpire:MovieClip;
}
}//package hit_fla
Section 42
//game_globeman_message_90 (hit_fla.game_globeman_message_90)
package hit_fla {
import flash.display.*;
import flash.text.*;
public dynamic class game_globeman_message_90 extends MovieClip {
public var text_score:TextField;
public var text_runs:TextField;
}
}//package hit_fla
Section 43
//game_hud_32 (hit_fla.game_hud_32)
package hit_fla {
import flash.display.*;
public dynamic class game_hud_32 extends MovieClip {
public var mc_score_0:MovieClip;
public var mc_score_1:MovieClip;
public var mc_score_2:MovieClip;
public var mc_score_3:MovieClip;
public var mc_balls_1:MovieClip;
public var mc_balls_3:MovieClip;
public var mc_balls_0:MovieClip;
public var mc_balls_2:MovieClip;
public var mc_runs_0:MovieClip;
public var mc_runs_3:MovieClip;
public var mc_runs_1:MovieClip;
public var mc_runs_2:MovieClip;
}
}//package hit_fla
Section 44
//game_umpire_6 (hit_fla.game_umpire_6)
package hit_fla {
import flash.display.*;
public dynamic class game_umpire_6 extends MovieClip {
public var mc_inner:MovieClip;
}
}//package hit_fla
Section 45
//game_umpire_arm_8 (hit_fla.game_umpire_arm_8)
package hit_fla {
import flash.display.*;
public dynamic class game_umpire_arm_8 extends MovieClip {
public var mc_inner:MovieClip;
public function game_umpire_arm_8(){
addFrameScript(0, frame1);
}
function frame1(){
stop();
}
}
}//package hit_fla
Section 46
//game_umpire_arm_out_12 (hit_fla.game_umpire_arm_out_12)
package hit_fla {
import flash.display.*;
public dynamic class game_umpire_arm_out_12 extends MovieClip {
public function game_umpire_arm_out_12(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
stop();
}
}
}//package hit_fla
Section 47
//game_umpire_arm_six_13 (hit_fla.game_umpire_arm_six_13)
package hit_fla {
import flash.display.*;
public dynamic class game_umpire_arm_six_13 extends MovieClip {
public function game_umpire_arm_six_13(){
addFrameScript(0, frame1, 4, frame5);
}
function frame1(){
stop();
}
function frame5(){
stop();
}
}
}//package hit_fla
Section 48
//game_umpire_inner_7 (hit_fla.game_umpire_inner_7)
package hit_fla {
import flash.display.*;
public dynamic class game_umpire_inner_7 extends MovieClip {
public var mc_arm_right:MovieClip;
public var mc_arm_left:MovieClip;
}
}//package hit_fla
Section 49
//game_wickets_19 (hit_fla.game_wickets_19)
package hit_fla {
import flash.display.*;
public dynamic class game_wickets_19 extends MovieClip {
public var mc_pole_0:MovieClip;
public var mc_pole_1:MovieClip;
public var mc_pole_2:MovieClip;
public var mc_base:MovieClip;
public var mc_bar:MovieClip;
}
}//package hit_fla
Section 50
//ui_btn_ball_54 (hit_fla.ui_btn_ball_54)
package hit_fla {
import flash.display.*;
public dynamic class ui_btn_ball_54 extends MovieClip {
public var mc_label:MovieClip;
}
}//package hit_fla
Section 51
//ui_btn_sound_75 (hit_fla.ui_btn_sound_75)
package hit_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ui_btn_sound_75 extends MovieClip {
public var text_label:TextField;
}
}//package hit_fla
Section 52
//ui_fbconnect_preview_57 (hit_fla.ui_fbconnect_preview_57)
package hit_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ui_fbconnect_preview_57 extends MovieClip {
public var text_preview:TextField;
}
}//package hit_fla
Section 53
//ui_gameover_content_61 (hit_fla.ui_gameover_content_61)
package hit_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ui_gameover_content_61 extends MovieClip {
public var text_runs:TextField;
public var text_verdict:TextField;
}
}//package hit_fla
Section 54
//ui_gameover_globeman_60 (hit_fla.ui_gameover_globeman_60)
package hit_fla {
import flash.display.*;
public dynamic class ui_gameover_globeman_60 extends MovieClip {
public var mc_content:MovieClip;
}
}//package hit_fla
Section 55
//ui_leaderboard_letter_33 (hit_fla.ui_leaderboard_letter_33)
package hit_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ui_leaderboard_letter_33 extends MovieClip {
public var text_char:TextField;
}
}//package hit_fla
Section 56
//ui_nav_53 (hit_fla.ui_nav_53)
package hit_fla {
import flash.display.*;
public dynamic class ui_nav_53 extends MovieClip {
public var mc_btn_1:MovieClip;
public var mc_btn_0:MovieClip;
}
}//package hit_fla
Section 57
//ui_preloader_globeman_95 (hit_fla.ui_preloader_globeman_95)
package hit_fla {
import flash.display.*;
public dynamic class ui_preloader_globeman_95 extends MovieClip {
public var mc_inner:MovieClip;
}
}//package hit_fla
Section 58
//ui_preloader_pct_96 (hit_fla.ui_preloader_pct_96)
package hit_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ui_preloader_pct_96 extends MovieClip {
public var text_pct:TextField;
}
}//package hit_fla
Section 59
//ui_sendfriend_ticket_72 (hit_fla.ui_sendfriend_ticket_72)
package hit_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ui_sendfriend_ticket_72 extends MovieClip {
public var input_name:TextField;
public var input_email:TextField;
}
}//package hit_fla
Section 60
//ui_sendfriend_tickets_71 (hit_fla.ui_sendfriend_tickets_71)
package hit_fla {
import flash.display.*;
public dynamic class ui_sendfriend_tickets_71 extends MovieClip {
public var mc_ticket_2:MovieClip;
public var mc_ticket_3:MovieClip;
public var mc_ticket_1:MovieClip;
public var mc_ticket_5:MovieClip;
public var mc_ticket_4:MovieClip;
public var mc_ticket_0:MovieClip;
}
}//package hit_fla
Section 61
//ui_socialicons_76 (hit_fla.ui_socialicons_76)
package hit_fla {
import flash.display.*;
public dynamic class ui_socialicons_76 extends MovieClip {
public var btn_delicious:MovieClip;
public var btn_facebook:MovieClip;
public var btn_stumbleupon:MovieClip;
public var btn_digg:MovieClip;
public var btn_google:MovieClip;
public var btn_twitter:MovieClip;
public var btn_yahoo:MovieClip;
public var btn_reddit:MovieClip;
}
}//package hit_fla
Section 62
//ui_submitscore_content_86 (hit_fla.ui_submitscore_content_86)
package hit_fla {
import flash.display.*;
import flash.text.*;
public dynamic class ui_submitscore_content_86 extends MovieClip {
public var input_yourname:TextField;
public var input_youremail:TextField;
public var text_result:TextField;
public var text_prize:TextField;
}
}//package hit_fla
Section 63
//ui_submitscore_globeman_85 (hit_fla.ui_submitscore_globeman_85)
package hit_fla {
import flash.display.*;
public dynamic class ui_submitscore_globeman_85 extends MovieClip {
public var mc_content:MovieClip;
}
}//package hit_fla
Section 64
//ui_titlescreen_globeman_42 (hit_fla.ui_titlescreen_globeman_42)
package hit_fla {
import flash.display.*;
public dynamic class ui_titlescreen_globeman_42 extends MovieClip {
public var mc_btns:MovieClip;
}
}//package hit_fla
Section 65
//ui_titlescreen_menu_43 (hit_fla.ui_titlescreen_menu_43)
package hit_fla {
import flash.display.*;
public dynamic class ui_titlescreen_menu_43 extends MovieClip {
public var btn_leaderboard:MovieClip;
public var btn_play:MovieClip;
public var btn_instructions:MovieClip;
public var btn_sendfriend:MovieClip;
}
}//package hit_fla
Section 66
//Ball (lycamobile.Ball)
package lycamobile {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import tamba.geom.*;
import flash.geom.*;
import com.greensock.easing.*;
import tamba.media.*;
public class Ball extends Sprite {
private var bounciness:Number;// = 0.8
private var point2d:Point2d;
private var verticalForce:Number;// = 0
private var _clip;
private var point3d:Point3d;
private var completed:Boolean;// = false
private var _distance:Number;// = 0
private var gravity:Number;// = 0.05
private var airFriction:Number;// = 0.98
private var projectionCenter:Point;
private var vectors:Object;
private var radius:Number;// = 1.8
private var _bounced:Boolean;// = false
private var launched:Boolean;// = false
private var travelLength:Number;// = 0
private var altitude:Number;// = 0
private var trailFadeRate:Number;// = 0
private var focalLength:Number;
private var shadowPoint2d:Point2d;
private var shadowPoint3d:Point3d;
public function Ball(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number):void{
bounciness = 0.8;
airFriction = 0.98;
altitude = 0;
verticalForce = 0;
gravity = 0.05;
radius = 1.8;
travelLength = 0;
trailFadeRate = 0;
vectors = {start:{x:0, y:0, z:0}, end:{x:0, y:0, z:0}, travel:{x:0, y:0, z:0}, last:{x:0, y:0, z:0}};
launched = false;
completed = false;
_bounced = false;
_distance = 0;
super();
focalLength = _arg5;
altitude = _arg4;
shadowPoint3d = new Point3d(_arg1, _arg2, _arg3);
_arg2 = (_arg2 - _arg4);
projectionCenter = new Point(_arg1, _arg2);
point3d = new Point3d(_arg1, _arg2, _arg3);
vectors.start = {x:_arg1, y:_arg2, z:_arg3};
_clip = new game_ball();
addChild(_clip);
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
public function get distance():Number{
return (_distance);
}
public function stop(_arg1:String):void{
this.dispatchEvent(new Event(_arg1));
vectors.travel.x = (vectors.travel.y = (vectors.travel.z = 0));
stage.removeEventListener(Event.ENTER_FRAME, onFrameEntered);
}
private function onFrameEntered(_arg1:Event):void{
update();
}
public function get clip(){
return (_clip);
}
private function drawBall():void{
var _local1:Number;
var _local2:Sprite;
var _local3:Number;
clip.x = point2d.x;
clip.y = point2d.y;
_local1 = point2d.t;
if (_local1 < 0.2){
_local1 = 0.2;
};
clip.scaleX = (clip.scaleY = _local1);
_local2 = new Sprite();
_local2.graphics.beginFill(0xE40005, 0.75);
_local2.graphics.drawCircle(point2d.x, point2d.y, (radius * point2d.t));
_local2.graphics.endFill();
_local2.blendMode = BlendMode.LAYER;
addChildAt(_local2, 0);
TweenLite.to(_local2, trailFadeRate, {alpha:0, onComplete:removeTrailingBall, onCompleteParams:[_local2]});
graphics.clear();
graphics.beginFill(0, 0.25);
_local3 = (radius * shadowPoint2d.t);
graphics.drawCircle(shadowPoint2d.x, shadowPoint2d.y, _local3);
graphics.endFill();
}
public function bounceback():void{
vectors.travel.x = (vectors.travel.x * -0.25);
vectors.travel.y = (vectors.travel.y * -0.25);
vectors.travel.z = (vectors.travel.z * -0.25);
}
public function get zIndex():Number{
return (point3d.z);
}
public function hit(_arg1:Number, _arg2:Number, _arg3:Number){
airFriction = 1;
bounciness = 0.5;
_arg3 = -6;
verticalForce = -10;
vectors.travel.x = 3;
vectors.travel.y = (vectors.travel.y * _arg3);
vectors.travel.z = (vectors.travel.z * _arg3);
}
public function launch(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number, _arg5:Number, _arg6:Number=0.15):void{
verticalForce = _arg4;
trailFadeRate = _arg6;
vectors.end = {x:_arg1, y:_arg2, z:_arg3};
vectors.travel.x = (vectors.end.x - vectors.start.x);
vectors.travel.y = (vectors.end.y - vectors.start.y);
vectors.travel.z = (vectors.end.z - vectors.start.z);
travelLength = Math.sqrt((((vectors.travel.x * vectors.travel.x) + (vectors.travel.y * vectors.travel.y)) + (vectors.travel.z * vectors.travel.z)));
vectors.travel.x = (vectors.travel.x / travelLength);
vectors.travel.y = (vectors.travel.y / travelLength);
vectors.travel.z = (vectors.travel.z / travelLength);
vectors.travel.x = (vectors.travel.x * _arg5);
vectors.travel.y = (vectors.travel.y * _arg5);
vectors.travel.z = (vectors.travel.z * _arg5);
point2d = new Point2d(0, 0, 0);
launched = true;
}
private function onAddedToStage(_arg1:Event):void{
stage.addEventListener(Event.ENTER_FRAME, onFrameEntered, false, 0, true);
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function update():void{
_distance = ((Math.abs(point3d.z) + point3d.x) + point3d.y);
point3d.y = (point3d.y + verticalForce);
point3d.x = (point3d.x + vectors.travel.x);
point3d.y = (point3d.y + vectors.travel.y);
point3d.z = (point3d.z + vectors.travel.z);
shadowPoint3d.x = (shadowPoint3d.x + vectors.travel.x);
shadowPoint3d.y = (shadowPoint3d.y + vectors.travel.y);
shadowPoint3d.z = (shadowPoint3d.z + vectors.travel.z);
if (launched){
vectors.travel.x = (vectors.travel.x * airFriction);
vectors.travel.y = (vectors.travel.y * airFriction);
vectors.travel.z = (vectors.travel.z * airFriction);
verticalForce = (verticalForce * airFriction);
_clip.mc_inner.rotation = (_clip.mc_inner.rotation + vectors.travel.z);
altitude = (altitude - verticalForce);
verticalForce = (verticalForce + gravity);
if (altitude <= 0){
verticalForce = (verticalForce * -(bounciness));
if (!_bounced){
bounciness = (bounciness * 0.5);
Audio.playEffect("bounce");
_bounced = true;
};
};
if ((((((((Math.abs(vectors.travel.z) < 0.02)) && ((altitude < 1)))) && ((vectors.travel.z > 0)))) && (!(completed)))){
this.stop("onFinalStop");
completed = true;
};
};
point2d = point3d.project(focalLength, projectionCenter);
shadowPoint2d = shadowPoint3d.project(focalLength, projectionCenter);
drawBall();
if (point2d.y > 550){
stop("onExit");
};
}
public function get currentStatus():Object{
return ({x:point2d.x, y:point2d.y, z:point3d.z, a:altitude, vz:vectors.travel.z});
}
private function removeTrailingBall(_arg1:Sprite):void{
_arg1.parent.removeChild(_arg1);
}
public function get bounced():Boolean{
return (_bounced);
}
private function onRemovedFromStage(_arg1:Event):void{
stage.removeEventListener(Event.ENTER_FRAME, onFrameEntered);
removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
}
}
}//package lycamobile
Section 67
//Game (lycamobile.Game)
package lycamobile {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import flash.geom.*;
import tamba.events.*;
import tamba.utils.*;
import com.greensock.easing.*;
import com.coreyoneil.collision.*;
import tamba.display.*;
import tamba.media.*;
public class Game extends MovieClip {
private var bowled:Boolean;
private var ballReachable:Boolean;
private var bowler:MovieClip;
private var passedWickets:Boolean;
private var globeMan:MovieClip;
private var umpireSignalled:Boolean;
private var textColours:Object;
private var numbers:Array;
private var balls:int;// = 0
private var extras:MovieClip;
private var umpire:MovieClip;
private var score:int;// = 0
private var crowdEffect:String;// = ""
private var totalRuns:int;// = 0
private var smashedWickets:Boolean;
private var wickets:MovieClip;
private var fieldOfView:Number;// = 120
private var howToPlay:MovieClip;
private var clouds:Array;
private var notification:MovieClip;
private var collisionList:CollisionList;
private var crowdReacted:Boolean;
private var passedExtras:Boolean;
private var hud:MovieClip;
private var accuracy:Number;// = 0
private var ballHit:Boolean;
private var ballExited:Boolean;
private var pitch:MovieClip;
private var projectionCenter:Point;
private var batsman:MovieClip;
private var focalLength:Number;
private var indexZ:Object;
private var bowlStats:Object;
private var batted:Boolean;
private var ball:Ball;
public function Game():void{
totalRuns = 0;
score = 0;
accuracy = 0;
balls = 0;
fieldOfView = 120;
numbers = ["One", "Two", "Three", "Four", "Five", "Six"];
textColours = {green:"1d650e", blue:"0f6aa6"};
bowlStats = {x:0, y:0, z:0, fz:0, fy:0};
indexZ = {batsman:0, bowler:-75, wickets:-135, batReach:-95};
crowdEffect = "";
clouds = [{linkage:"game_clouds_bg", x:0, y:90, speed:1, object:null}, {linkage:"game_cloud_1", x:705, y:340, speed:2, object:null}, {linkage:"game_cloud_2", x:310, y:90, speed:1.5, object:null}, {linkage:"game_cloud_3", x:-250, y:220, speed:3, object:null}, {linkage:"game_cloud_4", x:20, y:180, speed:2, object:null}];
super();
this.addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
this.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
}
private function throwBall():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Number;
var _local5:Number;
if (ball != null){
ball.removeEventListener("onExit", onBallExit);
ball.removeEventListener("onFinalStop", onBallFinalStop);
pitch.removeChild(ball);
ball = null;
};
ball = new Ball(369, 200, 0, 30, focalLength);
ball.addEventListener("onExit", onBallExit);
pitch.addChildAt(ball, (pitch.getChildIndex(extras) + 1));
_local1 = Utils.randomInteger(wickets.x, ((wickets.x + wickets.mc_base.width) + 10));
_local2 = Utils.randomInteger(295, 360);
_local3 = -700;
_local4 = (5 + (balls * 0.5));
_local5 = (_local4 * 0.5);
bowlStats = {x:_local1, y:_local2, z:_local3, fz:_local4, fy:_local5};
ball.launch(_local1, _local2, _local3, _local5, _local4);
updateHUD("balls", balls);
Audio.playEffect("throw");
bowled = true;
}
private function nextDelivery():void{
passedWickets = false;
passedExtras = false;
ballReachable = false;
crowdReacted = false;
ballExited = false;
batted = false;
ballHit = false;
destroyCollisions();
if (balls < 6){
resetBowler();
resetUmpire();
resetWickets();
resetBatsman();
showNotification(("Ball " + numbers[balls]));
TweenLite.delayedCall(5, bowl);
balls++;
} else {
TweenLite.delayedCall(1, stopDeliveries);
};
bowled = false;
umpireSignalled = false;
}
private function destroyResultDisplay():void{
removeChild(globeMan);
globeMan = null;
nextDelivery();
}
private function destroyNotification():void{
removeChild(notification);
notification = null;
}
private function initClouds():void{
var _local1:int;
var _local2:int;
var _local3:BitmapScroll;
_local1 = clouds.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = new BitmapScroll(clouds[_local2].linkage, 1100, 1100);
_local3.alpha = 0.75;
_local3.y = clouds[_local2].y;
_local3.moveTo(clouds[_local2].x);
clouds[_local2].object = _local3;
if (clouds[_local2].linkage == "game_clouds_bg"){
pitch.mc_sky.addChild(_local3);
} else {
pitch.mc_clouds.addChild(_local3);
};
_local2++;
};
}
private function bat():void{
if (((bowled) && (!(batted)))){
batsman.gotoAndPlay("bat");
batted = true;
};
}
private function exitGame():void{
this.dispatchEvent(new EventWithParams("onComplete", {score:score, runs:totalRuns}));
}
private function resetBowler():void{
if (bowler.currentFrame > 1){
bowler.gotoAndPlay("reset");
};
}
private function umpireSignal():void{
umpire.mc_arm_right.mc_inner.gotoAndPlay("up");
umpire.mc_arm_left.mc_inner.gotoAndPlay("up");
}
private function resetWickets():void{
var _local1:int;
var _local2:*;
smashedWickets = false;
_local1 = wickets.numChildren;
while (_local1--) {
_local2 = wickets.getChildAt(_local1);
if (_local2.name.indexOf("mc_pole_") > -1){
TweenLite.to(_local2, 0.2, {rotation:0});
};
};
TweenLite.to(wickets.mc_bar, 0.2, {rotation:0, y:2.5});
}
private function showHowToPlay():void{
howToPlay = new game_howtoplay();
howToPlay.x = 125;
howToPlay.y = 480;
howToPlay.btn_start.mc_label.gotoAndStop("play");
Utils.addButtonListener(howToPlay.btn_start, onStartClicked);
addChild(howToPlay);
TweenLite.to(howToPlay, 0.5, {ease:Back.easeOut, y:105});
}
private function showNotification(_arg1:String):void{
notification = new game_notification();
notification.x = 320;
notification.y = 230;
notification.alpha = 0;
notification.text_message.text = _arg1;
addChild(notification);
TweenLite.to(notification, 1, {delay:0.5, alpha:1, onComplete:hideNotification});
}
private function resetUmpire():void{
if (umpireSignalled){
umpire.mc_arm_left.mc_inner.gotoAndPlay("down");
umpire.mc_arm_right.mc_inner.gotoAndPlay("down");
};
}
private function umpireVerdict(_arg1:String):void{
umpireSignalled = false;
if (_arg1 == "six"){
umpire.mc_arm_left.gotoAndStop("six");
umpire.mc_arm_right.gotoAndStop("six");
umpire.addEventListener(Event.ENTER_FRAME, onUmpireEnterFrame);
umpireSignalled = true;
} else {
if (_arg1 == "out"){
umpire.mc_arm_right.gotoAndStop("normal");
umpire.mc_arm_left.gotoAndStop("out");
umpire.addEventListener(Event.ENTER_FRAME, onUmpireEnterFrame);
umpireSignalled = true;
};
};
}
private function initCollisions():void{
collisionList = new CollisionList(ball.clip);
collisionList.returnAngle = false;
collisionList.addItem(pitch.mc_hit_1);
collisionList.addItem(pitch.mc_hit_2);
collisionList.addItem(pitch.mc_hit_3);
collisionList.addItem(pitch.mc_hit_4);
collisionList.addItem(pitch.mc_hit_6);
}
private function onBallExit(_arg1:Event):void{
ballExited = true;
Audio.playEffect("ohh");
TweenLite.delayedCall(2, calculateRuns);
}
private function onFrameEntered(_arg1:Event):void{
mainLoop();
}
private function initEnvironment():void{
var _local1:Number;
var _local2:Number;
var _local3:Number;
var _local4:Number;
pitch = new game_pitch();
hud = pitch.mc_hud;
batsman = pitch.mc_batsman;
bowler = pitch.mc_extras.mc_bowler;
bowler.gotoAndStop(1);
batsman.gotoAndStop(1);
umpire = pitch.mc_extras.mc_umpire.mc_inner;
wickets = pitch.mc_wickets;
extras = pitch.mc_extras;
addChild(pitch);
initClouds();
_local1 = (fieldOfView / 2);
_local2 = (90 - _local1);
_local3 = ((_local2 / 180) * Math.PI);
_local4 = (stage.stageWidth / 2);
focalLength = (_local4 * Math.tan(_local3));
TweenLite.delayedCall(0.5, showHowToPlay);
}
private function onStartClicked(_arg1:MouseEvent):void{
hideHowToPlay();
}
private function onRemovedFromStage(_arg1:Event):void{
stage.removeEventListener(MouseEvent.MOUSE_DOWN, onStageMouseDown);
stage.removeEventListener(Event.ENTER_FRAME, onFrameEntered);
removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
}
private function updateClouds():void{
var _local1:int;
var _local2:int;
var _local3:BitmapScroll;
_local1 = clouds.length;
_local2 = 0;
while (_local2 < _local1) {
_local3 = clouds[_local2].object;
clouds[_local2].x = (clouds[_local2].x + (clouds[_local2].speed * 0.3));
_local3.moveTo(clouds[_local2].x);
_local2++;
};
}
private function destroyCollisions():void{
collisionList = null;
}
private function initGame():void{
initEnvironment();
initHUD();
Audio.stopMusic();
Audio.stopEffects();
Audio.playMusic("crowd");
}
private function smashWickets():void{
var _local1:int;
var _local2:*;
var _local3:int;
if (((((smashedWickets) || (ballExited))) || (!(bowled)))){
return;
};
_local1 = wickets.numChildren;
while (_local1--) {
_local2 = wickets.getChildAt(_local1);
if (_local2.name.indexOf("mc_pole_") > -1){
if (_local2.hitTestObject(ball.clip)){
_local3 = Utils.randomInteger(60, 90);
if ((Math.random() * 50) < 25){
_local3 = (_local3 * -1);
};
TweenLite.to(_local2, 0.25, {rotation:_local3, ease:Back.easeOut});
smashedWickets = true;
};
};
};
if (smashedWickets){
TweenLite.to(wickets.mc_bar, 0.25, {rotation:Utils.randomInteger(-20, 20), y:Utils.randomInteger(170, 190), ease:Back.easeIn});
Audio.playEffect("wickets");
umpireVerdict("out");
};
}
private function onUmpireEnterFrame(_arg1:Event):void{
umpire.removeEventListener(Event.ENTER_FRAME, onUmpireEnterFrame);
umpireSignal();
}
private function stopDeliveries():void{
dispatchEvent(new EventWithParams("onComplete", {score:score, runs:totalRuns}));
}
private function onStageMouseDown(_arg1:MouseEvent):void{
bat();
}
private function resetBatsman():void{
if (batsman.currentFrame > 1){
batsman.gotoAndPlay("relax");
};
}
private function returnBall():void{
var _local1:Object;
var _local2:Number;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:Number;
var _local11:Number;
var _local12:*;
if (((ballReachable) && (ball.bounced))){
_local1 = ball.currentStatus;
_local2 = Math.abs(_local1.z);
_local3 = Math.abs(indexZ.batReach);
_local4 = Math.abs(indexZ.wickets);
_local5 = ((_local4 - _local3) * 0.5);
_local6 = (_local5 + _local3);
accuracy = (1 - (Math.abs((_local2 - _local6)) / _local5));
trace("accuracy:", accuracy);
if (accuracy > 0){
_local7 = 440;
_local8 = 30;
_local9 = 0;
_local10 = (5.5 * accuracy);
_local11 = (-(_local10) * 0.5);
trace("forceZ:", _local10);
if ((Math.random() * 500) < 250){
_local7 = Utils.randomInteger(100, 220);
} else {
_local7 = Utils.randomInteger(480, 580);
};
trace(_local7);
crowdEffect = "applause";
if (_local10 <= 1.5){
crowdEffect = "ohh";
};
ball.stop("onHit");
ball.removeEventListener("onExit", onBallExit);
pitch.removeChild(ball);
_local12 = _local10;
ball = new Ball(_local1.x, _local1.y, _local1.z, _local1.a, focalLength);
ball.addEventListener("onFinalStop", onBallFinalStop);
ball.launch(_local7, _local8, _local9, _local11, _local10);
pitch.addChildAt(ball, (pitch.getChildIndex(extras) + 1));
initCollisions();
Audio.playEffect("hit_hard");
TweenLite.delayedCall(1, Audio.playEffect, [crowdEffect]);
};
ballHit = true;
};
}
private function updateHUD(_arg1:String, _arg2:int):void{
var _local3:int;
var _local4:String;
var _local5:int;
var _local6:MovieClip;
_local3 = 4;
_local4 = Utils.zeroPad(_arg2, 4);
_local5 = 0;
while (_local5 < _local3) {
_local6 = hud[((("mc_" + _arg1) + "_") + _local5)];
_local6.text_char.text = _local4.charAt(_local5);
_local5++;
};
}
private function hideNotification():void{
TweenLite.to(notification, 1, {delay:1, alpha:0, onComplete:destroyNotification});
}
private function displayResult(_arg1:int, _arg2:int):void{
var _local3:String;
var _local4:String;
globeMan = new game_globeman();
globeMan.x = 17;
globeMan.y = 480;
_local3 = (_arg1 + " run");
_local4 = "Accuracy points: ";
if (_arg2 == 0){
_local4 = (_local4 + "None!");
} else {
_local4 = (_local4 + _arg2.toString());
};
if (_arg1 != 1){
_local3 = (_local3 + "s");
};
globeMan.mc_content.text_runs.text = _local3.toUpperCase();
globeMan.mc_content.text_score.text = _local4;
addChild(globeMan);
updateHUD("runs", totalRuns);
TweenLite.to(ball, 1, {alpha:0.01});
TweenLite.to(globeMan, 0.5, {x:17, y:155, ease:Strong.easeIn, onComplete:hideResultDisplay});
}
private function hideHowToPlay():void{
TweenLite.to(howToPlay, 0.5, {ease:Back.easeIn, y:480, onComplete:destroyHowToPlay});
}
private function onAddedToStage(_arg1:Event):void{
stage.addEventListener(Event.ENTER_FRAME, onFrameEntered, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_DOWN, onStageMouseDown, false, 0, true);
this.removeEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
initGame();
}
private function onBallFinalStop(_arg1:Event):void{
calculateRuns();
}
private function initHUD():void{
}
private function hideResultDisplay():void{
TweenLite.to(globeMan, 0.5, {delay:2, x:17, y:480, ease:Strong.easeIn, onComplete:destroyResultDisplay});
}
private function calculateRuns():void{
var _local1:Number;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:String;
var _local6:int;
var _local7:Array;
var _local8:Object;
_local1 = 100;
_local2 = (375 - _local1);
_local3 = (ball.currentStatus.y - _local1);
_local4 = 0;
if (_local3 < 400){
_local7 = collisionList.checkCollisions();
if (_local7.length){
_local8 = _local7[0];
trace(_local8.object2.name);
if (_local8.object2.name.indexOf("mc_hit_") > -1){
_local4 = int(_local8.object2.name.replace("mc_hit_", ""));
trace("Hit,", _local4);
};
};
};
trace((((("You scored " + _local4) + " runs! (") + _local3) + ")"));
_local5 = "";
if (smashedWickets){
_local5 = (("<font size=\"70\" color=\"#" + textColours.green) + "\">Out!</font>");
} else {
if (_local4 <= 0){
_local5 = (("<font size=\"50\" color=\"#" + textColours.green) + "\">No runs!</font>");
} else {
_local5 = (((((("<font size=\"40\" color=\"#" + textColours.green) + "\">Your score:<br></font><font size=\"50\" color=\"#") + textColours.blue) + "\">") + _local4) + " run");
if (_local4 != 1){
_local5 = (_local5 + "s");
};
_local5 = (_local5 + "!</font>");
};
};
if (_local4 == 6){
umpireVerdict("six");
};
totalRuns = (totalRuns + _local4);
_local6 = (100 * accuracy);
if ((((_local6 < 0)) || (!(ballHit)))){
_local6 = 0;
};
trace("bonusPoints", _local6);
score = (score + _local6);
updateHUD("score", score);
displayResult(_local4, _local6);
}
private function destroyHowToPlay():void{
removeChild(howToPlay);
nextDelivery();
}
private function bowl():void{
bowler.gotoAndPlay("bowl");
}
private function mainLoop():void{
var _local1:Number;
var _local2:int;
var _local3:int;
if (ballHit){
_local1 = ball.zIndex;
if (_local1 > indexZ.bowler){
if (((ball.clip.hitTestObject(extras)) && (!(passedExtras)))){
pitch.swapChildren(extras, ball);
passedExtras = true;
};
};
if (ball != null){
if ((((ball.y < 90)) && ((ball.currentStatus.z > -35)))){
TweenLite.to(ball, 0.5, {alpha:0.01});
};
if ((((Math.abs(ball.currentStatus.vz) < 1)) && (!(crowdReacted)))){
crowdReacted = true;
};
};
} else {
if (ball != null){
_local1 = ball.zIndex;
if ((((((_local1 <= indexZ.batReach)) && ((_local1 > indexZ.wickets)))) && (!(ballExited)))){
ballReachable = true;
if ((((batsman.currentFrame > 5)) && ((batsman.currentFrame < 10)))){
returnBall();
};
};
if ((((_local1 <= indexZ.wickets)) && (!(batted)))){
if (!passedWickets){
pitch.swapChildren(wickets, ball);
_local2 = pitch.getChildIndex(batsman);
_local3 = pitch.getChildIndex(wickets);
if (_local2 > _local3){
pitch.swapChildren(wickets, batsman);
};
};
passedWickets = true;
smashWickets();
};
};
};
if (((((((!(bowled)) && (!((bowler == null))))) && ((bowler.currentFrame > 2)))) && ((bowler.currentFrame <= 21)))){
if ((((bowler["mc_inner"].currentFrame >= 20)) && ((bowler["mc_inner"].currentFrame < 25)))){
throwBall();
};
};
updateClouds();
}
}
}//package lycamobile
Section 68
//HighScores (lycamobile.HighScores)
package lycamobile {
import flash.display.*;
import tamba.utils.*;
import tamba.game.*;
public class HighScores extends Leaderboard {
public function HighScores(_arg1:String, _arg2:String, _arg3:uint, _arg4:String, _arg5:String, _arg6:String){
super(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
override protected function onLineAdded(_arg1:MovieClip, _arg2:Object):void{
var _local3:String;
var _local4:String;
var _local5:int;
var _local6:int;
_local3 = Utils.zeroPad(_arg2.points, 4);
_local4 = Utils.zeroPad(_arg2.runs, 2);
trace(_local3, _local4);
_local5 = _local3.length;
_local6 = 0;
while (_local6 < _local5) {
_arg1[("mc_score_" + _local6)].text_char.text = _local3.charAt(_local6);
if (_local6 < 2){
_arg1[("mc_runs_" + _local6)].text_char.text = _local4.charAt(_local6);
};
_local6++;
};
}
}
}//package lycamobile
Section 69
//Main (lycamobile.Main)
package lycamobile {
import flash.display.*;
import flash.events.*;
import tamba.events.*;
import tamba.utils.*;
import com.memecounter.*;
import tamba.display.*;
import flash.system.*;
public class Main extends MovieClip {
private var stageDims:Array;
private var clientID:String;// = "lycacricket"
private var canvas:MovieClip;
private var preloaderMovie:MovieClip;
private var preloader:Preloader;
private var hashSalt:String;// = "lycaja8Xv1"
private var params:Object;
private var screenManager:ScreenManager;
private var clientURL:String;// = "http://www.lycamobile.co.uk"
private var socialURL:String;// = "http://www.tamba-games.co.uk/bookmarks.php"
private var systemURL:String;// = "http://viral.tamba.co.uk/lycamobile/"
public function Main():void{
stageDims = [640, 480];
clientID = "lycacricket";
hashSalt = "lycaja8Xv1";
clientURL = "http://www.lycamobile.co.uk";
systemURL = "http://viral.tamba.co.uk/lycamobile/";
socialURL = "http://www.tamba-games.co.uk/bookmarks.php";
params = stage.root.loaderInfo.parameters;
super();
addFrameScript(0, frame1);
initSystem();
initTracking();
initCanvas();
initPreloader();
}
private function initSystem():void{
Security.allowDomain("*");
Security.allowInsecureDomain("*");
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.showDefaultContextMenu = false;
GlobalObject.set("bookmarkURL", socialURL);
GlobalObject.set("clientID", clientID);
GlobalObject.set("clientURL", clientURL);
GlobalObject.set("hashSalt", hashSalt);
GlobalObject.set("remotingURL", (systemURL + "amfphp/gateway.php"));
GlobalObject.set("systemURL", systemURL);
}
function frame1(){
stop();
}
private function initPreloader():void{
preloaderMovie = new screen_preloader();
canvas.addChild(preloaderMovie);
preloader = new Preloader(this);
preloader.addEventListener("onPreloaderProgress", onPreloaderProgress);
preloader.addEventListener("onPreloaderComplete", onPreloaderComplete);
preloader.start();
}
private function initCanvas():void{
canvas = new MovieClip();
canvas.mask = new StageMask(stageDims[0], stageDims[1]);
addChild(canvas);
}
private function onAssetsFrameEntered(_arg1:Event=null):void{
if (params["facebook"] == 1){
GlobalObject.set("facebook", 1);
} else {
GlobalObject.set("facebook", 0);
};
stage.removeEventListener(Event.ENTER_FRAME, onAssetsFrameEntered);
screenManager = new ScreenManager(preloaderMovie);
canvas.addChild(screenManager);
}
private function onPreloaderComplete(_arg1:EventWithParams=null):void{
preloader.removeEventListener("onPreloaderProgress", onPreloaderProgress);
preloader.removeEventListener("onPreloaderComplete", onPreloaderComplete);
preloader = null;
stage.addEventListener(Event.ENTER_FRAME, onAssetsFrameEntered);
gotoAndStop(3);
}
private function onPreloaderProgress(_arg1:EventWithParams):void{
preloaderMovie.mc_pct.mc_inner.text_pct.text = (Math.floor((100 * _arg1.params.progress)) + "%");
}
private function initTracking():void{
try {
Tracker.init(1068, root);
} catch(e:Error) {
};
}
}
}//package lycamobile
Section 70
//ScreenManager (lycamobile.ScreenManager)
package lycamobile {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import flash.utils.*;
import tamba.events.*;
import tamba.utils.*;
import com.greensock.easing.*;
import tamba.game.*;
import tamba.net.*;
import tamba.media.*;
import flash.external.*;
public class ScreenManager extends MovieClip {
private var screenData:Object;
private var fbLogoutButton:MovieClip;
private var sendFriend:SendToFriend;
private var overlay:MovieClip;
private var screenBitmapMask:Sprite;
private var highScores:HighScores;
private var screen:MovieClip;
private var score:int;// = 0
private var screenBitmap:Bitmap;
private var facebook:Boolean;
private var transitionBall:MovieClip;
private var screenName:String;
private var sendFriendMax:int;// = 6
private var runs:int;// = 0
private var submitScore:SubmitScore;
private var transitionComplete:Boolean;// = true
private var game:Game;
public function ScreenManager(_arg1:MovieClip):void{
facebook = GlobalObject.get("facebook");
sendFriendMax = 6;
score = 0;
runs = 0;
screenData = {screen_title:{init:initTitleScreen}, screen_game:{init:initGame}, screen_gameover:{init:initGameOver, btn_0:{label:"menu", action:onMenuClicked}, btn_1:{label:"submitscore", action:onSubmitScoreClicked}}, screen_instructions:{init:initInstructions, btn_0:{label:"back", action:onMenuClicked}, btn_1:{label:"play", action:onPlayClicked}}, screen_leaderboard:{init:initLeaderboard, btn_0:{label:"back", action:onMenuClicked}, btn_1:{}}, screen_sendfriend:{init:initSendFriend, btn_0:{label:"back", action:onMenuClicked}, btn_1:{label:"submit", action:onSendFriendSubmitClicked}}, screen_submitscore:{init:initSubmitScore, btn_0:{label:"back", action:onMenuClicked}, btn_1:{label:"submit", action:onScoreSubmitClicked}}, screen_fbconnect:{init:initFbConnect, btn_0:{label:"menu", action:onMenuClicked}, btn_1:{label:"leaderboard", action:onLeaderboardClicked}}};
transitionComplete = true;
super();
initOverlay();
registerCallbacks();
screen = _arg1;
switchScreen("screen_title");
Audio.playEffect("music_main");
}
private function onHighScoresSuccess(_arg1:EventWithParams):void{
var _local2:MovieClip;
_local2 = _arg1.params.data;
_local2.x = 53;
_local2.y = 140;
screen.mc_bg.addChild(_local2);
highScores.removeEventListener("onSuccess", onHighScoresSuccess);
}
private function removeScreen():void{
var _local1:BitmapData;
_local1 = new BitmapData(640, 480, false);
_local1.draw(screen);
screenBitmap = new Bitmap(_local1);
addChildAt(screenBitmap, 1);
screenBitmapMask = new Sprite();
screenBitmapMask.graphics.beginFill(0xFF0000);
screenBitmapMask.graphics.drawRect(0, 0, 640, 480);
screenBitmapMask.graphics.endFill();
addChild(screenBitmapMask);
screenBitmap.mask = screenBitmapMask;
transitionBall = new ui_giant_ball();
transitionBall.x = (-(transitionBall.width) * 0.5);
transitionBall.y = 240;
addChild(transitionBall);
TweenLite.to(screenBitmapMask, 0.5, {x:(640 + (transitionBall.width * 0.5)), ease:Linear.easeInOut, onComplete:cleanupTransition});
TweenLite.to(transitionBall, 0.5, {rotation:180, x:(640 + (transitionBall.width * 0.5)), ease:Linear.easeInOut, onUpdate:onTransitionUpdate});
screen.parent.removeChild(screen);
screen = null;
addScreen();
}
private function toggleSound(_arg1):void{
if (Audio.musicVolume > 0){
Audio.effectsVolume = 0;
Audio.musicVolume = 0;
_arg1.text_label.htmlText = "Turn sound on";
} else {
Audio.effectsVolume = 1;
Audio.musicVolume = 1;
_arg1.text_label.htmlText = "Turn sound off";
};
}
private function showChild(_arg1:MovieClip):void{
TweenMax.to(_arg1, 1, {colorMatrixFilter:{brightness:1}});
}
private function onLeaderboardClicked(_arg1:MouseEvent):void{
switchScreen("screen_leaderboard");
}
private function initSubmitScore():void{
var _local1:MovieClip;
_local1 = screen.mc_globeman.mc_content;
_local1.text_result.text = ((("Runs: " + runs) + " Score: ") + score);
_local1.text_prize.htmlText = (((("You have scored " + runs) + " runs and won ") + getTextAmount()) + " <font size=\"19\">FREE texts</font> from Lycamobile.");
}
private function onBookmarkClicked(_arg1:MouseEvent):void{
gotoBookmark(_arg1.currentTarget.name.replace("btn_", ""));
}
private function onClientClicked(_arg1:MouseEvent):void{
GetURL.goto(GlobalObject.get("clientURL"), "_blank");
}
private function onMenuOptionOut(_arg1:MouseEvent):void{
var _local2:*;
_local2 = _arg1.currentTarget;
TweenLite.to(_local2, 0.25, {glowFilter:{color:0xFFFFFF, alpha:1, blurX:0, blurY:0, remove:true}});
}
private function onFacebookPostClicked(_arg1:MouseEvent):void{
postToFacebook();
}
private function initLeaderboard():void{
highScores = new HighScores(GlobalObject.get("remotingURL"), "GameFunctions", 160, "leaderboard_line", "scroll_track", "scroll_face");
highScores.addEventListener("onSuccess", onHighScoresSuccess, false, 0, true);
highScores.makeLeaderboard();
}
private function onMenuClicked(_arg1:MouseEvent):void{
switchScreen("screen_title");
}
private function onInstructionsClicked(_arg1:MouseEvent):void{
switchScreen("screen_instructions");
}
private function addScreen():void{
var _local1:int;
var _local2:int;
var _local3:*;
screen = new (getDefinitionByName(screenName));
screenData[screenName].init();
initNavigation();
if (screenName != "screen_game"){
_local1 = 0;
_local2 = screen.numChildren;
while (_local2--) {
_local3 = screen.getChildAt(_local2);
if ((((((_local3 is MovieClip)) && (!((_local3.name == "mc_border"))))) && (!((_local3.name == "mc_bg"))))){
_local3.targetX = _local3.x;
_local3.targetY = _local3.y;
_local3.y = 500;
TweenMax.to(_local3, 0.5, {delay:(_local1 * 0.1), x:_local3.targetX, y:_local3.targetY, ease:Back.easeOut});
_local1++;
};
};
};
addChildAt(screen, 0);
}
private function externalLogin():void{
fbLogoutButton.visible = true;
}
private function submitSendFriend():void{
var _local1:Array;
var _local2:*;
var _local3:String;
var _local4:String;
screen.mc_nav.visible = false;
screen.text_error.htmlText = "";
_local1 = [];
_local2 = 0;
while (_local2 < sendFriendMax) {
_local3 = screen.mc_tickets[("mc_ticket_" + _local2)].input_name.text;
_local4 = screen.mc_tickets[("mc_ticket_" + _local2)].input_email.text;
if ((((_local3.length > 1)) || ((_local4.length > 1)))){
_local1.push([_local3, _local4]);
};
_local2++;
};
sendFriend = new SendToFriend(GlobalObject.get("remotingURL"), "GameFunctions", screen.input_yourname.text, screen.input_youremail.text, _local1);
sendFriend.addEventListener("onSuccess", onSendFriendSuccess, false, 0, true);
sendFriend.addEventListener("onError", onSendFriendError, false, 0, true);
sendFriend.send();
}
private function onTransitionUpdate():void{
var _local1:Sprite;
_local1 = new Sprite();
_local1.graphics.beginFill(0xAA0005, 1);
_local1.graphics.drawCircle(transitionBall.x, transitionBall.y, 160);
_local1.graphics.endFill();
addChildAt(_local1, 1);
TweenLite.to(_local1, 0.25, {alpha:0, onComplete:removeTrailingBall, onCompleteParams:[_local1]});
}
private function resetSubmitScore():void{
submitScore.removeEventListener("onSuccess", onSubmitScoreSuccess);
submitScore.removeEventListener("onError", onSubmitScoreError);
}
private function onSendFriendSuccess(_arg1:EventWithParams):void{
screen.text_error.htmlText = "Send successful! Would you like to send more?";
resetSendFriend();
screen.mc_nav.visible = true;
}
private function switchScreen(_arg1:String):void{
if (!transitionComplete){
return;
};
screenName = _arg1;
transitionComplete = false;
Utils.clearButtonListeners();
if (screen == null){
addScreen();
transitionComplete = true;
} else {
removeScreen();
};
}
private function onGameComplete(_arg1:EventWithParams):void{
score = _arg1.params.score;
runs = _arg1.params.runs;
destroyGame();
}
private function onSubmitScoreError(_arg1:EventWithParams):void{
screen.text_error.text = _arg1.params.message;
screen.mc_nav.visible = true;
resetSubmitScore();
}
private function onTambaClicked(_arg1:MouseEvent):void{
GetURL.goto("http://www.tamba.co.uk", "_blank");
}
private function initBookmarks(_arg1:MovieClip):void{
var _local2:uint;
_local2 = _arg1.numChildren;
while (_local2--) {
if (_arg1.getChildAt(_local2).name.indexOf("btn_") === 0){
Utils.addButtonListener(_arg1.getChildAt(_local2), onBookmarkClicked, null, null, true);
};
};
}
private function removeTrailingBall(_arg1:Sprite):void{
_arg1.parent.removeChild(_arg1);
}
private function onSendFriendClicked(_arg1:MouseEvent):void{
switchScreen("screen_sendfriend");
}
private function initInstructions():void{
}
private function resetSendFriend():void{
var _local1:*;
var _local2:MovieClip;
_local1 = 0;
while (_local1 < sendFriendMax) {
_local2 = screen.mc_tickets[("mc_ticket_" + _local1)];
_local2["input_name"].htmlText = "";
_local2["input_email"].htmlText = "";
_local1++;
};
screen.mc_nav.visible = true;
}
private function onPlayClicked(_arg1:MouseEvent):void{
switchScreen("screen_game");
}
private function initNavButton(_arg1:String):void{
var _local2:MovieClip;
var _local3:MovieClip;
var _local4:Object;
_local2 = screen["mc_nav"];
if (_local2 != null){
_local3 = _local2[("mc_" + _arg1)];
if (_local3 != null){
_local4 = screenData[screenName][_arg1];
if (_local4.label == null){
_local3.visible = false;
} else {
_local3.mc_label.gotoAndStop(_local4.label);
Utils.addButtonListener(_local3, _local4.action, onMenuOptionOver, onMenuOptionOut);
};
};
};
}
private function externalPost():void{
if (screenName == "screen_fbconnect"){
screen.mc_preview.gotoAndStop(3);
};
}
private function destroyGame():void{
Audio.stopMusic();
Audio.playEffect("music_main");
game.removeEventListener("onComplete", onGameComplete);
game = null;
switchScreen("screen_submitscore");
}
private function cleanupTransition():void{
screenBitmap.bitmapData.dispose();
removeChild(screenBitmap);
removeChild(transitionBall);
transitionComplete = true;
}
private function initOverlay():void{
overlay = new screen_overlay();
initBookmarks(overlay.mc_bookmarks);
fbLogoutButton = overlay.btn_fblogout;
fbLogoutButton.visible = false;
Utils.addButtonListener(fbLogoutButton, onFacebookLogoutClicked, onMenuOptionOver, onMenuOptionOut, true);
Utils.addButtonListener(overlay.mc_clientlogo, onClientClicked, onMenuOptionOver, onMenuOptionOut, true);
Utils.addButtonListener(overlay.btn_tamba, onTambaClicked, onMenuOptionOver, onMenuOptionOut, true);
Utils.addButtonListener(overlay.btn_sound, onSoundClicked, onMenuOptionOver, onMenuOptionOut, true);
addChild(overlay);
}
private function initGame():void{
game = new Game();
game.addEventListener("onComplete", onGameComplete, false, 0, true);
screen.addChildAt(game, 0);
}
private function initGameOver():void{
var _local1:MovieClip;
var _local2:String;
var _local3:String;
_local1 = screen.mc_globeman.mc_content;
_local2 = "Well done!";
_local3 = (("You scored " + runs) + " run");
if (runs != 1){
_local3 = (_local3 + "s");
};
if (runs < 2){
_local2 = "Bad luck!";
};
_local1.text_verdict.text = _local2;
_local1.text_runs.text = _local3;
}
private function postToFacebook():void{
try {
screen.mc_preview.gotoAndStop(2);
screen.btn_fbconnect.visible = false;
ExternalInterface.call("streamPublishScore", runs);
} catch(e:Error) {
};
}
private function externalLogout():void{
fbLogoutButton.visible = false;
}
private function initNavigation():void{
initNavButton("btn_0");
initNavButton("btn_1");
if (screen.mc_border != null){
screen.mc_border.mouseChildren = false;
screen.mc_border.mouseEnabled = false;
};
}
private function initFbConnect():void{
screen.mc_preview.gotoAndStop(1);
screen.mc_preview.text_preview.text = (("I've played Lycamobile's Hit for Six Cricket and scored " + runs) + " runs. Think you can do better? Click 'play now' and find out!");
Utils.addButtonListener(screen.btn_fbconnect, onFacebookPostClicked);
}
private function onSendFriendSubmitClicked(_arg1:MouseEvent):void{
submitSendFriend();
}
private function registerCallbacks():void{
try {
if (ExternalInterface.available){
ExternalInterface.addCallback("facebookLogin", externalLogin);
ExternalInterface.addCallback("facebookLogout", externalLogout);
ExternalInterface.addCallback("facebookScorePost", externalPost);
};
} catch(e:Error) {
};
}
private function onMenuOptionOver(_arg1:MouseEvent):void{
var _local2:*;
_local2 = _arg1.currentTarget;
TweenMax.to(_local2, 0.25, {glowFilter:{color:0xFFFFFF, alpha:1, blurX:20, blurY:20}});
}
private function submitScoreTo():void{
var _local1:MovieClip;
_local1 = screen.mc_globeman.mc_content;
screen.text_error.text = "Please wait...";
screen.mc_nav.visible = false;
submitScore = new SubmitScore(GlobalObject.get("remotingURL"), "GameFunctions", GlobalObject.get("hashSalt"), _local1.input_yourname.text, _local1.input_youremail.text, score, runs, 0);
submitScore.addEventListener("onSuccess", onSubmitScoreSuccess, false, 0, true);
submitScore.addEventListener("onError", onSubmitScoreError, false, 0, true);
submitScore.submit();
}
private function onFacebookLogoutClicked(_arg1:MouseEvent):void{
var event = _arg1;
try {
ExternalInterface.call("logout");
} catch(e:Error) {
};
}
private function initSendFriend():void{
var _local1:int;
var _local2:int;
var _local3:MovieClip;
screen.input_yourname.tabIndex = 0;
screen.input_youremail.tabIndex = 1;
_local1 = 2;
_local2 = 0;
while (_local2 < sendFriendMax) {
_local3 = screen.mc_tickets[("mc_ticket_" + _local2)];
_local3["input_name"].tabIndex = _local1;
_local1++;
_local3["input_email"].tabIndex = _local1;
_local1++;
_local2++;
};
}
private function onSendFriendError(_arg1:EventWithParams):void{
screen.text_error.htmlText = _arg1.params.message;
screen.mc_nav.visible = true;
}
private function onSubmitScoreSuccess(_arg1:EventWithParams):void{
screen.text_error.text = "";
if (facebook){
switchScreen("screen_fbconnect");
} else {
switchScreen("screen_leaderboard");
};
}
private function onSoundClicked(_arg1:MouseEvent):void{
toggleSound(_arg1.currentTarget);
}
private function onSubmitScoreClicked(_arg1:MouseEvent):void{
switchScreen("screen_submitscore");
}
private function initTitleScreen():void{
var _local1:MovieClip;
_local1 = screen.mc_menu.mc_btns;
Utils.addButtonListener(_local1.btn_play, onPlayClicked, onMenuOptionOver, onMenuOptionOut);
Utils.addButtonListener(_local1.btn_instructions, onInstructionsClicked, onMenuOptionOver, onMenuOptionOut);
Utils.addButtonListener(_local1.btn_leaderboard, onLeaderboardClicked, onMenuOptionOver, onMenuOptionOut);
Utils.addButtonListener(_local1.btn_sendfriend, onSendFriendClicked, onMenuOptionOver, onMenuOptionOut);
}
private function gotoBookmark(_arg1:String):void{
var _local2:String;
_local2 = ((((GlobalObject.get("bookmarkURL") + "?client=") + GlobalObject.get("clientID")) + "&bookmark=") + _arg1);
GetURL.goto(_local2, "_blank");
}
private function onScoreSubmitClicked(_arg1:MouseEvent):void{
submitScoreTo();
}
private function getTextAmount():int{
return ((Math.ceil(((runs / 36) * 6)) * 10));
}
}
}//package lycamobile
Section 71
//BitmapScroll (tamba.display.BitmapScroll)
package tamba.display {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
public class BitmapScroll extends Sprite {
private var slices:Array;
private var sliceWidth:int;// = 0
private var stageWidth:int;// = 0
private var sliceHeight:int;// = 0
public function BitmapScroll(_arg1:String, _arg2:int, _arg3:int=0):void{
var _local4:BitmapData;
var _local5:uint;
var _local6:Bitmap;
slices = [];
stageWidth = 0;
sliceWidth = 0;
sliceHeight = 0;
super();
stageWidth = _arg2;
sliceWidth = _arg3;
_local4 = new getDefinitionByName(_arg1)(0, 0);
if (sliceWidth <= 0){
sliceWidth = _local4.width;
};
_local5 = 0;
while (_local5 < 2) {
_local6 = new Bitmap(_local4, "never", false);
_local6.x = (_local5 * sliceWidth);
slices.push(_local6);
addChild(_local6);
_local5++;
};
sliceHeight = slices[0].height;
this.addEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage, false, 0, true);
}
public function moveTo(_arg1:int, _arg2:int=0):void{
if (_arg1 > sliceWidth){
_arg1 = (_arg1 % sliceWidth);
} else {
if ((((_arg1 < stageWidth)) && ((_arg1 < 0)))){
_arg1 = (stageWidth + (_arg1 % stageWidth));
};
};
this.scrollRect = new Rectangle(_arg1, 0, stageWidth, sliceHeight);
this.scrollRect = new Rectangle(_arg1, _arg2, stageWidth, stageWidth);
}
private function onRemovedFromStage(_arg1:Event){
this.removeEventListener(Event.REMOVED_FROM_STAGE, onRemovedFromStage);
}
}
}//package tamba.display
Section 72
//StageMask (tamba.display.StageMask)
package tamba.display {
import flash.display.*;
public class StageMask extends Sprite {
public function StageMask(_arg1:uint, _arg2:uint):void{
this.graphics.beginFill(0xFF0000);
this.graphics.drawRect(0, 0, _arg1, _arg2);
this.graphics.endFill();
}
}
}//package tamba.display
Section 73
//EventWithParams (tamba.events.EventWithParams)
package tamba.events {
import flash.events.*;
public class EventWithParams extends Event {
private var _eventParams:Object;
private var _eventType:String;// = "onCustomEvent"
public function EventWithParams(_arg1:String, _arg2:Object=null){
_eventType = "onCustomEvent";
_eventParams = {};
super(_arg1, true, true);
_eventType = _arg1;
_eventParams = _arg2;
}
public function get params():Object{
return (_eventParams);
}
override public function get type():String{
return (_eventType);
}
}
}//package tamba.events
Section 74
//Preloader (tamba.events.Preloader)
package tamba.events {
import flash.display.*;
import flash.events.*;
public class Preloader extends Sprite {
private var preloaderParent;
public static const COMPLETE:String = "onPreloaderComplete";
public static const PROGRESS:String = "onPreloaderProgress";
public function Preloader(_arg1):void{
preloaderParent = _arg1;
}
public function start():void{
if (preloaderParent.loaderInfo.bytesLoaded >= preloaderParent.loaderInfo.bytesTotal){
onPreloaderComplete();
} else {
preloaderParent.loaderInfo.addEventListener(ProgressEvent.PROGRESS, onPreloaderProgress, false, 0, true);
preloaderParent.loaderInfo.addEventListener(Event.COMPLETE, onPreloaderComplete, false, 0, true);
};
}
private function onPreloaderProgress(_arg1:ProgressEvent):void{
dispatchEvent(new EventWithParams(PROGRESS, {progress:(_arg1.bytesLoaded / _arg1.bytesTotal)}));
}
private function onPreloaderComplete(_arg1:Event=null):void{
dispatchEvent(new EventWithParams(COMPLETE));
}
}
}//package tamba.events
Section 75
//Leaderboard (tamba.game.Leaderboard)
package tamba.game {
import flash.display.*;
import flash.utils.*;
import tamba.events.*;
import tamba.net.*;
import tamba.ui.*;
public class Leaderboard extends MovieClip {
private var trackLinkage:String;
private var lineLinkage:String;
private var remoting:Remoting;
private var gatewayURL:String;
private var faceLinkage:String;
private var boardHeight:uint;
private var serviceName:String;
public function Leaderboard(_arg1:String, _arg2:String, _arg3:uint, _arg4:String, _arg5:String, _arg6:String){
gatewayURL = _arg1;
serviceName = _arg2;
boardHeight = _arg3;
lineLinkage = _arg4;
trackLinkage = _arg5;
faceLinkage = _arg6;
}
private function onRemotingSuccess(_arg1:EventWithParams):void{
var _local2:MovieClip;
var _local3:Array;
var _local4:uint;
var _local5:uint;
var _local6:ScrollBar;
var _local7:MovieClip;
var _local8:MovieClip;
var _local9:String;
_local2 = new MovieClip();
_local3 = _arg1.params.data;
_local4 = _local3.length;
_local5 = 0;
while (_local5 < _local4) {
_local8 = new (getDefinitionByName(lineLinkage));
for (_local9 in _local3[_local5]) {
if (_local8[_local9] != null){
_local8[_local9].text = _local3[_local5][_local9];
};
};
_local8.y = (_local5 * _local8.height);
onLineAdded(_local8, _local3[_local5]);
_local2.addChild(_local8);
_local5++;
};
_local6 = new ScrollBar(_local2, (_local2.width + 10), boardHeight, trackLinkage, faceLinkage);
_local7 = new MovieClip();
_local7.addChild(_local2);
_local7.addChild(_local6);
dispatchEvent(new EventWithParams("onSuccess", {method:_arg1.params.method, data:_local7}));
}
protected function onLineAdded(_arg1:MovieClip, _arg2:Object):void{
}
private function onRemotingError(_arg1:EventWithParams):void{
dispatchError(new Error("remoting"));
}
public function makeLeaderboard(_arg1:int=20):void{
remoting = new Remoting(gatewayURL, serviceName);
remoting.addEventListener("onRemotingSuccess", onRemotingSuccess, false, 0, true);
remoting.addEventListener("onRemotingError", onRemotingError, false, 0, true);
remoting.call("getHighScores", _arg1);
}
private function dispatchError(_arg1):void{
}
}
}//package tamba.game
Section 76
//SendToFriend (tamba.game.SendToFriend)
package tamba.game {
import flash.display.*;
import tamba.events.*;
import tamba.net.*;
public class SendToFriend extends Sprite {
private var senderName:String;
private var senderEmail:String;
private var errorMessages:Object;
private var remoting:Remoting;
private var gatewayURL:String;
private var recipients:Array;
private var serviceName:String;
public function SendToFriend(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:Array){
errorMessages = {error_yourname:"Please enter your name", error_youremail:"Please enter a valid email address", error_recipients:"Please enter some recipients", error_friendname:"One of your recipients has a missing name", error_friendemail:"One of your recipients has an invalid email address", error_server:"Could not connect to the server"};
super();
gatewayURL = _arg1;
serviceName = _arg2;
senderName = _arg3;
senderEmail = _arg4;
recipients = _arg5;
}
private function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+|\s+$/g, ""));
}
private function validateEmail(_arg1:String):Boolean{
var _local2:RegExp;
_arg1 = trim(_arg1);
_local2 = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;
if ((((_arg1.length <= 1)) || (!(_local2.test(_arg1))))){
return (false);
};
return (true);
}
private function onRemotingSuccess(_arg1:EventWithParams):void{
dispatchEvent(new EventWithParams("onSuccess", {method:_arg1.params.method, data:_arg1.params.data}));
}
public function send():void{
var _local1:uint;
var _local2:uint;
if (!validateName(senderName)){
dispatchError(new Error("error_yourname"));
return;
};
if (!validateEmail(senderEmail)){
dispatchError(new Error("error_youremail"));
return;
};
if (recipients.length <= 0){
dispatchError(new Error("error_recipients"));
return;
};
_local1 = recipients.length;
_local2 = 0;
while (_local2 < _local1) {
if (!validateName(recipients[_local2][0])){
dispatchError(new Error("error_friendname"));
return;
};
if (!validateEmail(recipients[_local2][1])){
dispatchError(new Error("error_friendemail"));
return;
};
_local2++;
};
remoting = new Remoting(gatewayURL, serviceName);
remoting.addEventListener("onRemotingSuccess", onRemotingSuccess, false, 0, true);
remoting.addEventListener("onRemotingError", onRemotingError, false, 0, true);
remoting.call("sendToFriend", senderName, senderEmail, recipients);
}
private function onRemotingError(_arg1:EventWithParams):void{
dispatchError(new Error("error_server"));
}
private function dispatchError(_arg1):void{
dispatchEvent(new EventWithParams("onError", {name:_arg1.message, message:errorMessages[_arg1.message]}));
}
private function validateName(_arg1:String=null):Boolean{
_arg1 = trim(_arg1);
if (_arg1.length <= 0){
return (false);
};
return (true);
}
}
}//package tamba.game
Section 77
//SubmitScore (tamba.game.SubmitScore)
package tamba.game {
import flash.display.*;
import tamba.events.*;
import com.adobe.crypto.*;
import tamba.net.*;
public class SubmitScore extends Sprite {
private var playerName:String;
private var playerScore:int;
private var playerEmail:String;
private var errorMessages:Object;
private var optin:int;// = 0
private var remoting:Remoting;
private var hashSalt:String;
private var gatewayURL:String;
private var playerRuns:int;// = 0
private var serviceName:String;
public function SubmitScore(_arg1:String, _arg2:String, _arg3:String, _arg4:String, _arg5:String, _arg6:int, _arg7:int, _arg8:uint=0){
playerRuns = 0;
optin = 0;
errorMessages = {error_yourname:"Please enter your name", error_youremail:"Please enter a valid email address", error_server:"Could not connect to the server"};
super();
gatewayURL = _arg1;
serviceName = _arg2;
hashSalt = _arg3;
playerName = _arg4;
playerEmail = _arg5;
playerScore = _arg6;
playerRuns = _arg7;
optin = _arg8;
}
private function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+|\s+$/g, ""));
}
private function validateEmail(_arg1:String):Boolean{
var _local2:RegExp;
_arg1 = trim(_arg1);
_local2 = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;
if ((((_arg1.length <= 1)) || (!(_local2.test(_arg1))))){
return (false);
};
return (true);
}
private function onRemotingSuccess(_arg1:EventWithParams):void{
dispatchEvent(new EventWithParams("onSuccess", {method:_arg1.params.method, data:_arg1.params.data}));
}
private function onRemotingError(_arg1:EventWithParams):void{
dispatchError(new Error("error_server"));
}
private function dispatchError(_arg1):void{
dispatchEvent(new EventWithParams("onError", {name:_arg1.message, message:errorMessages[_arg1.message]}));
}
public function submit():void{
var _local1:String;
if (!validateName(playerName)){
dispatchError(new Error("error_yourname"));
return;
};
if (!validateEmail(playerEmail)){
dispatchError(new Error("error_youremail"));
return;
};
_local1 = MD5.hash(((((((((("client=" + hashSalt) + "&email=") + playerEmail) + "&score=") + playerScore) + "&runs=") + playerRuns) + "&optin=") + optin));
remoting = new Remoting(gatewayURL, serviceName);
remoting.addEventListener("onRemotingSuccess", onRemotingSuccess, false, 0, true);
remoting.addEventListener("onRemotingError", onRemotingError, false, 0, true);
remoting.call("setHighScore", playerName, playerEmail, playerScore, playerRuns, optin, _local1);
}
private function validateName(_arg1:String=null):Boolean{
_arg1 = trim(_arg1);
if (_arg1.length <= 0){
return (false);
};
return (true);
}
}
}//package tamba.game
Section 78
//Point2d (tamba.geom.Point2d)
package tamba.geom {
public class Point2d {
public var t:Number;
public var x:Number;
public var y:Number;
public function Point2d(_arg1:Number, _arg2:Number, _arg3:Number){
this.x = _arg1;
this.y = _arg2;
this.t = _arg3;
}
public function toString():String{
return (((((("x: " + x) + ", y: ") + y) + ", t: ") + t));
}
}
}//package tamba.geom
Section 79
//Point3d (tamba.geom.Point3d)
package tamba.geom {
import flash.geom.*;
public class Point3d {
public var x:Number;
public var y:Number;
public var z:Number;
public function Point3d(_arg1:Number=0, _arg2:Number=0, _arg3:Number=0){
this.x = _arg1;
this.y = _arg2;
this.z = _arg3;
}
public function project(_arg1:Number, _arg2:Point=null):Point2d{
var _local3:Number;
var _local4:Number;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
_local3 = (_arg1 / (_arg1 + z));
if (!_arg2){
_arg2 = new Point(0, 0);
};
_local4 = _arg2.x;
_local5 = _arg2.y;
_local6 = this.x;
_local7 = this.y;
_local8 = this.z;
_local6 = (_local6 - _local4);
_local7 = (_local7 - _local5);
_local6 = ((_local6 * _local3) + _local4);
_local7 = ((_local7 * _local3) + _local5);
return (new Point2d(_local6, _local7, _local3));
}
}
}//package tamba.geom
Section 80
//Audio (tamba.media.Audio)
package tamba.media {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.media.*;
public class Audio extends Sprite {
private static var effectsList:Array = [];
private static var fadeStartVolume:Number = 0;
private static var _musicVolume:Number = 1;
private static var effectsChannel:SoundChannel;
private static var musicChannel:SoundChannel;
private static var fadeTimer:Timer;
private static var fadeTimerMs:int = 50;
private static var fadeEndVolume:Number = 0;
private static var fadeRate:Number = 0.05;
private static var _effectsVolume:Number = 1;
public static function get effectsVolume():Number{
return (_effectsVolume);
}
public static function fadeMusic(_arg1:Number=0, _arg2:Number=1, _arg3:Number=1):void{
_musicVolume = (fadeStartVolume = _arg1);
fadeEndVolume = _arg2;
fadeRate = (Math.abs((fadeEndVolume - fadeStartVolume)) / ((_arg3 / fadeTimerMs) * 1000));
fadeTimer = new Timer(fadeTimerMs);
fadeTimer.addEventListener("timer", onFadeTimer, false, 0, true);
fadeTimer.start();
}
public static function stopMusic():void{
if (musicChannel != null){
musicChannel.stop();
};
}
public static function playMusic(_arg1:String):void{
var linkage = _arg1;
try {
musicChannel = new (getDefinitionByName(linkage)).play(0, 999);
trace(musicVolume);
applyMusicVolume();
} catch(error:Error) {
trace("playMusic: Invalid linkage >", linkage);
};
}
private static function onFadeTimer(_arg1:Event):void{
if (fadeEndVolume > fadeStartVolume){
musicVolume = (musicVolume + fadeRate);
} else {
musicVolume = (musicVolume - fadeRate);
};
if ((((((fadeEndVolume > fadeStartVolume)) && ((_musicVolume > fadeEndVolume)))) || ((((fadeEndVolume <= fadeStartVolume)) && ((_musicVolume < fadeEndVolume)))))){
musicVolume = fadeEndVolume;
fadeTimer.stop();
};
applyMusicVolume();
}
public static function get musicVolume():Number{
return (_musicVolume);
}
public static function stopEffects():void{
var _local1:uint;
_local1 = effectsList.length;
while (_local1--) {
if (effectsList[_local1] != null){
effectsList[_local1].stop();
};
};
effectsList = [];
}
public static function playEffect(_arg1:String, _arg2:int=1):void{
var linkage = _arg1;
var repeat = _arg2;
try {
effectsChannel = new (getDefinitionByName(linkage)).play(0, repeat);
effectsList.push(effectsChannel);
applyEffectsVolume();
} catch(error:Error) {
trace("playEffect: Invalid linkage >", linkage);
};
}
private static function applyEffectsVolume():void{
var _local1:uint;
var _local2:SoundTransform;
_local1 = effectsList.length;
while (_local1--) {
if (effectsList[_local1] != null){
_local2 = effectsList[_local1].soundTransform;
_local2.volume = _effectsVolume;
effectsList[_local1].soundTransform = _local2;
};
};
}
private static function applyMusicVolume():void{
var _local1:SoundTransform;
if (musicChannel != null){
_local1 = musicChannel.soundTransform;
_local1.volume = _musicVolume;
musicChannel.soundTransform = _local1;
};
}
public static function set effectsVolume(_arg1:Number):void{
_effectsVolume = _arg1;
applyEffectsVolume();
}
public static function set musicVolume(_arg1:Number):void{
_musicVolume = _arg1;
applyMusicVolume();
}
}
}//package tamba.media
Section 81
//GetURL (tamba.net.GetURL)
package tamba.net {
import flash.display.*;
import flash.net.*;
public class GetURL extends Sprite {
public static function goto(_arg1:String, _arg2:String=null):void{
var req:URLRequest;
var url = _arg1;
var window = _arg2;
req = new URLRequest(url);
try {
navigateToURL(req, window);
} catch(e:Error) {
trace("GetURL failed", e.message);
};
}
}
}//package tamba.net
Section 82
//Remoting (tamba.net.Remoting)
package tamba.net {
import flash.display.*;
import flash.events.*;
import tamba.events.*;
import flash.net.*;
public class Remoting extends Sprite {
private var callResponder:Responder;
private var netConnection:NetConnection;
private var functionName:String;
private var gatewayURL:String;
private var serviceName:String;
public function Remoting(_arg1:String, _arg2:String):void{
gatewayURL = _arg1;
serviceName = _arg2;
callResponder = new Responder(callHandler, errorHandler);
netConnection = new NetConnection();
netConnection.addEventListener(IOErrorEvent.IO_ERROR, onRemotingIOError, false, 0, true);
netConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onRemotingSecurityError, false, 0, true);
netConnection.addEventListener(NetStatusEvent.NET_STATUS, onRemotingNetStatusChange, false, 0, true);
}
private function callHandler(_arg1):void{
dispatchEvent(new EventWithParams("onRemotingSuccess", {method:functionName, data:_arg1}));
netConnection.close();
}
private function errorHandler(_arg1:Object):void{
var _local2:*;
for (_local2 in _arg1) {
trace(_local2, "=", _arg1[_local2]);
};
dispatchEvent(new EventWithParams("onRemotingError", {name:_arg1.code, message:_arg1.description}));
netConnection.close();
}
public function call(_arg1:String, ... _args):void{
functionName = _arg1;
if (netConnection.connected){
netConnection.close();
};
netConnection.connect(gatewayURL);
_args.unshift(((serviceName + ".") + functionName), callResponder);
netConnection.call.apply(null, _args);
}
private function onRemotingSecurityError(_arg1:SecurityErrorEvent):void{
dispatchError(new Error(_arg1.text));
}
private function onRemotingNetStatusChange(_arg1:NetStatusEvent):void{
if (_arg1.info.level == "error"){
dispatchError(new Error(_arg1.info.code));
};
}
private function dispatchError(_arg1):void{
dispatchEvent(new EventWithParams("onRemotingError", {name:_arg1.name, message:_arg1.message}));
}
private function onRemotingIOError(_arg1:IOErrorEvent):void{
dispatchError(new Error(_arg1.text));
}
}
}//package tamba.net
Section 83
//ScrollBar (tamba.ui.ScrollBar)
package tamba.ui {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
import flash.geom.*;
import flash.filters.*;
public class ScrollBar extends Sprite {
private var trackLinkage:String;
private var scrollContent;
private var maskHeight:int;
private var maskWidth:int;
private var contentInitY:int;
private var _scrollFace;
private var scrollMask:Sprite;
private var faceLinkage:String;
private var moveIncrement:Number;
private var _scrollTrack;
public function ScrollBar(_arg1, _arg2:Number, _arg3:Number, _arg4:String=null, _arg5:String=null):void{
scrollContent = _arg1;
maskWidth = _arg2;
maskHeight = _arg3;
trackLinkage = _arg4;
faceLinkage = _arg5;
contentInitY = scrollContent.y;
initChildren();
moveIncrement = ((scrollContent.height - scrollMask.height) / (_scrollTrack.height - _scrollFace.height));
addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
private function onScrollFaceMouseMove(_arg1:MouseEvent=null):void{
scrollContent.y = ((-(Math.abs((contentInitY - (_scrollFace.y + _scrollTrack.y)))) * moveIncrement) + contentInitY);
}
private function initTrack():void{
if (trackLinkage == null){
_scrollTrack = new Sprite();
_scrollTrack.graphics.beginFill(0xAAAAAA);
_scrollTrack.graphics.drawRect(0, 0, 20, scrollMask.height);
_scrollTrack.graphics.endFill();
_scrollTrack.filters = [new BevelFilter(-0.25, 45)];
} else {
_scrollTrack = new (getDefinitionByName(trackLinkage));
};
_scrollTrack.x = (scrollMask.x + scrollMask.width);
_scrollTrack.y = scrollMask.y;
addChild(_scrollTrack);
}
private function initMask():void{
scrollMask = new Sprite();
scrollMask.x = scrollContent.x;
scrollMask.y = scrollContent.y;
scrollMask.graphics.beginFill(0);
scrollMask.graphics.drawRect(0, 0, maskWidth, maskHeight);
scrollMask.graphics.endFill();
scrollContent.mask = scrollMask;
addChild(scrollMask);
}
private function initChildren():void{
removeChildren();
initMask();
initTrack();
initFace();
}
private function onScrollTrackMouseDown(_arg1:MouseEvent){
_scrollFace.y = (_scrollTrack.mouseY - _scrollFace.height);
if (_scrollFace.y < 0){
_scrollFace.y = 0;
};
onScrollFaceMouseMove();
}
private function onAddedToStage(_arg1:Event):void{
_scrollFace.addEventListener(MouseEvent.MOUSE_DOWN, onScrollFaceMouseDown, false, 0, true);
}
private function initFace():void{
if (faceLinkage == null){
_scrollFace = new Sprite();
_scrollFace.graphics.beginFill(0xEEEEEE);
_scrollFace.graphics.drawRect(0, 0, 20, 20);
_scrollFace.graphics.endFill();
_scrollFace.filters = [new BevelFilter(0.25, 45)];
} else {
_scrollFace = new (getDefinitionByName(faceLinkage));
};
_scrollFace.buttonMode = true;
_scrollTrack.addChild(_scrollFace);
}
public function get scrollTrack(){
return (_scrollTrack);
}
private function removeChildren():void{
while (numChildren) {
removeChild(getChildAt(0));
};
}
public function get scrollFace(){
return (_scrollFace);
}
private function onScrollFaceMouseUp(_arg1:MouseEvent):void{
stage.removeEventListener(MouseEvent.MOUSE_UP, onScrollFaceMouseUp);
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onScrollFaceMouseMove);
stopDrag();
}
private function onScrollFaceMouseDown(_arg1:MouseEvent){
stage.addEventListener(MouseEvent.MOUSE_UP, onScrollFaceMouseUp);
stage.addEventListener(MouseEvent.MOUSE_MOVE, onScrollFaceMouseMove);
_scrollFace.startDrag(false, new Rectangle(0, 0, 0, (_scrollTrack.height - _scrollFace.height)));
}
}
}//package tamba.ui
Section 84
//GlobalObject (tamba.utils.GlobalObject)
package tamba.utils {
public class GlobalObject {
private static var _vars:Object = {};
public static function set(_arg1:String, _arg2):void{
_vars[_arg1] = _arg2;
}
public static function get(_arg1:String){
if (_vars[_arg1] == null){
};
return (_vars[_arg1]);
}
}
}//package tamba.utils
Section 85
//Utils (tamba.utils.Utils)
package tamba.utils {
import flash.display.*;
import flash.events.*;
import com.greensock.*;
import flash.geom.*;
import com.greensock.easing.*;
public class Utils {
public static var buttonListeners:Array = [];
public static function clearButtonListeners():void{
var _local1:String;
for (_local1 in buttonListeners) {
buttonListeners[_local1][0].removeEventListener(MouseEvent[buttonListeners[_local1][1]], buttonListeners[_local1][2]);
buttonListeners[_local1][0].buttonMode = false;
};
buttonListeners = [];
}
private static function onDefaultMouseOut(_arg1:MouseEvent){
highlightClip(MovieClip(_arg1.currentTarget), false);
}
public static function highlightClip(_arg1:MovieClip, _arg2:Boolean):void{
var _local3:ColorTransform;
var _local4:int;
_local3 = new ColorTransform();
_local4 = 20;
if (!_arg2){
_local4 = 0;
};
_local3.redOffset = _local4;
_local3.greenOffset = _local4;
_local3.blueOffset = _local4;
_arg1.transform.colorTransform = _local3;
}
public static function validateEmail(_arg1:String):Boolean{
var _local2:RegExp;
_local2 = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/i;
return (_local2.test(_arg1));
}
public static function addButtonListener(_arg1:Object, _arg2:Function=null, _arg3:Function=null, _arg4:Function=null, _arg5:Boolean=false):void{
if (_arg2 == null){
_arg2 = onDefaultClick;
};
if (_arg3 == null){
_arg3 = onDefaultMouseOver;
};
if (_arg4 == null){
_arg4 = onDefaultMouseOut;
};
_arg1.addEventListener(MouseEvent.CLICK, _arg2, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_OVER, _arg3, false, 0, true);
_arg1.addEventListener(MouseEvent.MOUSE_OUT, _arg4, false, 0, true);
if ((_arg1 is MovieClip)){
_arg1.mouseChildren = false;
_arg1.buttonMode = true;
_arg1.useHandCursor = true;
};
if (!_arg5){
buttonListeners.push([_arg1, "CLICK", _arg2]);
buttonListeners.push([_arg1, "MOUSE_OVER", _arg3]);
buttonListeners.push([_arg1, "MOUSE_OUT", _arg4]);
};
}
public static function trim(_arg1:String):String{
if (_arg1 == null){
return ("");
};
return (_arg1.replace(/^\s+|\s+$/g, ""));
}
public static function zeroPad(_arg1:int, _arg2:int):String{
var _local3:String;
_local3 = ("" + _arg1);
while (_local3.length < _arg2) {
_local3 = ("0" + _local3);
};
return (_local3);
}
public static function validateString(_arg1:String):Boolean{
return ((_arg1.length > 0));
}
public static function msToString(_arg1:uint):String{
var _local2:Date;
var _local3:int;
var _local4:String;
var _local5:int;
var _local6:String;
var _local7:Number;
var _local8:String;
_local2 = new Date(_arg1);
_local3 = _local2.getMinutes();
_local4 = _local3.toString();
if (_local3 < 10){
_local4 = ("0" + _local4);
};
_local5 = _local2.getSeconds();
_local6 = _local5.toString();
if (_local5 < 10){
_local6 = ("0" + _local6);
};
_local7 = Math.floor(((_arg1 % 1000) / 10));
_local8 = _local7.toString();
if (_local7 < 10){
_local8 = ("0" + _local8);
};
return (((((_local4 + ":") + _local6) + ":") + _local8));
}
private static function onDefaultClick(_arg1:MouseEvent):void{
}
private static function onDefaultMouseOver(_arg1:MouseEvent){
highlightClip(MovieClip(_arg1.currentTarget), true);
}
public static function randomFloat(_arg1:Number, _arg2:Number):Number{
return (((Math.random() * (_arg2 - _arg1)) + _arg1));
}
public static function randomInteger(_arg1:Number, _arg2:Number):Number{
return (Math.round(((Math.random() * (_arg2 - _arg1)) + _arg1)));
}
}
}//package tamba.utils
Section 86
//applause (applause)
package {
import flash.media.*;
public dynamic class applause extends Sound {
}
}//package
Section 87
//bounce (bounce)
package {
import flash.media.*;
public dynamic class bounce extends Sound {
}
}//package
Section 88
//crowd (crowd)
package {
import flash.media.*;
public dynamic class crowd extends Sound {
}
}//package
Section 89
//game_ball (game_ball)
package {
import flash.display.*;
public dynamic class game_ball extends MovieClip {
public var mc_inner:MovieClip;
}
}//package
Section 90
//game_cloud_1 (game_cloud_1)
package {
import flash.display.*;
public dynamic class game_cloud_1 extends BitmapData {
public function game_cloud_1(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 91
//game_cloud_2 (game_cloud_2)
package {
import flash.display.*;
public dynamic class game_cloud_2 extends BitmapData {
public function game_cloud_2(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 92
//game_cloud_3 (game_cloud_3)
package {
import flash.display.*;
public dynamic class game_cloud_3 extends BitmapData {
public function game_cloud_3(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 93
//game_cloud_4 (game_cloud_4)
package {
import flash.display.*;
public dynamic class game_cloud_4 extends BitmapData {
public function game_cloud_4(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 94
//game_clouds_bg (game_clouds_bg)
package {
import flash.display.*;
public dynamic class game_clouds_bg extends BitmapData {
public function game_clouds_bg(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 95
//game_globeman (game_globeman)
package {
import flash.display.*;
public dynamic class game_globeman extends MovieClip {
public var mc_content:MovieClip;
}
}//package
Section 96
//game_howtoplay (game_howtoplay)
package {
import flash.display.*;
public dynamic class game_howtoplay extends MovieClip {
public var btn_start:MovieClip;
public var mc_content:MovieClip;
}
}//package
Section 97
//game_notification (game_notification)
package {
import flash.display.*;
import flash.text.*;
public dynamic class game_notification extends MovieClip {
public var text_message:TextField;
}
}//package
Section 98
//game_pitch (game_pitch)
package {
import flash.display.*;
public dynamic class game_pitch extends MovieClip {
public var mc_wickets:MovieClip;
public var mc_batsman:MovieClip;
public var mc_extras:MovieClip;
public var mc_bg:MovieClip;
public var mc_hit_2:MovieClip;
public var mc_hit_4:MovieClip;
public var mc_hit_6:MovieClip;
public var mc_clouds:MovieClip;
public var mc_hit_1:MovieClip;
public var mc_hud:MovieClip;
public var mc_hit_3:MovieClip;
public var mc_sky:MovieClip;
}
}//package
Section 99
//hit_hard (hit_hard)
package {
import flash.media.*;
public dynamic class hit_hard extends Sound {
}
}//package
Section 100
//hit_med (hit_med)
package {
import flash.media.*;
public dynamic class hit_med extends Sound {
}
}//package
Section 101
//hit_soft (hit_soft)
package {
import flash.media.*;
public dynamic class hit_soft extends Sound {
}
}//package
Section 102
//leaderboard_line (leaderboard_line)
package {
import flash.display.*;
import flash.text.*;
public dynamic class leaderboard_line extends MovieClip {
public var mc_score_0:MovieClip;
public var mc_score_1:MovieClip;
public var mc_score_2:MovieClip;
public var mc_score_3:MovieClip;
public var mc_runs_0:MovieClip;
public var mc_runs_1:MovieClip;
public var username:TextField;
}
}//package
Section 103
//music_main (music_main)
package {
import flash.media.*;
public dynamic class music_main extends Sound {
}
}//package
Section 104
//ohh (ohh)
package {
import flash.media.*;
public dynamic class ohh extends Sound {
}
}//package
Section 105
//screen_fbconnect (screen_fbconnect)
package {
import flash.display.*;
public dynamic class screen_fbconnect extends MovieClip {
public var mc_nav:MovieClip;
public var mc_border:MovieClip;
public var mc_preview:MovieClip;
public var mc_bg:MovieClip;
public var btn_fbconnect:MovieClip;
}
}//package
Section 106
//screen_game (screen_game)
package {
import flash.display.*;
public dynamic class screen_game extends MovieClip {
public var mc_border:MovieClip;
}
}//package
Section 107
//screen_gameover (screen_gameover)
package {
import flash.display.*;
public dynamic class screen_gameover extends MovieClip {
public var mc_nav:MovieClip;
public var mc_border:MovieClip;
public var mc_bg:MovieClip;
public var mc_globeman:MovieClip;
}
}//package
Section 108
//screen_instructions (screen_instructions)
package {
import flash.display.*;
public dynamic class screen_instructions extends MovieClip {
public var mc_nav:MovieClip;
public var mc_border:MovieClip;
public var mc_bg:MovieClip;
}
}//package
Section 109
//screen_leaderboard (screen_leaderboard)
package {
import flash.display.*;
public dynamic class screen_leaderboard extends MovieClip {
public var mc_nav:MovieClip;
public var mc_border:MovieClip;
public var mc_bg:MovieClip;
}
}//package
Section 110
//screen_overlay (screen_overlay)
package {
import flash.display.*;
public dynamic class screen_overlay extends MovieClip {
public var btn_tamba:MovieClip;
public var mc_clientlogo:MovieClip;
public var btn_sound:MovieClip;
public var mc_bookmarks:MovieClip;
public var btn_fblogout:MovieClip;
}
}//package
Section 111
//screen_preloader (screen_preloader)
package {
import flash.display.*;
public dynamic class screen_preloader extends MovieClip {
public var mc_border:MovieClip;
public var mc_pct:MovieClip;
}
}//package
Section 112
//screen_sendfriend (screen_sendfriend)
package {
import flash.display.*;
import flash.text.*;
public dynamic class screen_sendfriend extends MovieClip {
public var mc_nav:MovieClip;
public var mc_border:MovieClip;
public var input_yourname:TextField;
public var input_youremail:TextField;
public var mc_tickets:MovieClip;
public var text_error:TextField;
public var mc_bg:MovieClip;
}
}//package
Section 113
//screen_submitscore (screen_submitscore)
package {
import flash.display.*;
import flash.text.*;
public dynamic class screen_submitscore extends MovieClip {
public var mc_nav:MovieClip;
public var mc_border:MovieClip;
public var text_error:TextField;
public var mc_bg:MovieClip;
public var mc_globeman:MovieClip;
}
}//package
Section 114
//screen_title (screen_title)
package {
import flash.display.*;
public dynamic class screen_title extends MovieClip {
public var mc_border:MovieClip;
public var mc_menu:MovieClip;
public var mc_bg:MovieClip;
}
}//package
Section 115
//scroll_face (scroll_face)
package {
import flash.display.*;
public dynamic class scroll_face extends MovieClip {
}
}//package
Section 116
//scroll_track (scroll_track)
package {
import flash.display.*;
public dynamic class scroll_track extends MovieClip {
}
}//package
Section 117
//throw (throw)
package {
import flash.media.*;
public dynamic class throw extends Sound {
}
}//package
Section 118
//ui_giant_ball (ui_giant_ball)
package {
import flash.display.*;
public dynamic class ui_giant_ball extends MovieClip {
}
}//package
Section 119
//wickets (wickets)
package {
import flash.media.*;
public dynamic class wickets extends Sound {
}
}//package